两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

注入事務(wù)以支持物理設(shè)備控制器的虛擬化的制作方法

文檔序號(hào):6586727閱讀:277來(lái)源:國(guó)知局
專利名稱:注入事務(wù)以支持物理設(shè)備控制器的虛擬化的制作方法
技術(shù)領(lǐng)域
本公開(kāi)涉及信息處理領(lǐng)域,更具體地說(shuō),涉及信息處理系統(tǒng)中的虛擬化領(lǐng)域。
背景技術(shù)
一般來(lái)說(shuō),信息處理系統(tǒng)中的虛擬化概念允許一個(gè)或多個(gè)操作系統(tǒng)的多個(gè)實(shí)例 (均為“Os”)在單個(gè)信息處理系統(tǒng)上運(yùn)行,即使每個(gè)OS設(shè)計(jì)成具有對(duì)系統(tǒng)及其資源的完 全、直接控制。通常通過(guò)利用軟件(例如,虛擬機(jī)監(jiān)視器或“VMM”)來(lái)實(shí)現(xiàn)虛擬化以向每個(gè) OS呈現(xiàn)具有該OS可完全且直接控制的虛擬資源(包括一個(gè)或多個(gè)虛擬處理器)的“虛擬 機(jī)”(“VM”),而VMM維持用于實(shí)現(xiàn)諸如在VM之間共享和/或分配物理資源的虛擬化策略 的系統(tǒng)環(huán)境(“虛擬化環(huán)境”)。在VM上運(yùn)行的每個(gè)OS和任何其它軟件稱為“訪客”或“訪 客軟件”,而“主機(jī)”或“主機(jī)軟件”是在虛擬化環(huán)境之外運(yùn)行的諸如VMM的軟件。信息處理系統(tǒng)中的物理處理器可通過(guò)例如支持進(jìn)入虛擬化環(huán)境以在VM中的虛擬 處理器(即,在VMM施加的約束下的物理處理器)上運(yùn)行“訪客”的指令而支持虛擬化。在 虛擬化環(huán)境中,諸如訪問(wèn)有特權(quán)的寄存器或資源的外部中斷或嘗試的某些事件、操作和情 形可被攔截,即,使處理器退出虛擬化環(huán)境,以使得VMM可進(jìn)行操作以便例如實(shí)現(xiàn)虛擬化策 略。
可在專用基礎(chǔ)上將系統(tǒng)中的諸如輸入/輸出設(shè)備控制器的物理資源指定或分配 給VM0或者,通過(guò)攔截涉及某個(gè)物理資源的所有事務(wù)以使得VMM可執(zhí)行、重定向或限制每個(gè) 事務(wù),多個(gè)VM可共享該物理資源。第三種方法可以是將物理資源設(shè)計(jì)成使它具有用作多個(gè) 虛擬資源的能力。

發(fā)明內(nèi)容
本發(fā)明涉及一種裝置,包括處理器;系統(tǒng)存儲(chǔ)器;要由多個(gè)虛擬機(jī)共享的物理設(shè)備控制器,所述多個(gè)虛擬機(jī)由安裝在所述處理器上 的虛擬機(jī)監(jiān)視器創(chuàng)建;通過(guò)第一接口耦合到所述系統(tǒng)存儲(chǔ)器并通過(guò)第二接口耦合到所述物理設(shè)備控制 器的虛擬化代理,用于將所述物理設(shè)備控制器表示為可用于分配給所述多個(gè)虛擬機(jī)的多個(gè) 虛擬設(shè)備控制器,并代表所述多個(gè)虛擬設(shè)備控制器將事務(wù)注入到所述第一接口和所述第二 接口上。


