空调|为什么在安腾平台上的页面大小是8KB


空调|为什么在安腾平台上的页面大小是8KB
【空调|为什么在安腾平台上的页面大小是8KB】在x86架构的机器上 , Windows选择将4KB作为页面的大小 , 因为当时设计操作系统时 , 处理器架构只能支持4KB的页面 。 (后来 , CPU添加了对4MB的页面的支持 , 我记得好像是奔腾处理器吧 , 但是对于大多数人来说 , 这个4MB就显得太大了些)
在安腾平台(IA64)上 , Windows选择了使用8KB作为页面的大小 , 而不是4KB 。 这是为啥?
这样设计主要是在两个竞争性目标之间做出某种平衡 。 大页面相对小页面来说 , 可以更有效地进行I/O , 因为每次读取数据时 , 都比小页面读取的数据更多 。 但是 , 大页面也存在缺点 , 因为本地性命中较差 , 所以所执行的I/O有被浪费的可能性 。
我们在安腾平台上测试了各种不同的页面大小(甚至包括了64KB的页面 , 在当时我们确实非常有可能将64KB选定为页面大小) , 实验结果表明 , 8KB提供了一种最优化的性能平衡点 。
请注意 , 修改页面大小会导致所有和兼容性有关的问题 。 因为有大量的应用程序会盲目地认为系统的页面大小就是4KB , 永远不会再改变了 。 这就会让它们惊喜加意外了 。
总结现如今 , 我们这些写代码的人 , 根本不需要知道页面这回事儿 , 开发框架为我们处理了这些底层细节 。
但是 , 如果不理解这些底层知识 , 就会像是在空气中建立楼阁 , 等楼建得足够高了 , 就开始飘忽不定了 。
所以 , 做学问还是要追求真知的 。
最后Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一 , 里面有很多关于Windows的小知识 , 对于广大Windows平台开发者来说 , 确实十分有帮助 。
本文来自:《Why is the page size on ia64 8KB?》