Back to results
US 9,753,870 B2Granted
Hardware monitor with context switching and selection based on a data memory access and for raising an interrupt when a memory access address is outside of an address range of the selected context
AssigneeSTMicroelectronics (Research & Development) Limited
InventorsMark Trimmer, Paul Elliott
Life of this patent
Estimating the term…
Abstract
A monitor includes a register configured to store at least two contexts and a context change value. A context selector is configured to select at least one of the two contexts for context monitoring. The selection is made dependent on whether the context change value matches a first part of a memory access address.
Claims11
A monitor, comprising:
- a register configured to store at least two contexts and a context change value, wherein each context includes information defining a range of addresses in memory that is permitted for instruction fetch access or data read/write access by a software process executed by a processing unit, and wherein each of the at least two contexts is associated with an identifier value;
- a context selector circuit configured to select one of the at least two contexts for context monitoring dependent on determining that the context change value stored in the register matches a first part of a data access address output by the processing unit, and wherein the context selector circuit selects said selected one of the at least two contexts for context monitoring dependent on whose identifier value matches a second part of the data access address output by the processing unit;
- and
- an address monitor circuit configured to receive a memory access address output by the processing unit for an instruction fetch access or a data read/write access requested by the executed software process and compare a value of the memory access address against the information defining the permitted range of addresses in memory for the selected one of the at least two contexts, said address monitor circuit further configured to raise an interrupt of processing unit execution of the software process if the memory access address is outside of the permitted range of addresses in memory for the selected one of the at least two contexts.
1 more element
A monitor, comprising:
- a storage circuit configured to store at least two contexts and a context change value, wherein each context includes information defining a range of addresses in memory that is permitted for instruction fetch access or data read/write access by a software process executed by a processing unit, and wherein each of the at least two contexts is associated with an identifier value;
- a selection circuit configured to select between the at least two contexts for context monitoring if a first part of a data access address output by the processing unit matches the context change value stored by the storage device, and wherein the selection circuit is further configured to select one of the two contexts for context monitoring whose identifier value matches a second part of the data access address;
- and
- an address monitor circuit configured to receive a memory access address output by the processing unit for an instruction fetch access or a data read/write access requested by the executed software process and compare a value of the memory access address against the information defining the permitted range of addresses in memory for the selected one of the at least two contexts, said address monitor circuit further configured to raise an interrupt of processing unit execution of the software process if the memory access address is outside of the permitted range of addresses in memory for the selected one of the at least two contexts.
1 more element
A method for monitoring memory accesses, comprising:
- storing at least two contexts and a context change value, wherein each context includes information defining a range of addresses in memory that is permitted for instruction fetch access or data read/write access by a software process executed by a processing unit, and wherein each of the at least two contexts is associated with an identifier value;
- determining whether a first part of a data access address output by the processing unit matches the stored context change value;
- if the first part of the memory access address matches the stored context change value:
- determining whether a second part of the data access address matches an identifier value associated with one of the at least two contexts;
- and
- selecting one of the at least two contexts for context monitoring whose identifier value matches the second part of the data access address;
- comparing a value of a memory access address output by the processing unit for instruction fetch access or a data read/write access requested by the executed software process against the information defining the permitted range of addresses in memory for the selected one of the at least two contexts;
- and
- raising an interrupt of processing unit execution of the software process if the memory access address is outside of the permitted range of addresses in memory for the selected one of the at least two contexts.
6 more elements
Dependencies are inferred from the claim text.