♡♡♡ 說明:
本筆記爲筆者學習中國大學MOOC上計算機組成原理課程時結合課程PPT和自己總結所做,爲個人筆記,如果對你有所幫助的話,我很榮幸。
課件PPT及筆記(word版、pdf版)及深入理解計算機系統pdf可在我的微信公衆號 “分享猿” 回覆關鍵詞 N02獲取。
計算機組成原理系列課程筆記入口:計算機組成原理[哈工大]
文章目錄
一、無符號數和有符號數
1.1 無符號數
- 寄存器的位數反映無符號數的表示範圍
8 位 0 ~ 255
16 位 0 ~ 65535
1.2 有符號數
-
機器數與真值
-
原碼錶示法
(1)定義
(2)舉例
原碼的特點:簡單、直觀
但是用原碼作加法時,會出現如下問題:
能否只作加法?
找到一個與負數等價的正數來代替這個負數就可使減→加 -
補碼錶示法
(1)補的概念
結論
√ 一個負數加上“模”即得該負數的補數
√ 一個正數和一個負數互爲補數時它們絕對值之和即爲模數
(2)正數的補數即爲其本身
(3)補碼定義
整數
x爲真值,n爲整數的位數
小數
(4)求補碼的快捷方式
當真值爲負時,補碼可用原碼除符號位外每位取反,末位加1求得
(5)舉例
練習 求下列真值的補碼
-
反碼錶示法
(1)定義
(2)舉例
三種機器數的小結
√ 最高位爲符號位,書寫上用“,”(整數)或“.”(小數)將數值部 分和符號位隔開
√ 對於正數,原碼 = 補碼 = 反碼
√ 對於負數,符號位爲1,其數值部分
原碼除符號位外每位取反末位加1→補碼
原碼除符號位外每位取反→反碼例6.11設機器數字長爲8位(其中1位爲符號位),對於整數,當其分別代 表無符號數、原碼、補碼和反碼時,對應的真值範圍各爲多少?
例6.12 已知 [y]補 求[-y]補
-
移碼錶示法
補碼錶示很難直接判斷其真值大小
(1)移碼定義
(2)移碼和補碼的比較
補碼與移碼只差一個符號位(3)真值、補碼和移碼的對照表
(4)移碼的特點
當x = 0時 [+0]移 = 25 + 0 = 1,00000
[-0]移 = 25 – 0 = 1,00000
∴ [+0]移 = [-0]移
當 n = 5 時 最小的真值爲25 = 100000
[ 100000]移 = 25 – 100000 = 000000
可見,最小真值的移碼爲全0用移碼錶示浮點數的階碼
能方便地判斷浮點數的階碼大小
二、數的定點表示和浮點表示
2.1 定點表示
- 小數點按約定方式標出
2.2 浮點表示
- 爲什麼在計算機中要引入浮點數表示?
- 編程困難,程序員要調節小數點的位置;
- 數的表示範圍小,爲了能表示兩個大小相差很大的數據,需要很長的機器字長;
例如:太陽的質量是0.2*1034克,一個電子的質量大約爲0.9*10-27克,兩者的差距爲1061以上,若用定點數據表示:2x>1061, 解得x>203位。 - 數據存儲單元的利用率往往很低。
- 浮點表示的格式是什麼?
- 尾數和階碼的基值必須是2嗎?基值的影響?
- 表數範圍與精度和哪些因素有關?
- 爲什麼要引入規格化表示?
- 目前浮點數表示格式的標準是什麼?
浮點數的一般形式
S :尾數 ;j: 階碼; r: 尾數的基值
計算機中 r 取 2、4、8、16 等
計算機中 S 小數、可正可負; j 整數、可正可負
①浮點數的表示形式
代表浮點數的符號
其位數反映浮點數的精度
其位數反映浮點數的表示範圍
和 共同表示小數點的實際位置
②浮點數的表示範圍
上溢 階碼>最大階碼 機器停止運算
下溢 階碼<最小階碼 按機器零處理,機器繼續運行
③浮點數的規格化形式
- r=2 尾數最高位爲1
- r=4 尾數最高2位不全爲0 基數不同,浮點數的規格化形式不同
- r=8 尾數最高3位不全爲0
④浮點數的規格化
- r=2 左規 尾數左移 1 位,階碼減 1
右規 尾數右移 1 位,階碼加 1 - r=4 左規 尾數左移 2 位,階碼減 1
右規 尾數右移 2 位,階碼加 1 - r=8 左規 尾數左移 3 位,階碼減 1
右規 尾數右移 3 位,階碼加 1 - r=16 …
- r=2^n …
基數 r 越大,可表示的浮點數的範圍越大
基數 r 越大,浮點數的精度降低
例如:設 m = 4, n = 10, r = 2
尾數規格化後的浮點數表示範圍如下
2.3 舉例
- 機器零
- 當浮點數尾數爲0時,不論其階碼爲何值按機器零處理
- 當浮點數階碼等於或小於它所表示的最小數時,不論尾數爲何值,按機器 零處理
- 如 m = 4、n = 10
當階碼和尾數都用補碼錶示時,機器零爲
×, × × × × ;0. 0 0 … 0
(階碼 = 16) 1, 0 0 0 0 ;×. ×× … ×
當階碼用移碼,尾數用補碼錶示時,機器零爲
0, 0 0 0 0; 0. 0 0 0 … 0
有利於機器中“判 0”電路的實現
2.4 IEEE 754標準
三、定點運算
3.1 移位運算
- 移位的意義
15.m = 1500. cm 小數點右移 2 位
機器用語 15 相對於小數點 左移2位( 小數點不動 )
左移 絕對值擴大
右移 絕對值縮小
在計算機中, 移位與加減配合,能夠實現乘除運算 - 算術移位規則
符號位不變
x = -
[x]補=
- 算術移位的硬件實現
- 算術移位和邏輯移位的區別
3.2 加減法運算
但是用原碼作加法時,會出現如下問題:
- 補碼加減法運算
- 舉例
- 溢出判斷
- 補碼加減法的硬件配置
3.3 乘法運算
3.4 除法運算
四、浮點四則運算
4.1 浮點加減運算
五、算術邏輯單元
5.1 ALU電路
5.2 快速進位鏈