欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

虛擬pci設(shè)備裝置和方法

文檔序號(hào):6423994閱讀:336來(lái)源:國(guó)知局
專利名稱:虛擬pci設(shè)備裝置和方法
技術(shù)領(lǐng)域
本發(fā)明總體上涉及計(jì)算機(jī)。具體地涉及數(shù)據(jù)傳送總線。
背景技術(shù)
由PCI Special Interest Group出版的PCI局部總線規(guī)范修訂本2.2(PCI Local Bus Specification Rev.2.2)和PCI到PCI橋接架構(gòu)規(guī)范修訂本1.1(PCI to PCI Bridge Architecture SpecificationRev.1.1)禁止用于將網(wǎng)絡(luò)控制器、大容量存儲(chǔ)器控制器、顯示控制器、多媒體設(shè)備、通信設(shè)備及其它設(shè)備集成到一個(gè)系統(tǒng)中的PCI(Peripheral Component Interconnect,外圍部件互連)總線協(xié)議。包含用于電特性的規(guī)范以及軟件與PCI設(shè)備相互作用的方式的PCI總線協(xié)議以這樣一種方式提供了外圍設(shè)備的集成,所述方式通常與諸如主機(jī)總線、處理器或者存儲(chǔ)器的其它系統(tǒng)部件所使用的特定協(xié)議無(wú)關(guān)。
PCI協(xié)議提供了“勾連”以允許計(jì)算機(jī)程序直接訪問(wèn)和配置PCI設(shè)備。這些勾連包含用于訪問(wèn)與每個(gè)PCI設(shè)備有關(guān)的256個(gè)8位配置寄存器的配置地址空間,以允許計(jì)算機(jī)程序可選地檢測(cè)安裝在系統(tǒng)中的每個(gè)PCI設(shè)備、標(biāo)識(shí)廠家和設(shè)備類型、確定每個(gè)PCI設(shè)備的系統(tǒng)資源需求、在系統(tǒng)地址空間內(nèi)重定位每個(gè)設(shè)備、在無(wú)需用戶干預(yù)的情況下進(jìn)行中斷約束、安裝、配置、引導(dǎo),這些勾連還包含用于系統(tǒng)地址映射結(jié)構(gòu)的配置地址空間。配置寄存器包含預(yù)定義的報(bào)頭區(qū)域和與設(shè)備相關(guān)的區(qū)域;然而,僅僅需要實(shí)現(xiàn)在每個(gè)區(qū)域中的必要的和相關(guān)的寄存器。PCI到PCI橋接器是具有配置寄存器的PCI設(shè)備,它們可以被計(jì)算機(jī)程序訪問(wèn)從而向在PCI到PCI橋接器后面的PCI總線分配范圍總線編號(hào)(range bus number)。
配置空間在由在主處理器上執(zhí)行的計(jì)算機(jī)程序啟動(dòng)的配置周期內(nèi)被訪問(wèn)。PCI協(xié)議預(yù)期通過(guò)兩種不同機(jī)制中的任何一種來(lái)實(shí)現(xiàn)對(duì)配置周期的路由,其中主機(jī)到PCI橋接器把軟件命令(以處理器啟動(dòng)的、對(duì)I/O空間的主機(jī)總線訪問(wèn)的序列的形式)轉(zhuǎn)換到在目標(biāo)PCI總線上的單個(gè)配置周期中,其中這一轉(zhuǎn)換過(guò)程涉及由目標(biāo)PCI設(shè)備接收的特定PCI總線信號(hào)的斷定以向那個(gè)設(shè)備指示它就是當(dāng)前配置周期的目標(biāo)。
對(duì)系統(tǒng)中的PCI設(shè)備的檢測(cè)和初始化能夠由與設(shè)備無(wú)關(guān)的程序通過(guò)使用配置空間來(lái)實(shí)現(xiàn)。程序可以輪詢分配給在PCI總線0上的每個(gè)插槽的配置空間,以檢測(cè)駐留在總線0上的PCI設(shè)備和PCI到PCI橋接器的存在。程序可以通過(guò)寫(xiě)特定的配置寄存器來(lái)向每個(gè)檢測(cè)到的PCI到PCI橋接器分配一個(gè)唯一的總線編號(hào),然后輪詢?cè)诿織l分配了的總線上的每個(gè)插槽,以檢測(cè)PCI設(shè)備和PCI到PCI橋接器的存在。這個(gè)處理過(guò)程可以持續(xù),直到在每條檢測(cè)到的PCI總線上的每個(gè)插槽被輪詢并且所有PCI設(shè)備被檢測(cè)到為止。對(duì)所發(fā)現(xiàn)的安裝在系統(tǒng)中的每個(gè)PCI設(shè)備來(lái)說(shuō),該設(shè)備的配置寄存器可以被讀取以確定該設(shè)備的資源需求??梢詷?gòu)造系統(tǒng)地址映射從而消除在系統(tǒng)和各種PCI設(shè)備當(dāng)中的沖突,并且系統(tǒng)資源可以通過(guò)寫(xiě)在每個(gè)PCI設(shè)備中的適當(dāng)?shù)呐渲眉拇嫫鞫环峙浣o每個(gè)PCI設(shè)備。另外,自檢測(cè)可以在支持自檢測(cè)的那些設(shè)備上被調(diào)用,并且可以在有或者沒(méi)有用戶干預(yù)的情況下為每個(gè)PCI設(shè)備實(shí)現(xiàn)任何其它的初始化、安裝和配置。
由對(duì)PCI協(xié)議的嚴(yán)格遵循所帶來(lái)的缺點(diǎn)包含對(duì)數(shù)據(jù)傳送速度、數(shù)據(jù)通路寬度、延遲和帶寬的限制,其為PCI設(shè)備的性能設(shè)置了上限。性能還可能受到為主機(jī)到PCI橋接器所固有的延遲以及為駐留在一條共享的PCI總線上的多個(gè)PCI設(shè)備所固有的帶寬限制的限制。當(dāng)前趨勢(shì)是對(duì)于性能不斷提高的處理器、存儲(chǔ)器和主機(jī)總線來(lái)說(shuō),與連接到實(shí)際PCI總線而實(shí)現(xiàn)的性能相比,有效連接的設(shè)備能夠?qū)崿F(xiàn)諸如較低延遲、較高吞吐量和提高了的總體系統(tǒng)性能的性能優(yōu)勢(shì)。
按照PCI橋接器規(guī)范的規(guī)定,即插即用的(plug-and-playTM)資源分配程序通常期望分配給一個(gè)特定PCI總線的地址空間包含分配給在該特定PCI總線后面的任何PCI總線的地址空間。因此,完全遵守PCI協(xié)議增加了在主機(jī)到PCI橋接器的主處理器端定位PCI設(shè)備的困難,其中PCI設(shè)備-可能由于兼容性的原因,要求可以是分配給物理PCI總線的地址空間的一個(gè)子集的一個(gè)地址空間。


