本發明專利技術披露了一種訪存指令的執行裝置,其中,訪存指令在前端亂序執行階段用訪存數據前遞裝置記錄寫指令包括的年齡信息及數據,并在執行讀指令時,通過訪問該訪存數據前遞裝置獲得相關寫指令的數據作為讀指令前遞的數據。本發明專利技術在讀指令重執行及過濾的基礎上,提供了地址標識技術這一新機制,并采用實現讀指令重執行的過濾裝置,實現推測式的快速訪存相關檢測,同時采用讀指令重執行技術實現訪存相關違例檢測,通過快速的推測式訪存數據前遞來減少讀指令的執行延遲,從而大大優化讀指令執行性能。
【技術實現步驟摘要】
本專利技術涉及現代超標量處理器訪存指令執行技術,尤其涉及基于地址標識的訪存指令執行裝置及其方法。
技術介紹
隨著集成電路制造工藝的飛速發展,處理器與存儲器之間的性能差距逐漸拉大,從而使得訪存延遲,尤其是讀指令訪存延遲,已逐漸成為現代超標量處理器性能提升的主要瓶頸。在傳統超標量處理器中,通過訪存指令之間數據前遞完成的讀指令,僅占所有讀指令的15%,其他讀指令均要通過訪問一級或者更低一級的數據緩存來得到所需數據。這些數據緩存的訪問時間均超過一個處理器的時鐘周期,而且隨著線延遲在整個電路延遲的比例的不斷增加,這些高速數據緩存的訪問時間將進一步增加。讀指令重執行技術(Load Re-execution)是一種典型的針對讀指令隊列(LoadQueue)的優化技術,它消除了會限制讀指令容量進一步提高的相聯查找邏輯。該技術完全依靠讀(Load)指令在按序提交前的重執行來保證單處理器和多處理器的存儲順序要求,因此只需要使用簡單的先入先出隊列(FIFO)保存Load指令的相關信息。Load指令的這兩次執行分別叫作先讀(premature load)和重讀(replay load)。當讀指令兩遍執行結果相同時,存儲相關被正確地保持;否則意味著發生了存儲順序違例或存儲同一性違例,需要采取恢復措施。該方法將復雜度從流水線中的時序關鍵部件轉移到流水線后端。過多的讀指令重執行會為處理器帶來嚴重的性能損失,基于SSBF(StoreSequenceBloom Filter)的指令重執行過濾技術可以有效降低需要重新執行的Load指令數目。該技術通過SSBF追蹤所有最近提交寫指令的SSN (寫序列號,Store Sequence Number)。當一條讀指令被執行時,它將得到最近提交的具有相同訪存地址的SSN,記為SSNnvul。當該讀指令被提交時,它將再次訪問SSBF并得到SSNfilter,然后判斷SSNnvul是否小于SSNfilter,如果不小于說明該讀指令執行時得到的數據不正確,需要重新被執行。讀指令重執行技術的關鍵在于,讀指令的兩次執行當中,重執行將保證指令執行的正確性,因此第一次執行完全可以進行推測式或者預測式執行,甚至不執行,從而為優化讀指令執行階段的性能同時簡化實現結構帶來了可能。因此,需要提供一種基于地址標識的訪存相關檢測機制,能夠基于讀指令重執行技術和指令重執行過濾技術,來實現快速的推測式訪存數據前遞,從而實現讀指令執行性能的優化。
技術實現思路
本專利技術所要解決的技術問題是提供一種訪存指令的執行裝置,能夠實現快速的推測式訪存數據前遞而優化讀指令執行性能。為了解決上述技術問題,本專利技術提供了一種訪存指令的執行裝置,其中,訪存指令在前端亂序執行階段用訪存數據前遞裝置記錄寫指令包括的年齡信息及數據,并在執行讀指令時,通過訪問該訪存數據前遞裝置獲得相關寫指令的數據作為讀指令前遞的數據。進一步地,訪存數據前遞裝置為多路組相聯結構,其中每一組每一個表項的內容包括有效位、標簽位、年齡信息以及對應數據。進一步地,該訪存數據前遞裝置有寫指令寫入時,通過該寫指令的地址標識訪問該訪存數據前遞裝置,將該寫指令相應的有效位、標簽位、年齡信息以及數據寫入表項中,并將該裝置同一組的所有表項中年齡最老的表項替換出該結構。進一步地,讀指令通過地址標識索引訪存數據前遞裝置,并通過標簽比較判斷是否命中其中所述表項,即讀指令的地址標識中的標簽位等于表項中的標簽位;當判斷有多個表項的標簽命中時,則根據年齡信息選取年齡最小對應的表項中的寫指令年齡作為該讀指令的前遞年齡,且該表項中的數據作為該讀指令的前遞數據。進一步地,訪存指令在后端按序執行階段進入過濾裝置流水級時,使用重執行過濾裝置過濾重執行的讀指令,所述重執行過濾裝置為多路組相聯結構,其中每一組每一個表項的內容包括有效位、標簽位以及年齡信息。進一步地,若訪問訪存數據前遞裝置失效,即讀指令的地址標識中的標簽位不等于所有表項中的標簽位,則繼續訪問重執行過濾裝置,并通過標簽比較判斷是否命中所述重執行過濾裝置中的表項,當判斷重執行過濾裝置中有多個標簽命中時,選取年齡最小對應的表項中的寫指令年齡作為該讀指令的前遞年齡。進一步地,訪存數據前遞裝置的中每個表項的內容還包括字節使能位;生成地址標識的輸入包括地址基址和地址偏移,每一地址基址和每一地址偏移均相應地被分為無效位、標簽位、索引位和字節使能位;其中,地址標識的標簽位和索弓I位均由地址基址和地址偏移的對應位異或生成,字節使能位由地址基址和地址偏移的相應部分相加獲得。進一步地,重執行過濾裝置有寫指令訪問時,將寫指令對應的有效位、標簽位及年齡信息寫入相應的表項中,并將所有表項中年齡最老的表項替換出該結構。進一步地,重執行過濾裝置有讀指令訪問時,由讀指令的地址標識索引重執行過濾裝置,通過標簽比較判斷是否命中其中的表項,當判斷有多個表項的標簽命中時,則根據年齡信息選取年齡最小對應的表項中的寫指令年齡作為該讀指令的過濾年齡;判斷該讀指令的前遞年齡是否等于該過濾年齡,如果不相等則將該讀指令進入重執行流水級重新執行。進一步地,在讀指令提交階段,通過重執行讀指令得到正確的訪存數據,并將該訪存數據與前遞的數據進行比較,根據比較結果判斷前遞的數據是否正確,若判斷該前遞的數據不正確,則重新執行寫指令及其相關指令。本專利技術在讀指令重執行及過濾的基礎上,提供了地址標識技術這一新機制,并采用實現讀指令重執行的過濾裝置,實現推測式的快速訪存相關檢測,同時采用讀指令重執行技術實現訪存相關違例檢測,通過快速的推測式訪存數據前遞來減少讀指令的執行延遲,從而大大優化讀指令執行性能。附圖說明圖1為本專利技術的訪存指令的執行裝置實施例整體流水線示意圖;圖2為本專利技術的訪存指令的執行裝置實施例地址標識計算過程示意圖。具體實施例方式以下結合附圖和優選實施例對本專利技術的技術方案進行詳細地闡述,應該理解,以下列舉的實施例僅用于說明和解釋本專利技術,而不構成對本專利技術技術方案的限制。圖1表示了本專利技術的訪存指令的執行裝置實施例其整體流水線的結構,由此可看出,所有訪存指令的執行分為處于先讀的前端亂序執行和處于重讀后端按序執行兩個階段,其中在前端亂序執行階段,用訪存數據前遞裝置(簡稱訪存前遞裝置)記錄寫指令(Store)對應的年齡及數據,并在讀指令(Load)執行時,通過訪問該訪存前遞裝置獲得相關寫指令的數據作為讀指令前遞的數據。上述訪存前遞裝置的實施例如圖1所示,為多路組相聯結構,其中每一組每個表項的內容包括有效位(V)、標簽位(T)、年齡信息(A)以及對應數據(D),且該訪存前遞裝置通過地址標識進行訪問。當有寫指令寫入該訪存前遞裝置時,將該寫指令相應的內容寫入一表項中,并將該裝置同一組的所有表項中年齡最老的表項替換出該結構。讀指令通過地址標識索引該訪存前遞裝置,并通過標簽比較判斷是否命中其中的表項,即讀指令地址標識中的標簽位等于表項中的標簽位(T);當判斷有多個表項的標簽命中時,則選取年齡最小對應的表項中的寫指令年齡(A )作為該讀指令的前遞年齡,且該表項中的數據作為該讀指令的前遞數據。如果訪問該訪存前遞裝置失效,即讀指令地址標識中的標簽位不等于所有表項中的標簽位(T),則繼續訪問重執行過濾裝置(簡稱過濾裝置),并通過標簽比較判本文檔來自技高網...
【技術保護點】
一種訪存指令的執行裝置,其特征在于,所述訪存指令在前端亂序執行階段用訪存數據前遞裝置記錄寫指令包括的年齡信息及數據,并在執行讀指令時,通過訪問該訪存數據前遞裝置獲得相關寫指令的數據作為讀指令前遞的數據。
【技術特征摘要】
1.一種訪存指令的執行裝置,其特征在于,所述訪存指令在前端亂序執行階段用訪存數據前遞裝置記錄寫指令包括的年齡信息及數據,并在執行讀指令時,通過訪問該訪存數據前遞裝置獲得相關寫指令的數據作為讀指令前遞的數據。2.按照權利要求1所述的裝置,其特征在于,所述訪存數據前遞裝置為多路組相聯結構,其中每一組每一個表項的內容包括有效位、標簽位、年齡信息以及對應數據。3.按照權利要求2所述的裝置,其特征在于, 該訪存數據前遞裝置有寫指令寫入時,通過該寫指令的地址標識訪問該訪存數據前遞裝置,將該寫指令相應的有效位、標簽位、年齡信息以及數據寫入所述表項中,并將該裝置同一組的所有表項中年齡最老的表項替換出該結構。4.按照權利要求3所述的裝置,其特征在于, 讀指令通過地址標識索引所述訪存數據前遞裝置,并通過所述標簽比較判斷是否命中其中所述表項,即所述讀指令的地址標識中的標簽位等于所述表項中的標簽位;當判斷有多個表項的標簽命中時,則根據所述年齡信息選取年齡最小對應的表項中的寫指令年齡作為該讀指令的前遞年齡,且該表項中的數據作為該讀指令的前遞數據。5.按照權利要求4所述的裝置,其特征在于,所述訪存指令在后端按序執行階段進入過濾裝置流水級時,使用所述重執行過濾裝置過濾重執行的讀指令,所述重執行過濾裝置為多路組相聯結構,其中每一組每一個表項的內容包括有效位、標簽位以及年齡信息。6.按照權利要求5所述的裝置,其特征在于, 若訪問所述訪存數據前遞裝置失效,即所述讀指令的地址標識中的標簽位不等于所有表項中的標簽位,則繼續訪問重執行過濾裝...
【專利技術屬性】
技術研發人員:程旭,
申請(專利權)人:北京北大眾志微系統科技有限責任公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。