阿摩線上測驗 登入

申論題資訊

試卷:95年 - 95 專技高考_電子工程技師:電子計算機原理#49541
科目:計算機概論、大意(資訊科學概論,電腦常識,電子計算機概論)
年份:95年
排序:0

題組內容

一、

申論題內容

⑵請說明何謂管線(pipeline)?(7 分)假設一個不具管線(pipeline)處理器執行 一指令分五個執行階段且每階段所需時間如後:指令擷取(instruction fetch): 7ns、指令解碼(instruction decoding):7ns、執行運算或計算位址:8ns、主記憶 體存取:7ns、結果寫回暫存器:7ns。若以管線對處理器予以改善後(同樣五個 執行階段),每個執行階段需多耗時 1ns,若不考慮其他延遲影響,此管線結構 改善技術將使處理器指令執行速率改善多少?(8 分)

詳解 (共 1 筆)

詳解 提供者:hchungw

管線(Pipeline)的說明

管線(Pipeline)是一種用於提升處理器效能的技術,它將指令的執行過程分解成若干個獨立的階段,每個階段可以同時處理不同指令的不同部分。這樣一來,處理器可以在同一時間內處理多條指令,從而提高指令的吞吐量。這種技術類似於生產線,將每個工作步驟劃分為不同的工作站,並且各個工作站可以同時進行工作,從而提高整體生產效率。

例如,一個典型的指令管線可以分為以下五個階段:

  1. 指令擷取(Instruction Fetch, IF):從記憶體中讀取指令。
  2. 指令解碼(Instruction Decode, ID):解析指令並準備執行。
  3. 執行運算或計算位址(Execution or Address Calculation, EX):執行指令中的運算或計算記憶體位址。
  4. 主記憶體存取(Memory Access, MEM):訪問記憶體(讀取或寫入數據)。
  5. 結果寫回暫存器(Write Back, WB):將計算結果寫回暫存器。

管線改善處理器指令執行速率的計算

假設一個不具管線的處理器執行一條指令分五個執行階段,且每階段所需時間如下:

  • 指令擷取(Instruction Fetch):7ns
  • 指令解碼(Instruction Decode):7ns
  • 執行運算或計算位址:8ns
  • 主記憶體存取:7ns
  • 結果寫回暫存器:7ns

不具管線的處理器總執行時間為這五個階段的總和: 7+7+8+7+7=36ns7 + 7 + 8 + 7 + 7 = 36 \text{ns}7+7+8+7+7=36ns

如果引入管線技術,每個執行階段需要多耗時 1ns,那麼每個階段的時間變為:

  • 指令擷取(Instruction Fetch):8ns
  • 指令解碼(Instruction Decode):8ns
  • 執行運算或計算位址:9ns
  • 主記憶體存取:8ns
  • 結果寫回暫存器:8ns

在管線結構中,每個階段同時進行,因此每個指令的執行時間為最長的階段時間: 最長階段時間=9ns\text{最長階段時間} = 9 \text{ns}最長階段時間=9ns

假設有 nnn 條指令,那麼不具管線的處理器需要的總時間為: 36n ns36n \text{ ns}36n ns

具管線的處理器,由於每個階段同時進行,總時間為: 9n+27 ns9n + 27 \text{ ns}9n+27 ns

nnn 足夠大時,27 ns 可以忽略不計,則具管線的處理器每個指令的平均執行時間約為 9 ns。

所以,處理器指令執行速率的改善比率為: 36/9=4

即,管線技術使處理器指令執行速率改善了約 4 倍。