大連計(jì)算機(jī)職業(yè)中專 梁 偉
加法器廣泛應(yīng)用于計(jì)算機(jī)電路和數(shù)字通信電路中,加法器能夠?qū)崿F(xiàn)加法運(yùn)算的邏輯電路,加法器分為半加器和全加器兩種。加數(shù)和被加數(shù)為輸入,和數(shù)與進(jìn)位為輸出的裝置為半加器。若加數(shù)、被加數(shù)與低位的進(jìn)位數(shù)為輸入,而和數(shù)與進(jìn)位為輸出,則為全加器。
兩個(gè)1位二進(jìn)制全加器能夠?qū)蓚€(gè)1位二進(jìn)制數(shù)和低位的進(jìn)位實(shí)現(xiàn)加法運(yùn)算,若被加數(shù)為Ai,加數(shù)為Bi,本位之和為Si,向高位進(jìn)位為Ci,來自低位的進(jìn)位為Ci-1??梢酝瞥鋈悠鞯暮蜑?/p>
多位數(shù)加法可以實(shí)現(xiàn)多個(gè)二進(jìn)制數(shù)相加運(yùn)算,8位二進(jìn)制全加器能夠?qū)崿F(xiàn)對(duì)兩個(gè)8位二進(jìn)制數(shù)加法運(yùn)算。若A為8位被加數(shù),B為8位加數(shù),S為8位和,C為進(jìn)位,當(dāng)A=1000 1011B、B=1100 1011B時(shí),列出計(jì)算式如下:
二進(jìn)制數(shù)運(yùn)算特點(diǎn)是“逢二進(jìn)一,借一當(dāng)二”,可以計(jì)算得出:和S7S6S5S4S3S2S1S0=0101 0110B ,進(jìn)位C7C6C5C4C3C2C1C0=1000 1011B,如圖所示,用全加器的邏輯符號(hào)畫出的8位二進(jìn)制全加器邏輯圖。
加法器按進(jìn)位數(shù)傳遞方式可分為串行進(jìn)位和并行進(jìn)位兩種方式。串行進(jìn)位加法器采用串行運(yùn)算方式,從二進(jìn)制數(shù)的最低位開始,逐位相加至最高位,運(yùn)算速度不高,最高位的運(yùn)算,必須等到所有低位運(yùn)算依次結(jié)束,送來進(jìn)位信號(hào)之后才能進(jìn)行。并行進(jìn)位加法器,即超前進(jìn)位加法器,采用并行運(yùn)算方式,將各位數(shù)同時(shí)相加,因而提高了運(yùn)算速度。
超前進(jìn)位加法實(shí)現(xiàn)原理如下:
定義兩個(gè)中間變量Gi和Pi:,Gi為產(chǎn)生變量;,Pi為傳輸變量。
全加器的進(jìn)位表明當(dāng)Ai,Bi兩個(gè)數(shù)全為1,高位進(jìn)位Gi=1,即產(chǎn)生進(jìn)位,所以Gi稱為產(chǎn)生變量。當(dāng)Ai,Bi不同時(shí),即Pi=1,且Ci-1=1時(shí),高位進(jìn)位Gi=1,表明Pi=1時(shí),低位的進(jìn)位能夠傳送到高位的進(jìn)位輸出端,Pi稱為傳輸變量。產(chǎn)生變量Gi和傳輸變量Pi都與進(jìn)位信號(hào)無關(guān),將Gi和Pi代入全加器的Si和進(jìn)位Ci得:
進(jìn)而可以推到各位進(jìn)位信號(hào)的邏輯表達(dá)如下:
74LS283是具有超前進(jìn)位4位二進(jìn)制加法器芯片,用兩個(gè)74LS283芯片能夠?qū)崿F(xiàn)超前進(jìn)位8位二進(jìn)制加法運(yùn)算。如圖所示,設(shè)置 A=1000 1011B為8位被加數(shù),B=1100 1011B為8位加數(shù),運(yùn)用proteus模擬軟件實(shí)驗(yàn)結(jié)果:8位和為S7S6S5S4S3S2S1S0=0101 0110B,第3位向第4的進(jìn)位C3=1,最高進(jìn)位第7向第8的進(jìn)位C7=1,實(shí)驗(yàn)執(zhí)行結(jié)果與分析計(jì)算結(jié)果完全相同。
下面再運(yùn)用匯編程序?qū)崿F(xiàn)8位二進(jìn)制加法運(yùn)算,若1000 1011B為8位被加數(shù), 1100 1011B為8位加數(shù),則執(zhí)行加法指令后,求出本位和,并判斷進(jìn)位狀態(tài)。
編寫匯編程序:
運(yùn)用debug命令進(jìn)行調(diào)試,傳送數(shù)據(jù)到寄存器(AL)=8BH=1000 1011B,(BL)=CBH=1100 1011B,執(zhí)行加法指令A(yù)DD AL,BL后,觀察到加法結(jié)果(AL)=56H=0101 0110B, 再觀察執(zhí)行加法指令后標(biāo)志寄存器標(biāo)志位的狀態(tài):CY表示CF=1進(jìn)位標(biāo)志,第7位向第8的進(jìn)位為1,在字操作時(shí)低位字節(jié)向高位字節(jié)有進(jìn)位。AC表示AF=1輔助進(jìn)位標(biāo)志,第3位向第4的進(jìn)位為1,執(zhí)行結(jié)果與分析計(jì)算結(jié)果完全一致。
算術(shù)運(yùn)算包括加、減、乘、除四則運(yùn)算,加法器能夠?qū)崿F(xiàn)二進(jìn)制數(shù)加法運(yùn)算,由于負(fù)數(shù)可用二進(jìn)制數(shù)的補(bǔ)碼來表示,這樣可以把減法運(yùn)算轉(zhuǎn)成加法運(yùn)算,加法器是實(shí)現(xiàn)算術(shù)運(yùn)算的基本電路,超前進(jìn)位加法器提高了運(yùn)算速度。
[1]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].清華大學(xué)電子教研組.
[2]沈美明,溫冬嬋 .IBM-PC匯編語(yǔ)言程序設(shè)計(jì)[M].清華大學(xué).