附圖中舉例而非限制性地示出本發(fā)明。圖1示出根據(jù)本發(fā)明一個(gè)實(shí)施例用于注入事務(wù)的裝置。圖2示出根據(jù)本發(fā)明一個(gè)實(shí)施例用于注入事務(wù)的方法。
具體實(shí)施例方式如下所述,本發(fā)明可在用于注入事務(wù)以支持物理設(shè)備控制器的虛擬化的裝置或方法中實(shí)施。在本描述中,闡述了諸如組件和系統(tǒng)配置的眾多具體細(xì)節(jié),以便可以更全面地理 解本發(fā)明。但是,本領(lǐng)域技術(shù)人員將明白,沒(méi)有這些具體細(xì)節(jié)也可實(shí)現(xiàn)本發(fā)明。另外,沒(méi)有 詳細(xì)示出一些熟知的結(jié)構(gòu)、電路等,以免不必要地使本發(fā)明的描述晦澀難懂。希望多個(gè)虛擬機(jī)可共享單個(gè)物理設(shè)備控制器,而無(wú)需VMM攔截涉及該設(shè)備控制器 的所有事務(wù),或無(wú)需將設(shè)備控制器重新設(shè)計(jì)成支持虛擬化。因此,本發(fā)明的實(shí)施例可通過(guò)捕 獲涉及物理設(shè)備控制器的事務(wù)并代表虛擬設(shè)備控制器注入事務(wù)而支持將單個(gè)物理設(shè)備控 制器表示為多個(gè)虛擬設(shè)備控制器。本發(fā)明的實(shí)施例的元件可在硬件、軟件、固件、或硬件、軟件或固件的任何組合中 實(shí)現(xiàn)。術(shù)語(yǔ)“硬件”一般是指具有物理結(jié)構(gòu)的元件,如電子、電磁、光、光電、機(jī)械、機(jī)電零件 等。術(shù)語(yǔ)“軟件”一般是指邏輯結(jié)構(gòu)、方法、過(guò)程、程序、例行程序、進(jìn)程、算法、公式、表達(dá)式 等。術(shù)語(yǔ)“固件”一般是指在硬件結(jié)構(gòu)(如閃速存儲(chǔ)器或只讀存儲(chǔ)器)中實(shí)現(xiàn)或?qū)嵤┑倪?輯結(jié)構(gòu)、方法、過(guò)程、程序、例行程序、進(jìn)程、算法、公式或表達(dá)式。固件的實(shí)例有微代碼、可寫 控制存儲(chǔ)和微編程結(jié)構(gòu)。圖1示出根據(jù)本發(fā)明一個(gè)實(shí)施例可在其中注入事務(wù)的信息處理系統(tǒng)100。信息處 理系統(tǒng)100包括裸平臺(tái)硬件110,它可以是能夠執(zhí)行任何OS、VMM或其它軟件的任何裝置。 例如,裸平臺(tái)硬件110可以是個(gè)人計(jì)算機(jī)、大型計(jì)算機(jī)、便攜式計(jì)算機(jī)、手持設(shè)備、機(jī)頂盒、 服務(wù)器或任何其它計(jì)算系統(tǒng)的硬件。在此實(shí)施例中,裸平臺(tái)硬件110包括處理器120、芯片 集130、系統(tǒng)存儲(chǔ)器140和設(shè)備控制器150。處理器120可以是具有一個(gè)或多個(gè)執(zhí)行核的任何組件,其中每個(gè)執(zhí)行核可基于各 種不同類型的處理器中的任何處理器,這些不同類型的處理器包括通用微處理器,例如 Intel Pentium 處理器系列、Itanium 處理器系列、Intel .公司的其它處理器系列中
的處理器或另一公司的另一處理器;或數(shù)字信號(hào)處理器或微控制器。盡管圖1只示出一個(gè) 這樣的處理器120,但裸處理硬件Iio可包括任何數(shù)量的處理器,包括任何數(shù)量的多核處 理器,每個(gè)多核處理器具有任何數(shù)量的執(zhí)行核;以及任何數(shù)量的多線程處理器,每個(gè)多線程 處理器具有任何數(shù)量的線程。芯片集130可以是支持存儲(chǔ)器操作、輸入/輸出操作、配置、控制、內(nèi)部或外部接 口、連接、或通信功能(例如,“膠合”邏輯和總線橋)和/或處理器120和/或系統(tǒng)100的 任何類似功能的任何電路和邏輯組。芯片集130的各個(gè)元件可集合在單個(gè)芯片上、一對(duì)芯 片上、散布在多個(gè)芯片中,和/或部分地、全部地、冗余地、或根據(jù)分布式方法集成到包括處 理器120在內(nèi)的一個(gè)或多個(gè)處理器中。在此實(shí)施例中,芯片集130包括如下所述的根據(jù)本 發(fā)明一個(gè)實(shí)施例用于注入事務(wù)的虛擬化邏輯132。在其它實(shí)施例中,虛擬化邏輯132可包含 在系統(tǒng)100的其它地方。系統(tǒng)存儲(chǔ)器140可包括其上可存儲(chǔ)諸如數(shù)據(jù)和/或指令的信息的任何介質(zhì),例如 靜態(tài)或動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器、基于半導(dǎo)體的只讀存儲(chǔ)器或閃速存儲(chǔ)器、磁或光盤存儲(chǔ)器、或 可由處理器120讀取的任何其它類型的介質(zhì)、或這些介質(zhì)的任何組合。設(shè)備控制器150可表示任何類型的I/O、外圍設(shè)備或可由在VM中運(yùn)行的訪客軟件使用的其它設(shè)備的控制器,例如硬盤控制器、音頻控制器、網(wǎng)絡(luò)接口控制器、外圍總線控制 器等。設(shè)備控制器150可在離散組件中實(shí)施,或可包含在具有任何其它設(shè)備控制器的集成 組件中。在一個(gè)實(shí)施例中,設(shè)備控制器150可表示多功能I/O、外圍設(shè)備或其它設(shè)備控制器 中的功能。設(shè)備控制器150可包括用于存儲(chǔ)配置信息的配置存儲(chǔ)設(shè)備152。處理器120、芯片集130、系統(tǒng)存儲(chǔ)器140和設(shè)備控制器150可根據(jù)任何已知方法 彼此耦合或相互通信,這些已知方法可以是例如直接法、或通過(guò)一種或多種并行、順序、流 水線、異步、同步、有線、無(wú)線或其它總線或點(diǎn)對(duì)點(diǎn)連接或通信方式的間接法。例如,在此實(shí) 施例中,處理器120和芯片集130可通過(guò)接口 170耦合到系統(tǒng)存儲(chǔ)器140,并且芯片集130 可通過(guò)接口 180耦合到設(shè)備控制器150。系統(tǒng)100還可包括任何數(shù)量的額外代理、組件或連 接。系統(tǒng)100還包括VMM 160與VM 162和164。V匪160可以是經(jīng)安裝而可在裸平臺(tái)硬件110上運(yùn)行或可供裸平臺(tái)硬件110訪問(wèn)以向訪客呈現(xiàn)VM(即,裸平臺(tái)硬件110的抽象) 或以其它方式創(chuàng)建VM、管理VM并在系統(tǒng)100內(nèi)實(shí)現(xiàn)虛擬化策略的任何軟件、固件或硬件主 機(jī)。在其它實(shí)施例中,主機(jī)可以是能夠控制裸平臺(tái)硬件110的任何VMM、管理程序、OS、或其 它軟件、固件或硬件。訪客可以是任何OS、包括VMM 160的另一實(shí)例在內(nèi)的任何VMM、任何 管理程序、或任何應(yīng)用或其它軟件。根據(jù)VM中呈現(xiàn)的處理器和平臺(tái)的體系結(jié)構(gòu),每個(gè)訪客預(yù)期能訪問(wèn)裸平臺(tái)硬件110 或由VMM 160虛擬化的平臺(tái)的資源,例如處理器和平臺(tái)寄存器、存儲(chǔ)器和輸入/輸出設(shè)備。 圖1示出兩個(gè)VM 162和164,可在每個(gè)VM上安裝訪客OS和任何數(shù)量的訪客應(yīng)用。盡管圖 1示出兩個(gè)VM,但在本發(fā)明的范圍內(nèi),可創(chuàng)建任何數(shù)量的VM,并且可以安裝任何數(shù)量的訪客 OS和訪客應(yīng)用以在每個(gè)VM上運(yùn)行。返回到芯片集130,虛擬化邏輯132可包括用于將物理設(shè)備控制器150表示為多個(gè) 虛擬設(shè)備控制器的任何電路、邏輯或其它結(jié)構(gòu)(如固件),其中可通過(guò)VMM 160將每個(gè)虛擬 設(shè)備控制器分配給不同VM。芯片集130還包括配置存儲(chǔ)設(shè)備134和數(shù)據(jù)存儲(chǔ)設(shè)備136。配 置存儲(chǔ)設(shè)備134和數(shù)據(jù)存儲(chǔ)設(shè)備136可包括其上可存儲(chǔ)信息的任何介質(zhì);例如,配置存儲(chǔ)設(shè) 備134可包括可編程寄存器,而數(shù)據(jù)存儲(chǔ)設(shè)備136可包括靜態(tài)隨機(jī)存取存儲(chǔ)器。虛擬化邏 輯132可從配置存儲(chǔ)設(shè)備134和/或數(shù)據(jù)存儲(chǔ)設(shè)備136讀取信息以及將信息寫入到配置存 儲(chǔ)設(shè)備134和/或數(shù)據(jù)存儲(chǔ)設(shè)備136,以確定并保存與接口 170和180上的事務(wù)捕獲和注入 的狀態(tài)有關(guān)的信息。芯片集130可在接口 180上接收要到系統(tǒng)存儲(chǔ)器140的事務(wù),并在接口 170上接 收要到物理設(shè)備控制器150的事務(wù)。事務(wù)的預(yù)期目標(biāo)可通過(guò)事務(wù)所傳達(dá)的信息(例如,地 址字段的內(nèi)容)指示。但是,為了支持設(shè)備控制器150的虛擬化,虛擬化邏輯132可捕獲事 務(wù)。關(guān)于捕獲事務(wù),虛擬化邏輯132可將與物理設(shè)備控制器150相關(guān)聯(lián)或物理設(shè)備控制器 150所用的地址或標(biāo)識(shí)符轉(zhuǎn)換或映射為與從物理設(shè)備控制器150抽象得到的虛擬設(shè)備控制 器之一相關(guān)聯(lián)或該虛擬設(shè)備控制器所用的地址或標(biāo)識(shí)符。虛擬化邏輯132還可執(zhí)行與所捕 獲的事務(wù)有關(guān)的任何其它處理。轉(zhuǎn)換、映射或其它處理信息可存儲(chǔ)在配置存儲(chǔ)設(shè)備134或 數(shù)據(jù)存儲(chǔ)設(shè)備136中。然后,虛擬化邏輯132可充當(dāng)接口 170或接口 180上的代理,以代表 該虛擬設(shè)備控制器發(fā)起(initiate)或注入(inject)新的事務(wù)。例如,在物理設(shè)備控制器150通過(guò)外圍組件互連Express ( “PCI-Express”)總線耦合到芯片集130的實(shí)施例中,事務(wù)頭可包括通過(guò)系統(tǒng)配置軟件或固件指定給設(shè)備控制器 150的由總線號(hào)、設(shè)備號(hào)和功能號(hào)(“BDF”)組成的唯一標(biāo)識(shí)符。虛擬化邏輯132可對(duì)從物 理設(shè)備控制器150抽象得到的每個(gè)虛擬設(shè)備控制器使用不同的BDF,因此它可捕獲具有物 理設(shè)備控制器150的BDF的事務(wù),并注入具有對(duì)應(yīng)虛擬設(shè)備控制器的BDF的事務(wù),或反之。圖2示出根據(jù)本發(fā)明一個(gè)實(shí)施例可注入事務(wù)的方法200。在對(duì)圖2的方法實(shí)施例 的描述中,可參照?qǐng)D1中的系統(tǒng)實(shí)施例的元件,但是,本發(fā)明的方法實(shí)施例在這方面不受限 制。在方框210,虛擬化邏輯132配置成捕獲在接口 170上發(fā)起的發(fā)往物理設(shè)備控制器 150的事務(wù)以及在接口 180上發(fā)起的來(lái)自物理設(shè)備控制器150的事務(wù)。在一個(gè)實(shí)施例中,虛 擬化邏輯132可包括配置存儲(chǔ)設(shè)備134中的位置(location),該位置可用用于標(biāo)識(shí)待捕獲 的事務(wù)的基地址或其它指示符編程。在方框220,虛擬化邏輯132識(shí)別接口 170上發(fā)往表示物理設(shè)備控制器150的虛 擬設(shè)備控制器的第一事務(wù)。在方框222,虛擬化邏輯捕獲第一事務(wù),而不是將它轉(zhuǎn)發(fā)給接口 180以便物理設(shè)備控制器150接收。在方框224,虛 擬化邏輯132執(zhí)行與物理設(shè)備控制器150 的虛擬化有關(guān)的轉(zhuǎn)換或其它處理。在方框226,虛擬化邏輯將發(fā)往物理設(shè)備控制器150的第 二事務(wù)注入到接口 180上。第二事務(wù)將經(jīng)轉(zhuǎn)換或以其它方式進(jìn)行處理的來(lái)自第一事務(wù)的信 息、消息或請(qǐng)求傳達(dá)到物理設(shè)備控制器150,只是虛擬化邏輯執(zhí)行了物理設(shè)備控制器150的 虛擬化中所涉及的轉(zhuǎn)換或其它處理。在方框230,虛擬化邏輯132識(shí)別接口 180上由物理設(shè)備控制器150發(fā)起的第三 事務(wù)。在方框232,虛擬化邏輯捕獲第三事務(wù),而不是將它轉(zhuǎn)發(fā)給接口 170。在方框234,虛 擬化邏輯132執(zhí)行與物理設(shè)備控制器150的虛擬化有關(guān)的轉(zhuǎn)換或其它處理。在方框236, 虛擬化邏輯代表對(duì)應(yīng)于物理設(shè)備控制器150的虛擬設(shè)備控制器將第四事務(wù)注入到接口 170 上。第四事務(wù)傳達(dá)經(jīng)轉(zhuǎn)換或以其它方式進(jìn)行處理的來(lái)自物理設(shè)備控制器150的第三事務(wù)的 信息、消息或請(qǐng)求,只是虛擬化邏輯執(zhí)行了物理設(shè)備控制器150的虛擬化中所涉及的轉(zhuǎn)換 或其它處理。在本發(fā)明的范圍內(nèi),可在省略所示方框、增加額外方框、或重排、省略或添加額外 方框的組合的情況下執(zhí)行方法200??稍趶膭?chuàng)建到模擬到制作的各種階段中設(shè)計(jì)根據(jù)本發(fā)明實(shí)施例設(shè)計(jì)的任何組件 或組件的部分。表示設(shè)計(jì)的數(shù)據(jù)可用多種方式來(lái)表示該設(shè)計(jì)。首先,如在模擬中有用的一 樣,可利用硬件描述語(yǔ)言或另一功能描述語(yǔ)言來(lái)表示硬件。另外或作為替代,可在設(shè)計(jì)過(guò)程 的某些階段制作具有邏輯和/或晶體管門的電路級(jí)模型。此外,在某個(gè)階段,大多數(shù)設(shè)計(jì)達(dá) 到可用表示各種設(shè)備的物理布局的數(shù)據(jù)來(lái)對(duì)其建模的程度。在利用常規(guī)半導(dǎo)體制造技術(shù)的 情況下,表示設(shè)備布局模型的數(shù)據(jù)可以是指定用于制造集成電路的掩膜的不同掩膜層上各 種特征存在與否的數(shù)據(jù)。在設(shè)計(jì)的任何表示中,可將數(shù)據(jù)存儲(chǔ)在任何形式的機(jī)器可讀介質(zhì)中。經(jīng)調(diào)制或以 其它方式生成以傳送這樣的信息的光或電波、存儲(chǔ)器、或諸如盤的磁或光存儲(chǔ)介質(zhì)都可作 為機(jī)器可讀介質(zhì)。任何這些介質(zhì)都可“攜帶”或“指示”本發(fā)明的實(shí)施例中所用的設(shè)計(jì)或其 它信息。當(dāng)傳送指示或攜帶這些信息的電載波時(shí),在執(zhí)行電信號(hào)的復(fù)制、緩沖或再傳送的程 度,進(jìn)行新的復(fù)制。因此,通信提供商或網(wǎng)絡(luò)提供商的這些動(dòng)作可構(gòu)成對(duì)實(shí)施本發(fā)明技術(shù)的諸如載波的制品進(jìn)行復(fù)制。 因此,公開(kāi)了用于注入事務(wù)以支持物理設(shè)備控制器的虛擬化的裝置、方法和系統(tǒng)。 盡管描述并在附圖中示出了某些實(shí)施例,但應(yīng)理解,這些實(shí)施例只是說(shuō)明而非限制廣泛的 發(fā)明,并且本發(fā)明不限于所示和所描述的特定構(gòu)造和布置,在研讀本公開(kāi)后,本領(lǐng)域技術(shù)人 員可聯(lián)想到各種其它修改。在諸如此類的技術(shù)領(lǐng)域中,發(fā)展迅速且不易預(yù)知進(jìn)一步的進(jìn)展, 在不背離本公開(kāi)的原理或隨附權(quán)利要求的范圍的情況下,在賦予技術(shù)發(fā)展的促進(jìn)下,所公 開(kāi)的實(shí)施例可容易地在布置和細(xì)節(jié)方面做出修改。
權(quán)利要求
一種裝置,包括處理器;系統(tǒng)存儲(chǔ)器;要由多個(gè)虛擬機(jī)共享的物理設(shè)備控制器,所述多個(gè)虛擬機(jī)由安裝在所述處理器上的虛擬機(jī)監(jiān)視器創(chuàng)建;通過(guò)第一接口耦合到所述系統(tǒng)存儲(chǔ)器并通過(guò)第二接口耦合到所述物理設(shè)備控制器的虛擬化代理,用于將所述物理設(shè)備控制器表示為可用于分配給所述多個(gè)虛擬機(jī)的多個(gè)虛擬設(shè)備控制器,并代表所述多個(gè)虛擬設(shè)備控制器將事務(wù)注入到所述第一接口和所述第二接口上。
全文摘要
公開(kāi)用于注入事務(wù)以支持物理設(shè)備控制器的虛擬化的裝置、方法和系統(tǒng)的實(shí)施例。在一個(gè)實(shí)施例中,裝置包括處理器、系統(tǒng)存儲(chǔ)器、物理設(shè)備控制器和虛擬化代理。物理設(shè)備控制器要由通過(guò)安裝在處理器上的虛擬機(jī)監(jiān)視器創(chuàng)建的多個(gè)虛擬機(jī)共享。虛擬化代理通過(guò)第一接口耦合到系統(tǒng)存儲(chǔ)器,并通過(guò)第二接口耦合到物理設(shè)備控制器,以將物理設(shè)備控制器表示為可用于分配給所述多個(gè)虛擬機(jī)的多個(gè)虛擬設(shè)備控制器,并代表所述多個(gè)虛擬設(shè)備控制器將事務(wù)注入到第一接口和第二接口上。
文檔編號(hào)G06F9/455GK101833470SQ20091026688
公開(kāi)日2010年9月15日 申請(qǐng)日期2009年12月28日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者E·費(fèi)拉拉, R·納拉瓦迪, S·卡里納海利, Z·博金 申請(qǐng)人:英特爾公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南木林县| 鹿泉市| 安陆市| 吉水县| 平塘县| 弥渡县| 鄢陵县| 沧州市| 靖边县| 阳谷县| 任丘市| 大宁县| 京山县| 宁远县| 彩票| 松溪县| 长沙县| 华阴市| 肥乡县| 浦东新区| 含山县| 双峰县| 陵川县| 鲁山县| 简阳市| 平罗县| 大姚县| 文水县| 涿鹿县| 河曲县| 张北县| 忻州市| 陈巴尔虎旗| 桑植县| 万年县| 南通市| 山西省| 台中县| 河曲县| 台山市| 宁国市|