32对64位......或者,'处理信息'究竟是什么意思

时间:2010-03-28 06:52:12

标签: memory operating-system processor computer-architecture

我无法理解32位处理器和64位处理器之间的区别。我知道32位处理器一次可以访问32位,而64位处理器一次可以访问64位。但是,一次访问一定数量的位究竟意味着什么呢?

6 个答案:

答案 0 :(得分:24)

我猜真正的答案是复杂的。除了专门的学习之外,隐喻是唯一能给你一个基本想法的东西。 Wallyk走在正确的轨道上。

驱动处理器的一些事情。一个是它每秒可以进行多少次操作(以赫兹为单位)。虽然架构阻止了简单的答案,但1Ghz单核处理器每秒执行1,000,000,000次操作。大致。虽然可以得到更具体的答案,但不会澄清这种情况。

处理器也是其他东西,如内存控制器(在i7中),ALU和FPU,以及其他专用电路,这甚至是一个难以回答的问题。

但是,为了您的意图和目的,每个处理器都有寄存器。寄存器就像一个临时空间(比内存更快),处理器可以在它上面存储少量数据。它们由L1和L2(有时是L3)缓存支持,这些缓存也非常快。基本上,64位是指临时空间的大小(并且通过代理,将寄存器连接到缓存的管道,因为数据一次性加载和输出)。

更大的临时空间意味着无需从缓存或内存中读取新信息即可完成更多工作。然而,仅仅因为它可以完成并不意味着它总是会。程序通常必须使用64位支持进行编译以利用加速,即使这样,除非您操作大于32位的数据可以存储,否则您通常不会看到差异。对于系统程序员来说,这更是一个问题。

处理器还需要密切关注内存中的内容(例如,使用中和不使用内容。)它使用特殊寄存器执行此操作。 32位处理器无法正常处理4GB以上RAM的原因与该寄存器的大小有关。虽然PAE等处理器扩展允许32位处理器上的32位操作系统可以处理多达64 GB的RAM,但大多数操作系统通常不支持它。

TL; DR,64位处理器提供了正确编程的可能性,可以同时对更大的数据块执行操作,并可以处理更多内存。除此之外,没有太大的区别。

编辑:以免人们错误的想法,通过“操作”,我没有特别提到操作(加法,乘法等)。我的不好,我专注于回答这个问题,而不是全面介绍微处理器架构。

答案 1 :(得分:4)

基本上它意味着能够对这样大小的数字进行操作(例如添加它们)。虽然32位和64位架构之间存在比这更多的差异。

答案 2 :(得分:1)

这不是一个非常精确的表达式,但我认为它是指内存地址的长度。例如,32位表示程序可以使用4 GiB(2 32 字节)。

(对于云雀,请查看31位的IBM s390架构。)

此外,它并不总是CPU一次可以读取或操作的最大数据量。例如,64位AMD / Intel处理器具有一系列片上高速缓存,可以从大型存储器中提取数据。它们还具有128位SSE寄存器。

答案 3 :(得分:1)

我注意到你标记了记忆,所以我会回答这个问题:

在32位处理器中,处理器只能使用32位来寻址内存。这意味着有2 ^ 32个唯一组合,因此,处理器只能寻址2 ^ 32个字节。 (4Gb)

在64位处理器中,处理器(理论上)可以使用64位来寻址内存,或者使用2 ^ 64字节的可寻址内存。我认为相当于16 Exo Bytes,这是一个巨大的数量,几乎可以计算机器中分子的数量。但实际上,由于当前的硬件限制,今天生产线上的大多数CPU只允许你处理42位物理内存和48位虚拟内存。

答案 4 :(得分:0)

Wikipedia entry for 64-bit对主题有了很好的了解

答案 5 :(得分:-3)

这是衡量处理能力的标准。更像是一辆可以携带4名乘客或12辆乘坐大约相同能量的车辆。

例如,32位保存4个字节,或4个普通字符,64位是8个字节,而对于浪漫语言,则为8个字符。对于相应的体系结构数据宽度,可以对这些操作进行多种操作。

另一种看待它的方法是架构可以直接使用多大的整数。对于这些宽度中的每一个,相应的范围是

8位:0到255 / -128到127
16位:0到65,535 / -32768到32767
32位:0到4,294,967,295 / -2,147,483,648到2,147,483,647
64位:0到18,446,744,073,709,551,615 / -9,223,372,036,854,775,808到9,223,372,036,854,775,807