民國97年 第3梯次 數位電子甲級 學科

第70題

利用平行處理方法處理下列兩列指令,則會產生何種H a z a r d ?R 3 ←R 1 +R 2 ,R 5 ←R 3 +R 4

題目

利用平行處理方法處理下列兩列指令,則會產生何種H a z a r d ?R 3 ←R 1 +R 2 ,R 5 ←R 3 +R 4

  1. (1) d a t a
  2. (2) c o n t r o l
  3. (3) I / O
  4. (4) a d d r e s s

官方答案

(1) d a t a

解析

第一道指令 R3←R1+R2 會寫入 R3,第二道指令 R5←R3+R4 立刻要讀取同一個 R3,兩者存在先寫後讀的資料相依關係。若管線沒有做資料前送(forwarding)或插入停頓(stall),第二道指令讀到的會是舊的 R3 值,因而算出錯誤結果,這就是資料冒險(data hazard)。控制冒險來自分支指令造成管線沖刷;結構或資源冒險則是多道指令同時搶用同一硬體資源,例如記憶體或匯流排,與本題的暫存器相依不同。I/O 冒險不是管線冒險的標準分類。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料