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

動(dòng)態(tài)指令相依性監(jiān)視及控制的方法與系統(tǒng)的制作方法

文檔序號(hào):6397340閱讀:129來(lái)源:國(guó)知局
專利名稱:動(dòng)態(tài)指令相依性監(jiān)視及控制的方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明有關(guān)于一種超純量微處理器(super-scalar micro-processor);特別是有關(guān)于一種使用在動(dòng)態(tài)指令相依性監(jiān)視及控制的方法與系統(tǒng)。
背景技術(shù)
為了達(dá)到高性能,超純量微處理器于每一時(shí)鐘周期(clock cycle)可以執(zhí)行多重指令。此外,儲(chǔ)存裝置(例如一暫存器或一陣列)會(huì)根據(jù)時(shí)鐘周期來(lái)擷取儲(chǔ)存值。舉一較佳例子,一儲(chǔ)存裝置在一定義時(shí)鐘周期信號(hào)的上升邊緣(或下降邊緣)時(shí),擷取一儲(chǔ)存值,然后該儲(chǔ)存裝置儲(chǔ)存該值直至該時(shí)鐘信號(hào)下一個(gè)上升邊緣(或下降邊緣)。
雖然指令能夠以不同的階段(stage)被予以處理,一般而言,指令的處理過(guò)程包括擷取指令、譯碼指令、執(zhí)行指令以及儲(chǔ)存該執(zhí)行結(jié)果于該指令之目的指定處。此外,每一指令可以在邏輯電路中以一管線方式處理,此處請(qǐng)參考「指令處理管線(instruction processingpipelines)」。
一超純量微處理器依序接收指令,雖然一編譯器可以由一程序重新編譯該指令的次序,而指令相依性的次序仍需一直被維持。然而,有鑒于指令按順序的執(zhí)行可以保證原始程序的完整性;反之,指令不依序執(zhí)行則有可能會(huì)改變?cè)汲绦蝾A(yù)期的功能。舉例來(lái)說(shuō),假如以下所示的指令不依序執(zhí)行時(shí),就會(huì)發(fā)生一相依性問(wèn)題add r0,s1,s2指令1mul O,s3,r0 指令2
其中,第一個(gè)指令(指令1)將合計(jì)儲(chǔ)存于第一來(lái)源操作數(shù)(sourceoperand)s1及第二來(lái)源操作數(shù)s2的值,并將總和儲(chǔ)存于目的暫存器r0;同時(shí),第二個(gè)指令(指令2)會(huì)將儲(chǔ)存于第三來(lái)源操作數(shù)s3及暫存器r0的值相乘,并將其乘積儲(chǔ)存于一輸出暫存器O。據(jù)此,一來(lái)源操作數(shù)就是被該指令所運(yùn)算的值;而一目的操作數(shù)(destination operand)就是該指令的運(yùn)算結(jié)果。在上述的例子中,指令2請(qǐng)求一來(lái)源操作數(shù)(r0),且其值決定于指令1,因此指令2可以被稱作與指令1具有一相依性(dependency),并且直至指令1被完整執(zhí)行完畢才能被執(zhí)行。在此例中,假如其為五個(gè)時(shí)鐘周期的管線延遲時(shí),則微處理器不能開始執(zhí)行指令2,其必須等到指令1激活后的五個(gè)時(shí)鐘周期后,才能開始執(zhí)行指令2。
一已知的方法可以被用來(lái)解決上述的延遲問(wèn)題,其以一多重執(zhí)行緒(multi-thread)方法來(lái)執(zhí)行該指令。于一實(shí)施例中,運(yùn)用一些單指令多數(shù)據(jù)(single instruction multiplex data;SIMD)微處理器,其中每一單指令多數(shù)據(jù)微處理器被用來(lái)處理相同指令的一特定數(shù)據(jù)流(datastream)。如下所示的例子,使用六個(gè)執(zhí)行緒來(lái)處理指令1及指令2,其用來(lái)解說(shuō)一單指令多數(shù)據(jù)方法,其中假設(shè)其為一五個(gè)周期算術(shù)邏輯單元延遲add str0.r0,str0.s1,str0.s2 數(shù)據(jù)流1add str1.r0,str1.s1,str1.s2 數(shù)據(jù)流2add str2.r0,str2.s1,str2.s2 數(shù)據(jù)流3add str3.r0,str3.s1,str3.s2 數(shù)據(jù)流4add str4.r0,str4.s1,str4.s2 數(shù)據(jù)流5add str5.r0,str5.s1,str5.s2 數(shù)據(jù)流6add str0.O,str0.s3,str0.r0 數(shù)據(jù)流1add str1.O,str1.s3,str1.r0 數(shù)據(jù)流2add str2.O,str2.s3,str2.r0 數(shù)據(jù)流3add str3.O,str3.s3,str3.r0 數(shù)據(jù)流4
addstr4.O,str4.s3,str4.r0數(shù)據(jù)流5addstr5.O,str5.s3,str5.r0數(shù)據(jù)流6如上例所示,六個(gè)數(shù)據(jù)流被用來(lái)處理指令1及指令2。此外,由于暫存器r0的使用,指令2與指令1具有相依性,因此在指令2被開始執(zhí)行前必須等待至少五個(gè)周期直至指令1激活。如上所述的例子,當(dāng)執(zhí)行緒的數(shù)量超過(guò)延遲周期的數(shù)量時(shí),則相依性問(wèn)題不會(huì)產(chǎn)生。然而,算術(shù)邏輯單元(ALU)的延遲在不同的系統(tǒng)可能有其意義,且每一執(zhí)行緒需要額外的硬件來(lái)含括相關(guān)元件如輸入緩沖單元及暫存器,其所增加執(zhí)行緒數(shù)量花費(fèi)較大。

