專利名稱:具有單比特置位和復位功能的主存儲器插板的制作方法
技術領域:
本發(fā)明涉及一種包括通過一個共享接口與主存儲器的若干多存儲器插板相連的多處理器的信息處理系統(tǒng),更具體地說,涉及一種用來修正存儲在主存儲器中的數據而對接口的牽連甚少的裝置。
近年來,在整個計算機工業(yè)中,信息處理設備的性能,特別在數據處理操作的快速性能方面,已有了長足的改進。愈來愈多的數據處理系統(tǒng)采用多處理設備,這種多處理設備分享一個用來在諸處理器與通常多個存儲器插板組成的主存儲器之間執(zhí)行數據傳輸的公共接口。然而,存儲器子系統(tǒng)方面的改進未能趕上處理器方面的改進,特別當考慮到采用多個并行處理器時更是如此,以至于為了牽就與處理器設備相比其速度相對慢的主存儲器而改變了系統(tǒng)或網絡的結構。為了試圖使處理器與在主存儲器中的存儲器插板相分開,業(yè)已采用高速緩沖存儲器和其它技術。
就修正存放在主存儲器中的數據而言,傳統(tǒng)的方法包括將數據從存儲器陣列取出并送存到處理器中的內寄存儲,然后在處理器內按照要求修正數據比特,最后將修正后的數據寫入到存儲器陣列。此操作涉及相當大的系統(tǒng)開銷。例如,必須兩次仲裁并使用主存儲器接口,一次用于取一個數據,一次用于把數據存回到存儲器。如果該接口是被諸多處理器和被主存儲器的諸多存儲器插板共享的,則消耗在等待使用該接口上的時間就會增加。就是說,一個獲得了可訪問一個特定存儲器插板的處理器必須等待著該插板防問它的存儲陣列以取出要進行修正能數據。
已研究出了一些更為有效的修正在存儲器中的數據的技術。例如,美國專利No.4,570,222(oguchi)公開了一種具有一種信息修正功能的數據處理系統(tǒng),它包括一個動態(tài)附機存儲器,一個修正單元,一個分配單元及一個控制器。修正單元從RAM接收數據。并根據來自該分配單元的輸入信號,在修正單元內對所選部分的數據予以修改。
有關彩色圖型顯示方面,美國專利No.4,016,544(Morita etcal)公開了一種存儲器寫入控制系統(tǒng),它包括一個用于為大量點的每點分開存儲紅、綠和藍信息的緩沖存儲器。每個各自的彩色單元從一個由一個處理器控制單元接收一個彩色分配輸入信號和一個掩碼輸入信號。如果掩碼比特為邏輯1,則修改內容;而如果為邏輯0,則相應的內容保持不變。然而,仍然要求更有效地利用處理器設備以及連接多處理設備和主存儲器的數據總線。
因此,本發(fā)明的目的是要提供一種數據處理系統(tǒng),在該系統(tǒng)中,在對主存儲器中的數據作修改時,對在主存儲器和多處理器之間的接口的使用可大大減少。
本發(fā)明的另一個目的是把包含在數據修改操作中的某些信息從處理器轉移到主存儲器存儲插板上。
本發(fā)明的再一個目的是為了提高執(zhí)行包括置位和復位這些數據修改功能的速度。
本發(fā)明的還有一個目的是為了提供這樣一種數據系統(tǒng)在該系統(tǒng)中,對存儲器陣列中所選定的數據進行置位和復位,只需對該陣列訪問一次即足以完成這些功能。
為了達到上述和其它的目的,本發(fā)明給出了一種數據處理系統(tǒng),該系統(tǒng)包括一種用以控制比特編碼的數據的處理配置設備;一個具有用來存儲作為數據字的比特編碼的數據的陣列的存儲器,其中每一數據字包括多個比特;及一個與處理配置設備和存儲器相連的,用來在處理配置設備和存儲器之間傳送比特編碼數據的接口。處理配置設備包括一個用來產生一個命令以便有選擇地修改一個指定的數據字的裝置。處理配置設備還包括一個用來產生相應于在數據陣列中存有指定的數據字的一個所選定的存儲單元位置的地址數據。
該系統(tǒng)的改進是在上述處理配置設備中有一個掩碼裝置,用來產生一個相應于指定的數據的數據掩碼并通過接口把該數據掩碼傳輸到存儲器中。一個在存儲器內的數據控制裝置在接收到該掩碼和命令之后根據數據掩碼有選擇地修正指定的數據字。數據控制裝置包括一個中間數據保存裝置;一個鎖存裝置,它根據命令和地址數據,確定指定的字在陣列中的位置并把指定的字從所選的位置調到該中間數據保存裝置;一個用于當該字包括在該中間數據保存裝置時接收數據掩碼和將該掩碼加到這指定的數據字上,以便有選擇地修改該數據的裝置;及一個寫裝置,用來在字修改完畢之后將指定的數據字送到陣列中。
上述處理配置設備最好包括多個處理設備,每個處理設備適合于控制比特編碼數據和產生命令。存儲器可包括多個存儲器插板,每個插板有用來存貯比特編碼數據的數據陣列。接口最好包括一個傳輸數據掩碼的數據總線和一個傳輸命令和地址信息的命令總線。數據總線和命令總線是并行操作的,每個都被所有處理設備和所有的存儲器插板共享。每個存儲器插板均有其自己的內寄存器和存儲器陣列。內寄存器協作提供中間數據保存裝置。
每個存儲器插板還可包括與其內寄存器相應的邏輯電路,根據一個置位命令將要修改的數據字連同數據掩碼作為輸入信號送到一個“或”邏輯門,而將該“或”門的輸入信號送回到插板的數據陣列中。根據復位命令,將掩碼倒相,然后將倒相后掩碼和數據字一起送到“與”門的輸入端,“與”門的輸出信號則被送回到數據陣列中。
數據字和數據掩碼最好有相同的預定比特數,從而在每個數據字與在修改數據中采用的掩碼之間有一一對應關系,以便能夠用相當簡捷的電路在單個讀/修改/寫周期內快速實現數據修改。
在存儲器插板上有了內寄存器和修改邏輯電路,在存儲器插板上實現置位和復位操作,從不會由于其它加到存儲器插板的命令引起任何中斷的意義上說是自動的。在主存儲器中執(zhí)行大部分這些操作解放了每個處理器使其可在由置位和復位操作所上用的差不多全部時間內執(zhí)行其它任務。由于每個操作所需的周期數以及在處理器和主存儲器之間的接口或總線被占用的時間減少,因此提高了系統(tǒng)的吞吐能力。最后,一旦一個存儲器插板起始修改,接口的通信量,陣列初始化開銷或異步存儲器刷新操作并不會干涉其繼續(xù)完成置位和復位功能。
為更進一步理解上述和其它的目的和優(yōu)點,我們下面對最佳實施例和附圖作一介紹。
圖1是一個信息處理系統(tǒng)的示意圖,圖中一個多處理設備的配置通過一個共享接口與包括多個存儲器插板的主存儲器相連;
圖2是一個說明數據修改邏輯的其中一個存儲器插板的示意圖;
圖3是一個傳統(tǒng)的數據修改操作的定時圖;
圖4是一個類似圖3的定時圖,說明本發(fā)明的數據修改操作;
圖5表示了一個8比特數據字,說明置位功能;
圖6類似于圖5,用以說明復位功能。
現在再詳述上述各圖,在圖1中示出了一個用來存貯比特編碼數據和對該數據執(zhí)行所選操作的信息處理系統(tǒng)16。該系統(tǒng)包括兩個分別用數字18和20標識的處理器設備。一個仲裁鏈路22將兩個處理器連接起來,該仲裁鏈路與在兩個處理設備中的仲裁邏輯電路相結合分配優(yōu)先權給其中一個處理器。應該認識到,在該網絡中的處理設備的配置可以由一個單個處理設備構成,或者由多個處理設備構成,(相應配以多個仲裁鏈路將各處理設備一一互連)。
一個接口把處理設備與主存儲器相連接,主存儲器包括多個如用24,26和28表示的存儲器插板。存儲器插板24例如包括用于存貯比特編碼數據的存儲器陣列30和一個用來從接口接收數據及臨時存放數據以便傳輸到其中選定的一個處理設備緩沖器32。存儲器插板24也包括一個與存儲器陣列30相連的內寄存器34。存儲在存儲器陣列的數據被裝入到用作暫時中間存儲的內寄存器34,在此期間,可以按照來自其中一個處理設備的指令修改數據。
存儲器插板26和28與存儲器插板24相似,它們分別包括存儲器陣列36,一個緩沖器38,一個內寄存器40,和存儲器陣列42,一個內寄存器44,一個緩沖器46,這些部件與存儲器插板24的對應部件實質上是一樣的,其功能也相同。
與處理器和存儲器插板相連的接口包括一條數據總線48和一條命令/地址總線50,分別與所有處理器和存儲器插板相連,與其它總線并行獨立傳輸數據。數據總線48傳輸為方便稱之為工作信息的信息,亦即傳輸系統(tǒng)用戶最感興趣的信息。命令/地址總線50傳輸有關取出或存入特定工作數據的命令的控制信息和傳輸用來檢索在存儲器陣列中的特定工作數據的存儲單元位置或用來檢索該數據要送向的存儲單元位置的地址信息。
每個處理器有一條命令線52用以將命令和地址信息傳輸給總線50再由其中一條命令線54將該信息從總線50傳送到適當的存儲器插板。命令傳輸是單向的(從一個處理器到一個存儲插板),命令線52兩頭的箭頭表示當無論那個設備傳輸一個命令時,能夠通知其余的處理器命令/地址總線已被占用。
在處理器和總線48之間的數據線56和在存儲器插板和數據總線之間的數據線58提供了在兩個方向上的工作數據傳輸。接口還包括未在圖1中示明的用來控制數據總線48使用的數據通道,也可包括一個用來傳輸有關工作數據的狀態(tài)信息的共享通信總線。為進一步說明該接口,可參閱美國專利于-申請的轉讓給本申請的受讓人的題為“High performance Shared Main Storage Interface”的美國專利No-。
在存儲器插板24,26及26中的內寄存器在修改存儲在各自存儲器陣列中的數據方面是特別有用的,因為這樣用不著將數據傳輸到處理設備。用來修正數據的電路示意的表示在圖2中,它用于修正一個所選的數據比特。這里要知道的是,在系統(tǒng)16中的數據是以與數據總線48的容量相應的8字節(jié)字的形式進行傳輸和修正的。于是對任何所選的數據字,在存儲器插板中完整的修改電路要包括為該字剩下的各數據比特設置的多路復用電路,對所有比特進行并列處理。
在圖中,處理器18提供了一條用在修改存儲在存儲器插板24的存儲器陣列30中的其些數據的一個數據掩碼。陣列的一個鎖存輸出(如在59處)被用作為給“與”門60的一個輸入及用作為一個給“或”門62的一個輸入信息?!盎颉遍T的另一個輸入信號是緩沖器32的輸出。緩沖器輸出也加到反相器64,并將反相后的信號用作為“與”門60的另一個輸入信號。“與”門和“或”門的輸出信號送到多路復用器66,其輸出在65處鎖存后返回存儲器陣列30。
于是,每個存儲器插板包括用來從數據陣列取出數據并把它裝入到內寄存器,用來接收數據掩碼并用該數據掩碼修改在內寄存器內的數據,以及用來將修改后的數據送回該數據陣列這樣一種電路。這種方法的突出的優(yōu)點是用于置位和復位操作的電路大部分是在存儲器插板中而不是在處理器中,從而使為執(zhí)行這些操作的所需的時鐘周期數大大減少。
與先有技術修正數字的方法相比較,本發(fā)明的置位或復位的方法的優(yōu)越性是顯而易見的。圖3示出了采用常規(guī)方法的數據的處理器控制修改的定時圖。一個包括相應于在主存儲器中的被請求的數據的存儲單元的地址信息的取數命令,在第一時鐘周期時通過命令/地址總線被從處理器發(fā)送到存儲器插板。
被選擇的存儲器插板在第二時鐘周期開始訪問其存儲器陣列。具體地說,通過兩條控制線,即行地址選通(RAS)和列地址選通(CAS),對陣列進行訪問。行地址選通(RAS)由于在第二時鐘周期的開始時成為有效起動對數據陣列的訪問,而列地址選通則在第三時鐘周期開始時成為有效。就圖3和4而言,要注意的是行和列地址選通有效時是處于高電平,以便與其它的線,即處理器命令/數據線及陣列數據線相一致。這只不過是為著便于說明而已。實際上,行和列地址選通是“負有效”,即當該信號從高邏輯電平轉換到低邏輯電平時成為有效。
在第四周期時,陣列的數據被讀入到存儲器緩沖器。在第五時鐘周期時,數據通過數據總線傳送到處理器,行列地址選通附之成為無效。在第6時鐘周期時處理器修正數據。
在第七時鐘周期時處理器發(fā)出存儲命令,跟著在下一周期將修改后的數據送回到存儲器插板,同時行地址選通又有效。列地址選通在第九周期時有效,并在第10-12周期內修改的數據返回到陣列,附后,行列地址選通再次變?yōu)闊o效。與在第11周期的陣列數據有關的“M”系指一種修改步驟,該修改步驟并非為置位或復位,而是將數據從適合于傳輸的形式排列成為更適合于在陣列中存儲的行式。
圖4的定時器與圖3的相似,它用來說明主要在存儲器插板上進行的數據修改,即根據來自處理器18的命令對在存儲器插板24的存儲器30內的一個選定的地址上的數據進行修改。諸數據比特作為8字節(jié)字的諸部分來予以修改。但為便于說明,在圖5和圖6只分別就一個置位操作和一個復位操作示出了僅有8比特的數據字。
如圖4所示,處理器18通過命令/地址總線50將命令送往存儲器插板24。該命令即可用來“置位”或用來“復位”一個示于圖5和6中的數據字70。不管該命令是否為一個置位或復位命令,處理設備通過數據總線48向存儲器插板提供一個數據掩碼72。在該周期內行地址選通成為有效。
圖5和圖6示出了相同的8比特掩碼72,而在第三和第七比特位為邏輯“1”,而其余的比特位為邏輯“0”。因此,對于一個置位命令,數據字70在第3和第7比特位將被置為邏輯“1”。
對于一個復位命令,這些比特將被復位到一個邏輯“0”。在兩種情況下,在數據字中的其它各比特保持不變。
現再參閱圖4。在第三周期開始時列地址選通變成有效,數據在第四周期時從存儲器陣列30讀出。然而,與圖3相反,數據不被讀入緩沖器32,而是鎖存到存儲器插板的內寄存器34中。
數據字70在第5時鐘周期時被修正。當一個置位命令在第二時鐘周期時被提供時,則數據字和掩碼72作輸入信號加到諸如門62這樣的“或”邏輯門?!盎颉遍T的輸出即是被修改的(在這種置位情形)數據字74。第3和第7比特位已被置位,成為邏輯“1”。這表示第三比特位未改變,而第7比特則由原先的“0”變成“1”。其余的比特位保持與原有字70一樣。
如果在第二周期時命令為復位命令,則掩碼72被變換以形成一個反相的掩碼76。該反相的掩碼和該數據字附后被加到諸如門60那樣的8與門。與門的輸出即為修正后的(在這種復位情況)數據字78,其中第3和7比特位已被復位,即在數據字70中的第三比特位變?yōu)檫壿?,而第7比特位保持為邏輯0。其它的比特位保持一樣。
修改操作在第6周期完成,期間修改后的字從內寄存器34寫入存儲器陣列34,具體地說返回到所選的地址68。
這樣,本發(fā)明大大增加了對在存儲器陣列中的數據的置位和復位操作的速度,將要求的時鐘周期數削減了近一半。然而效率的增加還要比上述比較中得出的結果高許多,這是因為上述例子中我們假設在每種情形下的處理器不需要爭用接口的時間。事實上,在任何分享共用接口的多處理器的配置中,所涉及的處理器必須與主存儲器爭用接口。傳統(tǒng)的數據修改程序(圖3)要求處理器兩次獲得對接口的使用,一次用于從存儲器插板取來數據,一次用于將修改后的數據返回到存儲器插板。但是處理器18則只要求使用接口一次,用以把置位或復位命令和數據掩碼送至存儲器插板24。
這就帶來了另一個優(yōu)點,也就是說,本發(fā)明的置位和復位操作對接口的占用量省了一半,具體地說,用一個周期時間提供置位或復位命令,一個周期時間提供數據掩碼,而傳統(tǒng)的順序要求占用接口達四個周期。
還有另外一個優(yōu)點是出于這樣一個事實存儲器陣列通常是非現用的,它要求有一預定的時鐘周期數才能充電或就緒。此預定的周期數自然隨陣列的性質和周期的長短而異,但總增加了任何涉及訪問陣列的操作所需的時間。傳統(tǒng)的數據修改序列要求先為讀出數據而訪問存儲器陣列并將數據送到處理器,然后,在行、列地址選通已經成為無效以后,再執(zhí)行寫入修改后的數據的操作。與此相反,對在存儲器插板24中的指定數字的修改則是以占三個連續(xù)時鐘周期的單個讀/修改/寫順序進行的,其間無須再次控制存儲器成為現用狀態(tài)的行地址選通有效。
與傳統(tǒng)的序列相比,本發(fā)明的最后的一個優(yōu)點是諸如存儲刷新這樣的異步事件并不干涉在網絡16中的存儲器插板中的數據修改操作。此類事件會延送傳統(tǒng)的數據修改順序,特別,如果它們發(fā)生在取數命令和存儲命令的時鐘周期之間時。于是,在本發(fā)明的信息處理網絡中,由于主存儲器的存儲器插板是根據來自處理設備的命令和掩碼執(zhí)行置位和復位操作,從而大大減少了時間及置位和復位操作所需的對接口的使用。
權利要求
1.一個數據處理系統(tǒng),它包括一個用來控制比特編碼的數據的處理設備配置,一個具有用于存儲作為多個數據字的比特編碼的數據的陣列的存儲器,其中每個數據字包括多個比特,及包括一個與處理器配置和存儲器相連的、用來在處理設備配置與存儲器之間傳送比特編碼的數據的接口;其中處理設備配置包括一種用來產生一個命令以有選擇修改諸數據字中一個可指定的數據字及根據在數據陣列中存放該指定數據字的一個選定的位置產生地址的裝置;該數據處理系統(tǒng)的特征在于包括一個在處理設備中的掩碼產生裝置,它根據指定的數據字產生一個數據掩碼,并通過接口將掩碼傳輸到存儲器;及一個在存儲器內的數據控制裝置,用來在收到掩碼和命令之后根據該掩碼有選擇地修改所指定的數據字,所述數據控制裝置包括一個中間數據保存裝置;一個鎖存裝置,它根據所述命令和地址數據,確定指定的字在陣列的存儲單元位置并將該指定字從選定的存儲單元傳送到中間數據保存裝置;一種用于接收掩碼并當上述字包含在中間數據保存裝置時將掩碼加到指定的數據字,以有選擇地修正數據字的裝置;以及一種用于在該字已被修正之后把指定的數據字傳送到陣列的寫裝置。
2.權利要求1的數據處理系統(tǒng),其特征在于每個所述數據字有相同的預定比特數。
3.權利要求2的系統(tǒng),其特征在于所述寫裝置把修改后數據字送回到所述選定的存儲單元。
4.權利要求3的系統(tǒng),其特征在于所述處理配置包括多個處理設備,每個處理設備包括用于控制比特編碼的數據和用于產生命令的裝置,而其中所述的存儲器包括多個存儲器插板,每個插板有用于存儲比特編碼的數據的陣列。
5.如權利要求4所述的系統(tǒng),其特征在于所述接口包括一條用來傳送掩碼的數據總線,和包括一個用于傳輸命令和地址信息的命令總線,所述數據總線和命令總線被所有處理設備和所有存儲器插板所共享。
6.權利要求5的系統(tǒng),其特征在于每個存儲器插板具有一個內寄存器,由所述各內寄存器一起組成中間數據保存裝置。
7.權利要求2的系統(tǒng),其特征在于每個掩碼有預定的比特數。
8.權利要求7的系統(tǒng),其特征在于每個所述命令是兩種可供選擇和命令中的一種命令,這兩種可供選擇的命令為置位命令和復位命令。
9.權利要求8的系統(tǒng),其特征在于所述存儲器包括多個存儲器插板,每個存儲器插板本身具有幾個用于存儲比特編碼的數據的所述數據陣列和具有一個內寄存器,所述各內寄存器集合組成了中間數據保存裝置;以及其中每個所述插板還包括與其內寄存器相連的邏輯電路,用來將要作修改的數據字和掩碼作為輸入信號送到或門邏輯門以執(zhí)行所述置位命令,或用來反相掩碼,把要修改的數據和反相的掩碼作為輸入信號送至與邏輯門。
10.在一個包括一個用來控制比特編碼的數據的處理器配置,一個包括一個用于存儲作為多個數據字的比特編碼數據(每個數據字具有多個比特)的主存儲器裝置的存儲器,和一個與處理器配置和存儲器相連的、用來在它們之間傳輸比特編碼的數據的接口的數據處理系統(tǒng)中一種用來有選擇地修改存儲在主存儲器裝置中的數據的方法,其特征在于下列步驟利用上述處理器配置產生一個用來修改比特編碼的數據的修改命令,一個相應于存于主存儲器裝置中的一個選定的存儲單元位置的地址信息以便把存儲在所選定的存儲單元中的某數據字指定為要修改的數據字,以及一個在要修改的指定的數據字中標識至少一個比特的數據掩碼;通過接口把修改命令,地址信息及數據掩碼傳送到存儲器中;根據所述命令和地址信息,確定所選的數據字位置,把指定的字從主存儲器裝置傳送到一個在存儲器中的中間數據保存裝置,以及把數據掩碼加到包括在保存裝置中的指定的數據字,以按照數據掩碼的內容有選擇地修改所指定的數據字。
11.權利要求10的方法,其特征還在于下列步驟把修改后的數據字送回到主存儲器裝置。
12.權利要求11的方法,其特征在于所述將指定的數據字傳送到中間保存裝置,將掩碼加到指定的數據字及把修改后的指定的字加到主存儲器的步驟全都是在單個讀/修改/寫周期內完成的。
13.權利要求11的方法,其特征在于所述將修改后的指定數據字傳送到主存儲器的步驟包括把修改后的指定的數據字傳送到所選擇地存儲單元。
14.權利要求11的方法,其特征在于所述命令具有包括置位命令和復位命令的兩類命令,及每當命令是一個置位命令時,所述將掩碼加到指定的數據字的步驟包括向或邏輯門提供作為輸入信號的指定字和掩碼的步驟。
15.權利要求14的方法,其特征在于每當命令是一個復位命令時,所述加掩碼的步驟還包括倒相掩碼以便提供一個反相掩碼,和向一個與邏輯門提供該反相掩碼和指定的數據的步驟。
全文摘要
一種數據處理網絡,包括多個處理設備、主存儲器的多個存儲器插板和一個共享接口。每個存儲器插板包括存儲器陣列、一個用來暫時存放一個從存儲器陣列讀出的數據字和一個邏輯電路。當一個處理設備向一個存儲器插板發(fā)出一個置位或復位命令時,該處理器也送出一個數據掩碼。一個需要修改的數據字從存儲器陣列中取出并鎖存入內部寄存器。邏輯電路將數據掩碼加到一個存在內部寄存器的數據字上,并修改該數據字,再將其送到陣列中所選定的地址。
文檔編號G06F12/00GK1052562SQ9010992
公開日1991年6月26日 申請日期1990年12月11日 優(yōu)先權日1989年12月13日
發(fā)明者理查德·格萊恩·艾柯爾, 庫恩替音·崗斯特·史米爾勒 申請人:國際商業(yè)機器公司