计算机组织与设计

上传人:jiups****uk12 文档编号:56955972 上传时间:2018-10-17 格式:PPT 页数:25 大小:698KB
返回 下载 相关 举报
计算机组织与设计_第1页
第1页 / 共25页
计算机组织与设计_第2页
第2页 / 共25页
计算机组织与设计_第3页
第3页 / 共25页
计算机组织与设计_第4页
第4页 / 共25页
计算机组织与设计_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《计算机组织与设计》由会员分享,可在线阅读,更多相关《计算机组织与设计(25页珍藏版)》请在金锄头文库上搜索。

1、1,3.1 簡介,自然數字的二進位表示法二進位與十進位的轉換 二進位與十六進位的轉換 十六進位與十進位的轉換負數表示法二進位數的邏輯運算 (and, or)二進位數的算術運算(+, -, *, /)分數及浮點表示法硬體如何實際執行加、減、乘、除。,2,3.2 有號數與無號數,範例 二進制以2補數的負數表示法解答(2)10 = (0000 0000 0000 0000 0000 0000 0000 0010)2(1111 1111 1111 1111 1111 1111 1111 1101) 2(-2)10 =(1111 1111 1111 1111 1111 1111 1111 1110) 2

2、問題:朝另一個方向 (最高有效位元作為符號位元),3,3.2有號數與無號數,若小於則設定(slt)無號數的若小於則設定(sltu)範例 假設暫存器 $s0 含有以下的二進位數1111 1111 1111 1111 1111 1111 1111 1111 而暫存器 $s1含有以下的二進位數0000 0000 0000 0000 0000 0000 0000 0001經由以下兩個指令運算後,暫存器 $t0及 $t1 的值為何?slt $t0, $s0, $s1sltu $t1, $s0, $s1解答得到 $t0 = 1 及 $t1 = 0.,4,3.4 邏輯運算,邏輯左移指令 (sll) : R形

3、態格式範例 假如暫存器 $s0 內容為0000 0000 0000 0000 0000 0000 0000 1101而指令 sll $t2, $s0, 8 被執行$t2的值將為多少?解答0000 0000 0000 0000 0000 1101 0000 0000 上述指令的機器語言為:sll $t2, $s0, 8,5,3.4邏輯運算,And (and) 指令Or (or) 指令範例 遮罩如果暫存器 $t2 內含0000 0000 0000 0000 0000 1101 0000 0000 而暫存器 $t1 內含0000 0000 0000 0000 0011 1100 0000 0000則

4、在 MIPS 指令執行後 and $t0, $t1, $t2$t0 的值將會是0000 0000 0000 0000 0000 1100 0000 0000,7,3.5 建立算術邏輯單元,由建立一個位元的算術邏輯單元 (ALU)開始因為MIPS的字組都是32位元的長度,所以我們所需要的ALU也必須是32位元使用 4 種基本硬體元件來建構ALU,1. AND gate (c=ab),2. OR gate (c=a+b),3. Inverter (c=-a),4. Multiplexor (if d=0, c=a; Else c=b),8,3.5建立算術邏輯單元,由 AND 和 OR 所組成之一位

5、元邏輯單元運算 = 位元 0 為 AND 的運算結果運算 = 位元 1 為 OR 的運算結果一位元加法器,9,3.5建立算術邏輯單元,一位元ALU 執行 AND, OR及加法 (左圖)運算 = 位元2 為加法的運算結果由32個一位元 ALU所建構的一個32位元的ALU (右圖),a0,b0,a1,b1,a2,b2,a31,b31,Result0,Result0,Result01,Result2,Result31,CarryIn,CarryIn,Operation,Operation,CarryOut,a,b,Result,10,3.5建立算術邏輯單元,減法如同對運算元的反相值做加法運算而且最低

6、有效位元本身還是有個進位輸入訊號(CarryIn) a + (b) + 1 = a + (-b) = a - b一位元 ALU 執行 AND, OR及對 a 和 b 或 a 和 b 做加法運算減法運算ALU 0: Operation = 2, Binvert = 1, 及 CarryIn = 1ALU 1-31: Operation = 2 及 Binvert = 1,Operation,CarryIn,Result,CarryOut,CarryOut,CarryOut,CarryOut,BiInvert,a,b,11,3.5建立算術邏輯單元,支援 小於即設定 (slt)指令範例: slt $

