鄭大數(shù)據(jù)結(jié)構(gòu)課件_第1頁(yè)
鄭大數(shù)據(jù)結(jié)構(gòu)課件_第2頁(yè)
鄭大數(shù)據(jù)結(jié)構(gòu)課件_第3頁(yè)
鄭大數(shù)據(jù)結(jié)構(gòu)課件_第4頁(yè)
鄭大數(shù)據(jù)結(jié)構(gòu)課件_第5頁(yè)
已閱讀5頁(yè),還剩106頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2.2 2.2 定點(diǎn)加法、減法運(yùn)算定點(diǎn)加法、減法運(yùn)算n2.2.1 補(bǔ)碼加法n2.2.2 補(bǔ)碼減法n2.2.3 溢出概念與檢驗(yàn)方法n2.2.4 基本的二進(jìn)制加法減法器n2.2.5 十進(jìn)制加法器2.2.1 補(bǔ)碼加法n補(bǔ)碼加法的公式是補(bǔ)碼加法的公式是 x x 補(bǔ)補(bǔ)+y y 補(bǔ)補(bǔ)= = + + 補(bǔ)補(bǔ) n在模在模2意義下,任意兩數(shù)的補(bǔ)碼之和等于意義下,任意兩數(shù)的補(bǔ)碼之和等于該兩數(shù)之和的補(bǔ)碼該兩數(shù)之和的補(bǔ)碼n這是這是補(bǔ)碼加法的理論基礎(chǔ)補(bǔ)碼加法的理論基礎(chǔ),其結(jié)論也適,其結(jié)論也適用于定點(diǎn)整數(shù)用于定點(diǎn)整數(shù)2.2.1 補(bǔ)碼加法( (續(xù)續(xù)1 1)0,0,則,則0。 相加兩數(shù)都是正數(shù),故其和也一定是正數(shù)。相加兩數(shù)都是

2、正數(shù),故其和也一定是正數(shù)。正數(shù)的補(bǔ)碼和原碼是一樣的,可得:正數(shù)的補(bǔ)碼和原碼是一樣的,可得: x x 補(bǔ)補(bǔ)+ + y y 補(bǔ)補(bǔ)= =+ +=+ + 補(bǔ)補(bǔ) (mod 2) 分四種情況來(lái)證明分四種情況來(lái)證明:2.2.1 補(bǔ)碼加法( (續(xù)續(xù)2 2)0,0,則則0或或0時(shí),時(shí),2 +(x+y) 2,進(jìn)位,進(jìn)位2必丟失,又必丟失,又因因(x+y) 0,故故 x x 補(bǔ)補(bǔ) yy補(bǔ)補(bǔ)=+ + 補(bǔ)補(bǔ) (mod 2)當(dāng)當(dāng)x+y0時(shí),時(shí),2 +(x+y) 2,又因,又因(x+y)0,故故 x x 補(bǔ)補(bǔ) yy補(bǔ)補(bǔ)2() =+ + 補(bǔ)補(bǔ) (mod 2)2.2.1 補(bǔ)碼加法( (續(xù)續(xù)3 3)0,則則0或或 0。n 這種情

3、況和第這種情況和第2種情況一樣,把種情況一樣,把和和的位的位置對(duì)調(diào)即得證。置對(duì)調(diào)即得證。2.2.1 補(bǔ)碼加法( (續(xù)續(xù)4 4)0,0,則則0。 相加兩數(shù)都是負(fù)數(shù),則其和也一定是負(fù)數(shù)。相加兩數(shù)都是負(fù)數(shù),則其和也一定是負(fù)數(shù)。 x x 補(bǔ)補(bǔ) 2, yy 補(bǔ)補(bǔ)2 x x 補(bǔ)補(bǔ) yy 補(bǔ)補(bǔ) 2 2=2( 2) (x+y)是負(fù)數(shù),其絕對(duì)值又小于是負(fù)數(shù),其絕對(duì)值又小于1,那么,那么(2 +(x+y)一定是小于一定是小于2而大于而大于1的數(shù),進(jìn)位的數(shù),進(jìn)位”2”必丟失。又因必丟失。又因()0,所以,所以 x x 補(bǔ)補(bǔ) yy 補(bǔ)補(bǔ) 2() =+ + 補(bǔ)補(bǔ) (mod 2)在模在模2意義下,任意兩數(shù)的補(bǔ)碼之和等于該

4、兩意義下,任意兩數(shù)的補(bǔ)碼之和等于該兩數(shù)之和的補(bǔ)碼。數(shù)之和的補(bǔ)碼。 這是這是補(bǔ)碼加法的理論基礎(chǔ)補(bǔ)碼加法的理論基礎(chǔ),其結(jié)論也適用于,其結(jié)論也適用于定點(diǎn)整數(shù)。定點(diǎn)整數(shù)。2.2.1 補(bǔ)碼加法( (續(xù)續(xù)5 5)例例8:0.1001,0.0101,求,求。解:解:例例9:0.1011,0.0101, 求求解:解:由以上兩例看到,由以上兩例看到,補(bǔ)碼加法的特點(diǎn)補(bǔ)碼加法的特點(diǎn):一是一是符號(hào)位要作為數(shù)的一部分一起參加運(yùn)算符號(hào)位要作為數(shù)的一部分一起參加運(yùn)算二是二是要在模要在模2的意義下相加,即超過(guò)的意義下相加,即超過(guò)2的進(jìn)位要丟掉。的進(jìn)位要丟掉。 例8之解 x x 補(bǔ)補(bǔ)0.1001, y y 補(bǔ)補(bǔ)0.0101 x

5、 x 補(bǔ)補(bǔ) 0.1001 y y 補(bǔ)補(bǔ)0.0101 + + 補(bǔ)補(bǔ) 0.1110 所以所以0.1110 返返 回回例9之解 x x 補(bǔ)補(bǔ)0.1011, y y 補(bǔ)補(bǔ)1.1011 x x 補(bǔ)補(bǔ) 0.1011 y y 補(bǔ)補(bǔ)1.1011 + + 補(bǔ)補(bǔ) 10.0110 所以所以0.0110返回返回 證明:證明:-Y補(bǔ)補(bǔ)=-Y補(bǔ)補(bǔ)(mod 2)因?yàn)?X+Y補(bǔ)=X補(bǔ)+Y補(bǔ) (mod 2)所以 Y補(bǔ)=X+Y補(bǔ)-X補(bǔ)又因?yàn)?X-Y補(bǔ)=X+(-Y)補(bǔ)= X補(bǔ)+-Y補(bǔ)所以 -Y補(bǔ)=X-Y補(bǔ)-X補(bǔ)則 -Y補(bǔ)+Y補(bǔ)=X-Y補(bǔ)+X+Y補(bǔ)-X補(bǔ)-X補(bǔ) = X+Y+X-Y補(bǔ) -X補(bǔ)-X補(bǔ) =0所以 -Y補(bǔ)=-Y補(bǔ) (mod

6、2) 證明證明從從y 補(bǔ)補(bǔ)求求-y 補(bǔ)的法則補(bǔ)的法則是:是: 對(duì)對(duì)補(bǔ)補(bǔ)包括符號(hào)位在內(nèi)包括符號(hào)位在內(nèi)“按位求反且最末位加按位求反且最末位加1”,即可得到,即可得到-補(bǔ)補(bǔ)。寫(xiě)成運(yùn)算表達(dá)式,則為:寫(xiě)成運(yùn)算表達(dá)式,則為: -補(bǔ)補(bǔ)補(bǔ)補(bǔ) (2.21) 表示對(duì)表示對(duì)補(bǔ)補(bǔ)作作包括符號(hào)位在內(nèi)包括符號(hào)位在內(nèi)的按位求反操作的按位求反操作 表示最末位的表示最末位的1 2n2.2.2 補(bǔ)碼減法(續(xù)(續(xù)1 1)例例10:已知已知10.1110,20.1101,求:求: x x1 補(bǔ)補(bǔ) ,-x x1 補(bǔ)補(bǔ) , x x2 補(bǔ)補(bǔ) ,-x x2 補(bǔ)補(bǔ)。 解:解:例例11:0.1101,0.0110,求求。 解:解:例10之解 x

7、 x1 補(bǔ)補(bǔ)1.0010 - - x x1 補(bǔ)補(bǔ) x x1 補(bǔ)補(bǔ) 2-4 0.11010.00010.1110 x x2 補(bǔ)補(bǔ)0.1101 - - x x2 補(bǔ)補(bǔ) x x2 補(bǔ)補(bǔ) 2-4 1.00100.00011.0011 返回返回 例11之解 x x 補(bǔ)補(bǔ)0.1101, y y 補(bǔ)補(bǔ)0.0110-y-y補(bǔ)補(bǔ)1.1010 x x 補(bǔ)補(bǔ) 0.1101 -y y 補(bǔ)補(bǔ) 1.1010 - - 補(bǔ)補(bǔ) 10.0111 所以所以0.0111返回返回 2.2.3 溢出概念與檢驗(yàn)方法以定點(diǎn)小數(shù)為例:以定點(diǎn)小數(shù)為例: 在定點(diǎn)小數(shù)機(jī)器中在定點(diǎn)小數(shù)機(jī)器中, ,數(shù)的表示范圍為數(shù)的表示范圍為| |1. | x 0 4

8、+x = 4-|x| 0 x -2 (2.22)溢出概念與檢測(cè)方法溢出概念與檢測(cè)方法或用同余式表示:或用同余式表示:補(bǔ)補(bǔ)4(mod 4)下式也同樣成立:下式也同樣成立: 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)(mod 4)計(jì)算時(shí)計(jì)算時(shí): 1. 兩個(gè)符號(hào)位都看作數(shù)碼一樣參加運(yùn)算兩個(gè)符號(hào)位都看作數(shù)碼一樣參加運(yùn)算 2.2.兩數(shù)進(jìn)行以?xún)蓴?shù)進(jìn)行以4位模的加法位模的加法, ,即最高符號(hào)位上產(chǎn)生的進(jìn)即最高符號(hào)位上產(chǎn)生的進(jìn)位要丟掉。位要丟掉。 采用變形補(bǔ)碼后,如果兩個(gè)數(shù)相加后,其結(jié)果的采用變形補(bǔ)碼后,如果兩個(gè)數(shù)相加后,其結(jié)果的 符號(hào)位出現(xiàn)符號(hào)位出現(xiàn)“01”或或“10”兩種組合時(shí)兩種組合時(shí), ,表示發(fā)生表示發(fā)生溢出。這是因?yàn)閮蓚€(gè)絕對(duì)

9、值小于溢出。這是因?yàn)閮蓚€(gè)絕對(duì)值小于1的數(shù)相加的數(shù)相加, ,其結(jié)果其結(jié)果不會(huì)大于或等于不會(huì)大于或等于2。所以,最高符號(hào)位所表示的是。所以,最高符號(hào)位所表示的是結(jié)結(jié)果的正確符號(hào)果的正確符號(hào)。溢出概念與檢測(cè)方法溢出概念與檢測(cè)方法得到兩數(shù)變形補(bǔ)碼之和等于兩數(shù)之和的變形補(bǔ)碼得到兩數(shù)變形補(bǔ)碼之和等于兩數(shù)之和的變形補(bǔ)碼, , 補(bǔ)補(bǔ) 補(bǔ)補(bǔ) 補(bǔ)補(bǔ)(mod 4) 例例1414 0.1100.1100, 0, 0.1000,0.1000,求求。溢出概念與檢測(cè)方法溢出概念與檢測(cè)方法 解解 : 補(bǔ)補(bǔ)00.1100,補(bǔ)補(bǔ)00.1000 補(bǔ)補(bǔ) 00.1100 補(bǔ)補(bǔ) 00.1000 01.0100 兩個(gè)符號(hào)位出現(xiàn)兩個(gè)符號(hào)位出

