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

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

指令形式: ADD EA

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

1. 取指

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

2. 分析

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

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

3. 執行

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章