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

獨(dú)立處理多個(gè)指令流、軟式控制各指令流的處理功能的多程序流程同時(shí)處理器的制作方法

文檔序號(hào):6412385閱讀:165來源:國(guó)知局
專利名稱:獨(dú)立處理多個(gè)指令流、軟式控制各指令流的處理功能的多程序流程同時(shí)處理器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及根據(jù)并行發(fā)出的來自多個(gè)指令流的指令、高效地使用多個(gè)運(yùn)算單元的信息處理器。
現(xiàn)有技術(shù)有在一個(gè)處理器內(nèi)同時(shí)處理多個(gè)指令流的多程序流程同時(shí)處理器。在“A Multithreaded Processor Architecture withSimultaneous Instruction Is suing”(In Proc.of ISS 91International Symposium on Supercomputing.Fukuoka.Japan,pp.87 96,November 1991)中詳細(xì)地說明了多程序流程同時(shí)處理器。


圖1是表示現(xiàn)有技術(shù)的多程序流程同時(shí)處理器的構(gòu)成框圖。圖中,多程序流程同時(shí)處理器配有指令超高速緩沖存儲(chǔ)器500、3個(gè)指令提取單元501、3個(gè)指令解碼單元502、12個(gè)備用站503、4個(gè)指令調(diào)度單元504、4個(gè)功能單元505、和寄存器組506,構(gòu)成為能同時(shí)獨(dú)立地執(zhí)行與圖中指令提取單元和指令解碼單元組相應(yīng)的3個(gè)指令流。其中,指令流相應(yīng)于指令提取單元和指令解碼單元組所構(gòu)成的處理流。
圖中,指令提取單元501從指令超高速緩沖存儲(chǔ)器500中讀出各個(gè)不同的指令流指令。
指令解碼單元502對(duì)各個(gè)指令流的指令解碼,在可處理的功能單元中連接該指令,在與可處理該指令的功能單元505連接的備用站503中裝入指令解碼結(jié)果(以下簡(jiǎn)單稱為指令)。
指令調(diào)度單元504選取來自備用站503的適當(dāng)指令,傳給空著的功能單元505。在與1個(gè)功能單元對(duì)應(yīng)的不同指令流的指令解碼結(jié)果裝在備用站503的情況下,按固定的序號(hào)選取指令。因而實(shí)現(xiàn)了指令流之間的公平。
功能元件505為執(zhí)行各個(gè)指令的運(yùn)算器,使用寄存器組506執(zhí)行來自備用站503的指令。各功能元件最好是相同的單元,在多數(shù)情況下配備比如寄存器/存儲(chǔ)器單元、整數(shù)運(yùn)算單元、浮動(dòng)小數(shù)點(diǎn)運(yùn)算單元、乘除運(yùn)算單元等類別的運(yùn)算器。
下面,簡(jiǎn)單地說明如上述構(gòu)成的多程序流程同時(shí)處理器的工作。
圖中的多程序流程同時(shí)處理器中,由于裝有3組指令提取單元501和指令解碼單元502,所以能夠并行地對(duì)3個(gè)指令流進(jìn)行提取·解碼。3個(gè)指令流和指令超高速緩沖存儲(chǔ)器500(或是圖外的主存儲(chǔ)器)所對(duì)應(yīng)的程序中,有1個(gè)程序?qū)?yīng)1個(gè)指令流的情況(從3個(gè)程序中產(chǎn)生3個(gè)指令流的情況),和1個(gè)程序?qū)?yīng)多個(gè)指令流的情況(從1個(gè)程序中產(chǎn)生3個(gè)指令流的情況)。后者比如為對(duì)于不同的圖象數(shù)據(jù)同時(shí)執(zhí)行多個(gè)指令流的1個(gè)圖象處理程序的情況。
解碼單元502通過備用站503、指令調(diào)度單元504,向接收該指令的功能單元發(fā)出解碼指令。各功能單元也按照來自相應(yīng)指令流的指令執(zhí)行已發(fā)出的指令。
這樣,多程序流程同時(shí)處理器的特征在于具有可同時(shí)執(zhí)行多個(gè)指令流的共有運(yùn)算器。
還有,多程序流程同時(shí)處理器是在1個(gè)處理器內(nèi)部處理多個(gè)指令流,因此可把執(zhí)行1個(gè)指令流的單元稱為邏輯處理器。
邏輯處理器有處理各個(gè)獨(dú)立的指令流的解碼單元、指令順序控制機(jī)構(gòu)和寄存器組等。由多個(gè)邏輯處理器使用的功能單元和超高速緩沖存儲(chǔ)器等在邏輯處理期間是共有的。
另一方面,可把對(duì)應(yīng)邏輯處理器的整個(gè)處理器稱為物理處理器。
還有,如果把多程序流程同時(shí)處理器與現(xiàn)有的超計(jì)數(shù)方式的處理器比較,由于超計(jì)數(shù)處理器僅進(jìn)行了功能單元的多重化(重復(fù)化),所以同時(shí)可處理的指令流為1個(gè),因指令之間的依存關(guān)系流水線聯(lián)鎖頻繁發(fā)生,其結(jié)果不能提高功能單元的使用效率,因而難以提高性能。而上述多程序流程同時(shí)處理器因能并行地執(zhí)行多個(gè)命令流的命令,所以可提高各功能單元的使用效率,實(shí)現(xiàn)性能的提高。
但是,上述多程序流程同時(shí)處理器構(gòu)成有下述問題。
第1,由于多個(gè)邏輯處理器具有共有的功能單元,所以有從多個(gè)指令流所發(fā)出的指令爭(zhēng)用功能單元的問題,因此,一定期間內(nèi),在特定邏輯處理器發(fā)出的指令與其他的邏輯處理器發(fā)出的指令相比不是很少的情況下,有降低該特定邏輯處理器性能的問題。而且,在邏輯處理器之間負(fù)荷差別大的情況下,即使有在邏輯處理器中分配相同處理內(nèi)容的指令流(由上述程序生成),但由于只是特定的指令流的處理遲緩,所以就會(huì)造成處理的結(jié)束時(shí)間有偏差、不能提高整體速度的情況。
第2,即使在邏輯處理器中可以分配各個(gè)不同的指令流而可使特定邏輯處理器較早執(zhí)行,因而相對(duì)地提高了特定邏輯處理器的處理速度的情況下,但由于不能占有指令超高速緩沖存儲(chǔ)器等共有資源,所以整體性能仍較低。例如,難以承擔(dān)有發(fā)生需要緊急中斷處理等情況。
鑒于上述問題,本發(fā)明的目的在于提供可軟式調(diào)整多個(gè)指令流之間各指令流的處理性能,并能提高整體處理效率的多程序流程同時(shí)處理器。
實(shí)現(xiàn)上述目的的多程序流程同時(shí)處理器,包括執(zhí)行各個(gè)指令的多個(gè)功能單元;與指令流對(duì)應(yīng)地設(shè)置,解碼各個(gè)指令、指定要執(zhí)行該指令的功能單元,同時(shí),還完成要求將解碼的指令發(fā)給該功能單元的指令發(fā)出要求的多個(gè)指令解碼器;存儲(chǔ)各指令流的指令流優(yōu)先權(quán)的存儲(chǔ)器;在2個(gè)以上的指令發(fā)出要求同時(shí)指定一個(gè)功能單元的情況下,根據(jù)存儲(chǔ)器中存儲(chǔ)的優(yōu)先權(quán),決定對(duì)該功能單元發(fā)出的解碼指令的控制器。
根據(jù)這種構(gòu)成,由于根據(jù)所述優(yōu)先權(quán)決定各功能單元中要發(fā)出的指令(指令解碼結(jié)果),所以可按優(yōu)先權(quán)軟式調(diào)整多個(gè)指令流之間負(fù)荷的分布,適當(dāng)實(shí)現(xiàn)各指令流必要的處理性能,并能達(dá)到提高整體處理效率的效果。
其中,所述存儲(chǔ)器還存儲(chǔ)可依據(jù)指令設(shè)定、表示停止還是執(zhí)行各指令流的指令流的標(biāo)記群;所述控制器也可配備執(zhí)行所述決定的調(diào)解器;和在設(shè)定表示停止的標(biāo)志的情況下,排除與該標(biāo)志對(duì)應(yīng)的指令流的指令發(fā)出要求,根據(jù)進(jìn)行的所述決定,停止該指令流的停止器。
依據(jù)這種構(gòu)成,在指令流處于其執(zhí)行過程中的怠速狀態(tài)和等待狀態(tài)的情況下,也能使指令流處于停止?fàn)顟B(tài)。其結(jié)果,由于可以優(yōu)先執(zhí)行其他指令流,所以還能提高整體處理性能。
其中,所述控制器還可配有禁止器,在其中一個(gè)指令流發(fā)生需要緊急處理的情況下,暫時(shí)禁止向功能單元發(fā)出所述控制器決定要發(fā)出的屬于該指令流指令的指令。
依據(jù)這種構(gòu)成,對(duì)某些指令流(邏輯處理器)發(fā)生需要緊急處理的情況下,利用禁止器暫時(shí)禁止該邏輯處理器發(fā)出指令。即在需要的緊急處理移動(dòng)完了前暫時(shí)禁止僅幾個(gè)周期的指令發(fā)出。因此,中斷處理的移動(dòng)可高速化。而且,由于在由調(diào)解器決定要發(fā)出的指令后,禁止器能禁止該指令的發(fā)出,所以在由調(diào)解器決定需要緊急處理的發(fā)生時(shí)限后,禁止器也可有效地禁止。例如,雖然有需要緊急處理的發(fā)生時(shí)限,但在機(jī)器周期期間的慢點(diǎn)內(nèi)也能達(dá)到所謂的有效禁止效果。
其中的一個(gè)功能單元可構(gòu)成為能接收指示優(yōu)先權(quán)變更的專用指令,在存儲(chǔ)器所存儲(chǔ)的優(yōu)先權(quán)中,可變更該專用指令所屬的指令流的優(yōu)先權(quán)。
這里,所述專用指令由指示提高或降低優(yōu)先權(quán)的操作碼組成。
所述功能單元中的1個(gè)也可構(gòu)成為能在專用指令的解碼結(jié)果發(fā)出的情況下,判別發(fā)出該專用指令的指令解碼器,提高或降低與判別的指令解碼器對(duì)應(yīng)的指令流的優(yōu)先權(quán)。
按照這種構(gòu)成,在上述專用指令中,由于沒有必要表示用于指定指令流的ID和指令流的比特位置的操作碼,所以無論對(duì)于哪個(gè)指令流都可用上述指令簡(jiǎn)單地變更自身指令流的優(yōu)先權(quán)。
此外,由于由所述1個(gè)功能單元變更該指令所屬的指令流的優(yōu)先權(quán),所以不會(huì)誤寫為不同指令流的優(yōu)先權(quán),可防止誤操作。例如,在RGB彩色圖象的不同顏色圖象數(shù)據(jù)中進(jìn)行上述圖象處理的場(chǎng)合,即在3個(gè)指令流獨(dú)立并同時(shí)執(zhí)行圖象處理的1個(gè)程序的場(chǎng)合,可使信息隱蔽(程序沒有必要區(qū)別是RGB中的哪一個(gè)),并能保證指令流的獨(dú)立性,其結(jié)果提高了OS和系統(tǒng)整體的可靠度。
其中所述存儲(chǔ)器包括有讀出專用的第1字段的控制寄存器;所述功能單元的一個(gè)還可以構(gòu)成為,在發(fā)出讀出寄存器的讀出指令的解碼結(jié)果的情況下,判別發(fā)出該讀出指令的指令解碼器,將與該指令解碼器對(duì)應(yīng)的指令流的ID作為第1字段讀出數(shù)據(jù)在內(nèi)部總線上輸出。
按照此構(gòu)成,在3個(gè)指令流獨(dú)立并同時(shí)執(zhí)行上述那樣的1個(gè)程序的情況下,實(shí)際上可把1個(gè)程序假設(shè)為3個(gè)程序并行執(zhí)行的情況。分別假設(shè)的程序(或指令流)因分別在第1字段讀出,所以可容易地知道指令流自身的ID。
其中所述存儲(chǔ)器有控制寄存器;
所述控制寄存器還用于存儲(chǔ)指令流固有數(shù)據(jù)的各指令流的個(gè)別字段和讀出專用的第2字段;所述功能單元的1個(gè)還可構(gòu)成為,在所述控制寄存器的讀出指令執(zhí)行期間,讀出各指令流的個(gè)別字段,同時(shí),將與發(fā)出該讀出指令的指令解碼器對(duì)應(yīng)的指令流的固有數(shù)據(jù)作為第2字段讀出數(shù)據(jù)在內(nèi)部總線上輸出。
按照這種構(gòu)成,上述假設(shè)的程序(或指令流)因在第2字段讀出,所以可容易地知道自身的優(yōu)先權(quán)。
其中所述存儲(chǔ)器有存儲(chǔ)各指令流優(yōu)先權(quán)的優(yōu)先權(quán)字段;所述優(yōu)先權(quán)字段由表示指令流執(zhí)行模式的其他優(yōu)先權(quán)的小字段組成;所述功能單元的1個(gè)還可構(gòu)成為,在專用指令解碼結(jié)果發(fā)出的情況下,判別發(fā)出該專用指令的指令解碼器,提高或降低與判別的指令解碼器對(duì)應(yīng)的指令流優(yōu)先權(quán)字段內(nèi)當(dāng)前執(zhí)行模式的小字段的優(yōu)先權(quán)。
依據(jù)此構(gòu)成,執(zhí)行模式,比如用戶程序模式和特定觀察程序模式中可設(shè)定獨(dú)立的優(yōu)先權(quán),在向其他模式移動(dòng)復(fù)歸的情況下可按原樣存儲(chǔ)原來的優(yōu)先權(quán)。
其中,多程序流程同時(shí)處理器還可包括功能單元中的1個(gè)開始執(zhí)行特定指令時(shí),檢測(cè)是哪個(gè)指令解碼器發(fā)出了該特定指令的解碼結(jié)果的特定指令檢測(cè)器;和在檢測(cè)特定指令開始執(zhí)行之時(shí),在預(yù)先確定的優(yōu)先權(quán)期間暫時(shí)地變更與發(fā)出該特定指令的指令解碼器對(duì)應(yīng)的指令流優(yōu)先權(quán),使其指令流的優(yōu)先權(quán)變得比其他指令流的優(yōu)先權(quán)高的暫時(shí)變更器。
按此構(gòu)成,由于暫時(shí)變更器暫時(shí)變更優(yōu)先權(quán),可保證指令流中的特定指令作為先頭的指令列,并保證在連續(xù)周期內(nèi)執(zhí)行。
其中,多程序流程同時(shí)處理器還包括存儲(chǔ)表示各指令流中的其他指令流是否處于要排他的停止?fàn)顟B(tài)的排他停止數(shù)據(jù)的排他停止數(shù)據(jù)存儲(chǔ)器;所述停止器還可構(gòu)成為,利用所述排他停止數(shù)據(jù),停止與正處于停止?fàn)顟B(tài)的指令流對(duì)應(yīng)的指令解碼部分向調(diào)解器的指令發(fā)出要求的通知。
依據(jù)此構(gòu)成,可強(qiáng)制停止把某些指令流作為其他指令流的處理。因此,可在大范圍內(nèi)進(jìn)行指令流之間的處理性能的調(diào)整。
此外,實(shí)現(xiàn)上述目的的多程序流程同時(shí)處理器為同時(shí)并獨(dú)立并行地執(zhí)行多程序流程同時(shí)處理器,它包括暫時(shí)存儲(chǔ)所述多個(gè)指令流的指令超高速緩沖存儲(chǔ)器;與所述多個(gè)指令流對(duì)應(yīng)地設(shè)置,提取來自指令超高速緩沖存儲(chǔ)器的指令流指令的多個(gè)指令提取器;指定所述多個(gè)指令流的各優(yōu)先權(quán)的優(yōu)先權(quán)指定器;在出現(xiàn)來自2個(gè)以上的指令超高速緩沖存儲(chǔ)器有同時(shí)指令提取要求的情況下,根據(jù)所述優(yōu)先權(quán)控制電路的優(yōu)先權(quán),調(diào)解指令提取要求的指令提取控制器。
依據(jù)此構(gòu)成,由于對(duì)指令超高速緩沖存儲(chǔ)器中來自多個(gè)指令提取器的指令提取要求有爭(zhēng)用的情況下按優(yōu)先權(quán)進(jìn)行調(diào)解,所以多程序流程同時(shí)處理器的上游處理中,可達(dá)到動(dòng)態(tài)調(diào)整各指令流處理性能的效果。
此外,實(shí)現(xiàn)上述目的的多程序流程同時(shí)處理器具有執(zhí)行指令的多個(gè)功能單元;從指令超高速緩沖存儲(chǔ)器提取并解碼指令,指定要執(zhí)行該指令的功能單元,輸出指令發(fā)出要求的多個(gè)指令解碼部分;有與指令解碼部分?jǐn)?shù)量相同的寄存器組;是同時(shí)且獨(dú)立地執(zhí)行與指令解碼部分?jǐn)?shù)量相同的多個(gè)指令流的多程序流程同時(shí)處理器,它包括存儲(chǔ)依據(jù)指令流中的指令在各指令流中設(shè)定的指令流優(yōu)先權(quán)的存儲(chǔ)器;對(duì)于多個(gè)指令流的共有資源,在兩個(gè)以上的指令流同時(shí)爭(zhēng)用的情況下,根據(jù)所述優(yōu)先權(quán)調(diào)解的控制器;對(duì)所述共有資源的爭(zhēng)用為對(duì)一個(gè)功能單元有來自兩個(gè)以上的指令解碼部分的指令發(fā)出要求的爭(zhēng)用、對(duì)指令超高速緩沖存儲(chǔ)器有來自兩個(gè)以上的指令解碼部分的指令提取要求的爭(zhēng)用、對(duì)一個(gè)寄存器組有來自兩個(gè)以上的功能單元的處理要求的爭(zhēng)用的其中之一。
依據(jù)此構(gòu)成,對(duì)指令流的共有資源有來自多個(gè)指令流處理要求的爭(zhēng)用情況下,由于按優(yōu)先權(quán)進(jìn)行調(diào)解,所以可以達(dá)到軟式調(diào)整各指令流處理性能的效果。
從本發(fā)明的實(shí)施例及其附圖中,可進(jìn)一步說明本發(fā)明的這些和其他目的、優(yōu)點(diǎn)和特征。其中圖1是表示現(xiàn)有的多程序流程同時(shí)處理器的構(gòu)成框圖。
圖2是表示本發(fā)明實(shí)施例的多程序流程同時(shí)處理器的構(gòu)成框圖。
圖3是表示本發(fā)明實(shí)施例中指令流控制器的優(yōu)先順序指定寄存器的說明圖。
圖4是表示上述實(shí)施例中指令流控制器的優(yōu)先順序指定寄存器的低位2比特的說明圖。
圖5是表示上述實(shí)施例中指令流控制器的優(yōu)先順序指定寄存器的高位1比特的說明圖。
圖6是表示上述實(shí)施例中指令流控制器的內(nèi)部中斷寄存器的構(gòu)成圖。
圖7是表示上述實(shí)施例中指令流控制器的隔斷停止寄存器的構(gòu)成圖。
圖8是表示上述實(shí)施例中指令發(fā)出判斷部分的詳細(xì)構(gòu)成例的框圖。
圖9是表示上述實(shí)施例中指令發(fā)出調(diào)解部分的詳細(xì)構(gòu)成例的框圖。
圖10A-圖10C是表示上述實(shí)施例中優(yōu)先判定部分的控制邏輯的說明框圖。
圖11是表示上述實(shí)施例中指令發(fā)出禁止部分的詳細(xì)構(gòu)成例的框圖。
圖12是表示功能單元專用指令及控制寄存器的讀出指令的執(zhí)行內(nèi)容的說明圖。
圖13是表示優(yōu)先順序控制部分的詳細(xì)構(gòu)成框圖。
圖14是表示連續(xù)循環(huán)優(yōu)先部分內(nèi)的選擇器中輸入的選擇信號(hào)與輸出值關(guān)系的說明圖。
圖15是表示本發(fā)明其他實(shí)施例的多程序流程同時(shí)處理器的框圖。
圖2是表示本發(fā)明實(shí)施例的多程序流程同時(shí)處理器的主要部分的構(gòu)成框圖。
本多程序流程同時(shí)處理器具有指令解碼部分1-3、功能單元A20、功能單元B21、功能單元C22、功能單元D23、指令發(fā)出判斷部分30、指令發(fā)出調(diào)解部分40、指令發(fā)出禁止部分50、優(yōu)先順序控制部分60和指令選擇部分70,被構(gòu)成為能相應(yīng)于邏輯處理器的執(zhí)行狀態(tài)和指令流的優(yōu)先權(quán)及外部因素調(diào)解向各功能單元發(fā)出的指令。
并且,本多程序流程同時(shí)處理器雖然配有圖1所示的指令超高速緩沖存儲(chǔ)器、指令提取單元、寄存器文件等,但在圖2中省略了與現(xiàn)有技術(shù)例相同的部分。此外,為方便說明在本實(shí)施例中,各指令解碼部分對(duì)每1指令流解碼1指令,并且1次只發(fā)出1個(gè)指令。
圖2中,指令解碼部分1-3解碼各個(gè)的指令流的指令,根據(jù)解碼結(jié)果,向指令發(fā)出解碼部分30輸出指令發(fā)出要求,向指令選擇部分70輸出指令內(nèi)容(執(zhí)行等)。其中,指令發(fā)出要求包括要求有指令發(fā)出的標(biāo)記(以下稱為標(biāo)記),和包含顯示執(zhí)行該指令的功能單元的種類(以下稱為功能序號(hào))的信息。由于獨(dú)立解碼指令流,所以指令解碼部分1-3與上述各個(gè)的邏輯處理器相對(duì)應(yīng)。本實(shí)施例中,由于1個(gè)物理處理程序中內(nèi)裝3個(gè)邏輯處理器,所以設(shè)有3個(gè)指令解碼部分。以后,為相區(qū)別,把與指令解碼部分1-3對(duì)應(yīng)的邏輯處理器稱為邏輯處理器1-3。相應(yīng)地,與邏輯處理器1-3相應(yīng)的指令流被稱為指令流1-3。
功能單元A20、B21、C22、D23(以下稱為功能單元A、B、C、D)通過指令選擇部分70接收從指令解碼部分1-3發(fā)出的指令(解碼結(jié)果),并執(zhí)行該指令,即進(jìn)行數(shù)據(jù)存取處理和運(yùn)算處理等。為容易理解,例示了各功能單元的功能完全相同的處理內(nèi)容。
也就是說,功能單元A是處理存儲(chǔ)器存取指令的寄存存儲(chǔ)單元,功能單元B是處理整數(shù)運(yùn)算的整數(shù)運(yùn)算單元,功能單元C是進(jìn)行浮動(dòng)小數(shù)點(diǎn)的加減運(yùn)算和整數(shù)與浮動(dòng)小數(shù)點(diǎn)之間的變換的浮動(dòng)小數(shù)點(diǎn)單元,功能單元D是進(jìn)行浮動(dòng)小數(shù)點(diǎn)的乘除運(yùn)算的浮動(dòng)小數(shù)點(diǎn)單元。并且,本實(shí)施例中,作為整數(shù)運(yùn)算的一個(gè)處理內(nèi)容,功能單元B有處理與優(yōu)先權(quán)設(shè)定有關(guān)的指令的功能。這些功能單元與為邏輯處理器1-3的構(gòu)成部分的邏輯處理器一一對(duì)應(yīng),并且也可共用邏輯處理器1-3。此外,按照是否在指令處理過程中,各功能單元把能接收指令的狀態(tài)(以下簡(jiǎn)單稱為ready)或不能接收的狀態(tài)(以下簡(jiǎn)單稱為not ready)通知給指令發(fā)出判斷部分30。
指令發(fā)出判斷部分30接收來自指令解碼部分1-3的指令發(fā)出要求(上述要求標(biāo)記和功能單元序號(hào)),判斷先發(fā)出指令的功能單元,并且接收表示各功能單元是否ready的通知,和接收來自優(yōu)先順序控制部分60的表示各邏輯處理器是處于停止?fàn)顟B(tài)還是處于執(zhí)行狀態(tài)的通知,判斷是否可對(duì)各功能單元A-D發(fā)出指令。
在判斷可對(duì)1個(gè)功能單元發(fā)出時(shí)存在有多個(gè)指令發(fā)出要求的爭(zhēng)用的情況下,指令發(fā)出調(diào)解部分40按照優(yōu)先順序控制部分60中指定的各邏輯處理器的優(yōu)先權(quán),調(diào)解多個(gè)指令發(fā)出要求,決定一個(gè)要發(fā)出的指令。
按照指令發(fā)出調(diào)解部分40的調(diào)解結(jié)果,指令發(fā)出禁止部分50最終判斷是否發(fā)出該指令,判斷的結(jié)果在指令選擇部分70中指示要發(fā)出的指令。具體地說,在需要在各邏輯處理器中進(jìn)行緊急處理的情況下,對(duì)于該邏輯處理器的指令流的指令暫時(shí)禁止發(fā)出,不在這樣的情況下,就按指令選擇部分70中指示發(fā)出指令。由于指令發(fā)出禁止部分50暫時(shí)禁止著指令的發(fā)出,在發(fā)生由指令發(fā)出判斷部分30及指令發(fā)出調(diào)解部分40處理后需要上述緊急處理的情況下,這就是把它作為最優(yōu)先的緣故。指令發(fā)出禁止部分50設(shè)置在指令調(diào)解部分40之后,把從外部中斷的發(fā)生時(shí)間至禁止指令發(fā)出時(shí)的延遲時(shí)間抑制到最小。
優(yōu)先順序控制部分60進(jìn)行各邏輯處理器的優(yōu)先權(quán)管理,以及指示各邏輯處理器處于執(zhí)行狀態(tài)還是停止?fàn)顟B(tài)的信息管理,向指令發(fā)出調(diào)解部分40通知上述優(yōu)先權(quán),向指令發(fā)出判斷部分30通知是否處于上述執(zhí)行狀態(tài)。而且,在特定的指令執(zhí)行時(shí),優(yōu)先順序控制部分60具有在預(yù)定數(shù)的連續(xù)循環(huán)期間優(yōu)先進(jìn)行該邏輯處理器的功能(以下稱為連續(xù)循環(huán)優(yōu)先功能)。作為上述優(yōu)先權(quán)及是否示出執(zhí)行狀態(tài)的管理,優(yōu)先順序控制部分60配有3個(gè)控制寄存器即優(yōu)先順序指定寄存器、內(nèi)部中斷寄存器、排他寄存器。這些寄存器依據(jù)指令流中的指令設(shè)定其值。
指令選擇部分70根據(jù)來自指令禁止部分50的發(fā)出源的指令解碼部分及指示先發(fā)出的功能單元的指令發(fā)出指示,向功能單元A-D發(fā)出指令解碼部分1-3的解碼指令(操作等)。
<優(yōu)先順序控制部分60優(yōu)先順序指定寄存器>
圖3是表示裝在優(yōu)先順序控制部分60中的優(yōu)先順序指定寄存器(以下稱為PRI寄存器)的比特構(gòu)成的說明圖。
圖中,PRI寄存器有MYID、PR13、PR12、PR11、MYPRI的各字段,存儲(chǔ)著指示各邏輯處理器的優(yōu)先順序及是否處于停止?fàn)顟B(tài)的信息。
MYID字段為在邏輯處理器中執(zhí)行本PRI寄存器的讀出指令時(shí)指示執(zhí)行該讀出指令的邏輯處理器的ID字段。例如,在邏輯處理器3中執(zhí)行該讀出指令的情況下,就讀出指示邏輯處理器3的ID(比如100)。
PR13字段為邏輯處理器3的優(yōu)先順序及指示是否處于停止?fàn)顟B(tài)的字段。
PR12、PR11字段為各個(gè)邏輯處理器2、1中與PR13相同的字段。
MYPRI字段為邏輯處理器中執(zhí)行本PRI寄存器的讀出指令時(shí)指示執(zhí)行該讀出指令的邏輯處理器優(yōu)先順序的字段。例如,在邏輯處理器1中執(zhí)行該讀出指令的情況下,在MYPRI字段中復(fù)制并讀出PR11字段的內(nèi)容。
圖4是表示PRI寄存器中PR13-PR11字段各個(gè)的低位2比特分配的說明圖。圖中把PR13-1簡(jiǎn)略為PRIx,在[ ]內(nèi)附記著字段內(nèi)的比特位置。但是,x表示邏輯處理器序號(hào)(或線序號(hào))。
圖中PRIx[10]表示低(lowest)、中(middle)、高(highest)3個(gè)級(jí)別的優(yōu)先順序。由于用2比特表示3個(gè)級(jí)別的優(yōu)先順序,所以就可能分別把PRIx[1]設(shè)定為監(jiān)督程序方式,把PRIx
設(shè)定為用戶程序方式。這種優(yōu)先順序的設(shè)定根據(jù)下面表示的專用指令(存儲(chǔ)表示)由功能單元B進(jìn)行。
〖incpri〗此指令提高優(yōu)先順序,即在監(jiān)督程序方式中把PRIx[1]設(shè)定為1、在用戶程序方式中把PRIx
設(shè)定為1。
〖decpri〗此指令降低優(yōu)先順序,即在監(jiān)督程序方式中把PRIx[1]設(shè)定為0、在用戶程序方式中把PRIx
設(shè)定為0。
這些指令與通常寄存器之間的數(shù)據(jù)傳送指令不同,不需要操作數(shù),由于僅為操作碼的指令,所以無論對(duì)哪一個(gè)指令流都可作為可采用的相同指令。例如,存在從1個(gè)程序中生成多個(gè)指令流、對(duì)各指令流承擔(dān)不同的數(shù)據(jù)進(jìn)行并行處理的情況。
例如,按照這些指令及圖中的比特分配,即使在由用戶程序方式向監(jiān)督程序方式移動(dòng)后變更優(yōu)先順序的情況下,仍存儲(chǔ)用戶程序方式時(shí)恢復(fù)以前的優(yōu)先權(quán)。例如,在用戶程序方式中發(fā)生中斷,即使暫時(shí)向監(jiān)督程序方式移動(dòng),從中斷處理返回用戶程序方式前,通過向源返回PRIx[1],存儲(chǔ)用戶程序方式中的優(yōu)先順序。
圖5是表示優(yōu)先順序的PRI寄存器中的PR13-1字段各個(gè)高位1比特分配的說明圖。
圖中PRIx[2]表示邏輯處理器是處于執(zhí)行狀態(tài)或處于停止?fàn)顟B(tài)。從執(zhí)行狀態(tài)變?yōu)橥V範(fàn)顟B(tài)的設(shè)定根據(jù)下面表示的專用指令(存儲(chǔ)表示)由功能單元B進(jìn)行。
〖halt〗此指令使發(fā)出源的邏輯處理器進(jìn)入停止?fàn)顟B(tài)。也就是把該邏輯處理器的PRIx[2]設(shè)定為1。并且,把此指令的停止?fàn)顟B(tài)與由其他指令的停止?fàn)顟B(tài)進(jìn)行區(qū)別時(shí)就稱為自停止?fàn)顟B(tài)。
自停止?fàn)顟B(tài)的解除(恢復(fù)執(zhí)行狀態(tài))不依據(jù)指令,而是依據(jù)對(duì)該邏輯處理器的中斷輸入。即在多程序流程同時(shí)處理器中由于中斷處理是在個(gè)別邏輯處理器中發(fā)生的,所以對(duì)自停止?fàn)顟B(tài)中某些邏輯處理器的中斷(外部中斷、內(nèi)部中斷等)可在發(fā)生時(shí)解除。
<優(yōu)先順序控制部分60內(nèi)部中斷寄存器>
圖6是表示內(nèi)裝在優(yōu)先順序控制部分60的內(nèi)部中斷寄存器(以下稱為IR寄存器)的比特構(gòu)成說明圖。其中,所謂的內(nèi)部中斷是邏輯處理器之間的中斷,也稱為從一個(gè)邏輯處理器向其他邏輯處理器的中斷。由于進(jìn)行內(nèi)部中斷的邏輯處理器在自停止?fàn)顟B(tài)情況下可解除自停止?fàn)顟B(tài),所以可使用在比如邏輯處理器之間的同步處理和同步通信的情況。
圖中所示的IR寄存器有MYID字段和IR3-IR1比特、是用于對(duì)其他邏輯處理器要求內(nèi)部中斷的寄存器。
由于MYID字段與上述圖5所述相同,所以不再說明。
IR3-IR1比特是對(duì)邏輯處理器3要求其他邏輯處理器內(nèi)部中斷的比特。此比特如果為ON,那么按照接收該中斷要求的指令解碼部分3的控制,在把PR3[2]設(shè)定為0的同時(shí),IR3返回OFF。其中,利用把PR3[2]設(shè)定為0,可解除邏輯處理器3的自停止?fàn)顟B(tài)。
IR2、IR1比特是對(duì)各個(gè)邏輯處理器2、1要求中斷的比特,與IR3比特相同。
IR3-IR1比特的設(shè)定根據(jù)通常的寄存器傳送指令進(jìn)行。在通常的寄存器傳送指令中由于有在IR3-IR1比特位置上直接中斷的需要,所以對(duì)各指令流有必要區(qū)別是自身的邏輯處理器ID還是中斷前的邏輯處理器ID,通過讀出上述的MYID字段,對(duì)各指令流就能夠進(jìn)行邏輯處理器ID的操作。
<優(yōu)先順序控制部分60排他停止寄存器>
圖7是表示內(nèi)裝在優(yōu)先順序控制部分60中的排他停止寄存器(以下稱為EXCL寄存器)的比特構(gòu)成說明圖。其中,把除某1個(gè)處理程序之外的邏輯處理器停止稱為排他停止。但是,2個(gè)以上的邏輯處理器不能作為同時(shí)的排他停止?fàn)顟B(tài)。
圖中所示的EXCL寄存器是有MYID字段和EXCL3-EXCL1的各比特、僅使1個(gè)邏輯處理器處于執(zhí)行狀態(tài)、對(duì)其他邏輯處理器要求停止?fàn)顟B(tài)的寄存器。
由于MYID字段與上述圖3和圖6相同,所以不再說明。
EXCL3比特表示該比特ON時(shí)邏輯處理器3執(zhí)行排他停止。這種情況下,僅邏輯處理器3執(zhí)行,使邏輯處理器2和邏輯處理器1變?yōu)橥V範(fàn)顟B(tài)。
EXCL2、EXCL1的各比特也是同樣的。這些EXCL3-EXCL1的各比特根據(jù)下面表示的專用指令(存儲(chǔ)表示)由功能單元B進(jìn)行設(shè)定和解除。
〖excsv〗該指令是對(duì)發(fā)出源的邏輯處理器中的排他停止的設(shè)定即是停止發(fā)出源以外的所有邏輯處理器的指令。例如,邏輯處理器1執(zhí)行該指令的情況下,把EXCL1設(shè)定為ON,把EXCL2和EXCL3設(shè)定為OFF。此外,即便假設(shè)多個(gè)邏輯處理器同時(shí)發(fā)出此指令,也不會(huì)停止所有邏輯處理器的操作。其原因是,因僅在功能單元B中執(zhí)行該指令,所以用執(zhí)行時(shí)間限定1個(gè)。
〖retex〗此指令是對(duì)發(fā)出源的邏輯處理器的排他停止的解除、即按源狀態(tài)恢復(fù)其他所有邏輯處理器的指令。例如,邏輯處理器1執(zhí)行該指令的情況下,把EXCL1設(shè)定為OFF。
此指令也和上述incpr指令、decpr指令一樣不需要操作數(shù),無論對(duì)于哪一個(gè)指令流都可使用相同的指令。
上述PRI寄存器、IR寄存器、EXCL寄存器的3個(gè)控制寄存器分別是1個(gè)物理的實(shí)體,由于各寄存器的MYID字段和PRI寄存器的MYPRI字段是顯示自邏輯處理器自身的值,所以可看到由各邏輯處理器中與邏輯處理器不同的寄存器的存在。此外,由于這樣的控制寄存器的尋址都與邏輯處理器相同,即使執(zhí)行相同的指令,也能看到各個(gè)的自邏輯處理器自身的ID和優(yōu)先順序。
<指令發(fā)出判斷部分30>
圖8是表示圖2的指令發(fā)出部分30的詳細(xì)構(gòu)成例的框圖。該指令發(fā)出判斷部分30配有停止判斷部分310、分配部分320、發(fā)出判斷部分330。
停止判斷部分310配有與指令解碼部分1-3分別對(duì)應(yīng)的3組NOR電路和AND電路。各組NOR電路和AND電路從指令解碼部分接收上述指令發(fā)出要求(要求標(biāo)記和功能單元序號(hào)),在各邏輯處理器中變?yōu)樽酝V範(fàn)顟B(tài)(PRI寄存器的PRIx[2]為ON)或變?yōu)榘磁潘V沟耐V範(fàn)顟B(tài)(EXCLx比特為ON)的情況下,把要求的標(biāo)記信號(hào)(以下稱為要求有無信號(hào))強(qiáng)制OFF,并且在執(zhí)行狀態(tài)中利用排他停止未停止的情況下,照樣輸出要求的有無信號(hào)。
分配部分320配有與指令解碼部分1-3分別對(duì)應(yīng)的3個(gè)信號(hào)分離器。各信號(hào)分離器通過停止判斷部分310把輸入的要求有無信號(hào)、根據(jù)功能單元序號(hào)的該指令分配給執(zhí)行該指令的功能單元。結(jié)果,輸出各功能單元中來自各指令解碼部分的要求有無信號(hào)。
發(fā)出判斷部分330配有與功能單元A-D分別對(duì)應(yīng)的4組AND電路群。各AND電路群將分配部分320分配的要求有無信號(hào)、在上述功能單元為ready狀態(tài)的情況下,照樣輸出,在not ready狀態(tài)的情況下,進(jìn)行OFF輸出。其中,在顯示有ready狀態(tài)的ready-n信號(hào)(n為A、B、C或D)表示對(duì)應(yīng)功能單元接收指令狀態(tài)為來自與邏輯處理器1-3對(duì)應(yīng)的功能單元x的輸出信號(hào)。例如,對(duì)于來自指令發(fā)出判斷部分330的輸出信號(hào)(1A-3A、1B-3B、1C-3C、1D-3D),無論哪一個(gè)邏輯“1”時(shí)就有效(能夠發(fā)出指令),例如,輸出信號(hào)1A表示在指令角碼部分1先發(fā)出的發(fā)出源是功能單元A,輸出信號(hào)3B表示在指令解碼部分3中先發(fā)出的發(fā)出源是功能單元B。
<指令發(fā)出調(diào)解部分40>
圖9是表示圖2的指令發(fā)出調(diào)解部分40的詳細(xì)構(gòu)成例的框圖。該指令發(fā)出調(diào)解部分40配有分別對(duì)應(yīng)功能單元A-D的調(diào)解部分40A-40D。由于各調(diào)解部分進(jìn)行同樣的工作,所以僅以調(diào)解部分40A為代表進(jìn)行說明。調(diào)解部分40A配有優(yōu)先順序判定部分41A和判定輔助部分42A。
優(yōu)先順序判定部分41A接收由發(fā)出判斷部分330輸出的信號(hào)1A、2A、3A,和各邏輯處理器的優(yōu)先順序PRI1[10]、PRI2[10]、PRI3[10],將有效的要求有無信號(hào)中優(yōu)先順序最高的輸出。圖10A-圖10C示出優(yōu)先順序判定部分41A中為實(shí)現(xiàn)這種功能的控制原理圖。
圖10A中,表示在PRI寄存器中的PRI1、PRI2、PRI3字段指定邏輯處理器1-3的優(yōu)先順序?yàn)镻RI1>PRI2>PRI3的情況,即表示優(yōu)先等級(jí)中(PRI1、PRI2、PRI3)=(高、中、低)的情況的輸入1A、2A、3A,輸出1A、2A’、3A。此外,圖中雖未示出,但即使在優(yōu)先順序?yàn)镻R1>PR3>PR2的情況下、PR2>PR1>PR3的情況下、PR2>PR3>PR1的情況下、PR3>PR1>PR2的情況下,還是PR3>PR2>PR1的情況下,由于僅讀出更換其中的信號(hào)名就變?yōu)橥耆嗤目刂圃?,所以省略說明。
圖10B中,表示優(yōu)先順序?yàn)镻RI1=PRI2>PRI3的情況,即表示優(yōu)先等級(jí)中(PRI1、PRI2、PRI3)=(高、高、中)、(高、高、低)或(中、中、低)的情況。圖中雖未示出,但即使在優(yōu)先順序?yàn)镻R1=PR3>PR2的情況下、PR2=PR1>PR3的情況下、PR2=PR3>PR1的情況下、PR3=PR1>PR2的情況下,還是PR3=PR2>PR1的情況下,由于僅讀出更換其中的信號(hào)名就變?yōu)橥耆嗤目刂圃?,所以省略說明。此外,象圖中所加的波浪線的輸出信號(hào)、輸入信號(hào)中的優(yōu)先順序最高,并且在有效信號(hào)為2個(gè)以上的情況下,優(yōu)先順序判定部分41A以“1”作為其輸出。
圖10C中,表示優(yōu)先順序?yàn)镻RI1>PRI2=PRI3的情況,即(PRI1、PRI2、PRI3)=(高、中、中)、(高、低、低)或(中、低、低)的情況。此外,圖中雖未示出,但即使在優(yōu)先順序?yàn)镻R1>PR3=PR2的情況下、PR2>PR1=PR3的情況下、PR2>PR3=PR1的情況下、PR3>PR1=PR2的情況下,還是PR3>PR2=PR1的情況下,由于僅讀出更換其中的信號(hào)名就變?yōu)橥耆嗤目刂圃?,所以省略說明。
此外,優(yōu)先順序判定部分41A在優(yōu)先順序?yàn)镻RI1=PRI2=PRI3的情況、有效信號(hào)為2個(gè)以上的情況下,以“1”作為其輸出的有效信號(hào)。
判定輔助部分42A在把PRI寄存器中的優(yōu)先順序設(shè)定為相同邏輯處理程序的同時(shí)輸出指令發(fā)出要求的情況下,即優(yōu)先順序判定部分41A的輸出(1A、2A’、3A)中“1”為2個(gè)以上的情況下,為了無偏向地調(diào)整邏輯處理器之間的指令發(fā)出,所以其中有“1”就判定。例如,判定輔助部分42A進(jìn)行(1)用各循環(huán)(1次循環(huán)或數(shù)次循環(huán))改變?yōu)?的邏輯處理器;(2)以前能發(fā)出指令的邏輯處理器優(yōu)先;(3)確定固定其中一個(gè)。此外,能把這些進(jìn)行替換更好。
<指令發(fā)出禁止部分50>
圖11是表示圖2的指令發(fā)出禁止部分50的詳細(xì)構(gòu)成例的框圖。該指令發(fā)出禁止部分50配有分別與功能單元A-D對(duì)應(yīng)的禁止部分50A 50D、和發(fā)出通知部分55。由于各禁止部分進(jìn)行相同的操作,所以這里以禁止部分50A為代表進(jìn)行說明。
禁止部分50A,作為要求的緊急處理,包括在外部中斷要求、內(nèi)部中斷要求、超高速緩沖存儲(chǔ)器錯(cuò)誤和存儲(chǔ)器存取誤差等的存取例外、收集指令等發(fā)生的情況下,檢測(cè)其發(fā)生源的邏輯處理器ID和控制該邏輯處理器1循環(huán)期間禁止指令發(fā)出的禁止控制部分51A;依據(jù)禁止控制部分51A的指示選通調(diào)解部分40A的輸出信號(hào)(1AA-3AA)按指令選擇部分70的結(jié)果輸出指令發(fā)出指示(1AAA-3AAA)的3個(gè)AND電路;和通知對(duì)應(yīng)功能單元A的指令發(fā)出的OR電路。
發(fā)出通知部分55由對(duì)應(yīng)指令解碼部分1-3的3個(gè)OR電路組成,各自輸出來自禁止部分51A-51D的各邏輯處理器的指令發(fā)出指示,輸出發(fā)出通知,通知可發(fā)出對(duì)應(yīng)指令解碼部分中發(fā)出的一個(gè)指令。
<功能單元B>
功能單元B構(gòu)成為除執(zhí)行整數(shù)運(yùn)算指令外,還執(zhí)行上述各種專用指令和讀出PRI寄存器、EXCL寄存器、IR寄存器的指令。
再有,對(duì)于上述專用指令,本實(shí)施例中雖由功能單元B執(zhí)行,但也可由構(gòu)成的其他功能單元執(zhí)行。
圖12是表示用功能單元B執(zhí)行上述專用指令和讀出指令的執(zhí)行內(nèi)容的說明圖。圖中,[x]表示該指令的發(fā)出源的邏輯處理器序號(hào),[y]表示該指令的發(fā)出源以外的邏輯處理器ID。這個(gè)邏輯處理器序號(hào)由來自禁止部分50B的輸出信號(hào)(圖11的1BBB-3BBB)通知功能單元B。
如圖所示的功能單元B,對(duì)于指令〖inc pri〗,在監(jiān)督程序方式中把PRI寄存器的PRIx[1]比特設(shè)定為1,在用戶程序方式中把PRIx
比特設(shè)定為1。
對(duì)于指令〖dec pri〗,在監(jiān)督程序方式中把PRIx[1]比特設(shè)定為0,在用戶程序方式中把PRIx
比特設(shè)定為0。
對(duì)于指令〖halt〗,把該邏輯處理器的PRI寄存器的PRIx[2]比特設(shè)定為1。
對(duì)于指令〖excsv〗,把EXCL寄存器的EXCLx比特設(shè)定為1,把EXCLy設(shè)定為0。例如,邏輯處理器2在本指令的發(fā)出源的情況下,功能單元B把EXCL2比特設(shè)定為1,把EXCL3比特和EXCL1比特設(shè)定為0。
對(duì)于指令〖retex〗,把EXCLx比特設(shè)定為0。
這樣的上述專用指令還有相同的指令,根據(jù)該指令發(fā)出源的邏輯處理器進(jìn)行寄存器中不同的比特的操作。
此外,對(duì)于圖12所示的各mov指令,功能單元B按下述執(zhí)行。
〖mov PRI,RO〗指令為把PRI寄存器內(nèi)容向RO寄存器傳送的指令。對(duì)該指令功能單元B按下面的指令執(zhí)行。
對(duì)PRI寄存器中的MYID字段(=PRI[3129]),將該指令的發(fā)出源的邏輯處理器ID寫入RO[3129]的各比特。
對(duì)于PRI寄存器中的PRI[119](=PRI3,PRI2,PRI1字段)的各比特,讀出該數(shù)據(jù)后傳送給RO寄存器中的[113]。
對(duì)于PRI[20](=MYPRI字段),將與PRI3、PRI2、PRI1字段中該指令發(fā)出源的邏輯處理器ID對(duì)應(yīng)的PRIx寫入RO[3129]的各比特。
〖mov IR,RO〗指令為向RO寄存器傳送IR寄存器內(nèi)容的指令。對(duì)于該指令,功能單元B依據(jù)IR寄存器中的MYPRI字段(=IR[3129])在RO[3129]的各比特中寫入該指令發(fā)出源的邏輯處理器ID。對(duì)于IR[20](=IR3,IR2,IR1比特)的各比特,讀出其值后寫入RO[20]的各比特中。
〖mov EXCL,RO〗指令為向RO寄存器傳送的EXCL寄存器內(nèi)容的指令。按照此指令的功能單元B的執(zhí)行內(nèi)容,與上述〖mov IR,RO〗指令相比,除傳送源為IR寄存器外均相同。
通過執(zhí)行上述的讀出指令,各邏輯處理器可獲得由讀出的MYID字段的自身邏輯處理器ID的值、其他邏輯處理器的狀態(tài)(優(yōu)先狀態(tài)、自停止?fàn)顟B(tài)、排他停止?fàn)顟B(tài)等)。
<優(yōu)先順序控制部分60的詳細(xì)構(gòu)成>
圖13是表示優(yōu)先順序控制部分60的詳細(xì)構(gòu)成的框圖。
優(yōu)先順序控制部分60配有PRI寄存器61、IR寄存器62、EXCL寄存器63、選擇器64、連續(xù)循環(huán)優(yōu)先部分69。
由于在圖3、圖6、圖7中概要說明了PRI寄存器61、IR寄存器62、EXCL寄存器63的比特構(gòu)成,所以這里說明其硬件構(gòu)成。
這些寄存器61-63與本多程序流程同時(shí)處理器的內(nèi)部總線連接,通過內(nèi)部總線在功能單元B中進(jìn)行讀出和寫入。
這些寄存器的高位3比特(MYID字段)沒有存儲(chǔ)數(shù)據(jù)的功能,寄存器的讀出指令執(zhí)行時(shí),向直通的內(nèi)部總線輸出邏輯處理器ID。這時(shí)的邏輯處理器ID值由來自禁止部分50B的輸出信號(hào)(圖11的1BBB-3BBB)通知。
此外,PRI寄存器62的低位3比特在PRI寄存器的讀出指令執(zhí)行時(shí)向直通的內(nèi)部總線輸出選擇器64的輸出。
選擇器64在PRI寄存器的讀出指令執(zhí)行時(shí),在PRI寄存器62中的PRI3,PRI2,PRI1的字段內(nèi),選擇與其指令發(fā)出源的邏輯處理器ID對(duì)應(yīng)的ID后,經(jīng)IR寄存器62中的[MYPRI]字段輸出給內(nèi)部總線。
連續(xù)循環(huán)優(yōu)先部分69在特定的指令列執(zhí)行期間具有使其優(yōu)先權(quán)暫時(shí)變高的功能。其中,比如說執(zhí)行與其他邏輯處理器共享資源的讀出和寫入等情況下,特定的指令列是指有必要用連續(xù)循環(huán)執(zhí)行的指令列。
下面,舉一個(gè)特定指令列的實(shí)例。但是,指令是用助記憶符號(hào)顯示的。并且,下面是表示指令內(nèi)容的注釋。
LOOP級(jí)別aldst MEM[100].RO也稱為原子裝載啟動(dòng)(Atomic LoaD STart)。向RO傳送存儲(chǔ)器(100號(hào)地址)的數(shù)據(jù)test RO若RO=0則把0特征位設(shè)定為1beq LOOP若零標(biāo)記為1則向級(jí)別LOOP分支store R1.MEM[100]向存儲(chǔ)器100號(hào)地址傳送寄存器R1的數(shù)據(jù)上述特定指令標(biāo)記讀出存儲(chǔ)器100號(hào)地址,如果讀出的數(shù)據(jù)為0,那么向存儲(chǔ)器100號(hào)地址寫入寄存器R1的數(shù)據(jù)。如果讀出的數(shù)據(jù)不為0,那么直到變?yōu)?后顯示重復(fù)讀出循環(huán)處理。該特定指令列有用連續(xù)循環(huán)執(zhí)行的必要,比如存在著把存儲(chǔ)器100號(hào)地址作為多個(gè)邏輯處理器的共享資源使用的情況。也就是說,其他邏輯處理器不必寫入更換存儲(chǔ)器100號(hào)地址。
為保證這樣的特定指令列用連續(xù)循環(huán)執(zhí)行,連續(xù)循環(huán)優(yōu)先部分69在用1個(gè)功能單元檢測(cè)上述特定指令列的先頭指令的執(zhí)行開始時(shí),由該指令的執(zhí)行循環(huán)連續(xù)預(yù)定數(shù)的循環(huán)期間,因其指令發(fā)出源的邏輯處理器(指令流)的優(yōu)先順序也比其他邏輯處理器高,所以要暫時(shí)變更優(yōu)先順序控制部分60的優(yōu)先順序。
<連續(xù)循環(huán)優(yōu)先部分69>
連續(xù)循環(huán)優(yōu)先部分69配有圖13所示的特定指令檢測(cè)部分65、計(jì)數(shù)器66、比較器67、選擇器68。
圖中特定指令檢測(cè)部分65對(duì)特定指令列的先頭指令(以下稱為特定指令)執(zhí)行的開始進(jìn)行檢測(cè)。上述特定指令列的實(shí)例中,可檢測(cè)作為特定指令的aldst指令。更具體地說,特定指令檢測(cè)部分65接收來自指令解碼部分1-3的特定指令解碼后的通知,接收特定指令的指令發(fā)出禁止部分50向其1個(gè)功能單元發(fā)出的通知,以共同接收兩通知作為特定指令執(zhí)行開始的檢測(cè)。
檢測(cè)特定指令執(zhí)行開始時(shí),計(jì)數(shù)器66計(jì)數(shù)特定指令列的執(zhí)行中要求的循環(huán)數(shù)。上述實(shí)例中,由于對(duì)與aldst指令連接的3指令的執(zhí)行中要求的3次循環(huán)進(jìn)行計(jì)數(shù),所以輸入檢測(cè)特定指令執(zhí)行開始時(shí)的初始值為3,直至降到0計(jì)數(shù)。因此,上述store R1,MEM[100]的執(zhí)行循環(huán)變?yōu)?。此外,在上述特定指令列進(jìn)行循環(huán)處理的情況下,計(jì)數(shù)器66把每次檢測(cè)aldst指令從初始值3進(jìn)行計(jì)數(shù)。
選擇器67判定計(jì)數(shù)器66的計(jì)數(shù)值是否與0一致。即判定是否處于特定指令列的連續(xù)循環(huán)中。
比較器68為6比特長(zhǎng)的4輸入1輸出的比較器,用于連續(xù)循環(huán)期間暫時(shí)變更優(yōu)先順序。
圖14是表示選擇器68中輸入的選擇信號(hào)與輸出值關(guān)系的說明圖。比較器68的輸入值在圖中雖省略了,但卻為圖13所示的〖PRI[113](=PRI3[10]、PRI2[10]、PRI1[10]〗、〖110000〗、〖001100〗、〖000011〗的4個(gè)。
按圖,通常即未在連續(xù)循環(huán)期間的情況下(與計(jì)數(shù)值=0一致時(shí)),選擇器68是輸出PRI寄存器中PRI[113](=PRI3,2,1字段)內(nèi)指定的優(yōu)先順序。
在連續(xù)循環(huán)期間的情況下(與計(jì)數(shù)值=0不一致時(shí)),此時(shí)的特定指令的發(fā)出源在邏輯處理器3中若為[110000],在邏輯處理器2中若為
,在邏輯處理器1中若為
,那么選擇器68就輸出PRI[113](=PRI3[10],PRI2[10],PRI1[10])。
因此連續(xù)循環(huán)期間中,特定指令的發(fā)出源在邏輯處理器的優(yōu)先順序變得暫時(shí)最高。
下面,說明對(duì)象上述那樣構(gòu)成的本實(shí)施例的多程序流程同時(shí)處理器的操作。
<優(yōu)先順序、自停止?fàn)顟B(tài)、排他狀態(tài)的設(shè)定操作>
本實(shí)施例的多程序流程同時(shí)處理器中,儲(chǔ)備有稱為專用指令的用于各指令流(邏輯處理器)優(yōu)先順序的設(shè)定·變更incpr指令和decpr指令、自停止halt指令、排他停止excsv指令和retex指令。這些專用指令在指令流的源程序中有必要預(yù)先適當(dāng)設(shè)定。
比如,提高程序中的優(yōu)先順序的各處理部分中,最好在該程序部分之前設(shè)定incpr指令、在該程序部分之后設(shè)定decpr指令為好。這樣設(shè)定的incpr指令和decpr指令利用功能單元B按下面那樣執(zhí)行。也就是說,依據(jù)邏輯處理器1-3的其中之一有發(fā)出源,功能單元B把與PRI寄存器對(duì)應(yīng)的PRx字段中在用戶程序方式時(shí)以PRIx
比特為對(duì)象設(shè)定為1或0,在監(jiān)督程序方式時(shí)以PRIx
為對(duì)象設(shè)定為1或0。因此,必須依據(jù)各邏輯處理器中的優(yōu)先順序,就可動(dòng)態(tài)地變更。
此外,停止其他邏輯處理器僅進(jìn)行自身的邏輯處理器的操作應(yīng)處理的程序部分中,變?yōu)樵谠摮绦虿糠智霸O(shè)定excsv指令,在該程序部分后設(shè)定retex指令。這些指令也利用功能單元B象上述那樣執(zhí)行。
相反地,優(yōu)先其他邏輯處理器停止自身的邏輯處理器的情況下,就變?yōu)樵O(shè)定halt指令。這個(gè)指令也用功能單元B執(zhí)行。但是,由于依據(jù)對(duì)該邏輯處理器中斷要求解除停止?fàn)顟B(tài),所以停止?fàn)顟B(tài)的邏輯處理器就有必要適當(dāng)輸入中斷要求。例如,邏輯處理器之間的內(nèi)部中斷依據(jù)IR寄存器。也就是說,發(fā)生中斷的邏輯處理器按事先通常的寄存器傳送指令讀取IR寄存器、PIR寄存器或EXCL寄存器后,讀取自身的MYID,并且因決定中斷前與邏輯處理器對(duì)應(yīng)的IRx比特,所以可由通常的傳送指令在IR寄存器中設(shè)定內(nèi)部中斷要求。
<整體操作>
例如,在輸出指令解碼部分1的解碼結(jié)果和對(duì)功能單元B的指令發(fā)出要求(要求標(biāo)記和功能單元B的序號(hào))的情況下,在邏輯處理器1處于自停止?fàn)顟B(tài)或利用其他邏輯處理器的排他停止的停止?fàn)顟B(tài)的情況下,使根據(jù)指令發(fā)出判斷部分30內(nèi)的停止判斷部分310的要求標(biāo)記本身未變?yōu)闊o效的輸出。因此,其他邏輯處理器2和3可使用功能單元。
邏輯處理器1即使不處于自停止?fàn)顟B(tài),其他邏輯處理器也不處于排他停止的停止?fàn)顟B(tài)的情況下,指令發(fā)出判斷部分30內(nèi)的分配部分320就對(duì)功能單元B進(jìn)行分配,并且如果功能單元B對(duì)邏輯處理器1處于ready狀態(tài),那么利用指令判斷部分330判斷為可發(fā)出;如果處于not ready狀態(tài)就判斷為不可發(fā)出。
接著,指令發(fā)出調(diào)解部分40接收來自指令發(fā)出判斷部分30的各功能單元的指令發(fā)出要求,采用來自優(yōu)先順序控制部分60的各邏輯處理器的優(yōu)先順序,確定功能單元中可發(fā)出的邏輯處理器。例如,對(duì)于功能單元B僅有來自指令解碼部分1的指令發(fā)出要求的輸出的情況下(圖9中1B-3B內(nèi)僅1B有效的情況),指令發(fā)出調(diào)解部分40使其指令發(fā)出要求有效(圖9中1BB-3BB內(nèi)僅1BB有效)。
例如,指令解碼部分1解碼對(duì)功能單元A的指令,指令解碼部分2解碼對(duì)功能單元B的指令,指令解碼部分3解碼對(duì)功能單元C的指令,并且,在所有功能單元處于ready狀態(tài)的情況下,對(duì)于指令發(fā)出調(diào)解部分40的3個(gè)指令發(fā)出要求均有效。
另一方面,指令解碼部分1對(duì)功能單元A的指令解碼,指令解碼部分2也對(duì)功能單元A的指令解碼的情況下(圖9中1A和2A同時(shí)有效的情況),由于不知哪一個(gè)指令不能發(fā)出,所以優(yōu)先順序判定部分41A由優(yōu)先順序控制部分60內(nèi)的寄存器判斷優(yōu)先順序,發(fā)出優(yōu)先順序較高的指令。假設(shè)出現(xiàn)邏輯處理器1和邏輯處理器2的優(yōu)先順序相同的情況,那么就依據(jù)判定輔助部分42A僅使其中一個(gè)指令發(fā)出要求有效。
還有,指令發(fā)出禁止部分50對(duì)于由指令發(fā)出調(diào)解部分40決定發(fā)出的指令,在出現(xiàn)邏輯處理器的其中之一需要緊急處理的情況下,禁止該邏輯處理器的指令發(fā)出。
指令發(fā)出判斷部分30和指令發(fā)出禁止部分50具有對(duì)任一指令發(fā)出要求由指令發(fā)出候補(bǔ)避開的功能,按下述理由分擔(dān)功能。
也就是說,對(duì)于明確快階段中指令不能接收的明確因素,在指令發(fā)出判斷部分30中,不發(fā)出和判斷不能接收的邏輯處理器的指令,用指令發(fā)出的候補(bǔ)避開,假如對(duì)于慢階段仍不明確的因素,在指令發(fā)出判斷部分30中,用指令發(fā)出的候補(bǔ)避開的話,則使能否發(fā)出指令的最終判斷緩慢,對(duì)邏輯處理器的頻率提高有影響。
例如,在按1循環(huán)進(jìn)行從指令發(fā)出判斷至指令發(fā)出禁止的情況下,如果在循環(huán)的最后將不能發(fā)出指令的因素通知給指令發(fā)出判斷部分30,從那時(shí)起就有避開指令發(fā)出候補(bǔ)的必要。這種情況中必須使循環(huán)長(zhǎng)度選取得很長(zhǎng),從而成為阻礙時(shí)鐘頻率提高的主要因素。其中,對(duì)于緩慢階段中仍不明確的指令發(fā)出禁止的因素,指令發(fā)出禁止部分50就禁止發(fā)出。當(dāng)然,在指令發(fā)出禁止部分50中某些邏輯處理器的指令發(fā)出被禁止的情況下,即使其以外的邏輯處理器的指令能夠發(fā)出,但不能代替該指令的發(fā)出。對(duì)已有的各功能單元A-D的所有發(fā)出指令進(jìn)行1次擠入后的情況。
然后,指令選擇部分70,把指令解碼部分1-3中解碼的指令內(nèi)容和操作根據(jù)來自指令發(fā)出禁止部分50的指令發(fā)出指示(圖11中1AAA-3AAA、1BBB-3BBB、1CCC-3CCC、1DDD-3DDD),向功能單元A-D發(fā)出。
再有,本實(shí)施例中說明了邏輯處理器為3個(gè)、功能單元為4個(gè)的情況,當(dāng)然可以把這些數(shù)進(jìn)行任意地變更。
此外,最好采用多個(gè)寄存器分擔(dān)PRI寄存器的內(nèi)容。例如,自停止用的各PRIx[2]比特和優(yōu)先順序用的各PRIx[10]字段最好用個(gè)別的寄存器。反過來,最好使PRI寄存器和RI寄存器及EXCL寄存器為這樣全部組合或部分組合為一體的寄存器。
還有,特定指令檢測(cè)部分65也可檢測(cè)特定指令的執(zhí)行開始,開始其指令的執(zhí)行,接收來自功能單元的通知。
本實(shí)施例中,展示在多個(gè)邏輯處理器對(duì)功能單元中指令發(fā)出有爭(zhēng)用的情況下采用本發(fā)明的實(shí)例,即使在功能單元以外,多個(gè)邏輯處理器若有共有資源也能采用。下面,說明其他實(shí)施例。
<其他實(shí)施例>
本實(shí)施例中,在其有共有多個(gè)邏輯處理器資源情況的調(diào)解中也能夠采用邏輯處理器之間的優(yōu)先順序,下面舉一實(shí)例。
圖15是表示本發(fā)明其他實(shí)施例的多程序流程同時(shí)處理器的構(gòu)成框圖。
本多程序流程同時(shí)處理器配有超高速緩沖存儲(chǔ)器100、指令解碼部分111-113、寄存器群131-133、指令提取控制部分140、指令發(fā)出控制部分150、優(yōu)先順序控制部分60、功能單元A20-D23、和寄存器控制部分170。與圖2相同序號(hào)的構(gòu)成要素因相同而不再說明,以不同點(diǎn)為中心進(jìn)行說明。
圖15中,超高速緩沖存儲(chǔ)器100是生成指令流的源程序的超高速緩沖存儲(chǔ)器。
指令解碼部分111-113分別與圖2的指令解碼部分1-3相同,但接收指令提取部分140的控制點(diǎn)不同。
寄存器群131-133有分別由多個(gè)寄存器組成的寄存器字段,與指令解碼部分111-113一一對(duì)應(yīng)。因此,邏輯處理器1-3也一一對(duì)應(yīng)。
指令提取控制部分140與圖2所示的指令發(fā)出調(diào)解部分40和指令發(fā)出禁止部分50對(duì)應(yīng),除調(diào)解和禁止沒有指令發(fā)出要求的指令要求的爭(zhēng)用點(diǎn)不同外有相同的功能。也就是說,輸入來自優(yōu)先順序控制部分60的各邏輯處理器的優(yōu)先順序的指定等,在對(duì)應(yīng)超高速緩沖存儲(chǔ)器100的多個(gè)指令解碼部分出現(xiàn)同時(shí)指令提取要求的情況下,確定依據(jù)優(yōu)先順序的提取順序,此外,在停止特定的邏輯處理器執(zhí)行的情況下,停止來自其邏輯處理器指令解碼部分的指令提取。
指令發(fā)出控制部分150把圖2所示的指令發(fā)出判斷部分30、指令發(fā)出調(diào)解部分40、指令發(fā)出禁止部分50和指令選擇部分70作為1個(gè)構(gòu)成部件記述,因其有相同的功能而不再說明。
寄存器控制部分170相應(yīng)于圖2所示的指令發(fā)出判斷部分30和指令發(fā)出調(diào)解部分40,在沒有指令發(fā)出要求時(shí)除停止和調(diào)解寄存器處理要求的爭(zhēng)用方面不同外具有相同的功能。也就是說,輸入來自優(yōu)先順序控制部分60的各邏輯處理器的優(yōu)先順序的指定等,對(duì)上述寄存器組同時(shí)寫入多個(gè)功能單元的數(shù)據(jù)要求輸出的情況下,為依據(jù)優(yōu)先順序確定寫入順序的指令發(fā)出控制部分。
對(duì)于上述構(gòu)成的功能單元,無論是在邏輯處理器的爭(zhēng)用、對(duì)超高速緩沖存儲(chǔ)器的指令提取要求的爭(zhēng)用、還是對(duì)寄存器群的數(shù)據(jù)處理要求的爭(zhēng)用情況下,都能按優(yōu)先順序?qū)嵤┱{(diào)解和停止。
再有,上述實(shí)施例中,雖然多個(gè)指令流和邏輯處理器為3個(gè),功能單元為4個(gè),但并不在意該數(shù)的大小。
還有,優(yōu)先順序的級(jí)別雖是2比特3級(jí)別的,實(shí)際上幾個(gè)都行。此外,控制寄存器寬為32位,但不限于該比特寬度。
并且,多個(gè)邏輯處理器中同時(shí)發(fā)生分支的情況下,也可共有地址計(jì)算用的資源和超高速緩沖存儲(chǔ)器等,與其他實(shí)施例一樣能夠按優(yōu)先順序調(diào)解。
再有,上述實(shí)施例中,PRI寄存器中雖構(gòu)成有由專門指定的專用指令變更優(yōu)先順序,但在專用指令以外由硬件設(shè)定·變更也行。這種情況下,也可以利用預(yù)定各指令流的優(yōu)先順序的時(shí)限,或利用監(jiān)視指令流狀態(tài)的狀態(tài),通過觸發(fā)硬件的外部因素和內(nèi)部因素變更優(yōu)先順序。
此外,上述實(shí)施例中對(duì)于圖9所示的優(yōu)先順序判定部分41A內(nèi)2個(gè)或3個(gè)優(yōu)先順序相同的情況下,雖可使其首先全部有效后輸出,但也可以使其中的一個(gè)有效后就輸出。那種情況下,就可去除判定輔助部分42A。
而且,圖9的判定輔助部分42A設(shè)置在優(yōu)先順序判定部分41A的后邊,而把它設(shè)置在優(yōu)先順序控制部分60和優(yōu)先順序判定部分41A之間,在相同的優(yōu)先順序?yàn)槎鄠€(gè)的情況下,還可構(gòu)成動(dòng)態(tài)變更優(yōu)先順序。
再有,上述實(shí)施例中PRI寄存器中的MYPRI字段輸出PRI寄存器讀出指令發(fā)出源的優(yōu)先順序,但與其同樣,比如設(shè)置MYDATA字段,也可以輸出表示各邏輯處理器狀態(tài)的數(shù)據(jù)(狀態(tài)數(shù)據(jù)、誤差信息等)。
需要禁止部分50A檢測(cè)的緊急處理除外部中斷要求、內(nèi)部中斷要求、超高速緩沖存儲(chǔ)器錯(cuò)誤和存儲(chǔ)器處理誤差等處理例以及收集指令等外,還可以有超高速緩沖存儲(chǔ)器誤差等的各種事件處理。
盡管已利用本發(fā)明的實(shí)施例并參照附圖充分說明了本發(fā)明,但需指出,對(duì)本領(lǐng)域的技術(shù)人員來說,本發(fā)明顯然還有各種變化和變型。因此,只要這些變化和變型不脫離本發(fā)明的范圍,那么就應(yīng)包括在本發(fā)明中。
權(quán)利要求
1.執(zhí)行多個(gè)指令流的多程序流程同時(shí)處理器,包括·多個(gè)功能單元執(zhí)行各個(gè)指令;·多個(gè)指令解碼器與指令流對(duì)應(yīng)地設(shè)置,解碼各個(gè)指令,完成作為執(zhí)行該指令的功能單元要求將解碼指令發(fā)給該功能單元的指令發(fā)出要求;·存儲(chǔ)器存儲(chǔ)各指令流的指令流優(yōu)先權(quán);·控制器在2個(gè)以上的指令發(fā)出要求同時(shí)指定一個(gè)功能單元的情況下,根據(jù)存儲(chǔ)器中存儲(chǔ)的優(yōu)先權(quán),確定要發(fā)出給該功能單元的解碼指令。
2.如權(quán)利要求1的多程序流程同時(shí)處理器,其特征在于,所述存儲(chǔ)器還可存儲(chǔ)依據(jù)指令設(shè)定的,表示對(duì)各指令流要停止還是要執(zhí)行的指令流的標(biāo)記群;所述控制器,包括·調(diào)解器執(zhí)行所述決定;·停止器設(shè)定了表示停止的標(biāo)記的情況下,對(duì)應(yīng)該標(biāo)記的指令流的指令發(fā)出要求除外,通過執(zhí)行所述決定,停止該指令流。
3.如權(quán)利要求2的多程序流程同時(shí)處理器,其特征在于,所述控制器,還包括·禁止器對(duì)其中一個(gè)指令流發(fā)生需要緊急處理的情況下,依據(jù)對(duì)屬于該指令流指令的所述控制器要發(fā)出的指令,暫時(shí)禁止向功能單元的指令發(fā)出。
4.如權(quán)利要求3的多程序流程同時(shí)處理器,其特征在于,所述需要的緊急處理是得知超高速緩沖存儲(chǔ)器發(fā)生錯(cuò)誤事件時(shí)產(chǎn)生中斷要求。
5.如權(quán)利要求1的多程序流程同時(shí)處理器,其特征在于,功能單元的1個(gè)接收指示優(yōu)先權(quán)變更的專用指令,在存儲(chǔ)器中存儲(chǔ)的優(yōu)先權(quán)內(nèi),變更該專用指令所屬的指令流的優(yōu)先權(quán)。
6.如權(quán)利要求5的多程序流程同時(shí)處理器,其特征在于,所述專用指令由指示提高或降低優(yōu)先權(quán)的操作碼組成;所述功能單元的1個(gè)在專用指令的解碼結(jié)果發(fā)出的情況下,判別發(fā)出該專用指令的指令解碼器,提高或降低與判別的指令解碼器對(duì)應(yīng)的指令流的優(yōu)先權(quán)。
7.如權(quán)利要求6的多程序流程同時(shí)處理器,其特征在于,所述存儲(chǔ)器包含有讀出專用第1字段的控制寄存器,所述功能單元的一個(gè),在發(fā)出控制寄存器的讀出指令的解碼結(jié)果的情況下,判別發(fā)出該讀出指令的指令解碼器,將與該指令解碼器對(duì)應(yīng)的指令流的ID,作為第1字段讀出數(shù)據(jù)在內(nèi)部總線上輸出。
8.如權(quán)利要求7的多程序流程同時(shí)處理器,其特征在于,所述控制寄存器還有用于存儲(chǔ)所述優(yōu)先權(quán)的各指令流的優(yōu)先權(quán)字段,所述功能單元的一個(gè)在控制寄存器的讀出指令的解碼結(jié)果發(fā)出的情況下,讀出各優(yōu)先權(quán)。
9.如權(quán)利要求6的多程序流程同時(shí)處理器,其特征在于,所述存儲(chǔ)器有控制寄存器;所述控制寄存器還有用于存儲(chǔ)指令流固有數(shù)據(jù)的各指令流的個(gè)別字段和讀出專用的第2字段;所述功能單元的1個(gè)在執(zhí)行所述控制寄存器的讀出指令時(shí),讀出各指令流的個(gè)別字段,同時(shí),將與發(fā)出該讀出指令的解碼器相應(yīng)的指令流的固有數(shù)據(jù)作為第2字段的讀出數(shù)據(jù)輸出給內(nèi)部總線。
10.如權(quán)利要求9的多程序流程同時(shí)處理器,其特征在于,所述指令流的固有數(shù)據(jù)為優(yōu)先權(quán)。
11.如權(quán)利要求6的多程序流程同時(shí)處理器,其特征在于,所述存儲(chǔ)器有存儲(chǔ)各指令流優(yōu)先權(quán)的優(yōu)先權(quán)字段;所述優(yōu)先權(quán)字段由表示指令流執(zhí)行模式的其他優(yōu)先權(quán)的小字段組成;在專用指令解碼結(jié)果發(fā)出的情況下,所述功能單元的1個(gè)判別發(fā)出該專用指令的指令解碼器,提高或降低與判別的指令解碼器對(duì)應(yīng)的指令流優(yōu)先權(quán)字段內(nèi)當(dāng)前執(zhí)行模式的小字段的優(yōu)先權(quán)。
12.如權(quán)利要求1的多程序流程同時(shí)處理器,其特征在于還包括·特定指令檢測(cè)器在特定指令開始執(zhí)行時(shí),功能單元中的1個(gè)檢測(cè)是哪個(gè)指令解碼器發(fā)出了該特定指令的解碼結(jié)果;·暫時(shí)變更器檢測(cè)特定指令開始執(zhí)行時(shí),對(duì)預(yù)先確定的與發(fā)出該特定指令的指令解碼器對(duì)應(yīng)的指令流的優(yōu)先權(quán)進(jìn)行暫時(shí)地變更,使其指令流的優(yōu)先權(quán)也變得比其他指令流的優(yōu)先權(quán)高。
13.執(zhí)行多個(gè)指令流的多程序流程同時(shí)處理器,包括·多個(gè)功能單元執(zhí)行指令;·多個(gè)指令解碼器與各指令流對(duì)應(yīng)地設(shè)置,解碼各個(gè)指令,完成作為執(zhí)行該指令的功能單元要求將解碼指令發(fā)給該功能單元的指令發(fā)出要求;·優(yōu)先權(quán)存儲(chǔ)器存儲(chǔ)各指令流的優(yōu)先權(quán);·自停止數(shù)據(jù)存儲(chǔ)器在各指令流中存儲(chǔ)指令流處于執(zhí)行狀態(tài)還是處于停止?fàn)顟B(tài)的自停止數(shù)據(jù);·調(diào)解器接收來自多個(gè)指令解碼部分通知的指令發(fā)出要求,2個(gè)以上的指令發(fā)出要求同時(shí)指定一個(gè)功能單元的情況下,根據(jù)優(yōu)先權(quán)存儲(chǔ)器中存儲(chǔ)的優(yōu)先權(quán),確定向該功能單元要發(fā)出的解碼指令;·停止器根據(jù)所述自停止數(shù)據(jù),停止與正處于停止?fàn)顟B(tài)的指令流相應(yīng)的指令解碼部分向調(diào)解器的指令發(fā)出要求的通知。
14.如權(quán)利要求13的多程序流程同時(shí)處理器,其特征在于還包括·排他停止數(shù)據(jù)存儲(chǔ)器存儲(chǔ)排他停止數(shù)據(jù),該數(shù)據(jù)表示各指令流中的其他指令流是否處于排他的停止?fàn)顟B(tài);所述停止器還利用所述排他停止數(shù)據(jù),停止與正處于停止?fàn)顟B(tài)的指令流對(duì)應(yīng)的指令解碼部分向調(diào)解器的指令發(fā)出要求的通知。
15.如權(quán)利要求13的多程序流程同時(shí)處理器,其特征在于,所述功能單元的1個(gè)在指示優(yōu)先權(quán)變更的專用指令解碼結(jié)果發(fā)出的情況下,根據(jù)該指令變更優(yōu)先權(quán)。
16.如權(quán)利要求15的多程序流程同時(shí)處理器,其特征在于,所述專用指令僅由指示提高或降低優(yōu)先權(quán)的操作碼組成;在專用指令解碼結(jié)果發(fā)出的情況下,所述功能單元的1個(gè)判別發(fā)出該專用指令的指令解碼器,提高或降低與判別的指令解碼器對(duì)應(yīng)的指令流的優(yōu)先權(quán)。
17.如權(quán)利要求16的多程序流程同時(shí)處理器,其特征在于,所述存儲(chǔ)器包含有讀出專用第1字段的控制寄存器;所述功能單元的1個(gè)在控制寄存器讀出指令的解碼結(jié)果發(fā)出的情況下,判別發(fā)出該讀出指令的指令解碼器,將與該指令解碼器對(duì)應(yīng)的指令流的ID,作為第1字段讀出數(shù)據(jù)在內(nèi)部總線上輸出。
18.如權(quán)利要求17的多程序流程同時(shí)處理器,其特征在于,所述控制寄存器還有用于存儲(chǔ)所述優(yōu)先權(quán)的各指令流的優(yōu)先權(quán)字段;在控制寄存器讀出指令的解碼結(jié)果發(fā)出的情況下,所述功能單元的1個(gè)讀出各優(yōu)先權(quán)字段。
19.如權(quán)利要求16的多程序流程同時(shí)處理器,其特征在于,所述存儲(chǔ)器有控制寄存器;所述控制寄存器還有用于存儲(chǔ)指令流固有數(shù)據(jù)的各指令流的個(gè)別字段和讀出專用的第2字段;在所述控制寄存器執(zhí)行讀出指令期間,所述功能單元的1個(gè)讀出各指令流的個(gè)別字段,同時(shí),將與發(fā)出該讀出指令的指令解碼器對(duì)應(yīng)的指令流的固有數(shù)據(jù)作為第2字段讀出數(shù)據(jù)在內(nèi)部總線上輸出。
20.如權(quán)利要求19的多程序流程同時(shí)處理器,其特征在于,所述指令流固有數(shù)據(jù)為優(yōu)先權(quán)。
21.如權(quán)利要求16的多程序流程同時(shí)處理器,其特征在于,所述存儲(chǔ)器有存儲(chǔ)各指令流優(yōu)先權(quán)的優(yōu)先權(quán)字段;所述優(yōu)先權(quán)字段由表示指令流執(zhí)行模式的其他優(yōu)先權(quán)的小字段組成;在專用指令解碼結(jié)果發(fā)出的情況下,所述功能單元的1個(gè)判別發(fā)出該專用指令的指令解碼器,提高或降低與判別指令解碼器對(duì)應(yīng)的指令流優(yōu)先權(quán)字段內(nèi)當(dāng)前執(zhí)行模式的小字段的優(yōu)先權(quán)。
22.如權(quán)利要求13的多程序流程同時(shí)處理器,其特征在于還包括·特定指令檢測(cè)器在功能單元中的1個(gè)開始執(zhí)行特定指令時(shí),檢測(cè)是哪個(gè)指令解碼器發(fā)出了該特定指令的解碼結(jié)果;·暫時(shí)變更器在檢測(cè)特定指令開始執(zhí)行時(shí),在預(yù)定期間暫時(shí)地變更與發(fā)出其特定指令的指令解碼器對(duì)應(yīng)的指令流的優(yōu)先權(quán),使該指令流的優(yōu)先權(quán)變得比其他指令流的優(yōu)先權(quán)高。
23.同時(shí)且獨(dú)立并行地執(zhí)行多個(gè)指令流的多程序流程同時(shí)處理器,包括·多個(gè)功能單元分別同時(shí)并獨(dú)立地執(zhí)行指令;·多個(gè)指令解碼器按與所述多個(gè)指令流對(duì)應(yīng)地設(shè)置,提取并解碼各個(gè)指令流的指令,決定所述功能單元內(nèi)要先發(fā)出的功能單元;·優(yōu)先權(quán)指定器指定所述多個(gè)指令流的各優(yōu)先權(quán);·指令發(fā)出調(diào)解器在對(duì)一個(gè)功能單元可發(fā)出進(jìn)行判斷2個(gè)以上的指令的情況下,根據(jù)由所述優(yōu)先權(quán)指定器中指定的優(yōu)先權(quán)調(diào)解該2個(gè)以上的指令,確定該一個(gè)功能單元中要發(fā)出的指令。
24.如權(quán)利要求23的多程序流程同時(shí)處理器,其特征在于還包括·指令發(fā)出禁止器在發(fā)生對(duì)應(yīng)于其中一個(gè)指令流的需要緊急處理的情況下,依據(jù)對(duì)屬于該指令流指令的所述控制器要發(fā)出和確定的指令,暫時(shí)禁止向功能單元的指令發(fā)出。
25.如權(quán)利要求24的多程序流程同時(shí)處理器,其特征在于,所述需要的緊急處理是當(dāng)已知超高速緩沖存儲(chǔ)器發(fā)生錯(cuò)誤事件時(shí)產(chǎn)生中斷要求。
26.如權(quán)利要求24的多程序流程同時(shí)處理器,其特征在于,所述優(yōu)先權(quán)指定器為·控制寄存器存儲(chǔ)各指令流中指令流的優(yōu)先權(quán);其中,優(yōu)先權(quán)根據(jù)指令流中的指令設(shè)定。
27.如權(quán)利要求26的多程序流程同時(shí)處理器,其特征在于,所述功能單元的1個(gè)接收指示優(yōu)先權(quán)變更的專用指令,在存儲(chǔ)器存儲(chǔ)的優(yōu)先權(quán)內(nèi),變更該專用指令所屬的指令流的優(yōu)先權(quán)。
28.如權(quán)利要求27的多程序流程同時(shí)處理器,其特征在于,所述指令發(fā)出調(diào)解器還對(duì)一個(gè)功能單元能否發(fā)出2個(gè)以上的指令進(jìn)行判斷,并且,在該2個(gè)以上的指令所屬的指令流為同順序的優(yōu)先權(quán)情況下,按預(yù)定次序決定發(fā)出給該功能單元的指令。
29.如權(quán)利要求28的多程序流程同時(shí)處理器,其特征在于,所述指令發(fā)出調(diào)解器為·輔助判定器作為所述預(yù)定的次序、根據(jù)決定周期不同的指令流優(yōu)先的次序、決定與指令流執(zhí)行的履歷的前次不同的指令流的指令次序、和決定固定其中任一個(gè)指令流的指令次序,決定要發(fā)出的指令。
30.如權(quán)利要求26的多程序流程同時(shí)處理器,其特征在于,所述控制寄存器有與各指令流中執(zhí)行模式不同的優(yōu)先權(quán)字段;所述指令發(fā)出調(diào)解器參照與指令流的執(zhí)行模式相應(yīng)的優(yōu)先權(quán)字段進(jìn)行所述調(diào)解。
31.如權(quán)利要求24的多程序流程同時(shí)處理器,其特征在于,所述優(yōu)先權(quán)指定器配有控制寄存器,該控制寄存器有根據(jù)指令流中的專用指令、與各指令執(zhí)行模式不同的可設(shè)定優(yōu)先權(quán)的字段;功能單元的1個(gè)檢測(cè)與所述專用指令的發(fā)出源的指令解碼器對(duì)應(yīng)的指令流和其執(zhí)行模式,根據(jù)與檢測(cè)的指令流和執(zhí)行模式相應(yīng)的優(yōu)先權(quán)字段中的專用指令設(shè)定優(yōu)先權(quán)。
32.如權(quán)利要求31的多程序流程同時(shí)處理器,其特征在于,所述專用指令僅由操作碼組成,指示提高或下降優(yōu)先權(quán)。
33.同時(shí)且獨(dú)立并行地執(zhí)行多個(gè)指令流的多程序流程同時(shí)處理器,包括·多個(gè)功能單元分別同時(shí)并獨(dú)立地執(zhí)行指令;·多個(gè)指令解碼器按與所述多個(gè)指令流對(duì)應(yīng)地設(shè)置,提取并解碼指令流的指令,解碼所述功能單元內(nèi)要先發(fā)出的功能單元;·優(yōu)先權(quán)指定器指定所述多個(gè)指令流的各優(yōu)先權(quán),決定各指令流處于執(zhí)行狀態(tài)還是停止?fàn)顟B(tài);·指令發(fā)出判斷器依據(jù)表示是否接收指令的各功能單元的狀態(tài),判斷能否對(duì)所述要先發(fā)出的功能單元發(fā)出解碼的指令;·指令發(fā)出調(diào)解器在對(duì)一個(gè)功能單元可發(fā)出2個(gè)以上的指令的情況下,根據(jù)由所述優(yōu)先權(quán)指定器指定的優(yōu)先權(quán)調(diào)解該2個(gè)以上的指令,確定要發(fā)給該一個(gè)功能單元的指令。
34.如權(quán)利要求33的多程序流程同時(shí)處理器,其特征在于,所述優(yōu)先權(quán)指定器,包括·第1寄存器存儲(chǔ)依據(jù)第1指令可設(shè)定的各指令流的優(yōu)先權(quán);·第2寄存器存儲(chǔ)依據(jù)第2指令可設(shè)定的、表示指令流為執(zhí)行狀態(tài)還是停止?fàn)顟B(tài)的各指令流的狀態(tài)標(biāo)志;·第3寄存器存儲(chǔ)依據(jù)第3指令設(shè)定的、表示停止其他所有指令流的各指令流的排他停止標(biāo)志;所述指令發(fā)出判斷器判斷能否根據(jù)所述狀態(tài)標(biāo)志和排他停止寄存器發(fā)出停止中的指令流的指令。
35.如權(quán)利要求34的多程序流程同時(shí)處理器,其特征在于,所述第1指令為僅由指示提高或降低優(yōu)先權(quán)的操作碼組成的指令;所述第2指令為僅由指示進(jìn)入停止?fàn)顟B(tài)的操作碼組成的指令;所述第3指令為僅由指示停止其他指令流的操作碼組成的指令;在發(fā)出第1、第2或第3指令時(shí),所述功能單元的1個(gè)檢測(cè)與該指令的發(fā)出源的指令解碼器對(duì)應(yīng)的指令流,變更與檢測(cè)的指令流相應(yīng)的優(yōu)先權(quán)、狀態(tài)標(biāo)記或排他停止標(biāo)記。
36.同時(shí)且獨(dú)立并行地執(zhí)行多個(gè)指令流的多程序流程同時(shí)處理器,包括·指令超高速緩沖存儲(chǔ)器暫時(shí)存儲(chǔ)所述多個(gè)指令流;·多個(gè)指令提取器提取與所述多個(gè)指令流對(duì)應(yīng)的、來自指令超高速緩沖存儲(chǔ)器的指令流指令;·優(yōu)先權(quán)指定器指定所述多個(gè)指令流的各優(yōu)先權(quán);·指令提取控制器在出現(xiàn)來自2個(gè)以上的指令超高速緩沖存儲(chǔ)器的有同時(shí)指令提取要求的情況下,根據(jù)所述優(yōu)先權(quán)控制電路的優(yōu)先權(quán),調(diào)解指令提取要求。
37.同時(shí)且獨(dú)立地執(zhí)行多個(gè)指令流的多程序流程同時(shí)處理器,它具有執(zhí)行指令的多個(gè)功能單元;從指令超高速緩沖存儲(chǔ)器提取解碼指令并解碼,指定要執(zhí)行該指令的功能單元,輸出指令發(fā)出要求的多個(gè)指令解碼部分;與指令解碼部分相同數(shù)量的寄存器組;該多個(gè)指令流的數(shù)量與指令解碼部分的數(shù)量相同,它還包括·存儲(chǔ)器存儲(chǔ)依據(jù)指令流中的指令在各指令流中設(shè)定的指令流的優(yōu)先權(quán);·控制器對(duì)由多個(gè)指令流共有的資源,在兩個(gè)以上的指令流同時(shí)爭(zhēng)用的情況下,根據(jù)所述優(yōu)先權(quán)進(jìn)行調(diào)解;對(duì)所述共有資源的爭(zhēng)用為對(duì)一個(gè)功能單元有來自兩個(gè)以上的指令解碼部分的指令發(fā)出要求的爭(zhēng)用、對(duì)指令超高速緩沖存儲(chǔ)器有來自兩個(gè)以上的指令解碼部分的指令提取要求的爭(zhēng)用、和對(duì)一個(gè)寄存器組有來自兩個(gè)以上的功能單元的處理要求的爭(zhēng)用的其中之一。
38.如權(quán)利要求36的多程序流程同時(shí)處理器,其特征在于,所述功能單元的1個(gè)接收提高或降低優(yōu)先權(quán)的指令,變更在存儲(chǔ)器中存儲(chǔ)的優(yōu)先權(quán)中所屬指令流的該指令的優(yōu)先權(quán)。
全文摘要
本發(fā)明的多程序流程同時(shí)處理器為執(zhí)行多個(gè)指令流的多程序流程同時(shí)處理器,配有:執(zhí)行各個(gè)指令的多個(gè)功能單元;多個(gè)指令解碼器,它與指令流對(duì)應(yīng)地設(shè)置,解碼各個(gè)指令,指定要執(zhí)行該指令的功能單元,同時(shí),還完成要求將解碼的指令發(fā)給該功能單元的指令發(fā)出要求;存儲(chǔ)對(duì)各指令流的指令流優(yōu)先權(quán)的存儲(chǔ)器;控制器,在2個(gè)以上的指令發(fā)出要求同時(shí)指定一個(gè)功能單元的情況下,根據(jù)存儲(chǔ)器中存儲(chǔ)的優(yōu)先權(quán),決定對(duì)該功能單元發(fā)出解碼指令。根據(jù)這種構(gòu)成,能靈活調(diào)整指令流的處理性能及提高處理效率。
文檔編號(hào)G06F9/38GK1177772SQ9711931
公開日1998年4月1日 申請(qǐng)日期1997年8月27日 優(yōu)先權(quán)日1996年8月27日
發(fā)明者木村浩三, 清原督三, 吉岡康介 申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
祥云县| 大庆市| 台州市| 邯郸县| 怀化市| 滨海县| 丹东市| 新乡市| 杭州市| 九江县| 始兴县| 灵台县| 上虞市| 五常市| 正镶白旗| 西和县| 六枝特区| 桦甸市| 海原县| 通江县| 邵东县| 浮梁县| 会泽县| 准格尔旗| 疏附县| 碌曲县| 玉山县| 泾阳县| 徐州市| 信宜市| 孟村| 彰化县| 龙川县| 永吉县| 简阳市| 陵川县| 舒城县| 响水县| 三河市| 清丰县| 江北区|