7、t0, $s1, $s2ai: 暫存器 $s1的位元 ibi:暫存器$s2的位元 i結果: 假如 $s1 $s2 0001否則 0000 32位元 ALU觀察:假如 $s1 - $s2 0,則 $s1 $s2結果 0 = 加法器的符號位元控制訊號 / 輸入Operation = 3Less 1-31 = 0Binvert = 1CarryIn 0 = 1Less 0 = Set,Operation,CarryIn,BiInvert,Result0,Result1,Result2,Result31,Overflow,12,3.5建立算術邏輯單元,32位元 ALU (續),(a) ALU 0-30

8、,(b) ALU 31,Operation,Operation,BiInvert,BiInvert,CarryIn,CarryIn,Result,Result,CarryOut,Overflow,Set,Less,Less,13,3.5建立算術邏輯單元,32位元ALU(續)設定 Binvert = 1 及 CarryIn 0 = 1做減法運算對加法及邏輯運算設定 Binvert = 0 及 CarryIn 0 = 0 組合 Binvert 及 CarryIn 0 為一條控制線,稱為 Bnegate,Operation,Bnegate,支援條件分支指令假使兩個暫存器相等或假使不相等時作分支觀察i

9、f a=b then a-b = 0if a-b = 0 then Result = 000Zero = 0 不等時Zero = 1 相等時,14,3.5建立算術邏輯單元,Operation,Overflow,Zero,Bnegate,3.5建立算術邏輯單元,ALU控制線的值 及相對應的功能,15,Operation,CarryIn,Bnegate,CarryOut,Result,Less,16,3.5 建立算術邏輯單元,常用來直接代表 ALU的符號,17,3.6 乘法,無號數乘法範例 (1000)2 x (1011)2:1000x 101110001000_0000_1000_1011000

10、,被乘數 乘數,Example. (0010)2 x (0011)2:0010x 001100100010_0000_0000_0000110,18,3.6乘法,第一版乘法運算的演算法及硬體乘積暫存器先預設為 0。如果每個步驟須花費一個時脈週期,這一版的乘法運算就要花費100個時脈週期才能完成。,19,3.6乘法,範例 第一版演算法的乘法範例,Fig 4.27,20,3.6乘法,第二版乘法運算的演算法及硬體32-位元ALU 乘積暫存器先預設為 0。,21,3.6乘法,第三版乘法運算的演算法及硬體32-位元ALU乘積暫存器右半邊先預設為乘數的值乘法運算需要60個時脈週期,23,3.8 浮點數,符

11、號與大小表示法(-1) * (1+有效數字) * 2單精準度倍精準度溢位/短值 是由於指數太大/太小 而無法在指數欄位上表示出來2.0*1038 這個數字可以以單精準度來表示log10 ( 2128) = 128 * log10 (2) = 38,s,E,1-bit,8-bit,23-bit,Exponent,Significand,S,1-bit,11-bit,20-bit,Significand (continue),32-bit,24,3.8浮點數,IEEE 754 的偏差值在單精度方面為127,在倍精度方面為1023(-1) * (1+有效數字) * 2指數 = E + 偏差值,s,E

12、,25,3.8浮點數,範例 以 IEEE 754 二進位表示法,說明十進位 -0.75的單精度及倍精度的格式 。解答-0.75 = -(0.11)2= -(1.1)2 * 2(-1)單精度:1 01111110 1000000(126)10倍精度:1 01111111110 1000 00000(1022)10問題: 說明二元進位表示法?,27,3.8浮點數,浮點數加法運算範例 試著將 0.5 和 -0.4375以二進位方式進行加法運算解答0.5 = (0.1)2= (1.0)2 * 2(-1)-0.4375 = - (0.0111)2= - (1.11)2 * 2(-2) 步驟 1. 比較兩個數的指數, 將指數大小調到與較大者相同:- (1.11)2 * 2(-2) = - (0.111)2 * 2(-1) 步驟 2. 將兩數之有效數字相加:(1.0)2 * 2(-1) - (0.111)2 * 2(-1) = (0.001)2 * 2(-1) 步驟 3. 將總和正規化:(0.001)2 * 2(-1) = (1.0)2 * 2(-4) 步驟 4. 將結果四捨五入,28,執行浮點數加法運算之算術單元的組織區塊圖,圖 4.45,3.8浮點數,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号