亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

超大規(guī)模計算機的制作方法

文檔序號:1546閱讀:479來源:國知局
專利名稱:超大規(guī)模計算機的制作方法
本發(fā)明涉及大規(guī)模并行處理機,特別涉及對上述參照的日本專利號第109776/84和美國專利號4,598,400中所首先揭示的方法和裝置的改進。
如上述′400專利中圖1A(在此以圖1形式重視)所示,那些發(fā)明的計算機系統(tǒng)包括主機10,微控制器20,并行處理集成電路35的陣列30,數據源40,第一緩沖器和多路轉換器/多路分配器50,第一、第二、第三和第四雙向總線控制電路60、65、70、75,第二緩沖器和多路轉換器/多路分配器80,以及數據接收器90。主機10可以是經過適當編程的市場上有售的通用計算機,例如數字設備公司生產的VAX(TM)計算機。微控制器20是慣常設計的指令序列發(fā)生器,它能產生通過32位并行總線22而應用于陣列30的指令序列。微控制器20在線26上接收來自陣列30的一個信號。該信號是可用于數據輸出和狀態(tài)信息的通用信號或GLOBAL信號??偩€22和線26并行連到每個集成電路35。結果,來自微控制器20的信號同時加到陣列30中的每個集成電路35上,通過線26加到微控制器20上的信號由組合該陣列中所有集成電路35的輸出信號所構成。
陣列30包含成4個相同的集成電路35,并且每個集成電路35包含幾個相同的處理器/存貯器36。在′400號專利所揭示的實施例中,指出陣列可以包含有32,768(=215)個集成電路35;每個集成電路35可包含32(=25)個相同的處理器/存貯器36。在遞交該專利申請案時,包含至多4096(=212)個相同集成電路35,并且每個集成電路包含16(=24)相同處理器/存貯器的陣列已由受讓者作為連接機(TM)計算機被生產以及發(fā)運。
處理器/存貯器36按二種幾何結構構成和互聯。一種幾何結構是慣用的二維網絡型式,其中處理器/存貯器按長方矩陣構成并連到該陣列中的四個最近的相鄰單元上。為了說明方便,該陣列的邊用東、南、西、北表示。為了使每個處理器/存貯器與其四個最近相鄰單元相連,每個處理器/存貯器是通過網格上每行和每列相鄰的處理器/存貯器之間的電導線相連接的。
第二種幾何結構是15維的n-立方體的布爾結構。為了理解n-立方連接型式,對集成電路從0到32,767加以編號,并用15位二進制數字來表示這些數字和地址是有幫助的。就象我們可以用二位數字,其中一個表示二維網絡中第一維的位置,另一個表示第二維的位置來指定二維網絡中一個物體的位置一樣,以此類推,可用一個數字來限定一個集成電路在布爾15-立方體的15維中的一維的位置。然而,在一個n-立方體中,一個集成電路在每一維中只能有兩種不同狀態(tài)0和1中的一個,這樣,15個二進制的數字可用作集成電路地址,并表示集成電路在n-立方的15維中的位置。更進一步說,由于一個二進制數只能有二個值,0和1,同時由于每個集成電路由15個二進制數唯一確定,所以每個集成電路具有與其進位地址只相差一位的15個其他集成電路。我們把這15個二進制地址僅與第一個集成電路二進位地址相差一位的集成電路稱為該第一個集成電路的最近相鄰單元。那些熟悉漢明距離的數學定義的人將發(fā)現,該第一集成電路與15個相鄰最近單元中每個相隔一個漢明距離。
為了使上述參照申請中的集成電路35按布爾15-立方體形式連接,每個集成電路就由15根輸入線38和15根輸出線39與其最近相鄰的單元相連。連到每個集成電路35的15根輸入線38中的每根是與波爾15-立方體型式的15維中每一個相聯系的,同樣,每個集成電路35的15根輸出線39中的每根是與不同的維相聯系的。布爾n-立方型連線的詳細情況由日本專利申請128,294/86案提供。為了允許布爾15-立方體型通過互連型式的通信,計算的結累是按信息包的形式構成;這些包根據構成包的一部分的地址信息,在通過每個集成電路中的發(fā)送電路中從一個集成電路發(fā)送到另一個集成電路。
典型的一個處理器/存貯器26由′400專利申請的圖7A詳細說明。如圖7A所示,該處理器/存貯器包括32×12位隨機存貯器(RAM)250,算術邏輯單元(ALU)280和標志控制器290。ALU對三種來源的數據起作用,即RAM中的二個寄存器和一個標志輸出信號,并產生二個輸出信號,被寫入一個RAM寄存器的和輸出信號以及能在標志控制器中某個寄存器和某個其它處理器/存貯器中可用的執(zhí)行輸出信號。
輸入到RAM250的是地址總線152,154,156,158,來自ALU270的和信號輸出線285,來自′400專利中圖6B所示的通信接口單元(CIU)180的信息包輸入線122,以及來自標志控制器290的寫入線298。RAM250的輸出線是256,257。線256,257上的信號來自RAM250中二個不同寄存器的同一列,其中一個被設定為寄存器A,而另一個為寄存器B??偩€152,154,156,158根據微控制器20的指令字確定寄存器和其所在列的地址。
ALU280包含一個八選一解碼器282,信號輸出選擇器284和執(zhí)行輸出選擇器286。如′400專利中所詳細說明的,這使它能產生包括加,邏輯或和邏輯與等多種功能的和信號及執(zhí)行輸出。ALU同時對三位起作用,即來自RAM250中寄存器A和寄存器B的線256,257上的二位和來自標志控制器290的線296上的一位。ALU具有二個輸出被寫入RAM250中寄存器A的線285上的和信號;以及可能被寫入標志寄存器292并加到與該處理器/存貯器相連的其它處理器/存貯器36的東、南、西、北以及數據捕獲和譯碼系統(tǒng)輸入端的線287上的執(zhí)行信號。在執(zhí)行線287上的信號同樣也可通過信息輸出線123提供到通信接口單元180。
每個集成電路35還包括某些集成電路上處理器/存貯器的管理電路以及使集成電路按布爾n-立方體型式連接到其最近相鄰集成電路的發(fā)送電路200,如′400專利案所揭示的,管理電路包括時標發(fā)生器140,對于來自微控制器20的指令信號進行譯碼并給集成電路的處理器/存貯器提供譯出的指令信號的可編程邏輯陣列150,以及控制集成電路的處理器/存貯器和該集成電路相關的發(fā)送電路之間的輸入和輸出信息包傳送流的通信接口180。
發(fā)送電路200控制信息包按布爾n-立方體型式與最近集成電路的傳送。通過該電路,信息包可以按布爾n-立方體型式由任一集成電路發(fā)送到其它集成電路。如′400專利中圖6B所示,電路200包括線分配器205,信息檢測器250,緩沖器和地址還原器215和信息發(fā)射器220,它們按此順序成環(huán)狀串聯,這樣一個元件的輸出被提供為下一元件的輸入,并且信息發(fā)射器220的輸出提供到線分配器205上。線分配器205包括一個15×15個大致相同的發(fā)送邏輯單元400的陣列。該陣列的每一列控制布爾15-立方體型式的一維中的最近發(fā)送電路200間的信息包的傳送流。該陣列中的每一行控制發(fā)送電路200中的一個信息包的存貯。發(fā)送電路的信息檢測器210把與該特別發(fā)送電路相關并包含處理器/存貯器地址的信息包提供給通信接口單元(CIU)180,信息發(fā)射器220把CIU180的信息包發(fā)射到在發(fā)送電路中循環(huán)的信息包組。
九個這樣的發(fā)送邏輯單元400如′400專利申請的圖11所示,在此用圖2重現。在左側列的三個單元與第一維相關,中間列的三個單元與第二維相關,右側列三個單元與第十五維相關。每個單元列具有與該維相關的輸出線39相連的輸出總線410。對于那些行來說,最低行的三個單元是陣列中最低的單元,它接收來自輸入線38的輸入信號。頂部三個單元是陣列中最高的單元,中間三個單元代表頂部和底部間的任何單元,但在圖中示出的是與最底行相連的三個單元。
圖2中同樣也示出了代表部分信息檢測器210,緩沖器和地址還原器215以及發(fā)送電路200中的信息發(fā)射器220的三個處理和存貯裝置420,它們處理的存貯來自線分配器205中的對應的三行單元400的信息。還有十二個處理和存貯裝置用來處理和存貯來自其它行的信息(圖中未示)。
如果沒有發(fā)生發(fā)送沖突,信息包將被從一個輸入端送到第一維發(fā)送單元,并送到在一個信息周期內被確定地址的處理器存貯器的寄存器中,如果發(fā)生發(fā)送沖突,信息包將被暫時地在一個或多個中間點上存貯在發(fā)送電路的處理和存貯裝置中;把信息包送到其目標需要多于一個發(fā)送周期。
圖2提供了對每個發(fā)送單元400的輸入和輸出端方便的簡要說明。如沿著底行的三個單元400所指的,布爾15-立方體型的不同維來的信息包被加到NAND門405。這些門除了在重置情況下都有效。轉換信息包的每個NAND門405的輸出,被加到最低行中的一個單元400的輸入端L-in。在L-in端的表示信息包存在的信號同樣也加到同一單元的輸入端LP-in。對于底行的在每個單元來說,設置該信息出現信號的理由是它具有限定底行下一列中的單元在接受信息包時進一步處理的條件功效。這樣在單元輸入端的表示信息包存在的信息出現信號被用于整個發(fā)送電路200以建立發(fā)送信息包所需的發(fā)送電路200的數據通道。
從某一線38接收到的信息包從M-OUT端被送出一列中最低單元400,并被加到其直接右方一列中的單元400的M-IN端。與此同時,信息出現信號從MP-OUT端送出,送到其直接右方單元的MP-IN。
任一單元400的M-IN端接收得的信號可在任何一個總線端U-OUT輸出端或M-OUT端送出該單元,依賴于網絡中其他信號是什么。在一列中所有單元400的總線端是連到公共輸出總線410上的,該公共總線410是通過NOR門(異或門)415連到輸出線39并連到布爾n-立方體型中該維的最近鄰近單元上的,異或門415的另一輸入是一定時信號t-INV-OUT-n,其中n是維數。該定時信號補充信息包中重復地址中適當的地址位,以當信息包通過布爾15-立方體型時修正該地址。
從U-OUT端離開單元的信息被迅速地加到一列中直接上方單元的L-in端,并且由該單元按在L-in端接收到的任一信號同樣處理。信息存在信號按同樣方式從UP-OUT端傳送到它直接上方單元的LP-in端。
在每列中的單元400中的電路被設計成能在每列(或每維)的輸出總線410上放置對應于該維的信息;該信息在最靠近頂部的行中周轉并且向頂行壓縮所有行。最終,在每列中提供控制信號允許(G)和全滿(AF),向該列中的各個單元提供在該列中它以上單元的狀態(tài)信息。特別是,允許信號(G)通過由G-in和G-OUT端加到單元以下每一列的信號控制每列或每維的輸出總線410的存取。傳插該信號的電路提供對應于該維地址的列中的最高信息包的存取,并且防止該列中的較低單元中的信息傳送到輸出總線上,全滿(AF)信號通過在每個單元的AF-OUT端和AF-in端向它指明在該列中其上方每個單元是否有信息來控制信息從一個單元400傳輸到同一列的其上方單元的。如果任一個上部單元是空的,每個較低單元中的信息就移到該列中的上一單元。
對于頂行中的單元,輸入到端頭的信號總是高的。對于這些單元,加到G-in端的輸入信號是對重置信號的補充,因此除了重置期間都為高信號。結果,在一列的頂部單元中的信息包一般將對輸出總線410存取,如果對應于該維地址的話。但是如果輸出線39斷了的話,可通過給與該線相對應維的頂部單元的G-in輸入端一個低電平信號而把該線從互連的15-立方體網絡中去掉。在單元400的最低行中,來自G-OUT端的允許信號常用于控制能夠給輸出總線提供接地的通路晶體管425。特別是,如果在那輸出線上沒有信息,則給那維的輸出線寫入0位。
在單元中某些觸發(fā)器的工作情況由定時信號t-COL-n控制,其中n是維數,而其他觸發(fā)器由基本時鐘信號phil定時,從以下說明可以明顯看出,每列中的發(fā)送單元同步于陣列30中的所有發(fā)送電路的同一列中的所有其他發(fā)送單元而進行工作。
用幾千個相同的并行工作的處理器/存貯器打開了計算的全新遠景。由于串行的計算機的限制而不能達到的種種問題現在能在適當的時間內通過并行計算機例如連機計算機實現。
計算能力的大大增加促進了對于現有并行計算機加重負擔的更復雜問題的興趣,并且還促進了對于更大的并行計算機的需求。同時對每一個可由一個并行計算機方便地進行尋址的問題不需非常大的計算機進行處理。一些簡單的問題不需用足夠的數據去占用大的并行計算機的所有資源;其他一些問題并不對并行計算機的計算量有嚴格的要求。除非能發(fā)現一種方法,在所有時間內都用并行計算機的大部,否則從經濟上來說,很難證明用這樣的計算機是正確的。
一種折衷的方法是,利用多余的處理能力和存貯容易以模擬另外的并行處理機,如上述參照申請日本專利申請第39301/87號所描述的。根據那種技術,與每個實際處理機相關的存貯器可分為多個子存貯器,并且每個子存貯器可被相繼利用,就象它與一個獨立的處理機相連一樣,這樣第一指令或一系列指令被加到并行計算機的所有處理器上以使至少一些處理器處理第一子存貯器中的第一或其它單元中的數據。以后,第一指令或一系列指令同樣被加到計算機的所有處理器上,以使一些處理機處理存貯在第二存貯器中相同的第一單元的數據。對每一個子存貯器以此類推,該技術在許多情況下都很有用,處理每組模擬處理器中數據的實際處理器機仍然是慣用的順序(或者Von Neunann)處理器。結果,如果大量模擬處理器和/或大量數據是與實際處理器相關的話,在實際處理器中會有出現Von Neumann瓶頸阻塞。
本發(fā)明的目的旨在提供一種通過在大量用戶中合理發(fā)配并行計算機的資源提供改善并行計算機利用率的方法和裝置。根據本發(fā)明,在大量用戶中分配并行計算機以滿足數據庫和與同時在計算機上行的程序的多重性要求。它是通過把并行計算機分成多個處理器陣列的裝置來完成的,每個處理器都可獨立于其它處理器使用。該種劃分按下述意義是動態(tài)的,即能夠容易地轉換,并且實際上在分時環(huán)境中能在機器的二個相繼時間片之間轉換。
此外,并行計算機的構成能如′301申請案所述的,通過每個陣列中的實際處理器允許模擬其它的并行處理機,并能提供模擬并行處理機間的通信。根據本發(fā)明,不僅是對于與特殊實際處理器相關的模擬處理器相互間提供通信成為可能,而且對于與任何實際處理器相關的任何模擬處理器同與有行計算機中的任一實際處理器相關的模擬處理機之間通信也成為可能。通過虛擬存貯器的類似概念,我們此后這些模擬處理器看作虛擬處理器。此外,根據本發(fā)明,同樣提供了在虛擬存貯器中存貯虛擬處理器的手段。
本設計的結果,可能制造具有數量級為1,000,000個實際處理器和數量級為1,000,000,000,000個虛擬處理器的并行計算機。而且,由于計算機可動態(tài)地重新組合成多個獨立的處理機陣列,這樣大小的裝置能被大量用戶分享,每個用戶只是用了整個計算機的一部分,適合于該問題所需的容量,然傳被編址。特別是,大約1,000用戶可通過局部網絡與并行計算機相接。
為了在處理器之間提供通信,實際處理器按足夠大小的二進位n-立方體型式互聯,以在立方體中給每個實際處理器設定唯一的位置,每個虛擬處理器被指定其獨自的地址。這樣的地址結構允許對2個虛擬處理器進行編址。
本發(fā)明中并行計算機的其它特點還包括計算機支持一通常的單步(word-at-a-time)指令集。另外,它還支持并行指令的同構集。對于每個即時字節(jié)運算,對應數據的并行運算對整個數據集同時進行。
計算機還提供硬件支撐以分配和同步執(zhí)行通過多個處理器的指令。結果,通過機器的那些運算彼此相互按完全確定的次數發(fā)生。
用戶可能按需要來盡量分配多余存貯量以保證重要事務的可靠運算,這可以從簡單的要求不高應用的自檢直到可靠事務的整個四重模塊余量的范圍中。由于多余部分只根據需要分配,故多余量的消耗只是當需要多余量時才能發(fā)生。
本發(fā)明的這些和其它目的,特征和優(yōu)點將從以下對本發(fā)明最佳實施例所作的描述中明顯看出,其中;
圖1是已有技術中并行處理機的結構圖;
圖2是圖1中的并行處理機的發(fā)送電路的結構圖;
圖3是本發(fā)明的最佳實施例的總體結構圖;
圖4是本發(fā)明一個處理器單元的結構圖;
圖5和圖6是把圖4所示的處理器單元組織到并行處理機陣列中的結構說明圖;
圖7是說明圖4所示的處理器單元的部件的詳細結構圖;
圖8-12是圖7的部件的詳細結構圖;
圖13是本發(fā)明的最佳實施例尋址方式的說明;
圖14是有助于理解本發(fā)明的結構示意圖;
如圖3所示,本發(fā)明的最佳實施例是一個系統(tǒng)300,它包括多個用戶終端310A-N,局部網絡320以及一個處理器陣列330。典型地,每個終端包括具有鍵盤314和CRT顯示316的控制臺312,一些硬拷貝輸出例如打印機(圖中未畫),以及位于終端和局部網絡320間的接口318。如果需要的話,通常的個人計算機可用作終端310。
處理器陣列330典型地包括262,144(=218)個實際處理器部件(PPU),四兆字節(jié)的高速讀/寫或者與每個處理器相連的隨機存貯器,外加的低速大存貯量讀/寫存貯器以及外圍電路,兆兆字節(jié)的高速存貯器典型的是由集成電路存貯芯片來提供的。大存貯量讀/寫存貯器例如可能為32,768(=215)個硬盤驅動器,每個具有300兆字節(jié)的容量,總的容量是10兆兆字節(jié),262,144個PPU按18維超立方體加以聯結,其中每個PPU沿著超立體的十八個邊的每一邊連結18個相鄰的PPU,可如下詳細說明。
局部網絡320把處理器陣列330中的一些PPU與終端310相連,這樣特定的終端與特定的PPU通信。這些PPU依次地動態(tài)控制陣列中其它PPU并具逆歸控制更多的PPU,以對特殊問題提供充分的處理功能和存貯器。局部網絡最好是象開關一樣靈活,使任一絡端可與任何同連網的PPU相連,并且,這些連接隨時可按需要改變,甚至就象在分時環(huán)境下所需的經常程度一樣。大量常用的局部網絡,例如(Ethernet(TM))系統(tǒng)或數字PBX,可用于該目的,它提供了足夠的能力以連接包含在系統(tǒng)300中的終端的數目。如果需要,可用多個局部網絡。典型地,局部網絡應該能連接本發(fā)明的系統(tǒng)中的1000個終端。
可以看出,本發(fā)明的裝置提供了比慣用機器上實際使用更多的RAM數。它允許全部數據庫存貯在主存貯器中,其中存取時間成千倍地快于磁盤。串行機器的兆兆字節(jié)的主存貯器主要是不經濟,因為當只有一個用戶在一個單元進行存取太浪費,在本發(fā)明中,不會發(fā)生這樣的問題,這是因為存貯器的許多部分被同時存取。
根據以上參照申請所揭示的,通過把與PPU相關的存貯器分開,并把每個分存貯器指定給不同的虛擬處理器,故每個PPU可作為多個虛擬處理器來工作。根據本發(fā)明,存貯器的劃分甚至能擴展到虛擬存貯器,例如在硬盤或磁帶存貯裝置上。進而,每個虛擬處理器在計算機的處理過程中可被認為是等效于實際處理器。
根據本發(fā)明,用戶可以對PPU指定數據處理和存貯的要求,PPU能構成足以滿足這些要求的一組處理器(包括實際處理器和虛擬處理器)。有利的是,該組處理器送歸構成,這樣一個處理器控制一個或多個其它處理器而其他處理器控制更多的處理器,余此類推。最好是,數據庫的每個成份和處理器一對一被存貯,且處理器也按與數據庫相同的結構構成,這樣安排的結果是1.每個處理器能夠完成正規(guī)的Von Neumann型運算,包括算術/邏輯運算,數據移動和正規(guī)控制如子程序或分支等運算流。
2.每個處理器能夠分配一組數據處理器,使它們在并行指令執(zhí)行過程中受它控制。分配處理器稱為控制處理器,被分配的處理器稱為數據處理,這些是相對術語,因為數據處理器具有控制處理器的全部能力,并能自身分配數據處理器。
3.每個處理器可以從其分配的數據處理器中選擇上下文集合,該上下集合是一系列并行操作的數據。該上下文集合是根據用于所有數據處理器或用于目前上下文集合中所有數據處理上的某個條件加以選擇的,上下文集合可以被保存轉貯。
4.每個處理機可以同時按其上下文集合中的所有數據并發(fā)執(zhí)行并行運算。并行運算與分類目錄1中的順序運算完全相同,除非它們同時用于上下文集合中所有數據。這些包括所有數據操作,存貯器參照(通信),以及控制流操作。直至編程序者能夠了解到這些運算在數據集合中的所有處理器上同時發(fā)生。
5.每個處理器能夠存取共享的數據庫并把數據成份的各部分裝入存貯器。虛擬處理機同樣也能修改數據庫。
本發(fā)明中并行計算機的指令相似于常用計算機的指令。它們可分成三類局部指令,并行指令,和上下文指令。
局部指令完全就常用計算機的指令,包括子程序調用,條件和非條件轉移,返回,基于寄存器的算術數據移動,邏輯運算機和測試,局部指令在控制處理器內執(zhí)行。
并行指令就象局部指令一樣,除非它們在數據處理器的上下文集合中同時被執(zhí)行。成組的并行指令,調用命令,是在上下文集合中在所有虛擬數據處理器上同時執(zhí)行的。對于每個局部數據指令,存在有一個對應的并行數據指令。
上下文指令被用來指定并行處理的虛擬數據處理器集合。有四種上下文指令設置上下文為所有虛擬處理器滿足某個條件;
限制上下文使處理器的分上下文在現行上下文的范圍內,滿足某個條件;
把現行上下文推上堆棧;
使現行上下文跳出堆棧。
這些上下文指令可與并行數據指令混合成組以形成命令。
命令是本發(fā)明中并行計算機中的基本同步單元,命令是控制處理器和數據處理器之間的通信單元。在最簡單的情況中,一條命令為單個指令,它也可以是一組可一起執(zhí)行的指令,而不考慮在該命令中通過實際數據處理器的同步情況??刂铺幚砥鞯幕咀饔檬峭ㄟ^α發(fā)送程序(圖7)發(fā)出命令并且等待它已被所有數據處理器執(zhí)行的確認。不同的虛擬處理器能夠并一般地將在不同時刻執(zhí)行命令中不同的指令。
命令也是在系統(tǒng)中存貯指令的基本單元。這意味著在命令中所允許的指令數是有限的。因為一條命令可以包含調用指令,由命令完成的運算數目可以任意大。除子程序調用以外,命令可以包含有簡單循環(huán)和在命令中的條件轉移。
指令可根據簡單規(guī)則或組成命令,規(guī)則保證命令中的的指令能同步執(zhí)行。例如這可以通過允許引入非局部通信會作為命令中的最后指令來實現。
命令通過α程序發(fā)送器從控制處理器傳輸到數據處理器中。當命令被所有數據處理器執(zhí)行時,給控制處理器提供信號是α程序發(fā)送器的職責,該信號機制也被用作為在控制處理器中控制程序流的組合條件編碼。
如圖4所示的結構圖,每個PPU包括微處理器350,功能電路360,和存貯器370,PPU可以任選地包括一特殊數學電路以提高高速數學運算的性能,微處理器350,存貯器370和數學電路380可是常用的集成電路。例如,微處理器350可以是Intel8086機而數學電路380可以是浮點加速器,例如Intel8087。也可用Motorola68000和例如Faircuild clipper的微處理器是有特別優(yōu)點的,因為它們具有獨立的指令和數據引線。
存貯器370可以是任何高速大容量的讀/寫存貯器。典型地,該存貯器是由32個4×64千位集成電路芯片構成的陣列所提供的4兆字節(jié)存貯器。另外可用存貯有利于錯誤檢測和校正的奇偶和錯誤控制位的存貯器。由于較大容量的存貯器芯片能夠獲得,這些芯片可用于增加存貯容量的大小和/或減少所需集成電路片的數量。
功能電路360決定著存貯器接口,信息通路,錯誤校正,指令分配和同步,數據存貯和虛擬處理機控制。該電路接收來自PPU的信息并產生適合于驅動動態(tài)存貯器的地址信息。它還把數據送入PPU的數據線或取出,送入動態(tài)存貯器的數據線或取出。該功能電路還執(zhí)行把PPU用作虛擬處理機所需的所有管理功能。微處理器350,功能電路360和存貯器370的連接使功能電路360位于微處理器350和存貯器370之間,允許微處理器對此′400專利所述系統(tǒng)中更多存貯器進行尋址,在′400專利中,微處理器和存貯器直接耦合在一起。與此同時,該結構還調節(jié)信息包發(fā)送,如下所述。
PPU由16個單元構成,這樣具有0~15的16個PPU和外圍電路的集成電路設在如圖5所示的單電路板400上。外圍電路包括硬盤接口410,總輸入/輸出電路420,自檢電路430,時鐘電路440,標識電路450和性能測量電路460。
硬盤接口410是標準SCSI小型機系統(tǒng)接口)接口,它連到PPU的O端。它被設計成與下面將要說明的大容量存貯設備470相連,其最大通信帶寬近似為每秒10兆位。在電路板400上的其他PPU通過PPU的O端與大容量存貯體相接,用作文件服務器。
輸入/輸出電路420是32位寬的并行口或串行口,連到PPU1的。該端口具有約為每秒50兆位的最大帶寬。電路420把局部網絡320與PPU1相接,該PPU1在網絡中作為另一終端或簡單地作為一并行或串行口。電路板400的其它PPU通過PPU1與輸入/輸出電路420相接。作為這樣安排的結果,在任一終端310A-N處的用戶可在處理器陣列330中對任何PPU進行選擇尋址,方法就象用戶能用連到電話網絡中的任何電話一樣。
自檢電路430能夠檢測發(fā)生在電路板400上的任何錯誤,這樣,該裝置可從系統(tǒng)中去除。有利的是,它被連到發(fā)光二極管上,能夠提供視覺信號指明該裝置失效應維修。每個電路板包含其自己的時鐘電路440,它同步于系統(tǒng)中其它PPU的時鐘電路。標識電路450是一電可抹的固定存貯器,它包含該電路板的生產和維修歷吏,序號等等。性能測量電路460檢測軟件的執(zhí)行。
大容量存貯體470典型地包括一個標準盤控制器480和一標準的5-1/4英寸300-兆字節(jié)驅動器,考慮到在同一控制器上加直至七個附加驅動器,其總的存貯容量為2400-兆字節(jié)。
電路板400和存貯體470設在箱500中,它包括16塊板400的大存貯體502和16個存貯體470。這樣,在具有262,144個PPU的系統(tǒng)的情況下,用1,024(=2)個箱來容納PPU,箱與箱通過光導纖維通信線互連。因此,每個箱包括一個或多個通信裝置505,每個通信裝置505包括至少一個用于在箱體間轉換并傳送數據的光纖收發(fā)通信裝置。該收發(fā)裝置可以是常用的光纖收發(fā)裝置,具有每秒100兆位的數據傳送率并能夠把一個箱中的不同PPU通過分時多路通信傳送到其它箱中以發(fā)揮光纖通信線較大帶寬的優(yōu)點,最好的是,在每個通信設備中用至少二個收發(fā)裝置,這樣,信號在每個通信設備中可同時接收下的各維和發(fā)射。
最好,PPU330根據上述參照發(fā)明′294號所述的技術進行超立方體互連。這樣,每個PPU在立體網絡中對應于超立方體的四維在同一電路板上與四個其它PPU連接,并且還連到在一個箱中其它4塊電路板的PPU上,對應于超立方體的另外四維。在具有262,144個PPU的系統(tǒng)情況下,箱中每個PPU被連到十個不同箱中的十個PPU上。這些另外十對連接對應于超立方體余每個箱中在這些十維上的連接是通過一獨立的通信裝置505來完成的。
如圖7所示,功能電路包含9個主要功能單元地址變換器510,存貯器接口520,虛擬處理器序列發(fā)生器530,數據存貯器540,錯誤校正器550,α程序發(fā)送器560,β程序發(fā)送器570,阻斷器580,以及命令存貯器590。直觀地,所有這些功能單元都做在單個集成電路或芯片上,但是也可用多個芯片來完成。地址線532和數據線582把VP序列發(fā)生器530和阻斷器580連到PPU的微處理器350上。地址線522和數據線552把存貯器接口520和錯誤校正器550連到PPU的存貯器370上。α引線562和立方體連線572把PPU的α和β程序發(fā)送器560,570連到其它PPU的α和β程序發(fā)送器上,正如下面將詳細說明的。
如圖8所示,地址變換器510包含一個PPU地址寄存器605,起始寄存器610,VP偏移寄存器615,Vp增量寄存器620,以及一個頁面表625。地址變換器還包括第一、第二、第三多路轉換器630,635,640和第一,第二加法器645,650。地址變換器通過地址總線602接收來自VP序列發(fā)生器530的輸入,變換器的輸出通過實際地址總線652而送到存貯接口520,頁碼的二位通過頁位線654提供到VP序列發(fā)生器530。如圖所示,地址總線是二十四位碼寬,實際地址總線是二十二位碼寬。
為了理解地址變換器的工作情況,理解本發(fā)明的尋址方式是很有幫助的。如圖13所示,在系統(tǒng)中存貯了四種類型的地址位置地址,程序發(fā)送器地址,虛擬地址,以及實際地址。為了提供足夠的虛擬處理以滿足1,000個用戶的需要,本發(fā)明的系統(tǒng)提供甚至存貯在虛擬存貯器中的虛擬處理器。這樣,甚至實際貯在盤中的數據可與虛擬處理器相聯系。結果,本發(fā)明的系統(tǒng)被設計成可有一萬億個虛擬處理器(240)。由于整個地址空間原理上可由一個用戶使用,所以CM2提供了一個帶有64位地址空間的尋址結構。
地址的最一般的形式是需要64存貯位的位置地址。該地址能在整個系統(tǒng)中的任何虛擬處理器中指出任何存貯位置。地址的最高40位指定正被存取的虛擬處理器。最低24位指定在那個虛擬處理器中的位移。由于264大于整個系統(tǒng)虛擬存貯器的規(guī)模,所以在編碼中有多余空室。特別是,指明虛擬處理器的40位分別指明了虛擬處理器停留(18位)的PPU,虛擬處理機所開始的該實際處理單元的虛擬存貯器中的字(22位)。虛擬處理器可在實際處理單元的24-位虛擬地址空間中任一偶32-位邊界上啟動。
程序發(fā)送器地址是通信網絡所用的地址。它們基本上是壓縮形式的地址,是通過把24位偏移量和四乘虛擬處理地址的22位偏移部分加在一起而形成。程序發(fā)送器地址指明了系統(tǒng)中的某個實際處理器單元的虛擬存貯器中的一個單字。程序發(fā)送器地址的長度是42位它對應于整個系統(tǒng)上虛擬存貯器的字數。
在PPU中,所有地址計數器以24位虛擬地址形式被存貯。在這樣的一個地址中,8位碼代表存貯器的頁,16位碼代表在該頁中一個字節(jié)的地址。該頁是虛擬存貯系統(tǒng)的按需要為基礎的存貯單元。在任一給定時刻,在存貯器中實際可達64頁。
24位虛擬地址由頁面表625被變換到22位實際地址上。頁面表是有256個字乘6位的查找表,把虛擬存貯器中的28頁每一個變換到實際存貯器中的26個頁。
地址變換器510把虛擬地址帶入功能電路并把它既變到存貯器的實際地址,又變換到程序發(fā)送器地址以便通信。地址變換器被設計成能提供三種不同的尋址方式,普通,相對虛擬處理,以及擴展地址。在普通尋址方式中,24位實際地址從PPU中直接取出并分解成8位頁號和16位偏移量。8位頁號被用作頁面表625的索引,它包含虛擬頁面與實際存貯器的對應。當參照頁面在實際存貯器中時,頁面表將產生6位地址告訴頁存在于實際存貯器的的哪一部分。它與16位偏移量組合以形成直接通向存貯接口的22位實際地址。當參照頁被“換出”時,頁面表將通過用頁面位的置值來指明,并且發(fā)生一個中斷,以允許頁面從二級存貯裝置中轉到實際存貯器中。頁面通過第一輸入/第一輸出基線裝入,這樣,新頁將被裝入到最新被裝入頁面的頂部。用頁位對某些頁進行“寫入”同樣也是可能的,這樣它們絕不會移出到二級存貯裝置上。
尋地的第二種方式是相關虛擬處理器,在該情況下,來自總線的地址作為最近正被執(zhí)行的虛擬處理器相對于虛擬處理器偏移地址的偏移量。這些二個24位地址通過加法器650加在一起以產生24位虛擬地址和以前一樣通過頁面表而轉換的實際地址。虛擬處理編移是由虛擬處理器序發(fā)生器或者增加固定虛擬處理器的規(guī)模而設置的。
尋址的最后一種形式是完成內部處理機通信的機制,在該情況下,通過β程序發(fā)生器來計算相關函數的,其地址如下計算目的PPU的18位地址并置到來自芯片(移位寄存器)的24位實際地址,和裝入到起始寄存器610中的24位起始字節(jié)的和上。典型地,它是在擴展地址運等過程中通過以前的操作過程裝入的。當信息地址接收到以后,接收到地址的存貯部分,是由一個起始和位移的和計算出來的,該存貯部分被用作虛擬存貯器地址并通過頁面表按普通尋址方式索引到實際地址。
存貯器接口單元520負責尋址的實際多路轉換和隨機動態(tài)存貯器和存貯器刷新。如圖9所示,接口單元520包含刷新計數器660,行數寄存器665,多路轉換器670和比較器675。多路轉換器670把22位實際地址在11根地址線上轉換。刷新計數器660可為診斷目的而重置。存貯接口單元同樣也設計成有利于大多數動存貯器所提供的快速塊模存取。為了達到這點,存貯器接口單元中存貯了行寄存器665中最后被存取的行的行數。如果比較器675判定存取發(fā)生在先前存取相同的行上,則將執(zhí)行一個快速周期以只選通地址的列部分。這樣,相同存貯器塊的參照在大約為普通隨機存貯所需的一半時間中進行。這對于順序數據存取塊特別重要。
虛擬處理器序列發(fā)生器530是一簡單的有限狀態(tài)機以迅速完成虛擬處理器消耗所需的表列運算。PPU附件通過按時順序多路轉換它們的運算實現多重虛擬處理器。PPU存貯空間的某一部分(包括其虛擬處理器)分布給每個虛擬處理器,盡管每個虛擬處理器的虛擬存貯器個數是完全不同的。典型地,由PPU實現的虛擬處理器按幾種不同的任務連接。對于每個任務,PPU須按當前任務的上下文形式對通過所有處理器定序,提供被執(zhí)行的命令。同樣,必須對通過每個與任務順序相關的命令定序。但是,不必對不在被執(zhí)行的任務的上下文里的由PPU實現的虛擬存貯器定序。結果,大大節(jié)約了對由PPU實現的虛擬處理器的定序所需的時間。
虛擬處理器和轉換任務上下文開關都由硬件直接支持,存貯器中的虛擬處理器的構成如圖14所示。任務被連在一起成為循環(huán)清單,稱為任務清單,任何給定時刻的PPU包含一個指示任務清單中一個任務的指示器。通過序列發(fā)生器530的幫助,PPU依次循環(huán)通過每個任務,在走向下一個任務以前,對每個虛擬處理器的現有任務的上下文執(zhí)行一個命令。這樣,如果上下文相對較少,相對于所有處理器都對現有上下文進行處理所需的時間來說,它將在較短的時間內執(zhí)行。
每個任務具有與它相關的一個標題,包含三種信息對應于現行上下文的指示器;對應于存貯聯結清單的棧的指示器,以及對應于任務中所有虛擬處理器清單的指示器,序列發(fā)生器同樣包含一個對應于任務清單中下一個任務的以及關于任務的輔助信息的指示器,所述輔助信息指的諸如優(yōu)先和運行統(tǒng)計。PPU按聯結清單,在上下文指示器處開始,直到零位終此符出現停止,決定虛擬存貯器中每個虛擬處理器的單元位置。這些清單被存貯在存貯器受保護的區(qū)域內。
為了執(zhí)行“推入上下文”的指令,PPU分配新的存貯部件并把現行上下文指示器推上棧,改變棧指示器使其處于棧頂,“跳出上下文”指令則恰恰相反,除非當棧下溢,否則用頂部上下文級指示器。下一個最普通的操作是根據一些條件把上下文限制為現行上下文的子集合。在這種情況下,虛擬處理器表列根據條件分裂,從現行上下文開始。符合限定條件的虛擬處理器被加到表列的末端。指示著表列結尾處的指示器就成為現行上下文。這樣代表連續(xù)上下文的嵌套的子集合定序方法被有效存貯。根據這種設計,不在現行上下文中的虛擬處理器在命令執(zhí)行過程中不會發(fā)生過載。
如圖10所示,虛擬處理器序列發(fā)生器530包含5個主寄存器,其中每個都能夠保持虛擬處理器地址的最高22位。上下文寄存器680保持指向現行上下文清單起始的指示器。棧寄存器685保持指向現行任務的上下文棧指示器。頂端寄存器680保持指向現行棧上下文清單頂部的指示器。任務寄存器695保持指向任務清單中的下一個任務的指示器,而下一個寄存器700保持指向虛擬處理器系列中下一個虛擬處理器的指示器。可用另外的寄存器存貯所需的輔助信息。序列發(fā)生器530的輸出通過多路轉換器715被選擇以響應可編程邏輯陣列(PLA)710來的信號。
虛擬處理器序列發(fā)生器中包含一個由狀態(tài)寄存器705和PLA710實現的有限狀態(tài)機,以管理這些寄存器并控制地址變換器和命令存貯器中的寄存器。該有限狀態(tài)機排列所需的管理指令系列以完成任務和虛擬處理器的交換操作。狀態(tài)機的輸出取決于現行狀態(tài)和來自功能電路余部的條件位。例如,頁面表625的頁位。PLA也能夠根據由零位檢測器720檢測得的現行數據是否為零有條件地作出變換。在某種意義上,虛擬處理器序列發(fā)生器是一個無算術單元的非常簡單的計算機。
數據存貯器540完全是常用的存貯只讀數據的存貯器。
錯誤校正器550是標準的根據6位漢明編碼的單位錯誤糾正、多位錯誤檢測邏輯。如圖11所示,它包含線驅動器740,745,750,755用以計算奇偶位的錯誤控制電路760,765,檢測奇偶錯誤的異門770,判別一個錯誤是否被糾正的解碼器775,以及用于校正檢出錯誤的異門780。錯誤控制電路760把錯誤糾正位加到被寫入實際存貯器的所有數據上。由實際存貯器讀出的所有數據通過在錯誤控制電路765中重新計算來自存貯器的數據讀出的奇偶位以及在與門770中比較這些位和從存貯器讀出的奇偶位進行檢測。解碼器775判別錯誤是否能被糾正,并且通過把合適的信號加到與門770(如果可能)來實現。如果發(fā)生多重錯誤,由解碼器775反映出單元失效。
α和β程序發(fā)送器560,570被分別用作為指令和數據傳送,并能分享實際通信線,盡管發(fā)送硬件是獨立的。如圖12所示,α程序發(fā)送器包含一個由觸發(fā)器805A-N控制的與門800A-N陣列、第一、第二或門810,815,由觸發(fā)器825A-N陣列、第一、第二或門810、815,由觸發(fā)器825A-N控制的多路轉換器820A-N,由觸發(fā)器832,834所控制的第一多路轉換器830和由觸發(fā)器842控制的第二多路轉換器840。輸入線802A-N被加到與門800A-N,輸出線822A-N從多路轉換器820A-N延伸。這些線在二進制超立方體中把PPU的α程序發(fā)送器連到最近相鄰的PPU的α程序發(fā)送器上。因此,與門800A-N的數目,多路轉換器820A-N和與他們相關電路的數目對應于超立方體的維數,例如18,但為說明起見在此只示出了三個維。由于與每維相關的輸入和輸出線通向同一個α程序發(fā)送器,這些線如果需要可以多路復用。此外,由于這些線作為β程序發(fā)送器的輸入、輸出線通向相同的PPU。它們也能與β程序分配器的線多路復用。
α程序發(fā)送器用于分配和同步指令。它基本上起著與4,598,400專利申請所描述的指令分配樹和全局-或樹相同的作用,除非任何一個處理器或任何數量的處理器同時是指令的來源。這些指令聚集在一起被稱為命令。一條命令的執(zhí)行是通過α程序分配器同步經過整個機器的,這樣在下一條命令出現以前,一條命令被完全執(zhí)行。
來自局部阻斷器580被傳送的命令在命令進線上接收,從其他程序發(fā)送器上接收到的命令通過命令輸出線提供到命令存貯器540上。表明接收到命令結束的同步信號在同步進線上由PPU提供到程序發(fā)送器,表明其他PPU的一個命令結束的信號在同步輸出線上提供到PPU。
α程序發(fā)送器的運算方式根據從PPU接收到的信號由觸發(fā)器控制。這樣,如果局部PPU要給其他PPU傳輸命令,觸發(fā)器842給多路變換器840賦值以在命令進線上傳送信號,而觸發(fā)器825A-N給多路轉換器820A-N賦值以傳輸這些信號。如果局部PPU接收來自另一個PPU的命令,觸發(fā)器832,834被賦值以把特定的即將來的維線指定給正在等待命令的多路變換器830。如果該命令是要通到另一個PPU的話,觸發(fā)器842也給多路變換器840賦值以把來自多路轉換器830的信號傳輸給多路轉換器820A-N。通過這樣安排,PPU可以把命令傳輸給與其最近的單元中每一個并以此控制它們;每個PPU等候來自其最近單元之一的命令以被它所控制。
在一個命令出現以后,發(fā)布該命令的PPU通過同步信號裝置監(jiān)測命令的執(zhí)行情況。PPU通過同步輸入線把同步位號傳輸到或門815中,并通過給觸發(fā)器825A-N置值,使多路變換器820A-N傳輸來自或門815的信號。同步信號通過賦值觸發(fā)器805A-N接收,使與門800A-N能給或門810傳送一個接收到的信號。或門810的輸出也可通過或門815的輸入端給其他PPU傳送信息。通過這樣安排,PPU可以選擇地等候它所控制的那些最近單元PPU來的同步信號,而忽略其他那些它不控制的PPU所來的信號。
β程序發(fā)生器570基本上是與4,598,400專利中所描述的相同型號的程序發(fā)送器。如圖2所示,它具有輸入輸出線38,39的陣列,輸入輸出線38,39通過圖7所示的立體引線572與超立方體中最近相鄰PPU的β程序發(fā)送器通信。信息包通過地址變換器510和數據存貯器540從微處理器提供到β程序發(fā)生器570,接收到的信息包通過同樣部件提供到微處理器。輸入和輸出線可以多路復用,這些線也能與α程序發(fā)送器的線802A-N和822A-N多路復用。
β程序發(fā)送器負責基本上三種不同的功能,它把信息包從一個PPU傳輸到另一個,完成4,598,400專利相同的功能。它產生對應于與之相關的PPU所需的存貯器的信息包并把它傳輸給與其它PPU相關的存貯器,它接收來自其它PPU的被指定到與它相關的PPU輸入信息包,并適當傳遞這些信息。雖然這后二個功能是新的,但在每個功能中信息包的傳送是與′400專利所揭示的一樣的。
本發(fā)明的全部安裝好的并行計算機是一個很貴的設備,或許是太大的一個設備以致于一個用戶用任何長的時間也不能占據整個系統(tǒng)。計算機的一個設計前提是同時可被幾千個用戶使用。而用戶的最高要求可能非常高,假設平均的需求是適中的,例如每個用戶每秒1億條指令。此外,假定用戶能夠利用共享設備,而不僅只是計算周期,例如,共享數據庫里的信息。
由于用戶通過共享空間和共享時間來區(qū)分計算機的空間時間源,故用于共享資源的技術被稱為空間共享,模仿時間共享而得。就這種意義上說,共享空間可以被更精確地稱為“共享空間時間”,因它也能在時間的多路轉換。共享空間時間甚至能在每個用戶在所有時間內提交給整個系統(tǒng)相同負載的情況下工作,但是就用戶感覺到的利益來說工作比上述情況要好,這是因為下列典型用戶負荷的不均勻性所決定的。
理想時間許多用戶常常在他們使用機器的時候,事實上需要很少的時間周期。這對于能提供詢問和共享數據庫的事務系統(tǒng)是特別正確的。
非均勻并行性當執(zhí)行并行程序時,在程序中會有許多點,可能有效地同時利用成千成百個虛擬處理器。還會有其他一些點,在那里單個單步執(zhí)行已足夠。
非均勻存貯器需要許多用戶在任何給定時刻只對計算機中一個兆兆位存貯器的相對較小部分要求直接存取。
數據的共同性許多用戶在一個短的時間周期內可能對同一數據庫進行存取,并允許它在相對低耗情況下保存在主存貯器中。在共享軟件中有相似的情況。
為了利用這些非均勻性,計算機根據運行時間的要求動態(tài)地把實際處理器分配給虛擬處理器。這樣,用戶消耗資源正比于實際所需量,而不是正比于想象實用的資源量。
β程序分配器的特點是使在不同用戶中劃分PPU的陣列,共享空間成為可能。如圖2所示,G-in輸入端控制通信線39的存取,它能把信息包從一個PPU傳送到另一個。如果該線斷掉的話,通過給與那根線相連的G-in輸入端提供一個低電平信號,就可以把該線從網絡中去掉。根據本發(fā)明,超立方體的任何子立方體通過給與通信線相連的G-in輸入端提供一個低電平信號而分開,所述通信線是連接超立方體的余部和子立方體的。例如,每個子立方體的256個PPU處,可以通過給與第8維到18維的通信線相連的G-in輸入端提供一個低電平,256個PPU的分立方體可與18維超立方體簡單地分開。同時,在超立方體的各個其它部分的大量子立方體也可同樣與超立方體分開,該分離是通過給不再用的那維通信線相關的G-in輸入端提供低電平信號。
為了實現這一點,給出了每個PPU的微控制器,對G-in輸端進行存取,這樣它能響應于一個子立方體特定配置的低電平信號。所示的存取可通過一觸發(fā)器(圖中未畫)來完成,該觸發(fā)器的輸出狀態(tài)可由PPU的微處理器控制。
根據本發(fā)明,指令中的標志位表示了由其他PPU并行執(zhí)行的并行指令。阻斷器580檢測該標志位。所有由PPU從存貯器中存取的數據通過阻斷器580,如果數據的標志位指明是并行指令,則無操作指令被送到數據線,阻斷器把并行指令送到α程序發(fā)送器中以傳送給其他PPU。如果標志位沒有指明并行指令,則指令由數據線提供給PPU。
命令存貯器590是用以存貯來自α程序發(fā)送器指令的存貯器。虛擬處理器序列發(fā)生器530將使PPU從命令存貯器中存取指令以實現每個虛擬處理器上的動作。命令存貯器大體上是一個對由每個任務正在并行工作的指令存貯器。典型地,該存貯器是256個字深度。
由于計算機的內部雙重元件,自然可通過冗余技術適當提高誤差精度。有利的是,在數據庫中的所有存貯內容是在至少二個實際獨立的裝置中,這樣,當一個存貯裝置失效時,可用來自后備裝置中的數據,并復制給另一個后備裝置。當一個處理器裝置失效時,直到它被替換以前,它是與系統(tǒng)分開的,而從保留的可用處理機庫中再分配實際處理器。
在這類容錯系統(tǒng)中最困難的問題在出現錯誤時檢測并分離它們,以及處理出錯時刻正在加工的作業(yè)。在此,在任務被完美地完成的確信程度和分配給任務的硬件數量之間有一協(xié)調方案。在本發(fā)明的并行計算機中,用戶根據任務的緊急程度,可在運行期間作出協(xié)調方案。任務可按三種方式中的一種根據所需的冗余量來完成的。
在系統(tǒng)運行的最簡單方式中,如圖11所示的錯誤校正器電路550一類自檢硬件被用于檢測和分離錯誤,該硬件能夠檢測最常見類型的誤差和錯誤,例如,沒有校正的存貯器錯誤,失電,通信中無糾正的錯誤,在自檢方式工作時,一旦錯誤被檢測,當前作業(yè)停止,硬件重新配置以隔離失效部分,于是作業(yè)再從頭重新開始。
盡管自檢電路將檢測發(fā)生的大多數錯誤,但是不能保證檢測到每一類的錯誤。特別是許多發(fā)生在PPU本身的錯誤將不被檢測。在雙冗余方式中,運算系統(tǒng)在兩個實際上獨立的處理器的相同集合中執(zhí)行二個相同的程序并在規(guī)定間隔處比較中間值。(通信系統(tǒng)的引線,是n-維立方體型式,正如給這類比較提供正確的通信路徑)。比較機制保證錯誤檢測,分析錯誤是怎樣并為什么發(fā)生。一旦在雙冗余方式中檢測到錯誤,與自檢方式中同樣的方式處理。在診斷分析能判別出哪個處理器出錯之前,兩個處理器都與系統(tǒng)分開。
自檢和雙冗余方式的缺點是當錯誤發(fā)生時它們需要重新起始作業(yè)。這對于不能方便地拆成相對較小作業(yè)的任務來說是可以接收的。但是,一些任務具有實時處理要求,不允許作業(yè)的重做。對于這二種情況中的任何一種,四倍冗余方式是達到無錯運行的合適方式。
在四倍冗余方式中,四個相同的應用拷貝同步運行。每個任務把其運算按循環(huán)形式與其他的相比較;例如,A檢查B,B檢查C,C檢查D,而D檢查A。當出現一個錯誤時,通過失配比較的型式,將它檢測和分離開來。在這種情況下,處理的正確狀態(tài)從一個無錯任務復制到另一個子立方體中,運行連續(xù),不發(fā)生明顯阻斷。四倍(而不是三倍)的冗余被用來使進行比較所需的合適的連線能在n-維立方體型式中可用。
可明顯看出,在本發(fā)明的思想和范圍內,上述方法和裝置可以有大量改變。例如,當本發(fā)明被描述成以超立方體二進位形式構成并行處理機的陣列的上下文時,可以理解為可用其它配置,例如′400專利提出的方法。在那種情況下可以看出,對于通信裝置,例如上面所述的α和β程序發(fā)送器,也需要合適的改進,以在處理器陣列中能信號指示。
權利要求
1.一種包含多個處理器單元的并行計算機,其特征在于每個處理器單元包括一個處理器,讀/寫存貯器以及控制電路,所述的控制電路包括在所述并行計算機中,通過把確定地址的信息包從一個處理器單元傳送到另一單元的用于互連所述處理器單元的手段;保護正在第一組運算處理器單元和第二組運算處理器單元間傳輸的信息包的手段,其中所述并行計算機被分成二個或多個處理器單元,互相間不相影響。
2.如權利要求
1所述的計算機,其特征在于,互連裝置包括位于處理器單元間的通信線以及用于把信息包傳送給所述通信線的傳送裝置,所述傳送裝置包括按優(yōu)先原則控制所述通信線存貯的裝置,并且所述保護裝置包括給所述控制裝置賦值以防止對通信線進行存取的手段。
3.一種并行計算機,其特征在于它包括其中每個都能執(zhí)行串行命令的多個處理器以及能區(qū)分將由所述多個處理器并行處理的和不用多個處理器處理的指令之間差異的手段。
4.如權利要求
3所述的計算機,其特征在于所述的用以區(qū)分指令之間差別的手段是每條指令中的標志位,以及當標志位確定是并行指令時,用于檢測所述標志位并使并行指令實現的手段。
5.一個并行計算機包括幾個處理器,每個都有其自己的寫/讀存貯器,通過信號線互連所述處理器以形成超立方體的手段,把所述多個處理器分成至少為第一和第二同構組的手段,所述組相對于包含在與所述處理器相關的讀/寫存貯器中的數據來說,也是同構的,用信號線在超立方體中互連所述處理器,在執(zhí)行計算機指令的過程中,通過比較在第一和第二組并行計算機所完成的指令結果來檢側錯誤的裝置。
6.并行計算機,其特征在于包括具有各自讀/寫存貯器的多個處理器,使所述每個處理器和讀/寫存貯器工作得以模擬其他處理器的手段,以及遞歸控制所述處理器包括模擬其他處理器的裝置,使一個處理器控制至少另一個處理機,而另一處理器控制至少一個其他處理器。
7.一種并行處理器,其特征在于包括多個處理器和用于發(fā)送所述處理器間信號的裝置,所述裝置包括在所述處理器間的信號線,在所述處理器間傳輸確定地址的信息包的裝置,把指令從第一處理器傳送到選定的其他處理器的裝置,以及在第一處理器上用于監(jiān)測來自被選定的其他處理器上通信線上表明傳送指令的執(zhí)行情況的裝置。
8.如權利要求
7所述的并行計算機,其特征在于進一步包括使指令的傳送同步響應于由監(jiān)測裝置檢測有信號的裝置。
9.一種檢測并行計算機的運行中出錯的方法,其特征在于包括下列步驟各自都具有讀/寫存貯器的多個處理器與信號線相互連接,形成超主體結構,把這些處理器分成第一和第二個處理器的同構組,所述組對于與所述處理器相連的每個讀/寫存貯器中的數據也是同構的。利用與處理器互連的信號線形成超立體結構,通過比較第一和第二組處理器上的并行執(zhí)行計算機指令的結果來檢測錯誤。
專利摘要
一種通過向大量用戶分配并行計算機資源以提高并行計算機利用率的方法和裝置。并行計算機為大量用戶所分配以滿足計算機同時運行的大量數據庫和程序的要求,它是通過把并行計算機分成多個相互獨立的處理機陣列的裝置來完成的。并行計算機的構成以允許由陣列中的每個實際處理機對其它并行處理機進行模擬,并提供模擬并行處理器間的通信,在虛擬存貯器中提供了存貯虛擬處理器的手段。
文檔編號G06F12/02GK87106067SQ87106067
公開日1988年3月9日 申請日期1987年8月29日
發(fā)明者W·丹尼爾·西里斯 申請人:智能機器公司導出引文BiBTeX, EndNote, RefMan
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1