摘 要:重排序緩存(ROB)是超標(biāo)量處理器中的重要模塊,用于確保亂序執(zhí)行的指令能夠正確地完成和提交。然而,在大規(guī)模超標(biāo)量處理器中,存在ROB阻塞以及ROB容量有限的問題。為了解決上述問題并提高處理器性能,提出了零寄存器分配策略,通過將沒有目的寄存器的指令單獨(dú)存儲(chǔ)來避免占用ROB表項(xiàng)。同時(shí),引入容量可動(dòng)態(tài)調(diào)整的緩存結(jié)構(gòu)(AROB),將長(zhǎng)延時(shí)指令與普通指令分別存儲(chǔ)在ROB和AROB中,以降低長(zhǎng)延時(shí)指令導(dǎo)致的阻塞。改進(jìn)后的超標(biāo)量處理器被命名為NA-ROB,經(jīng)過SPEC 2006基準(zhǔn)測(cè)試程序的實(shí)驗(yàn)評(píng)估,結(jié)果表明,NA-ROB超標(biāo)量處理器相比于傳統(tǒng)的ROB超標(biāo)量處理器,平均IPC提升了66%,同時(shí)ROB的阻塞概率降低了48%。因此,所提出的改進(jìn)方法顯著提升了處理器的整體性能和效率。
關(guān)鍵詞: RISC-V指令集; 超標(biāo)量處理器; ROB; AROB; 零寄存器分配策略
中圖分類號(hào): TP332 文獻(xiàn)標(biāo)志碼: A 文章編號(hào): 1001-3695(2025)02-027-0519-04
doi:10.19734/j.issn.1001-3695.2024.06.0236
NA-ROB:improvement based on RISC-V superscalar processors
Jing Chaoxia, Liu Jie’, Li Hongkui, Liu Honghai
(School of Information Engineering, Huzhou University, Huzhou Zhejiang 313000, China)
Abstract:The reorder buffer(ROB)is a critical module in superscalar processors,ensuring that instructions executed out-of-order can be correctly completed and committed.However,in large-scale superscalar processors,issues such as ROB blocking and limited ROB capacity arise.To address these issues and enhance processor performance,this paper proposed a zero-register allocation strategy,which stored instructions without destination registers separately to avoid occupying ROB entries.Additio-nally,it introduced a dynamically adjustable cache structure(AROB),storing long-latency instructions and regular instructions separately in the ROB and AROB,respectively,to reduce blocking caused by long-latency instructions.The improved superscalar processor,named NA-ROB,was evaluated using the SPEC 2006 benchmark suite.Experimental results show that the NA-ROB superscalar processor achieves a 66% average IPC improvement compared to traditional ROB superscalar processors,while reducing the probability of ROB blocking by 48%.Thus,the proposed improvements significantly enhance the overall performance and efficiency of the processor.
Key words:RISC-V instruction set; superscalar processor; ROB; AROB; zero-register allocation strategy
0 引言
在當(dāng)今信息時(shí)代,追求高性能和高效率是計(jì)算機(jī)系統(tǒng)發(fā)展的核心目標(biāo),而超標(biāo)量處理器作為一種先進(jìn)的處理器架構(gòu),對(duì)提升計(jì)算機(jī)性能至關(guān)重要[1]。在傳統(tǒng)超標(biāo)量處理器中,為了提高執(zhí)行效率,通常會(huì)根據(jù)指令之間的依賴關(guān)系和可用的硬件資源來重新排序指令的執(zhí)行順序,以提高處理器的并行性和性能[2]。這就可能導(dǎo)致指令的提交順序與指令在程序中出現(xiàn)的順序不同。為了確保在程序提交階段能夠按照原始順序提交,設(shè)計(jì)人員提出了重排序緩存(reorder buffer,ROB)結(jié)構(gòu),來確保程序執(zhí)行結(jié)果的串行性[3]。
盡管ROB對(duì)于保持程序執(zhí)行的一致性至關(guān)重要,但它也帶來了一些問題和挑戰(zhàn)[4]。首先,ROB的容量限制了指令的并行執(zhí)行能力。當(dāng)ROB的容量較小時(shí)無法容納足夠多的指令,一旦達(dá)到容量上限,就會(huì)導(dǎo)致指令的阻塞和延遲增加。擴(kuò)大ROB的尺寸雖然可以提高指令級(jí)并行性,但也增加了ROB的訪問延遲和功耗。其次,當(dāng)ROB的頭指針?biāo)傅谋眄?xiàng)被長(zhǎng)周期執(zhí)行指令占用時(shí),后續(xù)指令無論是否完成都不能退出,造成存儲(chǔ)空間的浪費(fèi),同時(shí)影響其他指令獲取資源的效率[5,6]。這些問題都對(duì)超標(biāo)量處理器的性能和并行處理能力造成了影響。
1 相關(guān)研究
ROB的設(shè)計(jì)和管理直接影響了處理器的性能和效率,因此近年來針對(duì)ROB的結(jié)構(gòu)和管理進(jìn)行了大量的改進(jìn)研究。文獻(xiàn)[7]提出了一種解決長(zhǎng)延遲操作阻塞ROB頭部的機(jī)制。該方案采用了驗(yàn)證緩沖區(qū)(verify buffer,VB)結(jié)構(gòu),以非推測(cè)方式進(jìn)行亂序提交。盡管這種方法避免了檢查點(diǎn)的硬件開銷,但誤推測(cè)的處理可能會(huì)引起額外的延遲和性能損失。文獻(xiàn)[8]通過使用加載指令的推測(cè)退役技術(shù)來實(shí)現(xiàn)順序一致性。放寬釋放流水線資源的條件,并且提供了更寬的指令窗口,但該架構(gòu)的復(fù)雜性可能增加。文獻(xiàn)[9]通過自動(dòng)調(diào)整ROB的長(zhǎng)度來優(yōu)化資源使用,并提出兩種方法進(jìn)一步提升性能,重新設(shè)計(jì)虛擬通道(virtual channel,VC)分配策略并結(jié)合高效的TS-Router,在降低分組延遲方面取得了顯著的性能提升。文獻(xiàn)[10]提出了一種名為RB-OLITS的流量分割方法,旨在減少最壞情況下重排緩沖區(qū)的大小。該方法通過重新定義流量電阻,從爭(zhēng)用矩陣中提取流量阻塞因子,來表示流量阻塞與最壞情況重排緩沖區(qū)大小之間的關(guān)系。此方法有效增強(qiáng)了網(wǎng)絡(luò)在面對(duì)擁塞時(shí)的適應(yīng)性和穩(wěn)定性。
綜上所述,盡管傳統(tǒng)的改進(jìn)方案在一定程度上解決了一些問題,但仍然存在著局限性。針對(duì)傳統(tǒng)超標(biāo)量處理器中ROB結(jié)構(gòu)存在的問題,本文提出了一種改進(jìn)方案。該方案通過引入一個(gè)容量可動(dòng)態(tài)調(diào)整的緩存結(jié)構(gòu)——AROB,在保證指令按順序提交的同時(shí),對(duì)指令進(jìn)行分組分類存儲(chǔ),避免了長(zhǎng)延時(shí)指令導(dǎo)致的阻塞影響后續(xù)指令退出。并采用零寄存器分配策略,避免對(duì)沒有目的寄存器的指令進(jìn)行不必要的ROB表項(xiàng)分配。改進(jìn)后的NA-ROB超標(biāo)量處理器能夠解決傳統(tǒng)ROB結(jié)構(gòu)的限制,讓處理器性能得到更大的提升。
2 重排序緩存(ROB)的改進(jìn)方法
2.1 零寄存器分配策略
在傳統(tǒng)的超標(biāo)量處理器中,寄存器重命名技術(shù)是解決數(shù)據(jù)相關(guān)性問題的關(guān)鍵方法之一[11],它能夠在不改變程序語(yǔ)義的前提下,有效處理數(shù)據(jù)依賴的問題[12]。本文在設(shè)計(jì)NA-ROB超標(biāo)量處理器時(shí),采用ROB進(jìn)行寄存器重命名,重命名模塊如圖1所示。在這一過程中,指令一旦寫入ROB的某個(gè)表項(xiàng),該表項(xiàng)的編號(hào)便成為指令目的寄存器對(duì)應(yīng)的物理寄存器,PRF與ARF形成映射關(guān)系,記錄在重命名映射表中(register renaming table)[13]。然而,當(dāng)使用ROB進(jìn)行寄存器重命名時(shí),每條指令均需占用ROB中的一個(gè)表項(xiàng),來對(duì)應(yīng)一個(gè)物理寄存器。即使某些指令沒有目的寄存器,不需要進(jìn)行寄存器重命名,這種情況可能導(dǎo)致ROB資源的不必要消耗[14]。為了減少ROB的資源浪費(fèi),本文提出了一種零寄存器分配策略,有效地管理ROB表項(xiàng)。
零寄存器分配策略的核心思想是:對(duì)于不需要進(jìn)行寄存器重命名的指令,如無操作(NOP)指令、控制流指令(如分支跳轉(zhuǎn))等,系統(tǒng)不分配ROB表項(xiàng),而是直接存儲(chǔ)于一個(gè)特定的零寄存器區(qū)域(zero register region,ZRR)。這種分配策略與ROB結(jié)合使用,使ROB能夠?qū)W⒂跒樾枰拇嫫髦孛闹噶钐峁┍眄?xiàng)。
零寄存器分配策略的執(zhí)行流程如下:
a)指令發(fā)射階段。系統(tǒng)對(duì)每條指令的目的寄存器進(jìn)行檢查,來確定是否需要進(jìn)行寄存器重命名。對(duì)于需要重命名的指令,系統(tǒng)會(huì)分配一個(gè)ROB表項(xiàng),并將其標(biāo)識(shí)符與目標(biāo)寄存器關(guān)聯(lián),以便追蹤指令的執(zhí)行狀態(tài);對(duì)于不需要重命名的指令,系統(tǒng)則將其存儲(chǔ)到ZRR。
b)執(zhí)行階段。對(duì)指令進(jìn)行計(jì)算和操作,執(zhí)行完成后,ROB會(huì)檢查指令的目的寄存器字段。如果有目的寄存器,則將結(jié)果寫回到ROB相應(yīng)的表項(xiàng)中;如果沒有目的寄存器,處理器不會(huì)將該指令的結(jié)果寫入寄存器文件,從而節(jié)省了寫回的開銷和資源。
c)提交階段。完成執(zhí)行的ROB表項(xiàng)將被釋放,為后續(xù)指令的分配和使用提供空間。同時(shí),系統(tǒng)需要監(jiān)控并處理任何異常情況,確保在發(fā)生異常時(shí),能夠正確地回滾相關(guān)的ROB表項(xiàng),以維持系統(tǒng)狀態(tài)的一致性[15,16]。
通過這一流程,零寄存器分配策略實(shí)現(xiàn)了對(duì)ROB表項(xiàng)的動(dòng)態(tài)管理,從而提高了超標(biāo)量處理器的整體性能。相比傳統(tǒng)的分配方式,零寄存器分配策略不需要為沒有目的寄存器的指令分配ROB表項(xiàng),從而減少了對(duì)ROB表項(xiàng)的浪費(fèi)。雖然這種分配策略需要一些額外的硬件支持,比如在指令發(fā)射階段檢查指令目的寄存器是否需要重命名的邏輯,但是這種策略的主要優(yōu)勢(shì)在于減少對(duì)ROB資源的占用,從而允許更多的指令同時(shí)處于執(zhí)行階段,提高處理器的整體性能。因此,即使有額外的硬件成本,這些成本可能會(huì)被提升的性能所彌補(bǔ)。
2.2 AROB結(jié)構(gòu)設(shè)計(jì)
為了解決ROB的容量限制和長(zhǎng)周期執(zhí)行指令阻塞導(dǎo)致的性能下降和資源浪費(fèi)問題,本文引入了一個(gè)可動(dòng)態(tài)調(diào)整容量的緩存結(jié)構(gòu)——AROB,其容量可動(dòng)態(tài)調(diào)整的范圍為32~64條目。引入該結(jié)構(gòu)后,將長(zhǎng)周期執(zhí)行指令存儲(chǔ)在ROB中,非長(zhǎng)周期執(zhí)行指令存儲(chǔ)在AROB中,通過對(duì)指令進(jìn)行分類存儲(chǔ),將長(zhǎng)周期執(zhí)行指令與其后的非長(zhǎng)周期執(zhí)行指令分為一組,以解決長(zhǎng)周期指令占用ROB頭部的問題。AROB可以根據(jù)當(dāng)前指令執(zhí)行的情況動(dòng)態(tài)調(diào)整其大小,結(jié)合零寄存器分配策略來管理指令流,確保長(zhǎng)周期執(zhí)行指令和短周期執(zhí)行指令之間的平衡,并且其適用范圍廣泛,尤其適用于對(duì)性能有高要求、指令流復(fù)雜多變或需要高并行處理能力的系統(tǒng)和應(yīng)用。
引入AROB結(jié)構(gòu)后,NA-ROB超標(biāo)量處理器中指令的執(zhí)行控制流程為:取指階段從指令緩存中取出兩條指令;經(jīng)過譯碼后的指令被同時(shí)發(fā)送到發(fā)射隊(duì)列和ROB中,并進(jìn)行寄存器重命名與指令分類;在ROB或AROB中為每條指令分配一個(gè)唯一的表項(xiàng),用于存儲(chǔ)指令的相關(guān)信息,并引入零寄存器分配策略,將沒有目的寄存器的指令存儲(chǔ)在ZRR,單獨(dú)分為一組,共同解決ROB容量限制的問題。
改進(jìn)后ROB的結(jié)構(gòu)如圖2所示。首先,將首條進(jìn)入重排序緩存的指令MUL組號(hào)置1,隨后對(duì)于非長(zhǎng)周期執(zhí)行的指令,如ADD、SUB、ADD,保持組號(hào)不變。當(dāng)遇到長(zhǎng)周期執(zhí)行指令MUL或者無目的寄存器的指令時(shí),組號(hào)遞增。例如,BEQ指令作為無目的寄存器的指令,被存放在零寄存器區(qū)域(ZRR),組號(hào)遞增為2。由于BEQ指令不占用ROB空間,且無須重命名,所以不為其分配編號(hào)。對(duì)于長(zhǎng)周期執(zhí)行的STORE指令,組號(hào)進(jìn)一步遞增至3,而隨后的指令OR、ADD組號(hào)不變,編號(hào)遞增,并將這些指令放入AROB中。BEQ和INT指令按照順序遞增組號(hào),并存放于ZRR。在發(fā)射隊(duì)列中,選擇操作數(shù)已準(zhǔn)備就緒的指令送至相應(yīng)的執(zhí)行單元進(jìn)行計(jì)算。每條指令執(zhí)行完畢后,將其complete標(biāo)記設(shè)置為“1”,表示準(zhǔn)備提交。在提交階段,根據(jù)指令所屬的組號(hào)來確定它們的提交順序,組號(hào)較小的指令應(yīng)優(yōu)先提交。如果遇到組號(hào)相同的指令,優(yōu)先考慮提交ROB中的指令,因?yàn)樗鼈兛赡芨绲剡M(jìn)入處理器的執(zhí)行階段。當(dāng)ROB中的長(zhǎng)周期執(zhí)行指令完成時(shí),系統(tǒng)會(huì)檢查同一組內(nèi)其他指令的完成狀態(tài)。如果這些指令也已完成,并且組內(nèi)沒有資源沖突,那么整個(gè)組的指令可以一次性提交到寄存器文件,并更新ARF,以反映最新的寄存器狀態(tài)。盡管在執(zhí)行階段指令可以亂序執(zhí)行以提高效率,但在提交階段,系統(tǒng)會(huì)將指令的提交順序重新調(diào)整,使其與程序中的原始順序一致,從而保障程序的正確性。
2.3 超標(biāo)量處理器架構(gòu)設(shè)計(jì)
對(duì)ROB架構(gòu)進(jìn)行改進(jìn)后,NA-ROB超標(biāo)量處理器的流水線架構(gòu)如圖3所示。采用2-ways(即每個(gè)時(shí)鐘周期從存儲(chǔ)器中取出兩條指令)六級(jí)流水線的結(jié)構(gòu),包括以下階段:取指(IF)、譯碼(ID)和相關(guān)性檢測(cè)(REL)、發(fā)射(IS)、執(zhí)行(EX)和訪存(MEM)、寫回(WB)、提交(COM)和退休(RET)。在取指階段,處理器根據(jù)程序計(jì)數(shù)器(PC)的當(dāng)前值從指令緩存(I-Cache)中同時(shí)提取兩條指令,并將它們送入譯碼階段。在RISC-V架構(gòu)中,PC值的更新方式包括:指令執(zhí)行后自動(dòng)增加以指向下一條指令的內(nèi)存地址;條件分支指令根據(jù)分支預(yù)測(cè)結(jié)果調(diào)整PC值;處理器在接收到中斷或異常時(shí),PC值會(huì)被保存并更新為相應(yīng)的處理程序地址。一旦中斷或異常處理完畢,PC值將恢復(fù),以繼續(xù)執(zhí)行程序。譯碼階段利用兩個(gè)譯碼器對(duì)取指階段傳來的指令進(jìn)行譯碼,檢查指令是否需要進(jìn)行寄存器重命名,識(shí)別指令類型,并將譯碼結(jié)果傳遞至發(fā)射隊(duì)列。發(fā)射階段根據(jù)譯碼信息和指令類型,將指令分配到ROB、AROB或ZRR,并選擇操作數(shù)已準(zhǔn)備就緒的指令發(fā)送至相應(yīng)的執(zhí)行單元。執(zhí)行階段包括兩個(gè)算術(shù)邏輯單元(ALU)、一個(gè)乘法單元、一個(gè)訪存單元、一個(gè)分支預(yù)測(cè)單元,它們分別執(zhí)行不同類別的指令。執(zhí)行完成后,指令的計(jì)算結(jié)果暫存于ROB。在提交階段,一旦指令成為最舊的條目,并且執(zhí)行結(jié)果已寫回,便滿足提交條件。數(shù)據(jù)相關(guān)性和分支預(yù)測(cè)的準(zhǔn)確性確認(rèn)無誤后,按序退出流水線,隨后將指令的執(zhí)行結(jié)果寫入寄存器文件(register file),并更新寄存器重命名表,確保寄存器的映射關(guān)系與最新的狀態(tài)保持一致[17]。
3 實(shí)驗(yàn)與分析
本文使用Verilog硬件描述語(yǔ)言在vivado平臺(tái)上進(jìn)行處理器模塊設(shè)計(jì)。設(shè)計(jì)完成后,使用RISC-V社區(qū)開源的指令集自測(cè)試程序?qū)υ撎幚砥鬟M(jìn)行功能測(cè)試,以驗(yàn)證其各個(gè)模塊是否能夠正常工作,并進(jìn)一步對(duì)優(yōu)化前后的處理器進(jìn)行性能對(duì)比[18]。在功能驗(yàn)證階段,NA-ROB超標(biāo)量處理器通過了riscv-tests中全部的指令測(cè)試用例。功能驗(yàn)證完成后,對(duì)改進(jìn)前后的處理器進(jìn)行性能對(duì)比。在本實(shí)驗(yàn)中,選擇了Xilinx Artix-7開發(fā)板作為FPGA實(shí)驗(yàn)平臺(tái),選擇vivado作為EDA工具[19]。首先在vivado平臺(tái)上對(duì)所設(shè)計(jì)的處理器進(jìn)行行為級(jí)仿真和邏輯綜合,將生成的比特流文件下載到FPGA開發(fā)板中,并使用vivado和modsim聯(lián)合進(jìn)行了仿真測(cè)試。測(cè)試結(jié)果表明,NA-ROB符合RISC-V架構(gòu)規(guī)范。圖4和5分別展示了ADD和JAL指令的仿真測(cè)試結(jié)果。
運(yùn)行SPEC 2006基準(zhǔn)測(cè)試程序(400.perlbench,401.bzip2,403.gcc,429.mcf,445.gobmk,456.hmmer,458.sjeng,462.libquantum,464.h264ref,471.omnetpp,473.astar,483.xalancbmk),統(tǒng)計(jì)每種基準(zhǔn)測(cè)試程序的指令數(shù)和執(zhí)行所需的周期數(shù),計(jì)算改進(jìn)后處理器的平均IPC指數(shù),并統(tǒng)計(jì)ROB的阻塞概率。圖6為NA-ROB超標(biāo)量處理器的平均IPC指數(shù),而圖7則對(duì)比了NA-ROB超標(biāo)量處理器和傳統(tǒng)的ROB超標(biāo)量處理器在IPC方面提升的百分比。通過對(duì)實(shí)驗(yàn)數(shù)據(jù)分析可以清楚地觀察到,NA-ROB超標(biāo)量處理器平均IPC達(dá)到1.28,相比傳統(tǒng)的ROB超標(biāo)量處理器提升了66%。這一顯著的性能提升得益于零寄存器策略的引入和ROB架構(gòu)的優(yōu)化。通過減少ROB阻塞概率,系統(tǒng)的整體吞吐量得以提高,從而實(shí)現(xiàn)了更高的指令級(jí)并行性。
圖8為NA-ROB超標(biāo)量處理器的ROB阻塞概率,圖9則對(duì)比了NA-ROB超標(biāo)量處理器和傳統(tǒng)的ROB超標(biāo)量處理器阻塞率降低的百分比。通過對(duì)實(shí)驗(yàn)數(shù)據(jù)的分析發(fā)現(xiàn),NA-ROB超標(biāo)量處理器的ROB阻塞率顯著降低,平均減少了48%,最高降幅達(dá)到了64%。結(jié)果表明,改進(jìn)后的設(shè)計(jì)在減少ROB阻塞方面取得了顯著成效,從而提升了處理器的性能和效率。
NA-ROB超標(biāo)量處理器與不同的超標(biāo)量處理器在發(fā)射數(shù)、是否亂序、平均IPC指數(shù)和功耗方面進(jìn)行對(duì)比,結(jié)果如表1所示[20]。NA-ROB超標(biāo)量處理器在與其他超標(biāo)量處理器的性能對(duì)比中表現(xiàn)出色,其平均IPC指數(shù)比傳統(tǒng)的超標(biāo)量處理器提高了66%,比BOOM超標(biāo)量處理器提高了2%,比Two-tier Retirement處理器提高了4%,比TB+OB+MB Retirement處理器提高了15%。盡管有些提高的幅度較小,但也代表著性能上的進(jìn)步。這些數(shù)據(jù)表明NA-ROB超標(biāo)量處理器在性能上實(shí)現(xiàn)了顯著的提升,并且能夠在較低功耗下更有效地執(zhí)行指令,后續(xù)研究將重點(diǎn)關(guān)注功耗方面,以進(jìn)一步提升處理器的綜合性能。
4 結(jié)束語(yǔ)
為解決超標(biāo)量處理器中ROB容量有限的問題,本文提出了零寄存器分配策略,從而減少了ROB表項(xiàng)的浪費(fèi),并降低了寄存器文件的訪問頻率和功耗。此外,通過引入AROB緩存結(jié)構(gòu),將長(zhǎng)延時(shí)指令與普通指令分開存儲(chǔ),并結(jié)合AROB的動(dòng)態(tài)容量調(diào)整特性,有效減少了ROB中指令的阻塞。經(jīng)過實(shí)驗(yàn)測(cè)試,NA-ROB超標(biāo)量處理器在性能上表現(xiàn)出色,平均IPC提升了66%,ROB阻塞的概率平均降低了48%。此外,NA-ROB超標(biāo)量處理器在保持低功耗的情況下,還表現(xiàn)出比BOOM、Two-tier Retirement以及TB+OB+MB Retirement處理器更高的性能水平。這些結(jié)果表明,NA-ROB超標(biāo)量處理器不僅在性能方面取得了顯著突破,而且在功耗控制方面也取得了一定的優(yōu)勢(shì)。隨著性能的提升,處理器的安全性和可靠性變得至關(guān)重要。下一步的研究將著重于在設(shè)計(jì)階段將安全性和可靠性納入考量,包括開發(fā)新的安全協(xié)議和錯(cuò)誤檢測(cè)與糾正機(jī)制,以確保在提升性能的同時(shí),能夠有效防范和應(yīng)對(duì)潛在的安全威脅。
參考文獻(xiàn):
[1]Wong H,Betz V,Rose J.High-performance instruction scheduling circuits for superscalar out-of-order soft processors[J].ACM Trans on Reconfigurable Technology and Systems,2018,11(1):1-22.
[2]Jin Zhaoxiang,?nder S.Dynamic memory dependence predication[C]//Proc of the 45th Annual International Symposium on Computer Architecture.Piscataway,NJ:IEEE Press,2018:235-246.
[3]Heirman W,Eyerman S,Bois K D,et al.RIO:ROB-centric in-order modeling of out-of-order processors[J].IEEE Computer Architecture Letters,2021,20(1):78-81.
[4]李昭,劉有耀,焦繼業(yè),等.超標(biāo)量處理器亂序提交機(jī)制的研究與設(shè)計(jì)[J].計(jì)算機(jī)工程,2021,47(4):180-186.(Li Zhao,Liu Youyao,Jiao Jiye,et al.Research and design of chaotic submission mechanism for superscalar processors[J].Computer Engineering,2021,47(4):180-186.)
[5]Steen S V,Eeckhout L.Modeling superscalar processor memory-level parallelism[J].IEEE Computer Architecture Letters,2018,17(1):9-12.
[6]Owahid A A,John E B.Instruction profiling based predictive throttling for power and performance[J].IEEE Trans on Computers,2023,72(12):3532-3545.
[7]Marti S P,Borras J S,Rodriguez P L.A complexity-effective out-of-order retirement microarchitecture[J].IEEE Trans on Computers,2009,58(12):1626-1639.
[8]Ubal R,Sahuquillo J,Petit S.A sequentially consistent multi-processor architecture for out-of-order retirement of instructions[J].IEEE Trans on Parallel and Distributed Systems,2012,23(8):1361-1368.
[9]Li Cunlu,Dong Dezun,Lu Zhonghai,et al.ROB-router:a reorder buffer enabled low latency network-on-chip router[J].IEEE Trans on Parallel and Distributed Systems,2018,29(9):2090-2104.
[10]Li Zhenmin,Ma Yuqing,Du Gaoming,et al.RB-OLITS:a worst case reorder buffer size reduction approach for 3D-NoC[J].IEEE Design amp; Test,2022,39(6)79-89.
[11]Spasov D.Sequential register renaming[C]//Proc of the 43rd International Convention on Information,Communication and Electronic Technology.Piscataway,NJ:IEEE Press,2020:118-122.
[12]Han Zijun,Qu Guangzhi,Liu Bo,et al.Exploit the data level paralle-lism and schedule dependent tasks on the multi-core processors[J].Information Sciences,2022(585):382-394.
[13]楊思博,黎煒桁,于敦山,等.超標(biāo)量處理器中寄存器別名表恢復(fù)方法的改進(jìn)研究[J].計(jì)算機(jī)應(yīng)用研究,2022,39(12):3701-3705,3712.(Yang Sibo,Li Weiheng,Yu Dunshan,et al.Improvement study on recovery method of RAT in superscalar processors[J].Application Research of Computers,2022,39(12):3701-3705,3712.)
[14]Zhan Huixin,Victor S S,Lin Weiming.Reinforcement learning-based register renaming policy for simultaneous multithreading CPUs[J].Expert Systems with Applications,2021,186:article ID 115717.
[15]Kocher P,Horn J,F(xiàn)ogh A,et al.Spectre attacks:exploiting speculative execution[C]//Proc of IEEE Symposium on Security and Privacy.Piscataway,NJ:IEEE Press,2019:1-19.
[16]孫彩霞,鄭重,鄧全,等.DMR:兼容RISC-V架構(gòu)的亂序超標(biāo)量通用處理器核[J].計(jì)算機(jī)研究與發(fā)展,2021,58(6):1230-1233.(Sun Caixia,Zheng Zhong,Deng Quan,et al.DMR:a disordered superscalar general-purpose processor core compatible with RISC-V architecture[J].Computer Research and Development,2021,58(6):1230-1233.)
[17]Yu Zhiguo,Zhong Xiaoyu,Ma Xiaojie,et al.W-IQ:wither-logic based issue queue for RISC-V superscalar out-of-order processor[J].Integration,2023,94:article ID 102109.
[18]Bruns N,Herdt V,Groβe D.Toward RISC-V CSR compliance testing[J].IEEE Embedded Systems Letters,2021,13(4):202-205.
[19]Bora S,Paily R.A high-performance core micro-architecture based on RISC-V ISA for low power applications[J].IEEE Trans on Circuits and Systems Ⅱ:Express Briefs,2021,68(6):2132-2136.
[20]孫彩霞,惰兵才,王蕾,等.亂序超標(biāo)量處理器核的性能分析與優(yōu)化[J].國(guó)防科技大學(xué)學(xué)報(bào),2016,38(5):14-19.(Sun Caixia,Sui Bingcai,Wang Lei,et al.Performance analysis and optimization of disordered superscalar processor cores[J].Journal of National University of Defense Technology,2016,38(5):14-19.)