Chapter 2. Programming Model
2-67
Instruction Set Summary
Data Cache Block
Set to Zero
dcbz
r
A
,r
B
The EA is computed, translated, and checked for protection violations.
For cache hits, two beats of zeros are written to the cache block and the
tag is marked M. For cache misses with the replacement block marked
not modiTed (M = 0), the zero reload is performed and the cache block is
marked M. However, if the replacement block is marked M, the contents
are written back to memory Trst. The instruction takes an alignment
exception if the cache is locked or disabled or if the cache is marked WT
or CI. If M = 1 (coherency enforced), the address is broadcast to the bus
before the zero reload Tll.
The exception priorities (from highest to lowest) are as follows:
1 Cache disabledAlignment exception
2 Cache is LockedAlignment exception
2 Page marked write-through or cache-inhibitedAlignment exception
3 BAT protection violationDSI exception
4 TLB protection violationDSI exception
dcbz
is broadcast if M bit is set (M = 1) (coherency enforced).
Data Cache Block
Allocate
dcba
r
A
,r
B
The EA is computed, translated, and checked for protection violations.
For cache hits, two beats of zeros are written to the cache block and the
tag is marked M. For cache misses with the replacement block marked
non-dirty, the zero reload is performed and the cache block is marked M.
However, if the replacement block is marked M, the contents are written
back to memory Trst. The instruction takes a no-op if the cache is locked
or disabled or if the cache is marked WT or CI, a no-op occurs. If M = 1
(coherency enforced), the address is broadcast to the bus before the
zero reload Tll
A no-op occurs for the following:
¥ Cache is disabled
¥ Cache is locked
¥ Page marked write-through or cache-inhibited
¥ BAT protection violation
¥ TLB protection violation
dcba
is broadcast if M bit is set (M = 1) (coherency enforced).
Data Cache Block
Store
dcbst
r
A
,r
B
The EA is computed, translated, and checked for protection violations.
¥ For cache hits with the tag marked not modiTed (M = 0), no further
action is taken.
¥ For cache hits with the tag marked modiTed (M), the cache block is
written back to memory and marked exclusive (E).
If M = 1 (coherency enforced)
dcbst
is broadcast. The instruction acts
like a load with respect to address translation and memory protection. It
executes regardless of whether the cache is disabled or locked.
The exception priorities (from highest to lowest) for
dcbst
are as follows:
¥ BAT protection violationDSI exception
¥ TLB protection violationDSI exception
Table 2-50. User-Level Cache Instructions (Continued)
Name
Mnemonic
Syntax
Implementation Notes