數電基礎 流水線

2021-10-02 01:18:58 字數 595 閱讀 5890

流水線設計將原來乙個時鐘週期完成的較大的組合邏輯,通過切割後分由多個時鐘完成,形式上,在切割處安排乙個暫存器。

例如乙個組合邏輯由a0,a1,a2四個部分組成,每一部分延遲都是1ns,在流水線形式之前總共延遲3ns,暫存器建立時間1ns,那

時鐘週期最小tclk1>=tsetup+tpd_critical,4ns,切為3份流水 tclk1>=tsetup+tpd_critical/3 =2ns,每條指令要花三個時鐘週期執行完。當全速執行的時候,每個時鐘週期結束都有一條指令處理完,而新時鐘週期tclk2明顯比之前沒流水線時候tclk1小了,所以我們說吞吐率提高了(更深一層次的原因是,a2邏輯不需要等待a1邏輯的資料,而是使用a1上個週期打入暫存器的資料,即a2在無時不刻的執行,執行效率增加)。如果你只關注一條指令的實際執行時間(注意每條指令花三個時鐘週期完成): 3* tsetup+tpd_critical/3)= 3*tsetup + tpd_critical 你發現絕對時間來看,單條指令執行時間反而比沒流水線時候大了。多出來2個tsetup就是所謂的sequencing overhead。因此,如果流水線不被充慢的話,速度反而有可能比沒有流水線更慢。

指令執行時間(流水線)=指令執行時間(非流水線)/流水線級數

流水線排程

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

流水線冒險

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

渲染流水線

應用階段 cpu準備資料,skinmeshrender,meshfilter,meshrender 頂點資料,三角形資料,法線資料,切線資料,渲染設定指令,紋理資料,uv資料 由cpu傳送給gpu,即一次drawcall 幾何階段 頂點變換,計算頂點顏色 如逐頂點光照 齊次裁剪空間,透視除法,歸一化...