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

超標(biāo)量處理機(jī)系統(tǒng)中單周期調(diào)度多指令的方法和系統(tǒng)的制作方法

文檔序號:6414640閱讀:196來源:國知局
專利名稱:超標(biāo)量處理機(jī)系統(tǒng)中單周期調(diào)度多指令的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及一種改進(jìn)型數(shù)據(jù)處理系統(tǒng),尤其涉及一種提高超標(biāo)量處理機(jī)系統(tǒng)指令調(diào)度效率的方法和系統(tǒng)。在更具體地,本發(fā)明涉及一種超標(biāo)量處理機(jī)系統(tǒng)單周期調(diào)度多指令的方法和系統(tǒng)。
現(xiàn)代數(shù)據(jù)處理系統(tǒng)的設(shè)計者試圖不斷增強(qiáng)系統(tǒng)的運行性能。提高數(shù)據(jù)處理效率的一種技術(shù)是達(dá)到短的周期時間和低的每指令周期數(shù)(CPI)比。把這些技術(shù)應(yīng)用到增強(qiáng)型數(shù)據(jù)處理系統(tǒng)的一個突出例子是國際商用機(jī)器公司的RISC系統(tǒng)/6000(RS/6000)計算機(jī)。RS/6000系統(tǒng)的目的是不僅在數(shù)字密集的工程和科學(xué)應(yīng)用而且在多用戶商用環(huán)境中都良好運行。RS/6000處理機(jī)使用了一種超標(biāo)量實現(xiàn),它的意思是同時發(fā)出和執(zhí)行多個指令。
同時發(fā)出和執(zhí)行多指令需要一些獨立的功能部件,這些部件能在高指令帶寬下并發(fā)執(zhí)行。RS/6000系統(tǒng)通過使用本質(zhì)上是流水線的分離的分支部件、定點處理部件和浮點處理部件來達(dá)到這一點。由于這類系統(tǒng)中處理機(jī)的流水線特性,必須小心保證對執(zhí)行后繼指令所需要的某特定指令的結(jié)果要在調(diào)度該后繼指令之前獲得。保證所謂“數(shù)據(jù)相關(guān)事件”不會出現(xiàn)的技術(shù)阻礙在完成調(diào)度前面所有指令之前對某一特定指令進(jìn)行調(diào)度。盡管這種技術(shù)保證數(shù)據(jù)相關(guān)事件不會出現(xiàn),應(yīng)用這種技術(shù)帶來的性能損失是相當(dāng)大的。
因此,現(xiàn)代超標(biāo)量數(shù)據(jù)處理系統(tǒng)經(jīng)常采用一種通常所說的“數(shù)據(jù)相關(guān)互鎖電路”。這種電路具有與指令調(diào)度電路一致運行的邏輯來保證在為正確執(zhí)行某指令而需從前面的指令得到的結(jié)果尚未獲得之前該指令不會受到調(diào)度。實現(xiàn)數(shù)據(jù)相關(guān)互鎖電路的邏輯總量和每條指令中源操作數(shù)的數(shù)據(jù)成正比。源操作數(shù)是指令中的一個字段,其用來訪問寄存器文件中的一個操作數(shù),以實現(xiàn)對指令的執(zhí)行。
盡管數(shù)據(jù)相關(guān)互鎖電路能在不造成上述明顯性能損失的情況下避免出現(xiàn)數(shù)據(jù)相關(guān)事件。但是為包括大量源操作數(shù)和目的操作數(shù)的指令而設(shè)計和實現(xiàn)的數(shù)據(jù)相關(guān)互鎖電路變得相當(dāng)復(fù)雜。相關(guān)互鎖防止了相關(guān)指令的調(diào)度,這些相關(guān)指令阻止那些本身可能是不相關(guān)的和可執(zhí)行的后繼指令進(jìn)入調(diào)度分配器得到調(diào)度和執(zhí)行。
在應(yīng)用一種稱為“寄存器更名”方法時也提到隨著在每個處理機(jī)周期同時執(zhí)行多指令而出現(xiàn)的數(shù)據(jù)相關(guān)事件。寄存器更名是這樣一種技術(shù),在一條指令的最后結(jié)果被放到一個寄存器文件之前,暫時把某一特定指令的結(jié)果放到一個寄存器中可供后面指令潛在使用。寄存器更名通常是這樣實現(xiàn)的,即設(shè)置一個具有附加定位的寄存器文件數(shù)組和一個指針裝置來識別已賦作為邏輯寄存器的特定物理寄存器?,F(xiàn)有技術(shù)中還利用多寄存器文件數(shù)組來提供數(shù)據(jù)的多個“讀”端口或在異常情況下保留以前的結(jié)果作為備用。
盡管該技術(shù)提供了同時調(diào)度和執(zhí)行多指令的能力,要不然可能需要連續(xù)的執(zhí)行操作,使用該技術(shù)把指令調(diào)度給執(zhí)行部件時存在著一個問題。一條指令對利用特定的數(shù)據(jù)或特定的操作數(shù)進(jìn)行執(zhí)行的要求通常使在單處理機(jī)周期內(nèi)把一條指令及相關(guān)數(shù)據(jù)調(diào)度到一個執(zhí)行部件成為不可能,因為調(diào)度部件或執(zhí)行部件必須對查找表或指針系統(tǒng)進(jìn)行復(fù)雜的閱讀來確定何時臨時寄存器含有執(zhí)行該指令所需要的數(shù)據(jù)。
顯而易見,需要一種方法和系統(tǒng),它通過實現(xiàn)對指令中的數(shù)據(jù)和操作數(shù)迅速的調(diào)度來達(dá)到在單處理機(jī)周期內(nèi)對超標(biāo)量處理機(jī)的指令調(diào)度。
本發(fā)明的一個目的是提供一種改進(jìn)的數(shù)據(jù)處理系統(tǒng)。
本發(fā)明的另一個目的是提供一種改進(jìn)的方法和系統(tǒng)以提高超標(biāo)量處理機(jī)系統(tǒng)中的指令調(diào)度效率。
本發(fā)明的再一個目的是為超標(biāo)量處理機(jī)系統(tǒng)單周期指令調(diào)度提供一種改進(jìn)的方法和系統(tǒng)。
上述目的是按下述實現(xiàn)的。本發(fā)明的方法和系統(tǒng)允許為超標(biāo)量處理機(jī)系統(tǒng)進(jìn)行單周期指令調(diào)度,即同時把多個指令調(diào)度給一組執(zhí)行部件進(jìn)行執(zhí)行并把其結(jié)果放到指定的通用寄存器中。每條指令通常包括至少一個源操作數(shù)和一個目的地操作數(shù)。設(shè)置了一批中間存儲器緩沖區(qū)而且每次把一條指令調(diào)度給一個可使用的執(zhí)行部件,把某一特定中間存儲器緩沖區(qū)分配給該被調(diào)度指令中的任一目的地操作數(shù),通過取消確定和選擇特定通用寄存器或指定的替代通用寄存器的這個需求達(dá)到在單周期內(nèi)對指令的調(diào)度。
通過下面詳盡的文字說明將會更清楚上述提要和本發(fā)明的其他目的、特性和優(yōu)點。
對本發(fā)明本身以及最佳應(yīng)用方式,進(jìn)一步目的和其優(yōu)點的最好了解可通過參考直觀性實施例的下述詳細(xì)說明并連帶參閱相應(yīng)附圖來達(dá)到。附圖為

