24531904_j
24531904_j 24531904_j
表 3-1. 擬似コード関数 ( 続き ) tlb_translate(vaddr, size, type, cpl, *attr, *defer) 変換がイネーブルのときに、指定された仮想メモリ・アドレス (vaddr) の変換後の データ物理アドレスを返す。イネーブルでない場合は、vaddr を返す。size でア クセスのサイズを指定し、type でアクセスのタイプを指定する (read、write、 advance、spec など )。cpl でアクセス・チェックのための特権レベルを指定す る。*attr はマップされた物理メモリ属性を返す。フォルト条件が検出され、据え 置かれた場合、tlb_translate は *defer を設定して返る。フォルトが生成された が、フォルトがデファーされ ( 据え置かれ ) なかった場合、tlb_translate は返らな い。tlb_translate は、以下のフォルトをチェックする。 VHPT データ・フォルト データがネストされた TLB フォルト データ TLB フォルト 別のデータ TLB フォルト データ・ページ不在フォルト データ NaT ページ参照フォルト データ・キー・ミス・フォルト データ・キー許可フォルト データ・アクセス権フォルト データ・ダーティ・ビット・フォルト データ・アクセス・ビット・フォルト データ・デバッグ・フォルト サポートされないデータ参照フォルト tlb_translate_nonaccess(vaddr, type) 指定された仮想メモリ・アドレス (vaddr) の変換後のデータ物理アドレスを返す。 type でアクセスのタイプを指定する (FC、TPA など )。フォルトが生成された場合、 tlb_translate_nonaccess は返らない。以下のフォルトがチェックされる。 VHPT データ・フォルト データ TLB フォルト データがネストされた TLB フォルト データ・ページ不在フォルト データ NaT ページ参照フォルト tlb_vhpt_hash(vrn, vaddr61, rid, size) 指定された仮想リージョン番号 (vrn) と、61 ビットの仮想オフセット (vaddr61)、 リージョン識別子 (rid)、ページ・サイズ (size) を持つ VHPT エントリのアドレ スを生成する。tlb_vhpt_hash は、vaddr、rid、size パラメータをハッシュ処理 して、ハッシュ・インデックスを生成する。次に、このハッシュ・インデックスを PTA.size に基づいてマスクして、PTA.base と連結し、VHPT エントリのアドレス を生成する。ロング形式のハッシュ法は、プロセッサ固有である。 tlb_vhpt_tag(vaddr, rid, size) 指定された仮想アドレス (vaddr)、リージョン識別子 (rid)、ページ・サイズ (size) を持つ VHPT タグ識別子を生成する。tlb_vhpt_tag は、vaddr、rid、size パラメータをハッシュ処理して、変換エントリの識別子を生成する。このタグと ハッシュ・インデックスを組み合わせて、VHPT 内の変換エントリを一意に識別で きる。タグの生成方法は、プロセッサ固有である。すべてのプロセッサ・モデルの タグ関数は、生成されたタグのビット 63 (ti ビット ) が必ず 0 になるようにしなけ ればならない。 unimplemented_physical_address (paddr) 指定された物理アドレスが、このプロセッサ・モデルでサポートされていない場合 に TRUE を返す。それ以外の場合には FALSE を返す。この関数はモデル固有であ る。 undefined() 不定の 64 ビット値を返す。 undefined_behavior() 不定のプロセッサ動作を発生させる。不定な動作の程度については、第 1 巻、第 1 部の 3.5 節「未定義の動作」を参照のこと。 unimplemented_virtual_address (vaddr) 関数 操作 指定された仮想アドレスが、このプロセッサ・モデルでサポートされていない場合 に TRUE を返す。それ以外の場合には FALSE を返す。この関数はモデル固有であ る。 fp_update_fpsr(sf, tmp_fp_env) 浮動小数点命令のローカル状態をグローバル FPSR にコピーする。 3:260 第 3 巻 : 擬似コード関数
表 3-1. 擬似コード関数 ( 続き ) 関数 操作 fp_update_psr(dest_freg) dest_freg に基づいて、PSR.mfl または PSR.mfh を条件付きで設定する。 zero_ext(value, pos) ビット pos-1 から 0 までが value で埋められ、ビット位置 pos から 63 までがゼ ロとなっている 64 ビットの符号なし数値を返す。pos が 64 以上である場合には、 value が返される。 第 3 巻 : 擬似コード関数 3:261
- 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. 擬似コード関数 (
- Seite 267 und 268: 表 3-1. 擬似コード関数 (
- Seite 269 und 270: 表 3-1. 擬似コード関数 (
- Seite 271: 表 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 ビット
- Seite 301 und 302: 表 4-25. その他の I ユニッ
- Seite 303 und 304: 4.3.5.2 Move from BR I22 4.3.6 GR/
- Seite 305 und 306: 4.4 M ユニット命令エンコ
- Seite 307 und 308: 表 4-32. 整数ロード / スト
- Seite 309 und 310: 表 4-34. 浮動小数点ロード
- Seite 311 und 312: 表 4-38. 浮動小数点ペア・
- Seite 313 und 314: 4.4.1.2 Integer Load ─ Increment
- Seite 315 und 316: 4.4.1.4 Integer Store M4 4.4.1.5 In
- Seite 317 und 318: 4.4.1.7 Floating-point Load ─ Inc
- Seite 319 und 320: 4.4.1.10 Floating-point Store ─ I
- Seite 321 und 322: 4.4.2.1 Line Prefetch M13 4.4.2.2 L
表 3-1. 擬似コード関数 ( 続き )<br />
関数 操作<br />
fp_update_psr(dest_freg) dest_freg に基づいて、PSR.mfl または PSR.mfh を条件付きで設定する。<br />
zero_ext(value, pos) ビット pos-1 から 0 までが value で埋められ、ビット位置 pos から 63 までがゼ<br />
ロとなっている 64 ビットの符号なし数値を返す。pos が 64 以上である場合には、<br />
value が返される。<br />
第 3 巻 : 擬似コード関数 3:261