專利名稱:使用系統總線控制器的模塊間通信的設備和方法
技術領域:
本發明一般涉及系統總線控制器,更具體說,涉及用于系統處理器單元(SPU)之間、以及一SPU和包括接口、時鐘及交換單元的所有其他系統模塊之間互相通信的方法和設備。
系統總線通常能夠按照字長量,實現各種計算機系統單元之間的數據交換。在實際應用中,大量的單元連接至同一條總線上,各單元都以有序的方式為各自的傳輸爭用該條總線。
系統部件之間數據交換的定時和排序是由一個特定的網絡總線體系結構來控制的。一個已知的這種體系結構是“以太網(Ethemet)”。在以太網中的所有站都通過一些網絡接口卡或連接器與一條纜線相連接,纜線通到每一用戶設備,它可以是一種無屏蔽雙絞式(UTP)導線(采用一個RJ-45連接器)同軸纜線。
以太網絡采用一種稱為帶有沖突檢測的載波偵聽多路存取(CSMA/CD)的協議。在這種CSMA/CD協議中,每個站通過連續地監視纜線,檢測其何時空閑(無用戶傳送)、何時有一個用戶正在(成功地)進行傳輸、或者何時有多于一個用戶正在同時試圖傳輸(沖突),來共用這條纜線。
纜線基本上起著一條廣播總線的作用。如果任一個站檢測到這條纜線是空閑的,它便可以在其上傳輸。一旦一個站進行傳輸,其它一些站將不能夠中斷這一傳輸。如果兩個站同時開始傳輸,它們則利用沖突檢測來檢測這一沖突,并停下來,在經過一個隨機選擇時間間隔之后,進行重試。
以太網絡具有每秒10兆位(Mbps)的額定傳輸數據速率。但是,空閑時間與沖突會顯著地將有用信息吞吐量減少到大約1-2Mbps。光纜不能用于這類網絡,因為它們不適用于由站直接抽頭,而利用同軸電纜則能做到。
在令牌式環形網絡中,站是以點對點的鏈接方式安排在相鄰兩地間的一個環路中的。傳輸的信息流為單向,即順時針方向或反時針方向。一個傳輸信息經過點對點鏈路傳送到接收站,然后向前繞過環中其余的站而回到發送站,作為一次確認。只有一個擁有“令牌”(一個單數字的碼字)的站才可以進行傳送。在傳送之后,該站將令牌傳給其下游的相鄰站,因而在一個令牌式環路之中不會發生沖突。
因為令牌環采用點對點的鏈接,所以可以使用諸如屏蔽雙絞式(STP)饋線和光纜等各種各樣的傳輸媒體。
令牌環的傳輸速率,取決于所用傳輸媒體,范圍在1Mbps(用STP)至16Mbps(用光纜)。大多數設備都采用STP,因為其在兩者中較為便宜。
這些現有的總線拓撲結構有以下缺點。其一是傳輸速率低。如以上所討論的,雖然以太網傳輸額定速率達10Mbps,但是在實際操作中由于空閑時間和沖突,會使其低得多。令牌環的傳輸速率范圍可從1到16Mbps,但其數據流向為單向的。
第二個缺點是,上述這些拓撲結構,要求大量的連接腳并要以機械方式連接。而且這兩種拓撲結構都要求復雜的協議來建立信息及管理數據的傳輸。最后,還需要復雜的硬件設計來支持數據傳輸和誤差檢測功能。
鑒于以上原因,所以需要一種能夠在系統處理器與系統模塊之間或之中進行寬帶雙向數據傳遞的系統總線控制器,而能采用簡單的協議和硬件來格式化并管理數據的傳輸。
本發明的目的在于提供一種在各系統模塊中引入系統總線控制器的系統總線體系結構,其基本上能夠消除一個或多個現有技術中的局限和缺點所引起的問題。
通常,系統總線控制器允許兩個不同處理器模塊之間的通信(即處理器間的通信(IPC)),其中一個為主設備模塊,另一個為從屬設備模塊。而且,系統總線控制器還提供從屬模塊之間的數據通信,或者一個主模塊與多個從屬模塊之間的數據通信。
另外,系統總線控制器允許由主控制器通過底板進行的遠程數據傳輸,并在底板上為IPC提供足夠的帶寬。
為了實現這些以及其它的優點,根據本發明的目的,作為具體化和廣義上的描述,本發明提供了一種用于模塊間通信的系統總線,包括一條底板總線(back-plane bus);與該底板總線相通的存儲器裝置,用于存儲數據;多個寄存器,用于控制對該存儲器裝置的訪問一個經一主總線控制器與底板總線相連接的主系統處理器模塊,其帶有一個選擇性地與主總線控制器相通的中央處理單元;多個經一從屬總線控制器與底板總線相連接的從屬模塊,這多個從屬模塊中的每一個都帶有一個選擇性地與所述從屬總線控制器相通的從屬中央處理單元;主、從總線控制器都選擇性地與存儲器裝置、多個寄存器、以及各自的中央處理單元相通,以通過底板總線發送和接收數據。
根據本發明的另一方面,本發明提供了一種主-從模塊通信的方法,包括以下步驟通過一主中央處理單元請求對從屬模塊的訪問;確定該從屬模塊是否可訪問;接收對該從屬模塊可訪問的確認;對共用存儲器進行訪問,以進行該主-從模塊之間的數據傳輸;通過主中央處理單元指示數據傳輸已經完成。
根據本發明的再一方面,由于底板總線是雙向的,所以上述方法步驟亦適用于下列情況一個主模塊訪問一個或多個從屬模塊、一個從屬模塊訪問一個主模塊、或者一個從屬模塊通過該主模塊訪問一個從屬模塊。
應能理解到,以上的概述及后面的詳細敘述均為舉例性和解釋性的,旨在為由權利要求書所限定的本發明提供進一步的說明。
下面結合附圖對本發明一個較佳實施例的描述,將有助于更好地理解本發明上述的及其它的目的、特點及優點。附圖中
圖1為本發明系統總線結構的示意圖;圖2為主、從模塊的功能部件的示意圖;圖3為表示存儲器映象地址及相關寄存器的表。
圖4是根據本發明的讀和寫循環的流程圖;圖5A-5D分別表示請求(RQST)、確認(ACK)、完成(DONE)及中斷寄存器的表;以及圖6示出本發明的奇偶校驗誤差檢測方法。
現在參見附圖。參見圖1,圖中示出了一個使用本發明的設備和方法的系統總線體系結構的總體圖。如圖所示,此系統總線體系結構包括一底板總線12,其分別與多個系統處理單元(SPU)14a和14b、系統接口單元(SIU)16、系統交換單元(SSU)18、以及系統時鐘單元(SCU)20相通。雖然圖1中示有多個SPU、SIU、SSU及SCU單元,但應理解到,根據具體系統的結構,任何數目的相應單元,包括這些單元的單獨裝置,都可以與底板12相接口。
各單元的一些舉例性功能如下。諸SPU例如包含操作系統、操作及維護(OAM)軟件、和調用控制軟件。諸SSU提供異步傳輸模式(ATM)切換,而諸SCU則使網絡同步化。最后,諸SIU提供ATM存儲單元、幀轉接、局部網絡(LAN)、及準同步數字層次(PDH)接口。
底板總線12是一條16位的寬的高速并行總線,具有高達10兆字節/秒的數據傳輸能力。因此該底板總線要比以太或令牌環網絡大約快八倍。在此高速總線上處理器之間的通信將基本上是以成組方式傳遞的,實際上是點對點的。盡管一般估計信息流式傳遞的頻率很低,但此點對點的傳遞仍能常常變成為信息流式的。例如信息流式的數據傳輸可能在初始卸載期間、計算數據傳輸期間、及網絡管理站間的數據傳輸管理期間,出現于模塊之間。可能在某些時候要求SPU進行廣播,而廣播的數據則總是處于成組方式。在大多數情況下,成組方式的IPC應用將傳輸一個單獨的消息緩沖區。目前,在總線結構中一個內部操作系統信息緩沖區的最大尺度是1024個字節。
在所示的實施例中,底板總線12支持主設備側的一個現用SPU14a與從屬設備側的各個接口16、交換單元18及時鐘單元20之間的通信。備用SPU 14b亦以從屬模式運行。可以指定諸SPU中的任何一個(但只能是一個)作為主(現用)設備,而其余的均須指定為從屬(備用)設備,因為只能有一個主處理器用于該系統。如圖1所示,通過底板的通信信道是雙向的。
各模塊的內部結構和操作在功能上是類似的。如圖2所示,主模塊(即現用的SPU 14a)具有一相關總線控制器22和中央處理單元24。類似地,從屬模塊16(例如一個SIU)也具有一相關總線控制器32和中央處理單元(CPU)34。為簡化起見,圖2中僅示出一個從屬模塊。應當理解,每一接口16、交換單元18及時鐘單元20、乃至備用SPU14b,都含有一總線控制器和中央處理單元(CPU)。
主、從模塊的各總線控制器與一共用總線存儲器,更具體地,與一靜態隨機存取存儲器(SRAM)裝置26相接口。該SRAM 26被分成兩部分接收(Rx)部分和發送(Tx)部分,用以保存用于微處理器各方向上所產生的信息。圖3示出了SRAM的一個舉例性的存儲器映象及其相關的控制寄存器(將在下文作進一步討論)。Tx和Rx區域在任何一次都各能保持高達4096字節的信息。如果需要的話,該存儲器的容量還能提高。
底板上的通信協議由主總線控制器22控制,它控制主、從CPU之間通過底板的數據流的交易和方向,產生SPU與各SIU、SSU、SCU之間的存取計時定序,以提供對特定請求微處理器的讀、寫存取。
當無信息傳遞時,全部從屬總線控制器32(SCU、SIU、SSU和備用CPU)都通過該底板顯示一個READY信號。該READY信號表示主CPU已經批準了對該特定從屬模塊的訪問。相反,當READY信號被撤銷后,主CPU不能訪問該從屬模塊。
如果從屬模塊正在使用共用存儲器,READY信號依據ACK寄存器的狀態而被撤銷,對此后文將作進一步描述。
主CPU可以容易地對每個從屬SRAM的共用存儲器進行訪問。通過一系列利用下列內部協議命令與總線控制器進行通信的控制寄存器,可實現對SRAM26的訪問>RQST請求訪問SRAM>ACK等待來自總線控制器的確認>INTERRUPT接受并訪問總線裝置>DONE訪問結束指示現在結合圖4和圖5A-5D的寄存器表討論寫/讀序列的實例。諸寄存器表中示出的具體寄存器位是為了討論而列的。所以應當理解,在本發明的實際應用中,可以采用一些不同的寄存器結構。在下述的序列中,主SPU將先向一SIU的共用存儲器(SRAM)中寫入數據,然后此SIU將讀取該寫入的數據。
本發明的總線體系結構可以采用美國專利申請第08/474,174號(代理號為SNL-PAT95001)中披露的系統總線軟件驅動器,該申請是由Gananathan Suresh等人于1995年6月7日提交的,其全部內容在此引作為參考文獻。該專利申請說明書的某些部分將在下文的適當段落中加以重復,以便于參考和討論。
當主CPU24要訪問總線12時,它通過在與總線12相關的RQST寄存器上寫入“1”,向其總線控制器24發出一個請求信號(圖4中的步驟405)。圖5A中示出的是此16-位的RQST寄存器,僅僅使用BO位。在這種情況下,BO將是“1”,表示一個總線請求,否則BO將設為“0”。
總線控制器詢問總線12,確定該總線是否正被使用。如果該總使正被占用,總線READY信號則被置為低(“0”);如果該總線未被占用,總線READY信號將被置為高(“1”)。
對應于總線READY信號電平,ACK寄存器(圖5B)的B7將被置為“1”,以表明該總線可以使用,或被置為“0”,以表明總線已被占用。不使用B0-B5及B8-B15位。
在圖4的步驟410中,CPU24讀取ACK寄存器,以確定SPU能否使用該總線。在判定框415中,如果ACK為“0”,在“N”毫秒(ms)的延遲(步驟417)之后,重復步驟405。因為向從屬設備則發送一條1K字節信息需要大約1ms或更少的時間,所以從控制器接收確認亦需等量的時間。因而,“N”將大約為1ms或大于1ms。如果ACK為“1”,就可以將數據寫入SRAM26(步驟420)。
在全部數據寫入SPAM26之后(步驟425),CPU24將圖5C所示DONE寄存器的BO設置為“1”,以向總線控制器22表明此寫循環已完成(圖4中步驟430)。在寫循環中,BO將被置為“0”。在此實施例中,不使用B1-B5位。
以下將描述通過SIU的讀序列。在SPU 14a的寫存取結束時,總線控制器產生一INTERRUPT(中斷)信號(圖4中步驟440),其由SIU的局部CPU34所接收,表明來自SPU的數據已到達。如圖5D所示,INTERRUPT寄存器的BO將被置為“0”以起動該信號,被置為“1”則關閉信號。
在圖4的步驟450中,數據由SIU從SRAM26中讀出。讀出數據之后,SIU的局部CPU34將圖5C所示DONE寄存器的BO設置為“1”,以向總線控制器32表明讀循環已經完成(圖4中步驟460)。
應當理解,上述序列僅是舉例性的,在本發明的實際應用中,還可以實現主模塊與各種從屬模塊之間讀寫循環的很多組合。例如,如圖1所示,可以通過底板總線12,在現用SPU和從屬SPU之間、以及在主SPU和諸SIU、SSU、SCU中任何一個之間,發送和接收信息。
而且,如圖1所示,在任一從屬模塊組本身之內或之間,不存在直接的相互通信連接。例如,如果需要任一發送SIU向另一接收SIU發送一信息,那么此信息先由發送SIU經底板總線12傳至主SPU,然后該主SPU再將此信息傳至接收SIU。在各其它從屬模塊之間及之中,存在同樣的情況。如果需要任一發送SIU向一接收SSU發送一信息,那么此信息先由發送SIU經底板總線12傳至主CPU,然后該主CPU再將此信息傳至接收SSU。
通過任一局部CPU的諸RQST信號是異步的,其異步在于,僅當一數據包已準備就諸要傳輸至總線共用存儲器26時,它們才被導向到相關的總線控制器,而一但傳輸結束,共用存儲器26將被立即釋放。
圖6示出了本發明的奇偶校驗誤差檢測方法。在一條16-位總線上,對每八位存在一個單獨的位奇偶校驗檢測。在一個一位奇偶校驗碼中,計算一個數據字中二進制“1”的個數。如果“1”的個數為奇數,則該字具有奇數奇偶校驗;反之則具有偶數奇偶校驗。當一個字被寫入存儲器中時,該奇偶校驗位亦被寫入。當該字被讀出時,該奇偶校驗位也被讀出并被檢驗。如果所儲存的和被檢測出的奇偶校驗位不匹配,則檢測到一個誤差。一個一位奇偶校驗碼最多能夠檢測數據項目中的一位誤差。
如圖6所示,現用SPU的局部CPU向現用SPU的總線控制器發送數據。此數據然后被發送給被指定接收此信息的從屬總線控制器。該從屬設備則檢查系統總線I/O ACK寄存器(圖5B),使B6位被置為“1”,指示從SPU接收的數據上有一奇偶校驗誤差。如果B6為“0”,則表明無誤差。
如果檢測到一奇偶校驗誤差,從屬總線控制器則試圖終止通信路徑。但是,由于該信號仍然是有效的(即,即使當SPU訪問總線12時READA信號曾被撤銷,但地址選通仍然有效),所以現用SPU的總線控制器將試圖在同一信道上重新發送信息給從屬總線控制器(在此地址選通現在被撤銷)。
如果有任何傳輸誤差存在,驅動器將丟失信息包,于是通知網絡管理系統(NMS)。上級IPC協議(發送控制協議-TCP)將檢測丟失的信息包并從這些誤差中加以恢復。因此,采用IPC系統總線的所有應用,必須利用由系統IPC所提供的服務,以保證可靠的傳輸。
盡管以上結合一些實施例對本發明進行了描述,但本領域的熟練技術人員將能認識到,在所附權利要求書的精神與范圍之內,也可以通過一些修改來實現本發明。
權利要求
1.一種用于模塊間通信的系統總線體系結構,包括一條底板總線;與所述底板總線相通的一存儲器裝置,用于儲存數據;多個寄存器,用于控制對所述存儲器裝置的訪問;一個主系統處理器模塊,其通過一個主總線控制器與所述底板總線連接,所述主系統處理器模塊具有一選擇性地與所述主總線控制器相通的中央處理單元;多個從屬模塊,其通過一從屬總線控制器與所述底板總線相連接,每一所述從屬模塊都具有一個選擇性地與所述從屬總線控制器相通的從屬中央處理單元;所述主、從總線控制器選擇性地與所述存儲器裝置、所述多個寄存器、各自的中央處理單元相通,以便通過所述底板總線發送和接收數據。
2.如權利要求1的系統,其特征在于,所述主模塊是一個現用系統處理器單元。
3.如權利要求1的系統,其特征在于,所述從屬模塊是一個備用系統處理器單元。
4.如權利要求1的系統,其特征在于,所述從屬模塊從由一系統接口單元、一系統交換單元、及一系統時鐘單元構成的組中選出。
5.如權利要求1的系統,其特征在于,所述存儲器裝置是共用靜態隨機存取存儲器(SRAM)。
6.如權利要求1的系統,其特征在于,所述多個寄存器包括請求、確認、中斷及完成寄存器。
7.一種在具有底板總線的系統總線體系結構中進行主-從模塊通信的方法,所述系統總線體系結構帶有一個由多個寄存器控制的共用存儲器單元、一個具有主總線控制器存儲器單元和主中央處理單元的主模塊、以及至少一個具有從屬總線控制器和從屬中央處理單元的從屬模塊;所述方法包括以下步驟通過所述主中央處理單元請求對從屬模塊的訪問;確定該從屬模塊是否可訪問;接收對該從屬模塊可訪問的確認;訪問所述共用存儲器以在所述主模塊與從屬模塊之間進行數據傳輸;以及通過所述主中央處理單元指示所述數據傳輸已經完成。
8.如權利要求7的方法,其特征在于,所述請求步驟通過與一個第一寄存器相通信來執行。
9.如權利要求8的方法,其特征在于,所述確認步驟通過主總線控制器與一個第二寄存器相通信來執行。
10.如權利要求9的方法,其特征在于,所述指示步驟通過與一個第三寄存器相通信來執行。
11.如權利要求7的方法,其特征在于,所述數據傳輸是讀出過程和寫入過程之一。
12.一種在具有底板總線的系統總線體系結構中進行從-主模塊通信的方法,所述系統總線體系結構帶有一個由多個寄存器控制的共用存儲器單元、一個具有主總線控制器存儲器單元和主中央處理單元的主模塊、以及至少一個具有從屬總線控制器和從屬中央處理單元的從屬模塊,所述方法包括以下步驟通過所述從屬中央處理單元請求對主模塊的訪問;確定該主模塊是否可訪問;接收對該主模塊可訪問的確認;訪問所述共用存儲器以在所述從屬模塊與主模塊之間進行數據傳輸;以及通過所述從屬中央處理單元指示所述數據傳輸已經完成。
全文摘要
一種模塊間通信的系統總線體系結構,包括具有相關存儲器和多個控制寄存器的底板總線。一主系統處理器模塊經主總線控制器與底板總線相連,并含有選擇性地與主總線控制器相通的中央處理單元。多個從屬模塊經各自的從屬總線控制器與底板總線相連,并各帶有一選擇性地與從屬總線控制器相通的從屬中央處理單元。主、從總線控制器選擇性地與總線存儲器、多個寄存器、及相應中央處理單元相通,以通過底板總線發送和接收數據。
文檔編號H04L12/403GK1143775SQ9610684
公開日1997年2月26日 申請日期1996年6月4日 優先權日1995年6月7日
發明者Y·I·金, K·B·康, Y·C·陳, J·K·李 申請人:三星電子株式會社