32位与64位的区别

7

我有一个小疑惑。

当我们谈论32位体系结构和64位体系结构时,我们到底是指什么意思呢?是指32位体系结构具有32位寄存器还是32位地址总线或32位数据总线。

一般暗示了什么?


此外,64位CPU和ALU架构是基于相应大小的寄存器、地址总线或数据总线的。64位也是一个用来描述以64位处理器为标准的计算机一代的术语。- 维基百科 - Luchian Grigore
5个回答

3
我认为通常情况下,这意味着64位系统具有64位地址寄存器。在现代系统中,数据寄存器通常至少与地址寄存器一样大,因此数据寄存器和数据总线可能是等效大小的。
然而,64位系统通常没有64位地址总线。这没有意义,因为地球历史上生产的RAM数量不足以需要完整的64位物理地址总线。给定的系统将具有最大的物理RAM量,它可以根据其地址总线的宽度进行寻址。

好的。让我们谈谈32位架构。除了32位地址总线,这是否还有32位数据总线? - Manik Sidana
今天大多数32位系统都有完整的32位地址总线(因为4 GB的RAM并不罕见)。然而,这并不总是这样(我确定我的第一个80386系统没有32位地址总线!)。 - Greg Hewgill
是的,早期的处理器有一些额外的段寄存器。但是说到今天,如果有人谈论32位架构,我们能否暗示它将具有32位地址和数据总线,或者仅表示32位地址总线。 - Manik Sidana
您暗示数据总线宽度往往与寄存器宽度匹配。在具有缓存的系统中,情况通常并非如此。通常情况下,总线比GP-整数寄存器更宽。 - Peter Cordes

0

非常感谢您的输入。 经过阅读大量文章和在线材料,我现在认为我的困惑已经消除了。
因此,我想简要总结一下。
n位CPU:
n位CPU仅意味着它具有n位寄存器,这意味着它具有n位字长。不要考虑地址/数据总线大小。
例如,考虑Motorola 68000处理器-它有一个32位变体,即被称为32位处理器,但它只有16位数据总线和24位地址总线。由于其24位地址总线,它只能寻址2^24即16 MB的RAM。 地址总线仅告诉可以寻址多少RAM,而数据总线告诉可以在一个周期内传输多少个数据单元。 由于数据总线中有16位,因此68000处理器只能传输2个字节的数据。


0

我们的意思是程序有64位的地址空间。

这通常意味着CPU中有64位寄存器(将寄存器设置为指针大小是有道理的),等等...


0
一个32位的架构意味着算术逻辑单元(描述)能够计算32位的字。这个定义中包括了数据总线(宽度)和寄存器,以及寻址。

0

这意味着寄存器和堆栈(!)的宽度为32/64位。地址空间通常要小得多,可以在此处查看:

原则上,64位微处理器可以寻址16艾字节的内存。实际上,它比那少。

例如,截至2011年的AMD64架构允许物理内存使用52位,虚拟内存使用48位。

wikipedia-link


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接