10、現(xiàn)“01”01”, ,表示已溢出表示已溢出, ,即即結(jié)果大于結(jié)果大于1 1。上溢上溢 又又例例 0.1100.1100, 0, 0.0001,0.0001,求求。溢出概念與檢測(cè)方法溢出概念與檢測(cè)方法 解解 : 補(bǔ)補(bǔ)00.1100,補(bǔ)補(bǔ)00.0001 補(bǔ)補(bǔ) 00.1100 補(bǔ)補(bǔ) 00.0001 00.1101 兩個(gè)符號(hào)位兩個(gè)符號(hào)位 =“00”,=“00”,表示表示無(wú)溢出無(wú)溢出。 例例1515 0.1100, 0.1100, -0.1000,-0.1000,求求。溢出概念與檢測(cè)方法溢出概念與檢測(cè)方法 解解 : 補(bǔ)補(bǔ)11.0100,補(bǔ)補(bǔ)11.1000 補(bǔ)補(bǔ)11.0100補(bǔ)補(bǔ)11.1000 10.11

11、00兩個(gè)符號(hào)位出現(xiàn)兩個(gè)符號(hào)位出現(xiàn)“10”, ,表示已溢出表示已溢出, ,即結(jié)果小即結(jié)果小于于1。下溢下溢 又例又例 0.0100, 0.0100, -0.1000,-0.1000,求求。溢出概念與檢測(cè)方法溢出概念與檢測(cè)方法 解解 : 補(bǔ)補(bǔ)11.1100,補(bǔ)補(bǔ)11.1000 補(bǔ)補(bǔ)11.1100補(bǔ)補(bǔ)11.1000 11.0100兩個(gè)符號(hào)位出現(xiàn)兩個(gè)符號(hào)位出現(xiàn)“11”, ,表示表示無(wú)溢出無(wú)溢出。溢出概念與檢測(cè)方法溢出概念與檢測(cè)方法由此可以得出如下結(jié)論由此可以得出如下結(jié)論:1.1. 當(dāng)以模當(dāng)以模4 4補(bǔ)碼運(yùn)算補(bǔ)碼運(yùn)算, ,運(yùn)算結(jié)果的運(yùn)算結(jié)果的二符號(hào)位相異二符號(hào)位相異時(shí)時(shí), ,表示表示溢出溢出;相同相同時(shí)

12、時(shí), ,表示表示未溢出未溢出。故溢出邏輯表故溢出邏輯表達(dá)式為達(dá)式為 V VS Sf f1 1S Sf f2 2, ,其中其中S Sf f1 1和和S Sf f2 2分別為最高符號(hào)分別為最高符號(hào)位和第二符號(hào)位。此邏輯表達(dá)式可用位和第二符號(hào)位。此邏輯表達(dá)式可用異或門(mén)異或門(mén)實(shí)現(xiàn)。實(shí)現(xiàn)。2. 2. 模模4 4補(bǔ)碼相加的結(jié)果補(bǔ)碼相加的結(jié)果, ,不論溢出與否不論溢出與否, ,最高符號(hào)位最高符號(hào)位始終指示正確的符號(hào)。始終指示正確的符號(hào)。 溢出概念與檢測(cè)方法溢出概念與檢測(cè)方法第二種溢出檢測(cè)方法第二種溢出檢測(cè)方法:采用采用“單符號(hào)位法單符號(hào)位法”。 從例從例1 1和和例例2 2中看到中看到:(1).:(1).當(dāng)

13、最高有效位產(chǎn)生進(jìn)位而當(dāng)最高有效位產(chǎn)生進(jìn)位而符號(hào)位無(wú)進(jìn)位時(shí)符號(hào)位無(wú)進(jìn)位時(shí), ,產(chǎn)生產(chǎn)生上溢上溢;(2).(2).當(dāng)最高有效位無(wú)進(jìn)當(dāng)最高有效位無(wú)進(jìn)位而符號(hào)位有進(jìn)位時(shí)位而符號(hào)位有進(jìn)位時(shí), ,產(chǎn)生產(chǎn)生下溢下溢。 故:故:溢出邏輯表達(dá)式為溢出邏輯表達(dá)式為: V VC Cr rC Co o其中其中: : C Cf f為符號(hào)位產(chǎn)生的進(jìn)位為符號(hào)位產(chǎn)生的進(jìn)位, ,C Co o為最高有效位產(chǎn)生的為最高有效位產(chǎn)生的進(jìn)位。(進(jìn)位。(顯然:此邏輯關(guān)系可用異或門(mén)方便地實(shí)現(xiàn)顯然:此邏輯關(guān)系可用異或門(mén)方便地實(shí)現(xiàn))。)。 在定點(diǎn)機(jī)中,當(dāng)運(yùn)算結(jié)果發(fā)生溢出時(shí)在定點(diǎn)機(jī)中,當(dāng)運(yùn)算結(jié)果發(fā)生溢出時(shí), ,機(jī)器通過(guò)邏機(jī)器通過(guò)邏輯電路自動(dòng)檢查出

