阿摩線上測驗 登入

申論題資訊

試卷:112年 - 112 民航特種考試_三等_航空通信:計算機概論#116550
科目:計算機概論、大意(資訊科學概論,電腦常識,電子計算機概論)
年份:112年
排序:0

題組內容

二、指令循環(instruction cycle)為 CPU 執行指令的一個循環過程,包含 IF (Instruction Fetch) 、ID(Instruction Decode)、MEM(Memory Access)、 EXE(Execution)及 WB(Write Back)等步驟。請回答下列問題(若有 計算過程,請列出,否則不予計分):(每小題 10 分,共 30 分)

申論題內容

(三)承(二)題,假設某一電腦改以管線(Pipeline)方式執行此程式(假設有足夠多的工作元件負責指令循環中的各個步驟),執行完此程式共需 花費多少時間?

詳解 (共 1 筆)

詳解 提供者:hchungw
使用流水線(Pipeline)方式執行程式時,每個指令的各個階段可以並行處理。假設電腦有足夠的工作元件來處理指示迴圈中的各個步驟,那麼在流水線完全啟動後,每個週期可以完成一個指令的執行。這意味著執行時間將主要由最長的單個步驟決定,以及流水線啟動和填滿的初始延遲。
根據題目,指令迴圈的各個步驟所需時間分別為:
IF:15 ns
ID:5 ns
MEM:15 ns
EXE:5 ns
WB:15 ns
在流水線模式下,每個指令的一個階段可以在下一個指令的前一個階段並存執行。由於最長的階段需要15ns,所以在流水線運作順暢後,理論上每15ns可以完成一個指令的執行。
對於15000個指令:
流水線啟動後,第一個指令完成需要經過所有5個步驟,所以最初需要 5 * 15 ns = 75 ns。
之後,每過15ns就有一個指令完成執行。
因此,總時間由流水線的啟動時間加上其餘指令的執行時間組成:
啟動時間:75 ns(第一個指令通過所有階段)
剩餘指令執行時間:15000個指令中第一個已經考慮在啟動時間內,所以剩餘14999個指令 x 15 ns/指令
總時間 = 啟動時間 + 剩餘指令執行時間 = 75 ns + (14999 * 15 ns) = 75 ns + 224985 ns = 225060 ns
轉換為更容易理解的單位:
225060 ns = 225.060 微秒(μs)
因此,使用流水線方式執行這個程式共需花費225.060微秒。這反映了流水線架構在處理大量指令時相比於非流水線架構的高效性。