24531904_j
24531904_j 24531904_j
ptc.e ─ トランスレーション・キャッシュ・エントリのパージ (Purge Translation Cache Entry) 書式 : (qp) ptc.er 3 M47 説明 : ローカル ・ プロセッサの命令トランスレーション ・ キャ ッシュとデータ ・ ト ランスレー ション・キャッシュから、 1 つ以上の変換エン ト リ がパー ジ される。 ト ランスレ ーシ ョ ン・レジスタとVHPT は変更されない。 パージされる ト ランスレーション ・ キャ ッシュ ・ エント リの数は、 プロセッサによって 異な る。 一部のプ ロ セ ッ サでは、 PTC.e を 1 回反復するだけで、 ト ランスレーション ・ キャッシュ階層のすべてのレベルがパージされる。 その他のプロセッサでは、 命令トラ ンスレーシ ョ ン ・ キャ ッシュ とデータ ・ ト ランスレーシ ョ ン ・ キャ ッシュのすべてのレ ベル、 セッ ト、 アソシアティブをフラッシュするには、 ptc.e を数回反復する必要があ る。 GR r3 は、 各反復に関連する、 プ ロ セ ッ サ固有のパ ラ メ ー タ を指定す る。 以下のループは、 すべてのプロセ ッサ ・ モデルで、 ト ランスレーシ ョ ン ・ キ ャ ッ シ ュ全 体をフラッシュするよ うに定義されている。 ソフ ト ウェアは、 プロシージャ ・ インタ フェースを介してアクセスされる、 プロセッサに依存するレイヤを介して、 パラメータ を取得す る。 ル ー プの実行中に、 選択 さ れた領域レ ジ ス タ の状態が変更 さ れてはな ら な い。 disable_interrupts(); addr = base; for (i = 0; i < count1; i++) { for (j = 0; j < count2; j++) { ptc.e(addr); addr += stride2; } addr += stride1; } enable_interrupts(); 操作 : if (PR[qp]) { if (PSR.cpl != 0) privileged_operation_fault(0); if (GR[r 3 ].nat) register_nat_consumption_fault(0); tlb_purge_translation_cache(GR[r 3 ]); } 割り込み : 特権操作フ ォ ル ト レ ジ ス タ NaT 参照フ ォ ル ト シリアル化 : ソ フ ト ウ ェ アは、 パ ー ジ に依存す る デー タ ・ ア ク セス ま たは非ア ク セス参照を発行す る 前に、 デ ー タ のシ リ アル化操作を発行して、 パ ー ジ を完了しなければな ら ない。 ま た、 ソ フ ト ウ ェ アは、 パ ー ジ に依存す る命令を フ ェ ッ チす る前に、 命令のシ リ アル化操作を 発行しなければな ら ない。 3:204 第 3 巻 : 命令リファレンス ptc.e
ptc.g, ptc.ga ptc.g, ptc.ga ─ グローバル・トランスレーション・キャッシュのパージ (Purge Global Translation Cache) 書式 : (qp) ptc.gr 3 , r 2 global_form M45 (qp) ptc.gar 3 , r 2 global_alat_form M45 説明 : ローカルTLB コヒーレンシ ・ ドメイン内の各プロセッサの命令トランスレーション ・ キャッシュとデータ ・ トランスレーション・キャッシュ内で、 仮想アドレスおよびペー ジ ・ サ イ ズが、 指定 さ れたパ ー ジ仮想ア ド レ スお よ びパ ー ジ ・ ア ド レ ス範囲 と 部分的 ま たは完全に重な る、 すべてのエン ト リ が検索 さ れる。 該当す る エン ト リ は削除 さ れる。 パージ仮想アドレスは、 GR r3 のビッ ト {60:0} によって指定される。 パージ ・ リージョ ン識別子は、 GR r3 のビ ッ ト {63:61} によって選択される。 GR r2 は、 パージのア ド レス 範囲を、 1
- 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
- Seite 191 und 192: padd } 割り込み : 無効操作
- Seite 193 und 194: pavg 図 2-31. 並列平均での
- Seite 195 und 196: pavgsub pavgsub ─ 並列平均減
- Seite 197 und 198: pcmp pcmp ─ 並列比較 (Paralle
- 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: psub } 割り込み : 無効操作
- 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 und 250: tnat tnat ─ Test Nat テスト (T
- Seite 251 und 252: tpa tpa ─ 物理アドレスへ
- 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. 擬似コード関数 (
ptc.g, ptc.ga<br />
ptc.g, ptc.ga ─ グローバル・トランスレーション・キャッシュのパージ<br />
(Purge Global Translation Cache)<br />
書式 : (qp) ptc.gr 3 , r 2 global_form M45<br />
(qp) ptc.gar 3 , r 2 global_alat_form M45<br />
説明 : ローカルTLB コヒーレンシ ・ ドメイン内の各プロセッサの命令トランスレーション ・<br />
キャッシュとデータ ・ トランスレーション・キャッシュ内で、 仮想アドレスおよびペー<br />
ジ ・ サ イ ズが、 指定 さ れたパ ー ジ仮想ア ド レ スお よ びパ ー ジ ・ ア ド レ ス範囲 と 部分的 ま<br />
たは完全に重な る、 すべてのエン ト リ が検索 さ れる。 該当す る エン ト リ は削除 さ れる。<br />
パージ仮想アドレスは、 GR r3 のビッ ト {60:0} によって指定される。 パージ ・ リージョ<br />
ン識別子は、 GR r3 のビ ッ ト {63:61} によって選択される。 GR r2 は、 パージのア ド レス<br />
範囲を、 1