第10章 RV32/64特権アーキテクチャ (2)

 第10章  RV32/64特権アーキテクチャ (2) 10.4〜10.5まで

RISC-V原典 10章(1)
RISC-V原典 9章
RISC-V原典 8章
RISC-V原典 6,7章
RISC-V原典 3,4,5章
RISC-V原典 1,2章


 10.4 組み込みシステム向けの(アドレス変換ではない)簡易なメモリ保護機構について。

・PMP(Physical Memory Protection)
・CSR pmpaddr0〜pmpaddrN、pmpcfg0〜
・これらのCSRはMモードで設定し、より特権レベルの低いSモード、Uモードで作用
・pmpaddrとpmpcfg内のPMPフィールド(8bit×4個)はペア
・pmpaddrは保護対象のアドレスを指定。PMPはロード/ストア/フェッチの許可。その他動作モード

→この本ではLビット、Aフィールドの説明が省略されている。
Lビット:このビットを立ててPMPを書き込むとMモードでも書き換えられない。解除はリセットのみ。
Aフィールド:
 OFF=設定なし
 TOR=一つ前のpmpaddrからこのアドレスまで、pmpaddr0のときは0〜pmpaddr0が指定範囲
 NA4,NAPOT=pmpaddrの一部を使って指定アドレス+範囲指定

詳細はこちらの3.6.1章 Physical Memory Protection CSRs
https://riscv.org/specifications/privileged-isa/


10.5 現代のOS向けSモード

・Mモード、Uモードの間にSモード。SモードはMモードよりも制限のある特権モード。
・なぜSモードか。仮想化システム(ハイパーバイザ)の実現を容易にするためにMモードと分けている。
・Sモードは主にアドレス変換(仮想記憶)を処理する。
・基本、すべての例外はMモードで処理する
・SモードとUモードで動かす近代的なOSで例外発生を毎回上位のMモードで処理しSモードに渡すのは面倒
・例外の委任が設定できる。指定した例外はSモードで処理する。
・このため例外ハンドラに関わるCSRはMモード用とSモード用の2セットある。
・例外処理は特権の高い方(S→M)には決して遷移しない。

→ハイパーバイザのことを最初から考慮してある。


組み込み向けから大規模OSまでカバーしてある印象。



GOLDEN☆BEST deluxe 内山田洋とクール・ファイブ A面ヒット全曲集
Posted with Amakuri at 2018.11.10
内山田洋とクールファイブ
ソニー・ミュージックダイレクト


ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック