16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

cmpxchg ─ 比較交換 (Compare And Exchange)<br />

cmpxchg<br />

書式 : (qp) cmpxchgsz.sem.ldhint r 1 = [r 3 ], r 2 , ar.ccv M16<br />

(qp) cmp8xchg16.sem.ldhint r1 = [r 3 ], r 2 , ar.csd, ar.ccv sixteen_byte_form M16<br />

説明 : GR r3 の値で指定されるアドレスから始まるメモリ位置から sz バイ ト (cmp8xchg16 では<br />

8 バイ ト ) の値が読み込 ま れる。 こ の値はゼ ロ拡張 さ れ、 比較交換での比較値 (cmpxchg<br />

Compare Value) アプ リ ケーシ ョ ン ・ レジスタの内容 (AR[CCV]) と比較される。 2 つが等<br />

しい場合は、 GR r2 の最下位の sz ビッ トが取り出され、 GR r3 の値で指定されるア ド レ ス<br />

から始まるメモリ位置に書き込まれる。 cmp8xchg16 の場合、 2 つが等しい場合は、 ビ ッ<br />

ト 3 を無視する指定されたア ド レ ス (GR r3 & ~ 0x4) に GR r2 からの8 バイ ト がス ト アさ<br />

れ、 そのア ド レ ス に 8 を加えたア ド レス ((GR r3 & ~ 0x4)+ 8) に Compare and Store Data<br />

アプ リ ケーシ ョ ン ・ レジスタ (AR[CSD]) からの8 バイ ト がス ト アされる。 メモリから読<br />

み込まれ、 ゼロ拡張された値は GR r1 に格納され、 GR r1 に対応する NaT ビッ トがクリ<br />

アされる。<br />

sz コンプリータの値を表 2-19 に示す。 sem コンプリータでセマフォ操作のタイプを指定<br />

する。 それらの操作の説明を、 表 2-20 に示す。 メモ リ順序の詳細は、 第 2 巻、 第 1 部の<br />

4.4.7 項 「シーケンシャル属性と順序付け」 を参照のこ と。<br />

表 2-19. 比較交換のメモリ・サイズ<br />

表 2-20. 比較交換セマフォのタイプ<br />

sem<br />

コンプリータ<br />

acq 取得<br />

rel 解放<br />

sz コンプリータ アクセスされるバイト数<br />

1 1<br />

2 2<br />

4 4<br />

8 8<br />

順序付けの<br />

セマンティックス<br />

セマフォ操作<br />

後続のすべてのデータ・メモリ・アクセスの前に、メモリに対する読<br />

み取り / 書き込みが検出可能になる。<br />

先行のすべてのデータ・メモリ・アクセスの後に、メモリに対する読<br />

み取り / 書き込みが検出可能になる。<br />

GR r3 の値で指定されるア ド レ スが、 メモ リ でア クセス されるサイズに自然にアラ イ メ<br />

ントされていない場合は、 ユーザ・マスク (User Mask) アライメン ト ・ チェ ッ ク ・ ビッ ト<br />

UM.ac ( プロセッサ ・ ステータス ・ レジスタの PSR.ac) の状態に関わらず、 非アラ イ メン<br />

ト・データ参照 (Unaligned Data Reference) フォルトが発生する。 cmp8xchg16 命令では、<br />

指定 さ れる ア ド レ ス は 8 バイ ト にアライメン トが合っていなければならない。<br />

メモ リ に対する読み取り およ び書き込みはア ト ミ ッ ク な操作である こ と が保証されてい<br />

る。 cmp8xchg16 命令では、 8 バイ ト のメモリ読み取り と 16 バイ ト のメモリ書き込みは<br />

ア ト ミ ッ ク な操作であ る こ と が保証 さ れている。<br />

参照 さ れるペー ジ に対する読み取 り お よ び書き込みの両方のア ク セス特権が必要であ る。<br />

メモ リ への書き込みが行われるかど う かに関わらず、 書み込みアク セス特権のチェ ッ ク<br />

が行われる。<br />

こ の命令は、 ラ イ ト バ ッ ク書き込みポ リ シ ー を持つキ ャ ッ シ ュ可能ペー ジ に対してのみ<br />

有効であ る。 NaTPage にアクセスする と、 データ NaT ペー ジ参照フ ォ ル ト が発生す る。<br />

他のメモ リ 属性を持つペー ジにアク セスする と、 サポ ー ト されないデー タ参照フ ォ ル ト<br />

が発生する。<br />

3:40 第 3 巻 : 命令リファレンス

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!