專利名稱:對主裝置和輔助裝置的數據總線授權的均衡方法和設備的制作方法
技術領域:
本發明總的說來涉及接原始數據總線的裝置和接輔助數據總線的裝置的原始數據總線使用權的授予,更具體說,涉及接原始和輔助數據總線的兩裝置的總線授權的均衡。
計算機的包括外圍裝置在內的各種組成部分之間的聯系一般是通過總線進行的。在任一給定總線周期,只有一個裝置(即主裝置)可通過總線進行聯系。因此,想進行數據事務處理的裝置,在進行事務處理之前必須事先請求和獲得授予總線使用權。
在一般的系統中,主裝置在數據事務處理完畢之前是不會放開總線的。但在某些情況下,主裝置可能被迫放棄對總線的控制權。這種情況可能發生在另一個裝置要求總線控制權時。總線仲裁程序若決定將總線的使用權轉授予提出請求的裝置,就會從主裝置撤回授權并將控制權授予提出請求的裝置。在此情況下,主裝置在放開總線之前只有一個周期。
迄今研制出的能高效利用總線的系統有外圍組件互連(PCI)系統。在PCI系統中,各裝置都配置有延遲計時器和預定的延遲值。有關PCI系統的詳細說明可參看1995年PCI專業組2.1修訂版的PCI局部總線規程,這里也把該規程包括進來。PCI系統的實例如
圖1所示。
所舉的PCI系統實例有一個處理器100和一個主橋115,處理器100接系統存儲器110,主橋115從局部總線105分接出來。裝置125、130、135、140和PCI-PCI橋145通過主PCI總線120接主橋115。裝置155、160、165和170通過輔助PCI總線150接PCI-PCI橋145。系統中的裝置(即裝置125、130、135、140、155、160、165和170)可以是下列任何裝置圖形適配器、通信適配器、網絡適配器、小型光盤、軟盤、硬盤驅動器等。
主橋115按循環模式仲裁總線120控制權應授予下列裝置中的哪一個裝置125、130、135、140和PCI-PCI橋145。同樣,PCI-PCI橋145以循環模式仲裁總線150的控制權應授予下列裝置中的哪一個裝置155、160、165和170。舉例說,假設主總線120的控制權以反時針的順序授權,并假設裝置140是目前的主裝置,則若PCI-PCI橋145和裝置125都同時請求授予主總線120的控制權,裝置125就會在控制權授予PCI-PCI橋145之前先得到主總線120的授權。PCI-PCI橋145每當裝置155、160、165和170中的某一個擬與主總線120上的一個裝置或者與處理器100或系統存儲器110進行數據事務處理時就請求主總線120的控制權。
上面說過,各PCI裝置包括PCI-PCI橋145在內都有一個延遲計時器,以確定裝置無論數據傳輸是否完成都必須放棄總線控制權的時間。當然,若數據傳輸在延遲時間過去之前完成,裝置就會在那時放棄總線的控制權。在任何情況下,總線的控制權被主裝置放棄時,仲裁體制中下一個提出請求的裝置就會被授予總線的控制權,從而成為新的主裝置。若系統中的所有裝置都不斷請求主總線120的控制權(最壞情況),則總線120上的裝置每過n個仲裁周期就會獲得總線的控制權,其中n是裝置的數目,包括接總線120的PCI-PCI橋在內。但輔助總線150上的裝置只有當每次主橋115授予PCI-PCI橋145總線120的控制權時才擁有總線控制權。就是說,PCI-PCI橋145每次獲得總線控制權時總使裝置155、160、165和170中不同的一個裝置擁有總線120。因此,輔助總線150上的裝置每(n×m)個仲裁周期會擁有主總線120的所有權,其中m為輔助總線150上裝置的數目。
某些裝置,例如通信適配器,其延遲要求是固定的,就是說,這些裝置有一個緩存器在總線控制權授予裝置之前臨時儲存固定量的數據。若超過延遲要求(即若緩存器在裝置實際被授予總線控制權之前就滿額),則會產生超限差錯(即新數據可能會在緩存器中復制到現有數據上)。這個差錯發生在接輔助總線150的裝置上的可能性大些,因為這些裝置每(n×m)個仲裁周期就會被授予主總線120的控制權。為從這個差錯恢復原狀,裝置必須請求存于緩存器的數據的原裝置重新發送數據。此外,各裝置若被迫在數據事務處理過程中放棄主總線120,就必須重新起動傳輸周期,從而對系統性能產生不良影響。
此外,如上面說過的那樣,主總線120上的裝置擁有總線所有權的頻度比總線150上的裝置高。因此,輔助總線150上裝置的吞吐量顯著小于主總線120上裝置的吞吐量(吞吐量是在一定時間內傳輸的數據量)。
因此,技術上需要有一種均衡主總線120上裝置和輔助總線150上裝置間對主總線120的所有權的設備和方法。
本發明即解決了技術上的上述需要。本發明提供了一種用以均衡對多個主裝置和輔助裝置主總線授權的方法和設備。這種設備有一個主總線橋和一個輔助總線橋,主總線橋用以仲裁主總線的控制權應授予接主總線的多個主裝置中的哪一個主裝置,輔助總線橋用以仲裁主總線的控制權應授予接輔助總線的多個輔助裝置中的哪一個輔助裝置。為均衡主總線控制權對主裝置和輔助裝置的授予,配置了一個邏輯裝置。
圖1是PCI系統的方框圖。
圖2是采用本發明的計算機系統的方框圖。
圖3是采用本發明的計算機系統更詳細的方框圖。
圖4是本發明中使用的控制狀態機的狀態圖。
圖5是本發明中使用的仲裁狀態機的狀態圖。
圖6是本發明使用PCI橋和ISA橋的計算機系統的詳細方框圖。
圖7是使用PCI橋和ISA橋時控制狀態機的狀態流程圖。
圖2是采用本發明的計算機系統的方框圖。這種計算機可以取例如IBM公司銷售的RS/6000系統之類的工作站的形式,但本發明并不限于此,還可適用于基本上為任何計算機的系統。
盡管如此,圖2由圖1連同邏輯電路175構成。邏輯電路175接輔助總線150上的各裝置以及PCI-PCI橋145和主橋115。邏輯電路175用以確保PCI-PCI橋145一旦被授予主總線120的控制權時,在輔助總線150上所有提出請求的裝置請求得到滿足之前保留對總線的控制權。因此,就確保了總線120和150上的裝置每(n+m-1)個仲裁周期可以使用總線120,而不是象對主總線120上的裝置那樣為每n個仲裁周期和象對輔助總線150上的裝置那樣為每(n×m)個仲裁周期可以使用總線120。
圖3是采用本發明的計算機系統更詳細的方框圖。從圖3中可以看到,邏輯電路175由仲裁狀態機310和控制狀態機320彼此連接組成。仲裁狀態機310還通過接輔助橋150的各裝置相應的選通請求線路接PCI-PCI橋145。控制狀態機320接裝置155、160、165和170的請求線路。控制狀態機320還通過存儲確認(memack)線路和存儲請求(memreg)線路接主橋115。存儲請求線路肯定阻止處理機100使用主總線120的要求。主橋在一旦處理機100被禁止使用總線120時則肯定“存儲確認”。
裝置125、130、135、140和邏輯電路175各通過請求線路和授權線路接主橋115。如銷后即將更全面說明的那樣,控制狀態機320用以確保總線120的授權,仲裁狀態機310用以控制輔助總線150上提出請求的裝置對總線的請求。
圖4是控制狀態機320的狀態圖。在步驟400,控制狀態機320處于空閑狀態或狀態0。這表明去圖3的主橋115的“存儲請求”和“請求”(圖中以“請求”5表示)信號都被否定。在步驟405,確定裝置155、160、165和170的任何一個是否要求主總線120的控制權。若答案是否定的,則控制狀態機320仍然處于空閑狀態,程序返回到步驟400。若答案是肯定的,則控制狀態機320通過肯定存儲請求信號而轉入狀態1。在步驟415。確定主橋115是否根據存儲請求信號已給控制狀態機320發送存儲確認信號。若未發送,則控制狀態機320不轉入狀態2,程序返回到步驟410。若已發送,則控制狀態機320通過肯定請求5信號而轉入狀態2(步驟420)。在步驟425,確定主橋115是否已通過肯定授權5將總線120的控制權授予控制狀態機320。若未授予,則控制狀態機仍然處于狀態2。若已授予,控制狀態機320就轉入狀態3。在狀態3,控制狀態機320通知仲裁狀態機310它擁有主總線120。通知時,仲裁狀態機310提出選通請求X(gregx),其中X對應于將授予總線120使用權的提出請求的裝置。授予總線使用權時,裝置的數據事務處理過程就結束了。在步驟435,確定仲裁狀態機310是否已全部完成其仲裁周期。若尚未完成,則控制狀態機320停留在狀態3。在仲裁狀態機310恢復到其空閑狀態之前,控制狀態機一直處于狀態3。仲裁狀態機310已恢復到其空閑狀態時,控制狀態機320就恢復到空閑狀態或狀態0,且否定存儲請求和請求5信號。
圖5是仲裁狀態機310的狀態圖。在狀態0時,仲裁狀態機310處于空閑狀態。狀態1、2、3和4相當于分別授予裝置155、160、165和170總線的使用權。狀態5可供系統中另一個橋用。這個橋可以是另一個PCI橋、工業標準體系結構(ISA)橋、擴充的工業標準體系結構(EISA)橋或微信道橋(微信道是國際商用機器公司的一個商標)。
如圖中所示,仲裁狀態機310按反時針方式工作。但仲裁狀態機310只有在所有裝置已請求使用總線時才會進入所有狀態。應該指出的是,各狀態相當于給某一裝置提供服務。舉例說,假設裝置170、160和165按此順序請求使用總線120,則一接到控制狀態機320已獲授權使用總線的通知,仲裁狀態機310就會從步驟500(狀態0)進入步驟520(狀態2)。在狀態2,仲裁狀態機310給PCI-PCI橋145發送請求裝置2選通,即選通請求2的信號。于是,PCI-PCI橋145就將總線的使用權授予裝置2(即裝置160)。但在狀態2,裝置155若表達其希望使用總線120的愿望,則在下一個主總線仲裁周期之前是不能允許的,因為仲裁狀態機310只有通過狀態0才能從狀態2進入狀態1。數據事務處理周期終了之后,仲裁狀態機310會轉入狀態3(步驟530)依次伺候裝置165,再轉入狀態4伺候裝置170。狀態4之后,仲裁狀態機310會轉入狀態0(步驟500)。控制狀態機320自己恢復到空閑狀態之前,仲裁狀態機310仍然處于狀態0。這樣,可防止仲裁狀態機310在每一個主仲裁總線周期伺候輔助總線150上各裝置的次數多于一次。
工作時,輔助總線150上的裝置想使用主總線120時,就給邏輯電路175中的控制狀態機320發出請求。于是,控制狀態機320給主橋115發送“存儲請求”。主橋115已阻止處理器100使用主總線120時,給控制狀態機320發送“存儲確認”。這時,邏輯電路175通過肯定其接主橋115的請求信號(請求5)請求使用主總線120。主橋115確定輪到邏輯電路175使用主總線120時,就通過肯定接邏輯電路175的授權信號(授權5)授予總線的使用權。控制狀態機320一旦檢測出授權信號,就通知仲裁狀態機310它現在已擁有總線120。接著,仲裁狀態機310給PCI-PCI總線145發送適當的仲裁請求電平。于是,PCI-PCI總線145將總線120的使用權授予適當的裝置。
前面說過,邏輯電路175擁有總線120時,所有接總線150的提出請求的裝置都有使用總線的機會。授予各提出請求的裝置總線使用權之后,邏輯電路175就放異對總線的擁有權。
有時候,總線120上還接有另外的橋。舉例說,圖6中,裝置180是個ISA橋且假設其ISA總線上接有ISA裝置(圖中未示出)。ISA橋想擁有主總線120時,就通過給邏輯電路175發送ISA橋請求185表達其希望這樣做的愿望。邏輯電路175獲得總線所有權且已授予所有接輔助PCI總線150的提出請求的裝置總線使用權時,就將總線的控制權傳給ISA橋180。
圖7是控制狀態機320伺候PCI-PCI橋145和ISA橋180時的狀態流程圖。在步驟700,控制狀態機320處于空閑狀態或狀態0。在步驟705,確定裝置155、160、165、170中任何一個是否提出使用主總線120的請求。若沒有提出,則控制狀態機320仍然處在空閑狀態,程序返回到步驟700。若已提出,控制狀態機就通過肯定存儲請求信號而轉入狀態1(步驟710)。在步驟715,確定主橋是否已給控制狀態機320發送存儲確認信號。若未發送,控制狀態機320就不轉入狀態2,程序返回到步驟710。若已發送,控制狀態機320就通過肯定請求5信號而轉入狀態2(步驟720)。在步驟725,確定主橋是否已通過肯定授權5而授予控制狀態機320總線使用權。若未授予,控制狀態機就仍然處于狀態2。若已授予,則在步驟730確定輔助總線150上是否有任何一個裝置請求使用主總線120。若有,控制狀態機就轉入狀態5(步驟735)。若沒有,控制狀態機320就必須借助ISA橋180解除其空閑狀態。
在狀態5,控制狀態機320通知仲裁狀態機310它擁有主總線120。在步驟740,確定仲裁狀態機310是否已完成其仲裁的整個周期。若未完成,則控制狀態機320就停在狀態5。若已完成,則確定ISA橋180是否有正在提出請求的線路(步驟745)。若沒有,控制狀態機320就恢復到其空閑狀態。若有,控制狀態機320就通過授予ISA橋180總線120的使用權而轉入狀態6(步驟750)。在步驟755,確定ISA請求是否已撤消。若未撤消,控制狀態機320就仍然處在狀態6。若已撤消,控制狀態機320就恢復到其空閑狀態。
若在步驟730中經確定輔助總線150上的裝置都沒有請求授予主總線120的使用權,則確定ISA橋180是否請求使用主總線120(步驟760)。若不請求,控制狀態機320就恢復到空閑狀態。若請求,控制狀態機320就轉入狀態3(步驟770)。在狀態3,控制狀態機320授予ISA橋180總線120的使用權。控制狀態機320在ISA請求撤消之前仍然處于狀態3(步驟780)。撤消ISA請求時,確定接輔助PCI總線150的任何一個裝置是否要求使用主PCI總線120(步驟790)。若沒有,控制狀態機恢復到空閑狀態。若有,控制狀態機320就轉入狀態4(步驟800)。狀態4與上一段所討論的狀態5相當。控制狀態機在仲裁狀態機310進入其空閑狀態之前一直處在狀態4。一旦仲裁狀態機310進入空閑狀態,控制狀態機則恢復到其空閑狀態(步驟810)。
總之,若在伺候輔助總線150上的裝置時ISA橋180提出使用主總線120的請求,邏輯電路175就伺候ISA橋180然后放棄對總線120的所有權。同樣,若在伺候ISA橋180時接輔助總線150的一個或所有裝置請求授予總線120的使用權時,邏輯電路175就伺候各裝置然后放棄對總線120的所有權。在上述各情況下,系統承擔有關的內務操作(即肯定存儲確認,等待存儲請求,核實請求5和授權5等),只一次借助邏輯電路175挪用總線20,因而系統性能大在提高。
雖然上面就一些具體實施例全面說明了本發明,但其它一些實施例對本技術領域的普通技術人員來說也是顯而易見的。舉例說,仲裁狀態機310可以不按反時針方式伺候各裝置。儲存在寄存器中的編碼數據可用來跟蹤在各現行主總線仲裁周期被伺候的各裝置。例如,編碼數據的第一位元可對應于第一裝置,第二位元對應于第二裝置,如此類推。在伺候任何裝置之前,編碼數據的所有位元可初始化為0。伺候某一裝置時。對應于該裝置的位元可以置1。這樣就可以使裝置以任何順序發出使用總線120的請求,且只要邏輯電路175控制著總線都可在現行主總線仲裁周期使用總線120。所有提出請求的裝置在現行主總線仲裁周期都已接受一次伺候之后,仲裁狀態機310就可以恢復到其空閑狀態。
因此,上述說明不應視為對本發明在所附權利要求書中所述范圍的限制。
權利要求
1.一種對多個主裝置和多個輔助裝置的總線授權的均衡設備,其特征在于包括第一仲裁裝置,用以仲裁所述總線使用權給所述多個主裝置的第一授權,所述多個主裝置接所述第一仲裁裝置;第二仲裁裝置,用以仲裁所述總線使用權給所述多個輔助裝置的第二授權,所述多個輔助裝置接所述第二仲裁裝置;均衡裝置,接所述第一和第二仲裁裝置,用以均衡所述第一和所述第二授權。
2.如權利要求1所述的設備,其特征在于,所述均衡裝置包括控制裝置,用以請求和從所述第一仲裁裝置接收所述總線的控制權;和授權裝置,用以將所述總線的使用權授予所述輔助裝置。
3.如權利要求2所述的設備,其特征在于,所有要求使用所述總線的輔助裝置在所述總線的控制權歸還所述第一仲裁裝置之前都被授予所述總線的使用權。
4.如權利要求3所述的設備,其特征在于,在請求所述總線的控制權之前,所述控制裝置請求和接收證實使用所述總線的處理器已被禁止使用。
5.如權利要求4所述的設備,其特征在于,所述授權裝置包括請求裝置,用以請求所述第二仲裁裝置依次向各提出請求的裝置授予所述總線使用權。
6.如權利要求5所述的設備,其特征在于,還包括第三仲裁裝置,用以仲裁所述總線使用權給多個第三裝置的第三授權,所述第三仲裁裝置向所述均衡裝置請求授予所述總線使用權。
7.一種對多個主裝置和多個輔助裝置的總線授權的均衡方法,其特征在于包括下列步驟仲裁所述總線使用權給所述多個主裝置的第一授權;仲裁所述總線使用權給所述多個輔助裝置的第二授權;均衡所述第一和所述第二授權。
8.如權利要求7所述的方法,其特征在于,所述均衡步驟包括下列步驟請求和從所述第一仲裁裝置接收所述總線的控制權,和授予所述輔助裝置所述總線的使用權。
9.如權利要求8所述的方法,其特征在于還包括以下步驟在所述總線的控制權歸還所述第一仲裁裝置之前授予所有想使用所述總線的輔助裝置所述總線使用權。
10.如權利要求9所述的方法,其特征在于還包括以下步驟請求和接收證實使用所述總線的處理器在所述請求和接收步驟之前已被禁止使用。
11.如權利要求10所述的方法,其特征在于,所述授權步驟包括請求所述第二仲裁裝置依次授予各提出請求的裝置所述總線使用權的步驟。
12.如權利要求11所述的方法,其特征在于還包括仲裁所述總線使用權給多個第三裝置的第三授權的步驟,所述仲裁所述第三授權的步驟包括請求授予所述總線使用權的步驟。
全文摘要
一種對多個主裝置和輔助裝置的主總線授權的均衡設備,包括主總線橋和輔助總線橋,主總線橋用以仲裁主總線的使用權給多個接主總線的主裝置的授權,輔助總線橋用以仲裁主總線的使用權給多個接輔助總線的輔助裝置的授權。為均衡主總線使用權給主裝置和輔助裝置的授權,配置了一個邏輯裝置。
文檔編號G06F13/40GK1184973SQ97122269
公開日1998年6月17日 申請日期1997年11月8日 優先權日1996年12月10日
發明者S·R·巴恩哈特, A·S·河阿, K·L·沃德 申請人:國際商業機器公司