版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1補(bǔ)碼一位除法補(bǔ)碼一位除法1 1補(bǔ)碼不恢復(fù)余數(shù)法的原理補(bǔ)碼不恢復(fù)余數(shù)法的原理 補(bǔ)碼一位除法為避免溢出,同樣也補(bǔ)碼一位除法為避免溢出,同樣也要求被除數(shù)的絕對(duì)值一定要小于除數(shù)的要求被除數(shù)的絕對(duì)值一定要小于除數(shù)的絕對(duì)值。絕對(duì)值。 被除數(shù)、除數(shù)、商、余數(shù)均為補(bǔ)碼,被除數(shù)、除數(shù)、商、余數(shù)均為補(bǔ)碼,符號(hào)位與數(shù)值位一起參加運(yùn)算,商的符符號(hào)位與數(shù)值位一起參加運(yùn)算,商的符號(hào)與數(shù)值位可由統(tǒng)一的算法求得號(hào)與數(shù)值位可由統(tǒng)一的算法求得。2補(bǔ)碼一位除法補(bǔ)碼一位除法1)1)比較:比較:商上商上0 0或或1 1是由被除數(shù)、除數(shù)的絕對(duì)值比較大小決定的。是由被除數(shù)、除數(shù)的絕對(duì)值比較大小決定的。被除被除( (余余) )數(shù)與除數(shù)同號(hào)
2、數(shù)與除數(shù)同號(hào)相減比較大小相減比較大小商為正商為正被除被除( (余余) )數(shù)與除數(shù)異號(hào)數(shù)與除數(shù)異號(hào)相加比較大小相加比較大小商為負(fù)商為負(fù)新余數(shù)與除數(shù)同號(hào) 夠減新余數(shù)與除數(shù)異號(hào) 不夠減新余數(shù)與除數(shù)異號(hào) 夠減新余數(shù)與除數(shù)同號(hào) 不夠減(-3)/(-2)(-3)/(-6)(-3)/2(-3)/63補(bǔ)碼一位除法補(bǔ)碼一位除法補(bǔ)碼不恢復(fù)余數(shù)法的運(yùn)算規(guī)則補(bǔ)碼不恢復(fù)余數(shù)法的運(yùn)算規(guī)則 (1) (1)符號(hào)位參與運(yùn)算,被除數(shù)與除數(shù)均用雙符號(hào)位補(bǔ)碼表示;符號(hào)位參與運(yùn)算,被除數(shù)與除數(shù)均用雙符號(hào)位補(bǔ)碼表示; (2) (2)被除數(shù)與除數(shù)同號(hào),被除數(shù)減去除數(shù)。被除數(shù)與除數(shù)異號(hào),被除數(shù)與除數(shù)同號(hào),被除數(shù)減去除數(shù)。被除數(shù)與除數(shù)異號(hào),被
3、除數(shù)加上除數(shù)。被除數(shù)加上除數(shù)。商商的的符號(hào)取值見符號(hào)取值見(3)(3); (3) (3)余數(shù)與除數(shù)同號(hào),商上余數(shù)與除數(shù)同號(hào),商上1 1,余數(shù)左移一位減去除數(shù);余數(shù)與除,余數(shù)左移一位減去除數(shù);余數(shù)與除數(shù)異號(hào),商上數(shù)異號(hào),商上0 0,余數(shù)左移一位加上除數(shù),余數(shù)左移加,余數(shù)左移一位加上除數(shù),余數(shù)左移加/ /減除數(shù)后減除數(shù)后得到了新余數(shù);得到了新余數(shù); (4) (4)重復(fù)重復(fù)(3)(3),若采用,若采用末位末位“恒置恒置1”1”法,則包括符號(hào)位在內(nèi)共重法,則包括符號(hào)位在內(nèi)共重復(fù)復(fù)(3)(3)n n次;若采用校正法包括符號(hào)位在內(nèi),則應(yīng)重復(fù)次;若采用校正法包括符號(hào)位在內(nèi),則應(yīng)重復(fù)(3)(3)n+1n+1次
4、,次,第第( (n+1)n+1)次不左移,然后決定是否校正。次不左移,然后決定是否校正。 算法流程如圖算法流程如圖3-93-9所示。圖中所示。圖中x x補(bǔ)補(bǔ)為被除數(shù),為被除數(shù),y y補(bǔ)補(bǔ)為除數(shù)。為除數(shù)。r r表示余數(shù),表示余數(shù),q qn n為商的末位。為商的末位。4補(bǔ)碼一位除法補(bǔ)碼一位除法2)2)上商:上商:被除數(shù)與除數(shù)同號(hào)被除數(shù)與除數(shù)同號(hào)相減比較大小相減比較大小商為正商為正被除數(shù)與除數(shù)異號(hào)被除數(shù)與除數(shù)異號(hào)相加比較大小相加比較大小商為負(fù)商為負(fù)新余數(shù)與除數(shù)同號(hào) 夠減新余數(shù)與除數(shù)異號(hào) 不夠減新余數(shù)與除數(shù)異號(hào) 夠減新余數(shù)與除數(shù)同號(hào) 不夠減商上1商也是補(bǔ)碼,所以負(fù)商時(shí)除最后一位外,商的各數(shù)值位與真值相
5、反。5補(bǔ)碼一位除法補(bǔ)碼一位除法2)2)新余數(shù):新余數(shù):被除數(shù)與除數(shù)同號(hào)被除數(shù)與除數(shù)同號(hào)相減相減比較大小比較大小商為正商為正被除數(shù)與除數(shù)異號(hào)被除數(shù)與除數(shù)異號(hào)相加相加比較大小比較大小商為負(fù)商為負(fù)新余數(shù)與除數(shù)同號(hào) 夠減新余數(shù)與除數(shù)異號(hào) 不夠減新余數(shù)與除數(shù)異號(hào) 夠減新余數(shù)與除數(shù)同號(hào) 不夠減商上1是真余數(shù),所以,下一步:左移一位,再減除數(shù)是假余數(shù),所以,下一步:左移一位,再減除數(shù)(上一步是做的加法)6補(bǔ)碼一位除法補(bǔ)碼一位除法2)2)上商:上商:被除數(shù)與除數(shù)同號(hào)被除數(shù)與除數(shù)同號(hào)相減比較大小相減比較大小商為正商為正被除數(shù)與除數(shù)異號(hào)被除數(shù)與除數(shù)異號(hào)相加比較大小相加比較大小商為負(fù)商為負(fù)新余數(shù)與除數(shù)同號(hào) 夠減新余
6、數(shù)與除數(shù)異號(hào) 不夠減新余數(shù)與除數(shù)異號(hào) 夠減新余數(shù)與除數(shù)同號(hào) 不夠減商上0商也是補(bǔ)碼,所以負(fù)商時(shí)除最后一位外,商的各數(shù)值位與真值相反。7補(bǔ)碼一位除法補(bǔ)碼一位除法2)2)新余數(shù):新余數(shù):被除數(shù)與除數(shù)同號(hào)被除數(shù)與除數(shù)同號(hào)相減相減比較大小比較大小商為正商為正被除數(shù)與除數(shù)異號(hào)被除數(shù)與除數(shù)異號(hào)相加相加比較大小比較大小商為負(fù)商為負(fù)新余數(shù)與除數(shù)同號(hào) 夠減新余數(shù)與除數(shù)異號(hào) 不夠減新余數(shù)與除數(shù)異號(hào) 夠減新余數(shù)與除數(shù)同號(hào) 不夠減商上0是真余數(shù),所以,下一步:左移一位,再加除數(shù)是假余數(shù),所以,下一步:左移一位,再加除數(shù)8補(bǔ)碼一位除法補(bǔ)碼一位除法補(bǔ)碼不恢復(fù)余數(shù)法的運(yùn)算規(guī)則補(bǔ)碼不恢復(fù)余數(shù)法的運(yùn)算規(guī)則 (1) (1)符號(hào)位
7、參與運(yùn)算,被除數(shù)與除數(shù)均用雙符號(hào)位補(bǔ)碼表示;符號(hào)位參與運(yùn)算,被除數(shù)與除數(shù)均用雙符號(hào)位補(bǔ)碼表示; (2) (2)被除數(shù)與除數(shù)同號(hào),被除數(shù)減去除數(shù)。被除數(shù)與除數(shù)異號(hào),被除數(shù)與除數(shù)同號(hào),被除數(shù)減去除數(shù)。被除數(shù)與除數(shù)異號(hào),被除數(shù)加上除數(shù)。商被除數(shù)加上除數(shù)。商的的符號(hào)取值見符號(hào)取值見(3)(3); (3) (3)余數(shù)與除數(shù)同號(hào),商上余數(shù)與除數(shù)同號(hào),商上1 1,余數(shù)左移一位減去除數(shù);余數(shù)與除,余數(shù)左移一位減去除數(shù);余數(shù)與除數(shù)異號(hào),商上數(shù)異號(hào),商上0 0,余數(shù)左移一位加上除數(shù),余數(shù)左移加,余數(shù)左移一位加上除數(shù),余數(shù)左移加/ /減除數(shù)后減除數(shù)后得到了新余數(shù);得到了新余數(shù); (4) (4)重復(fù)重復(fù)(3)(3),
8、若采用,若采用末位末位“恒置恒置1”1”法,則包括符號(hào)位在內(nèi)共重法,則包括符號(hào)位在內(nèi)共重復(fù)復(fù)(3)(3)n n次;若采用校正法包括符號(hào)位在內(nèi),則應(yīng)重復(fù)次;若采用校正法包括符號(hào)位在內(nèi),則應(yīng)重復(fù)(3)(3)n+1n+1次,次,第第( (n+1)n+1)次不左移,然后決定是否校正。次不左移,然后決定是否校正。 算法流程如圖算法流程如圖3-93-9所示。圖中所示。圖中x x補(bǔ)補(bǔ)為被除數(shù),為被除數(shù),y y補(bǔ)補(bǔ)為除數(shù)。為除數(shù)。r r表示余數(shù),表示余數(shù),q qn n為商的末位。為商的末位。9補(bǔ)碼一位除法補(bǔ)碼一位除法商的符號(hào)位為什么與數(shù)值位以同樣規(guī)律運(yùn)算?在不溢出時(shí)|x|y|,應(yīng)該是不夠減的。被除數(shù)與除數(shù)同號(hào)
9、相減比較大小商為正被除數(shù)與除數(shù)異號(hào)相加比較大小商為負(fù)新余數(shù)與除數(shù)同號(hào) 夠減新余數(shù)與除數(shù)異號(hào) 不夠減新余數(shù)與除數(shù)異號(hào) 夠減新余數(shù)與除數(shù)同號(hào) 不夠減商上0商上110補(bǔ)碼一位除法補(bǔ)碼一位除法3)余數(shù)的修正被除數(shù)與除數(shù)同號(hào)相減比較大小商為正被除數(shù)與除數(shù)異號(hào)相加比較大小商為負(fù)新余數(shù)與除數(shù)同號(hào) 夠減新余數(shù)與除數(shù)異號(hào) 不夠減新余數(shù)與除數(shù)異號(hào) 夠減新余數(shù)與除數(shù)同號(hào) 不夠減余數(shù)與被除數(shù)異號(hào),加上除數(shù)校正。余數(shù)與被除數(shù)異號(hào),減去除數(shù)校正。除不盡時(shí)余數(shù)在下述情況下要校正。(假余數(shù))11補(bǔ)碼一位除法補(bǔ)碼一位除法4)商的修正 上述推導(dǎo)實(shí)際上是按反碼規(guī)則推導(dǎo)的。可以證明: (1) 除盡時(shí),如果除數(shù)為正,商不必校正;若除數(shù)
10、為負(fù)則商需要校正,即加2-n; (2) 除不盡時(shí),如果商為正不必修正;如果商為負(fù),則商需要加2-n進(jìn)行修正。 這就是校正法。 恒置1法是少做一步除法,將最后一位置為1的簡(jiǎn)便算法。這種算法不必再修正商,但是一般來說是商的近似值。12補(bǔ)碼一位除法補(bǔ)碼一位除法補(bǔ)碼不恢復(fù)余數(shù)法的運(yùn)算規(guī)則補(bǔ)碼不恢復(fù)余數(shù)法的運(yùn)算規(guī)則 (1) (1)符號(hào)位參與運(yùn)算,被除數(shù)與除數(shù)均用雙符號(hào)位補(bǔ)碼表示;符號(hào)位參與運(yùn)算,被除數(shù)與除數(shù)均用雙符號(hào)位補(bǔ)碼表示; (2) (2)被除數(shù)與除數(shù)同號(hào),被除數(shù)減去除數(shù)。被除數(shù)與除數(shù)異號(hào),被除數(shù)與除數(shù)同號(hào),被除數(shù)減去除數(shù)。被除數(shù)與除數(shù)異號(hào),被除數(shù)加上除數(shù)。商被除數(shù)加上除數(shù)。商的的符號(hào)取值見符號(hào)取值
11、見(3)(3); (3) (3)余數(shù)與除數(shù)同號(hào),商上余數(shù)與除數(shù)同號(hào),商上1 1,余數(shù)左移一位減去除數(shù);余數(shù)與除,余數(shù)左移一位減去除數(shù);余數(shù)與除數(shù)異號(hào),商上數(shù)異號(hào),商上0 0,余數(shù)左移一位加上除數(shù),余數(shù)左移加,余數(shù)左移一位加上除數(shù),余數(shù)左移加/ /減除數(shù)后減除數(shù)后得到了新余數(shù);得到了新余數(shù); (4)(4)重復(fù)重復(fù)(3)(3),若采用,若采用末位末位“恒置恒置1”1”法,則包括符號(hào)位在內(nèi)共重法,則包括符號(hào)位在內(nèi)共重復(fù)復(fù)(3)(3)n n次;若采用校正法包括符號(hào)位在內(nèi),則應(yīng)重復(fù)次;若采用校正法包括符號(hào)位在內(nèi),則應(yīng)重復(fù)(3)(3)n+1n+1次,次,第第( (n+1)n+1)次不左移,然后決定是否校正
12、。次不左移,然后決定是否校正。 算法流程如圖算法流程如圖3-93-9所示。圖中所示。圖中x x補(bǔ)補(bǔ)為被除數(shù),為被除數(shù),y y補(bǔ)補(bǔ)為除數(shù)。為除數(shù)。r r表示余數(shù),表示余數(shù),q qn n為商的末位。為商的末位。啟 動(dòng) X R,y R, 0 補(bǔ)02i i補(bǔ) R+ R R(R R=020o f2 f由控制實(shí) 現(xiàn) )1N (異 號(hào) )1 qR,Rn01左 移 一 位0 qR, R左 移 一 位n01 R- R R( 由控 制 實(shí) 現(xiàn) )020o f2 fR R= 0R+R R( 由控制實(shí)現(xiàn))020of2fR R=1i=i+1i=n ?1 q qn商 和 余 數(shù) 校 正結(jié) 束NYNRRo f2 f = 0
13、 ? RR R(R R=00 20o f2 f 由控 制 實(shí) 現(xiàn) )R R= 0 ?o f2 fR R= 0 ?o f2 f0 q qnY (同 號(hào) )Y YN N圖 3 - 9 補(bǔ) 碼 不 恢 復(fù) 余 數(shù) 法 算 法 流 程 圖例例3.173.17x x補(bǔ)補(bǔ)=0.1001=0.1001,y y補(bǔ)補(bǔ)=0.1011=0.1011,用不恢復(fù)余,用不恢復(fù)余數(shù)法求數(shù)法求 x/yx/y補(bǔ)補(bǔ)=?=?解:解: xx補(bǔ)補(bǔ)=00.1001=00.1001 yy補(bǔ)補(bǔ)=00.1011=00.1011 - -y y補(bǔ)補(bǔ)=11.0101=11.0101 被除數(shù)被除數(shù)/ /余數(shù)余數(shù) 商商 上商位上商位 說明說明 00.1
14、001 0.000 0 00.1001 0.000 0 +- +-yy補(bǔ)補(bǔ) 11.0101 11.0101 同號(hào),減除數(shù)比較同號(hào),減除數(shù)比較 11.1110 0.000 11.1110 0.000 0 0 余數(shù)余數(shù)r r0 0與除數(shù)異號(hào),商上與除數(shù)異號(hào),商上0 0 11.1100 0.00 11.1100 0.000 0左移一位左移一位 + +yy補(bǔ)補(bǔ) 00.1011 00.1011 加除數(shù)比較加除數(shù)比較 00.0111 00.0111 0.00 0.000 0 1 1 r r1 1與除數(shù)同號(hào),商上與除數(shù)同號(hào),商上1 1 00.1110 0.0 00.1110 0.00101左移一位左移一位
15、+- +-yy補(bǔ)補(bǔ) 11.0101 11.0101 減除數(shù)比較減除數(shù)比較 00.0011 0.0 00.0011 0.00101 1 1 r r2 2與除數(shù)同號(hào),商上與除數(shù)同號(hào),商上1 1 00.0110 0. 00.0110 0.011011 左移一位左移一位 +- +-yy補(bǔ)補(bǔ) 11.0101 11.0101 減去除數(shù)比較減去除數(shù)比較 11.1011 0. 11.1011 0.011011 0 0 r r3 3與除數(shù)異號(hào),商上與除數(shù)異號(hào),商上0 0 11.0110 11.0110 0.1100.110 左移一位左移一位 + +yy補(bǔ)補(bǔ) 00.1011 00.1011 加除數(shù)比較加除數(shù)比較
16、00.0001 00.0001 0.1100.110 1 1 r r4 4與除數(shù)同號(hào),商上與除數(shù)同號(hào),商上1 (1 (n+1=5n+1=5步步) )故故x/yx/y補(bǔ)補(bǔ)=0.1101=0.1101,余數(shù),余數(shù) rr補(bǔ)補(bǔ)=0.0000001=0.0000001 因未除盡,商又為正,因此商不必修正。因未除盡,商又為正,因此商不必修正。 商為正且余數(shù)又與被除數(shù)同號(hào),故余數(shù)也不必修正。商為正且余數(shù)又與被除數(shù)同號(hào),故余數(shù)也不必修正。 例例3.183.18x x補(bǔ)補(bǔ)=1.0111=1.0111,y y補(bǔ)補(bǔ)=0.1101=0.1101,求,求 x/yx/y補(bǔ)補(bǔ)=?=?解:解:- -y y補(bǔ)補(bǔ)=11.0011
17、=11.0011計(jì)算過程如下計(jì)算過程如下頁頁所示所示 得得 x/yx/y補(bǔ)補(bǔ)=1.0100=1.0100,余數(shù),余數(shù) rr補(bǔ)補(bǔ)=1.11111111=1.11111111(補(bǔ)碼右移)(補(bǔ)碼右移) 因?yàn)樯虨樨?fù),余數(shù)又不等于因?yàn)樯虨樨?fù),余數(shù)又不等于0 0,商應(yīng)修正,即,商應(yīng)修正,即 x/yx/y補(bǔ)補(bǔ)=1.0100+0.0001=1.0101=1.0100+0.0001=1.0101。 商為負(fù)且余數(shù)與被除數(shù)同號(hào),故余數(shù)不必修正。商為負(fù)且余數(shù)與被除數(shù)同號(hào),故余數(shù)不必修正。(此例中?。ù死星『镁褪呛阒煤镁褪呛阒? 1法的結(jié)果)法的結(jié)果)實(shí)現(xiàn)補(bǔ)碼不恢復(fù)余數(shù)除法的邏輯結(jié)構(gòu)與圖實(shí)現(xiàn)補(bǔ)碼不恢復(fù)余數(shù)除法的邏輯結(jié)
18、構(gòu)與圖3-83-8十分相似,這里不再敘述。十分相似,這里不再敘述。被除數(shù)/余數(shù) 商 上商位 說明 11.0111 0.000 0+y補(bǔ) 00.1101 x補(bǔ)與y補(bǔ)異號(hào),加除數(shù)比較 00.0100 0.000 1 余數(shù)r0與除數(shù)同號(hào),商上1 00.1000 0.001 左移一位+-y補(bǔ)11.0011 減除數(shù)比較 11.1011 0.001 0 r1與除數(shù)異號(hào),商上0 11.0110 0.010 左移一位+y補(bǔ) 00.1101 加除數(shù)比較 00.0011 0.010 1 r2與除數(shù)同號(hào),商上1 00.0110 0.101 左移一位+-y補(bǔ)11.0011 減去除數(shù)比較 11.1001 0.101 0
19、 r3與除數(shù)異號(hào),商上0 11.0010 1.010 左移一位,用“恒置1法” 末位置1便可結(jié)束運(yùn)算, 即商為1.0101+y補(bǔ)00.1101 校正法則多做一步,即加除數(shù)比較 11.1111 1.010 0 r4與除數(shù)異號(hào),商上018陣列除法器 CASCASCASCASCASCASCASCASCASCASCASCASCASCASCASCASPCPCPCPCPPPPCCCCY =03X =06Y2X5Y0Y1X1X2X3X4X0+5V q2 q3=0 q1 q0 r 3 r0 r1 r2( b) 由 CAS組成的陣列除原理圖 1YiXiPPYiSiCiCi 1( a) 可控加減單元 CAS圖 3
20、-10 絕對(duì)值加減交替法陣列原理圖19陣列除法器 CASCASCASCASCASCASCASCASCASCASCASCASCASCASCASCASPCPCPCPCPPPPCCCCY =03X =06Y2X5Y0Y1X1X2X3X4X0+5V q2 q3=0 q1 q0 r 3 r0 r1 r2( b) 由 CAS組成的陣列除原理圖 1YiXiPPYiSiCiCi 1( a) 可控加減單元 CAS圖 3-10 絕對(duì)值加減交替法陣列原理圖(Yi P)+Xi+C(原碼不恢復(fù)余數(shù)算法) +Xi+C ,P=1YiYi+Xi+C ,P=020陣列除法器 CASCASCASCASCASCASCASCASCA
21、SCASCASCASCASCASCASCASPCPCPCPCPPPPCCCCY =03X =06Y2X5Y0Y1X1X2X3X4X0+5V q2 q3=0 q1 q0 r 3 r0 r1 r2( b) 由 CAS組成的陣列除原理圖 1YiXiPPYiSiCiCi 1( a) 可控加減單元 CAS圖 3-10 絕對(duì)值加減交替法陣列原理圖若夠減,c=1。根據(jù)原碼加減交替規(guī)則,商“1”,即q=1,余數(shù)左移一位,下一步應(yīng)作減法,p=q=c=1所以,xi-yi21陣列除法器 CASCASCASCASCASCASCASCASCASCASCASCASCASCASCASCASPCPCPCPCPPPPCCCCY
22、 =03X =06Y2X5Y0Y1X1X2X3X4X0+5V q2 q3=0 q1 q0 r 3 r0 r1 r2( b) 由 CAS組成的陣列除原理圖 1YiXiPPYiSiCiCi 1( a) 可控加減單元 CAS圖 3-10 絕對(duì)值加減交替法陣列原理圖若不夠減,c=0。根據(jù)原碼加減交替規(guī)則,商“0”,即q=0,余數(shù)左移一位,下一步應(yīng)作加法,p=q=c=0所以,xi+yi22作業(yè)n3.6n3.723規(guī)格化浮點(diǎn)數(shù)算術(shù)運(yùn)算 浮點(diǎn)運(yùn)算因增加階碼運(yùn)算和規(guī)格化過程,浮點(diǎn)運(yùn)算因增加階碼運(yùn)算和規(guī)格化過程,故比定點(diǎn)運(yùn)算復(fù)雜。故比定點(diǎn)運(yùn)算復(fù)雜。 實(shí)現(xiàn)實(shí)現(xiàn) 只有定點(diǎn)運(yùn)算部件的計(jì)算機(jī) 軟件定點(diǎn)運(yùn)算部件和協(xié)處理器
23、(浮點(diǎn))浮點(diǎn)運(yùn)算部件24浮點(diǎn)數(shù)加減運(yùn)算 加加/ /減運(yùn)算過程:減運(yùn)算過程: 對(duì)階對(duì)階 尾數(shù)相加尾數(shù)相加/ /減減 規(guī)格化及舍入規(guī)格化及舍入 判斷溢出判斷溢出 25浮點(diǎn)數(shù)加減運(yùn)算 設(shè)兩浮點(diǎn)數(shù)x和y,分別為: 其中Ex、Ey為階碼,Mx、My為尾數(shù)。加/減運(yùn)算的規(guī)則為: xEMxx 2yEMyy 2xxyyyxEEEyxEyEExMMMMyx2)2(2)2(yxxEEEyE26浮點(diǎn)數(shù)加減運(yùn)算1. 1. 對(duì)階對(duì)階 小數(shù)點(diǎn)對(duì)齊。小數(shù)點(diǎn)對(duì)齊。 對(duì)階的方法是使對(duì)階的方法是使小階向大階小階向大階看齊。看齊。 1) 1)先求兩階碼的差先求兩階碼的差 2) 2)使階碼小的數(shù)據(jù)的尾數(shù)右移使階碼小的數(shù)據(jù)的尾數(shù)右移(
24、 (右移次數(shù)為兩右移次數(shù)為兩階碼的差值階碼的差值) ),同時(shí)相應(yīng)使其階碼增加,同時(shí)相應(yīng)使其階碼增加( (以期保以期保持其值不變持其值不變) )。27浮點(diǎn)數(shù)加減運(yùn)算2. 2. 尾數(shù)相加尾數(shù)相加/ /減減 階碼對(duì)齊后,可按定點(diǎn)數(shù)加減運(yùn)算方法直階碼對(duì)齊后,可按定點(diǎn)數(shù)加減運(yùn)算方法直接對(duì)兩個(gè)尾數(shù)進(jìn)行加接對(duì)兩個(gè)尾數(shù)進(jìn)行加/ /減運(yùn)算,并得到結(jié)果的減運(yùn)算,并得到結(jié)果的符號(hào)。符號(hào)。3. 3. 規(guī)格化及舍入規(guī)格化及舍入 (1) (1)規(guī)格化規(guī)格化: :由于運(yùn)算結(jié)果仍要以規(guī)格化的形式由于運(yùn)算結(jié)果仍要以規(guī)格化的形式存儲(chǔ)或進(jìn)行后繼運(yùn)算,尾數(shù)相加存儲(chǔ)或進(jìn)行后繼運(yùn)算,尾數(shù)相加/ /減后,如果減后,如果得到的結(jié)果不是規(guī)格化
25、數(shù),則應(yīng)對(duì)尾數(shù)規(guī)格化。得到的結(jié)果不是規(guī)格化數(shù),則應(yīng)對(duì)尾數(shù)規(guī)格化。28浮點(diǎn)數(shù)加減運(yùn)算有兩種情況需要規(guī)格化:有兩種情況需要規(guī)格化:運(yùn)算結(jié)果尾數(shù)有溢出運(yùn)算結(jié)果尾數(shù)有溢出。原因是尾數(shù)運(yùn)算結(jié)果的絕對(duì)值。原因是尾數(shù)運(yùn)算結(jié)果的絕對(duì)值大于或等于大于或等于1 1。這在定點(diǎn)運(yùn)算中是不允許的。但在浮點(diǎn)。這在定點(diǎn)運(yùn)算中是不允許的。但在浮點(diǎn)運(yùn)算中,運(yùn)算中,只要將尾數(shù)向右移只要將尾數(shù)向右移( (即右規(guī)即右規(guī)) )一位,同時(shí)將階一位,同時(shí)將階碼加碼加1 1,就可使結(jié)果變?yōu)橐?guī)格化數(shù),就可使結(jié)果變?yōu)橐?guī)格化數(shù);運(yùn)算結(jié)果沒有溢出,但不是規(guī)格化數(shù)。運(yùn)算結(jié)果沒有溢出,但不是規(guī)格化數(shù)。進(jìn)行規(guī)格化處進(jìn)行規(guī)格化處理即可。理即可。 正數(shù)的原碼
26、、補(bǔ)碼:正數(shù)的原碼、補(bǔ)碼:00.100.1 負(fù)數(shù)的原碼:負(fù)數(shù)的原碼:11.111.1 負(fù)數(shù)的補(bǔ)碼:負(fù)數(shù)的補(bǔ)碼:11.011.029浮點(diǎn)數(shù)加減運(yùn)算(2)(2)舍入舍入: :對(duì)階或向右規(guī)格化時(shí)尾數(shù)要右移,因而尾數(shù)的最低幾對(duì)階或向右規(guī)格化時(shí)尾數(shù)要右移,因而尾數(shù)的最低幾位可能被移出丟掉而產(chǎn)生一定誤差。為了減少誤差,通常要位可能被移出丟掉而產(chǎn)生一定誤差。為了減少誤差,通常要進(jìn)行舍入處理。進(jìn)行舍入處理。 00.1000 1101 00.1000 1101 右移右移1 1位后位后 00.0100 0110 00.0100 0110 丟失了最低位的丟失了最低位的1 130浮點(diǎn)數(shù)加減運(yùn)算常用的舍入方法有三種:常
27、用的舍入方法有三種: 恒舍恒舍: :尾數(shù)不論丟掉的是何內(nèi)容,一律舍去而保留的尾數(shù)部分不作任何尾數(shù)不論丟掉的是何內(nèi)容,一律舍去而保留的尾數(shù)部分不作任何改變;改變; 尾數(shù)為原碼或補(bǔ)碼采取尾數(shù)為原碼或補(bǔ)碼采取“恒置恒置1”1”、負(fù)數(shù)反碼采取末位、負(fù)數(shù)反碼采取末位“恒置恒置0”0”規(guī)則規(guī)則: : 這是一種易行性僅次于恒舍法的舍入方法,就把保留的尾數(shù)最低位這是一種易行性僅次于恒舍法的舍入方法,就把保留的尾數(shù)最低位置置1 1或或0 0,而不管丟掉的是何內(nèi)容;,而不管丟掉的是何內(nèi)容; 尾數(shù)原碼、補(bǔ)碼與正數(shù)反碼采取尾數(shù)原碼、補(bǔ)碼與正數(shù)反碼采取“0“0舍舍1 1入入”、負(fù)數(shù)反碼采取、負(fù)數(shù)反碼采取“1“1舍舍0
28、0借借”規(guī)則規(guī)則: : 這是最常用的方法。即右移時(shí)丟掉尾數(shù)的最高數(shù)值位這是最常用的方法。即右移時(shí)丟掉尾數(shù)的最高數(shù)值位( (也就是最后移也就是最后移出的位出的位) )為為0 0,則舍去,是,則舍去,是1 1時(shí)則加到保留的尾數(shù)最末位時(shí)則加到保留的尾數(shù)最末位( (注意這時(shí)有可能注意這時(shí)有可能引起一連串的進(jìn)位,最后又使尾數(shù)溢出,因而又要進(jìn)行一次右規(guī)引起一連串的進(jìn)位,最后又使尾數(shù)溢出,因而又要進(jìn)行一次右規(guī)) )。 分析表明,恒舍法不適合補(bǔ)碼表示的尾數(shù),而另兩種舍入規(guī)則均適用分析表明,恒舍法不適合補(bǔ)碼表示的尾數(shù),而另兩種舍入規(guī)則均適用于原碼或補(bǔ)碼表示的尾數(shù)。于原碼或補(bǔ)碼表示的尾數(shù)。31浮點(diǎn)數(shù)加減運(yùn)算4 4
29、 判斷有無上、下溢出判斷有無上、下溢出: 浮點(diǎn)數(shù)的判溢出是浮點(diǎn)數(shù)的判溢出是判階碼判階碼是否溢出。是否溢出。 在進(jìn)行規(guī)格化過程中階碼可能產(chǎn)生溢出。當(dāng)運(yùn)算結(jié)果在進(jìn)行規(guī)格化過程中階碼可能產(chǎn)生溢出。當(dāng)運(yùn)算結(jié)果進(jìn)行左規(guī)時(shí),階碼要減小,有可能產(chǎn)生下溢進(jìn)行左規(guī)時(shí),階碼要減小,有可能產(chǎn)生下溢( (即階碼比可即階碼比可表示的最小負(fù)數(shù)還要小表示的最小負(fù)數(shù)還要小) ),這時(shí)用機(jī)器,這時(shí)用機(jī)器0(0(即把階碼和尾數(shù)即把階碼和尾數(shù)的所有位全置成的所有位全置成0)0)表示,但機(jī)器可繼續(xù)運(yùn)算。表示,但機(jī)器可繼續(xù)運(yùn)算。 當(dāng)運(yùn)算結(jié)果進(jìn)行右規(guī)時(shí),階碼要增加,有可能產(chǎn)生上當(dāng)運(yùn)算結(jié)果進(jìn)行右規(guī)時(shí),階碼要增加,有可能產(chǎn)生上溢溢( (即階
30、碼比可表示的最大正數(shù)還要大即階碼比可表示的最大正數(shù)還要大) ),這時(shí)將引起出錯(cuò),這時(shí)將引起出錯(cuò),浮點(diǎn)運(yùn)算硬件應(yīng)當(dāng)發(fā)出信號(hào)進(jìn)行溢出中斷處理浮點(diǎn)運(yùn)算硬件應(yīng)當(dāng)發(fā)出信號(hào)進(jìn)行溢出中斷處理例例3.203.20 x=2x=201010.11010.1101,y=2y=21111(-0.1010)(-0.1010),求求x+y=?x+y=?解:設(shè)兩數(shù)的階碼和尾數(shù)在計(jì)算機(jī)中均以補(bǔ)碼表示;階碼解:設(shè)兩數(shù)的階碼和尾數(shù)在計(jì)算機(jī)中均以補(bǔ)碼表示;階碼4 4位,其中兩位為符號(hào)位;尾數(shù)位,其中兩位為符號(hào)位;尾數(shù)6 6位,其中兩位為符號(hào)位。位,其中兩位為符號(hào)位。 x x補(bǔ)補(bǔ)=00,01=00,01,00.110100.1101
31、 y y補(bǔ)補(bǔ)=00,11=00,11,11.011011.0110(1) (1) 對(duì)階對(duì)階 階差階差E E補(bǔ)補(bǔ)= =E Ex x- -E Ey y補(bǔ)補(bǔ) = =E Ex x補(bǔ)補(bǔ)+ +- -E Ey y補(bǔ)補(bǔ) =00,01+11,01=11,10=00,01+11,01=11,10 即即E=-2E=-2,表示表示E Ex x比比E Ey y小小2 2, 因此將因此將x x的尾數(shù)右移二位,成為的尾數(shù)右移二位,成為00.0011(00.0011(設(shè)舍入采用設(shè)舍入采用“0“0舍舍1 1入入”法法) ),使得,使得E Ex x也等于也等于1111。 x x補(bǔ)補(bǔ)=00,11=00,11,00.001100.0
32、011(2) (2) 尾數(shù)相加尾數(shù)相加 M Mx x補(bǔ)補(bǔ)= 00.0011= 00.0011 +) +) M My y補(bǔ)補(bǔ)= 11.0110= 11.0110 M Mx x+M+My y補(bǔ)補(bǔ)=11.1001=11.1001即得即得x+yx+y補(bǔ)補(bǔ)=00,11=00,11,11.100111.1001(3) (3) 規(guī)格化及舍入規(guī)格化及舍入 由于尾數(shù)求和結(jié)果的符號(hào)位和數(shù)值最高位相同,故不是規(guī)格由于尾數(shù)求和結(jié)果的符號(hào)位和數(shù)值最高位相同,故不是規(guī)格化數(shù),需要向左規(guī)格化化數(shù),需要向左規(guī)格化( (尾數(shù)左移一位,階碼減尾數(shù)左移一位,階碼減1)1)。由此得規(guī)格化。由此得規(guī)格化后的結(jié)果為:后的結(jié)果為: x+y
33、x+y補(bǔ)補(bǔ)=00,10=00,10,11.001011.0010 本題因是左規(guī),不需要舍入處理。本題因是左規(guī),不需要舍入處理。(4) (4) 判斷溢出判斷溢出 和數(shù)的階碼為和數(shù)的階碼為00,1000,10,未產(chǎn)生溢出。,未產(chǎn)生溢出。 最后結(jié)果為:最后結(jié)果為:x+y=2x+y=21010(-0.1110)(-0.1110)。34浮點(diǎn)數(shù)乘除運(yùn)算 浮點(diǎn)數(shù)乘浮點(diǎn)數(shù)乘/ /除運(yùn)算因不需要對(duì)階,比加減運(yùn)算容除運(yùn)算因不需要對(duì)階,比加減運(yùn)算容易一些。乘易一些。乘/ /除運(yùn)算過程為:除運(yùn)算過程為:(1) (1) 階碼相加階碼相加/ /減;減;(2) (2) 尾數(shù)相乘尾數(shù)相乘/ /除;除;(3) (3) 規(guī)格化及
34、舍入;規(guī)格化及舍入;(4) (4) 檢查有無上、下溢出。檢查有無上、下溢出。設(shè)兩浮點(diǎn)數(shù)為:設(shè)兩浮點(diǎn)數(shù)為:x=2x=2ExExM Mx x,y=2y=2EyEyM My y則運(yùn)算規(guī)則可寫成:則運(yùn)算規(guī)則可寫成: x xy=2y=2(Ex+(Ex+EyEy) )( (M Mx xM My y) ) x xy=2y=2(Ex-(Ex-EyEy) )( (M Mx xM My y) )35浮點(diǎn)數(shù)乘除運(yùn)算 階碼與尾數(shù)的運(yùn)算方法與定點(diǎn)運(yùn)算相同,規(guī)格階碼與尾數(shù)的運(yùn)算方法與定點(diǎn)運(yùn)算相同,規(guī)格化、舍入、判溢的方法如上所述?;⑸崛?、判溢的方法如上所述。 兩規(guī)格化數(shù)相乘,兩規(guī)格化數(shù)相乘,階碼之和產(chǎn)生溢出則溢出階碼之
35、和產(chǎn)生溢出則溢出。 兩規(guī)格化數(shù)相除,尾數(shù)最多右規(guī)一次。尾數(shù)相兩規(guī)格化數(shù)相除,尾數(shù)最多右規(guī)一次。尾數(shù)相除且商大于除且商大于1 1時(shí),則不能按溢出處理,而應(yīng)通過時(shí),則不能按溢出處理,而應(yīng)通過把尾數(shù)右規(guī)一次,同時(shí)階碼加把尾數(shù)右規(guī)一次,同時(shí)階碼加1 1來處理。來處理。36浮點(diǎn)數(shù)乘除運(yùn)算 例例3.21 3.21 設(shè)設(shè)x x、y y的階碼為補(bǔ)碼形式,尾數(shù)為原碼形式。的階碼為補(bǔ)碼形式,尾數(shù)為原碼形式。X X的階碼為的階碼為0,0010,001,尾數(shù),尾數(shù)0.10100.1010;y y的階碼的階碼1,1111,111,尾數(shù),尾數(shù)0.10010.1001。用浮點(diǎn)運(yùn)算方法計(jì)算:。用浮點(diǎn)運(yùn)算方法計(jì)算:x/yx/y
36、(階碼用移碼加階碼用移碼加/ /減法,尾數(shù)用原碼加減交替法)。減法,尾數(shù)用原碼加減交替法)。 解:解:因?yàn)橐驗(yàn)閤 x尾數(shù)尾數(shù)0.10100.1010大于大于y y的尾數(shù)的尾數(shù)0.10010.1001,所以要調(diào),所以要調(diào)整整x x,即即x x調(diào)整為階碼調(diào)整為階碼0,0100,010,尾數(shù),尾數(shù)0.01010.0101; 則則x=0.0101x=0.0101* *2 200100010, y=0.1001, y=0.1001* *2 211111111,下面用原碼不下面用原碼不恢復(fù)余數(shù)除法求:恢復(fù)余數(shù)除法求:0.01010.01010.10010.1001。 -| -|y|y|補(bǔ)補(bǔ)=11.0111
37、(=11.0111(用雙符號(hào)表示用雙符號(hào)表示) ) 被除數(shù)x/余數(shù)r 商數(shù)q說明 00.0101+-|y|補(bǔ) 11.0111x-y 11.1100 0 余數(shù)為負(fù),商上0 11.1000 0 r和q左移一位 +|y| 00.1001加除數(shù) 00.0001 0.1 余數(shù)為正,商上1 00.0010 0.1 r和q左移一位+-|y|補(bǔ) 11.0111減除數(shù) 11.1001 0.10 余數(shù)為負(fù),商上0 11.0010 0.10 r和q左移一位 +|y| 00.1001加除數(shù) 11.1011 0.100余數(shù)為負(fù),商上0 11.0110 0.100 r和q左移一位 +|y| 00.1001 加除數(shù) 11.
38、1111 0.1000余數(shù)為負(fù),商上038余數(shù)為負(fù),假余數(shù)需校正:余數(shù)為 (1.1111+0.1001)2-4=0.10002-4(余數(shù)與被除數(shù)同號(hào))。尾數(shù)相除,商為0.1000。x階碼的移碼=1,010;(-y)階碼的補(bǔ)碼=0,001;階碼用移碼相減:01,010+00,001=01,011最高符號(hào)位為0時(shí),階碼沒有溢出。所以x/y=2110.1000。浮點(diǎn)數(shù)乘除運(yùn)算 39邏輯運(yùn)算及其實(shí)現(xiàn) n常用的邏輯運(yùn)算常用的邏輯運(yùn)算1邏輯非運(yùn)算 它又稱為“求反”運(yùn)算,常用數(shù)據(jù)上面加一橫線表示。對(duì)某數(shù)進(jìn)行邏輯非運(yùn)算,就是對(duì)它按位求反。運(yùn)算規(guī)則是:例3.22x=01001011, =?解: =1011010
39、010,01xx40邏輯運(yùn)算及其實(shí)現(xiàn) 2邏輯或運(yùn)算 它又稱為“邏輯加”運(yùn)算,常用+、和OR等運(yùn)算符號(hào)表示。對(duì)兩個(gè)數(shù)進(jìn)行邏輯加,就是按位求它們的“或”。運(yùn)算規(guī)則是:0+0=0,0+1=1 1+0=1,1+1=1。 設(shè)有兩數(shù):x=xn-1x1x0, y=yn-1y1y0 若z=xy=zn-1z1z0 則有zi=xiyi(i=0,1,,n-1) 例3.23x=10100001,y=10011011,求xy=? 解: 10100001)10011011 10111011 所以 xy=10111011 41邏輯運(yùn)算及其實(shí)現(xiàn) 3邏輯與運(yùn)算 它又稱為“邏輯乘”運(yùn)算,常用、和AND等運(yùn)算符號(hào)表示。對(duì)兩數(shù)進(jìn)行邏
40、輯乘,就是按位求它們的“與”。運(yùn)算規(guī)則是:00=0,01=10=0,11=1。設(shè)有兩數(shù):x=xn-1x1x0, y=yn-1y1y0若z=xy=zn-1z1z0則zi=xiyi(i=0,1,n-1)例3.24x=10111001,y=11110011,求xy=? 解: 10111001 ) 11110011 10110001 所以 xy=10110001 42邏輯運(yùn)算及其實(shí)現(xiàn) 4邏輯異或運(yùn)算 又稱“按位加”、“半加和”、“模2和”。常用運(yùn)算符號(hào)“”來表示。對(duì)兩數(shù)進(jìn)行邏輯異或,就是按位求它們的模2和(不考慮進(jìn)位)。 運(yùn)算規(guī)則為:00=0, 01=10=1, 11=0。設(shè)有兩數(shù):x=xn-1x1x
41、0, y=yn-1y1y0若z=xy=zn-1z1z0則zi=xiyi=(i=0,1,n-1)例3.25x=10101011,y=11001100,求xy=? 解:10101011 )11001100 01100111所以 xy=0110011143邏輯運(yùn)算的實(shí)現(xiàn) XiYiZ XYii iXiXiXiYiYiYiZ XYii iZ X Yiii圖 3-11 門 電 路Xi1=144邏輯運(yùn)算的實(shí)現(xiàn) 圖 3 - 1 2 邏 輯 運(yùn) 算 框 圖XXY n n n n n45作業(yè)n3.8n3.9n3.1046運(yùn)算器及其數(shù)據(jù)通路 n運(yùn)算器是對(duì)數(shù)據(jù)進(jìn)行加工處理的部件,運(yùn)算器是對(duì)數(shù)據(jù)進(jìn)行加工處理的部件,又
42、稱 為 算 術(shù) 邏 輯 部 件 , 簡(jiǎn) 稱又 稱 為 算 術(shù) 邏 輯 部 件 , 簡(jiǎn) 稱 A L UA L U(Arithmetic Logic UnitArithmetic Logic Unit,ALUALU)。)。ALUALU是是CPUCPU的重要組成部分。的重要組成部分。47運(yùn)算器的組成與參數(shù) 一、運(yùn)算器的功能與分類 小數(shù)點(diǎn)的表示形式: 定點(diǎn)運(yùn)算器浮點(diǎn)運(yùn)算器進(jìn)位制方面: 二進(jìn)制運(yùn)算器十進(jìn)制運(yùn)算器48運(yùn)算器的組成與參數(shù) 二、運(yùn)算器的組成 不同機(jī)器的運(yùn)算器是大同小異的。 運(yùn)算器: 算術(shù)邏輯部件通用寄存器組狀態(tài)寄存器組成49運(yùn)算器的組成與參數(shù) 1. 1. 算術(shù)邏輯部件算術(shù)邏輯部件ALUALU
43、ALU ALU主要完成對(duì)二進(jìn)制信息的定點(diǎn)算主要完成對(duì)二進(jìn)制信息的定點(diǎn)算術(shù)運(yùn)算、邏輯運(yùn)算和各種移位操作。術(shù)運(yùn)算、邏輯運(yùn)算和各種移位操作。 ALU ALU能處理的數(shù)據(jù)位數(shù)能處理的數(shù)據(jù)位數(shù)( (即字長(zhǎng)即字長(zhǎng)) )與機(jī)與機(jī)器有關(guān)。器有關(guān)。 ALU ALU有兩個(gè)數(shù)據(jù)輸入端和一個(gè)數(shù)據(jù)輸有兩個(gè)數(shù)據(jù)輸入端和一個(gè)數(shù)據(jù)輸出端,輸入輸出的數(shù)據(jù)寬度出端,輸入輸出的數(shù)據(jù)寬度( (即位數(shù)即位數(shù)) )與與ALUALU處理的數(shù)據(jù)寬度相同。處理的數(shù)據(jù)寬度相同。 50運(yùn)算器的組成與參數(shù) 2. 2. 通用寄存器組通用寄存器組 近期設(shè)計(jì)的機(jī)器的運(yùn)算器都有一近期設(shè)計(jì)的機(jī)器的運(yùn)算器都有一組組通用寄存器。通用寄存器。它主要用來保存參加運(yùn)算
44、的操作數(shù)和運(yùn)算的結(jié)果。它主要用來保存參加運(yùn)算的操作數(shù)和運(yùn)算的結(jié)果。 通用寄存器的數(shù)據(jù)存取速度是通用寄存器的數(shù)據(jù)存取速度是非??旆浅?斓?,目前一的,目前一般是十幾個(gè)毫微秒般是十幾個(gè)毫微秒( (ns)ns)。如果如果ALUALU的兩個(gè)操作數(shù)都來自的兩個(gè)操作數(shù)都來自寄存器,則可以極大地提高運(yùn)算速度。寄存器,則可以極大地提高運(yùn)算速度。 通用寄存器同時(shí)可以兼作專用寄存器,包括用于通用寄存器同時(shí)可以兼作專用寄存器,包括用于計(jì)算操作數(shù)的地址計(jì)算操作數(shù)的地址( (用來提供操作數(shù)的形式地址,據(jù)此用來提供操作數(shù)的形式地址,據(jù)此形成有效地址再去訪問主存單元形成有效地址再去訪問主存單元) )。必須注意的是,。必須注意
45、的是,不不同的機(jī)器對(duì)這組寄存器使用的情況和設(shè)置的個(gè)數(shù)是不同的機(jī)器對(duì)這組寄存器使用的情況和設(shè)置的個(gè)數(shù)是不相同的。相同的。51運(yùn)算器的組成與參數(shù) 3. 3. 狀態(tài)寄存器狀態(tài)寄存器 狀態(tài)寄存器用來記錄算術(shù)、邏輯運(yùn)算或測(cè)試操作的結(jié)果狀態(tài)。一般狀態(tài)寄存器用來記錄算術(shù)、邏輯運(yùn)算或測(cè)試操作的結(jié)果狀態(tài)。一般設(shè)設(shè)置置狀態(tài)位:狀態(tài)位: (1) (1) 零標(biāo)志位零標(biāo)志位( (Z)Z):當(dāng)運(yùn)算結(jié)果為當(dāng)運(yùn)算結(jié)果為0 0時(shí),時(shí),Z Z位置位置“1”“1”;非;非0 0時(shí),置時(shí),置“0”“0”; (2) (2)負(fù)標(biāo)志位負(fù)標(biāo)志位( (N)N):當(dāng)運(yùn)算結(jié)果為負(fù)時(shí),當(dāng)運(yùn)算結(jié)果為負(fù)時(shí),N N位置位置“1”“1”;為正時(shí),置;為正時(shí)
46、,置“0”“0”; (3) (3)溢出標(biāo)志位溢出標(biāo)志位( (V)V):當(dāng)運(yùn)算結(jié)果發(fā)生溢出時(shí),當(dāng)運(yùn)算結(jié)果發(fā)生溢出時(shí),V V位置位置“1”“1”;無溢出時(shí),;無溢出時(shí),置置“0”“0”; (4) (4)進(jìn)位或借位標(biāo)志進(jìn)位或借位標(biāo)志( (C)C): 在作加法時(shí),如果運(yùn)算結(jié)果最高有效位在作加法時(shí),如果運(yùn)算結(jié)果最高有效位( (對(duì)于有符號(hào)數(shù)來說,即符號(hào)對(duì)于有符號(hào)數(shù)來說,即符號(hào)位;對(duì)無符號(hào)數(shù)來說,即數(shù)值最高位位;對(duì)無符號(hào)數(shù)來說,即數(shù)值最高位) )向前產(chǎn)生進(jìn)位時(shí),向前產(chǎn)生進(jìn)位時(shí),C C位置位置“1”“1”;無;無進(jìn)位時(shí),置進(jìn)位時(shí),置“0”“0”。 在作減法時(shí),如果不夠減,最高有效位向前有借位在作減法時(shí),如果不
47、夠減,最高有效位向前有借位( (這時(shí)向前無進(jìn)位這時(shí)向前無進(jìn)位產(chǎn)生產(chǎn)生) )時(shí),時(shí),C C位置位置“1”“1”;無借位;無借位( (即有進(jìn)位產(chǎn)生即有進(jìn)位產(chǎn)生) )時(shí),時(shí),C C位置位置“0”“0”。 此外此外,狀態(tài)寄存器還常設(shè)有保存有關(guān)中斷和機(jī)器工作狀態(tài),狀態(tài)寄存器還常設(shè)有保存有關(guān)中斷和機(jī)器工作狀態(tài)( (用戶態(tài)或用戶態(tài)或核心態(tài)核心態(tài)) )等信息的一些標(biāo)志位等信息的一些標(biāo)志位( (應(yīng)當(dāng)說明,不同的機(jī)器規(guī)定的內(nèi)容和標(biāo)志符應(yīng)當(dāng)說明,不同的機(jī)器規(guī)定的內(nèi)容和標(biāo)志符號(hào)不完全相同號(hào)不完全相同) ),以便及時(shí)反映機(jī)器運(yùn)行程序的工作狀態(tài),所以有的機(jī)器,以便及時(shí)反映機(jī)器運(yùn)行程序的工作狀態(tài),所以有的機(jī)器稱它為稱它為“
48、程序狀態(tài)字程序狀態(tài)字”或或“處理機(jī)狀態(tài)字處理機(jī)狀態(tài)字”(”(Processor Status WordProcessor Status Word,PSW)PSW)。52運(yùn)算器的性能指標(biāo) 1.1.機(jī)器字長(zhǎng)機(jī)器字長(zhǎng) 2.2.運(yùn)算速度運(yùn)算速度 MIPSMIPS 53加法器及其進(jìn)位系統(tǒng) 1全加器 基本的加法單元稱為全加器,它要求三個(gè)輸入量:操作數(shù)Ai、Bi和低位傳來的進(jìn)位Ci-1,并產(chǎn)生兩個(gè)輸出量:本位的和Si、向高位的進(jìn)位Ci。全加器的邏輯框圖如圖3-13所示,其真值表列于表3.4中。 邏輯表達(dá)式為: Si=AiBiCi-1 Ci=AiBi+(AiBi)Ci-154加法器及其進(jìn)位系統(tǒng) 0100001
49、11100001101100111001000110011101100AiCiSiCi 1Bi表 3 . 4 全 加 器 真 值 表55加法器及其進(jìn)位系統(tǒng) FAAiBiCi1CiSi圖3-13 全 加 器 的 邏 輯 框圖56加法器及其進(jìn)位系統(tǒng) 2串行加法器與并行加法器 串行加法器中,只有一個(gè)全加器,數(shù)據(jù)逐位串行送入加法器進(jìn)行運(yùn)算。 并行加法器由多個(gè)全加器組成,其位數(shù)的多少取決于機(jī)器的字長(zhǎng),數(shù)據(jù)的各位同時(shí)運(yùn)算。 57加法器及其進(jìn)位系統(tǒng) ABFACQCP DCPSC圖3-14 串行加法器1)具有右移功能的寄存器2)每個(gè)脈沖算一位加法,和回送A,進(jìn)位暫存與觸發(fā)器C58加法器及其進(jìn)位系統(tǒng)二、進(jìn)位產(chǎn)生
50、和進(jìn)位鏈 并行加法器中的每一個(gè)全加器都有一個(gè)從低位送來的進(jìn)位和一個(gè)傳送給較高位的進(jìn)位。 各位之間傳遞進(jìn)位信號(hào)的邏輯線路連接起來構(gòu)成的進(jìn)位網(wǎng)絡(luò)稱為進(jìn)位鏈。 59加法器及其進(jìn)位系統(tǒng)每一位的進(jìn)位邏輯表達(dá)式為(表3-4推出):Ci=AiBi+(AiBi)Ci-1取決于本位參加運(yùn)算的兩個(gè)數(shù),而與低位進(jìn)位無關(guān),因此稱AiBi為進(jìn)位產(chǎn)生函數(shù)(本次進(jìn)位產(chǎn)生),用Gi表示。其含義是若本位的兩個(gè)輸入均為1,必然要向高位產(chǎn)生進(jìn)位。60加法器及其進(jìn)位系統(tǒng) 所以:Ci=Gi+PiCi-1 每一位的進(jìn)位邏輯表達(dá)式為:Ci=AiBi+(AiBi)Ci-1不但與本位的兩個(gè)數(shù)有關(guān),還依賴于低位送來進(jìn)位,因此稱AiBi為進(jìn)位傳遞
51、函數(shù)(低位進(jìn)位傳遞),用Pi表示。其含義是當(dāng)兩個(gè)輸入中有一個(gè)為1,低位傳來的進(jìn)位Ci-1將超越本位向更高的位傳送1串行進(jìn)位方式FASnCn-1AnBnCnFAS2B2C2FAS1C0A1B1C1A2圖3-15 串行進(jìn)位的并行加法器其中: C1=G1+P1C0 C2=G2+P2C1 Cn=Gn+PnCn-1 串行進(jìn)位鏈的總延遲時(shí)間與字長(zhǎng)成正比,字長(zhǎng)越長(zhǎng),總延遲時(shí)間就越長(zhǎng)。 假定,將“與門”、“或門”的延遲時(shí)間定為ty,從上述公式中可看出,每形成一級(jí)進(jìn)位的延遲時(shí)間為2ty。在字長(zhǎng)為n位的情況下,若不考慮Gi、Pi的形成時(shí)間,從C0Cn的最長(zhǎng)延遲時(shí)間為2nty。 62加法器及其進(jìn)位系統(tǒng)2 2并行進(jìn)位
52、方式并行進(jìn)位方式 并行進(jìn)位又稱之先行進(jìn)位、同時(shí)進(jìn)位,其特點(diǎn)是各級(jí)進(jìn)位信號(hào)同時(shí)形成。并行進(jìn)位又稱之先行進(jìn)位、同時(shí)進(jìn)位,其特點(diǎn)是各級(jí)進(jìn)位信號(hào)同時(shí)形成。 C C1 1= =G G1 1+P+P1 1C C0 0 C C2 2=G=G2 2+P+P2 2C C1 1= =G G2 2+P+P2 2G G1 1+P+P2 2P P1 1C C0 0 C C3 3=G=G3 3+P+P3 3C C2 2= =G G3 3+P+P3 3G G2 2+P+P3 3P P2 2G G1 1+P+P3 3P P2 2P P1 1C C0 0 C C4 4=G=G4 4+P+P4 4C C3 3= =G G4 4+
53、P+P4 4G G3 3+P+P4 4P P3 3G G2 2+P+P4 4P P3 3P P2 2G G1 1+P+P4 4P P3 3P P2 2P P1 1C C0 0 GiGi、PiPi的計(jì)算不依賴于低位的進(jìn)位,的計(jì)算不依賴于低位的進(jìn)位,若不考慮若不考慮GiGi、PiPi的形成時(shí)間,的形成時(shí)間,從從C0C0CnCn的最長(zhǎng)延遲時(shí)間僅為的最長(zhǎng)延遲時(shí)間僅為2 2tyty,而與字長(zhǎng)無關(guān)。而與字長(zhǎng)無關(guān)。 但是隨著加法器位數(shù)的增加,但是隨著加法器位數(shù)的增加,CiCi的邏輯表達(dá)式會(huì)變得越來越長(zhǎng),輸入的邏輯表達(dá)式會(huì)變得越來越長(zhǎng),輸入變量不斷增加,使電路結(jié)構(gòu)變得很復(fù)雜,硬件費(fèi)用昂貴,而且受到元器件變量不
54、斷增加,使電路結(jié)構(gòu)變得很復(fù)雜,硬件費(fèi)用昂貴,而且受到元器件扇入數(shù)的限制,所以完全采用并行進(jìn)位是不現(xiàn)實(shí)扇入數(shù)的限制,所以完全采用并行進(jìn)位是不現(xiàn)實(shí)。3 3分組并行進(jìn)位方式分組并行進(jìn)位方式 這種進(jìn)位方式是把這種進(jìn)位方式是把n n位字長(zhǎng)分為若干小組,在組內(nèi)各位之間位字長(zhǎng)分為若干小組,在組內(nèi)各位之間實(shí)行快速進(jìn)位,在組間既可以采用串行進(jìn)位方式,也可以采用實(shí)行快速進(jìn)位,在組間既可以采用串行進(jìn)位方式,也可以采用并行快速進(jìn)位方式。并行快速進(jìn)位方式。 (1 1)單級(jí)先行進(jìn)位方式)單級(jí)先行進(jìn)位方式 實(shí)現(xiàn)進(jìn)位邏輯函數(shù)的電路稱之為四位先行進(jìn)位電路實(shí)現(xiàn)進(jìn)位邏輯函數(shù)的電路稱之為四位先行進(jìn)位電路(Carry Look Ahe
55、ad,CLA),),其延遲時(shí)間是其延遲時(shí)間是2ty。 4位 C L A加 法 器SS1 61 3BB1 61 3AA1 61 3C1 64位 C L A加 法 器SS1 29BB1 29AA1 29C1 24位 C L A加 法 器SS85BB85AA85C84位 C L A加 法 器SS41BB41AA41C4C0圖 3 - 1 6 1 6位 單 級(jí) 先 行 進(jìn) 位 加 法 器 若不考慮若不考慮G Gi i、P Pi i的形成時(shí)間,從的形成時(shí)間,從C C0 0C Cn n的最長(zhǎng)延遲時(shí)間為的最長(zhǎng)延遲時(shí)間為2 2mtmty y,其中其中m m為分組的組數(shù)。為分組的組數(shù)。 64加法器及其進(jìn)位系統(tǒng)2
56、 2)多級(jí)先行進(jìn)位方式)多級(jí)先行進(jìn)位方式 以字長(zhǎng)為以字長(zhǎng)為1616位的加法器作為例子,分析兩級(jí)先行進(jìn)位加法器的設(shè)位的加法器作為例子,分析兩級(jí)先行進(jìn)位加法器的設(shè)計(jì)方法。第一小組的最高位進(jìn)位計(jì)方法。第一小組的最高位進(jìn)位C C4 4可以變成兩個(gè)與項(xiàng)相或:可以變成兩個(gè)與項(xiàng)相或: C C4 4= =G G4 4+P+P4 4G G3 3+P+P4 4P P3 3G G2 2+P+P4 4P P3 3P P2 2G G1 1+ +P P4 4P P3 3P P2 2P P1 1C C0 0= G= G1 1* *+P+P1 1* *C C0 0 其中:其中:G G1 1* *=G=G4 4+P+P4 4G
57、 G3 3+P+P4 4P P3 3G G2 2+P+P4 4P P3 3P P2 2G G1 1 P P1 1* *=P=P4 4P P3 3P P2 2P P1 1 G G1 1* *稱為組進(jìn)位產(chǎn)生函數(shù),稱為組進(jìn)位產(chǎn)生函數(shù),P P1 1* *稱為組進(jìn)位傳遞函數(shù),這兩個(gè)輔助函稱為組進(jìn)位傳遞函數(shù),這兩個(gè)輔助函數(shù)只與數(shù)只與P Pi i、G Gi i有關(guān)。有關(guān)。 依次類推,可以得到:依次類推,可以得到: C C8 8= G= G2 2* *+P+P2 2* *C C4 4 = = G G2 2* *+P+P2 2* *G G1 1* *+P+P2 2* *P P1 1* *C C0 0 C C12
58、12= = G G3 3* *+P+P3 3* *G G2 2* *+P+P3 3* *P P2 2* *G G1 1* *+P+P3 3* *P P2 2* *P P1 1* *C C0 0 C C1616= = G G4 4* *+P+P4 4* *G G3 3* *+P+P4 4* *P P3 3* *G G2 2* *+P+P4 4* *P P3 3* *P P2 2* *G G1 1* *+P+P4 4* *P P3 3* *P P2 2* *P P1 1* *C C0 065加法器及其進(jìn)位系統(tǒng) 為了要產(chǎn)生組進(jìn)位函數(shù),須要對(duì)原來的為了要產(chǎn)生組進(jìn)位函數(shù),須要對(duì)原來的CLACLA電路進(jìn)行
59、修改:電路進(jìn)行修改: 第第1 1小組內(nèi)產(chǎn)生小組內(nèi)產(chǎn)生G G1 1* *、P P1 1* *、C C3 3、C C2 2、C C1 1,不產(chǎn)生不產(chǎn)生C C4 4; 第第2 2小組內(nèi)產(chǎn)生小組內(nèi)產(chǎn)生G G2 2* *、P P2 2* *、C C7 7、C C6 6、C C5 5,不產(chǎn)生不產(chǎn)生C C8 8; 第第3 3小組內(nèi)產(chǎn)生小組內(nèi)產(chǎn)生G G3 3* *、P P3 3* *、C C1111、C C1010、C C9 9,不產(chǎn)生不產(chǎn)生C C1212; 第第4 4小組內(nèi)產(chǎn)生小組內(nèi)產(chǎn)生G G4 4* *、P P4 4* *、C C1515、C C1414、C C1313,不產(chǎn)生不產(chǎn)生C C1616; 這種
60、電路稱為成組先行進(jìn)位電路這種電路稱為成組先行進(jìn)位電路( (Block Carry Look AheadBlock Carry Look Ahead,BCLABCLA),),其延遲時(shí)間是其延遲時(shí)間是2 2t ty y。 用這種四位的用這種四位的BCLABCLA電路以及進(jìn)位產(chǎn)生電路以及進(jìn)位產(chǎn)生/ /傳遞電路和求和電路可以傳遞電路和求和電路可以構(gòu)成四位的構(gòu)成四位的BCLABCLA加法器。加法器。1616位的兩級(jí)先行進(jìn)位加法器可由四個(gè)位的兩級(jí)先行進(jìn)位加法器可由四個(gè)BCLABCLA加加法器和一個(gè)法器和一個(gè)CLACLA電路組成,如圖電路組成,如圖3-173-17所示。所示。這些進(jìn)位用專用電路并行計(jì)算,計(jì)算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年城市通風(fēng)口系統(tǒng)美化方案
- 2025年夫妻忠誠(chéng)協(xié)議(范本與效力分析)
- 室內(nèi)外毫米波通信性能-洞察與解讀
- 軸承維護(hù)知識(shí)培訓(xùn)課件
- 農(nóng)業(yè)供應(yīng)鏈整合-洞察與解讀
- 動(dòng)態(tài)調(diào)試器兼容性研究-洞察與解讀
- 金太陽廣東省2027屆高二上學(xué)期1月期末聯(lián)考248B物理(含答案)
- 浙海院兒科護(hù)理學(xué)課件第11章 泌尿系統(tǒng)疾病患兒的護(hù)理 第3節(jié) 腎病綜合征
- 2026年邏輯演繹與歸納推理題集
- 洛陽市安全教育平臺(tái)課件
- 建筑施工現(xiàn)場(chǎng)材料采購(gòu)流程
- DB31∕T 1234-2020 城市森林碳匯計(jì)量監(jiān)測(cè)技術(shù)規(guī)程
- 園林綠化施工工藝及注意事項(xiàng)
- 2025年高中語文必修上冊(cè)《登泰山記》文言文對(duì)比閱讀訓(xùn)練(含答案)
- 2025年金蝶AI蒼穹平臺(tái)新一代企業(yè)級(jí)AI平臺(tái)報(bào)告-
- 2026屆山東菏澤一中高三化學(xué)第一學(xué)期期末達(dá)標(biāo)測(cè)試試題含解析
- 2025中國(guó)機(jī)械工業(yè)集團(tuán)有限公司(國(guó)機(jī)集團(tuán))社會(huì)招聘19人筆試參考題庫(kù)附答案
- 二年級(jí)上冊(cè)100以內(nèi)的數(shù)學(xué)加減混合口算題500道-A4直接打印
- 2025年二級(jí)造價(jià)師《土建工程實(shí)務(wù)》真題卷(附解析)
- 智慧農(nóng)業(yè)管理中的信息安全對(duì)策
- 港口安全生產(chǎn)知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論