專利名稱:改善集成非透明橋設(shè)備的操作的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種非透明橋,更具體但非排他地涉及改善集成非透明橋設(shè)備的操作的方法和系統(tǒng)。背景描述非透明橋能夠使兩個(gè)主機(jī)或存儲(chǔ)器域電隔離。非透明橋任一側(cè)上的設(shè)備在另一側(cè)上是不可見的,但非透明橋允許在設(shè)備的處理器域之間的數(shù)據(jù)傳輸和狀態(tài)交換的路徑。圖1示出了現(xiàn)有技術(shù)的門鈴寄存器105的框圖100。在非透明橋的主要側(cè)上的設(shè)備可對(duì)現(xiàn)有技術(shù)的門鈴寄存器105進(jìn)行寫或編程,以向上游發(fā)送中斷至終止在附接的根端口處的非透明橋的次要側(cè)上的另一設(shè)備?,F(xiàn)有技術(shù)的門鈴寄存器105具有映射至特定擴(kuò)展消息信號(hào)中斷(MS1-X)向量的固定或硬編碼的位。例如,現(xiàn)有技術(shù)的門鈴寄存器105的O至3位映射至MS1-X向量的0110,以此類推??赏ㄟ^(guò)門鈴寄存器位到MS1-X向量的預(yù)定義映射來(lái)限制非透明橋設(shè)備的用戶。
本發(fā)明的特征和優(yōu)點(diǎn)根據(jù)本主題的以下詳細(xì)描述將變得顯而易見,其中圖1例示了現(xiàn)有技術(shù)的門鈴寄存器的框圖;圖2例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成非透明橋設(shè)備的框圖;圖3例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的保持中斷順序的集成非透明橋設(shè)備的框圖;圖4例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例用以保持中斷的順序的流程圖。圖5例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的映射寄存器的框圖;圖6例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成非透明橋設(shè)備的存儲(chǔ)器映射的框圖;以及圖7例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于實(shí)現(xiàn)本文中公開的方法的系統(tǒng)。詳細(xì)描沭本文中所描述的本發(fā)明的實(shí)施例通過(guò)示例而非限制地在附圖中示出。為說(shuō)明的簡(jiǎn)單和清楚起見,在附圖中示出的元件不一定按比例繪制。例如,為清楚起見,某些元件的尺寸可能相對(duì)于其它元件被放大。更進(jìn)一步地,在認(rèn)為適當(dāng)時(shí),附圖標(biāo)記在附圖中被重復(fù)以指示相應(yīng)或相似要素。在本說(shuō)明書中對(duì)本發(fā)明的“一個(gè)實(shí)施例”或“實(shí)施例”的引用意味著結(jié)合該實(shí)施例描述的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。在本說(shuō)明書各處出現(xiàn)的短語(yǔ)“在一個(gè)實(shí)施例中”并不一定均指代同一實(shí)施例。本發(fā)明的實(shí)施例提供了一種改善集成非透明橋(NTB)設(shè)備的操作的方法和系統(tǒng)。在本發(fā)明的一個(gè)實(shí)施例中,NTB設(shè)備耦合至另一 NTB設(shè)備。在本發(fā)明的另一實(shí)施例中,NTB設(shè)備耦合至另一根端口設(shè)備。NTB設(shè)備具有用于保持將被發(fā)送至另一 NTB設(shè)備或根端口設(shè)備的中斷信號(hào)的順序的邏輯。通過(guò)這樣做,可遵循被發(fā)送至另一 NTB設(shè)備或根端口設(shè)備的中斷的順序。
在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)集成NTB設(shè)備以NTB模式操作時(shí),耦合至該NTB設(shè)備的存儲(chǔ)器的連續(xù)部分或區(qū)域被分配用于與非透明橋設(shè)備相關(guān)聯(lián)的主基址寄存器(BAR)和與另一 NTB或根端口設(shè)備相關(guān)聯(lián)的次BAR。在本發(fā)明的一個(gè)實(shí)施例中,集成NTB設(shè)備具有用于報(bào)告或指示主BAR的尺寸的邏輯,將主BAR尺寸報(bào)告或指示為主BAR和次BAR的組合尺寸。在本發(fā)明的一個(gè)實(shí)施例中,集成NTB設(shè)備便于基于映射寄存器來(lái)動(dòng)態(tài)地修改門鈴寄存器的每個(gè)位與多個(gè)中斷向量中的相應(yīng)的一個(gè)的映射。通過(guò)這樣,門鈴寄存器不限于預(yù)定義映射而且可被編程為中斷向量的任何映射。在本發(fā)明的一個(gè)實(shí)施例中,集成NTB與外圍部件互連(PCI)快速標(biāo)準(zhǔn)或由PCI特別興趣小組(PC1-SIG)維護(hù)的規(guī)范至少部分兼容。在本發(fā)明的一個(gè)實(shí)施例中,集成NTB支持若干類型的中斷,例如但不限于傳統(tǒng)INTx中斷(其中X可以為A,B,C或D)、MS1、MS1-X和任何其他類型的中斷。圖2例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成NTB設(shè)備205的框圖200。集成NTB設(shè)備205具有處理核210、配置寄存器215和根聯(lián)合體(root complex)220o在本發(fā)明的一個(gè)實(shí)施例中,根聯(lián)合體220與總線1230、配置寄存器215以及主存儲(chǔ)器240耦合。根聯(lián)合體220具有NTB222和根端口(RP) 224。根端口 224經(jīng)由總線3234與PCI快速(PCIe)端點(diǎn)設(shè)備260耦合。在本發(fā)明的一個(gè)實(shí)施例中,根聯(lián)合體220代表處理核210產(chǎn)生事務(wù)請(qǐng)求。在本發(fā)明的一個(gè)實(shí)施例中,根聯(lián)合體220與處理核210集成。NTB222經(jīng)由根端口 /NTB252與另一設(shè)備或系統(tǒng)250耦合。在本發(fā)明的一個(gè)實(shí)施例中,處理核210具有用于確保根聯(lián)合體220產(chǎn)生的事務(wù)被以正確的PCI順序來(lái)保持的邏輯。在本發(fā)明的一個(gè)實(shí)施例中,正確的PCI順序基于但不限于次序順序、時(shí)間順序、事務(wù)編號(hào)等等。在本發(fā)明的一個(gè)實(shí)施例中,配置寄存器215具有與集成NTB設(shè)備205相關(guān)聯(lián)的主門鈴寄存器以及與另一設(shè)備/系統(tǒng)250相關(guān)聯(lián)的次門鈴寄存器。主和次門鈴寄存器允許集成NTB設(shè)備205的處理核210使用中斷或向量與另一設(shè)備/系統(tǒng)250通信。例如,在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)附接有根端口時(shí),處理核210通過(guò)寫入次門鈴寄存器來(lái)與另一設(shè)備/系統(tǒng)250通信。在本發(fā)明的另一實(shí)施例中,當(dāng)附接有遠(yuǎn)程N(yùn)TB時(shí),處理核210通過(guò)寫入配置寄存器215中的寄存器(這產(chǎn)生以另一設(shè)備/系統(tǒng)250的主門鈴寄存器為目標(biāo)的事務(wù))來(lái)與該另一設(shè)備/系統(tǒng)250通信。在本發(fā)明的一個(gè)實(shí)施例中,配置寄存器215中的寄存器被稱為背對(duì)背門鈴寄存器。在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)次門鈴寄存器的特定位被寫入或編程時(shí),產(chǎn)生與次門鈴寄存器的特定位相關(guān)聯(lián)的中斷并且該中斷被發(fā)送至另一設(shè)備/系統(tǒng)250。當(dāng)遠(yuǎn)程N(yùn)TB被附連并且背對(duì)背門鈴寄存器的特定位被寫入或編程時(shí),產(chǎn)生以遠(yuǎn)程N(yùn)TB的主門鈴寄存器為目標(biāo)的事務(wù)。這然后產(chǎn)生到遠(yuǎn)程設(shè)備/系統(tǒng)250的中斷。在本發(fā)明的一個(gè)實(shí)施例中,配置寄存器215具有映射寄存器,該映射寄存器指示主門鈴寄存器的每個(gè)位與相應(yīng)的中斷向量的映射。在本發(fā)明的另一實(shí)施例中,配置寄存器215具有映射寄存器,該映射寄存器指示次門鈴寄存器的每個(gè)位與相應(yīng)的中斷向量的映射。映射寄存器便于動(dòng)態(tài)地修改主(或次)門鈴寄存器的每個(gè)位與相應(yīng)的中斷向量的映射。在本發(fā)明的一個(gè)實(shí)施例中,映射寄存器可通過(guò)在處理核210上執(zhí)行的軟件來(lái)編程以改變主門鈴寄存器的每個(gè)位與相應(yīng)的中斷向量的映射,從而改變包含在配置寄存器215中的次門鈴寄存器的與相應(yīng)的中斷向量相關(guān)聯(lián)的每個(gè)位的映射。在本發(fā)明的另一實(shí)施例中,映射寄存器可通過(guò)在遠(yuǎn)程設(shè)備/系統(tǒng)250上執(zhí)行的軟件來(lái)編程以改變包含在配置寄存器215中的次門鈴寄存器的與相應(yīng)的中斷向量相關(guān)聯(lián)的每個(gè)位的映射。在本發(fā)明的一個(gè)實(shí)施例中,主(或次)門鈴的每個(gè)位可被路由到任何有效的MS1-X向量,該MS1-X向量被發(fā)送至另一設(shè)備/系統(tǒng)250的附接的根端口 /NTB252。在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)根聯(lián)合體220將其端口之一操作或設(shè)置為NTB222時(shí),NTB222具有用于主側(cè)(即,根聯(lián)合體220)的主基址寄存器(BAR),以及用于次側(cè)(S卩,其他設(shè)備/系統(tǒng)250)的次BAR。在本發(fā)明的一個(gè)實(shí)施例中,主和次BAR被映射到主存儲(chǔ)器240的存儲(chǔ)器映射的輸入/輸出區(qū)域(麗10)中。另一設(shè)備/系統(tǒng)250可使用次BAR來(lái)訪問(wèn)NTB222的寄存器。在本發(fā)明的一個(gè)實(shí)施例中,處理核210具有用于通過(guò)為主和次BAR分配主存儲(chǔ)器240的連續(xù)區(qū)或區(qū)域來(lái)初始化主存儲(chǔ)器240的MMIO的邏輯。通過(guò)這樣,集成NTB205確保次BAR被映射到主存儲(chǔ)器240中。圖2中的例示不意味著是限制性的,并且可使用集成NTB設(shè)備205中的模塊的不同配置而不影響本發(fā)明的工作。例如,在本發(fā)明的一個(gè)實(shí)施例中,主存儲(chǔ)器240與集成NTB設(shè)備205集成。在本發(fā)明的一個(gè)實(shí)施例中,集成NTB設(shè)備205是單核或多核處理器。在本發(fā)明的一個(gè)實(shí)施例中,另一設(shè)備/系統(tǒng)252與PCI快速標(biāo)準(zhǔn)或規(guī)范至少部分兼容。 圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用以保持中斷順序的集成NTB設(shè)備205的框圖300。出于清楚例示起見,參照?qǐng)D2討論圖3。框圖300示出了集成NTB設(shè)備205如何保持被發(fā)送至另一設(shè)備/系統(tǒng)250的中斷的順序。當(dāng)中斷由集成NTB設(shè)備205發(fā)送至遠(yuǎn)程設(shè)備/系統(tǒng)250時(shí),處理核210產(chǎn)生門鈴事務(wù)請(qǐng)求。在本發(fā)明的另一實(shí)施例中,根聯(lián)合體220代表處理核210產(chǎn)生門鈴事務(wù)請(qǐng)求。處理核210通過(guò)寫入門鈴寄存器來(lái)執(zhí)行門鈴事務(wù)請(qǐng)求。在本發(fā)明的一個(gè)實(shí)施例中,處理核210通過(guò)寫入主門鈴寄存器來(lái)執(zhí)行門鈴事務(wù)請(qǐng)求。門鈴事務(wù)請(qǐng)求被發(fā)送至傳輸隊(duì)列310和配置寄存器215。中斷產(chǎn)生邏輯330檢查門鈴事務(wù)是否為傳輸隊(duì)列310中將被取出或執(zhí)行的下一個(gè)事務(wù)。如果是,中斷產(chǎn)生邏輯330則檢查與配置寄存器215中的門鈴事務(wù)相關(guān)聯(lián)的寄存器是否已經(jīng)被更新。如果是,中斷產(chǎn)生邏輯330則向傳輸仲裁器320發(fā)送指示,該指示表明門鈴事務(wù)的中斷將被發(fā)送至設(shè)備/系統(tǒng)250。中斷產(chǎn)生邏輯330在將指示發(fā)送至傳輸仲裁器320之前檢查兩個(gè)條件是否都滿足。通過(guò)這樣,在本發(fā)明的一個(gè)實(shí)施例中,門鈴事務(wù)的順序被保持。傳輸仲裁器320從傳輸隊(duì)列310或由中斷產(chǎn)生邏輯330指示的所產(chǎn)生的中斷中選擇事務(wù),并且將所選擇的事務(wù)發(fā)送至鏈路層340和另一設(shè)備/系統(tǒng)250。圖3中的例示不意味著是限制性的。在本發(fā)明的一個(gè)實(shí)施例中,中斷產(chǎn)生邏輯330可通過(guò)處理核210或根聯(lián)合體220來(lái)實(shí)現(xiàn)。相關(guān)領(lǐng)域的普通技術(shù)人員將容易理解,可實(shí)現(xiàn)框圖300中的模塊的其他組合而不影響本發(fā)明的工作。圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用以保持中斷順序的流程圖400。出于清楚例示起見,參照?qǐng)D3來(lái)討論圖4。在步驟410,當(dāng)處理核210接收到門鈴事務(wù)請(qǐng)求時(shí),處理核210向門鈴寄存器寫入。在本發(fā)明的另一實(shí)施例中,處理核210基于將被發(fā)送至另一設(shè)備/系統(tǒng)250的所需中斷向量來(lái)寫入次門鈴寄存器的特定位。在本發(fā)明的另一實(shí)施例中,處理核210基于將被發(fā)送至另一設(shè)備/系統(tǒng)250的所需中斷向量來(lái)寫入背靠背門鈴寄存器的特定位。當(dāng)特定的門鈴位被寫入時(shí),門鈴事務(wù)在傳輸隊(duì)列310中排隊(duì)并且處理核210更新配置寄存器215中與門鈴事務(wù)相關(guān)聯(lián)的寄存器。在步驟420,中斷產(chǎn)生邏輯330檢查門鈴事務(wù)是否是傳輸隊(duì)列310中將被執(zhí)行或取出的下一個(gè)事務(wù)。如果不是,則流400返回至步驟420。如果是,流400前進(jìn)到步驟430以檢查配置寄存器215中與門鈴事務(wù)相關(guān)聯(lián)的寄存器是否已被更新。如果與門鈴事務(wù)相關(guān)聯(lián)的寄存器在步驟430沒(méi)有被更新,則流400返回至步驟430。如果與門鈴事務(wù)相關(guān)聯(lián)的寄存器在步驟430已經(jīng)被更新,則流400前進(jìn)到步驟440以發(fā)送產(chǎn)生用于門鈴事務(wù)的中斷的指示,并且流400結(jié)束。在本發(fā)明的一個(gè)實(shí)施例中,中斷產(chǎn)生邏輯330將指示發(fā)送至傳輸仲裁器 320。由中斷產(chǎn)生邏輯330執(zhí)行的步驟420和430確保事務(wù)的正確PCI順序被遵循。只有在同時(shí)滿足步驟420和430的條件時(shí),才產(chǎn)生門鈴事務(wù)的指定中斷向量。圖5例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的映射寄存器的框圖500。為了清楚例示起見,圖5示出了在本發(fā)明的一個(gè)實(shí)施例中的MS1-X映射寄存器510到門鈴寄存器530的映射520。在本發(fā)明的一個(gè)實(shí)施例中,MS1-X映射寄存器510具有諸個(gè)可編程位,它們表示門鈴寄存器530的每個(gè)位的MS1-X映射。例如,在本發(fā)明的一個(gè)實(shí)施例中,門鈴寄存器530的位O的MS1-X映射512可被編程以映射至MS1-X向量3。在本發(fā)明的一個(gè)實(shí)施例中,表示門鈴寄存器530的位O的MS1-X映射512所需的位數(shù)取決于將被發(fā)送至另一設(shè)備/系統(tǒng)250的唯一 MS1-X向量的總數(shù)。例如,在本發(fā)明的一個(gè)實(shí)施例中,如果存在可被發(fā)送至另一設(shè)備/系統(tǒng)250的8個(gè)不同的MS1-X向量,則MS1-X映射寄存器510使用三個(gè)位來(lái)表示門鈴寄存器530的每個(gè)位到特定MS1-X向量的映射。三個(gè)位被編程為OOOb來(lái)表示到MS1-X向量0538的映射,被編程為OOlb來(lái)表示到MS1-X向量1536的映射,以此類推。在本發(fā)明的一個(gè)實(shí)施例中,門鈴寄存器530的位O的MS1-X映射512的三個(gè)位被編程為Ollb以表示位O被映射至MS1-X向量3532。本領(lǐng)域普通技術(shù)人員將容易地理解,可使用其他方法來(lái)編程MS1-X映射寄存器510的位而不影響本發(fā)明的實(shí)現(xiàn)。MS1-X映射寄存器510允許門鈴寄存器530的每個(gè)位被編程以映射至任何可用的MS1-X向量。在本發(fā)明的一個(gè)實(shí)施例中,例如,門鈴寄存器530的位8可被編程為映射至MS1-X向量I 536。與具有到MS1-X向量的映射的固定分配的現(xiàn)有技術(shù)門鈴寄存器105不同,在集成非透明橋設(shè)計(jì)中,MS1-X映射寄存器510為軟件或固件提供了用于動(dòng)態(tài)地修改門鈴位到MS1-X向量的映射的靈活方法。圖4中所示的MS1-X向量的數(shù)量不意味著是限制性的,并且集成NTB設(shè)備205可支持任何數(shù)量的中斷向量。在本發(fā)明的另一實(shí)施例中,映射寄存器將另一類型的中斷而不是MS1-X中斷映射至門鈴寄存器530的位。圖6例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的集成NTB設(shè)備205的存儲(chǔ)器映射的框圖600。在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)在現(xiàn)有的PCI快速端口上操作集成NTB設(shè)備205時(shí),存在基址寄存器器(BAR),另一設(shè)備/系統(tǒng)250可使用基址寄存器(BAR)來(lái)訪問(wèn)集成NTB設(shè)備205中的寄存器。在本發(fā)明的一個(gè)實(shí)施例中,這些寄存器位于主存儲(chǔ)器240的MMIO區(qū)域中并且被稱為次BAR。在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)另一設(shè)備/系統(tǒng)250連接至集成NTB設(shè)備205的NTB222時(shí),另一設(shè)備/系統(tǒng)250能夠讀取和寫入作為NTB222 —部分的寄存器。為此,在本發(fā)明的一個(gè)實(shí)施例中,集成NTB設(shè)備205為主和次BAR兩者提供足夠的麗IO空間。例如,在本發(fā)明的一個(gè)實(shí)施例中,主BAR與次BAR尋址相同的MMIO寄存器,并且可具有相同的尺寸。在本發(fā)明的一個(gè)實(shí)施例中,主和次BAR可具有16位、32位或任何其他數(shù)量的位的尺寸。在本發(fā)明的一個(gè)實(shí)施例中,次BAR具有可由枚舉軟件或固件來(lái)讀取以確定集成NTB設(shè)備205中的次BAR所需的存儲(chǔ)器量的固定數(shù)量的只讀位和固定數(shù)量的讀一寫位。在本發(fā)明的一個(gè)實(shí)施例中,集成NTB設(shè)備205具有將主BAR尺寸指示為主BAR和次BAR的尺寸的組合的邏輯。例如,在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)主和次BAR都具有32千字節(jié)(KB)尺寸時(shí),由集成NTB設(shè)備205指示的主BAR的尺寸為64千字節(jié)。通過(guò)這樣,允許集成NTB設(shè)備205為主和次BAR兩者分配足夠的存儲(chǔ)器。在本發(fā)明的一個(gè)實(shí)施例中,處理核210檢查是否存在到主BAR的訪問(wèn)(610),以及如果存在,則將訪問(wèn)的地址映射至主存儲(chǔ)器240中屬于主和次BAR的組合的64千字節(jié)中的低32千字節(jié),該低32千字節(jié)被示出為主BARO寄存器650。在本發(fā)明的一個(gè)實(shí)施例中,主BARO基址652可被分配在主存儲(chǔ)器240中的任何位置。在620,另一設(shè)備/系統(tǒng)250檢查是否存在到次BAR的訪問(wèn),如果存在,則在630中轉(zhuǎn)換該訪問(wèn)的地址并將該訪問(wèn)的地址映射至主存儲(chǔ)器240的高32千字節(jié),該高32千字節(jié)被示出為次BARO寄存器640。在本發(fā)明的一個(gè)實(shí)施例中,次BARO基址654被設(shè)置為主BARO基址652和主BARO的真實(shí)尺寸(不是報(bào)告尺寸)之和。在本發(fā)明的一個(gè)實(shí)施例中,主和次BAR的分別映射有助于確保寄存器僅對(duì)應(yīng)當(dāng)看見相應(yīng)的寄存器的端口可見。在本發(fā)明的一個(gè)實(shí)施例中,在處理核210上運(yùn)行的軟件查看到主BAR的尺寸被報(bào)告為主BARO的尺寸和次BARO的尺寸。圖7例示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于實(shí)現(xiàn)本文中公開的方法的系統(tǒng)700。系統(tǒng)700包括但不限于桌面計(jì)算機(jī)、膝上型計(jì)算機(jī)、上網(wǎng)本、筆記本計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、服務(wù)器、工作站、蜂窩電話、移動(dòng)計(jì)算設(shè)備、因特網(wǎng)設(shè)備或任何其他類型的計(jì)算設(shè)備。在另一實(shí)施例中,用于實(shí)現(xiàn)本文中公開的方法的系統(tǒng)700可以是片上系統(tǒng)式(SOC)系統(tǒng)。處理器710具有用于執(zhí)行系統(tǒng)700的指令的處理核712。處理核712包括但不限于用于取得指令的預(yù)取邏輯、用于解碼指令的解碼邏輯、用于執(zhí)行指令的執(zhí)行邏輯等。處理器710具有用于高速緩存系統(tǒng)700的指令和/或數(shù)據(jù)的高速緩存存儲(chǔ)器716。在本發(fā)明的另一實(shí)施例中,高速緩存存儲(chǔ)器716包括但不限于一級(jí)、二級(jí)和三級(jí)高速緩存存儲(chǔ)器、或者處理器710內(nèi)的任何其他配置的高速緩存存儲(chǔ)器。存儲(chǔ)器控制中樞(MCH) 714執(zhí)行使得處理器710具有訪問(wèn)包括易失性存儲(chǔ)器730和/或非易失性存儲(chǔ)器732的存儲(chǔ)器734并與之進(jìn)行通信的功能。易失性存儲(chǔ)器732包括但不限于同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SDRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、RAMBUS動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(RDRAM)、和/或任何其他類型的隨機(jī)存取存儲(chǔ)器設(shè)備。非易失性存儲(chǔ)器734包括但不限于=NAND閃存、相變存儲(chǔ)器(PCM)、只讀存儲(chǔ)器(ROM)、電可擦可編程只讀存儲(chǔ)器(EEPR0M)、或任何其他類型的非易失性存儲(chǔ)器設(shè)備。存儲(chǔ)器730存儲(chǔ)將由處理器710執(zhí)行的信息和指令。存儲(chǔ)器730還可在處理器710執(zhí)行指令的同時(shí)存儲(chǔ)臨時(shí)變量或其他中間信息。芯片組720經(jīng)由點(diǎn)對(duì)點(diǎn)(PtP)接口 717和722與處理器710連接。芯片組720使得處理器710能連接至系統(tǒng)700中的其他模塊。在本發(fā)明的一個(gè)實(shí)施例中,接口 717和722根據(jù)諸如Intel "決通互連(QPI)等PtP通信協(xié)議進(jìn)行操作。芯片組720連接至顯示設(shè)備740,該顯示設(shè)備包括但不限于液晶顯示器(IXD)、陰極射線管(CRT)顯示器、或任何其他形式的視覺(jué)顯示設(shè)備。另外,芯片組720連接至一條或多條總線750和755,這些總線互聯(lián)各個(gè)模塊774、760、762、764和766。如果總線速度或通信協(xié)議中存在失配,則總線750和755可經(jīng)由總線橋772互聯(lián)在一起。芯片組720與非易失性存儲(chǔ)器760、大容量存儲(chǔ)設(shè)備762、鍵盤/鼠標(biāo)764和網(wǎng)絡(luò)接口 766耦合,但不限于此。在一個(gè)實(shí)施例中,大容量存儲(chǔ)設(shè)備762包括但不限于固態(tài)驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、通用串行閃存驅(qū)動(dòng)器、或任何其他形式的計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)介質(zhì)。網(wǎng)絡(luò)接口 766是通過(guò)使用任何類型的公知網(wǎng)絡(luò)接口標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)的,這些標(biāo)準(zhǔn)包括但不限于以太網(wǎng)接口、通用串行(USB)接口、外圍組件互連(PCI)快速接口、無(wú)線接口和/或任何其他合適類型的接口。無(wú)線接口根據(jù)IEEE802. 11標(biāo)準(zhǔn)及其相關(guān)系列、家庭插座AV(HPAV)、超寬帶(UWB)、藍(lán)牙、WiMax或任何其他形式的無(wú)線通信協(xié)議來(lái)操作,但不限于此。雖然圖7中所示的模塊被描繪為系統(tǒng)700內(nèi)的不同塊,但是這些塊中的一些塊所執(zhí)行的功能可被集成在單個(gè)半導(dǎo)體電路內(nèi),或者可使用兩個(gè)或更多個(gè)不同的集成電路來(lái)實(shí)現(xiàn)。例如,盡管高速緩存存儲(chǔ)器716被描繪為處理器710內(nèi)的不同的塊,但高速緩存存儲(chǔ)器716可分別被集成到處理器核712中。在本發(fā)明的另一實(shí)施例中,系統(tǒng)700可包括一個(gè)以上的處理器/處理核。本文中公開的方法可用硬件、軟件、固件或其任何其他組合來(lái)實(shí)現(xiàn)。盡管描述了所公開的主題的實(shí)施例的示例,但是相關(guān)領(lǐng)域技術(shù)人員將容易理解,可替代地使用實(shí)現(xiàn)所公開的主題的許多其他方法。在之前的描述中,已描述了所公開的主題的各個(gè)方面。為了解釋的目的,闡述了特定數(shù)量、材料和配置,以便提供對(duì)本主題的全面理解。然而,受益于本公開的相關(guān)領(lǐng)域技術(shù)人員顯而易見的是本主題可在沒(méi)有特定細(xì)節(jié)的情況下實(shí)現(xiàn)。在其他實(shí)例中,眾所周知的特征、組件或模塊被省去、簡(jiǎn)化、組合、或分割,以免使本發(fā)明模糊。文本中所用的術(shù)語(yǔ)“可操作”意味著設(shè)備、系統(tǒng)、協(xié)議等在設(shè)備或系統(tǒng)處于掉電狀態(tài)下能操作或適于操作其所需功能。所公開的主題的各個(gè)實(shí)施例可以用硬件、固件、軟件、或其組合的方式來(lái)實(shí)現(xiàn),并且可通過(guò)參考或結(jié)合諸如指令、功能、過(guò)程、數(shù)據(jù)結(jié)構(gòu)、邏輯、應(yīng)用程序、模擬的設(shè)計(jì)表示或格式、仿真、和設(shè)計(jì)制造之類的程序代碼來(lái)描述,這些代碼在被機(jī)器訪問(wèn)時(shí)導(dǎo)致機(jī)器執(zhí)行任務(wù)、定義抽象數(shù)據(jù)類型或低級(jí)硬件上下文、或產(chǎn)生結(jié)果。附圖中所示的技術(shù)可以是通過(guò)使用存儲(chǔ)在諸如通用計(jì)算機(jī)或計(jì)算設(shè)備上并在其上執(zhí)行的代碼和數(shù)據(jù)來(lái)實(shí)現(xiàn)的。此類計(jì)算設(shè)備通過(guò)使用諸如機(jī)器可讀存儲(chǔ)介質(zhì)(例如,磁盤;光盤;隨機(jī)存取存儲(chǔ)器;只讀存儲(chǔ)器;閃存設(shè)備;相變存儲(chǔ)器)之類的機(jī)器可讀介質(zhì)和機(jī)器可讀通信介質(zhì)(例如,電、光、聲或其它形式的傳播信號(hào),諸如載波、紅外信號(hào)、數(shù)字信號(hào)等)來(lái)存儲(chǔ)和傳達(dá)(內(nèi)部地以及通過(guò)網(wǎng)絡(luò)與其他計(jì)算設(shè)備)代碼和數(shù)據(jù)。盡管已經(jīng)參考所示實(shí)施例描述所公開的主題,但不打算以限制的含義解釋本說(shuō)明書。對(duì)所公開主題相關(guān)領(lǐng)域中的技術(shù)人員顯而易見的所示實(shí)施例的各種修改以及本主題的其它實(shí)施例被認(rèn)為落在所公開的主題的范圍內(nèi)。
權(quán)利要求
1.一種裝置,包括非透明橋,經(jīng)由根端口與設(shè)備耦合;以及與非透明橋耦合以保持將經(jīng)由根端口被發(fā)送至所述設(shè)備的多個(gè)中斷信號(hào)的順序的邏輯。
2.如權(quán)利要求1所述的裝置,其特征在于,所述用以保持將經(jīng)由根端口被發(fā)送至所述設(shè)備的多個(gè)中斷信號(hào)的順序的邏輯用于確定門鈴事務(wù)是否是將從傳輸隊(duì)列中下一個(gè)被取出;確定與所述門鈴事務(wù)相關(guān)聯(lián)的門鈴寄存器是否已被更新;以及響應(yīng)于確定所述門鈴是將從傳輸隊(duì)列中下一個(gè)被取出以及確定與所述門鈴事務(wù)相關(guān)聯(lián)的門鈴寄存器是否已被更新,產(chǎn)生多個(gè)中斷信號(hào)中的一個(gè)。
3.如權(quán)利要求1所述的裝置,其特征在于,多個(gè)中斷信號(hào)包括傳統(tǒng)中斷、消息信號(hào)中斷(MSI)以及擴(kuò)展MSI (MS1-X)中的至少一個(gè)。
4.如權(quán)利要求1所述的裝置,其特征在于,進(jìn)一步包括多個(gè)配置寄存器,其中所述門鈴寄存器是多個(gè)配置寄存器中的一個(gè)。
5.如權(quán)利要求1所述的裝置,其特征在于,多個(gè)配置寄存器包括映射寄存器,并且其中映射寄存器用于指示所述門鈴寄存器的每個(gè)位與多個(gè)MS1-X向量中的相應(yīng)一個(gè)的映射。
6.如權(quán)利要求1所述的裝置,其特征在于,所述裝置能根據(jù)外圍組件接口快速(PCIe)規(guī)范操作。
7.如權(quán)利要求1所述的裝置,其特征在于,還包括處理核,其中所述邏輯是所述處理核的一部分。
8.如權(quán)利要求7所述的裝置,其特征在于,進(jìn)一步包括存儲(chǔ)器,與處理核和非透明橋耦合,其中所述處理核用于分配存儲(chǔ)器的連續(xù)部分,所述存儲(chǔ)器的連續(xù)部分包括與非透明橋相關(guān)聯(lián)的主基址寄存器和與所述設(shè)備相關(guān)聯(lián)的次基址寄存器。
9.一種系統(tǒng),包括存儲(chǔ)器;處理核;根聯(lián)合體,與所述處理核、存儲(chǔ)器和總線耦合;端口,位于所述總線之上,作為非透明橋來(lái)操作,所述非透明橋經(jīng)由通信鏈路與具有根端口的設(shè)備耦合,其中所述處理核將與所述設(shè)備相關(guān)聯(lián)的非透明橋的次側(cè)映射至與非透明橋的主側(cè)相關(guān)聯(lián)的存儲(chǔ)器的存儲(chǔ)器映射輸入輸出(MMIO)區(qū)域。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述將與所述設(shè)備相關(guān)聯(lián)的非透明橋的次側(cè)映射至與所述非透明橋的主側(cè)相關(guān)聯(lián)的存儲(chǔ)器的MMIO區(qū)域的處理核用于為主基址寄存器和次基址寄存器分配所述存儲(chǔ)器的連續(xù)區(qū)域。
11.如權(quán)利要求10所述的裝置,其特征在于,所述處理核進(jìn)一步用于將所述主基址寄存器的尺寸報(bào)告為所述存儲(chǔ)器的所述連續(xù)區(qū)域的尺寸。
12.如權(quán)利要求11所述的裝置,其特征在于,所述設(shè)備是另一非透明橋設(shè)備和根端口設(shè)備中的一個(gè)。
13.如權(quán)利要求9所述的裝置,其特征在于,還包括中斷產(chǎn)生邏輯,與所述非透明橋耦合,用于保持將經(jīng)由通信鏈路發(fā)送至所述設(shè)備的多個(gè)中斷信號(hào)的順序。
14.如權(quán)利要求9所述的裝置,其特征在于,進(jìn)一步包括多個(gè)配置寄存器,并且其中所述用于保持將經(jīng)由通信鏈路發(fā)送至所述設(shè)備的多個(gè)中斷信號(hào)的順序的中斷產(chǎn)生邏輯用于 確定門鈴事務(wù)是否將從傳輸隊(duì)列中下一個(gè)被取出; 確定與所述門鈴事務(wù)相關(guān)聯(lián)的門鈴寄存器是否已被更新;以及 響應(yīng)于確定所述門鈴將從傳輸隊(duì)列下一個(gè)被取出以及確定與所述門鈴事務(wù)相關(guān)聯(lián)的門鈴寄存器是否已被更新,產(chǎn)生所述多個(gè)中斷信號(hào)中的一個(gè)。
15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述多個(gè)配置寄存器包括映射寄存器,并且其中所述映射寄存器用于指示所述門鈴寄存器的每個(gè)位與多個(gè)向量中的相應(yīng)一個(gè)的映射。
16.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述多個(gè)向量包括傳統(tǒng)中斷、消息信號(hào)中斷(MSI)以及擴(kuò)展MSI (MS1-X)中的至少一個(gè)。
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述系統(tǒng)能根據(jù)外圍組件接口快速(PCIe)規(guī)范操作。
18.—種方法,包括 便于對(duì)門鈴寄存器的每個(gè)位與多個(gè)向量中的相應(yīng)一個(gè)的映射的動(dòng)態(tài)修改,其中所述映射至少部分地基于映射寄存器。
19.如權(quán)利要求18所述的方法,其特征在于,所述映射寄存器包括與所述門鈴寄存器的每個(gè)位相關(guān)聯(lián)的一個(gè)或多個(gè)位,所述方法進(jìn)一步包括 對(duì)與所述門鈴寄存器的每個(gè)位相關(guān)聯(lián)的所述一個(gè)或多個(gè)位編程,以設(shè)置所述門鈴寄存器的每個(gè)位與所述多個(gè)向量中的相應(yīng)一個(gè)的映射。
20.如權(quán)利要求19所述的方法,其特征在于,所述多個(gè)向量包括傳統(tǒng)中斷、消息信號(hào)中斷(MSI)以及擴(kuò)展MSI (MS1-X)中的至少一個(gè)。
21.如權(quán)利要求18所述的方法,其特征在于,還包括 將主基址寄存器的尺寸指不為所述主基址寄存器的尺寸和次基址寄存器的尺寸之和。
22.如權(quán)利要求18所述的方法,其特征在于,還包括 保持將經(jīng)由根端口發(fā)送至設(shè)備的多個(gè)中斷信號(hào)的順序。
23.如權(quán)利要求22所述的方法,其特征在于,所述保持將經(jīng)由根端口發(fā)送至設(shè)備的多個(gè)中斷信號(hào)的順序包括 確定門鈴事務(wù)是否將從傳輸隊(duì)列中下一個(gè)被取出; 確定與所述門鈴事務(wù)相關(guān)聯(lián)的門鈴寄存器是否已被更新;以及 響應(yīng)于確定所述門鈴將從傳輸隊(duì)列下一個(gè)被取出以及確定與所述門鈴事務(wù)相關(guān)聯(lián)的所述門鈴寄存器是否已被更新,產(chǎn)生所述多個(gè)中斷信號(hào)中的一個(gè)。
全文摘要
一種用于改善集成非透明橋設(shè)備(NTB)的操作的方法和系統(tǒng),集成非透明橋設(shè)備(NTB)耦合至另一NTB設(shè)備或根端口設(shè)備。集成NTB設(shè)備具有用于保持將被發(fā)送至遠(yuǎn)程根端口或NTB設(shè)備的中斷的順序的邏輯。集成NTB設(shè)備為與集成NTB設(shè)備相關(guān)聯(lián)的主基址寄存器0和與遠(yuǎn)程N(yùn)TB設(shè)備相關(guān)聯(lián)的次BAR0兩者分配存儲(chǔ)器的連續(xù)部分。集成NTB設(shè)備具有將主BAR0的尺寸報(bào)告為主BAR0的尺寸和次BAR0的尺寸的組合尺寸的邏輯。集成NTB設(shè)備便于基于映射寄存器的多個(gè)中斷向量中的相應(yīng)的一個(gè)來(lái)動(dòng)態(tài)地修改門鈴寄存器的每個(gè)位的映射。
文檔編號(hào)G06F15/163GK103038758SQ201180038026
公開日2013年4月10日 申請(qǐng)日期2011年5月4日 優(yōu)先權(quán)日2010年6月2日
發(fā)明者A·W·格里格斯 申請(qǐng)人:英特爾公司