国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      微處理機(jī)中的分布式執(zhí)行控制的制作方法

      文檔序號:6410085閱讀:250來源:國知局
      專利名稱:微處理機(jī)中的分布式執(zhí)行控制的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明一般涉及微處理機(jī),更具體地涉及在這種微處理機(jī)中指令的執(zhí)行控制。
      處理控制相關(guān)性是許多微處理機(jī)邏輯和復(fù)雜性的一大部分。微處理機(jī)通常有許多用于處理控制相關(guān)的機(jī)制,并且當(dāng)需要不同級別的中斷精度時(例如浮點異常使能/屏蔽),這些機(jī)制的功能必須有顯著的區(qū)別,導(dǎo)致了控制上的困難。例如,當(dāng)RISC處理機(jī)進(jìn)入浮點異常使能模式時,處理機(jī)必須開始一次發(fā)出一條指令(導(dǎo)致了性能的降低),因此,該模式的執(zhí)行要求極大地影響了處理機(jī)的發(fā)送邏輯。
      在另一種處理機(jī)中,浮點指令總是和其它的指令順序執(zhí)行,這就導(dǎo)致了在執(zhí)行邏輯中的過份保守同步(即表現(xiàn)為似乎總是處于浮點異常使能模式)。采用執(zhí)行緩沖區(qū)方法,在單個周期內(nèi)完成大量的指令是不可行的,這是由于隊列結(jié)構(gòu)的串行化性質(zhì)(例如,為了知道指令2是否將要執(zhí)行,首先必須知道指令0和指令1是否將要執(zhí)行)。
      和執(zhí)行邏輯有關(guān)的是清除邏輯。當(dāng)執(zhí)行指令時,存在著正確的控制流決策和不正確的控制流決策。對于分支指令是這樣,對任何能引起異常的指令也是這樣(即,存在異常路徑和非異常路徑)。雖然這在過去是按照不同的方式加以處理的,但就控制流管理而論,(同步)異常、(異步)中斷和分支指令都是十分類似的。
      因此,常規(guī)的執(zhí)行控制系統(tǒng)包括集中化的控制器,該控制器包括接收所有指令的集中化控制隊列。當(dāng)指令執(zhí)行時,把信息送到控制隊列。然后由集中式的控制隊列決定適當(dāng)?shù)闹噶顖?zhí)行次序。集中式控制隊列可能成為程序執(zhí)行中最突出的瓶頸問題,這是由于必須被控制的不同動作的數(shù)目所造成的。因此,當(dāng)控制相關(guān)的數(shù)目增加時,微處理機(jī)的總體性能將顯著降低。
      所以,重要的是提供能以更有效的方式處理這些控制相關(guān)的一種系統(tǒng)。這種系統(tǒng)不會增加微處理機(jī)的復(fù)雜性。最后,這種系統(tǒng)應(yīng)該在現(xiàn)有的微處理機(jī)設(shè)計中容易實現(xiàn)。本發(fā)明就是要滿足這樣的一種需要。
      分布式執(zhí)行是這樣一種指令執(zhí)行的控制方法,使得允許同時執(zhí)行的指令數(shù)目可以很大(沒有分時的負(fù)擔(dān)),而且所有形式的控制相關(guān)性都可以由一種統(tǒng)一的機(jī)制處理。
      這里提出了一種分布式的微處理機(jī)執(zhí)行控制系統(tǒng)。該系統(tǒng)包括多個發(fā)送裝置,每個發(fā)送進(jìn)一步包括響應(yīng)接收指令的取地址的發(fā)送隊列;多個控制相關(guān)標(biāo)識符;以及指示控制相關(guān)標(biāo)識符已經(jīng)分配給適當(dāng)?shù)闹噶畹难b置。系統(tǒng)還包括用于接收指令和控制相關(guān)標(biāo)識符的多個執(zhí)行裝置。
      分布式執(zhí)行機(jī)制維持超標(biāo)量處理機(jī)中指令之間復(fù)雜的控制相關(guān)關(guān)系,沒有和大型順序隊列結(jié)構(gòu)相關(guān)的周期時間負(fù)擔(dān)。


      圖1是微處理機(jī)的常規(guī)執(zhí)行控制系統(tǒng)框圖。
      圖2是一個表,表示微處理機(jī)中的控制流分解。
      圖3是根據(jù)本發(fā)明的發(fā)送裝置簡要框圖。
      圖4是一個簡單程序的流程圖。
      圖5是給出了根據(jù)本發(fā)明的圖3所示的發(fā)送裝置的詳細(xì)框圖。
      圖6是一個邏輯電路框圖,該電路與本發(fā)明的發(fā)送裝置一起用于分解控制相關(guān)信息。
      圖7是一個邏輯電路框圖,該電路包含用在本發(fā)明的發(fā)送裝置中的清除邏輯。
      圖8是一個邏輯電路框圖,該電路用來修改根據(jù)本發(fā)明的發(fā)送裝置中所用的體系結(jié)構(gòu)寄存器。
      本發(fā)明涉及用來控制微處理機(jī)中指令移動的一種執(zhí)行控制系統(tǒng)。下面的描述使得具備本領(lǐng)域一般技術(shù)的人能利用本發(fā)明,而描述又是在專利申請及其要求的環(huán)境中提供的。熟練的技術(shù)人員很容易對最佳實施例作各種修改,而且這里的一般原理也適用于其它的實施例。因此,本發(fā)明不準(zhǔn)備局限于所示的實施例,而是按照和這里所述的原理和特征一致的最廣泛的范圍。
      為了說明該例子,假定有一個一般的超標(biāo)量處理機(jī),具有大量的執(zhí)行裝置,以及向其輸入信息的多個發(fā)送器。這不一定是一種統(tǒng)一的設(shè)計觀點(例如可忽略和多個發(fā)送器相關(guān)的發(fā)送復(fù)雜性),而是一種在理論上可行的機(jī)器,這個機(jī)器中包含了可在不同設(shè)計觀點中指到的許多特征。并且假定,多個發(fā)送器被用來取出在單個調(diào)度單位中的多個代碼段,換句話說,在發(fā)送器之間存在著執(zhí)行順序要求。最后假定,可以在發(fā)送器之間劃分的代碼段的顆粒性處于基本模塊的層次上,并且存在具有控制機(jī)關(guān)關(guān)系的發(fā)送器的偏序。
      圖1為根據(jù)上述假定的、可用在微處理機(jī)中的常規(guī)執(zhí)行控制系統(tǒng)10的框圖。圖1的執(zhí)行控制系統(tǒng)10f包括用于接收指令的多個發(fā)送裝置12。這些發(fā)送裝置12中的每一個將指令發(fā)送給其適當(dāng)?shù)膱?zhí)行裝置。在本實施例中,執(zhí)行裝置表示為發(fā)送器可以向其提供信號的許多執(zhí)行裝置14。此外,每個發(fā)送裝置12還連接到集中式執(zhí)行緩沖區(qū)16。大量執(zhí)行裝置14和集中式執(zhí)行緩沖區(qū)16把信號提供給回寫執(zhí)行邏輯18。集中式執(zhí)行緩沖區(qū)16提供信號允許指令執(zhí)行某個特定的動作。常規(guī)執(zhí)行機(jī)制的共同特征之一是把執(zhí)行看作分解控制流和執(zhí)行指令的動作。在本實施例中,指令的吞吐量受到從集中式執(zhí)行緩沖區(qū)中刪除指令速率的限制。由于微處理機(jī)已經(jīng)變得更快并且要求每個周期處理更多的指令,吞吐量中的這一瓶頸問題在這些指令的處理過程中可能產(chǎn)生突出的缺點。
      現(xiàn)在參考圖2,圖中所示的表格代表處理機(jī)中一個指令的生命期。正如所看到的,指令可能處于兩種狀態(tài),即推測狀態(tài)和非推測狀態(tài)。注意控制流分解是與執(zhí)行分離的。當(dāng)指令確定了將要采取的可能控制路徑(例如將執(zhí)行哪個分支,裝入是否將產(chǎn)生中斷)時,控制流開始分解。注意該動作的發(fā)生與該指令控制所依賴的指令無關(guān)。
      為了說明的目的,稱指令B控制流依賴于指令A(yù)如果存在A的控制決策使得由B所引起的結(jié)構(gòu)狀態(tài)變化在結(jié)構(gòu)上是不正確的。請注意一般來說,控制相關(guān)關(guān)系取決于機(jī)器狀態(tài)。在指令能保證執(zhí)行后開始執(zhí)行。當(dāng)處理機(jī)決定某個指令將執(zhí)行時執(zhí)行該指令,意味著允許修改結(jié)構(gòu)化寄存器。這個執(zhí)行點是推測和非推測執(zhí)行之間的分界線。在指令已經(jīng)執(zhí)行后,不能被清除。
      在本發(fā)明的分布式控制執(zhí)行系統(tǒng)中,在發(fā)送時把唯一性的執(zhí)行標(biāo)識符分配給每個指令。此外,一個指令和對應(yīng)與之控制相關(guān)的指令表的代碼執(zhí)行標(biāo)識符表連系起來。當(dāng)指令分解其控制流決策時,將其標(biāo)識符送給所有的指令,做為清除或分解指示符。如果指令接收到它所控制相關(guān)的指令的清除指示符,則清除自己。如果指令接收到與之控制相關(guān)的某個指令的分解指示符,則標(biāo)識指令為被分解的。當(dāng)指令的控制相關(guān)性都被分解時,可以開始執(zhí)行。這樣,指令甚至可以在不用探詢集中式執(zhí)行裝置的情況下開始試運(yùn)轉(zhuǎn)。
      通過使用本發(fā)明的多個發(fā)送裝置,給定指令的執(zhí)行請求可以在處理裝置設(shè)計中被改變,而且和其它裝置的執(zhí)行接口將保持穩(wěn)定(例如,如果浮點裝置設(shè)計在乘法階段控制流分解指令時有分時問題,只需把分解點移到下一周期,所有的互鎖都已到位,因此其它的裝置不受影響(當(dāng)然性能將受影響)。
      圖4給出了程序代碼,可以用控制流圖的格式表示,該格式明確地把代碼的基本模塊的塊表示為節(jié)點,然后當(dāng)某個代碼塊直接跟著另一個代碼塊時,就連接這些節(jié)點。當(dāng)指令具有多個輸出邊時,就會發(fā)現(xiàn)可以利用新的發(fā)送裝置。然后,處理機(jī)可以利用控制流信息來確定適當(dāng)?shù)穆窂健?br> 圖5是根據(jù)本發(fā)明的發(fā)送裝置100的簡要框圖。發(fā)送裝置100包括根據(jù)取地址從存儲器103中接收指令的發(fā)送隊列102、控制相關(guān)標(biāo)識符104和執(zhí)行標(biāo)識符分配106。指令及其對應(yīng)的控制相關(guān)信息提供給執(zhí)行裝置108。每個發(fā)送裝置100將具有其自己的控制相關(guān)標(biāo)識符100的這些標(biāo)識符被分配給某個特定指令范圍。這就允許每個發(fā)送裝置100在不必和任何集中式裝置聯(lián)系的情況下管理它們自己的執(zhí)行標(biāo)識符的應(yīng)用和解除分配。
      當(dāng)處理機(jī)決定追蹤一個指令的多個路徑時,則用開始取地址和該路徑中的第一個指令的控制相關(guān)標(biāo)識符104初始化至少一個新的發(fā)送裝置100。如果被追蹤的路徑多于兩個,則初始化其它的發(fā)送裝置100(注意原如發(fā)送裝置100能追蹤這兩條路徑之一)。一旦初始化了某個發(fā)送裝置100,就能處理其代碼路徑直到完成,那時它就能重新分配給另一路徑。一旦正在取的路徑被清除,而且其發(fā)送隊列中不留下任何指令,就認(rèn)為發(fā)送裝置100完成了。
      正如圖中所示,當(dāng)發(fā)送裝置100被初始化時,給定初始地址109和初始控制相關(guān)性標(biāo)識符110。取地址111指示該發(fā)送裝置100將要處理的代碼路徑和起始地址。初始控制相關(guān)標(biāo)識符110為初始地址109中指令的控制相關(guān)標(biāo)識符。實現(xiàn)圖4所示的執(zhí)行標(biāo)識分配邏輯有許多方法,下面介紹這樣的一種方法。
      現(xiàn)在參考圖5,圖中所示的是發(fā)送裝置100的詳細(xì)框圖。假定當(dāng)指令被放入發(fā)送隊列202時被賦予執(zhí)行標(biāo)識符。如果標(biāo)識符不能被分配到給定的指令,則該指令不能被發(fā)送(直到能為其分配標(biāo)識符)。實際確定分配哪一個標(biāo)識符的邏輯可以是某個解碼邏輯,找到第一個可用的標(biāo)識符并分配給進(jìn)入該發(fā)送隊列202的第一個指令,第二個可用的標(biāo)識符分配給第二個指令。
      每個執(zhí)行標(biāo)識符206和控制相關(guān)標(biāo)識符204被一塊分配,以便更容易找到要分配的標(biāo)識符。假定已經(jīng)分配了一組標(biāo)識符,則產(chǎn)生控制相關(guān)列表和控制相關(guān)標(biāo)識符只不過是把已經(jīng)被分配的標(biāo)識符和已經(jīng)被定位的標(biāo)識符組合在一起。
      正如所看到的,當(dāng)發(fā)送隊列202處理指令時,它把其有序的控制相關(guān)標(biāo)識符204和有序的執(zhí)行標(biāo)識符206分配給相應(yīng)的指令。假定每個執(zhí)行標(biāo)識符206為K位控制相關(guān)標(biāo)識符204為2K位,此外,每個機(jī)器中在發(fā)送和運(yùn)轉(zhuǎn)之間可能存在的指令數(shù)目為2K。在最佳實施例中,在每次發(fā)送時把一個控制相關(guān)標(biāo)識符204分配給每個指令。當(dāng)指令被發(fā)送時,執(zhí)行標(biāo)識符206和對應(yīng)它所控制相關(guān)的指令的執(zhí)行標(biāo)只符(控制相關(guān)標(biāo)識符206)的一個列表和該指令一塊被發(fā)送。因此,如果m個發(fā)送裝置中的每一個共有n個不同的執(zhí)行標(biāo)識符206,則指令的控制相關(guān)表包括n×m位總線,1表示存在控制相關(guān)性,0表示不存在控制相關(guān)性。
      因此,指令的執(zhí)行標(biāo)識符206或是n×m位的總線,精確地用1位表示分配給該指令的標(biāo)識符,或者是指向n×m個控制標(biāo)識符之一的一個編碼點。執(zhí)行裝置在兩個全局逐位三態(tài)總線之一上標(biāo)識控制相關(guān)的分解。一個總線用來標(biāo)識正確的分解(分解總線,而另一個表示任何和該指令相關(guān)的指令將被清除(清除總線)。當(dāng)指令出現(xiàn)多個控制相關(guān)路徑時,為每個路徑分配一個唯一的標(biāo)識符。
      每個流水線階段負(fù)責(zé)監(jiān)控微處理機(jī)的分解和清除總線。如果標(biāo)識符被送入分解總線,則每個階段監(jiān)視其當(dāng)前的控制相關(guān)標(biāo)識符204(和正在該階段中的指令聯(lián)系在一起),并且如果出現(xiàn)控制相關(guān)標(biāo)識符204,則必須將其從表中刪掉(控制相關(guān)性被分解)。這樣當(dāng)指令的控制相關(guān)標(biāo)識符204的表為空(0)時,則該指令可以被執(zhí)行。
      如果控制相關(guān)標(biāo)識符204被放在清除總線上,則每個階段監(jiān)視其控制相關(guān)標(biāo)識符表,并且如果出現(xiàn)控制相關(guān)標(biāo)識符204,則抑制其指令的輸出(可能將其清除)。如果一個階段能分解一個指令,則使用其當(dāng)前的控制相關(guān)標(biāo)識符204(分配給當(dāng)前駐留的指令的唯一性控制相關(guān)標(biāo)識符204),使三態(tài)驅(qū)動器進(jìn)入分解和清除總線的位,并輸出適當(dāng)?shù)闹怠D6至圖8表示用于各種流水線階段的各種電路。
      圖6為邏輯電路300的框圖,該電路能分解控制相關(guān)信息,包括用于本發(fā)明的發(fā)送裝置100的執(zhí)行邏輯電路302。
      圖7為邏輯電路400的框圖,包括用在本發(fā)明的發(fā)送裝置100中的清除邏輯402。
      圖8為邏輯電路500的框圖,用于更新用在本發(fā)明的發(fā)送裝置100中的寄存器。
      所有的邏輯電路300、400和500都在每個階段中被復(fù)制,并且在電路中占據(jù)很小的范圍。圖6至圖8中所示的執(zhí)行邏輯和清除邏輯為其它的執(zhí)行模式所要求,因此簡單地被描述為邏輯氣泡。通常,清除邏輯402提供一個信號,重置狀態(tài)機(jī)并閉鎖某類有效的指令信號。執(zhí)行邏輯502確定控制指令將采取以及在任何處理機(jī)中所要求的方向。
      最后,應(yīng)該理解,邏輯電路300、400和500僅僅是可以用在各種流水線階段中的邏輯電路類型的代表。因此,一般的技術(shù)人員將很容易認(rèn)識到,各種邏輯電路可以用在本發(fā)明的系統(tǒng)中,而且其使用應(yīng)該是在本發(fā)明的原理和范圍之內(nèi)。
      因此,本發(fā)明的系統(tǒng)提供了一種分布式的執(zhí)行控制模式。這是通過提供指令的控制相關(guān)信息來實現(xiàn)的,因此,不要求集中式的執(zhí)行控制。所以,每個發(fā)送裝置包括該裝置是否將執(zhí)行或清除該指令的有關(guān)信息。
      本發(fā)明的分布式執(zhí)行系統(tǒng)在超標(biāo)量處理機(jī)中的指令之間維持復(fù)雜的控制相關(guān)關(guān)系,不存在和大型順序隊列結(jié)構(gòu)相關(guān)的周期時間負(fù)擔(dān)。該執(zhí)行控制機(jī)制的費(fèi)用是和每個指令標(biāo)識符相關(guān)的大量標(biāo)識符位,然而,根據(jù)微縮平版印刷技術(shù),這種費(fèi)用是很小的并且能利用較新技術(shù)的力量。
      雖然本發(fā)明是根據(jù)所示的實施例描述的,一般的技術(shù)人員都能認(rèn)識到可以對實施例進(jìn)行修改,并且也可以在本發(fā)明的原理和范圍內(nèi)進(jìn)行修改。因此,一般的技術(shù)人員都能在不脫離后面的權(quán)利要求書的原理和范圍的情況下作出許多修改。
      權(quán)利要求
      1.微處理機(jī)的一種分布式執(zhí)行控制系統(tǒng),包括多個發(fā)送裝置;每個發(fā)送裝置包括響應(yīng)取地址接收指令的發(fā)送隊列;提供控制相關(guān)信息的裝置;以及指示多個控制相關(guān)信息已經(jīng)被分配給適當(dāng)指令的裝置;以及多個執(zhí)行裝置,接收指令和相關(guān)的控制相關(guān)信息,并允許每個發(fā)送裝置根據(jù)控制相關(guān)信息執(zhí)行指令。
      2.權(quán)利要求1的分布式執(zhí)行控制系統(tǒng),其特征在于,控制相關(guān)信息包括多個有序的執(zhí)行標(biāo)識符和多個有序的控制相關(guān)標(biāo)識符。
      3.權(quán)利要求2的分布式執(zhí)行控制系統(tǒng),其特征在于,發(fā)送隊列包括以有序的方式接收指令的多個發(fā)送隊列裝置。
      4.權(quán)利要求3的分布式執(zhí)行控制系統(tǒng),其特征在于,有序執(zhí)行標(biāo)識符的數(shù)目和有序執(zhí)行標(biāo)識符表的數(shù)目對應(yīng)有序的指令,使得能提供適當(dāng)?shù)目刂葡嚓P(guān)信息。
      5.權(quán)利要求1的分布式執(zhí)行控制系統(tǒng),其特征在于,控制相關(guān)信息被用來執(zhí)行該指令。
      6.權(quán)利要求1的分布式執(zhí)行控制系統(tǒng),其特征在于,控制相關(guān)信息被用來分解該指令。
      7.權(quán)利要求1的分布式執(zhí)行控制系統(tǒng),其特征在于,控制相關(guān)信息被用來清除該指令。
      8.用于處理機(jī)中的發(fā)送裝置,包括發(fā)送隊列;提供控制相關(guān)信息的控制相關(guān)標(biāo)識符裝置;以及把控制相關(guān)信息分配給適當(dāng)?shù)闹噶畹膱?zhí)行標(biāo)識符分配裝置。
      9.權(quán)利要求8的發(fā)送裝置,其特征在于,控制相關(guān)信息包括多個順序排列的執(zhí)行標(biāo)識符和多個順序排列的控制相關(guān)標(biāo)識符。
      10.權(quán)利要求9的發(fā)送裝置,其特征在于,發(fā)送隊列包括以某種有序的方式接收指令的多個發(fā)送隊列裝置。
      11.權(quán)利要求10的發(fā)送裝置,其特征在于,控制相關(guān)有序執(zhí)行標(biāo)識符的數(shù)目和有序控制相關(guān)標(biāo)識符的數(shù)目對應(yīng)有序的指令,以便提供適當(dāng)?shù)目刂葡嚓P(guān)信息。
      12.權(quán)利要求8的發(fā)送裝置,其特征在于,控制相關(guān)信息用于執(zhí)行指令。
      13.權(quán)利要求8的發(fā)送裝置,其特征在于,控制相關(guān)信息用于分解指令。
      14.權(quán)利要求8的發(fā)送裝置,其特征在于,控制相關(guān)信息用于清除該指令。
      全文摘要
      分布式執(zhí)行機(jī)制在沒有和大型順序隊列結(jié)構(gòu)相關(guān)的周期時間負(fù)擔(dān)的情況下,維持超級標(biāo)量處理機(jī)中指令之間的復(fù)雜控制相關(guān)關(guān)系。有全局總線,但它們之中沒有一個是周期限制的(通常,它們總是鎖存對鎖存路徑)。該執(zhí)行控制機(jī)制的費(fèi)用為和每個結(jié)構(gòu)階段相關(guān)的大量標(biāo)識符位,然而,考慮到縮微平版印刷技術(shù),這種費(fèi)用是小的并且能利用較新技術(shù)的力量。
      文檔編號G06F9/46GK1136181SQ9610060
      公開日1996年11月20日 申請日期1996年1月4日 優(yōu)先權(quán)日1995年1月25日
      發(fā)明者克里斯托弗·漢森·奧爾森, 特倫斯·馬修·波特, 邁克爾·托馬斯·瓦登 申請人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1