加法器 以及ALU(邏輯算術單元)

加法器

框架,首先介紹原理,然后引入一位加法器最后再引入多位加法器最后引入帶符號的加法器

這一節涉及到的硬件電路的知識理解就好,實在看不懂就跳過,但是封裝以后的功能必須看懂。

這是一個一般的加法過程涉及到的必要元素圖中已經給出,加數與被加數的本位以及相加以后的本為和,低位的進位和高位的進位

主要就是上面這五部分,首先對于加數與被加數的本位以及低位的進位是輸入的內容我們不需要管

接下來我們看本為和,因為二進制加法滿二進一的特性使得我們可以采用異或來算本位和。。可以采用 下面的電路來實現

對于向高位的進位來說需要考慮的元素就比較多了。需要考慮加數被加數低位的進位這三個因素,同時結合二進制數的加法規則來看。

高位的進位有以下圖片的情形,圖片中采用了或運算來求值,或運算的法則全0為0

第一部分采用與運算當兩個都為1時才為1

第二部分先用AB異或(同0異1)再與地位進位相與

滿足任意一部分進位為1

電路表示如下圖

最后結合一下電路圖

再封裝一下

需要記住一下邏輯表達式

把n 個一位全加器串接起來,就可進行兩個n bit數的相加。

但是由于可知每一位的高位進位都依賴于低位的信號產出這就使得需要等待低位的運算結束才能進行高位的運算,這樣的操作我們理解為串行操作,與之對應的時并行操作(需要CLA部件)。并行的加法器稍后講解。

這里需要知道串行的加法器速率較慢

下圖是并行進位的加法器

多出的CLA部件可以并行的計算出高位的進位但是電路較為復雜。一般就擴展到4位。

接下來我們的目光放到帶標志位的加法器

為什么要帶標志位?一般帶哪些標志位?

首先解釋為什么要帶標志位?帶標志位可以很快的得出此次加法的相關信息例如是否溢出是否借位運算結果的正負性。

一般帶下面四個標志位

of溢出? ? 1溢出0未溢出

sf符號標志? ?1負0正

zf零標志位? 1為零 0不為零

cf無符號溢出? 1溢出 0 未溢出

接下來介紹一下這幾個常見標志位的運算邏輯表達式

有關于OF CF后面會詳細講解,這里解釋一下sf它只需要取計算的最高位即可 zf需要采用或非電路,當全部為都為0時或電路輸出0然后再非就輸出1此時zf=1表示運算結果為0.

接下來介紹一下并位加法器

前面介紹過本為和采用異或來計算

而高位的進位采用AB先與,或上AB異或與上低位進位,這里包括了進位的兩種情況,本位都為1相加后需要進位,以及AB其中一個為1但是低位進位為1相加后也要進位。或者當AB都為0時不進位。

這里時串行進位加法器,我們可以采用一個電器電路CLA一下得出所有的進位然后直接就可以進行并行的加法計算

具體的邏輯推導如下

注意這里的每一個算術表達式都需要一個電路來實現,所以說就不太方便進行更深層次的套娃因為這樣會非常耗費硬件。對應計算機成本也更高。

一般最多采取4為的CLA加法器。

算術邏輯單元ALU

主要了解其功能,

其實ALU更像是一個集合體加一個多路選擇器

他這里里面所包含的操作一般都有其對印的電路或者代替電路,就比如前面所說的加法器

就如圖所示它封裝了好多功能在里面對外只暴露出少量的引腳。

其中最重要的一個考點就是多路選擇器的位數,他需要曼滿足對應的操作類型。

再有就是前面提到的幾個常見的標志位

OF有符號溢出位? 1表示溢出?

SF正負標志位 1表示負

ZF零標志位 1表示結果為0? 采用了或非門

CF 無符號溢出位 1表示溢出

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916586.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916586.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916586.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計模式實戰:自定義SpringIOC(親手實踐)

上一篇:設計模式實戰:自定義SpringIOC(理論分析) 自定義SpringIOC(親手實踐) 上一篇文章,我們介紹了SpringIOC容器的核心組件及其作用,下面我們來動手仿寫一個SpringIOC容器&#…

力扣面試150(42/150)

7.28 20. 有效的括號 給定一個只包括 (,),{,},[,] 的字符串 s ,判斷字符串是否有效。 有效字符串需滿足: 左括號必須用相同類型的右括號閉合。左括號必須以正確的順序閉合。每個右括號都有一…

基于黑馬教程——微服務架構解析(二):雪崩防護+分布式事務

之前的兩篇文章我們介紹了微服務的基礎概念及其服務間通信機制。本篇將深入探討微服務的核心保障:服務保護與分布式事務。一、微服務保護問題描述: 在一個購物車的微服務中,倘若某一項服務(服務A)同一時刻訪問的數據十…

LeetCode: 429 N叉樹的層序遍歷

