協(xié)議中立織物的制作方法
【專利摘要】實(shí)施例整合非PCI兼容設(shè)備與PCI兼容操作系統(tǒng)。一種織物系統(tǒng)模擬PCI的行為。在非PCI兼容設(shè)備不知道如何響應(yīng)PCI枚舉時(shí),各實(shí)施例提供PCI枚舉應(yīng)答且因而在仿真期間仿真將通常來(lái)自PCI兼容設(shè)備的應(yīng)答。各實(shí)施例允許系統(tǒng)設(shè)計(jì)者把非標(biāo)準(zhǔn)織物結(jié)構(gòu)與仍然使用現(xiàn)代PCI兼容操作系統(tǒng)中存在的穩(wěn)健的和成熟的PCI基礎(chǔ)設(shè)施的益處結(jié)合起來(lái)。更一般地,各實(shí)施例允許與第一標(biāo)準(zhǔn)兼容(但不與第二標(biāo)準(zhǔn)兼容)的操作系統(tǒng)發(fā)現(xiàn)與第一標(biāo)準(zhǔn)不兼容(但可能與第二標(biāo)準(zhǔn)兼容)的設(shè)備并和該設(shè)備通信。在此描述了其他實(shí)施例。
【專利說(shuō)明】協(xié)議中立織物
[0001]背景
[0002]外圍組件互連(PCI)涉及定義允許PCI兼容的設(shè)備(例如,擴(kuò)展卡)與主機(jī)處理器通信的本地織物(fabric)系統(tǒng)的規(guī)范。在此所使用的,織物涉及用于耦合平臺(tái)上的組件(例如,把外圍設(shè)備耦合到處理器)的總線和/或互連系統(tǒng)。在系統(tǒng)初始化期間,PCI枚舉發(fā)生,PCI枚舉是把資源指派給PCI主機(jī)橋上的PCI設(shè)備的過(guò)程。這一過(guò)程包括:(I)指派PCI織物號(hào)和PCI中斷,(2)分配PCI輸入/輸出(I/O)資源、PCI存儲(chǔ)器資源和PCI可預(yù)取存儲(chǔ)器資源,以及(3)設(shè)置雜項(xiàng)PCI直接存儲(chǔ)器訪問(wèn)(DMA)值??梢栽谝龑?dǎo)過(guò)程期間執(zhí)行PCI枚舉。這種枚舉涉及即插即用(PnP)規(guī)范,該規(guī)范允許主機(jī)自動(dòng)地配置自身以便與設(shè)備(例如,PCI設(shè)備、照相機(jī)、控制器、監(jiān)視器)一起工作。用戶可以“插入”外圍設(shè)備并“使用”而不需要手動(dòng)地配置系統(tǒng)。PnP平臺(tái)要求PnP兼容的BIOS和PnP兼容的設(shè)備兩者。
[0003]某些體系結(jié)構(gòu)(例如,高級(jí)可擴(kuò)展接口(AXI)、開放核心協(xié)議(OCP))是模塊化的,且通過(guò)從現(xiàn)有的設(shè)計(jì)快速地添加或刪除知識(shí)產(chǎn)權(quán)(IP)塊來(lái)允許快速增殖。這部分地是由于可以為給定配置自動(dòng)生成的互連織物,以及實(shí)現(xiàn)耦合到這些織物的相同的標(biāo)準(zhǔn)接口的IP塊的大型生態(tài)系統(tǒng)。然而,這些IP塊不能與PCI兼容的主機(jī)一起使用,這是由于各個(gè)塊缺少PCI兼容性所要求的特征。例如,這些IP在固定的地址處操作(排除了 PnP),不存在用于發(fā)現(xiàn)和枚舉的機(jī)制,不實(shí)現(xiàn)PCI類型的排序,以及缺少了 PCI風(fēng)格的電源管理特征。
[0004]因而,想要與這些非PCI兼容的IP —起操作的多個(gè)平臺(tái)(例如,智能電話、手持式移動(dòng)設(shè)備、個(gè)人數(shù)字助理、平板電腦、膝上型計(jì)算機(jī)、上網(wǎng)本等等)不能也與收縮包裝(shrink-wrap)的PCI兼容的操作系統(tǒng)(例如,Linux、微軟Windows) —起操作。結(jié)果,設(shè)計(jì)者必須編寫每一設(shè)備專用的織物驅(qū)動(dòng)器和OS。這種解決方法是有問(wèn)題的,這是因?yàn)?,例如,必須生產(chǎn)針對(duì)特定設(shè)備的特定驅(qū)動(dòng)器抑制了解決方案的開發(fā)和可擴(kuò)展性。
[0005]附圖簡(jiǎn)述
[0006]將從所附權(quán)利要求、一個(gè)或多個(gè)示例實(shí)施例的下列詳細(xì)描述和相應(yīng)的圖中明顯看出本發(fā)明的各實(shí)施例的特征和優(yōu)點(diǎn),附圖中:
[0007]圖1包括本發(fā)明的實(shí)施例的框圖。
[0008]圖2包括本發(fā)明的實(shí)施例中的過(guò)程。
[0009]圖3包括本發(fā)明的實(shí)施例中的過(guò)程。
[0010]圖4包括在本發(fā)明的各種實(shí)施例中的寄存器配置。
[0011]詳細(xì)描述
[0012]在下面的描述中,闡述了眾多特定細(xì)節(jié),但無(wú)需這些特定的細(xì)節(jié)就可以實(shí)踐本發(fā)明的各實(shí)施例。沒(méi)有詳細(xì)示出公知的電路、結(jié)構(gòu)和技術(shù),以避免模糊對(duì)本說(shuō)明書的理解?!耙环N實(shí)施例”、“各種實(shí)施例”以及指示這樣描述的各種實(shí)施例的類似物可以包括具體的特征、結(jié)構(gòu)或特性,但不是每種實(shí)施例都一定包括這些具體的特征、結(jié)構(gòu)或特性。一些實(shí)施例可以具有對(duì)其他實(shí)施例所描述的一些、全部特征或沒(méi)有這些特征?!暗谝弧薄ⅰ暗诙?、“第三”等描述了一種通用的對(duì)象,且指示正在提及類似對(duì)象的不同實(shí)例。這樣的形容詞并不意味著這樣描述的對(duì)象必須是按照無(wú)論是在時(shí)間上、空間上、在排名中或以任何其他方式的給定順序?!斑B接”可以指示各元素處于相互的直接物理接觸或電氣接觸,且“耦合”可以指示各元素相互協(xié)作或交互,但是它們可以是或者不是直接物理接觸或電氣接觸。另外,雖然在不同的附圖中相似的或相同的標(biāo)號(hào)可以用來(lái)表示相同或相似的部件,但這樣做并不意味著包括相似的或相同的標(biāo)號(hào)的全部附圖構(gòu)成單一的或相同的實(shí)施例。
[0013]圖1包括本發(fā)明的實(shí)施例的框圖。高性能片上系統(tǒng)(SOC)織物130把處理器105 (例如,具有集成高速緩存的中央處理單元)耦合到存儲(chǔ)器125 (例如,諸如RAM等的系統(tǒng)存儲(chǔ)器)。在一些實(shí)施例中,這種耦合可以經(jīng)由存儲(chǔ)器控制器120發(fā)生。PCI兼容設(shè)備可以直接地連接到SOC織物。例如,織物130直接地連接到圖形設(shè)備150。
[0014]I/O織物155經(jīng)由橋135耦合到SoC織物130。因而,I/O織物155把處理器105耦合到設(shè)備160。設(shè)備160可以包括,例如,音頻子系統(tǒng)、通用串行總線(USB)、串行高級(jí)技術(shù)附件(SATA)、UART、SDIO、SP1、I2S、I2C、MIPI HSI控制器和/或各種SoC加速器。這些設(shè)備可以是非PCI兼容的。為便于引用,設(shè)備161被看作是PCI PnP兼容的,而設(shè)備162是非PCI PnP兼容的。I/O織物155可以經(jīng)由橋165耦合到進(jìn)一步的設(shè)備170。
[0015]橋135可以是芯片組的一部分,且可以操作為把來(lái)自其他織物的數(shù)據(jù)合并到主系統(tǒng)織物。橋135可以耦合到或包括硬件捕獲模塊140和硬件輔助模塊141。捕獲模塊和輔助模塊可以包括硬件邏輯(例如,微控制器)、固件和/或軟件。參照?qǐng)D2更詳細(xì)地討論模塊 140、141。
[0016]圖1僅僅是代表性框圖。在各實(shí)施例中可以包括到諸如USB或火線織物等的其他織物的接口。在各種實(shí)施例中,可以用非PCI兼容的織物來(lái)代替PCI織物155。而且,一種實(shí)施例可以包括多個(gè)PCI織物。
[0017]PCI織物155可以與PnP BIOS和在處理器105上操作的收縮包裝PCI 0S(例如,Windows,Linux)通信。因而,系統(tǒng)100可以包括位于設(shè)備160和/或170內(nèi)的PCI兼容設(shè)備(這些設(shè)備可以與設(shè)備160和/或170中的非PCI兼容設(shè)備混合)的PnP特征。PnP允許系統(tǒng)100自動(dòng)地識(shí)別和配置設(shè)備。PnP BIOS可以讀取擴(kuò)展系統(tǒng)配置數(shù)據(jù)(ES⑶),以便得到現(xiàn)有PnP設(shè)備上的配置信息。OS中的PnP處理程序可以完成由BIOS為每一 PnP設(shè)備開始的配置過(guò)程。PnP自動(dòng)進(jìn)行若干任務(wù),諸如例如設(shè)置中斷請(qǐng)求(IRQ)硬件中斷以便允許設(shè)備與處理器105通信。橋135管理硬件中斷以便避免在設(shè)備160當(dāng)中的沖突。PnP也設(shè)置直接存儲(chǔ)器訪問(wèn)(DMA),使得把設(shè)備160中的任何被配置為無(wú)需首先咨詢處理器105就訪問(wèn)系統(tǒng)存儲(chǔ)器125。而且,PnP設(shè)置存儲(chǔ)器地址,使得給設(shè)備160指派系統(tǒng)存儲(chǔ)器125中的一部分以供獨(dú)占性使用。PnP還設(shè)置I/O配置,以便定義由設(shè)備160用來(lái)接收和發(fā)送信息的端□。
[0018]圖2包括本發(fā)明的一種實(shí)施例中的過(guò)程。在框205中通過(guò)發(fā)起枚舉來(lái)開始過(guò)程200。在一種實(shí)施例中,借助于枚舉系統(tǒng),BIOS發(fā)起PnP BIOS。通過(guò)把信號(hào)發(fā)送給連接到該織物的設(shè)備,通過(guò)詢問(wèn)設(shè)備160的ID,PnP BIOS掃描PCI織物155以便發(fā)現(xiàn)硬件。諸如設(shè)備161等的PnP設(shè)備可以通過(guò)用經(jīng)由織物155發(fā)送給BIOS的其設(shè)備ID標(biāo)識(shí)本身來(lái)進(jìn)行響應(yīng)。PnP BIOS檢查ES⑶以便了解是否已經(jīng)存在PnP設(shè)備161的配置數(shù)據(jù)。若否,則PnP BIOS把例如IRQ、DMA、存儲(chǔ)器地址和1/0設(shè)置指派給PnP設(shè)備161并把數(shù)據(jù)保存在ESCD中。當(dāng)OS啟動(dòng)時(shí),它檢查ES⑶和PCI織物155。OS檢測(cè)到設(shè)備161是新設(shè)備并查找和加載必要的驅(qū)動(dòng)器。[0019]框205可以包括使用固件的簡(jiǎn)單固件接口(SFI)以便把靜態(tài)表導(dǎo)出到OS。SFI表是存儲(chǔ)器中可以共享公共表頭部格式的數(shù)據(jù)結(jié)構(gòu)。SFI可以提供對(duì)標(biāo)準(zhǔn)ACPI XSDT(擴(kuò)展系統(tǒng)描述表)的訪問(wèn),標(biāo)準(zhǔn)ACPI XSDT可以由SFI用來(lái)防止在SPI和ACPI之間的命名空間沖突。SFI可以訪問(wèn)諸如PCI存儲(chǔ)器配置表(MCFG)等的標(biāo)準(zhǔn)ACPI表。OS可以通過(guò)在物理地址之間的邊界內(nèi)搜索來(lái)查找系統(tǒng)表???05也可以參加設(shè)置或檢查諸如IOCFG寄存器等的配置寄存器。
[0020]在框210中,發(fā)生了本地織物事務(wù)產(chǎn)生。在框215中,如果該事務(wù)是由本地織物設(shè)備(例如,織物155)聲明的,那么,該過(guò)程繼續(xù)進(jìn)行到框255,在框255中,PCI配置事務(wù)結(jié)束且如果需要的話,枚舉繼續(xù)進(jìn)行。
[0021]然而,如果在框215中沒(méi)有聲明配置事務(wù)(例如,周期),則本發(fā)明的一種實(shí)施例把該事務(wù)轉(zhuǎn)發(fā)到橋135 (框220)。如果沒(méi)有啟用硬件捕獲140,則該過(guò)程進(jìn)行到框230,在框230中,生成不支持請(qǐng)求(UR)響應(yīng)。如果啟用了捕獲,則硬件捕獲和硬件輔助模塊140、141開始起作用。
[0022]通常,關(guān)于模塊140、141,一種實(shí)施例把SoC中的現(xiàn)有PCI結(jié)構(gòu)擴(kuò)展到包括駐留在非PnP織物上的設(shè)備(例如,OCP兼容的設(shè)備,類似于設(shè)備162)。模塊140包括/耦合硬件捕獲模塊,該硬件捕獲模塊包括捕獲和轉(zhuǎn)發(fā)PCI配置事務(wù)(即,周期)的硬件(框235)。模塊141包括硬件輔助模塊,該硬件輔助模塊包括應(yīng)對(duì)捕獲并提供行為模型的邏輯或固件,以便跨越異類織物結(jié)構(gòu)(例如,設(shè)備161和162兩者)提供一致性PCI配置空間(框240)。
[0023]更具體地,且如上面所說(shuō)明的,SoC中的現(xiàn)有PCI配置支持生成PCI配置周期(參見(jiàn)框205),其中的一些是在支持PCI的織物上的設(shè)備所聲明的(參見(jiàn)發(fā)源于框215的“是”分支)。然而,PCI織物中不聲明的周期(參見(jiàn)發(fā)源于框215的“否”分支)被轉(zhuǎn)發(fā)到橋135 (框220)。按照慣例,在非PnP啟用的橋接收到PCI配置或I/O事務(wù)時(shí),該橋?qū)⑸蒛R響應(yīng),且該事務(wù)將終止。然而,模塊140、141 (直接地或經(jīng)由耦合)把邏輯添加到橋135。模塊140捕獲該事務(wù)并生成給模塊141的硬件(HW)輔助組件的通知(框235)。硬件輔助模塊141接收來(lái)自橋135 (其包括或耦合到模塊14)的關(guān)于該事務(wù)的信息(例如,R/W、織物、設(shè)備、函數(shù)、寄存器)。基于關(guān)于該事務(wù)的信息,硬件輔助141確定應(yīng)當(dāng)生成什么類型的響應(yīng)(框240)。如果該事務(wù)不針對(duì)硬件輔助織物上的設(shè)備(例如,設(shè)備161),那么,硬件輔助141生成主中止(master abort)(框245)。否則,在框250中,硬件輔助使用橋135的特征(參見(jiàn)框250、255)來(lái)適當(dāng)?shù)亟K止事務(wù)。
[0024]在另一實(shí)施例中,橋135可以生成對(duì)主要主機(jī)處理器(primary host processor)(例如,處理器105)的中斷,這允許在主機(jī)上運(yùn)行的代碼仿真所期望的行為。系統(tǒng)管理中斷(SMI)可以被用來(lái)以對(duì)OS透明的方式調(diào)用OS無(wú)關(guān)的平臺(tái)專用代碼。
[0025]存在模塊140、141的各種實(shí)施例,下面闡述其中的四個(gè)。這些實(shí)施例實(shí)現(xiàn)遺留I/O和配置周期的方針,如下所示:(1)微控制器(uController)輔助的、非SMI#機(jī)制,(2)uController輔助的、uController生成的SMI#機(jī)制,(3)uController輔助的、橋生成的SMI#機(jī)制,以及(4)非uController輔助的、橋生成的SMI#機(jī)制。不同的機(jī)制中,1/0周期和配置周期均可以獨(dú)立操作。
[0026]關(guān)于第一機(jī)制(uController輔助的、非SMI#的機(jī)制),該機(jī)制要求OCP織物中的uController (例如,設(shè)備161)。這給uController帶來(lái)了 PCI仿真的負(fù)擔(dān)。圖3中包括了關(guān)于此實(shí)施例的高級(jí)流程圖。在框305中,由CPU發(fā)起的、未經(jīng)其他代理聲明的I/O周期作為I/O或PCI配置(Config)周期而被轉(zhuǎn)發(fā)。這些被PCI到OCP的橋(模塊140)捕獲(框305)并被發(fā)送給uController (框310),例如使用Thread2 (線程2)上的處理器間通信(IPC)消息。10_IPC_EN和CFG_IPC_EN寄存器中的配置位允許這種功能性。寄存器默認(rèn)為禁用狀態(tài)。
[0027]在框315中,uController通過(guò)運(yùn)行代碼執(zhí)行其PCI或I/O周期仿真。例如,uController給OS提供設(shè)備(例如,設(shè)備161)的設(shè)備ID、IRQ、DMA、存儲(chǔ)器地址和1/0設(shè)置。
[0028]在框320中,伴隨著要隨讀完成返回的任何數(shù)據(jù),uController在Thread2上把成功的或不成功的完成狀態(tài)寫到橋135寄存器空間中的特定地址位置。在框325中,橋135生成1/0或配置周期的上游完成通信(upstream completion communication)。
[0029]關(guān)于第二機(jī)制(uController輔助的、uController生成的SMI#機(jī)制),該機(jī)制也要求OCP織物中的uController。該實(shí)施例類似于圖3的實(shí)施例;然而,在此實(shí)施例中,這種uController產(chǎn)生SMI#。這提供了靈活性且允許固件(例如,用于Intel微處理器的Intel指令集體系結(jié)構(gòu))與uController —起共享仿真責(zé)任,并應(yīng)對(duì)uController不能夠處理的情形。該實(shí)施例包括框305、310、315,但后來(lái)該實(shí)施例中,uController生成作為虛擬遺留線(Virtual Legacy Wire:VLff)的 SMI#。橋 135 把 VLW_Complete (VLW_ 完成)轉(zhuǎn)發(fā)回到uController。然后,uController在Thread2上用成功的或不成功的完成狀態(tài)寫到橋135寄存器空間中的特定地址位置(框320)。uController是平臺(tái)中的單個(gè)SMI#控制器。
[0030]關(guān)于第三機(jī)制(uContiOller輔助的、橋生成的SMI#機(jī)制),這種機(jī)制也要求OCP織物中的uController,且類似于第二機(jī)制,但橋135生成SMI#。該實(shí)施例可以實(shí)現(xiàn)框305、310、315、320。如果uController返回不成功的完成,則橋135向處理器105生成SMI#并置位 SMI_STS 位。配置位 10_SMI_EN 和 CFG_SMI_EN 寄存器(在啟用 10_IPC_EN&CFG_IPC_EN時(shí))允許在橋135中的SMI#生成功能性且默認(rèn)為禁用。由于沒(méi)有遺留邊帶信號(hào),VLW機(jī)制被用來(lái)把SMI#傳送給處理器105。硬件需要確保VLW的排序和1/0或配置事務(wù)的完成。具體地,處理器105可以在1/0操作完成之前接收VLW。然后,橋135在邊帶信道上發(fā)送消息(指示這是SMI#的VLW)以便向處理器105生成VLW SMI#消息。在起動(dòng)SMI#時(shí),橋135清除EOS (SMI的結(jié)束)位。橋135是該平臺(tái)中的單個(gè)SMI#控制器。在把SMI#VLW傳送給CPU時(shí),把確認(rèn)消息隨邊帶信道上的VLW_Complete消息發(fā)送回到橋135。這有助于確保SMI#已經(jīng)被傳送給CPU,且僅存在單個(gè)未完成的VLW消息。橋135具有保存SMI#的源的SMI#狀態(tài)寄存器。該機(jī)制實(shí)現(xiàn)框325,且SMM處理程序在退出之前清除SMI_STS位并置位EOS位。
[0031]關(guān)于第四機(jī)制(非uController輔助的、橋生成的SMI#機(jī)制),該機(jī)制不要求OCP織物中的uController且依賴于固件(例如,用于Intel微處理器的Intel指令集體系結(jié)構(gòu))進(jìn)行仿真。該實(shí)施例允許經(jīng)由SMI#把任何1/0或配置非條件性地矢量化回到處理器。因而,(I)如果uController IPC機(jī)制隨時(shí)間而改變/進(jìn)化,這可以通過(guò)調(diào)節(jié)SMI#處理程序來(lái)適應(yīng),以及(2)該實(shí)施例為不具有uController上的輔助OCP部分上的PCI IP提供仿真1/0和配置周期的機(jī)制。一種實(shí)施例如下實(shí)現(xiàn)一種流。由PCI到OCP的橋135捕獲由CPU發(fā)起的未經(jīng)其他代理聲明的1/0和配置周期。橋135經(jīng)由邊帶信道上的VLW消息向處理器105 生成 SMI#。配置位 10_SMI_EN 和 CFG_SMI_EN(在禁用 10_IPC_EN&CFG_IPC_EN 時(shí))允許在橋中的SMI#生成功能性且默認(rèn)為禁用。橋135生成I/O或配置周期的完成。該機(jī)制實(shí)現(xiàn)框325。
[0032]除了充當(dāng)系統(tǒng)100的減法(subtractive)代理(參見(jiàn)框215,其中配置事務(wù)未經(jīng)聲明)之外,橋135可以被配置為正(positively)解碼(S卩,聲明)例如使用IN/0UT(輸入/輸出)指令訪問(wèn)的存儲(chǔ)器映射地址范圍或I/O地址范圍。這允許在現(xiàn)有子系統(tǒng)已經(jīng)充當(dāng)減法代理的系統(tǒng)中使用橋135。
[0033]圖4包括橋135中定義的寄存器的表,且涉及以上所描述的四種機(jī)制。
[0034]在此所使用的PCI包括PCI的變種,例如PC1-Express (PC1-高速)。而且,PnP包括在引導(dǎo)過(guò)程期間發(fā)生的PnP(例如,枚舉)。在一些實(shí)施例中,PnP限于引導(dǎo)過(guò)程,且不適用于引導(dǎo)后的過(guò)程(例如,熱拔插和隨后的重新映射)。在此所使用的PnP和枚舉并不必定限于PCI標(biāo)準(zhǔn)。
[0035]描述了一種把非PCI兼容設(shè)備與PCI兼容操作系統(tǒng)結(jié)合起來(lái)的一種實(shí)施例。各實(shí)施例在硬件級(jí)實(shí)現(xiàn)解決方案。織物系統(tǒng)模擬真實(shí)PCI的行為。使用模塊140、141的PCI CFG周期的偵聽(tīng)減少了實(shí)現(xiàn)PCI解碼所要求的門數(shù)(gatecount)(例如,處理)。在非PCI兼容設(shè)備不知道如何響應(yīng)于PCI枚舉時(shí),各實(shí)施例通過(guò)在微控制器上運(yùn)行的固件提供PCI枚舉應(yīng)答且因而仿真將通常來(lái)自PCI兼容設(shè)備的應(yīng)答。各實(shí)施例允許系統(tǒng)設(shè)計(jì)者把非標(biāo)準(zhǔn)織物結(jié)構(gòu)與仍然使用現(xiàn)代的PCI兼容操作系統(tǒng)中出現(xiàn)的穩(wěn)健的和成熟的PCI基礎(chǔ)設(shè)施的益處結(jié)合起來(lái)。各實(shí)施例允許PCI兼容的OS發(fā)現(xiàn)非PCI兼容設(shè)備,所有這些都對(duì)OS透明。更一般地,各實(shí)施例允許與第一標(biāo)準(zhǔn)兼容(但不與第二標(biāo)準(zhǔn)兼容)的操作系統(tǒng)發(fā)現(xiàn)不與第一標(biāo)準(zhǔn)兼容(但可能與第二標(biāo)準(zhǔn)兼容)的設(shè)備并與之通信。在一種實(shí)施例中,代替把OS定制為與不同的設(shè)備一起工作,可以使用現(xiàn)貨供應(yīng)的收縮包裝PCI兼容的OS來(lái)與眾多設(shè)備(它們不是PCI兼容的)一起工作??梢酝ㄟ^(guò)調(diào)整包括織物的SoC中的固件來(lái)促進(jìn)這一點(diǎn)。
[0036]各實(shí)施例可以以代碼實(shí)現(xiàn)且可以被存儲(chǔ)在其上存儲(chǔ)有指令的非暫態(tài)存儲(chǔ)介質(zhì)中,這些指令可以被用來(lái)把系統(tǒng)編程為執(zhí)行指令。存儲(chǔ)介質(zhì)可以包括但不限于任何類型的盤、半導(dǎo)體設(shè)備或適用于存儲(chǔ)電子指令的任何其他類型的介質(zhì),這些盤包括軟盤、光盤、光盤、固態(tài)驅(qū)動(dòng)器(SSD)、緊致盤只讀存儲(chǔ)器(⑶-ROM)、可重寫緊致盤(⑶-RW)和磁光盤,半導(dǎo)體設(shè)備例如只讀存儲(chǔ)器(ROM)、諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)等的隨機(jī)存取存儲(chǔ)器(RAM)、可擦除可編程只讀存儲(chǔ)器(EPROM)、閃速存儲(chǔ)器、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、磁或光卡。可以參考諸如指令、函數(shù)、過(guò)程、數(shù)據(jù)結(jié)構(gòu)、應(yīng)用程序、配置設(shè)置、代碼等等的數(shù)據(jù)在此描述本發(fā)明的各實(shí)施例。在由機(jī)器訪問(wèn)數(shù)據(jù)時(shí),該機(jī)器可以通過(guò)執(zhí)行任務(wù)、定義抽象數(shù)據(jù)類型、建立低級(jí)硬件上下文和/或執(zhí)行其他操作來(lái)響應(yīng),如在此更詳細(xì)地描述的。該數(shù)據(jù)可以被存儲(chǔ)在易失性和/或非易失性數(shù)據(jù)存儲(chǔ)中。術(shù)語(yǔ)“代碼”或“程序”覆蓋寬廣范圍的組件和構(gòu)造,包括應(yīng)用、驅(qū)動(dòng)器、進(jìn)程、例程、方法、模塊和子程序,且可以是指指令的任何集合,這些指令在由處理系統(tǒng)執(zhí)行時(shí),執(zhí)行所期望的操作或多種操作。另外,替代的實(shí)施例可以包括使用少于全部所公開的操作的過(guò)程、使用附加操作的過(guò)程、使用以不同序列的相同操作的過(guò)程以及其中組合、劃分或以另外方式改變?cè)诖斯_的各個(gè)操作的過(guò)程。各組件或模塊可以根據(jù)期望組合或分離,且可以位于設(shè)備的一個(gè)或多個(gè)部分。
[0037]盡管已經(jīng)參照有限數(shù)量的實(shí)施例描述了本發(fā)明,但本領(lǐng)域中的技術(shù)人員將明白源于其的眾多修改和變更。預(yù)期所附權(quán)利要求覆蓋落在本發(fā)明的真正精神和范圍內(nèi)的所有這樣的修改和變更。
【權(quán)利要求】
1.一種裝置,包括: 非外圍組件互連(PCI)兼容的設(shè)備; PCI兼容的主機(jī)操作系統(tǒng)(OS);以及 通信織物; 其中所述織物被配置為(a)把所述OS操作地耦合到所述設(shè)備,(b)為所述OS發(fā)現(xiàn)所述設(shè)備。
2.如權(quán)利要求1所述的裝置,其特征在于,所述OS是即插即用兼容的而所述設(shè)備不是即插即用兼容的。
3.如權(quán)利要求2所述的裝置,其特征在于,所述設(shè)備包括非PCI兼容的控制器且所述OS不被特別地配置為與所述設(shè)備一起操作。
4.如權(quán)利要求1所述的裝置,其特征在于,所述裝置包括硬件橋,所述硬件橋被配置為捕獲未經(jīng)聲明的配置事務(wù),其中所述配置事務(wù)是PCI配置周期和輸入/輸出(I/O)配置周期中的一個(gè)。
5.如權(quán)利要求4所述的裝置,其特征在于,所述橋被配置為向所述OS模擬PCI協(xié)議。
6.如權(quán)利要求4所述的裝置,其特征在于,在枚舉期間由所述OS產(chǎn)生所述未經(jīng)聲明的PCI配置事務(wù)。
7.如權(quán)利要求1所述的裝置,其特征在于,所述織物被配置為給所述設(shè)備保留存儲(chǔ)器。
8.如權(quán)利要求1所述的裝置,其特征在于,所述設(shè)備是開放核心協(xié)議(OCP)兼容的。
9.如權(quán)利要求1所述的裝置,其特征在于,所述裝置不包括PCI減法解碼。
10.一種系統(tǒng),包括: 處理器; 存儲(chǔ)器,其被耦合到所述處理器; 標(biāo)準(zhǔn)兼容的主機(jī)操作系統(tǒng)(OS),其與第一標(biāo)準(zhǔn)兼容; 非標(biāo)準(zhǔn)兼容的設(shè)備,其不遵守所述第一標(biāo)準(zhǔn);以及 通信織物; 其中所述織物被配置為(a)把所述OS操作地耦合到所述設(shè)備,(b)為所述OS發(fā)現(xiàn)所述設(shè)備,以及(c)把所述設(shè)備耦合到所述處理器。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述第一標(biāo)準(zhǔn)包括外圍組件互連(PCI)標(biāo)準(zhǔn)。
12.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述第一標(biāo)準(zhǔn)包括即插即用標(biāo)準(zhǔn)。
13.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述系統(tǒng)包括硬件橋,所述硬件橋被配置為捕獲未經(jīng)聲明的配置事務(wù),其中所述配置事務(wù)是配置周期和輸入/輸出(I/o)配置周期中的一個(gè)。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,在枚舉期間由所述OS產(chǎn)生所述未經(jīng)聲明的配置事務(wù)。
15.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述設(shè)備是開放核心協(xié)議(OCP)兼容的。
16.—種方法,包括: 提供一種裝置,所述裝置包括非即插即用兼容的設(shè)備、即插即用兼容的主機(jī)操作系統(tǒng)(OS)和通信織物;把所述OS操作地耦合到所述設(shè)備;以及 為所述OS發(fā)現(xiàn)所述設(shè)備。
17.如權(quán)利要求16所述的方法,其特征在于,所述裝置遵守外圍組件互連(PCI)標(biāo)準(zhǔn)。
18.如權(quán)利要求16所述的方法,其特征在于,包括捕獲未經(jīng)聲明的配置事務(wù),其中所述配置事務(wù)是配置周期和輸入/輸出(I/O)配置周期中的一個(gè)。
19.如權(quán)利要求18所述的方法,其特征在于,在枚舉期間由所述OS產(chǎn)生所述未經(jīng)聲明的配置事務(wù)。
20.如權(quán)利要求16所述的方法,其特征在于,所述OS不被特別地配置為與所述設(shè)備一起操作。
【文檔編號(hào)】G06F13/42GK103842980SQ201280047773
【公開日】2014年6月4日 申請(qǐng)日期:2012年9月24日 優(yōu)先權(quán)日:2011年9月30日
【發(fā)明者】B·L·弗萊明, A·R·扎哈爾, A·曼德哈尼, S·B·阿查亞 申請(qǐng)人:英特爾公司