![第二章 運算方法和運算器_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/621ff984-6592-4b46-8475-2a490aaf4f9c/621ff984-6592-4b46-8475-2a490aaf4f9c1.gif)
![第二章 運算方法和運算器_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/621ff984-6592-4b46-8475-2a490aaf4f9c/621ff984-6592-4b46-8475-2a490aaf4f9c2.gif)
![第二章 運算方法和運算器_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/621ff984-6592-4b46-8475-2a490aaf4f9c/621ff984-6592-4b46-8475-2a490aaf4f9c3.gif)
![第二章 運算方法和運算器_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/621ff984-6592-4b46-8475-2a490aaf4f9c/621ff984-6592-4b46-8475-2a490aaf4f9c4.gif)
![第二章 運算方法和運算器_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-1/7/621ff984-6592-4b46-8475-2a490aaf4f9c/621ff984-6592-4b46-8475-2a490aaf4f9c5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、華北電力大學計算機系華北電力大學計算機系計算機組成與結構第二章第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構本章結構本章結構2.4 2.4 定點數乘法運算定點數乘法運算 2.3 2.3 定點數加減運算及實現定點數加減運算及實現2.2 2.2 機器數的編碼格式機器數的編碼格式2.1 2.1 數據信息的表示方法數據信息的表示方法2.5 2.5 定點數除法運算定點數除法運算 2.6 2.6 浮點數運算方法浮點數運算方法2.7 2.7 運算器部件及進位鏈結構運算器部件及進位鏈結構2.8 2.8 位片式運算器部件位片式運算器部件Am2901Am2901第二章第二章 運算方
2、法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.1 2.1 數據信息的表示方法數據信息的表示方法數值數據的表示方法數值數據的表示方法 2.1.1 非數值數據的表示方法非數值數據的表示方法2.1.2第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構數值數據的表示方法數值數據的表示方法小數點按約定方式標出小數點按約定方式標出1. 定點表示法定點表示法Sf S1S2 Sn數符數符數值部分數值部分小數點位置小數點位置Sf S1S2 Sn數符數符數值部分數值部分小數點位置小數點位置或或第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構
3、2. 浮點表示浮點表示N = Srj浮點數的一般形式浮點數的一般形式S尾數尾數j 階碼階碼r 基數(基值)基數(基值)計算機中計算機中 r取取 2、4、8、16 等等當當 r= 2N = 11.0101= 0.110101210 = 1.1010121 = 1101.012-10 = 0.001101012100 計算機中計算機中 S 正負定點小數,可用補碼或原碼表示正負定點小數,可用補碼或原碼表示j 正負整數,可用補碼或移碼表示正負整數,可用補碼或移碼表示 規(guī)格化數規(guī)格化數數值數據的表示方法數值數據的表示方法第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構(1)
4、 浮點數的表示形式浮點數的表示形式jf j1 j2 jm Sf S1 S2 Sn j 階碼階碼S 尾數尾數階符階符數符數符階碼的階碼的數值部分數值部分尾數的數值部分尾數的數值部分Sf 代表浮點數的符號代表浮點數的符號n 其位數反映浮點數的精度其位數反映浮點數的精度m 其位數反映浮點數的表示范圍其位數反映浮點數的表示范圍jf 和和 m 共同表示小數點的實際位置共同表示小數點的實際位置浮點表示浮點表示第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構(2) 浮點數的表示范圍浮點數的表示范圍2( 2m1)( 1 2n)2( 2m1)2n2( 2m1)( 1 2n)2( 2
5、m1)2n最小負數最小負數最大負數最大負數最大正數最大正數最小正數最小正數負數區(qū)負數區(qū)正數區(qū)正數區(qū)下溢下溢0上溢上溢上溢上溢215 ( 1 2-10) 2-15 2-10 2-15 2-10 215 ( 1 2-10) 設設 m = 4 n =10上溢上溢 階碼階碼 最大階瑪最大階瑪下溢下溢 階碼階碼 B,Y C , 0 A, 0 CRCn=1?A+0 AA+B AA和和C右移一位右移一位CR+1CRCR=n?結束結束xs ys ps 3. 原碼一位乘流程原碼一位乘流程NYNY第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構4. 原碼一位乘法邏輯結構圖原碼一位乘法
6、邏輯結構圖 R0 R1 y yn nR2 計數器計數器i i 部分積部分積z 被乘數被乘數x x 乘數乘數y LDR0LDR1 T1, T2, Ti QQ加法器加法器RS啟動啟動ynCx計數器:計數器:對移位的次數進行計數,以便判斷乘法運算是否結束。對移位的次數進行計數,以便判斷乘法運算是否結束。 當計數器當計數器i=ni=n時,計數器時,計數器i i的溢出信號使控制觸發(fā)器的溢出信號使控制觸發(fā)器C Cx x 置置0 0,關閉時序脈沖,關閉時序脈沖T T,乘法操作結束。,乘法操作結束。第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構設被乘數設被乘數X補補 = xs.
7、 x1x2 xn,乘數乘數Y補補 = ys.y1y2 yn1. 校正法校正法X補補 Y補補 =(2n+1+X) Y=2n+1 Y+X Y =2 2n 0.y1y2 yn +X Y =2+ X Y=X Y補補 (mod 2)分兩種情況討論:分兩種情況討論: 被乘數任意,乘數為正被乘數任意,乘數為正X補補 = xs. x1x2 xn=2+X=2n+1+X (mod 2)Y補補 =Y=0.y1y2 yn即:即:X補補 Y補補= X Y補補= X補補 Y 可見,當乘數為正時,可按原碼一位乘法的規(guī)則運算,可見,當乘數為正時,可按原碼一位乘法的規(guī)則運算,結果不需要校正結果不需要校正二、補碼一位乘二、補碼一
8、位乘第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構 被乘數任意,乘數為負被乘數任意,乘數為負故故 X Y補補 = X 0.y1y2 yn 補補+ - X 補補 X補補 = xs. x1x2 xnY補補 =1.y1y2 yn2Y (mod 2)則則 X Y補補= X補補 ( 0.y1y2 yn ) + - X 補補 可見,當乘數為負時,先把可見,當乘數為負時,先把y補補的符號位丟掉不管,的符號位丟掉不管,仍按原碼一位乘運算,最后仍按原碼一位乘運算,最后 加加X補補進行校正進行校正則則 Y = Y補補 -2=1.y1y2 yn-2 0.y1y2 yn-1X Y =X
9、 (0.y1y2 yn-1) =X 0.y1y2 yn-X將將上式中上式中 0.y1y2 yn 視為一個正數,正好與情況相同視為一個正數,正好與情況相同 二、補碼一位乘二、補碼一位乘第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構校正法的運算規(guī)則如下:校正法的運算規(guī)則如下:設設 被乘數被乘數乘數乘數x補補 = xs.x1x2 xny補補 = ys.y1y2 yn 被乘數任意,乘數為正被乘數任意,乘數為正同原碼乘同原碼乘但但 加加 和和 移位移位 按按 補碼規(guī)則補碼規(guī)則 運算運算乘積的符號自然形成乘積的符號自然形成 被乘數任意,乘數為負被乘數任意,乘數為負乘數乘數y
10、補補,去掉符號位去掉符號位,操作同,操作同 最后最后 加加x補補,校正校正以小數為例以小數為例第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構例:已知例:已知 x = +0.1101 y = 0.1011 求求xy補補解:解:X補補 = 0 0 . 1 1 0 1Y補補 = 1 . 0 1 0 1X補補 = 1 1 . 0 0 1 1舉例舉例00 . 0 0 0 000 . 1 1 0 100 . 1 1 0 100 . 0 0 0 000 . 1 1 0 100 . 0 0 0 0初始狀態(tài),部分積初始狀態(tài),部分積 = 0yn =1,X補補00 . 0 1 1 0
11、01 . 0 0 0 0 00 . 1 0 0 000 . 0 1 0 00 0 0 10 1 0 1=00 . 0 1 1 0yn =0 , 01,形成新的部分積,形成新的部分積1 0 1 0=00 . 0 0 1 1yn =1 ,X補補1,形成新的部分積,形成新的部分積0 1 0 1=00 . 1 0 0 0yn =0 , 01,形成新的部分積,形成新的部分積0 0 1 0= 部部 分分 積積 乘乘 數數 說說 明明1,形成新的部分積,形成新的部分積-X補補11 . 0 0 1 111 . 0 1 1 1 0 0 0 1邏輯邏輯右移右移邏輯邏輯右移右移邏輯邏輯右移右移邏輯邏輯右移右移第二章
12、第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構所以所以 X Y補補1 1 . 0 1 1 1 0 0 0 1 X Y 0 . 1 0 0 0 1 1 1 1 結果結果第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構設設X補補 = xs.x1x2 xn Y補補 = ys.y1y2 yn2. 比較法比較法 ( Booth 算法算法 )X Y補補= X補補 ( 0.y1y2 yn ) Y0 X Y補補= X補補 ( 0.y1y2 yn ) + - X 補補 Y B, Y補補C, 0A, 0 CR, 0 C n+1Cn Cn +1=?A+B AA
13、-B ACR+1CRCR=n+1?結束結束A和和C右移一位右移一位NY100100/11比較法(比較法( Booth 算法)流程圖算法)流程圖第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構補碼一位乘法邏輯結構圖補碼一位乘法邏輯結構圖 R0 R1 y yn ny yn+1n+1R2 計數器計數器i i 部分積部分積z 被乘數被乘數x x乘數乘數y +1LDR0LDR1 T1, T2, +1 Ti QQ加法器加法器RS啟動啟動Cx +- -yn+1ynyn+1yn多開關路多開關路原原反反1001QQ第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機
14、組成與結構三、原碼兩位乘三、原碼兩位乘原碼乘原碼乘符號位符號位 和和 數值位數值位 部分部分 分開運算分開運算兩位乘兩位乘每次用每次用 乘數的乘數的 2 位判斷位判斷 原部分積原部分積是否加是否加 和和 如何加如何加 被乘數被乘數3 ?先先 減減 1 倍倍 的被乘數的被乘數X再再 加加 4 倍倍 的被乘數的被乘數+4X4 13100 01111 11 11 01 00 10 10 00 0新的部分積新的部分積乘數乘數y yn n-1-1 y yn n相當于相當于0 0* *X X,部分積部分積PiPi右移兩位右移兩位相當于相當于1 1* *X X,部分積部分積Pi+XPi+X,右移兩位右移兩位
15、相當于相當于2 2* *X X,部分積部分積Pi +2XPi +2X,右移兩位右移兩位相當于相當于3 3* *X X,部分積部分積Pi +3XPi +3X,右移兩位右移兩位第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構原碼兩位乘運算規(guī)則:原碼兩位乘運算規(guī)則:(1)乘積的符號位單獨處理)乘積的符號位單獨處理(2)部分積與被乘數均取三位符號位)部分積與被乘數均取三位符號位(3)CJ是一位獨立的觸發(fā)器,初始值為是一位獨立的觸發(fā)器,初始值為0(4)按下表所示的操作進行)按下表所示的操作進行(5)運算之前,要將乘數湊為偶數。)運算之前,要將乘數湊為偶數。 若乘數的數值位若
16、乘數的數值位n為偶數,乘數取雙符號位,為偶數,乘數取雙符號位,這種情況共做這種情況共做(n/2)+1步,最后一步不移位;若乘數步,最后一步不移位;若乘數的數值位的數值位n為奇數,乘數取單符號位,每步處理為奇數,乘數取單符號位,每步處理2位,位,恰好做恰好做(n+1) / 2步,最后一步移一位。步,最后一步移一位。第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構1 11 11 10 01 11 11 11 01 00 01 01 01 10 10 10 00 10 11 10 00 00 00 0 0 0 操操 作作 內內 容容觸發(fā)器觸發(fā)器C CJ J乘數判斷位乘數
17、判斷位y yi i-1-1y yi i原部分積右移兩位原部分積右移兩位,0=,0=C CJ J 原部分積右移兩位原部分積右移兩位,1=,1=C CJ J原部分積原部分積- -X X, , 右移兩位右移兩位,1=,1=C CJ J原部分積原部分積+ +X X, , 右移兩位右移兩位,0=,0=C CJ J原部分積原部分積+ +X X, , 右移兩位右移兩位,0=,0=C CJ J 原部分積原部分積+2+2X X, , 右移兩位右移兩位,0=,0=C CJ J原部分積原部分積- -X X, , 右移兩位右移兩位,1=,1=C CJ J原部分積原部分積+2+2X X, , 右移兩位右移兩位,0=,0
18、=C CJ J原碼兩位乘運算規(guī)則表原碼兩位乘運算規(guī)則表例:已知例:已知 x = 0.111111 y = 0.111001 求求xy原原0 0 0 . 0 0 0 0 0 00 0 0 . 1 1 1 1 1 10 0 0 . 1 1 1 1 1 10 0 . 1 1 1 0 0 10初始部分積為初始部分積為 0+ X , CJ = 00 1 0 . 0 0 1 1 0 11 10 0 0 . 1 1 1 0 0 00 0 0 1 1 1 1 1 1 . 1 0 0 1 0 00 1 1 1 0 0 1 . 1 1 1 1 1 0+ 2X ,CJ = 01 1 1 . 0 0 0 0 0 1
19、X, CJ = 10 0 0 . 1 1 1 1 1 1+ X , CJ = 000 0 0 . 0 0 1 1 1 11 1 0 0 1 1 1 0200 0 0 . 1 0 0 0 1 10 1 1 1 0 0 1 1211 1 1 . 1 1 1 0 0 1 0 0 0 1 1 1 0 02CJ部部 分分 積積 乘乘 數數 說說 明明解:解:數值部分的運算數值部分的運算第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構 數值部分的運算數值部分的運算 乘積的符號位乘積的符號位 xs ys = 0 1 = 1 x y = 0. 1 1 1 0 0 0 0 0 0
20、1 1 1則則 x y原原 = 1. 1 1 1 0 0 0 0 0 0 1 1 1結果結果第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構 原碼兩位乘和原碼一位乘比較原碼兩位乘和原碼一位乘比較符號位符號位操作數操作數移位移位移位次數移位次數最多加法次數最多加法次數xs ysxs ys絕對值絕對值絕對值的補碼絕對值的補碼邏輯右移邏輯右移算術右移算術右移nnn2(n為偶數)為偶數)n2+1(n為偶數)為偶數)思考思考 n 為奇數時,原碼兩位乘為奇數時,原碼兩位乘 移移 ?次?次原碼一位乘原碼一位乘原碼兩位乘原碼兩位乘第二章第二章 運算方法和運算器運算方法和運算器計算
21、機組成與結構計算機組成與結構設上設上一步的部分積為一步的部分積為PPi i 補補,本步的部分積應為:,本步的部分積應為: PPi+1i+1 補補2 2-1-1PPi i 補補+ +(y y n -i +1n -i +1y y n-in-i) ) XX補補 下一步的部分積應為:下一步的部分積應為: PPi+2i+2 補補2 2-1-1PPi+1i+1 補補+ +(y y n-in-iy y n-i -1n-i -1) ) XX補補 將前一個公式中的將前一個公式中的PPi+1i+1 補補代入代入PPi+2i+2 補補公式中,則公式中,則PPi+2i+2 補補2 2-1-122-1-1PPi i 補
22、補+ +(y y n-i+1n-i+1y y n-in-i) ) XX補補+ (y + (y n-in-iy y n-i -1n-i -1) ) XX補補 2 2-2-2PPi i 補補+ +(y y n-i+1n-i+1y y n-in-i) ) XX補補+ 2(y + 2(y n-in-iy y n-i n-i -1-1) ) XX補補 2 2-2-2PPi i 補補+ (y + (y n-i+1n-i+1+ y + y n-in-i2y 2y n-i -1n-i -1) ) XX補補 四、補碼兩位乘四、補碼兩位乘 由上式可見,補碼兩位乘可以通過由上式可見,補碼兩位乘可以通過y n-i+1
23、 ,y n-i,y n-i -1作作為判斷位來確定運算操作。為判斷位來確定運算操作。第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構補碼兩位乘法的運算規(guī)則為:補碼兩位乘法的運算規(guī)則為:(1) 兩數均用補碼表示,符號位參加運算。兩數均用補碼表示,符號位參加運算。(2) 部分積與被乘數均采用部分積與被乘數均采用3位符號表示,乘數末位增加位符號表示,乘數末位增加一位附加位一位附加位y n+1 ,其初始值為其初始值為0。(3) 按下表所示操作。按下表所示操作。(4) 若乘數的數值位若乘數的數值位n為偶數,乘數取雙符號位,這種情為偶數,乘數取雙符號位,這種情況共做況共做(n
24、/2)+1步,最后一步不移位;若乘數的數值位步,最后一步不移位;若乘數的數值位n為奇數,乘數取單符號位這種情況共做為奇數,乘數取單符號位這種情況共做(n+1)/2步,最后步,最后一步移一位。一步移一位。第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構1 11 11 10 01 11 11 11 01 00 01 01 01 10 10 10 00 10 11 10 00 00 00 0 0 0 操操 作作 內內 容容y yn-i-1 n-i-1 y yn-in-i y yn-i+1n-i+1原部分積右移兩位原部分積右移兩位原部分積右移兩位原部分積右移兩位原部分積原
25、部分積+-+-X X 補補, ,右移兩位右移兩位原部分積原部分積+X X 補補, ,右移兩位右移兩位原部分積原部分積+X X 補補, ,右移兩位右移兩位原部分積原部分積+2+2X X 補補, ,右移兩位右移兩位原部分積原部分積+-+-X X 補補, ,右移兩位右移兩位原部分積原部分積+2-+2-X X 補補, ,右移兩位右移兩位補碼兩位乘運算規(guī)則表補碼兩位乘運算規(guī)則表第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構 乘法小結乘法小結 原碼乘原碼乘 符號位符號位 單獨處理單獨處理 補碼乘補碼乘 符號位符號位 自然形成自然形成 原碼乘去掉符號位運算原碼乘去掉符號位運算
26、 即為無符號數乘法即為無符號數乘法 不同的乘法運算需有不同的硬件支持不同的乘法運算需有不同的硬件支持 整數乘法與小數乘法完全相同整數乘法與小數乘法完全相同 可用可用 逗號逗號 代替小數點代替小數點第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構一、一、 分析筆算除法分析筆算除法x = 0.1011 y = 0.1101 求求 xy0 . 1 0 1 10 . 1 1 0 10 . 0 1 1 0 10 . 0 1 0 0 10 . 0 0 1 1 0 10 . 0 0 0 1 0 10 . 0 0 0 0 1 1 0 10 . 0 0 0 0 0 1 1 1 1商
27、符單獨處理商符單獨處理心算上商心算上商余數不動低位補余數不動低位補“0”減右移一位的除數減右移一位的除數上商位置不固定上商位置不固定xy = 0. 1 1 0 1余數余數 0. 0 0 0 0 0 1 1 1商符心算求得商符心算求得00 . 101000 ?2.5 定點除法運算定點除法運算第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構 筆算除法和機器除法的比較筆算除法和機器除法的比較筆算除法筆算除法 機器除法機器除法商符單獨處理商符單獨處理心算上商心算上商符號位異或形成符號位異或形成| x | | y | 0 上商上商 1| x | | y | 0 上商上商 0
28、余數余數 不動不動 低位補低位補“0”減右移一位減右移一位 的除數的除數2 倍字長加法器倍字長加法器上商位置上商位置 不固定不固定余數余數 左移一位左移一位 低位補低位補“0”減減 除數除數1 倍字長加法器倍字長加法器在寄存器在寄存器 最末位上商最末位上商第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構二、二、 原碼除法原碼除法以小數為例以小數為例x原原 = xs . x1x2 xny原原 = ys . y1y2 yn式中式中 x* = 0.x1x2 xn 為為 x 的絕對值的絕對值 y* = 0.y1y2 yn 為為 y 的絕對值的絕對值數值部分為絕對值相除數值
29、部分為絕對值相除x*y*被除數不等于被除數不等于 0除數不能為除數不能為 0小數定點除法小數定點除法 x* y*整數定點除法整數定點除法 x* y*商的符號位單獨處理商的符號位單獨處理 xs ys 原原 = (xs ys).xyx*y*約定約定1、恢復余數法、恢復余數法0 . 1 0 1 11 . 0 0 1 11 . 0 0 1 11 . 0 0 1 10 . 0 0 0 0+ y*補補01 . 1 1 1 0余數為負,上商余數為負,上商 00 . 1 1 0 1恢復余數恢復余數00 . 1 0 0 1余數為正,上商余數為正,上商 1+ y*補補1 . 0 1 1 0011 . 0 0 1
30、00 11+y*補補解:解:被除數(余數)被除數(余數) 商商 說說 明明x原原 = 1.1011 y原原 = 1.1101 xs ys = 1 1 = 0 x = 0.1011 y = 0.1101求求 原原 xy例:例:10 . 1 0 1 1恢復后的余數恢復后的余數0+y*補補y*補補 = 0.1101 y*補補 = 1.00110 . 0 1 0 10 1余數為正,上商余數為正,上商 1被除數(余數)被除數(余數) 商商 說說 明明1 . 0 0 1 10 . 1 1 0 11 . 0 0 1 110 . 1 0 1 00 1 1+ y*補補1 . 1 1 0 10 1 1 余數為負,
31、上商余數為負,上商 0恢復余數恢復余數1 . 0 1 0 00 1 1 01+ y*補補0 . 0 1 1 10 1 1 0 余數為正,上商余數為正,上商 1= 0.1101x*y* 原原xy= 0.1101上商上商 5 次次第一次上商判溢出第一次上商判溢出余數為正余數為正 上商上商 1余數為負余數為負 上商上商 0,恢復余數,恢復余數移移 4 次次100 . 1 0 1 0恢復后的余數恢復后的余數0 1 1 01+y*補補第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2、不恢復余數法(加減交替法)、不恢復余數法(加減交替法) 余數余數 Ri0 上商上商 “1”
32、,2Ri y* 余數余數 Ri0 上商上商 “0”, Ri + y* 恢復余數恢復余數 2( Ri+y*) y* = 2Ri + y* 加減交替加減交替 恢復余數法運算規(guī)則恢復余數法運算規(guī)則 不恢復余數法運算規(guī)則不恢復余數法運算規(guī)則余數余數 Ri0 上商上商“1” 2Ri y* 余數余數 Ri0 上商上商“0” 2Ri + y* x = 0.1011 y = 0.1101 求求 原原xy解:解:例例0 . 1 0 1 11 . 0 0 1 10 . 1 1 0 11 . 0 0 1 11 . 0 0 1 10 . 1 1 0 10 . 0 0 0 0+ y*補補01 . 1 1 1 0余數為負
33、,上商余數為負,上商 01 . 1 1 0 001+y*補補00 . 1 0 0 1余數為正,上商余數為正,上商 1+ y*補補1 . 0 0 1 00 11+ y*補補+y*補補0 . 1 0 1 00 1 111 . 1 0 1 00 1 1 010 . 0 1 0 10 1余數為正,上商余數為正,上商 10 . 0 1 1 10 1 1 0 余數為正,上商余數為正,上商 11 . 1 1 0 10 1 1余數為負,上商余數為負,上商 0 x原原 = 1.1011y*補補 = 0.1101y*補補 = 1.0011y原原 = 1.11011101第二章第二章 運算方法和運算器運算方法和運算
34、器計算機組成與結構計算機組成與結構 xs ys = 1 1 = 0 x*y*= 0.1101 = 0.1101 原原xy結果結果第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構Ri補補= 0.1000 x補補 = 1.1101 y補補 = 1.0101三、三、 補碼不恢復余數除法補碼不恢復余數除法(1) 商值的確定商值的確定x = 0.1011y = 0.0011 x補補 = 0.1011 y補補 = 0.0011x補補 = 0.1011y補補 = 1.1101Ri補補= 0.1000 x = 0.0011y = 0.1011x補補 = 1.1101y補補 = 0
35、.1011x*y*Ri補補與與y補補同號同號“夠減夠減”x*y*Ri補補與與y補補異號異號“不夠減不夠減”+ 比較被除數和除數絕對值的大小比較被除數和除數絕對值的大小x 與與 y 同號同號第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構x補補和和y補補求求 Ri補補Ri補補與與 y補補同號同號異號異號x補補 y補補x補補+ y補補同號,同號,“夠減夠減”異號,異號,“夠減夠減”小結小結x = 0.1011y = 0.0011 x補補 = 0.1011 y補補 = 1.1101x補補 = 0.1011y補補 = 1.1101Ri補補= 0.1000 x = 0.00
36、11y = 0.1011 x補補 = 1.1101 y補補 = 0.1011x補補 = 1.1101y補補 = 0.1011Ri補補= 0.1000 x*y*Ri補補與與y補補異號異號“夠減夠減”x*y*Ri補補與與y補補同號同號“不夠減不夠減”+x 與與 y 異號異號第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構 商值的確定商值的確定x補補與與 y補補同號同號正正商商按原碼上商按原碼上商“夠減夠減”上上“1”“不夠減不夠減”上上“0”x補補與與 y補補異號異號負負商商按反碼上商按反碼上商“夠減夠減”上上“0”“不夠減不夠減”上上“1”0 .原碼原碼1. 11
37、.反碼反碼1. 1末位恒置末位恒置“1”法法x補補與與 y補補商商Ri補補與與 y補補商商 值值夠減夠減不夠減不夠減夠減夠減不夠減不夠減同同 號號異異 號號正正負負1001原碼上商原碼上商反碼上商反碼上商小小 結結(同號)(同號)(異號)(異號)(異號)(異號)(同號)(同號)第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構小小 結結Ri補補與與y補補商值商值同同 號號異異 號號10簡簡 化化 為為x補補與與 y補補商商Ri補補與與 y補補商商 值值夠減夠減不夠減不夠減夠減夠減不夠減不夠減同同 號號異異 號號正正負負1001原碼上商原碼上商反碼上商反碼上商(同號)
38、(同號)(異號)(異號)(異號)(異號)(同號)(同號)第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構(2) 商符的形成商符的形成 除法過程中自然形成除法過程中自然形成x補補和和y補補同號同號x補補y補補比較比較Ri補補和和y補補同號同號(夠夠)“1”異號異號(不夠不夠)“0”原碼上商原碼上商小數除法小數除法 第一次第一次“不夠不夠”上上“0”正商正商x補補和和y補補異號異號x補補+y補補比較比較Ri補補和和y補補異號異號(夠夠)“0”同號同號(不夠不夠)“1”反碼上商反碼上商小數除法小數除法 第一次第一次“不夠不夠”上上“1”負商負商第二章第二章 運算方法和運
39、算器運算方法和運算器計算機組成與結構計算機組成與結構(3) 新余數的形成新余數的形成Ri補補和和 y補補商商新余數新余數同同 號號異異 號號102Ri補補 + y補補2Ri補補 + y 補補加減交替加減交替例例設設 x = 0.1011 y = 0.1101 求求 并還原成真值并還原成真值 補補xy解:解: x補補 = 1.0101 y補補 = 0.1101 y補補 = 1.00111 . 0 1 0 10 . 1 1 0 11 . 0 0 1 10 . 1 1 0 10 . 1 1 0 10 . 0 0 0 0異號做加法異號做加法10 . 0 0 1 0同號上同號上“1”1 . 0 1 1
40、11 異號上異號上“0”+y補補1 . 1 0 1 11 0 異號上異號上“0”+y補補0 . 0 0 1 11 0 0同號上同號上“1”0 . 0 1 0 0110 . 1 1 1 01 011 . 0 1 1 01 0 01末位恒置末位恒置“1”0 . 0 1 1 01 0 0 1 1 補補= 1.0011xy0011+y補補xy= 0.1101則則第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構一、浮點加減運算一、浮點加減運算x = Sx 2jxy = Sy 2jy1. 對階對階(1) 求階差求階差(2) 對階原則對階原則j = jx jy = jx= jy
41、 已對齊已對齊jx jy jx jy x 向向 y 看齊看齊y 向向 x 看齊看齊x 向向 y 看齊看齊y 向向 x 看齊看齊小階向大階看齊小階向大階看齊Sx 1, Sy 1, Sx 1, Sy 1, = 0 0 0 2.6 浮點數運算方法浮點數運算方法 例如例如 x = 0.1101 201 y = (0.1010) 211求求 x + y解:解:x補補 = 00, 01; 00.1101 y補補 = 00, 11; 11.0110 1. 對階對階j補補 = jx補補 jy補補= 00, 0111, 0111, 10階差為負(階差為負( 2)Sx補補 = 00.0011 Sy補補= 11.0
42、11011.1001 Sx 2 jx+ 2 x+y補補 = 00, 11; 11. 1001 對階對階x補補 = 00, 11; 00.0011+對階后的對階后的Sx補補 求階差求階差2. 尾數求和尾數求和第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構3. 規(guī)格化規(guī)格化(1) 規(guī)格化數的定義規(guī)格化數的定義(2) 規(guī)格化數的判斷規(guī)格化數的判斷r = 2 |S| 1 12S0真值真值原碼原碼補碼補碼反碼反碼規(guī)格化形式規(guī)格化形式S 0規(guī)格化形式規(guī)格化形式真值真值原碼原碼補碼補碼反碼反碼0.1 0.1 0.1 0.1 原碼原碼 不論正數、負數,第一數位為不論正數、負數,
43、第一數位為1補碼補碼 符號位和第符號位和第 1 數位不同數位不同 0.1 1.1 1.0 1.0 第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構特例特例S = = 0.100 0 12 12 補補 不是規(guī)格化的數不是規(guī)格化的數S = 1 1補補 是規(guī)格化的數是規(guī)格化的數S原原 = 1 . 1 0 0 0S補補 = 1 . 1 0 0 0S補補 = 1 . 0 0 0 0 第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構(3) 左規(guī)左規(guī)(4) 右規(guī)右規(guī)尾數尾數 1,階碼減,階碼減 1,直到數符和第一數位不同為止,直到數符和第一數位不同
44、為止 上例上例 x+y補補 = 00, 11; 11. 1001左規(guī)后左規(guī)后 x+y補補 = 00, 10; 11. 0010 x + y = ( 0.1110)210 當當 尾數溢出尾數溢出( 1)時,需)時,需 右規(guī)右規(guī)即尾數出現即尾數出現 01. 或或 10. 時時尾數尾數 1,階碼加,階碼加 1例例1x = 0.1101 210 y = 0.1011 201求求 x +y(除階符、數符外,階碼取除階符、數符外,階碼取 3 位,尾數取位,尾數取 6 位)位) 解:解:x補補 = 00, 010; 00. 110100y補補 = 00, 001; 00. 101100 對階對階 尾數求和尾
45、數求和j補補 = jx補補 jy補補 = 00, 010 11, 111100, 001階差為階差為 +1 Sy 1, jy+1 y補補 = 00, 010; 00. 010110Sx補補 = 00. 110100Sy補補 = 00. 010110對階后的對階后的Sy補補01. 001010+尾數溢出需右規(guī)尾數溢出需右規(guī) 右規(guī)右規(guī)x +y補補 = 00, 010; 01. 001010 x +y補補 = 00, 011; 00. 100101右規(guī)后右規(guī)后 x +y = 0. 100101 2114. 舍入舍入在在 對階對階 和和 右規(guī)右規(guī) 過程中,可能出現過程中,可能出現 尾數末位丟失尾數末位
46、丟失引起誤差,需考慮舍入引起誤差,需考慮舍入(1) 0 舍舍 1 入法入法 (2) 恒置恒置 “1” 法法例例 2x = ( )2-5 y = () 2-4 5878求求 x y(除階符、數符外,階碼取除階符、數符外,階碼取 3 位,尾數取位,尾數取 6 位)位)解:解:x補補 = 11, 011; 11. 011000y補補 = 11, 100; 00. 111000 對階對階j補補 = jx補補 jy補補 = 11, 011 00, 100 11, 111階差為階差為 1 Sx 1, jx+ 1 x補補 = 11, 100; 11. 101100 x = ( 0.101000)2-101y
47、 = ( 0.111000)2-100+ 尾數求和尾數求和Sx補補 = 11. 101100Sy補補 = 11. 001000+110. 110100 右規(guī)右規(guī)x+y補補 = 11, 100; 10. 110100 x+y補補 = 11, 101; 11. 011010右規(guī)后右規(guī)后 x y = (0.100110)2-11= ( )2-319325. 溢出判斷溢出判斷 設機器數為補碼,尾數為設機器數為補碼,尾數為 規(guī)格化形式,規(guī)格化形式,并假并假設階符取設階符取 2 位,階碼的數值部分取位,階碼的數值部分取 7 位,數符取位,數符取 2 位,尾數取位,尾數取 n 位,則該位,則該 補碼補碼 在
48、數軸上的表示為在數軸上的表示為上溢上溢下溢下溢上溢上溢 對應對應負浮點數負浮點數 對應對應正浮點數正浮點數00,1111111;11.00 0 00,1111111;00.11 111,0000000;11.011 111,0000000;00.100 02127(1) 2-128(2-1+ 2-n)2-1282-12127(12-n)最小負數最小負數最大負數最大負數最小正數最小正數最大正數最大正數0階碼階碼01, 階碼階碼01, 階碼階碼 10, 按機器零處理按機器零處理第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構二、浮點乘除運算二、浮點乘除運算x = Sx
49、 2jxy = Sy 2jy1. 乘法乘法x y = (Sx Sy)2jx+jy2. 除法除法xy=SxSy 2jx jy(2) 尾數乘除同尾數乘除同 定點定點 運算運算4. 浮點運算部件浮點運算部件階碼運算部件,尾數運算部件階碼運算部件,尾數運算部件3. 步驟步驟(3) 規(guī)格化規(guī)格化(1) 階碼采用階碼采用 補碼定點加補碼定點加(乘法)(乘法)減減(除法)運算(除法)運算第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構思考題思考題假定有4個整數用8位補碼分別表示 r1=FEH,r2=F2H,r3=90H,r4=F8H, 若將運算結果存放在一個8位寄存器中,則下列
50、運算會發(fā)生溢出的是() A. r1 x r2 B. r2 x r3 C. r1 x r4 D. r2 x r4第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2. 一個 C 語言程序在一臺 32 位機器上運行。程序中定義了三個變量 xyz, 其中x和z是 int 型,y為 short 型。當 x=127,y=-9 時,執(zhí)行賦值語句 z=x+y 后,xyz 的值分別是() AX=0000007FH,y=FFF9H,z=00000076H BX=0000007FH,y=FFF9H,z=FFFF0076H CX=0000007FH,y=FFF7H,z=FFFF0076H
51、 DX=0000007FH,y=FFF7H,z=00000076H3.浮點數加減運算過程一般包括對階、尾數運算、規(guī)格化、舍入和判溢出 等步驟。設浮點數的階碼和尾數均采用補碼表示,且位數分別為 5 位和 7 位(均 含 2 位符號位)。若有兩個數 X=2729/32,Y=255/8,則用浮點加法計算 X+Y 的最終結果是() A00111 1100010 B.00111 0100010C01000 0010001 D.發(fā)生溢出思考題思考題第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構答案答案n1、Bn2、Dn3、D第二章第二章 運算方法和運算器運算方法和運算器計算
52、機組成與結構計算機組成與結構2.7 2.7 運算器部件及進位鏈結構運算器部件及進位鏈結構加法器加法器 2.7.1 并行加法器的進位鏈并行加法器的進位鏈2.7.2多位多位ALU部件部件2.7.3第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.1 2.7.1 加法器加法器一、全加器3個輸入量:Ai,Bi,Ci-12個輸入量:本位和Si,向高位的進位Ci全加器的邏輯表達式為: Si = Ai Bi Ci-1 Ci = AiBi+(Ai Bi)Ci-1 第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.1 2.7.1 加法器加法
53、器圖2-20 全加器邏輯符號Ci-1SiCiAiBi圖2-19 一位全加器邏輯電路圖AiBiCiSi . .+Ci第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.1 2.7.1 加法器加法器二、串行加法器與并行加法器 AiBi圖2-21 串行加法器 QCP DCiSiCi-1CP第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2.7.2 并行加法器的進位鏈并行加法器的進位鏈一、進位信號的基本邏輯 Ci= AiBi+(Ai Bi)Ci-1 設 Gi =AiBi 為進位產生函數。 Pi =Ai Bi為進位傳遞函數 Pi
54、Ci-1為傳送進位。第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2.7.2 并行加法器的進位鏈并行加法器的進位鏈二、串行進位 串行進位又稱行波進位,每一級進位直接依賴于前一級進位,進位信號的邏輯式如下: C1=A1B1+(A1 B1)C0=G1+P1C0 C2=A2B2+(A2 B2)C1=G2+P2C1 Cn=AnBn+(An Bn)Cn-1=Gn+PnCn-1第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2.7.2 并行加法器的進位鏈并行加法器的進位鏈圖2-22 串行進位的并行加法器C1S1C0A1B
55、1C2S2A2B2CnSnAnBnCn-1第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2.7.2 并行加法器的進位鏈并行加法器的進位鏈三、并行進位 并行進位又稱先行進位、跳躍進位,其特點是各級進位信號同時形成。邏輯式如下: C1=G1+P1C0 C2= G2+P2C1= G2+P2G2+P2P1C0 C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0 Cn=Gn+PnCn-1=Gn+PnGn-1+PnPn-1P2G1+ PnPn-1P1C0第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2
56、.7.2 并行加法器的進位鏈并行加法器的進位鏈四、分組并行進位主要思想:將n位全加器分成若干小組,組內各位之間并行 進位,組間可以并行進位,也可以串行進位。 1.組內并行,組間串行的進位鏈 也稱為單重分組跳躍進位。 以16位加法器為例討論。 第一小組組內各位的進位邏輯表達式為: C1=G1+P1C0 C2=G2+P2C1=G2+P2G2+P2P1C0 C3=G3+P3C2=G3+P3G2+P3P2G1+P3P2P1C0 C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.
57、2 2.7.2 并行加法器的進位鏈并行加法器的進位鏈C4=G4+P4C3=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0GPC=C4=G+PC0同理,C=C8=G+PCC=C12=G+PCC=C16=G+PC第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2.7.2 并行加法器的進位鏈并行加法器的進位鏈圖2-23 4位一組并行進位示意圖并行進位并行進位網絡網絡C4C3C2C1G4G3G2G1P4P3P2P1C0第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2.7.2 并行加法器的進位鏈并
58、行加法器的進位鏈第二章 圖2-24 16位組內并行組間串行進位鏈框圖 第第 4 組組 第第 3 組組 第第 2 組組 第第 1 組組C16C15C14C13C12C11C10C9C8C7C6C5C4C3C2C1G16P16G15G14G13P15P14P13G12G11G10G9P12P11P10P9G8G7G6G5P8P7P6P5G4G3G2G1P4P3P2P1C0第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2.7.2 并行加法器的進位鏈并行加法器的進位鏈2. 組內并行,組間并行的進位鏈 仍以16位加法器為例。 由串行進位: C=C4=G+PC0
59、 C=C8=G+PCC=C12=G+PCC=C16=G+PC第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2.7.2 并行加法器的進位鏈并行加法器的進位鏈 C=C4=G+PC0 C=C8=G+PC= G+PG+PPC0 C= C12=G+PC= G+PG+PP G+ PPPC0 C= C16=G+PC = G+PG+ PPG+ PPPG+ P PPPC0第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2.7.2 并行加法器的進位鏈并行加法器的進位鏈 為了要產生每個小組的進位生成函數Gi和進位傳遞函數Pi,需要
60、對小組內的并行進位線路進行修改: 第一小組內產生G、P、C3、C2、C1,不產生C4; 第二小組內產生G、P、C7、C6、C5,不產生C8; 第三小組內產生G、P、C11、C10、C9,不產生C12; 第四小組內產生G、P、C15、C14、C13,不產生C16。第二章第二章 運算方法和運算器運算方法和運算器計算機組成與結構計算機組成與結構2.7.2 2.7.2 并行加法器的進位鏈并行加法器的進位鏈 各小組的進位生成函數和進位傳遞函數的邏輯表達式為: G= G4+P4G3+P4P3G2+P4P3P2G1 G= G8+P8G7+P8P7G6+P8P7P6G5 G= G12+P12G11+P12P1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農民培訓計劃與實施手冊
- 加工非標制作合同范本
- 2025年度影視剪輯技術支持與咨詢服務合同
- 2025年度生物質能發(fā)電項目投資與建設合同
- 公司資金借貸合同范例
- 供酒供銷合同范例
- 2025年度洗滌設備行業(yè)技術培訓與咨詢服務合同
- 加工箍筋合同范本
- 買賣購房指標合同范例
- 樂有假租房合同范本
- 元宇宙視域下非遺保護與傳播途徑探究
- 2025年買賣個人房屋合同(4篇)
- 2025代運營合同范本
- 武漢2025年湖北武漢理工大學管理人員招聘筆試歷年參考題庫附帶答案詳解
- 家庭燃氣和煤氣防火安全
- 第十一章《功和機械能》達標測試卷(含答案)2024-2025學年度人教版物理八年級下冊
- 初三物理常識試卷單選題100道及答案
- 辦公用品價格清單
- 使用錯誤評估報告(可用性工程)模版
- 高中英語新課程標準解讀課件
- 客服人員績效考核評分表
評論
0/150
提交評論