CPU関連について

ringプロテクション

システムのリソースを保護するための,階層構造特権レベルアーキテクチャのこと

../../_images/Priv_rings.svg

リングプロテクション(https://upload.wikimedia.org/wikipedia/commons/2/2f/Priv_rings.svg)

図のように(概念上は?)4つのレベルが存在するが, 使用するかはOSによるし,今日の一般的なOSは2つのレベルしか使用していない.Linux・Windowsもそう. また,そのプロセッサが幾つのレベルまで使えるかはおそらくハードウェア依存なんだと思う. ほとんどの場合はそれを使い切っていない. OSがソフトウェアレベルで用意する場合ももちろんあるようだ.

Linuxではring0をカーネル空間,ring3をユーザ空間として使っているようだ.

また,CPUのモードでスーパーバイザモードというものあって, これを使ってLinuxはカーネルとユーザを分けているといった記述もある. 2つは同じものなのか,違うものなのか,違うとしたら並列に存在するものなのか. はたまたringプロテクションはモードなのかどうか. これらの話は違うアーキテクチャの話なのか. いまいちよくわからないところである.

cacheについて

instruction cache(i-cache)

キャッシュメモリの中で,プログラムを対象とするもの. d-cache(後述)と違ってデータの更新がないので構造が単純らしい.

data cache(d-cache)

キャッシュメモリの中で,プログラムを対象とするメモリ. データは更新されることがあり,メモリへの反映などがあるため構造が複雑らしい.

memo

プログラマーが知っておくべき「PC内部の通信速度」

http://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html