計算機組成原理 第四章(嚴軍勇)-2003-2012年_第1頁
計算機組成原理 第四章(嚴軍勇)-2003-2012年_第2頁
計算機組成原理 第四章(嚴軍勇)-2003-2012年_第3頁
計算機組成原理 第四章(嚴軍勇)-2003-2012年_第4頁
計算機組成原理 第四章(嚴軍勇)-2003-2012年_第5頁
已閱讀5頁,還剩88頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機組成原理計算機組成原理 第四章第四章 數值的機器運算數值的機器運算 計算機組成原理計算機組成原理 l本章學習目的本章學習目的 實現算術運算和邏輯運算的方法實現算術運算和邏輯運算的方法 運算部件的基本結構運算部件的基本結構 運算部件的工作原理運算部件的工作原理 計算機組成原理計算機組成原理 l本章內容提要本章內容提要 基本算術運算的實現基本算術運算的實現 定點加減運算定點加減運算 帶符號數的移位和舍入操作帶符號數的移位和舍入操作 定點乘法運算定點乘法運算 定點除法運算定點除法運算 規格化浮點運算規格化浮點運算 十進制整數的加法運算十進制整數的加法運算 邏輯運算與實現邏輯運算與實現 運算器的

2、基本組成與實例運算器的基本組成與實例 計算機組成原理計算機組成原理 l本章重點與難點本章重點與難點 并行加法器的進位方式并行加法器的進位方式 補碼加減運算補碼加減運算,溢出檢測方法及實現溢出檢測方法及實現 帶符號數的移位規則帶符號數的移位規則 補碼乘法(補碼乘法(Booth乘法)乘法) 補碼除法(加減交替法)補碼除法(加減交替法) 規格化浮點加減和乘除運算規格化浮點加減和乘除運算 一位十進制整數的加法運算一位十進制整數的加法運算 ALU的應用的應用 計算機組成原理計算機組成原理 l基本算術運算的實現基本算術運算的實現 加法器加法器 全加器全加器 Si=Ai Bi Ci-1 Ci=AiBi+(A

3、i Bi)Ci-1 FAFA A Ai iB Bi i S Si i C Ci-1 i-1 C Ci i =1 =1 夠減,夠減,ri=2ri-1-Y0,商,商1 若不夠減,若不夠減,ri=2ri-1-Y0,商,商0 恢復余數恢復余數:ri=ri+Y=2ri-1 再左移一位,進行第再左移一位,進行第i+1次操作次操作: ri+1=2ri-Y=2(ri+Y)-Y=2ri+2Y-Y=2ri+Y ri+1=2ri+(1-2Qi)Y 最終余數為負數,恢復一次余數,不需要再左移最終余數為負數,恢復一次余數,不需要再左移 計算機組成原理計算機組成原理 l定點除法運算定點除法運算 原碼不恢復余數法(原碼加減

4、交替法)原碼不恢復余數法(原碼加減交替法) 約定:約定:|X|Y|,且除數不能為,且除數不能為0 例題:例題: 已知:已知:X=0.10101,Y=-0.11110,求:,求:X Y。 |X|=0.10101A,|Y|=0.11110B,0C |Y|變補 變補=1.00010 異號,商符為負異號,商符為負 計算機組成原理計算機組成原理 A C A C 說明說明 0 0.1 0 1 0 1 0.0 0 0 0 00 0.1 0 1 0 1 0.0 0 0 0 0 +|Y|+|Y|變補 變補 1 1.0 0 0 1 0 1 1.0 0 0 1 0 -|Y|-|Y| 1 1.1 0 1 1 1 0.

5、0 0 0 0 1 1.1 0 1 1 1 0.0 0 0 0 0 0 余數為負,商余數為負,商0 0 1 1.0 1 1 1 0 1 1.0 1 1 1 0 左移一位左移一位 +|Y| 0 0.1 1 1 1 0 +|Y| 0 0.1 1 1 1 0 +|Y|+|Y| 0 0.0 1 1 0 0 0.0 0 0 0 0.0 1 1 0 0 0.0 0 0 0 10 1 余數為正,商余數為正,商1 1 0 0.1 1 0 0 0 0 0.1 1 0 0 0 左移一位左移一位 +|Y|+|Y|變補 變補 1 1.0 0 0 1 0 1 1.0 0 0 1 0 -|Y|-|Y| 1 1.1 1 0

