第二部 トロン仕様チップ命令詳細第十七章 MMU関連命令
PSTLB(特権命令)
MMU関連命令 <<L1>>,<<L2>>

【ニモニックとオペランド】

PSTLB prgadr

【機能】

Purge specified translation lookaside buffer (TLB) entries
TLBの指定エントリの無効化

【オプション】

/AS すべての論理空間TLBをパージ
/SS R0で指定されたLSIDを持つ半空間TLBエントリのみをパージ
(<<L2>>)
/PT 論理アドレスの半空間指定子が1のときには、半空間指定子、セクションインデクスページインデクスがprgadrオペランドのものと一致するエントリがパージされます(このケースで/SSオプションを指定しても、何も行われません)。
半空間指定子が 0のときには、半空間指定子、セクションインデクスページインデクスLSIDのものと一致するエントリがパージされます(/SSオプションを仮定;/ASオプションでは、LSIDは無視されます)。
/ST 論理アドレスの半空間指定子が1のときには、半空間指定子とセクションインデクスがprgadrオペランドのものと一致するエントリがパージされます(このケースで/ SSオプションを指定しても、何も行われません)。
半空間指定子が 0のときには、半空間指定子とセクションインデクスがLSIDのものと一致するエントリがパージされます(/SSオプションを仮定;/ASオプションでは、LSIDは無視されます)。
/AT 論理アドレスの半空間指定子が1のときには、半空間指定子がprgadrオペランドのものと一致するエントリがパージされます(このケースで/SSオプションを指定しても、何も行われません)。
半空間指定子が0のときには、半空間指定子がLSIDのものと一致するエントリがパージされます(/SSオプションを仮定;/ASオプションでは、LSIDは無視されます)。

【命令フォーマットと表記法】

p パージする論理空間
p = 0 すべての論理空間をパージ(/AS)
p = 1 R0で指定されたLSIDを持つ半空間のみをパージ(/SS)
ttt パージする論理アドレス範囲
ttt = 000 論理アドレスの半空間指定子、セクションインデクス、ベージインデクスが一致するエントリをパージ
ttt = 001 論理アドレスの半空間指定子及びセクションインデクスが一致するエントリをパージ
ttt = 110 論理アドレスの半空間指定子が一致するエントリをパージ

これ以外のttt指定は予約命令例外を発生させます。

レジスタ上のパラメータ

R0 : パージするTLB論理空間LSID(/SSオプションのみ)

【解説】

 この命令はprgadrオペランドの実効アドレス(論理アドレス)を計算し、対応するTLBエントリを指定されたオプションに従ってパージします。
 可能なオプション組合せの意味は以下の通りです。

LSIDをもつプロセッサの場合, /SSオプションは汎用レジスタR0の内容がTLBエントリの指定に関してLSIDレジスタと等価のLSID情報を含むことを示します。LSIDレジスタの中で常に0のビットはこの時点でR0でも同様にゼロにしておく必要があります。
PSTLB命令は、PSWのATビットの設定に関係なく、実行されます。
PSTLBは特権命令です。

【フラグ変化】1

【発生EIT】

RIE  prgadr [Gen/a]のアドレッシングモード違反
RIE ttt = 010〜101, 111
RIE p = 1(<<L2>>以外)
PIVE リング0以外で実行

【使用例】



 汎用レジスタR7の内容と上位20ビットが一致するTLBのすべてのエントリをパージします。