14、溢出故障輯電路自動(dòng)檢查出溢出故障, ,并進(jìn)行中斷處理。并進(jìn)行中斷處理。 2.2.4 基本的二進(jìn)制加法減法器n兩個(gè)二進(jìn)制數(shù)字兩個(gè)二進(jìn)制數(shù)字Ai,Bi和和一個(gè)進(jìn)位輸入一個(gè)進(jìn)位輸入Ci相加,產(chǎn)生相加,產(chǎn)生一個(gè)和輸出一個(gè)和輸出Si,以及一個(gè),以及一個(gè)進(jìn)位輸出進(jìn)位輸出Ci+1。n表表2.2中列出一位全加器中列出一位全加器進(jìn)行加法運(yùn)算的輸入輸出進(jìn)行加法運(yùn)算的輸入輸出真值表。真值表。2.2.4 基本的二進(jìn)制加法減法器(續(xù)(續(xù)1 1)n根據(jù)真值表,三個(gè)輸入端和兩個(gè)輸入端可按如下邏根據(jù)真值表,三個(gè)輸入端和兩個(gè)輸入端可按如下邏輯方程進(jìn)行聯(lián)系:輯方程進(jìn)行聯(lián)系: Si Ai Bi Ci Ci+1 Ai Bi + Bi

15、 Ci +Ci Ai (2.23)n按此表達(dá)式組成的一位全加器示圖按此表達(dá)式組成的一位全加器示圖2.2(b)。二進(jìn)制加法二進(jìn)制加法/減法器減法器對(duì)一位全加器對(duì)一位全加器(FA)來(lái)說(shuō)來(lái)說(shuō),Si的時(shí)間延遲為的時(shí)間延遲為6T(每級(jí)異或門(mén)延遲每級(jí)異或門(mén)延遲3T),Ci1的時(shí)間延遲為的時(shí)間延遲為5T,其中其中T被定義為相應(yīng)于單級(jí)邏輯被定義為相應(yīng)于單級(jí)邏輯電路的單位門(mén)延遲。電路的單位門(mén)延遲。T通常通常采用一個(gè)采用一個(gè)“與非與非”門(mén)或一個(gè)門(mén)或一個(gè)“或非或非”門(mén)的時(shí)間延遲來(lái)門(mén)的時(shí)間延遲來(lái)作為度量單位。作為度量單位。3T+3T3T+T+T一位全加器一位全加器 按式按式(2.23)組成的一位全加器(組成的一位全加

16、器(FA)示意圖)示意圖2.2(b)n n 個(gè)個(gè)1位的全加器位的全加器(FA)可級(jí)聯(lián)成一個(gè)可級(jí)聯(lián)成一個(gè)n 位的行波進(jìn)位的行波進(jìn)位加減器。位加減器。nM為方式控制輸入線為方式控制輸入線, 當(dāng)當(dāng)M=0時(shí),作加法時(shí),作加法(A+B)運(yùn)算;運(yùn)算; 當(dāng)當(dāng)M=1時(shí),作減法時(shí),作減法(A-B)運(yùn)算。轉(zhuǎn)化成運(yùn)算。轉(zhuǎn)化成A補(bǔ)補(bǔ)+-B補(bǔ)補(bǔ)運(yùn)算,求補(bǔ)過(guò)程由運(yùn)算,求補(bǔ)過(guò)程由B+1來(lái)實(shí)現(xiàn)。來(lái)實(shí)現(xiàn)。n 起始進(jìn)位連接到功能方式線起始進(jìn)位連接到功能方式線M上,作減法時(shí)上,作減法時(shí)M=1,相當(dāng)于在加法器的最低位上加相當(dāng)于在加法器的最低位上加1。n圖中左邊是單符號(hào)位法的溢出檢測(cè)邏輯;當(dāng)圖中左邊是單符號(hào)位法的溢出檢測(cè)邏輯;當(dāng)CnC

17、n1時(shí),運(yùn)算無(wú)溢出;而當(dāng)時(shí),運(yùn)算無(wú)溢出;而當(dāng)Cn Cn1時(shí),運(yùn)算有溢時(shí),運(yùn)算有溢出,經(jīng)異或門(mén)產(chǎn)生溢出信號(hào)。出,經(jīng)異或門(mén)產(chǎn)生溢出信號(hào)。二進(jìn)制加法二進(jìn)制加法/減法器減法器延遲時(shí)間延遲時(shí)間t ta a為為: : 2T2T延遲時(shí)間延遲時(shí)間t ta a為為: : 3T3T考慮溢出檢測(cè)時(shí)考慮溢出檢測(cè)時(shí),延遲時(shí)間延遲時(shí)間t ta a為為: : t ta an n2 2T T9 9T T (2(2n n9)9)T T當(dāng)不考慮溢出檢測(cè)時(shí)當(dāng)不考慮溢出檢測(cè)時(shí),有:,有: t ta a( (n-1)n-1)2 2T T9 9T T 2.2.4 基本的二進(jìn)制加法減法器(續(xù)(續(xù)3 3)n對(duì)一位全加器來(lái)說(shuō),對(duì)一位全加器來(lái)說(shuō)

18、,Si的時(shí)間延遲為的時(shí)間延遲為6T,Ci+1的時(shí)的時(shí)間延遲為間延遲為5T。T通常采用一個(gè)通常采用一個(gè)“與非與非”門(mén)或一個(gè)門(mén)或一個(gè)“或非或非”門(mén)的時(shí)間延遲來(lái)作為度量單位。門(mén)的時(shí)間延遲來(lái)作為度量單位。 n計(jì)算一個(gè)計(jì)算一個(gè)n位的行波進(jìn)位加法器的時(shí)間延遲。假如位的行波進(jìn)位加法器的時(shí)間延遲。假如采用圖采用圖2.2(a)所示的一位全加器并考慮溢出檢測(cè),所示的一位全加器并考慮溢出檢測(cè),那么那么n位行波進(jìn)位加法器的延遲時(shí)間位行波進(jìn)位加法器的延遲時(shí)間ta為為 tan2T9T(2n9)T (2.22) n9T為最低位上的兩極為最低位上的兩極“異或異或”門(mén)再加上溢出門(mén)再加上溢出“異或異或”門(mén)的總時(shí)間,門(mén)的總時(shí)間,2

19、T為每級(jí)進(jìn)位鏈的延遲時(shí)間。為每級(jí)進(jìn)位鏈的延遲時(shí)間。 2.2.4 基本的二進(jìn)制加法減法器(續(xù)(續(xù)2 2)n當(dāng)不考慮溢出檢測(cè)時(shí),有當(dāng)不考慮溢出檢測(cè)時(shí),有 ta(n-1) 2T9T(2.23) n ta意味著加法器的輸入端輸入加數(shù)和被加數(shù)后,意味著加法器的輸入端輸入加數(shù)和被加數(shù)后,在最壞情況下加法器輸出端得到穩(wěn)定的求和輸出所在最壞情況下加法器輸出端得到穩(wěn)定的求和輸出所需的最長(zhǎng)時(shí)間。顯然這個(gè)時(shí)間越小越好。需的最長(zhǎng)時(shí)間。顯然這個(gè)時(shí)間越小越好。n加數(shù)、被加數(shù)、進(jìn)位與和數(shù)都用電平表示,因此,加數(shù)、被加數(shù)、進(jìn)位與和數(shù)都用電平表示,因此,所謂穩(wěn)定的求和輸出,就是指穩(wěn)定的電平輸出。所謂穩(wěn)定的求和輸出,就是指穩(wěn)定的

20、電平輸出。十進(jìn)制加法器十進(jìn)制加法器例:設(shè)例:設(shè) Xi= 0110= (6)10 Yi= 0111= (7)10 則:則:Si = Xi+ Yi= 0110+0111 = 1101= (13)10 十位數(shù):十位數(shù):1 個(gè)位數(shù):個(gè)位數(shù): 3 對(duì)對(duì)Si(9)進(jìn)行進(jìn)行“加加6校正校正”后:后: Si = Si+6=1101+0110=1 0011 13 Si9的情況的情況:Si = 1010,1011,1100,1101,1110,1111. 當(dāng)當(dāng)Si9時(shí),要求:時(shí),要求: 產(chǎn)生向高位的進(jìn)位信號(hào)產(chǎn)生向高位的進(jìn)位信號(hào)Ci+1 ; 對(duì)對(duì)Si進(jìn)行進(jìn)行“+6”校正,得出本位的十進(jìn)制數(shù)值。校正,得出本位的十進(jìn)制

21、數(shù)值。實(shí)現(xiàn):實(shí)現(xiàn):(6)10 +(7)10 進(jìn)位進(jìn)位十進(jìn)制加法器十進(jìn)制加法器該位的和該位的和十進(jìn)制加法的校正十進(jìn)制加法的校正2.2.5 十進(jìn)制加法器2.2.5 十進(jìn)制加法器n十進(jìn)制加法器可由十進(jìn)制加法器可由BCD碼來(lái)設(shè)計(jì),它可以在二碼來(lái)設(shè)計(jì),它可以在二進(jìn)制加法器的基礎(chǔ)上加上適當(dāng)?shù)倪M(jìn)制加法器的基礎(chǔ)上加上適當(dāng)?shù)摹靶UU边壿嬤壿媮?lái)實(shí)現(xiàn),該校正邏輯可將二進(jìn)制的來(lái)實(shí)現(xiàn),該校正邏輯可將二進(jìn)制的“和和”改變改變成所要求的十進(jìn)制格式。成所要求的十進(jìn)制格式。 nn 位位BCD碼行波式進(jìn)位加法器的一般結(jié)構(gòu)如圖碼行波式進(jìn)位加法器的一般結(jié)構(gòu)如圖2.3(a)所示,它由所示,它由n 級(jí)組成,每一級(jí)將一對(duì)級(jí)組成,每一級(jí)

