計算機組成原理(唐朔飛)教材筆記 第六章 計算機的運算方法

1. 把符號“數字化”的數成爲機器數,而把帶“+”或“-”符號的數稱爲真值;

2. 原碼錶示法,約定整數的符號位與數值位之間用逗號分隔,小數的符號位與數值位之間用小數點隔開;

3. 原碼、補碼、反碼三種機器數的特點可歸納如下:

# 三種機器數的最高位均爲符號位。符號位和數值部分之間可用“.”(對於小數)或“,”(對於整數)隔開;

# 當真值爲正時,原碼、補碼、反碼的表示形式相同;

# 當真值爲負時,三者的表示形式不同,但其符號位都用1表示,而數值部分有這樣的關係“補碼是原碼的求反加一,反碼是原碼的每位求反”

4. 已知[y]補求[-y]補的辦法是連同符號位在內,每位取反,末位+1;用於補碼加減運算

5. 同一個真值的移碼和補碼僅差一個符號位;

6. 通常浮點數被表示成N= S x r^j,式中S爲尾數(可正可負),j爲階碼(可正可負),r是基數(或基值),在計算機中基數可取2,4,8,16等;

7. 基數爲2時,尾數最高位爲1的數爲規格化數;如果不是規格化數,就要通過修改階碼並同時左右移尾數的辦法使其變成規格化數;基數爲4時,尾數最高兩位不全爲0的數爲規格化數;同理基數爲8時,尾數最高三位不全爲零的數爲規格化數;

8. 定點數和浮點數的比較

# 當浮點機和定點機中數的位數相同時,浮點數的表示範圍比定點數的大得多

# 當浮點數爲規格化數時,其相對精度遠比定點數高

# 浮點數運算要分階碼部分和尾數部分,而且運算結果都要求規格化,故浮點運算步驟比定點運算步驟多,運算速度比定點運算的低,運算線路比定點運算的複雜;

# 在溢出的判斷方法上,浮點數是對規格化數的階碼進行判斷,而定點數是對數值本身進行判斷。

9. 算術移位規則

# 正數,移位後出現的空位均補0

# 負數,原碼補0,反碼補1,補碼左移補0右移補1

10. 溢出判斷

# 用一位符號位判斷溢出
對於加法,只有在正數加正數或負數加負數兩種情況下才可能出現溢出,符號不同的兩個數相加是不會溢出的,減法同理,減法只需將減數“求補”之後看符號即可;
只要實際參加操作的兩個數符號相同,結果與源操作數的符號不同,即爲溢出

# 用兩位符號位判斷溢出
採用2位符號位的變形補碼,以4爲模,當2位符號位不同時,表示溢出,否則無溢出;
無論是否發生溢出,高位(第1位)永遠代表真正的符號

11. 乘法運算可以用移位和加法來實現,兩個4位數相乘,總共需要進行4次加法運算和4次移位;乘法運算的實現有原碼1位乘、原碼2位乘、補碼1位乘和補碼2位乘,具體例子見課本256頁;

12. 除法運算有如下幾種方法,1是恢復餘數法(當餘數爲負時,需加上除數,將其恢復成原來的餘數);2是加減交替法,詳見課本260頁 ;還有補碼除法

13. 浮點數加減運算必須按以下幾步進行

# 對階,是兩數的小數點位置對齊
# 尾數求和, 將對階後的兩尾數按定點加減運算規則求和(差)
# 規格化, 爲增加有效數字的位數,提高運算精度,必須將求和(差)後的尾數規格化
# 舍入,爲提高精度,要考慮尾數右移時丟失的數值位
# 溢出判斷, 判斷結果是否溢出

14. 爲了提高運算速度,除了採用高速芯片和改進算法(如將二位乘替代一位乘)外,普遍採用先行進位的辦法,如果把傳遞進位的電路稱作進位鏈,那麼實現先行進位的進位鏈通常採用單重分組進位鏈和雙重分組進位鏈兩種

# 單重分組進位鏈是將n位全加器分成若干小組,小組內的進位同時產生,
小組與小組之間採用串行進行,故這種進位又有“組內並行,組間串行”之稱

# 雙重分組跳躍進位鏈是將n位全加器分成幾個大組,大組內包含若干小組,
每個大組內包含的各小組的最高位進位是同時產生的,大組與大組之間採用串行進位,
因爲各小組的最高位進位是同時產生的,小組內的其他進位也是同時產生的,
故這種進位鏈有“組內並行,組間並行”之稱;

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章