圖1a、1b顯示了依據(jù)本發(fā)明的系統(tǒng)配置。
圖2顯示了更詳細(xì)的系統(tǒng)配置。
圖3顯示了具有主虛擬橋接器的系統(tǒng)。
圖4顯示了具有次虛擬橋接器和主虛擬橋接器的系統(tǒng)。
圖5、6a、6b顯示了方法實(shí)施例的流程圖。
具體實(shí)施例方式
本發(fā)明的各個(gè)實(shí)施例提供了把諸如網(wǎng)絡(luò)控制器、大容量存儲(chǔ)器控制器、顯示控制器、多媒體設(shè)備、通信設(shè)備及其它設(shè)備的設(shè)備集成到一個(gè)主機(jī)總線處理器中,還提供了設(shè)備到處理器主機(jī)總線的有效連接。通過(guò)使得通常僅用于PCI兼容設(shè)備的軟件可以支持這些設(shè)備,PCI協(xié)議的選擇方面可以得到遵守。在某些系統(tǒng)中,本發(fā)明可以提供優(yōu)于現(xiàn)有技術(shù)方法的許多優(yōu)點(diǎn)中的至少一個(gè),這許多優(yōu)點(diǎn)包含提高了的系統(tǒng)性能、提高了的設(shè)備性能、更簡(jiǎn)化的系統(tǒng)中所有設(shè)備的初始化和配置、提高了的系統(tǒng)資源分配過(guò)程中的穩(wěn)定性、較低的總體成本和降低了的物理底板/芯片空間,以及允許將分配給一條物理PCI總線的地址空間的子集分配給駐留在主機(jī)總線上的一個(gè)設(shè)備。另外,本發(fā)明可以允許把對(duì)計(jì)算機(jī)程序來(lái)說(shuō)是具有PCI兼容設(shè)備的許多特性的設(shè)備集成到一個(gè)主處理器中,從而產(chǎn)生了諸如降低了的總體系統(tǒng)成本、較少的空間、降低了的處理器芯片引腳數(shù)和提高了的PCI總線上的帶寬、提高了的系統(tǒng)性能或者提高了的設(shè)備性能的許多好處。
圖1a、1b、2、3和4顯示了用于說(shuō)明本發(fā)明各個(gè)實(shí)施例的系統(tǒng)100、200、300和400的方框圖。處理器130可以表示任何一個(gè)連接到主機(jī)總線120的處理器。可替換地,處理器130可以表示兩個(gè)或更多連接到主機(jī)總線120的處理器。
系統(tǒng)100、200、300、400可以包含諸如網(wǎng)絡(luò)控制器、大容量存儲(chǔ)器控制器、顯示控制器、多媒體設(shè)備、通信設(shè)備或者其它設(shè)備的主機(jī)總線設(shè)備110、210、410。主機(jī)總線設(shè)備110、210、410可以以這樣一種方式通過(guò)接口112連接到主機(jī)總線120,所述方式為允許主機(jī)總線120被監(jiān)控并且允許面向不存在的虛擬PCI設(shè)備160的由處理器啟動(dòng)的主機(jī)總線周期被主機(jī)總線設(shè)備110所截取。
主機(jī)總線設(shè)備110、210、410可以包含一個(gè)連接到主機(jī)總線120、用于跟蹤主機(jī)總線周期的監(jiān)控電路114。監(jiān)控電路114可以在每個(gè)主機(jī)總線周期期間獲取選擇信息,并且標(biāo)識(shí)將被探聽(tīng)或者截取的選擇主機(jī)總線周期。讀周期可以通過(guò)驅(qū)動(dòng)選擇主機(jī)總線數(shù)據(jù)信號(hào)從而將數(shù)據(jù)傳送到主機(jī)總線120然后完成該周期而被截取。由處理器130啟動(dòng)的周期通過(guò)通知處于運(yùn)行狀態(tài)的處理器130何時(shí)依據(jù)由主機(jī)總線120使用的特定協(xié)議終止該周期來(lái)被完成。寫(xiě)周期可以通過(guò)在主機(jī)總線120的寫(xiě)周期鎖存選擇主機(jī)總線120數(shù)據(jù)信號(hào)值然后完成該周期而被截取。主機(jī)總線120周期可以通過(guò)讀取并在存儲(chǔ)器115中存儲(chǔ)選擇主機(jī)總線周期信息而被探聽(tīng),而該周期通常由連接到主機(jī)總線120的另一個(gè)設(shè)備完成。
主機(jī)總線設(shè)備110、210、410可以包含存儲(chǔ)器111,該存儲(chǔ)器111連接到主機(jī)總線120以允許存儲(chǔ)器111的內(nèi)容可以通過(guò)主機(jī)總線120被訪問(wèn)。存儲(chǔ)器111的各個(gè)具體實(shí)施例可以包含駐留在系統(tǒng)配置空間中的寄存器216、218、417,或者駐留在系統(tǒng)I/O或存儲(chǔ)器地址空間中的隨機(jī)存取存儲(chǔ)器(RAM)、寄存器或數(shù)據(jù)端口。
PCI協(xié)議在每條PCI總線上都提供了其中可以駐留PCI設(shè)備的一定數(shù)目的可尋址的插槽。PCI到PCI橋接器是在兩條PCI總線之間提供傳送通路的PCI設(shè)備。計(jì)算機(jī)程序通常向在檢測(cè)到的PCI到PCI橋接器后面的每條PCI總線分配一個(gè)唯一的總線編號(hào)。PCI總線編號(hào)和插槽編號(hào)的組合提供了一個(gè)可以由計(jì)算機(jī)程序用來(lái)選擇通過(guò)配置空間安裝在系統(tǒng)中的任何特定PCI設(shè)備的唯一標(biāo)識(shí)符。PCI尋址和路由協(xié)議通常預(yù)期一個(gè)物理分級(jí)總線結(jié)構(gòu),在其中面向一特定PCI設(shè)備的主機(jī)總線周期在物理上被路由通過(guò)主機(jī)到PCI橋接器并且可能通過(guò)一個(gè)或多個(gè)PCI到PCI橋接器,以生成在其中駐留有所面向的PCI設(shè)備的特定PCI總線上的一個(gè)周期。每條PCI總線被定義為位于任意一條PCI總線和主機(jī)總線之間的物理/虛擬數(shù)據(jù)傳送通路中的該任意一條PCI總線之后。
對(duì)本說(shuō)明書(shū)來(lái)說(shuō),主PCI總線150可以是總線編號(hào)0,并且是直接在主機(jī)到PCI橋接器后面的總線,但是它也可以是在總線編號(hào)0后面的、其中虛擬PCI設(shè)備150是在后面的任一PCI總線,并且它與本發(fā)明的方法是相符的,這是因?yàn)樵谝粋€(gè)特定系統(tǒng)中可以有多于一個(gè)的主PCI總線。另外,主PCI總線160可以是實(shí)際的PCI總線,或者它可以是虛擬的。對(duì)本說(shuō)明書(shū)來(lái)說(shuō),術(shù)語(yǔ)虛擬和邏輯是就從在任意一個(gè)或多個(gè)處理器130上運(yùn)行的計(jì)算機(jī)程序的角度來(lái)看而言的,其中該程序所看到的物理設(shè)備或結(jié)構(gòu)可能并不是實(shí)際的物理設(shè)備或結(jié)構(gòu)的反映。虛擬PCI設(shè)備160邏輯上駐留在PCI總線151上,其是主PCI總線150的擴(kuò)展,或是主PCI總線150的輔助總線(即駐留在主PCI總線150后面的總線)中的一條。
主機(jī)到PCI橋接器140、240、340可以使選擇主機(jī)總線120周期到主PCI總線150和該主PCI總線150的輔助總線的轉(zhuǎn)換和路由更加方便。主機(jī)到PCI橋接器140、240、340可以包含主機(jī)總線接口141、PCI總線接口142、存儲(chǔ)器145、存儲(chǔ)器149和控制電路148,以跟蹤主機(jī)總線120周期,從而為每個(gè)主機(jī)總線周期確定是否將該主機(jī)總線周期路由到一條實(shí)際的主PCI總線150。為了進(jìn)行這個(gè)確定,控制電路148參考存儲(chǔ)器145和存儲(chǔ)器149,其中存儲(chǔ)器145標(biāo)識(shí)分配給主PCI總線150和它的輔助總線的地址空間,存儲(chǔ)器149標(biāo)識(shí)分配給虛擬PCI設(shè)備160或者可能分配給其它虛擬設(shè)備的地址空間。存儲(chǔ)器145和149可以以總線編號(hào)、存儲(chǔ)器地址范圍、I/O地址范圍或者其它類似信息的形式保持信息。在存儲(chǔ)器149中的信息通??梢允窃诖鎯?chǔ)器145中的、分配給主PCI總線150和它的輔助總線的地址空間的子集,其中在存儲(chǔ)器149中的信息表示分配給虛擬PCI設(shè)備160(或者在更復(fù)雜的配置中分配給所有或者一組虛擬設(shè)備或者總線)的地址范圍。允許面向虛擬PCI設(shè)備160的主機(jī)總線周期被主機(jī)總線設(shè)備110、210、310截取。
在其中主機(jī)總線120利用PentiumTM3或者4處理器協(xié)議的系統(tǒng)中,主機(jī)到PCI橋接器140、240、340可以是用于所有主機(jī)總線周期的、確保依據(jù)主機(jī)總線協(xié)議完成所有主機(jī)總線周期的應(yīng)答器,并且主機(jī)總線設(shè)備110可以聲明它截取的選擇主機(jī)總線周期。
為標(biāo)識(shí)面向虛擬PCI設(shè)備160的主機(jī)總線周期所要求的信息和獲得這個(gè)信息的方式可以取決于特定系統(tǒng)的總線結(jié)構(gòu)。虛擬PCI設(shè)備160的唯一的總線-設(shè)備編號(hào)組合可以被硬布線或者預(yù)編程到在系統(tǒng)100中的主機(jī)總線設(shè)備110和主機(jī)到PCI橋接器中,其中在系統(tǒng)100中虛擬PCI設(shè)備160在邏輯上駐留在主PCI總線150上。
對(duì)于系統(tǒng)100、200、300、400來(lái)說(shuō),當(dāng)在這些系統(tǒng)中出現(xiàn)下列情況時(shí),這些系統(tǒng)仍是與本發(fā)明的實(shí)施例相符的系統(tǒng)100、200、300、400具有兩個(gè)、三個(gè)或更多主機(jī)總線設(shè)備110、210、410或者具有兩個(gè)、三個(gè)或更多處理器130,其中處理器130每個(gè)都具有集成到它當(dāng)中的一個(gè)或多個(gè)主機(jī)總線設(shè)備110、210、410。本發(fā)明的方法可以應(yīng)用于包含多個(gè)不同的主機(jī)總線設(shè)備110的系統(tǒng)100,其中這多個(gè)不同的主機(jī)總線設(shè)備110每個(gè)都與多個(gè)不同的虛擬PCI設(shè)備160中的一個(gè)相關(guān)。面向多個(gè)虛擬PCI設(shè)備160中的任何一個(gè)的主機(jī)總線120周期都不被主機(jī)到PCI橋接器140轉(zhuǎn)發(fā)到主PCI總線150;相反地,允許主機(jī)總線設(shè)備110中的一個(gè)截取該周期。一個(gè)以上的主機(jī)總線設(shè)備110可以與一個(gè)特定虛擬PCI設(shè)備160相關(guān),以便使兩個(gè)或更多主機(jī)總線設(shè)備110利用分配給該特定虛擬PCI設(shè)備的系統(tǒng)資源。相反地,單個(gè)主機(jī)總線設(shè)備110可以與一個(gè)以上的虛擬PCI設(shè)備160相關(guān)。此外,主機(jī)總線設(shè)備110可以支持多種根據(jù)PCI協(xié)議的功能。用于防止多個(gè)主機(jī)總線設(shè)備110截取到同一個(gè)虛擬PCI設(shè)備160的周期的方案,可以通過(guò)使用用于標(biāo)識(shí)主機(jī)總線設(shè)備110的相關(guān)虛擬PCI設(shè)備160的唯一的總線編號(hào)-設(shè)備編號(hào)組合對(duì)每個(gè)主機(jī)總線設(shè)備110進(jìn)行硬布線或者預(yù)編程來(lái)實(shí)現(xiàn)。
圖1a顯示了通過(guò)接口112連接到主機(jī)總線的主機(jī)總線設(shè)備110,其中接口112不同于到處理器130的主機(jī)總線接口。圖1b顯示了符合本發(fā)明的方法的可替換的配置,其中處理器130和主機(jī)總線設(shè)備110通過(guò)內(nèi)部總線113和共享的主機(jī)總線接口112連接到主機(jī)總線120。圖1b中的系統(tǒng)能夠通過(guò)將主機(jī)總線設(shè)備110和處理器130集成到單個(gè)電路封裝(package)中而產(chǎn)生。
圖2依據(jù)對(duì)如圖1所示的系統(tǒng)100的教授顯示了用于說(shuō)明本發(fā)明一個(gè)實(shí)施例的系統(tǒng)200。系統(tǒng)200包含虛擬PCI設(shè)備160,其從在一個(gè)或多個(gè)處理器130上運(yùn)行的計(jì)算機(jī)程序的角度來(lái)看包含了256個(gè)可通過(guò)配置空間訪問(wèn)的8位配置寄存器268。只有必要的和相關(guān)的配置寄存器268才被實(shí)現(xiàn)了。依據(jù)PCI協(xié)議,計(jì)算機(jī)程序可以啟動(dòng)對(duì)虛擬配置寄存器268的訪問(wèn),以實(shí)現(xiàn)包含下列功能的一個(gè)或多個(gè)功能檢測(cè)虛擬PCI設(shè)備160的存在、標(biāo)識(shí)廠家和設(shè)備類型、確定虛擬設(shè)備160的系統(tǒng)資源需求、提供完全的設(shè)備重定位、在無(wú)需用戶干涉的情況下進(jìn)行中斷約束、安裝、配置、引導(dǎo),以及在系統(tǒng)映射結(jié)構(gòu)中包含虛擬PCI設(shè)備。
主機(jī)總線設(shè)備210可以包含主機(jī)總線存儲(chǔ)器111,在這個(gè)實(shí)施例中主機(jī)總線存儲(chǔ)器111包含PCI兼容配置寄存器218。只有必要的和相關(guān)的配置寄存器218才被實(shí)現(xiàn)。監(jiān)控電路114跟蹤主機(jī)總線周期,并且標(biāo)識(shí)面向虛擬配置寄存器268的、被截取和重定向以訪問(wèn)主機(jī)總線設(shè)備配置寄存器218的主機(jī)總線周期。因此,在處理器130上執(zhí)行的計(jì)算機(jī)程序能夠通過(guò)啟動(dòng)面向虛擬PCI設(shè)備160的配置寄存器268的主機(jī)總線周期,來(lái)訪問(wèn)主機(jī)總線設(shè)備配置寄存器218。這樣,主機(jī)總線設(shè)備210參與用于分配通常僅可由PCI設(shè)備得到的系統(tǒng)資源的初始化和配置過(guò)程。
在系統(tǒng)200中通過(guò)由PCI協(xié)議提供的兩種映射機(jī)制中的任何一種生成配置周期。機(jī)制一是一種索引方案,其中在處理器I/O空間中的兩個(gè)固定位置被保留用于配置地址寄存器243和配置數(shù)據(jù)寄存器244,所述的這兩個(gè)寄存器243和244通常被包含在一個(gè)主機(jī)到PCI橋接器240中。配置地址寄存器243允許或者禁止配置空間,并且由計(jì)算機(jī)程序?qū)懭耄瑥亩ㄟ^(guò)指定后續(xù)的配置周期所要用于的總線編號(hào)、設(shè)備編號(hào)、功能編號(hào)和寄存器編號(hào),來(lái)標(biāo)識(shí)特定的PCI設(shè)備和具體的配置寄存器。面向配置數(shù)據(jù)寄存器244的后續(xù)的DWORD(雙字)讀和寫(xiě)主機(jī)總線周期通常被主機(jī)到PCI橋接器240轉(zhuǎn)換和路由到PCI兼容配置周期中;然而,面向虛擬PCI設(shè)備160的配置寄存器268的主機(jī)總線周期被主機(jī)總線設(shè)備210截取,而不是如PCI協(xié)議預(yù)期的那樣由主機(jī)到PCI橋接器240對(duì)其進(jìn)行路由。
支持機(jī)制一的系統(tǒng)200可以提供一個(gè)鏡像寄存器216,其被包含在存儲(chǔ)器115中并且保持通過(guò)探聽(tīng)而獲得的選擇信息。面向配置地址寄存器243的主機(jī)總線120的寫(xiě)周期可以被主機(jī)總線設(shè)備210探聽(tīng),并且在探聽(tīng)周期中傳送的數(shù)據(jù)可以被存儲(chǔ)到鏡像寄存器216中,然后由鏡像寄存器216反映配置地址寄存器243的內(nèi)容。監(jiān)控電路114可以參考鏡像寄存器216,以標(biāo)識(shí)面向配置數(shù)據(jù)寄存器244的、用來(lái)訪問(wèn)虛擬配置寄存器268的后續(xù)的DWORD主機(jī)總線120周期。這些標(biāo)識(shí)了的周期可以被主機(jī)總線設(shè)備210截取,并且被重定向以訪問(wèn)在主機(jī)總線設(shè)備210中的相應(yīng)的配置寄存器218。
可替換地,系統(tǒng)200可以支持機(jī)制二,其中通常駐留在主機(jī)到PCI橋接器240中的配置空間使能寄存器(未顯示)和轉(zhuǎn)發(fā)寄存器(未顯示)由計(jì)算機(jī)程序?qū)懭?,以指定將被映射到在處理器I/O地址空間中的固定位置的4k字節(jié)的配置空間。被設(shè)計(jì)為支持機(jī)制二的系統(tǒng)200可以提供鏡像寄存器216,以存儲(chǔ)探聽(tīng)到的面向配置空間使能寄存器(未顯示)和轉(zhuǎn)發(fā)寄存器(未顯示)的主機(jī)總線寫(xiě)周期。監(jiān)控電路114可以參考鏡像寄存器216,以標(biāo)識(shí)面向虛擬設(shè)備的配置寄存器268的主機(jī)總線周期。標(biāo)識(shí)了的周期可以被主機(jī)總線設(shè)備210截取,并且被重定向以訪問(wèn)在主機(jī)總線設(shè)備210中的相應(yīng)的配置寄存器218。
依據(jù)PCI協(xié)議,配置寄存器可以被計(jì)算機(jī)程序用來(lái)分配系統(tǒng)資源,其中所述系統(tǒng)資源包含中斷、處理器存儲(chǔ)器地址空間、處理器I/O地址空間以及ROM(只讀存儲(chǔ)器)地址空間,這些ROM地址空間是被保留用于ROMs的一系列處理器存儲(chǔ)器地址空間。計(jì)算機(jī)程序可以啟動(dòng)對(duì)不存在的虛擬配置寄存器268的訪問(wèn),以確定虛擬PCI設(shè)備160的系統(tǒng)需求,并且通過(guò)寫(xiě)選擇配置寄存器268而向虛擬PCI設(shè)備160分配資源。計(jì)算機(jī)程序還可以訪問(wèn)虛擬設(shè)備的配置寄存器268,用于處理災(zāi)難性錯(cuò)誤,以及執(zhí)行內(nèi)置自檢(BIST)和獲得內(nèi)置自檢的狀態(tài)。
可選地,主機(jī)總線設(shè)備配置寄存器218可以被實(shí)現(xiàn)從而表示對(duì)諸如將被分配給虛擬PCI設(shè)備260的一個(gè)或多個(gè)系列的存儲(chǔ)空間或者I/O空間的具體系統(tǒng)資源的請(qǐng)求。內(nèi)部存儲(chǔ)器111的一部分可以被計(jì)算機(jī)程序映射到這個(gè)地址空間中用于通過(guò)主機(jī)總線120進(jìn)行訪問(wèn)。在計(jì)算機(jī)程序向虛擬PCI設(shè)備160分配地址空間之后,在這個(gè)可選的實(shí)施例中,監(jiān)控電路114可以參考適當(dāng)?shù)呐渲眉拇嫫?18,以標(biāo)識(shí)主機(jī)總線周期是否面向分配給虛擬PCI設(shè)備160的存儲(chǔ)器或者I/O空間。這些標(biāo)識(shí)了的周期可以被主機(jī)總線設(shè)備210截取,并且被重定向以訪問(wèn)主機(jī)總線存儲(chǔ)器111。
主機(jī)總線設(shè)備210和主機(jī)到PCI橋接器240都可能知道虛擬PCI設(shè)備160的總線編號(hào)和設(shè)備編號(hào)。該信息可以被硬布線、預(yù)編程或者在系統(tǒng)初始化期間由程序提供,并且被用來(lái)標(biāo)識(shí)面向虛擬PCI設(shè)備160配置空間的主機(jī)總線周期。主機(jī)到PCI橋接器240可以通過(guò)探聽(tīng)面向特定虛擬配置寄存器268的選擇主機(jī)總線寫(xiě)周期來(lái)獲悉分配給虛擬PCI設(shè)備160的地址空間,其中該特定虛擬配置寄存器268指定了分配給虛擬PCI設(shè)備160的地址空間。
圖3顯示了依據(jù)對(duì)系統(tǒng)100和系統(tǒng)200的教授,用于說(shuō)明本發(fā)明一個(gè)實(shí)施例的系統(tǒng)300。系統(tǒng)300實(shí)現(xiàn)了用于訪問(wèn)配置空間的機(jī)制一。系統(tǒng)300可以包含主虛擬PCI到PCI(P-P)橋接器370,其中該主虛擬PCI到PCI橋接器370對(duì)于在處理器130上運(yùn)行的計(jì)算機(jī)程序來(lái)說(shuō)可以是駐留在主要PCI總線150上,并且可以是到主虛擬PCI總線357的橋接器。虛擬PCI設(shè)備360對(duì)于在處理器130上運(yùn)行的計(jì)算機(jī)程序來(lái)說(shuō)可以是駐留在主虛擬總線357上。
在這個(gè)實(shí)施例中,主機(jī)總線設(shè)備210和主機(jī)到PCI橋接器340都知道其中駐留有主虛擬P-P橋接器370的總線編號(hào)和設(shè)備編號(hào),而且主機(jī)總線設(shè)備210知道虛擬PCI設(shè)備360的設(shè)備編號(hào)。該信息可以由初始化程序提供,或者是被硬布線或預(yù)編程。
主機(jī)到PCI橋接器340可以包含存儲(chǔ)器149,在這個(gè)實(shí)施例中該存儲(chǔ)器149被諸如即插即用(plug-and-playTM)資源分配程序的計(jì)算機(jī)程序?qū)懭?,以向主PCI總線150分配地址空間,并且該地址空間包括分配給虛擬設(shè)備160的所有地址空間。存儲(chǔ)在存儲(chǔ)器149中的信息可以包含可駐留在主PCI總線357后面的虛擬總線(未顯示)的總線編號(hào)總線編號(hào)通常是足以確定分配給主PCI總線357和它的輔助總線的配置空間??蛇x地,存儲(chǔ)器149可以包含分配給主PCI總線357和任何輔助總線的存儲(chǔ)器空間或者I/O空間。在這個(gè)實(shí)施例中,依據(jù)即插即用(plug-and-playTM)協(xié)議,分配給主PCI總線357的地址空間通常包括分配給任何可選的輔助總線(未顯示)和虛擬PCI設(shè)備160的地址空間,從而導(dǎo)致主機(jī)到PCI橋接器340可以容易地和有效地進(jìn)行解碼,從而用于標(biāo)識(shí)面向虛擬PCI總線357和任何可選的從屬虛擬總線的主機(jī)總線周期。
主機(jī)到PCI橋接器340可以包含橋接器配置寄存器347,其被控制電路148參考,以標(biāo)識(shí)面向主虛擬PCI-PCI(P-P)橋接器370的虛擬配置寄存器378的主機(jī)總線周期,以及把這些標(biāo)識(shí)了的周期路由到主機(jī)到PCI橋接器配置寄存器347。在這個(gè)實(shí)施例中,控制電路148可以參考橋接器配置寄存器347和存儲(chǔ)器145以及存儲(chǔ)器149,以確定是否將主機(jī)總線周期路由到主PCI總線150。
主機(jī)總線設(shè)備210可以探聽(tīng)面向主虛擬P-P橋接器370的配置寄存器378的主機(jī)總線周期,以獲悉由計(jì)算機(jī)程序分配給主虛擬PCI總線357的總線編號(hào),并且把這個(gè)信息存儲(chǔ)在存儲(chǔ)器115中,所述存儲(chǔ)器115保持通過(guò)探聽(tīng)獲得的選擇信息。僅僅具有一個(gè)主機(jī)總線設(shè)備210的系統(tǒng)可以任意地分配一個(gè)設(shè)備編號(hào)給虛擬PCI設(shè)備160。具有多個(gè)主機(jī)總線設(shè)備210的系統(tǒng)可以要求這樣一個(gè)機(jī)制,所述機(jī)制用于使每個(gè)主機(jī)總線設(shè)備210與一個(gè)不同的虛擬PCI設(shè)備360相關(guān)聯(lián),諸如向每個(gè)主機(jī)總線設(shè)備210提供一個(gè)唯一的設(shè)備編號(hào)(即插槽編號(hào)),并且所述設(shè)備編號(hào)可以被硬布線、預(yù)編程或者由初始化程序存儲(chǔ)。
圖4依據(jù)對(duì)如圖3所示的系統(tǒng)的教授,顯示了用于說(shuō)明本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)400。主機(jī)總線設(shè)備410可以符合對(duì)主機(jī)總線設(shè)備210和310的描述。系統(tǒng)400實(shí)現(xiàn)用于訪問(wèn)配置空間的機(jī)制一。系統(tǒng)400進(jìn)一步包含直接與次虛擬PCI總線451接口的次虛擬P-P橋接器490。次虛擬P-P橋接器490從在處理器130上運(yùn)行的計(jì)算機(jī)程序的角度來(lái)看是駐留在主虛擬PCI總線357上,并且虛擬PCI設(shè)備160可以在邏輯上駐留在次虛擬PCI總線451上。
次虛擬總線451從屬于主虛擬PCI總線357,并且在這個(gè)實(shí)施例中,分配給次虛擬總線451和虛擬PCI設(shè)備160的地址空間位于分配給主虛擬PCI總線357的地址空間的范圍之內(nèi)。主機(jī)到PCI橋接器340可以參考存儲(chǔ)器145,以標(biāo)識(shí)和路由面向主PCI總線150和它的輔助總線的主機(jī)總線周期,主機(jī)到PCI橋接器340還可以參考存儲(chǔ)器149,以標(biāo)識(shí)面向主虛擬總線357和它的輔助總線的主機(jī)總線周期。面向主虛擬總線357和它的輔助總線的主機(jī)總線周期不被轉(zhuǎn)發(fā)到主PCI總線450,但是允許其被主機(jī)總線設(shè)備410截取。依據(jù)主機(jī)總線協(xié)議,主機(jī)到PCI橋接器340可以完成(即終止)截取的主機(jī)總線430的周期。
主機(jī)總線設(shè)備410可以包含存儲(chǔ)器111,其連接到主機(jī)總線并且可由處理器130訪問(wèn)。存儲(chǔ)器111可以包含設(shè)備配置寄存器218,其中所述設(shè)備配置寄存器218由面向虛擬PCI設(shè)備160的配置寄存器268的主機(jī)總線周期訪問(wèn)。此外,存儲(chǔ)器111可以進(jìn)一步包含橋接器配置寄存器417,其由面向虛擬次P-P橋接器490的虛擬配置寄存器497的主機(jī)總線周期訪問(wèn)。
與系統(tǒng)300類似,在這個(gè)實(shí)施例中,主機(jī)總線設(shè)備410和主機(jī)到PCI橋接器340都知道其中駐留有主虛擬P-P橋接器370的總線編號(hào)和設(shè)備編號(hào)。該信息可以通過(guò)初始化程序、硬布線或預(yù)編程從而被提供。另外,主機(jī)總線設(shè)備410包含監(jiān)控電路114,其在這個(gè)實(shí)施例中可以通過(guò)探聽(tīng)面向主虛擬P-P橋接器370的配置寄存器378的主機(jī)總線周期,來(lái)獲悉分配給主虛擬PCI總線357和它的輔助總線的總線編號(hào)。通過(guò)探聽(tīng)獲得的該信息可以被存儲(chǔ)在存儲(chǔ)器115中。在包含單個(gè)主機(jī)總線設(shè)備410的系統(tǒng)400中,次虛擬P-P橋接器490的設(shè)備編號(hào)可以被任意地分配。
在具有多個(gè)主機(jī)總線設(shè)備410的系統(tǒng)中,需要有這樣一種機(jī)制,其通過(guò)諸如向每個(gè)主機(jī)總線設(shè)備410分配用于相關(guān)的次虛擬P-P橋接器490的唯一的設(shè)備編號(hào),來(lái)使每個(gè)主機(jī)總線設(shè)備與一個(gè)不同的次虛擬P-P橋接器490相關(guān)聯(lián),其中該編號(hào)可以被硬布線、預(yù)編程或者由初始化程序分配。每個(gè)主機(jī)總線設(shè)備410可以在它的內(nèi)部配置寄存器417被計(jì)算機(jī)程序?qū)懭胫髤⒖荚摷拇嫫?17,以確定分配給直接位于它的相關(guān)次虛擬P-P橋接器后面的次虛擬總線451的總線編號(hào),然后任意地分配一個(gè)設(shè)備編號(hào)給一個(gè)或多個(gè)虛擬PCI設(shè)備460中的每一個(gè)。監(jiān)控電路114可以按照與所述用于系統(tǒng)100的方式相似的方式參考該信息,以標(biāo)識(shí)面向虛擬PCI設(shè)備160的主機(jī)總線周期。每個(gè)主機(jī)總線設(shè)備410可以包含多個(gè)物理設(shè)備,這多個(gè)設(shè)備中的每一個(gè)都與邏輯上駐留在它的相關(guān)次虛擬PCI總線451上的一個(gè)不同的虛擬設(shè)備160相關(guān)。Plug and PlayTM程序通常把分配給駐留在每個(gè)次虛擬P-P橋接器490后面的所有虛擬設(shè)備160的資源分組,從而導(dǎo)致每個(gè)主機(jī)總線設(shè)備410可以容易地對(duì)主機(jī)總線周期進(jìn)行解碼,從而用于標(biāo)識(shí)將被截取的周期。例如,單個(gè)存儲(chǔ)器地址范圍可以被分配給包括分配給每個(gè)設(shè)備的多個(gè)范圍的次虛擬P-P橋接器490。
圖5顯示了用于說(shuō)明本發(fā)明的方法500的流程圖,該方法可以被系統(tǒng)100、200、300、400利用并且被監(jiān)控電路114執(zhí)行。開(kāi)始510可以是主機(jī)總線重置,其將導(dǎo)致存儲(chǔ)器和寄存器被設(shè)置為缺省值??梢詾槊總€(gè)主機(jī)總線周期執(zhí)行下列步驟。獲取步驟520包括等待主機(jī)總線周期,然后接收并且鎖存指示了用于當(dāng)前主機(jī)總線周期的對(duì)象的選擇主機(jī)總線地址和控制信號(hào)。下一個(gè)評(píng)定步驟(步驟540)包含評(píng)定每個(gè)獲取的周期,以確定是進(jìn)入截取步驟550還是進(jìn)入探聽(tīng)步驟(步驟560)。探聽(tīng)(步驟560)包括接收和在存儲(chǔ)器115中存儲(chǔ)選擇主機(jī)總線數(shù)據(jù)信號(hào)120。評(píng)定步驟(步驟550)包含評(píng)定每個(gè)獲取的周期,以確定是在當(dāng)前周期什么都不做并進(jìn)入步驟520以獲取下一個(gè)主機(jī)總線周期,還是進(jìn)入截取周期(步驟580),其導(dǎo)致當(dāng)前主機(jī)總線周期被路由以訪問(wèn)(即讀或者寫(xiě))在主機(jī)總線存儲(chǔ)器111內(nèi)的適當(dāng)位置。步驟540和550可以被并行執(zhí)行,或者步驟540可以先于步驟550或步驟550可以先于步驟540圖6a和6b顯示了用于說(shuō)明由如圖4所示的系統(tǒng)400的監(jiān)控電路114執(zhí)行的方法600的流程圖。開(kāi)始(步驟610)和獲取(步驟620)可以分別與所述的步驟510和520相同。通過(guò)步驟641、642、662和664實(shí)現(xiàn)評(píng)定(步驟540)和探聽(tīng)(步驟560)。同樣地,通過(guò)步驟643、644、645、682、684、和686實(shí)現(xiàn)評(píng)定步驟550和截取步驟580。評(píng)定步驟641-645實(shí)質(zhì)上可以在主機(jī)總線周期的地址階段期間并行進(jìn)行,并且如果執(zhí)行了探聽(tīng)步驟662、664或者截取步驟682、684、686,則可以在主機(jī)總線周期的數(shù)據(jù)階段期間進(jìn)行探聽(tīng)或者截取步驟。被探聽(tīng)的周期可以由除了主機(jī)總線設(shè)備410之外的設(shè)備完成(例如終止),并且被截取的周期可以由主機(jī)總線設(shè)備410完成。
評(píng)定步驟641包含評(píng)定當(dāng)前所獲取的主機(jī)總線周期是否面向配置地址寄存器243。如果評(píng)定的結(jié)果是肯定的,那么進(jìn)入步驟662,并且探聽(tīng)由當(dāng)前所獲取的周期傳送的數(shù)據(jù),而且該數(shù)據(jù)的一部分或者全部被保存在鏡像寄存器216中。如果評(píng)定的結(jié)果是否定的,那么進(jìn)入步驟642。
評(píng)定步驟642包含評(píng)定所獲取的主機(jī)總線周期是否面向用于向主虛擬P-P橋接器370分配總線編號(hào)的特定的虛擬配置寄存器378。結(jié)果為肯定的評(píng)定要求配置地址寄存器243(如鏡像寄存器216的內(nèi)容反映的那樣)具有表示配置空間被使能的值、和目前正指向主虛擬P-P橋接器370的特定的配置寄存器378的值,其中主虛擬P-P橋接器370的配置寄存器378指定了分配給主虛擬總線357的總線編號(hào)。結(jié)果為肯定的評(píng)定還要求所獲取的讀或者寫(xiě)主機(jī)總線周期是面向配置數(shù)據(jù)寄存器244的。如果在步驟642中所進(jìn)行的評(píng)定的結(jié)果是肯定的,那么進(jìn)入探聽(tīng)步驟664,并且在探聽(tīng)步驟664中在當(dāng)前周期中傳送的主機(jī)總線120的數(shù)據(jù)的一部分或者全部被鎖存和存儲(chǔ)在存儲(chǔ)器115中。
評(píng)定步驟643包含評(píng)定當(dāng)前周期是否面向次P-P橋接器490的配置空間。結(jié)果為肯定的評(píng)定要求配置地址寄存器243(如鏡像寄存器216的內(nèi)容反映的那樣)具有表示配置空間被使能的值、并且具有目前正指向次P-P橋接器490的配置寄存器497的值。結(jié)果為肯定的評(píng)定還要求所獲取的周期是面向配置數(shù)據(jù)寄存器244的讀或者寫(xiě)主機(jī)總線周期。如果在步驟643中所進(jìn)行的評(píng)定的結(jié)果是肯定的,那么進(jìn)入截取步驟682,以將當(dāng)前主機(jī)總線周期路由到用于次虛擬P-P橋接器490的配置寄存器417,其中所訪問(wèn)的特定配置寄存器417由鏡像寄存器216的當(dāng)前內(nèi)容確定。
評(píng)定步驟644包含評(píng)定所獲取的主機(jī)總線周期是否面向虛擬PCI設(shè)備160的配置空間。結(jié)果為肯定的評(píng)定要求配置地址寄存器243(如鏡像寄存器216的內(nèi)容反映的那樣)具有表示配置空間被的值、和目前正指向虛擬PCI設(shè)備160的配置寄存器268的值。結(jié)果為肯定的評(píng)定還要求所獲取的周期是面向配置數(shù)據(jù)寄存器244的讀或者寫(xiě)主機(jī)總線周期。如果在步驟644中所進(jìn)行的評(píng)定的結(jié)果是肯定的,那么進(jìn)入截取步驟684,以路由當(dāng)前主機(jī)總線周期從而訪問(wèn)由鏡像寄存器216的內(nèi)容所指示的特定主機(jī)總線配置寄存器218。
評(píng)定步驟645包含評(píng)定所獲取的主機(jī)總線周期是否面向由計(jì)算機(jī)程序分配給虛擬PCI設(shè)備160的存儲(chǔ)器或者I/O地址空間。如果指定分配給虛擬PCI設(shè)備460的存儲(chǔ)器或者I/O空間的特定配置寄存器218沒(méi)有被預(yù)先設(shè)置,則該評(píng)定的結(jié)果總是否定的。把由PCI配置寄存器218的當(dāng)前內(nèi)容確定的分配給虛擬PCI設(shè)備160的地址空間與獲取的主機(jī)總線周期信息進(jìn)行比較。如果用于當(dāng)前主機(jī)總線周期的對(duì)象位于分配給虛擬PCI設(shè)備160的地址空間的范圍之內(nèi),則進(jìn)入步驟686,以將當(dāng)前主機(jī)總線420的周期路由到由獲取的主機(jī)總線周期的地址和控制信號(hào)指示的適當(dāng)?shù)膬?nèi)部存儲(chǔ)器111。
本領(lǐng)域技術(shù)人員可以理解,可以在保持本發(fā)明的精神的同時(shí),在除所描述的物理設(shè)備之外的其它物理設(shè)備上實(shí)現(xiàn)在此描述的功能。
盡管本發(fā)明被描述為應(yīng)用于PCI系統(tǒng),但是本領(lǐng)域技術(shù)人員可以理解,在此所描述的方法可以被具有主機(jī)總線和外圍總線(與PCI兼容總線相似)的任何系統(tǒng)使用,并且其中通過(guò)使連接到主機(jī)總線的設(shè)備對(duì)于在該系統(tǒng)中的處理器上運(yùn)行的計(jì)算機(jī)程序來(lái)說(shuō)是駐留在外圍總線上,而獲得有益之處。
權(quán)利要求
1.一種裝置,包含存儲(chǔ)多個(gè)數(shù)據(jù)的一個(gè)第一存儲(chǔ)器,所述第一存儲(chǔ)器通過(guò)第一通路連接到一條主機(jī)總線,并且響應(yīng)于多個(gè)控制信號(hào)中的一個(gè)或多個(gè),以傳送所述數(shù)據(jù)的被選擇的部分到所述主機(jī)總線;以及一個(gè)監(jiān)控電路,連接到所述主機(jī)總線,以跟蹤處理器啟動(dòng)的主機(jī)總線周期,并且標(biāo)識(shí)面向邏輯上駐留在主PCI總線后面的虛擬PCI設(shè)備的由處理器啟動(dòng)的主機(jī)總線讀周期,其中所述主PCI總線通過(guò)不同于所述第一通路的第二通路連接到所述主機(jī)總線;其中所述監(jiān)控電路將生成所述多個(gè)控制信號(hào),以在面向所述虛擬PCI設(shè)備的一個(gè)或多個(gè)所述被標(biāo)識(shí)的主機(jī)總線讀周期期間傳送選擇的一個(gè)或多個(gè)所述數(shù)據(jù)到所述主機(jī)總線。
2.如權(quán)利要求1所述的裝置,其中所述虛擬PCI設(shè)備是一個(gè)虛擬PCI-PCI橋接器。
3.如權(quán)利要求1所述的裝置,進(jìn)一步包含一個(gè)第二存儲(chǔ)器,其連接到所述主機(jī)總線,并且響應(yīng)于所述多個(gè)控制信號(hào)中的一個(gè)或多個(gè),以有選擇地從所述主機(jī)總線中接收所述數(shù)據(jù)從而存儲(chǔ)在所述第二存儲(chǔ)器中;其中所述虛擬PCI設(shè)備邏輯上駐留在一個(gè)虛擬PCI到PCI橋接器后面,所述虛擬PCI到PCI橋接器邏輯上駐留在所述主PCI總線后面;以及其中所述監(jiān)控電路將進(jìn)一步標(biāo)識(shí)面向在保留給所述虛擬PCI到PCI橋接器的配置空間內(nèi)的、指定總線編號(hào)的一個(gè)位置的主機(jī)總線寫(xiě)周期,并且生成所述控制信號(hào)以從所述主機(jī)總線接收所述總線編號(hào)從而存儲(chǔ)在所述第二存儲(chǔ)器中。
4.如權(quán)利要求1所述的裝置,進(jìn)一步包含一個(gè)連接到所述主機(jī)總線的處理器,其中所述處理器、所述第一存儲(chǔ)器和所述監(jiān)控電路被集成到單個(gè)芯片封裝中。
5.如權(quán)利要求3所述的裝置,其中所述第一存儲(chǔ)器和所述監(jiān)視電路通過(guò)一條內(nèi)部處理器總線連接到所述主機(jī)總線。
6.如權(quán)利要求1所述的裝置,其中所述第一存儲(chǔ)器響應(yīng)于所述多個(gè)控制信號(hào)中的一個(gè)或多個(gè),以有選擇地從所述主機(jī)總線中接收數(shù)據(jù)以存儲(chǔ)在所述第一存儲(chǔ)器中;其中所述監(jiān)控電路將進(jìn)一步標(biāo)識(shí)面向邏輯上駐留在所述主PCI總線后面的所述虛擬PCI設(shè)備的由處理器啟動(dòng)的主機(jī)總線寫(xiě)周期;其中所述監(jiān)控電路將生成所述多個(gè)控制信號(hào),以在面向所述虛擬PCI設(shè)備的一個(gè)或多個(gè)所述標(biāo)識(shí)的主機(jī)總線寫(xiě)周期期間從所述主機(jī)總線接收數(shù)據(jù)以存儲(chǔ)在所述存儲(chǔ)器中。
7.如權(quán)利要求1所述的裝置,其中所述存儲(chǔ)器包含隨機(jī)存取存儲(chǔ)器;以及面向所述虛擬PCI設(shè)備的所述標(biāo)識(shí)的主機(jī)總線讀周期包含面向分配給所述虛擬PCI設(shè)備的存儲(chǔ)器地址空間的主機(jī)總線周期。
8.如權(quán)利要求1所述的裝置,進(jìn)一步包含一個(gè)鏡像寄存器,其連接到所述主機(jī)總線,并且響應(yīng)于一個(gè)或多個(gè)所述控制信號(hào)以從所述主機(jī)總線接收數(shù)據(jù);其中所述監(jiān)控電路將進(jìn)一步標(biāo)識(shí)面向一個(gè)配置地址寄存器的主機(jī)總線寫(xiě)周期;以及其中所述監(jiān)控電路將生成所述控制信號(hào),以在被標(biāo)識(shí)為面向所述配置地址寄存器的所述主機(jī)總線周期期間從所述主機(jī)總線接收數(shù)據(jù)以存儲(chǔ)在所述鏡像寄存器中。
9.如權(quán)利要求1所述的裝置,其中面向所述虛擬PCI設(shè)備的所述標(biāo)識(shí)的主機(jī)總線讀周期包含面向分配給所述虛擬PCI設(shè)備的I/O地址空間的主機(jī)總線周期。
10.如權(quán)利要求1所述的裝置,其中所述第一存儲(chǔ)器包含第一多個(gè)配置寄存器;以及其中所述標(biāo)識(shí)的主機(jī)總線周期包含面向保留給所述虛擬PCI設(shè)備的配置空間的主機(jī)總線周期。
11.如權(quán)利要求10所述的裝置,其中所述虛擬PCI設(shè)備駐留在一個(gè)虛擬PCI到PCI橋接器后面,以及其中所述第一存儲(chǔ)器包含第二多個(gè)配置寄存器,并且其中所述監(jiān)控電路將進(jìn)一步標(biāo)識(shí)面向分配給所述虛擬PCI到PCI橋接器的配置空間的主機(jī)總線周期,并且其中所述監(jiān)控電路將生成所述多個(gè)控制信號(hào),以在面向分配給所述虛擬PCI到PCI橋接器的所述配置空間的一個(gè)或多個(gè)所述標(biāo)識(shí)的主機(jī)總線讀周期期間,傳送選擇的一個(gè)或多個(gè)所述數(shù)據(jù)到所述主機(jī)總線。
12.一種裝置,包含一個(gè)第一存儲(chǔ)器,其中所述第一存儲(chǔ)器的內(nèi)容指定分配給主PCI總線的第一地址空間;一個(gè)第二存儲(chǔ)器,其中所述第二存儲(chǔ)器的內(nèi)容指定分配給邏輯上駐留在所述主PCI總線后面的一個(gè)虛擬PCI設(shè)備的第二地址空間;以及一個(gè)控制電路,連接到所述第一和所述第二存儲(chǔ)器,其中所述控制電路將連接到主機(jī)總線以跟蹤由處理器啟動(dòng)的主機(jī)總線周期,并且選擇主機(jī)總線周期以將其路由到所述主PCI總線,其中將基于所述第一存儲(chǔ)器和所述第二存儲(chǔ)器的所述內(nèi)容選擇所述路由的周期,以排除面向所述第二地址空間的主機(jī)總線周期。
13.如權(quán)利要求12所述的裝置,其中所述第一和所述第二地址空間包含存儲(chǔ)器主機(jī)總線地址空間。
14.如權(quán)利要求12所述的裝置,其中所述第一和所述第二地址空間包含主機(jī)總線I/O空間。
15.如權(quán)利要求12所述的裝置,其中所述第一和所述第二地址空間包含PCI兼容配置地址空間。
16.如權(quán)利要求12所述的裝置,其中所述虛擬PCI設(shè)備是一個(gè)虛擬PCI到PCI橋接器。
17.如權(quán)利要求16所述的裝置,進(jìn)一步包含多個(gè)配置寄存器;連接到所述控制電路的一個(gè)第三存儲(chǔ)器,其中所述第三存儲(chǔ)器的內(nèi)容指示其中邏輯上駐留有所述虛擬PCI到PCI橋接器的總線和設(shè)備編號(hào),并且其中所述控制電路將進(jìn)一步基于所述總線和所述設(shè)備編號(hào)選擇面向所述虛擬PCI到PCI橋接器的配置地址空間的主機(jī)總線周期,以將其路由到所述多個(gè)配置寄存器。
18.一種系統(tǒng),包含一個(gè)或多個(gè)連接到一個(gè)主機(jī)總線的處理器;一個(gè)主機(jī)到PCI橋接器,以將由處理器啟動(dòng)的主機(jī)總線周期路由到主PCI總線;以及一個(gè)主機(jī)總線設(shè)備,連接到所述主機(jī)總線,以監(jiān)控所述主機(jī)總線,標(biāo)識(shí)面向邏輯上駐留在所述主PCI總線后面的第一虛擬PCI設(shè)備的由處理器啟動(dòng)的主機(jī)總線周期,以及截取面向所述第一虛擬PCI設(shè)備的選擇的所述標(biāo)識(shí)的周期;其中所述主機(jī)到PCI橋接器將不轉(zhuǎn)發(fā)面向所述第一虛擬PCI設(shè)備的所述標(biāo)識(shí)的周期。
19.如權(quán)利要求18所述的系統(tǒng),其中所述第一主機(jī)總線設(shè)備包含多個(gè)配置寄存器,其中所述被截取的周期包含面向保留給所述第一虛擬PCI設(shè)備的配置空間的主機(jī)總線周期并且將被路由以訪問(wèn)所述多個(gè)配置寄存器。
20.如權(quán)利要求18所述的系統(tǒng),其中所述第一主機(jī)總線設(shè)備包含一個(gè)存儲(chǔ)器設(shè)備陣列,其中所述被截取的周期包含面向分配給所述虛擬PCI設(shè)備的存儲(chǔ)器空間的主機(jī)總線周期并且將被路由以訪問(wèn)所述存儲(chǔ)器設(shè)備陣列。
21.如權(quán)利要求18所述的系統(tǒng),進(jìn)一步包含連接到所述主機(jī)總線的一個(gè)第二主機(jī)總線設(shè)備,其中每個(gè)所述主機(jī)總線設(shè)備截取面向不同的虛擬PCI設(shè)備的主機(jī)總線周期,其中該不同的虛擬PCI設(shè)備在邏輯上駐留在所述主PCI總線后面,其中所述不同的虛擬PCI設(shè)備每個(gè)都具有一個(gè)不同的總線編號(hào)和設(shè)備編號(hào)組合。
22.如權(quán)利要求18所述的系統(tǒng),其中所述虛擬PCI設(shè)備在邏輯上駐留在主虛擬PCI到PCI橋接器后面,其中所述主虛擬PCI到PCI橋接器在邏輯上駐留在所述主PCI總線后面,并且其中所述主機(jī)總線設(shè)備將探聽(tīng)所述主機(jī)總線以確定分配給所述主虛擬PCI到PCI總線的總線編號(hào)。
23.如權(quán)利要求22所述的系統(tǒng),其中所述虛擬PCI設(shè)備在邏輯上駐留在一個(gè)次虛擬PCI到PCI橋接器后面,所述次虛擬PCI到PCI橋接器在邏輯上駐留在所述主虛擬PCI到PCI橋接器后面;以及其中所述第一主機(jī)總線設(shè)備包含多個(gè)橋接器配置寄存器,其中所述被截取的周期包含面向保留給所述次虛擬PCI到PCI橋接器的配置空間的主機(jī)總線周期并且將被路由以訪問(wèn)所述多個(gè)橋接器配置寄存器。
24.一種方法,包含獲取由處理器啟動(dòng)的一個(gè)當(dāng)前主機(jī)總線周期;確定所述被獲取的周期是否面向一個(gè)在邏輯上駐留在主PCI總線后面的虛擬PCI設(shè)備;以及如果所述當(dāng)前周期被確定為面向所述虛擬PCI設(shè)備,則截取所述當(dāng)前主機(jī)總線周期,并且不將所述周期路由到所述主PCI總線。
25.如權(quán)利要求24所述的方法,其中所述截取包含路由以訪問(wèn)連接到所述主機(jī)總線的存儲(chǔ)器。
26.如權(quán)利要求24所述的方法,其中所述截取包含路由以訪問(wèn)在多個(gè)配置寄存器內(nèi)的一個(gè)位置。
27.如權(quán)利要求24所述的方法,其特征在于所述確定包含確定所述當(dāng)前周期是否為面向一個(gè)配置地址寄存器的寫(xiě)周期,并且如果所述當(dāng)前周期為面向所述配置地址寄存器的寫(xiě)周期,則探聽(tīng)所述當(dāng)前主機(jī)總線周期以從所述主機(jī)總線中接收數(shù)據(jù),以及將所述數(shù)據(jù)的一部分或者全部寫(xiě)入到一個(gè)鏡像寄存器中。
28.如權(quán)利要求24所述的方法,其中所述確定包含確定所述當(dāng)前周期是否為面向在虛擬主PCI到PCI橋接器的配置寄存器內(nèi)的一個(gè)位置的寫(xiě)周期,在虛擬主PCI到PCI橋接器的配置寄存器中指定了總線編號(hào);以及如果當(dāng)前周期是面向在虛擬主PCI到PCI橋接器的配置寄存器內(nèi)的一個(gè)位置的寫(xiě)周期,則探聽(tīng)所述當(dāng)前主機(jī)總線周期以從所述主機(jī)總線中接收數(shù)據(jù),并且將所述數(shù)據(jù)寫(xiě)入一個(gè)存儲(chǔ)器中,其中在虛擬主PCI到PCI橋接器的配置寄存器中指定了總線編號(hào)。
29.如權(quán)利要求24所述的方法,其中所述確定包含確定所述周期是否面向在虛擬PCI到PCI橋接器的配置寄存器內(nèi)的一個(gè)位置;以及如果所述周期面向在虛擬PCI到PCI橋接器的配置寄存器內(nèi)的一個(gè)位置,則截取所述當(dāng)前主機(jī)總線,以路由從而訪問(wèn)在多個(gè)橋接器配置寄存器內(nèi)的一個(gè)位置。
30.如權(quán)利要求24所述的方法,其中所述虛擬PCI設(shè)備是一個(gè)虛擬PCI到PCI橋接器。
全文摘要
從計(jì)算機(jī)程序的角度來(lái)看,虛擬PCI總線是駐留在一個(gè)主機(jī)到PCI橋接器后面的物理分層的PCI總線結(jié)構(gòu)的一部分。物理上位于主機(jī)到PCI橋接器的主機(jī)總線端的設(shè)備可以是駐留在虛擬PCI總線上的虛擬裝置,這使得物理設(shè)備可以參與通常僅僅可由PCI兼容設(shè)備得到的與設(shè)備無(wú)關(guān)的初始化和系統(tǒng)資源分配。面向虛擬PCI設(shè)備的由處理器啟動(dòng)的主機(jī)總線周期可以被截取和重定向到該物理設(shè)備。
文檔編號(hào)G06F13/10GK1522415SQ02813103
公開(kāi)日2004年8月18日 申請(qǐng)日期2002年6月20日 優(yōu)先權(quán)日2001年6月29日
發(fā)明者V·喬治, B·朗根多夫, V 喬治, 嚳 申請(qǐng)人:英特爾公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乌拉特后旗| 湾仔区| 宝鸡市| 顺昌县| 扶沟县| 西盟| 山阳县| 宝清县| 读书| 彰化市| 张家口市| 青阳县| 夏津县| 文山县| 梁平县| 潜江市| 平邑县| 德兴市| 南陵县| 阿鲁科尔沁旗| 宁南县| 蒙阴县| 伊宁市| 盐城市| 华宁县| 平度市| 弋阳县| 苍山县| 松阳县| 延津县| 三亚市| 乐都县| 紫云| 平陆县| 宁河县| 西和县| 吉水县| 邮箱| 琼中| 滕州市| 乐清市|