記分牌
- 記分板是一種硬體機制,它通過在運算元可用且沒有危險條件阻止的情況下立即執行指令來維持每周期一條指令的執行速率,
- 它用四個階段:ID1,ID2,EX,WB代替ID,EX,WB
- 每個指令都要經過記分板,在記分板上構建資料依賴關系的記錄(對應于指令發布),
- 假設具有記分板的系統具有多個功能單元,其狀態資訊報告給記分板,
- 如果記分板確定一條指令不能立即執行,它將執行另一條等待指令,并繼續監視硬體單元的狀態,并決定該指令何時可以繼續執行,
- 記分板還決定指令何時可以將其結果寫入暫存器(危險檢測和解決集中在記分板中),
記分牌結構

指令執行程序
- Issue(ID1):如果用于該指令的一個功能單元是空閑的,并且沒有其他活動指令具有相同的目的暫存器,則記分板向該功能單元發出該指令并更新其內部資料結構,這里解決了結構和WAW的危害,(這取代了傳統MIPS流水線中ID級的一部分),
- Read operands(ID2):記分板監視源運算元的可用性,當沒有較早的活動指令寫入源運算元時,源運算元是可用的,當所有源運算元可用時,記分板告訴功能單元從暫存器中讀取所有運算元(不支持轉發)并開始執行(此處動態解決原始危險),這就完成了ID,
- Execution(EX):功能單元在接收到運算元時開始執行,當結果準備就緒時,它通知記分板(取代MIPS中的EX,MEM),
- Write result(WB):一旦記分板感測到某個功能單元完成了執行,它就檢查WAR危險,并在需要時停止完成指令,否則寫回就完成了,
記分牌的構成
-
指令狀態:指令處于4個步驟中的哪一個,
-
功能單元狀態:表示功能單元(FU)的狀態,
每個職能單位有九個欄位:
-Busy:指示單元是否忙
-Op:在單元中執行的操作(例如,+、-)
-Fi:目標暫存器
-Fj,Fk源暫存器編號
-Qj,Qk產生源暫存器Fj,Fk的功能單元
-Rj,Rk指示Fj,Fk就緒時間的Rj,Rk標志
(在運算元可讀取后設定為“是”) -
暫存器結果狀態:指示哪個功能單元將寫入每個暫存器,如果存在一個,當沒有掛起的指令將寫入該暫存器為空,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/240459.html
標籤:其他
上一篇:網路安全篇 ASA的初始化-03
