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
/
 
Format X-form
Opcode 0x7C00006C
Extension Base

Operands

  • RA
    Base Address
  • RB
    Index Address