發(fā)明內(nèi)容
因此,本發(fā)明提供一種以動(dòng)態(tài)相依性監(jiān)視及控制的方法與系統(tǒng)。于本發(fā)明的一較佳實(shí)施例中,一些暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線連接至一仲裁器(arbiter),且該仲裁器的一端依次連接至一個(gè)或多個(gè)執(zhí)行緒控制元件,而另一端連接至一算術(shù)邏輯單元。當(dāng)一指令的目的操作數(shù)為一暫存器時(shí),一對(duì)應(yīng)至?xí)捍嫫鞯淖R(shí)別會(huì)被載至?xí)捍嫫髯R(shí)別/執(zhí)行緒控制識(shí)別管線。此外,一對(duì)應(yīng)至一指令的每一來(lái)源操作數(shù)的識(shí)別,會(huì)與儲(chǔ)存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線的識(shí)別加以比較;當(dāng)一來(lái)源操作數(shù)與儲(chǔ)存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線的識(shí)別符合時(shí),則該算術(shù)邏輯單元不會(huì)開始執(zhí)行該指令,直至該識(shí)別不再儲(chǔ)存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線。
為了要解決相依性問(wèn)題,本發(fā)明核對(duì)每一指令的來(lái)源操作數(shù)且重新安排數(shù)據(jù)被執(zhí)行的次序。本發(fā)明通過(guò)維持相依性控制來(lái)減少閘門(gate)的數(shù)量,而無(wú)須運(yùn)用額外的執(zhí)行緒。此外,本發(fā)明中的相依性控制及監(jiān)視系統(tǒng)為動(dòng)態(tài)的,且可以放大使之容納一大范圍算術(shù)邏輯單元的延遲。