6、 1 0 0.0 0 1 1.1 1 0 1 0 0.0 0 0 1 00 1 0 余數為負,商余數為負,商0 0 1 1.1 0 1 0 0 1 1.1 0 1 0 0 左移一位左移一位 +|Y| 0 0.1 1 1 1 0 +|Y| 0 0.1 1 1 1 0 +|Y|+|Y| 0 0.1 0 0 1 0 0.0 0 0.1 0 0 1 0 0.0 0 1 0 10 1 0 1 余數為正,商余數為正,商1 1 0 1.0 0 1 0 0 0 1.0 0 1 0 0 左移一位左移一位 +|Y|+|Y|變補 變補 1 1.0 0 0 1 0 1 1.0 0 0 1 0 -|Y|-|Y| 0 0

7、.0 0 1 1 0 0.0 0.0 0 1 1 0 0.0 1 0 1 10 1 0 1 1 余數為正,商余數為正,商1 1 0 0.0 1 1 0 0 0 0.0 1 1 0 0 左移一位左移一位 +|Y|+|Y|變補 變補 1 1.0 0 0 1 0 1 1.0 0 0 1 0 -|Y|-|Y| 1 1.0 1 1 1 0 1 1.0 1 1 1 0 0.1 0 1 1 00.1 0 1 1 0 余數為負,商余數為負,商0 0 +|Y| 0 0.1 1 1 1 0 +|Y| 0 0.1 1 1 1 0 恢復余數,恢復余數,+|Y|+|Y| 0 0.0 1 1 0 00 0.0 1 1 0

8、 0 計算機組成原理計算機組成原理 經過原碼加減交替除法,有:經過原碼加減交替除法,有: 商商=0.10110 余數余數=0.01100 2-5 XY=-(0.10110+ ) 0.01100 2-5 0.11110 計算機組成原理計算機組成原理 |X|A,|Y|B 0C,0CR 0Cn 2A+BA 2C C 1Cn 2A-BA 2C C CR+1CR CR=n? N 1Cn N A 0? 0Cn A+BA A-BA Y Y YN A 0? XS YS QS 計算機組成原理計算機組成原理 l定點除法運算定點除法運算 補碼加減交替除法補碼加減交替除法 被除數,除數,商和余數補碼表示,符號位運算被

9、除數,除數,商和余數補碼表示,符號位運算 判斷夠減:被除數(部分余)絕對值判斷夠減:被除數(部分余)絕對值=除數絕對值除數絕對值 同號同號X0,Y0,X-Y0 X0,Y0,-X-(-Y) 0X-Y0 異號異號X0,Y0,X-(-Y)=(X+Y)0 X0,Y0,(-X)-Y0X+Y0 計算機組成原理計算機組成原理 l定點除法運算定點除法運算 補碼加減交替除法補碼加減交替除法 上商規則上商規則 pX補 補和 和Y補 補同號,則商為正數:夠減時上商 同號,則商為正數:夠減時上商“1”, 不夠減時上商不夠減時上商“0” pX補 補和 和Y補 補異號,則商為負數:夠減時上商 異號,則商為負數:夠減時上商

10、“0”, 不夠減時上商不夠減時上商“1” p上商規則上商規則+夠減的判斷:夠減的判斷:本次余數本次余數ri補 補和除數 和除數Y補 補同 同 號,商上號,商上“1”,反之,商上,反之,商上“0” 計算機組成原理計算機組成原理 l定點除法運算定點除法運算 補碼加減交替除法補碼加減交替除法 商符的確定:商符的確定:第一次得出的商第一次得出的商 求新余數求新余數 ri+1補 補=2ri補補+(1-2Qi) Y補 補 末位恒置末位恒置1 計算機組成原理計算機組成原理 補碼加減交替除法規則:補碼加減交替除法規則: XX補 補與 與YY補 補 第一次操作第一次操作rri i 補 補與 與YY補 補 上商上

11、商求新余數求新余數rri+1 i+1 補補的操作 的操作 同號同號XX補 補-Y -Y補 補 同號同號 (夠減)(夠減) 1 1rri+1 i+1 補補=2r =2ri i 補 補-Y -Y補 補 異號異號 (不夠減)(不夠減) 0 0rri+1 i+1 補補=2r =2ri i 補 補+Y +Y補 補 異號異號XX補 補+Y +Y補 補 同號同號 (不夠減)(不夠減) 1 1rri+1 i+1 補補=2r =2ri i 補 補-Y -Y補 補 異號異號 (夠減)(夠減) 0 0rri+1 i+1 補補=2r =2ri i 補 補+Y +Y補 補 計算機組成原理計算機組成原理 除法的補碼加減交

