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.

chk<br />

chk ─ スペキュレーション・チェック (Speculation Check)<br />

書式 : (qp) chk.sr 2 , target 25 擬似オペ コ ー ド<br />

(qp) chk.s.ir 2 , target 25 control_form, i_unit_form, gr_form I20<br />

(qp) chk.s.mr 2 , target 25 control_form, m_unit_form, gr_form M20<br />

(qp) chk.sf 2 , target 25 control_form, fr_form M21<br />

(qp) chk.a.aclr r 1 , target 25 data_form, gr_form M22<br />

(qp) chk.a.aclr f 1 , target 25 data_form, fr_form M23<br />

説明 : コント ロール・スペキュレーションまたはデータ ・ スペキュレーションによる計算の結<br />

果をチェ ックして、 成功か失敗かが確認される。 チェ ックが失敗した場合は、 target25 へ<br />

の分岐が実行される。<br />

control_form では、 成否はソース ・ レジスタに対する NaT ビッ トにより判定される。<br />

gr_form で GR r2 に対応する NaT ビッ トが1 の場合、 あるいは fr_form で FR f2 の内容が<br />

NaTVal の場合は、 チェ ッ ク は失敗である。<br />

data_form では、 成否は ALAT で判定される。 ALAT は、 gr_form の場合には 汎用レ ジ ス<br />

タ指定子 r1 を、 fr_form の場合に は浮動小数点レ ジ ス タ指定子 f1 を使用して照会される。<br />

一致す る ALAT エン ト リがない場合は、 チェ ッ クは失敗である。 ALAT エン ト リが一致<br />

したかど う かに関わらず、 チェ ッ ク を必要に応じて失敗させる こ とができ る。 汎用レジ<br />

スタ指定子r0 ま たは浮動小数点レ ジ ス タ指定子 f0 または f1 をとる chk.a 命令は、 常に<br />

失敗す る。<br />

target25 オペラ ン ド で、 アセン ブ リ で分岐先の ラベルを指定する。 こ の命令を含むバン ド<br />

ルか ら 分岐先バン ド ル ま での変位を計算し、 符号付き即値 (imm21 ) と して こ の命令内に<br />

エンコ ー ド される (imm21 = target25 - IP >> 4)。<br />

こ の命令の分岐動作は、 オプシ ョ ン に よ り 、 実装しな く て も よ い。 分岐動作が実装 さ れ<br />

ていないに も かかわ ら ず、 こ の命令が分岐した場合は、 スペキ ュ レ ー テ ィ ブ操作フ ォ ル<br />

トが発生し、 imm21 で指定した値がゼロ拡張されて、 割り込み即値コン ト ロール ・ レジ<br />

スタ (IIM) に格納される。 フ ォル ト ・ ハン ド ラは、 IIM の値を符号拡張して IIP に加算<br />

し、 制御を戻す と、 分岐をエ ミ ュ レー ト する。<br />

汎用レ ジ ス タ ・ チ ェ ッ ク 用の こ の命令の control_form は、 I ユニ ッ ト に対して も M ユ<br />

ニ ッ ト に対して も エン コ ー ド 可能である。 実行す る ユニ ッ ト の タ イ プが重要でない場合<br />

は、 擬似オペ コ ー ド を使用して よ い。<br />

data_form では、 一致する ALAT エン ト リ がある場合は、 aclr コンプリータの値に基づい<br />

て、 一致する ALAT エン ト リ を必要に応じて無効にでき る ( 表 2-14 を参照 )。<br />

表 2-14. ALAT クリアのためのコンプリータ<br />

aclr コンプリータ ALAT に対する効果<br />

clr 一致する ALAT エントリを無効にする<br />

nc 無効にしない<br />

aclr コンプリータに clr 値を指定してチェ ッ クが成功した場合は、 ALAT の一致するエン<br />

ト リ が無効に される。 ただし、 チ ェ ッ クが失敗した ( 一致す る ALAT エン ト リ があって<br />

も失敗するこ とがある ) 場合は、 一致す る ALAT エン ト リ を必要に応じて無効にでき る<br />

が、 必ずし も 無効にす る必要はない。 したが っ て、 デ ー タ ・ スペキ ュ レ ー シ ョ ンのため<br />

のリカバリコードでは、 一致する ALAT エン ト リ が存在しないものと想定してはならな<br />

い。<br />

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!