圖1是可用來實現(xiàn)本發(fā)明方法和系統(tǒng)的超標(biāo)量數(shù)據(jù)處理系統(tǒng)高層方塊圖;圖2是可用來實現(xiàn)本發(fā)明方法和系統(tǒng)的超標(biāo)量數(shù)據(jù)處理系統(tǒng)(圖1)指令調(diào)度電路系統(tǒng)的更詳細(xì)方塊圖;圖3是一個高層方塊圖,描述根據(jù)本發(fā)明的方法和系統(tǒng)的超標(biāo)量處理系統(tǒng)(圖1)中中間存儲器緩沖區(qū)的應(yīng)用;圖4是根據(jù)本發(fā)明的方法和系統(tǒng)的一個調(diào)度控制進(jìn)行程的圖解表示;圖5是一個邏輯流程圖,描述根據(jù)本發(fā)明的方法和系統(tǒng)的一個單周期指令調(diào)度進(jìn)程;而圖6是一個邏輯流程圖,描述根據(jù)本發(fā)明的方法和系統(tǒng)在選定的指令中確定源操作數(shù)的一個進(jìn)程。
現(xiàn)看附圖特別是圖1,圖1是實現(xiàn)本發(fā)明方法和系統(tǒng)的超標(biāo)量數(shù)據(jù)處理系統(tǒng)10的高層方塊圖。如所示,數(shù)據(jù)處理系統(tǒng)10包括一個存儲器18,其可存儲數(shù)據(jù)、指令等等。利用超高速緩沖器/存儲器接口20按熟練的技術(shù)人員熟知的方式存儲在存儲器18內(nèi)的數(shù)據(jù)或指令得到最好地存取。超高速緩沖存儲器系統(tǒng)容量估計和應(yīng)用是數(shù)據(jù)處理技術(shù)中一門得到很好了解的子專科,本應(yīng)用中不再論述。盡管如此,熟練的技術(shù)人員懂得采用現(xiàn)代相聯(lián)超高速緩沖器技術(shù),利用臨時地存儲在超高速緩沖器/存儲器接口20中的數(shù)據(jù),可以達(dá)到存儲器存取高百分率。
從超高速緩沖器/存儲器接口20出來的指令通常裝入到最好有多個隊列位置的指令分配器22中。在超標(biāo)量數(shù)據(jù)處理系統(tǒng)典型實施例中指令分配器的每個位置可包括2到8個指令,因此,在一給定周期,最多可有8個指令被裝入到指令分配器22中,取決于有多少個有效的指令通過了超高速緩沖器/存儲器接口20和在指令分配器22中有多大可使用空間。
如在這種超標(biāo)量數(shù)據(jù)處理系統(tǒng)所典型的那樣,指令分配器22被用來把指令調(diào)度給執(zhí)行部件24。如圖1中所示,根據(jù)設(shè)計選擇數(shù)據(jù)處理系統(tǒng)10可以包括一個或多個浮點部件、定點處理部件、送入/存儲部件和一個分支處理機(jī)部件。這樣,指令分配器22在單周期內(nèi)可調(diào)度多個指令,每個執(zhí)行部件一條指令。根據(jù)設(shè)計選擇,執(zhí)行部件可包括保留站,保留站可允許在單周期內(nèi)對單一執(zhí)行部件調(diào)度多于一個的指令。這樣,超標(biāo)量處理機(jī)的多個執(zhí)行部件的每一個在單周期內(nèi)可接收多個指令。另外,在多處理機(jī)系統(tǒng)中指令可調(diào)度給帶有多個處理機(jī)的多個執(zhí)行部件24。
現(xiàn)參看圖2,它是可用來實現(xiàn)本發(fā)明方法和系統(tǒng)的超標(biāo)量數(shù)據(jù)處理系統(tǒng)(圖1)中的指令調(diào)度電路系統(tǒng)的較詳細(xì)方塊圖。如圖示,從超高速緩沖器/存儲器接口20出來的指令通常以組按應(yīng)用規(guī)定的順序序列裝入到指令分配器22中。因而,根據(jù)設(shè)計選擇,2個、4個或8個一組的指令從超高速緩沖器/存儲器接口20裝入到指令分配器22中,以在機(jī)會主義原理上調(diào)度到執(zhí)行部件24中的一個或多個執(zhí)行部件中。如圖2所表示的實施例中,這些執(zhí)行部件可包括1個浮點執(zhí)行部件26、多個送入/存儲部件28和30、多個定點執(zhí)行部件32和34和一個分支執(zhí)行部件36。當(dāng)然,如前面所討論的那樣,根據(jù)設(shè)計選擇數(shù)據(jù)處理系統(tǒng)10中可以包括更多的或更少的不同類型執(zhí)行部件。
如在這里所描述的這類超標(biāo)量數(shù)據(jù)處理系統(tǒng)中所典型的那樣,通常還設(shè)置一批通用寄存器。在圖2所描述的實施例中,設(shè)置了兩組通用寄存器,浮點通用寄存器44和定點通用寄存器46。從而,圖2所描述的執(zhí)行部件里多個指令的執(zhí)行結(jié)果通常存儲到一個選定的通用寄存器中供以后利用。根據(jù)本發(fā)明的一個重要特征,還設(shè)置了一批中間存儲器緩沖區(qū),即浮點中間存儲器緩沖區(qū)40和定點中間存儲器緩沖區(qū)42。如在這里更詳細(xì)的說明那樣,每個執(zhí)行部件通過一條獨立的總線和各個中間存儲器緩沖區(qū)相連接。于是,一個執(zhí)行部件所需的數(shù)據(jù)或一個執(zhí)行部件執(zhí)行一條指令所產(chǎn)生的數(shù)據(jù)可放置到一條獨立總線上并被存儲到一個指定的中間存儲器緩沖區(qū)中以供其他執(zhí)行部件利用或?qū)韨魉徒o一個通用寄存器。
按這種方式,不再需要保留通常與寄存器更名方法相關(guān)聯(lián)的復(fù)雜查找表,可將一個中間存儲器緩沖區(qū)有效地分配為一個目的操作數(shù)的存儲位置而迅速得到使用,允許該指令在單處理機(jī)周期內(nèi)得到調(diào)度,因為數(shù)據(jù)位置不再需要從一個更名寄存器文件里確定。此外,對指令的非順序性執(zhí)行成為可能,只要把這些指令的輸出暫時存儲在中間寄儲器緩沖區(qū)內(nèi),將來再按應(yīng)用規(guī)定的順序序列裝配到通用寄存器中。
如圖示,每個定點執(zhí)行部件通過一條獨立總線和定點中間存儲器緩沖區(qū)42相連,而浮點執(zhí)行部件通過一條獨立總線和各個浮點中間存儲器緩沖區(qū)40相連。如熟練的技術(shù)人員所懂得的那樣,送入/存儲部件28和30需要和浮點中間存儲器緩沖區(qū)40和定點中間存儲器緩沖區(qū)42相連,因為這些部件將要送入和存儲浮點和定點的兩種數(shù)據(jù)。
根據(jù)本發(fā)明的另一個重要特征裝備了一個完成緩沖器48。完成緩沖器48用來跟蹤執(zhí)行部件24中正在執(zhí)行的多標(biāo)量指令的完成。這些指令的執(zhí)行結(jié)果,如前面所述,暫時放在一個相關(guān)的中間存儲器緩沖區(qū)中,當(dāng)顯示出一條指令或一組指令已成功完成,按照應(yīng)用規(guī)定的順序序列可利用完成緩沖器48啟動把這些已完成指令數(shù)據(jù)的結(jié)果送入相應(yīng)的通用寄存器的傳輸。此外,當(dāng)出現(xiàn)異常條件時,完成緩沖器48可用來啟動在異常出現(xiàn)前任何已完成指令的執(zhí)行結(jié)果的存儲,還可用來控制指令分配器22在出現(xiàn)異常條件的那一點再啟動該進(jìn)程,允許以一種有效方式用有效的輸出把錯誤的或無效的數(shù)據(jù)替換掉,或者可用來為特別類型的異常啟動由應(yīng)用專用程序規(guī)定的一個新的指令序列。
現(xiàn)參看圖3,它是根據(jù)本發(fā)明的方法和系統(tǒng)的超標(biāo)量處理機(jī)系統(tǒng)(圖1)中應(yīng)用中間存儲器緩沖區(qū)的高層方塊圖。設(shè)置了一個可由指令分配器22訪問的存儲器緩沖區(qū)索引58。如將在這里詳細(xì)描述的那樣,存儲器緩沖區(qū)索引58用來存儲和保留在一批中間存儲器緩沖區(qū)60中的各緩沖區(qū)和一個指定的通用寄存器之間的關(guān)系指示,以便應(yīng)用在后繼指令的執(zhí)行中。
多中間存儲器緩沖區(qū)60最好和多獨立總線64相連。在最佳實施例中,獨立總線64的數(shù)量等于中間存儲器緩沖區(qū)60的數(shù)量,各個中間存儲器緩沖區(qū)和一條總線相連。各個中間存儲器緩沖區(qū)60可對一條相應(yīng)的獨立總線64進(jìn)行讀和寫。熟練的技術(shù)人員公認(rèn)總線的采用數(shù)量可按設(shè)計選擇變化。
圖中顯示了多個執(zhí)行部件24a、24b、24c,它們和多獨立總線64的各條總線相連。最佳實施例中,執(zhí)行部件24a、24b、24c可以包括一個浮點執(zhí)行部件、多個送入/存儲部件、多個定點執(zhí)行部件和一個分支執(zhí)行部件。但是,熟練的技術(shù)人員懂得執(zhí)行部件的數(shù)量和類型可根據(jù)設(shè)計選擇變化。
多執(zhí)行部件24a、24b、26c中的每一個都可以對各條獨立總線64進(jìn)行讀入和寫給。從而,通過多獨立總線64多執(zhí)行部件24a、24b、24c中的每個和多中間存儲器緩沖區(qū)60的每個相連。這樣,當(dāng)在一個執(zhí)行部件里執(zhí)行一條指令生成數(shù)據(jù)后,該執(zhí)行部件可把這個數(shù)據(jù)放置到與定義為該數(shù)據(jù)目的地的某指定中間存儲器緩沖區(qū)所對應(yīng)的一條總線上,在那里該數(shù)據(jù)可暫時存儲起來。同時,通過把一個“有效”位設(shè)置到適當(dāng)?shù)臓顟B(tài)該執(zhí)行部件標(biāo)明該總線上的數(shù)據(jù)是有效的。如此,當(dāng)該數(shù)據(jù)在總線上時,以及在該數(shù)據(jù)被存到指定的中間存儲器緩沖區(qū)之前和存入的同時,任何需要該數(shù)據(jù)的其它執(zhí)行部件可從總線上檢索該數(shù)據(jù)。因此,預(yù)備獨立總線的一個優(yōu)點是不再需要把該數(shù)據(jù)存儲到一個緩沖器中然后再從緩沖器中訪問該數(shù)據(jù)。直接從總線檢索數(shù)據(jù)的能力可大大提高處理機(jī)系統(tǒng)的動行速度。
繼續(xù)參閱圖3,可以看到多獨立總線64的各條都和通用寄存器62連接。當(dāng)要把一條指令調(diào)度給一個執(zhí)行部件時,最好把指定的中間存儲器緩沖區(qū)和被選定的通用寄存器之間的關(guān)系存儲到存儲器緩沖區(qū)索引58。當(dāng)另一個執(zhí)行部件需要該執(zhí)行結(jié)果時,利用存儲器緩沖區(qū)索引58里的信息可進(jìn)行結(jié)果的傳送。如同在這里將詳細(xì)討論那樣,存儲器緩沖區(qū)索引58中存放的信息可是該指定中間存儲器緩沖區(qū)的一個標(biāo)識符,利用通用寄存器的標(biāo)識可對其進(jìn)行訪問,或者該存放的信息可是一個通用寄存器的標(biāo)識符,并可利用該指定中間存儲器緩沖區(qū)的標(biāo)識對此通用寄存器進(jìn)行訪問。
按這種方式,不再需要維護(hù)通常和寄存器更名方法有關(guān)的復(fù)雜查找表,因為在調(diào)度一條指令中可以將一個中間存儲器緩沖區(qū)立刻定為各目的操作數(shù)的存儲位置,而不需要對通用寄存器文件更名。進(jìn)而,存儲器緩沖區(qū)索引58允許按一種非順序方法執(zhí)行指令,因為各條指令的執(zhí)行結(jié)果暫時地存放在中間存儲器緩沖區(qū)60里,利用存儲器緩沖區(qū)索引58里的信息和完成緩沖器48里的內(nèi)容(見圖2)這些結(jié)果可由后繼指令接著使用。
現(xiàn)參看圖4,它是按照本發(fā)明的方法和系統(tǒng)的調(diào)度控制進(jìn)程的圖示表示。如所示,多個指令圖示在指令調(diào)度緩沖器64中。代表多指令的指令66、68、70和72按應(yīng)用規(guī)定的順序序列已裝載到指令調(diào)度緩沖器64中。每條指令,如圖示,一般包括一個源操作數(shù)和一個目的操作數(shù);但是,熟練的技術(shù)人員懂得可以有更多操作數(shù)。
按照本發(fā)明的一具重要特性,試圖調(diào)度指令72需要分配一個中間存儲器緩沖區(qū)以供目的地DN使用。另外需要指定一個位置以供源操作數(shù)SN利用。按照本發(fā)明的方法和系統(tǒng),它是這樣完成的,首先對源操作數(shù)SN與在指令調(diào)緩沖器中那些在該源操作數(shù)之前的目的操作數(shù)進(jìn)行比較。這樣,比較部件74用來對目的地D3、D2、D1和源操作數(shù)SN進(jìn)行比較。這個進(jìn)程用來確定為源操作數(shù)SN規(guī)定的位置是否目前已經(jīng)在指令調(diào)度緩沖器64之中。由于每條指令可以順序地修改源的內(nèi)容以及指令調(diào)度緩沖器64中的指令是按應(yīng)用規(guī)定的順序序列排列的,超前指令72量近的并和源操作數(shù)SN相等的目的地將得到利用。從而,如果利用比較部件74進(jìn)行的第一次比較表明相匹配則對源操作數(shù)SN的說明置為等于目的操作數(shù)D3。類似地,當(dāng)前面的目的操作數(shù)和源操作數(shù)SN都不匹配時,源操作數(shù)SN的說明可以被置為目的操作數(shù)D2或D1。
現(xiàn)參看圖5,其表示按照本發(fā)明的方法和系統(tǒng)的一個單周期指令調(diào)度進(jìn)程的邏輯源程圖。如所示,該進(jìn)程從框80開始然后進(jìn)入框82???2中判定是否某一指令產(chǎn)生對執(zhí)行部件的請求。如果沒有,則該進(jìn)程僅僅重復(fù)直到產(chǎn)生對執(zhí)行部件的請求為止。當(dāng)一個執(zhí)行部件請求產(chǎn)生后該進(jìn)程進(jìn)入框84。
框84中判定是否可以得到這條指令所要求類型的執(zhí)行部件。如果不能,進(jìn)程僅僅重復(fù)直到某一合適的執(zhí)行部件變?yōu)榭梢缘玫?。然后,進(jìn)程進(jìn)入框86???6中判定被調(diào)度指令中的各目的操作數(shù)是否可以得到一個中間存儲器緩沖區(qū)。根據(jù)本發(fā)明一個重要特性,一個中間存儲器緩沖區(qū)被分配給指令中的各個目的操作數(shù),這樣在單處理機(jī)周期內(nèi)可對該指令及相關(guān)數(shù)據(jù)進(jìn)行調(diào)度,不要求對通用寄存器文件中的一個更名寄存器進(jìn)行復(fù)雜的判斷。如果不能夠把一個中間存儲器緩沖區(qū)分配給選定指令中的目的操作數(shù),該進(jìn)程等候一個中間存儲器緩沖區(qū)可用。
接著,進(jìn)程進(jìn)入框88。框88中表示在可以得到這樣一個中間存儲器緩沖區(qū)后為該選定指令里的目的操作數(shù)分配一個中間存儲器緩沖區(qū)。然后,進(jìn)程進(jìn)入框90。在框90中判定是否該選定指令內(nèi)的所有源操作數(shù)都已得到規(guī)定。如將在下面更詳細(xì)說明那樣,在允許一條指令被調(diào)度之前,必須為它包含的各源操作數(shù)規(guī)定一個獲得數(shù)據(jù)的源或位置。若該選定指令的源操作數(shù)沒有全部得到規(guī)定,則進(jìn)程僅僅重復(fù),直到對每個源操作數(shù)的規(guī)定明確之刻。
當(dāng)選定指令的所有源操作數(shù)都得到規(guī)定后,進(jìn)程進(jìn)入框92。框92中表明在當(dāng)前的處理機(jī)周期內(nèi)對選定指令和數(shù)據(jù)說明進(jìn)行調(diào)度。從而通過允許可把中間存儲器緩沖區(qū)分配給各條指令的目的操作數(shù),本發(fā)明的方法和系統(tǒng)允許一條指令和執(zhí)行指令所需的數(shù)據(jù)說明可在一個單周期內(nèi)得到調(diào)度。然后,進(jìn)程進(jìn)入框94并返回。盡管上述進(jìn)程步驟描述為連續(xù)進(jìn)行的,熟練的技術(shù)人員懂得為效率目的這些步驟通常實質(zhì)上將同時并行出現(xiàn)。
最后參看圖6,它是一個邏輯流程圖,表示根據(jù)并發(fā)明的方法和系統(tǒng)確定選定指令中源操作數(shù)的進(jìn)程。如圖示,進(jìn)程從框100開始,然后進(jìn)入框102。在框102中識別指令中的一個源操作數(shù)以供說明。然后進(jìn)程進(jìn)入104???04中判定在指令調(diào)度緩沖器中某一指令以前的一個目的操作數(shù)是否和當(dāng)前正在考慮的源操作數(shù)相同。若是,進(jìn)程進(jìn)入框106。
框106中表示把該操作數(shù)說明設(shè)置為前面最近的目的操作數(shù)緩沖區(qū)分配。當(dāng)然,熟練的技術(shù)人員懂得應(yīng)用規(guī)定的順序序列中每條相繼的指令可改變已指定成為某特定的目的地的一個緩沖區(qū)的內(nèi)容。這樣,前面最近的目的操作數(shù)緩沖區(qū)分配應(yīng)該總是得到使用。然后進(jìn)程進(jìn)入框114并返回,此時已允許該指令得到調(diào)度,如圖5所示。
再次參看框104,若在指令調(diào)度緩沖器中前面的目的操作數(shù)都不等于當(dāng)前的源操作數(shù),進(jìn)程進(jìn)入框108???08中判定用于該源操作數(shù)的一個指令緩沖區(qū)是否如前面所述已經(jīng)指定的緩沖區(qū)索引中。若是,進(jìn)程進(jìn)入框110。在框110中把該源操作數(shù)說明設(shè)置為緩沖區(qū)索引中指定的緩沖區(qū),然后進(jìn)程進(jìn)入框114并返回。按這種方式,如果一個中間存儲器緩沖區(qū)已被分配給一個作為當(dāng)前指令的源的以前的目的地,則即使以前的指令已被調(diào)度,仍可完成適當(dāng)?shù)闹虚g存儲器緩沖區(qū)的識別。
最后再看框108,當(dāng)被識別源操作數(shù)的緩沖區(qū)未被指定在緩沖區(qū)索引中時,進(jìn)程進(jìn)入框112???12中把源操作數(shù)的說明置為通用寄存器文件中規(guī)定的通用寄存器,然后進(jìn)程返回,如框114所示。
盡管本流程圖的進(jìn)程是按連續(xù)方式描述的,熟練的技術(shù)人員懂得為提高指令的調(diào)度效率,對以前的一個目的操作數(shù)是否等于當(dāng)前的源操作數(shù)的判定,對一個指令緩沖區(qū)是否已在緩沖區(qū)索引中得到指定的判定或通用寄存器是否需要被指定為當(dāng)前源操作數(shù)的說明的判定通常是并行進(jìn)行的,以大大提高進(jìn)程的效率。
盡管通過參照最佳實施例本發(fā)明得到具體描述,熟練的技術(shù)人員會理解在不偏離本發(fā)明的精神和范圍的前提下可對其格式或細(xì)節(jié)進(jìn)行各種改變。
權(quán)利要求
1.一種可在超標(biāo)量處理機(jī)系統(tǒng)中提高指令調(diào)度效率的方法,它能夠在單處理機(jī)周期內(nèi)同時把多條標(biāo)量指令調(diào)度給多個執(zhí)行部件,所述多條標(biāo)量指令每條包括至少一個源操作數(shù)和一個目的操作數(shù),所述方法的特征在于包括以下步驟在所述超標(biāo)量處理機(jī)系統(tǒng)中設(shè)置多個中間存儲器緩沖區(qū);在單處理機(jī)周期內(nèi)確定所述多個執(zhí)行部件中是否有一個適當(dāng)?shù)膱?zhí)行部件可用來執(zhí)行從所述多條標(biāo)量指令中選定的一條指令;把所述多個中間存儲器緩沖區(qū)中的一個特定緩沖區(qū)分配給所述多條標(biāo)量指令中的所述一條選定指令里的所述目的操作數(shù);并且響應(yīng)于執(zhí)行部件的可用性以及多個中間存儲器緩沖區(qū)之一到所述目的操作數(shù)的分配,把所述多條標(biāo)量指令中的所述一條選定的指令調(diào)度給所述多個執(zhí)行部件中的一個適當(dāng)?shù)膱?zhí)行部件,從而對所述多條標(biāo)量指令中的所述一條選定指令的執(zhí)行結(jié)果可以寫進(jìn)到所述多個中間存儲器緩沖區(qū)中的所述一個特定緩沖區(qū)中。
2.根據(jù)權(quán)利要求1的方法,其特征在于包括這個步驟把所述多條標(biāo)量指令中所述的一條選定指令的所述執(zhí)行結(jié)果從所述多個中間存儲器緩沖區(qū)中的所述特定中間存儲器緩沖區(qū)里按照機(jī)會傳送到一個通用寄存器中。
3.根據(jù)權(quán)利要求1的方法,其特征在于包括這個步驟在所述單處理機(jī)周期內(nèi)確定所述多條標(biāo)量指令的前面一條指令中所含的一個目的操作數(shù)是否等于從所述多條標(biāo)量指令中所述的一條選定指令中的一個源操作數(shù)。
4.根據(jù)權(quán)利要求3的方法,其特征在于響應(yīng)于執(zhí)行部件的可用性以及多個中間存儲器緩沖區(qū)之一到所述目的操作數(shù)的分配、把所述多條標(biāo)量指令中的所述一條選定的指令調(diào)度給所述多個執(zhí)行部件中的一個適當(dāng)?shù)膱?zhí)行部件的步驟包括這樣的步驟響應(yīng)于執(zhí)行部件的可用性、所述多個中間存儲器緩沖區(qū)之一到所述目的操作數(shù)的分配以及所述多個中間存儲器緩沖區(qū)之一到所述多條標(biāo)量指令的所述前面一個指令的所述目的操作數(shù)的分配,把所述多條標(biāo)量指令中的所述一個選定的指令調(diào)度給所述多個執(zhí)行部件中的一個適當(dāng)?shù)膱?zhí)行部件。
5.一種可在超標(biāo)量處理機(jī)系統(tǒng)中提高指令調(diào)度效率的系統(tǒng),它能夠在單處理機(jī)周期內(nèi)同時把多條標(biāo)量指令調(diào)度給多個執(zhí)行部件,所述多條標(biāo)量指令每條包括至少一個源操作數(shù)和一個目的操作數(shù),所述系統(tǒng)的特征在于包括位于所述超標(biāo)量處理機(jī)系統(tǒng)中的多個中間存儲器緩沖區(qū);用于在單處理機(jī)周期內(nèi)確定所述多個執(zhí)行部件中是否有一適當(dāng)?shù)膱?zhí)行部件可用來執(zhí)行從所述多條標(biāo)量指令中選定的一條指令的裝置;用于在單處理機(jī)周期內(nèi)把所述多個中間存儲器緩沖區(qū)中的一個特定的緩沖區(qū)分配給所述多條標(biāo)量指令中的所述一條選定的指令里的所述目的操作數(shù)的裝置;以及用于響應(yīng)于執(zhí)行部件的可用性以及多個中間存儲器緩沖區(qū)之一到所述目的操作數(shù)的分配、在單處理機(jī)周期內(nèi)把所述多條標(biāo)量指令中的所述一條選定的指令調(diào)度給所述多個執(zhí)行部件中的一個適當(dāng)執(zhí)行部件、從而對所述多條標(biāo)量指令的所述一條選定的指令的執(zhí)行結(jié)果可以寫進(jìn)到所述多個中間存儲器緩沖區(qū)中的所述一個特定的中間存儲器緩沖區(qū)的裝置。
6.根據(jù)權(quán)利要求5的系統(tǒng),其特征在于包括用于把所述多條標(biāo)量指令中的所述一條選定指令的所述執(zhí)行結(jié)果從所述中間存儲器緩沖區(qū)中的一個特定中間存儲器緩沖區(qū)里按照機(jī)會傳送到一個通用寄存器的裝置。
7.根據(jù)權(quán)利要求5的系統(tǒng),其特征在于包括用于在所述單處理機(jī)周期內(nèi)確定所述多條標(biāo)量指令的前面一條指令中所含的一個目的操作數(shù)是否等于從所述多條標(biāo)量指令中所述一條選定指令中的一個源操作數(shù)的裝置。
8.根據(jù)權(quán)利要求7的系統(tǒng),其特征在于所述用于響應(yīng)于執(zhí)行部件的可用性以及多個中間存儲器緩沖區(qū)之一到所述目的操作數(shù)的分配、把所述多條標(biāo)量指令中的所述一條選定的指令調(diào)度給所述多個執(zhí)行部件中的一個適當(dāng)執(zhí)行部件的裝置包括用于響應(yīng)于執(zhí)行部件的可用性、所述多個中間存儲器緩沖區(qū)之一到所述目的操作數(shù)的分配以及所述多個中間存儲器緩沖區(qū)之一到所述多條標(biāo)量指令的所述前面一條指令的所述目的操作數(shù)的分配、在所述單個處理機(jī)周期內(nèi)把所述多條標(biāo)量指令中的一條選定的指令調(diào)度給所述多個執(zhí)行部件中能夠得到的一個適當(dāng)?shù)膱?zhí)行部件的裝置。
全文摘要
一種在超標(biāo)量處理機(jī)系統(tǒng)中實現(xiàn)單周期指令調(diào)度的方法和系統(tǒng),其把多指令同時調(diào)度給一組執(zhí)行部件進(jìn)行執(zhí)行并把所產(chǎn)生的結(jié)果置入規(guī)定的通用寄存器。設(shè)置一批中間存儲器緩沖區(qū),每次把一條指令調(diào)度給一個可用的執(zhí)行部件,某一特定的中間存儲器緩沖區(qū)被指定給所調(diào)度指令中的任一目的操作數(shù),通過取消任何確定和選擇特定通用寄存器或指定的替代通用寄存器的要求達(dá)到在單個周期內(nèi)對該指令的調(diào)度。
文檔編號G06F9/38GK1221913SQ9812380
公開日1999年7月7日 申請日期1998年10月30日 優(yōu)先權(quán)日1993年1月8日
發(fā)明者詹姆斯·A·卡勒, 郭星辰, 大衛(wèi)·S·萊文坦, 奧伯雷·D·奧格登, 阿里·A·布爾薩巴尼, 鮑爾·涂光國, 多納爾德·E·沃爾德克 申請人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
曲周县| 临漳县| 广平县| 盖州市| 舟山市| 青冈县| 德保县| 毕节市| 林甸县| 汽车| 林芝县| 阿城市| 永丰县| 漠河县| 大名县| 元谋县| 洪泽县| 织金县| 万全县| 会昌县| 修武县| 麻栗坡县| 冀州市| 蒙山县| 酉阳| 海城市| 子长县| 顺昌县| 信宜市| 慈溪市| 怀宁县| 成都市| 梅河口市| 桂东县| 塘沽区| 福清市| 莱州市| 华宁县| 视频| 红河县| 广南县|