專利名稱:統(tǒng)一連接器架構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及跨計(jì)算機(jī)系統(tǒng)的統(tǒng)一連接器架構(gòu)的實(shí)現(xiàn)。
背景技術(shù):
當(dāng)前計(jì)算機(jī)平臺(tái)架構(gòu)具有各種主機(jī)控制器,用于在計(jì)算機(jī)平臺(tái)和連接到平臺(tái)的外 設(shè)之間實(shí)現(xiàn)許多不同類型的I/O。例如,圖形主機(jī)控制器可能具有模擬和數(shù)字端口,這些端 口具有對(duì)應(yīng)的連接接口(即,將顯示設(shè)備連接到計(jì)算機(jī)平臺(tái)的電纜的末端的插頭)。在平臺(tái) 內(nèi)的局域網(wǎng)控制器一般具有一個(gè)或多個(gè)以太網(wǎng)插口。通用串行總線(USB)子系統(tǒng)具有許多 關(guān)聯(lián)的USB插頭接口。IEEE 1394火線也可以具有一個(gè)或多個(gè)插頭接口。單獨(dú)的和不同的 端口以及用于將外設(shè)插入計(jì)算機(jī)平臺(tái)的相關(guān)硬件接口的列表可以很長(zhǎng)。具有所有這些接口 和對(duì)應(yīng)的硬件插口/插頭的計(jì)算機(jī)平臺(tái)對(duì)于大量主板和機(jī)箱面積有顯著的需求,以便在一 處放置所有這種硬件。這限制了移動(dòng)計(jì)算機(jī)具有充足的這些接口的能力,并且在許多臺(tái)式 系統(tǒng)上的后部外設(shè)接口面板的大小也會(huì)不幸地增大。
通過示例來說明本發(fā)明,并且不受附圖的限制,其中,相同的附圖標(biāo)記指示相似的 部件,并且其中圖1描述了統(tǒng)一連接器架構(gòu)的系統(tǒng)級(jí)實(shí)現(xiàn)的一個(gè)實(shí)施例;圖2描述了統(tǒng)一連接器架構(gòu)(UCA)路由器和伴隨的統(tǒng)一連接器架構(gòu)邏輯的一個(gè)實(shí) 施例;圖3描述了用于獨(dú)立的顯卡和局域網(wǎng)(LAN)卡的統(tǒng)一連接器架構(gòu)插槽連接器的實(shí) 施例;圖4描述了擴(kuò)展到外圍設(shè)備中的統(tǒng)一連接器架構(gòu)的一個(gè)實(shí)施例;圖5是在統(tǒng)一連接器架構(gòu)環(huán)境中用于路由數(shù)據(jù)分組的過程的一個(gè)實(shí)施例的流程 圖。
具體實(shí)施例方式描述了用于在計(jì)算機(jī)平臺(tái)上實(shí)現(xiàn)統(tǒng)一連接器架構(gòu)的系統(tǒng)、設(shè)備和方法的實(shí)施例。 在以下描述中,闡述了大量具體的細(xì)節(jié)。但是,應(yīng)當(dāng)知道,可以在沒有這些具體細(xì)節(jié)的情況 下實(shí)現(xiàn)實(shí)施例。在其它例子中,沒有詳細(xì)地討論已知的部件、規(guī)范和協(xié)議,以免模糊本發(fā)明。圖1描述了統(tǒng)一連接器架構(gòu)的系統(tǒng)級(jí)實(shí)現(xiàn)的一個(gè)實(shí)施例。在許多實(shí)施例中,系統(tǒng) 包括一個(gè)或多個(gè)處理器,例如中央處理單元(CPU) 100。在不同的實(shí)施例中,CPU 100可以包 括一個(gè)核心或多個(gè)核心。在一些實(shí)施例中,系統(tǒng)是多處理器系統(tǒng)(未示出),其中,每一個(gè)處 理器具有一個(gè)核心或多個(gè)核心。CPU 100通過一個(gè)或多個(gè)高速鏈路(S卩,互連、總線等)耦合到系統(tǒng)存儲(chǔ)器102。系 統(tǒng)存儲(chǔ)器102能夠存儲(chǔ)CPU 100用來操作并執(zhí)行程序和操作系統(tǒng)的信息。在不同的實(shí)施例中,系統(tǒng)存儲(chǔ)器102可以是任何可用類型的可讀和可寫存儲(chǔ)器,例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器 (DRAM)的形式。在一些實(shí)施例中,CPU 100還通過另外的高速鏈路耦合到獨(dú)立的圖形控制器 104。獨(dú)立的圖形控制器104可以通過插槽連接器物理地耦合到主板或其它這種印刷電 路版。在許多實(shí)施例中,獨(dú)立的圖形控制器可以是插入PCi Express 圖形插槽連接器的 PCi Express 圖形控制器/顯卡。在這種情況下,PCi Express 圖形控制器/顯卡可以 符合諸如PCI Express :基本規(guī)范(2006年12月20日公布的2. ο修訂版)這樣的規(guī)范的 修訂版。在其它實(shí)施例中,獨(dú)立的圖形控制器使用不同于PClExpress 的協(xié)議。在一些實(shí) 施例中,CPU 100耦合到多個(gè)獨(dú)立的圖形控制器(沒有示出具有多個(gè)獨(dú)立的圖形控制器的 實(shí)施例)。在許多實(shí)施例中,CPU 100還耦合到I/O聯(lián)合體106。I/O聯(lián)合體106可以容納一 個(gè)或多個(gè)I/O主機(jī)控制器,其中的每一個(gè)控制一個(gè)或多個(gè)I/O鏈路,以允許CPU 100與連接 到計(jì)算機(jī)系統(tǒng)的I/O外設(shè)進(jìn)行通信。諸如顯示器108、顯示器110和無線路由器112這樣的 I/O外設(shè)是可以連接到計(jì)算機(jī)系統(tǒng)的I/O外設(shè)的例子。在許多實(shí)施例中,I/O聯(lián)合體106耦合到獨(dú)立的網(wǎng)絡(luò)接口控制器(NIC) 114。獨(dú)立 的OTC 114能夠提供計(jì)算機(jī)系統(tǒng)與該計(jì)算機(jī)系統(tǒng)之外的一個(gè)或多個(gè)網(wǎng)絡(luò)之間的接口。這些 網(wǎng)絡(luò)可以包括諸如計(jì)算機(jī)所在的域內(nèi)的無線或有線的內(nèi)聯(lián)網(wǎng)這樣的網(wǎng)絡(luò),或者它們還可以 包括互聯(lián)網(wǎng)本身。在許多實(shí)施例中,圖1中的系統(tǒng)包括統(tǒng)一連接器架構(gòu)(UCA)路由器116,其通過一 個(gè)或多個(gè)高速鏈路耦合到一個(gè)或多個(gè)統(tǒng)一連接器端口。這里顯示了四個(gè)統(tǒng)一連接器端口 端口 118、端口 120、端口 122和端口 124。如上所述,UCA路由器116還通過一個(gè)或多個(gè)I/ 0鏈路耦合到I/O聯(lián)合體106。這些I/O鏈路包括例如通用串行總線(USB)這樣的I/O鏈 路和/或任何其它可能的I/O鏈路。圖1示出了三個(gè)這種鏈路1/0鏈路126、1/0鏈路128 和I/O鏈路130。在許多實(shí)施例中,UCA路由器116是計(jì)算機(jī)系統(tǒng)中的主板136上的獨(dú)立部件。在 其它實(shí)施例中,UCA路由器可以被集成到I/O聯(lián)合體106中(未示出這些實(shí)施例)。在以前實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)中,I/O鏈路的與I/O聯(lián)合體106相對(duì)的端點(diǎn)將是專用 協(xié)議端口,其將允許兼容的外設(shè)連接到端口(例如,USB鍵盤設(shè)備會(huì)被插入到USB端口,無 線路由器設(shè)備會(huì)被插入到LAN/以太網(wǎng)端口等等)。任何單個(gè)端口將被限制到具有兼容插頭 和兼容協(xié)議的設(shè)備。一旦將兼容設(shè)備插入端口,將在I/O聯(lián)合體和外設(shè)之間建立通信鏈路。在如圖1所示的實(shí)施例中描述的計(jì)算機(jī)系統(tǒng)中,I/O鏈路(126-130)將I/O聯(lián)合 體106與UCA路由器116相耦合,然后路由器將最初以特定的主機(jī)控制器協(xié)議數(shù)據(jù)分組格 式發(fā)送的數(shù)據(jù)分組封裝為統(tǒng)一連接器協(xié)議數(shù)據(jù)分組格式。然后,UCA路由器116將統(tǒng)一連 接器協(xié)議數(shù)據(jù)分組路由到連接(例如,耦合、插入)了目標(biāo)外設(shè)的統(tǒng)一連接器端口。因此, 在這些實(shí)施例中,諸如顯示器108、顯示器110和無線路由器112這樣的I/O外設(shè)都與統(tǒng)一 連接器協(xié)議兼容,并且具有統(tǒng)一連接器外形尺寸(form factor)插頭,以便插入多個(gè)統(tǒng)一連 接器端口(118-124)中的任何一個(gè)。此外,UCA路由器116將來自任意所連接的外設(shè)的統(tǒng)一連接器協(xié)議數(shù)據(jù)分組轉(zhuǎn)換 為I/O聯(lián)合體內(nèi)的目標(biāo)I/O主機(jī)控制器所具有的協(xié)議。
6
因此,從計(jì)算機(jī)系統(tǒng)發(fā)送到外設(shè)的以及從外設(shè)發(fā)送到計(jì)算機(jī)系統(tǒng)的I/O數(shù)據(jù)(例 如顯示、網(wǎng)絡(luò)、USB數(shù)據(jù)等)都被分組并且在每個(gè)統(tǒng)一連接器協(xié)議數(shù)據(jù)分組內(nèi)的物理層被封 裝。關(guān)于獨(dú)立的圖形控制器和獨(dú)立的NIC控制器,這些控制器生成并且接收根據(jù)由它們各 自的協(xié)議棧所定義的物理層來安排格式的I/O數(shù)據(jù)。當(dāng)在統(tǒng)一連接器端口上傳送該數(shù)據(jù) 時(shí),進(jìn)一步以由統(tǒng)一連接器數(shù)據(jù)協(xié)議所定義的分組格式(即,幀格式)將其封裝。下面參照 圖2詳細(xì)描述UCA路由器116如何完成封裝和分組的具體實(shí)現(xiàn)。返回到圖1,在許多實(shí)施例中,示出了將獨(dú)立的圖形控制器104以及獨(dú)立的NIC 114直接耦合到UCA路由器116的另外的專用鏈路。這些鏈路分別顯示為虛線鏈路132和 134。顯示和網(wǎng)絡(luò)虛線鏈路允許顯示設(shè)備和/或網(wǎng)絡(luò)設(shè)備通過統(tǒng)一連接器端口(例如,統(tǒng)一 連接器端口 118-124中的一個(gè))插入計(jì)算機(jī)系統(tǒng)。鏈路132和134從直接附屬于獨(dú)立的卡 的端口去掉以前必需的顯示和網(wǎng)絡(luò)耦合位置。例如,顯示外設(shè)以前被直接插入顯卡上的顯 示端口。利用統(tǒng)一連接器架構(gòu)實(shí)現(xiàn),顯示和網(wǎng)絡(luò)設(shè)備被連接到統(tǒng)一連接器端口,其位于系統(tǒng) 主板136上,而不是位于獨(dú)立的圖形控制器104卡上。圖2描述了統(tǒng)一連接器架構(gòu)(UCA)路由器和伴隨的統(tǒng)一連接器架構(gòu)邏輯的一個(gè)實(shí) 施例。如圖1所示,示出了 UCA路由器116,其耦合到多個(gè)主機(jī)控制器(顯示控制器200、 202和204、NIC 206和208、以及USB主機(jī)控制器210)。此外,UCA路由器116還耦合到多 個(gè)統(tǒng)一的連接器端口(端口 212-220)。此外,許多外設(shè)連接到所述端口中的多個(gè)端口。外 設(shè)I(Pl)網(wǎng)絡(luò)攝像頭222耦合到外設(shè)2 (P2)顯示監(jiān)視器224,其耦合到統(tǒng)一連接器端口 212。 外設(shè)3(P3)顯示監(jiān)視器226耦合到統(tǒng)一連接器端口 214。外設(shè)4(P4)無線路由器228耦合 到統(tǒng)一連接器端口 218。最后,外設(shè)5(P5)USB打印機(jī)230耦合到統(tǒng)一連接器端口 220。在許多實(shí)施例中,統(tǒng)一連接器架構(gòu)使用分組交換通信以在主機(jī)控制器(200-210) 和所連接的外設(shè)(222-230)之間交換數(shù)據(jù)。分組交換是主機(jī)控制器和外圍設(shè)備之間的常 見的分組傳輸方法。使用常見的發(fā)現(xiàn)協(xié)議來枚舉連接到平臺(tái)的外設(shè),并且檢測(cè)外設(shè)的任何 熱插拔。一旦枚舉了外設(shè),就使用數(shù)據(jù)傳輸協(xié)議在特定主機(jī)控制器和特定外設(shè)之間交換應(yīng) 用I/O數(shù)據(jù)。在一些實(shí)施例中,統(tǒng)一連接器架構(gòu)發(fā)現(xiàn)協(xié)議和數(shù)據(jù)傳輸協(xié)議可以是相應(yīng)的 USB2. 0協(xié)議的對(duì)應(yīng)部分(如在2000年4月27日公布的USB規(guī)范2. 0修訂版中所定義的) 的擴(kuò)展。在其它實(shí)施例中,統(tǒng)一連接器架構(gòu)發(fā)現(xiàn)協(xié)議和數(shù)據(jù)傳輸協(xié)議可以是任何其它類型 的可用的設(shè)備發(fā)現(xiàn)協(xié)議和數(shù)據(jù)傳輸協(xié)議的擴(kuò)展。由連接管理器232執(zhí)行連接的外設(shè)(222-230)的枚舉。在不同的實(shí)施例中,連接 管理器232可以被實(shí)現(xiàn)為一塊低層固件、UCA路由器116內(nèi)的邏輯、系統(tǒng)BIOS (基本輸入/ 輸出系統(tǒng))的一部分,或者在計(jì)算機(jī)系統(tǒng)上運(yùn)行的操作系統(tǒng)內(nèi)實(shí)現(xiàn)。連接管理器232負(fù)責(zé) 識(shí)別連接到統(tǒng)一連接器端口的外設(shè)的類型(例如顯示器、網(wǎng)絡(luò)設(shè)備、USB設(shè)備等),并且將唯 一的地址分配給外設(shè)。在許多實(shí)施例中,多功能設(shè)備被分配多個(gè)地址。在許多實(shí)施例中,在綁定表234中定義每個(gè)外設(shè)(P1-P5)與處理該外設(shè)的I/O數(shù) 據(jù)的特定主機(jī)控制器(200-210中的一個(gè))之間的關(guān)聯(lián)。可以在系統(tǒng)內(nèi)的任何類型的存儲(chǔ) 器中實(shí)現(xiàn)綁定表,例如系統(tǒng)存儲(chǔ)器、高速緩存、緩沖器等。UCA路由器116使用綁定表以查明 正確的數(shù)據(jù)分組(即,幀)傳輸目標(biāo)。使用綁定表,傳輸目標(biāo)取決于正被發(fā)送的分組/幀的 起點(diǎn)。如果路由器從主機(jī)控制器(例如顯示控制器、網(wǎng)絡(luò)控制器、I/O控制器等)接收數(shù)據(jù) 分組,那么目標(biāo)是預(yù)期的目標(biāo)外設(shè)耦合到(例如插入)的端口。如果路由器從統(tǒng)一連接器端口接收統(tǒng)一連接器協(xié)議數(shù)據(jù)分組(即,數(shù)據(jù)分組從耦合到端口的外圍設(shè)備發(fā)起),那么目 標(biāo)是綁定到該外設(shè)的主機(jī)控制器。例如,顯示控制器200發(fā)送以P2顯示器224為目標(biāo)的顯 示數(shù)據(jù)的分組,UCA路由器116接收分組,使用綁定表來確定目標(biāo)外設(shè)(P2)(例如,P2被綁 定到A鏈路,A鏈路耦合到顯示控制器200),將數(shù)據(jù)分組封裝入統(tǒng)一連接器協(xié)議數(shù)據(jù)分組, 并且通過統(tǒng)一連接器端口 212向P2發(fā)送分組。在許多實(shí)施例中,外設(shè)可以脫離單個(gè)端口被 鏈連到一起,例如Pl鏈接到P2,P2耦合到統(tǒng)一連接器端口 212。圖2示出了綁定表的例子, 其闡明了 Pl綁定到鏈路F (USB主機(jī)控制器210),P2綁定到鏈路A (顯示控制器200),P3綁 定到鏈路C (顯示控制器204),P4綁定到鏈路D (網(wǎng)絡(luò)接口控制器206),P5也綁定到鏈路 F (USB主機(jī)控制器210)。在許多實(shí)施例中,在系統(tǒng)引導(dǎo)時(shí)(即,當(dāng)系統(tǒng)上電時(shí),或當(dāng)控制操作系統(tǒng)執(zhí)行計(jì)算 機(jī)的軟重啟時(shí)),綁定表由連接管理器初始地建立。也可以在運(yùn)行時(shí)間期間由系統(tǒng)軟件(操 作系統(tǒng)或虛擬機(jī)管理器)來進(jìn)行重新映射,以實(shí)現(xiàn)基于系統(tǒng)I/O流的動(dòng)態(tài)交換來改變使用 模型。例如,在移動(dòng)平臺(tái)中,當(dāng)系統(tǒng)插上電源時(shí),可以將顯示外設(shè)與獨(dú)立的圖形控制器相關(guān) 聯(lián),并且當(dāng)系統(tǒng)使用電池運(yùn)行時(shí),可以通過重新映射綁定信息,將顯示外設(shè)動(dòng)態(tài)地切換到集 成圖形控制器。UCA路由器116還負(fù)責(zé)對(duì)顯示和網(wǎng)絡(luò)I/O數(shù)據(jù)進(jìn)行分組和封裝。在許多實(shí)施例中, UCA路由器116具有一個(gè)或多個(gè)內(nèi)部緩沖器,用于保存連續(xù)的顯示數(shù)據(jù)的流,同時(shí)構(gòu)造統(tǒng)一 連接器協(xié)議數(shù)據(jù)分組(即,幀)。因此,在UCA路由器116內(nèi)的邏輯可以將流存儲(chǔ)在緩沖器 中,從所存儲(chǔ)的流信息構(gòu)造單獨(dú)的幀,并且當(dāng)幀完成時(shí)發(fā)送幀。在其它實(shí)施例中,一個(gè)或多 個(gè)主機(jī)控制器(200-210) 了解UCA路由器116以及統(tǒng)一連接器協(xié)議格式。在主機(jī)控制器了 解UCA路由器116的這些實(shí)施例中,了解UCA路由器116的主機(jī)控制器可以自己構(gòu)造統(tǒng)一 連接器協(xié)議數(shù)據(jù)分組,并與UCA路由器116交換本地的統(tǒng)一連接器協(xié)議幀,從而減輕了 UCA 路由器116的轉(zhuǎn)換/交換任務(wù)。在這種情況下,UCA路由器116可以只需要將這些預(yù)先封 裝的數(shù)據(jù)分組幀轉(zhuǎn)發(fā)到目標(biāo)外設(shè)。在許多實(shí)施例中,UCA路由器116還負(fù)責(zé)將統(tǒng)一連接器協(xié)議數(shù)據(jù)分組解構(gòu) (deconstruction)入對(duì)應(yīng)的本地主機(jī)控制器格式數(shù)據(jù)分組。這在綁定到特定主機(jī)控制器的 外設(shè)發(fā)送以該主機(jī)控制器為目標(biāo)的統(tǒng)一連接器協(xié)議數(shù)據(jù)分組時(shí)發(fā)生。分組從外設(shè)到達(dá)統(tǒng)一 連接器端口,UCA路由器116從該端口得到分組,并且將分組解構(gòu)為針對(duì)主機(jī)控制器的本地 格式,然后向目標(biāo)主機(jī)控制器發(fā)送解構(gòu)的本地?cái)?shù)據(jù)分組。圖3描述了用于獨(dú)立的顯卡和局域網(wǎng)(LAN)卡的統(tǒng)一連接器架構(gòu)插槽連接器的實(shí) 施例。為了說明對(duì)當(dāng)前的獨(dú)立的顯卡和LAN卡的改變,圖3示出了每種卡的當(dāng)前版本,并且 并排地示出了每種卡的統(tǒng)一連接器架構(gòu)(UCA)版本。圖3所示的例子使用PCI Express , 盡管可以使用任何其它的相關(guān)協(xié)議。示出了 PCI Express ^!立顯卡3oo的當(dāng)前版本。顯卡300包括如圖所示的插槽 連接器針腳302。此外,顯卡300具有外部顯示外設(shè)連接器304。在當(dāng)前的PCi Express 獨(dú)立顯卡的情況下,當(dāng)顯卡300被插入計(jì)算機(jī)系統(tǒng)主板上的PCI Express 顯卡插槽時(shí),通 過物理地耦合到插槽連接器針腳302的PCI Express 鏈路將來自CPU和系統(tǒng)存儲(chǔ)器的數(shù) 據(jù)發(fā)送到顯卡300。然后,顯卡300對(duì)接收到的數(shù)據(jù)進(jìn)行操作,并且將其發(fā)送到插入外部顯示外設(shè)連接器304的顯示外設(shè)。下面轉(zhuǎn)向具有UCA306的獨(dú)立顯卡,在圖3所示的實(shí)施例中,具有UCA功能的顯卡 306包括插槽連接器針腳308,其類似于當(dāng)前版本的顯卡300。盡管不具有外部顯示外設(shè)連 接器,但是具有UCA的獨(dú)立顯卡306具有額外的插槽連接器針腳310。一旦具有UCA的獨(dú)立 顯卡306已從PCI Express 鏈路(從插槽連接器針腳308)接收到數(shù)據(jù)并且已對(duì)所接收到 的數(shù)據(jù)進(jìn)行了操作,那么具有UCA功能的顯卡306就向插入主板上的統(tǒng)一連接器端口的顯 示外設(shè)發(fā)送數(shù)據(jù)。具體地說,通過額外的PCi Express 鏈路路徑發(fā)送的數(shù)據(jù)被從插槽連接 器路由到系統(tǒng)中的UCA路由器(這在圖1中顯示為鏈路132)。這些額外的鏈路路徑物理地 耦合到額外的插槽連接器針腳310。接下來,圖3示出了當(dāng)前版本的PCI Express 獨(dú)立LAN卡312 (其具有集成在卡上 的NIC)。如圖所示,LAN卡312包括插槽連接器針腳314。此外,LAN卡312具有外部LAN/ 以太網(wǎng)連接器316。在當(dāng)前PCI Express 獨(dú)立LAN卡的情況下,當(dāng)LAN卡312被插入計(jì)算 機(jī)系統(tǒng)主板上的PCI Express LAN卡插槽時(shí),通過物理地耦合到插槽連接器針腳314的 PCI Express 鏈路,將來自CPU和系統(tǒng)存儲(chǔ)器的數(shù)據(jù)發(fā)送到LAN卡312。然后,LAN卡312 對(duì)接收到的數(shù)據(jù)進(jìn)行分組,并且通過LAN/以太網(wǎng)連接器316所插入的網(wǎng)絡(luò)來將其發(fā)送。最后,轉(zhuǎn)向具有UCA的獨(dú)立LAN卡318,在圖3所示的實(shí)施例中,具有UCA功能的 LAN卡318包括插槽連接器針腳320,其類似于當(dāng)前版本的LAN卡312。盡管不具有外部 LAN/以太網(wǎng)連接器,但是具有UCA的獨(dú)立LAN卡318具有額外的插槽連接器針腳310。一 旦具有UCA的獨(dú)立LAN卡312已經(jīng)從PCi Express 鏈路(從插槽連接器針腳320)接收到 數(shù)據(jù)并且已經(jīng)對(duì)所接收到的數(shù)據(jù)進(jìn)行了分組,具有UCA功能的LAN卡318就向插入主板上 的統(tǒng)一連接器端口的以太網(wǎng)電纜發(fā)送數(shù)據(jù)。具體地說,通過額外的PCi Express 鏈路路 徑發(fā)送的數(shù)據(jù)被從插槽連接器路由到系統(tǒng)中的UCA路由器(這在圖1中顯示為鏈路134)。 這些額外的鏈路路徑物理地耦合到額外的插槽連接器針腳322。圖4描述了擴(kuò)展到外圍設(shè)備中的統(tǒng)一連接器架構(gòu)的一個(gè)實(shí)施例。在許多實(shí)施例 中,使用統(tǒng)一連接器架構(gòu)的計(jì)算機(jī)系統(tǒng)400包括在圖1-3中描述的所有特定部件。具體地 說,存在UCA路由器116并且耦合到一個(gè)或多個(gè)主機(jī)控制器(可能包括I/O主機(jī)控制器、顯 示控制器、網(wǎng)絡(luò)控制器等)以及一個(gè)或多個(gè)通用連接器端口(在該例子中,存在4個(gè)端口 通用連接器端口 402、404、406和408)。在許多實(shí)施例中,外圍設(shè)備410通過插入通用連接器端口 404的電纜412耦合到 計(jì)算機(jī)系統(tǒng)400。在外圍設(shè)備410—側(cè),電纜412被插入通用連接器端口 414,其可以具有 與通用連接器端口 404相同的外形尺寸(formfactor)。外圍設(shè)備410具有集成的UCA邏輯 設(shè)備416。在一些實(shí)施例中,UCA邏輯設(shè)備416具有與計(jì)算機(jī)系統(tǒng)400中的UCA路由器116 相同的功能(例如,在具有USB端口的多功能顯示器內(nèi))。在其它實(shí)施例中,UCA邏輯設(shè)備 416是簡(jiǎn)單的協(xié)議轉(zhuǎn)換器,其將統(tǒng)一連接器協(xié)議數(shù)據(jù)分組轉(zhuǎn)換為外圍設(shè)備的本地協(xié)議的數(shù) 據(jù)分組,并且反之亦然。外圍設(shè)備410中的UCA邏輯設(shè)備416接收以該外圍設(shè)備為目標(biāo)的、從計(jì)算機(jī)系統(tǒng) 400中的UCA路由器116發(fā)送的統(tǒng)一連接器協(xié)議數(shù)據(jù)分組。在一些實(shí)施例中,UCA邏輯設(shè)備 416還從外圍設(shè)備內(nèi)部邏輯418接收本地外圍設(shè)備格式的數(shù)據(jù)分組。在其它實(shí)施例中,外圍設(shè)備內(nèi)部邏輯418在本地了解統(tǒng)一連接器協(xié)議數(shù)據(jù)分組格式,這允許內(nèi)部邏輯構(gòu)造統(tǒng)一連 接器協(xié)議數(shù)據(jù)分組,并且向UCA邏輯設(shè)備416發(fā)送該格式的數(shù)據(jù)分組。在這些實(shí)施例中,不 需要UCA邏輯設(shè)備416為在任一方向(即,從外圍設(shè)備內(nèi)部邏輯418到計(jì)算機(jī)系統(tǒng)400的 方向以及相反的方向)上傳送的數(shù)據(jù)分組(即,幀)執(zhí)行任何封裝工作。相反,在這些實(shí)施 例中,當(dāng)UCA路由器416接收到數(shù)據(jù)分組時(shí),只是將數(shù)據(jù)分組轉(zhuǎn)發(fā)到適當(dāng)?shù)哪繕?biāo)。圖5是在統(tǒng)一連接器架構(gòu)環(huán)境中路由數(shù)據(jù)分組的過程的一個(gè)實(shí)施例的流程圖???以由硬件、軟件或它們的組合來執(zhí)行該過程?,F(xiàn)在轉(zhuǎn)向圖5,過程從處理邏輯確定外圍設(shè)備 是否已被插入統(tǒng)一連接器端口開始(處理框500)?!安迦搿笔侵竿鈬O(shè)備耦合或連接到統(tǒng) 一連接器端口。在不同的實(shí)施例中,“插入”可以在任何時(shí)間發(fā)生,例如在引導(dǎo)之前,或者當(dāng) 允許熱插拔時(shí)在完全系統(tǒng)操作期間。如果沒有插入外圍設(shè)備,那么在處理框500進(jìn)行重復(fù) (即,輪詢統(tǒng)一連接器端口——或者連續(xù)地輪詢,或者每隔一設(shè)定的時(shí)間段發(fā)生一次輪詢)。接下來,一旦處理邏輯已檢測(cè)到設(shè)備已被插入,處理邏輯就枚舉外圍設(shè)備(處理 框502)。然后,處理邏輯將外圍設(shè)備綁定到系統(tǒng)中存在的主機(jī)控制器(處理框504)。外圍 設(shè)備被綁定到與其兼容的主機(jī)控制器(即,他們共享相同的協(xié)議)。在綁定之后,處理邏輯確定是否已接收到數(shù)據(jù)分組(處理框506)。如果還未接收 到數(shù)據(jù)分組,則處理邏輯確定在外圍設(shè)備中是否有改變/更改(處理框508)。例如,第一外 圍設(shè)備已被拔出并且第二外圍設(shè)備已被插入同一個(gè)統(tǒng)一連接器端口。如果外圍設(shè)備的狀態(tài) 沒有改變,則處理邏輯返回到處理框506并且再次檢查是否已接收到數(shù)據(jù)分組。否則,如果 已檢測(cè)到外圍設(shè)備的改變,則處理邏輯返回到處理框500,以重新檢查外圍設(shè)備是否被插入 統(tǒng)一連接器端口。返回到處理框506,如果已接收到數(shù)據(jù)分組,則處理邏輯確定該數(shù)據(jù)分組是從外圍 設(shè)備接收的還是從主機(jī)控制器接收的(處理框510)。如果是從外圍設(shè)備接收的數(shù)據(jù)分組, 則數(shù)據(jù)分組是統(tǒng)一連接器協(xié)議數(shù)據(jù)分組,并且處理邏輯繼續(xù)將統(tǒng)一連接器協(xié)議數(shù)據(jù)分組解 構(gòu)入與主機(jī)控制器的協(xié)議兼容的一個(gè)或多個(gè)本地主機(jī)控制器數(shù)據(jù)分組(處理框512)。在 處理邏輯將統(tǒng)一連接器協(xié)議數(shù)據(jù)分組解構(gòu)入本地主機(jī)控制器協(xié)議數(shù)據(jù)分組之后,處理邏輯 向主機(jī)控制器發(fā)送本地主機(jī)控制器數(shù)據(jù)分組(處理框514)。然后,處理邏輯返回到處理框 506以檢查是否已接收到另一個(gè)數(shù)據(jù)分組。返回處理框510,如果數(shù)據(jù)分組來自主機(jī)控制器,則數(shù)據(jù)分組具有主機(jī)控制器的本 地協(xié)議格式,并且處理邏輯繼續(xù)將本地主機(jī)控制器數(shù)據(jù)分組封裝入統(tǒng)一連接器協(xié)議數(shù)據(jù)分 組(處理框516)。一旦統(tǒng)一連接器協(xié)議數(shù)據(jù)分組已被創(chuàng)建,處理邏輯就向統(tǒng)一連接器端口 發(fā)送以插入該端口的外圍設(shè)備為目標(biāo)的統(tǒng)一連接器協(xié)議數(shù)據(jù)分組(處理框518)。最后,處 理邏輯返回到處理框506以檢查是否已接收到另一個(gè)數(shù)據(jù)分組,并且過程結(jié)束。因此,描述了用于在計(jì)算機(jī)平臺(tái)上實(shí)現(xiàn)統(tǒng)一連接器架構(gòu)的系統(tǒng)、設(shè)備和方法的實(shí) 施例。已經(jīng)參照具體的示例性實(shí)施例描述了這些實(shí)施例。對(duì)于受益于本公開的人員來說顯 而易見的是,在不脫離本文所描述的實(shí)施例的更廣的精神和范圍的情況下,可以對(duì)這些實(shí) 施例做出各種修改和改變。因此,說明書和附圖應(yīng)被認(rèn)為是說明性的而不是限制性的。
權(quán)利要求
一種系統(tǒng),包括使用第一協(xié)議的第一主機(jī)控制器;使用第二協(xié)議的第二主機(jī)控制器,其中,所述第一協(xié)議和第二協(xié)議是不同的;統(tǒng)一連接器端口;以及路由器,其耦合到所述第一主機(jī)控制器、所述第二主機(jī)控制器和所述統(tǒng)一連接器端口,所述路由器用于將從所述第一主機(jī)控制器接收的物理層分組封裝入第一統(tǒng)一連接器協(xié)議幀,并且向所述統(tǒng)一連接器端口發(fā)送所述第一幀;以及將從所述第二主機(jī)控制器接收的物理層分組封裝入第二統(tǒng)一連接器協(xié)議幀,并且向所述統(tǒng)一連接器端口發(fā)送所述第二幀。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),還包括 耦合到所述統(tǒng)一連接器端口的外圍設(shè)備;以及 連接管理器邏輯,用于識(shí)別所述外圍設(shè)備的類型;以及 將唯一的地址分配給所述外圍設(shè)備。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),還包括 用于存儲(chǔ)綁定表的存儲(chǔ)器,其中,所述路由器還可用于使用所述綁定表來確定所述外圍設(shè)備與所述第一主機(jī)控制 器和所述第二主機(jī)控制器中的一個(gè)之間的關(guān)聯(lián),所述關(guān)聯(lián)用于通知所述路由器是將從所述 外圍設(shè)備接收的物理層分組發(fā)送到所述第一主機(jī)控制器還是發(fā)送到所述第二主機(jī)控制器。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中,所述連接管理器邏輯還可用于在系統(tǒng)引導(dǎo)時(shí)建 立所述綁定表。
5.根據(jù)權(quán)利要求1所述的系統(tǒng),其中,所述路由器還包括緩沖器,所述緩沖器用于存儲(chǔ)數(shù)據(jù)的流,其中,所述流內(nèi)的多個(gè)分組構(gòu)成一個(gè)統(tǒng)一連接 器協(xié)議幀。
6.根據(jù)權(quán)利要求1所述的系統(tǒng),還包括將從除了所述第一和第二主機(jī)控制器之外的一個(gè)或多個(gè)另外的主機(jī)控制器接收的一 個(gè)或多個(gè)物理層分組封裝入一個(gè)或多個(gè)另外的統(tǒng)一連接器協(xié)議幀,并且向所述統(tǒng)一連接器 端口發(fā)送所述一個(gè)或多個(gè)另外的幀,其中,所述一個(gè)或多個(gè)另外的主機(jī)控制器具有不同于 所述第一和第二協(xié)議的一個(gè)或多個(gè)協(xié)議。
7.一種設(shè)備,包括路由器,其耦合到第一主機(jī)控制器和統(tǒng)一連接器端口,所述路由器用于將從所述第一 主機(jī)控制器接收的物理層分組封裝入第一統(tǒng)一連接器協(xié)議幀,并且向所述統(tǒng)一連接器端口 發(fā)送所述第一幀。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其中,所述路由器還包括用于存儲(chǔ)連接管理器邏輯的 固件,所述連接管理器邏輯用于識(shí)別耦合到所述統(tǒng)一連接器端口的外圍設(shè)備的類型;以及 將唯一的地址分配給所述外圍設(shè)備。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其中,所述路由器還包括存儲(chǔ)器,用于存儲(chǔ)綁定表,其中,所述路由器還可用于使用所述綁定表來確定所述外圍設(shè)備與所述第一主機(jī)控制 器之間的關(guān)聯(lián),所述關(guān)聯(lián)用于通知所述路由器將從所述外圍設(shè)備接收的物理層分組發(fā)送給 所述第一主機(jī)控制器。
10.根據(jù)權(quán)利要求9所述的設(shè)備,其中,所述連接管理器邏輯還可用于在系統(tǒng)引導(dǎo)時(shí)建 立所述綁定表。
11.根據(jù)權(quán)利要求7所述的設(shè)備,其中,所述路由器還包括緩沖器,所述緩沖器用于存儲(chǔ)數(shù)據(jù)的流,其中,所述流內(nèi)的多個(gè)分組構(gòu)成一個(gè)統(tǒng)一連接 器協(xié)議幀。
12.根據(jù)權(quán)利要求7所述的設(shè)備,其中,所述路由器耦合到第二主機(jī)控制器,所述第一 主機(jī)控制器和所述第二主機(jī)控制器使用不同的協(xié)議,所述路由器還可用于將從所述第二主機(jī)控制器接收的物理層分組封裝入第二統(tǒng)一連 接器協(xié)議幀,并且向所述統(tǒng)一連接器端口發(fā)送所述第二幀。
13.一種方法,包括將從第一主機(jī)控制器接收的物理層分組封裝入第一統(tǒng)一連接器協(xié)議幀;向統(tǒng)一連接器端口發(fā)送所述第一幀;將從第二主機(jī)控制器接收的物理層分組封裝入第二統(tǒng)一連接器協(xié)議幀;以及向所述統(tǒng)一連接器端口發(fā)送所述第二幀,其中,所述第一主機(jī)控制器和所述第二主機(jī)控制器使用不同的I/O協(xié)議。
14.根據(jù)權(quán)利要求13所述的方法,還包括識(shí)別耦合到所述統(tǒng)一連接器端口的第一外圍設(shè)備的類型;以及將唯一的地址分配給所述第一外圍設(shè)備。
15.根據(jù)權(quán)利要求14所述的方法,還包括確定所述第一外圍設(shè)備與所述第一主機(jī)控制器和所述第二主機(jī)控制器中的一個(gè)之間 的關(guān)聯(lián),所述關(guān)聯(lián)用于確立傳輸目標(biāo)主機(jī)控制器。
16.根據(jù)權(quán)利要求15所述的方法,還包括當(dāng)所述第一外圍設(shè)備被插入所述統(tǒng)一連接 器端口時(shí),確定所述關(guān)聯(lián)。
17.根據(jù)權(quán)利要求13所述的方法,還包括根據(jù)從圖形控制器生成的數(shù)據(jù)的流中的多 個(gè)分組,構(gòu)造統(tǒng)一連接器顯示幀。
18.根據(jù)權(quán)利要求17所述的方法,還包括根據(jù)從所述統(tǒng)一連接器端口和網(wǎng)絡(luò)接口控 制器中的一個(gè)生成的數(shù)據(jù)的流中的多個(gè)網(wǎng)絡(luò)數(shù)據(jù)分組,構(gòu)造統(tǒng)一連接器網(wǎng)絡(luò)數(shù)據(jù)幀。
19.根據(jù)權(quán)利要求14所述的方法,還包括將從所述統(tǒng)一連接器端口接收的第三統(tǒng)一連接器協(xié)議幀解構(gòu)入一個(gè)或多個(gè)得到的物 理層分組;將從所述被解構(gòu)的第三幀得到的所述一個(gè)或多個(gè)物理層分組發(fā)送給所述第一主機(jī)控 制器;將從所述統(tǒng)一連接器端口接收的第四統(tǒng)一連接器協(xié)議幀解構(gòu)入一個(gè)或多個(gè)得到的物 理層分組;以及將從所述被解構(gòu)的第四幀得到的所述一個(gè)或多個(gè)物理層分組發(fā)送給所述第二主機(jī)控制器。
20.根據(jù)權(quán)利要求19所述的方法,還包括所述第一外圍設(shè)備發(fā)送所述第三協(xié)議幀,所述第一外圍設(shè)備兼容所述第一主機(jī)控制器 的協(xié)議;以及第二外圍設(shè)備發(fā)送所述第四協(xié)議幀,所述第二外圍設(shè)備兼容所述第二主機(jī)控制器的協(xié)議;其中,所述第一外圍設(shè)備在發(fā)送所述第三協(xié)議幀之后從所述統(tǒng)一連接器端口去耦,并 且所述第二外圍設(shè)備隨后在發(fā)送所述第四協(xié)議幀之前耦合到所述統(tǒng)一連接器端口。
全文摘要
公開了一種系統(tǒng)、設(shè)備和方法。在一個(gè)實(shí)施例中,系統(tǒng)包括使用第一協(xié)議的第一主機(jī)控制器。系統(tǒng)還包括使用第二協(xié)議的第二主機(jī)控制器。系統(tǒng)還包括統(tǒng)一連接器端口。最后,系統(tǒng)包括路由器,其耦合到第一主機(jī)控制器、第二主機(jī)控制器和統(tǒng)一連接器端口。路由器的功能能夠?qū)碜缘谝恢鳈C(jī)控制器的物理層分組封裝入第一統(tǒng)一連接器協(xié)議幀,并且向統(tǒng)一連接器端口發(fā)送新的第一幀。路由器還能夠?qū)牡诙鳈C(jī)控制器接收的物理層分組封裝入第二統(tǒng)一連接器協(xié)議幀,然后向統(tǒng)一連接器端口發(fā)送第二幀。第一和第二協(xié)議是不同的協(xié)議。
文檔編號(hào)H04L12/56GK101911609SQ200880122959
公開日2010年12月8日 申請(qǐng)日期2008年11月25日 優(yōu)先權(quán)日2007年12月26日
發(fā)明者A·V·巴特, P·R·錢德拉 申請(qǐng)人:英特爾公司