計算機指令在CPU中的執行過程(圖文版)

爲了瞭解指令的大概流程,下面以加法指令作以說明(引用《計算機原理》)。spa

指令形式: ADD EA

該指令一個隱含的操做數存在累加器(AC)中,EA爲另外一個操做數在主存當中的有效地址。
該指令是把AC和EA的數據相加,最後把計算的和送回AC中,即AC+EA -> AC。

1. 取指

把PC的內容(指令地址)裝入地址寄存器(AR),送上地址總線,由地址總線找到對應的主存,取出指令碼,而後經過數據總線將指令碼傳給CPU的指令寄存器(IR)。code

2. 分析

把IR中的指令交給譯碼器譯碼,識別出這是一條AC與主存數據相加的指令,將指令中的EA輸出到地址總線,地址總線在加法指令的控制下從主存讀出數據,而後將讀出的數據經過數據總線送到CPU的暫存寄存器(TR)中。原理

在指令譯碼的同時,PC的值會加1,指向下一個指令地址。引用

3. 執行

將AC中的數據和TR中的數據傳入運算中心(ALU)進行加法運算,再將計算之和經過數據總線傳給AC,結束指令。im

以上只列出最關鍵的3個步驟,其中一個指令的操做數是以直接尋址的方式給出的(EA),即譯碼後可當即進行訪存操做。若是指令的操做數是由其餘尋址方式給出,則還須要進一步取址得出EA,再由EA去存儲器取值。數據

相關文章
相關標籤/搜索