地址转换--超页机制

最主要的目的是提升TLB命中率

  • 什么是超页?
    由连续的物理页帧组成的集合,这些物理页帧对应着连续的虚拟页;
    这些物理页有着相同的高位地址(超页地址);

  • 怎么实现超页?
    在TLB条目里,有一个flag,标记这个条目是一个普通页还是超级页。
    对于一个2MB的超页,则共有2^11 (2^32B/2MB)个超页,即可用11位来表示超页,
    21位来表示偏移位。
    对于1GB的超页,则共有2^2 (2^32B/1GB)个超页,即可用2位来表示超页,
    30位来表示偏移位。

  • 超页的好处有哪些?
    显著减少用来映射较大的连续内存的TLB条目,如果使用了2MB的超页,就可以节省511(2^9-1)个TLB条目。

  • 超页的适用范围
    不适用于小的程序,适用于较大的、需要连续内存的程序

  • 超页应用1:映射显示器的帧缓冲区
    重绘屏幕时,处理器需要接触到每个像素。在一个高分辨率的显示器上,可能要接触到多达几MB的内存。假设每个TLB条目映射的是4KB的页面,即使是有256个条目的较大的TLB缓存也只能映射1MB的帧缓冲区。所以,当处理器要处理MB级别的内存时,TLB缓存就会重复的做页表查询和不断地拉取新的TLB条目。如果使用超页,将整个帧缓冲区就被映射为一个TLB条目,就可以留下其他条目用于一个应用的其他页。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容