[發明專利]一種訪存指令的執行裝置有效
| 申請號: | 201210488826.8 | 申請日: | 2012-11-26 |
| 公開(公告)號: | CN103019946A | 公開(公告)日: | 2013-04-03 |
| 發明(設計)人: | 程旭 | 申請(專利權)人: | 北京北大眾志微系統科技有限責任公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F13/16;G06F9/30 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 栗若木;曲鵬 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 指令 執行 裝置 | ||
技術領域
本發明涉及現代超標量處理器訪存指令執行技術,尤其涉及基于地址標識的訪存指令執行裝置及其方法。
背景技術
隨著集成電路制造工藝的飛速發展,處理器與存儲器之間的性能差距逐漸拉大,從而使得訪存延遲,尤其是讀指令訪存延遲,已逐漸成為現代超標量處理器性能提升的主要瓶頸。在傳統超標量處理器中,通過訪存指令之間數據前遞完成的讀指令,僅占所有讀指令的15%,其他讀指令均要通過訪問一級或者更低一級的數據緩存來得到所需數據。這些數據緩存的訪問時間均超過一個處理器的時鐘周期,而且隨著線延遲在整個電路延遲的比例的不斷增加,這些高速數據緩存的訪問時間將進一步增加。
讀指令重執行技術(Load?Re-execution)是一種典型的針對讀指令隊列(Load?Queue)的優化技術,它消除了會限制讀指令容量進一步提高的相聯查找邏輯。該技術完全依靠讀(Load)指令在按序提交前的重執行來保證單處理器和多處理器的存儲順序要求,因此只需要使用簡單的先入先出隊列(FIFO)保存Load指令的相關信息。Load指令的這兩次執行分別叫作先讀(premature?load)和重讀(replay?load)。當讀指令兩遍執行結果相同時,存儲相關被正確地保持;否則意味著發生了存儲順序違例或存儲同一性違例,需要采取恢復措施。該方法將復雜度從流水線中的時序關鍵部件轉移到流水線后端。
過多的讀指令重執行會為處理器帶來嚴重的性能損失,基于SSBF(StoreSequence?Bloom?Filter)的指令重執行過濾技術可以有效降低需要重新執行的Load指令數目。該技術通過SSBF追蹤所有最近提交寫指令的SSN(寫序列號,Store?Sequence?Number)。當一條讀指令被執行時,它將得到最近提交的具有相同訪存地址的SSN,記為SSNnvul。當該讀指令被提交時,它將再次訪問SSBF并得到SSNfilter,然后判斷SSNnvul是否小于SSNfilter,如果不小于說明該讀指令執行時得到的數據不正確,需要重新被執行。
讀指令重執行技術的關鍵在于,讀指令的兩次執行當中,重執行將保證指令執行的正確性,因此第一次執行完全可以進行推測式或者預測式執行,甚至不執行,從而為優化讀指令執行階段的性能同時簡化實現結構帶來了可能。
因此,需要提供一種基于地址標識的訪存相關檢測機制,能夠基于讀指令重執行技術和指令重執行過濾技術,來實現快速的推測式訪存數據前遞,從而實現讀指令執行性能的優化。
發明內容
本發明所要解決的技術問題是提供一種訪存指令的執行裝置,能夠實現快速的推測式訪存數據前遞而優化讀指令執行性能。
為了解決上述技術問題,本發明提供了一種訪存指令的執行裝置,其中,訪存指令在前端亂序執行階段用訪存數據前遞裝置記錄寫指令包括的年齡信息及數據,并在執行讀指令時,通過訪問該訪存數據前遞裝置獲得相關寫指令的數據作為讀指令前遞的數據。
進一步地,訪存數據前遞裝置為多路組相聯結構,其中每一組每一個表項的內容包括有效位、標簽位、年齡信息以及對應數據。
進一步地,該訪存數據前遞裝置有寫指令寫入時,通過該寫指令的地址標識訪問該訪存數據前遞裝置,將該寫指令相應的有效位、標簽位、年齡信息以及數據寫入表項中,并將該裝置同一組的所有表項中年齡最老的表項替換出該結構。
進一步地,讀指令通過地址標識索引訪存數據前遞裝置,并通過標簽比較判斷是否命中其中所述表項,即讀指令的地址標識中的標簽位等于表項中的標簽位;當判斷有多個表項的標簽命中時,則根據年齡信息選取年齡最小對應的表項中的寫指令年齡作為該讀指令的前遞年齡,且該表項中的數據作為該讀指令的前遞數據。
進一步地,訪存指令在后端按序執行階段進入過濾裝置流水級時,使用重執行過濾裝置過濾重執行的讀指令,所述重執行過濾裝置為多路組相聯結構,其中每一組每一個表項的內容包括有效位、標簽位以及年齡信息。
進一步地,若訪問訪存數據前遞裝置失效,即讀指令的地址標識中的標簽位不等于所有表項中的標簽位,則繼續訪問重執行過濾裝置,并通過標簽比較判斷是否命中所述重執行過濾裝置中的表項,當判斷重執行過濾裝置中有多個標簽命中時,選取年齡最小對應的表項中的寫指令年齡作為該讀指令的前遞年齡。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京北大眾志微系統科技有限責任公司,未經北京北大眾志微系統科技有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210488826.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種公文標準化校驗系統
- 下一篇:一種訪存指令的執行方法





