国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      虛擬化虛擬機(jī)系統(tǒng)中的物理存儲(chǔ)器的制作方法

      文檔序號(hào):6577879閱讀:236來(lái)源:國(guó)知局

      專(zhuān)利名稱(chēng)::虛擬化虛擬機(jī)系統(tǒng)中的物理存儲(chǔ)器的制作方法虛擬化虛擬機(jī)系統(tǒng)中的物理夯賭器本申請(qǐng)是分案申請(qǐng),其母案申請(qǐng)的申請(qǐng)?zhí)枮?00610004027.3,申請(qǐng)日為2006年l月13日,發(fā)明名稱(chēng)為"虛擬化虛擬機(jī)系統(tǒng)中的物理存儲(chǔ)器"。
      背景技術(shù)
      :抽象(absttaction),從而使主機(jī)的底層硬件似乎是一個(gè)或多個(gè)獨(dú)立運(yùn)行的虛擬機(jī)。因此每個(gè)虛擬機(jī)可起到獨(dú)立完備的平臺(tái)的作用。經(jīng)常地,使用虛擬化枝術(shù)來(lái)使多客戶(hù)#^乍系*脈/或其它客戶(hù)軟件(guestsoftware)并存并且顯然同時(shí)脅顯然獨(dú)立地在多個(gè)虛擬機(jī)上執(zhí)行,而實(shí)際上是在相同硬件平臺(tái)上物理地執(zhí)行。虛擬機(jī)可模仿主機(jī)的硬件或交替地呈現(xiàn)完全不同的硬件抽象。虛擬化系統(tǒng)可包括控制主機(jī)的虛擬機(jī)監(jiān)控器(VMM)。VMM向在虛擬機(jī)上運(yùn)行的客戶(hù)軟件提供一組資源(例如,處理器、存儲(chǔ)器、IO設(shè)備)。VMM可將物理主機(jī)的一些或所有部件映射到虛擬機(jī),并且可創(chuàng)建全部的虛擬部件,虛擬部件在VMM中用軟件模擬,包含在虛擬機(jī)中(例如,虛擬IO設(shè)備)。因此可以iJ(AVMM向客戶(hù)軟件提供了"虛擬^f幾"接口oVMM使用硬件虛擬化體系結(jié)構(gòu)中的設(shè)備向虛擬機(jī)提供服務(wù)并且在主機(jī)上執(zhí)行的多個(gè)虛擬機(jī)之間提供保護(hù)。當(dāng)客戶(hù)軟件在虛擬機(jī)上^(亍時(shí),如絲戶(hù)軟件直接在硬件平臺(tái)上執(zhí)行,那么由客戶(hù)軟件執(zhí)行的某些指令(例如,訪(fǎng)問(wèn)外圍設(shè)備的指令)通常會(huì)直接訪(fǎng)問(wèn)硬件。在VMM支持的虛擬化系統(tǒng)中,這些指*導(dǎo)致到VMM的轉(zhuǎn)換,在這里稱(chēng)作虛擬機(jī)退出。VMM用適合主扭J更件和主機(jī)外圍設(shè)備的方式來(lái)處理軟件中的這些指令,和執(zhí)行客戶(hù)軟件的虛擬機(jī)一致。對(duì)以地,在主機(jī)中產(chǎn)生的某些中斷和例外需由VMM來(lái)中斷和管理或在傳遞給客戶(hù)軟件提供服務(wù)之前通過(guò)VMM來(lái)適應(yīng)客戶(hù)軟件。然后,VMM將控制轉(zhuǎn)換到客戶(hù)軟件并且虛擬機(jī)重新開(kāi)始運(yùn)行。從VMM到客戶(hù)軟件的轉(zhuǎn)換在&E稱(chēng)作虛擬機(jī)登錄(virtualmachineEntry)。公知地,在大多數(shù)衞乍系統(tǒng)上,在機(jī)器上執(zhí)行的程序可使用虛擬地址空間,虛擬地址空間M層物理^^者器系統(tǒng)的抽象。本領(lǐng)域^^地,當(dāng)術(shù)語(yǔ)虛擬用在存儲(chǔ)器管理的上下文中例如"虛擬地址"、"虛擬地址空間"、"虛擬夯睹器地址"或"虛擬存儲(chǔ)器空間"時(shí),指的是基于處理器的系統(tǒng)的公知技術(shù),通常和#^卡系統(tǒng)結(jié)合,將底層物理存儲(chǔ)器的抽象呈現(xiàn)給在基于處理器的系統(tǒng)上執(zhí)行的過(guò)程(process)。例如,過(guò)程可訪(fǎng)問(wèn)虛擬的、連續(xù)的和線(xiàn)性的地址空間抽象,由M操作系統(tǒng)將地址空間抽象9fe時(shí)到非線(xiàn)性的和非連續(xù)的物理存儲(chǔ)器。虛擬的這種使用區(qū)別于同樣的術(shù)語(yǔ)在虛擬化的上下文中的使用,在后者情況下虛擬通常指的是模擬物理機(jī)器的抽象,例如"虛擬機(jī)"、"虛擬棵機(jī)"、"虛擬石更件"、"虛擬處理器"或"虛擬網(wǎng)絡(luò)接口"?;谶@里使用術(shù)語(yǔ)的上下文,該術(shù)語(yǔ)的預(yù)期含義對(duì)4^頁(yè)域技術(shù)人員是明確的。圖1顯示在基于處理器的系統(tǒng)上執(zhí)行的過(guò)程,該系統(tǒng)包括處理器和通過(guò)總線(xiàn)通信耦合到處理器的務(wù)賭器。參照?qǐng)Dl,當(dāng)過(guò)程105在它的虛擬地址空間115中引用(reference)絲單元IIO(過(guò)程虛擬^H者空間)時(shí),通過(guò)絲器管理130產(chǎn)生機(jī)器125的物理務(wù)賭器145(機(jī)器物理存儲(chǔ)器)中的實(shí)際地址140,可在硬件(有時(shí)合并進(jìn)入處理器120)和軟件(通常在機(jī)器的4剁乍系統(tǒng)中)中實(shí)現(xiàn)^#器管理。除了其它功能,存儲(chǔ)器管理130還將虛擬地址空間中的位置映射到機(jī)器的物理存儲(chǔ)器中的位置。如圖1所示,過(guò)程可具有和在物理機(jī)器中實(shí)際可用的存儲(chǔ)器不同的4^器視圖。在圖1描述的例子中,該過(guò)禾l在從O到1MB的虛擬地址空間中運(yùn)行,該地址空間實(shí)際上是通過(guò)務(wù)賭器管理硬件和軟件映射到物理存儲(chǔ)器中的一部分,其本身具有從10到11MB的地址空間;從過(guò)程空間地址計(jì)算物理地址,可將^立移135加到過(guò)程虛擬地址。從過(guò)程虛擬存儲(chǔ)器空間到物理存儲(chǔ)器的更復(fù)雜的映射是可能的,例如,可將相應(yīng)于過(guò)程虛擬務(wù)賭器的物理存儲(chǔ)器劃分成諸如頁(yè)面的部分并且將其和來(lái)自物理務(wù)賭器中的其它過(guò)程的頁(yè)面相交織。通常可將存儲(chǔ)器劃分成頁(yè)面,每個(gè)頁(yè)面包舍已知數(shù)量的數(shù)據(jù),隨實(shí)施方案而變化,例如一個(gè)頁(yè)面可包含4096字節(jié)的存儲(chǔ)器。當(dāng)由執(zhí)行過(guò)程引用存儲(chǔ)單元時(shí),將它們轉(zhuǎn)換成頁(yè)面引用。在通常的機(jī)器中,存儲(chǔ)器管理將對(duì)過(guò)程虛擬存儲(chǔ)器中的頁(yè)面的引用映射到機(jī)器物理務(wù)賭器中的頁(yè)面。一般地,務(wù)賭器管理可使用頁(yè)面表來(lái)指定相應(yīng)于過(guò)程空間頁(yè)面位置的物理頁(yè)面〗立置。在虛擬機(jī)環(huán)境中管理客戶(hù)軟件的一個(gè)方面是存儲(chǔ)器管理。由在虛擬機(jī)中執(zhí)行的客戶(hù)軟件來(lái)處理存儲(chǔ)器管理對(duì)于控制諸如虛擬機(jī)監(jiān)控器的系統(tǒng)產(chǎn)生了復(fù)雜性??紤]例如在32位IA—32英特爾⑧體系結(jié)構(gòu)平臺(tái)(IA-32)上實(shí)現(xiàn)在主機(jī)上經(jīng)由虛擬化執(zhí)行兩個(gè)虛擬機(jī)的系統(tǒng)。在IA—32IntelArchitectureSoftwaieDeveloper'sManual(英特爾⑧軟件開(kāi)發(fā)者手冊(cè))(IA-32文檔)中描述了該平臺(tái)。1A-32平臺(tái)可包含實(shí)現(xiàn)為lA-32處理器的部分的IA-32頁(yè)面表。進(jìn)一步,假設(shè)每個(gè)虛擬機(jī)本身將IA-32機(jī)器的抽象呈^在其上執(zhí)行的客戶(hù)軟件。在每個(gè)虛擬機(jī)上沐f亍的客戶(hù)軟件可引用客戶(hù)過(guò)程虛擬務(wù)賭器地址,該地址又可以由客戶(hù)機(jī)的存儲(chǔ)器管理系統(tǒng)轉(zhuǎn)M^戶(hù)-物理存儲(chǔ)器(guest-physicalmemory)地址。然而,可由在主-物理夯賭器(host-physicalmemoty)中的進(jìn)一步的映射通過(guò)VMM和主機(jī)處理器上的硬件中的虛擬化子系統(tǒng)來(lái)實(shí)現(xiàn)客戶(hù)-物理存儲(chǔ)器本身。因此,由客戶(hù)過(guò)程或客戶(hù)剩乍系鄉(xiāng)A^客戶(hù)^器的引用,包括例如對(duì)客戶(hù)IA-32頁(yè)面;^控制寄存器的引用,必須由VMM來(lái)截取因?yàn)樗鼈儾荒苤苯觽鬟f到主機(jī)的IA-32頁(yè)面表而不進(jìn)行進(jìn)一步的再處理,由于客戶(hù)-物理存儲(chǔ)器實(shí)際上不直接對(duì)應(yīng)于主-物理存儲(chǔ)器而Aii—步通過(guò)主機(jī)的虛擬化系統(tǒng)重新映射。圖l描述了過(guò)程和物理存儲(chǔ)器(現(xiàn)有技術(shù))之間的關(guān)系。圖2抽象的描述了在一實(shí)施例中虛擬機(jī)和主機(jī)之間的關(guān)系。圖3描述了在一實(shí)施例中虛擬機(jī)環(huán)境的高層結(jié)構(gòu)。圖4a和4b說(shuō)明了虛擬機(jī)環(huán)境中一實(shí)施例中的處理。圖5描述了在一實(shí)施例中使用擴(kuò)展分頁(yè)表進(jìn)4亍地址計(jì)算。圖6描述了在一實(shí)施例中使用分級(jí)擴(kuò)展分頁(yè)表進(jìn)行地址計(jì)算。圖7描it在一實(shí)施例中的擴(kuò)展分頁(yè)^S^址指針。圖8描述了在一實(shí)施例中的擴(kuò)展分頁(yè)表?xiàng)l目。JH^實(shí)施方式圖2:圖2描述了在一實(shí)施例中,特別關(guān)于客戶(hù)a器映射的在主機(jī)上執(zhí)行的一個(gè)或多個(gè)虛擬機(jī)之間的關(guān)系。圖2說(shuō)明客戶(hù)-物理存儲(chǔ)器是如何通過(guò)主機(jī)的虛擬化系統(tǒng)重新映射的。例如虛擬機(jī)A,242和虛擬機(jī)B,257的每個(gè)虛擬機(jī)分別向在虛擬機(jī)上運(yùn)行的客戶(hù)軟件呈現(xiàn)虛擬處理器245和255。每個(gè)機(jī)器向客戶(hù)操怍系統(tǒng)或其它客戶(hù)軟件提供物理存儲(chǔ)器的抽象,分別為客戶(hù)-物理存儲(chǔ)器240和250。當(dāng)客戶(hù)壽欠件在虛擬機(jī)242和257上才丸行時(shí),實(shí)際上是由主機(jī)267在主機(jī)處理器265上利用主-物理存儲(chǔ)器260來(lái)執(zhí)行的。如圖2所示,在該實(shí)施例中,4^始于地址0在虛擬機(jī)A,242中呈現(xiàn)為物理務(wù)賭器空間的客戶(hù)-物理務(wù)賭器240B^t到主-物理務(wù)睹器260中的一些連續(xù)的區(qū)域270。類(lèi)似地,將虛擬機(jī)B,257中的客戶(hù)-物理存儲(chǔ)器250映射到主-物理存儲(chǔ)器260的不同部分275。如圖2所示,主機(jī)可具有1024MB的主-物理存儲(chǔ)器。如果^I:個(gè)虛擬機(jī)242和2547都分配256MB的存儲(chǔ)器,一個(gè)可能的映射可能是^^虛擬機(jī)A,242分配128—384MB的范圍和給虛擬機(jī)B,257分配512—768MB的范圍。虛擬機(jī)242和257都引用0—256MB的客戶(hù)-物理地址空間。只有VMM知道每個(gè)虛擬機(jī)地址空間都映射到主-物理地址空間的不同部分。在圖2中所示的虛擬機(jī)和存儲(chǔ)器feSt僅是一實(shí)施例的一個(gè)代表,在其它實(shí)施例中,在主機(jī)上執(zhí)行的虛擬機(jī)的實(shí)際數(shù)量可從一個(gè)變化到多個(gè);主機(jī)和虛擬機(jī)的實(shí)際存儲(chǔ)器大小可變并且從虛擬機(jī)到虛擬機(jī)是可變的。該例子描述了給虛擬機(jī)的簡(jiǎn)單、連續(xù)的務(wù)賭器分配。在更一般的情形下,分配給虛擬機(jī)的物理存儲(chǔ)器頁(yè)面可以是不連續(xù)的并且可分布在主-物理務(wù)賭器中,J^日交織并JL^屬于VMM和其它主過(guò)程的頁(yè)面交織。例如圖2所描述的,在系統(tǒng)中呈現(xiàn)為虛擬機(jī)的基于處理器的系統(tǒng)可盡其復(fù)雜地實(shí)JM擬機(jī)。因此例如,虛擬機(jī)可將客戶(hù)-物理,器的全視圖呈現(xiàn)給客戶(hù)os,并且使用由客戶(hù)os和虛擬處理器或虛擬機(jī)的其他虛扣:u更件提供的a器管理,對(duì)在虛擬機(jī)上執(zhí)行的客戶(hù)軟件進(jìn)行存儲(chǔ)器管理。在一示例性實(shí)施例中,虛擬機(jī)可將包括IA-32硬件支持(例如用于存儲(chǔ)器管理的頁(yè)面表)的IA-32平臺(tái)呈現(xiàn)給客戶(hù)OS,并且依次在主機(jī)平臺(tái)上實(shí)際地IW亍,該平臺(tái)也是包括用于^fr者器管理的IA-32硬件的IA-32平臺(tái)。沒(méi)有額外的機(jī)制,在該實(shí)施例中的虛擬化系統(tǒng)必須使用(作為一可能的解決方案)IA-32頁(yè)面表遮蔽(shadowing)來(lái)重新映射、劃分和保護(hù)物理存儲(chǔ)器,從而在VMM中實(shí)現(xiàn)物理^ft器虛擬化算法。因此,例如,當(dāng)客戶(hù)軟件試圖訪(fǎng)問(wèn)虛擬機(jī)的IA-32頁(yè)面表時(shí),VMM必須將虛擬化所需的功能(例如,重新映射物理地址)覆蓋到客戶(hù)OS所需的功能上。為此,VMM必須通過(guò)客戶(hù)軟件來(lái)捕獲圍繞分頁(yè)機(jī)制的使用的各種事件。如IA-32文檔中所述,這包括寫(xiě)入諸如IA-32務(wù)賭器管理系統(tǒng)的控制寄存器(例如,CR0、CR3和C4)的控制寄存器、訪(fǎng)問(wèn)與分頁(yè)和存儲(chǔ)器訪(fǎng)問(wèn)(例如,存儲(chǔ)器類(lèi)型范圍寄存器(MTRR))相聯(lián)系的特定模型寄存器(MSR)、處理某些例外(例如,頁(yè)面出錯(cuò))。這種使用IA-32頁(yè)面表來(lái)虛擬化物理M器^1雜的并且需要巨大的性能開(kāi)銷(xiāo)。圖3:圖3說(shuō)明虛擬機(jī)環(huán)境300的一實(shí)施例。在該實(shí)施例中,基于處理器的平臺(tái)316可旨VMM312。該VMM,雖然一_軟件中實(shí)現(xiàn),可向更髙層的軟件模擬和輸出虛擬^bu接口。這種更高層的軟件可包括標(biāo)準(zhǔn)OS、實(shí)時(shí)OS或者可以是M有限搡怍系統(tǒng)功能的拆卸(strippeckiown)環(huán)境,并且可以不包括在一些實(shí)施例中的標(biāo)準(zhǔn)OS中典型可用的OS工具。可替換地,例如,可在另一VMM中或使用另一VMM的服務(wù)^J^行VMM312。例如,可在硬件、軟件、固件或一些實(shí)施例中的44中技術(shù)的組合來(lái)實(shí)現(xiàn)VMM。平臺(tái)硬件可以是個(gè)人計(jì)算機(jī)(PC)、大型機(jī)、1^^個(gè)人數(shù)字助理(PDA)或"智能"移動(dòng)電話(huà)的手持設(shè)備、便攜式計(jì)算機(jī)、機(jī)頂盒或其他基于處理器的系統(tǒng)。平臺(tái)硬件316包括至少一個(gè)處理器318和務(wù)賭器320。處理器318可以是能執(zhí)^f呈序的^f可類(lèi)型的處理器,例如孩i處理器、數(shù)字信號(hào)處理器、微控制器等。在實(shí)施例中,處理器可包括孩t代碼、可編程遝輯或用于執(zhí)行的硬編碼邏輯。雖然圖3僅顯示了一個(gè)這才羊的處理器318,但在實(shí)施例的系統(tǒng)中可有一個(gè)或多個(gè)處理器。另外,處理器318可包括多個(gè)內(nèi)核、支持多線(xiàn)程等等。^器320可包括硬盤(pán)、軟盤(pán)、隨才;L^:^儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、閃存、上述設(shè)備的任意組合或各種實(shí)施例中處理器318能讀取的任意其他類(lèi)型的機(jī)器介質(zhì)。存儲(chǔ)器320可存儲(chǔ)指令和/或lt據(jù)用于進(jìn)行禾1^批阡和其他方法實(shí)施例oVMM312將一個(gè)或多個(gè)虛擬機(jī)抽象呈現(xiàn)給客戶(hù)軟件,可向各種客戶(hù)提供相同或不同的抽象。圖3顯示兩個(gè)虛擬機(jī),302和314。諸如在M虛擬機(jī)上運(yùn)行的客戶(hù)軟件303和313的客戶(hù)軟件可包^^者如客戶(hù)OS304或306的客戶(hù)OS和各種客戶(hù)軟件應(yīng)用308和310??蛻?hù)軟件303和313可訪(fǎng)問(wèn)其Jii^行客戶(hù)軟件303和313并扭/f亍其他功能的虛擬機(jī)內(nèi)的物理資源(例如,處理器寄存器、務(wù)賭器和I/0設(shè)備)。例如,依據(jù)在虛擬機(jī)302和3M中呈現(xiàn)的處理器的體系結(jié)構(gòu)和平臺(tái),客戶(hù)軟件303和313預(yù)期訪(fǎng)問(wèn)所有的寄存器、高速緩存、結(jié)構(gòu)、1/0設(shè)備、#器等等。在一實(shí)施例中,依照虛擬機(jī)控制結(jié)構(gòu)(VMCS)324中務(wù)賭的數(shù)據(jù),處理器318控制虛擬機(jī)302和314的^^f乍。VMCS324是可包含客戶(hù)軟件303和313的狀態(tài)、VMM312狀態(tài)、指示VMM312希望如何控制客戶(hù)軟件303和313梯作的執(zhí)行控制信息、控制在VMM312和虛擬機(jī)之間轉(zhuǎn)換的信息等的結(jié)構(gòu)。處理器318從VMCS324讀取信息來(lái)決定虛擬機(jī)的執(zhí)行環(huán)境并且限制它的行為。在一實(shí)施例中,在存儲(chǔ)器320中員VMCS324。在一些實(shí)施例中,使用多個(gè)VMCS結(jié)構(gòu)來(lái)支持多個(gè)虛擬機(jī)。VMM312可能需要管理由在虛擬機(jī)302和314中運(yùn)行的客戶(hù)軟件可訪(fǎng)問(wèn)的物理員器。在一實(shí)施例中,為了支持物理存儲(chǔ)器管理,處理器318提供了擴(kuò)展頁(yè)面表(EPT)機(jī)制。在該實(shí)施例中,VMM3!2可包括物理存儲(chǔ)器管理模塊擬4M日聯(lián)系的域提供值。這些域全^f^^爾作EPT控制。EPT控制可包括例如,指定是否應(yīng)該啟動(dòng)EPT機(jī)制的EPT啟動(dòng)指示器和一個(gè)或多個(gè)指示物理^^器虛擬化機(jī)制的形式和語(yǔ)義的EPT表配置控制。這些將在下面詳細(xì)討論。另夕卜,在一實(shí)施例中,EPT表328指示物理地址轉(zhuǎn)換和保護(hù)語(yǔ)義,VMM312可將它們放在客戶(hù)軟件303和313上。在一實(shí)施例中,在VMCS324中^f^EPT控制??商鎿Q地,EPT控制可存在于處理器318、存儲(chǔ)器320和處理器318的組合或其^/^f可存儲(chǔ)單元中。在一實(shí)施例中,為每個(gè)虛擬機(jī)302和314維持單獨(dú)的EPT控制。可替換地,為兩個(gè)虛擬機(jī)維樹(shù)目同的EPT控制并且在每個(gè)虛擬機(jī)登錄之前由VMM312更新。在一實(shí)施例中,在存儲(chǔ)器320中存儲(chǔ)EPT表328??商鎿Q地,EPT表328可存在于處理器318、存儲(chǔ)器320和處理器318的組合或其他4^f可的存儲(chǔ)單元中。為每個(gè)虛擬機(jī)302和314維持羊獨(dú)的EPT表328??商鎿Q地,為兩個(gè)虛擬機(jī)302在一實(shí)施例中,處理器318包括EPT訪(fǎng)問(wèn)邏輯322,該訪(fǎng)問(wèn)邏輯負(fù)責(zé)依據(jù)EPT啟動(dòng)指示器決定是否啟動(dòng)EPT機(jī)制。如^動(dòng)EPT機(jī)制,則處理器將客戶(hù)-物理地址轉(zhuǎn)M基于EPT控制器和EPT表328的主-物理地址。在一實(shí)施例中,其中系統(tǒng)300包括多個(gè)處理器或多個(gè)線(xiàn)程處理器,每個(gè)邏輯處理器都與單獨(dú)的EPT訪(fǎng)問(wèn)邏輯322相聯(lián)系,并且VMM312為每個(gè)邏輯處理器配置EPT表328和EPT控制??蓪⑼╥t^戶(hù)軟件(例如,303,包括客戶(hù)OS304和應(yīng)用308)訪(fǎng)問(wèn)的資源分成"優(yōu)先的(privileged)"或"非優(yōu)先的(non-privileg^d)"。對(duì)于優(yōu)先的資源,VMM312促進(jìn)客戶(hù)軟件所需的功能而保留對(duì)這些優(yōu)先資源的最終控制。進(jìn)一步,每個(gè)客戶(hù)軟件303和313預(yù)期處理各種平臺(tái)事件例如例外(例如,頁(yè)面出錯(cuò)、一般保護(hù)出錯(cuò)等等),中斷(例如,硬件中斷、軟件中斷)和平臺(tái)事件(例如,初始化(INIT)和系統(tǒng)管理中斷(SMI))。這些平臺(tái)事件中的一些是"優(yōu)先的",軟件中提供保護(hù)??蛻?hù)操怍系統(tǒng)和客戶(hù)應(yīng)用都試圖訪(fǎng)問(wèn)優(yōu)先資源并且都可以31起或經(jīng)歷優(yōu)先事件。優(yōu)先平臺(tái)事件和對(duì)優(yōu)先資源的訪(fǎng)問(wèn)嘗這在i^全M稱(chēng)作"優(yōu)先事件"或"虛擬化事件"。圖4a和4b:在一實(shí)施例中,例如先前所述和在圖3中描寫(xiě)的虛擬機(jī)環(huán)境的運(yùn)行由圖4a和4b中所示的處理來(lái)描述。圖4a描述了在一實(shí)施例中處理發(fā)^t客戶(hù)軟件中的優(yōu)先事件的VM環(huán)境的運(yùn)行;和通it^戶(hù)軟件處理非優(yōu)先事件的實(shí)施例的運(yùn)行。圖4b描述了與擴(kuò)展分頁(yè)表特別相關(guān)的實(shí)施例中的VM環(huán)境的運(yùn)硬件中的EPT機(jī)制相關(guān)。圖4a和4b并未描述可能出現(xiàn)在例如圖3所描述的環(huán)境中的所有部件或所有操怍。這只是為了清楚表達(dá)。雖然在圖4a和4b中表示一小組部件和一些M的運(yùn)行,但實(shí)施例中的VM環(huán)境可包括許多其他部件,并且許多其他#1乍會(huì)在這樣的實(shí)施例中發(fā)生。首先考慮圖4a。圖4a描述了在虛擬機(jī)抽象302上執(zhí)行的客戶(hù)軟件303的一組示例性的操作,和先前在圖3中描述的平臺(tái)石更件316。在指示它們?cè)谙到y(tǒng)中發(fā)生的位置的塊內(nèi)描述搡作(例如,在VMM312中、在客戶(hù)軟件303中等等)。除了先前描述的VM環(huán)境的其他部件,VM抽象302可為客戶(hù)軟件303在412存儲(chǔ)虛擬機(jī)狀態(tài)和其他狀態(tài)信息,并且也可4是供諸如虛擬網(wǎng)絡(luò)連接或通用寄存器組的其他資源,為客戶(hù)命名許多示例中的兩個(gè)。當(dāng)然,由其上才;WtVM的平臺(tái)石更件316來(lái)實(shí)際才是供實(shí)現(xiàn)VM狀態(tài)、客戶(hù)狀態(tài)的物理資源和其他VM資源。平臺(tái)硬件包括存儲(chǔ)器320、VMCS324和處理器318。在楊,客戶(hù)軟件303訪(fǎng)問(wèn)非優(yōu)先資源442。非優(yōu)先資源無(wú)需由VMM312控制并且可由客戶(hù)軟件直接地訪(fǎng)問(wèn),客戶(hù)軟件繼續(xù)而不需調(diào)用VMM312,在訪(fǎng)問(wèn)非優(yōu)先資源422后允許客戶(hù)繼續(xù)在445的運(yùn)行。非優(yōu)先平臺(tái)亊件同樣無(wú)需VMM312(并未在圖4a中顯示)的介入來(lái)處理。在405,客戶(hù)軟件303試圖訪(fǎng)問(wèn)優(yōu)先資源,和/或經(jīng)歷優(yōu)先平臺(tái)事件。當(dāng)這種優(yōu)先事件發(fā)^405時(shí),控制可以轉(zhuǎn)移407到VMM312。^戶(hù)軟件到VMM312的控制轉(zhuǎn)移407在這里稱(chēng)作虛擬機(jī)退出。在促進(jìn)資源訪(fǎng)問(wèn)或另外適當(dāng)處理優(yōu)先事件之后,VMM312可在432將控制返還給客戶(hù)軟件,然后客戶(hù)壽欠件重新開(kāi)始運(yùn)行,435。從VMM312到客戶(hù)軟件的控制轉(zhuǎn)移432稱(chēng)作虛擬機(jī)登錄。在一實(shí)施例中,VMM312通過(guò)執(zhí)行特別設(shè)計(jì)用于觸發(fā)轉(zhuǎn)換的指令(it^稱(chēng)作虛擬機(jī)登剝旨令)^動(dòng)虛擬機(jī)登錄,430。在一實(shí)施例中,當(dāng)虛擬機(jī)退出發(fā)生時(shí),^^客戶(hù)軟件使用的處理器狀態(tài)部件,410,加載VMM312所需的處理器狀態(tài)部件,并JL^420在VMM312中重新開(kāi)始執(zhí)行。在一實(shí)施例中,客戶(hù)軟件使用的處理器狀態(tài)部件a在VMCS324的客戶(hù)-狀態(tài)區(qū)域中,并且VMM312所需的處理器狀態(tài)部件a在VMCS324的監(jiān)控恭狀態(tài)區(qū)域。在一實(shí)施例中,當(dāng)從VMM312到客戶(hù)軟件的轉(zhuǎn)移發(fā)生時(shí),在虛擬機(jī)退出(并且當(dāng)處理虛擬機(jī)退出時(shí)可能已由VMM312修改)保存的處理器狀態(tài)部件在425恢復(fù)并且在430將控制返回給虛擬機(jī)302或314。接著,考慮圖4b。如前面所提到的,圖4b描述了上述的和圖4中描述的VM環(huán)境的那些運(yùn)行,特別地關(guān)于擴(kuò)展分頁(yè)表、客戶(hù)程序訪(fǎng)問(wèn)客戶(hù)-物理存儲(chǔ)器、和在一實(shí)施例中通過(guò)VMM^5更件中對(duì)EPT機(jī)制的管理。如前所述,為了清楚表達(dá),圖4b并未描述實(shí)施例中在VM環(huán)境中可能出現(xiàn)的所有部件或所有操作。雖然在圖4a和4b中表示一小組部件和一些特定樹(shù)乍,但實(shí)施例中的VM環(huán)境可包括許多其他部件,并且許多其他"^乍會(huì)在該實(shí)施例中發(fā)生。在圖4b中描述的實(shí)施例中的VM環(huán)境的部件是客戶(hù)軟件303、VM302、具有物理存儲(chǔ)器管理模塊326的VMM312和平臺(tái)硬件或物理機(jī)316。平臺(tái)石更件進(jìn)一步包括夯賭器320和具有EPT訪(fǎng)問(wèn)邏輯322的處理器318,該存儲(chǔ)器320在該實(shí)施例中包括一組EPT表328和VMCS324。一般地,如圖4所示在450,當(dāng)例如由客戶(hù)軟件303訪(fǎng)問(wèn)客戶(hù)-物理存儲(chǔ)器時(shí),可由客戶(hù)軟件來(lái)啟動(dòng)平臺(tái)硬件中的EPT設(shè)備的使用。將客戶(hù)-物理^H若器訪(fǎng)問(wèn)稱(chēng)作由VM302提供的頻器的VM抽象451,該抽象又指的是物理機(jī)316。如果啟動(dòng)EPT機(jī)制,平臺(tái)硬件316可使用EPT訪(fǎng)問(wèn)邏輯322和EPT表328,處理對(duì)客戶(hù)-物理存儲(chǔ)器的引用以將對(duì)客戶(hù)-物理務(wù)賭器的訪(fǎng)問(wèn)轉(zhuǎn)M對(duì)主-物理務(wù)賭器320的訪(fǎng)問(wèn)。EPT運(yùn)行的細(xì)節(jié)將參考下面的圖5和6進(jìn)^亍討論??捎蒝MM312來(lái)配置EPT機(jī)制自身,VMM312配置EPT表328和可儲(chǔ)存于VMCS324中的EPT控制。在該實(shí)施例中,可由VMM312進(jìn)行EPT機(jī)制的配置作為在VMM312中優(yōu)先事件405的處理^"和在VM登錄430之前的物理^fi者器管理模塊326運(yùn)行的一部分。在配置EPT機(jī)制中,為了啟動(dòng)、使其失效或另外控制EPT機(jī)制,460,VMM312可更新EPT表328和EPT控制。當(dāng)然,為使用和VM環(huán)境結(jié)合的擴(kuò)展分頁(yè)表,許多其他形式的處理也是可能的,例如,對(duì)于參照?qǐng)D3先前討論的EPT控制和EPT表328的不同位置,多個(gè)VM、多個(gè)處理器、多個(gè)線(xiàn)程、多個(gè)客戶(hù)和這些變化的組合,等等。圖5:圖5顯示了使用上面介紹的擴(kuò)展頁(yè)面表來(lái)處理的一個(gè)示例,當(dāng)在虛擬機(jī)中的客戶(hù)軟件引用客戶(hù)虛擬地址時(shí)最終計(jì)算主-物理地址。描述的例子顯示4^域技術(shù)人員可容易地?cái)U(kuò)展該例子,以理解例如,其他分頁(yè)模式(例如,在客戶(hù)軟件中的64位尋址)、其#4旨令集體系結(jié)構(gòu)(例如,InterItanium⑧體系結(jié)構(gòu),的)或其他配置。在圖5中,由在虛擬機(jī)中執(zhí)行的客戶(hù)軟件來(lái)^f亍對(duì)客戶(hù)虛擬地址510的引用。使用在客戶(hù)中激活的存儲(chǔ)器管理機(jī)制(即,由客戶(hù)操作系統(tǒng)來(lái)配置)來(lái)將虛擬地址轉(zhuǎn)換成客戶(hù)-物理地址。通過(guò)EPT在訪(fǎng)問(wèn)主-物理地址之前,將在轉(zhuǎn)換中使用的每個(gè)客戶(hù)-物理地址和最終產(chǎn)生的客戶(hù)-物理地址轉(zhuǎn)換成主-物理地址。在下面的討論中詳細(xì)說(shuō)明該過(guò)程。在該例子中,CR3寄存器520中的合適位502指向在客戶(hù)-物理務(wù)賭器中的客戶(hù)頁(yè)面目錄表560的基址。將該值502和來(lái)自客戶(hù)虛擬地址510的高位(upperbit)相結(jié)合(依據(jù)IA-32的語(yǔ)義通過(guò)乘以4來(lái)適當(dāng)?shù)卣{(diào)整,因?yàn)樵谠摾校碇械拿?目是4字節(jié))以形成客戶(hù)的PD表560中的頁(yè)面目錄項(xiàng)(PDE)的客戶(hù)-物理地址512。通過(guò)EPT表555轉(zhuǎn)換該值512以形成頁(yè)面目錄項(xiàng)的主-物理地址504。處理器使用該主-物理地址504來(lái)訪(fǎng)問(wèn)頁(yè)面目錄項(xiàng)。來(lái)自PDE的信息包括客戶(hù)頁(yè)面表570的基地址522。將該客戶(hù)-物理地址522和客戶(hù)虛擬地址510的位21:12相結(jié)合,適當(dāng)?shù)卣{(diào)整以形成客戶(hù)頁(yè)面表570中頁(yè)面表?xiàng)l目的客戶(hù)-物理地址532。通過(guò)EPT表565轉(zhuǎn)換該客戶(hù)-物理地址532以形成客戶(hù)的頁(yè)面表?xiàng)l目(PTE)的主-物理地址514。處理器使用該主-物理地址514來(lái)訪(fǎng)問(wèn)PTEo來(lái)自PTE的信息包括被訪(fǎng)問(wèn)的客戶(hù)-物理務(wù)賭器中的頁(yè)面的M址542。將該值和客戶(hù)虛擬地址510的低數(shù)位(loworderbit)(11:0)相結(jié)合以形成被訪(fǎng)問(wèn)的^f^器的客戶(hù)-物理地址552。通過(guò)EPT表575轉(zhuǎn)換該值552以形成iE^皮訪(fǎng)問(wèn)的^H者器的主-物理地址524。每次使用EPT表將客戶(hù)-物理^3止轉(zhuǎn)M主-物理地址,處理器也依據(jù)EPT表中的控制來(lái)確認(rèn)該訪(fǎng)問(wèn)是被允許的,其將在下面描述。另外,必須理解的是雖然在圖5中標(biāo)記為不同的,但EPT表555、565和575在一實(shí)施例中,可以是相同組的EPT表(即,EPT表的單一組被用于所有M戶(hù)-物理到主-物理的地址轉(zhuǎn)換)。圖6:圖6描述了使用前面介紹的擴(kuò)展頁(yè)面表來(lái)進(jìn)行處理的另一例子,使用多級(jí)EPT表來(lái)最終將客戶(hù)-物理地址轉(zhuǎn)M主-物理地址。在圖6所示的示例性實(shí)施例中,EPT勤旨針(EPTP)620中的合適位602指出第一級(jí)EPT表650的基址的主-物理地址,在該實(shí)施例中該地址^#在主-物理務(wù)賭器中。下面將根據(jù)圖7詳細(xì)地討論EPTP。在該例子中,EPT表中的條目每個(gè)為8字節(jié)。通過(guò)乘以8(例如,通過(guò)^i亥值左移3位)來(lái)適當(dāng)?shù)卣{(diào)整來(lái)自客戶(hù)-物理地址610(601)的位38:30,從而獲得調(diào)整的髙位客戶(hù)-物理地址603。將EPT^S^址值602結(jié)合(添加)調(diào)整的高位客戶(hù)-物理地址位603,從而形成第一級(jí)EPT表650中的EPT表?xiàng)l目651的主-物理;4i止604。#^圖8下面將討論在第一級(jí)EPT表650中的例如651的條目和其他EPT表660和670中的條目的示例性格式。EPT表?xiàng)l目651的部分是下一級(jí)EPT表660的基地址612。從客戶(hù)-物理地址610的位29:21(611)形成第二調(diào)整的地址部分613。將該調(diào)整的值613結(jié)合(加上)基也址612以形成下一級(jí)EPT表660中的EPT表?xiàng)l目661的主-物理地址614。處理器使用該主-物理地址614來(lái)訪(fǎng)問(wèn)EPT表?xiàng)l目661。來(lái)自EPT表?xiàng)l目661的信息包括最后的EPT表670的基地址622。將該基地址622和經(jīng)過(guò)適當(dāng)調(diào)整后的客戶(hù)虛擬地址610的調(diào)整的位20:12(623)相結(jié)合,以形成最后的EPT表670中EPT表?xiàng)l目671的地址624。處理器使用該主-物理地址624來(lái)訪(fǎng)問(wèn)EPT表?xiàng)l目0來(lái)自EPT表?xiàng)l目671的信息包括主-物理夯賭器690中被訪(fǎng)問(wèn)的頁(yè)面的M址632。將該頁(yè)面地址值690和客戶(hù)物理地址610的低數(shù)位(11:0)相結(jié)合以形^Jt訪(fǎng)問(wèn)的務(wù)賭器的最后的主-物理^也址634。在圖6所示的示例性實(shí)施例中,EPT表是分級(jí)的。在形式上它們對(duì)以常規(guī)的多級(jí)頁(yè)面表。而且,在該示例中,在每個(gè)EPT表中的每個(gè)EPT表?xiàng)l目是8字節(jié)大小,雖然在其他實(shí)施例中該大小可能不同,但本領(lǐng)域技術(shù)人員將會(huì)理解改變?cè)L問(wèn)表的機(jī)制。在該示例中,每個(gè)EPT表的大小為4KB。在其他實(shí)施例中,可使用不同的表大??;而且,象圖6中所描述的分級(jí)中的所有表無(wú)需是相同大小。大小的這種改變可能影響^戶(hù)-物理地址到索引下一級(jí)EPT表所用的位數(shù)。對(duì)于本領(lǐng)城技術(shù)人員來(lái)說(shuō)明顯的是,許多其他的EPT表配置都是可能的。該圖中描述的分級(jí)配置顯示了三個(gè)分級(jí)級(jí)別,其中兩個(gè)EPT表650和660分別用作對(duì)更低級(jí)EPT表660和670的索引。在其他實(shí)施例中,在這種分g中可能有更少,例如兩級(jí),或更多,例如四級(jí)或更多的^U"—般地,分級(jí)的級(jí)別數(shù)量可至少部分依賴(lài)于客戶(hù)-物理地址的位數(shù)、每個(gè)表的大小和在每個(gè)表?xiàng)l目中的字節(jié)數(shù)量中的一個(gè)或多個(gè)而變化。在圖6示例中的客戶(hù)-物理地址是32位大小。在其他實(shí)施例中,客戶(hù)-物理地址可以是不同大小的;大小的這種變化會(huì)需要EPT表的分級(jí)數(shù)量的變化,這是為了進(jìn)行轉(zhuǎn)換所需的。例如,如^戶(hù)-物理地址是48位,就需要4級(jí)EPT表來(lái)進(jìn)行轉(zhuǎn)換(假設(shè)在每級(jí)4KB的EPT表和在每個(gè)EPT表中8字節(jié)的EPT表?xiàng)l目)。在圖6所示的實(shí)施例中,EPT控制包括單個(gè)域、EPT指針(EPTP)。該域包含第一級(jí)EPT表的基地址。在該示例中,每個(gè)EPT是4KB的大小。圖7:如圖7中所描述的典型實(shí)施例中所示,EPTJ^址指針(EPTP)包括用來(lái)形成諸如在上面圖6中所述的第一級(jí)EPT表的基址的基地址(在主-物理存儲(chǔ)器中)的位。在圖7所描述的例子中,位59:12形成基地址。假設(shè)位11:0和63:60為0。當(dāng)然,各種位域的寬度可在其他實(shí)施例中變化,例如基地址域*賴(lài)于特別體系結(jié)構(gòu)或?qū)嵤┓桨钢械牡刂肺粩?shù)而變化。在EPTP寄存器中的剩余4站其他實(shí)施例中可用于其他目的。在一實(shí)施例中,僅通過(guò)虛擬機(jī)登錄或虛擬機(jī)退出可訪(fǎng)問(wèn)EPTP寄存器。在該實(shí)施例中,在虛擬機(jī)登錄時(shí)從VMCS中的EPTP域裝載處理器中的EPTP寄存器,當(dāng)客戶(hù)軟件運(yùn)行時(shí)激活EPT機(jī)制。如上所示,可由在VMCS內(nèi)或其他地方的其他控制位來(lái)控制該激活(以a載EPTP域)。圖8:該圖描述了EPT表中的條目的格式的示例性實(shí)施例。在該示例中,EPT表中的每個(gè)條目是8字節(jié)大小。在一實(shí)施例中,每個(gè)EPT表是4KB大小,這意味著每個(gè)EPT表頁(yè)面有512個(gè)EPT表?xiàng)l目。如圖8中的例子所示,每個(gè)EPT表?xiàng)l目包含存儲(chǔ)器中的下一級(jí)EPT表或頁(yè)面的基主-物理地址(ADDR)和許可以及其他配置信息。如前所述,在其他實(shí)施例中各種位域的寬度可改變,例如ADDR的寬度可依賴(lài)于特定體系結(jié)構(gòu)或?qū)嵤┓桨钢械牡刂肺粩?shù)而變化。圖8僅描述了2個(gè)許可位(permissionbit),當(dāng)前(Present)和可寫(xiě)(Writable)。在其他實(shí)施例中,可在每個(gè)EPT表?xiàng)l目中可以給出其他的許可和配置信息。例如,在一實(shí)施例中,許可位指示是否可以扭行夯賭器的頁(yè)面(即,是否可以取頁(yè)面的內(nèi)容并且由處理器解譯成指令)。EPT表可以是各種不同的格式。例如,可以如圖6所示實(shí)現(xiàn)為簡(jiǎn)單的分級(jí)表。可替換地,它們可以是單級(jí)頁(yè)面表(其中第一級(jí)EPT表的大小指示了客戶(hù)-物理地址空間的最大尺寸。)可替換地,它們可以是某種形式的哈希表。對(duì)于本領(lǐng)域枝術(shù)人員顯而易見(jiàn)的是,在其他實(shí)施例中無(wú)數(shù)可能的配置都是可能的。EPTM主-物理^器中可支持一個(gè)或多個(gè)頁(yè)面大小。在一實(shí)施例中,在每個(gè)EPT表中的每個(gè)條目都包括一個(gè)超級(jí)頁(yè)面位,該超級(jí)頁(yè)面位指示EPT表的移動(dòng)(walk)應(yīng)該停在那一點(diǎn)和使用EPT表?xiàng)l目中的地址信息和客戶(hù)-物理地址中的剩余位形成主-物理務(wù)賭器地址。在圖6所示的例子中,例如,如^LEPT表660中設(shè)置超級(jí)頁(yè)面位,那么在主-物理夯賭器中最后產(chǎn)生的頁(yè)面有2MB的大小并且通過(guò)結(jié)合客戶(hù)-物理地址610的位20:0和來(lái)自EPT表660的地址位形成最后的主-物理地址。在一些實(shí)施例中,可由虛擬機(jī)登錄來(lái)啟動(dòng)擴(kuò)展分頁(yè)表和EPTi^止轉(zhuǎn)換機(jī)制并由虛擬機(jī)退出取消使其失效。因此,作為結(jié)果,EPT機(jī)制可能不能為客戶(hù)軟件或VMM軟件所用以管理其自己的地址轉(zhuǎn)換。而且,在這些實(shí)施刺中,EPT機(jī)制可不同于并獨(dú)立于客戶(hù)或主機(jī)l欠件可用的其他常規(guī)存儲(chǔ)器頁(yè)面管理機(jī)制,例如在IA-32實(shí)施例中的IA-32分頁(yè)表,雖然EPT運(yùn)行可利用常規(guī)頁(yè)面管理機(jī)制的特性。因此,與使用主機(jī)的虛擬化和EPT機(jī)制的客戶(hù)軟件的抽行相對(duì),EPT主機(jī)Jii^行的其他頁(yè)面轉(zhuǎn)換工具。在一實(shí)施例中,EPT機(jī)制可利用和該實(shí)施例的常規(guī)頁(yè)面管理機(jī)制使用的相同格式的表,該^M于于客戶(hù)和VMM軟件是可用的。然而,控制EPT機(jī)制的表可能仍區(qū)別于那些控制從客戶(hù)-虛擬地址到客戶(hù)-物理地址轉(zhuǎn)換的表和不同于那些控制主-虛擬地址到主-物理地址轉(zhuǎn)換的表。統(tǒng)中的物理務(wù)賭器虛擬化的支持,但可使用軟件的方法實(shí)現(xiàn)其他實(shí)施例。提供一些實(shí)施例作為軟件程序產(chǎn)品或可包括其上已存有指令的機(jī)器或機(jī)器可讀介質(zhì)的軟件,在由機(jī)器訪(fǎng)問(wèn)該指令時(shí)^f亍該實(shí)施例的過(guò)程。在其他實(shí)施例中,可由部件來(lái)的任意組合來(lái)執(zhí)行過(guò)程。在先前的描述中,為了解釋?zhuān)U明了許多特定細(xì)節(jié)以便提供對(duì)所述實(shí)施例的完整理解,然而,本領(lǐng)域技術(shù)人員將意識(shí)到可以實(shí)施許多其他實(shí)施例而不需要這些M的細(xì)節(jié)。才^在基于處理器的系統(tǒng)內(nèi)數(shù)據(jù)位上的運(yùn)算的算法和符號(hào)表示給出上面詳細(xì)描述的一些部分。這些算法描述和表示^^領(lǐng)域才支術(shù)人員,們工作的內(nèi)容最有效地傳給本領(lǐng)域的其他技術(shù)人員所使用的手段。該運(yùn)算是需要對(duì)物理量進(jìn)行物理搡怍的那些運(yùn)算。這些物理量可采用電的、磁的、光的或其他能被存儲(chǔ)、傳輸、組合、比較和其他^^乍的其他物理信號(hào)。因?yàn)橥ǔS梅ǖ脑?,將這些信號(hào)稱(chēng)作位、值、元素、符號(hào)、字符、項(xiàng)、數(shù)量等時(shí)常地被證明是方便的。然而,應(yīng)當(dāng)記住所有這些和對(duì)以的術(shù)語(yǔ)是和適當(dāng)?shù)奈锢砹肯嗦?lián)系的并且僅是應(yīng)用于這些量的簡(jiǎn)便標(biāo)記。除非特別聲明否則為了描述清楚,例如"扭軒"、"處理"、"計(jì)算"、"推算"或"決定"等的術(shù)語(yǔ)指的是基于處理器的系統(tǒng)或類(lèi)似的電子計(jì)算設(shè)備的操怍和處理,在基于處理器的系統(tǒng)的存儲(chǔ)器內(nèi)操怍并將表示為物理量的數(shù)據(jù)轉(zhuǎn)a對(duì)以表示的其他數(shù)據(jù)或其他信息存儲(chǔ)、傳輸或顯示設(shè)備的數(shù)據(jù)。在該實(shí)施例的描述中,會(huì)麥考相應(yīng)附圖。在附圖中,貫穿幾個(gè)#見(jiàn)圖,用相同的數(shù)字描述本質(zhì)上對(duì)以的部件。可使用其他實(shí)施例并且可作結(jié)構(gòu)的、邏輯的和電的改變。而且,應(yīng)當(dāng)理解各種實(shí)施例,雖然不同,但不必要是相互排斥的。例如,在一實(shí)施例中描述的特定特性、結(jié)構(gòu)或特征也可包舍在其他實(shí)施例之內(nèi)。進(jìn)一步,在處理器中實(shí)現(xiàn)的實(shí)施例的設(shè)計(jì)可經(jīng)過(guò)各種階段,從創(chuàng)建到模擬到制作。表示設(shè)計(jì)的數(shù)據(jù)可表示許多方法中的設(shè)計(jì)。第一,因?yàn)樵谀M中有用,可使用硬件描迷語(yǔ)言或其他功能描述語(yǔ)言a示硬件。另外,可在設(shè)計(jì)工藝的一些階段制造具有邏輯和/或晶體管門(mén)的電路級(jí)模型。而且,在一些階段,大多數(shù)設(shè)計(jì)達(dá)到數(shù)據(jù)表示石更件模型中各種設(shè)備的物理放置的水平。在使用常規(guī)半#制造技術(shù)的情況下,表示硬件模型的數(shù)據(jù)可以是詳細(xì)說(shuō)明用于制造集成電路的掩模的不同掩模層上的各種特r生的存在與否的數(shù)據(jù)。在設(shè)計(jì)的^^可表示中,可以在任何形式的機(jī)器可讀介質(zhì)中#^數(shù)據(jù)。調(diào)制或產(chǎn)生用于傳輸這種信息的光或電波,存儲(chǔ)器或例如盤(pán)的磁或光的,器可以是機(jī)器可讀^h質(zhì)。4W可這些介質(zhì)可"攜帶"或"指示"設(shè)計(jì)或軟件信息。當(dāng)傳輸指示或攜帶代碼或設(shè)計(jì)的電載波到進(jìn)行電信號(hào)的復(fù)制、緩沖或重傳的程度時(shí),制作了新的拷貝。因此,通信提供者或網(wǎng)絡(luò)提供者可制造構(gòu)成或表示實(shí)施例的物品的拷貝(載波)。作為程序產(chǎn)品提供的實(shí)施例可包括具有存儲(chǔ)其上的數(shù)據(jù)的機(jī)器可讀介質(zhì),介質(zhì)包括但不限于,軟盤(pán)、光盤(pán)、DVD-ROM盤(pán)、DVD-RAM盤(pán)、DVD-RW盤(pán)、DVD+RW盤(pán)、CD-R盤(pán)、CD-RW盤(pán)、CD-ROM盤(pán)和磁一光盤(pán)、ROM、RAM、EPROM、EEPROM、磁或光卡、閃存或適合存儲(chǔ)電子指令的其他類(lèi)介質(zhì)/機(jī)器可讀<^質(zhì)。而且,實(shí)施例也可作為程序產(chǎn)品下載,其中通過(guò)在栽波中嵌入數(shù)據(jù)信號(hào)或經(jīng)由通信鏈接(例如,調(diào)制解調(diào)器或網(wǎng)絡(luò)連接)的其他傳#<^質(zhì)的方法,可從遠(yuǎn)端數(shù)據(jù)源傳送程序到所需的設(shè)備。以最基本的方式描述了許多方法,但可從^j可方法中添加或刪除步驟并且可從任意的描述數(shù)據(jù)中添加或刪除信息而不背離要求保護(hù)的主題內(nèi)容的基本范圍。許多進(jìn)一步的修改和調(diào)整對(duì)于本領(lǐng)域技術(shù)人員是顯而易見(jiàn)的。提供特殊的實(shí)施例不是為了限制要求保護(hù)的主題內(nèi)容而是為了對(duì)它進(jìn)行說(shuō)明。要求保護(hù)的的。權(quán)利要求1.一種用于執(zhí)行主機(jī)上的主機(jī)軟件的處理器,所述主機(jī)軟件用于控制在虛擬機(jī)上執(zhí)行的客戶(hù)軟件的操作,所述處理器包括第一控制寄存器,用于存儲(chǔ)指向第一多個(gè)頁(yè)面表的第一指針以用于將第一地址轉(zhuǎn)換到第二地址,第一地址在客戶(hù)的線(xiàn)性虛擬地址空間中,第二地址在虛擬機(jī)的物理地址空間中;和第二控制寄存器,用于存儲(chǔ)指向第二多個(gè)頁(yè)面表的第二指針以用于將第二地址轉(zhuǎn)換到第三地址,第三地址在主機(jī)的物理地址空間中。2.如權(quán)利要求l所述的處理器,其中主機(jī)軟件是虛擬機(jī)監(jiān)控器。3.如權(quán)利要求l所述的處理器,其中主機(jī)軟件將根據(jù)在虛擬機(jī)控制結(jié)構(gòu)中所存儲(chǔ)的數(shù)據(jù)來(lái)控制客戶(hù)軟件的操作。4.如權(quán)利要求3所述的處理器,包括邏輯,所述邏輯用于根據(jù)在虛擬機(jī)控制結(jié)構(gòu)中所存儲(chǔ)的指示器來(lái)確定處理器是否將使用所述第二多個(gè)頁(yè)面表來(lái)把第二地址轉(zhuǎn)換到第三地址。5.如權(quán)利要求3所述的處理器,其中第二控制寄存器被從虛擬機(jī)控制結(jié)構(gòu)裝載第二指針。6.如權(quán)利要求l所述的處理器,其中第三地址是能被處理器訪(fǎng)問(wèn)的存儲(chǔ)器中的頁(yè)面的基地址。7.如權(quán)利要求6所述的處理器,其中第二多個(gè)頁(yè)面表包括許可信息。8.如權(quán)利要求7所述的處理器,其中許可信息指示頁(yè)面是否是當(dāng)前的。9.如權(quán)利要求7所迷的處理器,其中許可信息指示頁(yè)面是否是可寫(xiě)的。10.如權(quán)利要求7所述的處理器,其中許可信息指示頁(yè)面是否是可執(zhí)行的。11.一種用于執(zhí)行主機(jī)上的主機(jī)軟件的方法,所述主機(jī)軟件用于控制在虛擬機(jī)上執(zhí)行的客戶(hù)軟件的操作,所述方法包括在虛擬機(jī)上執(zhí)行客戶(hù)軟件期間,使用處理器中的第一控制寄存器所指向的第一多個(gè)頁(yè)面表來(lái)將第一地址轉(zhuǎn)換到第二地址,第一地址在客戶(hù)軟件的線(xiàn)性虛擬地址空間中,第二地址在虛擬機(jī)的物理地址空間中;和在虛擬機(jī)上執(zhí)行客戶(hù)軟件期間,使用處理器中的第二控制寄存器所指向的第二多個(gè)頁(yè)面表來(lái)將第二地址轉(zhuǎn)換到第三地址,第三地址在主機(jī)的物理地址空間中。12.如權(quán)利要求ii所述的方法,其中主機(jī)軟件是虛擬機(jī)監(jiān)控器。13.如權(quán)利要求ii所述的方法,其中主機(jī)軟件將根據(jù)在虛擬機(jī)控制結(jié)構(gòu)中所存儲(chǔ)的數(shù)據(jù)來(lái)控制客戶(hù)軟件的操作。14.如權(quán)利要求13所述的方法,還包括結(jié)合處理器執(zhí)行指令以用于將處理器的控制從主機(jī)軟件轉(zhuǎn)移到客戶(hù)軟件而從虛擬機(jī)控制結(jié)構(gòu)加載第二控制寄存器。15.如權(quán)利要求ll所述的方法,還包括走查所述第二多個(gè)頁(yè)面表以將第二地址轉(zhuǎn)換到第三地址。16.如權(quán)利要求ll所述的方法,其中第三地址是能被處理器訪(fǎng)問(wèn)的存儲(chǔ)器中的頁(yè)面的基地址,并且還包括響應(yīng)于頁(yè)面出錯(cuò)而將處理器的控制從客戶(hù)軟件轉(zhuǎn)移到主機(jī)軟件。17.—種用于執(zhí)行主機(jī)上的主機(jī)軟件的系統(tǒng),所述主機(jī)軟件用于控制在虛擬機(jī)上執(zhí)行的客戶(hù)軟件的操作,所述系統(tǒng)包括存儲(chǔ)器;和處理器,包括第一控制寄存器,用于存儲(chǔ)指向存儲(chǔ)器中的第一多個(gè)頁(yè)面表的第一指針以用于將第一地址轉(zhuǎn)換到第二地址,第一地址在客戶(hù)軟件的線(xiàn)性虛擬地址空間中,第二地址在虛擬機(jī)的物理地址空間中;和第二控制寄存器,用于存儲(chǔ)指向存儲(chǔ)器中的第二多個(gè)頁(yè)面表的第二指針以用于將第二地址轉(zhuǎn)換到第三地址,第三地址在主機(jī)的物理地址空間中。18.如權(quán)利要求n所述的系統(tǒng),其中主機(jī)軟件將根據(jù)在存儲(chǔ)器中的虛擬機(jī)控制結(jié)構(gòu)中所存儲(chǔ)的數(shù)據(jù)來(lái)控制客戶(hù)軟件的操作。19.如權(quán)利要求18所述的系統(tǒng),其中將利用第二指針從虛擬機(jī)控制結(jié)構(gòu)加載第二控制寄存器。20.如權(quán)利要求17所述的系統(tǒng),其中第三地址是存儲(chǔ)器中的頁(yè)面的基地址。全文摘要本發(fā)明涉及虛擬化虛擬機(jī)系統(tǒng)中的物理存儲(chǔ)器,公開(kāi)了一種處理器,包括具有存儲(chǔ)器虛擬化支持系統(tǒng)的虛擬化系統(tǒng),將由虛擬機(jī)上可執(zhí)行的客戶(hù)軟件對(duì)客戶(hù)-物理存儲(chǔ)器的引用映射到對(duì)主機(jī)的主-物理存儲(chǔ)器的引用,該客戶(hù)軟件在主機(jī)上也是可執(zhí)行的。文檔編號(hào)G06F12/10GK101533358SQ20091013546公開(kāi)日2009年9月16日申請(qǐng)日期2006年1月13日優(yōu)先權(quán)日2005年1月14日發(fā)明者A·安德森,D·羅杰斯,G·奈格爾,L·史密斯三世,R·烏利格,R·桑卡蘭,S·本尼特申請(qǐng)人:英特爾公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1