日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

通過非透明橋向PCIe集群中的計(jì)算資源傳送MSI-X中斷的方法和裝置的制造方法

文檔序號:10628104閱讀:309來源:國知局
通過非透明橋向PCIe集群中的計(jì)算資源傳送MSI-X中斷的方法和裝置的制造方法
【專利摘要】一種初始化裝置。所述裝置包括管理I/O設(shè)備控制器,所述管理I/O設(shè)備控制器用于管理耦合到PCIe(PCI Express,PCIe)交換網(wǎng)絡(luò)的多個I/O設(shè)備的初始化。所述管理I/O設(shè)備控制器用于接收注冊第一工作者計(jì)算資源的目標(biāo)中斷寄存器地址的請求,其中所述目標(biāo)中斷寄存器地址與耦合到所述PCIe交換網(wǎng)絡(luò)的第一I/O設(shè)備生成的第一中斷關(guān)聯(lián)。所述管理I/O設(shè)備控制器的映射模塊用于將所述目標(biāo)中斷寄存器地址映射到一個域的映射中斷寄存器地址,所述第一I/O設(shè)備駐留在所述域中。翻譯中斷寄存器表包括所述域中的多個映射中斷寄存器地址,所述多個映射中斷寄存器地址與多個工作者計(jì)算資源中的多個目標(biāo)中斷寄存器地址關(guān)聯(lián)。
【專利說明】通過非透明橋向PC I e集群中的計(jì)算資源傳送MS1-X中斷的方法和裝置
[0001 ] 背景
[0002]本發(fā)明要求2013年11月18日遞交的發(fā)明名稱為“通過非透明橋向PCIe集群中的計(jì)算資源傳送MS1-X中斷的方法和裝置(METHOD AND APPARATUS FOR DELIVERING MS1-XINTERRUPTS THROUGH NON-TRANSPARENT BRIDGES TO COMPUTING RESOURCES IN PCIECLUSTERS)”的第14/083,206號美國非臨時申請案的在先申請優(yōu)先權(quán),該在先申請的內(nèi)容以引入的方式并入本文本中。
[0003]背景
[0004]作為PCI(外圍部件互連,PeripheralComponent Interconnect)技術(shù)的后繼者,PCIe(PCI Express,PCIe)在PC和服務(wù)器內(nèi)部署時是中央處理器(central processingunit,CPU)及其外圍設(shè)備之間使用最廣泛的互連。PCIe提供高吞吐量、低延遲、基于分組和分組交換互連技術(shù)。PCIe目前大多數(shù)部署在單個殼體(S卩,服務(wù)器和PC)內(nèi),主要部署在印刷電路板(printedcircuit board,PCB)級處。PCIe以及所有它的屬性和優(yōu)點(diǎn)顯然能夠成為諸如以太網(wǎng)(Ethernet,ETH)和Inf iniBand( Inf iniBand,IB)之類的傳統(tǒng)數(shù)據(jù)中心互連技術(shù)的靈活且有成本效益的替代選擇。
[0005]例如,單個PCIe鏈路可以擴(kuò)展到256Gbps(吉比特每秒),其中每交換機(jī)一跳的延遲大約為130納秒。鏈路的帶寬可以靈活配置,從I到16個通道,其中通道數(shù)必須是2的冪,每個通道為8Gbps(截止第三代PCIe技術(shù))WCIe交換機(jī)能夠以不同速度(S卩,通道數(shù)目)互連鏈路,而且可以動態(tài)重新配置每條鏈路的通道數(shù)(即,交換機(jī)端口)。
[0006]PCIe技術(shù)提供與支持該技術(shù)的基于大量不同PCIe集合的1/0設(shè)備共享的硬件級資源。該技術(shù)本身在服務(wù)器內(nèi)廣泛使用,使得大多數(shù)最新的CPU已經(jīng)將PCIe內(nèi)置在芯片中,因此不需要在CPU和外圍設(shè)備之間連接的任何額外芯片組。這樣,基于PCIe互連的集群或數(shù)據(jù)中心,由于系統(tǒng)中所需部件的數(shù)目和類型較少,將實(shí)現(xiàn)成本效益極大提高。另外,與ETH和IB相比而言,PCIe交換機(jī)的功耗每Gbps減少幾倍,進(jìn)一步有助于提高這種系統(tǒng)的成本效益。
[0007]根據(jù)功能,除了硬件級資源虛擬化,該技術(shù)還提供RDMA(遠(yuǎn)程直接數(shù)據(jù)訪問,Remote Direct Memory Access)功能,使其成為高速、低延遲CPU到CPU通信的可實(shí)行方案。PCIe還使用基于內(nèi)置信用的流控,從而在硬件級提供可靠數(shù)據(jù)傳輸,并且需要更“苗條”的軟件棧。該技術(shù)還支持網(wǎng)絡(luò)的走線以跨越較大距離,并且足夠靈活以支持不同的網(wǎng)絡(luò)拓?fù)?。存在若干具有低成本適配器和電纜的成熟方案,使其成為潛在的具有成本效益的數(shù)據(jù)中心互連。
[0008]PCIe技術(shù)的另一大優(yōu)點(diǎn)在于它的標(biāo)準(zhǔn)化組織(S卩,PC1-SIG)只定義協(xié)議和報文格式。也就是說,實(shí)施PCIe的供應(yīng)商在它們設(shè)備內(nèi)部(例如,交換機(jī)、端點(diǎn)等)自由實(shí)施任意功能。因此,PCIe提供較大程度的靈活性和潛力以支持其它數(shù)據(jù)中心互連技術(shù)中缺失的應(yīng)用的不同功能。
[0009 ]具體而言,PCI e架構(gòu)是一種點(diǎn)到點(diǎn)拓?fù)?,其中串行鏈路將每個設(shè)備連接到根主機(jī)。PCIe設(shè)備經(jīng)過邏輯互連或鏈路進(jìn)行通信。鏈路通過兩個PCIe端口之間的信道提供點(diǎn)到點(diǎn)通信。這允許兩端發(fā)送和/或接收普通PCIe請求(例如,配置讀/寫、I/O讀/寫、存儲器讀/寫等)和中斷(1見^、]\^1、]^1-父等)。
[0010]在CPU及其外圍設(shè)備之間的通信中典型應(yīng)用PCIe時,中斷的初始化提供將存儲器地址編程為對應(yīng)外圍設(shè)備處的(例如,中斷處理程序的)目的地址。初始化允許中斷從外圍設(shè)備傳送給CPU以進(jìn)行處理。當(dāng)所有外圍設(shè)備和CPU都位于一臺計(jì)算機(jī)內(nèi)時,CPU可以適當(dāng)?shù)卦谥袛喑跏蓟陂g編程它的外圍設(shè)備。然而,當(dāng)擴(kuò)展PCIe作為數(shù)據(jù)中心的部件之間的統(tǒng)一互連技術(shù)使用時,中斷初始化是有問題的,因?yàn)樵谠O(shè)備處編程中斷的CPU可能不知道正確的地址。在這種情況下,初始化將失敗。
[0011]當(dāng)PCIe作為數(shù)據(jù)中心的部件之間的互連技術(shù)使用時,在多個獨(dú)立CI3U中的現(xiàn)有PCIe設(shè)備中提供中斷初始化將是有利的。

【發(fā)明內(nèi)容】

