
MOTOROLA
Chapter 2. Programming Model
2-41
2.3.5.3 Memory Control Instructions—VEA
Memory control instructions include the following types:
Cache management instructions
Segment register manipulation instructions
Translation lookaside buffer management instructions
This section describes the user-level cache management instructions defined by the VEA.
See Section 2.3.6.3, “Memory Control Instructions—OEA,” for information about
supervisor-level cache, segment register manipulation, and translation lookaside buffer
management instructions.
The instructions listed in Table 2-34 provide user-level programs the ability to manage on-
chip caches when they exist.
As with other memory-related instructions, the effect of the cache management instructions
on memory are weakly ordered. If the programmer needs to ensure that cache or other
instructions have been performed with respect to all other processors and system
mechanisms, a
sync
instruction must be placed in the program following those instructions.
Note that when data address translation is disabled (MSR[DR] = 0), the Data Cache Block
Set to Zero (
dcbz
) instruction allocates a cache block in the cache and may not verify that
the physical address is valid. If a cache block is created for an invalid physical address, a
machine check condition may result when an attempt is made to write that cache block back
to memory. The cache block could be written back as a result of the execution of an
instruction that causes a cache miss and the invalid addressed cache block is the target for
replacement or a Data Cache Block Store (
dcbst
) instruction.
Note that any cache control instruction that generates an effective address that corresponds
to a direct-store segment (SR[T] = 1) is treated as a no-op.
Table 2-34 lists the cache instructions that are accessible to user-level programs.
Table 2-34. User-Level Cache Instructions
Name
Mnemonic
Operand Syntax
Data Cache Block Touch
dcbt
r
A
,r
B
Data Cache Block Touch for Store
dcbtst
r
A
,r
B
Data Cache Block Set to Zero
dcbz
r
A
,r
B
Data Cache Block Store
dcbst
r
A
,r
B
Data Cache Block Flush
dcbf
r
A
,r
B
Instruction Cache Block Invalidate
icbi
r
A
,r
B