12、替法規則可概括如下: 1、若X與Y同號,則第一次做X補-Y補;若 X與Y異號,則第一次做X補+Y補。 2、若余數與Y同號,商“1”,接著做2ri補- Y補;若余數與Y異號,商“0”,接著做2ri 補+Y補。 3、第2步操作重復進行n次。 4、商的最末一位恒置“1”。 計算機組成原理計算機組成原理 已知:已知:X=0.1000X=0.1000,Y=-0.1010Y=-0.1010;求;求X XY Y XX補 補=0.1000A =0.1000A,YY補 補=1.0110B =1.0110B,0C0C,-Y-Y補 補=0.1010 =0.1010 0 0.1 0 0 0 0.0 0 0 00 0.

13、1 0 0 0 0.0 0 0 0 +Y+Y補 補 1 1.0 1 1 0 X1 1.0 1 1 0 X補 補、 、YY補 補異號, 異號,+Y+Y補 補 1 1.1 1 0 0 1 1.1 1 0 0 左移一位左移一位 +-Y+-Y補 補 0 0.1 0 1 0 +-Y 0 0.1 0 1 0 +-Y補 補 0 0.0 1 1 0 0.0 0 0 0.0 1 1 0 0.0 0 1 01 0 r ri i 補 補、 、YY補 補異號,商 異號,商0 0 0 0.1 1 0 0 0 0.1 1 0 0 左移一位左移一位 +Y+Y補 補 1 1.0 1 1 0 +Y1 1.0 1 1 0 +Y補

14、 補 0 0.0 0 1 0 0.0 0 0.0 0 1 0 0.0 1 0 01 0 0 r ri i 補 補、 、YY補 補異號,商 異號,商0 0 +Y+Y補 補 1 1.0 1 1 0 +Y1 1.0 1 1 0 +Y補 補 1 1.1 0 1 0 0.1 1.1 0 1 0 0.1 0 0 11 0 0 1 r ri i 補 補、 、YY補 補同號,商 同號,商1 1 1 1.0 1 0 0 1 1.0 1 0 0 左移一位左移一位 +-Y+-Y補 補 0 0.1 0 1 0 +-Y 0 0.1 0 1 0 +-Y補 補 1 1.1 1 1 0 1 1.1 1 1 0 1.0 0 1

15、 11.0 0 1 1 末位恒置末位恒置1 1 1 1.1 1 1 0 0.0 0 0 1 1.1 1 1 0 0.0 0 0 1 1 r ri i 補 補、 、YY補 補同號,商 同號,商1 1 0 0.0 1 0 0 0 0.0 1 0 0 左移一位左移一位 計算機組成原理計算機組成原理 商商補 補=1.0011 余數余數補 補=1.1110 2-4 商商=-0.1101 余數余數=-0.0010 2-4 1.1110 2-4 1.0110 XY補 補=1.0011+ -0.0010 2-4 -0.1010 XY= -0.1101+ 計算機組成原理計算機組成原理 X補補A,Y補補B 0C,

16、0CR 0Cn 2A+BA 2C C 1Cn 2A-BA 2C C CR+1CR CR=n? End N . 1Cn Y As Bs=0? A+BAA-BA NY As Bs=0? NY . 計算機組成原理計算機組成原理 l規格化浮點運算規格化浮點運算 浮點加減運算浮點加減運算 約定:約定: A=MA2EA B=MB2EB p對階:對階: 1.E=EA-EB 2.小階向大階看齊:每右移一位,階碼加小階向大階看齊:每右移一位,階碼加1 3. EA=EB,不須對階,不須對階, EAEB,則,則MB右移,右移, EA EB,則,則MA右移;右移后,應對尾數進行舍入右移;右移后,應對尾數進行舍入 計算

17、機組成原理計算機組成原理 l規格化浮點運算規格化浮點運算 浮點加減運算浮點加減運算 約定:約定: A=MA2EA B=MB2EB p尾數加尾數加/減:減: MA MBMC p尾數結果規格化尾數結果規格化 1.1/2|M|1 2.尾數用雙符號位補碼表示尾數用雙符號位補碼表示 計算機組成原理計算機組成原理 l規格化浮點運算規格化浮點運算 浮點加減運算浮點加減運算 p尾數結果規格化尾數結果規格化 00.1 x x x 11.0 x x x 00.0 x x x 11.1 x x x 10.x x x x 01.x x x x 計算機組成原理計算機組成原理 l規格化浮點運算規格化浮點運算 浮點加減運算

