版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章運(yùn)算方法與運(yùn)算器第2章運(yùn)算方法與運(yùn)算器主要內(nèi)容:2.1計(jì)算機(jī)中的數(shù)據(jù)表示2.2定點(diǎn)數(shù)加、減法運(yùn)算 2.3定點(diǎn)數(shù)乘、除法運(yùn)算2.4浮點(diǎn)運(yùn)算介紹2.5運(yùn)算器的組成與結(jié)構(gòu)2.1數(shù)據(jù)信息的表示方法2.1.1計(jì)算機(jī)中的常用數(shù)制(略)2.1.2非數(shù)值型數(shù)據(jù)的表示(略) 2.1.3帶符號數(shù)的表示 2.1.4定點(diǎn)數(shù)與浮點(diǎn)數(shù) 2.1.3帶符號數(shù)的表示機(jī)器數(shù)——在機(jī)器內(nèi)使用的,連同正、負(fù)號一起數(shù)字化的數(shù)。1.原碼
規(guī)則:二進(jìn)制數(shù)的最高位為符號位,正數(shù)的符號位為0,負(fù)數(shù)的符號位為1,其余位為數(shù)的絕對值。定點(diǎn)小數(shù)的原碼定義定點(diǎn)整數(shù)的原碼定義0的原碼表示:[+0]原=00000000,[-0]原=10000000原碼舉例例:若機(jī)器字長n=8
[+35]原=(00100011)2
[-35]原=27-(-35)=(10000000)2+(00100011)2=(10100011)2
[+0.8125]原=(0.1101000)2
[-0.8125]原=1-(-0.8125)=(1.0000000)2+(0.1101000)2=(1.1101000)2練習(xí):求[±97]原課堂練習(xí)設(shè)字長n=8,根據(jù)原碼的定義分別求:[+97]原、[-97]原、[+0.97]原、[-0.97]原2.反碼
規(guī)則:正數(shù)的反碼與原碼相同;負(fù)數(shù)的反碼的符號位為1,其余位與原碼逐位相反。 定點(diǎn)小數(shù)反碼定義: 定點(diǎn)整數(shù)反碼定義:反碼舉例例:設(shè)機(jī)器字長n=8[+35]反=(00100011)2[-35]反=(28-1)+(-35)=(11111111)2-(00100011)2=(11011100)2[+0.8125]反=(0.1101000)2[-0.8125]反=(2-2-7)+(-0.8125)=(1.1111111)2-(0.1101000)2=(1.0010111)2
課堂練習(xí)設(shè)字長n=8,根據(jù)反碼的定義分別求:[+97]反、[-97]反、[+0.97]反、[-0.97]反3.補(bǔ)碼(1)為什么要引用補(bǔ)碼?目的是讓符號位也作為數(shù)值的一部份直接參與運(yùn)算,以簡化加、減運(yùn)算的規(guī)則;同時又能化減為加。(2)補(bǔ)碼表示法的思想來源來源于時鐘計(jì)時,例如:-2時和10時。時鐘計(jì)時的前提是以12為模,在這種有模運(yùn)算中,一個負(fù)數(shù)可以用一個與之互補(bǔ)的正數(shù)來代替如11=12+(-1)互補(bǔ)正數(shù)模負(fù)數(shù)(3)補(bǔ)碼的定義:[X]補(bǔ)=M+X(ModM)[X]補(bǔ)=XX≥0[X]補(bǔ)=M+X=M-|X|X<0其中模數(shù)M根據(jù)機(jī)器數(shù)的位數(shù)而定,如定點(diǎn)整數(shù),位數(shù)為N則M=2N;又如定點(diǎn)小數(shù),則M=2.用補(bǔ)碼表示的機(jī)器數(shù),符號位仍然表示數(shù)的符號:0為正,1為負(fù)。對于正數(shù),補(bǔ)碼與原碼相同,對于負(fù)數(shù)需要進(jìn)行變換。補(bǔ)碼舉例例:設(shè)機(jī)器字長為8位[-35]補(bǔ)=28+(-35)=(100000000)2-(00100011)2=(11011101)2
[-0.8125]補(bǔ)=2+(-0.8125)=(10.0000000)2-(0.1101000)2
=(1.0011000)2[X]補(bǔ)=M+X=M-|X|X<0[X]補(bǔ)=XX≥0整數(shù)時M=2n,小數(shù)時M=2課堂練習(xí)設(shè)字長n=8,根據(jù)補(bǔ)碼的定義分別求:[+93]補(bǔ)、[-93]補(bǔ)、[+0.93]補(bǔ)、[-0.93]補(bǔ)[X]補(bǔ)=M+X=M-|X|X<0[X]補(bǔ)=XX≥0整數(shù)時M=2n,小數(shù)時M=2(4)真值、原碼變換為補(bǔ)碼的方法正數(shù)的原碼與補(bǔ)碼相同;負(fù)數(shù)的原碼變換為補(bǔ)碼:保持符號位不變,其余各位變反,最低位加1。例將-59變換為補(bǔ)碼所以[-59]補(bǔ)=11000101原碼10111011變反11000100加111000101思考:補(bǔ)碼如何轉(zhuǎn)換為原碼?2.1.4定點(diǎn)數(shù)與浮點(diǎn)數(shù)1.數(shù)的定點(diǎn)表示2.數(shù)的浮點(diǎn)表示1.定點(diǎn)表示法無符號定點(diǎn)整數(shù):有符號定點(diǎn)整數(shù):帶符號定點(diǎn)小數(shù):
每一位均表示數(shù)的大小必須使用最高位來表示“±”號X0.X1X2…Xn,其中X0為符號位注意:在機(jī)器中,小數(shù)點(diǎn)是不存在的。例如:字長為8位時,Max=11111111,Min=00000000例如:字長為8位時,Max=01111111,Min=10000000例如:字長為8位時,-0.5=1.1000000,0.25=0.0100000注意事項(xiàng)定點(diǎn)數(shù)必須在指定范圍之內(nèi),否則會發(fā)生溢出。若數(shù)據(jù)小于定點(diǎn)數(shù)所能表示的最小值時,計(jì)算機(jī)將其作“0”處理,稱為下溢。若數(shù)據(jù)大于定點(diǎn)數(shù)能表示的最大值時,計(jì)算機(jī)將無法表示,稱為上溢。當(dāng)有溢出發(fā)生時,CPU中的狀態(tài)寄存器PSW中的溢出標(biāo)志位將設(shè)置為1,并進(jìn)行溢出處理。2.浮點(diǎn)數(shù)表示浮點(diǎn)數(shù)——數(shù)的小數(shù)點(diǎn)位置不固定。例如:N=1110.011=0.1110011×2+100B
=0.01110011×2+101B浮點(diǎn)數(shù)的一般形式:N=(-1)s×m×2e,其中,s為符號位,純小數(shù)m是尾數(shù),表示數(shù)的精度;整數(shù)e是階碼,表示數(shù)的范圍;2e為比例因子。IEEE754標(biāo)準(zhǔn)浮點(diǎn)型格式(Float型)階符S0……2223……3031階碼E尾碼M規(guī)格化浮點(diǎn)數(shù)非規(guī)格化浮點(diǎn)數(shù)2.2定點(diǎn)數(shù)加、減運(yùn)算2.2.1補(bǔ)碼加減運(yùn)算方法 2.2.2溢出判斷與移位 2.2.1補(bǔ)碼加減運(yùn)算方法采用補(bǔ)碼進(jìn)行加減運(yùn)算,操作數(shù)和結(jié)果均用補(bǔ)碼表示。運(yùn)算時所依據(jù)的基本關(guān)系如下:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)
求[-Y]補(bǔ)的方法:將[Y]補(bǔ)的各位(包括符號位)逐位取反再在最低位加1即可求得[-Y]補(bǔ)
1.加法運(yùn)算:[X+Y]補(bǔ)例1:X=74DY=-41D,求[X+Y]補(bǔ)[X]補(bǔ)=01001010[Y]補(bǔ)=110101110100101011010111+001000011自動舍去所以[X]補(bǔ)+[Y]補(bǔ)=[00100001]補(bǔ)=33D補(bǔ)碼加減運(yùn)算舉例 練習(xí):設(shè)X=-74D,Y=-41D,求[X+Y]補(bǔ)例2X=74DY=-41D,求[X-Y]補(bǔ)[X]補(bǔ)=01001010[Y]補(bǔ)=11010111[-Y]補(bǔ)=001010010100101000101001+011100111自動舍去故[X]補(bǔ)-[Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)=01110011=[115]補(bǔ)2.減法運(yùn)算:[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)練習(xí):設(shè)X=-74D,Y=-41D,求[X-Y]補(bǔ)2.2.2溢出判斷與移位1.溢出判斷方法 2.移位操作 3.舍入處理 1.溢出判斷方法溢出:運(yùn)算結(jié)果超出機(jī)器數(shù)所能表示的范圍。正溢:當(dāng)正數(shù)與正數(shù)相加或正數(shù)與負(fù)數(shù)相減時,絕對值超出機(jī)器允許表示的范圍。負(fù)溢:當(dāng)負(fù)數(shù)與負(fù)數(shù)相加或負(fù)數(shù)與正數(shù)相減時,絕對值超出機(jī)器允許表示的范圍。例如:設(shè)字長為5,含1位數(shù)符,則:負(fù)溢(2)A=-10B=-7-10+(-7):011111011011001(1)A=10B=710+7:010100011110001正溢結(jié)論:若SA、SB、Sf分別表示A、B、結(jié)果的符號,則:"溢出"=SASBSf+SASBSf根據(jù)符號位判斷例如:(1)A=10B=710+7:01010001110
10001正溢負(fù)溢(2)A=-10B=-7-10+(-7):1
011111011011001結(jié)論:若Cf為符號位運(yùn)算后產(chǎn)生的進(jìn)位,C為最高有效數(shù)位產(chǎn)生的進(jìn)位,則:
"溢出"=Cf+C根據(jù)符號位產(chǎn)生的進(jìn)位和最高有效數(shù)位產(chǎn)生的進(jìn)位判斷根據(jù)雙符號位來判斷(變形補(bǔ)碼判斷)例如:(1)A=10B=710+7:001010000111010001正溢負(fù)溢(2)A=-10B=-7-10+(-7):101111110110111001結(jié)論:用Sf1、Sf2分別表示第一、二符號位,則:
"溢出"=Sf1+Sf2課堂練習(xí)設(shè)字長為5位,數(shù)值位為4位,請用三種方法判斷是否有溢出:(1)已知A補(bǔ)=0.1100,B補(bǔ)=1.0010,計(jì)算A補(bǔ)+B補(bǔ)。(2)已知A補(bǔ)=1.1100,B補(bǔ)=1.0010,計(jì)算A補(bǔ)+B補(bǔ)。2.移位操作移位的意義根據(jù)移位的性質(zhì),可分為:邏輯移位:算術(shù)移位:循環(huán)移位:根據(jù)移位的方向,可分為:左移右移邏輯移位將移位對象看作沒有數(shù)值含義的一組二進(jìn)制代碼。在邏輯左移時,在最低位的空位添“0”;在邏輯右移時,在最高位的空位添“0”。10001111示例:左移000
11110應(yīng)用:用于串并轉(zhuǎn)換、位判斷或位修改實(shí)現(xiàn)方法:寄存器內(nèi)移位、寄存器間斜位傳送算術(shù)移位數(shù)字代碼具有數(shù)值意義,且?guī)в蟹栁?,操作過程中保證符號位不變。帶符號數(shù)的移位規(guī)則表正數(shù)碼制添補(bǔ)規(guī)則(符號位不變)負(fù)數(shù)碼制添補(bǔ)規(guī)則(符號位不變)原碼空位均添“0”原碼空位添“0”補(bǔ)碼空位均添“0”補(bǔ)碼左移添“0”,右移添“1”反碼空位均添“0”反碼空位添“1”(1)單符號位:00111(7)01110(14)(2)雙符號位:001110
000111正數(shù)補(bǔ)碼算術(shù)移位規(guī)則移位規(guī)則左移右移右移0
0110(6)0
0011(3)左移左移右移右移011100
001110000111
數(shù)符不變、空位補(bǔ)0
注意,對一雙符號數(shù),要確保第一符號位不變01100(12)左移(1)單符號位:11011(-5)10110(-10)(2)雙符號位:101100(-4)110110(-10)負(fù)數(shù)補(bǔ)碼算術(shù)移位規(guī)則移位規(guī)則左移右移右移1
1011(-5)11101(-3)左移右移右移110110(-10)11
1011(-5)
數(shù)符位不變、左移空位補(bǔ)0、右移空位補(bǔ)1注意:對于雙符號數(shù),要確保第一符號位不變
循環(huán)移位進(jìn)位進(jìn)位進(jìn)位進(jìn)位(a)小循環(huán)左移(b)小循環(huán)右移(c)大循環(huán)左移(d)大循環(huán)右移循環(huán)移位示意圖課堂練習(xí)已知字長為5,請分別采用單符號位和雙符號位將以下數(shù)值進(jìn)行算術(shù)左移和算術(shù)右移,并思考如何判定是否發(fā)生溢出。13、-13、0.85、-0.853.舍入處理1.“0舍1入”法 與十進(jìn)制中的“四舍五入”類似:若第n+1位是“0”,則直接舍去;若第n+1位是“1”,則舍去第n+1位,并在第n位做加“1”修正。
2.末位恒置“1”法 舍去第n+1位,并將第n位恒置“1”。2.3定點(diǎn)數(shù)乘、除法運(yùn)算2.3.1原碼一位乘 2.3.2補(bǔ)碼一位乘 2.3.3原碼一位除2.3.4補(bǔ)碼一位除(略)2.3.1原碼一位乘法1.手工計(jì)算2.分步乘法(自動計(jì)算)3.算法流程0.1101×0.101111011101000011010.10001111上符號:1.10001111部分積1.手工計(jì)算例如:設(shè)X=0.1101,Y=-0.1011,求XY=?2.分步乘法(自動計(jì)算)基本技巧:每次將一位乘數(shù)所對應(yīng)的部分積與原部分積的累加和相加,并移位。例如:設(shè)X=0.1101,Y=-0.1011,求XY=?首先設(shè)置三個寄存器A、B、C,開始時:A=00.0000B=|X|=00.1101C=|Y|=.1011
問題:將多個位積一次相加,機(jī)器難以實(shí)現(xiàn);最后乘積的位數(shù)隨著乘數(shù)位數(shù)的增多而增多;計(jì)算機(jī)中的加法器每次只能完成兩個數(shù)的加操作步數(shù)條件操作AC00.0000.1011
1)Cn=1+BCn+00.110100.110100.01101.1012)Cn=1+B+00.110101.001100.100111.103)Cn=0+0+00.000000.100100.0100111.14)Cn=1+B+00.110101.000100.100011113.算法流程開始0→A,|X|→B,|Y|→C,0→CRCn=1?(A)+(B)→A(A)+0→A(A,C)右移一位Cn=n?SX⊕SY→SA,(SA,A,C)即為結(jié)果結(jié)束YNNY課堂練習(xí)設(shè)字長為6(符號位可達(dá)2位),已知X=3,Y=-4,求[XY]原
2.3.2補(bǔ)碼一位乘法1.算法分析2.Booth算法(比較法算法)3.運(yùn)算實(shí)例4.運(yùn)算規(guī)則1.算法分析X補(bǔ)
=X0.X1X2……Xn,Y補(bǔ)
=Y0.Y1Y2……Yn(1)Y>0時:Y補(bǔ)
=0.Y1Y2……Yn(XY)補(bǔ)
=X補(bǔ)(0.Y1Y2……Yn)(2)Y<0時:Y補(bǔ)
=1.Y1Y2……Yn,
因Y補(bǔ)=2+Y,Y=Y補(bǔ)-2=1.Y1Y2……Yn-2=0.Y1Y2……Yn-1
故(XY)補(bǔ)
=X補(bǔ)(0.Y1Y2……Yn)-X補(bǔ)(3)Y符號任意:
(XY)補(bǔ)
=X補(bǔ)(0.Y1Y2……Yn)-X補(bǔ)Y0(4)展開為部分積的累加和形式(XY)補(bǔ)
=X補(bǔ)(0.Y1Y2……Yn)-X補(bǔ)Y0=X補(bǔ)(-Y0+2-1Y1+2-2Y2+2-3Y3+…+2-nYn)=X補(bǔ)[-Y0+(Y1-2-1Y1)+(2-1Y2-2-2Y2)+(2-2Y3-2-3Y3)+…+(2-(n-1)Yn-2-nYn)+0]=X補(bǔ)[(Y1-Y0)+2-1(Y2-Y1)+2-2(Y3-Y2)+…+2-(n-1)(Yn-Yn-1)+2-n(0-Yn)]
若采用分步計(jì)算,設(shè)[A0]補(bǔ)=0為初始部分積,[A1]補(bǔ)……[An]補(bǔ)依次為每一步所得部分積,則:
[A1]補(bǔ)=2-1([A0]補(bǔ)+(Yn+1-Yn)[X]補(bǔ))[A2]補(bǔ)=2-1([A1]補(bǔ)+(Yn-Yn-1)[X]補(bǔ))……[An]補(bǔ)=2-1([An-1]補(bǔ)+(Y2-Y1)[X]補(bǔ))(XY)補(bǔ)=[An]補(bǔ)
+(Y1-Y0)[X]補(bǔ)
(Yn+1-Yn)]增設(shè)附加位Yn+1=0可見,每一步計(jì)算只需比較乘數(shù)的相鄰兩位數(shù)之差即可決定是+X補(bǔ)、還是-X補(bǔ)或+0。因此,這種計(jì)算乘積的方法稱為比較法。
2.比較法算法YnYn+1Yn+1-Yn操作(A補(bǔ)為部分積累加和)00011011
1/2A補(bǔ)
1/2(A補(bǔ)+X補(bǔ))1/2(A補(bǔ)-X補(bǔ))1/2A補(bǔ)01-103.運(yùn)算實(shí)例X=-0.1101,Y=0.1011,求(XY)補(bǔ)。初值:A=00.0000,B=X補(bǔ)=11.0011,-B=(-X)補(bǔ)=00.1101,C=Y補(bǔ)=0.1011分步計(jì)算過程:步驟條件操作部分積A乘數(shù)CC-n附加位C-(n+1)說明初始值C-nC-(n+1)00.00000.10110第一步10-B+00.1101部分積+[-X]補(bǔ)右移一位00.1101→00.011010.101
1第二步11+0+00.0000部分積+0右移一位00.0110→00.0011010.10
1第三步01+B+11.0011部分積+[X]補(bǔ)右移一位11.0110→11.10110010.1
0第四步10-B+00.1101部分積+[-X]補(bǔ)右移一位00.1000→00.010000010.1第五步01+B+11.0011部分積+[X]補(bǔ)不移位11.01110001(1)A、B取雙符號位,符號參加運(yùn)算;(2)C取單符號位,符號參加移位,以決定最后是否修正;(3)C末位設(shè)置附加位Cn+1,初值為0,CnCn+1組成判斷位,決定運(yùn)算操作;(4)做n+1步操作,其中n步循環(huán),最后一步不移位。
4.運(yùn)算規(guī)則拓展:原碼兩位乘法1.兩位乘數(shù)四種可能的組合及解決思路+2|X|的實(shí)現(xiàn):被乘數(shù)|X|左移1位,再加部份積+3|X|的實(shí)現(xiàn):+3|X|=-|X|+4|X|,故:先執(zhí)行-|X|,之后部份積右移兩位再加|X|可放到下次操作時執(zhí)行。實(shí)現(xiàn)時使用觸發(fā)器Cj來記錄是否欠下+4|X|,若欠下則Cj置1,否則置0原碼兩位乘法的實(shí)際操作2.原碼兩位乘法的運(yùn)算規(guī)則兩個乘數(shù)的符號位不參加運(yùn)算,最后將兩個乘數(shù)的符號位相異或即可得到乘積的符號。由于運(yùn)算中有+2|X|的操作,與部分積累加后可能會產(chǎn)生向第二符號位的進(jìn)位,所以部分積與被乘數(shù)應(yīng)該設(shè)三位符號位,以保證每次累加所產(chǎn)生的進(jìn)位及最高符號位的可靠性;在乘數(shù)末位增加一位初始值為“0”的Cj。。按照上表相關(guān)步驟進(jìn)行操作。若乘數(shù)的位數(shù)n為奇數(shù)時,采用單符號位,每步處理兩位,恰好做(n+1)/2步,由于最后一步只含一位數(shù)值位,所以最后一步只右移一位;若n為偶數(shù)時,采用雙符號位,每步處理兩位,做(n/2)+1步,最后一步不移位。原碼兩位乘法舉例已知X=-87,Y=97,求[XY]原設(shè)A=000.0000000B=|X|=000.1010111C=|Y|=0.1100001–B=-|X|=111.0101001,+2B=+2|X|=001.0101110步驟條件操作部分積A乘數(shù)CCjS0000.00000000.11000010S1010+B2+000.1010111000.1010111000.0010101110.110000S20002000.000010101110.1100S3100+2B2+001.0101110001.0110011000.01011001101110.10S4010+B1+000.1010111001.0000011000.100000111101110.0[XY]原=-10000011110111=-84392.3.3原碼一位除1.手工計(jì)算2.原碼恢得余數(shù)法(略)3.原碼不恢復(fù)余數(shù)法(略)——又稱
加減交替法例.0.10110÷0.111110.1011011010.01111110.11111000111111101010111111101100.00000.0.商:0.10110余數(shù):0.10110×25實(shí)現(xiàn)除法的關(guān)鍵:比較余數(shù)和除數(shù)的絕對值大小,以決定上商。1.手工計(jì)算機(jī)器執(zhí)行除法計(jì)算的實(shí)現(xiàn)(1)機(jī)器計(jì)算的關(guān)鍵問題關(guān)鍵是如何判斷夠減。(2)如何判斷夠減——用減法試探余數(shù)×2-除數(shù)=新余數(shù)(3)不夠減時如何處理先求新余數(shù),再判斷。若新余數(shù)為正,表示夠減,商1;否則,表示不夠減,商0,恢復(fù)原余數(shù)。(1)只計(jì)算|X|÷|Y|,符號位單獨(dú)處理,但A和B必須設(shè)雙符號位,同時要求|X|<|Y|(3)最后一步所得余數(shù)若為負(fù),則必須恢復(fù)余數(shù)(即執(zhí)行ri+|Y|)。2.原碼恢得余數(shù)法(2)分步計(jì)算時,先判斷余數(shù)ri的符號,如果為正表示夠減,上商Qi=1同時執(zhí)行2ri-|Y|;否則上商Qi=0同時執(zhí)行2ri+|Y|。原碼恢得余數(shù)法運(yùn)算規(guī)則案例演示【例2-18】已知X=-0.1011,Y=-0.1101,求[X÷Y]原解:[X]原=1.1011,[Y]原=1.1101,設(shè)A=|X|=00.1011,B=|Y|=00.1101,-|Y|=11.0011,C=|Q|=0.0000計(jì)算過程見P38頁3.原碼不恢復(fù)余數(shù)法(1)原碼恢復(fù)余數(shù)法的分析:
當(dāng)余數(shù)r>0時,商“1”,再將r左移一位后減去除數(shù)|Y|,即2r-|Y|。
當(dāng)余數(shù)r<0時,商“0”,此時要先恢復(fù)余數(shù)(r+|Y|),然后將恢復(fù)后的余數(shù)再左移一位減去除數(shù)|Y|,即2(r+|Y|)-|Y|=2r+|Y|??梢?,當(dāng)r>0時,商“1”并做2r-|Y|;當(dāng)r<0時,商“0”并2r+|Y|,這完全不需要再回復(fù)余數(shù),故將這種方法稱為“加減交替法”或“不恢復(fù)余數(shù)法”,(2)原碼不恢復(fù)余數(shù)法的運(yùn)算規(guī)則:符號位不參加運(yùn)算,對于定點(diǎn)小數(shù)要求|被除數(shù)|<|除數(shù)|??蓪⒈怀龜?shù)當(dāng)做初始余數(shù),當(dāng)余數(shù)r>0時,商上“1”,余數(shù)左移一位,再減去除數(shù);當(dāng)余數(shù)r<0時,商上“0”,余數(shù)左移一位,再加上除數(shù)。求n位商時(不含商符),需要做n次“左移、加/減”操作。若第n步余數(shù)為負(fù)時,則需要增加一步——加上除數(shù)恢復(fù)余數(shù),使得最終的余數(shù)仍為絕對值形式,注意最后增加的一步不需要移位,最后的余數(shù)為r×2-4(與被除數(shù)同號)。案例演示【例2-19】已知X=-0.1011,Y=0.1101,用加減交替法求[X÷Y]原。解:[X]原=1.1011,[Y]原=1.1101,
設(shè)A=|X|=00.1011,B=|Y|=00.1101,-|Y|=11.0011,C=|Q|=0.0000。計(jì)算過程見39頁2.5定點(diǎn)運(yùn)算器的設(shè)計(jì)與組織2.5.1加法器 2.5.2算術(shù)邏輯單元 2.5.3定點(diǎn)運(yùn)算器 2.5.4浮點(diǎn)運(yùn)算器(略) 2.5.1加法器
1.加法單元的設(shè)計(jì)加法單元——實(shí)現(xiàn)加法運(yùn)算的邏輯電路。半加——相加時,只考慮本位的相加,而不考慮低位來的進(jìn)位。全加——相加時,除了考慮本位的相加外,還要考慮低位來的進(jìn)位。FAAiSiCiBiCi-1HAAiBiSiCi半加器邏輯符號全加器邏輯符號全加器的輸入/輸出加法單元i本位操作數(shù)AiBi低位進(jìn)位Ci-1本位Ci進(jìn)位∑i本位和AiBiCi-1∑iCi0000001010100101100100110011011010111111思考:輸入與輸出之間有何關(guān)系?一般由與或門、與或非門、異或門組成(1)無低位進(jìn)位時,兩個輸入相異時本位和為1,相同時為0;有低位進(jìn)位時,反之.(2)當(dāng)兩個輸入相同時,本位進(jìn)位不受有關(guān)低位進(jìn)位的影響.(3)當(dāng)兩個輸入相異時,低位進(jìn)位決定本位進(jìn)位(即有低位進(jìn)位就有本位進(jìn)位)AiBiCi-1∑iCi0000001010100101100100110011011010111111
輸入與輸出的關(guān)系
運(yùn)算邏輯(原變量輸入)∑i
=(Ai⊕Bi)⊕Ci-1Ci=AiBi+(Ai⊕Bi)Ci-1AiBiCi-1∑iCi0000001010100101100100110011011010111111=1&Ai∑iCiBiCi-1&≥1=12.進(jìn)位鏈的設(shè)計(jì)進(jìn)位鏈的基本邏輯關(guān)系Ci=AiBi+(Ai⊕Bi)Ci-1=AiBi+(Ai⊕Bi)Ci-1=AiBi+(Ai+Bi)Ci-1令Gi=AiBi,Pi=Ai⊕Bi=Ai⊕Bi=Ai+Bi,則Ci=Gi+PiCi-1進(jìn)位產(chǎn)生函數(shù)傳送進(jìn)位或條件進(jìn)位進(jìn)位鏈的設(shè)計(jì)串行進(jìn)位加法器優(yōu)點(diǎn):電路簡單缺點(diǎn):速度慢FA3C0FA2FA1FA0C-1C1C2C3S0S1S2S3B0B1B2B3A0A1A2A32.進(jìn)位鏈的設(shè)計(jì)
并行進(jìn)位加法器 可以根據(jù)輸入信號同時形成各位向高位的進(jìn)位,而不必逐級傳遞進(jìn)位信號,又被稱為先行進(jìn)位加法器、超前進(jìn)位加法器。
例如:4位二進(jìn)制數(shù)相加時,產(chǎn)生的進(jìn)位表達(dá)式如下:進(jìn)位鏈的設(shè)計(jì)2.進(jìn)位鏈的設(shè)計(jì)分級、分組進(jìn)位加法器(1)組內(nèi)并行、組間串行的進(jìn)位鏈第四組第二組第一組第三組B3~B0,A3~A0B7~B4,A7~A4B11~B8,A11~A8B15~B12,A15~A12C3C2C1C0C7C6C5C4C11C10C9C8C15C14C13C12C-1進(jìn)位鏈的設(shè)計(jì)組內(nèi)并行、組間并行的進(jìn)位鏈第二級進(jìn)位鏈第四組第二組第一組第三組B3~B0,A3~A0B7~B4,A7~A4B11~B8,A11~A8B15~B12,A15~A12
C2C1C0
C6C5C4
C10C9C8
C14C13
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年外研版2024九年級化學(xué)下冊月考試卷含答案
- 二零二五年度科研機(jī)構(gòu)隔音降噪施工合同
- 2025年滬科版九年級地理下冊階段測試試卷
- 2025年人教版九年級化學(xué)上冊階段測試試卷
- 2025年人教版二年級語文上冊階段測試試卷含答案
- 2025年滬科版高三化學(xué)下冊月考試卷
- 2025年北師大版八年級生物上冊月考試卷含答案
- 2025年外研版2024九年級地理下冊月考試卷含答案
- 2025年北師大版八年級化學(xué)下冊月考試卷
- 2025年人教A版選擇性必修2物理上冊月考試卷
- 初中語文人教七年級上冊朝花夕拾學(xué)生導(dǎo)讀單
- 山西鄉(xiāng)寧焦煤集團(tuán)臺頭煤焦公司礦井兼并重組整合項(xiàng)目初步設(shè)計(jì)安全專篇
- 弱電工程自檢報告
- 民法案例分析教程(第五版)完整版課件全套ppt教學(xué)教程最全電子教案
- DB33∕T 628.1-2021 交通建設(shè)工程工程量清單計(jì)價規(guī)范 第1部分:公路工程
- 國家電網(wǎng)有限公司十八項(xiàng)電網(wǎng)重大反事故措施(修訂版)
- (完整版)八年級上綜合性學(xué)習(xí)-我們的互聯(lián)網(wǎng)時代-練習(xí)卷(含答案)
- 吉林省自學(xué)考試畢業(yè)生登記表
- 切線長定理、弦切角定理、切割線定理、相交弦定理93336
- 重慶市公路水運(yùn)工程工地試驗(yàn)室管理實(shí)施細(xì)則
- 銷售員心態(tài)突破與自我激勵
評論
0/150
提交評論