8.1Overview

Note – The words “hardware memory model” denote the underlying hardware memory models as differentiated from the “SPARC V9 memory model,” which is the memory model the programmer selects in PSTATE.MM.

SPARC64 V supports only one mode of memory handling to guarantee correct operation under any of the three SPARC V9 memory ordering models (impl. dep. #113):

Total Store Order — All loads are ordered with respect to loads, and all stores are ordered with respect to loads and stores. This behavior is a superset of the requirements for the SPARC V9 memory models TSO, PSO, and RMO. When PSTATE.MM selects TSO or PSO, SPARC64 V operates in this mode. Since programs written for PSO (or RMO) will always work if run under Total Store Order, this behavior is safe but does not take advantage of the reduced restrictions of PSO.

8.4SPARC V9 Memory Model

Please refer to Section 8.4 of Commonality.

In addition, this section describes SPARC64 V-specific details about the processor/ memory interface model.

8.4.5Mode Control

SPARC64 V implements Total Store Ordering for all PSTATE.MM. Writing 112 into PSTATE.MM also causes the machine to use TSO (impl. dep. #119). However, the encoding 112 should not be used, since future version of SPARC64 V may use this encoding for a new memory model.

8.4.6Synchronizing Instruction and Data Memory

All caches in a SPARC64 V-based system (uniprocessor or multiprocessor) have a unified cache consistency protocol and implement strong coherence between instruction and data caches. Writes to any data cache cause invalidations to the

42 SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002

Page 53
Image 53
Fujitsu Fujitsu SPARC64 V manual Overview, Sparc V9 Memory Model, Mode Control, Synchronizing Instruction and Data Memory