22、將一對(duì)4位位的的BCD數(shù)字相加,并通過(guò)一位進(jìn)位線與其相鄰數(shù)字相加,并通過(guò)一位進(jìn)位線與其相鄰級(jí)連接。級(jí)連接。G1G2返回返回 和大于和大于9?和有進(jìn)位和有進(jìn)位校正:校正:Ci10時(shí):時(shí):+ +0; Ci11時(shí):時(shí):+ +6; Si3Si2Si1Si010 1 0 1 011 1 0 1 1 G1=Si3 Si112 1 1 0 013 1 1 0 1 G2=Si3 Si214 1 1 1 015 1 1 1 116 1 0 0 0 0 Ci12.2.5 十進(jìn)制加法器( (續(xù)續(xù)1 1)n十進(jìn)制相加二數(shù)之和大于十進(jìn)制相加二數(shù)之和大于9時(shí),產(chǎn)生進(jìn)位。用時(shí),產(chǎn)生進(jìn)位。用BCD碼運(yùn)算的碼運(yùn)算的和數(shù)大于和數(shù)

23、大于9時(shí),必須對(duì)和數(shù)進(jìn)行加時(shí),必須對(duì)和數(shù)進(jìn)行加6修正修正。n第一次近似求值時(shí),就好像第一次近似求值時(shí),就好像xi和和yi是普通是普通4位二進(jìn)制位二進(jìn)制數(shù)一樣。數(shù)一樣。n設(shè)設(shè)Si代表得到的代表得到的4位二進(jìn)制數(shù)和,位二進(jìn)制數(shù)和,Ci+1為輸出進(jìn)位,為輸出進(jìn)位,Si為正確的為正確的BCD和,和,Ci+1為正確的進(jìn)位為正確的進(jìn)位 當(dāng)當(dāng)xiyici10時(shí),時(shí), SiSi 當(dāng)當(dāng)xiyici 10時(shí)時(shí), SiSi6n 當(dāng)當(dāng) 1或或 10時(shí)時(shí),輸出進(jìn)位輸出進(jìn)位1 1。因此,可利用。因此,可利用 的狀態(tài)來(lái)產(chǎn)生所的狀態(tài)來(lái)產(chǎn)生所要求的校正因子要求的校正因子:n 1時(shí)校正因子為時(shí)校正因子為6n 0時(shí)校正因子為時(shí)校正

24、因子為0。n在圖在圖2.3(b)中,中,4位行波式進(jìn)位的二進(jìn)制加位行波式進(jìn)位的二進(jìn)制加法器計(jì)算出和法器計(jì)算出和 , 然后然后 經(jīng)過(guò)第二級(jí)二進(jìn)經(jīng)過(guò)第二級(jí)二進(jìn)制加法器加上制加法器加上0或或6,則產(chǎn)生最終結(jié)果,則產(chǎn)生最終結(jié)果 。1iC1iC1iC1iC1iCiSiSiSiS2.3 定點(diǎn)乘法運(yùn)算n2.3.1 原碼并行乘法n2.3.2 補(bǔ)碼并行乘法2.3.1 原碼并行乘法n在定點(diǎn)計(jì)算機(jī)中,在定點(diǎn)計(jì)算機(jī)中,兩個(gè)原碼表示的數(shù)相乘的運(yùn)算規(guī)則是:兩個(gè)原碼表示的數(shù)相乘的運(yùn)算規(guī)則是:乘乘積的符號(hào)位由兩數(shù)的符號(hào)位按異或運(yùn)算得到,而乘積的數(shù)值積的符號(hào)位由兩數(shù)的符號(hào)位按異或運(yùn)算得到,而乘積的數(shù)值部分則是兩個(gè)正數(shù)相乘之積。

25、部分則是兩個(gè)正數(shù)相乘之積。n設(shè)設(shè)n位被乘數(shù)和乘數(shù)用定點(diǎn)小數(shù)表示位被乘數(shù)和乘數(shù)用定點(diǎn)小數(shù)表示(定點(diǎn)整數(shù)也同樣適用定點(diǎn)整數(shù)也同樣適用) 被乘數(shù)被乘數(shù) xx原原 x xf f . x xn-1n-1x x1 1x x0 0 乘數(shù)乘數(shù) yy原原 y yf f . y yn-1n-1y y1 1y y0 0 n則乘積則乘積 zz原原(x xf f y yf f)(0. x xn-1n-1x x1 1x x0 0 )(0. y yn-1n-1y y1 1y y0 0) (2.26)被乘數(shù)符被乘數(shù)符號(hào)號(hào) 乘數(shù)符號(hào)乘數(shù)符號(hào) 1.人工算法與機(jī)器算法的同異性人工算法與機(jī)器算法的同異性2.3.1 原碼并行乘法(續(xù)(

26、續(xù)1 1)n乘積符號(hào)的運(yùn)算法則是乘積符號(hào)的運(yùn)算法則是:同號(hào)相乘為正,異號(hào)相:同號(hào)相乘為正,異號(hào)相乘為負(fù)。由于被乘數(shù)和乘數(shù)和符號(hào)組合只有四種乘為負(fù)。由于被乘數(shù)和乘數(shù)和符號(hào)組合只有四種情況情況( x xf f y yf f 00,01,10,11),因此積的符號(hào)可,因此積的符號(hào)可按按“異或異或”(按位加按位加)運(yùn)算得到。運(yùn)算得到。n數(shù)值部分的運(yùn)算方法與普通的十進(jìn)制小數(shù)乘法類(lèi)數(shù)值部分的運(yùn)算方法與普通的十進(jìn)制小數(shù)乘法類(lèi)似,不過(guò)對(duì)于用二進(jìn)制表達(dá)式的數(shù)來(lái)說(shuō),其乘法似,不過(guò)對(duì)于用二進(jìn)制表達(dá)式的數(shù)來(lái)說(shuō),其乘法規(guī)則更為簡(jiǎn)單一些。規(guī)則更為簡(jiǎn)單一些。2.3.1 原碼并行乘法(續(xù)(續(xù)2 2)二進(jìn)制乘法運(yùn)算:n 從乘數(shù)

27、從乘數(shù)的最低位開(kāi)始,若這一位為的最低位開(kāi)始,若這一位為“1”,則將,則將被乘數(shù)被乘數(shù)寫(xiě)下;若為寫(xiě)下;若為“0”,則寫(xiě)下全,則寫(xiě)下全0。然后在。然后在對(duì)乘數(shù)的高一位進(jìn)行乘法運(yùn)算,規(guī)則同上,但對(duì)乘數(shù)的高一位進(jìn)行乘法運(yùn)算,規(guī)則同上,但這一位乘數(shù)的權(quán)與最低位乘數(shù)的權(quán)不同,這一位乘數(shù)的權(quán)與最低位乘數(shù)的權(quán)不同,被乘被乘數(shù)數(shù)要左移一位。以此類(lèi)推,直到乘數(shù)個(gè)位乘完要左移一位。以此類(lèi)推,直到乘數(shù)個(gè)位乘完為止,最后將它們加起來(lái),得到最后乘積為止,最后將它們加起來(lái),得到最后乘積。n設(shè)設(shè)0.1101,0.1011。用習(xí)慣方法求其。用習(xí)慣方法求其乘積,過(guò)程。乘積,過(guò)程。 0. 1 1 0 1 (x) 0. 1 0 1

28、1 (y) 1 1 0 1 1 1 0 1 0 0 0 0+ 1 1 0 1 0. 1 0 0 0 1 1 1 1 (z)2.3.1 原碼并行乘法(續(xù)(續(xù)3 3)n人們習(xí)慣的算法對(duì)機(jī)器并不完全適用人們習(xí)慣的算法對(duì)機(jī)器并不完全適用原因之一原因之一,機(jī)器通常只,機(jī)器通常只有有n位長(zhǎng),兩個(gè)位長(zhǎng),兩個(gè)n位數(shù)相位數(shù)相乘,乘積可能為乘,乘積可能為2n位。位。原因之二原因之二,只有兩個(gè)操,只有兩個(gè)操作數(shù)相加的加法器難以作數(shù)相加的加法器難以勝任將勝任將n各位積一次各位積一次 相加起來(lái)的運(yùn)算。相加起來(lái)的運(yùn)算。早期計(jì)算機(jī)中為了簡(jiǎn)化硬件結(jié)構(gòu),采用串行的早期計(jì)算機(jī)中為了簡(jiǎn)化硬件結(jié)構(gòu),采用串行的1位乘法方案,即多次執(zhí)行

29、位乘法方案,即多次執(zhí)行“加法加法移位移位”操操作來(lái)實(shí)現(xiàn)。作來(lái)實(shí)現(xiàn)。這種方法并不需要很多器件。然而串行方法太這種方法并不需要很多器件。然而串行方法太慢,自從大規(guī)模集成電路問(wèn)世以來(lái),出現(xiàn)了各慢,自從大規(guī)模集成電路問(wèn)世以來(lái),出現(xiàn)了各種形式的流水式陣列乘法器,它們屬于并行乘種形式的流水式陣列乘法器,它們屬于并行乘法器法器。2.3.1 原碼并行乘法(續(xù)(續(xù)4 4)2. 2. 不帶符號(hào)的陣列乘法器不帶符號(hào)的陣列乘法器設(shè)有兩個(gè)不帶符號(hào)的二進(jìn)制整數(shù):設(shè)有兩個(gè)不帶符號(hào)的二進(jìn)制整數(shù):( (見(jiàn)書(shū)見(jiàn)書(shū)P38P38)A Aa am m1 1a a1 1a a0 0 (m(m位)位) B Bb bn n1 1b b1 1

30、b b0 0 (n n位)位) 它們的數(shù)值分別為它們的數(shù)值分別為a a和和b b, ,即即 m m1 1 n n1 1 A A a ai i 2 2i iB B b bj j 2 2j j i i0 0 j j0 0在二進(jìn)制乘法中在二進(jìn)制乘法中, ,被乘數(shù)被乘數(shù)A A與乘數(shù)與乘數(shù)B B相乘相乘, ,產(chǎn)生產(chǎn)生(m mn n)位乘積位乘積P P:P Pp pm mn n1 1p p1 1p p0 0 (m+nm+n位)位)乘積乘積P P 的數(shù)值為:的數(shù)值為: am-1 am-2 a1 a0 ) bn-1 b1 b0 am-1b0 am-2b0 a1b0 a0b0 am-1b1 am-2b1 a1b

31、1 a0b1 +) am-1bn-1 am-2bn-1 a1bn-1 a0bn-1 pm+n-1 pm+n-2 pm+n-3 pn-1 p1 p0 乘積乘積P P乘數(shù)乘數(shù)B B被乘數(shù)被乘數(shù)A A 上述過(guò)程給出了在上述過(guò)程給出了在m m位乘位乘n n位不帶符號(hào)整數(shù)的陣列乘法位不帶符號(hào)整數(shù)的陣列乘法中中,“,“加法加法移位移位”操作的被加數(shù)矩陣。每一個(gè)部分乘操作的被加數(shù)矩陣。每一個(gè)部分乘積項(xiàng)積項(xiàng)( (位積位積) )a ai ib bj j叫做一個(gè)被加數(shù)。叫做一個(gè)被加數(shù)。 這這m mn n個(gè)被加數(shù)個(gè)被加數(shù) a ai ib bj j|0|0i im m1 1和和00j jn n11可以用可以用m mn

32、 n個(gè)個(gè)“與與”門(mén)并行地產(chǎn)生。顯然門(mén)并行地產(chǎn)生。顯然, ,設(shè)計(jì)設(shè)計(jì)高速并行乘法器高速并行乘法器的基本問(wèn)題的基本問(wèn)題, ,就在于就在于縮短縮短被加數(shù)矩陣中每列所需的加法時(shí)間。被加數(shù)矩陣中每列所需的加法時(shí)間。 5位位5位陣列乘法器的邏輯電路圖演示位陣列乘法器的邏輯電路圖演示 原碼乘法運(yùn)算原碼乘法運(yùn)算 若乘法器為若乘法器為n位位n位時(shí)位時(shí),需要需要n(n1)個(gè)個(gè)“全加器全加器”和和n2個(gè)個(gè)“與與”門(mén)。門(mén)。由由“與門(mén)與門(mén)”形成形成該值該值加法器加法器 原碼乘法運(yùn)算原碼乘法運(yùn)算 3T+3T2T3T+2T(n-2).6T(3T+Tf)(n-2).Tf3TTa 令令T Ta a為為“與門(mén)與門(mén)”的傳輸延遲時(shí)間

33、,的傳輸延遲時(shí)間,T Tf f為全加器為全加器(FA)(FA)的進(jìn)位傳輸延遲時(shí)間,假定用的進(jìn)位傳輸延遲時(shí)間,假定用2 2級(jí)級(jí)“與非與非”邏輯來(lái)實(shí)邏輯來(lái)實(shí)現(xiàn)現(xiàn)FAFA的進(jìn)位鏈功能和的進(jìn)位鏈功能和“與門(mén)與門(mén)”邏輯,那么就有:邏輯,那么就有: Ta Tf 2T 由上面的分析可以得出:最壞情況下的延遲途徑,由上面的分析可以得出:最壞情況下的延遲途徑,既是沿著矩陣既是沿著矩陣p p4 4垂直線和最下面的一行。因而得:垂直線和最下面的一行。因而得: n n位位n n位不帶符號(hào)的陣列乘法器總的乘法時(shí)間為:位不帶符號(hào)的陣列乘法器總的乘法時(shí)間為: tmTa+(n1) 6T (n1)Tf 2T(n1) 6T (n

34、1)2T (8n6) T(2.27)原碼乘法運(yùn)算原碼乘法運(yùn)算例例16 已知兩個(gè)不帶符號(hào)的二進(jìn)制整數(shù)已知兩個(gè)不帶符號(hào)的二進(jìn)制整數(shù) A 11011,B 10101,求每一部分乘積,求每一部分乘積項(xiàng)項(xiàng)aibj的值與的值與p9p8p0的值。的值。解解:原碼乘法運(yùn)算原碼乘法運(yùn)算 1 1 0 1 1 =A(2710) 1 0 1 0 1 = B(2110) 1 1 0 1 1 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0+ 1 1 0 1 1 1 0 0 0 1 1 0 1 1 1 =P(56710) a a4 4b b0 0=1 a=1 a3 3b b0 0=1 a=1 a2 2b b0

35、0=0 a=0 a1 1b b0 0=1 a=1 a0 0b b0 0=1=1 a a4 4b b1 1=0 a=0 a3 3b b1 1=0 a=0 a2 2b b1 1=0 a=0 a1 1b b1 1=0 a=0 a0 0b b1 1=0=0 a a4 4b b2 2=1 a=1 a3 3b b2 2=1 a=1 a2 2b b2 2=0 a=0 a1 1b b2 2=1 a=1 a0 0b b2 2=1=1 a a4 4b b3 3=0 a=0 a3 3b b3 3=0 a=0 a2 2b b3 3=0 a=0 a1 1b b3 3=0 a=0 a0 0b b3 3=0=0 a a4

36、4b b4 4=1 a=1 a3 3b b4 4=1 a=1 a2 2b b4 4=0 a=0 a1 1b b4 4=1 a=1 a0 0b b4 4=1=1 5位位5位陣列乘法器位陣列乘法器的邏輯電路圖演示的邏輯電路圖演示2.3.1 原碼并行乘法(續(xù)(續(xù)5 5)上述過(guò)程說(shuō)明了在上述過(guò)程說(shuō)明了在m位乘位乘n位不帶符號(hào)整數(shù)的陣列位不帶符號(hào)整數(shù)的陣列乘法中,乘法中,“加法加法移位移位”操作的被加數(shù)矩陣。每操作的被加數(shù)矩陣。每一個(gè)部分乘積項(xiàng)一個(gè)部分乘積項(xiàng)(位積位積) aibj叫做一個(gè)被加數(shù)。叫做一個(gè)被加數(shù)。這這mn個(gè)被加數(shù)個(gè)被加數(shù)aibj|0im1和和0jn1可以用可以用mn個(gè)個(gè)“與與”門(mén)并行地產(chǎn)生

37、。設(shè)計(jì)高速并門(mén)并行地產(chǎn)生。設(shè)計(jì)高速并行乘法器的基本問(wèn)題在于縮短被加數(shù)矩陣中每列行乘法器的基本問(wèn)題在于縮短被加數(shù)矩陣中每列所包含的所包含的1的加法時(shí)間。的加法時(shí)間。2.3.1 原碼并行乘法(續(xù)(續(xù)8 8)3. 帶符號(hào)的陣列乘法器帶符號(hào)的陣列乘法器一個(gè)負(fù)數(shù)的常規(guī)求補(bǔ)過(guò)程:一個(gè)負(fù)數(shù)的常規(guī)求補(bǔ)過(guò)程: 例:例: X=-1110 X=-1110, 則:則:XX補(bǔ)補(bǔ)=1 00=1 001010 ; Y=-0100Y=-0100, 則:則:YY補(bǔ)補(bǔ)=1 1=1 1100100 算法特點(diǎn)算法特點(diǎn):從數(shù)據(jù)的最右邊開(kāi)始向左邊逐位看從數(shù)據(jù)的最右邊開(kāi)始向左邊逐位看數(shù),找到第一個(gè)數(shù),找到第一個(gè)“1”1”為止。該為止。該“

38、1”1”的左邊各的左邊各位全部取反(不包括符號(hào)位);該位全部取反(不包括符號(hào)位);該“1”1”的右邊的右邊各位(包括該各位(包括該“1”1”)保持不變。)保持不變。帶符號(hào)的陣列乘法器帶符號(hào)的陣列乘法器 演示對(duì)演示對(duì)2求補(bǔ)電路的求補(bǔ)電路的工作過(guò)程工作過(guò)程3 2T3T+2T最長(zhǎng)的信號(hào)最長(zhǎng)的信號(hào) 延遲通路延遲通路所需的總時(shí)間延遲為:所需的總時(shí)間延遲為: tTC3 2T5T2.3.1 原碼并行乘法(續(xù)(續(xù)1010) 用這種對(duì)用這種對(duì)2求補(bǔ)器來(lái)轉(zhuǎn)換一個(gè)求補(bǔ)器來(lái)轉(zhuǎn)換一個(gè)(n1)為帶符號(hào)為帶符號(hào)的數(shù),所需的總時(shí)間延遲為:的數(shù),所需的總時(shí)間延遲為: t TCn2T5T(2n5)T(2.28) 其中每個(gè)掃描級(jí)需

39、其中每個(gè)掃描級(jí)需2T延遲,而延遲,而5T則是由于則是由于“與與”門(mén)和門(mén)和“異或異或”門(mén)引起的。門(mén)引起的。一個(gè)具有使能控制的二進(jìn)制對(duì)一個(gè)具有使能控制的二進(jìn)制對(duì)2求補(bǔ)器的邏輯表達(dá)式:求補(bǔ)器的邏輯表達(dá)式: C10, CiaiCi1 ai*aiECi1,0in2.3.1 原碼并行乘法(續(xù)(續(xù)1111) 帶符號(hào)的陣列乘法器帶符號(hào)的陣列乘法器 n 把包括這些求補(bǔ)級(jí)的乘法器又稱(chēng)為把包括這些求補(bǔ)級(jí)的乘法器又稱(chēng)為符號(hào)求補(bǔ)的陣符號(hào)求補(bǔ)的陣列乘法器列乘法器。n在這種邏輯結(jié)構(gòu)中,共使用在這種邏輯結(jié)構(gòu)中,共使用三個(gè)求補(bǔ)器三個(gè)求補(bǔ)器。n其中其中兩個(gè)算前求補(bǔ)器的作用是:兩個(gè)算前求補(bǔ)器的作用是:將兩個(gè)操作數(shù)將兩個(gè)操作數(shù)A和和

40、B在被不帶符號(hào)的乘法陣列在被不帶符號(hào)的乘法陣列(核心部件核心部件)相乘以前,相乘以前,先變成正整數(shù)。先變成正整數(shù)。n算后求補(bǔ)器的作用是算后求補(bǔ)器的作用是:當(dāng)兩個(gè)輸入操作數(shù)的符號(hào):當(dāng)兩個(gè)輸入操作數(shù)的符號(hào)不一致時(shí),把運(yùn)算結(jié)果變成帶符號(hào)的數(shù)。不一致時(shí),把運(yùn)算結(jié)果變成帶符號(hào)的數(shù)。(2) 帶符號(hào)的陣列乘法器帶符號(hào)的陣列乘法器 方法:方法:兩個(gè)補(bǔ)碼相乘,符號(hào)位單獨(dú)處理,兩個(gè)補(bǔ)碼相乘,符號(hào)位單獨(dú)處理,絕對(duì)值使用不帶符號(hào)的陣列乘法器求乘積絕對(duì)值使用不帶符號(hào)的陣列乘法器求乘積的絕對(duì)值,然后根據(jù)乘積的符號(hào)位對(duì)乘積的絕對(duì)值,然后根據(jù)乘積的符號(hào)位對(duì)乘積的絕對(duì)值求補(bǔ),得出乘積的補(bǔ)碼。的絕對(duì)值求補(bǔ),得出乘積的補(bǔ)碼。 (n

41、1)(n1)位帶求補(bǔ)器的陣列乘位帶求補(bǔ)器的陣列乘法器邏輯法器邏輯方框圖方框圖。補(bǔ)碼補(bǔ)碼絕對(duì)值絕對(duì)值絕對(duì)值絕對(duì)值補(bǔ)碼補(bǔ)碼用符號(hào)位用符號(hào)位做控制求做控制求補(bǔ)信號(hào)補(bǔ)信號(hào)E2.3.1 原碼并行乘法(續(xù)(續(xù)1212)n設(shè)設(shè)A=anan-1a1a0和和B bnbn-1b1b0均為用定點(diǎn)表示的均為用定點(diǎn)表示的(n1)位帶符號(hào)整數(shù)。在必要的求補(bǔ)操作以后位帶符號(hào)整數(shù)。在必要的求補(bǔ)操作以后,A和和B的碼值輸?shù)拇a值輸送給送給nn位不帶符號(hào)的陣列乘法器位不帶符號(hào)的陣列乘法器,并由此產(chǎn)生并由此產(chǎn)生2n位真值乘位真值乘積積: ABP p2n-1 p1 p0 p2nan bn 其中其中p2n 為符號(hào)位。為符號(hào)位。所示的帶求

42、補(bǔ)級(jí)的陣列乘法器既適用于原碼乘法,所示的帶求補(bǔ)級(jí)的陣列乘法器既適用于原碼乘法,也適用于間接的補(bǔ)碼乘法。也適用于間接的補(bǔ)碼乘法。 在原碼乘法中,算前求補(bǔ)和算后求補(bǔ)都不需在原碼乘法中,算前求補(bǔ)和算后求補(bǔ)都不需要,因?yàn)檩斎霐?shù)據(jù)都是立即可用的。要,因?yàn)檩斎霐?shù)據(jù)都是立即可用的。 間接的補(bǔ)碼陣列乘法所需要增加的硬件較多。間接的補(bǔ)碼陣列乘法所需要增加的硬件較多。為了完成所必需的求補(bǔ)與乘法操作,時(shí)間大約比為了完成所必需的求補(bǔ)與乘法操作,時(shí)間大約比原碼陣列乘法增加原碼陣列乘法增加1倍。倍。2.3.1 原碼并行乘法(續(xù)(續(xù)1313)例例17:17:設(shè)設(shè)15,13,用帶求補(bǔ)器的,用帶求補(bǔ)器的原碼陣列乘法器求出乘積原

43、碼陣列乘法器求出乘積? 解:解: x=+15=(+1111)2, y=-13=(-1101)2, 最高位為符號(hào)位,其決定是否啟動(dòng)求補(bǔ)器。最高位為符號(hào)位,其決定是否啟動(dòng)求補(bǔ)器。解解:輸入數(shù)據(jù)為原碼,則算前、算后求補(bǔ)都不需要,輸入數(shù)據(jù)為原碼,則算前、算后求補(bǔ)都不需要,直接計(jì)算結(jié)果。直接計(jì)算結(jié)果。 原原 01111 原原 11101 符號(hào)位單獨(dú)考慮,算前無(wú)需求補(bǔ)級(jí),直接取數(shù)值位:符號(hào)位單獨(dú)考慮,算前無(wú)需求補(bǔ)級(jí),直接取數(shù)值位: |1111, |1101 經(jīng)由經(jīng)由無(wú)符號(hào)陣列乘法器:無(wú)符號(hào)陣列乘法器:(算式演示算式演示) 算后也無(wú)需求補(bǔ),直接輸出并加上乘積符號(hào)位算后也無(wú)需求補(bǔ),直接輸出并加上乘積符號(hào)位1,

44、則有:則有:x y原原 = 111000011。 換算成二進(jìn)制數(shù)真值是換算成二進(jìn)制數(shù)真值是: ( 11000011)2=(-195)10 十進(jìn)制數(shù)驗(yàn)證:十進(jìn)制數(shù)驗(yàn)證:y =15 (13) =-195 相等。相等。 1 1 1 1 (x=1510) 1 1 0 1 (y=1310) 1 1 1 1 0 0 0 0 1 1 1 1+ 1 1 1 1 1 1 0 0 0 0 1 1 (z=19510)例例18:18:設(shè)設(shè)+15,-13,用帶求補(bǔ)器的補(bǔ),用帶求補(bǔ)器的補(bǔ)碼陣列乘法器求出乘積碼陣列乘法器求出乘積? 解:解: x=+15=(+1111)2, y=-13=(-1101)2, 最高位為符號(hào)位,其

45、決定是否啟動(dòng)求補(bǔ)器。最高位為符號(hào)位,其決定是否啟動(dòng)求補(bǔ)器。輸入數(shù)據(jù)為補(bǔ)碼,則算前、算后求補(bǔ)都可能需要,輸入數(shù)據(jù)為補(bǔ)碼,則算前、算后求補(bǔ)都可能需要,由符號(hào)位決定是否啟動(dòng)求補(bǔ)器。由符號(hào)位決定是否啟動(dòng)求補(bǔ)器。 x補(bǔ)補(bǔ)=0 1111 ;(符號(hào)位為符號(hào)位為0,算前無(wú)需求補(bǔ),算前無(wú)需求補(bǔ)) y補(bǔ)補(bǔ)=1 0011 ;(符號(hào)位為符號(hào)位為1,算前需求補(bǔ),使,算前需求補(bǔ),使y的的數(shù)值變?yōu)檎龜?shù)數(shù)值變?yōu)檎龜?shù))幾點(diǎn)注釋幾點(diǎn)注釋 對(duì)對(duì) y補(bǔ)補(bǔ)=10011 的數(shù)值部分的數(shù)值部分(0011)再求補(bǔ)一次,得:再求補(bǔ)一次,得:|y|=1101 無(wú)符號(hào)陣列乘法器輸出的結(jié)果仍然為:無(wú)符號(hào)陣列乘法器輸出的結(jié)果仍然為:11000011。

