我听说MMU是由MMU维护而不是CPU缓存.
那么一个TLB是否存在于CPU上并且在所有处理器之间共享,或者每个处理器都有自己的TLB缓存?
有谁可以解释MMU和L1,L2缓存之间的关系?
维基网页(https://en.wikipedia.org/wiki/Sandy_Bridge)提到Data TLB分别有4个,2个和1GB页面的64,32和4个条目.
我发现这些数字很难理解.Sandy Bridge的虚拟地址为48位,对于4K页面,可以有2 ^ 36页,对于2MB和1GB页面,应该有2 ^ 27和2 ^ 18页.如果TLB有4K页面的64个条目,则每个条目的大小应不小于6 + 36 = 42位.为什么2M页面只有32个条目,而不是2 ^ 15(42-27)个条目?
我知道在TLB条目中会有额外的位用于控制目的.但对于不同的页面大小,该空间不应该是常量吗?