專利名稱:在計算機部件之間設置改進接口的方法與裝置的制作方法
技術領域:
本發明涉及計算機系統領域,具體地說,涉及在計算機部件之間設置改進接口的領域。
例如,如
圖1中所述,可以把外部部件(例如鍵盤109、磁盤驅動器110、與/或鼠標器111)經由輸入/輸出(I/O)橋接器107互相連接在一起。反過來,可以把I/O橋接器107與主橋接器105互連,以在外部設備和CPU/存儲器子系統之間提供一個接口。
然而,附加的外部總線(例如,外部部件互連(PCI)總線113)也可與I/O橋接器107和CPU/存儲器子系統之間的一個接口相結合。因此,I/O橋接器107和CPU/存儲器子系統之間的接口較為復雜,而且還受到與I/O橋接器107和CPU/存儲器子系統之間的接口相結合的一條外部總線113(例如PCI)的規范/要求的限制。
因此,存在著對外部部件和處理器/存儲器子系統之間的一個改進的接口的需求。
圖1說明的是根據現有技術在計算機部件之間實現了一個接口的計算機系統。
圖2是在計算機部件之間實現了一個改進的接口的計算機系統的一個實施方案的方框圖。
圖3是一個時序圖,說明了由接口的一個實施方案所實現的一個分解的事務。
圖4是在計算機部件之間實現了多個改進的接口的一個層次結構的計算機系統的一個實施方案的方框圖。
圖5是一個時序圖,說明了根據一個實施方案對數據信息包的仲裁與傳輸。
圖6是一個時序圖,說明了根據一個實施方案對數據信息包的流控制。
圖7是一個流程圖,描述了根據一個實施方案響應流控制操作的步驟。
圖8說明了根據一個實施方案的物理信號接口。
圖9是一個時序圖,說明了根據一個實施方案的源同步計時。
圖10說明了一個擁有多個處理器的計算機系統,這一計算機系統在計算機部件之間實現了一個根據一個實施方案的改進的接口。
圖11是在計算機部件之間實現了一個改進的接口的計算機系統的一個實施方案的方框圖,其中把一個中央處理器與一個計算機部件加以集成。
圖12是在計算機部件之間實現了一個改進的接口的計算機系統的一個實施方案的方框圖,其中把一個中央處理器與一個計算機部件和一個圖形單元加以集成。
發明詳述以下將描述計算機部件之間的一個改進的接口。此處,可以把這一接口叫做集線器接口。集線器接口是一個用于經由一個窄和寬帶接口連接核心邏輯的標準部件的接口。
在以下的描述中,將給出眾多的細節。然而,對本領域的技術人員顯然會領悟到,可以在不使用這些具體細節的情況下,使本發明付諸實踐。在其它的一些實例中,以方框圖的形式而不是詳細地描述了人們所熟悉的結構和設備,以避免對本發明的不明確的描述。
如圖2中所說明的,集線器接口的一個實施方案向各部件提供了一個點到點的接口。然而,在一些可選的實施方案中,集線器接口也可在三個或三個以上的部件之間提供一個接口。
更具體地說,圖2說明了用于互連一個芯片組中的兩個分離的部件(即集線器代理)的集線器接口204的一個實施方案。集線器代理在兩個或兩個以上的分離總線與/或其它類型的通信線路之間提供了一個中央連接。
例如,仍如圖2中所示,芯片組包括一個存儲器控制集線器204(MCH)以及一個輸入/輸出集線器(ICH)206。如圖2中所示,存儲器控制集線器204在一個或一個以上的中央處理器(CPU)208和系統存儲器210之間提供了一個互連/集線器。
ICH206在系統中的各外部部件(例如鍵盤218、磁盤驅動器224、掃描儀222與/或鼠標器220)之間提供了一個互連。而且,外部總線及其它們的代理(例如外部部件互連(PCI)總線212和PCI代理214)經由集線器接口202,通過與ICH206的互連而不是直接與存儲器控制集線器204互連,與系統存儲器210和CPU208間接互連。
通過使用集線器接口互連存儲器控制集線器204和ICH206,在I/O部件和CPU/存儲器子系統之間提供了改進的存取特性(例如增加的帶寬、對協議的獨立性、以及較低的延遲等)。另外,通過提供一個針對I/O標準部件的主干,集線器接口還可以改進計算機系統的可放縮性(例如從一個基礎桌面平臺向高檔桌面平臺或工作平臺的升級)。
在一個可選的實施方案中,把CPU和MCH集成在一個單一的半導體單元230上,如圖11中所示,其中,經由集線器接口把單一的半導體單元230耦合于ICH。在另一個可選的實施方案中,把MCH和一個圖形單元232(例如控制器/累加器)集成于一個單一的半導體單元230上,如12中所示,其中,經由集線器接口把單一的半導體單元230耦合于ICH。在又一個可選的實施方案中,把MCH、圖形單元232、以及CPU集成在一個單一的半導體單元230上,其中,通過集線器接口把單一的半導體單元230耦合于ICH。
為了提供改進的接口,集線器接口包括一個或一個以上的良好特性。在一個實施方案中,使用一個基于對事務進行分解的協議信息包,把事務跨越集線器接口加以傳遞。例如,把一個請求信息包用于啟動一個事務,如果需要的話,也可隨后把一個分離的完成信息包用于終止一個事務。
圖3說明了一個跨越集線器接口分解事務的一個實例。如圖3中所示,最初,經由仲裁302,一個集線器代理獲得對集線器接口的擁有權。在這一仲裁之后,存在一個請求階段304。如果需要的話(例如在針對一個讀事務返回數據的情況中),一個完成階段308將跟隨請求階段。然而,在完成階段之前,響應集線器代理將會針對集線器接口的擁有權首先進行仲裁306。
在跨越集線器接口傳輸一個請求信息包和一個相應的完成信息包期間,可根據事先確定的排序規則跨越集線器接口傳輸分離的、無關聯的信息包,如以下更詳細地加以討論的。例如,在從某一外設到存儲器的一個讀請求的情況中,提供所請求的數據可能會占用多個時鐘周期才能使數據準備好以在一個完成信息包中加以返回。在為獲得所請求的數據而占用的時間期間,可以把等待于存儲器控制集線器204的隊列/管道中的分離的無關聯的完成與/或請求信息包傳輸到ICH206。
而且,如圖3中所示,把每一個請求或完成作為一個跨越接口的信息包加以傳輸。對于寫類型事務來說,將把數據與請求關聯起來。對于讀類型事務來說,將把數據與完成關聯起來。在某些情況中,對于在把完成信息包斷開,有效地把其分解成多個完成信息包的場合來說,將會有一個以上的針對一個請求的完成。
另外,在一個實施方案中,集線器接口還使用了用于路由集線器接口交通并標識事務的屬性的事務描述符。例如,可以把描述符用于把一個事務定義為同步的或異步的,因此,接下來可以根據一個預定義的協議對其加以處理。
而且,在一個實施方案中,由于經由一個源同步時鐘模式傳輸數據信息包,所以接口的帶寬部分地得以增寬。此外,在一個實施方案中,盡管使用了一個窄連接(例如與通常在現有技術中所使用的相比,使用了較少的引腳/引出端),但集線器接口仍提供了增寬的帶寬。
然而,在可選的實施方案中,在不背離本發明的范圍的情況下,可以使用以上所討論過的所有良好特性中的部分特性實現一個集線器接口,而且也可以在不背離本發明的范圍的情況下,把集線器接口用于互連一個芯片組中或在一個芯片組之外的橋接器與/或其它部件。事務、協議、以及物理層為了更為清晰地加以描述,將分三個部分描述集線器接口一個事務層、一個協議層、以及一個物理層。然而,層與層之間的不同之處將被視為說明性的而不是限制性的,因此不意味著是一個特殊的、優選的例如,在一個實施方案中,事務描述符根據最初所提供的(在一個請求信息包中)路由信息,支持把完成信息包返回給請求啟動代理的路由。事務描述符還有助于減少或可能最小化集線器代理中的信息包譯碼邏輯。
在可選的實施方案中,事務描述符還提供了根據請求的相應傳輸屬性區分請求的能力。例如,事務描述符中所標識的事務屬性可以把操作標識為等時的(即,有規律地移動固定量的數據的操作,例如視頻或音頻的實時操作)。因此,操作,如由傳輸屬性加以標識的,可根據一個相應的預定的路由協議加以處置,以支持某種具體類型的操作(例如同步的)。
在一個實施方案中,事務描述符包括兩個字段一個路由字段以及一個屬性字段。在可選的實施方案中,在不背離本發明的范圍的情況下,可以使用更多或更少的字段提供一或多個事務描述符功能。
在一個實施方案中,路由字段是一個6位的字段,用于信息包的路由, 如以下表1中所描述的。路由字段以及屬性字段的大小在本發明的范圍內是可變的。表1事務描述符的路由字段5 4 3 2 1 0
如表1中所示,路由字段的3個位用于Hub ID。Hub ID標識啟動了事務的集線器代理。在可選的實施方案中,為了提供一個超過8的集線器接口層次結構,在路由字段中可以使用附加的位。
例如,在一個系統中,可以存在多個集線器接口層次結構,在這一情況中,處于這些層次結構頂部的代理應能夠把完成向后路由到這一層次結構的基部。在這一情況下,“層次結構”由多個連接的集線器接口段組成,這些集線器接口段始于一個集線器接口“根”代理(例如一個存儲器控制集線器)。例如,圖2說明了一個僅擁有一個集線器接口層次結構的系統。但圖4說明了基于兩個集線器接口層次結構的系統的一個實例。在僅實現一個集線器接口層次結構的實施方案中,可以在Hub ID字段中使用一個為“000”的默認值。
路由字段的其余的3位可用于標識一個集線器接口代理中的內部管道/隊列。例如,經由分離的“管道”,ICH可以支持內部的USB(通用串行總線)主控制交通和總線控制ID(BM-ID)交通。因此,Pipe ID可用于與由擁有不同屬性的不同“管道”所啟動的交通的服務代理(例如MCH)的通信,并可根據一個預先確定的協議對其加以處置。如果一個集線器接口代理未實現分離的內部管道,那么它可以使用Pipe ID字段中的一個為“000”的默認值。
在一個可選的實施方案中,事務描述符還包括一個屬性字段。在一個實施方案中,屬性字段是一個3位的值,它指出當一個目標集線器接口代理接收了一個事務時應如何處置這一事務。在某些情況中,屬性字段有助于一個系統支持要求高的應用工作負載,這依賴于對具有特殊要求或其它不同特性的數據的移動和處理。
例如,屬性字段可以支持設備之間的數據的等時移動,這一字段可由少數最近開發的外部總線(例如IEEE1394和USB)加以使用。當數據流經I/O設備和CPU/存儲器子系統之間的集線器接口時,需要維持這樣的數據移動要求。
在可選的實施方案中,附加的事務屬性可以包括區分“窺探的”交通和“非窺探的”交通的能力,在“窺探的”交通中超高速緩沖存儲器的連貫性是由硬件(即芯片組)所加強實施的,而“非窺探”交通依賴于軟件機制確保系統中數據的連貫性。而且,另一個可能的屬性將是一個“顯式可預取的”提示,以支持某種形式的讀超高速緩存,并允許更有效地使用主存儲器帶寬。排序規則事務描述符還可用于支持跨越集線器接口所傳輸的事務之間的排序規則。例如,在一個實施方案中,按嚴格的順序(即先來先服務)執行具有相同事務描述符的事務。
可把具有相同路由字段但具有不同屬性字段的事務互相相對地重新排序。例如,在一個實施方案中,相對于異步事務,不需要對同步事務進行嚴格的排序。
另外,在集線器接口的接口的一個實施方案中,允許數據傳輸沿同一個方向中或沿相反的方向隨請求得以進展。允許沿一個方向流動的讀完成傳送沿同一方向流動的讀請求,而且允許寫請求傳送沿同一方向流動的讀請求。
然而,在可選的實施方案中,為跨越集線器接口的接口傳輸的事務所制定的排序規則,在本發明的范圍內是可變的。例如,在一個實施方案中,集線器接口實現了提供于外部部件互連(PCI)(版本2.2)中的排序規則,以確定沿相反方向中跨越集線器接口的交通流。協議層在一個實施方案中,集線器接口使用了一個基于信息包的協議,它具有兩種類型的信息包請求和完成。請求信息包用于每一集線器接口事務。完成信息包用于提出了某些要求的場合,例如要求返回所讀的數據或認可某些類型的寫事務(例如請求了完成的I/O寫和存儲器寫)的完成的場合。通過事務描述符和排序把完成信息包與它們相應的請求信息包關聯起來,如先前在關于事務層一節中所討論過的。
另外,在一個實施方案中,集線器接口的接口使用了一個對稱的和分布式的仲裁協議。例如,每一集線器代理驅動一個請求信號,這一請求信號由附接于同一接口的另一個代理加以監視。未使用授權信號,各代理獨立地確定接口的擁有權。
而且,在一個實施方案中,未使用顯式的成幀信號。在給予某一代理接口擁有權的仲裁事件和該代理的傳輸的啟動之間的存在著一個隱含的關系。在可選的實施方案中,可以在不背離本發明的范圍的情況下使用成幀信號。
當一個擁有接口(例如在傳輸數據的過程中)的集線器接口代理通過解除對一個請求信號的聲明而釋放其對接口的控制時,一個信息包傳輸的端點出現。另外,在一個實施方案中,流控制還通過使用一個STOP信號重試或斷開信息包加以實現,如以下更詳細地加以描述的。信息包定義在集線器接口的一個實施方案中,按一個多速率(例如,1x、4x、8x)的集線器接口時鐘(HLCK)傳輸數據,在一個實施方案中,HLCK是一個由集線器接口所結合的、各集線器代理所共享的公共時鐘。跨越集線器接口的數據信號路徑(PD)傳輸數據,這一集線器接口擁有2的某一冪(例如,8、16、24、32)的“接口寬度”。因此,集線器接口可擁有變化的數據傳輸粒度(即傳遞寬度),取決于傳遞速率和數據信號路徑的寬度。例如,在4x模式中的8位接口寬度的情況中,傳遞寬度為每一HLCK32位。因此,通過改變傳遞速率與/或數據信號路徑的接口寬度,可以放縮傳遞寬度(即每一HLCK所傳輸的字節的個數)。
另外,在一個實施方案中,信息包可大于傳遞寬度。因此,可按多個區段(即信息包寬度)傳輸信息包。在一個實施方案中,把信息包劃分成雙字大小(32位)的信息包寬度。
在一個32位傳遞寬度的情況中,開始于最小有效字節(字節0)并終結于最大有效字節(字節3),在接口上提交一個信息包寬度的字節,如以下表2中所示。在一個64位傳遞寬度(例如,4x模式中的一個16位寬的接口)的情況下,在數據信號的低字節(例如PD
)上傳輸較低的有效雙字(信息包寬度),在數據信號的高字節(例如PD[158])上并行傳輸較高的有效雙字。以下表2中描述了這兩個實例。表2針對8位和16位接口寬度的字節傳輸順序 集線器接口的接口的協議層還負責成幀數據,因此,由集線器接口所實現的成幀規則定義了如何把一或多個信息包寬度映象于一組傳遞寬度。為了簡化把信息包分析為信息包寬度的分析過程,在集線器接口的一個實施方案中,實現了以下的三個成幀規則信息包的首部區段開始于一個傳輸寬度的第一個字節;信息包的數據區段(如果存在的話)開始于一個傳輸寬度的第一個字節;以及一個信息包占據整數個的傳遞寬度。
信息包未消耗的任何可用的傳輸寬度可使用雙字(DW)傳輸加以填充,并將為接收集線器代理所忽略。在可選的實施方案中,在本發明的范圍中,集線器接口可使用更多、更少、與/或不同的三個成幀規則。
表3和表4設置如下,它們說明了以上針對64位傳遞寬度的情況所給出的成幀規則的一些實例。表3使用32位尋址并包括3個雙字數據的請求 表4使用64位尋址并包括3個雙字數據的請求 請求信息包以下將在表5和表6中描述根據一個實施方案的請求信息包的首部格式。在表5和6中所示的實例中,基首部為一個雙字,具有32位尋址所需的一個附加的雙字,以及64位尋址模式所需的兩個附加的雙字。首部的字段,如表5和6中所描述的,將在以下的表中加以描述。在集線器接口的可選的實施方案中,包含在請求信息包的首部中的字段在不背離本發明的范圍的情況下是可變的。例如,首部可以包括附加的字段、較少的字段、或用于取代以下所描述的字段的不同的字段。而且,在不背離本發明的范圍的情況下,字段的編碼也是可變的。表5針對32位尋址的請求信息包首部格式 表6針對64位尋址的請求信息包首部格式 Transaction Descriptor(事務描述符)Transaction Descriptor Routing and Attribute(事務描述符路由和屬性)字段,如先前所描述的。rq/cp在這一位置,用′0′來識標識請求信息包,以及用′1′來標識完成信息包。cr要求完成(′1′)或不要求完成(′0′)。r/wRead(′0′)或Write(′1′)。這一字段表明,數據是否將包括一個完成(讀)或一個請求(寫)。Address Format(尋址格式)(af)尋址格式既可為Implied(′0′),也可為32/64位(′1′)的。Lock(鎖)(1k)是一個標志,表明請求是一個鎖定的序列的一部分。在一個鎖定的序列中的請求和完成將使這一位被設置。集線器代理,不包括鎖的,忽略這一標志,并將用′0′填充這一字段。Data Length(數據長度)以雙字形式給出數據長度,對其編碼,以致于所代表的雙字的個數為1+這一個數字,因而″000000″代表一個雙字。Space(空間)這一字段為請求選擇目標空間類型。在一個實施方案中,可能的目標空間包括存儲器(″00″)以及IO(“01”)。1st DW BE字節啟動,用于啟動存儲器或IO的任何讀或寫請求的第一個雙字。字節啟動為低態有效。如果對一個請求來說僅存在一個雙字,則使用這一字節啟動字段。在一個實施方案中,在未進行字節啟動的情況下發布一個存儲器或IO讀或寫請求將是非法的。Last DW BE字節啟動,用于啟動任何讀或寫請求的最后一個雙字。字節啟動為低態有效。如果對一個請求來說僅存在一個雙字,則這一字段必須是不活躍的(“1111”)。字節啟動可以是不連續的(例如“0101”)。這一字段永遠不能隨特殊周期一起使用,因為它覆蓋了“Special Cycle Encoding(特殊周期編碼)”字段。Addr[312]生成32位地址,如針對同一周期類型在PCI上那樣。包括這一雙字是為了32位和64位尋址模式(而不是為了隱含的尋址模式)。Extended Address(擴展的尋址)(ea)指明是32位尋址(′0′)還是64位尋址(′1′)。Config Type(配置類型)(ct)僅針對配置周期,這一位用于指明類型0(′0′)或類型1(′1′)配置周期類型。因為將總是使用32位尋址執行配置周期,所以這一位與″Extended Address″位重疊。Addr(地址)[6332]針對64位尋址模式的高地址位。包括這一雙字是為了64位尋址模式。完成信息包根據一個實施方案,以下在表7中描述了完成信息包的首部格式。在一個實施方案中,首部為一個雙字。首部的字段,如表8中所示,將在以下的表中加以描述。
然而,在集線器接口的可選的實施方案中,在不背離本發明的范圍的情況下,包含在針對完成信息包的首部中的字段可以是不同的。例如,首部可以包括附加的字段、較少的字段、或用于取代以下所描述和所說明的字段的不同的字段。而且,在不背離本發明的范圍的情況下,字段的編碼也可以是不同的。表7完成信息包首部格式所傳輸的最后一個字節 所傳輸的第一個字節31 30 29 28 27 26 25 24|23 22 21 20 19 18 17 16|15 14 13 12 11 10 9 8| 7 6 5 4 3 2 1 0
Transaction Descriptor(事務描述符)Transaction Descriptor Routing and Attribute(事務描述符路由和屬性)字段,如先前在“事務”一節中所討論過的。rq/cp在這一位置,用一個′1′來標識完成信息包。r /w讀(′0′)或寫(′1′)。這一字段表明,數據是否將包括一個完成(讀)或一個請求(寫)。Lock(鎖)(1k)是一個標志,表明完成是一個鎖定的序列的一部分。在一個鎖定的序列中的請求和完成使對這一位被設置。代理,不包括鎖的,忽略這一標志,并將用′0′填充這一字段。Data Length(數據長度)以雙字形式給出數據長度,對其編碼,以致于所代表的雙字的個數為1+這一個數字。因而,″000000″代表一個雙字。Completion Status(完成狀態)指明使用預先確定的完成狀態。Reserved(保留的)把所有保留的位設置成′0′。
在集線器接口的一個實施方案中,存儲器讀的完成可以提供少于所請求數據的全部數量的數據,只要整個請求最終得以完成即可。同樣,對于存儲器寫的完成,也可以指明少于已經完成的整個請求。可以這樣做是為了滿足針對某一具體平臺的一個特定集線器接口的接口延遲的要求。
另外,對于一個要求完成的請求來說,在一個實施方案中,發出請求者保留關于這一請求的信息,可以把關于這一請求的信息存儲在發出請求的集線器代理的一個緩沖器中。例如,這一信息可以包括事務描述符、信息包的大小,鎖的狀態、路由信息等。而且,當接收完成(一個或多個)時,發出請求者(initiator)把完成(一個或多個)與相應的請求進行匹配。在多個完成的情況中,發出請求者針對原始請求累計所完成的數據的數目,直至原始的請求全部得以完成。接口仲裁和信息包成幀在集線器接口的接口的一個實施方案中,當接口處于閑置狀態時,把來自連接于接口的每一集線器代理的一個請求的聲明視為一個仲裁事件。發出請求的第一個代理贏得接口的擁有權。當集線器接口處于閑置狀態時,如果各代理同時請求擁有權,那么最近最少得到服務的集線器代理贏得擁有權。在一個實施方案中,所有集線器代理追蹤最近最少得到服務的狀態(例如,通過一個內部寄存器的一個狀態標志)。在可選的實施方案中,可以在本發明的范圍內使用可選的仲裁規程。
一旦某一集線器代理獲得了接口的擁有權,它將繼續擁有這一接口直至其完成了它的事務,或直至一個分配的時間帶寬到期。例如,在一個實施方案中,在每一集線器代理中提供了一個時間片計數器,用以控制帶寬分配,并用以限制一個代理的接口的擁有權限。對于附接于同一接口的各集線器接口代理來說,分配給一個集線器代理的時間(即時間片值)可以不同也可以相同。當獲得接口的擁有權時,啟動時間片計數器,并對集線器接口基時鐘周期進行計數。
在一個實施方案中,每一集線器代理負責管理其自己的時間片分配。因此,在一個實施方案中,可以經由一個集線器接口命令寄存器針對每一集線器代理中的每一接口對時間片值進行編程。
圖5說明了針對代理A和代理B之間的集線器接口的接口進行仲裁以及兩個信息包的傳遞的一個實例。這一實例說明了非閑置接口狀態時所進行的仲裁,然后接口返回到閑置狀態。而且在所說明的這一實例中,接口使用了一個具有8位的數據信號路徑(PD)的4x有數據傳遞模式。在圖5中所說明的實例中,代理A是最近最多得到服務(MRS)的代理。因此,代理A聲明其外部請求信號(RQA),并在離開時鐘前沿1啟動信息包傳輸之前,對在同一前沿上的代理B的請求信號(RQB)的狀態(其被說明為不活躍的)進行取樣。
在一個實施方案中,在所傳輸的數據(即來自代理A的數據)內部地可由接收器(即代理B)獲得之前,從時鐘前沿3開始,存在著兩個時鐘的延遲。第一個信息包包括兩個雙字502和504,并要求兩個基時鐘,以按4x模式傳輸。第二個信息包為三個雙字506、508以及510,因此在4x模式中需要三個基時鐘。流控制在一個實施方案中,因缺乏請求隊列空間、數據緩沖器空間、或因其它原因,接收代理可能要重試或斷開信息包。在一個實施方案中,使用一個STOP信號實現流控制。
圖6說明了使用STOP信號的一個實例。如圖中所說明的,代理A聲明其外部請求信號(RQA),并在離開時鐘前沿1啟動信息包傳輸離之前,對在同一前沿(例如時鐘前沿1)上的代理B的請求信號(RQB)的狀態(其被說明為不活躍的)進行取樣。
在一個兩個時鐘的延遲之后,從時鐘前沿3開始,從代理A所傳輸的數據內部地由代理B處的接收器獲得。在一個實施方案中,在接收了從代理A所傳輸的數據之后,對于代理B來說,是在時鐘前沿4處通過聲明STOP信號規定流控制的第一個機會,如圖6中所說明的。
另外,當PD信號的擁有權從一個集線器代理變至另一個集線器代理時,在預先確定的若干個時鐘之后,STOP信號的擁有權也將被交換。而且,在一個實施方案中,將根據基時鐘對STOP信號進行取樣,這些基時鐘相應于一個信息包寬度的最終的傳遞。例如,在4x模式中(使用一個8位寬的PD信號),每一基時鐘對STOP信號取樣一次。然而,對于1x模式來說,則在每第4個時鐘對STOP信號取樣一次(其中把事務的開始作為一個參照點)。
在接收了一個STOP信號之后,接收STOP信號的集線器代理判斷它是否可以重試發送附加的信息包。圖7描述的是,根據一個實施方案,在接收了一個STOP信號之后,一個集線器代理判斷其是否可以重試發送一個信息包所執行的步驟的流程圖。
在步驟702,一個當前正在傳輸信息包的集線器代理接收一個STOP信號。作為響應,在步驟704,接收STOP信號的集線器代理通過對另一個集線器代理請求信號(例如RQB)進行取樣,判斷是否另一個代理(它激活了STOP信號)正在請求該接口的擁有權。
如果STOP信號的接收方判斷出發送STOP信號的代理未正在請求該接口的擁有權,那么在步驟706,在從STOP恢復之后,接口的當前擁有者可著手傳輸一個信息包。另一方面,如果它判斷出激活了STOP信號的代理正在請求擁有權,那么在步驟708,當前擁有者判斷其時間片是否已到期。
對于接口的當前擁有者來說,如果時間片已到期,那么在步驟710當前擁有者釋放擁有權。如果針對當前擁有者的時間片沒有到期,那么當前擁有者可以傳輸一個具有一個不同于所中斷的信息包的屬性的信息包。更具體地說,在步驟712,當前擁有者判斷它是否擁有一個需要加以傳輸的并具有一個與任何已經在當前仲裁期間(即當前擁有者的使用權期間)內已重試過的信息包的屬性類型不同的屬性類型的信息包。
如果當前擁有者確實擁有一個具有一個不同屬性的信息包,那么在步驟714,當前擁有者可著手傳輸這一信息包。否則,當前擁有者釋放對這一接口的擁有權。物理接口在一個實施方案中,集線器接口的接口實現了操作在66MHz或100MHz基頻率上的一個物理接口。也可以使用其它的頻率。另外,在一個實施方案中,物理接口使用了一種源同步(SS)數據傳遞技術,這一技術可以為4時鐘的,以按基集線器接口時鐘的4倍傳遞數據。因此,在一個擁有一個操作在66MHz或100MHz的基頻率上的8位的數據接口(例如PD)的實施方案中,可以分別達到266兆字節/每秒(MB/s)或400MB/s的帶寬。
而且,在一個實施方案中,集線器接口的接口支持1.8V的電壓操作,并基于互補型金屬氧化物半導體(CMOS)工藝發射信號。然而,在一個可選的實施方案中,在不背離本發明的范圍的情況下,基于可選的信號處理,這一接口可以操作在可選的頻率與/或可選大小的數據接口上,以提供不同的帶寬,并支持可選的操作電壓。外部信號定義圖8說明了根據一個實施方案的兩個集線器代理之間的集線器接口的物理信號接口。如圖8中所描述的,集線器接口物理接口使用了一條雙向8位的數據總線(PD[70]),具有用于數據計時的一個不同的源同步選通脈沖信號對(PSTRBN,PSTRBP)。在一個可選的實施方案中,可以加寬接口。例如,如圖8中所示,也可以把一條附加的8位數據總線(PD[158])隨源同步選通脈沖信號對(PSTRBN,PSTRBP)的一個附加對一起加以使用。而且,在一個可選的實施方案中,可以使用單向的數據信號。
另外,一個單向仲裁信號把每一代理連接于另一代理(RQa,RQb),接收代理使用一個雙向的STOP信號控制數據流,如先前加以描述的。附加的接口信號包括系統的復位(Reset)、公共時鐘(HLCLK)、以及電壓參照(HLVREF)信號。另外,還包括針對每一集線器代理(ZCOMP)的信號,以把每一集線器代理的驅動器輸出阻抗匹配于相應的值,以補償制造和溫度方面的偏差。
以下將在表8中進一步描述圖8中所說明的接口中所示的物理信號。在集線器接口的可選的實施方案中包含在物理接口中的信號可以不同,而不背離本發明的范圍。例如,物理接口可以包括更多、更少或與圖8中所示信號不同的信號,將在表8中對此進一步加以描述。表8針對8位代理的集線器接口的接口信號
1ASTS信號=活躍維持的三態2SS=源同步模式信號3CC=公共時鐘模式信號4在一個實施方案中,Reset是一個系統寬信號。它是來自系統的某一部件的一個輸出和向其它部件(一個或多個)的一個輸入。而且,Reset相對HLCLK是異步的。公共時鐘傳遞模式操作在一個實施方案中,許多跨越集線器接口的接口傳輸的信號根據一個公共時鐘模式加以傳輸。更具體地說,經由公共時鐘模式傳輸的信號的計時參照于一個單一的時鐘(例如,集線器接口時鐘)。在可選的實施方案中,可以把這些信號與一個系統時鐘相關聯,外部于集線器接口代理。而且,在一個系統中可存在一個以上的集線器接口段,在這一情況中,可以針對不同的段使用不同的基時鐘。例如,一個部件可以既實現一個66MHz的基集線器接口的接口, 也可以實現一個100MHz的基集線器接口的接口。源同步傳遞模式操作在一個實施方案中,使用一個源同步時鐘模式傳輸信息包/數據,這一模式提供了一種用于倍增數據的數據傳遞率的方法。例如,在一個使用具有一個8位數據信號路徑的4X源同步計時模式的實施方案中,傳輸一個雙字(即4個字節)僅要求一個集線器接口時鐘周期(HLCK)。另外,使用1X源同步計時模式在一個8位數據信號路徑上傳輸一個雙字將要求一個完整的集線器接口時鐘周期才能完成。
更具體地說,在源同步傳遞的一個實施方案中,根據選通脈沖和數據之間的一個預先確定的計時關系,隨一個數據傳輸一起發送選通脈沖(例如PSTRBN/PSTRBP)。接下來,使用選通脈沖把數據鎖于接收集線器代理中。
更具體地講,在一個實施方案中,接收集線器代理把選通脈沖PSTRBP/PSTRBN的前沿用于標識正在被跨越數據信號路徑傳遞的數據的提交和計時。例如,如圖9中的時序圖中所說明的,在一個實施方案中,一個第一數據傳遞對應于PSTRBP的上升沿和PSTRBN的下降沿。一個第二數據傳遞對應于PSTRBN的上升沿和PSTRBP的下降沿。
另外,在一個實施方案中,如果在圖9中進一步加以描述的,選通脈沖PSTRBP/PSTRBN的傳輸前沿位于數據有效窗口的中心附近。因此,把一個輸入數據取樣窗口給予接收代理,以適應不同的系統計時偏移。而且,在一個實施方案中,接收集線器代理把選通脈沖前沿之前的一個最小有效數據(tDvb)以及選通脈沖前沿之后的一個最小有效數據(tDva)用于標識和封鎖所傳輸的數據。一旦接收集線器代理封鎖了進入的數據,則此后占有這一數據短暫的一段時間,以在集線器代理中把這一數據向前傳送之前,把這一數據與集線器接口時鐘(HLCK)重新加以同步。
在以上的說明中,已參照本發明的具體的、示范性的實施方案對本發明進行了描述。然而,很顯然,在不背離本發明的較寬的構思與范圍的情況下,可以對本發明進行各種變更與修改。例如,根據一個實施方案,可以在一個擁有多個處理器的計算機系統中實現集線器接口的接口,如圖10中所說明的。因此,把對本發明的說明以及附圖視為說明性的而非限制性的。
權利要求
1.一種用于在一個計算機系統中的一個存儲器控制集線器(MCH)和一個輸入輸出控制集線器(ICH)之間直接傳遞數據的接口,該接口包括一個數據信號路徑,用于經由對事務進行分解按信息包傳輸數據;以及一組命令信號,其中,上述接口在上述MCH和上述ICH之間提供了一個點到點的連接,排除了直接連接于接口的一條外部總線。
2.權利要求1的接口,其中,上述計算機系統中的上述MCH和上述ICH是一個芯片組中的部件。
3.權利要求1的接口,其中,在對上述接口的擁有權的仲裁之后,使用一個請求信息包在上述接口上啟動一個第一事務。
4.權利要求3的接口,其中,上述請求信息包包括一個事務描述符。
5.權利要求3的接口,其中,響應上述第一事務的上述請求信息包在上述接口上傳輸一個完成信息包。
6.權利要求3的接口,其中,上述請求信息包包括事務描述符,上述完成信息包包括一個相應的事務描述符。
7.權利要求5的接口,其中,可在響應上述第一事務的請求信息包傳輸上述完成信息包之前,跨越上述接口傳輸一個針對一個第二事務的請求信息包。
8.權利要求3的接口,其中,上述數據信號路徑是可放縮的。
9.權利要求8的接口,其中,經由一個源同步時鐘模式跨越上述數據信號路徑傳輸信息包。
10.權利要求9的接口,其中,上述接口包括一組雙向的數據信號、一個第一和第二源同步選通脈沖信號、一個單向仲裁信號、以及一個雙向停止信號。
11.權利要求10的接口,其中,上述接口還包括一個系統復位信號、一個公共時鐘信號、以及一個電壓參照信號。
12.權利要求11的接口,其中,上述事務描述符標識至少三個集線器之間的多個接口的一個層次結構中的分離的集線器。
13.權利要求5的接口,其中,上述請求信息包包括一個字段,該字段指明是否響應各請求信息包要求一個完成信息包。
14.權利要求3的接口,其中,上述集線器之間的仲裁是對稱的和分布的。
15.權利要求3的接口,其中,一個集線器被分配上述接口的擁有權,直到一個預定的時間量。
16.一種用于在一個計算機系統中的一個存儲器控制集線器(MCH)和一個輸入輸出控制集線器(ICH)之間直接傳遞數據的接口,該接口包括一個第一裝置,用于經由對事務進行分解,在上述MCH和上述ICH之間按信息包傳輸數據;以及一個第二裝置,用于傳輸命令信號,其中上述接口在上述MCH和上述ICH之間提供了一個點到點連接,排除了直接連接于接口的一條外部總線。
17.權利要求16的接口,其中,上述計算機系統中的上述ICH和上述MCH是一個芯片組中的部件。
18.權利要求17的接口,其中,上述接口包括一個用于通過一個請求信息包在上述接口上啟動一個第一事務的裝置。
19.權利要求18的接口,其中,上述請求信息包包括一個事務描述符。
20.權利要求19的接口,其中,上述接口包括用于響應上述第一事務的上述請求信息包提供一個完成信息包的裝置。
21.權利要求18的接口,其中,上述請求信息包包括一個事務描述符, 上述完成信息包包括一個相應的事務描述符。
22.權利要求21的接口,其中, 上述接口包括一個用于在響應上述第一事務的請求信息包傳輸上述完成信息包之前,跨越上述接口傳輸針對一個第二事務的請求信息包的裝置。
23.權利要求22的接口,其中,上述用于經由對事務進行分解按信息包傳輸數據的上述第一裝置還包括用于放縮數據信號路徑的裝置。
24.權利要求23的接口,其中,上述接口包括用于經由一個源同步時鐘模式跨越上述接口傳輸信息包的裝置。
25.權利要求21的接口,其中,上述事務描述符包括一個用于標識三個或三個以上的集線器之間的多個接口的一個層次結構中的分離的集線器。
26.權利要求20的接口,其中,上述請求信息包包括一個用于指明是否響應相應的請求信息包要求一個完成信息包的裝置。
27.權利要求26的接口,其中,接口包括一個用于針對上述接口的擁有權在上述集線器之間進行仲裁的裝置。
28.權利要求21的接口,其中,上述接口還包括一個用于把上述接口的擁有權分配給上述集線器之一,直到一個預定的時間量的裝置。
29.一個用于在計算機系統中的一個芯片組的存儲器控制集線器和輸入輸出(I/O)集線器之間傳輸數據的接口,該接口包括一個雙向的數據信號路徑以及一對源同步選通脈沖信號,上述數據信號路徑經由對事務進行分解按信息包傳輸數據,上述信息包包括一個請求信息包和完成信息包,上述請求信息包包括一個事務描述符;以及一組命令信號,包括單向仲裁信號、一個雙向停止信號、一個系統復位信號、一個公共時鐘信號、以及一個電壓參照信號,其中,上述接口在上述存儲器控制集線器和上述I/O集線器之間提供了一個點到點的連接, 排除了直接連接于點到點的連接的一條外部總線。
30.一個計算機系統,該系統包括一個處理器;一個耦合于上述處理器的存儲器控制集線器(MCH);一個經由一個接口耦合于上述MCH的輸入輸出控制集線器(ICH),以在MCH和ICH之間直接傳遞數據;上述接口擁有一個數據信號路徑,用于經由對事務進行分解按信息包傳輸數據,以及上述接口包括一組命令信號,其中,上述接口在上述MCH和上述ICH之間提供了一個點到點的連接,排除了直接連接于點到點的連接的一條外部總線;以及至少一個耦合于上述ICH的外部部件。
31.權利要求30的計算機系統,其中,上述外部部件是一個外部部件互連(PCI)代理。
32.權利要求31的計算機系統,其中,上述計算機系統中的上述第一和第二集線器是芯片組中的部件。
33.權利要求32的計算機系統,其中,在對上述接口的擁有權進行仲裁之后,使用一個請求信息包在上述接口上啟動一個第一事務。
34.權利要求33的計算機系統,其中,上述請求信息包包括一個事務描述符。
35.權利要求33的計算機系統,其中,響應上述第一事務的上述請求信息包在上述接口上傳輸一個完成信息包。
36.權利要求35的計算機系統,其中,上述請求信息包包括一個事務描述符,上述完成信息包包括一個相應的事務描述符。
37.權利要求36的計算機系統,其中,可在響應上述第一事務的請求信息包傳輸上述完成信息包之前,跨越上述接口傳輸一個針對一個第二事務的請求信息包。
38.權利要求36的計算機系統,其中,上述數據信號路徑是可放縮的。
39.權利要求38的計算機系統,其中,經由一個源同步時鐘模式跨越上述數據信號路徑傳輸信息包。
40.權利要求39的計算機系統,其中,上述接口包括一組雙向的數據信號、一個第一和第二源同步選通脈沖信號、一個單向仲裁信號、以及一個雙向停止信號。
41.權利要求40的計算機系統,其中,上述接口還包括一個系統復位信號、一個公共時鐘信號、以及一個電壓參照信號。
42.權利要求41的計算機系統,其中,上述事務描述符標識至少三個集線器之間的多個接口的一個層次結構中的分離的集線器。
43.權利要求42的計算機系統,其中,上述請求信息包包括一個字段,該字段指明是否要求響應相應請求信息包的一個完成信息包。
44.權利要求43的計算機系統,其中,上述集線器之間的仲裁是對稱的和分布的。
45.權利要求44的計算機系統,其中,為一個集線器分配上述接口的擁有權,直到一個預定的時間量。
46.權利要求31的計算機系統,其中,該計算機系統包括多個處理器。
47.權利要求31的計算機系統,其中,該計算機系統還包括一個經由一個接口耦合于上述ICH的第三集線器,包括一個雙向數據信號路徑和一對源同步選通脈沖信號,上述數據信號路徑經由對事務進行分解按信息包傳輸數據,上述信息包包括一個請求信息包和完成信息包,上述請求信息包包括一個事務描述符;以及一組命令信號,包括單向仲裁信號、一個雙向停止信號、一個系統復位信號、一個公共時鐘信號、以及一個電壓參照信號。
48.權利要求31的計算機系統,其中,把該計算機系統的處理器和MCH集成在一個單一的半導體單元中。
49.權利要求31的計算機系統,其中,把該計算機系統的MCH和一個圖形單元集成在一個單一的半導體單元中。
50.一個存儲器控制集線器(MCH),該集線器包括一個接口,用于在一個計算機系統中把數據直接傳輸于一個輸入輸出控制集線器(ICH),該接口擁有一個用于經由對事務進行分解按信息包傳輸數據的數據信號路徑,以及一組命令信號,其中,上述接口在上述MCH和上述ICH之間提供了一個點到點的連接,排除了直接連接于該接口的一條外部總線。
51.權利要求50的存儲器控制集線器,其中,上述MCH和上述ICH是一個芯片組中的部件。
52.權利要求50的存儲器控制集線器,其中,在對上述接口的擁有權進行仲裁之后,使用一個請求信息包在上述接口上啟動一個第一事務。
53.權利要求52的存儲器控制集線器,其中,上述請求信息包包括一個事務描述符。
54.權利要求53的存儲器控制集線器,其中,響應上述第一事務的上述請求信息包在上述接口上傳輸一個完成信息包。
55.權利要求52的存儲器控制集線器,其中,上述請求信息包包括事務描述符,上述完成信息包包括一個相應的事務描述符。
56.權利要求55的存儲器控制集線器,其中,可在響應上述第一事務的請求信息包傳輸上述完成信息包之前,跨越上述接口傳輸一個針對一個第二事務的請求信息包。
57.權利要求56的存儲器控制集線器,其中,上述數據信號路徑是可放縮的。
59.權利要求57的存儲器控制集線器,其中,經由一個源同步時鐘模式跨越上述數據信號路徑傳輸信息包。
60.權利要求59的存儲器控制集線器,其中,上述接口包括一組雙向的數據信號、一個第一和第二源同步選通脈沖信號、一個單向仲裁信號、以及一個雙向停止信號。
61.權利要求60的存儲器控制集線器,其中,上述接口還包括一個系統復位信號、一個公共時鐘信號、以及一個電壓參照信號。
62.權利要求61的存儲器控制集線器,其中,上述事務描述符標識至少三個集線器之間的多個接口的一個層次結構中的分離的集線器。
63.權利要求62的存儲器控制集線器,其中,上述請求信息包包括一個字段,該字段指明是否要求響應相應請求信息包的一個完成信息包。
64.權利要求63的存儲器控制集線器,其中,上述集線器之間的仲裁是對稱的和分布的。
65.權利要求64的存儲器控制集線器,其中,為一個集線器分配上述接口的擁有權,直到一個預定的時間量。
66.權利要求50的存儲器控制集線器,其中,上述存儲器控制集線器和一個處理器集成在一個單一的半導體單元中。
67.權利要求50的存儲器控制集線器,其中,上述存儲器控制集線器和一個圖形單元集成在一個單一的半導體單元中。
全文摘要
一個用于在計算機系統中的一個芯片組的存儲器控制集線器和輸入輸出控制集線器之間傳輸數據的接口,這一接口的一個實施方案包括一個雙向的數據信號路徑和一對源同步選通脈沖信號。數據信號路徑經由對事務進行分解按信息包傳輸數據。另外,信息包包括一個請求信息包,如果需要的話,還包括一個完成信息包。而且,在一個實施方案中,請求信息包包括一個事務描述符。
文檔編號G06F13/42GK1415094SQ00817827
公開日2003年4月30日 申請日期2000年10月23日 優先權日1999年10月26日
發明者J·阿亞諾維克, D·J·哈里曼 申請人:英特爾公司