專利名稱:通用序列總線輸入輸出端口傳送器及其傳送方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于一種序列數(shù)據(jù)鏈路傳送的優(yōu)先權(quán)調(diào)度,特別是有關(guān)于一種通用序 列總線(USB)架構(gòu)。
背景技術(shù):
在近幾年,通用序列總線(USB)架構(gòu)已成為廣泛利用的高速度序列電纜總線,其 設(shè)計(jì)為支持在主計(jì)算機(jī)與各種可同步存取的接口設(shè)備之間的數(shù)據(jù)交換。通過主機(jī)調(diào)度身 份驗(yàn)證協(xié)議(host-scheduled,token-based protocol),附屬的接口設(shè)備共享USB頻寬。 尤其是,于2008年11月12日被列入U(xiǎn)SB 3. 0規(guī)格版本1. 0且由USB應(yīng)用廠商論壇(USB Implementer Forum)所管理與宣傳的USB 3. 0架構(gòu),具有優(yōu)于先前USB架構(gòu)的理想特性,其 包括SuperSpeed協(xié)議。根據(jù)USB 3. 0的規(guī)格,USB輸入輸出端口傳送器可以傳送各種類型的傳輸,包括連 結(jié)指令、標(biāo)頭封包、數(shù)據(jù)封包、跳略指令集(SKP ordered sets)、訓(xùn)練序列指令集、以及位錯(cuò) 誤率測試(Bit Error Rate Test,BERT)指令集。USB裝置將這些傳輸傳送至在序列連結(jié)上 且連接USB裝置的輸入輸出端口的另一者。當(dāng)在U0操作狀態(tài)(正常操作狀態(tài))下,多個(gè)連 結(jié)指令、標(biāo)頭封包、數(shù)據(jù)封包、以及跳略指令集被調(diào)度由一 USB輸入輸出端口來傳送時(shí),則 需要一仲裁器來安排這些傳輸在此輸入輸出端口所連接的USB鏈路上的傳送優(yōu)先級(jí)。USB 3. 0規(guī)格中的章節(jié)10. 7. 5與章節(jié)10. 7. 9分別包括第10-16圖與第10-18圖,其敘述USB輸 入輸出端口傳送器狀態(tài)機(jī)的功能需求。根據(jù)這些圖標(biāo),由USB 3. 0規(guī)格的這些章節(jié)所推論 出的傳輸?shù)恼{(diào)度優(yōu)先權(quán)規(guī)則如下1.連結(jié)指令傳輸(所有連結(jié)指令)與跳略指令集(如果需要)一最高優(yōu)先2.標(biāo)頭封包傳輸(交易封包(Transaction Packet, TP))、連結(jié)管理封包 (Link Management Packer (LMP) > l^i, ^ ^ W W fe] EP id ^ ^ (IsochronousTimestamp Packet (ITP)))與跳略指令集(如果需要)一次高優(yōu)先3.數(shù)據(jù)封包傳輸與跳略指令集_最低優(yōu)先上述所提及的各種類型傳輸定義于USB 3. 0規(guī)格中章節(jié)“Terms andAbbreviations"的第 2-1 至 2—7 頁。USB輸入輸出端口仲裁器根據(jù)USB 3. 0規(guī)格所推論出的單一優(yōu)先權(quán)規(guī)則而決定哪 一被調(diào)度的傳輸先被傳送,但在一些情況下,此USB輸入輸出端口仲裁器可能無法具有較 佳的效能與傳輸狀態(tài)。
發(fā)明內(nèi)容
本發(fā)明提供一種通用序列總線(universal serial bus, USB)輸入輸出端口傳送 器,用以在一 USB鏈路上傳送USB傳輸。此USB輸入輸出端口傳送器包括多個(gè)仲裁器。每一 仲裁器利用一優(yōu)先權(quán)規(guī)則以根據(jù)多個(gè)被調(diào)度的USB傳輸?shù)念愋投赃@些被調(diào)度的USB傳輸 中選擇一USB傳輸。此USB輸入輸出端口傳送器也包括一選擇器,耦接上述多個(gè)仲裁器。選擇器選擇上述多個(gè)仲裁器中的一者以自被調(diào)度的USB傳輸中選擇一 USB傳輸,以在USB鏈 路上傳送。在一實(shí)施例中,一可編程儲(chǔ)存元件提供一數(shù)值至選擇器,以控制選擇器選擇上述 多個(gè)仲裁器中的一者。在一實(shí)施例中,由上述多個(gè)仲裁器中至少一第一者所使用的優(yōu)先權(quán) 規(guī)則包含多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)連結(jié)指令類型傳輸,且由上述多 個(gè)仲裁器中至少一第二者所使用的優(yōu)先權(quán)規(guī)則包含多個(gè)連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于 多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸。在一實(shí)施例中,由上述多個(gè)仲裁器中該至少一第二者所使 用的優(yōu)先權(quán)規(guī)則包含多個(gè)流程控制與功率管理連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)標(biāo)頭/ 數(shù)據(jù)封包類型傳輸。在一實(shí)施例中,由上述多個(gè)仲裁器中至少一第一者所使用的優(yōu)先權(quán)規(guī) 則包含多個(gè)USB LG0_Ux連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)USBLAU/LXU連結(jié)指令類型傳 輸,且由上述多個(gè)仲裁器中至少一第二者所使用的優(yōu)先權(quán)規(guī)則包含多個(gè)USB LAU/LXU連結(jié) 指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)USBLG0_Ux連結(jié)指令類型傳輸。本發(fā)明還提供一種通用序列總線(universal serial bus, USB)輸入輸出端口的 傳送方法,用以在一 USB鏈路上傳送USB傳輸。此傳送方法包括自多個(gè)優(yōu)先權(quán)規(guī)則中選擇 一優(yōu)先權(quán)規(guī)則。這些優(yōu)先權(quán)規(guī)則的每一者對(duì)應(yīng)多個(gè)USB傳輸類型中的一者。此傳送方法也 包括使用被選擇的優(yōu)先權(quán)規(guī)則以自多個(gè)被調(diào)度的USB傳輸中選擇一 USB傳輸,以在USB鏈 路上傳送。本發(fā)明又提供一種通用序列總線(universal serial bus, USB)輸入輸出端口傳 送器,用以在一 USB鏈路上傳送USB傳輸。此USB輸入輸出端口傳送器包括多個(gè)第一仲裁 器。每一第一仲裁器利用一優(yōu)先權(quán)規(guī)則以根據(jù)多個(gè)被調(diào)度的USB鏈路指令傳輸?shù)念愋投?這些被調(diào)度的USB鏈路指令傳輸中選擇一 USB鏈路指令傳輸。此USB輸入輸出端口傳送器 也包括第一選擇器,耦接上述多個(gè)第一仲裁器。第一選擇器選擇上述多個(gè)第一仲裁器中的 一者以選擇一 USB鏈路指令傳輸。USB輸入輸出端口傳送器也包括多個(gè)第二仲裁器。每一 第一仲裁器利用一優(yōu)先權(quán)規(guī)則以根據(jù)多個(gè)被調(diào)度的USB傳輸?shù)念愋投赃@些被調(diào)度的USB 傳輸中選擇一 USB傳輸。這些被調(diào)度的USB傳輸包括由第一選擇器所選擇的USB鏈路指令 傳輸以及多個(gè)標(biāo)頭/數(shù)據(jù)封包傳輸。USB輸入輸出端口傳送器也包括第二選擇器,耦接上 述多個(gè)第二仲裁器。第二選擇器選擇上述多個(gè)第二仲裁器中的一者以自上述多個(gè)被調(diào)度的 USB傳輸中選擇一 USB傳輸,以在USB鏈路上傳送。本發(fā)明更提供一種通用序列總線(universal serial bus, USB)輸入輸出端口的 傳送方法,用以在一 USB鏈路上傳送USB傳輸。此傳送方法包括自多個(gè)第一優(yōu)先權(quán)規(guī)則中 選擇一者。這些第一優(yōu)先權(quán)規(guī)則的每一者對(duì)應(yīng)多個(gè)USB鏈路指令傳輸類型中的一者。此傳 送方法也包括使用被選擇的第一優(yōu)先權(quán)規(guī)則以自多個(gè)被調(diào)度的USB鏈路指令傳輸中選擇 一 USB鏈路指令傳輸。此傳送方法也包括自多個(gè)第二優(yōu)先權(quán)規(guī)則中選擇一者。這些第二優(yōu) 先權(quán)規(guī)則的每一者對(duì)應(yīng)多個(gè)USB傳輸類型中的一者。此傳送方法也包括使用被選擇的第二 優(yōu)先權(quán)規(guī)則以自多個(gè)被調(diào)度的USB傳輸中選擇一 USB傳輸。這些被調(diào)度的USB傳輸包括被 選擇的USB鏈路指令傳輸以及多個(gè)標(biāo)頭/數(shù)據(jù)封包傳輸。
圖1表示根據(jù)本發(fā)明實(shí)施例的USB裝置的方塊圖;圖2表示圖1的部分USB裝置的方塊圖,特別是圖1中USB輸入輸出端口傳送器的方塊圖;圖3表示用來說明根據(jù)本發(fā)明實(shí)施例,圖2的USB輸入輸出端口傳送器操作的流 程圖;以及圖4表示用來說明根據(jù)本發(fā)明實(shí)施例,圖2的第一層控制暫存器與第二層控制暫 存器編程的流程圖。[主要元件標(biāo)號(hào)說明]
100 USB裝置; 102 ‘ 輸入輸出端口接收器;
104 輸入輸出端口傳送器; 106 "USB輸入輸出端口 ;
108 USB協(xié)議層; 112' USB鏈路層;
114 USB物理層; 122 ‘ USB鏈路;
202 USB跳略指令集(SKP-0S)、標(biāo)頭,丨數(shù)據(jù)封包、以及特殊連結(jié)指令傳輸
204-"1>204-2 第二層仲裁器;
206 第二層多工器; 208 y第二層控制暫存器;
212 最終傳輸;
224--U224-2 第二層仲裁器的輸出;
226 第二層控制暫存器的輸出;
232 被調(diào)度的USB —般連結(jié)指令傳輸
234--3 >234-4 第一層仲裁器;
236 第一層多工器; 238 y第一層控制暫存器;
254--3>254-4 第一層仲裁器的輸出;
256 第一層控制暫存器的輸出;258 假定一般連結(jié)指令傳輸;302、304、306、308、312、402、404 方法步驟。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉一較佳實(shí)施例,并配 合所附圖式,作詳細(xì)說明如下。本說明書敘述一些實(shí)施例,這些實(shí)施例通過提供定義多個(gè)優(yōu)先權(quán)規(guī)則的USB輸入 輸出端口傳送器以調(diào)度傳輸,可提供改善的效能與傳輸特性。此外,此USB輸入輸出端口傳 送器可將一多階層方法利用在這些優(yōu)先權(quán)規(guī)則中。USB輸入輸出端口傳送器包括一或多個(gè) 可編程控制暫存器,這些可編程控制暫存器在這些被使用的優(yōu)先權(quán)規(guī)則中挑選,以選擇下 一個(gè)在USB鏈路上傳送的傳輸。每一優(yōu)先權(quán)規(guī)則或者是多個(gè)優(yōu)先權(quán)規(guī)則的結(jié)合,在對(duì)應(yīng)的 特定傳輸樣態(tài)下可提供改善的效能。與利用單一優(yōu)先權(quán)規(guī)則的傳統(tǒng)USB輸入輸出端口傳送 器比較起來(如上述由USB 3.0規(guī)格中所推論的優(yōu)先權(quán)規(guī)則),自本發(fā)明所提供的多個(gè)優(yōu)先 權(quán)規(guī)則中挑選的能力更可能改善效能。圖1是根據(jù)本發(fā)明實(shí)施例的USB裝置100的方塊圖。如圖1所示,USB裝置100 可包含在USB主機(jī)、USB集線器、或USB外圍裝置之內(nèi)。USB 100包括USB協(xié)議層108,其與 USB鏈路層112聯(lián)系。USB鏈路層112則與USB物理層114聯(lián)系。USB裝置100包括USB輸 入輸出端口 106,而USB輸入輸出端口 106則包括輸入輸出端口傳送器104與輸入輸出端口
8接收器102。連結(jié)層112包括USB輸入輸出端口 106的邏輯部分,而物理層114則包括USB 輸入輸出端口 106的實(shí)體部分。USB協(xié)議層108與USB鏈路層112共同產(chǎn)生USB傳輸(即 USB指令集、連結(jié)指令、以及標(biāo)頭/數(shù)據(jù)封包),而這些USB傳輸是由USB輸入輸出端口傳送 器104傳送至在USB鏈路122另一端上的連結(jié)裝置。與傳統(tǒng)USB輸入輸出端口傳送器104 相比,根據(jù)本發(fā)明的圖1中的USB輸入輸出端口傳送器104利用多個(gè)不同優(yōu)先權(quán)規(guī)則中的 一者來從被調(diào)度的多個(gè)傳輸中選擇一個(gè)傳輸,此外,被使用來選擇此傳輸?shù)奶囟▋?yōu)先權(quán)規(guī) 則本身是可選擇的。在一實(shí)施例中,在一系統(tǒng)內(nèi)的USB裝置100的操作期間,通過對(duì)一控制 暫存器進(jìn)行編程來選擇此傳輸?shù)奶囟▋?yōu)先權(quán)規(guī)則,其中,此控制暫存器用來指明被使用的 優(yōu)先權(quán)規(guī)則。雖然在圖1的一些元件被敘述為邏輯實(shí)體,但是這些元件包含在硬件電路內(nèi),以 執(zhí)行此處所述的多個(gè)功能。根據(jù)一些實(shí)施例,部分功能可通過在一或多個(gè)可編程處理器內(nèi) 執(zhí)行的程序來完成。圖2是圖1的部分USB裝置100的方塊圖,特別是圖1的USB輸入輸出端口傳送 器104的方塊圖。USB裝置100接收調(diào)度的USB跳略指令集(SKPordered set)、標(biāo)頭/數(shù) 據(jù)封包以及特殊連結(jié)指令傳輸202的集合。USB特殊連結(jié)指令的類型包括在USB 3.0規(guī)格 中章節(jié)7. 2. 2. 2與7. 5. 6. 1所敘述的上鏈連結(jié)指令(LUP link command)。當(dāng)不具有將被 傳送的封包或其它連結(jié)指令時(shí),由上傳輸入輸出端口每10微秒傳送一次上鏈連結(jié)指令。此 外,上鏈連結(jié)指令只在U0操作狀態(tài)下被傳送。USB特殊連結(jié)指令的類型也包括于2009年 4月4日公布的USB 3.0規(guī)格的“Engineering Change Notice”中所敘述的下鏈連結(jié)指令 (LDN link command) 0當(dāng)不具有將被傳送的封包或其它連結(jié)指令時(shí),由下傳輸入輸出端口 每10微秒傳送一次下鏈連結(jié)指令。此外,下鏈連結(jié)指令只在U0操作狀態(tài)下被傳送。USB跳 略指令集以及標(biāo)頭封包傳輸也在USB3. 0規(guī)格中詳細(xì)描述。USB裝置100也接收被調(diào)度的 USB 一般連結(jié)指令傳輸232的集合。USB —般連結(jié)指令傳輸?shù)念愋桶║SB 3. 0規(guī)格中詳 述的 LG00D_n、LBAD、LCRD_x、LG0_Ux、LAU、LXU、以及 LPMA 連結(jié)指令。在一實(shí)施例中,LRTY 類型的連結(jié)指令獲得與其相關(guān)的再傳輸標(biāo)頭封包相同的優(yōu)先權(quán)。此兩被調(diào)度的傳輸202與 232的集合包括準(zhǔn)備在USB鏈路122上傳送的USB傳輸。在一實(shí)施例中,被調(diào)度的傳輸202 與232的集合各自包括不同類型的多個(gè)被調(diào)度傳輸?shù)亩鄠€(gè)隊(duì)列。明確地來說,與這些隊(duì)列 相關(guān)聯(lián)的傳輸類型是對(duì)應(yīng)由下述多個(gè)優(yōu)先權(quán)規(guī)則所區(qū)分的各種傳輸類型。因此,舉例來說, 根據(jù)一實(shí)施例,被調(diào)度的傳輸232的集合中包含對(duì)應(yīng)于下述窗體3或4所指明的一般連結(jié) 指令傳輸類型的隊(duì)列,被調(diào)度的傳輸202的集合中包含對(duì)應(yīng)于下述窗體1或2所指明的USB 傳輸類型的隊(duì)列。在一實(shí)施例中,相對(duì)于相同類型的傳輸,在一隊(duì)列內(nèi)的多個(gè)傳輸是依據(jù)首 進(jìn)首出(FIFO)的準(zhǔn)則來傳送。USB輸入輸出端口傳送器104包括多個(gè)第一層優(yōu)先權(quán)規(guī)則仲裁器234-3及234_4, 其共同稱為第一層優(yōu)先權(quán)規(guī)則仲裁器234或者第一層仲裁器234。每一第一層仲裁器234 檢查被調(diào)度的一般連結(jié)指令傳輸232的集合的內(nèi)容。每一第一層仲裁器234依據(jù)相關(guān)聯(lián)的 優(yōu)先權(quán)規(guī)則而自被調(diào)度的一般連結(jié)指令傳輸232的集合中選擇一個(gè)傳輸。根據(jù)一實(shí)施例, 第一層仲裁器234-3使用窗體3的優(yōu)先權(quán)規(guī)則3,而第一層仲裁器234-4使用窗體4的優(yōu)先 權(quán)規(guī)則4。第一層仲裁器234各自輸出其選擇的一般連結(jié)指令,以作為各自的輸出254-3與 254-4,其中,輸出254-3與254-4共同以254來表示。優(yōu)先權(quán)規(guī)則3包含USB LG0_Ux連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于USB LAU/LXU連結(jié)指令類型傳輸。優(yōu)先權(quán)規(guī)則4包含USB LAU/ LXU連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于USBLG0_Ux連結(jié)指令類型傳輸。在一實(shí)施例中,優(yōu)先權(quán) 規(guī)則3或優(yōu)先權(quán)規(guī)則4中還包含多個(gè)流程控制指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)功率管理連 結(jié)指令類型傳輸。USB輸入輸出端口傳送器104也包括2對(duì)1的第一層多工器236。第一層多工器 236在其兩輸入端接收輸出254-3及254-4。在一實(shí)施例中,上述多工器也可用一選擇器替 代。第一層控制暫存器238提供第一層控制信號(hào)256至第一層多工器236的控制輸入端, 以控制第一層多工器236提供哪一輸出254 (即第一層多工器236的輸入)以輸出作為假 定一般連結(jié)指令傳輸258。在一實(shí)施例中,第一層控制暫存器238是1-位的暫存器,其能維 持一數(shù)值,此數(shù)值是選擇第一層多工器236的兩輸入中的一者。在一實(shí)施例中,第一層控制 暫存器238如后續(xù)討論的圖4所示而被編程,以致能在USB裝置100的操作期間內(nèi)動(dòng)態(tài)選 擇多個(gè)優(yōu)先權(quán)規(guī)則中的一者。在一實(shí)施例中,上述控制暫存器也可用一儲(chǔ)存元件替代。USB輸入輸出端口傳送器104包括多個(gè)第二層優(yōu)先權(quán)規(guī)則仲裁器204-1及204_2, 共同稱為第二層優(yōu)先權(quán)規(guī)則仲裁器204。每一第二層仲裁器204檢查被調(diào)度的傳輸202的 集合與假定一般連結(jié)指令傳輸258的內(nèi)容。每一第二層仲裁器204根據(jù)相關(guān)聯(lián)的各自優(yōu)先 權(quán)規(guī)則,自被調(diào)度的傳輸202的集合與假定一般連結(jié)指令傳輸258中選擇一個(gè)傳輸,以在 USB鏈路122上傳送。根據(jù)一實(shí)施例,第二層仲裁器204-1使用窗體1的優(yōu)先權(quán)規(guī)則1,而 第二層仲裁器204-2使用窗體2的優(yōu)先權(quán)規(guī)則2。每一第二層仲裁器在各自的第二層輸出 224-1/224-2上輸出所選擇的傳輸,其中,第二層輸出224-1與224-2共同以224來表示。 優(yōu)先權(quán)規(guī)則1包含一般連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸。在 一實(shí)施例中,優(yōu)先權(quán)規(guī)則還包含多個(gè)流程控制與功率管理連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于 多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸。優(yōu)先權(quán)規(guī)則2包含多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸?shù)膬?yōu)先級(jí) 高于多個(gè)一般連結(jié)指令類型傳輸。USB輸入輸出端口傳送器104也包括2對(duì)1的第二層多工器206。第二層多工器 206在其兩輸入端接收兩輸出224-1與224-2。第二層控制暫存器208提供第二層控制信號(hào) 226至第二層多工器206的控制輸入端,以控制第二層多工器206選擇性地提供輸出224-1 或224-2 (即第二層多工器206的輸入),以作為最終傳輸212,即作為將在USB鏈路122上 傳送的傳輸。在一實(shí)施例中,第二層控制暫存器208為1-位暫存器,其能維持一數(shù)值,此數(shù) 值是選擇第二層多工器206的兩輸入中的一者。在一實(shí)施例中,第二層控制暫存器208如 后續(xù)討論的圖4所示而被編程,以致能在USB裝置100的操作期間內(nèi)動(dòng)態(tài)選擇多個(gè)優(yōu)先權(quán) 規(guī)則中的一者。窗體1至4指出根據(jù)本發(fā)明一實(shí)施例,由圖2的四個(gè)優(yōu)先權(quán)規(guī)則仲裁器204及234 所使用的四個(gè)優(yōu)先權(quán)規(guī)則。參閱窗體1至4,其中優(yōu)先權(quán)為1表示優(yōu)先權(quán)最高,而優(yōu)先權(quán)為 4表示優(yōu)先權(quán)最低。跳略指令集敘述于USB 3.0規(guī)格中第6-8頁的章節(jié)6. 3. 5、窗體6-1 標(biāo) 頭/數(shù)據(jù)封包敘述于USB 3. 0規(guī)格中第2-1至2-7頁的章節(jié)“Term and Abbreviation”;一 般連結(jié)指令(LGOOD_n、LBAD、LCRD_x、LGO_Ux、LAU、LXU、LPMA、LTRY)與特殊連結(jié)指令(LUP、 LDN)敘述于USB 3. 0規(guī)格中第7-11至7_14頁的章節(jié)7. 2. 2. 2。 窗體1-優(yōu)先權(quán)規(guī)則1 窗體2-優(yōu)先權(quán)規(guī)則2 窗體3-優(yōu)先權(quán)規(guī)則3 窗體4-優(yōu)先權(quán)規(guī)則4在一實(shí)施例中,優(yōu)先權(quán)1及3是預(yù)設(shè)的優(yōu)先權(quán)規(guī)則。參閱圖3,其表示根據(jù)本發(fā)明實(shí)施例圖2的USB輸入輸出端口傳送器104的操作流 程圖。此流程開始于步驟302。在步驟302中,USB輸入輸出端口傳送器104準(zhǔn)備接收一傳輸,其中,此傳輸是來 自在圖1中USB鏈路122上被調(diào)度的跳略指令集、標(biāo)頭/數(shù)據(jù)封包、以及特殊連結(jié)指令傳送 202的集合以及一般連結(jié)指令傳輸232的集合。一般而言,USB輸入輸出端口傳送器104被 允許任意地傳送。然而,某些限制措施(例如初始化、流程控制、或低功率狀態(tài)限制)可要 求USB輸入輸出端口傳送器104等待去傳送一傳輸。流程繼續(xù)進(jìn)行到步驟304。在步驟304,每一第一層仲裁器234檢查來自集合232且被調(diào)度來傳輸?shù)囊话氵B結(jié) 指令,且每一第一層仲裁器234自這些一般連結(jié)指令中選擇一者來傳送。每一第一層仲裁 器234使用其各自的優(yōu)先權(quán)規(guī)則(例如來自上述窗體3與4的優(yōu)先權(quán)規(guī)則中的一者)來選 擇其一般連結(jié)指令。每一第一層仲裁器234在各自的輸出254-3/254-4上輸出所選擇的一 般連結(jié)指令,其中,輸出254-3及254-4的每一者被提供至第一層多工器236。流程繼續(xù)進(jìn) 行到步驟306。在步驟306中,第一層多工器236選擇輸出254_3及254_4(即第一層多工器236 的輸入)中的一者,以作為假定一般連結(jié)指令258。詳細(xì)來說,第一層多工器236選擇由第 一層控制暫存器238的輸出256所指定的第一層仲裁器234-4或234-4的輸出,以作為假 定一般連結(jié)指令258。假定一般連結(jié)指令傳輸258被提供至第二層仲裁器204的每一者。 流程繼續(xù)進(jìn)行至步驟308。在步驟308,每一第二層仲裁器204檢查來自集合202且被調(diào)度來傳送的跳略指令 集、標(biāo)頭/數(shù)據(jù)封包、以及特殊連結(jié)指令傳送以及假定一般連結(jié)指令傳輸258,且選擇一個(gè) 傳輸來傳送。每一第二層仲裁器204使用各自的優(yōu)先權(quán)規(guī)則(上述窗體1與2的優(yōu)先權(quán)規(guī) 則中的一者)來選擇傳輸。每一第二層仲裁器204在各自輸出224-1/224-2上輸出所選擇 的傳輸,其中,輸出224-1及224-2的每一者被提供至第二層多工器206的對(duì)應(yīng)輸入。流程 繼續(xù)進(jìn)行至步驟312。在步驟312中,第二層多工器206選擇輸出224-1及224_2 (即第二層多工器206 的輸入)中的一者,以作為最終傳輸212。詳細(xì)來說,第二層多工器206選擇由第二層控制暫存器208的輸出226所指定的第二層仲裁器204的一者的輸出,以作為最終傳輸212。流 程結(jié)束于步驟312。參閱圖4,此流程圖是說明根據(jù)本發(fā)明實(shí)施例圖2的第一層控制暫存器238與第二 層控制暫存器208的可編程性。流程開始于步驟402。在步驟402中,對(duì)于圖2的USB輸入 輸出端口傳送器104在將來于USB鏈路112上所傳送的傳輸類型的混合傳輸或分組而言, 一實(shí)體將預(yù)測窗體1及2中一優(yōu)先權(quán)規(guī)則與窗體3及4中一優(yōu)先權(quán)規(guī)則的特定結(jié)合將會(huì)產(chǎn) 生最佳的效能。此預(yù)測實(shí)體可以是系統(tǒng)軟件,例如在系統(tǒng)CPU上執(zhí)行的裝置驅(qū)動(dòng)程序。此 預(yù)測實(shí)體可以是在包括圖1USB裝置100的USB網(wǎng)絡(luò)上的另一 USB裝置,或者,此預(yù)測實(shí)體 可以是用來控制其它USB裝置的軟件。圖1的USB裝置100可以是USB主機(jī)、USB集線器 或USB外圍裝置。流程繼續(xù)進(jìn)行至步驟404。在步驟404中,此預(yù)測實(shí)體以特定數(shù)值來編程圖2的第一層控制暫存器238與第 二層控制暫存器208,以選擇適當(dāng)?shù)膬?yōu)先權(quán)規(guī)則,且這些適當(dāng)?shù)膬?yōu)先權(quán)規(guī)則可提供最佳效能 給USB輸入輸出傳送器104即將傳送的傳輸。流程結(jié)束于步驟404。如前所述,此處所述的實(shí)施例能自多個(gè)優(yōu)先權(quán)規(guī)則中選擇一者,以自多個(gè)不同類 型的USB傳輸中選擇一 USB傳輸來傳送,因此,與一直使用相同單一優(yōu)先權(quán)規(guī)則的USB輸入 輸出端口傳送器比較起來,此處實(shí)施例提供的彈性能提供較佳的效能。雖然在本發(fā)明的不同實(shí)施例中,已敘述利用特定數(shù)量的階層(在一實(shí)施例中是兩 階層)以及在每一階層中利用特定數(shù)量的優(yōu)先權(quán)規(guī)則(在一實(shí)施例中是兩優(yōu)先權(quán)規(guī)則), 但是可考慮其它數(shù)量的階層與優(yōu)先權(quán)規(guī)則,本發(fā)明沒有限制在特定數(shù)量。最后,雖然實(shí)施例 已敘述特定的優(yōu)先權(quán)規(guī)則,但是可考慮其它的優(yōu)先權(quán)規(guī)則,本發(fā)明沒有限制在前述的特定 優(yōu)先權(quán)規(guī)則中。例如,雖然一實(shí)施例敘述LG00D_n —般連結(jié)指令優(yōu)先于LCRD_x —般連結(jié)指 令,但可考慮LCRD_x —般連結(jié)指令優(yōu)先于LG00D_n —般連結(jié)指令的實(shí)施例。舉另一例子, 雖然一實(shí)施例已敘述特殊連結(jié)指令類型的傳輸(LUP連結(jié)指令)包括在由第二層仲裁器所 安排優(yōu)先級(jí)的傳輸集合中,但可考慮特殊連結(jié)指令類型的傳輸包括在一般連結(jié)指令類型傳 輸?shù)募现械膶?shí)施例。本發(fā)明雖以較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明的范圍,任何所屬技 術(shù)領(lǐng)域中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許的更動(dòng)與潤飾。例 如,軟件可致能此述裝置與方法的功能、制造、模塊化、仿真、敘述、以及/或測試,可通過一 般程序語言(例如C、C++)、硬件描述語言(HDL,包括Verilog HDL、VHDL)等或其它可利用 的程序來完成。此軟件可配置在任何已知的計(jì)算機(jī)可用媒體,例如半導(dǎo)體、磁盤、光盤(例 如⑶-ROM、DVD-ROM)。此處所述的裝置與方法實(shí)施例可包括在半導(dǎo)體智慧財(cái)產(chǎn)核心內(nèi)(例 如微處理器核心或芯片組合新(例如以HDL具體化)),并且以集成電路產(chǎn)品來轉(zhuǎn)換成硬件。 此外,此處所述的裝置與方法可實(shí)現(xiàn)為硬件與軟件的結(jié)合。因此,本發(fā)明不限制在任何舉例 的實(shí)施例,但應(yīng)僅根據(jù)上述權(quán)利要求范圍及同等物來定義。明確地說,本發(fā)明可實(shí)施在使用 于一般用途計(jì)算機(jī)內(nèi)的微處理器裝置或芯片組裝置中。最后,在不脫離本發(fā)明的精神和范 圍內(nèi),任何所屬技術(shù)領(lǐng)域中具有通常知識(shí)者應(yīng)可了解,其可輕易地使用所揭露的概念與特 定實(shí)施例作為基礎(chǔ),來設(shè)計(jì)或修改其它架構(gòu),以完成本發(fā)明的相同目的。
權(quán)利要求
一種USB輸入輸出端口傳送器,用以在一USB鏈路上傳送USB傳輸,該USB輸入輸出端口傳送器包括多個(gè)仲裁器,每一該仲裁器利用一優(yōu)先權(quán)規(guī)則以根據(jù)多個(gè)被調(diào)度的USB傳輸?shù)念愋投栽摱鄠€(gè)被調(diào)度的USB傳輸中選擇一USB傳輸;以及一選擇器,耦接該多個(gè)仲裁器,其中,該選擇器選擇該多個(gè)仲裁器中的一者以自該多個(gè)被調(diào)度的USB傳輸中選擇一USB傳輸,以在該USB鏈路上傳送。
2.根據(jù)權(quán)利要求1所述的USB輸入輸出端口傳送器,還包括一儲(chǔ)存元件,耦接該選擇器,用以提供一數(shù)值至該選擇器,以控制該選擇器選擇該多個(gè) 仲裁器中的一者,其中,在該USB輸入輸出端口傳送的操作期間,該儲(chǔ)存元件可被編程。
3.根據(jù)權(quán)利要求1所述的USB輸入輸出端口傳送器,其中,該多個(gè)被調(diào)度的USB傳輸包 括多個(gè)跳略指令集、多個(gè)連結(jié)指令以及多個(gè)標(biāo)頭/數(shù)據(jù)封包。
4.根據(jù)權(quán)利要求1所述的USB輸入輸出端口傳送器,其中,由該多個(gè)仲裁器中至少一第 一者所使用的該優(yōu)先權(quán)規(guī)則包含多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)一般連 結(jié)指令類型傳輸,且由該多個(gè)仲裁器中至少一第二者所使用的該優(yōu)先權(quán)規(guī)則包含該多個(gè)一 般連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于該多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸,其中,由該多個(gè)仲裁 器中該至少一第二仲裁器所使用的該優(yōu)先權(quán)規(guī)則包含多個(gè)流程控制與功率管理連結(jié)指令 類型傳輸?shù)膬?yōu)先級(jí)高于該多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸。
5.根據(jù)權(quán)利要求1所述的USB輸入輸出端口傳送器,其中,由該多個(gè)仲裁器中至少一 第一者所使用的該優(yōu)先權(quán)規(guī)則包含多個(gè)USB LGO_Ux連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè) USB LAU/LXU連結(jié)指令類型傳輸,且由該多個(gè)仲裁器中至少一第二者所使用的該優(yōu)先權(quán)規(guī) 則包含該多個(gè)USB LAU/LXU連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于該多個(gè)USB LGO_Ux連結(jié)指令 類型傳輸。
6.根據(jù)權(quán)利要求1所述的USB輸入輸出端口傳送器,其中,由該多個(gè)仲裁器中該至少一 者所使用的該優(yōu)先權(quán)規(guī)則包含多個(gè)流程控制指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)功率管理連 結(jié)指令類型傳輸。
7.一種USB輸入輸出端口的傳送方法,用以在一 USB鏈路上傳送USB傳輸,該傳送方法 包括自多個(gè)優(yōu)先權(quán)規(guī)則中選擇一優(yōu)先權(quán)規(guī)則,其中,該多個(gè)優(yōu)先權(quán)規(guī)則的每一者對(duì)應(yīng)多個(gè) USB傳輸類型中的一者;以及使用被選擇的該優(yōu)先權(quán)規(guī)則以自多個(gè)被調(diào)度的USB傳輸中選擇一USB傳輸,以在該USB 鏈路上傳送。
8.根據(jù)權(quán)利要求7所述的傳送方法,還包括在選擇該優(yōu)先權(quán)規(guī)則之前,將一數(shù)值編程至該USB輸入輸出端口的一儲(chǔ)存元件中,其 中,該數(shù)值指定該多個(gè)優(yōu)先權(quán)規(guī)則中的一者。
9.根據(jù)權(quán)利要求7所述的傳送方法,其中,該多個(gè)優(yōu)先權(quán)規(guī)則中的至少一第一者包含 多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)一般連結(jié)指令類型傳輸,且該多個(gè)優(yōu)先權(quán) 規(guī)則中的至少一第二者規(guī)則包含該多個(gè)一般連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于該多個(gè)標(biāo)頭/ 數(shù)據(jù)封包類型傳輸,其中,該多個(gè)優(yōu)先權(quán)規(guī)則中的該至少一第二者包含多個(gè)流程控制與功 率管理連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于該多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸。
10.根據(jù)權(quán)利要求7所述的傳送方法,其中,該多個(gè)優(yōu)先權(quán)規(guī)則中的至少一第一者包含 多個(gè)USB LG0_Ux連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)USBLAU/LXU連結(jié)指令類型傳輸,且 該多個(gè)優(yōu)先權(quán)規(guī)則中的至少一第二者包含該多個(gè)USB LAU/LXU連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí) 高于該多個(gè)USB LG0_Ux連結(jié)指令類型傳輸。
11.根據(jù)權(quán)利要求7所述的傳送方法,其中,該多個(gè)優(yōu)先權(quán)規(guī)則中的至少一者包含多個(gè) 流程控制指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)功率管理連結(jié)指令類型傳輸。
12.—種USB輸入輸出端口傳送器,用以在一 USB鏈路上傳送USB傳輸,該USB輸入輸 出端口傳送器包括多個(gè)第一仲裁器,每一該第一仲裁器利用一優(yōu)先權(quán)規(guī)則以根據(jù)多個(gè)被調(diào)度的USB鏈路 指令傳輸?shù)念愋投栽摱鄠€(gè)被調(diào)度的USB鏈路指令傳輸中選擇一 USB鏈路指令傳輸;一第一選擇器,耦接該多個(gè)第一仲裁器,其中,該第一選擇器選擇該多個(gè)第一仲裁器中 的一者以選擇一 USB鏈路指令傳輸;多個(gè)第二仲裁器,每一該第一仲裁器利用一優(yōu)先權(quán)規(guī)則以根據(jù)多個(gè)被調(diào)度的USB傳輸 的類型而自該多個(gè)被調(diào)度的USB傳輸中選擇一 USB傳輸,其中,該多個(gè)被調(diào)度的USB傳輸包 括由該第一選擇器所選擇的該USB鏈路指令傳輸以及多個(gè)標(biāo)頭/數(shù)據(jù)封包傳輸;以及一第二選擇器,耦接該多個(gè)第二仲裁器,其中,該第二選擇器選擇該多個(gè)第二仲裁器中 的一者以自該多個(gè)被調(diào)度的USB傳輸中選擇一 USB傳輸,以在該USB鏈路上傳送。
13.根據(jù)權(quán)利要求12所述的USB輸入輸出端口傳送器,其中,該多個(gè)被調(diào)度的USB傳輸 包括多個(gè)USB跳略指令集傳輸。
14.根據(jù)權(quán)利要求12所述的USB輸入輸出端口傳送器,其中,該多個(gè)被調(diào)度的USB鏈路 指令傳輸不包括多個(gè)LUP連結(jié)指令傳輸,且該多個(gè)被調(diào)度的USB傳輸包括多個(gè)USB LUP連 結(jié)指令傳輸。
15.根據(jù)權(quán)利要求12所述的USB輸入輸出端口傳送器,其中,該多個(gè)被調(diào)度的USB鏈路 指令傳輸不包括多個(gè)LDN連結(jié)指令傳輸,且該多個(gè)被調(diào)度的USB傳輸包括多個(gè)USB LDN連 結(jié)指令傳輸。
16.根據(jù)權(quán)利要求12所述的USB輸入輸出端口傳送,其中,由該多個(gè)第一仲裁器中至 少一第一者所使用的該優(yōu)先權(quán)規(guī)則包含多個(gè)USB LG0_Ux連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于 多個(gè)USB LAU/LXU連結(jié)指令類型傳輸,且由該多個(gè)第一仲裁器中該至少一第二者所使用的 該優(yōu)先權(quán)規(guī)則包含該多個(gè)USBLAU/LXU連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于該多個(gè)USB LG0_Ux 連結(jié)指令類型傳輸。
17.根據(jù)權(quán)利要求12所述的USB輸入輸出端口傳送器,其中,由該多個(gè)第二仲裁器中至 少一第一者所使用的該優(yōu)先權(quán)規(guī)則包含多個(gè)USB標(biāo)頭/數(shù)據(jù)封包類型傳輸?shù)膬?yōu)先級(jí)高于多 個(gè)USB鏈路指令類型傳輸,且由該多個(gè)第二仲裁器中至少一第二者所使用的該優(yōu)先權(quán)規(guī)則 包含該多個(gè)USB鏈路指令類型傳輸?shù)膬?yōu)先級(jí)高于該多個(gè)USB標(biāo)頭/數(shù)據(jù)封包類型傳輸,其 中,由該多個(gè)第二仲裁器中該至少一第二者所使用的該優(yōu)先權(quán)規(guī)則包含多個(gè)流程控制與功 率管理連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于該多個(gè)標(biāo)頭/數(shù)據(jù)封包類型傳輸。
18.根據(jù)權(quán)利要求12所述的USB輸入輸出端口傳送器,其中,由該多個(gè)第一仲裁器中至 少一者所使用的該優(yōu)先權(quán)規(guī)則包含多個(gè)流程控制指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)功率管 理連結(jié)指令類型傳輸。
19.根據(jù)權(quán)利要求12所述的USB輸入輸出端口傳送器,還包括一第一儲(chǔ)存元件,耦接該第一選擇器,用以提供一第一數(shù)值至該第一選擇器,以控制該 第一選擇器選擇該多個(gè)第一仲裁器中的一者;以及一第二儲(chǔ)存元件,耦接該第二選擇器,用以提供一第二數(shù)值至該第二選擇器,以控制該 第二選擇器選擇該多個(gè)第二仲裁器中的一者,其中,在該USB輸入輸出端口傳送器的操作 期間內(nèi),該第一儲(chǔ)存元件與該第二儲(chǔ)存元件動(dòng)態(tài)地被編程。
20.一種USB輸入輸出端口的傳送方法,用以在一 USB鏈路上傳送USB傳輸,該傳送方 法包括自多個(gè)第一優(yōu)先權(quán)規(guī)則中選擇一者,其中,該多個(gè)第一優(yōu)先權(quán)規(guī)則的每一者對(duì)應(yīng)多個(gè) USB鏈路指令傳輸類型中的一者;使用被選擇的該第一優(yōu)先權(quán)規(guī)則以自多個(gè)被調(diào)度的USB鏈路指令傳輸中選擇一 USB鏈 路指令傳輸;自多個(gè)第二優(yōu)先權(quán)規(guī)則中選擇一者,其中,該多個(gè)第二優(yōu)先權(quán)規(guī)則的每一者對(duì)應(yīng)多個(gè) USB傳輸類型中的一者;以及使用被選擇的該第二優(yōu)先權(quán)規(guī)則以自多個(gè)被調(diào)度的USB傳輸中選擇一 USB傳輸,其中, 該多個(gè)被調(diào)度的USB傳輸包括被選擇的該USB鏈路指令傳輸以及多個(gè)標(biāo)頭/數(shù)據(jù)封包傳輸。
21.根據(jù)權(quán)利要求20所述的傳送方法,其中,該多個(gè)被調(diào)度的USB傳輸包括多個(gè)USB跳 略指令集傳輸。
22.根據(jù)權(quán)利要求20所述的傳送方法,其中,該多個(gè)被調(diào)度的USB鏈路指令傳輸不包括 多個(gè)LUP連結(jié)指令傳輸,且該多個(gè)被調(diào)度的USB傳輸包括多個(gè)USB LUP連結(jié)指令傳輸。
23.根據(jù)權(quán)利要求20所述的傳送方法,其中,該多個(gè)被調(diào)度的USB鏈路指令傳輸不包括 多個(gè)LDN連結(jié)指令傳輸,且該多個(gè)被調(diào)度的USB傳輸包括多個(gè)USB LDN連結(jié)指令傳輸。
24.根據(jù)權(quán)利要求20所述的傳送方法,其中,該多個(gè)第一優(yōu)先權(quán)規(guī)則中的至少一第一 者包含多個(gè)USB LGO_Ux連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)USB LAU/LXU連結(jié)指令類型 傳輸,且該多個(gè)第一優(yōu)先權(quán)規(guī)則中的至少一第二者包含該多個(gè)USB LAU/LXU連結(jié)指令類型 傳輸?shù)膬?yōu)先級(jí)高于該多個(gè)USBLGO_Ux連結(jié)指令類型傳輸。
25.根據(jù)權(quán)利要求20所述的傳送方法,其中,該多個(gè)第二優(yōu)先權(quán)規(guī)則中的至少一第一 者包含多個(gè)USB標(biāo)頭/數(shù)據(jù)封包類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)USB鏈路指令類型傳輸,且該 多個(gè)第二優(yōu)先權(quán)規(guī)則中的至少一第二者包含該多個(gè)USB鏈路指令類型傳輸?shù)膬?yōu)先級(jí)高于 該多個(gè)USB標(biāo)頭/數(shù)據(jù)封包類型傳輸,其中,該多個(gè)第二優(yōu)先權(quán)規(guī)則中的該至少一第二者包 含多個(gè)流程控制與功率管理連結(jié)指令類型傳輸?shù)膬?yōu)先級(jí)高于該多個(gè)標(biāo)頭/數(shù)據(jù)封包類型 傳輸。
26.根據(jù)權(quán)利要求20所述的傳送方法,其中,該多個(gè)第一優(yōu)先權(quán)規(guī)則中的至少一者包 含多個(gè)流程控制指令類型傳輸?shù)膬?yōu)先級(jí)高于多個(gè)功率管理連結(jié)指令類型傳輸。
27.根據(jù)權(quán)利要求20所述的傳送方法,還包括在自該多個(gè)第一優(yōu)先權(quán)規(guī)則中選擇一者之前,將一第一數(shù)值編程至該USB輸入輸出端 口的一第一儲(chǔ)存元件,其中,該第一數(shù)值指定該多個(gè)第一優(yōu)先權(quán)規(guī)則中的一者;以及在自該多個(gè)第二優(yōu)先權(quán)規(guī)則中選擇一者之前,將一第二數(shù)值編程至該USB輸入輸出端口的一第二儲(chǔ)存元件,其中,該第二數(shù)值指定該多個(gè)第二優(yōu)先權(quán)規(guī)則中的一者。
全文摘要
一種通用序列總線(USB)輸入輸出端口傳送器,包括多個(gè)仲裁器。每一仲裁器利用一優(yōu)先權(quán)規(guī)則以根據(jù)被調(diào)度的USB傳輸?shù)念愋投赃@些USB傳輸中選擇一者。一選擇器選擇仲裁器中的一者以自被調(diào)度的USB傳輸中選擇一者。在一實(shí)施例中,至少一第一仲裁器使標(biāo)頭/數(shù)據(jù)封包優(yōu)先于連結(jié)指令,且至少一第二仲裁器使連結(jié)指令優(yōu)先于標(biāo)頭/數(shù)據(jù)封包。在一實(shí)施例中,至少一仲裁器使流程控制與功率管理連結(jié)指令優(yōu)先于標(biāo)頭/數(shù)據(jù)封包。在一實(shí)施例中,至少一第一仲裁器使USB LGO_Ux連結(jié)指令優(yōu)先于USB LAU/LXU連結(jié)指令,且至少一第二仲裁器使USB LAU/LXU連結(jié)指令優(yōu)先于USB LGO_Ux連結(jié)指令。
文檔編號(hào)G06F13/42GK101876958SQ20091022577
公開日2010年11月3日 申請日期2009年12月7日 優(yōu)先權(quán)日2009年7月24日
發(fā)明者劉孟帆 申請人:威盛電子股份有限公司