




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2-2章運(yùn)算方法和運(yùn)算器23一月20242目錄2.2定點(diǎn)加法、減法運(yùn)算(掌握)2.3定點(diǎn)乘法運(yùn)算(理解)2.4定點(diǎn)除法運(yùn)算(理解)2.5定點(diǎn)運(yùn)算器的組成(了解)23一月20243學(xué)習(xí)要求掌握定點(diǎn)數(shù)的補(bǔ)碼加減法、常用的乘除法運(yùn)算方法;掌握浮點(diǎn)數(shù)的加減運(yùn)算方法;理解溢出判斷方法;清楚運(yùn)算器部件的組成結(jié)構(gòu)及設(shè)計(jì)方法。23一月202442.2定點(diǎn)加法、減法運(yùn)算2.2.1補(bǔ)碼加法2.2.2補(bǔ)碼減法2.2.3溢出概念與檢驗(yàn)方法2.2.4基本的二進(jìn)制加法、減法器23一月202452.2.1補(bǔ)碼加法補(bǔ)碼加法運(yùn)算基本公式定點(diǎn)整數(shù):[x+y]補(bǔ)=[x]補(bǔ)
+[y]補(bǔ)
(mod2n+1)
定點(diǎn)小數(shù):[x+y]補(bǔ)=[x]補(bǔ)
+[y]補(bǔ)
(mod2)
23一月20246定點(diǎn)數(shù)補(bǔ)碼加法舉例[例11]x=+1001,y=+0101,求x+y。解:
[x]補(bǔ)=01001,[y]補(bǔ)=00101[x]補(bǔ)
01001
+[y]補(bǔ)
00101[x+y]補(bǔ)
01110
所以x+y=+1110[例12]x=+1011,y=-0101,
求x+y。解:[x]補(bǔ)=01011,[y]補(bǔ)=11011[x]補(bǔ)
01011+[y]補(bǔ)
11011[x+y]補(bǔ)
100110
所以x+y=+011023一月202472.2.2補(bǔ)碼減法
補(bǔ)碼減法運(yùn)算基本公式定點(diǎn)整數(shù):[x-y]補(bǔ)=[x]補(bǔ)
-[y]補(bǔ)=[x]補(bǔ)
+[-y]補(bǔ)
(mod2n+1)定點(diǎn)小數(shù):[x-y]補(bǔ)=[x]補(bǔ)
-[y]補(bǔ)=[x]補(bǔ)
+[-y]補(bǔ)
(mod2)[-y]補(bǔ)等于[y]補(bǔ)的各位取反,末位加1。23一月20248定點(diǎn)數(shù)補(bǔ)碼減法舉例
[例13]已知x1=-1110,x2=+1101,
求:[x1]補(bǔ),[-x1]補(bǔ),[x2]補(bǔ),[-x2]補(bǔ)。解:[-x1]補(bǔ)=01110[x1]補(bǔ)=﹁[-x1]補(bǔ)+1
=10001+00001=10010[x2]補(bǔ)=01101[-x2]補(bǔ)=﹁[x2]補(bǔ)+1
=10010+00001=1001123一月20249定點(diǎn)數(shù)補(bǔ)碼減法舉例
[例14]x=+1101,y=+0110,求x-y。解:[x]補(bǔ)=01101,[y]補(bǔ)=00110,[-y]補(bǔ)=11010[x-y]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ)=01101+11010
=100111
=00111
∴x-y=+011101101+)1101010011123一月20241023一月202410定點(diǎn)數(shù)補(bǔ)碼加減法運(yùn)算基本公式定點(diǎn)整數(shù):
[x±
y]補(bǔ)=[x]補(bǔ)
+[±y]補(bǔ)
(mod2n+1)定點(diǎn)小數(shù):
[x±
y]補(bǔ)=[x]補(bǔ)
+[±y]補(bǔ)
(mod2)定點(diǎn)數(shù)補(bǔ)碼加減法運(yùn)算符號(hào)位和數(shù)值位可同等處理;只要結(jié)果不溢出,將結(jié)果按2n+1或2取模,即為本次運(yùn)算結(jié)果。23一月202411例
設(shè)機(jī)器字長(zhǎng)為8位,[x]補(bǔ)=10100011,
[y]補(bǔ)=00101101,求x-y。解: [-y]補(bǔ)=11010011 [x-y]補(bǔ)=[x]補(bǔ)+[-y]補(bǔ) =10100011+11010011
=101110110
=01110110
∴x-y=+11810100011+)11010011101110110×x=-93,y=+45計(jì)算過(guò)程中,產(chǎn)生了溢出?。?3-45=-138<-12823一月2024122.2.3溢出概念與檢測(cè)方法溢出在定點(diǎn)數(shù)機(jī)器中,數(shù)的大小超出了定點(diǎn)數(shù)能表示的范圍。上溢數(shù)據(jù)大于機(jī)器所能表示的最大正數(shù);下溢數(shù)據(jù)小于機(jī)器所能表示的最小負(fù)數(shù);例如,8位補(bǔ)碼表示的定點(diǎn)整數(shù),范圍為[-128,+127]若x=120,y=30,則x+y產(chǎn)生上溢若x=-50,y=-84,則x+y產(chǎn)生下溢若x=120,y=-10,則x-y產(chǎn)生上溢23一月20241223一月202413例題[例15]x=+1011,y=+1001,求x+y。[解:]
[x]補(bǔ)=0.1011[y]補(bǔ)=0.1001[x]補(bǔ)
0.1011
+[y]補(bǔ)
0.1001[x+y]補(bǔ)
1.0100[例16]x=-1101,y=-1111,求x+y。[解:]
[x]補(bǔ)=1.0011[y]補(bǔ)=1.0001[x]補(bǔ)
1.0011+[y]補(bǔ)
1.0001[x+y]補(bǔ)
0.0101正數(shù)+正數(shù)=負(fù)數(shù)負(fù)數(shù)+負(fù)數(shù)=正數(shù)溢出!23一月202414溢出判別方法——直接判別法方法:同號(hào)補(bǔ)碼相加,結(jié)果符號(hào)位與加數(shù)相反;異號(hào)補(bǔ)碼相減,結(jié)果符號(hào)位與減數(shù)相同;特點(diǎn):硬件實(shí)現(xiàn)較復(fù)雜;舉例:若[x]補(bǔ)=0101,[y]補(bǔ)=0100,則[x+y]補(bǔ)=1001若[x]補(bǔ)=1011,[y]補(bǔ)=1100,則[x+y]補(bǔ)=0111若[x]補(bǔ)=0101,[y]補(bǔ)=1100,則[x-y]補(bǔ)=1001上溢下溢上溢23一月202415溢出判別方法——變形補(bǔ)碼判別法變形補(bǔ)碼,也叫模4補(bǔ)碼:采用雙符號(hào)位表示補(bǔ)碼判別方法:特點(diǎn):硬件實(shí)現(xiàn)簡(jiǎn)單,只需對(duì)結(jié)果符號(hào)位進(jìn)行異或舉例:若[x]補(bǔ)=00101,[y]補(bǔ)=00100,則[x+y]補(bǔ)=01001若[x]補(bǔ)=11011,[y]補(bǔ)=11100,則[x+y]補(bǔ)=10111若[x]補(bǔ)=00101,[y]補(bǔ)=11100,則[x-y]補(bǔ)=01001雙符號(hào)位
結(jié)果00正01上溢10下溢11負(fù)上溢下溢上溢23一月20241623一月202416溢出判別方法——進(jìn)位判別法0101+)
01001001100001+)
0100010100V=0⊕1=1V=0⊕0=0判別方法:最高數(shù)值位的進(jìn)位與符號(hào)位的進(jìn)位是否相同;判別公式溢出標(biāo)志V=Cf⊕Cn-1其中Cf為符號(hào)位產(chǎn)生的進(jìn)位,Cn-1為最高數(shù)值位產(chǎn)生的進(jìn)位。舉例:溢出=Sf1Sf21.硬件判斷邏輯一(SA、SB與Sf的關(guān)系)溢出=SASBSfSASfSB2.硬件判斷邏輯二(Cf與C的關(guān)系)溢出=CfC3.硬件判斷邏輯三(雙符號(hào)位)溢出判斷方法總結(jié):兩操作數(shù)的符號(hào)相同而結(jié)果的符號(hào)與它們相反,則產(chǎn)生溢出。正數(shù)相加為負(fù)數(shù)或負(fù)數(shù)相加為正數(shù)則產(chǎn)生溢出)結(jié)果的兩個(gè)符號(hào)位的代碼不一致時(shí),表示溢出23一月202418回顧邏輯門(mén)圖形符號(hào)
基本邏輯運(yùn)算與運(yùn)算“與”運(yùn)算又叫“邏輯乘”(Logicmultiplication)其結(jié)果叫“邏輯積”(Logicproduct)F=A?B
1?1=11?0=00?1=00?0=0數(shù)字電路表示:??????AB
220VF布爾代數(shù)F<=AandBVHDL
利用F與A、B邏輯關(guān)系說(shuō)明邏輯運(yùn)算
基本邏輯運(yùn)算“?”---“與”運(yùn)算符,常將“?”省去,寫(xiě)成F=AB111001010000FBA真值表tttABF波形圖特點(diǎn):有0出0,全1出1國(guó)標(biāo)符號(hào)國(guó)際流行符號(hào)原部標(biāo)符號(hào)&與
門(mén)的邏輯符號(hào)ABABABFFF或運(yùn)算“或”運(yùn)算又叫“邏輯加”(Logicaddition)其結(jié)果叫“邏輯和”(Logicsum)數(shù)字電路表示:??B
220VF????AF=A+B
1+1=11+0=10+1=10+0=0F<=AorB“+”為或運(yùn)算符,布爾代數(shù)式寫(xiě)成F=A+B111101110000FBA真值表FtttAB特點(diǎn):有1出1,全0出0。波形圖國(guó)標(biāo)符號(hào)國(guó)際流行符號(hào)原部標(biāo)符號(hào)
1+ABABABFFF或門(mén)的邏輯符號(hào)非運(yùn)算
“非”運(yùn)算(NOT)又叫“反相”運(yùn)算(Inversion),也叫“邏輯否定”(Logicnegation)布爾代數(shù)式寫(xiě)成F=A開(kāi)關(guān)電路表示:??
220VF??AF=A
0=11=0F<=notAFttAAF01101AAAFFF國(guó)標(biāo)符號(hào) 國(guó)際流行符號(hào)原部標(biāo)符號(hào)
異或運(yùn)算布爾代數(shù)式:F=AB=AB+AB011101110000FBA真值表A0=A1=AA=AA=異或運(yùn)算拓展:輸入取值為1的變量的個(gè)數(shù)為奇數(shù)時(shí),輸出為1;否則,輸出為0A0=A1=AA=A0=A1=AA=AA=A0=A1=A1=A0=A1=AA=A0=A1=異或門(mén)的邏輯符號(hào)23一月2024292.2.4基本的二進(jìn)制加法/減法器一位二進(jìn)制數(shù)據(jù)的半加器:加數(shù):Ai、Bi
結(jié)果:Si(和)Ci+1(本位向高位的進(jìn)位)一位半加器示意圖:一位二進(jìn)制數(shù)據(jù)的全加器:加數(shù):Ai、Bi
Ci(低位向本位的進(jìn)位)結(jié)果:Si(和)
Ci+1(本位向高位的進(jìn)位)一位全加器示意圖:FAAiBiCiCi+1SiHAAiBiCi+1Si23一月202430一位二進(jìn)制數(shù)據(jù)的全加器的邏輯結(jié)構(gòu)全加運(yùn)算的真值表如右所示:兩個(gè)輸出端的邏輯表達(dá)式Si=Ai⊕Bi⊕CiCi+1=AiBi+(Ai⊕
Bi)Ci全加器邏輯結(jié)構(gòu):輸入輸出AiBiCiSiCi+1000000011001010011011001010101110011111123一月202431多位二進(jìn)制數(shù)據(jù)加法器兩個(gè)n位的數(shù)據(jù)A=An-1An-2…A1A0,B=Bn-1Bn-2…B1B0和S=Sn-1Sn-2…S1S0采用進(jìn)位判別法判斷運(yùn)算的溢出:V=Cn⊕Cn-123一月202432多位二進(jìn)制數(shù)據(jù)加法/減法器將減法轉(zhuǎn)換成加法[A]補(bǔ)
-[B]補(bǔ)=[A]補(bǔ)
+[-B]補(bǔ)由[B]補(bǔ)求[-B]補(bǔ)
[B]補(bǔ)求各位取反,末位加1;將加減法電路合二為一使用異或運(yùn)算;當(dāng)M=0時(shí),Bi’=Bi當(dāng)M=1時(shí),Bi’=﹁Bi;BiMBi’23一月202433行波進(jìn)位的補(bǔ)碼加法/減法器23一月2024342.3定點(diǎn)乘法運(yùn)算
原碼并行乘法23一月202435原碼并行乘法1.分析筆算與機(jī)器算法的異同A=–0.1101B=0.1011A×B=–0.100011110.11010.101111011101000011010.10001111符號(hào)位單獨(dú)處理乘數(shù)的某一位決定是否加被乘數(shù)4個(gè)位積一起相加乘積的位數(shù)擴(kuò)大一倍×乘積的符號(hào)心算求得
?23一月2024362.不帶符號(hào)的陣列乘法器設(shè)有兩個(gè)不帶符號(hào)的二進(jìn)制整數(shù):
A=am-1…a1a0
;
B=bn-1…b1b0它們的數(shù)值分別為a和b,即A、B相乘,產(chǎn)生m+n位乘積P:
P=pm+n-1…p1p0乘積P的數(shù)值為
兩個(gè)無(wú)符號(hào)數(shù)據(jù)的并行乘法電路23一月202437二進(jìn)制數(shù)乘法的運(yùn)算過(guò)程ai*bi=aANDb23一月202438m×n位不帶符號(hào)的陣列乘法器邏輯框圖被加數(shù)產(chǎn)生部件被加數(shù)求和部件被乘數(shù)乘數(shù)乘法過(guò)程中的加數(shù)乘積23一月2024395
×
5
位不帶符號(hào)陣列乘法器電路動(dòng)畫(huà)演示:2-5.swf23一月202440課本P34[例19]
已知兩個(gè)不帶符號(hào)的二進(jìn)制整數(shù)A=11011,B=10101,求每一部分乘積項(xiàng)aibj的值與p9p8……p0的值。23一月202441帶符號(hào)數(shù)的陣列乘法器電路:在無(wú)符號(hào)數(shù)的陣列乘法器的基礎(chǔ)上完成;使用3個(gè)求補(bǔ)器,分別用對(duì)應(yīng)的符號(hào)位控制;2個(gè)算前求補(bǔ)器:將乘數(shù)真值的絕對(duì)值送入運(yùn)算器;1個(gè)算后求補(bǔ)器:將負(fù)的乘積的真值求出補(bǔ)碼表示;稱(chēng)為間接補(bǔ)碼乘法電路。3.帶符號(hào)的陣列乘法器(間接補(bǔ)碼乘法器)23一月202442對(duì)2求補(bǔ)電路的原理設(shè)有兩個(gè)n+1位帶符號(hào)補(bǔ)碼:
A=an…a1a0
;
B=bn…b1b0采用不帶符號(hào)的乘法電路計(jì)算A*B符號(hào)位不參與運(yùn)算,只用于確定結(jié)果的符號(hào);數(shù)據(jù)位要取絕對(duì)值參與運(yùn)算:
正數(shù)——不變;負(fù)數(shù)——各位取反,末位加1對(duì)2求補(bǔ)電路:數(shù)據(jù)舉例:[-2]補(bǔ)=1110 [-3]補(bǔ)=1101[-6]補(bǔ)=1010
[+2]補(bǔ)=0010
[+3]補(bǔ)=0011[+6]補(bǔ)=0110兩相反數(shù)的補(bǔ)碼特征:
自右向左,第一個(gè)“1”的右側(cè)所有數(shù)據(jù)位,均相同;
左側(cè)所有數(shù)據(jù)位,均相反。23一月202443對(duì)2求補(bǔ)器電路邏輯采用按位掃描技術(shù)來(lái)執(zhí)行求補(bǔ)操作;E為控制信號(hào)線,可由數(shù)據(jù)a的符號(hào)位來(lái)控制;0110000001101100100001110111a4始終為023一月202444間接補(bǔ)碼乘法電路補(bǔ)碼數(shù)值補(bǔ)碼數(shù)值符號(hào)位:作為求補(bǔ)控制符號(hào)位:作為求補(bǔ)控制結(jié)果符號(hào)位:同時(shí)控制結(jié)果的求補(bǔ)23一月202445設(shè)最高位為符號(hào)位,輸入數(shù)據(jù)用5位補(bǔ)碼表示:
[x]補(bǔ)=01111 [y]補(bǔ)=10011符號(hào)位單獨(dú)運(yùn)算:xf⊕yf
=0⊕1=1算前求補(bǔ)器輸出:|x|=1111,|y|=1101乘法陣列輸出:
|x|×|y|=11000011乘積符號(hào)位為1,則算后求補(bǔ)器輸出為00111101所以,[x×y]補(bǔ)=100111101,x×y=(-195)10十進(jìn)制數(shù)驗(yàn)證:15×(-13)=(-195)10課本P36[例20]
設(shè)x=+15,y=-13,用帶求補(bǔ)器的補(bǔ)碼陣列乘法器求出乘積x·y=?23一月202446設(shè)最高位為符號(hào)位,輸入數(shù)據(jù)用5位補(bǔ)碼表示:
[x]補(bǔ)=10001 [y]補(bǔ)=10011符號(hào)位單獨(dú)運(yùn)算:xf⊕yf
=1⊕1=0算前求補(bǔ)器輸出:|x|=1111,|y|=1101乘法陣列輸出:
|x|×|y|=11000011乘積符號(hào)位為0,則算后求補(bǔ)器輸出為11000011所以,[x×y]補(bǔ)=011000011,x×y=(+195)10十進(jìn)制數(shù)驗(yàn)證:(-15)×(-13)=(+195)10課本P36[例21]
設(shè)x=-15,y=-13,用帶求補(bǔ)器的補(bǔ)碼陣列乘法器求出乘積x×y=?23一月2024472.4定點(diǎn)除法運(yùn)算2.4.1原碼除法算法原理
(串行除法)2.4.2并行除法器2.4.1原碼定點(diǎn)除法運(yùn)算例.0.10110÷0.111110.10110
11010.01
111110.111110001
11111
1010101
11111
101100.00000.0.商:0.10110余數(shù):0.10110×2
5實(shí)現(xiàn)除法的關(guān)鍵:比較余數(shù)、除數(shù)絕對(duì)值大小,以決定上商。23一月202449除法的數(shù)據(jù)約定設(shè)n位被除數(shù)和除數(shù)用定點(diǎn)小數(shù)表示被除數(shù)[x]原=xf.xn-1…x1x0除數(shù)[y]原=yf.yn-1…y1y0
則商[Q]原=(xf⊕yf)+(0.xn-1…x1x0)/(0.yn-1…y1y0)
式中,xf為被除數(shù)符號(hào),yf為除數(shù)符號(hào)。
約定小數(shù)定點(diǎn)除法|x|<|y|,整數(shù)定點(diǎn)除法|x|>|y|避免商溢出被除數(shù)不等于0,除數(shù)不能為0兩種除法:恢復(fù)除數(shù)法;不恢復(fù)除數(shù)法(加減交替法)0.10110
11010.01
11111
0.1111100
11111
+11111
110100
11111
101011原碼恢復(fù)余數(shù)法23一月202451余數(shù)Ri>0上商“1”,2Ri
–|y|余數(shù)Ri<0上商“0”,
Ri
+|y|恢復(fù)余數(shù)2(Ri+|y|)–|y|=2Ri
+|y|加減交替恢復(fù)余數(shù)法運(yùn)算規(guī)則不恢復(fù)余數(shù)法運(yùn)算規(guī)則2Ri
+|y|余數(shù)Ri>0上商“1”,2Ri
–|y|余數(shù)Ri<0上商“0”,
23一月2024522.4.2并行除法器并行除法器也稱(chēng)陣列除法器;并行除法器的類(lèi)型恢復(fù)余數(shù)陣列除法器不恢復(fù)余數(shù)陣列除法器(采用加減交替法原理)基本元件:可控加法/減法(CAS)單元補(bǔ)碼陣列除法器23一月202453可控加法/減法(CAS)單元用于加減交替法的除法器中;由控制端P選擇運(yùn)算類(lèi)型:P=0,作加法運(yùn)算P=1,作減法運(yùn)算核心:全加器四個(gè)輸入被加/減數(shù)Ai、加/減數(shù)Bi、低位進(jìn)/借位Ci
、控制端P四個(gè)輸出加/減數(shù)Bi、當(dāng)位和/差Si、向高位的進(jìn)/借位Ci+1、控制端P23一月202454不恢復(fù)余數(shù)的陣列除法器被除數(shù)x=0.x6x5x4x3x2x1頂部一行和最右邊對(duì)角線上的垂直輸入線;除數(shù)y=0.y3y2y1沿對(duì)角線方向輸入;逐行右移;商q=0.q3q2q1每次的加/減運(yùn)算中產(chǎn)生;余數(shù)r=0.00r6r5r4r3由最后一行產(chǎn)生;如果夠減,有進(jìn)位,商為1,下行做減法。如果不夠減,無(wú)進(jìn)位,商為0,下行做加法。其它行工作同上,得出商和余數(shù)。通過(guò)以下有模運(yùn)算進(jìn)位圖理解商與進(jìn)位的關(guān)系: 夠減,有進(jìn)位,商為1;不夠減,無(wú)進(jìn)位,商為0。23一月2024572.5定點(diǎn)運(yùn)算器的組成2.5.1邏輯運(yùn)算2.5.2多功能算術(shù)邏輯運(yùn)算單元2.5.3內(nèi)部總線2.5.4定點(diǎn)運(yùn)算器的基本結(jié)構(gòu)23一月2024582.5.1邏輯運(yùn)算四種基本的邏輯運(yùn)算:邏輯與邏輯或1010邏輯非1101邏輯異或邏輯數(shù):無(wú)符號(hào)數(shù)。邏輯運(yùn)算:按位進(jìn)行運(yùn)算。 計(jì)算機(jī)中最基本的算術(shù)運(yùn)算是加法運(yùn)算,不論加、減、乘、除運(yùn)算最終都可以歸結(jié)為加法運(yùn)算。所以首先討論最基本、最核心的運(yùn)算部件——加法器,以及并行加法器的進(jìn)位問(wèn)題。 加法器是由全加器和其它必要的邏輯電路組成的,所以從全加器開(kāi)始討論。2.5.2多功能算術(shù)邏輯運(yùn)算單元1、全加器(FA)全加器(FA)是最基本的運(yùn)算單元,由它構(gòu)成加法器。全加器有三個(gè)輸入量:操作數(shù)Ai、Bi、以及低位傳來(lái)的進(jìn)位信號(hào)Ci-1
。全加器有兩個(gè)輸出量:本位和Si、以及向高位的進(jìn)位信號(hào)Ci。
AiBiCi-1SiCi0000000110010100110110010101011100111111
全加器真值表全加器的邏輯方程和電路根據(jù)真值表得:
Si=Ai⊕Bi⊕Ci-1
Ci=AiBi+(Ai⊕Bi)Ci-1Si:本位和
Ci
:向高位的進(jìn)位實(shí)現(xiàn)電路邏輯框圖一個(gè)全加器只完成一位加法全加器構(gòu)成加法器全加器并不存儲(chǔ)信息,可用門(mén)電路來(lái)實(shí)現(xiàn)。用全加器能夠方便地構(gòu)成加法器。加法器分為串行加法器和并行加法器。串行加法器只有一個(gè)全加器,數(shù)據(jù)逐位串行送入加法器進(jìn)行計(jì)算。由于運(yùn)算速度慢,一般不用。并行加法器則由若干個(gè)全加器構(gòu)成,并行加法器的位數(shù)與操作數(shù)的位數(shù)相等。并行加法器的最長(zhǎng)運(yùn)算時(shí)間主要取決于進(jìn)位信號(hào)的傳遞時(shí)間。例如:11…11和00…01相加,最低位產(chǎn)生的進(jìn)位將逐位影響到最高位.由此可見(jiàn),提高并行加法器速度的關(guān)鍵是盡量加快進(jìn)位產(chǎn)生和傳遞的速度。2、進(jìn)位產(chǎn)生與傳遞進(jìn)位鏈的概念: 并行加法器中的每一個(gè)全加器都有一個(gè)從低位送來(lái)的進(jìn)位輸入和一個(gè)傳送給高位的進(jìn)位輸出。把構(gòu)成進(jìn)位信號(hào)產(chǎn)生和傳遞的邏輯網(wǎng)絡(luò)稱(chēng)為進(jìn)位鏈。進(jìn)位鏈上每一位的進(jìn)位表達(dá)式為:
Ci=AiBi+(Ai⊕Bi)Ci-1
設(shè)
Gi=AiBi
,稱(chēng)為進(jìn)位產(chǎn)生函數(shù)(Generate)
Pi=Ai⊕Bi
,稱(chēng)為進(jìn)位傳遞函數(shù)(Propagate)∴進(jìn)位表達(dá)式Ci=Gi+PiCi-1串行進(jìn)位把n個(gè)全加器串聯(lián)起來(lái),就可以實(shí)現(xiàn)兩個(gè)n位數(shù)的相加。這種加法器稱(chēng)為串行進(jìn)位的并行加法器,串行進(jìn)位又叫行波進(jìn)位。
其中:C1=G1+P1C0C2=G2+P2C1
┇
Cn=Gn+PnCn-1串行進(jìn)位的并行加法器,總的延遲時(shí)間正比于字長(zhǎng),字長(zhǎng)越長(zhǎng),總延遲時(shí)間也越長(zhǎng)。若一位進(jìn)位需2ty時(shí)間,完成n位進(jìn)位就需要2nty.要提高加法運(yùn)算速度,必須改進(jìn)進(jìn)位方式。
3、并行加法器的快速進(jìn)位改進(jìn)串行進(jìn)位方式的基本思路是讓各進(jìn)位同時(shí)形成,避免各進(jìn)位之間的依賴(lài)關(guān)系。現(xiàn)在來(lái)分析一下進(jìn)位關(guān)系。 展開(kāi)C1=G1+P1C0
;C2=G2+P2C1;…,Cn=Gn+PnCn-1
得關(guān)系式:
C1=G1+P1C0 C2=G2+P2C1=G2+P2G1+P2P1C0 C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0
C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1
+P4P3P2P1C0
┇
以上進(jìn)位輸出只與Gi、Pi以及最低進(jìn)位C0有關(guān),而且不依賴(lài)于其低位進(jìn)位Ci-1的輸入,因此各級(jí)進(jìn)位可以同時(shí)產(chǎn)生,形成并行進(jìn)位。代入法并行進(jìn)位的特點(diǎn)并行進(jìn)位的特點(diǎn)是各級(jí)進(jìn)位信號(hào)同時(shí)形成,與字長(zhǎng)無(wú)關(guān),提高了整體運(yùn)算速度
。并行進(jìn)位又叫先行進(jìn)位。最長(zhǎng)延遲時(shí)間僅為2ty(一級(jí)門(mén)的延遲時(shí)間為ty)。隨著加法器位數(shù)的增加,Ci的邏輯表達(dá)式會(huì)變得越來(lái)越長(zhǎng),輸入變量會(huì)越來(lái)越多,電路結(jié)構(gòu)也會(huì)變得越來(lái)越復(fù)雜,導(dǎo)致電路實(shí)現(xiàn)也越來(lái)越困難。并行進(jìn)位方式需繼續(xù)改進(jìn),才能有實(shí)用價(jià)值。以16位加法器為例,將其分為4組,每組4位。在組內(nèi),按照并行進(jìn)位函數(shù)直接產(chǎn)生C1~C4,這些進(jìn)位可同時(shí)得到。實(shí)現(xiàn)這種進(jìn)位邏輯的電路稱(chēng)為4位先行進(jìn)位電路(CLA:Look-AheadCarry)。利用這種4位一組的CLA電路和4位全加器可以構(gòu)成4位CLA加法器。74181芯片將組內(nèi)并行進(jìn)位鏈與4位全加器集成在一塊芯片中。在組間,每個(gè)組的進(jìn)位輸入是前一個(gè)組的進(jìn)位輸出,而每個(gè)組的進(jìn)位輸出是下一個(gè)組的進(jìn)位輸入.構(gòu)成16位加法器很容易實(shí)現(xiàn)
分組進(jìn)位,組內(nèi)采用并行(先行)進(jìn)位結(jié)構(gòu)單級(jí)先行進(jìn)位(組內(nèi)并行,組間串行)上述組內(nèi)并行、組間串行的進(jìn)位方式也稱(chēng)為單級(jí)先行進(jìn)位方式,原理如下圖所示。單級(jí)先行進(jìn)位組內(nèi)并行、組間串行進(jìn)位的時(shí)間圖(16位)如下:完成進(jìn)位時(shí)間8ty.進(jìn)位時(shí)間與組數(shù)成正比,組數(shù)越多,進(jìn)位時(shí)間越長(zhǎng)。多級(jí)先行進(jìn)位(組內(nèi)并行,組間并行)為說(shuō)明問(wèn)題,仍以16位加法器為例,仍然4位一組,分成4個(gè)小組,先就第一小組的進(jìn)位輸出函數(shù)C4做一下分析:
C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0G1*
P1* =G1*+P1*C0G1*稱(chēng)為組進(jìn)位產(chǎn)生函數(shù),P1*稱(chēng)為組進(jìn)位傳遞函數(shù);這兩個(gè)函數(shù)類(lèi)似于進(jìn)位產(chǎn)生函數(shù)G和進(jìn)位傳遞函數(shù)P.多級(jí)先行進(jìn)位(續(xù)一)四個(gè)組內(nèi)的最高進(jìn)位C16、C12、C8、C4可以分別表示為:C4=G1*+P1*C0C8=G2*+P2*C4每一組輸出的最高進(jìn)位為下一組的進(jìn)位輸入C12=G3*+P3*C8C16=G4*+P4*C12
現(xiàn)在逐項(xiàng)代入、并展開(kāi)得關(guān)系式:
C4=G1*+P1*
C0 C8=G2*+P2*C4=G2*+P2*G1*
+P2*P1*C0 C12=G3*+P3*G2*+P3*P2*G1*
+P3*P2*P1*C0 C16=G4*+P4*G3*+P4*P3*G2*+P4*P3*P2*G1*+P4*P3*P2*P1*C0
可以看出,這4組進(jìn)位結(jié)構(gòu)與前述4位先行進(jìn)位邏輯完全相同,組間進(jìn)位信號(hào)只與最低進(jìn)位C0有關(guān),所以能同時(shí)產(chǎn)生。如:組間并行進(jìn)位鏈芯片74182多級(jí)先行進(jìn)位問(wèn)題是這4個(gè)組間進(jìn)位信號(hào)如何用硬件來(lái)產(chǎn)生呢?對(duì)于多級(jí)先行進(jìn)位的實(shí)現(xiàn)可以按如下思路來(lái)理解:先把單級(jí)先行進(jìn)位加法器的串行進(jìn)位鏈斷開(kāi);增加一級(jí)先行進(jìn)位鏈,這個(gè)新增加的先行進(jìn)位鏈的進(jìn)位稱(chēng)為二級(jí)進(jìn)位;組間進(jìn)位信號(hào)C4、C8、C12、C16由二級(jí)進(jìn)位鏈來(lái)產(chǎn)生,其邏輯關(guān)系式已經(jīng)得到;讓一級(jí)進(jìn)位鏈多產(chǎn)生兩個(gè)輔助函數(shù)Gi*和Pi*,并且作為二級(jí)進(jìn)位鏈的輸入。多級(jí)先行進(jìn)位組內(nèi)進(jìn)位信號(hào)能同時(shí)產(chǎn)生、組間進(jìn)位信號(hào)也能同時(shí)產(chǎn)生,由此可以構(gòu)成多級(jí)并行進(jìn)位邏輯。16位2級(jí)先行進(jìn)位加法器如下圖所示。多級(jí)先行進(jìn)位(續(xù)四)16位2級(jí)先行進(jìn)位時(shí)間圖
進(jìn)位產(chǎn)生次序如下:產(chǎn)生第一小組的C1~C3、所有組進(jìn)位產(chǎn)生函數(shù)Gi*和組進(jìn)位傳遞函數(shù)Pi*,時(shí)間為2ty.由CLA電路產(chǎn)生第二、三、四小組的組間進(jìn)位信號(hào)C4、C8、C12、C16,時(shí)間為2ty.產(chǎn)生第二、三、四小組的組內(nèi)進(jìn)位信號(hào)C5、C6、C7、C9、C10、C11、C13、C14、C15,時(shí)間為2ty.4、多功能算術(shù)邏輯部件ALU前面介紹了加法器的算術(shù)運(yùn)算功能,為了完成多種算術(shù)邏輯運(yùn)算,需要將加法器的功能進(jìn)行擴(kuò)展,擴(kuò)展的基本思想如下: 參加運(yùn)算的兩個(gè)數(shù)Ai、Bi和低位進(jìn)位Ci-1先不進(jìn)行全加,先把兩個(gè)輸入Ai、Bi和四個(gè)控制參數(shù)S0、S1、S2、S3進(jìn)行組合,形成函數(shù)Xi和Yi,然后再將Xi、Yi和低位進(jìn)位Ci-1通過(guò)全加器進(jìn)行全加。這樣一來(lái),控制參數(shù)不同,得到的組合函數(shù)也不同,從而實(shí)現(xiàn)多種算術(shù)和邏輯運(yùn)算。
算術(shù)邏輯部件ALU算術(shù)邏輯部件ALU大體上有三部分組成:全加器進(jìn)位鏈輸入選擇器下面以ALU的一位邏輯為例,原理性地說(shuō)明算術(shù)、邏輯功能是如何實(shí)現(xiàn)的。算術(shù)邏輯部件ALU(續(xù)一)一位加法器由全加器和進(jìn)位門(mén)構(gòu)成,其中,兩個(gè)半加器構(gòu)成全加器、與或非門(mén)構(gòu)成一位進(jìn)位門(mén)。一位輸入選擇器,由兩個(gè)與或非門(mén)構(gòu)成,可輸入2個(gè)本位操作數(shù)或非、4個(gè)控制信號(hào)(S3~S0)一個(gè)控制門(mén)M,選擇算邏運(yùn)算。當(dāng)M=0時(shí),開(kāi)門(mén)接收低位來(lái)的進(jìn)位信號(hào),執(zhí)行算術(shù)運(yùn)算;當(dāng)M=1時(shí),關(guān)門(mén)不接收低位進(jìn)位信號(hào),執(zhí)行邏輯運(yùn)算,與進(jìn)位無(wú)關(guān)。算術(shù)邏輯部件ALU(續(xù)二)控制信號(hào)與選擇器輸出關(guān)系表:S3S2XiS1S0Yi00100Ai01Ai+Bi01AiBi10Ai+Bi10AiBi11Ai110
進(jìn)位傳遞函數(shù)進(jìn)位產(chǎn)生函數(shù) 通過(guò)不同的輸入選擇,實(shí)現(xiàn)不同的功能,這進(jìn)一步說(shuō)明:數(shù)據(jù)是在傳送過(guò)程實(shí)現(xiàn)運(yùn)算、并得到處理的。多位ALU的實(shí)現(xiàn)思路完全一樣。
74181:4位算術(shù)邏輯運(yùn)算單元結(jié)構(gòu):4位全加器
4位并行進(jìn)位鏈
4位選擇器
1個(gè)控制門(mén)原始進(jìn)位Cn
進(jìn)位輸出
Cn+4G、P
構(gòu)成組間串行進(jìn)位
構(gòu)成組間并行進(jìn)位74182:先行進(jìn)位部件邏輯電路圖
進(jìn)位邏輯(1)組間串行168C12168C8168C4168C0C16Cn+4Cn(2)組間并行
1715874181
1715874181
1715874181
1715874181C074182并行進(jìn)位鏈PGGⅣPⅣGⅢPⅢGⅡPⅡGI
PI
C3~1
CⅢ
CⅡCI
CⅣ
C15~13C11~9C7~5
23一月2024842.5.3內(nèi)部總線根據(jù)總線所在位置分內(nèi)部總線:
指CPU內(nèi)各部件的連線。外部總線:
指系統(tǒng)總線,即CPU與存儲(chǔ)器、I/O系統(tǒng)之間的連線。按總線的邏輯結(jié)構(gòu)分單向總線:
信息只能向一個(gè)方向傳送。雙向總線:
信息可以分兩個(gè)方向傳送,既可以發(fā)送數(shù)據(jù),也可以接收數(shù)據(jù)。23一月202485DE觸發(fā)器:E輸入端用以控制D的輸入任何時(shí)候二者不能同時(shí)為1任何時(shí)候二者不能同時(shí)為123一月2024862.5.4定點(diǎn)運(yùn)算器的基本結(jié)構(gòu)單總線結(jié)構(gòu)的運(yùn)算器雙總線結(jié)構(gòu)的運(yùn)算器三總線結(jié)構(gòu)的運(yùn)算器CPU內(nèi)部所有部件都接到同一總線上。數(shù)據(jù)可以在任何兩個(gè)寄存器之間,或任一個(gè)寄存器和ALU之間傳送。如果有陣列乘法器或除法器,它們所處的位置與ALU相當(dāng)。同一時(shí)刻,只能有一個(gè)操作數(shù)放在總線上,不能同時(shí)傳送兩個(gè)數(shù)據(jù)。結(jié)構(gòu)特點(diǎn):操作速度較慢,控制電路比較簡(jiǎn)單。
單總線結(jié)構(gòu)的運(yùn)算器這種結(jié)構(gòu)有兩條總線:總線1、總線2。兩個(gè)操作數(shù)可以同時(shí)送到ALU中進(jìn)行運(yùn)算,只需一次操作控制,而把運(yùn)算結(jié)果送到緩沖器,緩沖器的數(shù)據(jù)可以送到任意一條總線上,兩條總線的數(shù)據(jù)通過(guò)通用寄存器組來(lái)存儲(chǔ)。優(yōu)點(diǎn):速度比單總線結(jié)構(gòu)快。雙總線結(jié)構(gòu)的運(yùn)算器有三條總線:
兩端接ALU的輸入:輸入總線1,輸入總線2
一端接ALU的輸出:輸出總線3這樣一步就可以控制兩個(gè)數(shù)的運(yùn)算,速度可以大大提高,通過(guò)通用寄存器把總線3的數(shù)據(jù)送到總線1與總線2。雙總線結(jié)構(gòu)的運(yùn)算器23一月2024902.6浮點(diǎn)運(yùn)算方法和浮點(diǎn)運(yùn)算器2.6.1浮點(diǎn)加法、減法運(yùn)算2.6.2浮點(diǎn)乘法、除法運(yùn)算2.6.3浮點(diǎn)運(yùn)算流水線2.6.4浮點(diǎn)運(yùn)算器實(shí)例23一月202491設(shè)有兩個(gè)浮點(diǎn)數(shù)X=Mx×2Ex和Y=My×2Ey
,且Ex>Ey若要求X±Y的結(jié)果S,則S=X±Y=MS×2ES
其中,ES=Ex,MS=Mx±(My
SHR(Ex-Ey))浮點(diǎn)數(shù)加減運(yùn)算的步驟零操作數(shù)檢查兩操作數(shù)對(duì)階尾數(shù)相加減結(jié)果的規(guī)格化結(jié)果的舍入處理結(jié)果的溢出判斷2.6.1浮點(diǎn)數(shù)加減運(yùn)算一個(gè)操作數(shù)為0,則不必運(yùn)算,節(jié)省運(yùn)算時(shí)間使小數(shù)點(diǎn)位置對(duì)齊,為加減運(yùn)算做準(zhǔn)備以雙符號(hào)位的補(bǔ)碼形式進(jìn)行加減法操作23一月202492浮點(diǎn)數(shù)加減運(yùn)算——兩操作數(shù)對(duì)階對(duì)階的原則以較大的階碼為標(biāo)準(zhǔn),調(diào)整階碼較小的數(shù)據(jù);避免階碼較大的浮點(diǎn)數(shù)的尾數(shù)左移,導(dǎo)致最高有效數(shù)位丟失;具體操作求階差△E=EX-EY調(diào)整階碼較小的數(shù)據(jù)若△E>0,則MY右移△E位,結(jié)果的階碼為EX若△E<0,則MX右移|△E|位,結(jié)果的階碼為EY例,X——EX=0001,MX=0.101;Y——EY=0011,尾數(shù)MY=0.111階差△E=EX-EY=0001-0011=-10
X尾數(shù)MX右移2位,MX=0.00101<0增大階碼,尾數(shù)右移23一月202493浮點(diǎn)數(shù)加減運(yùn)算——結(jié)果的規(guī)格化處理兩尾數(shù)加減的結(jié)果有兩種情況(尾數(shù)用雙符號(hào)位的補(bǔ)碼表示)尾數(shù)溢出尾數(shù)右移1位,階碼加1尾數(shù)為非規(guī)格化數(shù)據(jù)尾數(shù)左移1位,階碼減1,直至數(shù)值位最高位與符號(hào)位相反。同上例,對(duì)階后E=EY=0011,尾數(shù)MX=0.001(01),MY=0.111尾數(shù)求和
MS=MX+MY=00.00101+00.111=01.00001兩符號(hào)位相反,應(yīng)進(jìn)行右規(guī)1位的操作則MS=00.100(001),ES=011+1=0100兩符號(hào)位為01或10右規(guī)左規(guī)補(bǔ)碼表示的符號(hào)位與最高數(shù)值位相同雙符號(hào)位補(bǔ)碼表示結(jié)果規(guī)格化
1/2≤
|尾數(shù)|<1正數(shù)00.1*******(規(guī)格化)負(fù)數(shù)11.0*******(規(guī)格化)不規(guī)格化形式11.10******(3)10.********(4)00.01******(1)01.********(2)不規(guī)格化形式右規(guī)時(shí)最高位補(bǔ)符號(hào)位23一月202495浮點(diǎn)數(shù)加減運(yùn)算——結(jié)果的舍入處理在對(duì)階或右規(guī)操作時(shí),會(huì)使加數(shù)或結(jié)果的尾數(shù)低若干位移出,影響精度,常用兩種舍入處理方法方法1:0舍1入法保留右移時(shí)的移出位,若最高位為1,則尾數(shù)加1;否則舍去;特點(diǎn):精度較高,但需要記錄所有的移出位。方法2:恒置1法若之前步驟有右移操作,則直接將結(jié)果的最低位置1;特點(diǎn):精度較0舍1入法較低,但應(yīng)用簡(jiǎn)單。同上例,結(jié)果的尾數(shù)MS=00.100001
0舍1入法:MS=00.100恒置1法:MS=00.10123一月202496浮點(diǎn)數(shù)加減運(yùn)算——結(jié)果的溢出判斷尾數(shù)溢出在規(guī)格化處理時(shí),通過(guò)完成右規(guī)完成;階碼溢出上溢(結(jié)果絕對(duì)值太大)——置上溢標(biāo)志,結(jié)束;下溢(結(jié)果絕對(duì)值太小)——置機(jī)器零;正?!\(yùn)算結(jié)束;同上例,運(yùn)算結(jié)果的階碼ES=011+1=0100未溢出!23一月202497設(shè)浮點(diǎn)數(shù)的階碼用雙符號(hào)位,尾數(shù)用單符號(hào)位的補(bǔ)碼表示;[X]?。?0010,0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年合同法全文
- 2025關(guān)于員工的合同模板
- 2025綜合技術(shù)維護(hù)服務(wù)合同
- 2025年智能家居服務(wù)合同模板
- 2025船舶抵押借款合同范本
- 2025家居用品采購(gòu)合同范本
- 2025企業(yè)解除勞動(dòng)合同協(xié)議樣本
- 2025【合同范本】LED顯示屏安裝合同示例
- 2025西安房屋租賃合同范本模板
- 2025短期用工合同協(xié)議書(shū)杰出示例
- 08真空熱處理爐
- 有英語(yǔ)高手把高中英語(yǔ)3500個(gè)單詞巧妙地編成四十篇短文
- 砂石篩校驗(yàn)方法
- 點(diǎn)亮小燈泡說(shuō)課稿(課堂PPT)
- 服務(wù)外包合同
- 立管改造施工方案
- 管道閉水試驗(yàn)記錄表(自動(dòng)計(jì)算)
- 硅酸鹽水泥熟料的煅燒及冷卻
- FZ15—100型(C2型)翻車(chē)機(jī)壓車(chē)梁故障分析
- 肺栓塞應(yīng)急預(yù)案
- 畢節(jié)市財(cái)政局國(guó)庫(kù)科工作運(yùn)行規(guī)程
評(píng)論
0/150
提交評(píng)論