18、浮點加減運算 p尾數結果規格化尾數結果規格化左規左規 1.左規左規=Cs1Cs2C1+Cs1Cs2C1 2.尾數每左移一位,階碼相應減尾數每左移一位,階碼相應減1(EC-1EC) p尾數結果規格化尾數結果規格化右規右規 1.右規右規=Cs1 Cs2 2.并非真正的溢出并非真正的溢出 3.尾數每右移一位,階碼相應加尾數每右移一位,階碼相應加1(EC+1EC) 計算機組成原理計算機組成原理 例:有兩浮點數為例:有兩浮點數為 A=0.1011102-01 B=-(0.101011)2-10 假設這兩數的格式:階碼假設這兩數的格式:階碼4位,用移碼表位,用移碼表 示;尾數示;尾數8位,用補碼表示,包含

19、一位符號位,用補碼表示,包含一位符號 位,即位,即 A浮 浮=0111; ;0;1011100 B浮 浮=0110; ;1;0101010 E ms m 計算機組成原理計算機組成原理 對階對階 求階差:求階差:E=EA-EB=-1-(-2)=1 E=1,表示,表示EAEB。按對階規則,將。按對階規則,將MB 右移一位,其階碼加右移一位,其階碼加1,得:,得: B浮 浮 =0111;1;1010101 尾數求和尾數求和 00.1011100 + 11.1010101 00.0110001 計算機組成原理計算機組成原理 尾數結果規格化及判溢出尾數結果規格化及判溢出 由于結果的尾數是非規格化的數,故

20、應由于結果的尾數是非規格化的數,故應 左規。尾數每左移一位,階碼減左規。尾數每左移一位,階碼減1,直至尾,直至尾 數成為規格化數為止。數成為規格化數為止。 A+B尾 尾補 補=00.0110001 A+B尾 尾補 補 =00.11000102-1 最后結果為最后結果為 A+B浮 浮 =0110;0;1100010 A+B=(0.110001)2-10 計算機組成原理計算機組成原理 l規格化浮點運算規格化浮點運算 浮點乘除運算浮點乘除運算 約定:約定: A=MA2EA B=MB2EB A B=(MA MB) 2(EA+EB) AB=(MAMB) 2(EA-EB) p乘法步驟乘法步驟: 1.階碼相

21、加:移碼,要減去一個偏置值階碼相加:移碼,要減去一個偏置值2n 2.尾數相乘尾數相乘 3.尾數結果規格化尾數結果規格化 計算機組成原理計算機組成原理 l規格化浮點運算規格化浮點運算 浮點乘除運算浮點乘除運算 約定:約定: A=MA2EA B=MB2EB A B=(MA MB) 2(EA+EB) AB=(MAMB) 2(EA-EB) p除法步驟除法步驟: 1.尾數調整:尾數調整: |MA|MB| 2.階碼相減:移碼,要加上一個偏置值階碼相減:移碼,要加上一個偏置值2n 3.尾數相除尾數相除 計算機組成原理計算機組成原理 l十進制整數的加法運算十進制整數的加法運算 一位十進制加法運算及實現一位十進

22、制加法運算及實現 8421碼加法碼加法 p兩個兩個8421碼相加時,碼相加時, “逢二進一逢二進一” p當和當和9,無需校正,無需校正 p當和當和9,則,則+6校正校正 p在做在做+6校正的同時,將產生向上一位的進位校正的同時,將產生向上一位的進位 計算機組成原理計算機組成原理 十進制數十進制數8421碼碼 C4S4S3S2S1 校正前的二進制數校正前的二進制數 C4S4S3S2S1 校正與否校正與否 0 9 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 不校正不校正 10 11 12 13 14 15 16 17 18 19 1 0 0 0 0 1 0 0

23、0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 +6校正校正 計算機組成原理計算機組成原理 校正舉例校正舉例 0101 5 + 10008 1101 + 0110 6 1 0011 13 1001 9 + 10008 1 0001 + 0110 6 1 0111 17 計算機組成

24、原理計算機組成原理 +6校正函數校正函數=C4+S4S3+S4S2 FAFAFAFA HAFAHA A4A3A2A1B4B3B2B1 C0 C4 S4S3S2S1 S1S2S3S4 C4 忽略 計算機組成原理計算機組成原理 2.余余3碼加法碼加法 十進制余十進制余3碼加法規則:碼加法規則: 兩個余兩個余3碼相加,碼相加,“逢二進一逢二進一” ; 若其和沒有進位,則減若其和沒有進位,則減3(即(即+1101)校)校 正;正; 若其和有進位,則加若其和有進位,則加3(即(即+0011)校正。)校正。 4.7 4.7 十進制整數的加減運算十進制整數的加減運算 計算機組成原理計算機組成原理 l十進制整

