專利名稱:Pci express開關(guān)的pci express端點與下游端口的模擬電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總地涉及處理類型應(yīng)用的通信,更具體地涉及使用了PCIExpress類型鏈路的通信方法和裝置。
背景技術(shù):
PCI(外設(shè)部件互連)是一種在微處理器與所連接設(shè)備之間的互連系統(tǒng),其中擴展槽間隔緊密用于高速運行。通過使用PCI,計算機可以在繼續(xù)支持舊標(biāo)準(zhǔn)的工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)擴展卡的同時支持新的PCI卡。PCI設(shè)計成獨立的微處理器設(shè)計且與微處理器的時鐘速度同步。PCI利用現(xiàn)行路徑(在多點總線上)發(fā)送地址和數(shù)據(jù)信號,在一個時鐘周期上發(fā)送地址并在下一個時鐘周期上發(fā)送數(shù)據(jù)。PCI總線可裝有需要快速進行相互訪問和/或快速訪問系統(tǒng)存儲器的適配器,而且主處理器可以以接近于該處理器的全本地總線速度訪問該適配器。利用可以從第一周期上的地址開始發(fā)送的脈沖串傳輸以及在某些相繼的周期上一系列的數(shù)據(jù)傳輸來實現(xiàn)在PCI總線上的讀寫傳輸。在啟動器與目標(biāo)設(shè)備之間協(xié)商脈沖串的長度,其可以為任何長度。該PCI類型結(jié)構(gòu)被廣泛地實現(xiàn),而且如今被安裝在大多數(shù)臺式計算機上。
PCI Express結(jié)構(gòu)展示了與PCI結(jié)構(gòu)的相似性,盡管有一些改變。PCI Express結(jié)構(gòu)采用了開關(guān),它用一個開關(guān)代替PCI結(jié)構(gòu)的多點總線,其提供一種輸入-輸出(I/O)總線的扇出。該開關(guān)的扇出能力促進有關(guān)添加的、高性能的I/O的一系列連接。該開關(guān)是一個可以在還包含主機橋的部件內(nèi)實現(xiàn)的邏輯元件。也就是說,可以邏輯地認(rèn)為PCI開關(guān)是一個PCI至PCI橋的集合,其中的一個橋是上游橋,通過其下游端到另外一組PCI至PCI橋的上游端連接到專用的本地總線。
PCI Express在應(yīng)用中被限定為端點類型的設(shè)備,這種設(shè)備通常不允許存在于內(nèi)部總線上。具體地說,PCI Express要求端點設(shè)備(由類型00h的配置空間頭部表示)不在PCI Express開關(guān)的內(nèi)部總線上的配置軟件中出現(xiàn)作為表示開關(guān)下游端口的虛擬PCI至PCI橋的同位體。另外,只有表示該開關(guān)下游端口的PC至PCI橋可以出現(xiàn)在內(nèi)部總線上,由類型O的配置空間頭部表示的端點不能出現(xiàn)在內(nèi)部總線上。
這些及其他限制的存在是對實現(xiàn)具有PCI Express通信的集成設(shè)備的挑戰(zhàn)。
發(fā)明內(nèi)容
本發(fā)明各方面涉及各種計算機電路的測試方法,比如包括互連類型結(jié)構(gòu)(例如,PCI結(jié)構(gòu))等等。以多個實現(xiàn)和應(yīng)用來例舉本發(fā)明,以下簡要描述其中某些實現(xiàn)與應(yīng)用。
根據(jù)本發(fā)明的一個實施例,配置并設(shè)置端點設(shè)備以模擬通過PCIExpress兼容鏈路與端點設(shè)備耦合的開關(guān)的下游端口。該端點設(shè)備與PCIExpress開關(guān)的總線耦合,具有符合與限制在總線上實現(xiàn)端點設(shè)備的PCIExpress實現(xiàn)兼容的模擬。根據(jù)該方法,一個或多個設(shè)備可以存在于PCIExpress網(wǎng)絡(luò)集線器(HUB)內(nèi),它通常使用最小附加邏輯而且無需違反利用PCI Express實現(xiàn)的不允許集成設(shè)備的規(guī)則。另外,該方法促進了在完全符合PCI Express要求的同時實現(xiàn)PCI Express網(wǎng)絡(luò)集線器內(nèi)的一個或多個設(shè)備。
根據(jù)本發(fā)明的另一個實施例,PCI Express通信系統(tǒng)促進了端點設(shè)備與PCI Express兼容鏈路的直接連接。該系統(tǒng)包括一個中央處理器裝置和與主機橋通信耦合的PCI Express開關(guān)。PCI Express開關(guān)在邏輯上包括一個上游端口、一個總線和多個下游端口,該上游端口連接到主機橋而下游端口連接到一個或多個PCI Express類型端點設(shè)備。PCIExpress端點設(shè)備和與其相連的下游端口都包含在單個電路中,該電路模擬通過虛擬鏈路耦合的下游端口和PCI Express端點設(shè)備。
本發(fā)明以上的概述并非意圖描述本發(fā)明的每一個實施例或每個實現(xiàn)。本發(fā)明以上的概述也并非意圖描述本發(fā)明每一個例舉的實施例或每個實現(xiàn)。以下附圖和詳細(xì)描述更具體地舉例說明這些實施例。
根據(jù)以下結(jié)合了附圖對本發(fā)明各個實施例的詳細(xì)描述可以更完全地理解本發(fā)明,其中圖1是顯示根據(jù)本發(fā)明一個實施例用于實現(xiàn)端點設(shè)備與PCI Express內(nèi)部總線相連的裝置的框圖;圖2是顯示根據(jù)本發(fā)明一個實施例用于實現(xiàn)端點設(shè)備與PCI Express內(nèi)部總線相連的裝置的框圖;
圖3是顯示根據(jù)本發(fā)明一個實施例用于實現(xiàn)端點設(shè)備與PCI Express內(nèi)部總線相連的裝置的框圖;圖4A-4C顯示了一種集成的PCI Express端點設(shè)備的軟件視圖,其中圖4A顯示了根據(jù)本發(fā)明一個實施例的單個集成設(shè)備的塊級軟件視圖,其模擬通過虛擬鏈路耦合的兩個塊;圖4B顯示了根據(jù)本發(fā)明另一個實施例在圖4A中所示設(shè)備的各個層與寄存器的詳細(xì)軟件視圖;以及圖4C顯示了根據(jù)本發(fā)明另一個實施例在圖4A中所示設(shè)備的虛擬鏈路配置寄存器的實現(xiàn)視圖;圖5顯示了根據(jù)本發(fā)明另一個實施例使用圖4A中所示設(shè)備的模擬狀態(tài)機的虛擬鏈路的實現(xiàn)視圖;以及圖6顯示了根據(jù)本發(fā)明另一個實施例集成的PCI Express端點設(shè)備的寄存器結(jié)構(gòu)。
具體實施例方式
雖然,本發(fā)明可進行各種修改與替代方式,但其具體內(nèi)容已借助附圖中的實例顯示并將詳細(xì)說明。然而,應(yīng)理解本發(fā)明并不限定于所述具體實施例。相反,本發(fā)明覆蓋所有落入所附的權(quán)利要求限定的發(fā)明范圍內(nèi)的修改、等效物與替換方式。
本發(fā)明被認(rèn)為適用于涉及電子通信的各種電路和方法,尤其適用于那些涉及在端點類型設(shè)備與通信總線之間通信的電路和方法(例如,在PCI Express網(wǎng)絡(luò)集線器內(nèi))。然而本發(fā)明并不局限于這種應(yīng)用,通過討論在這一環(huán)境內(nèi)的實例可以更好地獲得對本發(fā)明各方面的理解。
根據(jù)本發(fā)明的一個實施例,集成的PCI Express端點設(shè)備模擬PCIExpress鏈路以模擬一個通過PCI Express兼容鏈路連接到一個端點設(shè)備的開關(guān)的下游端口。該PCI Express鏈路模擬一條PCI Express總線適合于與其進行通信的PCI類型鏈路(例如,PCI至PCI Express橋)。根據(jù)該方法,可以將PCI Express端點設(shè)備連接到PCI Express總線,同時模擬在端點設(shè)備與總線之間存在一條PCI Express兼容鏈路。另外,該方法促進實現(xiàn)經(jīng)由開關(guān)的下游端口將PCI Express端點設(shè)備旁邊的集成的PCI Express端點設(shè)備連接到總線。
在一種實施方案中,集成的PCI Express端點設(shè)備包括寄存器,在滿足PCI Express標(biāo)準(zhǔn)要求的同時促進與PCI Express網(wǎng)絡(luò)集線器的內(nèi)部總線的連接。具體地說,PCI Express設(shè)備是一種用寄存器虛擬地表現(xiàn)為兩個單獨設(shè)備(下游開關(guān)端口和端點設(shè)備)的集成端點設(shè)備,促進與PCI Express技術(shù)規(guī)格要求的兼容性,其涉及出現(xiàn)在內(nèi)部總線上的端點設(shè)備的一般性禁用。
根據(jù)軟件透視圖,模擬以下一個或多個寄存器每一個虛擬設(shè)備唯一的寄存器;在虛擬設(shè)備之間共享的寄存器;只讀所有的零的寄存器(看起來在軟件透視圖中存在卻未被功能性實現(xiàn));以及控制虛擬設(shè)備之間的虛擬鏈路的寄存器,利用最小鏈路模擬邏輯使其看起來像真實存在的鏈路。未被功能性實現(xiàn)的寄存器促進了PCI Express設(shè)備的實現(xiàn),在通常不約束設(shè)備與網(wǎng)絡(luò)集線器之間虛擬鏈路的簡易性的同時還滿足PCI標(biāo)準(zhǔn)要求。例如,實現(xiàn)非功能性的寄存器來模擬符合PCI Express標(biāo)準(zhǔn)的虛擬鏈路。在有些情況下,上述一個或多個寄存器包含顯示以上類別組合的字段。在這一實例中,單個寄存器包括非功能性只讀零字段/位和功能性使用的字段。
現(xiàn)在轉(zhuǎn)到附圖,圖1顯示了根據(jù)本發(fā)明另一實施例的為包含PCIExpress總線的PCI Express端點設(shè)備所配置的PCI Express裝置100。裝置100包括PCI Express開關(guān)(即開關(guān)的邏輯實現(xiàn)方式),其包括一個與總線132耦合的上游端口130和多個下游開關(guān)端口140、142、144、146和148。例如,可以在還包含了主機橋的部件內(nèi)實現(xiàn)該開關(guān)的上游端口130和總線132。根據(jù)邏輯透視圖,集成的PCI Express端點設(shè)備120包括通過虛擬鏈路110與PCI Express端點設(shè)備121耦合的開關(guān)146的下游端口。具體地說,集成的PCI Express端點設(shè)備120是一個單獨的塊,其適用于模擬按分層結(jié)構(gòu)相連(通過虛擬鏈路110)的兩個單獨的塊(下游端口146和PCI Express端點設(shè)備120)。借助于實例顯示了另一個集成的PCI Express端點設(shè)備122,其特征與集成的PCI Express端點設(shè)備120相類似(模擬通過虛擬鏈路112與PCI Express端點設(shè)備123耦合的下游端口148)。
根據(jù)軟件透視圖,PCI Express端點設(shè)備121有效地顯示為一個外部塊,其通過專用PCI Express鏈路(虛擬鏈路110)連接到下游端口146(繼而連接到內(nèi)部總線132)。同時,顯示為專用PCI Express鏈路的虛擬鏈路110具有不同于專用PCI Express鏈路的功能要求。例如,由于該鏈路是虛擬的,所以不要求橫跨虛擬鏈路110進行串行連接,不要求提供錯誤恢復(fù),而且不要求物理邏輯層或物理電子層功能橫跨兩個芯片。使用內(nèi)部虛擬鏈路110和112減輕對管理和控制PCI Express鏈路通常所需要更多的功能性要求。
在一種實施方案中,虛擬鏈路110減少和/或消除一般使用專用PCIExpress鏈路實現(xiàn)PCI Express功能所需要的邏輯。例如,就如通常專用PCI Express鏈路所要求的,由虛擬鏈路110提供的與兩個邏輯端點(下游端口146和PCI Express端點設(shè)備121)的處理層、數(shù)據(jù)鏈接層和物理層有關(guān)的功能都不是必須的。有關(guān)專用PCI Express鏈路實現(xiàn)的上述功能以及“PCI Express兼容”應(yīng)用的更多信息可以參考2003年4月來自俄勒岡州波特蘭市的PCI-SIG(PCI-特別興趣工作組)的“PCIExpress Base Specification Revision 1.0a”。符合PCI Express基本技術(shù)規(guī)范的解決方案可以認(rèn)為是“PCI Express兼容”。
在另一種實施方案中,集成的PCI Express端點設(shè)備120包括共享下游端口(146)和端點(121)功能的比特的配置寄存器。以這種方式共享比特促使在兩個單獨塊之間使用真實的專用PCI Express鏈路的有效程度為無效,從而減少相對于這一專用PCI Express鏈路裝置所顯示的復(fù)雜性。根據(jù)該方法,要求相對較少的寄存器比特來保持與為了PCIExpress通信而實現(xiàn)的軟件驅(qū)動器的兼容性。以下圖4A-6討論可以連同PCI Express裝置100一起實現(xiàn)的寄存器和其他部件用于模擬部件、鏈路及其他目的。
圖2顯示了根據(jù)本發(fā)明的另一實施例為PCI Express集成設(shè)備配置的PCI Express裝置200。圖2顯示的實施例與圖1中顯示的實施例相類似,具有通過單個虛擬鏈路210與總線耦合的多個PCI設(shè)備(而不是每一個虛擬鏈路將總線耦合到單個PCI端點設(shè)備)。開關(guān)的上游端口230通過PCI Express總線232與下游端口240、242、244和246耦合,其中下游端口246集成在集成的PCI Express端點裝置220內(nèi)。
集成的PCI Express端點裝置220包括一個電路塊,它模擬通過虛擬鏈路210和虛擬(PCI)總線252耦合的分立元件。具體地說,多個PCI設(shè)備包括通過虛擬總線252與PCI Express至PCI Express橋部件250耦合的設(shè)備260、262和264。PCI Express至PCI橋150通過虛擬鏈路210耦合到下游端口246。根據(jù)該方法,由于模擬部件和虛擬鏈路(以及總線)符合PCI Express要求,所以集成的PCI Express端點裝置220可以在(內(nèi)部)PCI Express總線232上存在。如以上結(jié)合圖1的以上討論,以類似于所示模擬部件的方式耦合到PCI Express總線的分立部件所要求的各種部件相對更加復(fù)雜,并且相應(yīng)地需要比集成的PCIExpress端點裝置220更多的資源。通過將這些部件(例如,寄存器)組合成一個單獨的塊,相對于實現(xiàn)包括單個塊的相同設(shè)備,可以使用更少的部件。另外,可以實現(xiàn)一個相對簡單的傳統(tǒng)軟件模型用于控制PCIExpress裝置200,這在使用多個PCI設(shè)備時特別有用。
圖3顯示了根據(jù)本發(fā)明的另一實施例為PCI Express集成設(shè)備配置的PCI Express裝置300。在該實施例中,PCI Express網(wǎng)絡(luò)集線器(帶有虛擬的PCI Express總線332)位于相對于PCI Express至PCI橋380的下一層。具體地說,PCI Express至PCI橋380通過PCI總線334與集成的PCI設(shè)備372、374和376以及集成裝置320耦合。
集成裝置320是單個塊,其具有模擬通過虛擬鏈路310和PCIExpress總線332進行耦合的單獨塊的功能。具體地說,PCI至PCIExpress橋320通過虛擬鏈路310與開關(guān)的上游端口330耦合。上游端口330通過PCI Express總線332與下游端口340、342和344耦合。例如,可以以類似于有關(guān)圖1中類似部件所討論的方式實現(xiàn)其中各種部件。舉例來說,可以以類似于虛擬鏈路110的方式實現(xiàn)虛擬鏈路310。另外,可以以類似于圖1中的方式實現(xiàn)共享的配置寄存器(還如同以下關(guān)于圖4A-6進一步描述的)。根據(jù)該方法,促進了PCI Express兼容解決方案,而且PCI Express類型軟件應(yīng)當(dāng)成功地列舉裝置。
圖4A-4C顯示了根據(jù)本發(fā)明另一實施例的集成設(shè)備420的軟件和實現(xiàn)視圖。集成設(shè)備420包括模擬塊,其包括通過虛擬鏈路410耦合的下游端口446和PCI Express端點421。例如,可以連同圖1、2和3中分別顯示的虛擬鏈路110、210和310以及它們連接的模擬塊一同實現(xiàn)虛擬鏈路410。虛擬鏈路410表現(xiàn)成作為真實的PCI Express鏈路的軟件,它包括相應(yīng)表現(xiàn)為分立塊的下游端口446和PCI Express端點421??梢詫⑻摂M鏈路410置于低功率模式,表現(xiàn)為具有兩組完整的配置寄存器并在各方面都表現(xiàn)成作為完全的功能性鏈路的軟件。然而,不實現(xiàn)包含處理、數(shù)據(jù)鏈接和物理層的一般PCI Express部件。根據(jù)配置圖,在它們那兒是模擬這些功能運行的小邏輯塊。
根據(jù)軟件透視圖,圖4B和4C所示的PCI Express鏈路的層被模擬至該軟件看起來似乎是查看一個完全運行的鏈路的程度。例如,通過假設(shè)沒有錯誤發(fā)生以及所有塊總是在準(zhǔn)備狀態(tài)來簡化該模擬。在某些情況下,為了減少模擬的復(fù)雜性而支持最小功能。舉例來說,可以保留不支持槽與可選的功率管理以及使可選的擴展寄存器保留無效。
參照圖4B,顯示了圖4A的集成設(shè)備420的下游端口446和PCIExpress端點設(shè)備410的軟件視圖,其包括下游端口配置寄存器472和PCI Express端點配置寄存器474。下游端口層包括適配器480、處理層481、數(shù)據(jù)鏈接層482和物理層483。PCI Express端點層包括物理層484、數(shù)據(jù)鏈接層485、處理層486和與IP 488(具有知識產(chǎn)權(quán)的應(yīng)用塊,例如視頻設(shè)備、音頻設(shè)備或盤控制器)耦合的適配器487。適配器480和487在IP總線與包之間進行轉(zhuǎn)換,提供對配置寄存器的訪問并產(chǎn)生用于中斷的消息。
圖4C顯示了集成設(shè)備420的虛擬鏈路410的軟件透視圖,其包括適配器490和I.P.498,以及與適配器490耦合的虛擬鏈路配置寄存器476。虛擬鏈路配置寄存器476包括處理模擬寄存器491、數(shù)據(jù)鏈接模擬寄存器492、物理模擬寄存器493、物理模擬寄存器494、數(shù)據(jù)鏈接模擬寄存器495和處理模擬寄存器496。
每一個處理,數(shù)據(jù)鏈接和物理層都不執(zhí)行(例如是無效塊)而為了與PCI Express兼容而進行模擬。為了模擬數(shù)據(jù)鏈接層482和485,響應(yīng)認(rèn)定的鏈路失效情況,分別使適配器480和487失效(防止產(chǎn)生任何新的循環(huán))。
為了模擬物理層483和484,產(chǎn)生一個PME_TO_Ack消息來支持允許網(wǎng)絡(luò)集線器收集所有PME_TO_Ack并完成在軟件視圖所示分層結(jié)構(gòu)中向上返回該集合版本(aggregate version)。舉例來說,帶有PME_TO_Ack消息的模擬包括一個由處于分層結(jié)構(gòu)頂部的處理器發(fā)送的PME_Turn_Off消息啟動的停止處理。每一個端點設(shè)備在其準(zhǔn)備關(guān)閉時通過產(chǎn)生一個PME_TO_Ack消息來應(yīng)答該PME_Turn_Off消息。當(dāng)網(wǎng)絡(luò)集線器的所有下游設(shè)備都應(yīng)答了一個PME_TO_Ack消息時,利用單個PME_TO_Ack消息應(yīng)答處理器(或其他上游設(shè)備)的該網(wǎng)絡(luò)集線器就收集這些PME_TO_Ack消息。
在一種實現(xiàn)方案中,PCI Express網(wǎng)絡(luò)集線器(例如,當(dāng)按照圖1實現(xiàn)時包括總線132)在假設(shè)虛擬端口不進行應(yīng)答就消除對該端口的依賴性的情況下運行。舉例來說,當(dāng)一個特定端口支持一個非功能性設(shè)備,由于它總是準(zhǔn)備好關(guān)閉,所以不必等待該非功能性設(shè)備準(zhǔn)備好關(guān)閉。如上所述,在某些情況下,網(wǎng)絡(luò)集線器在產(chǎn)生對一個上游設(shè)備的PME_TO_Ack消息之前不用等候該虛擬端口應(yīng)答。物理層通電至一種就緒和配置狀態(tài),而且配置摘要中存在的許多常數(shù)都是隨機的。在這方面,對虛擬設(shè)備一般不使用與典型的PCI Express實現(xiàn)有關(guān)的L1退出時間功能(使物理層從低功率狀態(tài)恢復(fù)的時間)。物理層使轉(zhuǎn)變無任何延遲,如同實際運行時間為零那樣。有效狀態(tài)情況是理論上的,如同該軟件無視獨立的有效狀態(tài)功率管理;因此,忽略有效狀態(tài)情況且不影響裝置470的運行性能。實現(xiàn)PCI Express“D”狀態(tài)(設(shè)置一種“L”硬件狀態(tài)的軟件狀態(tài))作為讀/寫寄存器,同時立即選擇一種請求狀態(tài)(支持D0和D3狀態(tài))。另外,一般不產(chǎn)生PCI Express類型請求“PM_Active_State_Request_L1”。
圖5顯示了根據(jù)本發(fā)明另一個實施例的虛擬鏈路410(例如,類似于圖4C中的視圖)的另一個軟件實現(xiàn)視圖。適配器590和I.P.598與虛擬鏈路配置寄存器576一起運行以模擬下游端口446和PCI Express端點設(shè)備421及其分隔它們的虛擬鏈路410。上行鏈路和下行鏈路模擬狀態(tài)機592和594與配置比特相互作用用于模擬處理、數(shù)據(jù)鏈接和物理層功能。在某些情況下,上行鏈路和下行鏈路模擬狀態(tài)機592和594被集成到一個對于所有層的單個模擬塊中。
利用各種裝置中的一個或多個裝置實現(xiàn)上述及圖中所示寄存器。在本發(fā)明的一個實施例中,組合一個或多個配置寄存器。參照圖4B作為例子,可以組合處理層481與數(shù)據(jù)鏈接層482的寄存器。為了模擬目的而實現(xiàn)的非功能性寄存器和比特被故意設(shè)置為零,而不實現(xiàn)的寄存器故意返回零。
在一種實現(xiàn)方案中,將寄存器及伴隨電路配置成在沒有進行選擇時產(chǎn)生一個零結(jié)果(即,一個未定義的或未選擇的)。例如,可以通過將每一個多路信道上的一個輸入指定零或者更簡單地通過使用標(biāo)準(zhǔn)‘與’‘或,樹選擇寄存器來實現(xiàn)該方法。在該‘與’‘或’樹中,一個寄存器具有其通過一個“與”門選擇的輸出。所有寄存器的輸出被一起進行“或”運算,結(jié)果就是被選擇的門。如果沒有選擇門,所有“或”輸入為0,保證任何沒有被實現(xiàn)的寄存器結(jié)果為零。類似地,實現(xiàn)的寄存器內(nèi)的所有未實現(xiàn)比特將返回“0”。
以一種或多種方式選擇將要實現(xiàn)的寄存器(例如,共享的,開關(guān)端口或設(shè)備寄存器)。例如,某些寄存器包括對開關(guān)端口唯一的寄存器和對設(shè)備唯一的寄存器。當(dāng)配置周期為類型0且目的地址與開關(guān)端口的設(shè)備數(shù)量匹配時選擇開關(guān)端口寄存器。當(dāng)配置周期為類型1時選擇設(shè)備寄存器,該設(shè)備寄存器在開關(guān)端口編程的總線范圍內(nèi)且與設(shè)備標(biāo)識符(ID)匹配。以兼容PCI要求的方式轉(zhuǎn)換類型1和類型0周期。通過對以上涉及開關(guān)端口和設(shè)備寄存器的兩個機制實現(xiàn)“或”操作來選擇共享的寄存器。
可以通過使用類似于上述的方法來實現(xiàn)的一類共享寄存器是廠商ID寄存器。當(dāng)讀取開關(guān)端口寄存器或設(shè)備寄存器時選擇該寄存器。在寄存器表中顯示了在D開關(guān)與設(shè)備列中具有X的單個輸入項。類似地可以實現(xiàn)其他各種類型的共享寄存器。
圖6顯示了根據(jù)本發(fā)明另一個實施例的命令寄存器裝置600。該命令寄存器用作兩個分立的虛擬寄存器的一個實例(以類似于涉及分立的虛擬寄存器的方式容易實現(xiàn)其他類型的寄存器)。對于PCI Express來說,比特15∶11,9,7,5∶2是只讀位而不被實現(xiàn);因此這些比特總是返回所有零。比特10,中斷使能,可以用來允許中斷傳播或禁止中斷傳播。禁止任何一個比特就會禁止中斷傳播。有關(guān)這些比特實現(xiàn)的更多信息可以參照上述的PCI Express基本技術(shù)規(guī)范。
對于每一個命令寄存器610和620,在硬件中都不實現(xiàn)RO 0(只讀固定0輸出)比特(實現(xiàn)使用的比特)。在某些情況下,顯示48比特而僅僅實現(xiàn)10比特。在頁頂部的寄存器610和620描述了表示在同一位置的兩個不同寄存器的寄存器。當(dāng)實現(xiàn)中斷禁止功能時,設(shè)置PCI Express設(shè)備的命令寄存器內(nèi)的INT DIS比特或在開關(guān)的下游端口的命令寄存器內(nèi)的相同比特來阻塞該INT信號。在一種實施方案中,通過使用上述“或”門來實現(xiàn),組合兩個禁止信號以使得在認(rèn)定兩個禁止位或其中一個時都會阻塞INT。在“或”門后面的“與”門在置位一個或兩個INT DIS比特時禁止INT。如果寄存器內(nèi)的總線主控使能位都被置位(以上所示的兩個輸入與非門),總線主控使能就啟動該設(shè)備的總線主控??偩€控制寄存器620實現(xiàn)要實現(xiàn)的2個比特,其中之一的SERR還包括在所示另外兩個控制寄存器內(nèi)的控制比特。其中任何一個比特都可以阻塞信號系統(tǒng)錯誤輸出,而與虛擬分層結(jié)構(gòu)中哪里的SERR被禁止無關(guān)。
以下的表1顯示了根據(jù)本發(fā)明另一個實施例通過使用共享的寄存器集合的方法。例如,可以連同上述的圖6實現(xiàn)表1中所示的信息。
表1.共享的寄存器集合,開關(guān)的下游端口和包括虛擬鏈路的設(shè)備
權(quán)利要求
1.一種供PCI Express類型數(shù)據(jù)通信使用的集成端點設(shè)備,其包括配置并設(shè)置成執(zhí)行外部PCI Express端點設(shè)備塊功能的PCI Express端點電路(121,123,260,262,264);適用于與PCI Express總線進行通信而且被配置并設(shè)置成執(zhí)行下游端口功能的PCI Express下游端口電路(146,148,246);模擬電路(110,112,210),其適用于模擬分別由PCI Express端點電路與PCI Express下游端口電路所實現(xiàn)的PCIExpress端點設(shè)備與PCI Express下游端口之間的一個PCI Express兼容鏈路。
2.按照權(quán)利要求1的設(shè)備,還包括合并的配置寄存器(600),其適用于存儲由模擬電路與PCI Express端點電路使用的信息,所存儲的信息有助于模擬PCI Express兼容鏈路。
3.按照權(quán)利要求1的設(shè)備,其中模擬電路適用于與可實現(xiàn)的軟件應(yīng)用接口,用于模擬PCI Express端點電路作為包含專用PCI Express鏈路的外部塊。
4.按照權(quán)利要求1所述的設(shè)備,還包括至少一個非功能性寄存器(491,492,493),其被配置成模擬表現(xiàn)出PCI Express兼容設(shè)備特征的寄存器。
5.按照權(quán)利要求4的設(shè)備,其中模擬電路適于實現(xiàn)用在集成端點設(shè)備與PCI Express類型通信鏈路之間的PCI Express類型的通信的至少一個非功能性寄存器,其請求實現(xiàn)該至少一個非功能性寄存器所實現(xiàn)的寄存器功能。
6.按照權(quán)利要求4的設(shè)備,其中至少一個非功能性寄存器適用于只讀取所有零。
7.按照權(quán)利要求4的設(shè)備,其中模擬非功能性寄存器以看起來在軟件透視圖中出現(xiàn)。
8.按照權(quán)利要求4的設(shè)備,其中至少一個非功能性寄存器對每一個外部PCI Express端點設(shè)備塊是唯一的,PCI Express端點電路對其實現(xiàn)外部功能。
9.按照權(quán)利要求4的設(shè)備,其中至少一個非功能性寄存器對每一個模擬的PCI Express兼容鏈路是唯一的。
10.按照權(quán)利要求4的設(shè)備,其中在至少兩個模擬的PCI Express兼容鏈路之間共享至少一個非功能性寄存器。
11.按照權(quán)利要求1的設(shè)備,其中配置并設(shè)置PCI Express端點電路來對至少兩個PCI Express端點塊實現(xiàn)PCI Express端點設(shè)備塊功能,而且模擬電路適用于模擬和控制在至少兩個PCI Express端點塊之間的一個虛擬鏈路。
12.按照權(quán)利要求1的設(shè)備,其中PCI Express下游端口電路適用于與PCI Express網(wǎng)絡(luò)集線器進行通信。
13.按照權(quán)利要求1的設(shè)備,其中PCI Express下游端口電路適用于與個人計算機、服務(wù)器和網(wǎng)絡(luò)中的至少一個的PCI Express類型鏈路進行通信。
14.按照權(quán)利要求1的設(shè)備,其中模擬電路還適用于模擬PCIExpress兼容鏈路,其包含PCI Express至PCI橋和與PCI Express端點電路所實現(xiàn)的多個PCI Express端點設(shè)備塊耦合的PCI總線。
15.一種供PCI Express類型通信使用的集成的PCI Express端點設(shè)備,其適用于在PCI Express開關(guān)的內(nèi)部總線上出現(xiàn)并促進PCIExpress兼容性,該PCI Express端點設(shè)備包括一個硬件塊,其被配置并設(shè)置成實現(xiàn)PCI Express開關(guān)的下游端口功能,實現(xiàn)端點設(shè)備功能以及模擬通過PCI Express兼容鏈路耦合的下游端口塊和端點設(shè)備塊,其中該模擬的下游端口塊實現(xiàn)下游端口功能而模擬的端點設(shè)備塊實現(xiàn)端點設(shè)備功能;該PCI Express端點設(shè)備還包括一個合并的配置寄存器,其適用于存儲該硬件塊在模擬和實現(xiàn)下游端口、端點設(shè)備和PCI Express兼容鏈路功能時所使用的信息。
16.一種供PCI Express類型數(shù)據(jù)通信使用的集成端點設(shè)備,其包括用于實現(xiàn)外部PCI Express端點設(shè)備塊功能的外部塊裝置;經(jīng)過配置并用于與PCI Express總線通信和實現(xiàn)PCI Express下游端口功能的端口裝置;以及模擬裝置,用于模擬分別由外部塊裝置與端口裝置所實現(xiàn)的PCI Express端點設(shè)備與PCI Express下游端口之間的一個PCIExpress兼容鏈路。
17.一種PCI Express通信系統(tǒng),包括一個中央處理器裝置;一個被配置并設(shè)置成在中央處理器裝置和PCI Express總線開關(guān)之間進行通信的主機橋;一個PCI Express開關(guān),其包含一個上游端口,一個總線和多個下游端口;與其中一個下游端口耦合的一個PCI Express端點設(shè)備;其中該PCI Express端點設(shè)備及與其耦合的下游端口包含在單個電路中,該單個電路模擬通過一個虛擬鏈路耦合的下游端口和PCIExpress端點設(shè)備。
18.按照權(quán)利要求17所述的系統(tǒng),還包括為了模擬該模擬的下游端口和PCI Express端點設(shè)備特性所實現(xiàn)的多個寄存器。
19.按照權(quán)利要求18所述的系統(tǒng),其中至少一個寄存器是為了模擬PCI Express類型功能所實現(xiàn)的非功能性寄存器。
20.一種PCI Express通信系統(tǒng),包括一個PCI至PCI Express橋;一個上游端口;多個下游端口;其中該PCI至PCI Express橋、上游端口和下游端口都包含在一個電路中,該電路模擬在PCI至PCIExpress橋與上游端口之間的一個虛擬鏈路和模擬鏈接多個下游端口與上游端口的一個PCI Express總線。
全文摘要
本發(fā)明涉及與PCI類型裝置一起實現(xiàn)的具有兩個軟件視圖的單個硬件子系統(tǒng),其看起來是以分層結(jié)構(gòu)連接的兩個單獨的硬件子系統(tǒng)。根據(jù)本發(fā)明的一個實施例,硬件裝置(100)適用于模擬在單個硬件塊(120)中的兩個虛擬的單獨的分層子系統(tǒng)(121,146)。該模擬促進了設(shè)備與PCI Express類型通信鏈路的耦合,同時滿足這些設(shè)備所要求的PCI Express類型鏈接。
文檔編號G06F13/40GK1934556SQ200580008749
公開日2007年3月21日 申請日期2005年3月21日 優(yōu)先權(quán)日2004年3月19日
發(fā)明者D·R·伊沃伊, J·M·羅斯 申請人:皇家飛利浦電子股份有限公司