專利名稱:結(jié)點互連適配器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種可擴展并行機群系統(tǒng)中總線信號轉(zhuǎn)換裝置,特別是一種完成結(jié)點機總線信號與網(wǎng)絡(luò)通訊信號相互轉(zhuǎn)換和傳遞的裝置,即每個結(jié)點機與互連網(wǎng)絡(luò)相接的結(jié)點互連適配器。
研制用于大規(guī)模并行處理的可擴展的機群(多計算機)系統(tǒng)已成為世界高技術(shù)競爭的一個熱點,圍繞可擴展性(可伸縮性),要求考慮許多問題,特別是系統(tǒng)結(jié)點之間相互通信的方式及通信帶寬的考慮;系統(tǒng)結(jié)點如何向其它結(jié)點進行信息傳遞等,上述問題的焦點都集中于完成結(jié)點機總線信號與網(wǎng)絡(luò)通訊信號相互轉(zhuǎn)換和傳遞的結(jié)點互連適配器上。
Inter巨型機系統(tǒng)公司研制的Paragon多機系統(tǒng)的每個結(jié)點機由5個i860微處理器組成,其中一個微處理器用于處理網(wǎng)絡(luò)通信和傳遞信息,其結(jié)點互連適配器的功能實際上是由一個i860微處理器來充當。Kendall Square Research公司研制的KSR1可擴展多機系統(tǒng)的每個結(jié)點機由一個32MB的超高速緩存和一個定制的64位超標量RISC處理器組成,每個結(jié)點機除完成計算任務(wù)外,還負責將數(shù)據(jù)輸入和輸出到其它結(jié)點機,其結(jié)點互連適配器的功能實際上是由定制的64位RISC微處理器來完成。因此上述的并行機群系統(tǒng)的結(jié)點互連適配器實質(zhì)上是由價格昂貴的具有極高性能或?qū)iT定制的微處理器來充當或驅(qū)動,對于一般的中檔微計算機不可能作為結(jié)點機來使用。
多機系統(tǒng)的耦合程度可以看作是系統(tǒng)中共享信息在分離的存儲模塊間活動的一種量度。以全局共享存儲器為互連機構(gòu)的多處理機系統(tǒng)具有最強的機間耦合度,多個結(jié)點機對彼此共享信息的訪問量最為直接和迅速,但構(gòu)造一個共享存儲器多機系統(tǒng)的開銷十分可觀,且系統(tǒng)的擴展也很困難。以局部網(wǎng)一類的介質(zhì)連接,采用message passing方式工作的多處理機系統(tǒng)具有最弱的機間耦合度,其構(gòu)造方法簡便,成本低,但結(jié)點機之間共享信息的傳遞延時遠大于共享存儲器的訪問延時,且不利于并行程序的編制。
本發(fā)明的目的是提供一種便于實現(xiàn)兼有緊密耦合和松散耦合兩類多機系統(tǒng)優(yōu)點的MIMD(多指令流多數(shù)據(jù)流)計算機的結(jié)點互連適配器,使得可將個人計算機或工作站作為結(jié)點機,形成具有分布式共享存儲器特征的耦合度可調(diào)多機系統(tǒng)(或稱規(guī)??蓴U展并行機群系統(tǒng)),是一種基于總線信號傳輸?shù)?、完成本結(jié)點機的標準總線協(xié)議信號與一種結(jié)點互連協(xié)議(BBP)信號相互轉(zhuǎn)換和傳遞的、可使任何微型計算機和工作站作為結(jié)點機的、隨結(jié)點機升級而自然升級的、實現(xiàn)結(jié)點機間多信號并行異步傳輸?shù)?、低成本的結(jié)點互連適配器。
本發(fā)明的結(jié)點互連適配器(XBH)安裝于分布式可擴展并行機群系統(tǒng)中每個結(jié)點機(TN)的總線擴展槽上,它包括和此結(jié)點機的總線槽相接的總線接口單元(XBUS接口單元)、與互連網(wǎng)絡(luò)相連的總線橋接口單元(BBP接口單元)、雙向數(shù)據(jù)寄存器、命令寄存器、狀態(tài)寄存器和XBH的配置單元(Boot PROM區(qū)),BBP接口單元設(shè)有三類信號線裁決總線、數(shù)據(jù)/地址復用總線和總線鏈路控制總線,這三類信號線不是任何一種標準總線的信號線,而是遵循一種在整個連接結(jié)點機鏈路中統(tǒng)一的被稱之為總線橋協(xié)議(BBP)的信號,它可被任何結(jié)點機上的結(jié)點互連適配器由其所在的結(jié)點機標準總線信號轉(zhuǎn)換產(chǎn)生和被接收并轉(zhuǎn)換為本結(jié)點機標準總線信號。結(jié)點機總線接口單元設(shè)有數(shù)據(jù)線、數(shù)據(jù)傳輸寬度表示線、地址線、中斷請求線、傳輸響應(yīng)或回應(yīng)線、總線使用請求線、總線使用允許線、傳輸方向線、地址探測線、設(shè)備選擇線、XBH狀態(tài)線、時鐘線和電源線等,它們分別與結(jié)點機的總線擴展槽內(nèi)相應(yīng)信號線連接。在結(jié)點互連適配器(XBH)內(nèi),還有一個協(xié)議轉(zhuǎn)換單元,它由裁決邏輯單元、中斷控制邏輯單元、命令寄存器、狀態(tài)寄存器、雙向數(shù)據(jù)寄存器共同組成,裁決邏輯單元分別與BBP接口單元的裁決總線和命令寄存器相接,即裁決邏輯單元的可接收來自BBP接口單元雙裁決總線的信號或命令寄存器的信號,將來自連接鏈路的請求連通結(jié)點機的信號或結(jié)點機請求連通鏈路的信號與連接裁決邏輯單元的相對應(yīng)的另一端的狀態(tài)進行裁決,最后將裁決結(jié)果返回BBP接口單元的裁決總線或SBH內(nèi)的狀態(tài)寄存器,并完成鏈路的接通或不接通。裁決邏輯可采用多種策略,如先進先服務(wù)、固定優(yōu)先權(quán)、固定時間片、動態(tài)優(yōu)先權(quán)、輪詢等。中斷控制邏輯單元分別和BBP接口單元的控制總線、數(shù)據(jù)/地址復用總線和XBH內(nèi)的命令寄存器、狀態(tài)寄存器相接,它將來自連接鏈路的控制信號、命令信號或來自本結(jié)點機的控制信號在本結(jié)點機內(nèi)進行處理并產(chǎn)生中斷,然后將中斷結(jié)果返給BBP接口單元的鏈路控制總線和本結(jié)點機。雙向數(shù)據(jù)寄存器分別與BBP接口單元的數(shù)據(jù)/地址復用總線和本結(jié)點機內(nèi)總線的數(shù)據(jù)線和地址線相通,在命令寄存器和中斷控制邏輯單元的控制下,實現(xiàn)本結(jié)點機的數(shù)據(jù)或命令與連接其他結(jié)點機的連接鏈路上的傳輸數(shù)據(jù)或命令及相互傳遞即也完成了兩結(jié)點機之間的數(shù)據(jù)和命令的傳遞。
XBH的配置單元(Boot Prom區(qū))為一PROM芯片,其內(nèi)固化了XBH的驅(qū)動程序,該程序在系統(tǒng)引導時,指明本設(shè)備的類型、屬性以及該擴展卡所采用的中斷優(yōu)先級、卡內(nèi)各寄存器命令寄存器、狀態(tài)寄存器和雙向數(shù)據(jù)寄存器的地址等。
本結(jié)點互連適配器內(nèi)的裁決邏輯單元采用一個基于“線—或”技術(shù)的對稱的優(yōu)先權(quán)比較邏輯電路,采用兩級裁決,兩方中優(yōu)先權(quán)大的一方獲得控制權(quán),相同優(yōu)先權(quán)時進行第二級隨機過程裁決,保證只有唯一的勝方。
BBP接口單元的三類信號線的可做如下設(shè)置
(1)裁決總線1)ARST指示裁決過程開始,高電平有效,由互連端口的任一側(cè)啟動。
2)ARn-AR0裁決優(yōu)先權(quán)線,ARn是最高位,提供2n+1級優(yōu)先權(quán)限。
3)ARSESUS本端口優(yōu)先權(quán)比較結(jié)果,送往互連端口的ARSESU0。
4)ARSESU0互連端口對方一側(cè)的優(yōu)先權(quán)比較結(jié)果,與端口對方一側(cè)ARSESUS相接。
(2)數(shù)據(jù)/地址復用總線5)BBPD0-BBPD3132位的用于傳輸數(shù)據(jù)或地址的數(shù)據(jù)/地址復用總線,BBPD31是最高位。根據(jù)需要,也可采用16、64或128位的數(shù)據(jù)/地址復用總線。
(3)總線鏈路控制總線6)BBPR/W*讀寫控制線,低電平為寫,高電平為讀。
7)DS*數(shù)據(jù)有效指示,下降沿有效。
8)DACK*數(shù)據(jù)確認指示,下降沿有效。
9)AS*地址有效指示,下降沿有效。
10)C/D*命令/數(shù)據(jù)定義線,高電平時BBPD0-BBPD31上傳輸?shù)氖强刂泼?,低電平時BBPD0-BBPD31上傳送終端結(jié)點收發(fā)的數(shù)據(jù)。11)READY受控端口準備好信號線,高電平有效,用于結(jié)點同步。BBP接口單元可接在一個“電—光”可互相轉(zhuǎn)換的裝置上,使結(jié)點機間采用光纜及光信號傳輸。
適配器的兩端口BBP接口單元和XBH與總線接口單元各有一存儲緩沖器,以加快數(shù)據(jù)和命令的快速傳遞。
本發(fā)明具有以下優(yōu)點成本低、宜擴展;采用異構(gòu)結(jié)點機構(gòu)成多機系統(tǒng)時,需要的結(jié)點互連適配器的種類少,只需要與多機系統(tǒng)結(jié)點機中所采用的總線種類數(shù)目相同即可。而且任一結(jié)點機升級后只要采用的總線類型不變,此結(jié)點機上的互連適配器不用改變;采用此類結(jié)點互連適配器構(gòu)成的多機系統(tǒng),在軟件的控制下,可實現(xiàn)耦合度可調(diào)。
下面結(jié)合附圖對本發(fā)明做進一步詳述。
其中
圖1為本發(fā)明的結(jié)構(gòu)框圖。
圖2為BBP連接鏈路接通后讀操作時的時序圖。
圖3為SUN SPARC系列工作站作為結(jié)點機時結(jié)點互連適配器(SBH)的結(jié)構(gòu)框圖。
圖4為SBH與SUN工作站的總線SBUS的接口單元中回應(yīng)信號產(chǎn)生邏輯框圖。
圖5為BBP接口單元中控制總線中DS*與DACK*信號產(chǎn)生邏輯框圖。
圖6為SBH中斷控制邏輯框圖。
圖7為ATBH各工作狀態(tài)的相互關(guān)系。
結(jié)點互連適配器(XBH)安裝于分布式可擴展并行機群系統(tǒng)中每個結(jié)點機(TN)的總線擴展槽上,它包括和此結(jié)點機的總線槽相接的總線接口單元(XBUS接口單元)、與互連網(wǎng)絡(luò)相連的總線橋接口單元(BBP接口單元)、雙向數(shù)據(jù)寄存器、命令寄存器、狀態(tài)寄存器和XBH的配置單元(Boot PROM區(qū)),參見圖1,BBP接口單元設(shè)有三類信號線裁決總線、數(shù)據(jù)/地址復用總線和總線鏈路控制總線,這三類信號線不是任何一種標準總線的信號線,而是遵循一種在整個連接結(jié)點機鏈路中統(tǒng)一的被稱之為總線橋協(xié)議(BBP)的信號,它可被任何結(jié)點機上的結(jié)點互連適配器由其所在的結(jié)點機標準總線信號轉(zhuǎn)換產(chǎn)生和被接收并轉(zhuǎn)換為本結(jié)點機標準總線信號。結(jié)點機總線接口單元設(shè)有數(shù)據(jù)線、數(shù)據(jù)傳輸寬度表示線、地址線、中斷請求線、傳輸響應(yīng)或回應(yīng)線、總線使用請求線、總線使用允許線、傳輸方向線、地址探測線、設(shè)備選擇線、XBH狀態(tài)線、時鐘線和電源線等,它們分別與結(jié)點機的總線擴展槽內(nèi)相應(yīng)信號線連接。在結(jié)點互連適配器(XBH)內(nèi),還有一個協(xié)議轉(zhuǎn)換單元,它由裁決邏輯單元、中斷控制邏輯單元、命令寄存器、狀態(tài)寄存器、雙向數(shù)據(jù)寄存器共同組成,裁決邏輯單元分別與BBP接口單元的裁決總線和命令寄存器相接,即裁決邏輯單元的可接收來自BBP接口單元中裁決總線的信號或命令寄存器的信號,將來自連接鏈路的、請求連通結(jié)點機的信號(或結(jié)點機請求連通鏈路的信號)與連接裁決邏輯單元的相對應(yīng)的另一端的狀態(tài)進行裁決,最后將裁決結(jié)果返回BBP接口單元的裁決總線或XBH內(nèi)的狀態(tài)寄存器,并完成鏈路的接通或不接通。裁決邏輯可采用多種策略,如先進先服務(wù)、固定優(yōu)先權(quán)、固定時間片、動態(tài)優(yōu)先權(quán)、輪詢等。中斷控制邏輯單元分別和BBP接口單元的控制總線、數(shù)據(jù)/地址復用總線和XBH內(nèi)的命令寄存器、狀態(tài)寄存器相接,它將來自連接鏈路的控制信號、命令信號或來自本結(jié)點機的控制信號在本結(jié)點機內(nèi)進行處理并產(chǎn)生中斷,然后將中斷結(jié)果返給BBP接口單元的鏈路控制總線和本結(jié)點機。雙向數(shù)據(jù)寄存器分別與BBP接口單元的數(shù)據(jù)/地址復用總線和本結(jié)點機內(nèi)總線的數(shù)據(jù)線和地址線相通,在命令寄存器和中斷控制邏輯單元的控制下,實現(xiàn)本結(jié)點機的數(shù)據(jù)或命令與連接其他結(jié)點機的連接鏈路上的傳輸數(shù)據(jù)或命令及相互傳遞即也完成了兩結(jié)點機之間的數(shù)據(jù)和命令的傳遞。
本結(jié)點互連適配器內(nèi)的裁決邏輯單元采用一個基于“線—或”技術(shù)的對稱的優(yōu)先權(quán)比較邏輯電路,采用兩級裁決,兩方中優(yōu)先權(quán)大的一方獲得控制權(quán),相同優(yōu)先權(quán)時進行第二級隨機過程裁決,保證只有唯一的勝方。
BBP接口單元的三類信號線的設(shè)置如下(1)裁決總線
1)ARST指示裁決過程開始,高電平有效,由互連端口的任一側(cè)啟動。
2)AR3-AR0裁決優(yōu)先權(quán)線,AR3是最高位,提供16級優(yōu)先權(quán)限。
3)ARSESUS本端口優(yōu)先權(quán)比較結(jié)果,送往互連端口的ARSESU04)ARSESU0互連端口對方一側(cè)的優(yōu)先權(quán)比較結(jié)果,與端口對方一側(cè)ARSESUS相接。
(2)數(shù)據(jù)/地址復用總線5)BBPD0-BBPD3132位的用于傳輸數(shù)據(jù)或地址的數(shù)據(jù)/地址復用總線,BBPD31是最高位。
(3)總線鏈路控制總線6)BBPR/W*讀寫控制線,低電平為寫,高電平為讀。
7)DS*數(shù)據(jù)有效指示,下降沿有效。
8)DACK*數(shù)據(jù)確認指示,下降沿有效。
9)AS*地址有效指示,下降沿有效。
10)C/D*命令/數(shù)據(jù)定義線,高電平時BBPD0-BBPD31上傳輸?shù)氖强刂泼?,低電平時BBPD0-BBPD31上傳送終端結(jié)點收發(fā)的數(shù)據(jù)。
11)READY受控端口準備好信號線,高電平有效,用于結(jié)點同步。
裁決總線由ARST啟動,裁決結(jié)果的表現(xiàn)形式是勝方控制了BBPR/W*的處置權(quán),BBPR/W*由勝方送出,負方響應(yīng),裁決總線僅作用在互連端口之間,其他兩類信號線由連接鏈路從源結(jié)點一直連到終結(jié)點。
DS*,AS*與數(shù)據(jù)傳送方向相同,而DACK*,READY與數(shù)據(jù)傳送方向相反,數(shù)據(jù)傳送方向由BBPR/W*確定,READY在連接鏈路建立時用于指明受控方準備好,在鏈路建立后用于總線操作方式改變時終端結(jié)點機的同步。
當采用本發(fā)明構(gòu)成的多機系統(tǒng)的源結(jié)點機(STN)經(jīng)多次裁決與目標結(jié)點機(OTN)連通后,從目標結(jié)點機的SBH角度看,連接鏈路有四種時序關(guān)系STN的讀、寫時序,OTN的讀、寫響應(yīng)時序。圖2給出讀時序,時間標記處的狀態(tài)說明如下T1STN在完成鏈路連接操作后,等待OTN給出READY信號,OTN在T1時給出上升沿有效的READY信號。
T2STN得到READY上升沿后,給出R/W*和地址。
T3AS*由STN在地址穩(wěn)定鎖存在BBPD0-BBPD31上后降為有效的地電平,其下降將導致OTN降下READY。
T4READY下降,OTN將地址鎖存,然后升高READY。
T5地址傳送周期結(jié)束。
T6STN升高R/W*開始數(shù)據(jù)傳送周期,AS*上升。
T7OTN使DS*降下,指明當前BBPD0-BBPD31上數(shù)據(jù)有效。
T8DS*的下降導致OTN降下READY,并引發(fā)OTN將AS*指明地址的內(nèi)容送入BBPD0-BBPD31。
T9當數(shù)據(jù)穩(wěn)定在BBPD0-BBPD31時,STN給出下降沿有效的DACK*。
T10OTN升起READY,通報STN可以進行下一次讀或?qū)戇^程。
T11DACK*下降導致OTN升起DS*,從BBPD0-BBPD31中獲得數(shù)據(jù)。在DMA方式下,STN和OTN利用DS*和DACK*作為計數(shù)依據(jù),同時進行地址的增減計算,雙方從T11直接進入T6,以加快讀取數(shù)據(jù)的過程。
寫時序與讀時序基本相同,只是在寫時序中R/W*始終保持低電平。
從時序圖中可知,總線鏈路工作時序采用信號握手的異步方式,這避免了同布方式下在系統(tǒng)中廣播時鐘訊號的難題。STN掌握數(shù)據(jù)傳送方向的控制權(quán),而數(shù)據(jù)傳送方向確定握手信號的驅(qū)動方向。
下面為SUN SPARC系列工作站作為多機系統(tǒng)的結(jié)點機時其上的結(jié)點互連適配器的具體設(shè)計。
SUN SPARC系列工作站采用新型的SBus總線,是一個芯片級的互連總線,它的基本特點有.32位的數(shù)據(jù)線;.32位的虛地址線,為主設(shè)備所提供;.28位的物理地址線;.主頻從16.67MHz到25MHz;.除中斷外,均為同步操作;.最多帶8個主設(shè)備;.支持1、2、4、8、16、32、64字節(jié)傳輸;.具有出錯和重試功能;.電特性與CMOS兼容;.有獨立于設(shè)備的自動配置和引導設(shè)備;.有7級共享的中斷;.是一“主—從”型的結(jié)構(gòu)總線;.采用直接虛擬存儲器技術(shù)(DVMA);.有一專門獨立或半獨立的總線控制器,負責決定當前應(yīng)有哪一個主設(shè)備來控制總線,負責虛實地址的翻譯工作,負責發(fā)出和接收Sbus讀寫周期所需的控制信號。
SBus用82根信號線來完成信息的傳輸和控制,14根電源和地線,所以從擴展槽引出的信號線共96根,下表為各信號線的總結(jié)
一個完整的Sbus周期由兩部分組成翻譯周期和從設(shè)備周期。翻譯周期最終把實際的物理地址放在地址總線上;從設(shè)備周期完成主設(shè)備與從設(shè)備之間的數(shù)據(jù)傳輸。
安裝在SUN工作站的擴展槽內(nèi)的結(jié)點互連適配器(SBH)在各結(jié)點機間進行數(shù)據(jù)或命令的傳輸時,應(yīng)完成Sbus信號與BBP信號的相互轉(zhuǎn)換。
SBH包括以下部分SBus接口邏輯按SBus協(xié)議規(guī)定,實現(xiàn)與SBus的接口。
BBP接口邏輯按BBP要求,完成與BBP的接口。
裁決邏輯負責與另一方進行裁決比較,最后產(chǎn)生唯一勝方。
中斷控制邏輯按SBus協(xié)議關(guān)于中斷處理的要求,實現(xiàn)中斷控制機制。
Boot PROMm區(qū)對開放式引導PROM的支持(open bootPROM)。
命令/狀態(tài)寄存器負責向各邏輯發(fā)出指令/接收各邏輯當前狀態(tài)。
雙向數(shù)據(jù)通道32位傳輸通道。
其功能框圖如圖3所示。
SBus每個擴展槽有32M地址空間,SBH接口板內(nèi)地址空間安排如下表所示
SBH板工作于異步方式,采用異步方式回避了在系統(tǒng)傳送時鐘的難點;采用異步方式還使得系統(tǒng)在設(shè)計上呈現(xiàn)出層次性,這樣有利于系統(tǒng)各部分的升級,例如采用主頻更高的工作站,異步方式下工作的SBH板將不受工作站升級的影響。此外為了提高SBH板的速度,在設(shè)計中基本采用74F系列芯片,它的門傳輸延時只有1、2ns,觸發(fā)器延時一般為7、8ns,另外設(shè)計中采用了七片GAL20V8器件用于提高集成度。
SBus系統(tǒng)共提供了4個擴展槽,其中slot0是Sun保留使用的,slot3只能用作slave設(shè)備,slot1,slot2可用作DVMA主設(shè)備也可用作從設(shè)備,在Sun SPARC工作站中已被彩色顯示卡所占用,所以SBH板使用slot1或slot2。SBus總線協(xié)議對擴展卡的尺寸有著嚴格的定義,分為單寬和雙寬兩種尺寸。由于SBH接口板上芯片較多采用雙寬尺寸,大小約為(146.70mm×170.28)。
下面說明一下SBH各部分的設(shè)計情況1.SBH接口板與SBus的接口邏輯它主要考慮的是正確接收來自SBus的控制信號,如sel*,AS*,r/w*等;正確產(chǎn)生回應(yīng)信號。
正確接收來自SBus的控制信號,只須參照時序圖,弄清sel*,AS*,r/w*控制信號與數(shù)據(jù)、地址信號到來時的時序關(guān)系即可。
回應(yīng)信號的產(chǎn)生和發(fā)送是關(guān)系到整個接口邏輯是否正確有效的關(guān)鍵。每個SBus系統(tǒng)都必須有三個信號編碼組成回應(yīng)信號,稱為ACK(20),它由當前的從設(shè)備驅(qū)動或在發(fā)生超時錯時由SBus總線控制器產(chǎn)生。ACK(20)信號驅(qū)動時要求很嚴格,必須是在傳輸周期的適當時刻(未發(fā)生超時錯時)驅(qū)動ACK(20)為有效狀態(tài)保持一個時鐘周期后,將它驅(qū)動為空閑(idel)狀態(tài)保持一個時鐘周期,然后再撤消驅(qū)動。
SBus的周期可以用不同的回應(yīng)信號終止,大致有這樣三類數(shù)據(jù)回應(yīng)指明在一個主設(shè)備和一個從設(shè)備間成功地完成數(shù)據(jù)的傳輸。
錯誤回應(yīng)指出企圖進行的數(shù)據(jù)傳輸是不成功的。
重試回應(yīng)指明被選中的從設(shè)備不能進行請求的傳輸,主設(shè)備必須重新進行這次操作。
其中重試回應(yīng)不是一定要求的,即在SBH接口板實現(xiàn)時可以不考慮,SBus協(xié)議上也說明,除非特殊考慮否則不提倡實現(xiàn)重試回應(yīng),而數(shù)據(jù)回應(yīng)和錯誤回應(yīng)是必須實現(xiàn)的。
在SBH接口板與SunSPARC通訊中支持字傳輸和字節(jié)傳輸,所以SBH板產(chǎn)生的回應(yīng)信號應(yīng)字回應(yīng)和字節(jié)回應(yīng),同時應(yīng)支持錯誤回應(yīng)和idel/wait回應(yīng)信號。
ACK回應(yīng)信號產(chǎn)生的邏輯框圖如圖4所示。ACK編碼器的輸入信號是size(20)和地址信號。在每個SBus傳輸周期開始時,主設(shè)備都要驅(qū)動三個信號組成的一個編碼信號size(20)來告訴從設(shè)備所希望進行的傳輸?shù)拇笮 ?br>
從設(shè)備根據(jù)size以及它所支持的傳輸大小,產(chǎn)生正確的ACK(20)編碼,對不支持的傳輸大小產(chǎn)生錯誤回應(yīng)。這里地址信號是決定ACK編碼的因素之一。ACK編碼器產(chǎn)生好的編碼信號被送入具有三態(tài)的輸出緩沖區(qū)器中保存,直到適當時刻由控制信號產(chǎn)生邏輯產(chǎn)生控制信號來打開三態(tài)門,將ACK(20)送到SBus總線上,被SBus總線控制器得到??刂菩盘柈a(chǎn)生邏輯主要是由產(chǎn)生ACK(20)的觸發(fā)信號來擊活,這些觸發(fā)信號就是在讀寫周期中所發(fā)出的信號,它擊活控制產(chǎn)生邏輯,控制產(chǎn)生邏輯由時鐘控制,自動順續(xù)產(chǎn)生三個保持一個時鐘周期的信號,第一個是ACKOC信號,它用來打開三態(tài)門將適當?shù)幕貞?yīng)信號放在SBus總線上,一個時鐘周期之后,產(chǎn)生第二個ACKIDEL信號,它將ACK(20)清為idel/wait狀態(tài),并保持一個周期,然后發(fā)出ACKEND信號來關(guān)閉三態(tài)門,即撤除對ACK(20)的驅(qū)動。
此外,還要注意SBus協(xié)議對SBus信號的電特性的規(guī)定,即SBus信號在電平上與TTL電平一致,而所耗的電流卻非常小,這些參數(shù)是與輸入、輸出TTL兼容的CMOS門陣列相一臻的,也與FCT系列器件相一致,所以SBus不能直接與7400,74LS00、74S00或74F系列的芯片相接,也不應(yīng)用CMOS/NMOS器件接收SBus信號。而應(yīng)采用FCT/ACT/HCT系列的芯片與SBus信號直接相連。
2.Sbus與BBP的接口邏輯Sbus與BBP的接口邏輯部分主要包括
.BBPDS*、BBPDACK*信號的產(chǎn)生邏輯;.裁決部分;.其它BBP信號的產(chǎn)生邏輯;裁決邏輯采用上述的一個基于“線—或”機制的裁決比較器。
其它信號的產(chǎn)生邏輯比較簡單,這里不在敘述。
下說明BBPDS*與BBPDACK*的產(chǎn)生邏輯,如圖5所示。
A方將數(shù)據(jù)準備好放在BBP數(shù)據(jù)總線上之后,發(fā)出了DS*信號,到達B端,DS*信號作為DS/DACK產(chǎn)生邏輯的輸入,它將原來DACK*低有效狀態(tài)拉為高電平準備狀態(tài),(已是高電平則不變),同時進入B端的狀態(tài)寄存器,當B端從BBP數(shù)據(jù)總線上取得數(shù)據(jù)后,發(fā)出DACK*給A端,同樣DACK*將A端的DS*低有效電平拉為高電平準備態(tài)(已是高電平則不變),同時進入A端狀態(tài)寄存器。這時即完成了一次32位字的傳輸。A方和B方的通訊正是通過DS*、DACK*這一對信號的快速動作來完成的。當然,一端的DS*或DACK*在某一時刻只能有一個處于發(fā)送狀態(tài),另一個是接收狀態(tài),這通過一個三態(tài)門解決。
3.中斷控制邏輯Sbus提供了7級中斷IntReq(71)*,其中第七級是最高級中斷,多個設(shè)備可以共享同一中斷級別。考慮到SBH的用途,最好不占用系統(tǒng)已用的中斷級別為好,又要保證有較高的中斷響應(yīng)級別,SBH采用第四級中斷,在UART和時鐘之下,在以太網(wǎng)和磁盤中斷級別之上。
SBus協(xié)議對中斷有規(guī)定從設(shè)備必須以具有三態(tài)的驅(qū)動部件來驅(qū)動中斷信號線IntReq(71)*,中斷信號線不能被驅(qū)動成無效的高電平狀態(tài);在中斷被服務(wù)后,從設(shè)備必須三態(tài)中斷信號線輸出。固中斷控制邏輯的功能應(yīng)有中斷產(chǎn)生、中斷允許或不許、中斷清除和中斷讀取四個,參見圖6。
4.Boot PROM區(qū)每個Sbus擴展卡都必須有一個PROM區(qū),作為Sbus擴展卡的SBH也不例外,SBH的配置單元(Boot PROM區(qū))為一PROM芯片,其內(nèi)固化了一個用FCode語言編制的SBH的驅(qū)動程序,該程序在系統(tǒng)引導時,指明本設(shè)備的類型、屬性以及該擴展卡所采用的中斷優(yōu)先級、卡內(nèi)各寄存器(命令寄存器、狀態(tài)寄存器和雙向數(shù)據(jù)寄存器)的地址等,它采用一個32K位的可擦除EPROM器件。
以上為SBH作為結(jié)點機SUN工作站上的從設(shè)備的實現(xiàn),下面介紹SBH作為主設(shè)備的實現(xiàn)。
從SBus信號總結(jié)表中可看到,要實現(xiàn)主設(shè)備的SBH,必須要產(chǎn)生Request*申請總線信號、指明傳輸方向的Read信號和指明傳輸大小的Size(20)信號。主設(shè)備SBH發(fā)出Request*信號申請總線,然后等待總線控制器仲裁后發(fā)出Great*信號,SBH采樣到Great*有效,把虛地址放在Data(310)上,同時啟動Size(20)和Read,虛地址保持在Data(310)上一個時鐘周期后(在這一周期里,虛地址被總線控制器采樣),SBH如果要寫,就將數(shù)據(jù)放在Data(310)上,然后采樣Ack(20)信號,如果Ack(20)在255個時鐘周期內(nèi)被正確采樣到,則結(jié)束這次傳輸,否則說明出錯轉(zhuǎn)而重試;讀的情況一樣,當Ack(20)正確采樣到后,立即采樣Data(310)得到數(shù)據(jù)。這樣實現(xiàn)SBH作為主設(shè)備的讀寫操作。
SBH作為主設(shè)備可得到許多好處1.使數(shù)據(jù)或命令的傳遞速度加快。SBH板不必象從設(shè)備那樣,先發(fā)中斷給CPU主設(shè)備,然后由CPU主設(shè)備競爭占用總線,在進行傳輸。從中斷到獲得總線這一過程包括了中斷現(xiàn)場保護、系統(tǒng)調(diào)度等大的開銷;并且是由源方CPU主設(shè)備啟動SBus傳輸周期將數(shù)據(jù)寫入SBH,再經(jīng)過協(xié)議轉(zhuǎn)換到達目的端SBH,由目的端的CPU主設(shè)備從中讀取并放到內(nèi)存緩沖,這樣不可避免地要求兩方結(jié)點機上各有一個進程來負責發(fā)送和接收工作,即傳輸過程中必須要軟件的干預(yù),而軟件干預(yù)的開銷也是很大。
2.由于SBH的地位由從設(shè)備變?yōu)橹髟O(shè)備,具有對總線占用的主動性,使得可以在用SBH板及開關(guān)結(jié)點構(gòu)成的互連系統(tǒng)的各結(jié)點機間實現(xiàn)“共享虛擬窗口(MSW)”的概念(詳見同日遞交的《一種分布式存儲器共享管理方法》的中國專利申請),可實現(xiàn)此多機系統(tǒng)耦合度的調(diào)節(jié)。
3.由于SBH作為主設(shè)備,使整個多機系統(tǒng)的管理變得容易,方便了并行應(yīng)用軟件的編制。
以下為采用AT總線的微型計算機作為多機系統(tǒng)的結(jié)點機的互連適配器的情況。
AT機采用一般采用80286或80386微處理器,其總線包括局部總線和系統(tǒng)總線二種形式,系統(tǒng)總線采用ISA標準總線。局部總線為80286引腳上的地址、數(shù)據(jù)、狀態(tài)和控制訊號,系統(tǒng)總線則為局部總線的緩沖形式。在以80386為核心的系統(tǒng)中,局部總線與AT不完全相同,但其系統(tǒng)總線卻是一致的。以下介紹一下AT的系統(tǒng)總線協(xié)議。
80286支持六種類型的總線操作存貯器讀、寫;I/O讀、寫;中斷響應(yīng);停機,系統(tǒng)總線有三種基本狀態(tài)Ti空閑態(tài),Ts發(fā)送態(tài)和Tc執(zhí)行狀態(tài),另有一Tn保持狀態(tài)表明當前系統(tǒng)總線控制權(quán)的歸屬。當80286響應(yīng)HOLD請求時,局部總線由其它總線主設(shè)備控制。
Ti表示沒有數(shù)據(jù)傳送正被請求或處理。第一個有效狀態(tài)Ts由狀態(tài)線信號通知,同時此信號也用以識別處理機時鐘的節(jié)拍。Ts之后進入Tc,在Tc期間,存貯器和I/O設(shè)備響應(yīng)總線操作,完成數(shù)據(jù)在CPU和存貯器或I/O設(shè)備之間的傳遞。為了確保存貯器或I/O設(shè)備有足夠的時間作出響應(yīng),Tc狀態(tài)通??捎蒖EADY控制進行重復。在Tn狀態(tài),80286將懸浮所有的地址、數(shù)據(jù)和狀態(tài)輸出引腳,以便使另外的總線主設(shè)備能夠使用局部總線。
ISA總線一般指系統(tǒng)主板插槽上的訊號定義及其時序關(guān)系,這是一種廠商標準,由IBM公司推出,ISA總線實質(zhì)上是系統(tǒng)總線的擴充,通常用于擴充電路的引入。在此,ISA總線被看成插在AT總線擴展槽內(nèi)的以AT機為結(jié)點機的互連適配器(ATBH)總線轉(zhuǎn)換的工作對象。
與其它總線一樣,ISA總線由數(shù)據(jù)總線、地址總線、控制總線以及時鐘、復位等訊號組成,其中與總線轉(zhuǎn)換有關(guān)的控制訊號包括BALE地址鎖存允許;I/OCHRDYIO通道準備就緒;IRQi中斷申請;DRQi,DACKi,DMA請求及響應(yīng);-IOW,-LORIO空間讀寫;-MEMR,-MEMW存貯空間讀寫;AEN地址允許,用于通知80286以外主設(shè)備使用總線;-MASTER與DRQi一起用于奪取系統(tǒng)總線控制權(quán)。
ATBH連接鏈路一側(cè)基本工作過程有九種可能狀態(tài)Snl無連接狀態(tài),這時ISA總線橋頭與外界的連接浮空;SRW接收狀態(tài),ATBH從外界獲取數(shù)據(jù),ATBH為勝方;SWW發(fā)送狀態(tài),ATBH向外界傳遞數(shù)據(jù),ATBH為勝方;SRL負方接收狀態(tài);SWL負方發(fā)送狀態(tài);SiWWATBH作為勝方,正準備發(fā)出數(shù)據(jù);SiRWATBH作為勝方,正準備接收數(shù)據(jù);SiWLATBH作為負方,正準備發(fā)出數(shù)據(jù);SiRLATBH作為負方,正準備接收數(shù)據(jù);
圖7給出了ATBH工作狀態(tài)的相互關(guān)系。其中T1本橋頭勝,R/W*初始化為0;T2本橋頭負,R/W*被初始化為0;T3R/W*被從1置為0;(由勝方執(zhí)行)T4R/W*被從0置為1;(由勝方執(zhí)行)T5DS*下降沿發(fā)出;T6DACK*下降沿到;T7DS*下降沿到;T8DACK*下降沿發(fā)出;T9ATBH作為勝方釋放總線橋連接;T10AYBH作為負方,收到總線橋連接撤消訊號。
按照MSW存貯管理方法的要求,ATBH在AT機內(nèi)占用一個內(nèi)存管理所采用的頁面尺寸大小的存貯區(qū)域,且與之對應(yīng)地址區(qū)域沒有被系統(tǒng)的物理存貯器占用。由于80286僅支持段式虛擬存貯管理,而80386微處理機具有段頁式存貯管理的支持硬件,因此,一個能夠執(zhí)行MSW映像的ATBH將僅能在80386為核心的個人計算機上運行為了廉價地驗證協(xié)議轉(zhuǎn)換的可行性及效果,ATBH的實驗原型將MSW收縮為一個16位字。實踐證明,這種簡化在付出了幾級在MSW映像中所不應(yīng)有的緩沖后,驗證了ISA總線與BBP雙向轉(zhuǎn)換的可行性,同時也表現(xiàn)出了很富吸引力的機間數(shù)據(jù)傳遞速率。
于是,ATBH實驗原型的主要注意力集中總線工作狀態(tài)的轉(zhuǎn)換,暫時不考慮地址空間的融合問題。
ISA總線采用時鐘作為總線操作同步的手段,同時為總線上其它設(shè)備與系統(tǒng)的同步提供了諸如I/OCHRDY,-MASTER之類的支持訊號,ATBH的協(xié)議轉(zhuǎn)換以異步握手的方式實現(xiàn)二者之間的同步。
首先,AT機對ATBH進行初始化訪問,以建立與外界的總線橋連接,當連接成功后,ATBH進入Siww狀態(tài),如果連接失敗,AT機進入Sirl狀態(tài)。在完成鏈路連接后,進入總線橋狀態(tài)的映射。
當ATBH為總線橋負方時,更直接的狀態(tài)轉(zhuǎn)換為使負方ATBH成為ISA總線的主控設(shè)備,而此時系統(tǒng)總線進入Tn狀態(tài),所帶來的問題是ATBH中必須帶有一個16位DMA通道實現(xiàn)總線橋數(shù)據(jù)向系統(tǒng)內(nèi)存貯區(qū)的無緩沖寫入及讀出。
ISA總線的IOCHRDY可使Tc狀態(tài)重復,借助此訊號可實現(xiàn)不同速度機器的總線橋同步操作。
ISA總線的狀態(tài)經(jīng)由ATBH轉(zhuǎn)換成滿足BBP的總線橋工作狀態(tài),這只是總線橋連接計算機的一個中間環(huán)節(jié),其最終目的是實現(xiàn)互連計算機內(nèi)部總線訊號的相互作用。
首先考察ISA總線主設(shè)備與80286的關(guān)系。
ISA總線上的設(shè)備分為兩類主設(shè)備與從設(shè)備,主設(shè)備有能力從80286處獲得系統(tǒng)總線使用權(quán),同一瞬間AT中只有一個總線控制權(quán)擁有者,而無總線控制權(quán)的設(shè)備處于保持狀態(tài)。即,同一瞬間只有一個主設(shè)備或微處理器工作,ISA總線是以分時的方法支持多個主設(shè)備與處理系統(tǒng)并行。因此,僅僅是加大總線的訊號驅(qū)動能力和增加擴展槽的數(shù)目并不能增強系統(tǒng)處理能力。
由此可知,經(jīng)由BBP實現(xiàn)的ISA總線的轉(zhuǎn)接一方面應(yīng)使轉(zhuǎn)接雙方處理器訪問彼此存貯器的效率接近在同一條總線上的操作效率,另一方面還必須保持一定程度的隔離,以使兩條總線有同時獨立工作的機會。為此,ATBH將允許經(jīng)由BBP轉(zhuǎn)接的ISA總線工作于兩種狀態(tài)。
1.單傳送狀態(tài),這時,勝方微處理器對ATBH的每次讀寫操作都涉及負方ATBH與負方微處理器的系統(tǒng)總線爭用。
2.DMA傳送狀態(tài),這時,ATBH同時占用勝方和負方的總線完成批量數(shù)據(jù)的傳送。
BBP沒有提供直接用于機間中斷的訊號線,ATBH作為負方時支持兩種方式的中斷1.通過裁決控制邏輯單元收到的鏈路爭用訊號ARACK產(chǎn)生中斷;2.通過C/D*線控制數(shù)據(jù)線編碼產(chǎn)生中斷。
ATBH要處理的最后一個問題是在總線橋控制權(quán)不變的前提下改變數(shù)據(jù)傳輸方向。ATBH的BBP端口在工作時,控制訊號一部分來自外界,另一部分由已方輸出,換向控制由勝方ATBH修改R/W*值實現(xiàn)。當勝方修改R/W*值迅速導致已方輸出、輸入訊號方向改變,而負方ATBH由于線路延遲而暫時沒有換向時,產(chǎn)生總線橋換向沖突。ATBH中設(shè)計了換向控制電路,該電路檢測R/W*,一旦R/W*產(chǎn)生變化,換向檢測電路立即將本方BBP的除裁決總線和R/W*以外的訊號線置成三態(tài)輸出,然后執(zhí)行內(nèi)部換向,由于ATBH以及SN內(nèi)部端口控制的對稱性,換向檢測電路在大于二倍的R/W*至本方換向電路延時之后,重新打開已經(jīng)換向的BBP端口。負方ATBH檢測來自總線橋的R/W*,一旦變化,也關(guān)閉BBP端口,直至已方換向完畢后立即重開。
這樣完成了各結(jié)點機間的數(shù)據(jù)和命令的交換。
權(quán)利要求
1.一種結(jié)點互連適配器(XBH)安裝于分布式可擴展并行機群系統(tǒng)中每個結(jié)點機(TN)的總線擴展槽上,它包括和此結(jié)點機的總線槽相接的總線接口單元(XBUS接口單元)、與互連網(wǎng)絡(luò)相連的總線橋接口單元(BBP接口單元)、雙向數(shù)據(jù)寄存器、命令寄存器、狀態(tài)寄存器和XBH的配置單元(Boot PROM區(qū)),其特征在于(1)BBP接口單元設(shè)有三類信號線裁決總線、數(shù)據(jù)/地址復用總線和總線鏈路控制總線,這三類信號線不是任何一種標準總線的信號線,而是遵循一種在整個連接結(jié)點機鏈路中統(tǒng)一的被稱之為總線橋協(xié)議(BBP)的信號,它可被任何結(jié)點機上的結(jié)點互連適配器由其所在的結(jié)點機標準總線信號轉(zhuǎn)換產(chǎn)生和被接收并轉(zhuǎn)換為本結(jié)點機標準總線信號;(2)結(jié)點機總線接口單元設(shè)有數(shù)據(jù)線、數(shù)據(jù)傳輸寬度表示線、地址線、中斷請求線、傳輸響應(yīng)或回應(yīng)線、總線使用請求線、總線使用允許線、傳輸方向線、地址探測線、設(shè)備選擇線、XBH狀態(tài)線、時鐘線和電源線等,它們分別與結(jié)點機的總線擴展槽內(nèi)相應(yīng)信號線連接;(3)在結(jié)點互連適配器(XBH)內(nèi),還有一個協(xié)議轉(zhuǎn)換單元,它由裁決邏輯單元、中斷控制邏輯單元、命令寄存器、狀態(tài)寄存器、雙向數(shù)據(jù)寄存器共同組成,裁決邏輯單元分別與BBP接口單元的裁決總線和命令寄存器相接,即裁決邏輯單元的可接收來自BBP接口單元中裁決總線的信號或命令寄存器的信號,將來自連接鏈路的、請求連通結(jié)點機的信號(或結(jié)點機請求連通鏈路的信號)與連接裁決邏輯單元的相對應(yīng)的另一端的狀態(tài)進行裁決,最后將裁決結(jié)果返回BBP接口單元的裁決總線或XBH內(nèi)的狀態(tài)寄存器,確定鏈路的接通或不接通,中斷控制邏輯單元分別和BBP接口單元的控制總線、數(shù)據(jù)/地址復用總線和XBH內(nèi)的命令寄存器、狀態(tài)寄存器相接,它將來自連接鏈路的控制信號、命令信號或來自本結(jié)點機的控制信號在本結(jié)點機內(nèi)進行處理并產(chǎn)生中斷,然后將中斷結(jié)果返給BBP接口單元的鏈路控制總線和本結(jié)點機;(4)雙向數(shù)據(jù)寄存器分別與BBP接口單元的數(shù)據(jù)/地址復用總線和本結(jié)點機內(nèi)總線的數(shù)據(jù)線和地址線相通,在命令寄存器和中斷控制邏輯單元的控制下,實現(xiàn)本結(jié)點機的數(shù)據(jù)或命令與連接其他結(jié)點機的連接鏈路上的傳輸數(shù)據(jù)或命令的相互傳遞,即也完成了兩結(jié)點機之間的數(shù)據(jù)和命令的傳遞;(5)XBH的配置單元(Boot PROM區(qū))為一PROM芯片,其內(nèi)固化了XBH的驅(qū)動配置程序,該程序在系統(tǒng)引導時,指明本設(shè)備的類型、屬性以及該擴展卡所采用的中斷優(yōu)先級、卡內(nèi)各寄存器命令寄存器、狀態(tài)寄存器和雙向數(shù)據(jù)寄存器的地址等。
2.根據(jù)權(quán)利要求1所述的結(jié)點互連適配器,其特征是所述的結(jié)點互連適配器內(nèi)的裁決邏輯單元采用一個基于“線—或”技術(shù)的對稱的優(yōu)先權(quán)比較邏輯電路,采用兩級裁決,兩方中優(yōu)先權(quán)大的一方獲得控制權(quán),相同優(yōu)先權(quán)時進行第二級隨機過程裁決,保證只有唯一的勝方。
3.根據(jù)權(quán)利要求1所述的結(jié)點互連適配器,其特征是所述的BBP接口單元的三類信號線的設(shè)置如下(1)裁決總線1)ARST指示裁決過程開始,高電平有效,由互連端口的任一側(cè)啟動;2)ARn-AR0裁決優(yōu)先權(quán)線,ARn是最高位,提供2n+1級優(yōu)先權(quán)限;3)ARSESUS本端口優(yōu)先權(quán)比較結(jié)果,送往互連端口的ARSESU0;4)ARSESU0互連端口對方一側(cè)的優(yōu)先權(quán)比較結(jié)果,與端口對方一側(cè)ARSESUS相接;(2)數(shù)據(jù)/地址復用總線5)BBPD0-BBPD3132位的用于傳輸數(shù)據(jù)或地址的數(shù)據(jù)/地址復用總線,BBPD31是最高位;(3)總線鏈路控制總線6)BBPR/W*讀寫控制線,低電平為寫,高電平為讀;7)DS*數(shù)據(jù)有效指示,下降沿有效;8)DACK*數(shù)據(jù)確認指示,下降沿有效;9)AS*地址有效指示,下降沿有效;10)C/D*命令/數(shù)據(jù)定義線,高電平時BBPD0-BBPD31上傳輸?shù)氖强刂泼睿碗娖綍rBBPD0-BBPD31上傳送終端結(jié)點收發(fā)的數(shù)據(jù);11)READY受控端口準備好信號線,高電平有效,用于結(jié)點同步;
4.根據(jù)權(quán)利要求1所述的結(jié)點互連適配器,其特征是BBP接口單元接在一個“電—光”可互相轉(zhuǎn)換的裝置上,使結(jié)點機間采用光纜即光信號進行傳輸。
5.根據(jù)權(quán)利要求1所述的結(jié)點互連適配器,其特征是適配器的兩端口BBP接口單元和XBH與總線接口單元各有一存儲緩沖器,以加快數(shù)據(jù)和命令的快速傳遞。
全文摘要
本發(fā)明涉及一種可擴展并行機群系統(tǒng)中總線信號轉(zhuǎn)換裝置,它安裝于分布式可擴展并行機群系統(tǒng)中每個結(jié)點機的總線擴展槽上,由和此結(jié)點機的總線槽相接的總線接口單元(XBUS接口單元)、與互連網(wǎng)絡(luò)相連的總線橋接口單元(BBP接口單元)、雙向數(shù)據(jù)寄存器、命令寄存器、狀態(tài)寄存器和XBH的配置單元(Boot PROM區(qū))、裁決邏輯單元和中斷控制邏輯單元組成,是構(gòu)造基于BBP協(xié)議的、耦合度可調(diào)并行計算機群系統(tǒng)的關(guān)鍵部件之一。
文檔編號G06F3/00GK1137646SQ9510608
公開日1996年12月11日 申請日期1995年6月5日 優(yōu)先權(quán)日1995年6月5日
發(fā)明者金利杰, 李未 申請人:北京航空航天大學