如何實現加法器?

2021-02-15 我的一九九三

最近看了一本書《編碼》,如何從頭開始構建一臺計算機。從最基礎的莫爾斯編碼到二進位,基礎電路和布爾邏輯運算的神奇結合。產生了目前人類最偉大的發明-計算機。

二進位(binary)

二進位的提出者是德國數學家萊布尼茨,他和牛頓發現了高等數學中的微積分。用二進位記數只需要用到0和1兩個符號,逢二進一。我們一般習慣了十進位,用0-9十個符號來表示數,逢十進一。二進位和十進位記數原理相同,僅僅是符號用的少。

下面是二進位和十進位0-10的對照表。

十進位二進位001121031141005101611071118100091001101010布爾運算(邏輯運算)

所有男人都必有一死;蘇格拉底是男人;因此,蘇格拉底會死。

類似代數,布爾運算符號為:and、or、not。在計算機中的邏輯運算中也叫與、或、非。算子不是一般的數字,而是集合。

邏輯運算且滿足一般代數運算的交換率、結合率和分配率。

二進位和布爾運算結合

AND

OR

NOT

邏輯門

三種最基本的門

and輸入輸入輸出
000
010
100
111-or000
011
101
111----not0
1
1
0

或非門(NOR)

與非門(NAND)

NOR輸入輸入輸出
001
010
100
110----NAND001
011
101
110

