3-52
MPC7400 RISC Microprocessor Users Manual
Cache Operations
Note that an AltiVec LRU access simply inverts the update value of the three PLRU bits
when compared to the normal (MRU) update rules.
3.6.9 L1 Cache Invalidation and Flushing
The data cache can be invalidated by executing a series of
dcbi
instructions or by setting
HID0[DCFI]. The instruction cache can be invalidated by executing a series of
icbi
instructions or by setting HID0[ICFI].
Any modiTed entries in the data cache can be copied back to memory (ushed) by using
the hardware ush mechanism described in Section 3.5.2, òData Cache Hardware Flush
Parameter in MSSCR0.ó Because the instruction cache never contains modiTed entries, no
ushing mechanism is necessary.
While the hardware ush mechanism for the data cache is the preferred ush mechanism,
software ush routines used for the MPC750 can also be used to ush the MPC7400 data
cache. Note that future MPC7400 derivatives may not support the MPC750 software ush
mechanism.
The software ush routines ush the data cache by using the
dcbf
instruction or by
executing a series of 12 uniquely addressed load or
dcbz
instructions to each of the 128 sets.
The address space should not be shared with any other process to prevent snoop hit
invalidations during the ushing routine. Exceptions should be disabled during this time so
that the PLRU algorithm does not get disturbed.
The data cache ush assist bit, HID0[DCFA], simpliTes the software ushing process.
When set, HID0[DCFA] forces the PLRU replacement algorithm to ignore the invalid
entries and follow the replacement sequence deTned by the PLRU bits. This reduces the
Table 3-10. PLRU Bit Update Rules for AltiVec LRU Instructions
If the
current
AtiVec LRU
access is
to:
Then the PLRU bits in the set are changed to:
B0
B1
B2
B3
B4
B5
B6
L0
0
0
x
0
x
x
x
L1
0
0
x
1
x
x
x
L2
0
1
x
x
0
x
x
L3
0
1
x
x
1
x
x
L4
1
x
0
x
x
0
x
L5
1
x
0
x
x
1
x
L6
1
x
1
x
x
x
0
L7
1
x
1
x
x
x
1
x = Does not change