




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1原碼一位乘運算原碼一位乘運算以定點小數為例以定點小數為例 0. 1 1 0 1 0. 1 0 1 1 0. 0 0 0 0 1 1 0 1 0. 0 0 0 1 1 0 1 0. 0 0 0 0 0 0 +0. 0 1 1 0 1 0 . 1 0 0 0 1 1 1 1 例如:例如: X = 0.1101 Y = - 0.1011筆算乘法過程筆算乘法過程 機器實現問題:機器實現問題:1. 加法器只有兩個數據輸入端;加法器只有兩個數據輸入端;2. 加法器與運算數據位數相同。加法器與運算數據位數相同。解決方案:解決方案:1. 改改n輸入數相加過程為兩兩輸入數相加過程為兩兩相加;相加;2. 改改2
2、n位相加過程為位相加過程為n位相加。位相加。 X Y = - 0.100011112原碼一位乘運算原碼一位乘運算基本公式:基本公式: 設設 被乘數被乘數 X原原 = xf . x1 x2 x n 乘乘 數數 Y原原 = yf . y1 y2 y n 則則 X Y原原 =( xf yf ). ( X* Y* ) 其中,其中, X X* * 和和Y Y* *分別是分別是X X和和Y Y的絕對值的絕對值3例如:例如: X = 0.1101 Y = - 0.1011 X原原= 0.1101 Y原原 = 1.1011 X* = 0.1101 Y* = 0.1011 0. 1 1 0 1 . 累加器初值取
3、零值累加器初值取零值 0. 1 0 1 1 + . 1 1 0 1 . 初值加被乘數初值加被乘數 1 1 0 1 . 部分積右移,部分積右移, 0 0 0 0 將移出的一位保存起來將移出的一位保存起來 + 1 1 0 1 求第一次部分積求第一次部分積 0 . 1 0 0 0 1 1 1 1 手工運算過程手工運算過程 原碼一位乘運算原碼一位乘運算4原碼一位乘運算原碼一位乘運算 X* = 0.1101 Y* = 0.1011 0. 1 1 0 1 . 1 0. 1 0 1 1 + . 1 1 0 1 . 前次部分積加被乘數前次部分積加被乘數 1 1 0 1 . 部分積右移部分積右移 0 0 0 0
4、將移出的一位保存起來將移出的一位保存起來 + 1 1 0 1 求第二次部分積求第二次部分積 0 . 1 0 0 0 1 1 1 1 手工運算過程手工運算過程 5原碼一位乘運算原碼一位乘運算 X* = 0.1101 Y* = 0.1011 0. 1 1 0 1 . 1 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 0 0 1 1 1 1 手工運算過程手工運算過程 6原碼一位乘運算原碼一位乘運算 X* =
5、 0.1101 Y* = 0.1011 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 0 0 1 1 1 1 手工運算過程手工運算過程 再用一步完成兩數符號異或求再用一步完成兩數符號異或求積的符號積的符號, 結果為結果為 -0.100011117原碼一位乘運算規則原碼一位乘運算規則原碼一位乘運算規則:原碼一位乘運算規則: 1. 1. 乘積的符號位由兩數符號位乘積的符
6、號位由兩數符號位“異或異或”產生,符產生,符號號位不參與運算;位不參與運算; 2. 2. 部分積可采用一位或兩位符號位;部分積可采用一位或兩位符號位; 3. 3. 乘積的數值部分由兩數絕對值相乘產生,通過乘積的數值部分由兩數絕對值相乘產生,通過n n次次“加法加法”和和“右移右移”操作實現。操作實現。(n(n為乘數整數部分為乘數整數部分位數位數) )8原碼一位乘運算實例原碼一位乘運算實例 部分積部分積 乘數乘數 0. 0 0 0 0 0.1 0 1 1+ 0. 1 1 0 1 0. 1 1 0 1 0. 0 1 1 0 1 0 1 0 1+ 0. 1 1 0 1 1. 0 0 1 1 0. 1
7、 0 0 1 1 1 0 1 0 0. 0 1 0 0 1 1 1 0 1+ 0. 1 1 0 1 1. 0 0 0 1 0. 1 0 0 0 1 1 1 1 0 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 10 . 1 0 0 0 1 1 1 1例如:例如: X = 0.1101 Y = - 0.1011 手工運算過程手工運算過程計算機內運算的實現方法計算機內運算的實現方法則則 X* = 0.1101 Y* = 0.1011 X原原 = 0.1101 Y原原 = 1.1011 X Y原原 = 1.100011119補碼乘法補碼乘
8、法運算運算 原碼乘法不難實現,但有原碼乘法不難實現,但有兩個問題兩個問題: 1. 符號位與數值位分別處理,不方便;符號位與數值位分別處理,不方便; 2. 若數據為補碼形式,可能需要多于兩次若數據為補碼形式,可能需要多于兩次 補補原碼變換。原碼變換。 也可以直接用補碼完成乘法運算,即從補也可以直接用補碼完成乘法運算,即從補碼開始,直接得到補碼的積。碼開始,直接得到補碼的積。 下面看一看補碼乘運算的實現算法。下面看一看補碼乘運算的實現算法。10= (Yi+1 - Yi ) 2-i設設 被乘數被乘數 X補補 = x0. x1 x2 x n 乘乘 數數 Y補補 = y0. y1 y2 y n 先復習兩
9、個概念先復習兩個概念: 已知已知 X補補 = x0. x1x2 x n 時時 X/2補補 = x0. x0 x1 x2 xn-1 已知已知 Y補補 = y0. y1 y2 yn 時時 Y = - y0 yi 2-i i=1nni=0補碼一位乘法的實現補碼一位乘法的實現算法推導算法推導(比較法比較法)11X Y = X - y0 yi 2-i 補碼一位乘法運算補碼一位乘法運算算法推導算法推導(比較法比較法)X Y補補補補 補補 ? = X (0 .y1 y2 yn) - X y0X Y補補 = X (0 .y1 y2 yn) - X y0 補補 = X (0 .y1 y2 yn) 補補- X y
10、0 補補 = X 補補 (0 .y1 y2 yn) - y0 X補補 = X 補補 Yni=012 證明證明 X (0 .y1 y2 yn) 補補 = X 補補 (0 .y1 y2 yn)(1) 當當X 0 時,時, X (0 .y1 y2 yn) 補補 = X (0 .y1 y2 yn) = X 補補 (0 .y1 y2 yn) (2) 當當X 0 時,時, X (0 .y1 y2 yn) 補補 = 2+ X (0 .y1 y2 yn) (mod 2) = 2n+1+ X (0 .y1 y2 yn) (mod 2) = 2n+1 (0 .y1 y2 yn) + X (0 .y1 y2 yn)
11、 (mod 2) = (2n+1+ X) (0 .y1 y2 yn) (mod 2) = (2+ X) (0 .y1 y2 yn) (mod 2) = X 補補 (0 .y1 y2 yn) (mod 2)13= -y0*20 + (y1*20-y1*2-1) + (y2*2-1 -y2*2-2) + +補碼一位乘法運算補碼一位乘法運算算法推導算法推導(比較法比較法)= (yi+1 - yi ) * 2-iX Y補補補補 Y補補 Y=(y0 y i * 2-i )i=1n分分解為單項形式解為單項形式= -y0*20 + y1*2-1 + y2*2-2 + + y n*2-n變每位上的變每位上的
12、1為為高高 1位上的位上的 1個個+1加本位上的加本位上的 1個個-1= (y1-y0)*20 + (y2-y1)*2-1 + + (yn+1-yn)*2-n最低最低1位后再補位后再補1位位合并同次冪的項合并同次冪的項 寫成為求累加和形式寫成為求累加和形式i=0n令令 yn+1 = 014補碼一位補碼一位乘法運算的乘法運算的實現實現(比較法比較法)補碼一位乘公式:補碼一位乘公式: Z 補補= X Y補補 = 補補(- y0 yi 2-i )= 補補 (yi+1 - yi ) 2-ii=0ni=0n部分積遞推公式:部分積遞推公式: Z0補補= 0 Z1補補= 2-1 Z0補補+ (yn+1 -
13、yn) 補補 (令令 yn+1 = 0) Zi補補= 2-1 Zi-1補補+ (yn-i+2 - yn-i+1) 補補 Zn補補= 2-1 Zn-1補補+ (y2 - y1) 補補 Zn+1補補= Zn補補+ (y1 - y0) 補補 = X Y補補 15補碼一位補碼一位乘法運算的乘法運算的算法規則算法規則(比較法比較法)yn yn+1= 00 時,時, Zi補補= Zi-1補補+ 0, 右移右移1位位;yn yn+1= 01 時,時, Zi補補= Zi-1補補+ X補,補, 右移右移1位位;yn yn+1= 10 時,時, Zi補補= Zi-1補補+ -X補,補,右移右移1位位;yn yn+
14、1= 11 時,時, Zi補補= Zi-1補補+ 0, 右移右移1位;位;補碼一位乘算法規則:補碼一位乘算法規則: X X、Y Y的符號位都參加運算,部分積采用雙符號位;的符號位都參加運算,部分積采用雙符號位;2. 2. 乘數最低位之后增加一位附加位乘數最低位之后增加一位附加位yn+1 ,且令且令yn+1=0;3. 3. 每位部分積運算規則如下:每位部分積運算規則如下:4. 4. 重復重復n+1n+1次比較和運算,但只進行次比較和運算,但只進行n n次右移,次右移,最后一最后一 次不移位。次不移位。 積符由運算過程自動產生。積符由運算過程自動產生。16補碼一位乘法運算實例補碼一位乘法運算實例已
15、知已知: X補補 = 0.1101 Y補補 = 0.1011 部分積部分積 乘數乘數 yn yn+1 0 0. 0 0 0 0 0.1 0 1 1 0+1 1. 0 0 1 1 1 1. 0 0 1 1 1 1. 1 0 0 1 1 0 1 0 1 1 1 1. 1 1 0 0 1 1 0 1 0 1+0 0. 1 1 0 1 0 0. 1 0 0 1 0 0. 0 1 0 0 1 1 1 0 1 0+1 1. 0 0 1 1 1 1. 0 1 1 1 1 1. 1 0 1 1 1 1 1 1 0 1+0 0. 1 1 0 1 0 0. 1 0 0 0 1 1 1 1 0 清清0則則 -X補補
16、 = 1.0011 X Y補補 = 0.10001111 17補碼補碼一位乘一位乘硬件配置硬件配置及及實例演示實例演示(比較法)(比較法) 補碼一位乘綜合演示.swf18設設 被乘數被乘數 X補補 = x0 .x1 x2 x n 乘乘 數數 Y補補 = y0 .y1 y2 y n補碼兩位乘法的實現補碼兩位乘法的實現算法推導算法推導(比較法比較法)由一位乘算法得:由一位乘算法得:Zi+2補補= 2-12-1 Zi補補+ (yn-i+1 - yn-i) 補補+ (yn-i - yn-i-1) 補補 = 2-2 Zi補補+ (yn-i+1 + yn-i - 2 yn-i-1) 補補結論:結論: 補碼
17、兩位乘比較法的部分積運算由乘數相鄰的補碼兩位乘比較法的部分積運算由乘數相鄰的三位比較決定,運算后每次右移兩位。三位比較決定,運算后每次右移兩位。Zi+1補補= 2-1 Zi補補+ (yn-i+1 - yn-i) 補補19補碼兩位補碼兩位乘法運算的乘法運算的算法規則算法規則(比較法比較法)yn-1 yn yn+1= 000 時,時, Zi+2補補= Zi補補+ 0, 右移右移2位位;yn-1 yn yn+1= 001 時,時, Zi +2補補= Zi補補+ X補補, 右移右移2位位;yn-1 yn yn+1= 010 時,時, Zi +2補補= Zi補補+ X補補, 右移右移2位位;yn-1 y
18、n yn+1= 011 時,時, Zi +2補補= Zi補補+ 2X補補, 右移右移2位位;yn-1 yn yn+1= 100 時,時, Zi +2補補= Zi補補+ 2-X補補,右移,右移2位位;yn-1 yn yn+1= 101 時,時, Zi +2補補= Zi補補+ -X補補, 右移右移2位位;yn-1 yn yn+1= 110 時,時, Zi +2補補= Zi補補+ -X補補, 右移右移2位位;yn-1 yn yn+1= 111 時,時, Zi +2補補= Zi補補+ 0, 右移右移2位位; X X、Y Y的符號位都參加運算,部分積采用的符號位都參加運算,部分積采用三位符號位三位符號位
19、;乘數最低位之后增加一位附加位乘數最低位之后增加一位附加位yn+1 ,且令且令yn+1=0;每位部分積運算規則如下:每位部分積運算規則如下:20補碼兩位補碼兩位乘法運算的乘法運算的算法規則算法規則(續續)(比較法比較法)4. 4. 設乘數數值部分為設乘數數值部分為n n位,位, 當當n n為奇數時為奇數時,乘數設,乘數設1 1位符號位位符號位,做,做(n+1)/2(n+1)/2次次運算和移位,最后一步運算和移位,最后一步右移右移1 1位位; 當當n n為偶數時為偶數時,乘數設,乘數設2 2位符號位位符號位,做,做n/2+1n/2+1次次運算和移位,最后一步運算和移位,最后一步不右移不右移; 積
20、符由運算過程自動產生。積符由運算過程自動產生。21補碼兩位補碼兩位乘法運算乘法運算實例實例已知已知: X補補 = 0.1101 Y補補 = 0.1011 部分積部分積 乘數乘數 yn yn+1 0 0. 0 0 0 0 0 1 0 1 1 0+1 1. 0 0 1 1 1 1. 0 0 1 1 1 1. 1 0 0 1 1 0 1 0 1 1 1 1. 1 1 0 0 1 1 0 1 0 1+0 0. 1 1 0 1 0 0. 1 0 0 1 0 0. 0 1 0 0 1 1 1 0 1 0+1 1. 0 0 1 1 1 1. 0 1 1 1 1 1. 1 0 1 1 1 1 1 1 0 1+
21、0 0. 1 1 0 1 0 0. 1 0 0 0 1 1 1 1 0 清清0111 部分積部分積 乘乘 數數 yn yn+1 0 0 0. 0 0 0 0 0 0.1 0 1 1 0+1 1 1. 0 0 1 1 1 1 1. 0 0 1 1 1 1 1. 1 1 0 0 1 1 0 0 1 0 1+1 1 1. 0 0 1 1 1 1 0. 1 1 1 1 1 1 1. 1 0 1 1 1 1 1 1 0 0 1+0 0 0. 1 1 0 1 0 0 0. 1 0 0 0 1 1 1 1 0 0 清清0212則則 -X補補 = 1.0011 X Y補補 = 0.22原原 碼碼 除除 法法以
22、定點小數為例以定點小數為例 基本公式:基本公式: 設設 被除數被除數 X原原 = xf . x1 x2 x n 除除 數數 Y原原 = yf . y1 y2 y n 則則: : 若若 0 X Y X Y原原 =( xf yf ). ( X* Y* ) 其中,其中, X* 和和Y*分別是分別是X和和Y的絕對值的絕對值23例如:例如: X = 0.1011 Y = - 0.1101 筆算除法過程筆算除法過程 0.1101 0.1101 0.10110 -0.01101 0.010010 -0.001101 0.00010100 -0.00001101 0.00000111原碼除運算原碼除運算方法分
23、析方法分析以定點小數為例以定點小數為例機器實現問題:機器實現問題: 1. 需單獨設計比較器線路;需單獨設計比較器線路; 2. 需需2n位的減法器線路。位的減法器線路。 解決方案:解決方案: 1. 比較操作改由比較操作改由“試減試減”實現;實現; 2. 將除數右移改為部分余數左移;將除數右移改為部分余數左移; 3. 減法由減法由+-Y補補轉化為加法實現。轉化為加法實現。24 被除數(余數)被除數(余數) 商商 說說 明明 0 0. 1 0 1 1 0. 0 0 0 0+ 1 1. 0 0 1 1 + -Y *補補 (減除數(減除數) 1 1. 1 1 1 0 余數余數 0, 商上商上1 0 1.
24、 0 0 1 0 0 0 0 0 1 左移一位左移一位+ 1 1. 0 0 1 1 + -Y *補補 0 0. 0 1 0 1 余數余數 0, 商上商上1 0 0. 1 0 1 0 0 0 0 1 1 左移一位左移一位+ 1 1. 0 0 1 1 + -Y *補補 1 1. 1 1 0 1 余數余數 0, 商上商上1例如:例如: X = -0.1011 Y = - 0.1101 X原原= 1.1011 Y原原= 1.1101 X* = 0.1011 Y* = 0.1101-Y*補補 = 1.0011恢恢 復復 余數余數 除除 法法X/Y原原=0.1101R原原=0.01112 2-4-425原
25、碼加減交替除法原碼加減交替除法原理證明原理證明1. 若第若第 i - 1次求商,余數為次求商,余數為 R i-1 0 , 本次商上本次商上1,且余數左移,且余數左移 1 位得位得 2R i-1 ;2. 第第 i 次求商,余數為次求商,余數為 R i =2R i-1 Y*, 若若R i 0, ,則則商商上上1,跳至跳至3 3; 若若R i 0, 則商則商0,恢復余數為正且左移得,恢復余數為正且左移得 2(R i + Y*),跳至跳至4;3. 第第 i + 1次求商,余數為次求商,余數為 R i+1 = 2 R i Y* 4. 第第 i + 1次求商,余數為次求商,余數為 R i+1 = 2( R
26、 i + Y* ) Y* = 2R i + Y* 實質實質: : 對上次的負余數值直接左移一位對上次的負余數值直接左移一位, , 本次用本次用+Y*求商即可。求商即可。26原碼加減交替除法原碼加減交替除法算法規則算法規則1.1.除法運算前,應滿足條件:除法運算前,應滿足條件:X X* *YY* *, ,且且Y Y* *00, ,否否則,按溢出或非法除數處理;則,按溢出或非法除數處理;2.2.符號位不參與運算符號位不參與運算,單獨處理:,單獨處理:q qf f= x= xf f y yf f ; ;3.3.部分余數采用部分余數采用單符號位或雙符號位單符號位或雙符號位;4.4.每步部分余數運算規則
27、:每步部分余數運算規則: 試減試減X* +- +-Y * 補補余數為正,商上余數為正,商上1 1,余數和商左移一位余數和商左移一位,減除數;,減除數;余數為負,商上余數為負,商上0 0,余數和商左移一位余數和商左移一位,加除數;,加除數;5.5.第第n+1n+1步步:若余數為正,商上:若余數為正,商上1 1,商左移一位商左移一位; 若余數為負,商上若余數為負,商上0 0,商左移一位商左移一位,但當結果需,但當結果需 要余數時,需恢復余數,要余數時,需恢復余數,R = = R n 2 2-n-n 。重復重復n n步步27 被除數(余數)被除數(余數) 商商 說說 明明 0 0. 1 0 1 1
28、0. 0 0 0 0+ 1 1. 0 0 1 1 + -Y *補補 (減除數減除數) 1 1. 1 0 1 1 余數余數 0, 商上商上1 0 1. 0 0 1 0 0 0 0 0 1 左移一位左移一位+ 1 1. 0 0 1 1 + -Y *補補 0 0. 0 1 0 1 余數余數 0, 商上商上1 0 0. 1 0 1 0 0 0 0 1 1 左移一位左移一位+ 1 1. 0 0 1 1 + -Y *補補 1 1. 1 1 0 1 余數余數 0, 商上商上1 0 1 1 0 1 商商左移一位左移一位例如:例如: X = -0.1011 Y = - 0.1101 X原原= 1.1011 Y原
29、原= 1.1101 X* = 0.1011 Y* = 0.1101-Y*補補 = 1.0011加減交替加減交替 除除 法法X/Y原原= 0.1101R = 0.0111 2 2-4-428原碼加減交替除法原碼加減交替除法運算過程演示運算過程演示 原碼加減交替除法控制流程及實例.swf29原碼加減交替除法運算的原碼加減交替除法運算的基本硬件配置基本硬件配置0 A n加法器加法器(n+1位位)控控 制制 門門GD0 Q n計數器計數器CV1 f0 X n移位和加移位和加/減減控制邏輯控制邏輯Y*或或 -Y *補補 +1 30補碼除法運算補碼除法運算算法思想:算法思想: 被除數與除數為補碼表示,被除
30、數與除數為補碼表示, 直接用補碼除,直接用補碼除,求出反碼商求出反碼商, 再修正為近似的補碼商。再修正為近似的補碼商。主要解決:主要解決: 上值的確定;上值的確定; 求商符;求商符; 獲得新余數;獲得新余數; 商的校正。商的校正。 31補碼除法算法分析補碼除法算法分析 (1) (1) 商和新余數的確定商和新余數的確定 上商的過程實際上時比較被除數(余數)和除數所上商的過程實際上時比較被除數(余數)和除數所對應絕對值大小的過程。對應絕對值大小的過程。 若若X X與與Y Y同號:做減法,即同號:做減法,即 R0補補 =X補補 +-Y補補 夠減:夠減:R0 與與Y 同號,商上同號,商上1,左移一位,
31、減除數。,左移一位,減除數。 即即 R1補補 =2R0補補 +-Y補補 。 不夠減:不夠減:R0 與與Y 異號,商上異號,商上0,左移一位,加除數。,左移一位,加除數。 即即 R1補補 =2R0補補 +Y補補 。 32補碼除法算法分析(續補碼除法算法分析(續1) 若若X X與與Y Y異號:做加法,即異號:做加法,即 R0補補 =X補補 +Y補補 夠減:夠減:R0 與與Y異號,商上異號,商上0,左移一位,加除數。,左移一位,加除數。 即即 R1補補 = 2R0補補 +Y補補 。 不夠減:不夠減:R0 與與Y同號,商上同號,商上1,左移一位,減除數。,左移一位,減除數。 即即 R1補補 = 2R0
32、補補 +-Y補補 。 同樣的分析方法,可以得出如下結論:同樣的分析方法,可以得出如下結論: Ri 與與Y同號,商上同號,商上1, Ri+1補補 = 2Ri補補 +-Y補補 ; Ri 與與Y異號,商上異號,商上0, Ri+1補補 = 2Ri補補 +Y補補 。33補碼除法算法分析(續補碼除法算法分析(續2) (2) (2) 求商符求商符 由于運算前,滿足由于運算前,滿足 0 0 X Y 所以第一次試減后的上商結果為:所以第一次試減后的上商結果為: 若若X X與與Y Y同號:不夠減,即同號:不夠減,即R0 與與Y異號,商上異號,商上0 ; 若若X X與與Y Y異號:不夠減,即異號:不夠減,即R0 與
33、與Y同號,商上同號,商上1 。 因此,商符由第一次因此,商符由第一次試減后自動形成,且與商的數試減后自動形成,且與商的數值位上商規則相同。值位上商規則相同。 34補碼除法算法分析(續補碼除法算法分析(續3) (3) (3) 商的校正商的校正 從前面的分析知:從前面的分析知:當商為負時,算法以反碼形式當商為負時,算法以反碼形式上商,而按補碼運算要求,應得商的補碼,兩者之間上商,而按補碼運算要求,應得商的補碼,兩者之間相差相差2 2-n-n。為了最終得到補碼商,通常采用。為了最終得到補碼商,通常采用商末位商末位“恒置恒置1 1”的舍入方法的舍入方法進行處理。采用這種方法產生的進行處理。采用這種方法
34、產生的誤差為:誤差為: 2 2-n-n。這種方法簡單,便于實現,。這種方法簡單,便于實現,運算后運算后不需要對商校正不需要對商校正。 35補碼加減交替除法補碼加減交替除法算法規則算法規則1.1.除法運算前,應滿足條件:除法運算前,應滿足條件:X X* *YY* *, ,且且Y Y* *00, ,否否則,按溢出或非法除數處理;則,按溢出或非法除數處理;2.2.符號位符號位參與運算參與運算,商符由運算自動產生,商符由運算自動產生; ;3.3.部分余數采用部分余數采用單符號位或雙符號位單符號位或雙符號位;4.4.每步部分余數運算規則:每步部分余數運算規則: 試減:試減:X X、Y Y同號,做減法;同
35、號,做減法;X X、Y Y同號,做加法;同號,做加法;5.5.第第n+1n+1步步:商恒置商恒置1 1,商左移一位。,商左移一位。 重復重復n n步步上商:上商:余數與余數與Y Y同號,商上同號,商上1 1,余數和商左移一位,做減法;,余數和商左移一位,做減法;余數與余數與Y Y異號,商上異號,商上0 0,余數和商左移一位,做加法;,余數和商左移一位,做加法;若要求求余數若要求求余數:若余數與若余數與Y Y同號,除法結束。同號,除法結束。若余數與若余數與Y Y異號,應恢復余數,方法同上。異號,應恢復余數,方法同上。R = = R n 2 2-n-n36 被除數(余數)被除數(余數) 商商 說說
36、 明明 1 1. 0 1 1 1 0. 0 0 0 0 X與與Y異號異號+ 0 0. 1 1 0 1 +Y補補 0 0. 0 1 0 0 余數與余數與Y同號同號, 商上商上1 0 0. 1 0 0 0 0 0 0 0 1 左移一位左移一位+ 1 1. 0 0 1 1 +-Y補補 1 1. 1 0 1 1 余數與余數與Y異號異號, 商上商上0 1 1. 0 1 1 0 0 0 0 1 0 左移一位左移一位+ 0 0. 1 1 0 1 + Y補補 0 0. 0 0 1 1 余數與余數與Y同號同號, 商上商上1 0 0. 1 0 1 0 0 0 1 0 1 左移一位左移一位+ 1 1. 0 0 1
37、1 + -Y補補 1 1. 1 0 0 1 余數與余數與Y異號異號, 商上商上0 1 1. 0 0 1 0 0 1 0 1 0 左移一位左移一位 1.0 1 0 1 商末位恒置商末位恒置1, 商左移一位商左移一位例如:例如: X = -0.1001 Y = +0.1101 X補補 = 1.0111 Y補補= 0.1101 -Y補補 = 1.0011補碼加減補碼加減交替除法交替除法X/Y補補= 1.0101R補補= 1.00102 2-4-437補碼加減交替除法補碼加減交替除法運算過程演示運算過程演示 補碼加減交替除法控制流程及實例.swf38三、快速乘除法運算三、快速乘除法運算 已經講過的原碼
38、或補碼一位乘除法運算,已經講過的原碼或補碼一位乘除法運算,采用的是逐位循環迭代算法,完成時間直接取采用的是逐位循環迭代算法,完成時間直接取決于數據的位數,當位數較多時,用時較長。決于數據的位數,當位數較多時,用時較長。 提高乘除法運算速度的出路之一,提高乘除法運算速度的出路之一, 是每次是每次完成多位運算,用的較多的是雙位乘法,完成多位運算,用的較多的是雙位乘法, 跳零跳零跳一除法,更快的乘法則可以采用陣列乘法器,跳一除法,更快的乘法則可以采用陣列乘法器,可以用陣列除法器實現快速除法運算。可以用陣列除法器實現快速除法運算。 快速乘除法運算不作為計算機組成原理課快速乘除法運算不作為計算機組成原理課的基本要求,的基本要求, 同學們應把主要注意力集中到其同學們應把主要注意力集中到其實現的基本原理和對運算器硬件的主要要求。實現的基本原
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東財政考試試題及答案
- 國際貿易考試試題及答案
- 單招政治考試試題及答案
- 大專信息考試試題及答案
- 2025至2030中國倉儲管理系統(WMS)行業運營動態與前景趨勢研究報告
- 2025-2030飼料原料行業市場發展分析及發展趨勢與投資管理策略研究報告
- 2025-2030鋁質禮品盒市場市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030野營家具行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030路易體癡呆治療行業市場現狀供需分析及重點企業投資評估規劃分析研究報告
- 2025-2030男式化妝品行業市場深度調研及趨勢前景與投融資研究報告
- (二模)2025年深圳市高三年級第二次調研考試歷史試卷(含標準答案)
- 廣西《疼痛綜合評估規范》(材料)
- 2025年山東省淄博市張店區中考一模歷史試題(含答案)
- 美容師考試與法律法規相關知識及試題答案
- 推動研究生教育高質量發展方案
- 2025-2030中國藥用活性炭行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2031年中國竹鼠養殖及深加工行業投資研究分析及發展前景預測報告
- 超星爾雅學習通《國際經濟學(中國人民大學)》2025章節測試附答案
- 陜西省2024年高中學業水平合格考化學試卷試題(含答案解析)
- 輸液泵/微量注射泵使用技術操作考核評分標準
- SJG 74-2020 深圳市安裝工程消耗量定額-高清現行
評論
0/150
提交評論