本發(fā)明的許多觀點(diǎn)可以參考以下的附圖而更加清楚的了解。相關(guān)的附圖并未依比例繪制,其作用僅在清楚表現(xiàn)本發(fā)明有關(guān)的定理。并且,使用數(shù)字來(lái)表示附圖中相對(duì)應(yīng)的部分。
圖1為根據(jù)本發(fā)明一較佳實(shí)施例的一方塊圖,用以說(shuō)明一指令緩沖單元、一組執(zhí)行緒控制元件、一組比較器、一暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線單元、一仲裁器以及一算術(shù)邏輯單元。
圖2為圖1中暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線單元的詳細(xì)說(shuō)明。
圖3為根據(jù)本發(fā)明一較佳實(shí)施例的一流程圖,用以說(shuō)明一相依性監(jiān)視及控制系統(tǒng)的運(yùn)作步驟。
圖中符號(hào)說(shuō)明101指令緩沖單元103A 執(zhí)行緒控制元件(TC0)103B 執(zhí)行緒控制元件(TC1)103C 執(zhí)行緒控制元件(TC2)107仲裁器108運(yùn)算模式的信號(hào)109A 比較器(Comp0)109B 比較器(Comp1)109C 比較器(Comp2)110信號(hào)111一組輸入數(shù)據(jù)流緩沖單元113一組暫存器緩沖單元115算術(shù)邏輯單元117輸出119輸出200暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線單元201數(shù)據(jù)流
203數(shù)據(jù)流205選擇器207多路復(fù)用器209第一管線211第二管線213第三管線215第四管線217第五管線具體實(shí)施方法本發(fā)明的一些實(shí)施例會(huì)詳細(xì)描述如下。然而,除了詳細(xì)描述外,本發(fā)明還可以廣泛地在其它的實(shí)施例施行,且本發(fā)明的范圍不受限定,其以之后的專利范圍為準(zhǔn)。再者,為提供更清楚的描述及更易理解本發(fā)明,附圖內(nèi)各部分并沒(méi)有依照其相對(duì)尺寸繪圖,某些尺寸與其它相關(guān)尺度相比已經(jīng)被夸張;不相關(guān)的細(xì)節(jié)部分也未完全繪出,以求附圖的簡(jiǎn)潔。
圖1根據(jù)本發(fā)明的相依性監(jiān)視及控制的一較佳實(shí)施例的系統(tǒng)100。系統(tǒng)100包括一指令緩沖單元101、一組執(zhí)行緒控制元件(包含TC0、TC1及TC2,并分別標(biāo)示為103A、103B及103C)、一仲裁器107、一組比較器(包含Comp0、Comp1及Comp2,并分別標(biāo)示為109A、109B及109C)、一暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線單元200、一組輸入數(shù)據(jù)流緩沖單元111(包含三個(gè)輸入數(shù)據(jù)流緩沖器IS0、IS1及IS2)、一組暫時(shí)暫存器緩沖單元113(包含三個(gè)暫時(shí)暫存器緩沖器TR0、TR1及TR2)以及一算術(shù)邏輯單元115。
于圖1中,該系統(tǒng)100說(shuō)明了運(yùn)用三個(gè)執(zhí)行緒的一多重執(zhí)行緒處理方法,每一執(zhí)行緒分別被103A、103B及103C的執(zhí)行緒控制元件所控制。該三個(gè)執(zhí)行緒控制元件允許同時(shí)處理三個(gè)不同的輸入數(shù)據(jù)流,而每一執(zhí)行緒控制元件獲得來(lái)自該指令緩沖單元101的指令數(shù)據(jù)流。在獲得來(lái)自該指令緩沖單元101的一指令數(shù)據(jù)流之后,一執(zhí)行緒控制元件傳送所獲得的該指令數(shù)據(jù)流的來(lái)源操作數(shù)識(shí)別與一執(zhí)行緒控制識(shí)別,到一對(duì)應(yīng)至該執(zhí)行緒控制元件的比較器。舉例來(lái)說(shuō),在獲得一指令數(shù)據(jù)流之后,執(zhí)行緒控制元件TC0(即103A)傳送所獲得的該指令來(lái)源操作數(shù)之一個(gè)或多個(gè)識(shí)別,與執(zhí)行緒控制元件TC0之一執(zhí)行緒控制識(shí)別至比較器Comp0(即109A)。此外,每一執(zhí)行緒控制元件與每一比較器形成一雙向的對(duì)應(yīng)關(guān)系。
執(zhí)行緒控制元件傳送一指令請(qǐng)求至仲裁器107。暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線單元200包含一組管線,其中每一管線可能包含一空值或一對(duì)暫存器識(shí)別/執(zhí)行緒控制識(shí)別。
當(dāng)比較器接收到一個(gè)或多個(gè)來(lái)源操作數(shù)識(shí)別的與執(zhí)行緒控制識(shí)別時(shí),比較器會(huì)將該一個(gè)或多個(gè)來(lái)源操作數(shù)識(shí)別及該執(zhí)行緒控制識(shí)別,分別與每一該對(duì)暫存器識(shí)別/執(zhí)行緒控制識(shí)別(包含于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線單元200內(nèi))加以比較。
當(dāng)接收到的一對(duì)來(lái)源識(shí)別/執(zhí)行緒控制識(shí)別以及一對(duì)暫存器識(shí)別/執(zhí)行緒控制識(shí)別(存于管線單元200內(nèi))之間發(fā)現(xiàn)為符合時(shí),管線單元200通知比較器其已接收到符合的一對(duì)來(lái)源識(shí)別/執(zhí)行緒控制識(shí)別,且比較器亦將此一符合依次通知仲裁器107。當(dāng)仲裁器107接收到來(lái)自一比較器的一符合通知時(shí),則在時(shí)鐘周期執(zhí)行期間,仲裁器107即禁止其所對(duì)應(yīng)執(zhí)行緒控制元件的指令。由于來(lái)自對(duì)應(yīng)比較器的符合信號(hào),當(dāng)仲裁器107禁止一執(zhí)行緒控制元件在一時(shí)鐘周期執(zhí)行該指令時(shí),則比較器持續(xù)將該來(lái)源識(shí)別及執(zhí)行緒控制識(shí)別與管線單元200加以比較,直至該來(lái)源識(shí)別與管線單元200的內(nèi)容不再發(fā)現(xiàn)一符合為止。當(dāng)來(lái)自該執(zhí)行緒控制元件的該指令中,沒(méi)有一來(lái)源操作數(shù)識(shí)別符合管線單元200的內(nèi)容時(shí),則仲裁器107傳送一確認(rèn)通知信號(hào)(acknowledgement signal)至該執(zhí)行緒控制元件,而該指令執(zhí)行將繼續(xù)進(jìn)行。
同時(shí)地,由于一個(gè)或多個(gè)來(lái)源操作數(shù)符合一個(gè)或多個(gè)暫存器(存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線中),當(dāng)保持在一執(zhí)行緒控制元件中的指令在一時(shí)鐘周期被禁止執(zhí)行時(shí),則仲裁器170可以允許保持在第二個(gè)執(zhí)行緒控制元件中的第二個(gè)指令在該時(shí)鐘周期繼續(xù)進(jìn)行,此時(shí)該第二個(gè)指令沒(méi)有一來(lái)源操作數(shù)符合任一暫存器(存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線)。舉例來(lái)說(shuō),在一時(shí)鐘周期中,當(dāng)一指令至少有一個(gè)來(lái)源操作數(shù)保持在執(zhí)行緒控制元件TC0符合至少一個(gè)存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線中的暫存器時(shí),仲裁器170可以允許保持在執(zhí)行緒控制元件TC1的一指令在該時(shí)鐘周期繼續(xù)進(jìn)行,此時(shí)保持在執(zhí)行緒控制元件TC1中的指令沒(méi)有一來(lái)源操作數(shù)符合任一暫存器(存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線)。進(jìn)一步舉例來(lái)說(shuō),在一時(shí)鐘周期中,當(dāng)保持在執(zhí)行緒控制元件TC0及TC1的兩指令中,有至少一個(gè)來(lái)源操作數(shù)符合存于該管線中一個(gè)或多個(gè)的暫存器時(shí),仲裁器170可以允許保持在執(zhí)行緒控制元件TC2的一第三個(gè)指令在該時(shí)鐘周期繼續(xù)進(jìn)行;此時(shí),保持在執(zhí)行緒控制元件TC2中的指令沒(méi)有一來(lái)源操作數(shù)符合任一暫存器(存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線)。同樣地,在一時(shí)鐘周期中,當(dāng)保持在該組執(zhí)行緒控制元件中的所有指令有至少一個(gè)來(lái)源操作數(shù)符合存于該管線中的一暫存器時(shí),仲裁器170在該時(shí)鐘周期不同意任一該指令請(qǐng)求;然而,當(dāng)至少一個(gè)該組執(zhí)行緒控制元件中有一指令其來(lái)源操作數(shù)不符合任一該暫存器(存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線)時(shí),仲裁器170僅同意一指令請(qǐng)求。
當(dāng)仲裁器107同意來(lái)自一執(zhí)行緒控制單元的一指令請(qǐng)求時(shí),仲裁器107會(huì)繼續(xù)進(jìn)行傳送對(duì)應(yīng)至該指令的操作數(shù)之一個(gè)或多個(gè)地址的處理,以便送至輸入數(shù)據(jù)流緩沖單元111及(或)暫存器緩沖單元113。此外,仲裁器107是否傳送地址信號(hào)至輸入數(shù)據(jù)流緩沖單元111、或傳送至?xí)捍嫫骶彌_單元113亦或是包含兩者,其根據(jù)任一該指令操作數(shù)是否儲(chǔ)存于一暫存器而定。輸入數(shù)據(jù)流緩沖單元111及(或)暫存器緩沖單元113會(huì)把接收自仲裁器107數(shù)據(jù)安置至一些地址,并傳送該數(shù)據(jù)至算術(shù)邏輯單元115。算術(shù)邏輯單元115會(huì)接收來(lái)自輸入數(shù)據(jù)流緩沖單元111及(或)暫存器緩沖單元113一指令的操作數(shù)數(shù)據(jù),以及來(lái)自仲裁器107一運(yùn)算模式的信號(hào)108(例如相加、相乘等),并繼續(xù)完成該指令。此外,算術(shù)邏輯單元115會(huì)產(chǎn)生輸出117或輸出119。當(dāng)目的操作數(shù)為一暫存器時(shí),則該輸出可能會(huì)被傳送至系統(tǒng)中另一區(qū)塊(亦即輸出117),或者被傳送至?xí)捍嫫骶彌_單元113(亦即輸出119)。
圖2為暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線單元200的詳細(xì)說(shuō)明。管線單元200以一五個(gè)周期的算術(shù)邏輯單元延遲來(lái)作為說(shuō)明,其包括一多路復(fù)用器207、一第一管線209、一第二管線211、一第三管線213、一第四管線215以及一第五管線217。
如圖2所示,多路復(fù)用器207以一信道(gateway)運(yùn)行于暫存器管線(209、211、213、215及217),以及除了選擇器205外,還包含兩個(gè)選擇信號(hào)(分別是數(shù)據(jù)流201、數(shù)據(jù)流203)。此外,選擇器205接收來(lái)自仲裁器107的一信號(hào)110(如圖1所示),其通過(guò)仲裁器107(包含當(dāng)一目的操作數(shù)為一暫存器的情形)來(lái)指示指令是否要繼續(xù)被執(zhí)行。于一較佳實(shí)施例中,當(dāng)指令之目的操作數(shù)為一暫存器時(shí),則多路復(fù)用器207選擇數(shù)據(jù)流203做為管線209的輸入,其中數(shù)據(jù)流203包含對(duì)應(yīng)至?xí)捍嫫鞯囊蛔R(shí)別。反之,當(dāng)指令的目的操作數(shù)不是一暫存器時(shí),則多路復(fù)用器207選擇數(shù)據(jù)流201做為管線209的輸入,其中數(shù)據(jù)流201包含一空值。
此外,暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線以一串聯(lián)的方式連接而成,且每一管線中的內(nèi)容(例如一空值或一對(duì)暫存器識(shí)別/執(zhí)行緒控制識(shí)別)在時(shí)鐘信號(hào)CLK的時(shí)鐘計(jì)時(shí)期間,由一個(gè)傳至下一個(gè)。舉例來(lái)說(shuō),當(dāng)管線209于時(shí)鐘信號(hào)CLK的上升邊緣(或下降邊緣)時(shí),去擷取一第一暫存器識(shí)別的值;然后,當(dāng)該第一暫存器識(shí)別數(shù)據(jù)被傳至管線211儲(chǔ)存該值時(shí),管線209則儲(chǔ)存第一暫存器識(shí)別的值,直至該時(shí)鐘信號(hào)下一個(gè)時(shí)鐘周期的上升邊緣(或下降邊緣)。同時(shí)地,除了管線217以外,其余的管線在時(shí)鐘信號(hào)CLK的上升邊緣(或下降邊緣)傳送每一內(nèi)容至下一管線(例如211至213、213至215、215至217)。管線217的內(nèi)容則于時(shí)鐘信號(hào)CLK的上升邊緣(或下降邊緣),由暫存器管線中被釋放。
圖3為根據(jù)本發(fā)明一較佳實(shí)施例的一流程圖,用以說(shuō)明一相依性監(jiān)視及控制系統(tǒng)的運(yùn)作步驟。首先,于步驟301中,一執(zhí)行緒控制元件如執(zhí)行緒控制元件TC0(標(biāo)示為103A,如圖1所示)擷取來(lái)自一指令緩沖單元(例如,圖1所示的緩沖單元101)的一指令。
接著,于步驟303中,執(zhí)行緒控制元件傳送一指令請(qǐng)求至一仲裁器(例如圖1所示的仲裁器107)。此外,于步驟303中,執(zhí)行緒控制單元會(huì)將其所擷取指令的來(lái)源操作數(shù)識(shí)別與執(zhí)行緒控制元件的一執(zhí)行緒控制識(shí)別一起傳送到一對(duì)應(yīng)至該執(zhí)行緒控制元件的比較器。于步驟305中,比較器會(huì)將每一來(lái)源操作數(shù)識(shí)別及來(lái)自該執(zhí)行緒控制元件所接收的該執(zhí)行緒控制識(shí)別,與一組串聯(lián)的暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線加以比較。當(dāng)沒(méi)有任何一來(lái)源操作數(shù)識(shí)別符合暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線的內(nèi)容時(shí),則仲裁器同意該指令請(qǐng)求,并傳送一確認(rèn)通知至執(zhí)行緒控制元件(于步驟308中)。于步驟310中,當(dāng)目的操作數(shù)為一暫存器時(shí),則仲裁器會(huì)將目的操作數(shù)識(shí)別與執(zhí)行緒控制元件的執(zhí)行緒控制識(shí)別,一起寫入至串聯(lián)的暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線的第一管線。
回到圖3所示的步驟307,當(dāng)一個(gè)或多個(gè)來(lái)源操作數(shù)識(shí)別/執(zhí)行緒控制識(shí)別對(duì),其符合一個(gè)或多個(gè)暫存器識(shí)別/執(zhí)行緒控制識(shí)別對(duì)(存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線)時(shí),則仲裁器禁止同意來(lái)自執(zhí)行緒控制元件于步驟309的指令請(qǐng)求。此外,于步驟311中,比較器會(huì)在下一時(shí)鐘周期中,將每一來(lái)源操作數(shù)識(shí)別及該執(zhí)行緒控制識(shí)別,與該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線的內(nèi)容再次加以比較。當(dāng)一個(gè)或多個(gè)來(lái)源操作數(shù)識(shí)別/執(zhí)行緒控制識(shí)別對(duì),其仍舊符合一個(gè)或多個(gè)暫存器識(shí)別/執(zhí)行緒控制識(shí)別對(duì)(存于該暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線)時(shí),則步驟311會(huì)重新回到步驟309。反之,當(dāng)沒(méi)有任何一來(lái)源操作數(shù)識(shí)別在該時(shí)鐘周期符合暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線的內(nèi)容時(shí),則仲裁器會(huì)同意該指令請(qǐng)求,并傳送一確認(rèn)通知至該執(zhí)行緒控制元件(于步驟308中)。于步驟310中,當(dāng)目的操作數(shù)為一暫存器時(shí),仲裁器會(huì)將目的操作數(shù)識(shí)別與來(lái)自執(zhí)行緒控制元件的該執(zhí)行緒控制識(shí)別,一起寫入至串聯(lián)暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線的第一管線。
需要強(qiáng)調(diào)的是,以上所述僅為本發(fā)明的較佳實(shí)施例,并非用以限定本發(fā)明的請(qǐng)求專利權(quán)利;同時(shí)以上的描述對(duì)于熟知本技術(shù)領(lǐng)域的專門人士應(yīng)可明了及實(shí)施,因此其它未脫離本發(fā)明所揭露之精神下所完成的等效改變或修飾,均應(yīng)包含在所述的請(qǐng)求專利范圍中。
舉例來(lái)說(shuō),雖然圖1說(shuō)明了三個(gè)執(zhí)行緒控制元件及三個(gè)比較器,然而執(zhí)行緒控制元件的數(shù)量會(huì)隨著運(yùn)用于一多重執(zhí)行緒系統(tǒng)中執(zhí)行緒的數(shù)量而成比例變化,而比較器的數(shù)量則是直接隨著執(zhí)行緒控制元件的數(shù)量而成比例變化,其中每一比較器與每一執(zhí)行緒控制元件組成一對(duì)一對(duì)的對(duì)應(yīng)關(guān)系。此外,圖1說(shuō)明了三個(gè)輸入數(shù)據(jù)流緩沖器(即IS0、IS1及IS2),亦說(shuō)明了三個(gè)暫存器緩沖器(即TR0、TR1及TR2)。于一可供選擇的實(shí)施例中,緩沖單元111中個(gè)別緩沖器的數(shù)量以及緩沖單元113中個(gè)別緩沖器的數(shù)量則是直接隨著運(yùn)用于一多重執(zhí)行緒系統(tǒng)中的執(zhí)行緒數(shù)量而成比例變化。舉例來(lái)說(shuō),一系統(tǒng)中包含一額外的執(zhí)行緒將會(huì)分別增加緩沖單元111與緩沖單元113中一輸入數(shù)據(jù)流緩沖器與一暫存器緩沖器。
此外,圖2說(shuō)明了一暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線單元200,其包含對(duì)應(yīng)至五個(gè)算術(shù)邏輯單元延遲周期的五個(gè)個(gè)別的管線。于一可供選擇的實(shí)施例中,管線單元200中管線的數(shù)量直接隨著算術(shù)邏輯單元延遲周期的數(shù)量而成比例變化。舉例來(lái)說(shuō),管線單元200是可數(shù)量化的,對(duì)于一具有六個(gè)延遲周期之指令相依性的系統(tǒng)而言,其可以如圖2中所示通過(guò)合并一額外的管線至管線單元200中來(lái)加以監(jiān)視及控制。
權(quán)利要求
1.一種動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其特征在于,包括擷取一指令于一執(zhí)行緒控制元件中;比較該指令的一個(gè)或多個(gè)來(lái)源操作數(shù)的識(shí)別與一個(gè)或多個(gè)暫存器的識(shí)別,其中每一該一個(gè)或多個(gè)暫存器的識(shí)別儲(chǔ)存于一組含有一個(gè)或多個(gè)暫存器識(shí)別管線之一個(gè)暫存器識(shí)別管線中;及核對(duì)任一該一個(gè)或多個(gè)來(lái)源操作數(shù)的識(shí)別是否符合任一該一個(gè)或多個(gè)暫存器的識(shí)別。
2.如權(quán)利要求1所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其中該一個(gè)或多個(gè)來(lái)源操作數(shù)的識(shí)別沒(méi)有與任何該一個(gè)或多個(gè)暫存器的識(shí)別相符合。
3.如權(quán)利要求2所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其更包括一指令開始執(zhí)行的步驟。
4.如權(quán)利要求3所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其更包括一核對(duì)該指令之一目的操作數(shù)是否為一暫存器的步驟。
5.如權(quán)利要求4所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其中該核對(duì)結(jié)果顯示該目的操作數(shù)不是一暫存器。
6.如權(quán)利要求5所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其更包括一寫入一空值至該組含有一個(gè)或多個(gè)暫存器管線中之一第一管線的步驟。
7.如權(quán)利要求4所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其中該核對(duì)結(jié)果顯示該目的操作數(shù)為一暫存器。
8.如權(quán)利要求7所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其更包括一將對(duì)應(yīng)至該目的操作數(shù)之一識(shí)別寫入至該組含有一個(gè)或多個(gè)暫存器管線中之一第一管線的步驟。
9.如權(quán)利要求1所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其中在每一時(shí)鐘周期的開始時(shí),除了該組含有一個(gè)或多個(gè)暫存器管線中的最后一個(gè)管線以外,所有其它部分的內(nèi)容會(huì)被移至下一管線。
10.如權(quán)利要求9所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其中在每一時(shí)鐘周期的開始時(shí),該組含有一個(gè)或多個(gè)暫存器管線中的最后一個(gè)管線的內(nèi)容會(huì)被釋放。
11.如權(quán)利要求1所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其中該一個(gè)或多個(gè)來(lái)源操作數(shù)的識(shí)別中至少一個(gè)符合該一個(gè)或多個(gè)暫存器的識(shí)別。
12.如權(quán)利要求11所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其更包括一禁止執(zhí)行該指令的步驟。
13.如權(quán)利要求12所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其更包括一步驟在每一時(shí)鐘周期的開始時(shí),將該一個(gè)或多個(gè)來(lái)源操作數(shù)的識(shí)別與該一個(gè)或多個(gè)暫存器的識(shí)別加以比較,直至沒(méi)有任一該一個(gè)或多個(gè)來(lái)源操作數(shù)的識(shí)別符合任何一該一個(gè)或多個(gè)暫存器的識(shí)別。
14.如權(quán)利要求13所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其更包括一核對(duì)該指令之一目的操作數(shù)是否為一暫存器的步驟。
15.如權(quán)利要求14所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其中該核對(duì)結(jié)果顯示該目的操作數(shù)不是一暫存器。
16.如權(quán)利要求15所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,更包括一寫入一空值至該組含有一個(gè)或多個(gè)暫存器管線中之一第一管線的步驟。
17.如權(quán)利要求14所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其中該核對(duì)結(jié)果顯示該目的操作數(shù)為一暫存器。
18.如權(quán)利要求17所述的動(dòng)態(tài)指令相依性監(jiān)視及控制方法,其更包括一將對(duì)應(yīng)至該目的操作數(shù)之一識(shí)別寫入至該組含有一個(gè)或多個(gè)暫存器管線中之一第一管線的步驟。
19.一種動(dòng)態(tài)指令相依性監(jiān)視及控制系統(tǒng)包括一個(gè)或多個(gè)執(zhí)行緒控制元件,用以擷取指令;一個(gè)或多個(gè)比較元件,其中每一該一個(gè)或多個(gè)比較元件連接至該一個(gè)或多個(gè)執(zhí)行緒控制元件中一相對(duì)應(yīng)之執(zhí)行緒控制元件;及一個(gè)或多個(gè)暫存器識(shí)別管線,其中該一個(gè)或多個(gè)暫存器識(shí)別管線連接至該一個(gè)或多個(gè)比較元件。
20.如權(quán)利要求19所述的動(dòng)態(tài)指令相依性監(jiān)視及控制系統(tǒng),其更包括連接至該一個(gè)或多個(gè)執(zhí)行緒控制元件的一指令緩沖單元。
21.如權(quán)利要求20所述的動(dòng)態(tài)指令相依性監(jiān)視及控制系統(tǒng),其更包括一仲裁器,其中該仲裁器連接至該一個(gè)或多個(gè)執(zhí)行緒控制元件、該一個(gè)或多個(gè)比較元件以及該一個(gè)或多個(gè)暫存器識(shí)別管線。
22.如權(quán)利要求21所述的動(dòng)態(tài)指令相依性監(jiān)視及控制系統(tǒng),其更包括連接至該仲裁器的一算術(shù)邏輯單元。
23.如權(quán)利要求22所述的動(dòng)態(tài)指令相依性監(jiān)視及控制系統(tǒng),其更包括連接至該仲裁器的一個(gè)或多個(gè)輸入數(shù)據(jù)流緩沖單元,其中該一個(gè)或多個(gè)輸入數(shù)據(jù)流緩沖單元中的每一輸入數(shù)據(jù)流緩沖單元對(duì)應(yīng)至該一個(gè)或多個(gè)執(zhí)行緒控制元件之一執(zhí)行緒控制元件。
24.如權(quán)利要求23所述的動(dòng)態(tài)指令相依性監(jiān)視及控制系統(tǒng),其更包括連接至該仲裁器的一個(gè)或多個(gè)暫存器緩沖單元,其中該一個(gè)或多個(gè)暫存器緩沖單元中的每一暫存器緩沖單元對(duì)應(yīng)至該一個(gè)或多個(gè)執(zhí)行緒控制元件之一執(zhí)行緒控制元件。
全文摘要
一種動(dòng)態(tài)指令相依性監(jiān)視及控制的方法與系統(tǒng)。該方法于一較佳實(shí)施例中,當(dāng)一目的操作數(shù)為一暫存器時(shí),則一指令之目的操作數(shù)識(shí)別儲(chǔ)存于一對(duì)暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線中;并且,一指令的各來(lái)源操作數(shù)在對(duì)照該識(shí)別而被核對(duì)后,會(huì)儲(chǔ)存于一組暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線中。當(dāng)一來(lái)源操作數(shù)與一儲(chǔ)存于該組暫存器識(shí)別/執(zhí)行緒控制識(shí)別管線中的識(shí)別相符合時(shí),則算術(shù)邏輯單元不執(zhí)行該指令,直至該符合的該識(shí)別在管線中已不再符合。
文檔編號(hào)G06F9/38GK1577259SQ20041003346
公開日2005年2月9日 申請(qǐng)日期2004年4月8日 優(yōu)先權(quán)日2003年7月9日
發(fā)明者黃錫霖, 翁國(guó)殷, 蘇奕榮 申請(qǐng)人:威盛電子股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
峡江县| 九台市| 新沂市| 南漳县| 宁河县| 盐边县| 花垣县| 桐庐县| 奎屯市| 甘德县| 二连浩特市| 界首市| 镇康县| 台东县| 南皮县| 宁晋县| 石家庄市| 安平县| 剑阁县| 新宁县| 南岸区| 汉川市| 安义县| 称多县| 龙游县| 合江县| 甘泉县| 榆树市| 寿宁县| 睢宁县| 穆棱市| 化州市| 山东省| 桐城市| 天门市| 延吉市| 阳城县| 泸溪县| 宁明县| 宜章县| 乌兰浩特市|