Claims
- 1. A non-intrusive apparatus for detecting memory access violations comprising:
- a plurality of memory register sets, each set for storing an upper bounds address, a lower bounds address, and attribute bits identifying unauthorized combinations of type of operation and mode of access for a protected range of memory identified by the upper and lower bounds addresses;
- a monitor for reading any memory access request communicated on a memory bus coupled to a processor, the memory access request having an associated type of operation and mode of access, the monitor determining a memory address for each memory access request;
- a mode input for receiving signals indicative of the associated type of operation and mode of access for each memory access request; and
- a comparator providing a fault signal to the processor indicative of whether each memory access request is one of the unauthorized memory access operations to the protected range of memory according to the associated type of operation and mode of access as determined by the attribute bits.
- 2. The apparatus of claim 1 wherein the comparator comprises:
- an address match circuit for determining whether the memory address is within the protected range of memory; and
- a fault mode circuit for determining whether the memory access request is one of the unauthorized memory access operations as determined by comparing bits indicating the associated type of operation and mode of access to the attribute bits.
- 3. The apparatus of claim 1 wherein the types of operations identified by the attribute bits include a selected one of a read operation, a write operation, and an execute operation.
- 4. The apparatus of claim 3 wherein the attribute bits are stored in the upper bounds register.
- 5. The apparatus of claim 3 wherein each of the upper and lower bounds registers is a 32 bit register.
- 6. The apparatus of claim 1 wherein the modes of access identified by the attribute bits include a user mode and a supervisor mode.
- 7. The apparatus of claim 1 wherein each set of the plurality of registers further comprises:
- an upper bounds register for storing the upper bounds address; and
- a lower bounds register for storing the lower bounds address.
- 8. The apparatus of claim 7 wherein the upper and lower bounds addresses are 20 bit addresses.
- 9. A non-intrusive method of detecting memory access violations comprising the steps of:
- a) monitoring a memory bus to detect a memory access request;
- b) determining a requested memory access mode for the memory access request;
- c) determining a type of memory operation for the memory access request;
- d) determining a memory address from the memory access request;
- e) comparing the memory address to a stored invalid memory range having an upper bounds address and a lower bounds address for a determination whether the memory address is within the invalid memory range;
- f) performing the following steps if the memory address is within the invalid memory range:
- i) comparing the requested memory access mode and type of memory operation to attribute bits that indicate the invalid combinations of types of operation and modes of access for the invalid memory range; and
- ii) generating a fault signal to a processor coupled to the memory bus, if the combination of memory access mode and the type of memory operation requested are identified as a memory access violation from the attribute bits.
- 10. The method of claim 9 wherein the types of operations identified by the attribute bits include a selected one of a read operation, a write operation, and an execute operation.
- 11. The apparatus of claim 9 wherein the modes of access identified by the attribute bits include a user mode and a supervisor mode.
Parent Case Info
This is a continuation of application Ser. No. 08/249,011, filed May 25, 1994 U.S. Pat. No. 5,513,337.
US Referenced Citations (16)
Continuations (1)
|
Number |
Date |
Country |
Parent |
249011 |
May 1994 |
|