Control Unit(控制單元): 負責指令的擷取和解釋
ALU(Arithmetic and Logic Unit, 算數與邏輯單元): 負責算數與邏輯指令的實際執行工作,裡面有一些記憶體供計算所需,特別稱為Register(暫存器)。暫存器的數量隨硬體而不同,此處說明用的虛擬電腦只有一個暫存器。 一般常見的暫存器則有
累加器(Accumulator):儲存執行運算的資料
旗標暫存器(Flag Register):儲存運算處理後的CPU狀態
程式計數器(Program Counter):儲存目前執行指令所在的地址
基底暫存器(Base Register):表達某塊記憶體空間的開始位置
索引暫存器(Index Register):儲存基底暫存器的相對位置
通用暫存器(General Purpose Register):儲存一般資料
指令暫存器(Instruction Register):儲存指令。僅供CPU內部使用
在上圖的機器中共有100個記憶體可用,每個記憶體可以存放3個數字。Control Unit, ALU, Program Counter在現代的硬體設計裡多做在一起,稱為CPU(Central Processing Unit)。Pentium 4就是Intel這家公司的CPU產品。
電腦執行一個機器指令的步驟為:
1.Fetch(擷取指令): 由Control Unit讀取Program Counter的內容,根據Program 2.Counter的數值去相對應的Memory抓指令
3.Decode(解碼): 抓到的指令經Control Unit判讀,決定要如何執行該指令
4.Execute(執行): 在ALU(Alrithmetic and Logic Unit)裡執行該指令
5.Write(寫回): 更改Program Counter的內容