A.4 Block Load and Store Instructions (VIS I)

The following notes summarize behavior of block load/store instructions in SPARC64 V.

1.Block load and store operations are not atomic, in that they are internally decomposed into eight independent, 8-byte load/store operations in SPARC64 V. Each load/store is always issued and performed in the RMO memory model and obeys all prior MEMBAR and atomic instruction-imposed ordering constraints.

2.Block load/store instructions are out of the scope of V9 memory models, meaning that self-consistency of memory reference instruction is not always maintained if block load/store instructions are involved in the execution flow. The following table describes the implemented ordering constraints for block load/store instructions with respect to the other memory reference instructions with an operand address conflict in SPARC64 V:

Program Order for conflicting bld/bst/ld/st

Ordered/

 

 

first

next

Out-of-Order

store

blockstore

Ordered

store

blockload

Ordered

load

blockstore

Ordered

load

blockload

Ordered

blockstore

store

Out-of-Order

blockstore

load

Out-of-Order

blockstore

blockstore

Out-of-Order

blockstore

blockload

Out-of-Order

blockload

store

Ordered

blockload

load

Ordered

blockload

blockstore

Ordered

blockload

blockload

Ordered

 

 

 

To maintain the memory ordering even for the memory address conflicts, MEMBAR instructions shall be inserted into appropriate location in the program.

Although self-consistency with respect to the block load/store and the other memory reference instructions is not maintained in some cases, register conflicts between the other instructions and block load/store instructions are maintained in SPARC64 V. The read-after-write, write-after-read, and write-after-write obstructions between a block load/store instruction and the other arithmetic instructions are detected and handled appropriately.

3. Block load instruction operate on the cache if the operand is present.

Release 1.0, 1 July 2002

F. Chapter A Instruction Definitions: SPARC64 V Extensions 47

Page 58
Image 58
Fujitsu Fujitsu SPARC64 V manual Block Load and Store Instructions VIS