有没有一个不错的指南解释如何在ARM1176JZF-S核心上使用TLB(Translation Lookaside Buffers)表?
在阅读了该ARM平台的技术文档后,我仍然不知道TLB是什么以及它的样子。据我所了解,每个TLB条目将虚拟页面映射到物理页面,实现重新映射和控制内存权限。
除此之外,我对如何使用它们一无所知。
- TLB条目的结构是什么样的?如何创建新的条目?
- 如何在用户空间线程的上下文切换中处理虚拟内存?如何确保这些线程只能访问分配给其父进程的特定页面(强制内存保护)?我需要保存每个上下文的TLB状态吗?
- 为什么有两个TLB?如果MicroTLB只能有10个条目,我能用它来做什么呢?显然,我需要超过10个条目。
- 它说主TLB的部分是“一个完全关联数组,由8个元素组成,并且可以锁定”。这是什么意思?我只能有8个主TLB条目吗?
提前致谢。 如果有人能够解释一下 TLB 是什么,我会非常高兴。我目前正在为我的内核工作在一个内存映射器上,但我已经基本上陷入了死局。