16.02.2013 Aufrufe

24531904_j

24531904_j

24531904_j

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

l ─ ロング型分岐 (Branch Long)<br />

書式 : (qp) brl.btype.bwh.ph.dh target64 X3<br />

(qp) brl.btype.bwh.ph.dh b1 = target64 call_form X4<br />

brl.ph.dh target64 擬似オペ コ ー ド<br />

説明 : 分岐条件が評価され、 分岐が発生するか、 ま たは次のシ ー ケンシ ャ ル命令で実行が継続<br />

さ れる。 分岐の実行は、 論理的には、 同じ命令グルー プ内のすべての先行する非分岐命<br />

令の実行の後に続 く 。 分岐が発生した場合、 実行は ス ロ ッ ト 0 から始まる。<br />

ロ ン グ型分岐は、 常に IP 相対分岐であ る。 target64 オペラン ド は、 アセンブ リ内で、 分<br />

岐先の ラベルを指定す る。 こ の命令を含むバン ド ルか ら 分岐先バン ド ル ま での変位が計<br />

算され、 即値 (imm60 ) と して ロ ング型分岐命令内にエン コ ー ド さ れる (imm60 = target64 -<br />

IP >> 4)。 このバン ドルの L スロッ ト に、 imm60 の 39 ビットが入る。<br />

表 2-10. ロング型分岐のタイプ<br />

btype 機能 分岐条件 分岐先アドレス<br />

cond or none 条件付き分岐 修飾プレディケート IP 相対<br />

call 条件付きプロシージャ・コール 修飾プレディケート IP 相対<br />

ロ ン グ型無条件分岐に は擬似オペ コ ー ド がある。 こ の擬似オペ コ ー ド は、 条件付き分岐<br />

(btype = cond) と同じようにエンコー ド され、 qp フィールドでPR 0 を指定し、 bwh ヒン<br />

ト sptk を持つ。<br />

分岐タ イ プに よ っ て、 分岐条件の計算方法 と 、 分岐に よ る副次的作用 ( リンク・レジス<br />

タへの書き込みなど ) が発生するかど う かが決ま る。 すべてのロ ング型分岐タ イプでは、<br />

分岐条件は、 単に、 指定 さ れたプ レ デ ィ ケ ー ト ・ レ ジ ス タ の値であ る。<br />

• cond: 修飾プ レ デ ィ ケ ー ト が 1 の場合は、 分岐が発生す る。 それ以外の場合は、 分岐<br />

は発生しない。<br />

• call: 修飾プ レ デ ィ ケ ー ト が 1 の場合は、 分岐が発生し、 次の よ う な他の動作が行わ<br />

れる。<br />

• 現在の フ レ ー ム ・ マ ー カ (CFM) の現在値、 EC アプ リ ケーシ ョ ン ・ レジスタ、 現<br />

在の特権レベルが、 以前の関数の状態アプ リ ケ ーシ ョ ン ・ レ ジスタ に保存され<br />

る。<br />

• 呼び出し元のスタ ッ ク ・ フ レ ー ムがセーブ され、 呼び出し元の出力エ リ アだけを<br />

含むフ レ ー ムが呼び出し先に渡される。<br />

• CFM 内のローテーション ・ リネーム ・ベース ・ レジスタが 0 にリセットされる。<br />

• リターン・ リンクの値が、 BR b1 に格納される。<br />

ロ ン グ型分岐命令での リ ー ド ・ ア フ タ ー ・ ラ イ ト (RAW) およびライ ト ・アフター ・ リー<br />

ド (WAR) 依存関係の要件は、 他の命令での要件 と は多少異な る が、 分岐命令での要件 と<br />

同じである。 詳細は、 3:21 ページを参照のこ と。<br />

こ の命令は、 直後にス ト ッ プが必要であ る。 直後に ス ト ッ プがない場合、 こ の命令の動<br />

作は不定である。<br />

各種の分岐 ヒ ン ト ・ コ ン プ リ ー タ の値は、 分岐命令 と 同じ である。 3:21 ページの表 2-7<br />

に、 分岐有無予測ス ト ラ テ ジ ・ ヒ ン ト を示す。 3:21 ページの表 2-8 に、 シーケンシャル ・<br />

プリフェッチ・ ヒントを示す。 3:21 ページの表 2-9 に、 分岐キャ ッ シ ュ割り当て解除ヒ<br />

ントを示す。 第 1 巻、 第 1 部の 4.5.2 項 「分岐予測 ヒ ン ト 」 を参照のこ と。<br />

この命令は、 Itanium アーキテクチャのプロセッサには実装されていない。 Itanium アーキ<br />

テ ク チ ャ のプ ロ セ ッ サは、 ロ ン グ型分岐命令が検出される と 、 分岐が発生す る か ど う かに<br />

3:26 第 3 巻 : 命令リファレンス<br />

brl

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!