[發明專利]一種提高store指令執行效率的流水線結構及方法有效
| 申請號: | 201410206731.1 | 申請日: | 2014-05-15 |
| 公開(公告)號: | CN103984530A | 公開(公告)日: | 2014-08-13 |
| 發明(設計)人: | 陳慶宇;吳龍勝 | 申請(專利權)人: | 中國航天科技集團公司第九研究院第七七一研究所 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 西安通大專利代理有限責任公司 61200 | 代理人: | 徐文權 |
| 地址: | 710068 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 提高 store 指令 執行 效率 流水線 結構 方法 | ||
技術領域
本發明屬于微處理器流水線結構技術領域,涉及一種提高store類指令執行效率的流水線結構及方法。
背景技術
store指令是指對數據執行寫操作的一類指令。基于RISC架構的處理器僅能通過store指令將數據輸出到存儲器,即通過store指令將指令指定的數據寫入到指令指定的存儲器單元,其執行主要分為兩個階段:一、計算存儲器單元地址;二、取出執行寫操作的操作數,并將其寫入到第一步計算得出的存儲器單元中。ARM、PowerPC、SPARC等典型的RISC架構均支持store指令的寄存器尋址,即計算存儲器地址的兩個操作數和被寫的操作數均保存在寄存器文件內。
據文獻“UT699Micro-Processor?Functional?Manual”、“Rad-Hard32bit?SPARC?V8Processor:AT697E”及“龍芯2號處理器設計和性能分析”可知,在標量和超標量處理器中僅為訪存操作(load/store)流水線分配兩讀一寫三個寄存器文件端口,這種機制導致store類指令執行所需的三個操作數無法在一個時鐘周期內完成,因此,store(寫單字)指令都被作為雙周期指令處理,即store指令的執行時間開銷相當于兩條單周期指令。具體如圖1所示,流水級的上標表示第幾條指令,下標表示該流水級的第幾個周期,無下標的則代表單周期指令,圖1的時空圖給出了store單字指令在一個七級流水線處理器中的執行情況,一條雙周期的store指令被當作兩條單周期指令來處理,其中e級的00周期用于計算訪存地址,01周期用于取出待存儲的字。
上述文獻中store類指令的多周期實現方式使store類指令的執行兼容其它的單周期指令,保證其它流水線結構的完整復用性;但其控制復雜,需要設計狀態機嚴格控制其執行狀態,并且會處理器的指令并行度,嚴重影響處理器性能。
發明內容
本發明解決的問題在于提供一種提高store指令執行效率的流水線結構及方法,通過對指令譯碼邏輯和寄存器文件的優化,提高store指令讀取操作數的并行性,將store指令作為單周期指令執行,使其執行效率提高了一倍。
本發明是通過以下技術方案來實現:
一種提高store指令執行效率的流水線結構,包括通過流水級間寄存器依次相連接的譯碼模塊、執行模塊、訪存模塊和提交模塊,提交模塊、譯碼模塊還分別與四端口寄存器文件相連接,提交模塊向四端口寄存器文件寫入操作數,譯碼模塊向四端口寄存器文件同時請求store指令所需的三個操作數;
所述的譯碼模塊與四端口寄存器文件之間設有三套請求/返回操作數的數據線,每套請求/返回操作數的數據線進行一個操作數的傳輸;譯碼模塊中還設有三套相同的相關判斷邏輯,分別對三個操作數進行相關性判斷;
所述的四端口寄存器文件包括一個與提交模塊相連接的寫端口和與譯碼模塊相連接的三個讀端口,寫端口中的寫地址、寫使能分別與寫地址譯碼模塊相連接,寫端口中的寫數據與寄存器陣列相連接;寄存器陣列與數據選擇模塊相連接,數據選擇模塊還通過讀地址譯碼模塊分別與三個讀端口相連接,數據選擇模塊根據讀端口發出的讀控制信號讀取寄存器陣列中的操作數。
所有的流水級間寄存器設有統一的使能信號,使能信號控制流水線的阻塞和推進;store類指令在進入該流水線結構后經過四級執行完畢。
所述的譯碼模塊分別接收來自提交模塊、訪存模塊和執行模塊的執行信息,執行信息包括各模塊中的指令執行狀態及執行結果;譯碼模塊收到執行信息后利用相關判斷邏輯進行計算地址所需的兩個操作數與待寫操作數是否相關的判斷;若相關則通過旁路進行執行結果的傳輸,若不相關則同時向四端口寄存器文件請求數據,四端口寄存器文件將所請求的操作數通過寄存器文件讀數據總線單向傳遞給譯碼模塊。
所述的四端口寄存器文件中,當提交模塊發出的寫控制信號中的寫使能有效時,寫地址譯碼模塊產生與寫地址對應的寄存器的寫使能,寫地址譯碼模塊將產生的寫實能連接至寄存器陣列中對應的寄存器,進行寫操作,將寫控制信號中的32位寫數據寫入寄存器陣列;
當譯碼模塊發出的讀控制信號的讀使能有效時,讀地址譯碼模塊產生與讀地址對應的寄存器的讀使能,連接至數據選擇模塊,數據選擇模塊選擇對應的數據驅動32位讀數據總線,將操作數發送給譯碼模塊。
一種提高store指令執行效率的流水線控制方法,包括以下操作:
Step1:將來自指令分發單元或取指模塊的指令送入譯碼模塊進行譯碼;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國航天科技集團公司第九研究院第七七一研究所,未經中國航天科技集團公司第九研究院第七七一研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410206731.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:電吹風
- 下一篇:一種用于轉輪靜平衡實驗的新型假軸