摩根定律('+'為OR,'

加法器(二進位)

只要造出了加法器,就可以通過加法得到減法、乘法和除法;再進行冪運算,解方程..

在數學運算裡,

注意到,我們的運算結果和上面的幾個邏輯門中的都不滿足,但是見證奇蹟的時刻到了。我們可以把計算的結果分為兩部分,一部分為加法結果,一部分為進位。然後再把進位結果進行二次相加,以此反覆,最終就可以得到結果。

只要我們的邏輯門足夠多,就可以計算任意大的數。這裡我採用的是8位的二進位數,兩個八位的進位數和最大為11111111+11111111=111111110,在十進位裡為510。也就是說可以計算510以內的任意加法(整數)。

當我們把一個或門、一個非門和與非門連接起來,得到異或門

通過異或門,可以得到加和輸出,進位輸出直接通過與門就可以得到。

為了看起來簡單一點,把異或門表示為如下

當我們把一個異或門和與門連接起來,就可以計算一位的二進位數。

s表示加和輸出,c表示進位輸出。為了查看方便,同樣簡畫為

這個東西之所以叫半加器,因為它將兩個二進位數相加,得出一個加法位和一個進位位。但是絕大多數二進位是多於一位的。半加器沒有做到的是將之前一次的加法可能產生的進位納入下一次運算。所以為了對三個二進位數進行加法運算,需要將兩個半加器和一個或門做連接。

這就是加法器本尊啦。一個加法器共需要18個繼電器,因為每個與門、或門和非門都需要兩個,因此一個異或門中就需要6個繼電器。一個半加器=一個異或門和一個與門組成,所以一個半加器需要8個繼電器。每個全加器由兩個半加器和一個或門組成。所以它需要18個繼電器。那麼,一個8位的二進位加法器就需要8個全加器,共需144個繼電器。

一個加法器的輸入輸出:

輸入A輸入B進位輸入加和輸出進位輸出0000001010100101100100110011011010111111

把八個全加器連接起來,就得到了一個加器。

DONE

這就是最基本的計算機運算邏輯了,後面還有減法器、乘除法。人與人之間的差距也太大了,究竟是什麼樣智商的一群人高出了計算機,只能膜拜獻出自己的膝蓋了。

相關焦點

  • 高效設計運算放大器加法器電路
    傳統反相運算放大器的加法器配置利用反相輸入端的低阻抗節點(虛擬地)的特性而實現。加法電路非常直觀且易於分析和使用,不過它確實存在某些限制。
  • 加法器電路原理圖解
    本文引用地址:http://www.eepw.com.cn/article/201808/385580.htm二進位加法器是數字電路的基本部件之一二進位加法運算同邏輯加法運算的含義是不同的。前者是數的運算,而後者表示邏輯關係。二進位加法是「逢二進一」,即1+1=10,而邏輯加則為1+1=1。1、半加器所謂「半加」,就是只求本位的和,暫不管低位送來的進位數。半加器的邏輯狀態表見表1。
  • 現代計算機出生點,帕斯卡的機械式加法器
    他的計算器是一種由一系列齒輪組成 的機械裝置,其外觀上有6個輪子,分別代表著個、十、百、千、萬、十萬等,原理和手錶很 像,用鑰匙旋緊發條後能轉動,只需要順時針撥動輪子,就可以進行加法,而逆時針則進行減 法。為了解決「逢十進一」的進位問題,帕斯卡採用了一種小爪子式的棘輪裝置,當定位齒輪朝9轉 動時,棘爪便逐漸升高;一旦齒輪轉到0,棘爪就會跌落下來,推動前一位數的齒輪前進一 檔。
  • 音頻運放加法器電路_njm4558 音頻運放電路
    打開APP 音頻運放加法器電路_njm4558 音頻運放電路 發表於 2017-08-16 12:06:45   在電子學中,加法器是一種數位電路,其可進行數字的加法計算。
  • 《我的世界1.8版本》用fill指令製作加法器方法
    一個佔地面積和計算範圍都很小的加法器~計算器大小: 計算模塊大約8*9*18,顯示模塊大約10*20*3計算範圍:兩個加數的範圍都是1~9反應速度:大約6tick全景圖:看起來這還是蠻小的~計算模塊:只是一個小小模型,壇友們可擴大,我家電腦卡就不敢整太巨型的計算器了顯示模塊:支持0~19的顯示(鄙人智商有限
  • 如何使用並聯電容來實現運算放大器的頻率補償
    打開APP 如何使用並聯電容來實現運算放大器的頻率補償 EEtoday 發表於 2020-11-19 17:56:58 在最近關於運算放大器頻率補償的文章中,我們討論了頻率補償的概念是什麼以及如何評估示例電路的穩定性。
  • 詳解FPGA如何實現FP16格式點積級聯運算
    此設計實現了同時處理8對FP16輸入的點積。該設計包含四個MLP72,使用MLP內部的級聯路徑連接。每個MLP72將兩個並行乘法的結果相加(即aibi+ai+ai+1bi+1),每個乘法都是i_a輸入乘以i_b輸入(均為FP16格式)的結果。來自每個MLP72的總和沿著MLP72的列級聯到上面的下一個MLP72塊。在最後一個MLP72中,在每個周期上,計算八個並行FP16乘法的總和。
  • 基礎| 機器學習入門必備:如何用Python從頭實現感知器算法
    在本教程中,你將了解到如何利用 Python 從頭開始實現感知器算法。在完成本教程後,你將學會:如何訓練感知器的網絡權重如何利用感知器做出預測如何對於現實世界的分類問題實現感知器算法讓我們開始吧。概述本節簡要介紹了感知器算法和 Sonar 數據集,我們將會在後面應用。
  • 反相加法運算電路,反相積分運算電路(含分析和計算公式)
    集成運算放大器是一種高增益的直流放大器。它有兩個輸入端,一個輸出端。外接負反饋電路後能夠完成反相比例,同相比例,加法、減法、乘法,微分、積分等運算功能。現簡介其中幾種。?⒈ 反相比例運算?原理圖如圖13—1(a)所示,由反相端輸入信號VI,則有?
  • 感知器及其在Python中的實現
    本文涵蓋以下主題:什麼是感知器?算法。Python實現。類似地,感知器具有許多輸入(通常稱為特徵),這些輸入被饋送到產生一個二元輸出的線性單元中。因此,感知器可用於解決二元分類問題,其中樣本將被識別為屬於預定義的兩個類之一。
  • 進位加法怎麼做?阿達老師用Scratch教給你
    最近阿達老師聽到很多家長說孩子平時數學挺好,但是學到進位加法就容易出錯了。有時候能算對,有時候又算錯,總是粗心。其實家長和老師都錯了,看似簡單的100以內加法,真正計算起來還是很複雜的。孩子算錯並不是粗心,而是對進位加法的完整邏輯沒有掌握。
  • 集成運算放大器設計
    模擬集成電路用於模擬信號的產生和處理,其種類繁多,包括集成運算放大器、集成模擬乘法器、集成鎖相環、集成功率放大器、集成穩壓電源、集成寬帶放大器、集成數模和模數轉換電路等。其中集成運放是技術功能的通用性最大、應用最廣泛、以展最快、品種與數量最多的一種線性集成電路。
  • 運算放大器組成加法器電路圖
    www.eepw.com.cn/article/166484.htm加法器是指輸出信號是幾個輸入信號之和的放大器
  • FPU加法器的設計與實現
    摘要:浮點運算器的核心運算部件是浮點加法器,它是實現浮點指令各種運算的基礎,其設計優化對於提高浮點運算的速度和精度相當關鍵。文章從浮點加法器算法和電路實現的角度給出設計方法,通過VHDL語言在OuartusII中進行設計和驗證,此加法器通過狀態機控制運算,有效地降低了功耗,提高了速度,改善了性能。
  • 必知運算放大器知識:相位補償、調零電路、偏置電流
    作為電子工程師,運算放大器算是很常見的一種IC了。如果今天還說加法電路,減法電路、乘法電路、指數電路什麼的,未免對不起大家。那麼,今天就說說一些設計的細節內容。  第一、偏置電流如何補償  對於我們常用的反相運算放大器,其典型電路如下:  在這種情況下,R3為 平衡電阻
  • ADSL模擬前端中低噪聲高速運算放大器的應用介紹
    但是,如何選擇理想的ADSL數據機解決方案,是設計工程師所面臨的新挑戰。本文引用地址:http://www.eepw.com.cn/article/186137.htm  針對這種現狀,本文介紹採用LMH6643滿擺幅輸出晶片、LMH6672線路驅動器及LMH6622低噪聲運算放大器組合實現的方案,該方案具有能充分發揮ADSL基帶數位訊號處理器性能的優點。
  • 基於NE5534運算放大器的頻率補償電路設計
    通過以上分析得出補償電路由放大電路以及兩個慣性環節構成,通過並聯補償的方式用一個加法器將三部分相加即可將頻率拓展至100kHz並且達到設計的要求,最後通過一個反相放大器進行信號的放大使幅度達到要求。
  • 給卷積神經網絡動動刀:加法網絡探究
    其中AdderNet就是一種從新角度對模型進行加速的方法,以往的模型加速方法通過減少CNN的參數,AdderNet通過重新定義卷積計算,將卷積中的乘法替換為了加法。我們知道,乘法的計算代價要遠遠大於加法,AdderNet通過這種方式減少了計算量。
  • 數字鎖相放大器的實現研究
    針對數字鎖相放大器對低通濾波器性能的要求,採用CIC和降採樣的方法,實現了一種高效的窄帶低通濾波器。近年來隨著數位訊號處理器的飛速發展,模擬鎖相放大器逐漸被數字鎖相放大器所取代。本文對數字鎖相放大器的硬體結構和相關算法進行了研究,設計了一種採樣頻率可控的系統結構,並利用積分梳狀濾波器和降採樣的方法實現了高效的窄帶低通濾波器,滿足了系統實時性要求。測試結果表明,該系統能夠達到較高的測試精度。
  • 二年級小學生數學作業,進位加法退位減法「混合雙錯」,如何輔導
    二年級小學生,在進入第二單元的學習以後,粗心慌張的毛病比較明顯,進位加法和退位減法屢屢出錯,家長如何高效輔導孩子,幫助他們糾正錯誤呢?在一年級數學學習的基礎上,二年級小同學對於進位加法和退位減法,有了初步的認識。明白了一點,如果哪個數位相加滿十,必須向前一位進1。