專利名稱:分區(qū)寄存器庫的庫指配的制作方法
背景技術(shù):
在通用微處理器中,可把寄存器分成寄存器庫(bank)(或文件),如整數(shù)寄存器庫和浮點寄存器庫。不同庫中的寄存器在大小和格式上可以各不相同,并且在寄存器庫之間不存在直接的數(shù)據(jù)路徑。寄存器分配(RA)會在現(xiàn)代最優(yōu)編譯器中起重要作用。RA的任務(wù)可以是把符號寄存器映射到物理寄存器中。通常,指令中的目的或源操作數(shù)的寄存器庫可由指令的操作碼來確定。因此,RA可只將符號寄存器獨立地指配給每個物理寄存器庫。
特定域或嵌入的處理器可具有高度分區(qū)的寄存器庫。為對這些寄存器庫進行分配,可給編譯器分派任務(wù),選擇寄存器庫以及用于符號寄存器的庫中物理寄存器。然而,這些處理器可能具有導(dǎo)致寄存器庫沖突的硬件約束。這種沖突可能需要在編譯器選擇寄存器庫和用于符號寄存器選擇的庫中物理寄存器之前被解決。
根據(jù)以下對本發(fā)明的示范性實施例進行的更具體的說明,將會明白本發(fā)明實施例的各種示范性特征和優(yōu)點,如附圖所示,其中相似的標號一般指示等同的、功能相似的和/或結(jié)構(gòu)上相似的單元。
圖1描述了根據(jù)本發(fā)明的示范性實施例的系統(tǒng)的示范性實施例圖2描述了根據(jù)本發(fā)明的示范性實施例的示范性方法實施例;圖3描述了根據(jù)本發(fā)明的示范性實施例的表的示范性實施例;圖4描述了根據(jù)本發(fā)明的示范性實施例的方法的示范性實施例;圖5描述了根據(jù)本發(fā)明的示范性實施例的規(guī)定-使用圖的示范性實施例;圖6描述了根據(jù)本發(fā)明的示范性實施例的規(guī)定-使用子圖的示范性實施例;圖7a描述了根據(jù)本發(fā)明的示范性實施例的定向非循環(huán)圖的示范性實施例;圖7b描述了根據(jù)本發(fā)明的示范性實施例的定向非循環(huán)圖的示范性實施例;以及圖8描述了可用于本發(fā)明的示范性實施例中的幾個部件的計算機和/或通信系統(tǒng)的示范性實施例。
具體實施例方式
以下詳細討論本發(fā)明的示范性實施例。雖然討論的是示范性實施例,但應(yīng)當(dāng)理解這樣做的目的僅是為了說明。相關(guān)領(lǐng)域的技術(shù)人員將會認識到在不背離本發(fā)明的精神和范圍的情況下可采用其他部件和配置。
本發(fā)明的示范性實施例可提供把操作數(shù)指配到分區(qū)寄存器庫中的物理寄存器的系統(tǒng)和方法。圖1說明了具有多個庫寄存器結(jié)構(gòu)的示范性寄存器庫結(jié)構(gòu)100。在本發(fā)明示范性實施例中,結(jié)構(gòu)100可包括算術(shù)邏輯單元(ALu)101、操作數(shù)寄存器102a,102b、通用寄存器(GPR)庫103a,103b、動態(tài)隨機訪問存儲器(DRAM)傳送入寄存器庫104、靜態(tài)隨機訪問存儲器(SRAM)傳送入寄存器庫105、下一鄰近(NN)寄存器庫106、DRAM傳送出寄存器庫107、SRAM傳送出寄存器庫108、本地存儲器109和本地存儲器地址110a,110b。
在本發(fā)明示范性實施例中,網(wǎng)絡(luò)處理器(未示出)可具有16個連接的微引擎(ME)。每個ME可以是精簡指令集計算機(RISC)處理器并可具有八個硬件線程,例如。為降低寄存器硬件的復(fù)雜性以及支持硬件多線程,每個ME可具有七個寄存器庫。這些寄存器庫可包括GPR A和B庫、SRAM傳送入和傳送出庫、DRAM傳送入和傳送出庫以及下一鄰近(NN)庫,如圖1所示。
在本發(fā)明示范性實施例中,寄存器庫可以不必是獨立的。例如,這些寄存器庫可以具有32比特的寬度并能夠表示相同的值,以便這些值可從一個庫被傳送到另一個庫中。ME指令的一個操作數(shù)可駐留在多個庫中,不過存在某種約束。
根據(jù)ME的示范性指令集結(jié)構(gòu)(ISA)規(guī)范,許多ME指令的操作數(shù)可駐留在多個寄存器庫中。例如,ALU指令的源操作數(shù)可駐留在GPR A和B庫、SRAM和DRAM傳送入庫以及下一鄰近庫中的任何一個庫中。在這種實施例中,對于具有兩個源操作數(shù)A和B的指令類型,兩個源操作數(shù)選擇規(guī)則還可限制寄存器庫的選擇。一條這樣的規(guī)則可規(guī)定相同庫不能用于兩個A和B操作數(shù)。第二條這樣的規(guī)則可規(guī)定SRAM/DRAM傳送入寄存器庫和下一鄰近寄存器庫不能用作A和B操作數(shù)二者。第三個規(guī)則可規(guī)定立即值不能用作A和B操作數(shù)二者。
例如,在ALU加法指令“r1=r2+r3”中,r2和r3不能都駐留在GPR A庫或B庫中。
在本發(fā)明的示范性實施例中,可以在不同的寄存器庫之間移動值以滿足這些約束。因此,ME的寄存器分配(RA)可正確地指配庫和分配寄存器以滿足以上約束,同時使由在寄存器庫之間進行數(shù)據(jù)移動引起的花費最小。
圖2說明了流程圖200,其說明用于指配庫并分配寄存器以滿足以上約束并使由寄存器庫之間數(shù)據(jù)移動引起的花費最小的示范性方法。如本領(lǐng)域的普通技術(shù)人員所理解的,這里所稱的符號寄存器(TN)例如可以是每次代碼生成器或編譯器需要目標系統(tǒng)上的物理寄存器時所請求的位置標志符。
參照圖2,在框201中可識別針對每個TN的候選庫。在本發(fā)明示范性實施例中,候選庫可指TN可駐留的庫。由于在引用TN的不同程序點上對庫選擇有不同的約束,因此針對此TN的候選庫集合可能是空的。在這種情況下,該TN被稱為有庫沖突。在框202中,可確定出這些沖突是否存在。如果不存在沖突的話,在框204中,每個TN可被分配到寄存器。如果的確存在沖突,在框203中,可解決針對每個TN的庫沖突。在解決庫沖突后,每個TN可具有其自身的非空候選庫。在本發(fā)明的示范性實施例中,可把TN劃分成TN集合,其中特定集合中的TN可具有相同的候選庫。在框204中,對于每個TN集合的傳統(tǒng)的集合內(nèi)寄存器分配可采用例如著色和溢出的任務(wù)來執(zhí)行。
以下詳細描述圖2中的這四個框。注意ME中的下一鄰近庫因為它的特定用途(對其進行寫實際轉(zhuǎn)向下一ME)被單獨對待而沒有與其他庫進行細微的交互,因此以下不進行詳細說明。
如上所述,TN的候選庫可由采用TN作為操作數(shù)的指令來確定。在本發(fā)明的示范性實施例中,比特矢量可用來表示TN的候選庫,如0x01表示GPR A庫,0x02表示GPR B庫等等。對于RA之前的所有指令,它們的源和目的操作數(shù)的候選庫(即TN的具體實例)可僅根據(jù)指令的操作碼和類型來設(shè)置。如這里所指出的,有效范圍可以是TN的規(guī)定和使用的連接的web網(wǎng)。每個有效范圍可唯一命名(或編號)并可直接對應(yīng)于TN。為計算有效范圍的候選庫,可獲得此有效范圍中TN的所有事件中的候選庫的交集。所得到的交集可代表可指配給此有效范圍內(nèi)的TN的所有可能的庫。
在本發(fā)明示范性實施例中,TN可由輸入/輸出(I/O)讀或ALU指令來規(guī)定,TN可由I/O寫或ALU指令利用。圖3描述了表300,其說明了基于圖1的示范性系統(tǒng)在規(guī)定-使用表中TN的所有可能的使用。例如,如圖3所示,此表的右下單元指示TN是否由ALU操作利用,然后TN可駐留在GPR A/B、SRAM/DRAM傳送入的任何庫中。在將規(guī)定-使用表的行與列相交后,TN的非空候選庫的所有可能的組合可如下TN肯定在SRAM傳送入中;TN可能在SRAM傳送入或DRAM傳送入中;TN肯定在SRAM傳送出中;TN肯定在DRAM傳送出中;或TN可能在GPR A或GPR B中。
當(dāng)將規(guī)定-使用表的行與列相交時,可識別出TN的候選庫可能是空的情況。例如,單元(I/O、規(guī)定)與單元(I/O、使用)的相交可得到空的結(jié)果。如本文所指出的,空的結(jié)果可能指沒有候選庫可用。通常,可存在三種不同的可導(dǎo)致空結(jié)果的沖突。如本文所指出的,“規(guī)定沖突”可在TN由I/O讀和ALU操作規(guī)定時存在;“使用沖突”可在TN由I/O寫和ALU操作所使用時存在;以及“規(guī)定-使用沖突”可在TN由I/O讀規(guī)定并由I/O寫使用時存在。
在本發(fā)明示范性實施例中,為解決庫沖突,可把沖突的TN(有效范圍)分成最小的無沖突部分,然后可增加移動以把值傳遞通過非沖突的部分。圖4描述了流程圖400,其說明了用于解決庫沖突的示范性方法。在框401中,可構(gòu)建規(guī)定-使用圖(DUG)。圖5描述了示范性DUG 500。如在圖5中所看到的,每個節(jié)點501可代表引用TN的指令。邊緣502a-502d(d->u)可表示指令d中的TN的規(guī)定由指令u在用。本領(lǐng)域的普通技術(shù)人員會明白,在DUG 500中可存在循環(huán),如TN1=TN1+1。
在框402中,可找出DUG中的所有沖突傳送邊緣?;谏鲜鋈N沖突,沖突傳送邊緣可出現(xiàn)在DUG中。在本發(fā)明的示范性實施例中,沖突傳送邊緣可以是DUG中的邊緣,其兩端滿足一個或多個以下條件1)傳送邊緣的尾部是是I/O規(guī)定并且相同傳送邊緣的首部是I/O使用;或2)傳送邊緣的尾部是I/O規(guī)定并且相同傳送邊緣的首部的前導(dǎo)之一是ALU規(guī)定;或3)傳送邊緣的首部是I/O使用且相同傳送邊緣的尾部的后續(xù)之一是ALU使用。在框402中通過掃描DUG的所有邊緣可找出所有沖突傳送邊緣。
圖5中的示例顯示了規(guī)定-使用圖500,其中TN1的候選庫集合是空的。在圖5中,指令“TN1<-SRAM”把值從SRAM裝入TN1中。邊緣(b,f)可以是沖突傳送邊緣,因為它滿足以上所列的第二種條件,即尾部b是I/O規(guī)定且f的前導(dǎo)c是ALU規(guī)定。
在框403中,可對DUG進行分區(qū)。在本發(fā)明的示范性實施例中,為了劃分DUG,可拆分所有沖突傳送邊緣,以獲得w個子圖R1,R2,...,Rw。
一旦獲得子圖,那么在框404中便可對每個子圖中的TN進行重命名。圖6描述了子圖600、601,它們可通過把圖5中的沖突邊緣(b,f)拆分開來創(chuàng)建。如圖6所示,可把兩個子圖的每個中的TN1重命名為TNm和TNn。
在框405中,可在每個子圖之間增加移動。在本發(fā)明的示范性實施例中,為在每個子圖之間增加移動,針對已被拆分的每個邊緣(d,u),假設(shè)d中的TN被重命名為TNm而u中的TN被重命名為TNn。因此,如本領(lǐng)域中具有普通技術(shù)的人員將會理解的那樣,可能需要在規(guī)定-使用邊緣上插入移動“TNn=TNm”。在本發(fā)明的示范性實施例中,在控制流程圖(CFG)中可插入移動以拆分指令d和指令u之間的TN的有效范圍。例如,使用BB(i)來表示含有指令i的基本框(BB)。為使所插入移動的動態(tài)成本最小,由執(zhí)行頻率加權(quán)的從BB(d)到BB(u)的路徑的最小割集可表示放置移動的最佳位置。CFG中的臨界邊緣可以是其首部具有多個前導(dǎo)并且其尾部具有多個后續(xù)的邊緣。CFG中所有的臨界邊緣可通過在RA之前在每個邊緣上放置空的基本框來分開。最小割集可基于通過刪除CFG中的循環(huán)而構(gòu)造的定向非循環(huán)圖(DAG)來計算。注意,此DAG可由從BB(d)到BB(u)的除了環(huán)的后部邊緣(如果有的話)之外的所有BB和邊緣構(gòu)成。對于單入口單出口的DAG(其中入口是BB(d)而出口是BB(u)),可從入口到出口計算最小割集,并在最小割集的BB中插入移動。
圖7a針對上述示例描述了示范性DAG 700。從b到f的最小割集可以是dn8uhelbkzum??蓪⒁苿覶Nn=TNm插入到基本框d中,如圖7b所示。一旦已插入所有的移動,便可識別出所有TN的候選庫(即有效范圍)并且它們是非空的。給每個TN指配了以下示范性集合中的一個S_Xfer_In_Set={TN肯定在SRAM傳送入中};SD_Xfer_In_Set={TN可能在SRAM傳送入中或在DRAM傳送入中};S_Xfer_Out_Set={TN肯定在SRAM傳送出中};D_Xfer_Out_Set={TN肯定在DRAM傳送出中};以及GPR_Set={TN可能在GRA A或GPR B中}。
在框406中,可分配集合內(nèi)的寄存器。在本發(fā)明的示范性實施例中,基于寄存器分配的圖著色可單獨用于以上每個TN集合中。由于以上列出了兩個源操作數(shù)選擇規(guī)則,因此對以下情況可進行特別處理。
當(dāng)對于S_Xfer_In_Set和SD_Xfer_In_Set執(zhí)行RA時,例如可能需要遵循SRAM或DRAM傳送入不可用作A和B操作數(shù)二者的規(guī)則。
為遵循這種規(guī)則,在本發(fā)明的示范性實施例中可針對每個BB構(gòu)造符號寄存器沖突圖(SRCG)。如本領(lǐng)域的普通技術(shù)人員所理解的,SRCG可類似于DUG。然而,在SRCG中節(jié)點可以是傳送入集合中的TN。如果兩個節(jié)點均是相同指令的源操作數(shù)的話,邊緣可連接兩個節(jié)點。隨后可把SRCG中所有邊緣拆分。為拆分這些邊緣,可選擇具有最高度的節(jié)點(即具有最大數(shù)量的相鄰節(jié)點)并可插入移動指令以便把它移動到新的TN中(隨后可計算這些新TN的候選庫并將它們放入相應(yīng)的TN集合中)。節(jié)點的使用可在沖突點上采用此基本框中的新TN被重命名。在本發(fā)明的示范性實施例中,這可等同于從SRCG移除節(jié)點和關(guān)聯(lián)的邊緣。這種過程可一直持續(xù)到拆分了所有的邊緣為止。隨后可應(yīng)用RA。
當(dāng)對于GPR_Set執(zhí)行RA時,可能需要遵照指令的兩個源操作數(shù)不能同時駐留在GPRA庫或B庫中的規(guī)則。
在本發(fā)明示范性實施例中,可存在不同的方法來著色GPR_Set中的寄存器。例如,在本發(fā)明的一個實施例中,可構(gòu)造具有是GPR_Set中的TN的節(jié)點的SRCG。如本領(lǐng)域的普通技術(shù)人員所理解的,在這種實施例中,RA問題可等同于例如通過把節(jié)點分成兩部分A和B而使SRCG可著2色。每個部分隨后可分別采用來自GPR A庫和GPRB庫的寄存器來著色。圖可著2色的必要和充分條件是圖不具有任何奇數(shù)長度循環(huán)。因此,可拆分SRCG中所有的奇數(shù)長度循環(huán)(如果存在的話)。此拆分可通過如上所述增加移動拆分奇數(shù)長度循環(huán)的邊緣來進行。
圖8描述了可用于本發(fā)明示范性實施例中的系統(tǒng)的幾個部件的計算機和/或通信系統(tǒng)的示范性實施例。圖8描述了可用于本發(fā)明示范性實施例中的系統(tǒng)的幾個計算設(shè)備的計算機800的示范性實施例。計算機800可包括但不限于如任何計算機設(shè)備或通信設(shè)備,例如包括個人計算機(PC)、工作站、移動設(shè)備、電話、手持PC、個人數(shù)字助理(PDA)、瘦客戶機、胖客戶機、網(wǎng)絡(luò)設(shè)施、因特網(wǎng)瀏覽器、尋呼機或報警設(shè)備、電視機、交互式電視機、接收器、調(diào)諧器、高清晰(HD)電視機、HD接收器、視頻點播(VOD)系統(tǒng)、服務(wù)器或其他設(shè)備。
在示范性實施例中,計算機800可包括中央處理單元(CPU)或處理器804,其可耦合到總線802上。處理器804例如可經(jīng)由總線802訪問主存儲器806。計算機800可耦合到輸入/輸出(I/O)子系統(tǒng),如網(wǎng)絡(luò)接口卡(NIC)822或調(diào)制解調(diào)器824上以便訪問網(wǎng)絡(luò)826。計算機800還可直接經(jīng)由例如總線802或主存儲器806耦合到輔助存儲器808。輔助存儲器808可包括例如磁盤存儲單元810或其他存儲介質(zhì)。示范性磁盤存儲單元810可包括但不限于磁存儲裝置,如硬盤、光存儲設(shè)備如一次寫多次讀(WORM)驅(qū)動或光盤(CD)或磁光設(shè)備。輔助存儲器808的另一種類型可包括可拆卸盤存儲設(shè)備812,其可用于與如CD-ROM或軟盤的可拆卸存儲介質(zhì)814結(jié)合。通常,盤存儲單元810可存儲用于操作計算機系統(tǒng)的應(yīng)用程序,通常稱為操作系統(tǒng)。盤存儲單元810還可存儲數(shù)據(jù)庫文件(未示出)。計算機800可經(jīng)由總線802與I/O子系統(tǒng)和盤存儲單元810交互。總線802還耦合到用于輸出的顯示器820和輸入設(shè)備,比如但不限于鍵盤818和鼠標或其他點擊/選擇設(shè)備816。
本說明書所陳述和討論的實施例只用于讓本領(lǐng)域的那些技術(shù)人員學(xué)會發(fā)明人發(fā)明和運用本發(fā)明所教的各種方法。本說明書中沒有任何內(nèi)容被認為是限制本發(fā)明的范圍。所提供的全部示例是代表性的而不具有限制意義。在不背離本發(fā)明的情況下,如本領(lǐng)域的技術(shù)人員所理解的那樣,根據(jù)以上示教可對上述本發(fā)明實施例進行修改或變化。因此應(yīng)當(dāng)明白本發(fā)明可以其它不同于這里具體描述的方式來實現(xiàn)。
權(quán)利要求
1.一種用于把操作數(shù)分配到寄存器庫中的方法,所述方法包括為所述操作數(shù)識別所有的候選庫;確定在所述候選庫之間是否存在沖突;解決任何沖突;以及把所述操作數(shù)分配給所述寄存器庫。
2.根據(jù)權(quán)利要求1所述的方法,所述識別包括識別所述操作數(shù)的所有出現(xiàn);把每個出現(xiàn)分類到多個類中的一個中,每類具有至少一個關(guān)聯(lián)的寄存器庫;比較關(guān)聯(lián)的寄存器庫集合的相交的類;以及基于關(guān)聯(lián)的寄存器庫集合的所述相交產(chǎn)生交集。
3.根據(jù)權(quán)利要求2所述的方法,所述確定包括確定所述交集是否為空集合;如果所述交集集合是空的話進行所述解決;以及如果所述交集集合是非空集合的話進行所述分配。
4.根據(jù)權(quán)利要求2所述的方法,所述解決包括把所述交集拆分成最小的無沖突部分;以及增加移動以經(jīng)過所述無沖突部分傳遞值。
5.根據(jù)權(quán)利要求4所述的方法,所述拆分包括為所述操作數(shù)的所有出現(xiàn)構(gòu)建規(guī)定-使用圖;基于一組預(yù)定的條件識別所述規(guī)定-使用圖中的所有沖突傳送邊緣;以及對所述規(guī)定-使用圖進行分區(qū)。
6.根據(jù)權(quán)利要求5所述的方法,所述規(guī)定-使用圖包括引用所述操作數(shù)的每個相應(yīng)事件的多個節(jié)點;以及表示每個相應(yīng)事件的所述規(guī)定d由指令u所用的規(guī)定-使用(d->u)邊緣,其中所述沖突傳送邊緣是所述規(guī)定-使用圖中其終端會合的邊緣,并且其中如果出現(xiàn)以下情況則所述預(yù)定的條件集合建立沖突沖突傳送邊緣的尾部是輸入/輸出規(guī)定且相同沖突邊緣的首部是輸入/輸出使用,沖突傳送邊緣的尾部是輸入/輸出規(guī)定且相同沖突傳送邊緣的首部的前導(dǎo)是算術(shù)邏輯單元使用,或沖突傳送邊緣的首部是輸入/輸出使用且相同沖突傳送邊緣的尾部的后續(xù)是算術(shù)邏輯單元使用。
7.根據(jù)權(quán)利要求4所述的方法,所述增加包括采用最小割集算法增加移動。
8.根據(jù)權(quán)利要求1所述的方法,所述分配包括確定操作數(shù)的單個事件是否作為指令的兩個操作數(shù)出現(xiàn);確定單個算術(shù)邏輯單元指令的兩個操作數(shù)是否出現(xiàn)在單個通用寄存器庫中;通過采用符號寄存器沖突圖解決在操作數(shù)的單個事件作為指令的兩個操作數(shù)出現(xiàn)時的沖突;以及通過采用圖著色解決在單個算術(shù)邏輯單元指令的兩個操作數(shù)出現(xiàn)在單個通用寄存器庫中時的沖突。
9.根據(jù)權(quán)利要求1所述的方法,所述分配包括在不存在任何沖突的時候采用圖著色。
10.一種系統(tǒng),包括用以存儲操作數(shù)的多個寄存器庫;以及用以執(zhí)行包括以下步驟的方法的編譯器識別所述操作數(shù)的所有候選庫;確定在所述候選庫之間是否存在沖突;解決任何沖突;以及把所述操作數(shù)分配給所述多個寄存器庫之一。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述寄存器庫包括分區(qū)寄存器庫。
12.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,分區(qū)寄存器庫包括第一和第二寄存器庫、存儲器傳送寄存器庫或下一鄰近寄存器庫中的至少一個。
13.一種機器可訪問介質(zhì),包含在由處理器執(zhí)行時使所述處理器執(zhí)行一系列以下操作的程序指令識別操作數(shù)的所有候選寄存器庫;如果所述候選寄存器庫之間存在沖突的話解決這些沖突;以及把所述操作數(shù)分配給寄存器庫。
14.根據(jù)權(quán)利要求13所述的機器可訪問介質(zhì),還包含在由所述處理器執(zhí)行時使所述處理器執(zhí)行以下進一步的操作的程序指令識別所述操作數(shù)的所有事件;把每個事件分類到多個類之一,每類具有至少一個關(guān)聯(lián)寄存器庫;比較關(guān)聯(lián)的寄存器庫集合的相交的類;以及基于關(guān)聯(lián)的寄存器庫集合的所述相交生成交集。
15.根據(jù)權(quán)利要求14所述的機器可訪問介質(zhì),還包括在由所述處理器執(zhí)行時使所述處理器執(zhí)行以下進一步的操作的程序指令確定所述交集是否為空集合;如果所述交集是空的話進行解決;以及如果所述交集是非空的話進行分配。
16.根據(jù)權(quán)利要求14所述的機器可訪問介質(zhì),還包括在由所述處理器執(zhí)行時使所述處理器執(zhí)行以下進一步的操作把所述交集分成最小無沖突部分;以及增加移動以經(jīng)過所述無沖突部分傳遞值。
17.根據(jù)權(quán)利要求16所述的機器可訪問介質(zhì),還包括在由所述處理器執(zhí)行時使所述處理器執(zhí)行以下進一步的操作的程序指令為所述操作數(shù)的所有事件構(gòu)建規(guī)定-使用圖;基于一組預(yù)定的條件識別所述規(guī)定-使用圖中的所有沖突傳送邊緣;以及對所述規(guī)定-使用圖進行分區(qū)。
18.根據(jù)權(quán)利要求16所述的機器可訪問介質(zhì),還包括在由所述處理器執(zhí)行時使所述處理器執(zhí)行以下進一步的操作的程序指令采用最小割集算法增加移動。
全文摘要
可通過識別操作數(shù)的可能的候選寄存器庫把操作數(shù)指配給分區(qū)寄存器庫內(nèi)的物理寄存器。如果候選寄存器庫之間存在沖突的話可在把操作數(shù)分配給候選寄存器庫之前識別并解決。
文檔編號G06F9/45GK1973263SQ200580020996
公開日2007年5月30日 申請日期2005年6月24日 優(yōu)先權(quán)日2004年6月30日
發(fā)明者J·張, D·-C·(R·)菊, R·聯(lián), 路奎元, Z·張 申請人:英特爾公司