46、 x和和y的符號(hào)不一致,的符號(hào)不一致,結(jié)果的符號(hào)位為結(jié)果的符號(hào)位為“1” ,需,需啟動(dòng)算后求補(bǔ)器,對(duì)結(jié)果求補(bǔ),最后得出:?jiǎn)?dòng)算后求補(bǔ)器,對(duì)結(jié)果求補(bǔ),最后得出: xy補(bǔ)補(bǔ) =1 00111101 (真值真值= -195) 可見(jiàn),求補(bǔ)的目的是:可見(jiàn),求補(bǔ)的目的是: 數(shù)據(jù)送入無(wú)符號(hào)陣列乘法器之前,將參與運(yùn)算的數(shù)據(jù)送入無(wú)符號(hào)陣列乘法器之前,將參與運(yùn)算的補(bǔ)碼數(shù)據(jù)先轉(zhuǎn)換為數(shù)據(jù)的絕對(duì)值(補(bǔ)碼數(shù)據(jù)先轉(zhuǎn)換為數(shù)據(jù)的絕對(duì)值(由算前求補(bǔ)器由算前求補(bǔ)器完成完成) ; 乘積的符號(hào)位單獨(dú)形成(通過(guò)異或門(mén));乘積的符號(hào)位單獨(dú)形成(通過(guò)異或門(mén)); 完成乘法運(yùn)算后,根據(jù)乘積的符號(hào)位將兩數(shù)絕對(duì)完成乘法運(yùn)算后,根據(jù)乘積的符號(hào)位將兩數(shù)

47、絕對(duì)值的乘積再轉(zhuǎn)換回補(bǔ)碼的形式,得出乘積的補(bǔ)碼值的乘積再轉(zhuǎn)換回補(bǔ)碼的形式,得出乘積的補(bǔ)碼(由算后求補(bǔ)器完成由算后求補(bǔ)器完成)。)。 由此可知:由此可知:這種這種帶求補(bǔ)器的陣列乘法器所完成帶求補(bǔ)器的陣列乘法器所完成的補(bǔ)碼乘法,實(shí)質(zhì)上屬于的補(bǔ)碼乘法,實(shí)質(zhì)上屬于間接的補(bǔ)碼乘法間接的補(bǔ)碼乘法。2.3.2 補(bǔ)碼并行乘法間接補(bǔ)碼乘法不屬于真正的補(bǔ)碼乘法,運(yùn)算效率受到影響。間接補(bǔ)碼乘法不屬于真正的補(bǔ)碼乘法,運(yùn)算效率受到影響。n如果補(bǔ)碼的符號(hào)位也直接參與到乘法運(yùn)算中如果補(bǔ)碼的符號(hào)位也直接參與到乘法運(yùn)算中, ,則則可以完成補(bǔ)碼的可以完成補(bǔ)碼的“直接直接”乘法。乘法。這種方法排除了這種方法排除了較慢的對(duì)較慢的對(duì)2

