dcbst
Data Cache Block Store
dcbst RA, RB
Writes the cache block to main memory if it is modified (Clean), but keeps it in the cache.
Details
Writes a cache block containing the byte addressed by RA+RB to main memory if the block is modified, then keeps the block in the cache in a clean state. This instruction is used to synchronize cache contents with memory without invalidating the cache line. No condition registers or status fields are affected.
Pseudocode Operation
EA ← (RA) + (RB)
CacheBlock ← CacheBlock at EA
if CacheBlock.Modified then
WriteToMemory(CacheBlock)
CacheBlock.Modified ← 0
end if
Programming Note
Data Cache Block Store to Persistent Storage is encoded as a variant of Data Cache Block Flush. The extended mnemonic (dcbstps) indicates the intended function.
Extended Mnemonics
| Extended Mnemonic | Equivalent Instruction |
|---|---|
Example
dcbst 0, r3
// Ensure RAM has latest data for r3.
Encoding
Binary Layout
31
0
/
6
RA
11
RB
21
54
/
Operands
-
RA
Base Address -
RB
Index Address