Instruction Cache
MOTOROLA
MPC801 USER’S MANUAL
9-9
9
After the load & lock command is written to the IC_CST register, the cache checks to see if
the line containing the byte addressed by the IC_ADR is in the cache. If it is a hit, the line is
locked and the command terminates with no exception. If it is not, a regular miss sequence
is initiated. After the whole line is placed in the cache, the line is locked. You must check the
error type bits in the IC_CST register to determine if the load & lock operation completed
properly. Keep in mind that the load & lock command can generate two types of errors:
Type 1—A bus error occurs in one of the cycles that fetched the line.
Type 2—There is no place to lock. It is your responsibility to make sure that there is at
least one unlocked way in the appropriate set.
9.4.4 Unlock Line
Unlock line is used to unlock previously locked cache lines. This operation is privileged and
if you try to use it when the core is in the problem state (MSR
occur. Unlock line is performed on a cache line granularity. If the line is found in the cache
it is considered a hit, so it is unlocked and operates as a regular valid cache line. If the line
is not found in the cache it is considered a miss, so there is no operation and the command
terminates without an exception. To unlock
a line, follow these steps:
PR
=1) a program interrupt will
1. Write the address of the line to be unlocked into the IC_ADR.
2. Set the unlock line command in the IC_CST register.
This command has no error cases that you need to check. The instruction cache performs
this instruction in one clock cycle. To accurately calculate the latency of this instruction, you
should consider bus latency.
9.4.5 Unlock All
Unlock all
it when the core is in the problem state (MSR
performed on all cache lines. If a line is locked, it is unlocked and operates as a regular valid
cache line. If a line is not locked or if it is invalid, no operation occurs. To unlock the whole
cache, set the unlock all command in the IC_CST register. This command has no associated
error cases. The instruction cache performs this instruction in one clock cycle. To accurately
calculate the latency of this instruction, you should consider bus latency.
is used to unlock the entire cache. This operation is privileged and if you try to use
=1) a program interrupt will occur. It is
PR
9.4.6 Instruction Cache Inhibit
Two levels of cache inhibit are supported by the MPC801—as a cache mode of operation
and on memory regions supported by the memory management unit. To disable the
instruction cache, set the cache disable command in the IC_CST register. This operation is
privileged and if you try to use it when the core is in the problem state (MSR
interrupt will occur. This command has no error cases that you need to check.
PR
=1) a program