48、求補(bǔ)操作,求補(bǔ)操作,大大加速了乘法過(guò)程。大大加速了乘法過(guò)程。n與直接的補(bǔ)碼乘法相聯(lián)系數(shù)學(xué)特征。與直接的補(bǔ)碼乘法相聯(lián)系數(shù)學(xué)特征。對(duì)于計(jì)算補(bǔ)對(duì)于計(jì)算補(bǔ)碼數(shù)的數(shù)值來(lái)說(shuō),較好的表示方法是使補(bǔ)碼的位碼數(shù)的數(shù)值來(lái)說(shuō),較好的表示方法是使補(bǔ)碼的位置數(shù)有一個(gè)帶負(fù)權(quán)的符號(hào)和帶正權(quán)的系數(shù)。置數(shù)有一個(gè)帶負(fù)權(quán)的符號(hào)和帶正權(quán)的系數(shù)。1. 補(bǔ)碼與真值的轉(zhuǎn)換公式補(bǔ)碼與真值的轉(zhuǎn)換公式 2.3.2 補(bǔ)碼并行乘法( (續(xù)續(xù)1 1)例:例:定點(diǎn)整數(shù)的補(bǔ)碼定點(diǎn)整數(shù)的補(bǔ)碼N補(bǔ)補(bǔ)=an-1an-2a1a0= an-1是符號(hào)位。根據(jù)是符號(hào)位。根據(jù)N補(bǔ)補(bǔ)的符號(hào),的符號(hào),補(bǔ)碼數(shù)補(bǔ)碼數(shù)N補(bǔ)補(bǔ)和和真值真值N 的關(guān)系可以表示成:的關(guān)系可以表示成: a

49、i2iN=當(dāng)當(dāng)an1 0時(shí)時(shí) (N 為正數(shù)為正數(shù))1 (1ai)2i n-2i=0當(dāng)當(dāng)an1 1時(shí)時(shí) (N 為負(fù)數(shù)為負(fù)數(shù)) n-2i=00n-2位數(shù)值位位數(shù)值位逐位求反逐位求反末位加末位加1真值的絕對(duì)值真值的絕對(duì)值 n-1i=0ai2i根據(jù)補(bǔ)碼的性質(zhì)根據(jù)補(bǔ)碼的性質(zhì)4,整數(shù),整數(shù)N的補(bǔ)碼的形式:的補(bǔ)碼的形式: N補(bǔ)補(bǔ)= 2nan-1 + N an-1為符號(hào),為符號(hào), N為正時(shí),為正時(shí), an-1=0; N為負(fù)時(shí),為負(fù)時(shí), an-1=1?;蛘呋蛘?N也可以用也可以用N補(bǔ)補(bǔ)表示為:表示為: N = - 2nan-1 + N補(bǔ)補(bǔ)= - 2nan-1 = = -2nan-1+2n-1an-1 = = -

50、2n-1an-1+ a ai i2 2i i (2.292.29) n-2i=0 + n-1 i=0 ai2i + n-2 i=0 ai 2i因?yàn)楫?dāng)因?yàn)楫?dāng)N補(bǔ)補(bǔ)表示為表示為an1an2a1a0時(shí),無(wú)論時(shí),無(wú)論N為正還是為負(fù),則都有式子為正還是為負(fù),則都有式子2.29成立,即:成立,即: n-2i=0N= -N= -a an n1 12 2n n1 1 a ai i2 2i i-N補(bǔ)補(bǔ)an1an2a1a0+1式中式中ai=1- ai(對(duì)(對(duì)0in-1)。)。無(wú)論無(wú)論N為正還是為負(fù),為正還是為負(fù), N補(bǔ)補(bǔ)的機(jī)器負(fù)數(shù)的機(jī)器負(fù)數(shù)-N補(bǔ)補(bǔ)為:為:表達(dá)式表達(dá)式(2.29)和和(2.30)是等效的。是等效的

