第四節 計算機執行指令的過程
1.取指(Fetch) 1)控制器將指令的地址送往儲存器 2)儲存器按給定的地址讀出指令內容,送回控制器 具體過程描述:一共是7個步驟 A:控制器會將PC中的指令通過內部匯流排傳輸到MAR中; B:然後MAR會將控制指令傳輸到地址總線上,與此同時控制電路會在控制總線上發出相應的控制訊號,代表此次訪問儲存器的是操作是讀取資料; C:這樣儲存器的MAR暫存器就會收到地址總線上傳輸過來的地址並把它儲存下來,儲存器中的控制邏輯也會收到控制匯流排中傳輸的控制訊號,得知此次訪存操作是一次讀操作; D:這樣儲存器通過地址譯碼器就會查詢到儲存地址為0001的儲存單元的內容,並將該儲存單元的內容傳送到儲存器MDR中; E:然後儲存器的控制邏輯就通過控制匯流排向CPU反饋當前的傳輸已經準備好了,同時儲存器MDR中的資料也會傳輸到資料匯流排上,隨後CPU中的控制電路檢測到到控制匯流排準備好的Ready 訊號,就知道當前資料匯流排上已經準備好了資料; F:因此CPU中MDR就會將當前資料匯流排上傳輸過來的資料儲存下來,這就獲得了我們要獲取的指令; G:最後CPU中MDR中儲存的資料還需通過內部匯流排傳輸到IR暫存器中; H:把PC暫存器的內容更新為下一條指令要訪問的地址,此時,取指這一步才算是完成。
2.譯碼 1)控制器分析指令的操作性質 2)控制器向有關部件發出指令所需的控制訊號 具體過程描述: A:當前的IR指令暫存器會把指令送到指令譯碼部件; B:指令譯碼部件根據指令編碼,編譯出需要執行的內容(ADD R0,[6]),據此控制電路會產生相應的控制訊號通過控制匯流排傳送到相關部件中;
3.執行 1)控制器從通用暫存器或儲存器取出運算元 2)控制器命令運算器對運算元進行指令規定的運算
4.回寫(Write-back)cc 1)將運算結果寫回到通用暫存器或者儲存器中