流水線的執(zhí)行時(shí)間公式為:
第1條指令的執(zhí)行時(shí)間+(指令條數(shù)-1)*流水線操作周期
例題1
若每一條指令都可以分解為取指、分析和執(zhí)行三步。己知取指時(shí)間t取指=4△t,分析時(shí)間t分析=3△t,執(zhí)行時(shí)間t執(zhí)行=5△t。如果按串行方式執(zhí)行完100條指令需要 (1) △t。如果按照流水方式執(zhí)行,執(zhí)行完100條指令需要 (2) △t。
供選擇的答案
(1)A. 1190 B.1195 C. 1200 D.1205
(2)A. 504 B.507 C. 508 D.510
試題分析
本題考查的是計(jì)算機(jī)系統(tǒng)指令流水線方面的基礎(chǔ)知識(shí)。根據(jù)題意可以看到,在此流水線中按串行方式執(zhí)行完100條指令要用1200△t。采用流水方式執(zhí)行,執(zhí)行的總時(shí)間的關(guān)鍵取決于最長(zhǎng)的執(zhí)行時(shí)間,所以執(zhí)行完100條的時(shí)間為:4Δt+3Δt+5Δt+(100-1)*5Δt = 507Δt。
試題答案
C B
例題2
現(xiàn)采用4級(jí)流水線結(jié)構(gòu)分別完成一條指令的取指、指令譯碼和取數(shù)、運(yùn)算,以及送回運(yùn)算結(jié)果4個(gè)基本操作,每步操作時(shí)間依次為60 ns,100 ns,50 ns和70 ns。該流水線的操作周期應(yīng)為 A ns。若有一小段程序需要用20條基本指令完成(這些指令完全適合于流水線上執(zhí)行),則得到第一條指令結(jié)果需 B ns,完成該段程序需 C ns。
在流水線結(jié)構(gòu)的計(jì)算機(jī)中,頻繁執(zhí)行 D 指令時(shí)會(huì)嚴(yán)重影響機(jī)器的效率。當(dāng)有中斷請(qǐng)求發(fā)生時(shí),采用不精確斷點(diǎn)法,則將 E 。
供選擇的答案
A:①50 ②70 ③100 ④280
B:①100 ②200 ③280 ④400
C:①1400 ②2000 ③2300 ④2600
D:①條件轉(zhuǎn)移 ②無條件轉(zhuǎn)移 ③算術(shù)運(yùn)算 ④訪問存儲(chǔ)器
E:①僅影響中斷反應(yīng)時(shí)間,不影響程序的正確執(zhí)行
、诓粌H影響中斷反應(yīng)時(shí)間,還影響程序的正確執(zhí)行
、鄄挥绊懼袛喾磻(yīng)時(shí)間,但影響程序的正確執(zhí)行
、懿挥绊懼袛喾磻(yīng)時(shí)間,也不影響程序的正確執(zhí)行
試題分析
本題主要考查對(duì)流水線技術(shù)的掌握。
對(duì)于CPU來說,流水線技術(shù)實(shí)際上是一種以增加硬件換取性能的方式:把一條指令分解成多條更小的指令,由不同的處理單元來處理,在理想的滿負(fù)荷運(yùn)行狀態(tài)下,執(zhí)行一條指令的時(shí)間雖然沒有減少,但是由于多個(gè)處理單元同時(shí)工作,在同一時(shí)間上可以執(zhí)行不同指令的不同部分,從而使得總體的執(zhí)行時(shí)間大大減少。流水線的操作周期取決于基本操作中最慢的那個(gè)。這里最慢的是100 ns,所以操作周期是100 ns。在流水線中,其實(shí)每一條指令的執(zhí)行時(shí)間并沒有減少,而第一條指令的執(zhí)行并沒有體現(xiàn)流水線的優(yōu)勢(shì),它在4個(gè)操作周期后才能執(zhí)行完成,這以后每個(gè)操作周期都能完成一條指令的執(zhí)行。
影響流水線效率的重要因素有條件轉(zhuǎn)移指令和中斷,因?yàn)樗鼈兇驍嗔肆魉,使得流水線不得不重新裝載。
不精確斷點(diǎn)法實(shí)現(xiàn)簡(jiǎn)單,但是要等到流水線內(nèi)的指令完成之后再響應(yīng)中斷。
試題答案
A.③ B.④ C.③ D.① E.②
上面的兩個(gè)例題,都是軟考當(dāng)中出現(xiàn)過的真題。我們可以看出,兩個(gè)題在計(jì)算流水線時(shí)間方面,標(biāo)準(zhǔn)并不是統(tǒng)一的。
在例題1中:
4Δt+3Δt+5Δt+(100-1)*5Δt = 507Δt。
而在例題2中:
100ns+100ns+100ns+100ns+(20-1)*100ns=2300ns
這兩種計(jì)算方法,都是在套用公式:“第1條指令的執(zhí)行時(shí)間+(指令條數(shù)-1)*流水線操作周期”,而對(duì)于“第1條指令的執(zhí)行時(shí)間”的理解并不相同。在例題1中,第1條指令的執(zhí)行時(shí)間是將指令執(zhí)行時(shí)的幾個(gè)階段所需時(shí)間相加得到,而在例題2中,認(rèn)為每一個(gè)階段所需時(shí)間都是流水線的周期時(shí)間。其中前者是流水線的理論計(jì)算方法,而后者是我們?cè)谠O(shè)計(jì)硬件流水線時(shí),常用的方式。兩種計(jì)算方法,從理論上來講,都是正確的,但考試時(shí),只有一個(gè)是正確答案。那么我們應(yīng)該怎么做呢?由于每次考試中,無論認(rèn)可的是哪種計(jì)算方式,都只會(huì)把這種計(jì)算方式的正確答案放入選項(xiàng)中,而不會(huì)將兩個(gè)正確答案都放入,所以我們?cè)谟靡环N方式不能得到正確選項(xiàng)時(shí),應(yīng)采用另一種方式進(jìn)行計(jì)算,來得到正確答案。
相關(guān)推薦:2010年計(jì)算機(jī)軟件水平考試時(shí)間安排通知北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |