計算機體系結構中的指令週期是什麼?
一個由計算機儲存單元組成的程式包含一系列指令。程式在計算機上執行是透過對每條指令執行一個迴圈來實現的。
在基本的計算機中,每個指令週期包括以下過程:
- 它可以從記憶體中獲取指令。
- 它用於解碼指令。
- 如果指令具有間接地址,則它可以從記憶體中讀取有效地址。
- 它可以執行指令。
完成以下四個過程後,控制權切換回第一步,並對下一條指令重複類似的過程。因此,迴圈持續進行,直到遇到**停止**條件。該圖顯示了指令週期中包含的階段。
如圖所示,當裝置收到關閉訊號、發生不可恢復的錯誤等情況下,會出現停止條件。
取指令週期
要執行的指令地址儲存在程式計數器中。處理器從 PC 指向的記憶體中獲取指令。
接下來,PC 加 1 以顯示下一條指令的地址。這條指令載入到指令暫存器中。處理器讀取指令並執行必要的步驟。
執行週期
執行資料傳輸主要有兩種方式:
- **處理器-記憶體** - 資料從處理器傳送到記憶體或從記憶體傳送到處理器。
- **處理器-輸入/輸出** - 資料可以透過處理器和 I/O 裝置之間的傳輸傳輸到或從外圍裝置傳輸。
在執行週期中,處理器對資訊執行必要的運算,並且控制單元不斷地要求修改資料執行的順序。這兩種方式協同完成執行週期。
指令週期的狀態圖
該圖提供了基本計算機指令週期的一個重要方面,即狀態圖的設計。對於一個指令週期,某些狀態可以為空,而其他狀態可以被訪問多次。
- **指令地址計算** - 計算下一條指令的地址。將一個固定值新增到前一條指令的地址上。
- **指令獲取** - 從其特定的記憶體位置讀取指令到處理器。
- **指令操作解碼** - 解釋指令並確定要執行的操作型別以及要使用的運算元。
- **運算元地址計算** - 如果指令引用了記憶體中的運算元或透過輸入/輸出訪問運算元,則評估運算元的地址。
- **運算元獲取** - 從記憶體或 I/O 讀取運算元。
- **資料操作** - 執行指令包含的實際操作。
- **儲存運算元** - 可以將獲得的結果儲存到記憶體中或將其傳輸到 I/O。
廣告