国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于計算機系統(tǒng)的雙模式總線橋的制作方法

      文檔序號:6418768閱讀:295來源:國知局
      專利名稱:用于計算機系統(tǒng)的雙模式總線橋的制作方法
      本申請是1995年12月27日的提交的美國專利申請08/579,297,標題為“在主機總線和個人計算機接口總線之間的雙模式總線橋”的部分繼續(xù)再申請,該申請的內容在此引用作為參考。本發(fā)明背景技術一般而言,本發(fā)明涉及計算機總線系統(tǒng);具體而言,它涉及互連主機總線和外部總線(如外圍組件接口(PCI)總線)之間的橋接或接口元件。
      外圍組件接口總線系統(tǒng)在個人計算機中,尤其是配置為文件服務器的個人計算機中的應用越來越廣泛。根據PCI專用組建立的協議,外圍組件接口總線可以配置成高性能和高帶寬的總線。
      在采用外圍組件接口總線的典型的計算機系統(tǒng)中,在計算機系統(tǒng)的外圍組件接口總線和主機總線之間提供了一個外圍組件接口到主機的總線橋。提供該總線橋的部分目的是便于把外圍組件接口格式的數據轉換成主機總線采用的格式。許多外圍組件接口到主機的總線橋配置成只容納32位外圍組件接口總線。其他的總線橋則配置成要么只能容納64位外圍組件接口總線要么只能容納32位外圍組件接口總線。因此,為了容納多于一個外圍組件接口總線,就需要附加外圍組件接口到主機總線橋。對許多計算機系統(tǒng),尤其是文件服務器計算機系統(tǒng),必須容納大量的外圍組件接口總線。每個外圍組件接口總線都需要一個總線橋的傳統(tǒng)配置方法的靈活性較差。而且,許多現有技術的主機總線對掛接在總線上的計算機(比如總線橋)的數目高度敏感。由于每個元件的電子負載問題,這些總線所允許的時鐘速率通常與連接到主機總線上的元件數目成反比。因此,將其他總線橋連接到主機總線導致最大允許時鐘速率的降低,進而降低了系統(tǒng)的總體性能。結果,連接附加外圍組件接口總線橋使得所允許的最大時鐘速率降低導致了嚴重阻礙整體計算機系統(tǒng)性能的地步。
      因此,有必要開發(fā)更靈活的技術將外圍組件接口總線連接到主機總線,而不給主機總線帶來額外的電子負載。
      本發(fā)明的簡要描述根據本發(fā)明的一個實施例提供了把第一和第二總線接口到第三總線的總線橋。該總線橋可以配置成獨立模式或組合模式。在獨立模式下,第一和第二外部總線獨立操作;在組合模式下,第一和第二外部總線組合起來創(chuàng)建一個單獨的總線。根據本發(fā)明的另一個實施例,該總線橋包括兩個數據隊列,第一數據隊列和第二數據隊列。第一數據隊列在第一外部總線和第三總線之間轉發(fā)數據,第二數據隊列在第二外部總線和第三總線之間轉發(fā)數據??偩€橋還包括耦合到第一和第二數據隊列上的控制器。在獨立模式下,該控制器并行操作第一和第二數據隊列;在組合模式下,控制器通過第一數據隊列轉發(fā)偶數地址的數據,通過第二數據隊列轉發(fā)奇數地址數據。
      附圖的簡要描述

      圖1的方框圖描述了根據本發(fā)明實施例的計算機系統(tǒng);
      圖2的方框圖描述了根據本發(fā)明實施例的總線擴展橋;以及圖3的方框圖進一步描述了圖2中根據本發(fā)明實施例的總線擴展橋的細節(jié)。
      本發(fā)明詳細描述參考附圖,其中,同樣的數字標識同樣的元件。圖1的方框圖描述了根據本發(fā)明的實施例的計算機系統(tǒng)。計算機系統(tǒng)8包括多個處理器10,20,30,和40。多個處理器連接到計算機系統(tǒng)8的主機總線60。內存子系統(tǒng)110通過線50連接到主機總線60,該子系統(tǒng)包括內存(比如動態(tài)隨機訪問存儲器)和相關的控制邏輯。計算機系統(tǒng)8還包括內存和輸入/輸出(I/O)橋控制器(MIOC)100,它連接到主機總線60,用于在一個或多個I/O總線(或其它外部總線)和內存子系統(tǒng)110與主機總線60之間接口。盡管在圖1中MIOC 100畫成一個單獨的方框或組件,但MIOC 100可以分別由分離的內存控制器和分離的I/O橋控制器組成。
      計算機系統(tǒng)8還包括連接到MIOC 100的多個總線擴展橋80,用于將一個或多個外部總線接口到主機總線60。根據圖1所示的實施例,兩個總線擴展橋80A和80B通過擴展總線70A和70B被分別連接到MIOC 100。盡管只有兩個總線擴展橋80A和80B被連接到MIOC 100,但實際上可以有連接到MIOC 100的任何數目的總線擴展橋80(如80A,80B,80C,80D)。
      每個總線擴展橋80包括多個外圍組件接口,其中,每個外圍組件接口提供到外圍組件接口總線的連接或接口。在圖1所示的實施例中,每個總線擴展橋80A和80B都包括兩個外圍組件接口,用以容納兩個外圍組件接口總線90A和90B。擴展總線70A和70B以及外圍組件接口總線90A和90B都是雙向總線。多個外圍組件接口擴展槽92被連接到每個外圍組件接口總線90,以允許一個或多個外圍組件接口裝置插入或連接到每個外圍組件接口總線90。各種類型的外圍組件接口裝置或適配器可以插入外圍組件接口擴展槽92,比如與外圍組件接口兼容的硬盤驅動器、圖形卡、和磁帶裝置等。
      根據本發(fā)明,一個或多個總線擴展橋80可以通過MIOC 100耦合到主機總線60。但是,MIOC 100只對主機總線60施加了一個單獨的電子負載。因此,本發(fā)明的總線擴展橋80允許多個外部總線(比如,PCI總線)連接到主機總線60上,而又不降低主機總線的性能。因為對主機總線60來說,多個外部總線就象是一個單獨的電子負載。
      盡管在本發(fā)明的一個實施例中,每個擴展橋80A和80B都提供了外圍組件接口總線的接口,但本發(fā)明的擴展橋80A和80B可以選擇性的連接其它類型的外部總線。因此,本發(fā)明的總線擴展橋80并沒有局限于外圍組件接口總線接口。
      根據本發(fā)明的一個實施例,每個總線擴展橋80提供兩個獨立的32位,33MHZ,Rev.2.1兼容的外圍組件接口。根據外圍組件接口標準,每個外圍組件接口接口需要對應總線的50路信號,加上12路附加的仲裁和支持信號。每個總線擴展橋80在外圍組件接口總線90A和90B與擴展總線70A和70B之間提供主控制和數據接口。每個總線擴展橋80包括外圍組件接口端口以容納多個外圍組件接口總線,如圖1所示。另外,每個總線擴展橋80也可以配置成把多個外圍組件接口總線組合起來提供增加了帶寬的單一外圍組件接口總線。
      根據本發(fā)明的一個實施例,每個總線擴展橋80可以配置成提供兩個獨立的32位外圍組件接口總線(獨立32位模式),或者把兩個32位外圍組件接口總線90A和90B組合以獲得單一的64位外圍組件接口總線(組合64位模式)。因此,本發(fā)明的總線擴展橋80提供了改善的靈活性,因為每個總線擴展橋80可以配置成容納不同大小的總線。
      使用各種不同的技術,每個總線擴展橋80可以被配置成獨立32位模式或組合64位模式。比如,使用跳線設置64位模式引腳輸入狀態(tài)為總線橋80,對總線橋80中的燒入的一個或多個硅芯片編程,或者通過處理器10初始化總線橋80。
      在實際操作中,經過計算機系統(tǒng)8的各種不同的事務流包括處理器10(或其它處理器)與連接到外圍組件接口總線90A和90B上的外圍組件接口裝置之間的事務流,處理器10和內存子系統(tǒng)110之間的事務流,以及不同外圍組件接口裝置之間的事務流等。
      根據本發(fā)明的一個實施例,通過主機總線60和擴展總線70A和70B之間的總線事務是全分離事務,它們由請求包和完成包組成。有兩種類型的事務讀事務和寫事務。請求包激發(fā)一個事務。完成包用于返回的數據(只對讀請求而言),以指出事務在目的裝置已經完成,并重新分配緩沖區(qū)或隊列資源。
      信息包由多個32位長的字(又稱為雙字或Dword)組成。每個包由標題和數據區(qū)組成,標題包括地址和控制信息。包的標題由一個或多個字組成,包括命令(讀或寫),地址信息,標識事務的事務ID,路由信息,和附加的控制信息。包的數據區(qū)可以包括一個或多個數據字。完成包內有對應原始請求的事務ID,說明事務已經完成的指示信息,以及其它控制信息。讀完成包還包括響應讀請求所接收到的請求的數據(如果有)。寫完成包不含有數據,但指示寫操作已經成功完成。
      計算機系統(tǒng)8中的事務可以分為入站事務和出站事務兩類。入站事務是由連接到總線90A或90B的外圍組件接口主方激發(fā)的事務。比如,按外圍組件接口主方運行的外圍組件接口裝置可以激發(fā)對內存子系統(tǒng)110的入站讀操作。出站事務是由處理器10所激發(fā)的事務,該事務被導向到連接在外圍組件接口總線90A或90B的裝置。比如,出站事務可以包括連接到外圍組件接口擴展槽92的硬盤驅動器的處理器讀操作。
      圖2的方框圖描述了根據本發(fā)明的實施例的總線擴展橋。如圖2所示,總線擴展橋80A用于連接擴展總線70A到外圍組件接口總線90A和90B??偩€橋80A分為兩個明顯不同的部分(A-部分和B-部分),每個部分服務于一個在獨立32位模式下的32位外圍組件接口總線(90A或90B)。有一個通用擴展總線控制器235同時服務于總線擴展橋80A的兩個部分。
      下面簡要敘述總線擴展橋80A的每個部分的特定元件或組件。如圖所示,總線擴展橋80A的兩個部分完全是相同的。如圖2所示,兩個部分的對應元件的數字標識是一致的。為了區(qū)分總線擴展橋80A的A部分和B部分,在A部分的相同元件的數字標識以字母“A”結束,在B部分的相同元件的數字標識以字母“B”結束。
      總線擴展橋80A的每個部分都包括幾個隊列來存放地址和控制信息以及數據出站事務隊列(OTQ)205用于存放出站讀寫請求和入站讀完成包的地址和控制信息;出站寫數據隊列(OWDQ)210用于存放出站寫數據;出站讀數據隊列(ORDQ)215用于存放出站讀數據;入站事務隊列(ITQ)220用于存放入站讀寫請求和出站完成包的地址和控制信息;
      入站寫數據隊列(IWDQ)225用于存放入站寫數據;兩個入站讀數據隊列(IRDQ)230用于為兩種不同的讀完成存放入站讀數據。
      如圖2所示,總線擴展橋80A的每個部分還包括六個控制器負責控制上述隊列的操作??偩€擴展橋80A還包括一個擴展總線控制器235,該控制器對兩個部分通用。具體而言,總線擴展橋80A的每個部分包括出站事務控制器240負責OTQ205、OWDQ210、和ORDQ215的裝載和卸載;入站事務控制器245負責ITQ220、IWDQ225、和IRDQ230的裝載和卸載;主總線控制器250在出站事務控制器250和外圍組件接口總線的出站事務之間接口;目標總線控制器255在入站事務控制器245和用于入站事務的外圍組件接口總線之間接口;出站包控制器270用于從擴展總線控制器235接收出站包并轉發(fā)包到隊列;以及入站包控制器275用于從隊列轉發(fā)包到擴展總線控制器235。
      另外,一些多路復用器260用于選擇性地通過總線橋80A轉發(fā)的信息。
      圖3的方框圖進一步描述了圖2中根據本發(fā)明的實施例的總線擴展橋的細節(jié)。如上對圖2所述,總線擴展橋80A被分成兩個完全相同的部分,即A部分和B部分。每個部分包括一個隊列全集(如上)和六個控制器。
      如圖3所示,擴展總線控制器235包括接收邏輯305和發(fā)送邏輯310,接收邏輯305從擴展總線70A接收擴展總線包,發(fā)送邏輯310把擴展總線包發(fā)送到擴展總線70。擴展總線控制器235還包括多路復用器315,它連接到發(fā)送邏輯310的輸入端,用于從入站包控制器275A或入站包控制器275B中選擇信息。
      下面的描述(下兩段)適用于對總線橋80A的每個部分(包括A部分和B部分),除非具體指明是A部分或B部分。虛線(線426和432)和虛線多路復用器345不是總線橋80A的兩個部分都有的。圖3中的虛線或虛數據通道(線426和432)和虛線多路復用器345用于在組合64位模式下配置總線橋80A,這在后文中描述。
      接收邏輯305的輸出經過線409連接到兩個部分的OTQ 205,OWDQ 210和IRDQ 230的輸入。IRDQ 230(在每個部分)包括兩個IRDQ,表示為IRDQ0和IRDQ1。IRDQ 230的輸出通過線406和408到達多路復用器325的輸入端。多路復用器325的輸出通過線422(在A部分是In_Read_Data_A,在B部分是In_Read_Data_B)被連接到多路復用器330。多路復用器330的輸出通過線424(在A部分是Out_Data_A,在B部分是Out_Data_B)連接到多路復用器335。多路復用器335的輸出通過線428連接到緩沖區(qū)320。緩沖區(qū)320A連接到外圍組件接口總線90A,緩沖區(qū)320B連接到外圍組件接口總線90B。OWDQ 210的輸出通過線404(在A部分是Out_Write_Data_A,在B部分是Out_Write_Data_B)連接到多路復用器330。OTQ205的輸出通過線402(在A部分是Out_Adr_A,在B部分是Out_Adr_B)連接到多路復用器335。多路復用器330B的輸出通過虛線426(Out_64to32_Data)連接到多路復用器335A。
      線416(在A部分是In_Adr/Data_A,在B部分是In_Adr/Data_B)將緩沖區(qū)320的輸出連接到多路復用器340,ORDQ215,和IWDQ 225。OTQ 205的輸出(線402)通過線420(Out_Completion_A或者Out_Completion_B)連接到多路復用器340。多路復用器340的輸出通過線410到達ITQ 220的輸入。ITQ220,ORDQ 215,IWDQ 225的輸出被送到入站包控制器275的輸入端。入站包控制器275A和275B的輸出送到多路復用器315。
      在B部分提供多路復用器345接收如下的輸入,緩沖區(qū)320B的輸出(In_Adr/Data_B)和緩沖區(qū)320A(In_Adr/Data_A)通過虛線432(In_32to64_Data)的輸出。線416B是多路復用器345的輸出。
      下面通過描述幾個總線事務來說明總線擴展橋80A的的操作。(連接到MIOC的其它總線擴展橋80B、80C、80D等也可以象總線擴展橋80A一樣工作在獨立32位模式或組合64位模式)。
      獨立32位模式總線擴展橋只討論總線擴展橋80A的A部分的事務。但是,當總線橋80A工作在32位模式時,總線擴展橋B部分的與A部分是對稱的,其操作方式也是相同的。
      1.32位模式擴展橋入站讀(即從外圍組件接口主方讀內存子系統(tǒng)110)對入站讀操作,外圍組件接口裝置發(fā)布外圍組件接口讀事務。外圍組件接口讀事務由緩存區(qū)320A接收并傳送到目的總線控制器255A。目的總線控制器255A確定讀事務是有效的,解碼讀事務的目的地,然后傳送地址和目的信息到入站事務控制器245A(在讀請求包中沒有數據)。入站事務控制器245A產生包括事務ID的控制信息,并轉發(fā)指示該包來自哪個外圍組件接口部分(A部分或B部分)的信息。入站事務控制器245A格式化控制和地址信息(讀請求包)成擴展總線包,并把該地址和控制信息輸出到線416A,并通過多路復用器340A把地址和控制信息存放到ITQ220A。
      入站事務控制器245A產生ITQEnableA信號使能ITQ 220A存儲放置在線416A上的讀請求包的控制和地址信息。盡管ORDQ215A和IWDQ 225A也連接到線416A,但ORDQ 215A和IWDQ225A此時還保留在禁用狀態(tài),因此不會存儲輸出到線416A的包的地址和控制信息。(在獨立32位模式,入站事務控制器245B可以獨立產生ITQEnableB信號使能ITQ 220B)。擴展總線控制器235通過擴展總線70A輸出讀請求包到MIOC 100。當所請求的數據從內存子系統(tǒng)110可以獲得時,MIOC 100生成完成包,其中包括所請求的數據和讀完成(比如路由信息和事務ID之類的控制信息),并通過擴展總線70A發(fā)送完成包到總線擴展橋80A。
      擴展總線控制器235檢測完成包的控制信息(尤其是路由信息),以確定是否該包去往外圍組件接口A部分或B部分。完成包被定向到發(fā)出請求的同一側。擴展總線控制器235首先輸出完成包控制信息(包括事務ID)到線409。此時,如果包定向到A部分,控制器235產生OTQEnableA信號使能OTQ 205A(A部分),以便通過驅動線409存儲控制信息到OTQ 205A。同樣的,如果包定向到B部分,控制器235產生OTQEnableB信號,允許控制信息存儲到OTQ 205B(B部分)。該例假設請求包來自A部分,因此完成包被定向到A部分。
      下一步,擴展總線控制器235輸出所請求的數據到線409,存儲數據到包被定向到的那部分的兩個入站讀數據隊列(IRDQ0或IRDQ1)之一。OTQ 205A最大能夠存儲兩個讀完成(兩個不同的讀完成的地址和控制信息,包括事務ID,字個數,路由信息等)。與每個讀完成對應的數據存放在兩個IRDQ 230A(IRDQ0和IRDQ1)之一。根據本發(fā)明的一個實施例,IRDQ0可以存儲最多64個雙字,IRDQ1可以存儲32個雙字??刂破?35產生控制信號(IRDQ0 EnableA或IRDQ1 EnableA)使能一個IRDQ 230A存儲所請求的數據。同樣的,如果包被定向到B部分,就要為B部分IRDQ產生一個控制信號(IRDQ0 EnableB或IRDQ1 EnableB)。
      出站事務控制器240A讀OTQ 205A并檢測入站讀完成包。出站事務控制器240A轉發(fā)入站讀完成包到入站事務控制器245A,后者解碼事務ID,確定該數據屬于哪個讀請求。當總線擴展橋80A從外圍組件接口主方接收到對該事務的重復讀請求時(比如,與起始事務相同的地址但不同的控制信息),入站事務控制器245A輸出請求數據(在圖中示為In_Read_Data_A),從IRDQ0或IRDQ1230A到外圍組件接口總線90A,其中經過多路復用器325A,330A,和335A。入站事務控制器245A控制多路復用器325A選擇性的輸出存儲在IRDQ0或IRDQ1中的數據,目標總線控制器255A控制多路復用器330A和335A。IRDQ0可以存儲多達例如64個雙字,IRDQ1可以存儲多達32個雙字。讀完成的每個個雙字按連續(xù)時鐘周期輸出到外圍組件接口總線90A,直到來自特定IRDQ的所有數據被輸出或直到事務被外圍組件接口主方終止。
      2.32位模式擴展橋入站寫(即從外圍組件接口主方寫內存子系統(tǒng)110)擴展總線70上的地址和數據信號是復用的。同樣的,外圍組件接口總線90A和90B上的地址和數據信號也是多路復用的。對入站寫而言,外圍組件接口主方提供地址和控制信息,然后提供要寫的數據。在總線90A上的擴展總線橋80A按連續(xù)時鐘周期接收這些信息。外圍組件接口寫事務的地址和控制信息首先由外圍組件接口緩沖區(qū)320A接收并傳送到目標總線控制器255A。目標總線控制器255A確定寫事務是有效的,然后解碼寫事務的目的地并傳送地址和目標信息到入站事務控制器245A。入站事務控制器245A產生包括源和目的在內的控制信息,格式化地址和控制信息成為擴展總線包的格式,輸出地址和控制信息(在圖中示為In_Adr_A)到線416A,以便通過產生ITQEnableA信號并經由多路復用器340AITQ在220A中存儲該地址和控制信息。
      下一步,從外圍組件接口主方接收外圍組件接口寫事務的數據。入站事務控制器245A格式化該數據,然后存儲數據到IWDQ225A,其方法是輸出數據到線416A并產生IWDQEnableA信號使能IWDQ 225A。(在獨立32位模式和組合64位模式,入站事務控制器245B可以獨立的產生IWDQEnableB信號使能IWDQ225B)。
      擴展總線控制器235輸出來自ITQ 220A的地址和控制信息,然后輸出來自IWDQ 225A的數據,經過擴展總線70A傳輸到MIOC100。在數據被寫到內存子系統(tǒng)110之后,擴展總線控制器235收到來自MIOC 100的完成包。
      3.32位模式擴展橋出站讀(即從處理器10讀外圍組件接口目標)對出站讀,擴展總線控制器235接收來自MIOC 100的讀請求包。控制器235檢測包標題(地址和控制信息)來確定包被導向外圍組件接口A部分或B部分。然后轉發(fā)地址和控制信息到合適部分的OTQ。本例假設包定向到外圍組件接口A部分(總線90A)。擴展總線控制器235產生OTQEnableA信號使能OTQ 205A,存儲該地址和控制信息到OTQ 205A。出站事務控制器240A還格式化地址和控制信息為外圍組件接口格式。在擴展總線橋80A獲得外圍組件接口總線90A的所有權之后,主總線控制器250A經線402A(圖中所示為Out_Adr_A),多路復用器335,和緩沖區(qū)320A輸出來自OTQ 205A的地址和控制信息到達總線90A。地址和控制信息的一部分還經線420A(Out_Completion_A)轉發(fā)并存儲到出站事務控制器240A。然后,擴展總線橋80A輸出地址和控制信息到總線90A。
      外圍組件接口目標提供所請求的數據到總線90A上。出站事務控制器240A經線416A將所請求的數據存儲到ORDQ 215A,其方法是產生ORDQEnableA信號使能ORDQ 215A。使能ORDQ215A允許ORDQ 215A存儲線416A提供的數據。(在獨立32位模式和組合64位模式中,出站事務控制器240B能獨立的產生ORDQEnableB信號使能ORDQ 215B)。所有的數據被接收之后,出站事務控制器240A產生并經過線420A和多路復用器340A存儲讀完成包(控制和地址信息,包括事務ID,和字個數)到ITQ220A。ITQEnableA信號被產生并使能ITQ 220A存儲完成包(地址和控制信息)。完成包在圖中以Out Completion A的形式畫在線420A上。擴展總線控制器235從ITQ 220A輸出完成包(地址和控制信息)到擴展總線70A,然后輸出來自ORDQ 215A的所請求的數據。
      4.32位模式擴展橋出站寫(即從處理器10寫到外圍組件接口目標)對出站寫,擴展總線控制器235從MIOC 100接收寫請求包??刂破?35檢測包標題(地址和控制信息)來確定包是定向到外圍組件接口A部分或B部分(本例假設包定向到A部分)。然后通過輸出地址和控制信息到線409,轉發(fā)地址和控制信息到合適部分的OTQ。本例假設包定向到外圍組件接口A部分(總線90A)。擴展總線控制器235產生OTQEnableA信號使能OTQ 205A,以便存儲該地址和控制信息到OTQ 205A。下一步,控制器235輸出數據到線409并產生OWDQEnableA信號使能OWDQ 210A存儲數據。在擴展總線橋80A獲得外圍組件接口總線90A的所有權之后,主總線控制器250A經線402A(圖中所示為Out_Adr_A),多路復用器335,和緩沖區(qū)320A輸出來自OTQ 205A的地址和控制信息到達總線90A。地址和控制信息的一部分(包括事務ID,地址,和字個數)還經線420A(Out_Completion_A)轉發(fā),并存儲到出站事務控制器240A。然后,OWDQ 210A經線404A(在圖中示為Out_Write_Data_A),多路復用器330A,線424A(數據在圖中示為Out_Data_A),多路復用器335A,和緩沖區(qū)320A將數據輸出到總線90A。
      使用總線90A上的外圍組件接口接口,外圍組件接口目標通知總線擴展橋80A數據已經寫入外圍組件接口目標。出站事務控制器240A產生并經線420A和多路復用器340A將寫完成包(控制和地址信息,包括事務ID,地址,和字個數)存儲到ITQ 220A,其方法是產生ITQEnableA信號使能ITQ 220A。完成包在線420A上示為Out Completion A。擴展總線控制器235輸出來自ITQ 220A的完成包(地址和控制信息)到擴展總線70A。
      當總線橋80A工作在獨立32位模式時,總線擴展橋80A的B部分操作與上面描述的A部分的操作類似??偩€擴展橋80A的A部分和B部分可以同時操作,擴展總線控制器235可以處理來自橋80A的兩部分的包。如圖1所示,可以有多個總線擴展橋80(橋80A,80B,。。。)連接到MIOC 100。每個擴展橋80并行操作而且每個都可以配置成在獨立(或復合)32位模式或組合64位模式操作。
      在組合64位模式的總線擴展橋總線擴展橋80A可以配置成在組合64位模式下操作,其中,兩個32位外圍組件接口總線90A和90B組合提供單一的64位外圍組件接口總線。同樣的,多于兩個外部總線(如外圍組件接口或其它總線)可以連接到總線擴展橋80并組合提供有更高帶寬的外部總線。比如,3個32位外部總線可以組合提供外部96位總線。
      可以使用總線擴展橋80A上的64位模式引腳來配置總線擴展橋為64位模式。也可以采用其它技術選擇64位模式。在組合64位模式下,總線擴展橋80A可以通過64位外圍組件接口總線與64位外圍組件接口裝置(一次可以提供/接收兩個雙字或64位數據的裝置)通信,或者與32位裝置(一次只可以提供/接收32位數據的裝置)通信。當64位總線擴展橋80A與32位外圍組件接口裝置通信時,只使用了橋80A的可用帶寬的一半。
      根據本發(fā)明的一個實施例,總線擴展橋80A在64位模式中利用“奇偶”體系來使用兩個外圍組件接口部分(A部分和B部分)。在該“奇偶”體系中,所有偶數地址的數據(其地址[2]是0)被放置在橋80A的A部分的隊列中,而所有奇數地址的數據(其地址[2]是0)被放置在橋80A的B部分的隊列中。該體系還符合64位外圍組件接口規(guī)范,后者要求所有偶數地址的數據被放置在低32位(A部分),而所有奇數地址的數據被放置在高32位(B部分)。當總線擴展橋80A工作在64位模式但與32位外圍組件接口裝置通信時,所有奇數地址數據被轉發(fā)到外圍組件接口A部分。
      根據本發(fā)明的一個實施例,當橋80A工作在組合64位模式時,它的A部分和B部分的隊列(包括事務和數據隊列)和控制器都并行操作。
      但是,根據本發(fā)明總線擴展橋80A的另一個實施例,在組合64位模式中僅使用橋80A的A部分的控制器,而B部分的控制器都被重置(未用),而且只使用A部分的事務隊列而禁用B部分的事務隊列。下面討論關于本發(fā)明的該實施例的細節(jié)。
      因此,根據本發(fā)明的實施例,選擇64位模式禁用所有的B部分控制器(出站事務控制器240B,入站事務控制器245B,主總線控制器250B,目標總線控制器255B,和包控制器270B、275B),以及所有的B部分事務隊列(OTQ 205B和ITQ 220B)。比如,通過不產生用于B部分事務隊列的使能信號,可以在64位模式中禁用B部分的事務隊列。因此,在A部分的事務隊列(OTQ 205A,ITQ 220A)應該足夠大以容納其他事務(來自A部分和B部分)。所以,A部分的事務隊列可以是B部分的兩倍大(或深),以便在64位模式中容納該奇偶體系。
      在總線擴展橋80A的64位模式下禁用B部分的控制器和B部分的事務隊列的該奇偶體系大大節(jié)約了在兩個部分之間轉發(fā)32位數據通道的數目,而且與并行操作橋80A的兩個部分的64位模式相比,減少了必須的電路的數目和復雜性。
      下面描述用于組合64位模式總線的擴展橋80A的操作。為了避免重復,只詳細討論64位模式操作和獨立32位模式操作的區(qū)別。
      1.64位模式擴展橋來自32位外圍組件接口主方的入站讀外圍組件接口讀事務(包括地址和控制信息)總是從外圍組件接口主方發(fā)送到外圍組件接口A部分的總線擴展橋80A(經總線90A)(無論該讀事務來自32位或64位主方)。入站事務控制器245A接收地址和控制信息并格式化該信息成為擴展總線包。擴展總線包輸出到線416A,并經多路復用器340A存儲該地址和控制信息到ITQ 220A。擴展總線控制器然后將包輸出到MIOC 100。數據從內存子系統(tǒng)110讀取之后,就經總線70A提供完成包(包括數據)到擴展總線控制器235。讀完成包的地址和控制信息總是存儲在OTQ 205A(A部分)(B部分的控制器和ITQ被禁用)。但是,如果數據是偶數地址的,就把數據存儲在IRDQ0或IRDQ1 230A(A部分);如果數據是奇數地址的,就把數據存儲在IRDQ0/IRDQ1230B(B部分)。
      當總線擴展橋80A接收到來自外圍組件接口主方的重復外圍組件接口讀事務(與起始外圍組件接口讀事務有同樣的地址,不同的控制信息)時,A部分的偶數地址數據和B部分的奇數地址數據被輸出到外圍組件接口總線90A(A部分)。存儲在A部分IRDQ230A的偶數地址數據從IRDQ0/IRDQ1 230A經多路復用器325A,多路復用器330A,和多路復用器335A輸出。存儲在B部分IRDQ230B的奇數地址數據從IRDQ0/IRDQ1 230B經多路復用器325B和多路復用器330B沿線426 Out_64to32_Data輸出到達多路復用器335A。如果地址是奇數,多路復用器335A選擇B部分數據。數據交替來自兩個部分,直到所有數據被輸出或直到外圍組件接口事務被外圍組件接口主方終止。
      2.64位模式擴展橋來自64位外圍組件接口主方的入站讀數據從內存子系統(tǒng)110讀取出來之后,就經總線70A將完成包(包括數據)提供到擴展總線控制器235。讀完成包的地址和控制信息總是存儲在OTQ 205A(A部分)(B部分的控制器和ITQ被禁用)。但是,如果數據是偶數地址的,就把數據存儲在IRDQ0或IRDQ1 230A(A部分);如果數據是奇數地址的,就把數據存儲在IRDQ0/IRDQ1 230B(B部分)。對64位主方而言,第一個地址總是偶數地址。
      當總線擴展橋80A接收到來自外圍組件接口主方的重復外圍組件接口讀事務(與原始讀事務有同樣的地址和命令)時,偶數地址數據(存儲在A部分的IRDQ中)被輸出到外圍組件接口A部分(總線90A),奇數地址數據(存儲在B部分的IRDQ中)被輸出到外圍組件接口B部分(總線90B)。A部分的入站事務控制器(245A)并行地從兩個部分的IRDQ重復輸出兩個雙字,直到所有的數據被輸出或直到外圍組件接口讀事務被外圍組件接口主方終止。通過并行輸出來自A部分的雙字和來自B部分的雙字,就提供了64位外圍組件接口總線。
      3.64位模式擴展橋來自32位外圍組件接口主方的入站寫外圍組件接口寫事務由外圍組件接口主方發(fā)布。入站事務控制器245A(A部分)格式化地址和控制信息為擴展總線格式并存儲地址和控制信息到ITQ 220A(A部分)。數據只到達外圍組件接口A部分(僅通過總線90A)。外圍組件接口主方通過外圍組件接口協議通知總線擴展橋80A外圍組件接口主方只是一個32位裝置,因而,擴展橋只從外圍組件接口A部分獲得數據。
      入站事務控制器245A(A部分)檢測寫請求包的首地址。如果該首地址是偶數,那么第一個雙字的數據經線416A存儲在IWDQ225A(A部分)。如果該首地址是奇數,那么第一個雙字的數據經線432(圖中示為In_32to64_Data),多路復用器345,和線416B被存儲在IWDQ 225B。后續(xù)的雙字被交替存儲在IWDQ中。入站事務控制器245A(A部分)格式化并存儲寫請求包的地址和控制信息到ITQ 220A(A部分)(B部分的控制器和事務隊列被禁用)。地址和控制信息作為寫請求包的一部分,通過擴展總線控制器235輸出到MIOC 100。
      控制器235然后輸出數據到MIOC 100。為了識別第一個雙字的位置(A部分或B部分),入站包控制器檢測包的地址信息。第一個雙字的偶數地址或奇數地址分別指示第一個雙字的位置在A部分或B部分。如果首地址是偶數,第一個雙字從A部分AITCHES輸出;如果首地址是奇數,第一個雙字從B部分AITCHES獲得。控制器235從AITCHES輸出數據,兩個部分交替,以第一個雙字開始。寫數據之后,從MIOC 100接收寫完成包(地址和控制信息)。
      4.64位模式擴展橋;來自64位外圍組件接口主方的入站寫在該情形下,外圍組件接口主方通過外圍組件接口協議通知總線擴展橋80A外圍組件接口主方是一個64位外圍組件接口裝置(一次可以經總線90A和90B發(fā)送64位數據)。因而,寫請求包的數據同時通過外圍組件接口兩個部分(外圍組件接口總線90A和90B)接收。寫請求包的地址和控制信息只存儲在ITQ 220A(A部分)(禁用B部分的控制器和事務隊列)。通過A部分外圍組件接口總線接收的數據總是偶數地址并被存儲在IWDQ 225A(A部分),而通過B部分外圍組件接口總線(90B)接收的數據總是奇數地址并被存儲在IWDQ 225B(B部分)。偶數地址的雙字是數據的低32位。因此,(對64位主方)擴展總線控制器235輸出所寫的數據到MIOC 100總是從A部分的AITCHES開始。
      5.64位模式擴展橋出站寫寫請求包由控制器235從MIOC 100接收。寫請求包的地址和控制信息被存儲在OTQ 205A(A部分),無論外圍組件接口目標是32位目標還是64位目標。因為當總線擴展橋80A工作在獨立64位模式時,B部分的事務隊列被禁用。偶數地址數據被放置在OWDQ 210A(A部分),而奇數地址數據被放置在OWDQ 210B(B部分)。這樣,擴展總線橋80A并不在乎外圍組件接口目標是32位或64位。主總線控制器250A(A部分)使用外圍組件接口協議確定外圍組件接口目標是32位或64位目標。舉例來說,可以通過主總線控制器250A發(fā)布Reg64信號來通知外圍組件接口目標它是具備64位能力的方法達到該目的。外圍組件接口目標能夠用DevSel(裝置選擇)信號響應,也可用Ack64信號響應,以說明它是具備64位能力的。如果主總線控制器接收到DevSel回復信號但沒有接收到Ack64信號,那么,主總線控制器250A就知道外圍組件接口目標是32位目標。如果主總線控制器接收到Ack64信號,那么它就知道外圍組件接口目標是64位外圍組件接口目標。
      如果外圍組件接口目標是64位目標,存儲在A部分的數據輸出到外圍組件接口A部分總線90A,同時,存儲在B部分的數據輸出到外圍組件接口B部分總線90B,以提供64位數據通道。另一方面,如果外圍組件接口目標是32位目標,存儲在橋80A的A部分和B部分的數據以第一地址所在的部分為開始,交替輸出到外圍組件接口A部分總線90A。對32位目標而言,B部分數據從OWDQ 210B輸出,通過多路復用器330B和線426 Out_64to32_Data到達多路復用器335A。多路復用器335A交替選擇A部分數據(線424A的Out Data A)或B部分數據(線426的Out_64to32_Data)。
      6.64位模式擴展橋出站讀讀請求包從MIOC 100接收??刂坪偷刂沸畔⒈淮鎯υ贠TQ220A(在讀請求包中沒有數據)。
      主總線控制器使用外圍組件接口協議確定外圍組件接口目標是32位目標還是64位目標。讀請求包然后經外圍組件接口A部分總線90A被輸出到外圍組件接口目標。
      如果外圍組件接口目標是具備64位能力的,所請求的數據從外圍組件接口目標經外圍組件接口總線90A(用于偶數地址數據)和90B(用于奇數地址數據)輸出到總線擴展橋80A,并分別存儲在ORDQ 215A(A部分)和215B(B部分)。
      如果外圍組件接口目標是32位目標,所請求的數據只經A部分外圍組件接口總線90A送到總線擴展橋80A。如果起始地址是偶數,則第一個雙字存儲在ORDQ 215A(A部分)。如果起始地址是奇數,第一個雙字存儲在ORDQ 215B(B部分)。雙字交替的存儲在橋80A的不同的部分。對完成包而言,擴展總線控制器從交替的部分輸出雙字。如果首地址是偶數,首雙字從A部分輸出。如果首地址是奇數,首雙字從B部分輸出。
      雖然以上具體描述了本發(fā)明的幾個實施例,但是,對于本發(fā)明的修改和變化沒有離開本發(fā)明的精神和意圖,并由上述教導和附加的權利要求的范圍所涵蓋。
      權利要求
      1. 用于將第一和第二總線接口到第三總線的總線橋,所述總線橋可以配置成獨立模式和組合模式,在獨立模式中第一和第二總線獨立操作,在組合模式中第一和第二總線組合起來創(chuàng)建單一總線。
      2. 用于將第一和第二總線接口到第三總線的裝置,所述裝置可以配置成獨立模式和組合模式,在獨立模式中第一和第二總線獨立操作,在組合模式中第一和第二總線組合起來創(chuàng)建單一總線,所述裝置包括第一組數據隊列,用于在第一總線和第三總線之間轉發(fā)數據;第二組數據隊列,用于在第二總線和第三總線之間轉發(fā)數據;耦合到第一和第二組數據隊列并在獨立模式下并行操作第一和第二數據隊列的控制器;所述控制器在組合模式下通過第一數據隊列轉發(fā)偶數地址的數據,通過第二數據隊列轉發(fā)奇數地址數據。
      3. 根據權利要求2所述的裝置,其中所述控制器包括第一控制器和第二控制器,所述第一控制器控制第一組數據隊列的操作,所述第二控制器控制第二組數據隊列的操作。
      4. 根據權利要求3所述的裝置,其中,在所述組合模式下,所述第二控制器被禁用而所述第一控制器控制所述第一和第二組數據隊列。
      5. 根據權利要求2所述的裝置,進一步包括第一組事務隊列,用于在所述第一總線和所述第三總線之間轉發(fā)地址和控制信息;第二組事務隊列,用于在所述第二總線和所述第三總線之間轉發(fā)地址和控制信息;所述控制器耦合到所述第一和第二組事務隊列并且在獨立模式下并行操作所述第一和第二組事務隊列;以及所述控制器通過用于組合模式下的只是一組事務隊列轉發(fā)地址和控制信息。
      6. 根據權利要求5所述的裝置,其中所述控制器在組合模式下只用所述第一組事務隊列轉發(fā)地址和控制信息而禁用所述第二組事務隊列。
      7. 根據權利要求2所述的裝置,其中所述第一和第二總線包括第一和第二外圍組件接口總線。
      8. 根據權利要求2所述的裝置,其中所述第一和第二總線包括在獨立模式下獨立操作的第一和第二32位外圍組件接口總線,而且,在組合模式下所述第一和第二32位外圍組件接口總線組合起來創(chuàng)建單一的64位外圍組件接口總線。
      9. 計算機系統(tǒng)包括耦合到主機總線的主機處理器;耦合到主機總線的橋控制器;耦合到橋控制器的總線橋和至少第一和第二外部總線,所述總線橋可以配置成獨立模式或組合模式,在獨立模式中,所述第一和第二外部總線獨立操作,在組合模式中,所述第一和第二外部總線組合起來創(chuàng)建單一總線。
      10.根據權利要求9所述的計算機系統(tǒng),其中所述總線橋包括第一組數據隊列,用于在所述第一外部總線和所述橋控制器之間轉發(fā)數據;第二組數據隊列,用于在所述第二外部總線和所述橋控制器之間轉發(fā)數據;耦合到所述第一和第二組數據隊列并在獨立模式下并行操作所述第一和第二組數據隊列的控制器;所述控制器在組合模式下通過第一組數據隊列轉發(fā)偶數地址的數據,通過第二組數據隊列轉發(fā)奇數地址數據。
      11.根據權利要求9所述的計算機系統(tǒng),其中所述總線橋包括耦合到所述橋控制器的多個總線橋,每個所述總線橋包括多個外部總線。
      12.根據權利要求10所述的計算機系統(tǒng),其中所述總線橋進一步包括第一組事務隊列,用于在所述第一外部總線和所述橋控制器之間轉發(fā)地址和控制信息;第二組事務隊列,用于在所述第二外部總線和所述橋控制器之間轉發(fā)地址和控制信息;耦合到所述第一和第二組事務隊列并且在獨立模式下并行操作所述第一和第二組事務隊列的所述控制器;以及所述控制器在組合模式下只用一組事務隊列轉發(fā)地址和控制信息。
      13.根據權利要求9所述的計算機系統(tǒng),其中所述第一和第二外部總線包括在獨立模式下獨立操作的第一和第二32位外圍組件接口總線,以及在組合模式下第一和第二32位外圍組件接口總線組合起來創(chuàng)建的一個64位外圍組件接口總線。
      14.用于將第一和第二總線接口到第三總線的裝置,所述裝置可以配置成獨立模式和組合模式,在獨立模式中,所述第一和第二外部總線獨立操作,在組合模式中,所述第一和第二外部總線組合起來創(chuàng)建單一總線,所述裝置包括第一組數據隊列,用于在所述第一外部總線和所述第三總線之間轉發(fā)數據;第二組數據隊列,用于在所述第二外部總線和所述第三總線之間轉發(fā)數據;在獨立模式下并行操作所述第一和第二組數據隊列的裝置;以及在組合模式下通過所述第一組數據隊列轉發(fā)偶數地址的數據并通過所述第二數據隊列轉發(fā)奇數地址數據的裝置。
      15.根據權利要求14所述的裝置,進一步包括第一控制器,用于控制所述第一組數據隊列的操作;以及第二控制器,用于控制所述第二組數據隊列的操作。
      16.根據權利要求15所述的裝置,在組合模式下,所述第二控制器被禁用,而所述第一控制器控制所述第一和第二組數據隊列。
      17.用于將第一和第二外部總線接口到第三總線的方法,包括如下步驟當所述第一和第二外部總線按獨立的總線操作時,通過所述第一組數據隊列轉發(fā)數據到所述第一外部總線和所述第三總線之間的接口,通過所述第二組數據隊列轉發(fā)數據到所述第二外部總線和第所述三總線之間的接口;以及當外部總線組合形成單一總線時,通過所述第一組數據隊列轉發(fā)偶數地址數據,通過所述第二組數據隊列轉發(fā)奇地址數據到所述外部總線和所述第三總線之間的接口。
      全文摘要
      本發(fā)明提供了總線擴展橋(80A-80B)用來作為第一和第二外部總線(90A-90B)(比如PCI總線)連接到第三總線(70A-70B)的接口。總線擴展橋可以配置成獨立模式或組合模式兩種模式。在獨立模式下,第一和第二外部總線獨立操作;在組合模式下,第一和第二外部總線組合起來創(chuàng)建一個單獨的總線??偩€擴展橋包括兩個數據隊列;第一數據隊列和第二數據隊列。第一數據隊列在第一外部總線和第三總線之間轉發(fā)數據,第二數據隊列在第二外部總線和第三總線之間轉發(fā)數據??偩€擴展橋還包括耦合到第一和第二數據隊列上的控制器。在獨立模式下,該控制器并行的操作第一和第二數據隊列;在組合模式下,控制器通過第一數據隊列轉發(fā)偶數地址的數據,通過第二數據隊列轉發(fā)奇數地址數據。
      文檔編號G06F9/38GK1289420SQ99802393
      公開日2001年3月28日 申請日期1999年1月26日 優(yōu)先權日1998年1月26日
      發(fā)明者蘇萬?!たú紶? 凱文·科斯喬瑞克, 斯瑞蘭德·文卡特森, D·邁克爾·德爾 申請人:英特爾公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1