25、數的加法運算十進制整數的加法運算 一位十進制加法運算及實現一位十進制加法運算及實現 余余3碼加法碼加法 p兩個余兩個余3碼相加,碼相加,“逢二進一逢二進一” p若其和沒有進位,則減若其和沒有進位,則減3(即(即+1101)校正)校正 p若其和有進位,則加若其和有進位,則加3(即(即+0011)校正)校正 計算機組成原理計算機組成原理 十進制數十進制數余余3碼碼 C4S4S3S2S1 校正前的二進制數校正前的二進制數 C4S4S3S2S1 校正與否校正與否 0 1 8 9 0 0 0 1 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 0

26、1 1 1 0 0 1 1 1 1 -3校正校正 10 11 18 19 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 1 0 0 1 +3校正校正 -3校正函數校正函數=C4 +3校正函數校正函數=C4 計算機組成原理計算機組成原理 校正舉例校正舉例 0110 3 + 10005 1110 + 1101 無進位,無進位,-3,+1101 1011 8 1001 6 + 10005 1 0001 + 0011 有進位,有進位,+3 1 0100 11 計算機組成原理計算機組成原理 FAFAFAFA

27、 FAFAFA A4A3A2A1B4B3B2B1 C0 C4 S4S3S2S1 S1S2S3S4 C4 忽略 計算機組成原理計算機組成原理 l邏輯運算與實現邏輯運算與實現 邏輯運算與算術運算的區別邏輯運算與算術運算的區別 邏輯乘邏輯乘 邏輯加邏輯加 邏輯非邏輯非 按位加按位加 計算機組成原理計算機組成原理 l運算器的基本組成運算器的基本組成 運算器的基本結構運算器的基本結構 實現基本算術、邏輯運算功能的實現基本算術、邏輯運算功能的ALU 提供操作數與暫存結果的寄存器組提供操作數與暫存結果的寄存器組 移位器移位器 有關的判別邏輯和控制電路有關的判別邏輯和控制電路 計算機組成原理計算機組成原理 (

28、1) 帶多路選擇器的運算器帶多路選擇器的運算器 移位器 選擇器選擇器 R0Rn-1 +1 ALU R0Rn-1R0Rn-1 內部總線 M S0 S3 計算機組成原理計算機組成原理 (2) 帶輸入鎖存器的運算器帶輸入鎖存器的運算器 移位器 鎖存器1鎖存器2 +1 ALU M S0 S3 內部總線 R0 Rn-1 計算機組成原理計算機組成原理 2.運算器的內部總線結構運算器的內部總線結構 (1) 單總線結構運算器單總線結構運算器 運算器實現一次雙操作數的運算需要分成運算器實現一次雙操作數的運算需要分成 三步。三步。 (2)雙總線結構運算器雙總線結構運算器 運算器實現一次雙操作數的運算需要兩步。運算

29、器實現一次雙操作數的運算需要兩步。 計算機組成原理計算機組成原理 通用 寄存器 特殊 寄存器 特殊 寄存器 緩沖器 ALU 總線1 總線2 計算機組成原理計算機組成原理 三總線結構運算器三總線結構運算器 實現一次雙操作數的運算僅需要一步。實現一次雙操作數的運算僅需要一步。 通用 寄存器 特殊 寄存器 總線 旁路器 ALU 總線1 總線2 總線3 計算機組成原理計算機組成原理 ALU舉例舉例 74181是四位算術邏輯運算部件是四位算術邏輯運算部件 (ALU),又稱多功能函數發生器,能執),又稱多功能函數發生器,能執 行行16種算術運算和種算術運算和16種邏輯運算。種邏輯運算。 A0、B0A3、B3:操作數輸入端;:操作數輸入端; F0F3:輸出端;:輸出端; Cn:進位輸入端;:進位輸入端; Cn+4:進位輸出端;進位輸出端; G* :組進位產生函數輸出端;:組進位產生函數輸出端; P*:組進位傳遞函數輸出端;:組進位傳遞函數輸出端; 計算機組成原理計算機組成原理 M:工作方式,:工作方式,M=0為算術操作,為算術操作,M=1為為 邏輯操作;邏輯操作; S0S3:功能選擇線。:功能選擇線。 74181的的4位作為一個小組,組間既可以位作為一個小組,組間既可以 采用串行進位,也可以采用并行進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論