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

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

作者:BlogUpdater |  时间:2021-09-30 |  浏览:1035 |  评论已关闭 条评论

在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?》

最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。

标签:

评论已关闭。