24531904_j
24531904_j 24531904_j
hint ─ パフォーマンス・ヒント (Performance Hint) 書式 : (qp) hintimm 21 疑似オペ コ ー ド (qp) hint.i imm 21 i_unit_form I18 (qp) hint.b imm 21 b_unit_form B9 (qp) hint.m imm 21 m_unit_form M48 (qp) hint.f imm 21 f_unit_form F16 (qp) hint.x imm 62 x_unit_form X5 説明 : 実行中のプ ロ グ ラ ム に関す る パ フ ォ ー マンス ・ ヒ ン ト をプ ロ セ ッ サに提供する。 こ の命 令は、 パ フ ォ ー マン ス上の効果以外は nop 命令 と して動作す る ため、 アー キテ ク チ ャ上 のマシン状態に影響を与えない。 即値 imm21 または imm62 は、 ヒ ン ト を指定す る。 x_unit_form の場合、 バン ド ルの L ス ロッ トには、 imm62 の上位 41 ビッ トが含まれる。 この命令には 5 つの形式があ る が、 これ ら の形式は それぞれ特定の実行ユニ ッ ト ・ タ イ プに対してしか実行で き ない。 実行する ユニ ッ ト ・ タ イ プが重要でない場合は、 擬似オ ペコー ドを使用できる。 表 2-31. ヒントの即値 操作 : if (PR[qp]) { if (x_unit_form) hint = imm 62 ; else // i_unit_form || b_unit_form || m_unit_form || f_unit_form hint = imm 21; } 割り込み : なし imm 21 または imm 62 ニーモ ニック if (is_supported_hint(hint)) execute_hint(hint); ヒント 0x0 @pause 現在実行中のストリームが優先度の低いタスクを待機、スピン、または実行 していることをプロセッサに知らせる。このヒントをプロセッサで使用する と、同じプロセッサ上で実行中の別のストリームに対して、より多くのリ ソースや時間を割り当てることができる。 0x01-0x3f これらの値は、将来のアーキテクチャ拡張で使用可能であり、現在のプロ セッサ上では nop として実行される。これらの値を使用すると、将来のプロ セッサ上で予期せぬパフォーマンスの問題が発生する可能性があるので、使 用すべきではない。 その他 プロセッサ固有。プロセッサ固有のヒント・アクションを実行する。詳細に ついては、各プロセッサの資料を参照のこと。 3:128 第 3 巻 : 命令リファレンス hint
invala invala ─ ALAT の無効化 (Invalidate ALAT) 書式 : (qp) invala complete_form M24 (qp) invala.e r 1 gr_form, entry_form M26 (qp) invala.e f 1 fr_form, entry_form M27 説明 : ALAT 内の選択 さ れた単一 ま たは複数のエン ト リ が無効に さ れる。 complete_form では、 ALAT のすべてのエン ト リ が無効に される。 entry_form では、 汎用 レ ジ ス タ指定子 r1 (gr_form の場合 )、 あるいは浮動小数点レ ジ ス タ指定子 f1 (fr_form の場 合 ) を使用して ALAT が照会 さ れ、 いずれかの ALAT エン ト リ が一致した場合に、 その エン ト リ が無効にされる。 操作 : if (PR[qp]) { if (complete_form) alat_inval(); else { // entry_form if (gr_form) alat_inval_single_entry(GENERAL, r 1); else // fr_form alat_inval_single_entry(FLOAT, f 1 ); } } 割り込み : なし 第 3 巻 : 命令リファレンス 3:129
- Seite 89 und 90: fmpy fmpy ─ 浮動小数点乗算
- Seite 91 und 92: fneg fneg ─ 浮動小数点否定
- Seite 93 und 94: fnma fnma ─ 浮動小数点積和
- Seite 95 und 96: fnorm fnorm ─ 浮動小数点正
- Seite 97 und 98: fpabs fpabs ─ 浮動小数点並
- Seite 99 und 100: fpamax fpamax ─ 浮動小数点
- Seite 101 und 102: fpamin fpamin ─ 浮動小数点
- Seite 103 und 104: fpcmp fpcmp ─ 浮動小数点並
- Seite 105 und 106: fpcmp FP 例外 : 無効操作 (Inv
- Seite 107 und 108: fpcvt.fx } } } tmp_res.significand
- Seite 109 und 110: fpma } } fp_update_fpsr(sf, tmp_fp_
- Seite 111 und 112: fpmerge fpmerge ─ 浮動小数点
- Seite 113 und 114: fpmin fpmin ─ 浮動小数点並
- Seite 115 und 116: fpms fpms ─ 浮動小数点並列
- Seite 117 und 118: fpneg fpneg ─ 浮動小数点並
- Seite 119 und 120: fpnma fpnma ─ 浮動小数点並
- Seite 121 und 122: fpnmpy fpnmpy ─ 浮動小数点
- Seite 123 und 124: fprcpa } else if (fp_is_zero(num) &
- Seite 125 und 126: fprsqrta } tmp_pred_hi = 0; else tm
- Seite 127 und 128: frcpa } fp_update_fpsr(sf, tmp_fp_e
- Seite 129 und 130: frsqrta } PR[p 2 ] = 0; // fp_ieee_
- Seite 131 und 132: fsetc fsetc ─ 浮動小数点コ
- Seite 133 und 134: fswap fswap ─ 浮動小数点ス
- Seite 135 und 136: fsxt fsxt ─ 浮動小数点符号
- Seite 137 und 138: fxor fxor ─ 浮動小数点排他
- Seite 139: getf } GR[r 1 ] = FR[f 2 ].signific
- Seite 143 und 144: itc 割り込み : マシン ・
- Seite 145 und 146: itr シリアル化 : instruction_f
- Seite 147 und 148: ld 表 2-33. ロード・タイプ(
- Seite 149 und 150: ld if (check && alat_cmp(GENERAL, r
- Seite 151 und 152: ldf ldf ─ 浮動小数点ロー
- Seite 153 und 154: ldf ldfe でのみ発生する。
- Seite 155 und 156: ldfp ldfp ─ 浮動小数点ペア
- Seite 157 und 158: ldfp } } if (base_update_form) { //
- Seite 159 und 160: lfetch 表 2-38. lfhint のニー
- Seite 161 und 162: loadrs loadrs ─ レジスタ・
- Seite 163 und 164: mix mix ─ ミックス (Mix) 書
- Seite 165 und 166: mix 操作 : if (PR[qp]) { check_ta
- Seite 167 und 168: mov ar 操作 : if (PR[qp]) { tmp_t
- Seite 169 und 170: mov cr mov ─ コントロール
- Seite 171 und 172: mov fr mov ─ 浮動小数点レ
- Seite 173 und 174: mov imm mov ─ 即値の移動 (Mo
- Seite 175 und 176: mov indirect 操作 : if (PR[qp]) {
- Seite 177 und 178: mov ip mov ─ 命令ポインタ
- Seite 179 und 180: mov psr mov ─ プロセッサ・
- Seite 181 und 182: movl movl ─ ロング型即値の
- Seite 183 und 184: mux 図 2-27. Mux2 の例 (16 ビ
- Seite 185 und 186: nop nop ─ ノー・オペレー
- Seite 187 und 188: pack pack ─ パック (Pack) 書
- Seite 189 und 190: padd padd ─ 並列加算 (Paralle
hint ─ パフォーマンス・ヒント (Performance Hint)<br />
書式 : (qp) hintimm 21 疑似オペ コ ー ド<br />
(qp) hint.i imm 21 i_unit_form I18<br />
(qp) hint.b imm 21 b_unit_form B9<br />
(qp) hint.m imm 21 m_unit_form M48<br />
(qp) hint.f imm 21 f_unit_form F16<br />
(qp) hint.x imm 62 x_unit_form X5<br />
説明 : 実行中のプ ロ グ ラ ム に関す る パ フ ォ ー マンス ・ ヒ ン ト をプ ロ セ ッ サに提供する。 こ の命<br />
令は、 パ フ ォ ー マン ス上の効果以外は nop 命令 と して動作す る ため、 アー キテ ク チ ャ上<br />
のマシン状態に影響を与えない。<br />
即値 imm21 または imm62 は、 ヒ ン ト を指定す る。 x_unit_form の場合、 バン ド ルの L ス<br />
ロッ トには、 imm62 の上位 41 ビッ トが含まれる。<br />
この命令には 5 つの形式があ る が、 これ ら の形式は それぞれ特定の実行ユニ ッ ト ・ タ イ<br />
プに対してしか実行で き ない。 実行する ユニ ッ ト ・ タ イ プが重要でない場合は、 擬似オ<br />
ペコー ドを使用できる。<br />
表 2-31. ヒントの即値<br />
操作 : if (PR[qp]) {<br />
if (x_unit_form)<br />
hint = imm 62 ;<br />
else // i_unit_form || b_unit_form || m_unit_form || f_unit_form<br />
hint = imm 21;<br />
}<br />
割り込み : なし<br />
imm 21 または<br />
imm 62<br />
ニーモ<br />
ニック<br />
if (is_supported_hint(hint))<br />
execute_hint(hint);<br />
ヒント<br />
0x0 @pause 現在実行中のストリームが優先度の低いタスクを待機、スピン、または実行<br />
していることをプロセッサに知らせる。このヒントをプロセッサで使用する<br />
と、同じプロセッサ上で実行中の別のストリームに対して、より多くのリ<br />
ソースや時間を割り当てることができる。<br />
0x01-0x3f これらの値は、将来のアーキテクチャ拡張で使用可能であり、現在のプロ<br />
セッサ上では nop として実行される。これらの値を使用すると、将来のプロ<br />
セッサ上で予期せぬパフォーマンスの問題が発生する可能性があるので、使<br />
用すべきではない。<br />
その他 プロセッサ固有。プロセッサ固有のヒント・アクションを実行する。詳細に<br />
ついては、各プロセッサの資料を参照のこと。<br />
3:128 第 3 巻 : 命令リファレンス<br />
hint