2014年6月15日 星期日

計算機算數

ALU(算術邏輯單元)

l   就是“計算”!
l   電腦所有服務都為了這個單元!
l   一定可以整數運算
l   也許可以浮點數(實數)運算
l   通常把浮點數運算的單元稱為FPU
FPU可以單獨地放在晶片外部

FPU可以放在晶片內部 (比如:486DX)











整數表示法

l   以二進位(0 & 1)來表示的正整數(無號整數)
比如: 41=00101001
無負號
無標點
l   以二進位(0 & 1)來表示的正負整數(有號整數)
符號位元表示法
2s補數表示法


符號位元表示法

l   最左邊的位元是符號位元
l   符號位元0 代表正數
l   符號位元1 代表負數
+18 = 00010010            
 -18 = 10010010
l   問題:
分成符號和數值兩部分
0有兩個表示法 (+0 -0)

2s 補數表示法

+3 = 00000011
+2 = 00000010
+1 = 00000001
+0 = 00000000
 -1 = 11111111
 -2 = 11111110
 -3 = 11111101


 2s 補數之幾何描述

























加法和減法的硬體方塊圖






















無號整數乘法範例















無號整數乘法之流程圖




































無號整數除法之流程圖




































浮點數表示法








CPU概念

電腦元件:頂層觀點
































何謂程式?

l   一序列的步驟
l   每個步驟可能是數學運算、或邏輯運算
l   每個運算必須輸出不同的控制訊號

電腦元件

l   控制單元和算術邏輯單元
形成CPU中央處理單元
l   資料和指令必須能轉入系統、或回傳結果
需要I/O模組                   
l   程式碼和輸出結果需要儲存區
稱為Memory主記憶體


程式執行














擷取週期

l   PC(程式計數器)
l   指向下一個欲擷取的指令位址(指令指標)
l   擷取過程:
1.處理器會擷取PC指向的記憶體位址之指令
2.遞增PC(除非指令另有指示)
3.把擷取的指令放到IR(指令暫存器)
4.處理器直譯指令後執行之


指令週期(未加入中斷週期)狀態圖



















指令週期(加入中斷週期)
















多重中斷

l   禁能中斷
處理器正在中斷時,會暫時忽略其它的中斷要求
這些中斷要求會停留在等待判讀狀態
處理器會依序地進行中斷要求的處理
l   定義優先順序
低優先權可以被高優先權中斷
高優先權不會再被中斷


互連結構

l   所有模組都需要互相連線
l   不同模組需要不同連線
1.    記憶體
2.    I/O
3.    CPU


何謂匯流排?

l   連接兩個或更多設備的通訊路徑
l   通常採用廣播方式作開放連接
l   電路板(主機板)上面的電線集合
l   平行電線
l   條狀導線
l   比如: PCI匯流排


匯流排種類

l   專用匯流排
資料線和位址線分開
專用的資料線、專用的位址線
l   多工匯流排
資料線和位址線共用
以位址有效線或資料有效線,來選擇控制
優點:線路較少
缺點:需要較複雜的控制線路、潛藏效能問題