流水線與指令重排序

2021-08-15 18:42:04 字數 747 閱讀 8757

流水線是一種指令級並行技術。

彙編指令不是一步可以執行完畢的,每個步驟涉及的硬體可能不同,所以可以使用流水線技術來執行指令。

可以看到,當第2條指令執行時,第1條指令只是完成了取值操作。假如每個步驟需要1毫秒,那麼如果指令2等待指令1執行完再執行,就需要等待5毫秒。而使用流水線後,只需要等待1毫秒。

lw表示load,lw r1,b,把b的值載入到r1暫存器中。add是加法,把r1、r2的值相加,並存放到r3中。sw表示store儲存,將r3暫存器的值儲存到變數a中。

在add指令上的大叉表示乙個中斷,也就是在這裡停頓了一下,因為r2中的資料還沒準備好。由於add的延遲,後面的指令都要慢乙個節拍。

再看複雜一點的情況

可見上圖中有不少停頓。為了減少停頓,我們只需要將lw re,e和lw rf,f移動到前面執行。

指令流水線的畫法

指令流水線的畫法 解題想法 流水線有五段,分別為s1,s2,s3,s4,s5.其中s4的執行時間為2 t,其他都是 t,乘法使用的是s1,s2,s5,加法使用的是s1,s3,s4,s5。利用吞吐率加速比和效率公式可不可以計算?對於此類題目,最好畫出指令流水線,因為公式法有一定的侷限性。畫好了!這樣畫...

流水線排程

n個作業要在由2臺機器m1和m2組成的流水線上完成加工。每個作業加工的順序都是先在m1上加工,然後在m2上加工。m1和m2加工作業i所需的時間分別為a i 和b i 你可以安排每個作業的執行順序,使得從第乙個作業在機器m1上開始加工,到最後乙個作業在機器m2上加工完成所需的時間最少。求這個最少的時間...

流水線冒險

流水線冒險 回顧一下常用五階段流水線 f 取指 d 解碼 e 執行 m 訪存 w 寫回 注意 對暫存器檔案的寫只有在時鐘上公升的時候才會更新!資料冒險的原因 對暫存器檔案的讀寫是在不同階段進行的 1.用暫停來避免資料冒險 暫停時,處理器會停止流水線中一條或多條指令,直到冒險條件不再滿足。在本該正常處...