亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

在向量數據處理運算中從缺頁故障中恢復的設備和方法

文檔序號:6405230閱讀:262來源:國知局
專利名稱:在向量數據處理運算中從缺頁故障中恢復的設備和方法
技術領域
本發(fā)明總的來說有關數據處理系統(tǒng),具體地說,有關能在虛擬存儲器環(huán)境下實現向量運算的數據處理系統(tǒng)。
為了提高某些類型重復運算的性能,目前已開發(fā)出了向量數據處理運算技術。例如,把二個數據數組的相應元素進行相加可用向量相加運算,再把結果的和數存放在一個第三數組內。這個過程可與執(zhí)行相同計算的標量指令作對照,而后者將要求重復地執(zhí)行一個循環(huán)例行程序。向量處理具有在一次運算中規(guī)定對大量數據作處理而無需發(fā)出多條指令或執(zhí)行循環(huán)迭代控制的優(yōu)點。此外,由于對每組操作數施加相同的運算,可有效地使用流水線技術來提高性能。一般來說,目前使用的有二種向量處理模型,基于寄存器的模型和基于存貯器的模型。
在基于寄存器的模型中,各組操作數是從主存貯器傳送(裝入)的,并存入稱為向量寄存器的專用寄存器內。每個向量寄存器可貯存多個操作數,每個操作數有一個預定的長度。當一個或多個向量寄存器在其內部貯存有所需的操作數時,則貯存在向量寄存器中的所有操作數由一個共同的算術運算所處理,由此處理運算所得到的操作數再貯存在一個目標向量寄存器內。由于對向量寄存器的所有操作數完成相同的運算,故只需向處理執(zhí)行裝置發(fā)出一條指令來管理多個操作數。在對操作數組完成所有所需的運算后,操作數被送回(或貯存在)主存貯器單元中。
在基于存貯器的模型中,操作數被直接從主存貯器單元傳送至執(zhí)行單元,運算所得到的操作數也被直接送回主存貯器單元。從理論上說,由于在開始運算之前不需要把信息貯存在向量寄存器中,結束運算后也不需要送回存貯器,這種基于存貯器的模型提供效高的性能。但是,當向量運算開始時,第一個操作數從存貯器而到來需要一定的時間,因此,當這一啟動時間可以在一個很長的向量運算期間分攤的時候,基于存貯器的向量模型最有效。
一般來說,基于寄存器的向量模型具有很短的啟動時間,因此對短的向量有較好的性能。操作數隨著實際的向量運算而被裝入和存貯,因此,短的啟動時間的優(yōu)點與最大程度的存貯器利用率得到結合,從而得到與在基于存貯器的向量模型中在長的向量運算時才能得到的相同的最大的向量運算的速率。
在現代數據處理系統(tǒng)中已很普遍使用虛擬存貯器,這已成為對數據處理系統(tǒng)的一個要求,在虛擬存貯器數據處理系統(tǒng)中,大量的為處理機所需的邏輯信號組貯存在大容量存貯單元(或稱為后援存貯器)中。當數據處理系統(tǒng)需要指令和數據元素時,數據處理系統(tǒng)可以認為所需要的指令或數據元素貯存在主存貯器單元中,因此,數據處理系統(tǒng)將試圖把所需的指令或數據元素從主存貯器單元中傳送至要求指令或數據元素的那個數據處理單元。當數據處理系統(tǒng)確認,在主存貯器單元中沒有所需的指令或數據元素,則產生一個頁面故障。頁面為貯存在海量存貯器中由數據處理系統(tǒng)管理的信息單位。頁面故障使得數據處理系統(tǒng)設備貯存為對頁面故障作出響應所必需的信息,然后把控制轉移至操作系統(tǒng),以便對頁面故障作出響應。
為了對產生頁面故障作出響應,數據處理系統(tǒng)將控制轉移至操作系統(tǒng)的相應模塊,它將確定所需的指令或數據元素的位置,再把包括所要求的指令和/或數據元素的一“頁”指令或數據元素傳送至主存貯器單元。此外,操作系統(tǒng)模塊將建立把主存貯器地址與在海量存貯器中所需的指令或數據元素的位置相連系的表。
在標量(非向量)工作方式中,存貯器訪問指令是依次順序執(zhí)行的,只能訪問單個數據。當訪問一個在存貯器中不存在的數據時,必要的信息就被貯存起來,產生一個頁面故障異常信息。操作系統(tǒng)接過控制,把所要的頁面讀入存貯器,然后再恢復程序計數器使繼續(xù)執(zhí)行指令序列而重新執(zhí)行程序。
與此相反,一個向量裝入或貯存運算可讀出或寫入貯存在一個向量寄存器中的全部數量的數據元素操作數。當正在執(zhí)行一個向量裝入/貯存運算時,繼續(xù)發(fā)出進一步的向量和/或標量指令是有利的。這樣,與標量裝入/貯存運算不同,在向量指令之后,但在缺頁發(fā)生之前,可發(fā)出幾個外加的指令。當所需的數據元素不存在于主存貯器單元中時,幾項信息必須被貯存起來,以便當缺頁被傳送到主存貯器單元后,能重新開始或完成該指令的執(zhí)行。
在執(zhí)行向量運算時,數據處理系統(tǒng)的性能受到存貯器速度、能同時執(zhí)行多少個向量裝入和貯存運算、以及在完成向量運算時多少個功能或執(zhí)行單元可以并行地工作所限制。很明顯,根據標量和向量運算實現多次重迭的程度,數據處理系統(tǒng)的效率可以進一步提高。
但是,在虛擬存貯器環(huán)境下執(zhí)行重疊的標量和向量指令增大了從由于向量指令形成的頁面故障(即當所需的數據在主存貯器單元中不存在時)進行恢復的困難程度。事實上,在完成當前執(zhí)行的指令期間,可以有不止一個向量運算會有一個頁面故障被識別出來,這進一步使向量處理運算的重新起動復雜化。對于標量裝入/貯存運算(僅訪問單個數據),可立即檢測出一個存貯器管理問題,因此不發(fā)出進一步的指令。對一個向量指令來說,為使性能最優(yōu)化,在檢測出存貯器管理問題之前仍繼續(xù)發(fā)出指令。這種插進來的指令可能會改變曾經是原來的向量指令的操作數的信息的狀態(tài),因而缺頁的檢索、程序計數器的恢復和重新執(zhí)行指令可能不再提供對頁面故障的正確響應。因此,需要有一種技術,它能在一個采用基于寄存器的向量模型的執(zhí)行多次重迭向量運算的數據處理系統(tǒng)中,從頁面故障或其它的向量異常狀態(tài)進行恢復。
本發(fā)明的目的是提供一種改進性能的數據處理系統(tǒng)。
本發(fā)明的一個特點是提供一種能改進向量數據處理運算的數據處理裝置。
本發(fā)明的另一個特點是由能夠執(zhí)行多個重疊的指令的中央處理單元從頁面故障進行恢復。
本發(fā)明的又一個特點是提供一種技術,它由能夠執(zhí)行多個重疊的向量和標量運算指令的數據處理系統(tǒng)從頁面故障進行恢復。
本發(fā)明的最后一個特點是提供這樣一種技術,它能在一個具有虛擬存貯器能力的數據處理系統(tǒng)中,從向量運算引起的頁面故障中進行恢復。
根據本發(fā)明,上述的和其它的特點是通過在一個具有向量運算能力和虛擬存貯器環(huán)境的數據處理系統(tǒng)中,提供一種對由于一個向量運算指令引起的向量異常信號(如頁面故障信號)作出響應的設備來實現的。在任何時刻都可進行訪問主寄存器單元的多個(向量)運算。當產生一個向量異常信號時,中央處理單元的指令發(fā)送單元停止發(fā)出指令,而當前正在執(zhí)行的指令則被允許繼續(xù)完成。當所有指令完成時,標識由各個向量指令所遇到的虛擬存貯器問題的信息被貯存在內核棧上,它們包括標識故障的異常類型碼、向量長度、初始基地址、初始跨距(stride),引起虛擬存貯器問題的虛擬地址、向量指令本身、處理器的當前狀態(tài)和下一個待發(fā)出的指令的虛擬地址。(下一個指令的地址不一定用于向量指令之后的順序指令)。此信息足以確定虛擬存貯器的問題。對于一個頁面故障,缺頁被傳送至主存貯器,引起頁面故障的指令被重新執(zhí)行,程序繼續(xù)在一個指令執(zhí)行(下一個指令不一定是產生頁面故障的向量指令之后的指令)。
在閱讀下面的說明以及附圖之后,就能對本發(fā)明的這些和其它特點得到更好的了解。