[0012]一種初始化裝置。所述裝置包括管理I/O設(shè)備控制器,所述管理I/O設(shè)備控制器用于管理耦合到PCIe(PCI Express,PCIe)交換網(wǎng)絡(luò)的多個I/O設(shè)備的初始化。所述管理I/O設(shè)備控制器用于接收注冊第一工作者計(jì)算資源的目標(biāo)中斷寄存器地址的請求,其中所述目標(biāo)中斷寄存器地址與耦合到所述PCIe交換網(wǎng)絡(luò)的第一 I/O設(shè)備生成的第一中斷關(guān)聯(lián)。所述管理I/O設(shè)備控制器的映射模塊用于將所述目標(biāo)中斷寄存器地址映射到一個域的映射中斷寄存器地址,所述第一I/O設(shè)備駐留在所述域中。翻譯中斷寄存器表包括所述域中的多個映射中斷寄存器地址,所述多個映射中斷寄存器地址與多個工作者計(jì)算資源的多個目標(biāo)中斷寄存器地址關(guān)聯(lián)。
[0013]在其它實(shí)施例中,公開了一種初始化中斷的系統(tǒng)。所述系統(tǒng)包括多個工作者計(jì)算資源。多個目標(biāo)中斷寄存器與所述多個工作者計(jì)算資源關(guān)聯(lián),其中所述目標(biāo)中斷寄存器包括目的和/或中斷寄存器地址,每個目的和/或中斷寄存器地址與對應(yīng)的中斷和對應(yīng)的中斷處理例程關(guān)聯(lián)。所述系統(tǒng)包括位于所述多個工作者計(jì)算資源上的多個I/O設(shè)備(例如,外圍設(shè)備)。所述系統(tǒng)包括PCIe交換網(wǎng)絡(luò),所述PCIe交換網(wǎng)絡(luò)用于實(shí)現(xiàn)所述多個I/O設(shè)備和所述多個工作者計(jì)算資源之間的通信,所有這些都耦合到所述PCIe交換網(wǎng)絡(luò)。所述系統(tǒng)包括管理I/O設(shè)備控制器或鏈路控制器,所述管理I/O設(shè)備控制器或鏈路控制器用于部分管理所述多個I/O設(shè)備的初始化。所述系統(tǒng)包括翻譯中斷寄存器表,所述翻譯中斷寄存器表包括與所述多個工作者計(jì)算資源的多個目標(biāo)中斷寄存器地址關(guān)聯(lián)的多個映射中斷寄存器地址。所述翻譯中斷寄存器表與所述管理I/O設(shè)備控制器關(guān)聯(lián)并受其控制。另外,所述管理I/O設(shè)備控制器用于接收注冊第一工作者計(jì)算資源的第一目標(biāo)中斷寄存器的目標(biāo)中斷寄存器地址的請求,其中所述目標(biāo)中斷注冊地址與耦合到所述PCIe交換網(wǎng)絡(luò)的第一 I/O設(shè)備生成的第一中斷關(guān)聯(lián)。所述系統(tǒng)包括所述管理I/O設(shè)備控制器的映射模塊,所述映射模塊用于將所述目標(biāo)中斷寄存器地址映射到映射中斷寄存器地址。
[0014]在其它實(shí)施例中,公開了一種初始化中斷的方法。所述方法包括接收注冊第一工作者計(jì)算資源的目標(biāo)和/或目的中斷寄存器地址的請求。所述目的或目標(biāo)中斷寄存器地址與耦合到PCIe(PCI ExpressPCIe)交換網(wǎng)絡(luò)的第一I/O設(shè)備生成的第一中斷關(guān)聯(lián)。所述方法包括將所述目標(biāo)中斷寄存器地址映射到一個域的映射中斷寄存器地址,所述第一I/O設(shè)備駐留在所述域中。所述方法包括向所述第一I/O設(shè)備發(fā)送指令以注冊所述映射中斷寄存器地址,所述映射中斷寄存器地址與所述第一 I/O設(shè)備的對應(yīng)I/O中斷向量表中的所述第一中斷關(guān)聯(lián)。
[0015]在一項(xiàng)實(shí)施例中,公開了一種計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括耦合到存儲器的處理器,所述存儲器具有存儲在其中的指令,如果所述計(jì)算機(jī)系統(tǒng)執(zhí)行所述指令,使得所述計(jì)算機(jī)執(zhí)行一種初始化中斷的方法。所述方法包括接收注冊第一工作者計(jì)算資源的目標(biāo)和/或目的中斷寄存器地址的請求。所述目的或目標(biāo)中斷寄存器地址與耦合到PCIe(PCIExpressPCIe)交換網(wǎng)絡(luò)的第一 I/O設(shè)備生成的第一中斷關(guān)聯(lián)。所述方法包括將所述目標(biāo)中斷寄存器地址映射到一個域的映射中斷寄存器地址,所述第一I/O設(shè)備駐留在所述域中。所述方法包括向所述第一 I/O設(shè)備發(fā)送指令以注冊所述映射中斷寄存器地址,所述映射中斷寄存器地址與所述第一 I/O設(shè)備的對應(yīng)I/O中斷向量表中的所述第一中斷關(guān)聯(lián)。
[0016]在一些實(shí)施例中,公開了一種包括有形、非瞬時性計(jì)算機(jī)可讀存儲介質(zhì)的裝置,所述計(jì)算機(jī)可讀存儲介質(zhì)具有存儲在其上的計(jì)算機(jī)可執(zhí)行指令,當(dāng)執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令時,使得所述計(jì)算機(jī)系統(tǒng)執(zhí)行初始化中斷的方法。所述方法包括接收注冊第一工作者計(jì)算資源的目標(biāo)和/或目的中斷寄存器地址的請求。所述目的或目標(biāo)中斷寄存器地址與耦合至IJPCIe(PCIEXpresS,PCIe)交換網(wǎng)絡(luò)的第一 I/O設(shè)備生成的第一中斷關(guān)聯(lián)。所述方法包括將所述目標(biāo)中斷寄存器地址映射到一個域的映射中斷寄存器地址,所述第一 I/O設(shè)備駐留在所述域中。所述方法包括向所述第一I/O設(shè)備發(fā)送指令以注冊所述映射中斷寄存器地址,所述映射中斷寄存器地址與所述第一 I/O設(shè)備的對應(yīng)I/O中斷向量表中的所述第一中斷關(guān)聯(lián)。
[0017]在閱讀下面在各種附圖中圖示的實(shí)施例的詳細(xì)說明后,所屬領(lǐng)域的普通技術(shù)人員將明白本發(fā)明的各種實(shí)施例的這些及其它目的和優(yōu)點(diǎn)。
【附圖說明】
[0018]附圖包含在并且構(gòu)成本說明書的一部分,其中相同的數(shù)字描繪相同的元件,【附圖說明】本發(fā)明的實(shí)施例,并且與描述內(nèi)容一起用于解釋本發(fā)明的原理。
[0019]圖1為根據(jù)本發(fā)明一項(xiàng)實(shí)施例的圖示如由多個I/O設(shè)備實(shí)施的多個工作者計(jì)算資源中的地址空間和管理I/o設(shè)備控制器中的地址空間之間關(guān)系的PCIe集群的方框圖,多個工作者計(jì)算資源和管理I/O設(shè)備控制器都耦合到PCIe交換網(wǎng)絡(luò)。
[0020]圖2為根據(jù)本發(fā)明一項(xiàng)實(shí)施例的通過PCIe適配器和管理鏈路CPU和I/O設(shè)備控制器實(shí)施的PCIe集群的方框圖,其中所述管理鏈路CPU和I/O設(shè)備控制器用于管理耦合到形成到PCIe集群的互連的PCIe(PCI Express,PCIe)交換網(wǎng)絡(luò)的多個I/O設(shè)備的初始化。
[0021]圖3為根據(jù)本發(fā)明一項(xiàng)實(shí)施例的用于初始化I/O設(shè)備中的中斷的中斷初始化控制器的方框圖,其中所述中斷可傳送給耦合到PCIe交換網(wǎng)絡(luò)的計(jì)算資源。
[0022]圖4為根據(jù)本發(fā)明一項(xiàng)實(shí)施例圖示通過管理I/O設(shè)備控制器初始化I/O設(shè)備中的中斷時的信息流程的信息流程圖,其中所述中斷可傳送給耦合到PCIe交換網(wǎng)絡(luò)的計(jì)算資源。
[0023]圖5為根據(jù)本發(fā)明一項(xiàng)實(shí)施例圖示如管理I/O設(shè)備控制器所實(shí)施的初始化I/O設(shè)備中的中斷的方法的流程圖,其中所述中斷可傳送給耦合到PCIe交換網(wǎng)絡(luò)的計(jì)算資源。
[0024]圖6描繪根據(jù)本發(fā)明一項(xiàng)實(shí)施例的適用于實(shí)施本方法的示例性計(jì)算機(jī)系統(tǒng)的方框圖。
【具體實(shí)施方式】
[0025]現(xiàn)將詳細(xì)地對本發(fā)明的各種實(shí)施例、附圖示出的示例做出參考。雖然會結(jié)合這些實(shí)施例進(jìn)行描述,但可以理解的是它們并不用于將本發(fā)明限制于這些實(shí)施例。相反,本發(fā)明公開旨在覆蓋可以包括在由所附權(quán)利要求書限定的本發(fā)明公開的精神和范圍內(nèi)的替代物、修改和等同物。另外,在以下本發(fā)明的詳細(xì)描述中,闡述了許多特定細(xì)節(jié)以便提供對本發(fā)明的透徹理解。然而,可以理解的是,實(shí)際應(yīng)用中,可以不包括本發(fā)明的這些特定細(xì)節(jié)。在其它實(shí)例中沒有詳細(xì)描述眾所周知的方法、流程、部件和電路,以免對本發(fā)明的各方面造成不必要地模糊。
[0026]因此,本發(fā)明各實(shí)施例提供將中斷(例如,消息中斷擴(kuò)展,還稱為“MSI_x”、MSI等)初始化并傳送給置于PCIe交換網(wǎng)絡(luò)集群中的非透明橋之后的計(jì)算資源。
[0027]圖1為根據(jù)本發(fā)明一項(xiàng)實(shí)施例的圖示如由多個I/O設(shè)備所實(shí)施的多個工作者計(jì)算資源中的地址空間和管理I/O設(shè)備控制器中的地址空間之間關(guān)系的PCIe集群100的方框圖,多個工作者計(jì)算資源和管理I/O設(shè)備控制器都耦合到PCIe交換網(wǎng)絡(luò)。
[0028]圖1示出了具有單個管理(還稱為鏈路)CPU的PCIe集群100,該管理CPU控制主交換網(wǎng)絡(luò)地址域(F)中的所有資源。在PCIe集群100中,存在多個位于NTB之后的工作者計(jì)算資源(例如,CPU),每個工作者計(jì)算資源具有它們自己的PCIe地址域(圖1中2個節(jié)點(diǎn)示例中的A和B)。具體而言,第一工作者計(jì)算資源201通過NTB 211耦合到PCIe交換網(wǎng)絡(luò);第二工作者計(jì)算資源206通過NTB 212耦合到PCIe交換網(wǎng)絡(luò)210。盡管只示出了兩個工作者資源,但本發(fā)明各實(shí)施例是可擴(kuò)展的,并且可以支持多個或N個工作者計(jì)算資源。
[0029]各個工作者計(jì)算資源與對應(yīng)的地址空間關(guān)聯(lián)。例如,工作者計(jì)算資源201具有地址空間A 205,工作者計(jì)算資源206具有地址空間B 209。地址空間包括配置為中斷寄存器地址的地址。這些中斷寄存器地址可以包含在中斷寄存器中,該中斷寄存器包括目的地址,合適的中斷處理程序?qū)⒅袛鄠魉徒o這些目的地址以進(jìn)行處理。
[0030]如圖所示,主PCIe交換網(wǎng)絡(luò)210用于以通信方式耦合多個設(shè)備(例如,計(jì)算資源、I/O設(shè)備等)。例如,多個PCIe I/O設(shè)備220A至220N耦合到PCIe交換網(wǎng)絡(luò)。PCIe在PCIe交換網(wǎng)絡(luò)210內(nèi)用作通信標(biāo)準(zhǔn)。具體而言,PCIe設(shè)備可以通過邏輯互連或鏈路與另一 PCIe設(shè)備通信,邏輯互連或鏈路包括兩個PCIe端口之間的點(diǎn)到點(diǎn)通信信道。通過這種方式,PCIe請求(例如,配置讀/寫、I/O讀/寫、存儲器讀/寫等)可以通過PCIe端口發(fā)送和接收。另外,INTx、MS1、MS1-X等中斷可通過PCIe傳送。
[0031]盡管每個PCIe I/O設(shè)備220A至220N可以位于對應(yīng)的計(jì)算資源處,但是每個I/O設(shè)備的管理由管理鏈路CPU和/或I/O設(shè)備控制器215執(zhí)行。各個I/O設(shè)備220A至220N能夠處理和生成中斷以向設(shè)備(例如,CPU)進(jìn)行傳送,該設(shè)備能夠接收中斷并耦合到PCIe交換網(wǎng)絡(luò)210。也就是說,I/O PCIe設(shè)備用于向任意設(shè)備(工作者計(jì)算資源等)傳送中斷,而不一定只用于向PCIe設(shè)備位于的計(jì)算資源傳送,該任意設(shè)備能夠接收中斷并耦合到PCIe交換網(wǎng)絡(luò)210。
[0032]具體而言,管理I/O設(shè)備控制器215用于管理耦合到PCIe(PCI Express,PCIe)交換網(wǎng)絡(luò)210的多個I/O設(shè)備220A至220N的初始化。具體地,管理I/O設(shè)備控制器215用于接收和初始化注冊第一工作者計(jì)算資源的目標(biāo)中斷寄存器地址的請求。目標(biāo)中斷寄存器地址與耦合到PCIe交換網(wǎng)絡(luò)210的第一 I/O設(shè)備生成的第一中斷關(guān)聯(lián)。這通過將目標(biāo)中斷寄存器地址映射到域中地址空間F 217中的映射中斷寄存器地址來完成,該域?qū)Φ谝籌/O設(shè)備和其它I/O設(shè)備可見,正如將在下面更詳細(xì)描述的一樣。因此,管理I/O設(shè)備控制器215協(xié)調(diào)中斷向第一 I/o設(shè)備的注冊。
[0033]圖2為根據(jù)本發(fā)明一項(xiàng)實(shí)施例的如通過一個或多個PCIe適配器和管理鏈路CPl^P/或I/o設(shè)備控制器270所實(shí)施的PCIe集群200的方框圖。如圖所示,PCIe集群200包括兩個設(shè)備或計(jì)算資源250和260。各個設(shè)備包括一個或多個I/O設(shè)備,例如存儲器、網(wǎng)絡(luò)接口卡(network interface card,NIC)、SATA RAID存儲控制器等。圖2僅出于說明目的而示出,并公開PCIe交換網(wǎng)絡(luò)的一個實(shí)施方式。本發(fā)明的其它實(shí)施例支持實(shí)施PCIe交換網(wǎng)絡(luò)的其它部件配置。
[0034]例如,PCIe集群200包括計(jì)算資源250,計(jì)算資源250包括CPU 252和存儲器253(例如,動態(tài)隨機(jī)存取存儲器,稱為“DRAM” )。計(jì)算資源250還包括兩個I/O設(shè)備、NIC以太網(wǎng)卡255和SATA內(nèi)存磁盤(例如RAID)控制器。各個I /0設(shè)備包括中斷向量表,其包括地址向量,其中每個向量與對應(yīng)的中斷關(guān)聯(lián)并指向中斷寄存器的地址,該中斷寄存器用于接收中斷并間接初始化中斷處理例程。例如,NIC 255包括IRQ中斷向量表256,SATA控制器257包括IRQ中斷向量表258。另外,PCIe集群200包括計(jì)算資源260,計(jì)算資源260包括CPU 262和存儲器263(例如,DRAM)。
[0035]PCIe交換網(wǎng)絡(luò)用于以通信方式將計(jì)算資源250和260耦合在一起。此外,PCIe交換網(wǎng)絡(luò)用于將位于各個計(jì)算資源250和260的I/O內(nèi)部設(shè)備耦合在一起。通過該方式,位于一個計(jì)算資源的I/O設(shè)備向耦合到PCIe交換網(wǎng)絡(luò)的其它計(jì)算資源發(fā)送中斷。
[0036]具體而言,在一項(xiàng)實(shí)施例中,PCIe交換網(wǎng)絡(luò)通過一個或多個PCIe適配器、PCIe交換機(jī)和管理鏈路CPU和/或I/O設(shè)備控制器270可實(shí)施。仍然可以使用其它部件來實(shí)施PCIe交換網(wǎng)絡(luò)。例如,各個設(shè)備250和260包括PCIe交換機(jī),該P(yáng)CIe交換機(jī)用于將PCIe消息路由到合適的PCIe信道和/或PCIe端口。例如,設(shè)備250包括PCIe交換機(jī)254,設(shè)備260包括PCIe交換機(jī)264,兩個交換機(jī)都用于將到達(dá)和來自內(nèi)部部件/設(shè)備的消息路由至其它網(wǎng)絡(luò)部件/設(shè)備。
[0037]PCIe交換機(jī)254和264與PCIe適配器一起工作以在網(wǎng)絡(luò)設(shè)備和這些設(shè)備的部件之間路由消息。例如,計(jì)算資源250包括PCIe適配器251,計(jì)算資源260包括PCIe適配器261。PCIe適配器251和261提供計(jì)算資源250和260之間的通信信道或鏈路,各個計(jì)算資源使用PCIe在單個計(jì)算資源的內(nèi)部設(shè)備之間進(jìn)行通信。也就是說,計(jì)算資源250和260之間的直接鏈路提供使用PCIe格式的通信,不需要經(jīng)過基于以太網(wǎng)的NIC卡,不需要將為PCIe格式化的消息翻譯到以太網(wǎng)以通過網(wǎng)絡(luò)傳送,然后也不需要重新翻譯回到PCIe以在目的計(jì)算資源處進(jìn)行內(nèi)部通信。
[0038]另外,根據(jù)本發(fā)明一項(xiàng)實(shí)施例,PCIe交換機(jī)254和264與管理鏈路CPU和/或I/O設(shè)備控制器215—起工作,管理鏈路CPU和/或I/O設(shè)備控制器215用于管理耦合到PCIe交換網(wǎng)絡(luò)的多個I/O設(shè)備和計(jì)算資源的初始化。具體而言,管理鏈路CPU和/或I/O設(shè)備控制器215用于將計(jì)算資源的目的地址映射到中斷寄存器中的映射中斷地址,該中斷寄存器由管理鏈路CPU和/或I/O設(shè)備控制器215管理,正如將在下面進(jìn)一步描述的一樣。
[0039]圖3為根據(jù)本發(fā)明一項(xiàng)實(shí)施例的用于初始化I/O設(shè)備中的中斷的中斷初始化控制器300的方框圖,其中所述中斷可傳送給耦合到PCIe交換網(wǎng)絡(luò)的計(jì)算資源。如圖所示,控制器300包括管理I/O設(shè)備控制器310、映射中斷寄存器320以及映射模塊330。
[0040]在各實(shí)施例中,管理I/O設(shè)備控制器310類似于圖1至2中示出的管理鏈路CPU和/或I/o設(shè)備控制器215。具體而言,管理I/O設(shè)備控制器310用于管理耦合到PCIe交換網(wǎng)絡(luò)的多個I/O設(shè)備的初始化。也就是說,管理I/O設(shè)備控制器310能夠通過PCIe交換網(wǎng)絡(luò)將工作者計(jì)算資源連接到I/O設(shè)備,該工作者計(jì)算資源不包括作為部件的I/O設(shè)備。具體來說,管理I/O設(shè)備控制器310用于在中斷I/O設(shè)備處注冊工作者計(jì)算資源的(例如,中斷寄存器的)目標(biāo)中斷寄存器地址。目標(biāo)中斷寄存器地址與第一中斷關(guān)聯(lián),該第一中斷在I/O設(shè)備處注冊。在成功注冊之后,在I/O設(shè)備處生成的相同中斷,在管理I/O設(shè)備控制器的幫助下,通過PCIe交換網(wǎng)絡(luò)經(jīng)過對應(yīng)的映射中斷寄存器地址傳送給目標(biāo)或目的中斷寄存器地址。
[0041 ]具體來說,中斷初始化控制器300包括映射模塊330。在一項(xiàng)實(shí)施例中,映射模塊330包含在管理I/O設(shè)備控制器300中并由其管理。映射模塊用于將對應(yīng)的工作者計(jì)算資源的目標(biāo)中斷寄存器地址映射到翻譯中斷寄存器表320中的映射中斷寄存器地址,該翻譯中斷寄存器表由管理I/O設(shè)備控制器310管理。具體來說,翻譯中斷寄存器表320包括多個映射中斷寄存器地址,其中這些地址與多個工作者計(jì)算資源的多個目標(biāo)或目的中斷寄存器地址關(guān)耳關(guān)。
[0042]例如,返回參考圖1,為了使連接到主PCIe交換網(wǎng)絡(luò)210的I/O設(shè)備(例如,220A至220N)向?qū)?yīng)的計(jì)算資源發(fā)送中斷(例如,MS1-x中斷),1/0設(shè)備必須能夠?qū)ぶ吩撃繕?biāo)計(jì)算資源的中斷寄存器地址。在一項(xiàng)實(shí)施方式中,映射模塊330用于提供該映射,并利用合適的映射編程對應(yīng)的NTB。也就是說,將目標(biāo)計(jì)算資源耦合到PCIe交換網(wǎng)絡(luò)210的NTB用于將工作者CPU的地址域中的目的或目標(biāo)中斷寄存器地址映射到多個I/O設(shè)備的域的映射中斷寄存器地址并為PCIe交換網(wǎng)絡(luò)210所知。
[0043]圖4至5共同示出了通信系統(tǒng)中I/O設(shè)備處的中斷初始化,該通信系統(tǒng)包括多個工作者計(jì)算資源、多個I/O設(shè)備、管理I/O設(shè)備控制器和PCIe交換網(wǎng)絡(luò),實(shí)現(xiàn)了系統(tǒng)中所有部件之間的通信。具體而言,圖4為根據(jù)本發(fā)明一項(xiàng)實(shí)施例圖示通過管理I/O設(shè)備控制器初始化I/O設(shè)備中的中斷時的信息流程的信息流程圖400,其中所述中斷可傳送給耦合到PCIe交換網(wǎng)絡(luò)的計(jì)算資源。中斷初始化通過將對應(yīng)的工作者計(jì)算資源的中斷寄存器的目標(biāo)中斷寄存器地址映射到與PCIe交換網(wǎng)絡(luò)關(guān)聯(lián)的映射中斷寄存器的映射中斷寄存器地址來完成。
[0044]圖5為根據(jù)本發(fā)明一項(xiàng)實(shí)施例圖示如由管理I/O設(shè)備控制器所實(shí)施的初始化I/O設(shè)備中的中斷的方法的流程圖500,其中所述中斷可傳送給耦合到PCIe交換網(wǎng)絡(luò)的計(jì)算資源。在一項(xiàng)實(shí)施例中,流程圖500圖示如由管理I/O設(shè)備控制器所實(shí)施的初始化I/O設(shè)備中的中斷的計(jì)算機(jī)實(shí)施方法,其中所述中斷可傳送給耦合到PCIe交換網(wǎng)絡(luò)的計(jì)算資源。在另一項(xiàng)實(shí)施例中,流程圖500在計(jì)算機(jī)系統(tǒng)內(nèi)實(shí)施,計(jì)算機(jī)系統(tǒng)包括處理器和耦合到處理器的存儲器,存儲器具有存儲在其中的指令,如果計(jì)算機(jī)系統(tǒng)執(zhí)行這些指令,使得系統(tǒng)執(zhí)行如由管理I/O設(shè)備控制器所實(shí)施的初始化I/O設(shè)備中的中斷的方法,其中該中斷可傳送給耦合到PCIe交換網(wǎng)絡(luò)的計(jì)算資源。在又一項(xiàng)實(shí)施例中,執(zhí)行該方法的指令存儲在非瞬時性計(jì)算機(jī)可讀存儲介質(zhì)上,該非瞬時性計(jì)算機(jī)可讀存儲介質(zhì)具有計(jì)算機(jī)可執(zhí)行指令,用于使得計(jì)算機(jī)系統(tǒng)執(zhí)行如由管理I/o設(shè)備控制器所實(shí)施的初始化I/O設(shè)備中的中斷的方法,其中該中斷可傳送給如流程圖500所概述的PCIe交換網(wǎng)絡(luò)的計(jì)算資源。在本發(fā)明的一些實(shí)施例中,流程圖500的操作在圖6的系統(tǒng)600和/或圖1至4的管理I/O設(shè)備控制器215內(nèi)實(shí)施。
[0045]如圖1、2和4所示,在一項(xiàng)實(shí)施例中,映射通過基地址寄存器420(BaseAddressRegister,BAR)來完成。BAR 420分配有足夠大的地址空間(例如,64位地址空間)。因此,BAR用于將各個工作者計(jì)算資源上的中斷寄存器的目標(biāo)地址映射到對應(yīng)的映射中斷寄存器地址,由管理I/O設(shè)備控制器215管理。BAR的大小可以大于工作者計(jì)算資源處的多個中斷寄存器的大小,并且可以訪問工作者CHJ的地址域(例如,CPU的整個DRAM,用于將數(shù)據(jù)DMA復(fù)制到DRAM的任何位置中)中的額外資源。
[0046]對于中斷初始化和傳送,當(dāng)管理鏈路CPU和/或I/O設(shè)備控制器215能夠控制在PCIe交換網(wǎng)絡(luò)210的主側(cè)配置資源時,在主交換網(wǎng)絡(luò)側(cè)配置NTB的一個或多個BAR時,同樣在將工作者計(jì)算資源的對應(yīng)中斷寄存器中的目標(biāo)地址映射到這些一個或多個BAR時,工作者計(jì)算資源(例如,圖1的201和206)依賴于來自管理鏈路CPU和/或I/O設(shè)備控制器215的協(xié)助。另外,在配置和初始化PCIe設(shè)備220A至220A等I/O設(shè)備中的中斷時,圖1中的工作者計(jì)算資源201和206還依賴于管理鏈路CPU和/或I/O設(shè)備控制器215。
[0047]為了執(zhí)行這些任務(wù)的所有必要操作,在一項(xiàng)實(shí)施例中,涉及兩個部件。首先,工作者驅(qū)動器(未示出)在對應(yīng)的工作者計(jì)算資源201上運(yùn)行,主要向I/O設(shè)備提供讀和寫能力。其次,管理設(shè)備驅(qū)動器(未示出)在管理鏈路CPU和/或I/O設(shè)備控制器215上運(yùn)行,該管理設(shè)備驅(qū)動器用于執(zhí)行所有設(shè)備配置,以及設(shè)備初始化的主要部分。管理設(shè)備還配置代表工作者CPU的NTB。在一項(xiàng)實(shí)施例中,管理設(shè)備包括圖1至2的管理鏈路CPU和/或I/O設(shè)備控制器215。在一項(xiàng)實(shí)施例中,兩個部件通過某個信道(例如,PCIe門鈴、以太網(wǎng)等另一管理網(wǎng)絡(luò),等等)相互交換配置信息。
[0048]一般而言,中斷PCIe I/O設(shè)備具有可用的MS1-χ向量表,管理鏈路CPU和/或I/O設(shè)備控制器215(代表對應(yīng)的工作者計(jì)算資源,例如CPU 201)利用PCIe目的消息地址(S卩,中斷消息應(yīng)當(dāng)發(fā)往的地址,也就是說,給定(PU的中斷寄存器)、數(shù)據(jù)字段和標(biāo)記字段編程該MS1-X向量表。如圖4所示,中斷I/O PCIe I/O設(shè)備包括中斷向量表430。該表430只可用于在管理鏈路CPU和/或I/O設(shè)備控制器215上運(yùn)行的物理設(shè)備驅(qū)動器。因此,目的工作者計(jì)算資源201在沒有管理鏈路CPU和/或I/O設(shè)備控制器215的協(xié)助下無法直接將(它的中斷寄存器的)它的目的地址編程為中斷向量表430中的向量(例如,MS1-x向量)。此外,工作者計(jì)算資源201與管理鏈路CPU和/或設(shè)備控制器215—起工作以通過映射特征接收中斷。因此,如本發(fā)明各實(shí)施例所提供,來自主PCIe交換網(wǎng)絡(luò)的一個或多個I/O設(shè)備的中斷可通過耦合到PCIe交換網(wǎng)絡(luò)的NTB傳送給任何工作者計(jì)算資源。
[0049]在一項(xiàng)實(shí)施例中,中斷初始化通過將設(shè)備驅(qū)動器的中斷初始化部分從工作者計(jì)算資源201在功能上卸載到管理I/O設(shè)備控制器215來實(shí)施。也就是說,管理I/O設(shè)備控制器215編程代表工作者計(jì)算資源的中斷向量(例如,MS1-x)。這在510中執(zhí)行,其中流程圖500的方法包括接收注冊第一工作者計(jì)算資源201的工作者中斷寄存器410的目標(biāo)中斷寄存器地址的請求,其中目標(biāo)中斷寄存器地址與耦合到PCIe(PCI ExpreshPCIe)交換網(wǎng)絡(luò)210的第一I/O設(shè)備(未在圖4中示出)生成的第一中斷關(guān)聯(lián)。
[0050]具體而言,在圖4的操作I中,工作者計(jì)算資源201與管理I/O設(shè)備控制器215協(xié)調(diào),使得工作者計(jì)算資源201的中斷寄存器410的地址范圍可以映射到主PCIe交換網(wǎng)絡(luò)。這允許管理I/O設(shè)備控制器215準(zhǔn)確計(jì)算這些中斷寄存器在NTB的BAR處可用的映射結(jié)構(gòu)地址范圍中的地址。此外,工作者計(jì)算資源201還可指定其想要注冊的中斷的數(shù)目。
[0051]具體地,在流程圖500的520處,該方法包括將目標(biāo)中斷寄存器地址映射到一個域的映射中斷寄存器地址,第一I/O設(shè)備駐留在該域中。在一項(xiàng)實(shí)施例中,通過映射中斷寄存器420實(shí)例化該映射。
[0052 ] 一旦完成映射,執(zhí)行特定I /0設(shè)備(未在圖4中示出)處的中斷的注冊。具體而言,在流程圖500的530處,該方法包括使管理I/O設(shè)備控制器215向第一 I/O設(shè)備發(fā)送指令以注冊映射中斷寄存器地址,該映射中斷寄存器地址與第一 I/O設(shè)備的對應(yīng)I/O中斷向量表430中的第一中斷關(guān)聯(lián)。具體而言,在圖4的操作2a處,管理計(jì)算資源215與設(shè)備驗(yàn)證:1/0設(shè)備中存在足夠可用的中斷向量以注冊中斷(例如,將向量注冊到合適的映射中斷寄存器地址)。也就是說,該方法包括確定向量條目是否在I/O中斷向量表中可用于將第一中斷注冊到第一I/O設(shè)備,目的是將映射中斷寄存器地址作為第一向量存儲在I/O中斷向量表中。另外,管理I/O設(shè)備控制器215確定I/O設(shè)備是否用于生成第一中斷。
[0053]管理計(jì)算資源215獲取關(guān)于該檢查結(jié)果的通知。如果存在足夠可用的中斷向量,在圖4的操作2b處,管理I/O設(shè)備控制器215通知工作者計(jì)算資源201它的可用性。因此,在操作3處,工作者計(jì)算資源201在其存儲器450中為簿記創(chuàng)建必要的數(shù)據(jù)結(jié)構(gòu),還在接收第一中斷時創(chuàng)建標(biāo)識特定I/O設(shè)備和中斷(如果注冊多個中斷)的數(shù)據(jù)字段。
[0054]在圖4的操作4處,將對應(yīng)于中斷的中斷寄存器地址和數(shù)據(jù)字段的存儲器地址轉(zhuǎn)發(fā)給管理I/O設(shè)備控制器215,該中斷包含在工作者計(jì)算資源201的目標(biāo)中斷寄存器內(nèi)。具體而言,將對應(yīng)于工作者計(jì)算資源201處的中斷注冊的地址空間大小,以及目錄地址傳送給管理計(jì)算資源215。
[0055]在操作5處,管理I/O設(shè)備控制器215執(zhí)行將工作者計(jì)算資源201的目標(biāo)中斷地址映射到PCIe交換網(wǎng)絡(luò)的映射中斷地址。具體而言,管理I/O設(shè)備控制器215將該數(shù)據(jù)元素和先前計(jì)算和映射的地址寫入映射中斷寄存器420中,先前計(jì)算和映射的地址對應(yīng)于工作者計(jì)算資源201的中斷寄存器的目標(biāo)地址。在一項(xiàng)實(shí)施例中,映射中斷寄存器包括NTB中的一個或多個映射條目。例如,虛擬存儲器空間425的第一子集在映射中斷寄存器420中分配,該映射中斷寄存器420由管理I/O設(shè)備控制器215控制。第一子集的大小等于工作者計(jì)算資源201管理的目標(biāo)中斷寄存器的大小。通過這種方式,管理I/O設(shè)備控制器215的映射模塊(例如,圖3的330)能夠?qū)⒍鄠€工作者計(jì)算資源的一個或多個工作者中斷寄存器中的目標(biāo)和目的地址映射到虛擬存儲器空間的映射中斷寄存器中的多個映射地址。
[0056]此外,圖5的方法包括向第一I/O設(shè)備發(fā)送映射中斷寄存器地址以存儲在先前發(fā)現(xiàn)的可用條目中。具體地,管理I/O設(shè)備控制器215引導(dǎo)對應(yīng)的I/O設(shè)備編程或?qū)懭朐摂?shù)據(jù)元素和先前計(jì)算和映射的地址,該先前計(jì)算和映射的地址對應(yīng)于工作者計(jì)算資源201的中斷寄存器的目標(biāo)地址。數(shù)據(jù)元素和映射地址被寫入到I/O設(shè)備的中斷向量表(例如,MS1-x向量)中。
[0057]在圖4的操作6處,管理I/O設(shè)備控制器215實(shí)現(xiàn)I/O設(shè)備中的中斷。例如,管理I/O設(shè)備控制器向I/O設(shè)備發(fā)送指令以實(shí)現(xiàn)中斷。因此,在特定事件出現(xiàn)后(S卩,寫操作完成,新報文到達(dá),等等),I/O設(shè)備向待中斷的CPU的映射地址發(fā)送中斷(例如,MS1-X消息)。
[0058]在圖4的操作7處,管理計(jì)算資源215向第一工作者計(jì)算資源201發(fā)送通知,指示第一中斷已經(jīng)在I/O設(shè)備中使能。這完成了中斷的初始化,該中斷由代表工作者計(jì)算資源201的管理計(jì)算資源215來執(zhí)行。
[0059]圖6為能夠?qū)嵤┍景l(fā)明各實(shí)施例的計(jì)算系統(tǒng)600的示例的方框圖。計(jì)算系統(tǒng)600大體上表示能夠執(zhí)行計(jì)算機(jī)可讀指令的任意單個或多處理器計(jì)算設(shè)備或系統(tǒng)。計(jì)算系統(tǒng)600的示例包括但不限于,工作站、膝上型電腦、客戶端側(cè)終端、服務(wù)器、分布式計(jì)算系統(tǒng)、手持設(shè)備或任意其它計(jì)算系統(tǒng)或設(shè)備。在計(jì)算系統(tǒng)的多數(shù)基本配置中,計(jì)算系統(tǒng)600可包括至少一個處理器610和系統(tǒng)存儲器640。
[0060]中央處理器(centralprocessing unit,CPU)610和圖形處理器(graphicsprocessing unit,GPU)620都親合到存儲器640。系統(tǒng)存儲器640通常表示能夠存儲數(shù)據(jù)和/或其它計(jì)算機(jī)可讀指令的任意類型或形式的易失性或非易失性存儲設(shè)備或介質(zhì)。系統(tǒng)存儲器640的示例包括但不限于RAM、R0M、閃存或任意其它合適的存儲器設(shè)備。在圖6的示例中,存儲器640是一個共享存儲器,借此存儲器存儲CPU 610和GPU 620的指令和數(shù)據(jù)?;蛘?,可存在分別專用于CPU 610和GPU 620的單獨(dú)存儲器。存儲器可包括幀緩沖器,用于存儲驅(qū)動顯示屏630的像素數(shù)據(jù)。
[0061 ]系統(tǒng)600包括用戶接口 660,其在一種實(shí)施方式中包括屏幕光標(biāo)控制設(shè)備。用戶接口可包括鍵盤、鼠標(biāo)和/或觸屏設(shè)備(觸摸板)。
[0062]CPU 610和/SGPU 620通常表示能夠處理數(shù)據(jù)或解析和執(zhí)行指令的任意類型或形式的處理單元。在某些實(shí)施例中,處理器610和/或620可接收來自軟件應(yīng)用或硬件模塊的指令。這些指令可使得處理器610和/或620執(zhí)行本文中所描述和/或所圖示的一個或多個示例實(shí)施例的功能。例如,處理器610和/或620可單獨(dú)或與其它元件結(jié)合來執(zhí)行和/或?yàn)橐环N構(gòu)件執(zhí)行本文中所述的監(jiān)控、確定、控制和檢測等等中的一個或多個。處理器610和/或620還可執(zhí)行和/或?yàn)橐环N構(gòu)件用于執(zhí)行本文中所描述和/或所圖示的任意其它步驟、方法或過程。
[0063]此外,在本發(fā)明各實(shí)施例中,系統(tǒng)600包括通信系統(tǒng)中的管理I/O設(shè)備控制器215,該管理I/O設(shè)備控制器用于I/O設(shè)備處的中斷初始化,該通信系統(tǒng)包括多個工作者計(jì)算資源、多個I/o設(shè)備、管理I/O設(shè)備控制器和PCIe交換網(wǎng)絡(luò),實(shí)現(xiàn)了系統(tǒng)中所有部件之間的通
?目O
[0064]在一些實(shí)施例中,含有計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì)可加載到計(jì)算系統(tǒng)600中。存儲在計(jì)算機(jī)可讀介質(zhì)上的所有或一部分計(jì)算機(jī)程序隨后可存儲在系統(tǒng)存儲器640和/或存儲設(shè)備的各個部分中。加載到計(jì)算設(shè)備600中的計(jì)算機(jī)程序在由處理器610和/或620執(zhí)行時可使處理器610和/或620執(zhí)行和/或?yàn)橐环N構(gòu)件用于執(zhí)行本文中所描述和/或所圖示的示例實(shí)施例的功能。另外或替代性地,本文中所描述和/或所圖示的示例實(shí)施例可在固件和/或硬件中實(shí)施。
[0065]本發(fā)明各實(shí)施例可通過僅使用硬件或通過使用軟件和必須的通用硬件平臺來實(shí)施?;谶@種理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)。軟件產(chǎn)品包括使計(jì)算機(jī)設(shè)備(個人計(jì)算機(jī)、服務(wù)器或網(wǎng)絡(luò)設(shè)備)執(zhí)行本發(fā)明各實(shí)施例中提供的方法的多個指令。
[0066]本文中所描述的各實(shí)施例是以計(jì)算機(jī)可執(zhí)行指令的大背景來討論的,計(jì)算機(jī)可執(zhí)行指令可位于一個或多個計(jì)算機(jī)或其它設(shè)備執(zhí)行的某種形式的計(jì)算機(jī)可讀介質(zhì),例如程序模塊中。舉例來說,但不限于,軟件產(chǎn)品可存儲在非易失性或非瞬時性計(jì)算機(jī)可讀存儲媒體中,該媒體包括非瞬時性計(jì)算機(jī)存儲媒體和通信媒體。通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)嵤┨囟ǔ橄髷?shù)據(jù)類型的例程、程序、對象、部件、數(shù)據(jù)結(jié)構(gòu)等。程序模塊的功能可根據(jù)各種實(shí)施例結(jié)合或分開。
[0067]計(jì)算機(jī)存儲媒體包括以任意方法或技術(shù)實(shí)現(xiàn)的用于存儲計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的易失性和非易失性、可移動和不可移動媒體。計(jì)算機(jī)存儲媒體包括但不限于隨機(jī)存取存儲器(random access memory,ROM)、只讀存儲器(read onlymemory,R0M)、電可擦除可編程ROM(electrically erasable programmable R0M,EEPR0M)、閃存或其它存儲器技術(shù)、光盤R0M(compact disk R0M,CD_R0M)、USB閃盤、多功能數(shù)字光盤(digital versatile disk,DVD)或其它光學(xué)存儲器、盒式磁帶、磁帶、可移動硬盤、磁盤存儲器或其它磁性存儲設(shè)備,或任意其它可被用來存儲所需信息和可以被存取以檢索該信息的介質(zhì)。
[0068]通信媒體可具體化為計(jì)算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)和程序模塊,并包括任意信息傳送媒體。舉例來說,但不限于,通信媒體包括有線媒體,例如有線網(wǎng)絡(luò)或直線連接,和無線媒體,例如聲學(xué)、射頻(rad1 frequency,RF)、紅外線和其它無線媒體。上述任何媒體的組合都應(yīng)包括在計(jì)算機(jī)可讀媒體的范圍內(nèi)。
[0069]因此,根據(jù)本發(fā)明各實(shí)施例,描述了用于通信系統(tǒng)中的1/0設(shè)備處的中斷初始化的系統(tǒng)和方法,該通信系統(tǒng)包括多個工作者計(jì)算資源、多個1/0設(shè)備、管理1/0設(shè)備控制器和PCIe交換網(wǎng)絡(luò),實(shí)現(xiàn)了系統(tǒng)中所有部件之間的通信。
[0070]雖然以上披露使用了具體的方框圖、流程圖以及示例闡明各種實(shí)施例,本文中所描述和/或所圖示的每個方框圖部件、流程圖步驟、操作和/或部件都可以單獨(dú)地和/或共同地使用一個大范圍的硬件、軟件或固件(或者它們的任意組合)配置來實(shí)施。另外,在其它部件之中所包括的任意部件的披露應(yīng)該看作為示例,因?yàn)榭梢詫?shí)施許多其它架構(gòu)來達(dá)到同樣的功能。
[0071]本文中所描述和/或所圖示的進(jìn)程參數(shù)和步驟順序僅僅是以舉例的方式給出并且可以按需要更改。例如,雖然本文中所圖示和/或所描述的步驟可以按照特定順序來示出或討論,但這些步驟并非必須按照所圖示或所討論的順序來執(zhí)行。本文中所描述和/或所圖示的各種示例方法還可以省略本文中所描述和/或所圖示的一個或多個步驟或還可以包括除披露的那些之外的額外步驟。
[0072]雖然各實(shí)施例在本文中已經(jīng)在全功能性計(jì)算系統(tǒng)的背景下進(jìn)行了描述和/或圖示,這些示例實(shí)施例中的一個或多個能夠以多種方式作為一個程序產(chǎn)品來分發(fā),而無論實(shí)際用于進(jìn)行該分發(fā)的計(jì)算機(jī)可讀媒體的具體形式如何。本文中所披露的實(shí)施例還可以通過使用執(zhí)行某些任務(wù)的軟件模塊來實(shí)施。這些軟件模塊可以包括腳本、成批文件或其它可執(zhí)行文件,它們可以存儲在一種計(jì)算機(jī)可讀介質(zhì)上或者存儲在一種計(jì)算機(jī)系統(tǒng)中。這些軟件模塊可以將一個計(jì)算機(jī)系統(tǒng)配置用于執(zhí)行本文中所披露的一個或多個示例實(shí)施例。本文中所披露的一個或多個軟件模塊可以在云計(jì)算環(huán)境中實(shí)施。云計(jì)算環(huán)境可以通過互聯(lián)網(wǎng)提供不同的業(yè)務(wù)和應(yīng)用程序。這些基于云的業(yè)務(wù)(例如,軟件即服務(wù)、平臺即服務(wù)、基礎(chǔ)設(shè)施即服務(wù)等等)可以通過網(wǎng)絡(luò)瀏覽器或其它遠(yuǎn)程接口進(jìn)行訪問。本文中所描述的各種功能可以通過遠(yuǎn)程桌面環(huán)境或任意其它基于云的計(jì)算環(huán)境來提供。
[0073]雖然已詳細(xì)地描述了本發(fā)明及其優(yōu)點(diǎn),但是應(yīng)理解,可以在不脫離如所附權(quán)利要求書所界定的本發(fā)明的精神和范圍的情況下對本發(fā)明做出各種改變、替代和更改。根據(jù)上述教導(dǎo),許多修改和變更是可能的。選出和描述的各個實(shí)施例的目的是為了更好地解釋本發(fā)明的原理和其實(shí)際應(yīng)用,因而使本領(lǐng)域技術(shù)人員能夠更好利用本發(fā)明各個實(shí)施例和適合預(yù)期特定用途的各種變更。
[0074]此外,本發(fā)明的范圍并不局限于說明書中所述的過程、機(jī)器、制造、物質(zhì)組分、構(gòu)件、方法和步驟的具體實(shí)施例。所屬領(lǐng)域的一般技術(shù)人員可從本發(fā)明中輕易地了解,可根據(jù)本發(fā)明使用現(xiàn)有的或即將開發(fā)出的,具有與本文所描述的相應(yīng)實(shí)施例實(shí)質(zhì)相同的功能,或能夠取得與所述實(shí)施例實(shí)質(zhì)相同的結(jié)果的過程、機(jī)器、制造、物質(zhì)組分、構(gòu)件、方法或步驟。相應(yīng)地,所附權(quán)利要求范圍包括這些過程,機(jī)器,制造,物質(zhì)組分,構(gòu)件,方法,及步驟。
[0075]根據(jù)本發(fā)明的實(shí)施例如此處所述。雖然本發(fā)明已經(jīng)在特定實(shí)施例中進(jìn)行了描述,但是應(yīng)理解,本發(fā)明不應(yīng)該被解釋為這些實(shí)施例的限制,而是根據(jù)以下權(quán)利要求書進(jìn)行解釋。
【主權(quán)項(xiàng)】
1.一種裝置,其特征在于,包括: 管理I/O設(shè)備控制器,用于管理耦合到PCIe(PCI Express,PCIe)交換網(wǎng)絡(luò)的多個I/O設(shè)備的初始化,其中所述管理I/O設(shè)備控制器用于接收注冊第一工作者計(jì)算資源的目標(biāo)中斷寄存器地址的請求,所述目標(biāo)中斷寄存器地址與耦合到所述PCIe交換網(wǎng)絡(luò)的第一I/O設(shè)備生成的第一中斷關(guān)聯(lián); 所述管理I/O設(shè)備控制器的映射模塊,用于將所述目標(biāo)中斷寄存器地址映射到一個域的映射中斷寄存器地址,所述第一 I/O設(shè)備駐留在所述域中; 翻譯中斷寄存器表,包括所述域中的多個映射中斷寄存器地址,所述多個映射中斷寄存器地址與多個工作者計(jì)算資源的多個目標(biāo)中斷寄存器地址關(guān)聯(lián)。2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述管理I/O設(shè)備控制器還用于向所述第一 I/O設(shè)備發(fā)送指令以注冊所述映射中斷寄存器地址,所述映射中斷寄存器地址與所述第一 I/O設(shè)備的對應(yīng)I/O中斷向量表中的所述第一中斷關(guān)聯(lián)。3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述管理I/O設(shè)備控制器還用于確定向量條目是否在所述I/O中斷向量表中可用于將所述第一中斷注冊到所述第一I/O設(shè)備以及可用于發(fā)送指令以將所述映射中斷寄存器地址注冊為第一向量條目中的第一向量。4.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述管理I/O設(shè)備控制器還用于接收有關(guān)所述第一工作者計(jì)算資源的目標(biāo)中斷寄存器大小的信息,所述目標(biāo)中斷寄存器包括所述目標(biāo)中斷寄存器地址;用于分配所述管理I/O控制器控制的所述翻譯中斷寄存器表中的虛擬存儲器空間的第一子集,其中所述第一子集至少等于所述大小;以及用于將所述目標(biāo)中斷寄存器中的地址映射到所述虛擬存儲器空間中的多個映射地址。5.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述管理I/O設(shè)備控制器還用于向所述I/O設(shè)備發(fā)送指令以使能所述第一I/O設(shè)備中的所述第一中斷,以及用于向所述第一工作者計(jì)算資源發(fā)送通知,指示所述第一中斷已經(jīng)在所述第一 I/O設(shè)備中使能。6.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述第一中斷從主要由消息中斷(MSI)和MS1-X中斷組成的組中獲取。7.一種初始化方法,其特征在于,包括: 接收注冊第一工作者計(jì)算資源的目標(biāo)中斷寄存器地址的請求,其中所述目標(biāo)中斷寄存器地址與耦合到PCIe(PCI Express,PCIe)交換網(wǎng)絡(luò)的第一I/O設(shè)備生成的第一中斷關(guān)聯(lián); 將所述目標(biāo)中斷寄存器地址映射到一個域的映射中斷寄存器地址,所述第一I/O設(shè)備駐留在所述域中; 向所述第一 I/o設(shè)備發(fā)送指令以注冊所述映射中斷寄存器地址,所述映射中斷寄存器地址與所述第一 I/O設(shè)備的對應(yīng)I/O中斷向量表中的所述第一中斷關(guān)聯(lián)。8.根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括: 向第一非透明橋(non-transparent bridge,NTB)發(fā)送將所述映射中斷寄存器地址映射到所述目標(biāo)中斷寄存器地址的映射信息,所述NTB將所述第一工作者計(jì)算資源耦合到所述PCIe交換網(wǎng)絡(luò)。9.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述請求在管理I/O設(shè)備控制器處接收,所述管理I/O設(shè)備控制器耦合到所述PCIe交換網(wǎng)絡(luò)以管理所述多個I/O設(shè)備的初始化。10.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述發(fā)送指令還包括: 確定向量條目是否在所述I/O中斷向量表中可用于將所述第一中斷注冊到所述第一 I/O設(shè)備以及可用于將所述映射中斷寄存器地址作為第一向量存儲在所述I/O中斷向量表中;向所述第一 I/o設(shè)備發(fā)送所述映射中斷寄存器地址以便存儲在所述可用條目中。11.根據(jù)權(quán)利要求10所述的方法,其特征在于,還包括: 確定所述第一 I/o設(shè)備是否可以生成所述第一中斷。12.根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括: 向所述第一 I/o設(shè)備發(fā)送指令以使能所述第一 I/O設(shè)備中的所述第一中斷。13.根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括: 向所述第一工作者計(jì)算資源發(fā)送通知,指示所述第一中斷已經(jīng)在所述第一 I/o設(shè)備中使能。14.根據(jù)權(quán)利要求7所述的方法,其特征在于,還包括: 接收有關(guān)所述第一工作者計(jì)算資源的目標(biāo)中斷寄存器大小的信息,其中所述中斷寄存器包括多個目標(biāo)中斷寄存器地址; 分配映射中斷寄存器中的虛擬存儲器空間的第一子集,所述映射中斷寄存器包括所述域中的多個映射中斷寄存器地址,其中所述映射中斷寄存器由所述管理I/O控制器控制,所述第一子集至少等于所述大??;以及 將所述目標(biāo)中斷寄存器中的地址映射到虛擬存儲器空間的所述第一子集中的多個映射地址。15.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述第一中斷從主要由消息中斷(message signal interrupt,MSI)和MS1-X中斷組成的組中獲取。16.一種系統(tǒng),其特征在于,包括: 多個工作者計(jì)算資源; 與所述多個工作者計(jì)算資源關(guān)聯(lián)的多個目標(biāo)中斷寄存器; 多個I/O設(shè)備,位于所述多個工作者計(jì)算資源上; PCIe(PCI Express,PCIe)交換網(wǎng)絡(luò),用于實(shí)現(xiàn)耦合到所述PCIe交換網(wǎng)絡(luò)的所述多個I/O設(shè)備和所述多個工作者計(jì)算資源之間的通信; 管理I/O設(shè)備控制器,用于管理所述多個I/O設(shè)備的初始化; 翻譯中斷寄存器表,包括與所述多個工作者計(jì)算資源的多個目標(biāo)中斷寄存器地址關(guān)聯(lián)的多個映射中斷寄存器地址; 其中所述管理I/O設(shè)備控制器用于接收注冊第一工作者計(jì)算資源的第一工作者中斷寄存器的目標(biāo)中斷寄存器地址的請求,所述目標(biāo)中斷注冊地址與耦合到所述PCIe交換網(wǎng)絡(luò)的第一I/O設(shè)備生成的第一中斷關(guān)聯(lián);以及 所述管理I/O設(shè)備控制器的映射模塊,用于將所述目標(biāo)中斷寄存器地址映射到映射中斷寄存器地址。17.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述管理I/O設(shè)備控制器還用于向所述第一 I/O設(shè)備發(fā)送指令以注冊所述映射中斷寄存器地址,所述映射中斷寄存器地址與所述第一 I/O設(shè)備的對應(yīng)I/O中斷向量表中的所述第一中斷關(guān)聯(lián)。18.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,還包括: 親合到所述多個工作者計(jì)算資源的多個非透明橋(non-transparent bridge,NTB),其中第一 NTB橋耦合到所述管理I/O設(shè)備控制器并用于向所述目標(biāo)中斷寄存器地址發(fā)送原本傳送給所述映射中斷寄存器地址的所述第一中斷。19.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述管理I/O設(shè)備控制器還用于確定向量條目是否在所述I/O中斷向量表中可用于將所述第一中斷注冊到所述第一I/O設(shè)備以及可用于發(fā)送指令以將所述映射中斷寄存器地址作為第一向量存儲在第一向量條目中。20.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述管理I/O設(shè)備控制器還用于接收有關(guān)所述目標(biāo)中斷寄存器大小的信息;用于分配所述管理I/O控制器控制的映射中斷寄存器中的虛擬存儲器空間的第一子集,其中所述第一子集至少等于所述大??;以及用于將所述目標(biāo)中斷寄存器中的地址映射到所述虛擬存儲器空間中的多個映射地址。
【文檔編號】G06F13/42GK105993009SQ201480062891
【公開日】2016年10月5日
【申請日】2014年11月18日
【發(fā)明人】諾伯特·埃吉, 羅伯特·拉薩特, 托馬斯·博伊爾, 約翰·彼得斯, 施廣宇
【申請人】華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1