51、。 n-2i=0 N (1 an1)2n1 (1 ai)2i+1 (2.30)依式子依式子2.29此類(lèi)推得式子此類(lèi)推得式子2.30 : n-2i=0 N an12n1ai 2i+1 2.3.2 補(bǔ)碼并行乘法( (續(xù)續(xù)2 2)例例19 已知已知: N補(bǔ)補(bǔ) 01101,N補(bǔ)補(bǔ)10011,求求N補(bǔ)補(bǔ),N補(bǔ)補(bǔ)具有的數(shù)值。具有的數(shù)值。解解:N補(bǔ)補(bǔ)01101 具有的數(shù)值為:具有的數(shù)值為:N=-024+123+122+021+120=(+13)10 N補(bǔ)補(bǔ)10011 具有的數(shù)值為:具有的數(shù)值為:-N=-124+023+022+121+120=(-13)10按照式子按照式子2.30,求得:,求得:-N=-(1

52、-0)24+(1-1)23+(1-1)22+(1-0)21 +(1-1)20 +1 =(-13)10又例,又例, 已知已知: A補(bǔ)補(bǔ) 10110,B補(bǔ)補(bǔ)01011,求,求A和和B的值的值。解解:A補(bǔ)補(bǔ)10110 具有的數(shù)值為:具有的數(shù)值為:A124023122121020( 10)10 B補(bǔ)補(bǔ)01011 具有的數(shù)值為:具有的數(shù)值為:B024123022121120( 11)102.3.2 補(bǔ)碼并行乘法( (續(xù)續(xù)3 3) 常規(guī)的一位全加器可假定它的常規(guī)的一位全加器可假定它的3 3個(gè)輸入個(gè)輸入和和2 2個(gè)輸出都是正權(quán)。實(shí)際上,這種加法器個(gè)輸出都是正權(quán)。實(shí)際上,這種加法器既可以把正權(quán)加到輸入既可以把

53、正權(quán)加到輸入/ /輸出端、也可以把輸出端、也可以把負(fù)權(quán)加到輸入負(fù)權(quán)加到輸入/ /輸出端上。所以,可以歸納輸出端上。所以,可以歸納出四類(lèi)加法單元。如出四類(lèi)加法單元。如(表(表2.32.3),0 0類(lèi)全加器類(lèi)全加器沒(méi)有負(fù)權(quán)輸入;沒(méi)有負(fù)權(quán)輸入;1 1類(lèi)全加器有類(lèi)全加器有1 1個(gè)負(fù)權(quán)輸入和個(gè)負(fù)權(quán)輸入和2 2個(gè)正權(quán)輸入;依次類(lèi)推。幾種加法器的輸個(gè)正權(quán)輸入;依次類(lèi)推。幾種加法器的輸入輸出真值表:入輸出真值表:2.一般化的全加器形式一般化的全加器形式 0類(lèi)加法器:類(lèi)加法器:輸入、輸出都沒(méi)有負(fù)權(quán)。輸入、輸出都沒(méi)有負(fù)權(quán)。直接補(bǔ)碼并行乘法運(yùn)算直接補(bǔ)碼并行乘法運(yùn)算X Y Z S C 0 0 0 0 0 0 0 1

54、1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 S=X Y Z+X Y Z+X Y Z+XYZ= XYZC=X Y Z+X Y Z+X Y Z+X Y Z=XY+YZ+ZX1類(lèi)加法器:類(lèi)加法器:輸入有一個(gè)負(fù)權(quán)、輸出輸入有一個(gè)負(fù)權(quán)、輸出和和為負(fù)權(quán)。為負(fù)權(quán)。直接補(bǔ)碼并行乘法運(yùn)算直接補(bǔ)碼并行乘法運(yùn)算X Y Z S C 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 S=X Y Z+X Y Z+X Y Z+XYZ

55、= XYZC=X Y Z+X Y Z+X Y Z+X Y Z=XY+XZ+YZ2類(lèi)加法器:類(lèi)加法器:輸入有兩個(gè)負(fù)權(quán),輸出輸入有兩個(gè)負(fù)權(quán),輸出進(jìn)位進(jìn)位為負(fù)權(quán)。為負(fù)權(quán)。直接補(bǔ)碼并行乘法運(yùn)算直接補(bǔ)碼并行乘法運(yùn)算X Y Z S C 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 0 1 1 1 1 1 1 S=X Y Z+X Y Z+X Y Z+XYZ= XYZC=X Y Z+X Y Z+X Y Z+X Y Z=XY+XZ+YZ3類(lèi)加法器:類(lèi)加法器:三個(gè)輸入都為負(fù)權(quán),輸出三個(gè)輸入都為負(fù)權(quán),輸出進(jìn)位進(jìn)位、和和都為負(fù)權(quán)。都

56、為負(fù)權(quán)。 直接補(bǔ)碼并行乘法運(yùn)算直接補(bǔ)碼并行乘法運(yùn)算X Y Z S C 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 S=X Y Z+X Y Z+X Y Z+XYZ= XYZC=X Y Z+X Y Z+X Y Z+X Y Z=XY+YZ+ZX 總結(jié)總結(jié): 0類(lèi)類(lèi)全加器就是普通的一位全加器,而全加器就是普通的一位全加器,而3類(lèi)類(lèi)全加器可以用全加器可以用0類(lèi)類(lèi)全加器的邏輯方程來(lái)表征,它全加器的邏輯方程來(lái)表征,它和和(0類(lèi)類(lèi))是一致的。這是因?yàn)槭且恢碌?。這是因?yàn)?類(lèi)全加器可以簡(jiǎn)單地類(lèi)全加器

57、可以簡(jiǎn)單地把把0類(lèi)全加器的所有輸入輸出值全部反向來(lái)得到,類(lèi)全加器的所有輸入輸出值全部反向來(lái)得到,反之亦然。反之亦然。 1類(lèi)類(lèi)和和2類(lèi)類(lèi)全加器之間也能建立類(lèi)似的關(guān)系。全加器之間也能建立類(lèi)似的關(guān)系。(由于邏輯表達(dá)式具有兩級(jí)(由于邏輯表達(dá)式具有兩級(jí)“與或與或”形式,可以用形式,可以用 “與或非與或非”門(mén)來(lái)實(shí)現(xiàn),延遲時(shí)間為門(mén)來(lái)實(shí)現(xiàn),延遲時(shí)間為2T。)。)直接補(bǔ)碼并行乘法運(yùn)算直接補(bǔ)碼并行乘法運(yùn)算2.3.2 補(bǔ)碼并行乘法( (續(xù)續(xù)5 5)n利用混合型的全加器就可以構(gòu)成直接補(bǔ)碼數(shù)陣列利用混合型的全加器就可以構(gòu)成直接補(bǔ)碼數(shù)陣列乘法器。設(shè)被乘數(shù)乘法器。設(shè)被乘數(shù)A和乘數(shù)和乘數(shù)B是兩個(gè)是兩個(gè)5位的二進(jìn)制位的二進(jìn)制補(bǔ)

58、碼數(shù)補(bǔ)碼數(shù),即即 A ( a4)a3a2a1a0 B (b4)b3 b2b1b0n它們具有帶負(fù)權(quán)的符號(hào)位它們具有帶負(fù)權(quán)的符號(hào)位a4和和b4 并用括號(hào)標(biāo)注。并用括號(hào)標(biāo)注。n如果我們用括號(hào)來(lái)標(biāo)注負(fù)的被加項(xiàng),例如如果我們用括號(hào)來(lái)標(biāo)注負(fù)的被加項(xiàng),例如(aibj),那么那么A和和B相乘過(guò)程中所包含的操作步驟如下面矩相乘過(guò)程中所包含的操作步驟如下面矩陣所示:陣所示:3.直接補(bǔ)碼陣列乘法器直接補(bǔ)碼陣列乘法器 2.3.2 補(bǔ)碼并行乘法( (續(xù)續(xù)6 6)(a4) a3 a2 a1a0 A ) (b4) b3 b2 b1 b0 B (a4b0) a3b0a1b0 a1b0a0b0 (a4b1) a3b1 a2b1

59、 a1b1 a0b1(a4b2)a3b2 a2b2 a1b2a0b2 (a4b3)a3b3 a2b3 a1b3 a0b3) a4b4 (a3b4) (a2b4) (a1b4) (a0b4) p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 P 5位乘位乘5位的直接補(bǔ)碼陣列乘法器邏輯原理示于圖位的直接補(bǔ)碼陣列乘法器邏輯原理示于圖2.8,其中使用不同的邏輯符號(hào)來(lái)代表其中使用不同的邏輯符號(hào)來(lái)代表0類(lèi)、類(lèi)、1類(lèi)、類(lèi)、2類(lèi)、類(lèi)、3類(lèi)類(lèi)全加器。全加器。2類(lèi)和類(lèi)和1類(lèi)全加器具有同樣的結(jié)構(gòu)類(lèi)全加器具有同樣的結(jié)構(gòu),但是使用不但是使用不同的邏輯符號(hào)可使乘法陣列的線路圖容易理解。同的邏輯符號(hào)可使乘法陣列的

60、線路圖容易理解。直接補(bǔ)碼并行乘法運(yùn)算直接補(bǔ)碼并行乘法運(yùn)算a4b0a4b1a4b2a4b3a4b4a3b0a2b0a1b0a0b0a3b1a3b2a3b3a3b4a2b4a1b4a0b4a2b1a1b1a0b1a2b2a1b2a0b2a2b3a1b3a0b300000ai bjaibj0i40j42.4 定點(diǎn)除法運(yùn)算n2.4.1 原碼除法運(yùn)算原理n2.4.2 并行除法器 2.4.1 原碼除法運(yùn)算原理n兩個(gè)原碼數(shù)相除時(shí),商的符號(hào)由兩數(shù)的符號(hào)按位相兩個(gè)原碼數(shù)相除時(shí),商的符號(hào)由兩數(shù)的符號(hào)按位相加求得,商的數(shù)值部分由兩數(shù)的數(shù)值部分相除求得。加求得,商的數(shù)值部分由兩數(shù)的數(shù)值部分相除求得。 設(shè)有設(shè)有n位定點(diǎn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論