バリエーション 2
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/01/31 05:26 UTC 版)
「テスト・アンド・セット」の記事における「バリエーション 2」の解説
CPU1は、メモリアドレスA への書き込みのテスト・アンド・セット命令を発行する。DPRAMは即座にそのアドレスAに値を書き込まず、アドレスAの現在の値を特別なレジスタに移し、アドレスAの位置には特別なフラグをセットする。ここでCPU2が同じアドレスAへのテスト・アンド・セット命令を発行すると、DPRAMは特別なフラグがセットされていることを検出し、バリエーション1と同様にBUSY割り込みを発生させる。 CPU2がそのアドレスにアクセスしようとしていたかどうかに関わらず、DPRAMはCPU1のテストを実行する(特別なレジスタに格納された値とCPU1の指定した値を比較する)。テストが成功すると、DPRAMはアドレスAのメモリ位置にCPU1が指定した値を書き込む。テストが失敗するとDPRAMは特別なレジスタからアドレスAに値を戻す。どちらの操作によっても特別なフラグは消されるので、CPU2がテスト・アンド・セット命令を発行できるようになる。
※この「バリエーション 2」の解説は、「テスト・アンド・セット」の解説の一部です。
「バリエーション 2」を含む「テスト・アンド・セット」の記事については、「テスト・アンド・セット」の概要を参照ください。
- バリエーション2のページへのリンク