相關(guān)參數(shù)計(jì)算:流水線執(zhí)行時(shí)間計(jì)算、流水線吞吐率、流水線加速比等。
流水線
流水線是指在程序執(zhí)行時(shí)多條指令重疊進(jìn)行操作的一種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。各種部件同時(shí)處理是針對(duì)不同指令而言的,它們可同時(shí)為多條指令的不同部分進(jìn)行工作,以提高各部件的利用率和指令的平均執(zhí)行速度。
流水線周期
流水線應(yīng)用過(guò)程中,會(huì)將需要處理的工作分為N個(gè)階段,最耗時(shí)的那一段所消耗的時(shí)間稱為流水線周期。
流水線執(zhí)行時(shí)間
假設(shè)一段流水線。取指=3Δt,分析=2Δt,執(zhí)行4Δt,Δt這里表示時(shí)間單位。
Δδ,是希臘字母表中第四個(gè)字母,大寫(xiě) Δ,小寫(xiě) δ,英語(yǔ)名稱Delta,希臘名稱δελτα,中文名稱德?tīng)査?,在英語(yǔ)有三角洲的意思。
流水線執(zhí)行時(shí)間計(jì)算公式分為兩種,理論公式和實(shí)踐公式。
理論公式
t為流水線周期,k為任務(wù)分段數(shù)量,n為任務(wù)個(gè)數(shù)
理論公式:
=
第
1
條指令的執(zhí)行時(shí)間
+
(
n
?
1
)
×
流水線周期
理論公式:=第1條指令的執(zhí)行時(shí)間+(n-1)×流水線周期
理論公式:=第1條指令的執(zhí)行時(shí)間+(n?1)×流水線周期
理論公式:
(
t
1
+
t
2
+
.
.
+
t
k
)
+
(
n
?
1
)
t
理論公式:(t1+t2+..+tk)+(n-1)t
理論公式:(t1+t2+..+tk)+(n?1)t
理論公式:
(
t
1
+
t
2
+
.
.
+
t
k
?
t
)
+
n
t
理論公式:(t1+t2+..+tk-t)+nt
理論公式:(t1+t2+..+tk?t)+nt
實(shí)踐公式
實(shí)踐公式和理論公式的區(qū)別,只在于第一條流水線的建立時(shí)間,它會(huì)將每一個(gè)任務(wù)分段時(shí)間作為最長(zhǎng)段來(lái)處理,冗余的時(shí)間可以來(lái)應(yīng)付一些突發(fā)事件。所以實(shí)踐公式實(shí)際上是稍有擴(kuò)大,但是量并沒(méi)有特別大。除了流水線建立時(shí)間不同,剩下的(n-1)t是和理論公式一樣的。
實(shí)踐公式:
k
t
+
(
n
?
1
)
t
實(shí)踐公式:kt+(n-1)t
實(shí)踐公式:kt+(n?1)t
舉例計(jì)算流水線執(zhí)行時(shí)間
如:使用流水線技術(shù)執(zhí)行100條指令,每條指令取指2ms,分析4ms,執(zhí)行1ms,則流水線周期為4ms。
將1個(gè)任務(wù)的執(zhí)行過(guò)程可分成N個(gè)階段,假設(shè)每個(gè)階段完成時(shí)間為t,則完成該任務(wù)所需的時(shí)間為Nt。若以傳統(tǒng)的方式,則完成k個(gè)任務(wù)的時(shí)間為kNt;而使用流水線技術(shù)執(zhí)行,且花費(fèi)的時(shí)間是Nt+(k-1)t。也就是說(shuō)。除了第一個(gè)任務(wù)需要完整的時(shí)間外,其他都通過(guò)并行,節(jié)省了大量的時(shí)間。所以流水線的執(zhí)行時(shí)間可通俗的表達(dá)為:
流水線執(zhí)行時(shí)間
=
第
1
條指令的執(zhí)行時(shí)間
+
(
n
?
1
)
×
流水線周期
流水線執(zhí)行時(shí)間=第1條指令的執(zhí)行時(shí)間+(n-1)×流水線周期
流水線執(zhí)行時(shí)間=第1條指令的執(zhí)行時(shí)間+(n?1)×流水線周期
注意:n表示需要處理的任務(wù)數(shù)量
考試時(shí),又需要注意一個(gè)細(xì)節(jié),流水線的執(zhí)行時(shí)間計(jì)算,進(jìn)一步可以分為理論情況與實(shí)際情況兩種不同的方式。
比如:
某計(jì)算機(jī)系統(tǒng),一條指令的執(zhí)行時(shí)間需要經(jīng)歷取指(2ms),分析(4ms),執(zhí)行(1ms)三個(gè)階段,現(xiàn)要執(zhí)行100條指令,利用流水線技術(shù)需要多長(zhǎng)時(shí)間?
理論上來(lái)說(shuō),1條指令的執(zhí)行時(shí)間為:2ms+4ms+1ms=7ms
所以:理論流水線執(zhí)行時(shí)間=2ms+4ms+1ms+(100-1)×4ms=403ms
而實(shí)際上,真正做流水線處理時(shí),考慮到處理的復(fù)雜性,會(huì)將指令的每個(gè)執(zhí)行階段的時(shí)間都統(tǒng)一為流水線周期,即1條指令的執(zhí)行時(shí)間為:4ms+4ms+4ms=12ms
所以:實(shí)際流水線執(zhí)行時(shí)間=4ms+4ms+4ms+(100-1)×4ms=408ms
考試時(shí)80%以上的概率采用理論公式計(jì)算,如果理論公式計(jì)算結(jié)果無(wú)正確選項(xiàng),再用實(shí)際公式計(jì)算。
流水線吞吐率
流水線吞吐率(Through Put Rate,TP)是指在單位時(shí)間內(nèi)流水線所完成的任務(wù)數(shù)量或輸出的結(jié)果數(shù)量。
計(jì)算流水線吞吐率的最基本的公式如下:與流水線執(zhí)行時(shí)間相關(guān)
T
P
=
指令條數(shù)
流水線執(zhí)行時(shí)間
TP=\frac{指令條數(shù)}{流水線執(zhí)行時(shí)間}
TP=流水線執(zhí)行時(shí)間指令條數(shù)?
流水線最大吞吐率:與流水線分段相關(guān),等于流水線周期的倒數(shù)
T
P
m
a
x
=
l
i
m
N
→
+
∞
n
(
k
+
n
?
1
)
t
=
1
t
TPmax=lim_{N\to+\infty}\frac{n}{(k+n-1)t}=\frac{1}{t}
TPmax=limN→+∞?(k+n?1)tn?=t1?
舉例計(jì)算流水線吞吐率
假設(shè)一段流水線。取指=3Δt,分析=2Δt,執(zhí)行4Δt,Δt這里表示時(shí)間單位。10條指令的吞吐率?最大吞吐率?
流水線吞吐率“
T
P
=
指令條數(shù)
流水線執(zhí)行時(shí)間
=
10
(
3
Δ
t
+
2
Δ
t
)
+
10
×
4
=
10
45
=
2
9
Δ
t
TP=\frac{指令條數(shù)}{流水線執(zhí)行時(shí)間}=\frac{10}{(3Δt+2Δt)+10×4}=\frac{10}{45}=\frac{2}{9Δt}
TP=流水線執(zhí)行時(shí)間指令條數(shù)?=(3Δt+2Δt)+10×410?=4510?=9Δt2?
流水線最大吞吐率:
T
P
m
a
x
=
1
t
=
1
4
Δ
t
TPmax=\frac{1}{t}=\frac{1}{4Δt}
TPmax=t1?=4Δt1?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-491141.html
流水線加速比
完成同樣一批任務(wù),不使用流水線所用的時(shí)間與使用流水線所用時(shí)間之比稱為流水線的加速比。計(jì)算流水線加速比的基本公式如下:
S
=
不使用流水線執(zhí)行時(shí)間
使用流水線執(zhí)行時(shí)間
S=\frac{不使用流水線執(zhí)行時(shí)間}{使用流水線執(zhí)行時(shí)間}
S=使用流水線執(zhí)行時(shí)間不使用流水線執(zhí)行時(shí)間?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-491141.html
到了這里,關(guān)于1.6流水線:流水線、流水線周期、流水線執(zhí)行時(shí)間、流水線吞吐率、流水線加速比的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!