发明名称 Execution-aware memory protection
摘要 Execution-Aware Memory protection technologies are described. A processor includes an instruction fetch unit to fetch instructions of applications executing in a multitasking environment and an execution unit to execute the instructions. A memory protection unit (MPU) enforces memory access control of the applications by defining an instruction region (I-space) and a data region (D-space and linking the I-space to the D-space. When the MPU determining whether an instruction address is within the I-space and whether a data address of a data access operation is within the D-space. The MPU issues a memory protection fault for the data access operation when either the instruction address is not within the I-space or the data address is not within the D-space.
申请公布号 US9395993(B2) 申请公布日期 2016.07.19
申请号 US201313952849 申请日期 2013.07.29
申请人 Intel Corporation 发明人 Koeberl Patrick;Schulz Steffen
分类号 G06F12/14;G06F9/38 主分类号 G06F12/14
代理机构 Lowenstein Sandler LLP 代理人 Lowenstein Sandler LLP
主权项 1. A processor comprising: an instruction fetch unit to fetch a plurality of instructions for a plurality of applications executing in a multitasking environment; an execution unit to execute the plurality of instruction; and a memory protection unit (MPU) to enforce memory access control for the plurality of applications, wherein the MPU comprises a memory protection table, wherein the memory protection table defines a plurality of code regions of the code memory and a plurality of data regions of the data memory, wherein the memory protection table links the plurality of code regions to the plurality of data regions, and wherein the memory protection table identifies access permissions for each of the plurality of code regions and the plurality of data regions, wherein the memory protection table identifies a specific privilege level for each of the plurality of code regions and the plurality of data regions, wherein the MPU is to: define an instruction region (I-space) in an I-space register and a data region (D-space) in a D-space register;link the I-space to the D-space;receive an instruction address for a first instruction of the plurality of instructions from the instruction fetch unit and a data address of a data access operation for the first instruction from the execution unit;determine whether the instruction address and data address are within the I-space defined by the I-space register and within the D-space defined the D-space register; andissue a memory protection fault for the data access operation when the instruction address and data address are not within the I-space and D-space.
地址 Santa Clara CA US