linux – TLB中的内核内存(虚拟地址条目)?
Linux是操作系统,ARM是在此上下文中引用的处理器.
TLB是否包含内核和用户空间虚拟地址? TLB是否包含内核和用户空间虚拟地址? 内核内存(虚拟)直接对应物理内存(只需与0xC000_0000进行偏移即可为我们提供物理地址).是否有必要在TLB中使用内核(虚拟)(如果你说它存在于TLB中)?它应该只有用户空间地址. 解决方法
我们在现代CPU中进行虚拟到物理地址转换的主要原因是为了使我们能够更高效,更好地控制内存使用:
>分配任何物理内存,RAM(连续或不连续),并使其可在虚拟地址空间中的任何位置(连续或不连续)访问,而不会浪费内存碎片. 页表使这一切成为可能. 您确实希望能够在内核的虚拟地址空间中映射和取消映射物理内存,并且通常此转换机制可在整个系统中运行.当然,翻译是有代价的,因为您现在需要查阅和维护页面表,这会导致性能损失.但一切都没有丢失: > TLB在一定程度上缓解了这个问题.他们缓存翻译. 例如,有关ARM虚拟内存系统体系结构(VMSA),页表,TLB等的特定详细信息,请参阅“ARM?体系结构参考手册ARM?v7-A和ARM?v7-R版本”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |