欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種單發(fā)射流水線處理器的制作方法

文檔序號:6404859閱讀:315來源:國知局
專利名稱:一種單發(fā)射流水線處理器的制作方法
技術(shù)領(lǐng)域
本實用新型屬于處理器技術(shù)領(lǐng)域,涉及一種單發(fā)射流水線處理器。
背景技術(shù)
開發(fā)指令級并行是提高處理器性能的關(guān)鍵技術(shù)。目前主要通過深度流水和指令多發(fā)射等方式提高指令并行度,其中指令多發(fā)射技術(shù)對軟硬件要求較高,從可靠性的應(yīng)用角度出發(fā),嵌入式處理器多采用單發(fā)射的多級流水線處理器。相對于多發(fā)射處理器而言,單發(fā)射處理器的主要特征為每次啟動一條指令進入流水線。單發(fā)射五級流水線處理器結(jié)構(gòu)如圖1中100所示,100共包括取指級IF、譯碼級ID、執(zhí)行級EX、存儲器訪問級M和寫回級WR五級流水,各流水級包含各自的邏輯,各流水級之間以寄存器組101、102、103、104、105相隔,指令inst和指令地址PC隨著流水線的推進依次向WR級推進,即每一級的PC和inst均唯一對應(yīng)。處理器正常運行模式下,如果取指命中,IF從指令cache中取得指令,如果不命中,IF從主存中取指令并更新至指令cache,指令在IF的最后一個時鐘周期指令并且有效鎖存至寄存器,ID進行指令譯碼并取源操作數(shù)同時產(chǎn)生CALL和分支轉(zhuǎn)移指令的目標(biāo)地址,EX主要根據(jù)ID的譯碼信息及源操作數(shù)進行算術(shù)、邏輯運算并產(chǎn)生JMPL/RETT的跳轉(zhuǎn)地址,M主要負(fù)責(zé)訪問數(shù)據(jù)存儲體,WR將前面各級的運算結(jié)果寫回寄存器文件106并改變處理器狀態(tài)。流水線技術(shù)在顯著提高處理器性能的同時,引入了一些問題,如同一時刻有多條指令在不同的指令流水級、一條指令要經(jīng)過多個流水級才改變處理器狀態(tài)等,這些問題使處理器的精確控制,尤其是精確異常的控制更為復(fù)雜。所謂的異常指除分支指令以外改變正常指令執(zhí)行順序的事件,它或者由一條指令引起(如未定義指令)、或者由外部中斷引起(如I/o設(shè)備請求),其中精確異常指由一條具體指令引起的異常,以SPARC V8體系架構(gòu)的處理器為例,其精確陷阱的定義為:精確異常由一條具體的指令引起,并且處理器狀態(tài)未被引起異常的指令改變,精確異常的處理需滿足以下條件:(I)將引發(fā)異常的指令的地址PC和下一條指令的地址NPC保存在本地寄存器;(2)引發(fā)異常的指令之前的指令已經(jīng)完全的執(zhí)行;(3)引發(fā)異常的指令之后的指令都沒有執(zhí)行。由上述定義可知,假設(shè)A指令產(chǎn)生精確異常,那么處理器必須保證A之前的指令執(zhí)行完畢,A之后的指令沒有執(zhí)行,或者說A之后的指令必須為無效執(zhí)行(即雖然執(zhí)行但是執(zhí)行的結(jié)果不會改變處理器狀態(tài),執(zhí)行的結(jié)果不會寫寄存器文件106)。圖2中200描述了某款嵌入式處理器所有精確異常的產(chǎn)生及處理流程,對于WR之前的異常,會經(jīng)過異常優(yōu)先級排列邏輯204產(chǎn)生優(yōu)先級最高的異常,并將優(yōu)先級最高異常的信息(如異常類型)和異常標(biāo)志位存在寄存器組205、206、207、208中的有關(guān)寄存器中,然后在流水線中傳遞異常的信息,直到WR級會檢測由寄存器組208傳遞而來的異常標(biāo)志位是否有效,如果異常標(biāo)志位有效,那么將指令的PC值寫進寄存器文件201的同時將異常的信息寫入處理器相關(guān)寄存器202。從上面的分析知:在一條引起異常的指令B到達WR之前,取指級IF并不知情,IF會花費大量的時鐘周期從主存中取指令,但是這些后續(xù)指令實際上是必須被廢除、不能被執(zhí)行的無效指令。這樣導(dǎo)致付出極大時間代價取來的指令是不會被執(zhí)行的指令,顯然這種情況不合理。圖3中300將100和200結(jié)合在一起進行進一步的闡述。如300所示,多路選擇器307根據(jù)各流水級內(nèi)的標(biāo)志信號選擇下一條指令地址NPC的值,如果無任何特殊指令,那么NPC為PC值順序加一,如果處理器執(zhí)行的轉(zhuǎn)移指令,處理器會根據(jù)轉(zhuǎn)移指令的類型選擇NPC, NPC可能為ID段生成call/branch指令的地址308或者為由JMPL/RETT指令的地址309。如果307檢測到WR級的異常標(biāo)志位有效,那么NPC就選擇WR級生成的異常轉(zhuǎn)移地址301,同時多路選擇器302將寫回級WR中的指令地址PC寫入寄存器文件303。通過上面的分析可知,目前的單發(fā)射流水線嵌入式處理器在執(zhí)行指令過程中,如果指令A(yù)發(fā)生異常,那么指令A(yù)的后續(xù)指令A(yù)+1、A+2等在指令A(yù)達到寫回級WR之前會被正常從主存中取出,這種機制存在以后弊端:浪費大量的時間取回來的指令是無效指令,所謂無效指令即不被執(zhí)行或者即使執(zhí)行也不對處理器狀態(tài)有任何影響。通過圖4說明目前的單發(fā)射流水線嵌入式處理器如何保證A的后續(xù)指令Α+1、Α+2等的無效執(zhí)行。假設(shè)第二條指令A(yù)弓丨起精確異常,待第二條指令達到WR級之后,WR級的有關(guān)邏輯會檢測其異常標(biāo)志信號,如果其異常標(biāo)志信號有效,那么WR級會生成annul_all信號,該信號會被各流水級檢測,并被保存進入流水級之間的寄存器組,如果流水級之間的寄存器組中的廢除信號有效,那么對應(yīng)指令將不會引起流水內(nèi)的邏輯變化,這樣就保證annul_all信號會將其后的四條指令廢除,即其后四條指令的執(zhí)行不再改變處理器的狀態(tài)。綜上述,目前的單發(fā)射流水線嵌入式處理器在精確異常發(fā)生時,會花費大量的時鐘周期去主存取若干條根本不會被有效執(zhí)行的指令,當(dāng)前的這種精確異常處理方法效率較低,一定程度上影響了嵌入式處理器的性能。

