我敢肯定,我们都听过术语64bit和32bit的抛弃,但是它们实际上是什么意思?

我很确定他们与内存地址的大小有关。在64位机器上,对象的引用为64位。但是我想更深入地挖掘。

  1. 人们经常听到“ 64位机器”一词。计算机的哪一部分实际上是针对零件数的?处理器?操作系统?

  2. 拥有更大的内存地址的优势是什么?

我可以添加更多问题,但我认为摘要更好。

谢谢大家:D

有帮助吗?

解决方案

64位是指寄存器的宽度,记忆地址解决空间等。一个好处是能够解决超过4GB内存的能力。

维基百科有 有关64位计算的文章 还有更多细节。

编辑: 优点 更多记忆是,操作系统和程序具有更多的虚拟地址空间-16个exabytes(172亿GB) - 更重要的是,可以将更多的物理内存添加到系统并解决,从而减少了虚拟内存的交换。往返磁盘。

更广泛的寄存器和数据总线的优势在于,移动相同数量的数据更容易,更快。现在可以使用一个或两个以上的寄存器进行操作。

因此,重新编译64位软件时,通常会提高性能。

一个 坏处 是,较宽的数据可能意味着相同数据所占的空间。例如,存储数字300需要九个位。如果将其存储在32位整数中,则浪费了23位。在64位,浪费变成55位。因此,如果不进行重新处理,则简单的重新编译到64位可以更快地产生,但软件稍微稍微膨胀。

编辑:还有 64位技术页面 这里:

其他提示

区别正好是32位;-)

您需要64位硬件(处理器)才能运行64位OS。您需要一个64位操作系统才能运行64位软件。这是依赖性。

  • 在32位系统中,您仅限于解决4 Gibyte(2^32)内存,在64位中,理论限制为2^64字节。
  • 64位软件需要更多的内存,主要用于指针8个字节而不是4个字节
  • 在x86_64上,64位可执行文件需要更多的内存,因为还有许多指令的额外码,因此运行速度可能会较慢
  • 在x86_64上,64位软件可以使用更多的寄存器,并且有可能更快地运行
  • 64位系统可以直接解决更多的内存
  • 64位系统可以在块中处理数据的两倍至32位,这有助于某些操作更快地进行

对于某些程序,例如Office Automation Suites,32位比64位几乎没有可观察到的差异。

但是,对于其他应用程序,例如数据库,图形/视频处理或托管虚拟机,能够立即达到更多的物理内存并能够使用每种指令处理更多信息,可以在性能上产生巨大差异。

请注意,今天,许多32位芯片具有64位扩展功能,因为许多芯片 FPU (数学)或 SSMD (向量)操作已经以64位模式完成。

32位与64位系统:有什么区别? 更多。

  1. CPU寄存器和内存寻址。

  2. 系统可以引用(请参阅)更多内存。

我认为最好的答案是x86位x64汇编器中的比较

当您的x32位程序注册一个变量时,例如整数(5),代码等同于此:

push 5

为了更好地理解事物,“ push x”是一个快捷方式:

sub esp,4 //substracts esp with 4(4*8=32 bits.That's the size of a pointer in x32 executables) in order to make space for our variable
mov [esp],X //moves variable in @esp

这些寄存器是32位(4个字节长),这是任何32位编程语言中指针的大小。

在64位代码中,但是尺寸大两倍,寄存器也是如此。寄存器ESP存在于X64可执行文件中,但并未像X32可执行文件中那样被广泛使用。

取而代之的是,所有寄存器都在其名称前获得“ R”(EAX变为RAX,ESP变为RSP,EDX成为RDX等)。

因此,我们在x64中可执行文件中的代码不会有什么不同,除了“ push x”的快捷方式将是

sub esp,8
mov [rsp],X

RSP的大小是ESP -64位,8个字节的两倍。

最重要的是,X64位可执行文件比x32位可执行文件使用更多的内存。

让我们回到基础知识。

如今,99%的计算机是基于所谓的 冯·诺伊曼建筑. 。本质上,计算机处于恒定周期:

  1. 从RAM获取命令
  2. 在CPU上执行命令

alt text
(资源: wikimedia.org)

当指参考32/64位系统(或任何其他位尺寸)时,本质上,您正在谈论计算机的体系结构和实现:

  • 内存空间的大小(RAM)
  • CPU寄存器的大小
  • 公交大小(即CPU,RAM,I/O等之间...)

如果您有一个64位系统,则有一个地址空间 2^64. 。这就是为什么32位系统不能具有超过4GB的RAM的原因。您如何解决比大于 2^32?

关于性能差异,没有明确的答案(就像CISC或RISC架构更好的情况下没有明确的答案一样)。这在很大程度上取决于您使用的应用程序。

总而言之:64位体系结构只是构建计算机的不同方法。这并不意味着它是更好的,或更糟的,也不意味着事情有所不同(在低级别上,每个计算机都在执行提取)。简直就是 实施计算机的另一种方式.

正是64位或32位引用,仅到主总线的宽度。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top