Fujitsu SPARC64 V Manual Do Utilizador

Página de 255
54
SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
A.30
Load Quadword, Atomic [Physical]
The Load Quadword ASIs in this section are specific to SPARC64 V, as an extension 
to SPARC JPS1.
 
Format (3) LDDA
Description
ASIs 34
16
 and 3C
16
 are used with the 
LDDA
 instruction to atomically read a 128-bit 
data item, using physical addressing. The data are placed in an even/odd pair of 64-
bit registers. The lowest-address 64 bits are placed in the even-numbered register; 
the highest-address 64 bits are placed in the odd-numbered register. The reference is 
made from the nucleus context. 
In addition to the usual traps for 
LDDA
 using a privileged ASI, a 
data_access_exception
 exception occurs for a noncacheable access or for the use of the 
quadword-load ASIs with any instruction other than 
LDDA
. A 
mem_address_not_aligned
 exception is generated if the access is not aligned on a 16-
byte boundary.
ASIs 34
16
 and 3C
16
 are supported in SPARC64 V in addition to those for Load 
Quadword Atomic for virtually addressed data (ASIs 24
16
 and 2C
16
).
The memory access for a load quad instruction with 
ASI_QUAD_LDD_PHYS{_L}
 
behaves as if the following 
TTE
 is set:
opcode
imm_asi
ASI value
operation
LDDA
ASI_QUAD_LDD_PHYS
34
16
128-bit atomic load, physically 
addressed
LDDA
ASI_QUAD_LDD_PHYS_L
3C
16
128-bit atomic load, little-endian, 
physically addressed
Assembly Language Syntax
ldda
[reg_addr] imm_asi, reg
rd
ldda
[reg_plus_imm
%asi
reg
rd
31
24
0
25
30 29
19 18
14 13
5
4
rd
11
010011
simm_13
rs1
i=1
rd
11
010011
imm_asi
rs1
rs2
i=0