====================================================
-----Original Message-----
From: "Binyamin Dissen" <[EMAIL PROTECTED]>
Sent: 7/27/2006 9:11 AM
To: "[email protected]" <[email protected]>
Subject: Doing a LM of two words on a double word bounday - is it serialized?

I would like to guarantee a concurrent load of two words on a double word
boundary.

Will LM serialize the doubleword?

Or must I something hokey like a CDS which appears to do a concurrent load if
the result is not equal.

Doing a L followed a PLO/CompareLoad seems the absolute worst choice.

--
Binyamin Dissen <[EMAIL PROTECTED]>
====================================================

The PoPs guarantees it. A "LM" for a double word-aligned
operand will perform a concurrent 8-byte access. Same for STM.

This is spelled out in the "Storage-Operand Consistency"
specification in Chapter 5. Look at "Block-Concurrent References".

If you are really paranoid about it, then CDS will also
perform a concurrent 8-byte load, but it may also store
it back unchanged. Your operand in storage must not be
protected against storing.

CDS R2,R2,operand   ; check-point synch and possible store.

will concurrently load R2,R3 and it may concurrently store
the unchanged value back into the operand location. It also
performs a check-point synch before and after the instruction.
The check-point synch may be necessary to purge your local
cache of stale data.


LM  R2,R3,operand    ; no check-point synch, no store.

will concurrently load R2,R3. The values are fetched 8-bytes
in parallel. If another CPU is concurrently storing 8-bytes,
then your CPU will see the entire old 8-bytes or the entire
new 8-bytes and never a mixture of old and new bytes.

Note that if another CPU is storing with a narrower alignment,
like a 4-byte store, then you will get inconsistent results
with either CDS or LM/STM.


Jeffrey D. Smith
Farsight Systems Corporation
24 BURLINGTON DR
LONGMONT, CO 80501
303-774-9381 direct
303-709-8153 cell
303-484-6170 fax

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to