跳轉到內容

微處理器設計/多週期處理器

來自華夏公益教科書,開放的書籍,面向開放的世界

單週期處理器速度效能較差。控制和資料訊號必須在一個週期內完全傳播到處理器,這意味著週期時間需要很長,並且硬體的許多部分在週期的很大一部分時間內處於休眠狀態。

多週期階段

[編輯 | 編輯原始碼]

多週期處理器將指令分解成基本部分,並在不同的時鐘週期執行指令的每個部分。由於訊號在一個週期內傳播的距離較短,因此週期時間可以大大加快。

通常,一條指令在至少 5 個週期內執行,這些週期被命名如下:

IF
從記憶體中獲取指令
ID
解碼指令,並生成必要的控制訊號
EX
將必要的控制訊號送入 ALU,併產生結果
MEM
如果指定,從記憶體中讀取
WB
將結果寫回暫存器檔案或記憶體。

這只是一個教科書的例子,現代處理器往往使用比這多得多的步驟來執行一條指令。

示例:MicroChip PIC16 微控制器

由 MicroChip Technology Inc 製造的 PIC 微控制器,是一個嵌入式微控制器的系列。PIC 單元各不相同,但每 2-4 個時鐘週期執行一條指令。所有指令通常在相同數量的週期內執行,分支指令除外。

硬體重用

[編輯 | 編輯原始碼]

多週期設計的首要優勢在於能夠共享硬體元素,特別是 ALU,用於各種任務。在多週期處理器中,單個 ALU 可以用於更新指令指標(在 IF 週期)、執行操作(在 EX 週期)以及計算必要的記憶體地址(在 MEM 週期)。多週期處理器還允許計算機擁有單個記憶體單元,而不是傳統哈佛架構中的兩個獨立的指令和資料記憶體單元。這是因為指令在一個週期內載入,資料記憶體與另一個週期介面。

多週期處理器通常用於資源有限且速度不太重要的應用。

華夏公益教科書