gpt4 book ai didi

c++ - 64位系统的优点

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:07 27 4
gpt4 key购买 nike

我想从开发人员的角度理解,64 位系统的卖点是什么?

我知道更多的寄存器可供您使用,更多的内存可以分配给一个进程,但我不明白是什么让开发人员的生活更轻松。有什么例子吗?

从性能的角度来看,如果一个程序在 32 位和 64 位上运行有什么好处吗?

干杯!

编辑:感谢您的所有回复。我看到一些针对最终用户体验的对话,尽管它可能很重要。我更多地关注您可以挤出的任何架构优势。

据我了解,似乎优化主要集中在编译器-汇编程序链中,而不是程序员可以调用的功能?

最佳答案

当您可以使用 64 位地址空间时,您可以采用某些在地址空间较小的情况下会非常困难的设计。例如,一位 friend 最近向我指出,线程堆栈的地址空间可能会成为 32 位系统上数千个线程的问题。但在 64 位系统上,这不再是一个问题。这是对开发人员的主要直接好处,它会影响您编写程序的方式。无论机器有多少实际内存都是如此。

我见过的大多数转换为 64 位的程序都因为可用的额外寄存器而获得了性能提升。

拥有 64 位地址可以抵消某些程序中的这种性能改进。额外的空间指针占用意味着它们占用更多的缓存,这会在缓存中为其他内容留下更少的空间。此外,它们在与主内存之间传输时会占用更多的内存总线带宽。

至少有一个项目提议以一种混合模式重新编译 Linux 中的大多数程序,在这种混合模式中使用所有额外的寄存器,但只使用 32 位指针。我对它的结果很感兴趣,因为它消除了 64 位程序的一个性能劣势。

还有一小部分(但很重要)的程序和算法子集可以使用 64 位寄存器。例如,大多数 SHA-3 candidates旨在利用在执行按位运算时一次处理 64 位数据的能力。

最后,由于 CPU 内部的数据路径现在是 64 位宽,这也意味着 CPU 内部有更多的带宽来移动东西。但我希望这对在 32 位模式下运行的 64 位 CPU 也有好处。

关于c++ - 64位系统的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4840028/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com