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.

表 3-1. 擬似コード関数 ( 続き )<br />

tlb_broadcast_purge(rid, vaddr, size,<br />

type)<br />

マルチプロセッサ・コヒーレンシ・ドメイン内の他のプロセッサに対して、ブロー<br />

ドキャスト・パージ DTC および ITC トランザクションを送信する。リージョン識<br />

別子 (rid)、仮想アドレス (vaddr)、ページ・サイズ (size) は、パージする変換エ<br />

ントリを指定する。パージ命令を受信したすべてのプロセッサがパージ操作を完了<br />

するまで、プログラムの実行を待機する。パージ・タイプ (type) は、他のプロ<br />

セッサ上の ALAT も TC と一緒にパージするかどうかを指定する。<br />

tlb_enter_privileged_code() この関数は、この命令を含むページの TLB エントリから、epc のための新しい特<br />

権レベルを決定する。epc 命令を含むページが「実行のみ」のページ・アクセス権<br />

を持ち、そのページに割り当てられた特権レベルが現在の特権レベルより高い ( 数<br />

値が小さい ) 場合は、現在の特権レベルは、epc 命令を含むページの変換エントリ<br />

の特権レベル・フィールドに合わせて設定される。<br />

tlb_grant_permission(vaddr, type, pl) 指定された仮想メモリ・アドレス (vaddr) および特権レベル (pl) の読み込み / 書き<br />

込みアクセスが許可されるかどうかを示すブール値を返す。アクセス・タイプ<br />

(type) は、読み込みか書き込みかを指定する。VHPT 変換、TLB ミス、ネストされ<br />

た TLB、ページ不在、NaT ページ参照、キー・ミスの各フォルトがチェックされ<br />

る。フォルトが発生した場合は、この関数は結果を返さない。<br />

tlb_insert_data(slot, pte0, pte1, vaddr,<br />

rid, tr)<br />

tlb_insert_inst(slot, pte0, pte1, vaddr, rid,<br />

tr)<br />

tlb_may_purge_dtc_entries<br />

(rid, vaddr, size)<br />

tlb_may_purge_itc_entries<br />

(rid, vaddr, size)<br />

tlb_must_purge_dtc_entries<br />

(rid, vaddr, size)<br />

関数 操作<br />

DTLB の指定されたスロッ ト番号にエントリを挿入する。pte0、pte1 が変換エン<br />

トリを構成する。vaddr と rid は、変換エントリの仮想アドレスとリージョン識<br />

別子を指定する。tr が true の場合は、エントリは TR セクションに格納され、そ<br />

れ以外の場合は、TC セクションに格納される。<br />

ITLB の指定されたスロッ ト番号にエントリを挿入する。pte0、pte1 が変換エント<br />

リを構成する。vaddr と rid は、変換エントリの仮想アドレスとリージョン識別<br />

子を指定する。tr が true の場合は、エントリは TR セクションに格納され、それ<br />

以外の場合は、TC セクションに格納される。<br />

指定された仮想アドレス (vaddr)、リージョン識別子 (rid)、およびページ・サイ<br />

ズ (size) に一致する DTC エントリをローカルにパージできる。また、これらのパ<br />

ラメータと部分的に重なるエントリを無効化することもできる。パージ操作の範囲<br />

は、プロセッサに依存する。パージ・サイズのパラメータがサポートされていない<br />

場合、プロセッサは、マシン・チェック・アボートを生成するか、指定された範囲<br />

を超えてトランスレーション・キャッシュをパージすることがある。最大では、ト<br />

ランスレーション・キャッシュからすべてのエントリが削除される。<br />

指定された仮想アドレス (vaddr)、リージョン識別子 (rid)、ページ・サイズ<br />

(size) に一致する ITC エントリをローカルにパージできる。また、これらのパラ<br />

メータと部分的に重なるエントリの無効化もできる。パージ操作の範囲は、プロ<br />

セッサに依存する。パージ・サイズのパラメータがサポートされていない場合、プ<br />

ロセッサは、マシン・チェック・アボートを生成するか、指定された範囲を超えて<br />

トランスレーション・キャッシュをパージするときがある。最大では、トランス<br />

レーション・キャッシュからすべてのエントリが削除される。<br />

指定されたリージョン識別子 (rid)、仮想アドレス (vaddr)、ページ・サイズ<br />

(size) に一致する、すべてのローカルな ( 重なることがある ) DTC エントリをパー<br />

ジする。パージでは、vaddr{63:61} (VRN) は無視される。つまり、VRN ビット<br />

に関係なく、vaddr{60:0} に一致するすべてのエントリは、必ずパージされる。<br />

パージ・サイズ・パラメータがサポートされていない場合、プロセッサは、マシ<br />

ン・チェック・アボートを生成するか、指定された範囲を超えてトランスレーショ<br />

ン・キャッシュをパージするときがある。最大では、トランスレーション・キャッ<br />

シュからすべてのエントリが削除される。指定されたパージ・パラメータの値が既<br />

存の DTR 変換エントリと重なる場合は、マシン・チェック・アボートが発生する<br />

ときがある。<br />

3:258 第 3 巻 : 擬似コード関数

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!