實用新型內(nèi)容
本實用新型解決的技術(shù)問題在于一種單發(fā)射流水線處理器,提高精確異常發(fā)生時的取指效率,杜絕精確異常發(fā)生時再次發(fā)生取指令異常的情況,在一定程度提高嵌入式處理器的性能。本實用新型是通過以下技術(shù)方案來實現(xiàn):一種單發(fā)射流水線處理器,包括取指級、譯碼級、執(zhí)行級、存儲器訪問級和寫回級,在譯碼級、執(zhí)行級、存儲器訪問級和寫回級相鄰兩級之間均設(shè)有異常標(biāo)志寄存器;在取指級中增設(shè)異常檢測模塊、多輸入或門、多路選擇器和快速響應(yīng)模塊;流水級間寄存器分別輸出執(zhí)行級異常標(biāo)識信號、存儲器訪問級異常標(biāo)識信號、寫回級異常標(biāo)識信號至多輸入或門相或;多輸入或門輸出至異常檢測模塊異常檢測模塊輸出至多路選擇器;多路選擇器根據(jù)異常檢測模塊的輸出信息,從取指級的指令緩沖存儲器輸出或快速響應(yīng)模塊的輸出選擇其中之一,輸出給譯碼級。所述的流水級間寄存器所輸出的異常標(biāo)識信號輸出至多輸入或門相或,然后輸出至異常檢測模塊;當(dāng)異常檢測模塊輸出無效時,多路選擇器選來自主存或者指令緩沖存儲器的輸出至譯碼級,同時置停止取指信號無效,繼續(xù)從指令緩沖存儲器或者主存取指令;當(dāng)異常檢測模塊輸出有效時,多路選擇器選擇快速響應(yīng)模塊給出的單周期指令至譯碼級,同時異常檢測模塊置停止取指標(biāo)志信號有效,停止向指令緩沖存儲器或者主存請求指令,待產(chǎn)生異常的指令徹底流出流水線處理器時,處理器恢復(fù)正常取指。所述的異常標(biāo)志寄存器均為帶使能端的一位寄存器,異常標(biāo)志寄存器的使能端有效時,才能夠寄存數(shù)據(jù)。所述的多輸入或門輸入的個數(shù)隨著處理器流水級數(shù)的增加而增加。所述的快速響應(yīng)模塊在精確異常發(fā)生時,提供一個單周期指令輸出至多路選擇器;所述的單周期指令為處理器指令集內(nèi)的任意單周期指令。所述的指令緩沖存儲器的輸出指令與PC值相對應(yīng),該指令來自指令緩沖存儲器或者主存。所述的異常檢測模塊輸出停止取指標(biāo)志信號和指令選擇信號,分別連接至指令緩沖存儲器和多路選擇器;當(dāng)停止取指標(biāo)志信號有效時,則流水線中出現(xiàn)異常,停止向指令緩沖存儲器繼續(xù)取指;指令緩沖存儲器檢測到停止取指標(biāo)志信號有效時,置處理器的流水使能信號有效;當(dāng)指令選擇信號有效時控制多路選擇器輸出快速響應(yīng)模塊的輸出指令至譯碼級。所述的流水使能信號連接至異常標(biāo)志寄存器的使能端。與現(xiàn)有技術(shù)相比,本實用新型具有以下有益的技術(shù)效果:本實用新型提供的單發(fā)射流水線處理器,通過提前檢測陷阱標(biāo)志位,在流水線處理器取指級IF內(nèi)增加異常標(biāo)志位檢測和快速響應(yīng)兩個模塊,將各流水級之間的寄存器組中的異常標(biāo)志位相或之后送到異常標(biāo)志位檢測模塊,一旦異常標(biāo)志位檢測模塊檢測到流水線中任何一級出現(xiàn)異常,將控制取指級IF停止向主存取指令的動作,從快速響應(yīng)模塊中取出一條單周期指令送至下一個流水級(一般情況下為譯碼級ID),由于這些后續(xù)指令不會有效執(zhí)行,因此返回的指令類型不會對處理器有影響;直到發(fā)生異常的指令完全流出各級流水線,那么異常標(biāo)志位才會無效,屆時異常標(biāo)志位檢測模塊控制取指級IF恢復(fù)從主存取指,繼而處理器轉(zhuǎn)到異常服務(wù)程序中繼續(xù)運行。由于精確異常發(fā)生后,其后的多條指令均為無效指令,即使不從主存中取得與PC相互對應(yīng)的指令,而直接采用快速響應(yīng)模塊提供的指令也不會引起任何異常后果。本實用新型提供的單發(fā)射流水線處理器,適用于單發(fā)射流水線處理器的高效率精確異常處理,可以大大提高精確異常發(fā)生時的取指效率,杜絕精確異常發(fā)生時再次發(fā)生取指令異常的情況,在一定程度提高嵌入式處理器的性能。

