我知道單週期程序效率不高。一個原因是因爲並非所有指令的長度都是相等的,但是在單週期程序中,所有指令都在相同的時間長度內完成。單週期vs流水線方法
在流水線中,吞吐量會增加,這意味着一個輸出與下一個輸出之間的時間將比在達到某個點後的單週期實施中更短。但是,你能否說流水線方法中的指令需要花費相同的時間(從IF /指令提取到WB /寫回)?或者這是錯誤的結論?
我知道單週期程序效率不高。一個原因是因爲並非所有指令的長度都是相等的,但是在單週期程序中,所有指令都在相同的時間長度內完成。單週期vs流水線方法
在流水線中,吞吐量會增加,這意味着一個輸出與下一個輸出之間的時間將比在達到某個點後的單週期實施中更短。但是,你能否說流水線方法中的指令需要花費相同的時間(從IF /指令提取到WB /寫回)?或者這是錯誤的結論?
查看單循環中的所有指令非流水線結構不一定需要相同的時間量,而是在指令直到下一個時鐘週期才能啓動之後執行的下一條指令,當前指令可能在當前循環之前完成,因爲週期長度由最長的指令決定.eg加載寄存器在加載到RISC之前完成。
在流水線結構處理器現在是
多級與寄存器基本上在流水線處理器我們節省時間通過重疊2個instructionss' substages.hence存儲和傳播完成processor.Now的狀態,即使單獨指令的長度增大但總體時間減少了。現在看到每條指令可能不會經歷所有階段,例如加載並再次添加 因此,每條指令的總體延遲將包括所有階段,但其執行可能需要更少的週期數
所以你可以說每條指令的延遲是相同的,但不是執行時間或消耗的週期數
因此,爲了澄清,流水線方法中指令的執行時間不一定是相同的時間長度? – user3025403
不,只有每條指令的延遲時間不是實際的時間 – silentseeker