微處理器設計/多週期處理器
外觀
< 微處理器設計
單週期處理器速度效能較差。控制和資料訊號必須在一個週期內完全傳播到處理器,這意味著週期時間需要很長,並且硬體的許多部分在週期的很大一部分時間內處於休眠狀態。
多週期處理器將指令分解成基本部分,並在不同的時鐘週期執行指令的每個部分。由於訊號在一個週期內傳播的距離較短,因此週期時間可以大大加快。
通常,一條指令在至少 5 個週期內執行,這些週期被命名如下:
- IF
- 從記憶體中獲取指令
- ID
- 解碼指令,並生成必要的控制訊號
- EX
- 將必要的控制訊號送入 ALU,併產生結果
- MEM
- 如果指定,從記憶體中讀取
- WB
- 將結果寫回暫存器檔案或記憶體。
這只是一個教科書的例子,現代處理器往往使用比這多得多的步驟來執行一條指令。
示例:MicroChip PIC16 微控制器
由 MicroChip Technology Inc 製造的 PIC 微控制器,是一個嵌入式微控制器的系列。PIC 單元各不相同,但每 2-4 個時鐘週期執行一條指令。所有指令通常在相同數量的週期內執行,分支指令除外。
多週期設計的首要優勢在於能夠共享硬體元素,特別是 ALU,用於各種任務。在多週期處理器中,單個 ALU 可以用於更新指令指標(在 IF 週期)、執行操作(在 EX 週期)以及計算必要的記憶體地址(在 MEM 週期)。多週期處理器還允許計算機擁有單個記憶體單元,而不是傳統哈佛架構中的兩個獨立的指令和資料記憶體單元。這是因為指令在一個週期內載入,資料記憶體與另一個週期介面。
多週期處理器通常用於資源有限且速度不太重要的應用。