
MOTOROLA
Chapter 3. Instruction and Data Cache Operation
3-25
The
dcbf
instruction causes the following cache activity:
Unmodified block—Invalidates the block in the processor’s cache.
Modified block—Copies the block to memory and invalidates data cache block.
Absent block—Does nothing.
The 603e treats this instruction as a load to the addressed byte with respect to address
translation and protection.
3.7.7 Enforce In-Order Execution of I/O Instruction (eieio)
As defined by the PowerPC architecture, the
eieio
instruction provides an ordering function
for the effects of load and store instructions executed by a given processor. Executing
eieio
ensures that all memory accesses previously initiated by the given processor are completed
with respect to main memory before any memory accesses subsequently initiated by the
processor access main memory. The
eieio
instruction orders loads and stores to caching-
inhibited memory only.
The
eieio
instruction is intended for use only in performing memory-mapped I/O
operations. It enforces “strong” ordering of cache-inhibited memory accesses during I/O
operations between the processor and I/O devices.
When executed by the 603e, the
eieio
instruction is treated as a no-op; caching-inhibited
load and store operations (inhibited by the WIMG bits for the page) are performed in strict
program order.
3.7.8 Instruction Cache Block Invalidate (icbi) Instruction
The execution of an
icbi
instruction causes all four cache sets indexed by the EA to be
marked invalid. No cache hit is required, and no MMU translation is performed.
3.7.9 Instruction Synchronize (isync) Instruction
The
isync
instruction waits for all previous instructions to complete and then discards any
previously fetched instructions, causing subsequent instructions to be fetched (or refetched)
from memory and to execute in the context established by the previous instructions. This
instruction has no effect on other processors or on their caches.
3.8 Bus Operations Caused by Cache Control
Instructions
Table 3-7 provides an overview of the bus operations initiated by cache control instructions.
The cache control, TLB management, and synchronization instructions supported by the
603e may affect or be affected by the operation of the bus. None of the instructions will
actively broadcast through address-only transactions on the bus (except for
dcbz
), and no
broadcasts by other masters are snooped by the 603e (except for kills). The operation of the