題目描述給定一個 N 叉樹,返回其節點值的層序遍歷(即從左到右,逐層訪問每一層的所有節點)。示例輸入格式(層序序列化):輸入示意:1/ | \3 2 4/ \5 6輸出:[[1], [3,2,4…

使用phpstudy極簡快速安裝mysql

使用 phpStudy 極簡快速安裝 MySQL 的完整指南: 一、phpStudy 簡介 phpStudy 是一款 Windows 平臺下的 PHP 環境集成包,包含: Apache/Nginx PHP 5.x-7.x MySQL 5.5-8.0 phpMyAdmin 二、安裝步驟 1. 下載安裝包 訪問官網下載&#xf…

git lfs使用

apt install git lfs 或者下載二進制文件加到環境變量 https://github.com/git-lfs/git-lfs/releases git lfs install git lfs clone huggingface文件路徑 如果訪問不了hugggingface.co用hf-mirror.com替代,國內下載速度還是挺快的 先按照pip install modelscope m…

6、CentOS 9 安裝 Docker

🐳 CentOS 9 安裝 Docker 最全圖文教程(含鏡像源優化與常見問題解決)標簽:CentOS 9、Docker、容器技術、開發環境、國內鏡像源 適合讀者:后端開發、運維工程師、Linux 初學者📌 前言 在 CentOS 9 上安裝 Do…

SystemV消息隊列揭秘:原理與實戰

目錄 一、消息隊列的基本原理 1、基本概念 2、基本原理 3、消息類型的關鍵作用 4、重要特性總結 5、生命周期管理 6、典型應用場景 二、System V 消息隊列的內核數據結構 1、消息隊列的管理結構 msqid_ds(消息隊列標識符結構) 關鍵字段解析 2…

5 分鐘上手 Firecrawl

文章目錄Firecrawl 是什么?本地部署驗證mcp安裝palyground🔥 5 分鐘上手 FirecrawlFirecrawl 是什么? 一句話: 開源版的 “最強網頁爬蟲 清洗引擎” ? 自動把任意網頁 → 結構化 Markdown / JSON ? 支持遞歸整站抓取、JS 渲染…

算法訓練營day31 貪心算法⑤56. 合并區間、738.單調遞增的數字 、968.監控二叉樹

貪心算法的最后一篇博客!前面兩道題都是比較簡單的思路,重點理解一下最后一道題即可。有一說一,進入到貪心算法這一章節之后,我的博客里和代碼注釋里的內容明顯少了很多,因為很多貪心的題目我覺得不需要很復雜的文字說…

Jenkins流水線部署+webhook2.0

文章目錄1. 環境2. 用到的插件3. 流水線部署腳本1. 環境 Centos7Jenkins2.5.0JDKopen17阿里云倉庫 注意:這個版本兼容需要特別注意,要不然會很麻煩 2. 用到的插件 Generic Webhook Trigger 3. 流水線部署腳本 兼容鉤子部署(webhook&…

IDM下載失敗排查

網絡連接問題排查檢查網絡連接是否穩定,確保能夠正常訪問互聯網 測試其他下載工具或瀏覽器是否能夠正常下載 嘗試關閉防火墻或殺毒軟件,排除安全軟件攔截的可能性代理和VPN設置檢查確認IDM的代理設置是否正確,是否與系統代理一致 檢查是否使用…

Anaconda安裝時的幾個操作

一、安裝Anaconda 其實Anaconda的安裝比較簡單,點擊next就好了。在安裝中需要注意以下兩點: 1、選擇安裝路徑 在安裝時,路徑最好選擇非C盤,且路徑中不要出現中文,以免后期運行代碼時出現不必要的錯誤。 我安裝時&…

網易易盾、騰訊ACE等主流10款游戲反外掛系統對比

本文將深入對比10款游戲反外掛系統:1.網易易盾;2.Ricochet Anti?Cheat;3.BattlEye;4.幾維安全手游智能反外掛系統;5.伏魔AI反外掛;6.Riot Vanguard;7.Xigncode3;8.盛大GPK&#xff…

wpa_supplicant-2.10交叉編譯

參考文章:https://blog.csdn.net/weixin_45783574/article/details/145810790 1、Openssl交叉編譯 1.1 下載openssl-1.1.1t.tar.gz 下載網址: https://openssl-library.org/source/old/1.1.1/index.html1.2 編譯 sudo tar xvf openssl-1.1.1t.tar.gz cd openssl-1.1

源碼解讀SpringCloudAlibaba Nacos2.x

Nacos 服務注冊 Nacos 服務注冊時,客戶端會將自己的信息注冊到Nicosserver上,形成key-value組合,其中key通常是服務名稱,value是實例地址信息。在二點X版本中,客戶端通過Spring Boot的擴展機制(例如web_initialized事件…

Windows 11 下 Anaconda 命令修復指南及常見問題解決

Windows 11 下 Anaconda 命令修復指南及常見問題解決 在使用 Anaconda 過程中,可能會遇到環境損壞、更新失敗、包依賴沖突等問題。本文整理了一套通過命令行修復 Anaconda 的完整方案,適用于 Windows 11 系統,同時補充了權威參考鏈接供深入學…

安寶特案例丨全球連線!安寶特Vuzix與RodsCones共筑實時手術教育平臺

安寶特Vuzix與合作伙伴Rods&Cones協作,為Rocamed在布拉格UROSANIT診所舉辦的創新型實時手術直播研討會提供技術賦能。 本次直播通過合作伙伴Rods&Cones軟件平臺搭載安寶特Vuzix智能眼鏡,成功連接來自9國、3大洲、6個時區的27位醫生,…

【Spring Boot 快速開發】一、入門

目錄Spring Boot 簡介Web 入門Spring Boot 快速入門HTTP 協議概述請求協議響應協議解析協議TomcatSpring Boot 簡介 Spring Boot 是由 Pivotal 團隊(后被 VMware 收購)開發的基于 Spring 框架的開源項目,于 2014 年首次發布。其核心目標是簡…

laravel chunkById導出數據亂序問題

2025年7月28日17:47:29 這幾天在做數據導出優化,使用xlswriter作為導出組件,但是發現在 使用 $base->chunkById(2000, function ($list) use ($writer, $sheet1) { 發現導出的數據是亂的,偶爾有些重復,偶爾有些少了&#xff0c…