LDA および STL

レジスタの Load-Acquire 命令と Store-Release 命令です。

Show/hide構文

LDA{cond} Rt, [Rn]
STL{cond} Rt, [Rn]
LDAB{cond} Rt, [Rn]
STLB{cond} Rt, [Rn]
LDAH{cond} Rt, [Rn]
STLH{cond} Rt, [Rn]

各項目には以下の意味があります。

cond

任意の条件コードを指定します。

Rt

ロードまたはストアするレジスタを指定します。

Rn

メモリアドレスのベースとなるレジスタを指定します。

Show/hide演算

LDA は、メモリからデータをロードします。プログラム順で Load-Acquire の後にロードまたはストアが発生する場合は、必ずすべてのオブザーバが Load-Acquire を観察した後に、ロードとストアを観察します。Load-Acquire の前に発生するロードとストアは影響を受けません。

STL は、データをメモリにストアします。プログラム順で Store-Release の前にロードまたはストアが発生する場合は、必ずすべてのオブザーバがロードとストアを観察した後に、Store-Release を観察します。Store-Release の後に発生するロードとストアに影響はありません。

また、Store-Release の後に Load-Acquire が続く場合、各オブザーバは必ずプログラム順にそれらを観察します。

Load-Acquire と Store-Release を対にする必要はありません。

Store-Release 操作はマルチコピーアトミックです。つまりマルチプロセスシステムでは、Store-Release 操作のために 1 つのオブザーバがメモリへの書き込みを観察すると、その後ですべてのオブザーバがその書き込みを観察します。また、すべてのオブザーバが同じ順序で同じ場所への書き込みを観察します。

Show/hide制約条件

指定するアドレスは自然な境界で整列される必要があります。さもないと、境界調整エラーが発生します。

Rt または Rn には PC を使用しないで下さい。

Show/hide可用性

これらの 32 ビット命令は A32 および T32 で使用できます。

これらの命令の 16 ビットバージョンはありません。

Show/hide関連項目

Copyright © 2014 ARM. All rights reserved.ARM DUI 0802AJ
Non-ConfidentialID061814