24531904_j
24531904_j 24531904_j
PR[p2 ] = 0; } break; case ‘unc’: // unc-type compare default: // normal compare PR[p1 ] = tmp_rel; PR[p2 ] = !tmp_rel; break; } } else { if (ctype == ‘unc’) { if (p1 == p2) illegal_operation_fault(); PR[p1 ] = 0; PR[p2 ] = 0; } } 割り込み : 無効操作フ ォ ル ト 3:238 第 3 巻 : 命令リファレンス tnat
tpa tpa ─ 物理アドレスへの変換 (Translate to Physical Address) 書式 : (qp) tpar 1 = r 3 M46 説明 : この命令は、 GR r3 に よ っ て指定される仮想ア ド レ ス に対応する物理ア ド レ ス を取得し、 GR r1 に格納する。 PSR.dt が 1 の場合は、 DTLB および VHPT 内で、 GR r3 によって指定される仮想アドレ スと、 GR r3 のビ ッ ト {63:61} によってインデックスが付けられたリージョン ・ レジスタ が検索 さ れる。 一致す る現在の変換エン ト リ が見つか っ た場合は、 その変換エン ト リ の 物理ア ド レ スが GR r1 に格納される。 一致する現在の変換エン ト リ が見つか ら ない場合 は、 適切な TLB フォルトが発生する。 PSR.dt が 0 の場合は、 VHPT ウォーカがディスエーブルにされるため、 DTLB だけが検 索される。 DTLB 内で一致する現在の変換エン ト リ が見つか ら ない場合は、 psr.ic が 1 の 場合は別のデ ー タ TLB フォルトが発生し、 psr.ic が 0 の場合はデー タがネス ト された TLB フォルトが発生する。 こ の命令でフ ォ ル ト が発生した場合は、 ISR 内の非アク セス ・ ビ ッ ト がセ ッ ト される。 ISR の読み込みビットと書き込みビットはセットされない。 こ の命令は、 最高の特権レ ベル以外では実行で き ない。 操作 : if (PR[qp]) { itype = NON_ACCESS|TPA; check_target_register(r 1 ); } if (PSR.cpl != 0) privileged_operation_fault(itype); if (GR[r 3 ].nat) register_nat_consumption_fault(itype); GR[r 1 ] = tlb_translate_nonaccess(GR[r 3 ], itype); GR[r 1 ].nat = 0; 割り込み : 無効操作フ ォ ル ト 別のデ ー タ TLB フォルト 特権操作フ ォ ル ト VHPT データ ・ フォル ト レジスタ NaT 参照フ ォ ル ト デー タ TLB フォルト 実装 さ れていないデ ー タ ・ ア ド レ ス ・ フ ォ ル ト デー タ ・ ペー ジ不在フ ォ ル ト データがネス ト された TLB フォルト データNaT ページ参照フォル ト 第 3 巻 : 命令リファレンス 3:239
- Seite 199 und 200: pmax pmax ─ 並列最大値 (Para
- Seite 201 und 202: pmpy pmpy ─ 並列乗算 (Paralle
- Seite 203 und 204: pmpyshr 操作 : if (PR[qp]) { chec
- Seite 205 und 206: probe probe ─ アクセスのプ
- Seite 207 und 208: psad psad ─ 並列絶対差累計
- Seite 209 und 210: pshladd pshladd ─ 並列左シフ
- Seite 211 und 212: pshr } 割り込み : 無効操作
- Seite 213 und 214: psub psub ─ 並列減算 (Paralle
- Seite 215 und 216: psub } 割り込み : 無効操作
- Seite 217 und 218: ptc.g, ptc.ga ptc.g, ptc.ga ─ グ
- Seite 219 und 220: ptc.l ptc.l ─ ローカル・ト
- Seite 221 und 222: ptr 割り込み : 特権操作フ
- Seite 223 und 224: fi この命令を発行する前
- Seite 225 und 226: sm rsm ─ システム・マスク
- Seite 227 und 228: um rum ─ ユーザ・マスクの
- Seite 229 und 230: setf 操作 : if (PR[qp]) { fp_chec
- Seite 231 und 232: shladd shladd ─ 左シフトお
- Seite 233 und 234: shr shr ─ 右シフト (Shift Rig
- Seite 235 und 236: srlz srlz ─ シリアル化 (Seri
- Seite 237 und 238: st st ─ ストア (Store) 書式
- Seite 239 und 240: stf stf ─ 浮動小数点スト
- Seite 241 und 242: sub sub ─ 減算 (Subtract) 書
- Seite 243 und 244: sxt sxt ─ 符号拡張 (Sign Exte
- Seite 245 und 246: tak tak ─ トランスレーシ
- Seite 247 und 248: tbit PR[p2 ] = 0; } break; case ‘
- Seite 249: tnat tnat ─ Test Nat テスト (T
- Seite 253 und 254: unpack unpack ─ アンパック (
- Seite 255 und 256: xchg xchg ─ 交換 (Exchange) 書
- Seite 257 und 258: xma xma ─ 固定小数点積和 (
- Seite 259 und 260: xmpy xmpy ─ 固定小数点乗算
- Seite 261 und 262: zxt zxt ─ ゼロ拡張 (Zero Exte
- Seite 263 und 264: 擬似コード関数 3 この章
- Seite 265 und 266: 表 3-1. 擬似コード関数 (
- Seite 267 und 268: 表 3-1. 擬似コード関数 (
- Seite 269 und 270: 表 3-1. 擬似コード関数 (
- Seite 271 und 272: 表 3-1. 擬似コード関数 (
- Seite 273 und 274: 表 3-1. 擬似コード関数 (
- Seite 275 und 276: 命令形式 4 個々の Itanium ®
- Seite 277 und 278: 使用 さ れていないメ ジ
- Seite 279 und 280: 表 4-4. 命令形式の要約 (
- Seite 281 und 282: 表 4-6. 命令フィールド名 (
- Seite 283 und 284: 4.2 A ユニット命令エンコ
- Seite 285 und 286: 4.2.1.4 Add Immediate 14 A4 4.2.1.5
- Seite 287 und 288: 4.2.2.2 Integer Compare to Zero ─
- Seite 289 und 290: 表 4-13. マルチメディア ALU
- Seite 291 und 292: 4.2.3.1 Multimedia ALU A9 4.2.3.2 M
- Seite 293 und 294: 表 4-18. マルチメディア・
- Seite 295 und 296: 4.3.1.2 Multimedia Multiply/Mix/Pac
- Seite 297 und 298: 4.3.1.8 Multimedia Shift Left ─ F
- Seite 299 und 300: 4.3.2.6 Deposit I15 4.3.3 ビット
PR[p2 ] = 0;<br />
}<br />
break;<br />
case ‘unc’: // unc-type compare<br />
default: // normal compare<br />
PR[p1 ] = tmp_rel;<br />
PR[p2 ] = !tmp_rel;<br />
break;<br />
}<br />
} else {<br />
if (ctype == ‘unc’) {<br />
if (p1 == p2)<br />
illegal_operation_fault();<br />
PR[p1 ] = 0;<br />
PR[p2 ] = 0;<br />
}<br />
}<br />
割り込み : 無効操作フ ォ ル ト<br />
3:238 第 3 巻 : 命令リファレンス<br />
tnat