a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > RISC CPU對轉移指令的處理及仿真分析

RISC CPU對轉移指令的處理及仿真分析

作者: 時間:2012-03-12 來源:網絡 收藏

本文引用地址:http://www.j9360.com/article/171905.htm

2.3.2 BTC存儲

第一次執行時,BTC在當前時鐘啟動存儲任務,把該執行的信息寫入對應的單元中,對于BCC,確定2BC的初始狀態。同時也把該行的VI置為有效。BTC采用隨機替換策略確定數據入口:在復位或Cache清零之后,按順序填充Cache,如果BTC寫滿,則隨機選通一行進行替換。

2.3.3 BTC命中

在取指周期開始時如果發現當前取指地址包含在BTC的TAG中,并且對應行的VI也有效,則認為BTC命中,從而啟動命中任務:讀出命中行的數據,把DI送到指令總線,如果是CALL指令,目標地址作為下一條指令的地址;如果是BCC 指令則需要判斷跳轉是否發生:當標志位有效時,根據條件碼與標志位判斷,否則根據HI進行預測,然后確定下一條指令的地址:跳轉時為目標地址,不跳轉為PC+2。對于帶A參數的BCC指令,在跳轉不執行時,要禁止DI在下一時鐘進入譯碼級。BTC命中的流程如圖3。


2.3.4 BTC檢查

如果前一周期BTC命中,則在當前周期開始時啟動BTC檢查任務;如果前一周期BTC是根據HI預測BCC的跳轉,那么在當前時鐘標志位有效后,要重新判斷跳轉決定是否正確,如果不正確就要進行更正,給出正確的取指地址,請求在下一時鐘禁止譯碼級或執行級。同時還要根據最終的跳轉情況和HI的更新算法更新HI。BTC檢查的流程圖如圖4。


3 結論

整個 用Verilog HDL語言進行了描述,并針對標準程序進行了結果表明,采用上述方法轉移指令可以明顯提高流水線的吞吐率。由于在轉移指令后面插入了延時槽指令,轉移指令的執行與程序順序執行時完全相同; BTC的使用雖然在硬件上增加了一些開銷,但使轉移指令再次執行時基本不占用流水線資源,大大提高了的效率


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