国产精品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>

      使用聚合的小頁(yè)面的擴(kuò)展的頁(yè)面大小的制作方法

      文檔序號(hào):6349853閱讀:137來(lái)源:國(guó)知局
      專利名稱:使用聚合的小頁(yè)面的擴(kuò)展的頁(yè)面大小的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)處理器,特別是涉及虛擬存儲(chǔ)器環(huán)境中的頁(yè)面轉(zhuǎn)換。
      背景技術(shù)
      現(xiàn)代計(jì)算機(jī)系統(tǒng)利用虛擬存儲(chǔ)器來(lái)提高性能。例如,為了在利用更大容量的硬盤存儲(chǔ)的同時(shí)有效地利用存儲(chǔ)器,處理器經(jīng)常集成虛擬尋址機(jī)制(mechanism),其中虛擬地址是指比存儲(chǔ)器的物理尺寸大許多的地址空間。虛擬尋址機(jī)制通常是通過處理器硬件和操作系統(tǒng)軟件的組合來(lái)執(zhí)行的。在實(shí)踐中,大的虛擬地址空間通常是分成網(wǎng)頁(yè)。每當(dāng)處理器讀或?qū)懱摂M存儲(chǔ)器地址時(shí),專門的處理器硬件就將地址轉(zhuǎn)換成位于物理存儲(chǔ)器上的頁(yè)面(有時(shí)也稱為幀)上的物理位置或存儲(chǔ)在磁盤上的頁(yè)面(或幀)的索引。如果索引是存儲(chǔ)在磁盤上的幀,操作系統(tǒng)就將該幀移動(dòng)到物理存儲(chǔ)器中,如果有必要,還交換出最近未訪問的幀。使用分頁(yè)的地址轉(zhuǎn)換通常涉及稱為頁(yè)轉(zhuǎn)換表的系列的數(shù)據(jù)結(jié)構(gòu)。要將虛擬地址轉(zhuǎn)換成物理地址,虛擬地址的低階位可被直接映射到物理地址,而虛擬地址的高階位可用于索引到頁(yè)面轉(zhuǎn)換表以找到物理地址的高階位。在層次頁(yè)面表執(zhí)行中,處理器可將虛擬地址的高階位分成一個(gè)或多個(gè)位域,每一個(gè)對(duì)應(yīng)到不同層次的頁(yè)面轉(zhuǎn)換表的等級(jí)。將虛擬地址映射到物理地址的頁(yè)轉(zhuǎn)換表中的項(xiàng)一般可簡(jiǎn)稱為頁(yè)面表項(xiàng)(PTE)。通過將PTE緩存在稱為轉(zhuǎn)換后備緩沖器(TLB)的CPU緩存中,虛擬地址轉(zhuǎn)換的速度可能會(huì)增加。TLB可以有固定數(shù)量的插槽來(lái)存儲(chǔ)PTE。由于訪問TLB項(xiàng)一般比使用頁(yè)面轉(zhuǎn)換表進(jìn)行地址轉(zhuǎn)換的速度快,所以TLB的大小和涵蓋可能是系統(tǒng)整體性能的重要指標(biāo)。TLB 的涵蓋取決于每一個(gè)TLB項(xiàng)所代表的頁(yè)面的大小。常見的電腦架構(gòu)只提供了虛擬存儲(chǔ)器的頁(yè)面大小的粗略選擇。例如,著名的X86-64架構(gòu)提供大小為4KB、2MB和IGB的頁(yè)面。較小的頁(yè)面大小減少了 TLB的有效容量,增加了 TLB訪問的未命中率。不幸的是,非常大的頁(yè)面大小往往會(huì)造成不需要大型數(shù)據(jù)集的應(yīng)用程序的存儲(chǔ)器配置效率低下。鑒于上述考慮,可能需要通過改善TLB未命中率和/或增加TLB有效容量而同時(shí)保持有效的存儲(chǔ)器使用以提高系統(tǒng)性能的系統(tǒng)和方法。除了上述考慮外,盡管改善TLB未命中率和容量可能提供一些增強(qiáng)的功能,每當(dāng)引入增強(qiáng)的功能時(shí)還使處理器能繼續(xù)運(yùn)行現(xiàn)有的軟件可能是可取的。因此,繼續(xù)支持傳統(tǒng)的分頁(yè)模式的處理器增強(qiáng)可能是可取的。
      發(fā)明概述公開了包括虛擬存儲(chǔ)器分頁(yè)機(jī)制的處理器的各種實(shí)施例。虛擬存儲(chǔ)器分頁(yè)機(jī)制使在處理器上運(yùn)行的操作系統(tǒng)能使用第一大小和第二大小的頁(yè)面。第二大小大于第一大小。 虛擬存儲(chǔ)器分頁(yè)機(jī)制進(jìn)一步使操作系統(tǒng)能形成包括第一大小的兩個(gè)或更多的連續(xù)頁(yè)面的一系列頁(yè)面的超級(jí)頁(yè)面。超級(jí)頁(yè)面的大小小于第二大小。該處理器還包括頁(yè)面表,所述頁(yè)面表包括用于在每一個(gè)超級(jí)頁(yè)中所包括的所述兩個(gè)或更多的連續(xù)頁(yè)面中的每一個(gè)的單獨(dú)項(xiàng)。虛擬存儲(chǔ)器分頁(yè)機(jī)制使操作系統(tǒng)使用單一的虛擬地址來(lái)訪問每一個(gè)超級(jí)頁(yè)面。所述處理器還包括轉(zhuǎn)換后備緩沖器(TLB)。虛擬存儲(chǔ)器分頁(yè)機(jī)制將TLB中的單項(xiàng)解釋為指包括與響應(yīng)檢測(cè)到與TLB中的所述項(xiàng)有關(guān)的超級(jí)頁(yè)面使能指示器有效的超級(jí)頁(yè)面對(duì)應(yīng)的一系列頁(yè)面的存儲(chǔ)器區(qū)。在一個(gè)實(shí)施例中,超級(jí)頁(yè)面的大小是64KB。在一個(gè)實(shí)施例中,虛擬存儲(chǔ)器分頁(yè)機(jī)制響應(yīng)檢測(cè)到與TLB中的項(xiàng)有關(guān)的超級(jí)頁(yè)面使能指示器是有效的,將所述頁(yè)面表中的項(xiàng)解釋為指包括超級(jí)頁(yè)面的一部分的存儲(chǔ)器區(qū)。 在進(jìn)一步的實(shí)施例中,超級(jí)頁(yè)面使能指示器是可軟件設(shè)置的。虛擬存儲(chǔ)器分頁(yè)機(jī)制響應(yīng)于檢測(cè)到所述頁(yè)面表中的至少兩個(gè)項(xiàng)中的至少一個(gè)項(xiàng)缺失或包括與所述頁(yè)面表中的至少兩個(gè)項(xiàng)中的其他項(xiàng)的屬性不一致的屬性而發(fā)出頁(yè)面錯(cuò)誤。在再進(jìn)一步的實(shí)施例中,所述虛擬存儲(chǔ)器分頁(yè)機(jī)制同時(shí)且獨(dú)立地使超級(jí)頁(yè)面在處理器上操作的第一操作系統(tǒng)和第二操作系統(tǒng)中的一個(gè)或兩個(gè)上使用。在再進(jìn)一步的實(shí)施例中,第一操作系統(tǒng)是虛擬環(huán)境中的客機(jī)操作系統(tǒng),配置為使用第一頁(yè)面表將客機(jī)地址空間中的虛擬地址轉(zhuǎn)換為客機(jī)地址空間的物理地址,第二操作系統(tǒng)是虛擬環(huán)境中的主機(jī)操作系統(tǒng),配置為使用第二頁(yè)面表將客機(jī)地址空間中的物理地址轉(zhuǎn)換為主機(jī)地址空間的物理地址。在再進(jìn)一步的實(shí)施例中,虛擬存儲(chǔ)器分頁(yè)機(jī)制使操作系統(tǒng)能使用兩個(gè)或兩個(gè)以上的不同的超級(jí)頁(yè)面大小的超級(jí)頁(yè)。在此實(shí)施例中,每個(gè)超級(jí)頁(yè)面的大小等于兩個(gè)或多個(gè)連續(xù)的、 對(duì)齊的第一大小的頁(yè)面的大小,每個(gè)超級(jí)頁(yè)面的大小小于第二大小??紤]下面的說明和附圖,這些和其他的實(shí)施例將變得明顯。


      圖1是可包含擴(kuò)展的頁(yè)面大小的計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例的概略框圖。圖2示出了可以通過處理器在系統(tǒng)中使用的地址轉(zhuǎn)換系統(tǒng)的一個(gè)實(shí)施例。圖3示出了將頁(yè)面表的項(xiàng)或TLB中的項(xiàng)映射到存儲(chǔ)器的一個(gè)實(shí)施例。圖4示出了控制寄存器中包含的、表示支持?jǐn)U展的頁(yè)面大小的位域的一個(gè)實(shí)施例。圖5示出了模型特定寄存器(MSR)中包含的位域的一個(gè)實(shí)施例。圖6示出了可由操作系統(tǒng)用來(lái)定義超級(jí)頁(yè)面的數(shù)據(jù)結(jié)構(gòu)項(xiàng)的一個(gè)實(shí)施例。圖7示出了可由處理器執(zhí)行訪問超級(jí)頁(yè)面的分頁(yè)流程的一個(gè)實(shí)施例。圖8示出了可用于檢查從支持超級(jí)頁(yè)面的處理器中的分頁(yè)表中讀取的超級(jí)頁(yè)面項(xiàng)的有效性的流程的一個(gè)實(shí)施例。圖9示出了可用于配置處理器使用超級(jí)頁(yè)面的流程的一個(gè)實(shí)施例。雖然本發(fā)明可進(jìn)行各種修改和以其他形式進(jìn)行,但在附圖中以示例的方式示出了具體的實(shí)施例,在本文進(jìn)行了詳細(xì)說明。然而,應(yīng)理解,附圖及其詳細(xì)的說明不是為了將本發(fā)明限制于所公開的特定形式,與此相反,本發(fā)明包括在所附的權(quán)利要求書所定義的本發(fā)明的精神和范圍內(nèi)的所有修改、等同物及替代物。
      詳細(xì)說明圖1是可包含擴(kuò)展的頁(yè)面大小的計(jì)算機(jī)系統(tǒng)100的一個(gè)實(shí)施例的概略框圖。處理器110被示為與外圍設(shè)備120和物理存儲(chǔ)器130聯(lián)接。外圍設(shè)備120可包括存儲(chǔ)設(shè)備170、 網(wǎng)絡(luò)接口 174和可移動(dòng)介質(zhì)177。所示的實(shí)施例是典型的通用計(jì)算機(jī)系統(tǒng)。然而,所示的組件,特別是處理器110,可能會(huì)在各種各樣的設(shè)備中發(fā)現(xiàn),諸如控制系統(tǒng)、家電、汽車、消費(fèi)類電子產(chǎn)品之類或事實(shí)上采用計(jì)算和存儲(chǔ)或處理數(shù)據(jù)的任何設(shè)備中發(fā)現(xiàn)。處理器110是可通過提供地址轉(zhuǎn)換功能支持虛擬存儲(chǔ)器的各種處理器的任何一個(gè)的說明。處理器Iio可包括與I/O接口 160和2級(jí)(U)高速緩存器150聯(lián)接的一個(gè)或多個(gè)核140。核140可包括聯(lián)接到L2高速緩存器150的一級(jí)(Li)高速緩存器145。物理存儲(chǔ)器130通常包括RAM,但也可以是聯(lián)接到處理器110和提供對(duì)數(shù)據(jù)的相對(duì)快速的訪問以處理在處理器110上的執(zhí)行的任何類型的數(shù)據(jù)存儲(chǔ)。與此相反,存儲(chǔ)設(shè)備170 —般可存儲(chǔ)比物理存儲(chǔ)器130較大的量的數(shù)據(jù),有較慢的訪問時(shí)間。常見的存儲(chǔ)設(shè)備包括硬盤、軟盤、 光盤或任何其他合適的數(shù)據(jù)存儲(chǔ)設(shè)備。根據(jù)計(jì)算機(jī)系統(tǒng)100的預(yù)定用途,其他各種外圍設(shè)備120可通過I/O接口 160聯(lián)接到處理器110。例如,外圍設(shè)備120可包括鍵盤、顯示器、揚(yáng)聲器、磁盤驅(qū)動(dòng)器、輸入/輸出端口等。存儲(chǔ)器130、外圍設(shè)備120和處理器110之間的互連可包括地址總線和數(shù)據(jù)總線, 并可以包括共享總線、開關(guān)結(jié)構(gòu)或在計(jì)算機(jī)系統(tǒng)中將組件聯(lián)在一起的任何其他合適的連接系統(tǒng)。在替代實(shí)施例中,計(jì)算機(jī)系統(tǒng)100可包括多于或少于兩個(gè)級(jí)別的高速緩存器。在操作過程中,當(dāng)核140需要第一次訪問頁(yè)面數(shù)據(jù)時(shí),相應(yīng)的數(shù)據(jù)可從存儲(chǔ)設(shè)備 170移動(dòng)到存儲(chǔ)器130。核140可隨后將頁(yè)面的一個(gè)或多個(gè)部分(例如,高速緩存線)從存儲(chǔ)器130移動(dòng)到Ll高速緩存器145。由于需要額外的高速緩存線,它們也可以被移動(dòng)到Ll 高速緩存器145。如果Ll高速緩存器145中沒有足夠的空間,就可將高速緩存線移動(dòng)(驅(qū)逐)到L2高速緩存器150。類似地,當(dāng)L2高速緩存器150已滿時(shí),可將高速緩存線移至存儲(chǔ)器130,當(dāng)存儲(chǔ)器130已滿時(shí),可將頁(yè)面移至存儲(chǔ)設(shè)備170。確定當(dāng)特定的高速緩存器已滿時(shí)移動(dòng)哪一部分頁(yè)面的技術(shù)在本領(lǐng)域是眾所周知的。這些技術(shù)的每一個(gè)都可被稱為高速緩存器替換策略或高速緩存器算法。圖2示出了可通過處理器110在系統(tǒng)100中使用的地址轉(zhuǎn)換系統(tǒng)200的一個(gè)實(shí)施例。系統(tǒng)200包括轉(zhuǎn)換后備緩沖器(TLB) 210、頁(yè)面表220和磁盤230。在一個(gè)實(shí)施例中,TLB 210和頁(yè)面表220可被納入到處理器110中,盤230可以是與存儲(chǔ)設(shè)備170類似的各種存儲(chǔ)設(shè)備。在操作過程中,處理器Iio可獲得虛擬地址240來(lái)使來(lái)自過程的所需的頁(yè)面執(zhí)行讀或?qū)懱摂M存儲(chǔ)器位置的指令。隨后處理器110可以試圖通過咨詢TLB210的項(xiàng)找出與虛擬地址240對(duì)應(yīng)的物理地址。如果從虛擬到物理的轉(zhuǎn)換存在于TLB210中(稱作TLB命中),包括幀編號(hào)的物理地址250可返回到處理器110。如果從虛擬到物理的轉(zhuǎn)換不存在于TLB 210中(稱作TLB未命中),處理器110就可試圖通過咨詢頁(yè)面表220中的項(xiàng)找出與虛擬地址240對(duì)應(yīng)的物理地址。如果從虛擬到物理的轉(zhuǎn)換存在于頁(yè)面表220中(稱作頁(yè)面表命中),轉(zhuǎn)換項(xiàng)就可被寫入TLB210。隨后,處理器110可通過咨詢TLB210中的項(xiàng)重試訪問,現(xiàn)在可能會(huì)找到所要的項(xiàng)。如果從虛擬到物理的轉(zhuǎn)換不存在于頁(yè)面表220中(稱作頁(yè)面表未命中),處理器110 就可作頁(yè)面故障的聲明。頁(yè)面故障可導(dǎo)致所要的頁(yè)面從磁盤230檢索,將相應(yīng)的項(xiàng)寫入頁(yè)面表220。在頁(yè)面表220已經(jīng)更新后,處理器110可以通過咨詢TLB 210中的項(xiàng)重新訪問。 由于TLB210還沒有更新,TLB未命中會(huì)發(fā)生。然而,處理器110可隨后咨詢?cè)陧?yè)面表220中的項(xiàng),頁(yè)面表?yè)糁锌赡馨l(fā)生,轉(zhuǎn)換項(xiàng)可被寫入TLB 210。隨后,處理器110可以通過咨詢TLB 210中的項(xiàng),現(xiàn)在可以找到所需的項(xiàng)。如果所需的頁(yè)面不能從磁盤230檢索到,例如,如果所需的訪問是無(wú)效的,就可由諸如在處理器110上執(zhí)行的操作系統(tǒng)之類的軟件宣布和處理分段故障(segmentation fault)或其他類似的故障。頁(yè)面表220中的項(xiàng)可使用多種格式中的任何格式將虛擬地址轉(zhuǎn)換為物理地址。一般來(lái)說,虛擬地址包括用作頁(yè)面表220的索引的一些位域和用作頁(yè)面表220確定的頁(yè)的偏移的低階位。在不同的實(shí)施例中,頁(yè)面表220可以包括一個(gè)或多個(gè)層次,每一個(gè)層次由虛擬地址的特定的位域索引。因此,在虛擬地址中的高階位域的格式取決于頁(yè)面大小和頁(yè)面表 220中的數(shù)量層次。無(wú)論頁(yè)面表層次的數(shù)量如何,頁(yè)面表項(xiàng)和相應(yīng)的TLB項(xiàng)可用于將虛擬地址轉(zhuǎn)化為包括物理幀號(hào)的物理地址。支持虛擬尋址的處理器可以使用多種操作模式的不同長(zhǎng)度的虛擬地址。這樣的操作模式可以定義操作系統(tǒng)和處理器解釋虛擬地址中的位域的方式以及在虛擬地址轉(zhuǎn)換到物理地址時(shí)位域的使用方式。在一個(gè)實(shí)施例中,處理器110保持與X86架構(gòu)兼容的處理器運(yùn)行模式的向后的兼容性。增加TLB的涵蓋和減少TLB未命中的可能性的一種方法是增加TLB中的每一個(gè)項(xiàng)所代表的頁(yè)面的大小。處理器110可配置為使用下面說明的通過控制寄存器設(shè)置的擴(kuò)展的頁(yè)面大小。圖3示出了將頁(yè)面表310中的項(xiàng)或TLB 350中的項(xiàng)映射到存儲(chǔ)器330的一個(gè)實(shí)施例。在所示實(shí)施例中,頁(yè)面表項(xiàng)可對(duì)應(yīng)4KB的頁(yè)面,TLB項(xiàng)可對(duì)應(yīng)于較大的頁(yè)面大小,例如64KB的頁(yè)面。頁(yè)面表310可包括頁(yè)面表項(xiàng)301-318等。TLB350可包括項(xiàng)351-357等。 存儲(chǔ)器330可包括頁(yè)面331-348等。項(xiàng)301-318中的每一個(gè)可對(duì)應(yīng)4KB的頁(yè)面。如圖所示,項(xiàng)301對(duì)應(yīng)頁(yè)面331,項(xiàng)302對(duì)應(yīng)頁(yè)面332,依此類推。項(xiàng)351-357中的每一個(gè)可對(duì)應(yīng)一個(gè)64KB的頁(yè)面。例如,如圖所示,項(xiàng)352對(duì)應(yīng)于包括頁(yè)面331-346的存儲(chǔ)器區(qū),該區(qū)也可稱為超級(jí)頁(yè)面。此處使用的超級(jí)頁(yè)面可指包括兩個(gè)或多個(gè)連續(xù)的、匯總的和對(duì)齊的4KB的頁(yè)面的存儲(chǔ)器區(qū)。此外,為了方便起見并不失一般性,在下面的討論中,位于Ll高速緩存器、 L2高速緩存器或存儲(chǔ)器的物理幀的任何部分可以指是在存儲(chǔ)器中,與在存儲(chǔ)設(shè)備中的幀不同。如下所述,處理器110和在其上執(zhí)行的操作系統(tǒng)可使用各種數(shù)據(jù)結(jié)構(gòu)來(lái)確定是否支持超級(jí)頁(yè),是否啟用與否超級(jí)頁(yè),哪一個(gè)TLB項(xiàng)對(duì)應(yīng)于小(例如4KB)頁(yè)面和哪一個(gè)TLB項(xiàng)對(duì)應(yīng)于到超級(jí)頁(yè)面。圖4示出了控制寄存器400中包含的、表示支持?jǐn)U展的頁(yè)面大小的位域的一個(gè)實(shí)施例??刂萍拇嫫?00可對(duì)應(yīng)于整合x86架構(gòu)的處理器中的控制寄存器4(CR4)。CR4寄存器包括定義處理器的能力的一些位。如圖所示,寄存器400包括與超級(jí)頁(yè)面相關(guān)的兩個(gè)位 401和402。位401稱作頁(yè)面大小擴(kuò)展位或PSE位,表示頁(yè)面是4KB還是啟用物理地址擴(kuò)展 (PAE)時(shí)的標(biāo)準(zhǔn)的、較大的頁(yè)面大小4MB或2MB。如果位401沒有使用,就支持4KB的頁(yè)面大小。此外,寄存器400包括位402,位402稱作擴(kuò)展頁(yè)面模式(XPM)支持位,如果設(shè)置,就表明支持?jǐn)U展模式的頁(yè)面大小。在一個(gè)實(shí)施例中,處理器110可支持單一的擴(kuò)展頁(yè)面大小。例如,可支持64KB的頁(yè)面大小。在替代實(shí)施例中,可支持超過一個(gè)擴(kuò)展頁(yè)面的大小。可提供各種機(jī)制,以確定支持哪些擴(kuò)展頁(yè)面大小。下面的部分說明了這樣的一個(gè)機(jī)制。圖5示出了在模型特定寄存器(MSR) 500中包含的位域的一個(gè)實(shí)施例。MSR500包括定義處理器支持的擴(kuò)展模式頁(yè)面大小的一些位。如圖所示,在一個(gè)實(shí)施例中,寄存器500 包括位501-508。假設(shè)如上所述由位401和402的值指示的那樣支持?jǐn)U展頁(yè)面大小,支持的頁(yè)面大小由表1所示的位501-508的值來(lái)指示。
      權(quán)利要求
      1.一種處理器,包括虛擬存儲(chǔ)器分頁(yè)機(jī)制,其中所述虛擬存儲(chǔ)器分頁(yè)機(jī)制配置為使所述處理器上運(yùn)行的操作系統(tǒng)能使用第一大小的頁(yè)面和第二大小的頁(yè)面,所述第二大小大于所述第一大?。恍纬沙?jí)頁(yè)面,所述超級(jí)頁(yè)面包括一系列包括所述第一大小的兩個(gè)或多個(gè)連續(xù)的頁(yè)面,其中超級(jí)頁(yè)面的大小小于所述第二大?。缓晚?yè)面表,所述頁(yè)面表包括用于在每一個(gè)超級(jí)頁(yè)面中所包括的所述兩個(gè)或多個(gè)連續(xù)的頁(yè)面中的每一個(gè)的單獨(dú)項(xiàng)。
      2.如權(quán)利要求1所述的處理器,其中所述虛擬存儲(chǔ)器分頁(yè)機(jī)制進(jìn)一步配置為使在所述處理器上運(yùn)行的操作系統(tǒng)能使用單一的虛擬地址來(lái)訪問每一個(gè)超級(jí)頁(yè)面。
      3.如權(quán)利要求1所述的處理器,其中超級(jí)頁(yè)的大小是64KB。
      4.如權(quán)利要求2所述的處理器,還包括轉(zhuǎn)換后備緩沖器(TLB),其中所述虛擬存儲(chǔ)器分頁(yè)機(jī)制配置為將所述TLB中的單項(xiàng)解釋為指包括與響應(yīng)檢測(cè)到與所述TLB中的所述項(xiàng)有關(guān)的超級(jí)頁(yè)面使能指示器有效的超級(jí)頁(yè)面對(duì)應(yīng)的一系列頁(yè)面的存儲(chǔ)器區(qū)。
      5.如權(quán)利要求4所述的處理器,其中所述虛擬存儲(chǔ)器分頁(yè)機(jī)制進(jìn)一步配置為將所述頁(yè)面表中的項(xiàng)解釋為指包括響應(yīng)檢測(cè)到與所述頁(yè)面表中的所述項(xiàng)有關(guān)的超級(jí)頁(yè)面使能指示器有效的超級(jí)頁(yè)面的一部分的存儲(chǔ)器區(qū)。
      6.如權(quán)利要求4所述的處理器,其中所述超級(jí)頁(yè)面使能指示器是可由軟件設(shè)置的。
      7.如權(quán)利要求2所述的處理器,其中所述虛擬存儲(chǔ)器分頁(yè)機(jī)制進(jìn)一步配置為響應(yīng)于檢測(cè)到所述頁(yè)面表中的所述至少兩個(gè)項(xiàng)中的至少一個(gè)項(xiàng)缺失或包括與所述頁(yè)面表中的所述至少兩個(gè)項(xiàng)中的其他項(xiàng)的相應(yīng)屬性不一致的屬性而發(fā)出頁(yè)面故障。
      8.如權(quán)利要求1所述的處理器,其中所述虛擬存儲(chǔ)器分頁(yè)機(jī)制進(jìn)一步配置為同時(shí)且獨(dú)立地使超級(jí)頁(yè)面在在所述處理器上運(yùn)行的第一操作系統(tǒng)和第二操作系統(tǒng)中的一個(gè)或兩個(gè)上使用。
      9.如權(quán)利要求8所述的處理器,其中所述第一操作系統(tǒng)是虛擬環(huán)境中的客機(jī)操作系統(tǒng),配置為使用第一頁(yè)面表將客機(jī)地址空間中的虛擬地址轉(zhuǎn)換為客機(jī)地址空間的物理地址,所述第二操作系統(tǒng)是虛擬環(huán)境中的主機(jī)操作系統(tǒng),配置為使用第二頁(yè)面表將客機(jī)地址空間中的物理地址轉(zhuǎn)換為主機(jī)地址空間中的物理地址。
      10.如權(quán)利要求1所述的處理器,其中所述虛擬存儲(chǔ)器分頁(yè)機(jī)制進(jìn)一步配置使所述操作系統(tǒng)使用兩個(gè)或兩個(gè)以上的不同超級(jí)頁(yè)面大小的超級(jí)頁(yè)面,其中每一個(gè)超級(jí)頁(yè)面的大小等于兩個(gè)或多個(gè)連續(xù)的、對(duì)齊的所述第一大小的頁(yè)面的大小,其中每一個(gè)超級(jí)頁(yè)面的大小小于所述第二大小。
      11.一種用于處理器中的虛擬存儲(chǔ)器分頁(yè)的方法,所述方法包括使在所述處理器上運(yùn)行的操作系統(tǒng)能使用第一大小的頁(yè)面和第二大小的頁(yè)面,所述第二大小大于所述第一大??;使所述操作系統(tǒng)形成超級(jí)頁(yè)面,所述超級(jí)頁(yè)面包括一系列包括所述第一大小的兩個(gè)或更多個(gè)連續(xù)的頁(yè)面,其中超級(jí)頁(yè)面的大小小于所述第二大??;和包括在頁(yè)面表中的單獨(dú)項(xiàng),所述單獨(dú)項(xiàng)用于在每一個(gè)超級(jí)頁(yè)面中所包括的所述兩個(gè)或更多個(gè)連續(xù)的頁(yè)面中的每一個(gè)。
      12.如權(quán)利要求11所述的方法,還包括使在所述處理器上運(yùn)行的所述操作系統(tǒng)使用單一的虛擬地址來(lái)訪問每一個(gè)超級(jí)頁(yè)面。
      13.如權(quán)利要求11所述的方法,其中超級(jí)頁(yè)的大小是64KB。
      14.如權(quán)利要求12所述的方法,還包括將TLB中的單項(xiàng)解釋為指包括與響應(yīng)檢測(cè)到與 TLB中的所述項(xiàng)有關(guān)的超級(jí)頁(yè)面使能指示器有效的超級(jí)頁(yè)面對(duì)應(yīng)的一系列頁(yè)面的存儲(chǔ)器區(qū)。
      15.如權(quán)利要求14所述的方法,還包括將所述頁(yè)面表中的項(xiàng)解釋為指包括響應(yīng)檢測(cè)到與所述頁(yè)面表中的所述項(xiàng)有關(guān)的超級(jí)頁(yè)面使能指示器有效的超級(jí)頁(yè)面的一部分的存儲(chǔ)器區(qū)。
      16.如權(quán)利要求14所述的方法,其中所述超級(jí)頁(yè)面使能指示器是可由軟件設(shè)置的。
      17.如權(quán)利要求12所述的方法,還包括響應(yīng)于檢測(cè)到所述頁(yè)面表中的所述至少兩個(gè)項(xiàng)中的至少一個(gè)項(xiàng)缺失或包括與所述頁(yè)面表中的所述至少兩個(gè)項(xiàng)中的其他項(xiàng)的相應(yīng)屬性不一致的屬性而發(fā)出頁(yè)面故障。
      18.如權(quán)利要求11所述的方法,還包括同時(shí)且獨(dú)立地使超級(jí)頁(yè)面在在所述處理器上運(yùn)行的第一操作系統(tǒng)和第二操作系統(tǒng)中的一個(gè)或兩個(gè)上使用。
      19.如權(quán)利要求18所述的方法,其中所述第一操作系統(tǒng)是虛擬環(huán)境中的客機(jī)操作系統(tǒng),配置為使用第一頁(yè)面表將客機(jī)地址空間中的虛擬地址轉(zhuǎn)換為客機(jī)地址空間的物理地址,所述第二操作系統(tǒng)是虛擬環(huán)境中的主機(jī)操作系統(tǒng),配置為使用第二頁(yè)面表將客機(jī)地址空間中的物理地址轉(zhuǎn)換為主機(jī)地址空間中的物理地址。
      20.如權(quán)利要求11所述的方法,還包括使所述操作系統(tǒng)使用兩個(gè)或兩個(gè)以上的不同超級(jí)頁(yè)面大小的超級(jí)頁(yè)面,其中每一個(gè)超級(jí)頁(yè)面的大小等于兩個(gè)或更多個(gè)連續(xù)的、對(duì)齊的第一大小的頁(yè)面的大小,其中每一個(gè)超級(jí)頁(yè)面的大小小于所述第二大小。
      全文摘要
      一種包括虛擬存儲(chǔ)器分頁(yè)機(jī)制的處理器。所述虛擬存儲(chǔ)器分頁(yè)機(jī)制使在處理器上運(yùn)行的操作系統(tǒng)能使用第一大小和第二大小的頁(yè)面,所述第二大小大于所述第一大小。所述機(jī)制進(jìn)一步使所述操作系統(tǒng)能使用包括第一大小的兩個(gè)或更多個(gè)連續(xù)頁(yè)面的超級(jí)頁(yè)面。超級(jí)頁(yè)面的大小小于所述第二大小。所述處理器還包括一個(gè)頁(yè)面表,所述頁(yè)面表包括用于在每一個(gè)超級(jí)頁(yè)面中所包括的所述頁(yè)面中的每一個(gè)的單獨(dú)項(xiàng)。所述操作系統(tǒng)使用單一的虛擬地址來(lái)訪問每一個(gè)超級(jí)頁(yè)面。所述機(jī)制將轉(zhuǎn)換后備緩沖器TLB中的單項(xiàng)解釋為指包括與響應(yīng)檢測(cè)到與TLB中的所述項(xiàng)有關(guān)的超級(jí)頁(yè)面使能指示器有效的超級(jí)頁(yè)面對(duì)應(yīng)的一系列頁(yè)面的存儲(chǔ)器區(qū)。
      文檔編號(hào)G06F9/26GK102473091SQ201080030133
      公開日2012年5月23日 申請(qǐng)日期2010年6月30日 優(yōu)先權(quán)日2009年7月1日
      發(fā)明者烏維·M·達(dá)諾夫斯基, 塞巴斯蒂安·比米勒, 大衛(wèi)·S·克里斯蒂, 托馬斯·弗列韋爾, 斯蒂芬·迪斯特爾霍斯特, 邁克爾·P·霍穆特 申請(qǐng)人:超威半導(dǎo)體公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1