• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      超標量處理器亂序提交機制的研究與設計

      2021-04-29 03:21:22劉有耀焦繼業(yè)潘樹朋
      計算機工程 2021年4期
      關鍵詞:流水線寄存器指令

      李 昭,劉有耀,焦繼業(yè),潘樹朋

      (1.西安郵電大學電子工程學院,西安 710100;2.西安郵電大學計算機學院,西安 710100)

      0 概述

      傳統(tǒng)超標量處理器通過指令級并行(Instruction Level Parallelism,ILP)提升處理器執(zhí)行性能,為實現(xiàn)推測性執(zhí)行、精確異常和寄存器回收等功能,引入重排序緩存(Reorder Buffer,ROB)機制[1]。將解碼之后的指令按照程序順序?qū)懭隦OB 中,每條指令占用ROB 的一個表項,在指令執(zhí)行階段一直保存在ROB中,直到提交階段從ROB 中逐條退休,使程序按順序更新處理器的狀態(tài),保證了在分支預測失敗和指令異常時處理器狀態(tài)的正確。隨著集成電路技術(shù)的發(fā)展,眾多領域?qū)μ幚砥餍阅艿囊笤絹碓礁?,ROB機制的不足也逐漸顯現(xiàn)。例如,當ROB head 被長周期執(zhí)行指令占用時,后續(xù)指令就不能從ROB 中退出,即使這些指令獨立于長周期執(zhí)行指令,并且它們已經(jīng)計算完成,也不允許提交,使得ROB 利用率較低。同時,由于ROB 容量有限,指令持續(xù)解碼最終會導致ROB 完全填滿,無論是否有其他獨立的指令,都不能進入發(fā)射隊列,并且指令執(zhí)行停滯[2],從而使處理器陷入相當多的周期停頓[3],對處理器性能造成影響。ROB 阻塞問題的產(chǎn)生是由于ROB 遵循指令順序退出策略影響處理器性能,這些長周期執(zhí)行指令一方面在多個周期內(nèi)不可用,可能會長時間阻塞從屬指令的執(zhí)行,另一方面退出緩慢,已執(zhí)行完的指令會在多個周期內(nèi)占用關鍵資源,一旦資源用盡,處理器就會停止獲取新指令并最終停頓,導致ROB 等其他硬件資源利用率降低。針對以上問題,需要從提高電路硬件資源利用率以及指令提交控制邏輯等方面進行優(yōu)化,簡單的解決方案是擴大ROB容量以容納更多的并行指令。隨著基于ROB 的微體系結(jié)構(gòu)在指令提交階段對某些關鍵資源的分布進行例化,會增加處理器面積和功耗方面的成本,還可能會影響處理器周期[4]。

      目前,研究人員針對ROB 阻塞問題提出了一些解決方案。文獻[5]提出退休長周期指令的值預測機制,該機制在長周期執(zhí)行指令阻塞ROB 時,通過賦假值使其提前退出,其他指令正常執(zhí)行,但不允許覆蓋內(nèi)存中的數(shù)據(jù)。在等待長周期執(zhí)行指令操作完成后,處理器系統(tǒng)返回到檢查點并恢復常規(guī)執(zhí)行。該機制加快了整體執(zhí)行速度,但是沒有真正解決ROB 的阻塞問題。文獻[6]提出指令亂序退休機制來解決ROB 阻塞問題,該機制將程序中所有可能產(chǎn)生異常和預測錯誤的指令設置為節(jié)點指令,當驗證緩存(Valid Buffer,VB)檢驗某節(jié)點指令不會發(fā)生異常和預測錯誤時,其后面到下一個節(jié)點之間的指令會亂序退休。通過指令亂序退休縮小了長周期執(zhí)行指令占用ROB 的時間,但同時為保證亂序退休時ROB 的正確維護,需要復雜的控制邏輯和大量的硬件資源進行支持。文獻[7]提出組提交機制,該機制將程序按順序分組,每組內(nèi)包含若干寄存器相關的指令時,僅將使用同一寄存器的最后更新寄存器文件的指令輸入ROB 條目中。此外,在提交該組指令之前,可以更早地釋放該組中最后更新寄存器文件的指令對應的寄存器。該機制增加了ROB 的有效容量和物理寄存器的有效數(shù)量,但是有限的ROB 資源不能滿足管理組信息的高存儲需求,并且由于指令組提交數(shù)量大,當預測錯誤發(fā)生時會沖刷更多的指令,造成嚴重的周期停滯。

      為滿足超標量處理器的高性能和小面積設計需求,本文在研究傳統(tǒng)ROB 機制以及多種主流ROB 優(yōu)化機制的基礎上,提出一種指令快速提交機制。該機制通過容量可配置的多緩存指令提交結(jié)構(gòu),實現(xiàn)存儲器操作指令和ALU 類型指令的分類退休,并利用指令目的寄存器編碼提交模式完成指令結(jié)果的亂序提交。

      1 傳統(tǒng)ROB 機制性能研究

      傳統(tǒng)超標量處理器ROB 的每個表項中都包含判斷指令執(zhí)行完畢的狀態(tài)位Complete、指令異常類型判斷標志位Exception、判斷指令類型并決定其提交位置的狀態(tài)位Type、寄存器重命名的映射關系等資源。這些資源導致了重排序緩存內(nèi)部結(jié)構(gòu)復雜,并且當指令產(chǎn)生異常時,必須在ROB 內(nèi)部等待異常處理完畢后才能繼續(xù)后續(xù)指令的退出,這樣會給處理器帶來相當多的周期停滯,嚴重影響處理器性能。ROB 容量越大,容納的并行指令越多,造成阻塞的風險越小,對處理器性能提升有一定幫助。目前,提出的一些解決方案通過擴大主要的微處理器結(jié)構(gòu)或?qū)ζ溥M行高效管理來減輕ROB 阻塞引起的性能下降問題[8]。由文獻[2]可知此類解決方案的效果并不理想,因為當ROB 尺寸持續(xù)增加到某一定值時,首先會對處理器性能提升產(chǎn)生免疫,其次增大ROB 尺寸就必須增加其內(nèi)部例化的各種資源,會增加處理器面積和功耗方面的成本,也可能影響處理器周期,造成處理器性能和面積的失衡。

      通過對項目組在研的一款基于ROB 機制的雙發(fā)射超標量處理器的性能和面積進行評估,在功能仿真的硬件設計下載入現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)進行驗證,運行Dhrystone 和CoreMark 基準測試程序?qū)μ幚砥餍阅苓M行評估。通過記錄程序中指令執(zhí)行總時長和執(zhí)行總數(shù)得到平均IPC 指數(shù),以此作為處理器性能評判的指標?;赗OB 機制的超標量處理器內(nèi)核在0.11 μm CMOS 工藝下使用Design Compiler 完成邏輯綜合,具體參數(shù)設置如表1 所示。

      表1 基于ROB 機制的超標量處理器參數(shù)設置Table 1 Parameters setting of superscalar processor based on ROB mechanism

      實驗中所研究的超標量處理器架構(gòu)最多可同時亂序發(fā)射并執(zhí)行2 條指令、順序提交1 條指令,其平均IPC指數(shù)為0.73,與理論值相差較大[9]。由文獻[10]結(jié)論可知,平均IPC 指數(shù)達不到理想值是由于流水線停頓,其中ROB 堵塞是造成流水線停頓的主要原因。通過實驗對不同類型指令造成ROB 阻塞的比例進行對比分析,得出存儲器操作指令的比例最高。影響ROB 阻塞的主要因素為:1)ROB 尺寸難以匹配指令持續(xù)解碼的速度,ROB 變滿而造成阻塞;2)由于指令順序提交,因此當程序中長周期執(zhí)行指令延遲退休時會阻塞ROB,導致ROB 利用率較低。

      為提高處理器的平均IPC 指數(shù),本文從上述兩個影響因素入手,對ROB 機制進行優(yōu)化。首先對基于該處理器的RISC-V 指令集中各指令功用及其指令編碼格式進行分類研究,提出將存儲器操作指令和其他指令分類退休、結(jié)果亂序提交的設計思路。針對影響因素1,該機制可以根據(jù)應用程序的需求動態(tài)調(diào)整資源分配[11],將指令提交緩存模塊容量根據(jù)處理器性能要求進行參數(shù)化配置。針對影響因素2,該機制中的指令目的寄存器編碼提交模式可以增加單次指令提交數(shù)量,實現(xiàn)指令結(jié)果亂序提交。該機制一方面通過調(diào)節(jié)指令提交緩存模塊容量來容納更多的并行指令,另一方面通過指令亂序提交來加快指令提交速率,為后續(xù)等待提交的指令預留出足夠的空間,從而有效降低ROB 阻塞的風險,充分利用指令提交緩存模塊的資源,提升超標量處理器的執(zhí)行性能。

      2 指令亂序提交機制

      基于指令類型緩存(Type Buffer,TB)、目標緩存(Object Buffer,OB)和存儲緩存(Memory Buffer,MB)的超標量流水線結(jié)構(gòu)可實現(xiàn)指令亂序提交。指令目的寄存器編碼提交模式支持指令結(jié)果亂序提交,相比傳統(tǒng)超標量處理器中ROB 順序提交模式,將所有指令運行過程中的信息存儲在ROB 中進行退休管理,并考慮了性能和成本之間的折衷[12]。本文在此基礎上,通過將ROB 中的數(shù)據(jù)或地址字段保留在單獨的結(jié)構(gòu)中來減小ROB 條目的寬度,而不會影響ROB 接口[13],一定程度上降低了長周期執(zhí)行指令阻塞后續(xù)指令提交的風險,提高了單次指令提交數(shù)量。亂序提交的流水線結(jié)構(gòu)如圖1 所示。

      圖1 亂序提交的流水線結(jié)構(gòu)Fig.1 Pipeline structure of out-of-order submission

      亂序提交的流水線結(jié)構(gòu)滿足指令分類退休和結(jié)果亂序提交,流水線分為取指令(Fetch)和解碼(Decode)、相關檢測(Related detection)和發(fā)射(Issue)以及執(zhí)行(Execute)、訪存(Memory access)和提交(Commit)3級。該流水線結(jié)構(gòu)的基本工作流程為:首先取指單元(Instruction Fetch Unit,IFU)在一個周期內(nèi)從指令緩存(I-Cache)中取出3 條指令,經(jīng)過解碼之后對這3 條指令的目的寄存器依次編碼為D1、D2、D3,然后送入寄存器相關檢測(Register-related Detection)模塊中進行亂序發(fā)射評估。將滿足發(fā)射條件的指令送入發(fā)射隊列(Issue_queue)中,等待發(fā)射隊列中指令的操作數(shù)準備就緒并且功能單元空閑時將指令發(fā)送給相應的ALU 進行計算,而將與之前送入發(fā)列隊列的指令存在寫后讀(Read After Write,RAW)相關的后續(xù)指令暫存在鎖存隊列(Latch_queue)中,等待與下一輪循環(huán)進入流水線的3 條新指令共同進行寄存器相關檢測。以此類推,可以為發(fā)射隊列提供持續(xù)的并行指令源,實現(xiàn)指令的動態(tài)調(diào)度。ALU 計算完畢后經(jīng)過指令類型緩存TB 的判斷,將Load/Store 指令的目的寄存器編碼號(Di,i=1,2,…,n)和讀寫地址、寫數(shù)據(jù)送入存儲緩存中,存儲緩存再通過地址數(shù)據(jù)總線訪問數(shù)據(jù)緩存(D-Cache),完成數(shù)據(jù)存取操作。其余指令的計算結(jié)果和目的寄存器編碼號送入目標緩存中,等待指令目的寄存器編碼號等于0 時將結(jié)果提交至寄存器文件(Register File,RF)中完成一次提交動作。本文提出的新型超標量處理器流水線結(jié)構(gòu)可實現(xiàn)同時3 條指令亂序發(fā)射,亂序執(zhí)行,2 條指令亂序提交,極大地提升了指令提交速率,同時使用容量可配置的指令提交緩存結(jié)構(gòu)TB、OB 和MB 代替復雜的ROB 機制,可有效提高電路硬件資源的利用率。

      2.1 指令分類退休機制

      與開放式指令集體系結(jié)構(gòu)(Instruction Set Architecture,ISA)不同,RISC-V 設計簡單、靈活和可擴展,這有助于將其移植到不同的技術(shù)和應用領域[14]。本文基于RISC-V 指令集規(guī)整的指令編碼格式,借助指令類型緩存、目標緩存和存儲緩存的多緩存結(jié)構(gòu)實現(xiàn)Load/Store 指令和其余指令分類退休。指令類型緩存主要負責對ALU 計算完成的指令進行類型判斷后發(fā)送給相應的提交緩存模塊,并且當指令提交緩存模塊OB 和MB 沒有剩余空間時負責暫存待提交指令的信息,等待目標緩存和存儲緩存騰出足夠的空間時再將指令計算結(jié)果和目的寄存編碼送入其內(nèi)部等待提交,防止因指令提交緩存變滿而造成的流水線停頓,提供緩沖作用,使得流水線各級實現(xiàn)速度匹配。指令類型緩存還可以為關聯(lián)尋址的指令提供源操作數(shù),加快了指令執(zhí)行速度,但是操作數(shù)讀取端口的增加會導致處理器面積的增加。MB 負責緩存Load/Store 指令的信息,OB 負責緩存其余指令的信息。本文根據(jù)微處理器性能及架構(gòu)要求對目標緩存和存儲緩存容量進行調(diào)整,保證流水線各級的速度匹配?;赥B+OB+MB 的指令退休結(jié)構(gòu)如圖2 所示。

      圖2 基于TB+OB+MB 的指令退休結(jié)構(gòu)Fig.2 Instruction retirement structure based on TB+OB+MB

      基于TB+OB+MB 的指令退休結(jié)構(gòu)可有效解決當Store 指令占用ROB head 時而導致的流水線停頓問題,采用TB+OB+MB 結(jié)構(gòu)對不同功用指令進行分類退休,并與流水線其他各級模塊相互協(xié)作。首先由指令類型緩存模塊接收來自ALU 模塊輸出的指令計算結(jié)果(Data &Addre)和目的寄存器編碼號,然后將指令分類后的指令信息分別送入目標緩存和存儲緩存中進行暫存,等待第1 條指令提交后,目標緩存將該輪循環(huán)中所有指令的目的寄存器編碼號減1,依此類推,直到指令目的寄存器編碼號等于0 的指令將其結(jié)果提交至寄存器文件中。如果檢測到Load指令,則由TB 負責將指令的讀地址和目的寄存器編碼號送入存儲緩存中進行暫存,等待其目的寄存器編碼減為0 且完成數(shù)據(jù)讀取操作后,再通過存儲緩存模塊將讀取結(jié)果提交至寄存器文件中,完成Load指令提交動作。該結(jié)構(gòu)可以實現(xiàn)單周期執(zhí)行指令優(yōu)先于Store 長周期執(zhí)行指令提交,即使Store 指令發(fā)生了異常,也無需沖刷已經(jīng)提交的單周期執(zhí)行指令,因為在指令分類退休機制的控制下,與Store 指令存在讀后寫(Write After Read,WAR)相關的指令在本輪循環(huán)中不滿足提交的條件,所以該機制滿足亂序提交下的精確異常,降低指令異常時沖刷流水線的風險。同時,隨著循環(huán)輪數(shù)的增加,指令譯碼仍在繼續(xù),此時將導致目標緩存和存儲緩存剩余空間不足,從而阻塞流水線,對處理器性能造成影響。

      本文通過修改目標緩存和存儲緩存容量來解決此問題,但是增大提交緩存模塊的同時會影響處理器的面積和功耗,因此本文在每個程序中合理利用OB 和MB,并且根據(jù)程序中不同類型的指令數(shù)量來確定OB 和MB 尺寸[15]。結(jié)合實際性能測試結(jié)果來合理分配OB+MB 尺寸,目的是為了通過調(diào)節(jié)模塊容量來更好地反映應用程序的需求,從而獲得更合理的資源配置方案以及更好的能耗比,使處理器達到性能和面積的平衡。通過實驗分析可知,針對不同的應用程序調(diào)整指令退休結(jié)構(gòu)的硬件參數(shù)可獲取最佳處理器性能,使得基于該結(jié)構(gòu)的超標量處理器更適用于高性能和低功耗場景。

      2.2 結(jié)果亂序提交機制

      目前,多數(shù)超標量處理器主要通過指令亂序發(fā)射和并行執(zhí)行、結(jié)果順序提交來保證處理器性能,但當長周期執(zhí)行指令占用ROB head 時,順序提交的缺陷就異常凸顯。針對以上問題,本文提出的結(jié)果亂序提交機制利用目的寄存器編碼提交模式在保證指令正確提交的前提下,最多可同時完成2 條指令的亂序提交,相比傳統(tǒng)ROB 機制,該機制從單次指令提交數(shù)量和指令亂序提交兩方面加快了指令提交速率,為指令提交緩存模塊預留出足夠的空間來容納更多的并行指令,一定程度上提升了指令提交模塊的利用率。指令目的寄存器編碼提交結(jié)構(gòu)如圖3所示。

      圖3 指令目的寄存器編碼提交結(jié)構(gòu)Fig.3 Coding submission structure of instruction destination register

      指令目的寄存器編碼提交模式的控制流程為首先在指令譯碼階段對輸出的3 條指令中存在目的寄存器的指令編碼為Di=0,1,2,然后送入寄存器相關檢測模塊中進行指令相關性判斷,將這3 條指令中與之前指令存在RAW 相關的后續(xù)指令送入鎖存隊列中進行暫存,其余指令由發(fā)射隊列送入ALU 中進行計算,等待指令計算完成,將計算結(jié)果和目的寄存器編碼號送入目標緩存中等待提交。允許指令亂序提交的必要條件為指令計算完成和指令Di=0[16]。滿足這兩個條件的指令可以將其計算結(jié)果提交至寄存器文件中,并且由目標緩存控制該輪循環(huán)中所有指令的目的寄存器編碼號減1。該目的寄存器編碼提交模式為不斷循環(huán)迭代,在第2 輪循環(huán)中,將鎖存隊列中指令的目的寄存器編碼號減1 后作為首條參與寄存器相關檢測的指令,此時指令譯碼模塊輸出的3 條新指令的目的寄存器編碼規(guī)則必須按照程序順序進行編碼,并且第1 條指令目的寄存器編碼號必須等于上一輪循環(huán)中所有指令目的寄存器編碼號的最大值減1。依此類推,這樣就可以保證指令目的寄存器編碼提交模式的循環(huán)迭代,從而通過控制指令提交順序和數(shù)量來提升處理器性能。該指令目的寄存器編碼提交模式可滿足當長周期執(zhí)行指令Store等待提交時,最多同時亂序提交2 條與Store 不相關的指令,因滿足提交的2 條指令不在同一輪循環(huán)中,它們之間可能存在RAW、WAR 和寫后寫(Write After Write,WAW)相關問題[17]。為避免該問題帶來的錯誤提交,本文通過指令目的寄存器編碼提交模式中的循環(huán)輪數(shù)優(yōu)先級可解決讀后寫相關問題,并且可在控制指令發(fā)射階段避免寫后讀相關問題。當一輪循環(huán)中已發(fā)射的指令與其編號之后的鎖存隊列中的指令存在寫后讀相關時,在下一輪循環(huán)鎖存隊列中的指令可以從指令類型緩存中快速讀取源操作數(shù),TB 的一個輸出端口與讀取端口復用,可在加快指令執(zhí)行速度的同時減少讀取端口的數(shù)量[18]。

      本文中的結(jié)果亂序提交機制滿足同時亂序提交2條指令,加快了指令提交速率,同時其控制邏輯相對簡單,相比傳統(tǒng)ROB 順序提交機制,極大地提升了程序運行速度。但當鎖存隊列中的指令與Store 指令存在RAW相關時,由于Store 指令執(zhí)行時間不確定,可能先于鎖存隊列中的指令完成提交,這樣會造成錯誤提交,需要沖刷流水線使處理器狀態(tài)恢復正常。本文提出一種指令發(fā)射控制策略,當指令鎖存隊列變滿時,先不允許發(fā)射檢測出的Store 指令,等待鎖存隊列中的指令執(zhí)行完畢后再發(fā)射Store 指令。這樣雖然避免了提交錯誤而導致的流水線沖刷問題,但同時又帶來了新的問題,使得在該發(fā)射控制策略下遇到上述情況時最差只能發(fā)射1 條指令,此時不僅不能充分利用電路的硬件資源,影響超標量處理器性能,而且還會產(chǎn)生不必要的功耗??梢?,結(jié)果亂序提交機制還需綜合考慮微處理器架構(gòu)以及性能需求做進一步優(yōu)化。

      3 實驗與結(jié)果分析

      本節(jié)主要對基于指令亂序提交機制(簡稱本文機制)的超標量處理器性能和面積進行評估,并與基于ROB 順序提交機制、值預測機制[5]、亂序退休機制[6]和組提交機制[7]的超標量處理器進行性能對比。首先對整體設計進行功能仿真和邏輯綜合后將生成的sof 文件載入DE2_70 FPGA 開發(fā)板上,通過運行Dhrystone、CoreMark 和SPEC 2006 基準測試程序獲取改進后處理器的平均IPC 指數(shù)。為估計芯片面積開銷[19],在0.11 μm CMOS 工藝下對優(yōu)化后的整體電路進行邏輯綜合,得到處理器內(nèi)核尺寸以及指令提交緩存模塊尺寸。為進一步探究指令提交緩存模塊尺寸與處理器性能的關系,通過修改OB 和MB 尺寸并對修改后的處理器按上述過程進行性能和面積評估。不同OB+MB 尺寸下Dhrystone 和CoreMark的平均IPC 指數(shù),如圖4 所示。

      圖4 不同OB+MB 尺寸下Dhrystone 和CoreMark 的平均IPC 指數(shù)Fig.4 Average IPC index of Dhrystone and CoreMark at different OB+MB size

      實驗結(jié)果表明,當指令提交緩存模塊OB+MB尺寸從1.97×104增長到2.60×104時,處理器的平均IPC 指數(shù)逐漸增長并趨于穩(wěn)定,當OB+MB 尺寸從2.60×104增長到4.16×104時,平均IPC 指數(shù)增幅并不明顯,并且隨著OB+MB 的不斷增大,平均IPC 指數(shù)保持穩(wěn)定不變,證明此時單純增加指令提交緩存模塊不能有效提升處理器性能,需要結(jié)合流水線其他各級模塊進行綜合考慮。為實現(xiàn)處理器性能和面積的平衡,根據(jù)上述結(jié)果可知,當OB+MB 尺寸為2.60×104時的處理器內(nèi)核尺寸為4.90×104,對應的平均IPC指標為1.078 是最佳配置。本文通過運行SPEC CPU2006 基準測試套件中的12 個SPECint 應用程序[20]來評估處理器性能,當OB+MB 尺寸為2.60×104時,基于本文機制的超標量處理器平均IPC 指數(shù)如圖5 所示。

      圖5 當OB+MB 尺寸為2.60×104時基于本文機制的超標量處理器平均IPC 指數(shù)Fig.5 Average IPC index of superscalar processor based on the proposed mechanism when the OB+MB size is 2.60×104

      實驗結(jié)果表明,當本文機制中的指令提交緩存模塊OB+MB 尺寸為2.60×104時,通過每個周期提交的IPC 表示處理器在一個周期內(nèi)可以執(zhí)行的指令個數(shù)。在各個應用程序中差異較大[21],基于本文機制的超標量處理器的平均IPC 指數(shù)為1.11,相比基于ROB 順序提交機制的超標量處理器在使用較少的硬件資源情況下處理器性能提升了46%。將基于本文機制、值預測機制[5]、亂序退休機制[6]和組提交機制[7]的超標量處理器進行性能對比,如表2 所示。可以看出,基于本文機制的超標量處理器相比基于值預測、亂序退休和組提交機制的超標量處理器平均IPC 指數(shù)增益為19%,實現(xiàn)了更高的性能提升。

      表2 基于4 種機制的超標量處理器性能對比Table 2 Performance comparison of superscalar processors based on four mechanisms

      由實驗分析可知,本文機制可通過調(diào)整OB 和MB 尺寸來提升處理器性能,但是單純增加OB+MB尺寸并不能明顯提升處理器性能,甚至隨著OB+MB尺寸的不斷增大,處理器性能將不再變化。出現(xiàn)該情況的主要原因為本文機制未充分考慮指令提交緩存模塊與流水線其他各級模塊的關系,只有實現(xiàn)各級模塊速度的匹配,才能最大化處理器性能。

      4 結(jié)束語

      傳統(tǒng)基于ROB 順序提交機制的超標量處理器由于長周期執(zhí)行指令占用ROB head 時間過長導致流水線阻塞,以及指令持續(xù)解碼使得ROB 無法容納更多并行指令,從而造成ROB 資源利用率降低。為解決上述問題,本文提出一種指令亂序提交機制,利用指令目的寄存器編碼提交模式實現(xiàn)在Store指令阻塞提交時,后續(xù)執(zhí)行完畢的單周期執(zhí)行指令優(yōu)先于Store指令完成提交,保證單次最多同時提交2條指令,提高指令提交速率。實驗結(jié)果表明,基于指令亂序提交機制的超標量處理器相比傳統(tǒng)基于ROB順序提交機制的超標量處理器在減少硬件開銷的情況下性能提升46%,相比基于值預測、亂序退休和組提交機制的超標量處理器性能平均提升19%。后續(xù)可將該指令亂序提交機制應用于嵌入式處理器中,實現(xiàn)高性能和低功耗的處理器設計。

      猜你喜歡
      流水線寄存器指令
      Gen Z Migrant Workers Are Leaving the Assembly Line
      聽我指令:大催眠術(shù)
      Lite寄存器模型的設計與實現(xiàn)
      計算機應用(2020年5期)2020-06-07 07:06:44
      流水線
      ARINC661顯控指令快速驗證方法
      LED照明產(chǎn)品歐盟ErP指令要求解讀
      電子測試(2018年18期)2018-11-14 02:30:34
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      報廢汽車拆解半自動流水線研究
      SIMATIC IPC3000 SMART在汽車流水線領域的應用
      自動化博覽(2014年6期)2014-02-28 22:32:05
      坐標系旋轉(zhuǎn)指令數(shù)控編程應用
      機電信息(2014年27期)2014-02-27 15:53:56
      昌平区| 从江县| 信宜市| 攀枝花市| 长子县| 丰城市| 上饶县| 康定县| 黔南| 江源县| 富裕县| 荥阳市| 紫金县| 东明县| 凌云县| 南澳县| 舞钢市| 临清市| 龙岩市| 芜湖县| 鄂伦春自治旗| 萍乡市| 磐石市| 房山区| 湘阴县| 哈尔滨市| 崇礼县| 岳池县| 调兵山市| 扶余县| 尖扎县| 镇原县| 湟中县| 恭城| 星座| 静宁县| 卓尼县| 阳朔县| 台东县| 剑川县| 修武县|