《逻辑与计算机设计基础(原书第5版)》——3.9 二进制加法器
3.9 二進(jìn)制加法器
一個算術(shù)電路就是一個組合電路,它對二進(jìn)制數(shù)或用二進(jìn)制編碼表示的十進(jìn)制數(shù)執(zhí)行加、減、乘、除運(yùn)算。我們將采用層次、迭代的設(shè)計方法實(shí)現(xiàn)算術(shù)電路。首先從最底層開始,設(shè)計一個電路實(shí)現(xiàn)兩個一位二進(jìn)制數(shù)相加。這個簡單的加法包含4個可能的基本操作:0+0=0,0+1=1,1+0=1,1+1=10。前三個運(yùn)算產(chǎn)生的和只需要一位表示,但是當(dāng)加數(shù)和被加數(shù)都等于1的時候,和就需要兩位表示。正因?yàn)槿绱?#xff0c;運(yùn)算的結(jié)果需要兩位表示:進(jìn)位與和。由兩位加法產(chǎn)生的進(jìn)位將加到下一個高位的有效位中。實(shí)現(xiàn)兩位相加的組合電路稱為半加器(half adder)。實(shí)現(xiàn)三個位(兩個有效位和一個先前位產(chǎn)生的進(jìn)位)相加的電路稱為全加器(full adder)。兩個半加器可以用來實(shí)現(xiàn)一個全加器,半加器和全加器的命名就是基于這個原因。在算術(shù)電路設(shè)計中,半加器和全加器是基本的算術(shù)模塊。
3.9.1 半加器
半加器是一個產(chǎn)生兩位二進(jìn)制數(shù)的和的算術(shù)電路,這個電路有兩個輸入和兩個輸出。輸入變量是加數(shù)和被加數(shù),輸出變量是產(chǎn)生的和與進(jìn)位。用X和Y表示兩個輸入,用S(和)和C(進(jìn)位)表示輸出。半加器的真值表如表3-11所示。輸出C只有當(dāng)兩個輸入都為1時才為1,輸出S表示和的最低有效位。從真值表可以很容易得到兩個輸出的布爾表達(dá)式:
S=XY+XY=XY
C=XY
如圖3-40所示,半加器可以用一個異或門和一個與門來實(shí)現(xiàn)。
3.9.2 全加器
全加器是實(shí)現(xiàn)三位數(shù)相加的組合邏輯電路。除了三個輸入,全加器還有兩個輸出。輸入變量中的兩個用X和Y表示,代表相加的兩個有效位,第三個輸入Z表示來自前一個低位產(chǎn)生的進(jìn)位。兩個輸出是必不可少的,因?yàn)槿幌嗉拥暮驮?~3之間變化,而2和3需要兩位二進(jìn)制數(shù)表示。同樣,兩個輸出用S(和)與C(進(jìn)位)來表示。二進(jìn)制變量S表示相加的和,C表示產(chǎn)生的進(jìn)位輸出。全加器的真值表如表3-12所示。輸出值由三位輸入的算術(shù)和決定。當(dāng)所有輸入都為0時,輸出均為0。當(dāng)輸入僅有一個為1或三個全為1時,輸出S為1。當(dāng)輸入有兩個或三個為1時,輸出C為1。圖3-41給出了全加器的兩個輸出的卡諾圖。兩個輸出的積之和的最簡表達(dá)式為:
全加器的兩級實(shí)現(xiàn)需要七個與門和兩個或門。但是,輸出S的卡諾圖可看作奇函數(shù),此類函數(shù)在2.6節(jié)中已討論過,輸出C的表達(dá)式可進(jìn)一步處理包含X和Y的異或運(yùn)算。全加器的布爾表達(dá)式用異或運(yùn)算表示又可寫成:
3.9.3 二進(jìn)制行波進(jìn)位加法器
一個并行加法器是一個僅采用組合邏輯計算出兩個二進(jìn)制數(shù)算術(shù)和的數(shù)字電路。并行加法器并行地連接n個全加器,所有的輸入位同時加載至全加器以產(chǎn)生和。
并行加法器中的所有全加器用級聯(lián)的方式連接在一起,一個全加器的進(jìn)位輸出連接到下一個全加器的進(jìn)位輸入。由于加法器最低有效位產(chǎn)生的進(jìn)位1可能經(jīng)過多個全加器傳遞到最高有效位,就好像一個小卵石丟入池塘激起的波浪一樣,因此這種并行加法器又稱為行波進(jìn)位加法器(ripple carry adder)。圖3-43給出了由4個全加器級聯(lián)形成的一個4位行波進(jìn)位加法器。被加數(shù)A和加數(shù)B的下標(biāo)從右至左依次遞增,下標(biāo)0表示最低有效位。進(jìn)位位將整個全加器鏈?zhǔn)降剡B接起來。并行加法器的進(jìn)位輸入為C0,進(jìn)位輸出為C4。一個n位的行波進(jìn)位加法器需要n個全加器,每個進(jìn)位輸出連接到下一個高位全加器的進(jìn)位輸入。例如,考慮兩個二進(jìn)制數(shù)A=1011與B=0011。它們的和S=1110,采用4位行波進(jìn)位加法器的計算過程如下所示:
最低有效位的進(jìn)位輸入置為0。每個全加器接收A和B的相應(yīng)位和進(jìn)位輸入,產(chǎn)生和S與進(jìn)位輸出。每個全加器的進(jìn)位輸出是下一個高位全加器的進(jìn)位輸入,如灰線所示。
4位加法器是數(shù)字部件作為基本模塊實(shí)現(xiàn)系統(tǒng)的典型實(shí)例。它可用于包括算術(shù)運(yùn)算在內(nèi)的許多應(yīng)用領(lǐng)域。如果采用常規(guī)設(shè)計方法設(shè)計4位加法器,由于電路有9個輸入,則真值表有512行。而采用4個全加器的級聯(lián),可以簡單、直接地實(shí)現(xiàn)該電路,而不需要構(gòu)建512行的真值表。迭代電路和電路重用的魅力在此例中得到了詮釋。
總結(jié)
以上是生活随笔為你收集整理的《逻辑与计算机设计基础(原书第5版)》——3.9 二进制加法器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PC如何接管手机的双因子身份验证 靠的是
- 下一篇: 台积电要造第一款7nm芯片 明年下半年可