[發明專利]用于修補頁的系統、方法和裝置在審
| 申請號: | 201880063321.2 | 申請日: | 2018-12-07 |
| 公開(公告)號: | CN111164581A | 公開(公告)日: | 2020-05-15 |
| 發明(設計)人: | D·謝里登 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F12/1036 | 分類號: | G06F12/1036;G06F9/455 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 黃嵩泉;何焜 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 修補 系統 方法 裝置 | ||
描述了用于對頁進行修補的系統、方法和裝置。例如,描述了一種方法,該方法包括:分配小尺寸頁并初始化該小尺寸頁;將所分配且經初始化的小尺寸頁添加到小尺寸頁表以反映對巨大尺寸頁的補丁的使用;以及置位與該巨大尺寸頁相關聯的頁條目中的對使用補丁的指示。
背景技術
在計算機系統中,硬件存儲器映射支持特定的虛擬存儲器頁尺寸集合。例如,一些處理器支持包括4千字節頁、2兆字節頁、1千兆字節頁、16千兆字節頁等的許多不同的頁尺寸。操作系統和虛擬機管理程序中常見的優化在于支持透明的頁共享。也就是說,兩個進程共享公共物理存儲器頁而不是在存儲器中具有它們自己的副本。例如,在Linux和Unix操作系統中,當第一進程分叉時,第二(新的)進程邏輯地包含第一(原始)進程的地址空間的完整副本。然而,操作系統允許這兩個進程共享對原始頁集合的訪問,而不是實際地復制所有的頁。為了使這對進程透明,操作系統對這些頁進行寫入保護,以使得如果任一進程嘗試向此類共享頁寫入,則操作系統可以進行干預。典型地,操作系統通過以下操作來進行干預:俘獲對共享頁的嘗試寫入,復制受影響的頁,修訂寫入進程的頁映射以引用該新的(所復制的)頁,并且隨后允許對所復制的頁完成寫入。該動作是作為“寫入時復制”(COW)公知的。
附圖說明
將參考附圖來描述根據本公開的各實施例,其中:
圖1是計算系統的實施例的示意性圖示;
圖2圖示出共享頁幀的不同虛擬地址空間的示例;
圖3圖示出共享頁幀的不同虛擬地址空間的另一示例;
圖4圖示出共享使用補丁用于經修改的頁的頁幀的不同虛擬地址空間的示例;
圖5圖示出支持頁修補的處理器核的電路的示例;
圖6圖示出利用分頁結構來判定是否存在補丁頁的實施例;
圖7圖示出使用針對經修補的頁的4級分頁進行的到2MB頁的線性地址轉換的實施例;
圖8圖示出根據實施例的支持補丁的針對2MB頁的PDE的示例;
圖9圖示出使用針對經修補的頁的4級分頁進行的到4KB補丁頁的線性地址轉換的實施例;
圖10圖示出指示修補的巨大尺寸頁TLB條目的實施例;
圖11圖示出實施例中的位掩碼使用;
圖12圖示出根據實施例的小尺寸頁TLB中的TLB條目的示例;
圖13圖示出用于在線程執行期間使用補丁頁的寫入時復制流程的方法的實施例;
圖14圖示出用于在MMU中使用經修補的頁的方法的實施例;
圖15是圖示出根據本發明的實施例的示例性有序流水線和示例性的寄存器重命名的亂序發布/執行流水線的框圖;
圖16A-圖16B圖示出更具體的示例性有序核架構的框圖,該核將是芯片中的若干邏輯塊中的一個(包括相同類型和/或不同類型的其他核);
圖17是根據本發明的實施例可以具有多于一個的核、可以具有集成存儲器控制器以及可以具有集成圖形器件的處理器1700的框圖;
圖18示出根據本發明的一個實施例的系統的框圖;
圖19是根據本發明的實施例的第一更具體的示例性系統的框圖;
圖20是根據本發明的實施例的第二更具體的示例性系統的框圖;
圖21是根據本發明的實施例的SoC的框圖;以及
圖22是根據本發明的實施例的對照使用軟件指令轉換器將源指令集中的二進制指令轉換成目標指令集中的二進制指令的框圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201880063321.2/2.html,轉載請聲明來源鉆瓜專利網。





