接上次,我們簡單的說了一下單周期的理解,下面我們說一下多周期。
單周期每一條指令都是一個時鐘周期結束。但是不同類型的指令可能進行的步驟不同,導致最終CPU的頻率上不去,這是由于木桶原則,時鐘必須大于最長一條指令完成的時間。
而在多周期的設計中,我們將一條指令的執行分解成為多個部分,不同部分的每個時鐘從上一級寄存器中讀入數據,進行計算,然后將數據送入下一級寄存器。這樣一條指令就有多個時鐘周期完成。每個時鐘周期完成指令中的一部分操作。
在多周期的設計中,基本與單周期相同,只是要將單周期數據通路中的純組合電路(注意,在單周期設計中不包含存儲的都是組合電路)在不同級中間加一個寄存器,使每一級計算出數據后都可以把數據寫入到寄存器以供下個時鐘上升沿到來時下一級從中讀取輸入。
而多周期需要一個部件就是一個狀態機,用狀態機來控制當前指令到一個指令的執行部位(即有效數據正在從哪一級流向哪一級),然后輸出該級運算的狀態控制信號來控制數據通路。
多周期同時要注意直接跳轉和跳轉分支的執行,狀態機在此處注意狀態的正確轉移。(由于他們的狀態不一致)
-
FPGA
+關注
關注
1636文章
21841瀏覽量
608493
發布評論請先 登錄
相關推薦
二維周期光柵結構(菱形)光波導的應用
EE-197:ADSP-BF531/532/533 Blackfin處理器多周期指令和延遲

EE-171:ADSP-BF535 Blackfin處理器多周期指令和延遲

簡單認識第二代高通Oryon CPU
通信開關電源柜更換周期多久
CPU時鐘周期與主頻的關系和區別
總線時鐘周期與CPU時鐘周期的區別
CPU時鐘周期、機器周期和指令周期的關系
CPU時鐘周期的組成和作用
晶振頻率、脈沖、時鐘周期與機械周期的關系
示波器的周期和頻率怎么算
CPU的各種知識

STM8S的NOP指令一個周期是多少?

評論