我正在尝试验证软件MMU。
在我得到的测试用例中,我需要检查“TLB锁定和失效”。
我进行了测试并检查了TLB未命中,但我无法理解TLB锁定和失效究竟是什么意思。
答案 0 :(得分:1)
TLB代表Translation Lookaside Buffer。当MMU被激活并且一个访问虚拟内存时。 MMU需要将虚拟地址转换为物理地址。 MMU通过对RAM进行读取(通常为2次读取)来完成此操作,RAM存储虚拟地址和相应物理地址之间的映射。由于访问RAM很慢,映射会缓存在TLB中。这意味着后续MMU查找只能检查TLB,而不必访问RAM。
当一个人切换进程时,可以使用新进程页表重新编程MMU。此时需要使TLB无效以确保我们不访问分配给旧进程的内存。
ARM包含一系列性能寄存器,其中一个会在遇到TLB未命中时递增。您可以在测试中使用它。
查找更多信息的最佳位置可能是ARM Architectural Reference Manual,尽管它不是轻读。