民國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) d a t a
- (2) c o n t r o l
- (3) I / O
- (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 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。