專利名稱:支持源指令執行過程仿真的擴展浮點運算的制作方法
本發明所包含的主題與題為根據浮點運算結果提前發放指令的快速正確性反應、編號為896879的那個美國專利申請中所敘述的發明有關。該申請于1986年8月15日申請發明人是David A.Hrusecky,該申請轉讓給本申請的同一受讓人并在本申請中供參考。
本發明屬于機器仿真領域,特別是仿真一個源CPU操作的源系統,仿真的過程是把源CPU指令翻譯為目標CPU指令供目標CPU發放和執行。更具體地說,本發明是通過某種方法在源浮點算術指令正在被仿真時加快指令的翻譯和發放功能來擴充這樣一個系統的仿真能力,此方法通過執行目標機的寄存器一寄存器型的浮點運算指令來仿真源浮點RX型指令的執行。
仿真的含義是用一個(“目標”)CPU來模仿另一個(“源”)CPU的操作。目標CPU經過專門的程序編排和結構設計使其能夠執行針對源CPU編寫的程序。一個為源CPU編寫的程序包含一個逐條供給目標CPU的源指令序列。目標CPU通過執行一條或多條目標指令對每條源指令作出響應。
在Fisk等人發明的編號為4587612的美國專利(轉讓給本受讓人并在本文中供參考)中,有一個仿真輔助處理器(EAP)接收源指令流并把每條源指令轉換為一條或多條目標指令,這些目標指令則被送往目標CPU的指令處理部件(IPU)。在上面列出的那個專利中,EAP把多個字段的源指令轉換為多個字段的目標指令并把目標指令順序地送到IPU供它處理和發放。
如所周知,當源CPU包含一個象1BM370主計算機那樣的機器時,(在編號為3400371的美國專利中對此作了描述,該專利轉讓給本受讓人并在本文中供參考),其源指令系統包括多個字段的浮點算術指令,其中主要是RX型指令。利用1BM370指令集的源指令程序在特征上受到一個稱為條件碼(CC)的狀態的約束,這個條件碼狀態是一種指示,它是依據包括浮點算術指令的某條指令的執行結果而建立的。當1BM370浮點指令產生一個異常結果(例如一個全0結果)或者試圖作一個異常操作(例如除數為0的除法)時,將建立一個中斷指示,從而把控制從正在執行的程序轉到一個管理程序以便執行某個中斷處理過程。對于1BM370源程序的分枝和中斷特性的仿真要求目標程序保持條件碼和中斷指示,以便有效地映象程序的分枝和中斷。
雖然,在源程序和目標程序之間必須保持分枝和中斷的對應關系是無可爭辯的,可是,借助于這樣一種能力即在正在執行的浮點算術指令的操作完成之前,可靠地予測條件碼和中斷指示器的狀態,從而能夠加快仿真的速度,這一點也同樣應該認識到。不過,仿真速度的任何提高不僅要考慮到源指令到目標指令的翻譯,還要考慮到轉換后的目標指令的發放。
在編號為4587612的美國專利中,EAP的可能的操作環境之一將對目標機的浮點指令的執行強加了某些結構上的瓶頸。為此,目標CPU的指令部件和浮點部件用32位寬的數據總線互相連接。當仿真源CPU的RX型浮點指令時,源指令中用X字段表示的操作數必須從主存中去取來供FPU使用。這種為了從主存中獲得X-字段操作數的職責的傳遞延長了該指令的執行時間。當源指令是一條擴充的RX型指令,從而要做兩次順序的內存訪問以便經過32位數據總線獲得一個64位的操作數時,目標浮點指令的執行時間就更長了。
本發明適用于一個仿真源CPU指令執行過程的系統,該系統包含一個帶有主存貯器的目標CPU、若干功能部件和一個目標指令部件,這個目標指令部件加工并發放被轉換后的目標指令以供目標機的諸功能部件執行。該仿真系統還包括一個指令翻譯部件(翻譯器),該部件接收源指令并把它們譯成目標指令。本發明的結果在改善系統的性能,它提供了一種機構來加快浮點指令的翻譯和執行。為此,本發明在其指令翻譯器中有一個令牌發生器,該發生器隨著源浮點指令的翻譯而產生一個浮點等待令牌信號。在目標CPU的浮點功能部件中的結果產生器在被發放的目標浮點指令完成之前,提前產生一個完成信號以指明所發放的那條指令的執行結果。該系統還包含一種系統設施,它能根據令牌信號來限制指令的翻譯和發放。指令翻譯器中還有最后一個設施叫多級等待隊列,這個等待隊列和上述的系統設施相連用來接收和保存一旦產生的諸等待令牌信號,并在出現反映源浮點指令翻譯為目標浮點指令已經完成的結束信號之后取消這個令牌信號。
本發明來源于一系列非予料的觀察,本發明者觀察到如果指令的翻譯和目標指令的發放對應地有一個加快目標浮點指令執行結果的指示,那么,翻譯、發放以及由此而完成的仿真就可能被加快;如果在發放翻譯后的目標指令之前能夠得到源RX型指令的X字段的操作數,那么源RX型浮點指令的仿真能夠借助于目標機的RR型指令的執行來實現,從而避免了指令發放后的主存貯器訪問周期;而且,如果在成功的主存貯器存取周期內能得到擴展的浮點源指令的X字段操作數的兩半,那么該源指令的仿真可以用一組目標浮點指令實現,這組目標指令傳送上述X型的操作數并啟動執行RR型目標指令序列,這就減少了仿真源指令所需的主存存取周期數。
因此,本發明的主要目標是改善一個系統在仿真一個源CPU程序的性能時的操作過程,而源CPU程序包含有RX型的浮點算術指令,改善操作過程的途徑是加快源指令到目標指令的翻譯和翻譯后目標指令的發放。
本發明的進一步目標是通過減少目標CPU仿真源RX型浮點算術指令的執行過程時所需的操作時間來改進這樣一個仿真系統的操作。
結合下面帶有說明的附圖讀完本發明的詳細描述后,將會更清晰地理解本發明的各個目標和進一步的附加好處。
圖1說明仿真一個1BM370型的源CPU程序用的一個系統的結構配置。
圖2詳盡地描述了仿真器輔助處理器(EAP)和指令處理器(IPU)的功能部件,這些功能部件根據浮點部件(FPU)在目標浮點算術操作完成前給出的加快完成指示,加速翻譯功能和目標機的指令發動功能。
圖3說明IPU和FPU中包括的功能部件,這兩個部件利用RR型浮點目標指令來支持RX型浮點源指令的仿真。
圖4是一個流程圖,它說明在仿真短RX源指令時由圖3配置所執行的操作順序。
圖5也是一張流程圖,它說明在仿真擴展的RX型浮點源指令過程中圖3配置所執行的操作順序。
圖1說明本發明的應用環境。此環境包括一個構成目標CPU的具有壓縮指令集的計算機(RISC)。正如Radin在“801微型計算機”一文(1983年5月發表于1BM研究和開發雜志,27卷第3期,第237-246頁)中所描述的那樣,這樣的一臺計算機有兩個獨立的指令流和數據流,它們分別來自各自的高速暫存器。在這個計算機中,指令從高速指令暫存器中得到而數據則從另一個單獨的高速數據暫存器中得到,這兩個高速暫存器都在指令處理部件(IPU)10之中并由這個處理部件管理。IPU通過存取主存貯器12裝滿這兩個高速暫存器的內容。IPU10加工高速暫存器中的指令并把這些指令發放到一個或多個處理部件(PU)14和一個浮點處理部件(FPU)16去執行。因為部件10,12,14和16構成了目標CPU,所以由IPU發出的指令稱為目標指令并通過目標指令總線19被發放到這些處理部件。操作數和結果(O/R)數據經由O/R數據總線18在IPU和處理部件14和16之間進行交換。
在上述假定的環境中,作為例子的801計算機有一32位的體系結構,這是由數據和指令總線18和19的相應寬度反映出來的。此外,除了高速數據暫存器外,801中的IPU10還包含一組通用寄存器。
當目標CPU用作為仿真器時,它的仿真器的輔助處理器(EAP)20協同操作。在上述的仿真方式中,由源CPU來的指令構成一個程序通過IPU10中的一部分高速數據暫存器、借助于數據通路21、10、22流向EAP20。在EAP20中,源指令被轉換為目標指令并扦入到目標CPU的指令流中,這將不打擾由IPU10執行的正常的目標CPU指令的執行順序。轉換后的指令流借助于數據通路23提供給IPU10。關于IPU10和EAP20在完成指令的轉換和產生目標指令流過程中的合作情況,在本文參考的Fisk專利中有清晰的描述,在此不再贅述。但是在指令轉換中涉及到的某些結構和功能必須列清楚,以便恰到好處地說明本發明。
現在來參看圖2,圖中畫出了EAP20、IPU10和FPU16。把IPU分成兩個功能塊來表示僅僅是為了下面的討論方便;事實上,IPU10只是一個單一的部件。在圖2中,IPU10的10a部分借助于21接收源指令流,這個部件包括一個存儲源指令流的高速數據暫存器24和一個存儲微指令的高速指令暫存器25。源指令流借助于信號線22從高速數據暫存器被送到EAP20,它們通過源指令寄存器(SIR)26,一條指令接著一條指令地在EAP中進行處理,源指令寄存器為指令轉換電路27提供一個操作舞臺。如同Fisk的專利中所述那樣,指令轉換電路27形成提供給IPU10的高速指令暫存器25使用的下一指令地址,這個地址還導致來自指令暫存器的微指令的形成,該微指令借助于信號線30送到EAP。信號線30上微指令被送給EAP中微指令寄存器(MIR)31。如同列入的Fisk的專利中所講的那樣,保存在寄存器31中的微指令還包括能夠在信號線29上產生下一條指令地址的下一指令字段。因此,寄存器26中的源指令將生成為一條或一串微指令,這些微指令借助于信號線30送到EAP。與此相關,源指令的仿真可能牽涉到從指令暫存器中去取一串微指令并讓目標處理機去執行取來的那一串目標指令。送給寄存器31的微指令包括一個控制段和一個基干目標指令。這個基干目標指令借助于信號線23a送到IPU10中的指令合并寄存器32。正如上面提到的Fisk專利中所講的那樣,基干指令包括一個操作碼字段和寄存器與位移字段。轉換電路27用寄存器31中的那條微指令中的控制段和寄存器26中的那條源指令的操作數字段裝入到IPU10中的指令合并寄存器32中的那條基干指令的零操作數字段和/或控制字段。填充的信息借助于信號線23b從轉換電路中得到。因此,信號線23a和23b構成圖1所示的信號線23,目標指令流就是借助于這條信號線送到IPU10的。當IPU10發放一條指令時,這條指令就從指令合并寄存器32送到指令寄存器(I寄存器)33。當這條目標指令駐留在I寄存器33中時,IPU10就做指令發放操作,摘要說明如下。
在敘述本發明的操作上的來龍去脈時,假定源指令流中包含有象IBM370CPU指令集中所具有那樣的多字段指令。這個指令集中至少有一個獨特的格式稱為RX(寄存器/變址)格式。RX格式具有如下的形式
OP R1 X2 B2 D2(操作碼)在一條RX(操作碼)型的指令中,OP碼字段指出所要求的操作,第一個操作數位于寄存器R1中,第二個操作數位于主存儲器單元中,其地址是X2+B2+D2。X2和B2一般系指通用寄存器的操作方式,但對上面這條指令而言,則作為變址器和基地寄存器,D2是一個位移量。當執行這條指令時,其結果放在寄存器R1中。
如所周知,RX型指令包含有一個浮點算術運算型的子指令集。浮點運算的含義是很好理解的。關于浮點數據格式、術語和操作過程在Anderson等人的文章“1BM360系統91型的浮點執行部件(1BMSYSTEM/360 Model91Floating-Point Execution Unit)”中詳細地作了評論,這篇文章刊登在1967年1月的IBM雜志(IBM Journal)的34到53頁,并在上面提到的供本文參考用的專利申請中也對這些內容作了評述。
RX型浮點算術源指令由EAP20轉換為浮點算術目標指令供IPU發放并供FPU16執行。
RX型浮點算術指令能夠產生修改條件碼(CC)或提出程序中斷請求(IR)的結果。如所周知,CC條件的狀態確定正在執行的源程序的分枝路徑。中斷請求將導致程序的控制從正在執行的程序中轉移。因此,在仿真源指令流的時候,必須考慮這些指示。在EAP20中,CC和IR的當前狀態保持在一個狀態寄存器34中。指令轉換電路27檢查狀態寄存器34中的內容,以便在必要時執行程序分枝和中斷動作。
影響上述指示的浮點指令是在FPU16中實現的,CC和IR是由FPU16連同其它一些信息源提供的。CC和IR分別借助于信號線35和36提供。FPU16還借助于信號線38提供一個加快了的正確性響應(AVR)信號。FPU16在CC和IR正確地反映出當前由這個FPU16正在執行的那條浮點算術指令的結果時就給出AVR信號。正如上面讀到過的那個美國專利申請中所講的那樣,FPU16能夠在浮點算術指令完成之前建立CC和IR,而通常是由浮點算術指令的結果來確定它們的狀態。當CC和IR產生以后,FPU16激勵AVR,通知EAP20可以檢查寄存器34的內容了。AVR的出現時間可能在一條浮點算術指令開始后不久直到指令完成這一段時間區間內,按照傳統的方法,CC和IR是在指令結束時被取樣的。
為了利用FPU16提前生成的CC和IR,本發明為EAP20提供一個等待令牌電路,這個電路通知EAP20和IPU10浮點算術目標指令完成翻譯和發放的時刻,在隨著已發放的那條浮點算術目標指令的執行而產生CC和IR之前限制再翻譯和發放目標指令、并通知EAP20和IPU10CC和IR的產生時間,從而使得指令的翻譯和發放能夠提前恢復。
當源浮點算術指令裝入寄存器26時,指令轉換電路27產生翻譯源指令時要用到的微指令串的首地址。由浮點算術指令產生的所有微指令序列均以WAIT微指令結尾。這個WAIT微指令是告訴本發明設施開始產生等待令牌的信號。為此,在源浮點算術指令存放到寄存器26時,它的OP碼字段就提供給通常的譯碼器(D)40,產生一個為首的令牌先兆信號。在生成的微指令序列尾部的WAIT微指令存入寄存器31時,那條微指令的操作碼也被送到譯碼器40,產生第二個令牌先兆信號。符合譯碼器42對上述兩個令牌先兆信號作出反應,在信號線43上產生一個WAIT TOKEN(等待令牌)信號。這個WAIT TOKEN信號被送到等待令牌隊列45,該隊列由多級暫存器序列組成,其中包括暫存器46和47。當WAIT微指令處于微指令寄存器31中時,基干目標浮點指令連同由指令轉換電路27提供的關于該指令用的操作數字段的數據分別借助于信號線23a和23b一起進入指令合并寄存器32。利用多相管道時鐘的一個相位時鐘把WAIT TOKEN從暫存器46送到暫存器47。當這個WAIT TOKEN信號進入暫存器47時,這個暫存器產生一個HOLD信號,該信號被送到指令轉換電路27、指令合并寄存器32和指令寄存器33,還送到狀態寄存器34。只要HOLD信號保持有效,就能防止更改寄存器32、33和34中的數據。同時,HOLD信號還中止指令轉換電路27的操作。
在WAIT TOKEN信號隨著第二個多相時鐘(CLKB)被送入暫存器47的同時,目標浮點指令在IPU10中從指令合并寄存器移到指令寄存器33。在這個指令寄存器33中,這條指令被發送并送到FPU16。FPU16執行被發放的那條指令的操作并針對反映該指令執行結果的狀態建立條件碼CC和中斷請求。在FPU16產生CC和IR后,AVR隨著出現,它將清除暫存器47,從而使HOLD信號失效。
當HOLD信號失效時,現行的CC和IR從FPU16進入狀態寄存器34。在有了狀態時,指令轉換電路27檢查狀態寄存器34中的內容,以便采取必要的分枝或中斷操作。隨著HOLD信號的消失和下一條基干指令的生成,一條合并后的指令將寄放在寄存器32,接著又被送到指令寄存器33。
熟悉上述技巧的人將會很清楚,WAIT TOKEN電路45對快速生成的AVR信號作出反應,并使目標指令的翻譯和發放在一條正執行的目標浮點算術指令完成之前就開始進行。有經驗的技術人員將會贊同這種加速性的操作提高了圖1所示的那個仿真器操作的并發性,因此,增加了這個仿真器操作的總速度。
參考圖3將會明白本發明如何實現上述的第二個目標即在仿真源RX型浮點算術指令的執行時,如何減少執行目標機操作所需的時間。在圖3中,IPU除了包括指令寄存器33外,還包括一組通用寄存器(GPR)50、一個譯碼電路52和一對多路轉換器(MUX)54,56。通用寄存器用于IPU10中的指令處理操作。譯碼控制電路按常規從寄存器33中的那條目標指令的OP碼字段那里接收OP碼信息和該指令D字段中的信息。D字段規定要被執行的控制操作,標明哪個控制器負責本操作。責任明確之后,譯碼控制電路52為多路轉接器54、56和通用寄存器50產生控制信號以便執行OP碼所指定的操作,當需要做加工指令的操作時,D字段指明譯碼控制電路52并使該電路能夠處理一個規定的操作。此種操作可能是從主存貯器中取數據,此時,由MUX54完成把取出的數據送往一個指定的GPR的操作。當要用O/R數據總線18交換數據時,譯碼控制電路52指使MUX56傳輸此數據,還指使一個GPR送出或接收此數據。由譯碼電路52所實現的補充操作還包括取立即數指令,這條指令使存放在寄存器33中的那條指令的寄存器字段(RT、RA或RB)中的一個值送到預先確定的一個GPR寄存器中去。
圖3還詳細地說明了FPU16,它包括一個可以由被發放的目標指令的D字段指定的控制部件60,用來控制或使FPU各資源的操作同步,以指揮在被發放的那條目標指令的OP字段和D字段中所規定的指令的執行。FPU有一些內部用的資源,其中包括一組浮點寄存器(FPR)62。這一組FPR62包含許多通用的64位寄存器,用于臨時貯存由FPU控制的浮點操作的操作數和結果。FPU的算術和邏輯操作由執行部件(X)64和65實現。如所周知,執行部件可以包括(舉例說)乘/除執行部件、加/減/移位部件和執行基數操作的部件。因為IPU和與它有關的其它功能部件都是用32位數據和指令結構組裝起來的,所以FPU16的數據界面是一個32位的界面寄存器(IR)66,它與32位的數據總線18交換數據。
現在讓我們同時參看圖3和圖4,就不難理解本發明在仿真“短”RX型浮點算術源指令時的操作過程。術語“短”指的是RX型的操作數是32位長。因此,IPU10和FPU16之間的數據界面18能夠在單個存貯周期內傳輸整個操作數。在圖4中S1這一步,當一條短源RX型指令進入EAP20時,EAP將著手做一個微指令序列,這個微指令序列包括一條要送到IPU10去的LOAD IMMEDIATE(直接取)指令,該指令指定IPU為其執行部件。這條指令將用指令寄存器字段(RT、RA和RB)之一來傳送與RX型指令的X2、B2、D2三字段之和對應的存貯器地址。該地址將被取到某個GPRi。接著,在微指令序列執行期間,IPU的一條LOAD指令將按保存在GPRi指定的地址取出操作數存放到GPRj中。這就是圖4中S2這一步。現在,微指令序列的最后一條指令導致一條目標浮點算術指令被取到寄存器33準備發放。被發放的指令作為一條擴展的RX(ERX)短型目標指令。這樣的一條指令使IPU的控制電路52把GPRj的內容放到數據總線21上;此內容就是源RX指令的X字段的操作數。FPU接收發送來的那條指令并把它譯碼為寄存器型的浮點算術指令,其中第一個操作數位于該指令的RA字段指定的FPR寄存器中,第二個操作數位于發送來的那條指令的RB字段指定的界面寄存器66之中。目標指令的執行結果放在該指令的RT字段指出的FPR寄存器中。
圖4所示的流程適用于用目標寄存器一寄存器型浮點指令來仿真源RX型浮點算術指令的情形。如果在圖4中不增設RX型這個條件,那么必須扦入把GPRj中的操作數送到一個浮點寄存器去然后再執行一條浮點寄存器一寄存器型指令的附加步驟。這個附加步驟應扦在圖4中S2和S3的這兩步之間。
現在來看圖3和5,我們將會明白為了仿真一條RX型的長(64位)操作數的浮點算術指令本發明是如何工作的。在EAP響應擴充的RX型指令的要求而生成的微指令序列中,圖4所示的序列作為開頭,S10這一步提供一條LOAD IMMEDIATE(直接取)指令,該指令把RX指令的X字段的地址放到GPRi之中,我們將會意識到GPRi中的地址定義了一個64位長的雙字操作數。因此接著LOAD IMMEDIATE指令之后,有兩條LOAD指令(S11和S12這兩步)也被加入到微指令序列,從而使IPU先把X字操作數的高位(HO)四字節取到GPRi,然后把這個操作數的低位(LO)四字節取到GPRk。在S13這一步中,有一條EAP生成的供IPU用的微指令序列的倒數第二條指令,它由一條準備供FPU執行的長擴展RX(ERX)型浮點指令組成。實際上,FPU把這條指令看成一條擴展的寄存器一寄存器型指令,它涉及到一對64位長的操作數,操作數之一存放在該指令的RA字段指出的FPR寄存器中。FPU從界面寄存器66中得到第二個操作數。第二個操作數是經過界面寄存器66分段送到FPU的,即在發放指令的同時把GPRj中的高位4字節先送到界面寄存器66,這就是S13這一步,然后是S14,在這一步,隨同微指令序列中最后一條目標指令傳送低四字節。最后一條指令指明為FINRX指令,只供IPU執行。指令的執行過程包括把GPRk中的低位4字節傳送到界面寄存器66。因此,圖5所示的執行過程能夠借助于擴充的寄存器一寄存器型目標浮點指令來有效地仿真源RX型浮點指令。FINRX啞指令采用了32位目標機體系結構的仿真序列。
顯然,根據以上解釋,本發明可以有許多修正和變種,因此不難理解我們后面的附加要求,這些要求使本發明能夠實際做成與前面具體描述過的不一樣的設施。
權利要求
1.用來仿真源CPU指令執行的一個系統,該系統包括一個主存器、一個作為加工和發放翻譯后目標指令用的目標指令部件、若干執行目標指令用的目標功能部件和一個用于接收源指令并把源指令翻譯為目標指令的指令翻譯部件(翻譯器),及一種用以加快源指令的翻譯和執行的改進,其特征在于在所說的翻譯器中有一種設施,在源浮點算術指令的翻譯過程中,這種設施能產生一個浮點令牌信號;在所說的浮點部件中有一個結果設施,它能夠產生結束信號以指出翻譯后得到的那條目標浮點指令的執行結果,所說的結果信號能在所說的被發現的目標浮點指令執行完成之前生成;在所說的與上述系統設施相連的翻譯器中,還有一個多級等待隊列,用來接收所說的令牌信號并隨著上述翻譯過程的要求把此令牌信號移到一個等待階段,在上述的結束信號出現后再從所說的等待階段中轉去所說的等待令牌信號;還有一個與所述的等待階段相連的系統設施,用在所說的等待階段中如果有等待令牌信號的話就限制指令的翻譯和發放。
2.上述權利要求
1的進一步改進,其特征是所說的源浮點算術指令為RX型指令,所說的目標指令為RR型指令,此目標指令可針對所說的RX型指令的操作數執行,這種改進還包括在所說的指令部件中有一個寄存器,用來接收所述的RX型指令的X字段指出的一個浮點操作數;在所說的浮點部件中有一個可以選接到上述寄存器的一個數據接口設施,用以緩沖對于所說的浮點部件的操作數;在所說的指令部件中還有一個設施,用在發放所說的RR型目標指令之前,從所說的X字段指出的主存單元中得到所說的操作數,并使上述的數據接口設備與上述的寄存器接通,以便與發放RR型目標指令的同時傳送所說的操作數。
3.上述權利要求
1的另一種改進,其特征是所說的源指令為擴展的RX型指令,所說的目標指令是RR型指令,該指令能以上述RX型指令的操作數為背景進行操作,這種改進還包括在所說的指令部件中有兩個寄存器,分別稱之為第一個和第二個,這兩個寄存器分別用于接收所說的RX型指令的X字段所指出的擴充浮點操作數的前半和后半;在所說的浮點部件中有一個數據接口設施,它可以和上述的第一寄存器或第二寄存器選通,以便順序地緩沖對上述浮點部件的第一半和第二半操作數;在所述的指令部件中還有一個設施,用在發放所述的RR型目標指令之前從所說的X字段指出的主存單元中取得所說操作數的前半和后半、并使上述的數據接口設施成功地和上述的第一和第二寄存器接通,以便在所說的RR型目標指令被發放的同時傳送分成兩半的操作數。
專利摘要
在一個仿真源CPU指令執行的一個系統中,有一個把源指令轉換為目標指令的翻譯部件(翻譯器)和一個用來處理和發放翻譯后目標指令的目標CPU指令部件。在仿真某些源浮點算術指令的執行時,上述設施為加快指令的翻譯、發放和執行提供了條件。當一條源浮點算術指令被仿真時,有一個令牌被放入翻譯器中的等待隊列中,以便在得到有效的條件碼或中斷信息之前阻止源指令的翻譯和目標指令的發放。
文檔編號G06F9/44GK87106442SQ87106442
公開日1988年6月15日 申請日期1987年9月19日
發明者詹姆斯·阿萊克桑德·米徹爾, 約翰·弗里德里克·比克德爾 申請人:國際商用機器公司導出引文BiBTeX, EndNote, RefMan