流水線的幾個指標總結

2021-07-23 12:58:49 字數 1873 閱讀 5230

在流水線這部分的理解中,需要再腦海中繪製一幅圖:

橫軸是時間在流動,縱向表達的是指令的階段。這樣,斜著往右上角的同色的顏色塊是一條指令的執行。用一條平行於縱軸的線從0時開始往右移動,切到的塊數就是同一時刻在並行的段。

如圖,分為四個階段,那麼前面四個階梯就是在效能爬坡階段,直到四個段可以同時並行,這樣以後每乙個段的執行時間塊結束就會有一條指令執行結束。也稱作一條指令流出流水線。

吞吐率定義

單位時間內流水線完成的任務數量。

基本計算公式
tp

(thr

ough

put)

=ntk

,n是任

務完成數

目,tk

是總共用

在流水線中的計算公式:

tp

=n(k

+n−1

)δt

解釋就是:n個任務在效能爬坡階段用時k段個時間完成乙個指令,後面的n-1條指令會在n-1個時間段內完成,也就是一段時間就會有一條指令流出流水線。

加速比(s)

定義

不使用流水線所用的時間與使用流水線所用的時間比即為加速比。

注意加速比大於1就可以了。

計算
s=

knδt

(k+n

−1)δ

t=kn

(k+n

−1)

簡單求這個極限可知,n→

∞ 時,s→

1 這個極限的意思是:流水線分段數目有限時,對於很多很多任務的加速效果不明顯的。但是在正常有限數字內,加速比總是大於1的。

效率這個有些難以接受或者理解,but,值得try.

定義

流水線的裝置利用率被稱為流水線的效率。

簡單說就是,一條指令將調動不同的部件完成任務。但是在乙個裝置忙的時候,其他裝置可以在忙也可以在休息。理論上,在同乙個時刻最大可以有k個部件同時工作。事實上做不到,因為即使是採用流水線也得有乙個效能爬坡階段。

因此這裡的計算主要講的是流水線的裝置利用率計算。

流水線中的效率(e)計算

完成n個任務占用的時空區的有效面積與採用流水線完成n個任務所佔的時空區面積。

這個概念模擬推演了好幾次我才真的明白說的是什麼。

有效面積是什麼?總面積又是什麼?

需要明確的是,有效面積指的是裝置真的在工作的那一塊。可以畫圖數格仔,也可以這麼分析:每一條指令的完成一定用了k個格仔,乙個格仔大小是kδ

t ,則有效面積是:nk

δt。再來明確什麼是時空區總面積,這個其實也很好理解:每時每刻最大可以有k個裝置在工作。那麼,總面積就是k⋅

tk,t

k指的是

流水線完

成任務需

要的總時

間。

我們知道流水線完成任務的時空圖是左右有鋸齒形的平行四邊形,總面積就是補齊左右的傾斜得到的矩形的面積。

那麼計算:e=

nkδt

ktk=

t0kt

k==n

k+n−

1 所以,效率也等於加速比除以段數,即:e=

sk

即使是流水線,效率也是小於1的。

以上。

流水線排程

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 幾何階段 頂點變換,計算頂點顏色 如逐頂點光照 齊次裁剪空間,透視除法,歸一化...