圖1為單發(fā)射五級流水線處理器結(jié)構(gòu)示意圖;圖2為嵌入式處理器精確異常的產(chǎn)生及處理流程圖;圖3為單發(fā)射五級流水線精確異常的具體處理示意圖;圖4為當(dāng)前單發(fā)射五級流水線處理器指令廢除示意圖;圖5為本實用新型的單發(fā)射流水線處理器示意圖。
具體實施方式
以下結(jié)合附圖對本實用新型做進一步詳細(xì)描述:[0033]參見圖5,一種單發(fā)射五級流水處理器,包含取指級IF、譯碼級ID、執(zhí)行級EX、存儲器訪問級M、寫回級WR五個部分,其中譯碼級ID、執(zhí)行級EX、存儲器訪問級M、寫回級WR四個流失段的控制邏輯保持不變;在譯碼級、執(zhí)行級、存儲器訪問級和寫回級相鄰兩級之間均設(shè)有異常標(biāo)志寄存器;在取指級中增設(shè)異常檢測模塊516、多輸入或門514、多路選擇器515和快速響應(yīng)模塊517 ;流水級間寄存器523、524、525分別輸出執(zhí)行級異常標(biāo)識信號、存儲器訪問級異常標(biāo)識信號、寫回級異常標(biāo)識信號至多輸入或門514相或,然后輸出至取指級的異常檢測模塊516 ;多輸入或門514輸出至異常檢測模塊516,異常檢測模塊516輸出至多路選擇器515 ;多路選擇器515根據(jù)異常檢測模塊516的輸出信息,從取指級的指令緩沖存儲器(指令cache)輸出或快速響應(yīng)模塊517的輸出選擇其中之一,輸出給譯碼級。異常檢測模塊516根據(jù)多輸入或門514的輸出結(jié)果,生成指令選擇信號和停止取指信號;當(dāng)多輸入或門514的輸出結(jié)果無效時(輸出為0),則生成指令選擇信號輸出給多路選擇器,多路選擇器選擇與指令地址對應(yīng)的來自主存或者指令緩沖存儲器529的輸出至下一流水級ID,同時置停止取指信號無效,繼續(xù)從指令緩沖存儲器529或者主存取指令;當(dāng)多輸入或門514的輸出結(jié)果有效時,則生成指令選擇信號輸出給多路選擇器515后,多路選擇器515選擇快速響應(yīng)模塊517中給出的單周期指令(具體采用nop指令)至下一流水級ID,同時異常檢測模塊516置停止取指標(biāo)志信號521有效,停止向主存指令緩沖存儲器或者主存529請求指令;待產(chǎn)生異常的指令徹底流出流水線時,處理器恢復(fù)正常取指,其它各級流水線中關(guān)于異常的處理均保持不變。下面對各模塊進一步詳細(xì)的說明:所述異常標(biāo)志寄存器均為帶使能端的一位寄存器,寄存器使能端有效時,才可以寄存數(shù)據(jù)。異常標(biāo)志寄存器寄存當(dāng)前流水級的異常標(biāo)志位,將異常標(biāo)志位輸出連接至多輸入或門。所述的多輸入或門514的入為異常標(biāo)志寄存器的輸出,其輸出連接至異常檢測模塊516。多輸入或門輸入的個數(shù)隨著處理器流水級數(shù)的增加而增加,其輸入的計算公式為:Sin=N-2,其中N為處理器流水級數(shù),Sin為多輸入或門的輸入個數(shù);所述的快速響應(yīng)模塊517,在精確異常發(fā)生時,為處理器提供一個單周期指令,其輸出連接至多路選擇器的輸入。所述的單周期指令為處理器指令集內(nèi)的任意單周期指令,建議使用空指令(如SPARC V8體系結(jié)構(gòu)的處理器可使用nop指令)。所述的多路選擇器515,其兩個輸入分別為快速響應(yīng)模塊517的輸出和指令緩沖存儲器的輸出,多路選擇器在異常檢測模塊516的輸出指令選擇信號518控制下,將兩個輸入的其中之一送至處理器譯碼級ID。所述的指令緩沖存儲器的輸出指與PC值對應(yīng)的指令,該指令可能來自指令緩沖存儲器或者主存,異常發(fā)生時,一般來自主存。所述異常檢測模塊516,其輸入來自多輸入或門514的輸出,該模塊的輸入的輸出停止取指標(biāo)志信號和指令選擇信號,分別連接至指令緩沖存儲器和多路選擇器515 ;該模塊提前檢測流水線中出現(xiàn)的異常標(biāo)志信號,當(dāng)異常標(biāo)志信號出現(xiàn)時,停止向主存繼續(xù)取指令,用快速響應(yīng)模塊517作為主存指令輸出,供處理器譯碼ID級使用。所述的停止取指標(biāo)志信號,該信號為異常檢測模塊516的輸出,連接至指令緩沖存儲器。當(dāng)其有效時,說明流水線中出現(xiàn)異常,處理器停止向指令緩沖存儲器繼續(xù)取指,指令緩沖存儲器檢測到該信號有效時,會置處理器的流水使能信號有效。而流水使能信號連接至異常標(biāo)志寄存器的使能端。所述的指令選擇信號,控制多路選擇輸出適當(dāng)?shù)闹噶罱o流水線ID級。本實用新型所提供的單發(fā)射五級流水處理器,使單發(fā)射流水線處理器在精確異常發(fā)生時停止向主存繼續(xù)請求指令,而以快速響應(yīng)模塊中提供的單周期指令取代需要被廢除的指令,在硬件開銷增加極少的情況下,大幅度提高了精確異常發(fā)生時的處理效率。
權(quán)利要求1.一種單發(fā)射流水線處理器,包括取指級、譯碼級、執(zhí)行級、存儲器訪問級和寫回級,其特征在于,在譯碼級、執(zhí)行級、存儲器訪問級和寫回級相鄰兩級之間均設(shè)有異常標(biāo)志寄存器;在取指級中增設(shè)異常檢測模塊(516)、多輸入或門(514)、多路選擇器(515)和快速響應(yīng)模塊(517); 流水級間寄存器分別輸出執(zhí)行級異常標(biāo)識信號、存儲器訪問級異常標(biāo)識信號、寫回級異常標(biāo)識信號至多輸入或門(514)相或;多輸入或門(514)輸出至異常檢測模塊(516),異常檢測模塊(516)輸出至多路選擇器(515);多路選擇器(515)根據(jù)異常檢測模塊(516)的輸出信息,從取指級的指令緩沖存儲器(529)輸出或快速響應(yīng)模塊(517)的輸出選擇其中之一,輸出給譯碼級。
2.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,流水級間寄存器所輸出的異常標(biāo)識信號輸出至多輸入或門(514)相或,然后輸出至異常檢測模塊(516); 當(dāng)異常檢測模塊(516)輸出無效時,多路選擇器(515)選來自主存或者指令緩沖存儲器(529)的輸出至譯碼級,同時置停止取指信號無效,繼續(xù)從指令緩沖存儲器(529)或者主存取指令; 當(dāng)異常檢測模塊(516)輸出有效時,多路選擇器(515)選擇快速響應(yīng)模塊(517 )給出的單周期指令至譯碼級,同時異常檢測模塊(516)置停止取指標(biāo)志信號有效,停止向指令緩沖存儲器(529)或者主存請求指令,待產(chǎn)生異常的指令徹底流出流水線處理器時,處理器恢復(fù)正常取指。
3.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,所述的異常標(biāo)志寄存器均為帶使能端的一位寄存器,異常標(biāo)志寄存器的使能端有效時,才能夠寄存數(shù)據(jù)。
4.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,所述的多輸入或門(514)輸入的個數(shù)隨著處理器流水級數(shù)的增加而增加。
5.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,所述的快速響應(yīng)模塊(517)在精確異常發(fā)生時,提供一個單周期指令輸出至多路選擇器(515);所述的單周期指令為處理器指令集內(nèi)的任意單周期指令。
6.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,所述的指令緩沖存儲器的輸出指令與PC值相對應(yīng),該指令來自指令緩沖存儲器(529 )或者主存。
7.如權(quán)利要求1所述的單發(fā)射流水線處理器,其特征在于,所述的異常檢測模塊(516)輸出停止取指標(biāo)志信號和指令選擇信號,分別連接至指令緩沖存儲器(529)和多路選擇器(515); 當(dāng)停止取指標(biāo)志信號有效時,則流水線中出現(xiàn)異常,停止向指令緩沖存儲器(529)繼續(xù)取指;指令緩沖存儲器(529)檢測到停止取指標(biāo)志信號有效時,置處理器的流水使能信號有效; 當(dāng)指令選擇信號有效時控制多路選擇器(515)輸出快速響應(yīng)模塊(517)的輸出指令至譯碼級。
8.如權(quán)利要求7所述的單發(fā)射流水線處理器,其特征在于,所述的流水使能信號連接至異常標(biāo)志寄存器的使能端。
專利摘要本實用新型公開了一種單發(fā)射流水線處理器,包括取指級、譯碼級、執(zhí)行級、存儲器訪問級和寫回級,其特征在于,在譯碼級、執(zhí)行級、存儲器訪問級和寫回級相鄰兩級之間均設(shè)有異常標(biāo)志寄存器;在取指級中增設(shè)異常檢測模塊、多輸入或門、多路選擇器和快速響應(yīng)模塊。本實用新型適用于單發(fā)射流水線處理器的高效率精確異常處理,可以大大提高精確異常發(fā)生時的取指效率,杜絕精確異常發(fā)生時再次發(fā)生取指令異常的情況,在一定程度提高嵌入式處理器的性能。
文檔編號G06F11/07GK203164952SQ201320150240
公開日2013年8月28日 申請日期2013年3月28日 優(yōu)先權(quán)日2013年3月28日
發(fā)明者陳慶宇, 盛廷義, 段青亞, 吳龍勝 申請人:中國航天科技集團公司第九研究院第七七一研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
武隆县| 南昌市| 武胜县| 什邡市| 浦江县| 平原县| 洞头县| 东乡族自治县| 宕昌县| 黄冈市| 抚松县| 巴南区| 汽车| 阳高县| 太保市| 年辖:市辖区| 天柱县| 临高县| 松溪县| 信宜市| 绥滨县| 健康| 石阡县| 南安市| 大竹县| 凤山县| 莫力| 微博| 嘉义县| 武陟县| 榆林市| 贵定县| 永修县| 滁州市| 郴州市| 蒙城县| 曲水县| 吉林省| 镶黄旗| 新绛县| 河北区|