專利名稱:一種單發(fā)射流水線處理器的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型屬于處理器技術(shù)領(lǐng)域,涉及一種單發(fā)射流水線處理器。
背景技術(shù):
開(kāi)發(fā)指令級(jí)并行是提高處理器性能的關(guān)鍵技術(shù)。目前主要通過(guò)深度流水和指令多發(fā)射等方式提高指令并行度,其中指令多發(fā)射技術(shù)對(duì)軟硬件要求較高,從可靠性的應(yīng)用角度出發(fā),嵌入式處理器多采用單發(fā)射的多級(jí)流水線處理器。相對(duì)于多發(fā)射處理器而言,單發(fā)射處理器的主要特征為每次啟動(dòng)一條指令進(jìn)入流水線。單發(fā)射五級(jí)流水線處理器結(jié)構(gòu)如圖1中100所示,100共包括取指級(jí)IF、譯碼級(jí)ID、執(zhí)行級(jí)EX、存儲(chǔ)器訪問(wèn)級(jí)M和寫(xiě)回級(jí)WR五級(jí)流水,各流水級(jí)包含各自的邏輯,各流水級(jí)之間以寄存器組101、102、103、104、105相隔,指令inst和指令地址PC隨著流水線的推進(jìn)依次向WR級(jí)推進(jìn),即每一級(jí)的PC和inst均唯一對(duì)應(yīng)。處理器正常運(yùn)行模式下,如果取指命中,IF從指令cache中取得指令,如果不命中,IF從主存中取指令并更新至指令cache,指令在IF的最后一個(gè)時(shí)鐘周期指令并且有效鎖存至寄存器,ID進(jìn)行指令譯碼并取源操作數(shù)同時(shí)產(chǎn)生CALL和分支轉(zhuǎn)移指令的目標(biāo)地址,EX主要根據(jù)ID的譯碼信息及源操作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算并產(chǎn)生JMPL/RETT的跳轉(zhuǎn)地址,M主要負(fù)責(zé)訪問(wèn)數(shù)據(jù)存儲(chǔ)體,WR將前面各級(jí)的運(yùn)算結(jié)果寫(xiě)回寄存器文件106并改變處理器狀態(tài)。流水線技術(shù)在顯著提高處理器性能的同時(shí),引入了一些問(wèn)題,如同一時(shí)刻有多條指令在不同的指令流水級(jí)、一條指令要經(jīng)過(guò)多個(gè)流水級(jí)才改變處理器狀態(tài)等,這些問(wèn)題使處理器的精確控制,尤其是精確異常的控制更為復(fù)雜。所謂的異常指除分支指令以外改變正常指令執(zhí)行順序的事件,它或者由一條指令引起(如未定義指令)、或者由外部中斷引起(如I/o設(shè)備請(qǐng)求),其中精確異常指由一條具體指令引起的異常,以SPARC V8體系架構(gòu)的處理器為例,其精確陷阱的定義為:精確異常由一條具體的指令引起,并且處理器狀態(tài)未被引起異常的指令改變,精確異常的處理需滿足以下條件:(I)將引發(fā)異常的指令的地址PC和下一條指令的地址NPC保存在本地寄存器;(2)引發(fā)異常的指令之前的指令已經(jīng)完全的執(zhí)行;(3)引發(fā)異常的指令之后的指令都沒(méi)有執(zhí)行。由上述定義可知,假設(shè)A指令產(chǎn)生精確異常,那么處理器必須保證A之前的指令執(zhí)行完畢,A之后的指令沒(méi)有執(zhí)行,或者說(shuō)A之后的指令必須為無(wú)效執(zhí)行(即雖然執(zhí)行但是執(zhí)行的結(jié)果不會(huì)改變處理器狀態(tài),執(zhí)行的結(jié)果不會(huì)寫(xiě)寄存器文件106)。圖2中200描述了某款嵌入式處理器所有精確異常的產(chǎn)生及處理流程,對(duì)于WR之前的異常,會(huì)經(jīng)過(guò)異常優(yōu)先級(jí)排列邏輯204產(chǎn)生優(yōu)先級(jí)最高的異常,并將優(yōu)先級(jí)最高異常的信息(如異常類型)和異常標(biāo)志位存在寄存器組205、206、207、208中的有關(guān)寄存器中,然后在流水線中傳遞異常的信息,直到WR級(jí)會(huì)檢測(cè)由寄存器組208傳遞而來(lái)的異常標(biāo)志位是否有效,如果異常標(biāo)志位有效,那么將指令的PC值寫(xiě)進(jìn)寄存器文件201的同時(shí)將異常的信息寫(xiě)入處理器相關(guān)寄存器202。從上面的分析知:在一條引起異常的指令B到達(dá)WR之前,取指級(jí)IF并不知情,IF會(huì)花費(fèi)大量的時(shí)鐘周期從主存中取指令,但是這些后續(xù)指令實(shí)際上是必須被廢除、不能被執(zhí)行的無(wú)效指令。這樣導(dǎo)致付出極大時(shí)間代價(jià)取來(lái)的指令是不會(huì)被執(zhí)行的指令,顯然這種情況不合理。圖3中300將100和200結(jié)合在一起進(jìn)行進(jìn)一步的闡述。如300所示,多路選擇器307根據(jù)各流水級(jí)內(nèi)的標(biāo)志信號(hào)選擇下一條指令地址NPC的值,如果無(wú)任何特殊指令,那么NPC為PC值順序加一,如果處理器執(zhí)行的轉(zhuǎn)移指令,處理器會(huì)根據(jù)轉(zhuǎn)移指令的類型選擇NPC, NPC可能為ID段生成call/branch指令的地址308或者為由JMPL/RETT指令的地址309。如果307檢測(cè)到WR級(jí)的異常標(biāo)志位有效,那么NPC就選擇WR級(jí)生成的異常轉(zhuǎn)移地址301,同時(shí)多路選擇器302將寫(xiě)回級(jí)WR中的指令地址PC寫(xiě)入寄存器文件303。通過(guò)上面的分析可知,目前的單發(fā)射流水線嵌入式處理器在執(zhí)行指令過(guò)程中,如果指令A(yù)發(fā)生異常,那么指令A(yù)的后續(xù)指令A(yù)+1、A+2等在指令A(yù)達(dá)到寫(xiě)回級(jí)WR之前會(huì)被正常從主存中取出,這種機(jī)制存在以后弊端:浪費(fèi)大量的時(shí)間取回來(lái)的指令是無(wú)效指令,所謂無(wú)效指令即不被執(zhí)行或者即使執(zhí)行也不對(duì)處理器狀態(tài)有任何影響。通過(guò)圖4說(shuō)明目前的單發(fā)射流水線嵌入式處理器如何保證A的后續(xù)指令Α+1、Α+2等的無(wú)效執(zhí)行。假設(shè)第二條指令A(yù)弓丨起精確異常,待第二條指令達(dá)到WR級(jí)之后,WR級(jí)的有關(guān)邏輯會(huì)檢測(cè)其異常標(biāo)志信號(hào),如果其異常標(biāo)志信號(hào)有效,那么WR級(jí)會(huì)生成annul_all信號(hào),該信號(hào)會(huì)被各流水級(jí)檢測(cè),并被保存進(jìn)入流水級(jí)之間的寄存器組,如果流水級(jí)之間的寄存器組中的廢除信號(hào)有效,那么對(duì)應(yīng)指令將不會(huì)引起流水內(nèi)的邏輯變化,這樣就保證annul_all信號(hào)會(huì)將其后的四條指令廢除,即其后四條指令的執(zhí)行不再改變處理器的狀態(tài)。綜上述,目前的單發(fā)射流水線嵌入式處理器在精確異常發(fā)生時(shí),會(huì)花費(fèi)大量的時(shí)鐘周期去主存取若干條根本不會(huì)被有效執(zhí)行的指令,當(dāng)前的這種精確異常處理方法效率較低,一定程度上影響了嵌入式處理器的性能。
實(shí)用新型內(nèi)容
本實(shí)用新型解決的技術(shù)問(wèn)題在于一種單發(fā)射流水線處理器,提高精確異常發(fā)生時(shí)的取指效率,杜絕精確異常發(fā)生時(shí)再次發(fā)生取指令異常的情況,在一定程度提高嵌入式處理器的性能。本實(shí)用新型是通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):一種單發(fā)射流水線處理器,包括取指級(jí)、譯碼級(jí)、執(zhí)行級(jí)、存儲(chǔ)器訪問(wèn)級(jí)和寫(xiě)回級(jí),在譯碼級(jí)、執(zhí)行級(jí)、存儲(chǔ)器訪問(wèn)級(jí)和寫(xiě)回級(jí)相鄰兩級(jí)之間均設(shè)有異常標(biāo)志寄存器;在取指級(jí)中增設(shè)異常檢測(cè)模塊、多輸入或門(mén)、多路選擇器和快速響應(yīng)模塊;流水級(jí)間寄存器分別輸出執(zhí)行級(jí)異常標(biāo)識(shí)信號(hào)、存儲(chǔ)器訪問(wèn)級(jí)異常標(biāo)識(shí)信號(hào)、寫(xiě)回級(jí)異常標(biāo)識(shí)信號(hào)至多輸入或門(mén)相或;多輸入或門(mén)輸出至異常檢測(cè)模塊異常檢測(cè)模塊輸出至多路選擇器;多路選擇器根據(jù)異常檢測(cè)模塊的輸出信息,從取指級(jí)的指令緩沖存儲(chǔ)器輸出或快速響應(yīng)模塊的輸出選擇其中之一,輸出給譯碼級(jí)。所述的流水級(jí)間寄存器所輸出的異常標(biāo)識(shí)信號(hào)輸出至多輸入或門(mén)相或,然后輸出至異常檢測(cè)模塊;當(dāng)異常檢測(cè)模塊輸出無(wú)效時(shí),多路選擇器選來(lái)自主存或者指令緩沖存儲(chǔ)器的輸出至譯碼級(jí),同時(shí)置停止取指信號(hào)無(wú)效,繼續(xù)從指令緩沖存儲(chǔ)器或者主存取指令;當(dāng)異常檢測(cè)模塊輸出有效時(shí),多路選擇器選擇快速響應(yīng)模塊給出的單周期指令至譯碼級(jí),同時(shí)異常檢測(cè)模塊置停止取指標(biāo)志信號(hào)有效,停止向指令緩沖存儲(chǔ)器或者主存請(qǐng)求指令,待產(chǎn)生異常的指令徹底流出流水線處理器時(shí),處理器恢復(fù)正常取指。所述的異常標(biāo)志寄存器均為帶使能端的一位寄存器,異常標(biāo)志寄存器的使能端有效時(shí),才能夠寄存數(shù)據(jù)。所述的多輸入或門(mén)輸入的個(gè)數(shù)隨著處理器流水級(jí)數(shù)的增加而增加。所述的快速響應(yīng)模塊在精確異常發(fā)生時(shí),提供一個(gè)單周期指令輸出至多路選擇器;所述的單周期指令為處理器指令集內(nèi)的任意單周期指令。所述的指令緩沖存儲(chǔ)器的輸出指令與PC值相對(duì)應(yīng),該指令來(lái)自指令緩沖存儲(chǔ)器或者主存。所述的異常檢測(cè)模塊輸出停止取指標(biāo)志信號(hào)和指令選擇信號(hào),分別連接至指令緩沖存儲(chǔ)器和多路選擇器;當(dāng)停止取指標(biāo)志信號(hào)有效時(shí),則流水線中出現(xiàn)異常,停止向指令緩沖存儲(chǔ)器繼續(xù)取指;指令緩沖存儲(chǔ)器檢測(cè)到停止取指標(biāo)志信號(hào)有效時(shí),置處理器的流水使能信號(hào)有效;當(dāng)指令選擇信號(hào)有效時(shí)控制多路選擇器輸出快速響應(yīng)模塊的輸出指令至譯碼級(jí)。所述的流水使能信號(hào)連接至異常標(biāo)志寄存器的使能端。與現(xiàn)有技術(shù)相比,本實(shí)用新型具有以下有益的技術(shù)效果:本實(shí)用新型提供的單發(fā)射流水線處理器,通過(guò)提前檢測(cè)陷阱標(biāo)志位,在流水線處理器取指級(jí)IF內(nèi)增加異常標(biāo)志位檢測(cè)和快速響應(yīng)兩個(gè)模塊,將各流水級(jí)之間的寄存器組中的異常標(biāo)志位相或之后送到異常標(biāo)志位檢測(cè)模塊,一旦異常標(biāo)志位檢測(cè)模塊檢測(cè)到流水線中任何一級(jí)出現(xiàn)異常,將控制取指級(jí)IF停止向主存取指令的動(dòng)作,從快速響應(yīng)模塊中取出一條單周期指令送至下一個(gè)流水級(jí)(一般情況下為譯碼級(jí)ID),由于這些后續(xù)指令不會(huì)有效執(zhí)行,因此返回的指令類型不會(huì)對(duì)處理器有影響;直到發(fā)生異常的指令完全流出各級(jí)流水線,那么異常標(biāo)志位才會(huì)無(wú)效,屆時(shí)異常標(biāo)志位檢測(cè)模塊控制取指級(jí)IF恢復(fù)從主存取指,繼而處理器轉(zhuǎn)到異常服務(wù)程序中繼續(xù)運(yùn)行。由于精確異常發(fā)生后,其后的多條指令均為無(wú)效指令,即使不從主存中取得與PC相互對(duì)應(yīng)的指令,而直接采用快速響應(yīng)模塊提供的指令也不會(huì)引起任何異常后果。本實(shí)用新型提供的單發(fā)射流水線處理器,適用于單發(fā)射流水線處理器的高效率精確異常處理,可以大大提高精確異常發(fā)生時(shí)的取指效率,杜絕精確異常發(fā)生時(shí)再次發(fā)生取指令異常的情況,在一定程度提高嵌入式處理器的性能。
圖1為單發(fā)射五級(jí)流水線處理器結(jié)構(gòu)示意圖;圖2為嵌入式處理器精確異常的產(chǎn)生及處理流程圖;圖3為單發(fā)射五級(jí)流水線精確異常的具體處理示意圖;圖4為當(dāng)前單發(fā)射五級(jí)流水線處理器指令廢除示意圖;圖5為本實(shí)用新型的單發(fā)射流水線處理器示意圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本實(shí)用新型做進(jìn)一步詳細(xì)描述:[0033]參見(jiàn)圖5,一種單發(fā)射五級(jí)流水處理器,包含取指級(jí)IF、譯碼級(jí)ID、執(zhí)行級(jí)EX、存儲(chǔ)器訪問(wèn)級(jí)M、寫(xiě)回級(jí)WR五個(gè)部分,其中譯碼級(jí)ID、執(zhí)行級(jí)EX、存儲(chǔ)器訪問(wèn)級(jí)M、寫(xiě)回級(jí)WR四個(gè)流失段的控制邏輯保持不變;在譯碼級(jí)、執(zhí)行級(jí)、存儲(chǔ)器訪問(wèn)級(jí)和寫(xiě)回級(jí)相鄰兩級(jí)之間均設(shè)有異常標(biāo)志寄存器;在取指級(jí)中增設(shè)異常檢測(cè)模塊516、多輸入或門(mén)514、多路選擇器515和快速響應(yīng)模塊517 ;流水級(jí)間寄存器523、524、525分別輸出執(zhí)行級(jí)異常標(biāo)識(shí)信號(hào)、存儲(chǔ)器訪問(wèn)級(jí)異常標(biāo)識(shí)信號(hào)、寫(xiě)回級(jí)異常標(biāo)識(shí)信號(hào)至多輸入或門(mén)514相或,然后輸出至取指級(jí)的異常檢測(cè)模塊516 ;多輸入或門(mén)514輸出至異常檢測(cè)模塊516,異常檢測(cè)模塊516輸出至多路選擇器515 ;多路選擇器515根據(jù)異常檢測(cè)模塊516的輸出信息,從取指級(jí)的指令緩沖存儲(chǔ)器(指令cache)輸出或快速響應(yīng)模塊517的輸出選擇其中之一,輸出給譯碼級(jí)。異常檢測(cè)模塊516根據(jù)多輸入或門(mén)514的輸出結(jié)果,生成指令選擇信號(hào)和停止取指信號(hào);當(dāng)多輸入或門(mén)514的輸出結(jié)果無(wú)效時(shí)(輸出為0),則生成指令選擇信號(hào)輸出給多路選擇器,多路選擇器選擇與指令地址對(duì)應(yīng)的來(lái)自主存或者指令緩沖存儲(chǔ)器529的輸出至下一流水級(jí)ID,同時(shí)置停止取指信號(hào)無(wú)效,繼續(xù)從指令緩沖存儲(chǔ)器529或者主存取指令;當(dāng)多輸入或門(mén)514的輸出結(jié)果有效時(shí),則生成指令選擇信號(hào)輸出給多路選擇器515后,多路選擇器515選擇快速響應(yīng)模塊517中給出的單周期指令(具體采用nop指令)至下一流水級(jí)ID,同時(shí)異常檢測(cè)模塊516置停止取指標(biāo)志信號(hào)521有效,停止向主存指令緩沖存儲(chǔ)器或者主存529請(qǐng)求指令;待產(chǎn)生異常的指令徹底流出流水線時(shí),處理器恢復(fù)正常取指,其它各級(jí)流水線中關(guān)于異常的處理均保持不變。下面對(duì)各模塊進(jìn)一步詳細(xì)的說(shuō)明:所述異常標(biāo)志寄存器均為帶使能端的一位寄存器,寄存器使能端有效時(shí),才可以寄存數(shù)據(jù)。異常標(biāo)志寄存器寄存當(dāng)前流水級(jí)的異常標(biāo)志位,將異常標(biāo)志位輸出連接至多輸入或門(mén)。所述的多輸入或門(mén)514的入為異常標(biāo)志寄存器的輸出,其輸出連接至異常檢測(cè)模塊516。多輸入或門(mén)輸入的個(gè)數(shù)隨著處理器流水級(jí)數(shù)的增加而增加,其輸入的計(jì)算公式為:Sin=N-2,其中N為處理器流水級(jí)數(shù),Sin為多輸入或門(mén)的輸入個(gè)數(shù);所述的快速響應(yīng)模塊517,在精確異常發(fā)生時(shí),為處理器提供一個(gè)單周期指令,其輸出連接至多路選擇器的輸入。所述的單周期指令為處理器指令集內(nèi)的任意單周期指令,建議使用空指令(如SPARC V8體系結(jié)構(gòu)的處理器可使用nop指令)。所述的多路選擇器515,其兩個(gè)輸入分別為快速響應(yīng)模塊517的輸出和指令緩沖存儲(chǔ)器的輸出,多路選擇器在異常檢測(cè)模塊516的輸出指令選擇信號(hào)518控制下,將兩個(gè)輸入的其中之一送至處理器譯碼級(jí)ID。所述的指令緩沖存儲(chǔ)器的輸出指與PC值對(duì)應(yīng)的指令,該指令可能來(lái)自指令緩沖存儲(chǔ)器或者主存,異常發(fā)生時(shí),一般來(lái)自主存。所述異常檢測(cè)模塊516,其輸入來(lái)自多輸入或門(mén)514的輸出,該模塊的輸入的輸出停止取指標(biāo)志信號(hào)和指令選擇信號(hào),分別連接至指令緩沖存儲(chǔ)器和多路選擇器515 ;該模塊提前檢測(cè)流水線中出現(xiàn)的異常標(biāo)志信號(hào),當(dāng)異常標(biāo)志信號(hào)出現(xiàn)時(shí),停止向主存繼續(xù)取指令,用快速響應(yīng)模塊517作為主存指令輸出,供處理器譯碼ID級(jí)使用。所述的停止取指標(biāo)志信號(hào),該信號(hào)為異常檢測(cè)模塊516的輸出,連接至指令緩沖存儲(chǔ)器。當(dāng)其有效時(shí),說(shuō)明流水線中出現(xiàn)異常,處理器停止向指令緩沖存儲(chǔ)器繼續(xù)取指,指令緩沖存儲(chǔ)器檢測(cè)到該信號(hào)有效時(shí),會(huì)置處理器的流水使能信號(hào)有效。而流水使能信號(hào)連接至異常標(biāo)志寄存器的使能端。所述的指令選擇信號(hào),控制多路選擇輸出適當(dāng)?shù)闹噶罱o流水線ID級(jí)。本實(shí)用新型所提供的單發(fā)射五級(jí)流水處理器,使單發(fā)射流水線處理器在精確異常發(fā)生時(shí)停止向主存繼續(xù)請(qǐng)求指令,而以快速響應(yīng)模塊中提供的單周期指令取代需要被廢除的指令,在硬件開(kāi)銷增加極少的情況下,大幅度提高了精確異常發(fā)生時(shí)的處理效率。
權(quán)利要求1.一種單發(fā)射流水線處理器,包括取指級(jí)、譯碼級(jí)、執(zhí)行級(jí)、存儲(chǔ)器訪問(wèn)級(jí)和寫(xiě)回級(jí),其特征在于,在譯碼級(jí)、執(zhí)行級(jí)、存儲(chǔ)器訪問(wèn)級(jí)和寫(xiě)回級(jí)相鄰兩級(jí)之間均設(shè)有異常標(biāo)志寄存器;在取指級(jí)中增設(shè)異常檢測(cè)模塊(516)、多輸入或門(mén)(514)、多路選擇器(515)和快速響應(yīng)模塊(517); 流水級(jí)間寄存器分別輸出執(zhí)行級(jí)異常標(biāo)識(shí)信號(hào)、存儲(chǔ)器訪問(wèn)級(jí)異常標(biāo)識(shí)信號(hào)、寫(xiě)回級(jí)異常標(biāo)識(shí)信號(hào)至多輸入或門(mén)(514)相或;多輸入或門(mén)(514)輸出至異常檢測(cè)模塊(516),異常檢測(cè)模塊(516)輸出至多路選擇器(515);多路選擇器(515)根據(jù)異常檢測(cè)模塊(516)的輸出信息,從取指級(jí)的指令緩沖存儲(chǔ)器(529)輸出或快速響應(yīng)模塊(517)的輸出選擇其中之一,輸出給譯碼級(jí)。
2.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,流水級(jí)間寄存器所輸出的異常標(biāo)識(shí)信號(hào)輸出至多輸入或門(mén)(514)相或,然后輸出至異常檢測(cè)模塊(516); 當(dāng)異常檢測(cè)模塊(516)輸出無(wú)效時(shí),多路選擇器(515)選來(lái)自主存或者指令緩沖存儲(chǔ)器(529)的輸出至譯碼級(jí),同時(shí)置停止取指信號(hào)無(wú)效,繼續(xù)從指令緩沖存儲(chǔ)器(529)或者主存取指令; 當(dāng)異常檢測(cè)模塊(516)輸出有效時(shí),多路選擇器(515)選擇快速響應(yīng)模塊(517 )給出的單周期指令至譯碼級(jí),同時(shí)異常檢測(cè)模塊(516)置停止取指標(biāo)志信號(hào)有效,停止向指令緩沖存儲(chǔ)器(529)或者主存請(qǐng)求指令,待產(chǎn)生異常的指令徹底流出流水線處理器時(shí),處理器恢復(fù)正常取指。
3.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,所述的異常標(biāo)志寄存器均為帶使能端的一位寄存器,異常標(biāo)志寄存器的使能端有效時(shí),才能夠寄存數(shù)據(jù)。
4.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,所述的多輸入或門(mén)(514)輸入的個(gè)數(shù)隨著處理器流水級(jí)數(shù)的增加而增加。
5.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,所述的快速響應(yīng)模塊(517)在精確異常發(fā)生時(shí),提供一個(gè)單周期指令輸出至多路選擇器(515);所述的單周期指令為處理器指令集內(nèi)的任意單周期指令。
6.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,所述的指令緩沖存儲(chǔ)器的輸出指令與PC值相對(duì)應(yīng),該指令來(lái)自指令緩沖存儲(chǔ)器(529 )或者主存。
7.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,所述的異常檢測(cè)模塊(516)輸出停止取指標(biāo)志信號(hào)和指令選擇信號(hào),分別連接至指令緩沖存儲(chǔ)器(529)和多路選擇器(515); 當(dāng)停止取指標(biāo)志信號(hào)有效時(shí),則流水線中出現(xiàn)異常,停止向指令緩沖存儲(chǔ)器(529)繼續(xù)取指;指令緩沖存儲(chǔ)器(529)檢測(cè)到停止取指標(biāo)志信號(hào)有效時(shí),置處理器的流水使能信號(hào)有效; 當(dāng)指令選擇信號(hào)有效時(shí)控制多路選擇器(515)輸出快速響應(yīng)模塊(517)的輸出指令至譯碼級(jí)。
8.如權(quán)利要求7所述的單發(fā)射流水線處理器,其特征在于,所述的流水使能信號(hào)連接至異常標(biāo)志寄存器的使能端。
專利摘要本實(shí)用新型公開(kāi)了一種單發(fā)射流水線處理器,包括取指級(jí)、譯碼級(jí)、執(zhí)行級(jí)、存儲(chǔ)器訪問(wèn)級(jí)和寫(xiě)回級(jí),其特征在于,在譯碼級(jí)、執(zhí)行級(jí)、存儲(chǔ)器訪問(wèn)級(jí)和寫(xiě)回級(jí)相鄰兩級(jí)之間均設(shè)有異常標(biāo)志寄存器;在取指級(jí)中增設(shè)異常檢測(cè)模塊、多輸入或門(mén)、多路選擇器和快速響應(yīng)模塊。本實(shí)用新型適用于單發(fā)射流水線處理器的高效率精確異常處理,可以大大提高精確異常發(fā)生時(shí)的取指效率,杜絕精確異常發(fā)生時(shí)再次發(fā)生取指令異常的情況,在一定程度提高嵌入式處理器的性能。
文檔編號(hào)G06F11/07GK203164952SQ201320150240
公開(kāi)日2013年8月28日 申請(qǐng)日期2013年3月28日 優(yōu)先權(quán)日2013年3月28日
發(fā)明者陳慶宇, 盛廷義, 段青亞, 吳龍勝 申請(qǐng)人:中國(guó)航天科技集團(tuán)公司第九研究院第七七一研究所