版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
tl
(二)定點(diǎn)數(shù)的表示和運(yùn)算
考綱要求的內(nèi)容如下:
lo定點(diǎn)數(shù)的表示
無符號(hào)數(shù)的表示;有符號(hào)數(shù)的表示。
2o定點(diǎn)數(shù)的運(yùn)算
定點(diǎn)數(shù)的位移運(yùn)算;
原碼、補(bǔ)碼定點(diǎn)數(shù)的加/減運(yùn)算;
定點(diǎn)數(shù)的乘/除運(yùn)算;
溢出概念和判別方法。
定點(diǎn)數(shù)的移位運(yùn)算
移位運(yùn)算包括算術(shù)移位和邏輯移位。
算術(shù)移位時(shí),最高符號(hào)位不變;
邏輯移位時(shí),最高符號(hào)位可變。
lo機(jī)器數(shù)為正時(shí),不論左移右移,用0添補(bǔ)。
2O負(fù)數(shù)的原碼,不論左移右移,空位用0添補(bǔ)。
3o負(fù)數(shù)的反碼,不論左移右移,空位用1添補(bǔ)。
4。負(fù)數(shù)的補(bǔ)碼,左移時(shí),空位用0添補(bǔ);
負(fù)數(shù)的補(bǔ)碼,右移時(shí),空位用1添補(bǔ)。
邏輯移位時(shí):
左移位時(shí),低位補(bǔ)0,高位移丟;
右移位時(shí),高位補(bǔ)0,低位移丟;
游圉規(guī)阻屈原囹
定點(diǎn)運(yùn)算器定點(diǎn)加減法
補(bǔ)碼的加法運(yùn)算
任意兩個(gè)數(shù)的補(bǔ)碼之和,等于該兩數(shù)
和的補(bǔ)碼。
X補(bǔ)+[丫]補(bǔ)=[X+Y]補(bǔ)
兩個(gè)數(shù)不管正負(fù),均用補(bǔ)碼表示,符
號(hào)位應(yīng)當(dāng)作為數(shù)值位參加運(yùn)算,符號(hào)位相
加所產(chǎn)生的進(jìn)位要丟掉,結(jié)果為補(bǔ)碼。
加法公式的證明
現(xiàn)分四種情況來證明。假設(shè)采用定點(diǎn)小數(shù)
表示,因此證明的先決條件是
Ix|<1,IyI<1,Ix+yI<lo
(1)x>0,y>0,貝I」y>0o
(2)x>0,y<0,貝I」x+y>0或x+y<0o
⑶xvO,y>0,貝llx+y>0或x+y<0o
(4)x<0,y<0,貝Ux+y<0o
定點(diǎn)運(yùn)算器-----溢出及判別
溢出及其判別方法:
在計(jì)算機(jī)中數(shù)的表示范圍是有限的,若兩
數(shù)進(jìn)行加減運(yùn)算的結(jié)果超出了給定的取值范圍,
就稱為溢出。一旦出現(xiàn)溢出,必須及時(shí)處理,
否則會(huì)出現(xiàn)錯(cuò)誤。
可以采用兩種方法來判別是否產(chǎn)生溢出:
①單符號(hào)位法
②雙符號(hào)位法
定點(diǎn)運(yùn)算器------溢出及判別
采用單符號(hào)位的判斷方法
兩異號(hào)數(shù)相加或兩同號(hào)數(shù)相減決不
會(huì)產(chǎn)生溢出,僅當(dāng)兩同號(hào)數(shù)相加或兩異
號(hào)數(shù)相減時(shí)才有可能產(chǎn)生溢出。
兩同號(hào)數(shù)相加時(shí),如果結(jié)果的符號(hào)
與參與運(yùn)算的操作數(shù)符號(hào)相反,則表明
有溢出;兩異號(hào)數(shù)相減舟,如果結(jié)巢的
符號(hào)與被減數(shù)的符號(hào)相反,則表明有溢
出。
^^湖S3感圓國
定點(diǎn)運(yùn)算器-----溢出及判別
利用進(jìn)位值的判斷方法
兩補(bǔ)碼數(shù)進(jìn)行加減運(yùn)算時(shí),若最高數(shù)值
位產(chǎn)生向符號(hào)的進(jìn)位而符號(hào)位不產(chǎn)生進(jìn)位
時(shí),發(fā)生正溢出,若最高數(shù)值位無進(jìn)位而
符號(hào)位有進(jìn)位時(shí),發(fā)生負(fù)溢出
溢出判別的邏輯表達(dá)式為:
V=Cf十c0
在電路上用一個(gè)異或門實(shí)現(xiàn)。
定點(diǎn)運(yùn)算器------溢出及判別
例:X=-0,100Y=-0,101,求X+Y=?
解:
[X]補(bǔ)=1.100
+[Y]補(bǔ)=1.0)1__________
111
「丟到「
兩負(fù)數(shù)相加,結(jié)果應(yīng)為負(fù)數(shù),但運(yùn)
算結(jié)果為正數(shù),表明有溢出發(fā)生
定點(diǎn)運(yùn)算器-----溢出及判別
例:X=100,Y=-110,求X-Y=?
解:
[X]補(bǔ)=0100
+[-Y]補(bǔ)=0)10___________
1010
一個(gè)正數(shù)減去一個(gè)負(fù)數(shù),結(jié)果為正數(shù),但計(jì)算
結(jié)果為負(fù)數(shù),表明有溢出發(fā)生,出錯(cuò)
定點(diǎn)運(yùn)算器-----溢出及判別
采用雙符號(hào)位的判斷方法
每個(gè)操作數(shù)的補(bǔ)碼符號(hào)用兩個(gè)二進(jìn)制數(shù)表示,
稱為變形補(bǔ)碼,用“00”表示正數(shù),“11”表示負(fù)
數(shù),左邊第一位叫第一符號(hào)位,右邊第一位稱為
第二符號(hào)位,兩個(gè)符號(hào)位同時(shí)參加運(yùn)算,如果運(yùn)
算結(jié)果兩符號(hào)位相同,則沒有溢出發(fā)生。如果運(yùn)
算結(jié)果兩符號(hào)位不同,則表明產(chǎn)生了溢出。“10”
表示負(fù)溢出,說明運(yùn)算結(jié)果為負(fù)數(shù),"01”表示
正溢出,說明運(yùn)算結(jié)果為正數(shù)。
溢出判別的邏輯表達(dá)式為:
f十SR
溢出及判別舉例
[例]x=+0.1100,y+0.1000,求x+y。
[解:]
[X]補(bǔ)=00.1100,[月補(bǔ)=00.1000
[X]補(bǔ)00.1100
+[月補(bǔ)00.1000
01.0100
兩個(gè)符號(hào)位出現(xiàn)“01\表示已溢出,即結(jié)果
大于,1。
溢出及判別舉例
[例]x=—0.1100,y=-0,1000,求x+y。
[解:]
補(bǔ)=
[*]11.0100,[y]#=11.1000
[*]補(bǔ)11.0100
+|>]補(bǔ)11.1000
10.1100
兩個(gè)符號(hào)位出現(xiàn)“10、表示已溢出,即結(jié)果小
于一1。
(四)算術(shù)邏輯單元ALU
考綱要求:
lo串行加法器和并行加法器
2o算術(shù)邏輯單元ALU的功能和機(jī)構(gòu)
根據(jù)真值表,可以寫一位全加器的真值表
出一位全加器的邏輯
方程:輸入輸Hi
AiB.C.s.Cj+]
Sj=Aj?Bj?Cj00000
00110
q+1=AjBj+BjCj+CjAj
01010
按此表達(dá)式組成的一位01101
10010
全加器如下圖所示:10101
11001
11111
基本的二進(jìn)制加法/減法器
一位全加器的邏輯實(shí)現(xiàn)
Sj=AjaBj十Ci的推導(dǎo)顯而易見。
下面推導(dǎo)Ci+i=AiBi+BiCi+CjAi
將用到如下定律:
1。摩根定律:ABC=A+B+C
A+B+C=ABC
2o吸收律:_
A+A-C=A+C
^^就S3房房混
串行進(jìn)位的補(bǔ)碼加法/減法器
P35圖2.2的串行進(jìn)位的補(bǔ)碼加法/減法器,
講清楚..\?.\第2章圖形\2.2.swf
①為什么叫串行進(jìn)位
a3a2a1a。
+b3b2b]b0
-S3S2SlS0
②如何完成減法運(yùn)算
A-B運(yùn)算轉(zhuǎn)化成[A]補(bǔ)+[-B]補(bǔ)運(yùn)算,
求補(bǔ)過程由B變反+1來實(shí)現(xiàn)。
游園儂811就屬超
串行進(jìn)位的補(bǔ)碼加法/減法器
③如何進(jìn)行溢出檢測處理?請思考!
④延遲時(shí)間的計(jì)算
考慮溢出:ta=n-2T+9T
不考慮溢出時(shí)ta=(n-1)-2T+9T
2T即每一位的進(jìn)位延遲
9T包括:溢出的異或門為3T,最下的一
排異或門為3T;FA內(nèi)部Aj和房輸入的異或
門為3T,故共9T。
十進(jìn)制加法器
主要講清楚P36圖2.3的兩個(gè)問題:
①為什么要進(jìn)行加6調(diào)整。
在十進(jìn)制運(yùn)算時(shí),當(dāng)相加兩數(shù)之和大于9時(shí),
便產(chǎn)生進(jìn)位??墒撬奈欢M(jìn)制數(shù)能表示的范
圍是0—15。兩者相差為6。
因此,當(dāng)和數(shù)大于9時(shí),必須對和數(shù)進(jìn)行加6
修正。
②如何實(shí)現(xiàn)加6調(diào)整。
I
另三L若
二對
寧R
s
三s
i
三
一g
S在、
a
(
E
雕二
米U
口二三
宓
0占
罪
科
+
定點(diǎn)運(yùn)算器——定點(diǎn)原碼一位乘法
定點(diǎn)原碼一位乘法
設(shè)被乘數(shù)[X]原=XfXn_]Xn_2........XjX。
乘數(shù)[丫]原=丫£丫「丫廣2…丫1丫0
乘積[X]原=ZfZzn-Z2n.2.........
運(yùn)算原則:同號(hào)相乘為正,異號(hào)相乘為負(fù),
符號(hào)可按:異或運(yùn)算得到,數(shù)值部分的運(yùn)算方法
與普通的十進(jìn)制乘數(shù)相類似。不論真值的正負(fù),
尾數(shù)都用正數(shù)參加運(yùn)算。
N尸=
KTf企Yf
瘠僧如國就愿超
定點(diǎn)運(yùn)算器--定J一位乘法
手工算法
?兩個(gè)n位數(shù)相乘,其積
為2n位,則需要2n位長
0.1101
的加法器,這不適用于
X0.1011
1101定點(diǎn)機(jī)的形式。
1101
0000
1101?機(jī)器一次只能進(jìn)行兩
個(gè)數(shù)的相加,不能進(jìn)行
0.10001111
多個(gè)數(shù)據(jù)的加法。
定點(diǎn)運(yùn)算器——定點(diǎn)原碼一位乘法
定點(diǎn)原碼一位乘法
運(yùn)算法則:
計(jì)算機(jī)中執(zhí)行乘法時(shí),積的符號(hào)位由被乘
數(shù)和乘數(shù)的符號(hào)位通過一個(gè)異或門實(shí)現(xiàn);
數(shù)值部分的運(yùn)算規(guī)則是:從最低位丫0開始,
當(dāng)乘數(shù)Yi為1時(shí),將上次部分積加上被乘數(shù)的絕對
值,然后右移一位,得到新的部分積;當(dāng)Yj為。時(shí),
將部分直接右移一位,得到新的部分積。重復(fù)
“加一右移”操作N次,可得到最后的乘積。
定點(diǎn)運(yùn)算器——定點(diǎn)原碼一位乘法
例:X=0.1101,Y=0.1011,求X*Y=?
解:部分積乘數(shù)說明
00.0000Yfl011Zo=O
+00.1101Y0=l,+X
00.1101
一00.01101Yfl01右移,得4
+00.1101丫1=1,+x
01.0011
右移,得馬
f00.100111Yf10丫
+00.00002=0,+tf
00.1001
右移,得Z3
f00.0100111Yf1
+00.1101丫3=1,+X
01.0001
f00.10001111Yf右移,得Z4=X*Y
定點(diǎn)運(yùn)算器—定點(diǎn)原碼一位乘法
結(jié)果:
X*Y=0.10001111
定點(diǎn)運(yùn)算器——定點(diǎn)原碼一位乘法
原碼一位乘法的邏輯電路圖
圖2.5原碼一位乘法邏輯結(jié)構(gòu)原理圖
定點(diǎn)運(yùn)算器——定點(diǎn)原碼一位乘法
R0存放部分積,R2存放被乘數(shù),R1存放乘數(shù)。
一、Ro清零,R2存放被乘數(shù),R1存放乘數(shù)。乘法開始時(shí),
“啟動(dòng)”信號(hào)時(shí)控制Cx置1,于是開啟時(shí)序脈沖T,
當(dāng)乘數(shù)寄存其Ri最末位為“1”時(shí),部分積Z和
被乘數(shù)X在加法器中相加,其結(jié)果輸出至R0的輸入端o
一旦打入控制脈沖T至4來,控制信號(hào)LDR°使部分積
右移1位,與此同時(shí),乘數(shù)寄存其R1也在控制信號(hào)L
DR1作用下右移一位,且計(jì)數(shù)器I記數(shù)一次,
二、上述步驟重復(fù)執(zhí)行N次
三、當(dāng)計(jì)數(shù)器I=n時(shí),計(jì)數(shù)器I的溢出信號(hào)使控制觸法
器Cx置0,關(guān)閉時(shí)序脈沖T,乘法宣告結(jié)束。
瘠飄輟國就愿超
定點(diǎn)運(yùn)算器——一定點(diǎn)原碼一位乘法
原碼算法存在的缺點(diǎn):
一是符號(hào)位需要單獨(dú)運(yùn)算,最后給
出運(yùn)算結(jié)果的正確符號(hào);
二是對于采用補(bǔ)碼存儲(chǔ)的數(shù),從存儲(chǔ)
器中取出的是操作數(shù)的補(bǔ)碼,需先將其
轉(zhuǎn)換成原碼,這樣很不方便,而且影響
速度。
定點(diǎn)運(yùn)算器——定點(diǎn)補(bǔ)碼一位乘法
定點(diǎn)一位補(bǔ)碼乘法:
補(bǔ)碼乘法的特點(diǎn)是乘數(shù)、被乘數(shù)用補(bǔ)碼表
示,符號(hào)位參加運(yùn)算,希望得到的結(jié)果就
是乘積的補(bǔ)碼,符號(hào)位在運(yùn)算中形成。但是
與補(bǔ)碼加減法不同,兩數(shù)的補(bǔ)碼如果直接相
乘,結(jié)果不是乘積的補(bǔ)碼。
設(shè)被乘數(shù)[X]補(bǔ)=x°.X1X2X3……XR和
乘數(shù)[丫]補(bǔ)=丫0.Y]丫2Yn均為住意
符號(hào),則有8碼乘法登式,這就是有名的布
斯公式。
定點(diǎn)運(yùn)算器——定點(diǎn)補(bǔ)碼一位乘法
[X*Y]補(bǔ)
二兇補(bǔ)*丫
n
=兇補(bǔ)[地+丫12-1+丫2*2-2+...+Yn2-]
=[X]補(bǔ)[-Ys+(Yi-Y[2T)+(丫22工丫22-2)+…+(丫>小1)-丫“2?%
=[X]補(bǔ)[(丫1-丫。+(丫2-丫1)2-1+...+(丫廣丫『1)2"1)+(0-丫/2力
=[X]補(bǔ)(Yi-Ys)+2」([X]補(bǔ)(丫2-丫1)+2-1([刈補(bǔ)(丫3-丫2)...+2-1([刈補(bǔ)
(Yn-YQ+2T(兇補(bǔ)(Yn+1-Yn)))...))(Yn+1=0)
n_.
z
=[x]?x(r.+1-r)2-
i=0
定點(diǎn)運(yùn)算器一一定點(diǎn)補(bǔ)碼一位乘法
遞推公式為:
[P。]補(bǔ)=。
[Pl]#="(IP。]補(bǔ)+(Y用-丫口)兇補(bǔ))
(間補(bǔ)兇補(bǔ))
[P2]#=2T+(Yn-Yn-1)
???
舊]補(bǔ)="([PH補(bǔ)+(丫n-i+2-^n-i+l)[X]補(bǔ))
???
補(bǔ)丫兇補(bǔ))
[Pn]#=2T([P=]+(Y2-1)
補(bǔ)兇補(bǔ)補(bǔ)
[Pn+1]#=[Pn]+(Y1-YS)=[X*Y]
游園就SU屈原囹
定點(diǎn)運(yùn)算器—定點(diǎn)補(bǔ)碼一位乘法
補(bǔ)碼一位乘法的運(yùn)算規(guī)則如下(開始時(shí)ya=0);
(1)如果丫口=yn+1,部分積[zj加0,再右移1位
(2)如果丫0日二01,部分積加[x]補(bǔ),再右移1位
(3)如果yjn+1=1°,部分積加[—x]補(bǔ),再右移1位
這樣重復(fù)n+1步,最后一步不移位。
定點(diǎn)運(yùn)算器——定點(diǎn)補(bǔ)碼一位乘法
例:[X]補(bǔ)=0.1101,[Y]補(bǔ)=0.1011,求X*Y二?
解:部分積乘數(shù)說明
00.00000.10110Y?+1=O「
+11.00CCYnYn+l=10,加[-X]補(bǔ)
11.0011
一11,10011.01011右移一位
匕丫用=11,加0
+010.000o0
±■
fX1o
+■1o110101右移一位
■±YnYn+i=01,加[X]補(bǔ)
00.1001
-00.0100111010右移一位
YnYn+i=10,力M-X]補(bǔ)
+111.0o01111
X■
fx1iO1
+■l1O1111。1右移一位
■YnYn+l=0l,加兇補(bǔ)
00.1000111101最后一次不移位
定點(diǎn)運(yùn)算器----定點(diǎn)補(bǔ)碼一位乘法
結(jié)果:
[X*Y]補(bǔ)=0.10001111
游困的山就匾滔
定點(diǎn)運(yùn)算器定點(diǎn)補(bǔ)碼一位乘法
被乘數(shù)”
圖2.7補(bǔ)碼一位乘法邏輯原理圖
定點(diǎn)運(yùn)算器定點(diǎn)補(bǔ)碼一位乘法
0被乘數(shù)的符號(hào)X0和乘數(shù)的符號(hào)Y0都參加運(yùn)算。
0乘數(shù)寄存器R1有附加位Yn+1,其初始狀態(tài)為
“0”。當(dāng)乘數(shù)和部分積每次右移時(shí),部分積最低為移至R
1的首位位置,故R1必須是具有右移功能的寄存器。
0被乘數(shù)寄存器R2的每一位用原碼或反碼經(jīng)多路開關(guān)傳
送到加法器對應(yīng)位的一個(gè)輸入端,而開關(guān)的控制信號(hào)由Y口
丫一1的輸出譯碼器產(chǎn)生。當(dāng)丫「丫11+1=01時(shí),送[X]
補(bǔ);當(dāng)YnYn+1=10時(shí),送[-X]補(bǔ),即送R2的反
碼且在加法器最末位加上“1”。
0R0保存部分積,它也是具有右移功能的移位寄存器,
其符號(hào)位與加法器符號(hào)位始終一致。
當(dāng)計(jì)數(shù)器i=n+1時(shí),封鎖LDR1和LDR0控制信號(hào),
澇僧豳步不移位。
定點(diǎn)運(yùn)算器原碼并行乘法
前面講到的硬件
乘法器是常采用
“串行移位”和
“并行加法”相
結(jié)合的方法,雖
然所需器件不多,
但速度太慢,隨
著大規(guī)律集成電
路的高速發(fā)展,
高速的單元陣列
乘法器應(yīng)運(yùn)而生。
L不帶符號(hào)位的
陣列乘法器
瘠飄輟國就愿超
定點(diǎn)運(yùn)算器——一原碼并行乘法
[例]已知兩個(gè)不帶符號(hào)的二進(jìn)制整數(shù)A
=11011,5=10101,用原碼并行乘法求
4即值。(參見P39圖2.5)
第2章圖形\22swf
[110I1=A&7io)
X1011O01l1=B(21io)
4
ooOo
111I
Oo0uAo
十X11o1X1
1000110111=P
定點(diǎn)運(yùn)算器原碼并行乘法
①陣列乘法器之所以快速,因?yàn)殛嚵挟?dāng)中的行加
法器不是串行進(jìn)位,進(jìn)位位移到了下一行運(yùn)算,
因而提高了運(yùn)算速度,但最后一行是行波進(jìn)位。
②實(shí)現(xiàn)n位xn時(shí),要n?(n-1)個(gè)全加器和ri"與"
門。
③延遲時(shí)間:
tm=Ta+[(n-l)+(n-l)]XTf=(4n-2)T
其中丁己對應(yīng)圖2.8的上半部“與”門延遲時(shí)間
2TO
(n-1)對應(yīng)斜線的FA進(jìn)行延遲,單個(gè)為2T。
(n-1)對應(yīng)虛線框內(nèi)的行波進(jìn)位延遲。
定點(diǎn)運(yùn)算器——一原碼并行乘法
2,帶符號(hào)位的陣列乘法器
①對2求補(bǔ)器的電路圖(教材P40圖2.6)
..\?.\第2章圖形\23swf
E=l,對輸入的數(shù)求補(bǔ);
E=0,不求補(bǔ),輸出等于輸入。
求補(bǔ)的方法是按位掃描技術(shù)。
②帶求補(bǔ)電路的陣列乘法器
(教材P41圖2.7)
?.\..\第2章圖形\24swf
定點(diǎn)運(yùn)算器——一原碼并行乘法
[例]設(shè)X=+15,y=—13,用帶求補(bǔ)器的原碼陣
列乘法器求出乘積木?y=?
[解:]
設(shè)最高位為符號(hào)位,則輸入數(shù)據(jù)為
[*]原-01111[力原=11101
符號(hào)位單獨(dú)考慮,算前求補(bǔ)級后
|x|=1111,|y|=1101
1111
乂1101符號(hào)位運(yùn)算:0+1=1
1111
1111
+1111__________
11l:ll:l1:1011
定點(diǎn)運(yùn)算器——一原碼并行乘法
算后經(jīng)求補(bǔ)級輸出并加上乘積符號(hào)位1,則
原碼乘積值為111000011。
換算成二進(jìn)制數(shù)真值是
x?y=(—11000011)2=(-195)io
十進(jìn)制數(shù)驗(yàn)證:xXy=15義(-13)
=—195相等。
定點(diǎn)運(yùn)算器補(bǔ)碼并行乘法
補(bǔ)碼乘法因符號(hào)位參與運(yùn)算,可以完成補(bǔ)碼
數(shù)的“直接”乘法,而不需要求補(bǔ)級。這種直接
的方法排除了較慢的對2求補(bǔ)操作,因而大大加
速了乘法過程。
常規(guī)的一位全加器可假定它的3個(gè)輸入和
2個(gè)輸出都是正權(quán)。這種加法器通過把正權(quán)或
負(fù)權(quán)加到輸入/輸出端,可以歸納出四類加法
定點(diǎn)運(yùn)算器補(bǔ)碼并行乘法
[例20]設(shè)⑷補(bǔ)=(01101)〃網(wǎng)補(bǔ)=(11011)〃求[/X司補(bǔ)=?
[解:]
(0)1101=+13
⑴1011O11=-5
(0)1o1
(0)11O
(0)000
(0)1101
Q__aiwIQ1W
11
0(1)0111
1165
(1)10111=
驗(yàn)證:
-1X27+OX26+1X25+1X24+1X23+
1X22+1X21+1X2°
=—128+(32+16+8+4+2+1)
=—65
定點(diǎn)運(yùn)算器——一補(bǔ)碼并行乘法
補(bǔ)碼陣列乘法器參見P44圖2.8
1:\第2章圖形形5swf
在/X立乘/X立的一般情況下,該乘法器需要(〃
—2尸個(gè)0類全加器,(〃一2)個(gè)1類全加
器,(2/7—3)個(gè)2類全加器,1個(gè)3類全加器,
總共是"/7—1)個(gè)全加器。故所需的總乘
法時(shí)間是:
Tp=Ta+2(n-l)Tf=2T+(2n-2)2T=(4n-2)T
定點(diǎn)運(yùn)算器一定點(diǎn)原碼一位除法
定點(diǎn)原碼一位除法
在定點(diǎn)計(jì)算機(jī)中,完成兩個(gè)原碼表示的數(shù)相除時(shí),
商的符號(hào)由兩數(shù)的符號(hào)位按位異或得到,而商的數(shù)值
部分則是兩個(gè)正數(shù)相除得到。
設(shè)
被除數(shù)[X].=XfX1X2...Xn
除數(shù)[丫]原=丫「丫1丫2..工
則
商9]原=(X—f).(X1X2...Xn/Y1Y2...Yn)
定點(diǎn)除法一一定點(diǎn)原碼一位除法
計(jì)算機(jī)中執(zhí)行除法時(shí),商的符號(hào)位由
被除數(shù)和除數(shù)的符號(hào)位通過一個(gè)半加器實(shí)
現(xiàn),對于數(shù)值部分,由于定點(diǎn)數(shù)的絕對值
小于1,如果被除數(shù)大于或等于除數(shù),則商
就大于或等于1,因而會(huì)產(chǎn)生溢出,這是不
允許的。因此在執(zhí)行除法以前,先要判別
是否溢出,不溢出時(shí)才執(zhí)行除法運(yùn)算。判
別溢出的方法是被除數(shù)減去除數(shù),若差為
正,就表示溢出。
原碼一位除法一加減交替法
加減交替法的規(guī)則:
首先作X-Y,余數(shù)為正,表明產(chǎn)生溢出,應(yīng)
終止除法運(yùn)算;余數(shù)為負(fù),上商為0(作為商的
符號(hào)位),然后重復(fù)下述操作n次,可得商的Mi
數(shù)值
余數(shù)為正時(shí),商為1,余數(shù)左移一位,減除數(shù);
余數(shù)為負(fù)時(shí),商為0,余數(shù)左移一位,加除數(shù)。
由于運(yùn)算中余數(shù)共左移了n次,相當(dāng)于乘2%
故最后得余數(shù)應(yīng)乘上25才是真正的正確余數(shù)。
原碼一位除法一加減交替法
解:兇原=兇補(bǔ)=X=0.1001,[Y]補(bǔ)=0?1011,[-丫]補(bǔ)=1.0101
被除數(shù)X/余數(shù)r商數(shù)q說明
00.1001
+[-丫]補(bǔ)11.0101X減Y
11.1110余數(shù)s為負(fù)
+[丫]補(bǔ)”11.11000商0,r粕q左移一位
00.1011加Y
00.0111余數(shù)口為正
呼l,r和q左移一位
+『丫]補(bǔ)-00.11100.1
11.0101
00.0011余數(shù)上為正
國和左移一位
+[-丫]補(bǔ)-00.01100.11yq
11.0101
11.1011余數(shù)口為負(fù)
+[丫]補(bǔ)*11,01100.110冏0,屈lq左移一位
00.1011加Y
00.0001余數(shù)Q為正
瘠飄輟國就向超0.1101商1,僅q左移一位
原碼一位除法_加減交替法
?結(jié)果:
Q=0.1101
R=2-4*0,0001
原碼一位除法_加減交替法
被除效力余效r寄存器
,?n
際/寄N湍
Ro----Riq「--《—一
LDR0
LDR1
計(jì)數(shù)加
R2
除數(shù)y寄存器
錯(cuò)題
原碼一位除法一加減交替法
Ri寄存器為n位,是雙向移位寄存器,琮為雙向移位寄
存器。
除法開始前R1可存放被除數(shù)的低n位,R。保存被除數(shù)
或者余數(shù)。
在進(jìn)商左移的過程中,被除數(shù)(余數(shù))的低位部分
由Ri串行移至R。。經(jīng)n+1步后,求得n+1位商。
每次進(jìn)商置于用的最末位,由加法器符號(hào)位Ef來
設(shè)置,
運(yùn)算結(jié)束后凡存放n位的商,琮中存放余數(shù)。
補(bǔ)碼一位除法_加減交替法
補(bǔ)碼加減交替除法的算法規(guī)則如下:
(1)被除數(shù)與除數(shù)同號(hào),被除數(shù)減去除數(shù);被除數(shù)
與除數(shù)異號(hào),被除數(shù)加除數(shù);
(2)余數(shù)和除數(shù)同號(hào),商上1,余數(shù)左移一位,下
次減除數(shù);當(dāng)余數(shù)和除數(shù)異號(hào),商上0,余數(shù)左移
一位,下次加除數(shù)。
(3)重復(fù)步驟(2),包括符號(hào)位在內(nèi),共做n+1步。
為了統(tǒng)一并簡化控制線路,一開始上一次假商,
如果果]補(bǔ)和[y]補(bǔ)同號(hào),假商上1,正好控制下一次
做減法;如果[x]補(bǔ)和[y]補(bǔ)異號(hào),假商上0,正好控
制下一次做加法。
補(bǔ)碼一位除法_加減交替法
商的校正
在沒有特殊精度要求的情況下,一般就采用商的未
位“恒置「的方式進(jìn)行舍入,這樣簡單,便于實(shí)現(xiàn)。
如果要提高精度要求,可采用如下校正方法對商進(jìn)
行處理:
(1)剛好解除盡時(shí),如果除數(shù)為正,商不必校正;
如果除數(shù)為負(fù),則商加2-((最低位加1)
(2)不能除盡時(shí),如果商為正,則不必校正;如
果商為負(fù),則商加25。
補(bǔ)碼一位除法_加減交替法
?補(bǔ)碼一位除法的流程圖
圖2.13補(bǔ)碼加減交替除法算法流程圖
補(bǔ)碼一位除法一加減交管法
例:X=0.1001,Y=0.1011,求[X/Y]補(bǔ)
解:
兇補(bǔ)=0.1001
[Y]#=0.1011
[-Y]補(bǔ)=1.0101
補(bǔ)碼一位除法_加減交替法
解:[X]補(bǔ)=0?1001,[丫]補(bǔ)=0.1011,[-丫]補(bǔ)=1.0101
被除數(shù)/余數(shù)商數(shù)說明
00.10011融臚澗號(hào),5
+[一丫]補(bǔ)11.0101
X1O余數(shù)和除數(shù)異號(hào)
+rY7左移1位,商0
、k
LJ不
—加除數(shù)
00.0111余數(shù)和除數(shù)同號(hào)
00.1110101左移1位,商1
+[-丫]補(bǔ)11.0101減除數(shù)
00.0011余數(shù)和除數(shù)同號(hào)
00.01101011左移1位,商1
+[一丫]補(bǔ)11.0101減除數(shù)
余數(shù)和除數(shù)異號(hào)
rYU10110左移1位,商0
、k
L不
—加除數(shù)
00.0001余數(shù)和除數(shù)同號(hào)
00.00010.1101左移1位,商0
補(bǔ)碼?位除法
加減交替法
?結(jié)果:
澇闌如國就匾逋
定點(diǎn)運(yùn)算器并行設(shè)法
L可控加法/減法(CAS)單元
見教材P42圖2.9(a)
它有四個(gè)輸出端和四個(gè)輸入端。
當(dāng)輸入線P=0時(shí),CAS作加法運(yùn)算;
當(dāng)蛹入線P=1時(shí),CAS作減法運(yùn)算。
CAS單元的輸入與輸出的關(guān)系可用如下一組邏輯方程來
表示:
Si=A十(Bj十P)十q
G+]=(A+G)?但十P)+A£
當(dāng)P=0時(shí),即得我們熟悉的一位全加器(FA)的公式
當(dāng)P=1時(shí),即得求差公式
瘠翼的國就屬超
定點(diǎn)運(yùn)算器—外行除法
不恢復(fù)余數(shù)的陣列除法器0x2y5匕
在不恢復(fù)余數(shù)的除法陣列中,每
一行所執(zhí)行的操作究竟是加法
還是減法,取決于前一行輸出的
符號(hào)與被除數(shù)的符號(hào)是否一致。
①當(dāng)出現(xiàn)不夠減時(shí),部分余數(shù)
相對于被除數(shù)來說要改變符
號(hào)。這時(shí)應(yīng)該產(chǎn)生一個(gè)商位
“0”,除數(shù)首先沿對角線右移,
然后加到下一行的部分余數(shù)
CASnCASHCASnCAS□
上。
②當(dāng)部分余數(shù)不改變它的符
號(hào)時(shí),即產(chǎn)生商位“1”,下一行的余數(shù)r=3q日%
操作應(yīng)該是減法。(b)4位除4位陣列除法器遺較結(jié)構(gòu)圖
一個(gè)(n+1)位除(n+1)位的加減交替除法陣列由(n+l)2個(gè)CAS單元組成。
船僧如國就愿超除法執(zhí)行時(shí)間為Td=3(n+1)2T
定點(diǎn)運(yùn)算器—外行除法
[例]*=0.101001,y=0.111,求xfy。
[解:]Ly]補(bǔ)=1.001
被除數(shù)X0.101001
減-11.010l1o__o______O
■X-
余數(shù)為負(fù)11oOO1
■xX
余數(shù)左移o1l1
加尸■X
Oo1lo1>o1
■±X-X
余數(shù)為正O11o1
■X
余數(shù)左移Iol
減尸■
余數(shù)為負(fù)L1111<0%=0
余數(shù)左移LI11
加y0.111____________
余數(shù)為正0,110>0%=1
故得商q=%,%/%=0.101
澇園湖血居康徽r=(0.000^^)=0.000110
補(bǔ)充兩種加快除法運(yùn)算的算法
-O跳0跳1除法
這是一種對規(guī)格化小數(shù)絕對值相除的除法加速算法。
基本思想:當(dāng)余數(shù)的絕對值很小時(shí),可根據(jù)余數(shù)前幾
位代碼值再次求得幾位同為1或0的商。
基本規(guī)則:
lo如果余數(shù)R大于等于0,且R的高K個(gè)數(shù)位均為0,
則本次的商為1后跟K-1個(gè)0,R左移K位后,減去除數(shù)D,
得新余數(shù)。
2o如果余數(shù)R小于0,且R的高K個(gè)數(shù)位均為1,則
本次商為0后跟K-1個(gè)1,R左移K位后,加上除數(shù)D,得
新余數(shù)。
例題:M=0.1010000D=0.1100011
[-D]補(bǔ)=10011101
0.1010000
1.0011101M-D
1.1101101R<0,符號(hào)后有2位1,商為01
1.0110100左移兩位
0.1100011+D
0.0010111R>0,符號(hào)后有2位0,商為10
0.1011100左移兩位
1.0011101-D
1.1111001R<0,符號(hào)后有4位1,商為0111
最后得商Q=0.1100111(接下去可左移4位,+D繼續(xù)求
商)
二.用快速乘法器實(shí)現(xiàn)快速除法
按下式完成M/D:
M="X尸。X尸1X戶2X…XFr
DQX產(chǎn)0X尸?X產(chǎn)2X…xFr
由上式可知:遞乘幾次之后,可以使
-X-。X/X尸2X…XFrf1
則商應(yīng)為:MXFXFXFX???XF
ot?
若M和D為規(guī)格化正的二進(jìn)制小數(shù)代碼時(shí),可寫成:
D=\-61ovsw—>|
那么可取Fj的值如下:
-1+6
Z)o=Qx尸0=(1—b)(l+b)=l—/
々=1+b2
—尸)(1+尸)=1—尸
可見,當(dāng)i增大時(shí),Dj將很快趨近于1,其誤差為日?…
松園覦餌屈原囹
定點(diǎn)運(yùn)算器的組成
運(yùn)算器主要由算術(shù)邏輯部件,通用寄存器和狀態(tài)
寄存器組成。
前面講到的行波進(jìn)位加法器存在兩個(gè)大問題:
①由于串行進(jìn)位,所以它的運(yùn)算時(shí)間較長。
②只能完成算術(shù)運(yùn)算,不能進(jìn)行邏輯運(yùn)算。
多功能算術(shù)/邏輯運(yùn)算單元
1.基本思想
一位全加器(FA)的邏輯表達(dá)式為:
Fj=Aj④B*G
Ci”二AiBi+BjCj+QAi
為了將全加器的功能進(jìn)行擴(kuò)展以完成多種算術(shù)邏輯
運(yùn)算,我們先不將輸入%和以和下一位的進(jìn)位。直接進(jìn)
行全加,而是將Aj和瓦先組合成由控制參數(shù)S。,SPS2,
S3控制的組合函數(shù)4和Yj然后再將4,Yj和下一位進(jìn)
位數(shù)通過全加器進(jìn)行全加,這樣,不同的控制參數(shù)可以
得到不同的組合函數(shù),因而能夠?qū)崿F(xiàn)多種算術(shù)運(yùn)算和邏
輯運(yùn)算。
多功能算術(shù)/邏輯運(yùn)算單元
介Fi
Cn+i+lr------------------------.「
1n+i
——全加器--------
A/\
s、「Xi、Yi與控制參數(shù)和輸入量的關(guān)系
1---------?SOSIYiS2S3Xi
2A函數(shù)發(fā)生器
3?
AA00001
A1.
01A.B.01
1I.+B.
AiBiii
1010
A.1BI.4.i+Bi.
11011
A.1
多功能算術(shù)/邏海運(yùn)算單元
ALU的某一位邏輯表達(dá)式如下:
X^SOA.B.+SOA.K
J.O_L_L乙_LJL
Yi=Aj+SoBi+sH
Fi=Y@X@Cn+i
多功能算術(shù)/邏輯運(yùn)算單元
■每一位的進(jìn)位公式可遞推如下:
Cn+l=Yo+X()Cn
cm二-1=Y1+YoXi+XoX?
Cn+3=Y2+X2Cn+2=Y2+X2Y1+Y0X1X2+X0X1X2Cn
Ce=丫3+*3。(+3
=Y3+X3Y2+X2X3Y1+Y0X1X2X3+X0XxX2X3Cn
多功能算術(shù)/邏輯運(yùn)舁單兀
■設(shè):
G=Y3+X3丫2+X2X3Y1+XiX2X3Y0
P=X0X]X2X3
則:
=
Cn+4G+PCn
其中:G稱為進(jìn)位發(fā)生輸出
--------------------------------------------------------------------------
該式表明,第0位的進(jìn)位輸入可以直接傳送到最局進(jìn)
位位上主向而可以實(shí)現(xiàn)高萼晝—.
--------------------------
多功能算術(shù)/邏輯運(yùn)算單元
3.算術(shù)邏輯運(yùn)算的實(shí)現(xiàn)(74181ALU)
見教材P48圖2.11
M=1時(shí),進(jìn)行邏輯操作,因?yàn)榉怄i了各
位的進(jìn)位輸出,即Cn+產(chǎn)。
M=0時(shí),M對進(jìn)位信號(hào)無影響,進(jìn)行算
術(shù)運(yùn)算。
多功能算術(shù)/邏輯運(yùn)算單元
74181ALU方框圖如下:
74181ALU的功能表見P49表2,5
A1IO
2kLJ
/
o
d
—
7
/
S
v
多功能算術(shù)/邏輯運(yùn)算單元
4,兩級先行進(jìn)位的ALU
前面說過,74181ALU設(shè)置了P和G兩個(gè)本組先行
進(jìn)位輸出端。如果將四片74181的P,G輸出端送
入到74182先行進(jìn)位部件(CLA),又可實(shí)現(xiàn)第
二級的先行進(jìn)位,即組與組之間的先行進(jìn)位。
假設(shè)4片(組)74181的先行進(jìn)位輸出依次
為為,603卬1尸2?2/3?3,那么參考式(2.37)
的進(jìn)位邏輯表達(dá)式,先行進(jìn)位部件74182CLA所
提供的進(jìn)位邏輯關(guān)系如下:
多功能算術(shù)/邏輯運(yùn)算單元
Cn+x=Go+PoCn
Cn+y=Gi+P]Cn+*=Gi+GoPi+PoPiCn
Cn+Z-+P2Cn.|_y—G2+GXP2+G0P1P2+PoPiP2^n
Cn+4—G3+P3Cn+z=Gs+G2P3+GFF2+G°PiP2P3+
P°PF2P3。1
=G*+P*C;
其中P*=P0PiP2P3
G*=G3+G2P3+GFF2+G0P1P2P3
根據(jù)以上表達(dá)式,用TTL器件實(shí)現(xiàn)的成組先行進(jìn)位部件
74182的邏輯電路圖如教材P50圖2.12所示
其中G*稱為成組進(jìn)位發(fā)生輸出,P*稱為成組進(jìn)位傳送輸出。
多功能算術(shù)/邏輯運(yùn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度山西省高校教師資格證之高等教育心理學(xué)題庫檢測試卷B卷附答案
- 2023年激光診斷設(shè)備資金籌措計(jì)劃書
- 福建省泉州市高一上學(xué)期期末英語試題與參考答案
- 小學(xué)幼兒園智慧監(jiān)控系統(tǒng)方案建議書
- 2024奶牛養(yǎng)殖基地施工承包協(xié)議
- 2024暑期工勤工儉學(xué)勞動(dòng)協(xié)議示例
- 2024年借款居間協(xié)議格式樣本
- 2024年度采石場租賃運(yùn)營權(quán)轉(zhuǎn)移協(xié)議
- 2024陶瓷燒制加工承攬協(xié)議
- 2024專業(yè)居間服務(wù)借款協(xié)議范本
- 外貿(mào)報(bào)關(guān)用發(fā)票、裝箱單、合同、報(bào)關(guān)單模板
- 液壓技術(shù)與氣動(dòng)技術(shù)課程設(shè)計(jì)
- 建設(shè)項(xiàng)目全過程工程咨詢管理實(shí)施規(guī)劃
- 部編版小學(xué)語文四年級上冊習(xí)作七《寫信》PPT教學(xué)講座課件
- EN10130-2006冷成形用低碳鋼冷軋鋼板和鋼帶交貨技術(shù)條件
- 山東省產(chǎn)前篩查與診斷管理辦法實(shí)施細(xì)則
- 機(jī)械基礎(chǔ)軸上零件軸向固定公開課課件
- 管線工程測量施工方案(雨污分流管網(wǎng)工程)
- 上海鏈家房地產(chǎn)經(jīng)紀(jì)公司人員激勵(lì)機(jī)制存在的問題與對策分析
- 醫(yī)院基本建設(shè)存在的問題及對策
- 農(nóng)機(jī)修理工培訓(xùn)大綱
評論
0/150
提交評論