圖1A和1B為可能使用本發(fā)明的數據處理系統(tǒng)實施方案的例子。
圖2為可能使用本發(fā)明的數據處理系統(tǒng)的數據處理單元的例子。
圖3示出虛擬存貯器在數據處理系統(tǒng)中的使用。
圖4為按照本發(fā)明從一個頁面故障進行恢復用的向量重新起動幀的例子。
圖5為一個說明本發(fā)明工作的流程圖。1.附圖的詳細說明圖1A和圖1B示出的是二個典型的能使用本發(fā)明的數據處理系統(tǒng)實施方案。在圖1A中,中央處理單元(#1)11連接至系統(tǒng)總線19。其它的中央處理單元(如#N)12也可連接至該系統(tǒng)。中央處理單元11(至12)按照中央處理單元的結構以及中央處理單元控制程序處理數據,控制程序由駐留在主存貯器單元15中的指令組成。非駐留的數據和指令一般地貯存在海量存貯器單元中,通過系統(tǒng)總線19與主存貯囂單元15間往返傳送數據。輸入/輸出單元(#1)16(至(#M)17)通過系統(tǒng)總線19把諸如海量存貯器單元、用戶終端設備和通信設在連接至數據處理系統(tǒng)。海量存貯器單元貯存為數據處理單元所需的數據和指令。數據和/或指令組(一般以數據和/或指令的頁面表示)為中央處理單元11至12的工作所要求,它們是從存取速度相對較低的海量存貯器單元向中央處理單元能快速存取的主存貯器單元傳送。面向總線的系統(tǒng)的一個優(yōu)點是便于重新配置系統(tǒng),但其缺點是每個系統(tǒng)組成部分都需要控制設備以提供與系統(tǒng)總線間的接口。在圖1B所示的數據處理系統(tǒng)中,中央處理單元11(至12)和輸入/輸出單元16(至17)通過一個存貯器控制單元14連接至主存貯器單元15,有貯器控制單元14代替了在圖1A中所示的面向總線的數據處理系統(tǒng)配置中的系統(tǒng)總線19和數據處理系統(tǒng)各個組成部件所完成的控制功能。存貯器控制單元14提供對于數據和指令傳輸的集中控制和監(jiān)控,它比圖1A的面向總線的配置更有效,但損失了靈活性。
參見圖2,它示出一種能有效地使用本發(fā)明的典型的中央處理單元的原理方塊圖。指令發(fā)送單元22負責向各種專用的執(zhí)行單元(包括標量運算地址產生單元24、至少一個執(zhí)行單元(#1)25(至執(zhí)行單元(#Q)26)和一個向量運算單元28)提供(解碼的)的指令,向量運算單元28包括向量運算處理單元28A、向量運算地址產生單元28B和向量運算寄存器28C。由執(zhí)行單元處理過的數據一般從標量寄存器23或向量寄存器28C取出。執(zhí)行單元得出的結果數據貯存在標量寄存器23、向量寄存器28C或數據高速緩沖存貯器單元27中。數據高速緩沖存貯器單元27可看作是在主存貯器單元15和中央處理單元11之間提供一個接口的高速緩沖存貯器單元。(在圖2中,數據高速緩沖存貯器單元27示出為直接連接至主存貯器單元。如圖1A和圖1#B所示出的,實際的連接可包括中間的數據處理設備),指令發(fā)送單元22包括用于確定哪個執(zhí)行單元將處理選定的數據和用于確定何時該選定的執(zhí)行單元能用于數據處理的設備。后一個特性還包括確認目標存貯位置將可用于貯存處理過的數據。指令高速緩沖存貯器單元21貯存指令,該指令經過解碼后由指令發(fā)送單元送往有關的執(zhí)行單元。指令發(fā)送單元22含有使執(zhí)行單元的處理操作量為最大的設備。因此,指令發(fā)送單元22含有預取出設備和確保相應的指令(包括任何轉移指令)在需要時能為指令發(fā)送單元22所用的算法程序。各種執(zhí)行單元(如所示的標量運算地址產生單元24和向量運算單元28)是用于進行特定類型運算的專用處理設備。例如,一個執(zhí)行單元可配置成進行浮點運算或整數算術運算等。指令發(fā)送單元22具有相應的標量寄存器23,它可貯存供執(zhí)行程序用的數據或提供數據處理運算的一個記錄。例如,一個寄存器是程序計數寄存器,它貯存正在執(zhí)行的程序指令序列中下一個待處理的指令的(虛擬)地址。標量運算地址產生單元24用于把虛擬地址轉換為主存貯器單元15中的物理位置。當各個執(zhí)行單元以不同的速率處理指令時,指令發(fā)送單元22還負責以正確的順序重新安排從執(zhí)行單元來的數據。
向量運算單元28含有一個向量運算處理單元28A、一個向量運算地址發(fā)生單元28B和向量運算寄存器28C。向量運算處理單元的活動能控制向執(zhí)行單元24~26分配數據和其中指令的執(zhí)行。根據另一個實施例(未示出),為向量運算單元28專用于執(zhí)行指令的執(zhí)行單元可以用于數據處理系統(tǒng)中。當執(zhí)行單元可用于向量和標量運算時,控制取決于指令發(fā)送單元22的總的系統(tǒng)控制,由它分配數據處理單元的資源。
圖3示出的是優(yōu)選實施例中的虛擬編址機構的說明。在指令發(fā)送單元中的指令301具有相應的一個虛擬地址302,它標識指令對之進行操作的數據。指令發(fā)送單元把虛擬地址302送至標量地址產生單元24(或者是向量地址產生單元28B)。在地址產生單元24(或28B)中,虛擬地址的一部分用于標識(通過地址產生單元中的設備303)在主存貯器單元15中的一個頁面表項目304。頁面表項目305被傳送到地址產生單元24(或28B),設備305測試在頁面表項目中選出的字段以確定對數據元素的存取是否允許。當不允許存取時,則標識出一個存取違例306,調用一個相應的操作過程以確定如何對此存取違例作出響應。當測試305確認對數據元素312的存取是允許時,則對頁面表項目304進行測試307,以確定該指令所需的數據元素在主存貯器單元15中是否存在,當測試307表明數據元素不存在時,產生一個頁面故障308,一個操作系統(tǒng)的程序把數據元素傳送至主存貯器15(在位置312),更新有關的頁面表項目304,通知指令發(fā)送單元可重新開始從主存貯器位置中檢索所需的數據元素。當測試307確認所需的數據元素素貯存在主存貯器單元中,測試309對頁面表項目304進行測試,以確定有關指令所要求的數據元素的活動是否被標示為結果是發(fā)生故障。當該指令所確定的該項活動標示為故障狀態(tài),則讀時故障、寫時故障或執(zhí)行時故障(視情況而定)將調用一個操作系統(tǒng)程序以便對此故障狀態(tài)作出響應。如果測試309表明,與有關的數據元素相關的指令的活動沒有標示為故障狀態(tài),則地址產生單元24(或28B)確定在主存貯器單元15中的貯存所需數據元素的物理地址311。此地址上的數據元素312被傳送至在標量寄存器23,向量運算寄存器28C或指令高速緩沖存貯器裝置21(即當數據元素是一條指令)中的一個存貯器位置313。以這種方式,由虛擬地址所標識的所需的數據元素即可供指令301作處理之用。
圖4所示的是按照本發(fā)明的一個向量重新起動幀。除去位的位置0~2外,信號組401都為邏輯○。在0~2位的位置上,標示有下述類型的異常存取違例、讀時故障、寫時故障、轉換無效、向量對準和指令掛起。指令掛起碼組與指令發(fā)送單元發(fā)出的向量裝入/貯存指令有關,但其操作并沒有實際開始。信號組402表示向量的長度或在向量操作中有關的數據元素的數量。信號組403表示初始的基地址。信號組404指示在相鄰的數據元素之間的初始跨距或位移量。信號組405為引起異常的缺失數據元素的頁面中有關的虛擬地址,而信號組406是導致異常的向量裝入/存貯指令。信號組407為處理機狀態(tài)。對本發(fā)明來說,位的位置2(VRF)這個字段尤其重要,它表明保留一個以前的向量重新起動幀。信號組408則貯存下一個指令的虛擬地址。
圖5所示為一個執(zhí)行向量運算的數據處理單元從頁面故障恢復的流程圖。在步501,在執(zhí)行一個向量運算期間標識了頁面故障。在步502,指令發(fā)送單元中止發(fā)出進一步的指令,在步503,允許在頁面故障時正在執(zhí)行的所有指令繼續(xù)完成或形成頁面故障(或某些其它的異常活動)。在步504,對每個頁面故障的參數(如圖4所示的)進行貯存,以便從頁面故障恢復。在步505,未能完成執(zhí)行導致頁面故障的每個指令的缺頁被傳送至主存貯器單元,在缺失數據被送入主存貯器單元后,導致故障的每個指令被執(zhí)行。在對顯示頁面故障的指令和對所有異常事件作出響應后,程序恢復正常執(zhí)行。2。優(yōu)選實施例的操作在優(yōu)選實施例中,具有如圖2的流水線方式的執(zhí)行單元的中央處理單元的實施受到一些限制,但是,別的設計方案也可采用本發(fā)明。中央處理單元包括多個執(zhí)行單元,每個單元用于執(zhí)行一個類型的指令。例如,一個執(zhí)行單元為標量地址產生單元24,它控制中央處理單元和主存貯器單元之間邏輯信號組的傳輸,即執(zhí)行標量裝入/存貯指令。一個執(zhí)行單元用于執(zhí)行數據移位操作,一個執(zhí)行單元用于浮點相加/相減運算,一個執(zhí)行單元用于整數和浮點相乘運算,一個執(zhí)行單元用于整數和浮點相除運算。專用的執(zhí)行單元可以(但也不一定)在一個流水線配置中實施。中央處理單元的其它特性如下所述。處于正在執(zhí)行的指令序列中的指令被從指令高速緩沖存貯器單元21傳送到指令發(fā)送單元22。在指令發(fā)送單元中,指令被分解成它的各個組成部分,由此產生與數據有關的控制信號和地址信號。但是,在一個指令可開始執(zhí)行之前(即被發(fā)出前),必須滿足幾個限制條件。指令的所有源寄存器和目標寄存器必須可供使用,即沒有一個對所需的寄存器進行的寫操作可以是未完成的。寄存器寫路徑應在此指令貯存處理過的量的未來周期中提供使用。在執(zhí)行期間用于處理指令所需的執(zhí)行單元必須可供使用以完成運算。對于向量運算單元,一個向量運算在向量運算期間保留一個執(zhí)行單元,當一個存貯器裝入/存貯指令出現一個高速緩沖存貯器單元缺失,裝入/存貯單元忙標志將使得隨后的裝入/存貯指令延遲,直至高速緩沖存貯器缺失響應結束為止。當一個指令發(fā)出時,其結果用的目標寄存器和寫路徑周期被保留。在操作數建立期間,要產生所有與指令無關的寄存囂地址,操作數要被讀出和貯存,要產生與數據有關的控制信號。指令操作數和控制信號被送至相應的執(zhí)行單元供執(zhí)行。執(zhí)行單元所產生的結果被相應地貯存在寄存器文件或數據高速緩沖存貯器單元27中。當一個指令發(fā)出時,處理結果可能在幾個機器周期期間不能得出。同時,在下一個機器周期期間,下一個指令可能被解碼,而在所需的發(fā)出條件滿足時被發(fā)出。因此,指令以下正常的指令順序被解碼和發(fā)出,但由于執(zhí)行單元的不同的指令執(zhí)行時間,其結果可以不同的次序貯存。這種無順序的貯存使異常處理和重試出錯的指令變得復雜。但是,這種事件是較少發(fā)生的,而無順序貯存則提供了在執(zhí)行和硬件方面的優(yōu)點。
在圖3中,虛擬尋址技術被廣泛地實施,此技術可使程序員不需考慮數據和指令元素的實際位置。地址產生機構將在程序地址和數據處理單元中的數據和指令元素之間提供一個接口,通過使用數據和指令元素頁面,從大容量或海量存貯媒介的數據和指令元素的傳輸被加快,它無需傳輸單個的數據和指令元素。此外,程序一般地以這樣的格式編寫,使得為順序的執(zhí)行指令所需的數據和指令元素在程序或文件中貯存得相互比較靠近。因此,一頁面數據和指令元素一般將包括程序執(zhí)行用的多個有關數據和指令元素。但是,頁面方案對分區(qū)(granularity)的相對的嚴格性具有這樣一種結果(尤其是在執(zhí)行向量指令時),即有關的數據和指令元素組可能會擴展出頁面界限而處于數據處理系統(tǒng)的主存貯器單元中不存在的頁面上,在優(yōu)選的實施例中,地址產生機構34包括有進行地址翻譯、并且當所需的信息頁面不存在于主存貯器單元15中時能產生一個異常(即測試307)用的設備部分。還包括作為操作系統(tǒng)一部分的一個軟件程序,以便在大容量存貯器單元和主存貯器單元之間傳送信息頁面。當一個頁面的數據和指令元素被傳送至主存貯器單元15時,地址產生機構34提供在主存貯器單元15中相應的頁面表項目,在此,當前正在執(zhí)行的程序可標識貯存在主存貯器單元15中的所有的數據和指令元素的頁面(與虛擬地址有關),因此當被訪問的數據或指令不存在于主存貯器單元15中時,能發(fā)出一個頁面故障信號。如圖3所示,數據處理單元一般包括與虛擬尋址技術有關的過程,如用于當所要求的信息頁面不存在于主存貯器單元中時發(fā)出信號設備,以及通過檢索缺頁信息對頁面故障作出響應的程序。
從向量頁面故障的恢復一般由操作系統(tǒng)控制下的一個程序來提供,此操作系統(tǒng)程序具有向量重新起動幀可用,以標識出導致頁面故障的程序部分。這樣一個程序將確保被向量頁面故障標識為缺頁的數據元素會被傳送到主存貯單元。被向量頁面故障所中斷的指令的執(zhí)行即已完成。在所有中斷的指令被重新執(zhí)行之后,然后程序恢復正常的執(zhí)行。在目前這種向量運算方式下,可要求64個數據元素,每個元素可能處于不同的頁面中。因此,可能會需要64個關于各個頁面的頁面表以及一個用于指令的頁面。因此,操作系統(tǒng)軟件必須保持為執(zhí)行一個向量指令所需的可能相當大量的頁面供使用。
本發(fā)明的中央處理單元設計能提供對向量指令和標量指令的并行執(zhí)行。因此,當檢測到一個異常或中斷狀態(tài)時,指令發(fā)出過程停止,未完成的指令被完成。很明顯,可能會存在多重異常和中斷的狀態(tài)。在本優(yōu)選實施例中,算術自陷(arithmetic traps)具有最高的優(yōu)先級,然后是向量異常、所有其它的異常(故障),最后是最高優(yōu)先級的中斷。
上述說明的目的是闡述本優(yōu)選實施例的工作而不是限制本發(fā)明的范圍,本發(fā)明的范圍僅受到權利要求的限制。根據上述說明,對于熟悉本技術領域的人員來說,包含本發(fā)明的思路和范圍的許多方案是顯而易見的。
權利要求
1.一種與數據處理系統(tǒng)的中央處理單元有關的故障恢復設備,上述的數據處理系統(tǒng)包括一個主存貯器單元,上述的中央處理單元包括多個執(zhí)行單元,上述的執(zhí)行單元執(zhí)行從一個指令發(fā)送單元來的指令,至少有一個上述的執(zhí)行單元專用于執(zhí)行向量運算,上述的數據處理系統(tǒng)采用虛擬編址技術,該系統(tǒng)包括故障檢測設備,當一個向量裝入或一個向量存貯指令訪問一個在上述的主存貯器單元中不存在的數據元素時,它產生一個第一信號;執(zhí)行裝置,當上述的第一信號產生時,它允許正在進行中的向量運算指令完成其操作;上述的指令發(fā)送單元在上述的第一信號產生之后,阻止再發(fā)出新的向量運算指令;貯存裝置,它用于貯存導致產生上述的第一信號的上述指令的參數。
2.與權利要求1的一個中央處理單元有關的故障恢復單元,其中上述的貯存裝置還貯存由上述的故障檢測設備產生的一個隨后發(fā)生的信號的有關參數。
3.與權利要求1的中央處理單元有關的故障恢復設備,其中上述的參數包括一個異常類型碼、一個向量長度、一個正在被上述的向量運算指令處理的數據元素的基地址、一個處在順序的向量運算指令元素之間的位移量、在包括引起上述的第一信號的上述的向量運算指令數據元素的一個頁面的數據元素內的一個虛擬地址、上述的指令的標識和待發(fā)出的下一個指令的虛擬地址。
4.根數權利要求3的故障檢測設備,其中上述的故障檢測設備檢測由于繼續(xù)執(zhí)行上述的向量運算指令而形成的一個第二頁面故障狀態(tài),對每個引起上述的頁面故障的每個向量指令都要貯存上述的參數。
5.根據權利要求4的故障檢測設備,其中上述的中央處理單元能執(zhí)行重疊的標量和向量運算指令,上述的故障檢測設備還包括當一個標量指令產生一個異常狀態(tài)時產生一個第一信號的設備,在產生上述的第一信號后,上述的中央處理單元繼續(xù)執(zhí)行標量和向量運算指令,其中與導致產生上述的第一信號的上述的向量和標量指令有關的參數被貯存起來。
6.一種能對在數據處理系統(tǒng)中的頁面故障作出響應的技術,該數據處理系統(tǒng)能執(zhí)行多個重疊的向量和標量運算指令,該技術包括下述步驟標識一個頁面故障的存在;在標識上述的頁面故障之后,暫停發(fā)出指令;在標識上述的頁面故障之后,繼續(xù)執(zhí)行正在執(zhí)行中的指令;貯存與上述的被標識的頁面故障有關的參數;利用上述的參數執(zhí)行一個程序,以完成導致頁面故障的指令的操作。
7.對權利要求6的頁面故障作出響應的技術,其中上述的貯存步驟包括貯存識別一個頁面故障的標識上述的指令的參數,一個導致頁面故障的缺失數據元素和待執(zhí)行的下一條指令。
8.對權利要求6的頁面故障作出響應的技術,其中上述的貯存步驟包括貯存表明存在另一個頁面故障的信號。
9.對權利要求6的頁面故障作出響應的技術還進一步包括在結束上述的指令之后繼續(xù)執(zhí)行程序的步驟。
10.對權利要求6的頁面故障作出響應的技術還包括在對一個第一頁面故障作出響應期間至少標識另一個頁面故障的步驟;在上述的繼續(xù)執(zhí)行程序步驟之前,判定每個頁面故障。
11.對權利要求6的頁面故障作出響應的技術,其中上述的標識缺失數據元素的貯存參數包括貯存一個起始地址的步驟、一個位移量和一個向量長度。
12.一個包括執(zhí)行向量運算用的設備的數據處理系統(tǒng),上述的數據處理系統(tǒng)包括一個主存貯器單元;一個海量存貯器單元;至少一個指令發(fā)送單元,用于控制指令執(zhí)行;多個執(zhí)行單元,用于對上述的指令發(fā)送單元作出響應而執(zhí)行指令,至少一個上述的執(zhí)行單元執(zhí)行向量運算,其中上述的數據處理系統(tǒng)采用一個虛擬編址技術;頁面故障檢測裝置,用于檢測為上述的指令發(fā)送單元對一個向量運算指令所要求的缺失數據元素,在檢測到上述的向量指令頁面故障后,上述的指令發(fā)送單元中止發(fā)出信號。當上述的頁面故障被標識時,上述的指令發(fā)送單元允許正在執(zhí)行中的指令完成執(zhí)行。
13.根據權利要求11的數據處理系統(tǒng),其中用于標識從上述的主存貯器單元中缺失數據元素和當一個向量指令頁面故障被標明時標識一個有關的指令的信號組被貯存在一個堆棧上。
14.根據權利要求10的數據處理系統(tǒng),其中用于執(zhí)行一個向量運算指令的缺失數據元素,在對與上述的向量指令有關的頁面故障作出響應后,被貯存在上述的主存貯器單元中,上述的被貯存的信號組允許上述的向量指令被一個出錯處理過程所重新執(zhí)行。
15.根據權利要求11的數據處理系統(tǒng),其中所述的數據處理系統(tǒng)能執(zhí)行重疊的向量和標量運算,上述的數據處理系統(tǒng)還包括標量指令異常檢測設備,用于檢測由于執(zhí)行一個標量指令而形成的異常狀態(tài),上述的標量指令異常裝置使上述的指令發(fā)送單元在檢測到一個異常狀態(tài)時,暫停發(fā)出進一步的指令和完成當前正在執(zhí)行的指令。
16.根據權利要求14的數據處理系統(tǒng),其中與上述的向量指令頁面故障和上述的產生異常的標量運算有關的信息被貯存在一個存貯堆棧上。
17.根據權利要求15的數據處理系統(tǒng),其中貯存在上述堆棧內的上述信息包括一個在上述的堆棧上以前貯存的信息的一個指示。
18.根據權利要求16的數據處理系統(tǒng),其中當一個向量運算頁面故障被檢測到時,所貯存的信息包括一個向量長度、一個起始基地址、一個起始跨距、一個與形成頁面故障的向量運算指令有關的虛擬地址、一個形成上述的頁面故障的向量裝入/貯存指令和下一個指令的虛擬地址。
全文摘要
在一個采用虛擬存貯器技術和能執(zhí)行多個重疊的標量和向量數據處理運算的數據處理系統(tǒng)中,提供設備和方法,使得在一個或多個訪問當前在主存中不存在的數據值的向量裝入/貯存指令接受頁面故障之后,能繼續(xù)執(zhí)行程序。在出現這樣一個頁面故障時,所有當前正在執(zhí)行的指令被允許結束執(zhí)行,而概括頁面故障狀態(tài)的信息被記錄在存貯器中供操作系統(tǒng)軟件之用,并產生一個向量異常信號。操作系統(tǒng)軟件對此異常作出響應,檢查故障信息,使缺失頁從海量存貯介質讀入主存貯器單元,重新執(zhí)行產生異常的向量指令,繼續(xù)執(zhí)行程序。
文檔編號G06C17/00GK1030487SQ88104010
公開日1989年1月18日 申請日期1988年7月1日 優(yōu)先權日1987年7月1日
發(fā)明者戴維·N·卡特勒, 戴維·A·奧必斯, 迪利普·班達卡, 韋恩·卡爾多薩, 理查德·T·威特克 申請人:數字設備公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1