新四季網

一種高性能微處理器結構寄存器保留恢復指令的實現方法

2023-07-19 06:07:16

專利名稱:一種高性能微處理器結構寄存器保留恢復指令的實現方法
技術領域:
本發明涉及一種高性能微處理器結構寄存器保留恢復指令的實現方 法,特別是涉及一種通過特殊存儲裝入類指令來實現結構寄存器保留恢復 的方法。
背景技術:
目前的高性能微處理器中,處理結構寄存器保留和恢復時,大多採用 普通的存儲指令,將結構寄存器保存到軟體管理的主存空間(例如系統堆 棧),並利用普通的裝入指令將主存空間中保留的內容恢復到結構寄存器
中。也有部分處理器提供專用的堆棧操作指令,例如x86處理器中的push 和pop指令,但從本質上來說都是利用層次式存儲結構中的Cache和主存 來保留結構寄存器內容。
該方法存在兩個缺點 一是延時較長。雖然有多級Cache結構,但由 於Cache容量有限, 一旦訪問不命中Cache則必須直接訪問主存,延時大 幅度增加;二是在使用數據流存儲和裝入指令時,除了被保留寄存器作為 源寄存器之一以外,還至少要佔用另一個結構寄存器作為存儲裝入指令的 源地址寄存器。
如果採用固定延時的計算類指令來實現結構寄存器的保留,則作為保 留指令目標或恢復指令源的保留緩衝存儲器會成為實現的難點。因為保留 緩衝存儲器與結構寄存器不同,它沒有類似"重命名寄存器"或者"寄存器窗口"那樣處理推測寫入的回退機制,也沒有以物理寄存器為單位的記 分板機制來限制真相關的保留恢復指令的亂序執行。如果由硬體來解決這 一問題,則會大大增加硬體複雜度。然而,不解決真相關的檢測和推測寫 入的回退問題,又會增加保留恢復指令的使用限制,不便於使用,並降低 保留恢復操作的效率。
本發明公布了一種高性能微處理器的結構寄存器保留方法。該方法利 用一個獨立於層次式存儲結構之外的片內存儲器——結構寄存器保留緩 衝存儲器(簡稱結構寄存器保留緩衝或保留緩衝),該保留緩衝採用獨立 編址方式,其數據寬度與結構寄存器的數據寬度相同。該方法還提供了一 條結構寄存器保留指令(簡稱保留指令)和一條結構寄存器恢復指令(簡 稱恢復指令),這兩條指令的格式與普通存儲裝入指令不同,其操作數部 分只包含被保存的結構寄存器號和結構寄存器保留緩衝索引地址,因此保 留指令和恢復指令,除了使用被保留或恢復的結構寄存器作為源寄存器或 目標寄存器外,不佔用其它結構寄存器。為了在不大量增加硬體開銷的情 況下,支持保留指令和恢復指令的亂序執行,在硬體實際處理這兩條指令 時,將其轉化為特殊的數據流存儲裝入指令,並採用類似於存儲裝入指令 的處理方式,利用存儲訪問控制中的數據流裝入隊列和數據流存儲隊列來 處理保留恢復指令亂序執行帶來相關性的問題。但是保留恢復指令不訪問 層次式存儲結構的各級存儲器,而訪問保留緩衝,完成對結構寄存器的保 留或恢復。


