版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1,第4章,數(shù)值的 機(jī)器運(yùn)算,2,第4章,了解-Y補(bǔ)的含義和求-Y補(bǔ)的方法 掌握定點(diǎn)加法和減法運(yùn)算方法 了解溢出產(chǎn)生的原因 掌握3種溢出檢測方法的區(qū)別,特別是雙符號位補(bǔ)碼判斷溢出的特點(diǎn) 掌握補(bǔ)碼的左移、右移運(yùn)算方法 了解常見的舍入操作方法 理解原碼一位乘法運(yùn)算方法 掌握補(bǔ)碼一位乘法運(yùn)算方法,3,第4章,了解補(bǔ)碼兩位乘法運(yùn)算方法 理解原碼加減交替除法運(yùn)算方法 掌握補(bǔ)碼加減交替除法運(yùn)算方法 理解浮點(diǎn)加、減、乘、除運(yùn)算的過程 理解一位十進(jìn)制整數(shù)的加法運(yùn)算 理解邏輯運(yùn)算的特點(diǎn) 了解運(yùn)算器的基本結(jié)構(gòu) 掌握典型的ALU芯片(74181、74182) 了解浮點(diǎn)協(xié)處理器的作用,4,第4章,了解串行加法器與并行
2、加法器的區(qū)別 理解進(jìn)位產(chǎn)生和進(jìn)位傳遞的概念 掌握并行加法器不同進(jìn)位方式的特點(diǎn)與區(qū)別,5,第4章,運(yùn)算器是計(jì)算機(jī)進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的主要部件 運(yùn)算器的邏輯結(jié)構(gòu)取決于機(jī)器的指令系統(tǒng)、數(shù)據(jù)表示方法和運(yùn)算方法等 本章討論數(shù)值數(shù)據(jù)在計(jì)算機(jī)中實(shí)現(xiàn)算術(shù)運(yùn)算和邏輯運(yùn)算的方法,以及運(yùn)算部件的基本結(jié)構(gòu)和工作原理,6,第4章,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn) 4.2 定點(diǎn)加減運(yùn)算 4.3 帶符號數(shù)的移位和舍入操作 4.4 定點(diǎn)乘法運(yùn)算 4.5 定點(diǎn)除法運(yùn)算 4.6 規(guī)格化浮點(diǎn)運(yùn)算 4.7 十進(jìn)制整數(shù)的加減運(yùn)算 4.8 邏輯運(yùn)算與實(shí)現(xiàn) 4.9 運(yùn)算器的基本組成與實(shí)例,7,4.2 定點(diǎn)加減運(yùn)算,4.2.1 原碼加減運(yùn)算
3、原碼加減運(yùn)算,符號位不參與運(yùn)算,僅兩數(shù)的絕對值參與運(yùn)算 實(shí)際操作是加還是減,不僅取決于指令的操作碼,還取決于兩個(gè)操作數(shù)的符號 如:加法時(shí)可能要做減法(兩數(shù)異號);減法時(shí)可能做加法(兩數(shù)異號),8,4.2 定點(diǎn)加減運(yùn)算,4.2.2 補(bǔ)碼加減運(yùn)算 1.補(bǔ)碼加法 補(bǔ)碼相加,符號位參加運(yùn)算,兩數(shù)和的補(bǔ)碼等于兩數(shù)補(bǔ)碼之和 X+Y補(bǔ)=X補(bǔ)+Y補(bǔ),9,4.2 定點(diǎn)加減運(yùn)算,X+Y補(bǔ)=X補(bǔ)+Y補(bǔ) 證明: 1. X0, Y0 (X+Y)0 X補(bǔ)=X, Y補(bǔ)=Y X補(bǔ)+Y補(bǔ)=X+Y=X+Y補(bǔ),10,4.2 定點(diǎn)加減運(yùn)算,2. X0, Y0 (X+Y)0 由補(bǔ)碼定義:X補(bǔ)=M+X, Y補(bǔ)=M+Y (mod M) X
4、補(bǔ)+Y補(bǔ)=M+X+M+Y =M+(M+X+Y) =M+X+Y補(bǔ) =X+Y補(bǔ)(mod M),11,2.1 數(shù)值數(shù)據(jù)的表示,2.補(bǔ)碼表示 若真值為純小數(shù),補(bǔ)碼形式為Xs.X1X2Xn,其中Xs表示符號位,(mod 2),12,2.1 數(shù)值數(shù)據(jù)的表示,若真值為純整數(shù),補(bǔ)碼形式為XsX1X2Xn,其中Xs表示符號位,(mod 2n+1),13,4.2 定點(diǎn)加減運(yùn)算,2. X0, Y0 由補(bǔ)碼定義:X補(bǔ)=X, Y補(bǔ)=M+Y (mod M) X補(bǔ)+Y補(bǔ)=X+M+Y =M+X+Y (X+Y) 0時(shí),X補(bǔ)+Y補(bǔ)=M+X+Y=X+Y補(bǔ)(mod M) (X+Y)0時(shí), ,X補(bǔ)+Y補(bǔ)=M+X+Y=X+Y補(bǔ)(mod
5、M),14,4.2 定點(diǎn)加減運(yùn)算,4.2.2 補(bǔ)碼加減運(yùn)算 2.補(bǔ)碼減法 X-Y補(bǔ)=X+(-Y)補(bǔ)=X補(bǔ)+-Y補(bǔ),15,解:,16,4.2 定點(diǎn)加減運(yùn)算,4.2.2 補(bǔ)碼加減運(yùn)算 已知Y補(bǔ)求-Y補(bǔ):將Y補(bǔ)連同符號位一起求反,末尾加“1” -Y補(bǔ)稱為Y補(bǔ)的機(jī)器負(fù)數(shù) 由Y補(bǔ)求-Y補(bǔ)的過程稱為對Y補(bǔ)變補(bǔ)(求補(bǔ)) -Y補(bǔ)=Y補(bǔ)變補(bǔ),17,4.2 定點(diǎn)加減運(yùn)算,“某數(shù)的補(bǔ)碼表示”與“變補(bǔ)”的區(qū)別 Y補(bǔ)表示的真值如果是正數(shù),則變補(bǔ)后-Y補(bǔ)所表示真值變?yōu)樨?fù)數(shù),反之亦然,18,4.2 定點(diǎn)加減運(yùn)算,例1:Y=-0.0110 Y補(bǔ)=1.1010 -Y補(bǔ)=0.0110,19,4.2 定點(diǎn)加減運(yùn)算,例2:Y=0.0
6、110 Y補(bǔ)=0.0110 -Y補(bǔ)=1.1010,20,4.2 定點(diǎn)加減運(yùn)算,3.補(bǔ)碼加減運(yùn)算規(guī)則 (1)參加運(yùn)算的兩個(gè)操作數(shù)均用補(bǔ)碼表示; (2)符號位作為數(shù)的一部分參加運(yùn)算; (3)若做加法,則兩數(shù)直接相加;若做減法,則將被減數(shù)與減數(shù)的機(jī)器負(fù)數(shù)相加; (4)運(yùn)算結(jié)果用補(bǔ)碼表示,21,4.2 定點(diǎn)加減運(yùn)算,例1:A=0.1011,B=-0.1110,求:A+B A補(bǔ)=0.1011,B補(bǔ)=1.0010 0.1011 + 1.0010,1.1101,A+B補(bǔ)=1.1101,A+B=-0.0011,22,4.2 定點(diǎn)加減運(yùn)算,0.1101 A-B補(bǔ)=0.1101, A-B=0.1101,例2:A=
7、0.1011,B=-0.0010,求:A-B A補(bǔ)=0.1011,B補(bǔ)=1.1110, -B補(bǔ)=0.0010 0.1011 + 0.0010,23,4.2 定點(diǎn)加減運(yùn)算,4.符號擴(kuò)展 將給定位數(shù)表示的數(shù)轉(zhuǎn)換成具有更多位數(shù)的某種表示形式 如,將一個(gè)8位數(shù)與一個(gè)32位數(shù)相加,必須將8位數(shù)轉(zhuǎn)換成32位數(shù)形式,稱為“符號擴(kuò)展”,24,4.2 定點(diǎn)加減運(yùn)算,4.符號擴(kuò)展 計(jì)算13和-5的和,用補(bǔ)碼表示 13用16位二進(jìn)制表示為0000000000001101 -5用6位二進(jìn)制表示為111011,25,4.2 定點(diǎn)加減運(yùn)算,4.符號擴(kuò)展,0000000000001101,+ 000000000011101
8、1,0000000001001000,13,-5,72,26,4.2 定點(diǎn)加減運(yùn)算,4.符號擴(kuò)展 對于補(bǔ)碼,原有符號位保持不變,若為正數(shù),所有附加位都用0進(jìn)行填充,若為負(fù)數(shù)則所有附加位都用1進(jìn)行填充 即用符號位來填充附加的高位,27,4.2 定點(diǎn)加減運(yùn)算,4.符號擴(kuò)展,0000000000001101,+ 1111111111111011,10000000000001000,13,-5,8,28,4.2 定點(diǎn)加減運(yùn)算,例:將用8位二進(jìn)制補(bǔ)碼表示的十進(jìn)制數(shù)121,擴(kuò)展成16位二進(jìn)制補(bǔ)碼,結(jié)果用十六進(jìn)制表示 解:121:10000111, 1111111110000111= FF87H,29,4.
9、2 定點(diǎn)加減運(yùn)算,4.2.3 補(bǔ)碼的溢出判斷與檢測方法 1.溢出的產(chǎn)生 兩個(gè)正數(shù)相加,結(jié)果的符號位為1(結(jié)果為負(fù)) 兩個(gè)負(fù)數(shù)相加,結(jié)果的符號位為0(結(jié)果為正),30,4.2 定點(diǎn)加減運(yùn)算,例1:X=1011B=11D,Y=111B=7D X補(bǔ)=0,1011,Y補(bǔ)=0,0111,0,1 0 1 1,+ 0,0 1 1 1,1,0 0 1 0,X+Y補(bǔ)=1,0010 X+Y=-1110B=-14D 兩正數(shù)相加結(jié)果為-14D,是錯(cuò)誤的,31,4.2 定點(diǎn)加減運(yùn)算,例2:X=-1011B=-11D,Y=-111B=-7D X補(bǔ)=1,0101 Y補(bǔ)=1,1001,X+Y補(bǔ)=0,1110 X+Y=1110
10、B=14D 兩負(fù)數(shù)相加結(jié)果為14D,是錯(cuò)誤的,1,0 1 0 1,+ 1,1 0 0 1,0,1 1 1 0,32,4.2 定點(diǎn)加減運(yùn)算,為什么會發(fā)生這種錯(cuò)誤呢? 兩數(shù)相加之和的數(shù)值已超過了機(jī)器允許的表示范圍 字長為n+1位的定點(diǎn)整數(shù)(其中一位為符號位),采用補(bǔ)碼表示,當(dāng)運(yùn)算結(jié)果大于2n-1或小于-2n時(shí),產(chǎn)生溢出,33,4.2 定點(diǎn)加減運(yùn)算,設(shè)參加運(yùn)算的兩數(shù)為X、Y,做加法運(yùn)算 若X、Y異號,不會溢出 若X、Y同號,運(yùn)算結(jié)果為正且大于所能表示的最大正數(shù)或運(yùn)算結(jié)果為負(fù)且小于所能表示的最小負(fù)數(shù)(絕對值最大的負(fù)數(shù))時(shí),產(chǎn)生溢出 將兩正數(shù)相加產(chǎn)生的溢出稱為正溢;反之,兩負(fù)數(shù)相加產(chǎn)生的溢出稱為負(fù)溢,3
11、4,4.2 定點(diǎn)加減運(yùn)算,2. 溢出檢測方法 設(shè):被操作數(shù)為:X補(bǔ)=Xs,X1X2Xn 操作數(shù)為:Y補(bǔ)=Ys,Y1Y2Yn 其和(差)為:S補(bǔ)=Ss,S1S2Sn,35,4.2 定點(diǎn)加減運(yùn)算,2. 溢出檢測方法 (1)采用一個(gè)符號位 兩正數(shù)相加,結(jié)果為負(fù)產(chǎn)生正溢;兩負(fù)數(shù)相加, 結(jié)果為正產(chǎn)生負(fù)溢 當(dāng)Xs=Ys=0,Ss=1時(shí),產(chǎn)生正溢 當(dāng)Xs=Ys=1,Ss=0時(shí),產(chǎn)生負(fù)溢,36,4.2 定點(diǎn)加減運(yùn)算,2. 溢出檢測方法 溢出=XsYsSs+XsYsSs = (Xs xor Ss)(Ys xor Ss),37,4.2 定點(diǎn)加減運(yùn)算,(2)采用進(jìn)位位 兩數(shù)運(yùn)算時(shí),產(chǎn)生的進(jìn)位為 Cs,C1C2Cn,
12、 其中:Cs為符號位產(chǎn)生的進(jìn)位,C1為最高數(shù)值位 產(chǎn)生的進(jìn)位,38,4.2 定點(diǎn)加減運(yùn)算,(2)采用進(jìn)位位 兩正數(shù)相加,當(dāng)最高有效位產(chǎn)生進(jìn)位(C1=1)而符號位不產(chǎn)生進(jìn)位(Cs=0)時(shí),發(fā)生正溢 兩負(fù)數(shù)相加,當(dāng)最高有效位沒有進(jìn)位(C1=0)而符號位產(chǎn)生進(jìn)位(Cs=1)時(shí),發(fā)生負(fù)溢,39,4.2 定點(diǎn)加減運(yùn)算,1,1,1,1,1,1,3,7,10,-3,-7,-10,40,4.2 定點(diǎn)加減運(yùn)算,1,1,1,1,1,1,11,7,-14,-11,-7,14,41,4.2 定點(diǎn)加減運(yùn)算,(3)采用變形補(bǔ)碼(雙符號位補(bǔ)碼) 左邊的符號位Ss1叫真符,代表該數(shù)真正的符號,兩個(gè)符號位都作為數(shù)的一部分參加運(yùn)
13、算 Ss1Ss2=00 結(jié)果為正數(shù),無溢出 Ss1Ss2=01 結(jié)果正溢 Ss1Ss2=10 結(jié)果負(fù)溢 Ss1Ss2=11 結(jié)果為負(fù)數(shù),無溢出,42,4.2 定點(diǎn)加減運(yùn)算,兩位符號位的值不一致時(shí),表明產(chǎn)生溢出 溢出=Ss1SS2,注意,43,4.2 定點(diǎn)加減運(yùn)算,字長為5位,表示范圍為-1615,采用變形補(bǔ)碼(雙符號位)運(yùn)算 11+7=18(正溢,大于15) 0 0,1 0 1 1 + 0 0,0 1 1 1,0 1,0 0 1 0,-11+(-7)=-18(負(fù)溢,小于-16) 1 1,0 1 0 1 + 1 1,1 0 0 1,1 0,1 1 1 0,44,4.2 定點(diǎn)加減運(yùn)算,補(bǔ)碼定點(diǎn)加減
14、運(yùn)算的實(shí)現(xiàn),45,已知X和Y,用變形補(bǔ)碼計(jì)算X+Y和X-Y,同 時(shí)指出運(yùn)算結(jié)果是否溢出 X=27/32, Y=31/32 X=13/16, Y=-11/16,4.2 定點(diǎn)加減運(yùn)算,46,第4章,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn) 4.2 定點(diǎn)加減運(yùn)算 4.3 帶符號數(shù)的移位和舍入操作 4.4 定點(diǎn)乘法運(yùn)算 4.5 定點(diǎn)除法運(yùn)算 4.6 規(guī)格化浮點(diǎn)運(yùn)算 4.7 十進(jìn)制整數(shù)的加減運(yùn)算 4.8 邏輯運(yùn)算與實(shí)現(xiàn) 4.9 運(yùn)算器的基本組成與實(shí)例,47,4.3 帶符號數(shù)的移位和舍入操作,4.3.1 帶符號數(shù)的移位操作 算術(shù)移位保持?jǐn)?shù)的符號不變,數(shù)值的大小發(fā)生變化。左移一位數(shù)值增大一倍,相當(dāng)于該數(shù)乘以2,右移一位則
15、使數(shù)值縮小一倍,相當(dāng)于該數(shù)除以2 1.原碼的移位規(guī)則 負(fù)數(shù)的原碼移位后的空出位補(bǔ)0,48,4.3 帶符號數(shù)的移位和舍入操作,2.補(bǔ)碼的移位規(guī)則 負(fù)數(shù)的補(bǔ)碼左移后的空出位補(bǔ)0,右移后的空出位補(bǔ)1,49,4.3 帶符號數(shù)的移位和舍入操作,3. 移位功能的實(shí)現(xiàn) 移位操作由移位寄存器來實(shí)現(xiàn) 不設(shè)置專門的移位寄存器,在加法器的輸出端加一個(gè)實(shí)現(xiàn)直傳、左移一位和右移一位的控制邏輯電路(稱為移位器) 分別用2FL、FL和F/2L 這三個(gè)不同控制信號選擇左移、直傳和右移操作,50,4.3 帶符號數(shù)的移位和舍入操作,51,4.3 帶符號數(shù)的移位和舍入操作,4.3.2 帶符號數(shù)的舍入操作 算術(shù)右移中,受硬件限制,運(yùn)
16、算結(jié)果可能舍去一定的尾數(shù),為了縮小誤差,進(jìn)行舍入處理 1.恒舍(切斷) 無論多余部分q位為何代碼,一律舍去,保留部分p位不作任何改變,保留部分p位,多余部分q位,p+q位,52,4.3 帶符號數(shù)的移位和舍入操作,2. 馮諾依曼舍入法 又稱為恒置1法,不論多余部分q位為何代碼,把p位的最低位置1,保留部分p位,多余部分q位,p+q位,保留部分p位,多余部分q位,p+q位,1,保留部分最低位為1,保留部分最低位為0,53,4.3 帶符號數(shù)的移位和舍入操作,3. 下舍上入法 又稱0舍1入。舍去的q位的最高位作為判斷標(biāo)志,如為0,舍去q位部分,如為1,在p位部分的最低位加1,保留部分p位,多余部分q位
17、,p+q位,多余部分最高位為0,多余部分最高位為1,保留部分p位,多余部分q位,p+q位,1,+,1,1,1,54,4.3 帶符號數(shù)的移位和舍入操作,4.查表舍入法,55,4.3 帶符號數(shù)的移位和舍入操作,4.查表舍入法 ROM存放下溢處理表,每次查表讀處理結(jié)果 ROM表的容量為2K,每個(gè)單元字長為K-1位 下溢處理表的內(nèi)容是:當(dāng)K位數(shù)據(jù)的高K-1位為全“1”時(shí),按截?cái)喾ㄌ钊隟-1位全“1”,其余單元都按最低位(即附加位)0舍1入的結(jié)果來填其內(nèi)容,地址 內(nèi)容 000 00 001 01 010 01 011 10 100 10 101 11 11 111 11,56,第4章,4.1 基本算術(shù)運(yùn)
18、算的實(shí)現(xiàn) 4.2 定點(diǎn)加減運(yùn)算 4.3 帶符號數(shù)的移位和舍入操作 4.4 定點(diǎn)乘法運(yùn)算 4.5 定點(diǎn)除法運(yùn)算 4.6 規(guī)格化浮點(diǎn)運(yùn)算 4.7 十進(jìn)制整數(shù)的加減運(yùn)算 4.8 邏輯運(yùn)算與實(shí)現(xiàn) 4.9 運(yùn)算器的基本組成與實(shí)例,57,4.4 定點(diǎn)乘法運(yùn)算,4.4.1 原碼一位乘法 兩個(gè)操作數(shù)的絕對值相乘,乘積的符號為兩操作數(shù)符號的異或值 乘積 P|X|Y| 符號Ps=XsYs,58,1. 分析筆算乘法,A = 0.1101 B = 0.1011,AB = 0.10001111,0 . 1 1 0 1,0 . 1 0 1 1,1 1 0 1,1 1 0 1,0 0 0 0,1 1 0 1,0 . 1 0
19、 0 0 1 1 1 1,符號位單獨(dú)處理,乘數(shù)的某一位決定是否加被乘數(shù),4個(gè)位積一起相加,乘積的位數(shù)擴(kuò)大一倍,乘積的符號心算求得,?,4.4 定點(diǎn)乘法運(yùn)算,59,A B = A 0.1011,= 0.1A + 0.00A + 0.001A +0.0001A,= 0.1A + 0.00A + 0.001( A +0.1A),= 0.1A + 0.010 A + 0. 1( A +0.1A),= 0.1A +0.1 0 A+0.1(A + 0.1A),= 2-1A +2-1 0 A+2-1(A + 2-1(A+0),第一步 被乘數(shù)A + 0,第二步 右移 一 位,得新的部分積,第八步 右移 一 位
20、,得結(jié)果,第三步 部分積 + 被乘數(shù),4.4 定點(diǎn)乘法運(yùn)算,60,4.4 定點(diǎn)乘法運(yùn)算,原碼一位乘法的規(guī)則為: 參加運(yùn)算的操作數(shù)取其絕對值; 令乘數(shù)的最低位為判斷位,若為“1”,加被乘數(shù),若為“0”,不加被乘數(shù)(加0); 累加后的部分積右移一位; 重復(fù)n次和; 符號位單獨(dú)處理,同號為正,異號為負(fù),61,4.4 定點(diǎn)乘法運(yùn)算,乘法運(yùn)算需要3個(gè)寄存器: A寄存器: 部分積與最后乘積的高位部分,初值為0 B寄存器:被乘數(shù)X C寄存器:乘數(shù)Y,運(yùn)算后C寄存器中不再需要保留乘數(shù),改為存放乘積的低位部分,62,4.4 定點(diǎn)乘法運(yùn)算,已知:X=0.1101,Y=-0.1011,求:XY。 |X|=0.110
21、1B,|Y|=0.1011C,0A 符號位不參加運(yùn)算 A、C寄存器級聯(lián),右移。,63,4.4 定點(diǎn)乘法運(yùn)算,A C 說明,0 0.0 0 0 0 1 0 1 1,+|X| 0 0.1 1 0 1 C4=1,+|X|,0 0.1 1 0 1, 0 0.0 1 1 0 1 1 0 1 部分積右移一位,0 1.0 0 1 1,+|X| 0 0.1 1 0 1 C4=1,+|X|, 0 0.1 0 0 1 1 1 1 0 部分積右移一位,+0 0 0.0 0 0 0 C4=0,+0,0 0.1 0 0 1, 0 0.0 1 0 0 1 1 1 1 部分積右移一位,+|X| 0 0.1 1 0 1 C4
22、=1,+|X|,0 1.0 0 0 1, 0 0.1 0 0 0 1 1 1 1 部分積右移一位,PS=XSYS=01=1 XY=-0.10001111,64,乘法 運(yùn)算可用 加和移位實(shí)現(xiàn) n = 4,加 4 次,移 4 次,4.4 定點(diǎn)乘法運(yùn)算,65,4.4 定點(diǎn)乘法運(yùn)算,66,4.4 定點(diǎn)乘法運(yùn)算,67,4.4 定點(diǎn)乘法運(yùn)算,4.4.2 補(bǔ)碼一位乘法 校正法 X符號任意,Y為正 X補(bǔ)=Xs.X1X2Xn = 2+X(mod 2)=2n+1+X(mod 2) Y補(bǔ)=0.Y1Y2Yn=Y X補(bǔ)Y補(bǔ) = X補(bǔ)Y=(2n+1+X)Y= 2n+1Y+XY X補(bǔ) Y補(bǔ) = 2+XY = XY補(bǔ)(mod
23、 2),68,4.4 定點(diǎn)乘法運(yùn)算,4.4.2 補(bǔ)碼一位乘法 X符號任意,Y為負(fù) X補(bǔ)=Xs.X1X2Xn = 2+X(mod 2) Y補(bǔ)=1.Y1Y2Yn= 2+Y(mod 2) Y=Y補(bǔ) 2 = 1.Y1Y2Yn-2 = 0.Y1Y2Yn-1 X Y=X (0.Y1Y2Yn) - X X Y補(bǔ) = X (0.Y1Y2Yn)補(bǔ) + -X補(bǔ) X Y補(bǔ) = X補(bǔ) (0.Y1Y2Yn) + -X補(bǔ),69,4.4 定點(diǎn)乘法運(yùn)算,4.4.2 補(bǔ)碼一位乘法 校正法 X Y補(bǔ) = X補(bǔ) (0.Y1Y2Yn) + -X補(bǔ)Ys,70,4.4 定點(diǎn)乘法運(yùn)算,4.4.2 補(bǔ)碼一位乘法 比較法Booth乘法 被乘數(shù)
24、X補(bǔ)=Xs.X1X2Xn,乘數(shù)Y補(bǔ)=Ys.Y1Y2Yn 在乘數(shù)的最低位之后增加一位附加位Yn+1,它的初值為0,增加附加位不會影響運(yùn)算結(jié)果 每次運(yùn)算取決于乘數(shù)相鄰兩位Yi、Yi+1的值,稱為乘法的判斷位。根據(jù)校正法的統(tǒng)一表達(dá)式推出:由乘數(shù)相鄰兩位的比較結(jié)果(Yi+1-Yi)來確定運(yùn)算操作,71,Booth 算法,x y補(bǔ),2-1,2-2,附加位 yn+1,72, Booth 算法遞推公式,z0補(bǔ)= 0,z1補(bǔ)= 2-1(yn+1yn)x補(bǔ)+z0補(bǔ) yn+1 = 0,zn補(bǔ)= 2-1(y2y1)x補(bǔ)+zn-1補(bǔ),x y補(bǔ)= zn補(bǔ)+(y1y0)x補(bǔ),最后一步不移位,如何實(shí)現(xiàn) yi+1yi ?,0
25、 0,0 1,1 0,1 1,0,1,-1,0,73,4.4 定點(diǎn)乘法運(yùn)算,Booth乘法規(guī)則如下: 參加運(yùn)算的數(shù)用補(bǔ)碼表示; 符號位參加運(yùn)算; 乘數(shù)最低位后面增加一位附加位Yn+1,其初值為0; 由于每求一次部分積要右移一位,所以乘數(shù)的最低兩位Yn、Yn+1的值決定了每次應(yīng)執(zhí)行的操作;,74,4.4 定點(diǎn)乘法運(yùn)算,判斷位Yn Yn+1 操 作 0 0 原部分積右移一位 0 1 原部分積加X補(bǔ)后右移一位 1 0 原部分積加-X補(bǔ)后右移一位 1 1 原部分積右移一位,75,4.4 定點(diǎn)乘法運(yùn)算, 移位按補(bǔ)碼右移規(guī)則進(jìn)行; 共需做n+1次累加,n次移位,第n+1次不移位,76,4.4 定點(diǎn)乘法運(yùn)算
26、,注意: 部分積取2位符號位 乘數(shù)取1位符號位 補(bǔ)碼右移規(guī)則 最后一步不移位,77,4.4 定點(diǎn)乘法運(yùn)算,例:已知X=-0.1101,Y=0.1011;求XY。 X補(bǔ)=1.0011B,Y補(bǔ)=0.1011C,0A -X補(bǔ)=0.1101,78,4.4 定點(diǎn)乘法運(yùn)算,A C 附加位 說明,0 0.0 0 0 0 0.1 0 1 1 0,+-X補(bǔ) 0 0.1 1 0 1 C4C5=10,+-X補(bǔ),0 0.1 1 0 1, 0 0.0 1 1 0 1 0 1 0 1 1 部分積右移一位,+0 0 0.0 0 0 0 C4C5=11,+0,0 0.0 1 1 0, 0 0.0 0 1 1 0 1 0 1
27、0 1 部分積右移一位,+X補(bǔ) 1 1.0 0 1 1 C4C5=01,+X補(bǔ),1 1.0 1 1 0, 1 1.1 0 1 1 0 0 1 0 1 0 部分積右移一位,+-X補(bǔ) 0 0.1 1 0 1 C4C5=10,+-X補(bǔ),0 0.1 0 0 0, 0 0.0 1 0 0 0 0 0 1 0 1 部分積右移一位,+X補(bǔ) 1 1.0 0 1 1 C4C5=01,+X補(bǔ),1 1.0 1 1 1,XY補(bǔ)=1.01110001 XY=-0.10001111,79,4.4 定點(diǎn)乘法運(yùn)算,80,4.4 定點(diǎn)乘法運(yùn)算,81,4.4 定點(diǎn)乘法運(yùn)算,例:X=18/32, Y=-21/32, 求X*Y,82
28、,4.4 定點(diǎn)乘法運(yùn)算,4.4.3 補(bǔ)碼兩位乘法 每次處理乘數(shù)中的兩位,使乘法的速度提一倍 兩位乘法分為原碼兩位乘法和補(bǔ)碼兩位乘法 由Booth乘法推導(dǎo)出補(bǔ)碼兩位乘法,把補(bǔ)碼兩位乘理解為將Booth乘法的兩次合并為一次來做,83,4.4 定點(diǎn)乘法運(yùn)算,4.4.3 補(bǔ)碼兩位乘法,84,4.4 定點(diǎn)乘法運(yùn)算,補(bǔ)碼兩位乘法可通過Yi-1YiYi+1三位的不同組合來判斷原部分積與X補(bǔ)的運(yùn)算情況,然后右移兩位得到新的部分積,85,4.4 定點(diǎn)乘法運(yùn)算,補(bǔ)碼兩位乘法規(guī)則: 參加運(yùn)算的數(shù)用補(bǔ)碼表示; 符號位參加運(yùn)算; 乘數(shù)最低位后增加一位附加位Yn+1,初值為0; 根據(jù)乘數(shù)的最低三位Yn-1YnYn+1的值
29、決定每次應(yīng)執(zhí)行的操作; 移位按補(bǔ)碼右移規(guī)則進(jìn)行 比較結(jié)果(Yi+1+Yi-2Yi-1),86,4.4 定點(diǎn)乘法運(yùn)算,Yn-1YnYn+1 0 0 0 +0,右移2位 0 0 1 +X補(bǔ),右移2位 0 1 0 +X補(bǔ),右移2位 0 1 1 +2X補(bǔ),右移2位 1 0 0 +2-X補(bǔ),右移2位 1 0 1 +-X補(bǔ),右移2位 1 1 0 +-X補(bǔ),右移2位 1 1 1 +0,右移2位,87,4.4 定點(diǎn)乘法運(yùn)算,被乘數(shù)和部分積取三符號位,當(dāng)乘數(shù)的數(shù)值位n 為偶數(shù)時(shí),乘數(shù)取兩符號位 共需作(n/2)+1次累加,n/2次移位(最后一次不移位) 當(dāng)n為奇數(shù)時(shí),乘數(shù)只需一個(gè)符號位,共需(n1)/2次累加和
30、移位,但最后一次僅移一位,88,4.4 定點(diǎn)乘法運(yùn)算,已知:X0.0110011,Y-0.0110010,求:XY X補(bǔ)=000.0110011B, Y補(bǔ)=1.1001110C, 0A 2X補(bǔ)=000.1100110,-X補(bǔ)=111.1001101, 2-X補(bǔ)=111.0011010,89,4.4 定點(diǎn)乘法運(yùn)算,A C 附加位,+2-X補(bǔ) 1 1 1.0 0 1 1 0 1 0,0 0 0.0 0 0 0 0 0 0 1.1 0 0 1 1 1 0 0,1 1 1.0 0 1 1 0 1 0,2 1 1 1.1 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1,+0 0 0 0.0
31、0 0 0 0 0 0,1 1 1.1 1 0 0 1 1 0,2 1 1 1.1 1 1 1 0 0 1 1 0 1 0 1 1 0 0 1,+ X補(bǔ) 0 0 0.0 1 1 0 0 1 1,0 0 0.0 1 0 1 1 0 0,2 0 0 0.0 0 0 1 0 1 1 0 0 1 0 1 0 1 1 0,+ -X補(bǔ) 1 1 1.1 0 0 1 1 0 1,1 1 1.1 0 1 1 0 0 0,1 1 1 1.1 1 0 1 1 0 0 0 0 0 1 0 1 0 1 1,XY補(bǔ)1.11011000001010 XY-0.00100111110110,90,4.4 定點(diǎn)乘法運(yùn)算,91,
32、4.4.4 陣列乘法器 兩個(gè)不帶符號的二進(jìn)制整數(shù): Aam1a1a0 Bbn1b1b0 它們的數(shù)值分別為a和b,即 m1 n1 a ai2ib bj2j i0 j0,4.4 定點(diǎn)乘法運(yùn)算,92,4.4.4 陣列乘法器 二進(jìn)制乘法中,被乘數(shù)A與乘數(shù)B相乘,產(chǎn)生mn位乘積 Ppmn1p1p0,乘積P 的數(shù)值為,93,4.4 定點(diǎn)乘法運(yùn)算,4.4.4 陣列乘法器,94,4.4 定點(diǎn)乘法運(yùn)算,4.4.4 陣列乘法器,95,第4章,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn) 4.2 定點(diǎn)加減運(yùn)算 4.3 帶符號數(shù)的移位和舍入操作 4.4 定點(diǎn)乘法運(yùn)算 4.5 定點(diǎn)除法運(yùn)算 4.6 規(guī)格化浮點(diǎn)運(yùn)算 4.7 十進(jìn)制整數(shù)的加
33、減運(yùn)算 4.8 邏輯運(yùn)算與實(shí)現(xiàn) 4.9 運(yùn)算器的基本組成與實(shí)例,96,1. 分析筆算除法,x = 0.1011 y = 0.1101 求 xy,0 . 1 0 1 1,0 . 1 1 0 1,0 . 0 1 1 0 1,0 . 0 1 0 0 1,0 . 0 0 1 1 0 1,0 . 0 0 0 1 0 1,0 . 0 0 0 0 1 1 0 1,0 . 0 0 0 0 0 1 1 1,1,商符單獨(dú)處理,心算上商,余數(shù)不動低位補(bǔ)“0” 減右移一位的除數(shù),上商位置不固定,商符心算求得,0,0 .,1,0,1,0,0,0,?,?,?,4.5 定點(diǎn)除法運(yùn)算,4.5.1 原碼除法運(yùn)算,97,商符單獨(dú)
34、處理,心算上商,符號位異或形成,| x | | y | 0 上商 1,| x | | y | 0 上商 0,上商位置 不固定,在寄存器 最末位上商,4.5 定點(diǎn)除法運(yùn)算,98,4.5 定點(diǎn)除法運(yùn)算,1.原碼比較法和恢復(fù)余數(shù)法 (1) 比較法 將除數(shù)右移改為余數(shù)左移 對兩個(gè)操作數(shù)進(jìn)行比較(AB?),需要設(shè)置比較線路,從而增加了硬件的代價(jià),99,4.5 定點(diǎn)除法運(yùn)算,(2)恢復(fù)余數(shù)法 不管被除數(shù)(或余數(shù))減除數(shù)是否夠減,都先做減法 若余數(shù)為正,表示夠減,該位商上“1”;若余數(shù)為負(fù),表示不夠減,該位商上“0”,并要恢復(fù)原來的被除數(shù)(或余數(shù)),100,4.5 定點(diǎn)除法運(yùn)算,由于余數(shù)的正、負(fù)是根據(jù)不同的
35、操作數(shù)組合隨機(jī)出現(xiàn),除法運(yùn)算的實(shí)際操作次數(shù)不固定,控制電路比較復(fù)雜 恢復(fù)余數(shù)時(shí),要多作一次加法,降低了執(zhí)行速度原碼恢復(fù)余數(shù)法在計(jì)算機(jī)中很少采用,101,余數(shù) Ri0 上商 “1”,2Ri y*,余數(shù) Ri0 上商 “0”, Ri + y* 恢復(fù)余數(shù),2( Ri+y*) y* = 2Ri + y*,加減交替,恢復(fù)余數(shù)法運(yùn)算規(guī)則,不恢復(fù)余數(shù)法運(yùn)算規(guī)則,上商“1” 2Ri y*,上商“0” 2Ri + y*,2.原碼不恢復(fù)余數(shù)法(原碼加減交替法),4.5 定點(diǎn)除法運(yùn)算,102,4.5 定點(diǎn)除法運(yùn)算,當(dāng)出現(xiàn)不夠減(負(fù)余數(shù))的情況,不需恢復(fù)余數(shù),可直接做下一次操作,但操作是2Ri + y* ,結(jié)果與恢復(fù)
36、余數(shù)后左移一位再減Y是等效的,103,4.5 定點(diǎn)除法運(yùn)算,除法運(yùn)算需3個(gè)寄存器: A寄存器:存被除數(shù)X,最后A寄存器中是擴(kuò)大了若干倍的余數(shù) B寄存器:存除數(shù)Y C寄存器:存商Q,初值為0,104,4.5 定點(diǎn)除法運(yùn)算,例:已知X=0.10101,Y=-0.11110,求:XY。 | X|=0.10101A,|Y|=0.11110B,0C |Y|變補(bǔ)=1.00010,105,4.5 定點(diǎn)除法運(yùn)算,A C 說明,0 0.1 0 1 0 1 0.0 0 0 0 0,+|Y|變補(bǔ) 1 1.0 0 0 1 0 -|Y|,1 1.1 0 1 1 1 0.0 0 0 0 0 余數(shù)為負(fù),商0, 1 1.0
37、1 1 1 0 左移一位,+|Y| 0 0.1 1 1 1 0 +|Y|,0 0.0 1 1 0 0 0.0 0 0 0 1 余數(shù)為正,商1, 0 0.1 1 0 0 0 左移一位,+|Y|變補(bǔ) 1 1.0 0 0 1 0 -|Y|,1 1.1 1 0 1 0 0.0 0 0 1 0 余數(shù)為負(fù),商0, 1 1.1 0 1 0 0 左移一位,+|Y| 0 0.1 1 1 1 0 +|Y|,0 0.1 0 0 1 0 0.0 0 1 0 1 余數(shù)為正,商1, 0 1.0 0 1 0 0 左移一位,+|Y|變補(bǔ) 1 1.0 0 0 1 0 -|Y|,0 0.0 0 1 1 0 0.0 1 0 1 1
38、 余數(shù)為正,商1, 0 0.0 1 1 0 0 左移一位,+|Y|變補(bǔ) 1 1.0 0 0 1 0 -|Y|,1 1.0 1 1 1 0 0.1 0 1 1 0 余數(shù)為負(fù),商0,+|Y| 0 0.1 1 1 1 0 恢復(fù)余數(shù),+|Y|,0 0.0 1 1 0 0,106,4.5 定點(diǎn)除法運(yùn)算,經(jīng)過原碼加減交替除法,有: 商=0.10110 余數(shù)=0.011002-5 XY=-(0.10110+ ),0.011002-5,0.11110,107,4.5 定點(diǎn)除法運(yùn)算,108,4.5 定點(diǎn)除法運(yùn)算,109,4.5 定點(diǎn)除法運(yùn)算,定點(diǎn)小數(shù)除法運(yùn)算時(shí),為了防止溢出,要求被除數(shù)的絕對值小于除數(shù)的絕對值,
39、即|X|Y|,且除數(shù)不能為0 原碼加減交替法,當(dāng)最終余數(shù)為負(fù)數(shù)時(shí),必須恢復(fù)一次余數(shù),使之變?yōu)檎嬗鄶?shù),注意此時(shí)不需要再左移了,110,4.4 定點(diǎn)乘法運(yùn)算,例:X=-0. 10101, Y=0. 11011, 求X/Y,111,4.5 定點(diǎn)除法運(yùn)算,4.5.2 補(bǔ)碼除法運(yùn)算 被除數(shù)和除數(shù)都用補(bǔ)碼表示,符號位參加運(yùn)算 需要解決3個(gè)問題: 如何確定商值 如何形成商符 如何獲得新的余數(shù),112,補(bǔ)碼表示很難直接判斷其真值大小,如,十進(jìn)制,錯(cuò),錯(cuò),0,10101,1,01011,0,11111,1,00001,+10101, 10101,+11111, 11111,二進(jìn)制,補(bǔ)碼,2.2 機(jī)器數(shù)的定點(diǎn)表示
40、與浮點(diǎn)表示,113,2.2 機(jī)器數(shù)的定點(diǎn)表示與浮點(diǎn)表示,2.規(guī)格化的浮點(diǎn)數(shù) 規(guī)定尾數(shù)的最高數(shù)位必須是一個(gè)有效值 1/r |M| 1 如果r=2,則有1/2|M|1,0.1*,114,(2) 規(guī)格化數(shù)的判斷,M0,真值,原碼,補(bǔ)碼,反碼,規(guī)格化形式,M 0 M-1/2,規(guī)格化形式,真值,原碼,補(bǔ)碼,反碼,原碼 不論正數(shù)、負(fù)數(shù),第一數(shù)位為1,補(bǔ)碼 符號位和第 一數(shù)位不同,2.2 機(jī)器數(shù)的定點(diǎn)表示與浮點(diǎn)表示,115,Ri補(bǔ)= 0.1000,(1) 商值的確定,x補(bǔ) = 0.1011,y補(bǔ) = 1.1101,Ri補(bǔ)= 0.1000,x補(bǔ) = 1.1101,y補(bǔ) = 0.1011,x*y*,Ri補(bǔ)與y補(bǔ)
41、同號,“夠減”,x*y*,Ri補(bǔ)與y補(bǔ)異號,“不夠減”,+,+, 比較被除數(shù)和除數(shù)真值的絕對值的大小,x 與 y 同號,4.5 定點(diǎn)除法運(yùn)算,116,小結(jié),x補(bǔ) = 0.1011,y補(bǔ) = 1.1101,Ri補(bǔ)= 0.1000,x補(bǔ) = 1.1101,y補(bǔ) = 0.1011,Ri補(bǔ)= 0.1000,x*y*,Ri補(bǔ)與y補(bǔ)異號,“夠減”,x*y*,Ri補(bǔ)與y補(bǔ)同號,“不夠減”,+,+,x 與 y 異號,4.5 定點(diǎn)除法運(yùn)算,117, 商值的確定,x補(bǔ)與 y補(bǔ)同號,正商,按原碼上商,x補(bǔ)與 y補(bǔ)異號,負(fù)商,按反碼上商,末位恒置“1”法,小 結(jié),簡 化 為,(同號),(異號),(異號),(同號),.
42、 1,118,(2) 商符的形成,除法過程中自然形成 被除數(shù)的絕對值必須小于除數(shù)的絕對值,x補(bǔ)和y補(bǔ)同號,x補(bǔ)y補(bǔ),比較Ri補(bǔ)和y補(bǔ),同號(夠)“1”,異號(不夠)“0”,原碼上商,小數(shù)除法 第一次“不夠”上“0”,正商,x補(bǔ)和y補(bǔ)異號,x補(bǔ)+y補(bǔ),比較Ri補(bǔ)和y補(bǔ),異號(夠)“0”,同號(不夠)“1”,反碼上商,小數(shù)除法 第一次“不夠”上“1”,負(fù)商,119,(3) 新余數(shù)的獲得,加減交替,如果對商的精度沒有特殊要求,可采用“末位恒置1”法,最大誤差為2-n,4.5 定點(diǎn)除法運(yùn)算,120,4.5 定點(diǎn)除法運(yùn)算,已知:X=0.1000,Y=-0.1010;求XY X補(bǔ)=0.1000A,Y補(bǔ)=1
43、.0110B,0C,-Y補(bǔ)=0.1010,0 0.1 0 0 0 0.0 0 0 0,+Y補(bǔ) 1 1.0 1 1 0 X補(bǔ)、Y補(bǔ)異號,+Y補(bǔ), 1 1.1 1 0 0 左移一位,+-Y補(bǔ) 0 0.1 0 1 0 +-Y補(bǔ),0 0.0 1 1 0 0.0 0 1 0 ri補(bǔ)、Y補(bǔ)異號,商0, 0 0.1 1 0 0 左移一位,+Y補(bǔ) 1 1.0 1 1 0 +Y補(bǔ),0 0.0 0 1 0 0.0 1 0 0 ri補(bǔ)、Y補(bǔ)異號,商0,+Y補(bǔ) 1 1.0 1 1 0 +Y補(bǔ),1 1.1 0 1 0 0.1 0 0 1 ri補(bǔ)、Y補(bǔ)同號,商1, 1 1.0 1 0 0 左移一位,+-Y補(bǔ) 0 0.1
44、0 1 0 +-Y補(bǔ),1 1.1 1 1 0 1.0 0 1 1 末位恒置1,1 1.1 1 1 0 0.0 0 0 1 ri補(bǔ)、Y補(bǔ)同號,商1, 0 0.0 1 0 0 左移一位,121,4.5 定點(diǎn)除法運(yùn)算,商補(bǔ)=1.0011 余數(shù)補(bǔ)=1.11102-4,商=-0.1101 余數(shù)=-0.00102-4,122,4.5 定點(diǎn)除法運(yùn)算,123,4.4 定點(diǎn)乘法運(yùn)算,例:X=-0. 10101, Y=0. 11011, 求X/Y,124,第4章,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn) 4.2 定點(diǎn)加減運(yùn)算 4.3 帶符號數(shù)的移位和舍入操作 4.4 定點(diǎn)乘法運(yùn)算 4.5 定點(diǎn)除法運(yùn)算 4.6 規(guī)格化浮點(diǎn)運(yùn)算
45、4.7 十進(jìn)制整數(shù)的加減運(yùn)算 4.8 邏輯運(yùn)算與實(shí)現(xiàn) 4.9 運(yùn)算器的基本組成與實(shí)例,125,4.6 規(guī)格化浮點(diǎn)運(yùn)算,4.6.1 浮點(diǎn)加減運(yùn)算 設(shè)兩個(gè)非0的規(guī)格化浮點(diǎn)數(shù)分別為 A=MA2EA B=MB2EB AB=(MA,EA)(MB,EB)=,126,4.6 規(guī)格化浮點(diǎn)運(yùn)算,1.浮點(diǎn)數(shù)加減運(yùn)算步驟 (1) 對階 (2) 尾數(shù)加/減 (3) 尾數(shù)結(jié)果規(guī)格化 (4) 舍入 (5) 溢出判斷,127,4.6 規(guī)格化浮點(diǎn)運(yùn)算,1.浮點(diǎn)數(shù)加減運(yùn)算步驟 (1)對階 小數(shù)點(diǎn)的位置對齊,浮點(diǎn)數(shù)的小數(shù)點(diǎn)的實(shí)際位置 取決于階碼的大小,對齊兩數(shù)的小數(shù)點(diǎn),就是使 兩數(shù)的階碼相等 求出兩數(shù)階碼EA和EB之差,即:E=
46、EA-EB,128,A=MA2EA,B=MB2EB,對階原則,E = EA EB =,EA = EB 已對齊,EA EB,EA 向 EB 看齊,小階向大階看齊,EA1,4.6 規(guī)格化浮點(diǎn)運(yùn)算,(1)對階,EB 向 EA 看齊,EB+1,EA EB,EA 向 EB 看齊,EB 向 EA 看齊,EA+1,EB-1,129,+104,0,1101000,+ 52,0,0110100,+26,0,0011010,移位前,左移一位,左移兩位,+ 6,0,0000110,+13,0,0001101,右移一位,右移兩位,+32,0,0100000,+80,0,1010000,左移三位,左移四位,4.6 規(guī)格
47、化浮點(diǎn)運(yùn)算,130,4.6 規(guī)格化浮點(diǎn)運(yùn)算,采用小階向大階對齊規(guī)則: 當(dāng)階碼小的數(shù)的尾數(shù)右移并相應(yīng)增加階碼時(shí),舍去的僅是尾數(shù)低位部分,誤差比較小 要使小階的階碼增大,則相應(yīng)的尾數(shù)右移,直到兩數(shù)的階碼相等為止,131,4.6 規(guī)格化浮點(diǎn)運(yùn)算,(2)尾數(shù)加/減 對階之后,就可以進(jìn)行尾數(shù)加/減,即 MAMBMC,132,4.6 規(guī)格化浮點(diǎn)運(yùn)算,(3)尾數(shù)結(jié)果規(guī)格化 為了提高運(yùn)算精度,進(jìn)行結(jié)果規(guī)格化操作 規(guī)格化的尾數(shù)M應(yīng)滿足: 1/2|M|1 設(shè)尾數(shù)用雙符號位補(bǔ)碼表示,經(jīng)過加/減運(yùn)算可能出現(xiàn)以下情況:,133,4.6 規(guī)格化浮點(diǎn)運(yùn)算, 00.1 x x x 11.0 x x x 00.0 x x x
48、11.1 x x x 01.x x x x 10.x x x x,第、種情況,已是規(guī)格化數(shù) 第、種情況需要使尾數(shù)左移以實(shí)現(xiàn)規(guī)格化,稱為左規(guī),134,(2) 規(guī)格化數(shù)的判斷,M0,真值,原碼,補(bǔ)碼,反碼,規(guī)格化形式,M 0 M-1/2,規(guī)格化形式,真值,原碼,補(bǔ)碼,反碼,原碼 不論正數(shù)、負(fù)數(shù),第一數(shù)位為1,補(bǔ)碼 符號位和第 一數(shù)位不同,2.2 機(jī)器數(shù)的定點(diǎn)表示與浮點(diǎn)表示,135,特例,S = 1, 1補(bǔ) 是規(guī)格化的數(shù),2.2 機(jī)器數(shù)的定點(diǎn)表示與浮點(diǎn)表示,136,4.6 規(guī)格化浮點(diǎn)運(yùn)算, 00.0 x x x 11.1 x x x,尾數(shù)每左移一位,階碼相應(yīng)減1(EC-1EC),直至成為規(guī)格化數(shù)為止
49、 左規(guī)=Cs1Cs2C1+Cs1Cs2C1,137,4.6 規(guī)格化浮點(diǎn)運(yùn)算, 01.x x x x 10.x x x x 此時(shí)尾數(shù)的絕對值大于1,應(yīng)將尾數(shù)右移實(shí)現(xiàn)規(guī)格化,稱為右規(guī) 尾數(shù)每右移一位,階碼相應(yīng)加1(EC+1EC)。 (右規(guī)最多進(jìn)行一次)右規(guī)的條件如下: 右規(guī)=Cs1Cs2,138,4.6 規(guī)格化浮點(diǎn)運(yùn)算,(4)舍入 受硬件限制,對階和右規(guī)后可能將尾數(shù)的低位丟失,會引起誤差,139,4.6 規(guī)格化浮點(diǎn)運(yùn)算,(5)溢出判斷 當(dāng)尾數(shù)之和(差)出現(xiàn) 10.x x x x或01.x x x x時(shí),不表示溢出,將此數(shù)右規(guī)后,根據(jù)階碼來判斷浮點(diǎn)運(yùn)算結(jié)果是否溢出 溢出情況由階碼的符號決定,若階碼也
50、用雙符號位補(bǔ)碼表示,當(dāng):,140,4.6 規(guī)格化浮點(diǎn)運(yùn)算,EC補(bǔ)=01, x x x x,表示上溢。浮點(diǎn)數(shù)真正溢出,機(jī)器需停止運(yùn)算,做溢出中斷處理 EC補(bǔ)=10, x x x x,表示下溢。浮點(diǎn)數(shù)值趨于零,機(jī)器不做溢出處理,按機(jī)器零處理,141,4.6 規(guī)格化浮點(diǎn)運(yùn)算,2.浮點(diǎn)數(shù)加減運(yùn)算舉例 A=0.1011102-01 B=-(0.101011)2-10 格式:階碼4位,用移碼表示(偏置值為23);尾 數(shù)8位,用補(bǔ)碼表示,包含一位符號位,即,A浮=0111;0.1011100 B浮=0110;1.0101010,142,4.6 規(guī)格化浮點(diǎn)運(yùn)算,(1)對階 求階差:E=EA-EB=-1-(-2
51、)=1 E=1,表示EAEB。將MB右移一位,其階碼加1,得: B浮=0111;1.1010101 (2)尾數(shù)求和 00.1011100 + 11.1010101,00.0110001,143,4.6 規(guī)格化浮點(diǎn)運(yùn)算,(3)尾數(shù)結(jié)果規(guī)格化 結(jié)果的尾數(shù)是非規(guī)格化的數(shù),應(yīng)左規(guī) A+B尾補(bǔ)=00.0110001 A+B尾補(bǔ) =00.11000102-01 最后結(jié)果為 A+B浮 =0110;0.1100010 A+B=(0.110001)2-10,144,4.6 規(guī)格化浮點(diǎn)運(yùn)算,例:X=0.1101002-011,Y=-0.1011102-100,用補(bǔ)碼運(yùn)算規(guī)則求X+Y和X-Y,階碼和尾數(shù)均用補(bǔ)碼表示
52、,階碼4位,尾數(shù)7位 X+Y = 0.111010 2-100 X-Y = 0.1001012-010,145,4.6 規(guī)格化浮點(diǎn)運(yùn)算,4.6.2 浮點(diǎn)乘除運(yùn)算 設(shè)兩個(gè)非0的規(guī)格化浮點(diǎn)數(shù)分別為 A=MA2EA B=MB2EB 則浮點(diǎn)乘法和除法為 AB=(MAMB)2(EA+EB) AB=(MAMB)2(EA-EB),146,4.6 規(guī)格化浮點(diǎn)運(yùn)算,1.乘法步驟 (1)階碼相加 階碼用移碼表示的時(shí)候,要減去一個(gè)偏置值2n 因?yàn)镋A移=2n+EA,EB移=2n+EB EA+EB移=2n+(EA+EB) 而EA移+EB移=2n+EA+2n+EB,147,4.6 規(guī)格化浮點(diǎn)運(yùn)算,(2)尾數(shù)相乘 與定點(diǎn)
53、小數(shù)乘法算法相同,148,4.6 規(guī)格化浮點(diǎn)運(yùn)算,(3)尾數(shù)結(jié)果規(guī)格化 1/4|MAMB|1 1/2|MAMB|1時(shí),乘積已是規(guī)格化數(shù),不須再進(jìn)行規(guī)格化操作 1/4 |MAMB|1/2時(shí),需左規(guī)一次,149,4.6 規(guī)格化浮點(diǎn)運(yùn)算,2.除法步驟 (1)尾數(shù)調(diào)整 檢測|MA|MB| 若不小于,則MA右移一位,EA+1EA,尾數(shù)調(diào)整;因?yàn)锳、B都是規(guī)格化數(shù),所以最多調(diào)整一次,150,4.6 規(guī)格化浮點(diǎn)運(yùn)算,2.除法步驟 (2)階碼相減 兩浮點(diǎn)數(shù)的階碼相減,當(dāng)階碼用移碼表示時(shí),應(yīng)注意要加上一個(gè)偏置值2n (3)尾數(shù)相除 與定點(diǎn)小數(shù)除法算法相同,151,第4章,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn) 4.2 定點(diǎn)
54、加減運(yùn)算 4.3 帶符號數(shù)的移位和舍入操作 4.4 定點(diǎn)乘法運(yùn)算 4.5 定點(diǎn)除法運(yùn)算 4.6 規(guī)格化浮點(diǎn)運(yùn)算 4.7 十進(jìn)制整數(shù)的加減運(yùn)算 4.8 邏輯運(yùn)算與實(shí)現(xiàn) 4.9 運(yùn)算器的基本組成與實(shí)例,152,4.7 十進(jìn)制整數(shù)的加減運(yùn)算,4.7.1 一位十進(jìn)制加法運(yùn)算 1.8421碼加法運(yùn)算 一位8421碼用四位二進(jìn)制數(shù)表示,所以8421碼十位數(shù)的“1”是個(gè)位數(shù)的進(jìn)位 按四位二進(jìn)制數(shù),進(jìn)位的值是16,不是8421碼的10。必須6校正,使該進(jìn)位正確,153,4.7 十進(jìn)制整數(shù)的加減運(yùn)算,+6校正函數(shù)=C4+S4S3+S4S2,154,4.7 十進(jìn)制整數(shù)的加減運(yùn)算,校正舉例,0101 5,+ 100
55、08,1101,+ 0110 6,1 0011 13,1001 9,+ 10008,1 0001,+ 0110 6,1 0111 17,155,4.7 十進(jìn)制整數(shù)的加減運(yùn)算,4.7.1 一位十進(jìn)制加法運(yùn)算 8421碼的加法規(guī)則: 兩個(gè)8421碼相加時(shí), “逢二進(jìn)一”; 當(dāng)和9,無需校正; 當(dāng)和9,則+6校正; 在做+6校正的同時(shí),將產(chǎn)生向上一位的進(jìn)位,156,4.7 十進(jìn)制整數(shù)的加減運(yùn)算,2.余3碼加法運(yùn)算 十進(jìn)制余3碼加法規(guī)則: 兩個(gè)余3碼相加,“逢二進(jìn)一” ; 若其和沒有進(jìn)位,則減3(即+1101)校正; 若其和有進(jìn)位,則加3(即+0011)校正,157,4.7 十進(jìn)制整數(shù)的加減運(yùn)算,-3
56、校正函數(shù)=C4 +3校正函數(shù)=C4,158,4.7 十進(jìn)制整數(shù)的加減運(yùn)算,校正舉例,0110 3,+ 10005,1110,+ 1101 無進(jìn)位,-3,+1101,1011 8,1001 6,+ 10005,1 0001,+ 0011 有進(jìn)位,+3,1 0100 11,159,第4章,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn) 4.2 定點(diǎn)加減運(yùn)算 4.3 帶符號數(shù)的移位和舍入操作 4.4 定點(diǎn)乘法運(yùn)算 4.5 定點(diǎn)除法運(yùn)算 4.6 規(guī)格化浮點(diǎn)運(yùn)算 4.7 十進(jìn)制整數(shù)的加減運(yùn)算 4.8 邏輯運(yùn)算與實(shí)現(xiàn) 4.9 運(yùn)算器的基本組成與實(shí)例,160,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn),4.1.1 加法器 由全加器再配以其他必
57、要的邏輯電路組成,1.全加器 三個(gè)輸入量:操作數(shù)Ai和Bi、低位傳來的進(jìn)位Ci-1 兩個(gè)輸出量:本位和Si、向高位的進(jìn)位Ci,161,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn),162,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn),邏輯表達(dá)式為 Si=AiBiCi-1 Ci=AiBi+(AiBi)Ci-1,163,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn),164,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn),2.串行加法器與并行加法器 串行加法器,只有一個(gè)全加器,數(shù)據(jù)逐位串行送入加法器進(jìn)行運(yùn)算 如果操作數(shù)長n位,加法就要分n次進(jìn)行,每次只能產(chǎn)生一位和,165,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn),并行加法器由多個(gè)全加器組成,其位數(shù)的多少取決于機(jī)器的字長,數(shù)據(jù)的各位同時(shí)運(yùn)算 并行加法器操作數(shù)的各位是同時(shí)提供的,低位運(yùn)算產(chǎn)生的進(jìn)位影響高位的運(yùn)算結(jié)果,166,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn),例如:1111和0001相加,最低位產(chǎn)生的進(jìn)位將逐位影響至最高位 并行加法器的最長運(yùn)算時(shí)間主要是由進(jìn)位信號的傳遞時(shí)間決定的 提高并行加法器速度是加快進(jìn)位產(chǎn)生和傳遞的速度,167,4.1 基本算術(shù)運(yùn)算的實(shí)現(xiàn),4.1.2 進(jìn)位的產(chǎn)生和傳遞 進(jìn)位表達(dá)式 Ci=AiBi+(AiBi)Ci-1,進(jìn)位產(chǎn)生函數(shù)用Gi表示,進(jìn)位傳遞函數(shù)用Pi表示,Gi含義:若本位的兩個(gè)
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年城市中的綠橋環(huán)境與美的結(jié)合
- 2026春招:藥劑師題庫及答案
- 2026年海洋石油平臺的電氣防爆技術(shù)
- 2026春招:小米面試題及答案
- 貼瓷磚工安全培訓(xùn)教育課件
- 醫(yī)院保潔人員服務(wù)規(guī)范
- 貨物升降機(jī)安全培訓(xùn)課件
- 2026年廣西電力職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試備考題庫帶答案解析
- 臨床思維培養(yǎng)與疾病診斷技巧
- 醫(yī)療互聯(lián)網(wǎng)保險(xiǎn)市場前景分析
- 2025至2030中國細(xì)胞存儲行業(yè)調(diào)研及市場前景預(yù)測評估報(bào)告
- 《中華人民共和國危險(xiǎn)化學(xué)品安全法》解讀
- 水暖施工員考試及答案
- 2025年省級行業(yè)企業(yè)職業(yè)技能競賽(老人能力評估師)歷年參考題庫含答案
- 培養(yǎng)員工的協(xié)議書
- 1.1《子路、曾皙、冉有、公西華侍坐》教學(xué)課件2025-2026學(xué)年統(tǒng)編版高中語文必修下冊
- 2025天津中煤進(jìn)出口有限公司面向中國中煤內(nèi)部及社會招聘第五批電力人才52人(公共基礎(chǔ)知識)測試題附答案解析
- 2025至2030氫過氧化叔丁基(TBHP)行業(yè)運(yùn)營態(tài)勢與投資前景調(diào)查研究報(bào)告
- 2026年哈爾濱職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性考試必刷測試卷附答案
- 通信行業(yè)項(xiàng)目經(jīng)理服務(wù)水平績效考核表
- 副高醫(yī)院藥學(xué)考試試題題庫及答案
評論
0/150
提交評論