一種面向ARMv7的基于推測(cè)的指令動(dòng)態(tài)調(diào)度方法
【專利摘要】本發(fā)明公開(kāi)了一種面向ARMv7的基于推測(cè)的指令動(dòng)態(tài)調(diào)度方法,在影響當(dāng)前指令條件碼的指令提交前,推測(cè)當(dāng)前指令的系統(tǒng)狀態(tài)值,推測(cè)執(zhí)行當(dāng)前指令,使得指令不會(huì)因?yàn)榈却懊婺軌蚋南到y(tǒng)狀態(tài)的指令的結(jié)果而堵塞流水線,提高了流水線的并行處理能力。本發(fā)明實(shí)現(xiàn)容易,尤其適合硬件實(shí)現(xiàn),具有較大的實(shí)用價(jià)值。
【專利說(shuō)明】—種面向ARMv7的基于推測(cè)的指令動(dòng)態(tài)調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及微處理器體系結(jié)構(gòu)領(lǐng)域,尤其涉及一種面向ARMv7的基于推測(cè)的指令動(dòng)態(tài)調(diào)度方法。
【背景技術(shù)】
[0002]微處理器體系結(jié)構(gòu)中,由于當(dāng)前指令需要前面的指令產(chǎn)生的結(jié)果作為源操作數(shù),該結(jié)果還未產(chǎn)生時(shí),當(dāng)前指令會(huì)等待結(jié)果產(chǎn)生,此時(shí),會(huì)發(fā)生堵塞后面可以執(zhí)行的指令繼續(xù)執(zhí)行的情況,指令動(dòng)態(tài)調(diào)度技術(shù)的核心是就是避免出現(xiàn)這種情況。
[0003]在動(dòng)態(tài)調(diào)度的流水線結(jié)構(gòu)中,指令的取指階段和譯碼階段都是按照程序順序執(zhí)行的,但是執(zhí)行階段是可以亂序執(zhí)行的,只要保證指令間沒(méi)有各種相關(guān)關(guān)系就可以執(zhí)行,在有足夠資源的流水線結(jié)構(gòu)中多條指令也可以同時(shí)執(zhí)行。指令執(zhí)行結(jié)束后,可以有序提交結(jié)果也可以亂序提交。但是為了簡(jiǎn)化操作系統(tǒng)對(duì)于例外的處理,現(xiàn)代的處理器都是按照程序表述的指令的順序有序的結(jié)束。
[0004]亂序執(zhí)行處理器的指令動(dòng)態(tài)調(diào)度是指令在流水線中執(zhí)行過(guò)程中,由硬件自動(dòng)的調(diào)度指令的執(zhí)行順序,不必一定要按照取指令的順序執(zhí)行,從而避免由于各種數(shù)據(jù)相關(guān)導(dǎo)致的流水線堵塞。為了保證程序最終運(yùn)行提交的結(jié)果與原始的程序結(jié)果一致也即是保證程序執(zhí)行結(jié)果的一致,硬件在動(dòng)態(tài)調(diào)度時(shí)候要有確保有能力自動(dòng)夠判并且確保遵循指令之間的相關(guān)關(guān)系。
[0005]ARM的32位架構(gòu)是移動(dòng)設(shè)備中最廣泛使用的架構(gòu),也是32位嵌入式系統(tǒng)中最廣泛使用的架構(gòu)。根據(jù)ARM Holdings的數(shù)據(jù):在2005年,98%的手機(jī)至少使用了一個(gè)ARM處理器;在2010年,ARM架構(gòu)的處理器出貨量達(dá)到了 61億片,這占據(jù)了智能手機(jī)95%的份額,占據(jù)了數(shù)字電視和機(jī)頂盒市場(chǎng)的35% ;在2013年,生成了大約100億顆ARM芯片。本發(fā)明提出的動(dòng)態(tài)調(diào)度的優(yōu)化方法,正是面向采用32位ARMv7指令集架構(gòu)的亂序執(zhí)行處理器的。
[0006]相對(duì)于其它RISC指令集架構(gòu),ARMv7指令集一個(gè)不尋常的特性是每條指令的編碼中都有條件碼,每條指令的執(zhí)行與否都要由其條件碼決定,這個(gè)特性雖然在某種程度上可以減少編譯后代碼的數(shù)量,但是若是使用通常的指令調(diào)度方法,由于指令間的控制相關(guān)嚴(yán)重,所以這個(gè)特性將會(huì)顯著的降低了處理器執(zhí)行該指令集時(shí),處理器并行處理的能力,從而直接降低處理器性能。
【發(fā)明內(nèi)容】
[0007]本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)【背景技術(shù)】中的缺陷,提供一種指令集控制相關(guān)不大、并行能力較強(qiáng)的面向ARMv7的基于推測(cè)的指令動(dòng)態(tài)調(diào)度方法。
[0008]本發(fā)明為解決上述技術(shù)問(wèn)題采用以下技術(shù)方案:
一種面向ARMv7的基于推測(cè)的指令動(dòng)態(tài)調(diào)度方法,具體調(diào)度方法如下:
步驟1),根據(jù)上一條指令執(zhí)行產(chǎn)生的實(shí)際系統(tǒng)狀態(tài)值推測(cè)得到當(dāng)前指令的系統(tǒng)狀態(tài)推測(cè)值,并判斷當(dāng)前指令是有條件執(zhí)行還是無(wú)條件執(zhí)行,如果是無(wú)條件執(zhí)行,則送到發(fā)射隊(duì)列,正常發(fā)射執(zhí)行后提交,然后執(zhí)行步驟6);如果是有條件執(zhí)行,則執(zhí)行步驟2);
步驟2),判斷當(dāng)前指令的系統(tǒng)狀態(tài)推測(cè)值是否等于當(dāng)前指令的實(shí)際系統(tǒng)狀態(tài)值,如果等于,執(zhí)行步驟3);如果不等于,則判斷當(dāng)前指令的實(shí)際系統(tǒng)狀態(tài)值是否滿足當(dāng)前指令的執(zhí)行條件,若滿足執(zhí)行步驟4),若不滿足則執(zhí)行步驟5);
步驟3),判斷當(dāng)前指令的執(zhí)行條件是否滿足,如果不滿足,將當(dāng)前指令執(zhí)行的結(jié)果正常提交,然后執(zhí)行步驟6);如果滿足,將當(dāng)前指令在發(fā)射隊(duì)列中的發(fā)射狀態(tài)更改為已被發(fā)射,同時(shí)取消執(zhí)行當(dāng)前指令;
步驟4),判斷當(dāng)前指令的執(zhí)行條件是否滿足,如果滿足,則將該指令正常發(fā)射執(zhí)行后提交,然后執(zhí)行步驟6);如果不滿足,將當(dāng)前指令的執(zhí)行條件狀態(tài)更改為滿足,然后將該指令正常發(fā)射執(zhí)行后提交,并且執(zhí)行步驟6);
步驟5),判斷當(dāng)前指令的執(zhí)行條件是否滿足,如果滿足,則判斷當(dāng)前指令是否已經(jīng)執(zhí)行完在等待提交,如果是,則置該指令為無(wú)效,取消該指令的提交;如果不滿足,將當(dāng)前指令在發(fā)射隊(duì)列中的發(fā)射狀態(tài)更改為已被發(fā)射,同時(shí)取消該指令的發(fā)射;
步驟6),判斷等待被提交的指令是否可以修改cpu的系統(tǒng)狀態(tài)字段,如果不可以修改,則提交后執(zhí)行結(jié)束;如果可以修改,則依序找到下一個(gè)可以修改cpu的系統(tǒng)狀態(tài)值的指令,將該指令與前一個(gè)可以修改cpu的系統(tǒng)狀態(tài)值的指令之間的所有指令、以及該指令的實(shí)際系統(tǒng)狀態(tài)值修改為當(dāng)前指令執(zhí)行產(chǎn)生的實(shí)際系統(tǒng)狀態(tài)值。
[0009]本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:
1.通過(guò)對(duì)指令條件碼所使用的系統(tǒng)狀態(tài)值進(jìn)行預(yù)測(cè),使得指令不會(huì)因?yàn)榈却懊婺軌蚋南到y(tǒng)狀態(tài)的指令的結(jié)果而堵塞流水線,提高了流水線的并行處理能力;
2.通過(guò)給發(fā)射隊(duì)列中的項(xiàng)添加額外的字段,使得指令本身的信息和外部添加到該指令的信息更加清晰;
3.通過(guò)使用由兩位狀態(tài)編碼構(gòu)成四個(gè)狀態(tài)的狀態(tài)機(jī)來(lái)進(jìn)行系統(tǒng)狀態(tài)實(shí)際值字段預(yù)測(cè),在不顯著提高硬件復(fù)雜度的情況下,提高了預(yù)測(cè)的準(zhǔn)確率;
4.對(duì)每條指令都是分兩個(gè)階段進(jìn)行執(zhí)行條件滿足字段的判斷,使得每個(gè)階段的邏輯比較簡(jiǎn)單,有利于提聞時(shí)鐘頻率;
5.算法復(fù)雜度不高,條理清晰,適合硬件實(shí)現(xiàn),對(duì)于亂序執(zhí)行結(jié)構(gòu)來(lái)說(shuō)資源的消耗比較合理。
【專利附圖】
【附圖說(shuō)明】
[0010]圖1是系統(tǒng)狀態(tài)推測(cè)值字段狀態(tài)機(jī)狀態(tài)轉(zhuǎn)換圖;
圖2是推測(cè)執(zhí)行的流程圖;
圖3是發(fā)射隊(duì)列中的項(xiàng)的組成;
圖4是重排序緩存中的項(xiàng)中新增加的域。
【具體實(shí)施方式】
[0011]下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)說(shuō)明:
本發(fā)明公開(kāi)了一種面向ARMv7的基于推測(cè)的指令動(dòng)態(tài)調(diào)度方法,具體調(diào)度方法如下: 步驟1),根據(jù)上一條指令執(zhí)行產(chǎn)生的實(shí)際系統(tǒng)狀態(tài)值推測(cè)得到當(dāng)前指令的系統(tǒng)狀態(tài)推測(cè)值,并判斷當(dāng)前指令是有條件執(zhí)行還是無(wú)條件執(zhí)行,如果是無(wú)條件執(zhí)行,則送到發(fā)射隊(duì)列,正常發(fā)射執(zhí)行后提交,然后執(zhí)行步驟6);如果是有條件執(zhí)行,則執(zhí)行步驟2);
步驟2),判斷當(dāng)前指令的系統(tǒng)狀態(tài)推測(cè)值是否等于當(dāng)前指令的實(shí)際系統(tǒng)狀態(tài)值,如果等于,執(zhí)行步驟3);如果不等于,則判斷當(dāng)前指令的實(shí)際系統(tǒng)狀態(tài)值是否滿足當(dāng)前指令的執(zhí)行條件,若滿足執(zhí)行步驟4),若不滿足則執(zhí)行步驟5);
步驟3),判斷當(dāng)前指令的執(zhí)行條件是否滿足,如果不滿足,將當(dāng)前指令執(zhí)行的結(jié)果正常提交,然后執(zhí)行步驟6);如果滿足,將當(dāng)前指令在發(fā)射隊(duì)列中的發(fā)射狀態(tài)更改為已被發(fā)射,同時(shí)取消執(zhí)行當(dāng)前指令;
步驟4),判斷當(dāng)前指令的執(zhí)行條件是否滿足,如果滿足,則將該指令正常發(fā)射執(zhí)行后提交,然后執(zhí)行步驟6);如果不滿足,將當(dāng)前指令的執(zhí)行條件狀態(tài)更改為滿足,然后將該指令正常發(fā)射執(zhí)行后提交,并且執(zhí)行步驟6);
步驟5),判斷當(dāng)前指令的執(zhí)行條件是否滿足,如果滿足,則判斷當(dāng)前指令是否已經(jīng)執(zhí)行完在等待提交,如果是,則置該指令為無(wú)效,取消該指令的提交;如果不滿足,將當(dāng)前指令在發(fā)射隊(duì)列中的發(fā)射狀態(tài)更改為已被發(fā)射,同時(shí)取消該指令的發(fā)射;
步驟6),判斷等待被提交的指令是否可以修改cpu的系統(tǒng)狀態(tài)字段,如果不可以修改,則提交后執(zhí)行結(jié)束;如果可以修改,則依序找到下一個(gè)可以修改cpu的系統(tǒng)狀態(tài)值的指令,將該指令與前一個(gè)可以修改cpu的系統(tǒng)狀態(tài)值的指令之間的所有指令、以及該指令的實(shí)際系統(tǒng)狀態(tài)值修改為當(dāng)前指令執(zhí)行產(chǎn)生的實(shí)際系統(tǒng)狀態(tài)值。
[0012]系統(tǒng)狀態(tài)推測(cè)值狀態(tài)機(jī)將當(dāng)前最新的系統(tǒng)狀態(tài)值作為狀態(tài)機(jī)輸入,產(chǎn)生指令的系統(tǒng)狀態(tài)推測(cè)值字段,并與指令條件碼字段進(jìn)行比較得出該指令的執(zhí)行條件滿足字段。發(fā)射隊(duì)列接受指令信息包括來(lái)自狀態(tài)機(jī)的系統(tǒng)狀態(tài)推測(cè)值和執(zhí)行條件滿足值,將可以執(zhí)行的指令送去讀寄存器,進(jìn)而執(zhí)行。重排序緩存中提交已經(jīng)執(zhí)行完,并且可以提交的指令,對(duì)于能夠更改系統(tǒng)狀態(tài)的指令,還要更新后續(xù)指令的系統(tǒng)狀態(tài)實(shí)際值字段,更新指令有效性同時(shí)將更新指令的系統(tǒng)狀態(tài)推測(cè)值與系統(tǒng)狀態(tài)實(shí)際值比較結(jié)果、系統(tǒng)狀態(tài)實(shí)際值與指令條件碼字段的比較結(jié)果和指令的重排序緩存編號(hào)一起送到發(fā)射隊(duì)列。
[0013]指令進(jìn)入寄存器重命名階段后,如圖1所示,系統(tǒng)狀態(tài)推測(cè)值字段的每一位,都用一個(gè)獨(dú)立的有四個(gè)狀態(tài)的有限狀態(tài)機(jī)來(lái)根據(jù)系統(tǒng)狀態(tài)實(shí)際值字段的相應(yīng)位的變化來(lái)對(duì)其進(jìn)行更改。只有連續(xù)兩次該值都是向與原始值相反的方向變化,該值才會(huì)發(fā)生翻轉(zhuǎn)。每個(gè)周期,系統(tǒng)狀態(tài)推測(cè)值狀態(tài)機(jī)將當(dāng)前周期的系統(tǒng)狀態(tài)實(shí)際值作為輸入,得到指令的系統(tǒng)狀態(tài)推測(cè)值字段值。根據(jù)系統(tǒng)狀態(tài)推測(cè)值字段與該指令的指令條件碼字段進(jìn)行比較,得出指令的執(zhí)行條件滿足的值。該指令的系統(tǒng)狀態(tài)推測(cè)值字段,執(zhí)行條件滿足字段和指令條件碼字段同時(shí)被存入重排序緩存,重排序緩存分配給該指令的重排序緩存編號(hào)字段隨該指令進(jìn)入發(fā)射隊(duì)列。
[0014]發(fā)射隊(duì)列中發(fā)射狀態(tài)字段為I的指令可以被覆蓋掉。發(fā)射隊(duì)列邏輯在其第一個(gè)周期對(duì)執(zhí)行條件滿足字段為無(wú)效但是實(shí)際重排序緩存表明是有效的指令的執(zhí)行條件滿足字段置為有效。發(fā)射隊(duì)列邏輯在其第二個(gè)周期對(duì)執(zhí)行條件滿足字段為無(wú)效并且實(shí)際重排序緩存表明其確實(shí)無(wú)效的指令的發(fā)射狀態(tài)字段置為I。
[0015]發(fā)射隊(duì)列在其第一個(gè)周期讀入指令,同時(shí)讀入來(lái)自重排序緩存的指令的執(zhí)行條件滿足字段信息,更新執(zhí)行條件滿足字段原來(lái)為0,然而重排序緩存表明其執(zhí)行條件滿足字段為I的指令的執(zhí)行條件滿足字段為I。并且將沒(méi)有被發(fā)射的指令向隊(duì)列底部移動(dòng),將頂部由于移動(dòng)產(chǎn)生的舊項(xiàng)除了新讀入的指令之外的項(xiàng)置為無(wú)效。
[0016]發(fā)射隊(duì)列在其第二個(gè)周期首先將執(zhí)行條件滿足字段為0,并且重排序緩存表明其確實(shí)為O的指令的發(fā)射狀態(tài)字段置為1,表明其可被覆蓋掉并且不能被發(fā)射。因?yàn)楝F(xiàn)在存放指令的隊(duì)列中的指令是按時(shí)間排列的,比較老的指令存放靠近底部,比較新的指令存放靠近在隊(duì)列頂部。這樣實(shí)現(xiàn)最老最先被選擇的機(jī)制,只要按照位置從隊(duì)列的底部開(kāi)始選擇預(yù)定數(shù)數(shù)目的指令就可以實(shí)現(xiàn)。
[0017]如圖2所示,相對(duì)于傳統(tǒng)的發(fā)射隊(duì)列和重排序緩存,指令在進(jìn)入本發(fā)明提出的發(fā)射隊(duì)列和重排序緩存中需要額外進(jìn)行的邏輯判斷。每個(gè)周期重排序緩存提交指令的時(shí)候,首先判斷重排序緩存中的指令條件碼字段若其值為4’ bllll或是4’ blllO表明其是無(wú)條件執(zhí)行指令,一旦執(zhí)行完成并且處于隊(duì)列頂部可以提交的位置就提交,并且若可修改系統(tǒng)狀態(tài)字段為1,則其系統(tǒng)狀態(tài)實(shí)際值字段將被復(fù)制給其隨后的所有指令的系統(tǒng)狀態(tài)實(shí)際值字段,直到出現(xiàn)另一條可修改系統(tǒng)狀態(tài)字段為I的指令則停止復(fù)制。
[0018]在該條指令不是無(wú)條件執(zhí)行的情況下:判斷其系統(tǒng)狀態(tài)推測(cè)值字段若與其系統(tǒng)狀態(tài)實(shí)際值字段相等,1:若RaCond為0,則置指令隊(duì)列中的發(fā)射狀態(tài)字段為I ;2:若RaCond為I,則提交該條指令,并且若其可修改系統(tǒng)狀態(tài)字段為I,則也要復(fù)制其系統(tǒng)狀態(tài)實(shí)際值字段給其隨后的所有指令的系統(tǒng)狀態(tài)實(shí)際值字段,直到出現(xiàn)另一條可修改系統(tǒng)狀態(tài)字段為I的指令則停止復(fù)制。
[0019]若判斷其系統(tǒng)狀態(tài)推測(cè)值字段若與其系統(tǒng)狀態(tài)實(shí)際值字段不相等,1:若系統(tǒng)狀態(tài)實(shí)際值字段給出的狀態(tài)信息滿足指令條件碼字段,則在執(zhí)行條件滿足字段為I時(shí),該指令被提交,并且在可修改系統(tǒng)狀態(tài)字段為I時(shí)做同樣的系統(tǒng)狀態(tài)實(shí)際值字段復(fù)制操作;在執(zhí)行條件滿足字段為O時(shí),需要將其在指令隊(duì)列中的執(zhí)行條件滿足字段置為1,指令將被隨后執(zhí)行。2:若系統(tǒng)狀態(tài)實(shí)際值字段給出的狀態(tài)信息不滿足指令條件碼字段,則在執(zhí)行條件滿足字段為I時(shí),該條指令將被取消掉,不會(huì)被提交;在執(zhí)行條件滿足字段為O時(shí),則置指令隊(duì)列中的發(fā)射狀態(tài)字段為I。
[0020]如圖3所示,在本發(fā)明中為發(fā)射隊(duì)列每個(gè)項(xiàng)新添加重排序緩存編號(hào)字段,執(zhí)行條件滿足字段和發(fā)射狀態(tài)字段三個(gè)字段。重排序緩存編號(hào)字段用于表明該指令在重排序緩存中的編號(hào),當(dāng)指令從寄存器重命名階段被送出時(shí),會(huì)送到重排序緩存和發(fā)射隊(duì)列中。重排序緩存會(huì)將該指令在重排序緩存中的編號(hào)送到該指令在發(fā)射隊(duì)列的重排序緩存編號(hào)字段中。執(zhí)行條件滿足字段用于表明該條指令在寄存器重命名階段時(shí),該指令的執(zhí)行條件碼是否被滿足。發(fā)射狀態(tài)字段用于表明該條指令是否被發(fā)射出去。
[0021]如圖4所示,在本發(fā)明的重排序緩存中為每個(gè)項(xiàng)新添加系統(tǒng)狀態(tài)推測(cè)值,執(zhí)行條件滿足和系統(tǒng)狀態(tài)實(shí)際值字段3個(gè)字段。系統(tǒng)狀態(tài)推測(cè)值字段表明該條指令在執(zhí)行時(shí)所使用的相應(yīng)的偽系統(tǒng)狀態(tài)寄存器的值。執(zhí)行條件滿足字段與指令隊(duì)列中執(zhí)行條件滿足字段含義相同,用于表明該條指令是否滿足其執(zhí)行條件。系統(tǒng)狀態(tài)實(shí)際值字段用于存儲(chǔ)能夠改變系統(tǒng)狀態(tài)寄存器的指令所產(chǎn)生的用于更改系統(tǒng)狀態(tài)寄存器的值??尚薷南到y(tǒng)狀態(tài)字段用于表明這條指令是否改變系統(tǒng)狀態(tài)寄存器的值。另外,從原始指令中復(fù)制指令條件碼字段用于存儲(chǔ)指令中的條件碼字段,指令中的條件碼字段用于與系統(tǒng)狀態(tài)寄存器的相應(yīng)字段進(jìn)行比較從而決定指令是否可以被執(zhí)行。
【權(quán)利要求】
1.一種面向ARMv7的基于推測(cè)的指令動(dòng)態(tài)調(diào)度方法,其特征在于,具體調(diào)度方法如下:步驟1),根據(jù)上一條指令執(zhí)行產(chǎn)生的實(shí)際系統(tǒng)狀態(tài)值推測(cè)得到當(dāng)前指令的系統(tǒng)狀態(tài)推測(cè)值,并判斷當(dāng)前指令是有條件執(zhí)行還是無(wú)條件執(zhí)行,如果是無(wú)條件執(zhí)行,則送到發(fā)射隊(duì)列,正常發(fā)射執(zhí)行后提交,然后執(zhí)行步驟6);如果是有條件執(zhí)行,則執(zhí)行步驟2); 步驟2),判斷當(dāng)前指令的系統(tǒng)狀態(tài)推測(cè)值是否等于當(dāng)前指令的實(shí)際系統(tǒng)狀態(tài)值,如果等于,執(zhí)行步驟3);如果不等于,則判斷當(dāng)前指令的實(shí)際系統(tǒng)狀態(tài)值是否滿足當(dāng)前指令的執(zhí)行條件,若滿足執(zhí)行步驟4),若不滿足則執(zhí)行步驟5); 步驟3),判斷當(dāng)前指令的執(zhí)行條件是否滿足,如果不滿足,將當(dāng)前指令執(zhí)行的結(jié)果正常提交,然后執(zhí)行步驟6);如果滿足,將當(dāng)前指令在發(fā)射隊(duì)列中的發(fā)射狀態(tài)更改為已被發(fā)射,同時(shí)取消執(zhí)行當(dāng)前指令; 步驟4),判斷當(dāng)前指令的執(zhí)行條件是否滿足,如果滿足,則將該指令正常發(fā)射執(zhí)行后提交,然后執(zhí)行步驟6);如果不滿足,將當(dāng)前指令的執(zhí)行條件狀態(tài)更改為滿足,然后將該指令正常發(fā)射執(zhí)行后提交,并且執(zhí)行步驟6); 步驟5),判斷當(dāng)前指令的執(zhí)行條件是否滿足,如果滿足,則判斷當(dāng)前指令是否已經(jīng)執(zhí)行完在等待提交,如果是,則置該指令為無(wú)效,取消該指令的提交;如果不滿足,將當(dāng)前指令在發(fā)射隊(duì)列中的發(fā)射狀態(tài)更改為已被發(fā)射,同時(shí)取消該指令的發(fā)射; 步驟6),判斷等待被提交的指令是否可以修改cpu的系統(tǒng)狀態(tài)字段,如果不可以修改,則提交后執(zhí)行結(jié)束;如果可以修改,則依序找到下一個(gè)可以修改cpu的系統(tǒng)狀態(tài)值的指令,將該指令與前一個(gè)可以修改cpu的系統(tǒng)狀態(tài)值的指令之間的所有指令、以及該指令的實(shí)際系統(tǒng)狀態(tài)值修改為當(dāng)前指令執(zhí)行產(chǎn)生的實(shí)際系統(tǒng)狀態(tài)值。
【文檔編號(hào)】G06F9/38GK103761073SQ201410007400
【公開(kāi)日】2014年4月30日 申請(qǐng)日期:2014年1月8日 優(yōu)先權(quán)日:2014年1月8日
【發(fā)明者】李冰, 徐曉偉, 陸清茹, 董乾, 劉勇, 趙霞, 陳德斌, 許立峰 申請(qǐng)人:東南大學(xué)