下面結合附圖與具體實施方式
對本發明作進一步詳細地說明圖1是本發明一實例,說明結構寄存器保留指令的處理流程; 圖2是本發明另一實例,說明結構寄存器恢復指令的處理流程。
具體實施例方式
本發明是一種高性能微處理器結構寄存器保留方法,採用結構寄存器 保留指令(簡稱保留指令)和結構寄存器恢復指令(簡稱恢復指令),完成 對結構寄存器的快速保留和恢復操作。保留指令和恢復指令有獨立的指令 編碼,其操作數部分只包含被保存或恢復的結構寄存器號和結構寄存器保 留緩衝的索引地址,但在指令解碼階段,由硬體將保留指令強制轉化為帶 有特殊標誌的數據流存儲指令,將恢復指令強制轉化為帶有特殊標誌的數 據流裝入指令。轉化後的保留指令類似存儲指令,其源數據寄存器為需要 保留的結構寄存器,地址寄存器內容固定為"全0"(不實際佔用普通結 構寄存器),其地址偏移部分為保留緩衝的索引地址。轉化後的恢復指令 類似裝入指令,其目標數據寄存器為需要恢復的結構寄存器,地址寄存器
內容固定為"全o"(不實際佔用普通結構寄存器),其地址偏移部分為保
留緩衝的索引地址。保留指令和恢復指令與普通數據流存儲裝入指令一 樣,都經過地址計算,將保留緩衝的索引地址轉換為存儲訪問的物理地址 表示形式,該地址不參與虛實地址代換,直接進入存儲控制部件。
在存儲控制部件中,保留指令與數據流存儲指令的處理流程相似,査 詢保留緩衝存儲器,並將結果和指令的相關信息,包括數據,記入數據流
存儲隊列中。不同之處在於,保留指令不訪問一級數據Cache,而是訪問 結構寄存器保留緩衝存儲器,且查詢結果一定是命中且擁有寫權限。該保 留指令之前的所有指令都已經正常提交以後,該保留指令流才被允許提交,將數據寫入保留緩衝。
在存儲控制部件中,恢復指令與數據流裝入指令的處理流程相似,査 詢保留緩衝存儲器,如果命中則根據地址將數據讀出,然後寫入相應的結 構寄存器,並將訪問結果和指令的相關信息,記入數據流裝入隊列中。不
同之處在於,保留指令不訪問一級數據Cache,而是訪問結構寄存器保留 緩衝存儲器,且査詢結果一定是命中。
如果對同一保留緩衝存儲器條目進行訪問的恢復指令和恢復指令被 亂序發射時,存儲訪問控制部件會如同處理存儲器相關的兩條亂序發射的 存儲和裝入指令一樣,處理這些相關性衝突,不需要增加新的硬體開銷。
以下所述實例詳細地說明了本發明。
實例一
如圖l, A是結構寄存器保留指令,通過指令轉換邏輯將A轉換為帶 有特殊標誌的數據流存儲指令,轉換後的指令A的源寄存器即為要保存的
結構寄存器,不需要地址寄存器,偏移量為結構寄存器保留緩衝索引地址。 A指令發射後,在地址計算部件將保留緩衝的索引地址與全"0"值相加, 得到有效存儲訪問地址。該地址經過地址代換部件,但不進行代換,直接 作為存儲訪問的物理地址。
A指令使用其物理地址査詢保留緩衝存儲器對應條目狀態,但保留緩 衝並沒有狀態,而是直接返回命中並且具備寫權限,並將訪問結果和指令 的相關信息,包括數據,記入數據流存儲隊列中。
A指令在查詢保留緩衝條目狀態的同時還利用其物理地址,相聯查找 數據流裝入隊列條目,如果發現與之地址相同,但更年輕的帶有特殊標誌的數據流裝入指令,則說明發生了先寫後讀相關性衝突,此時必須和處理 普通數據流指令的先寫後讀相關性衝突一樣,產生重發自陷。
A指令之前的所有指令都已經正常提交以後,如果該指令沒有發生相 關性衝突,則被允許提交,此時,才能向讀寫控制部件發出寫請求,讀寫 控制部件發現是帶有特殊標誌的數據流存儲指令,則將數據根據物理地址
寫入保留緩衝,而不是寫入一級數據Cache。 實例二
如圖2, B是結構寄存器恢復指令,通過指令轉換邏輯將B轉換為帶 有特殊標誌的數據流裝入指令,轉換後的指令B的目標寄存器即為要恢復 的結構寄存器,不需要地址寄存器,偏移量為結構寄存器保留緩衝索引地 址。B指令發射後,在地址計算部件將保留緩衝的索引地址與全"0"值 相加,得到有效存儲訪問地址。該地址經過地址代換部件,但不進行代換, 直接作為存儲訪問的物理地址。
B指令使用其物理地址查詢保留緩衝存儲器對應條目狀態,保留緩衝 並沒有狀態,而是直接返回命中並且讀出相應條目的數據,並將訪問結果 和指令的相關信息,記入數據流存儲隊列中。
B指令在查詢保留緩衝條目狀態的同時還利用其物理地址,相聯査找 數據流存儲隊列條目,如果發現與之地址相同,但更年老的帶有特殊標誌 的數據流裝入指令,則說明需要恢復的數據還沒有寫入保留緩衝,此時必 須將所有與之地址相同,但更年老的帶有特殊標誌的數據流裝入指令中, 選擇最年輕的數據裝入指令保存的數據作為恢復數據。B指令將恢復數據寫入物理寄存器中,並等待該保留指令之前的所有 指令都己經正常提交以後,該恢復指令才被允許提交,此時,才能將物理 寄存器映射為結構寄存器。
權利要求
1、一種高性能微處理器的結構寄存器保留恢復指令的實現方法,包括一類結構寄存器保留恢復指令,一套保留恢復指令轉換邏輯,結構寄存器保留緩衝存儲器,以及數據流裝入隊列和數據流存儲隊列;所述的結構寄存器保留恢復指令,由保留恢復指令轉換邏輯轉化為帶有特殊標誌的存儲裝入指令,由存儲訪問控制部件對結構寄存器保留緩衝存儲器進行讀寫操作,完成對結構寄存器的保留和恢復操作,其特徵在於所述的結構寄存器保留緩衝採用了獨立於層次式存儲結構之外的、獨立編址的片內存儲器實現。
2、 如權利要求1所述的一種高性能微處理器結構寄存器保留恢復指 令的實現方法,其特徵在於將結構寄存器保留指令轉化為特殊的數據流存 儲指令,結構寄存器恢復指令轉化為特殊的數據流裝入指令,實現對於獨 立編址的結構寄存器保留緩衝存儲器的存取操作,且轉化後的特殊數據流 存儲指令和數據流裝入指令的執行延時,與命中一級數據Cache普通數據 流存儲指令和數據流裝入指令的執行延時相同。
3、 如權利要求2所述的一種高性能微處理器結構寄存器保留恢復指 令的實現方法,其特徵在於由結構寄存器保留指令轉化成的特殊數據流存 儲指令,以及由結構寄存器恢復指令轉化成特殊的數據流裝入指令,可以 通過存儲裝入指令所使用的存儲隊列和裝入隊列,解決結構寄存器保留緩 衝存儲器數據訪問的真相關性衝突和推測寫入問題,從而實現結構寄存器 保留恢復指令的亂序發射和亂序執行。
全文摘要
本發明公開了一種高性能微處理器結構寄存器保留恢復指令的實現方法。包括一類結構寄存器保留恢復指令,一套保留恢復指令轉換邏輯,結構寄存器保留緩衝存儲器,以及數據流裝入隊列和數據流存儲隊列。其中所述的結構寄存器保留恢復指令,由保留恢復指令轉換邏輯轉化為帶有特殊標誌的存儲裝入指令,由存儲訪問控制部件對結構寄存器保留恢復緩衝存儲器進行讀寫操作,完成對結構寄存器的保留和恢復操作。本發明通過存儲裝入指令所使用的存儲和裝入隊列解決保留緩衝存儲器真相關性衝突和推測寫入問題,同時將保留緩衝存儲器獨立於現有微處理器中多級Cache結構之外,保證對保留恢復緩衝存儲器的訪問延時始終與命中一級數據Cache的存儲裝入指令延時相同,既能有效縮短結構寄存器的保留和恢復延時,又能有效利用現有存儲訪問控制硬體邏輯,不必增加過多的硬體設計複雜度和硬體開銷。
文檔編號G06F9/30GK101446891SQ20071009430
公開日2009年6月3日 申請日期2007年11月27日 優先權日2007年11月27日
發明者飆 王, 胡向東 申請人:上海高性能集成電路設計中心

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