首先,抱歉我的英文不好。這個問題是我的計算機體系結構課程教科書中的一個問題,我在網上找到了答案,但仍然無法找到詳細信息。計算機體系結構流水線檔位
以下是五階段(取指,解碼,執行,存儲,寫)指令階段的單流水線微架構沒有轉發機制。 所有的操作都是除LW和SW一個週期是1 + 2,而分公司是1 + 1
Loop: C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 ...
LW R3, 0(R0) F D E M - - W
LW R1, 0(R3) F D - - - E M - - W
ADDI R1, R1, #1 F - - - D - - - E M W
SUB R4, R3, R2 F - - - D E M W
SW R1, 0(R3) F D W M ...
BNZ R4, Loop F D E ...
...
而且我有幾個問題如下。
爲什麼第二條指令可以在C2中啓動D?正如我所看到的,D階段包括「寄存器讀取」,但前面的指令回寫到R3直到C7。
與前一個類似,導致第三個D在C7開始,E從C11開始的原因是什麼?
爲什麼4th inst必須從C7而不是C4開始?
此問題源於「計算機體系結構:定量方法5e」一書,示例3.11。
你可以編輯問題的鏈接到你找到的地方嗎? –