Saturday, March 3, 2018

Cache Memory Explained




L1, L2, L3ってのは知らなんだ


基本CPUに対して RAMが遅すぎてついてけないので、 SRAMが存在するという感じ。

もっと厳密に言うとCache ControllerとPaging UnitもSRAMもCPUのエリアの中に存在していて、まずそっから探して、なかったらDRAMに問い合わせる。



また、PentiumとかだとPage Frameごとにキャッシュオンにするかオフにするかを決められるマクロが個々にあるんだが、Linuxだと一律で決まってたはず

あとマルチコアの場合は cache snoopingっていうのがあって、複数のCPUどうしが同じデータを触らないように、アクセスするときに、 他の奴が触ってないかどうか問い合わせる過程がある。ただしこれはCPUが勝手にやっているのでカーネルレベルでは気にしなくて良い。

またTLB(Translation Lookaside Buffer)というキャッシュ管理のモジュールもあり、これはCPU単位で定義されている。レジストリが更新されるたびに初期化されてたはず。

色々早くするために頑張ってる感じ。それがキャッシュ。

No comments:

Post a Comment