32位计算机直接访问的内存,32位64位-32位计算机可以访问多少内存?

32位64位-32位计算机可以访问多少内存?

32位或64位计算机是什么意思?

这是处理器架构…一台32位计算机可以与64位计算机同时读写32位数据…。

32位计算机可以访问的最大内存是多少?

它是2^32=4Gb(4Gigabit = 0.5 GigaByte)

那意味着4Gb的ram?

如果我对64位计算机考虑相同的方式,那么我可以拥有16ExbiBytes的内存。这可能吗?

我的概念正确吗?

7个解决方案

46 votes

是的,一个32位体系结构仅限于寻址最大4 GB的内存。 根据操作系统的不同,由于保留了地址空间,该数字甚至可以进一步减少。

可以通过使用PAE(物理地址扩展)在某些32位体系结构上消除此限制,但是处理器必须支持此限制。 PAE使处理器能够访问超过4 GB的内存,但不会更改单个进程可用的虚拟地址空间量-每个进程仍将限制为最大4 GB的地址空间。

是的,从理论上讲,64位体系结构可以处理1680万兆兆字节的内存,即2 ^ 64字节。 但是我不相信当前流行的实现完全支持这一点。 例如,AMD64架构最多只能寻址1 TB的内存。 此外,您的操作系统还将对受支持的可寻址内存量进行限制。 Windows的许多版本(尤其是设计用于家庭或其他非服务器使用的版本)受到任意限制。

Cody Gray answered 2019-11-09T14:40:11Z

21 votes

32位或64位计算机通常表示的是外部可见(“已架构”)通用整数寄存器的大小。

不过,这与硬件的构建关系不大。 例如,让我们考虑一下(已过时的)英特尔奔腾Pro。 即使它支持多达36位的物理地址,具有64位宽的数据总线,并且通常在内部将所有受支持的操作数类型的计算在一组寄存器中进行( 因此为80位宽,以支持最大的浮点类型)。

至少就Intel处理器而言,即使较长时间可以使用更大的物理地址,但32位处理器上任何一个进程的地址空间内直接可见的最大内存量也限制为4 GB( 32位寻址)。 36位物理寻址允许寻址多达64 GB的RAM,但是在任何给定时间只能直接看到其中的4 GB。

对64位计算机的更改主要涉及更改对用户可见的内容(或在汇编语言级别进行编码)。 同样,您看到的东西很少与真实的东西相同。 例如,大多数64位代码将指针/地址视为64位,但实际的处理器不支持那么大的地址。 当前的CPU支持48位虚拟地址,并且(至少据我所知)最多支持40位物理地址。 另一方面,它们的设计目的是在将来,当更大的内存成为现实时,它们可以将物理寻址扩展到48位,而完全不影响软件。 即使在增加48位虚拟地址的情况下,通常情况下,它也只会影响少量的操作系统内核(正常代码不会受到影响,因为它已经假定地址是64位)。

因此,不行:一台64位计算机实际上并不支持最多64位物理寻址,但是大多数典型的64位软件应与将来支持直接寻址那么多RAM的处理器保持兼容。

Jerry Coffin answered 2019-11-09T14:41:10Z

9 votes

回到一个基本的想法,我们的内存地址有32位。 算出2 ^ 32个唯一的地址组合。 按照惯例,每个地址指向1个字节的数据。 因此,我们最多可以访问2 ^ 32字节的数据。

在32位OS中,每个寄存器存储32位或4个字节。 每个时钟周期处理32位(1字)信息。 如果要访问特定的1个字节,从概念上讲,我们可以通过执行按位逻辑运算来“提取”各个字节(例如,字节0,字节1,字节2,字节3等)。

例如。 得到“ dddddddd”,“ aaaaaaaabbbbbbbbbbccccccccdddddddd”和逻辑与“ 0000000000000000000000001111111”。

Kevin Lee answered 2019-11-09T14:41:57Z

5 votes

基本上32位架构可以满足您的预期4GB。有一些技术可以使处理器处理更多数据,例如AWE或PAE。

rkosegi answered 2019-11-09T14:42:22Z

4 votes

是的,在32位计算机上,可用的最大内存量约为4GB。 实际上,由于保留了部分地址空间,因此取决于操作系统,它可能更少:例如,在Windows上,只能使用3.5GB。

在64位上,您确实可以寻址2 ^ 64字节的内存。 并不是说您将拥有这些内存,但是很久以前,有人又说过同样的事情,即需要超过640kb的内存...

ThiefMaster answered 2019-11-09T14:42:57Z

2 votes

没有你的概念是不对的。 为了正确设置,您需要回答您错误回答的问题:

32位或64位计算机是什么意思?

该问题的答案是“ CPU中重要的是32位或64位”。 所以问题是什么是重要的? 很多人说数据总线的宽度决定了机器是32位还是64位。 但是最新的32位处理器都没有32位或64位宽的数据总线。 大多数32位系统将至少具有36位以支持更多RAM。 大多数64位处理器具有不超过48位宽的数据总线,因为这已经是很多内存了。

因此,据我所知,一台32位或64位计算机是由其在计算中使用的通用寄存器的大小或计算机所使用的“自然字大小”决定的。

请注意,32位OS是另一回事。 您可以在64位计算机上运行32位OS。 此外,您可以在64位OS上运行32位应用程序。 如果您不了解其中的区别,请发布另一个问题。

因此,如果在处理器中启用了正确的寻址模式,则处理器可以寻址的最大RAM量为2 ^(数据总线的宽度,以位为单位)。

还要注意的是,没有什么可以阻止某人在数据总线和存储体之间引入多路复用的,它会选择一个存储体,然后对RAM进行寻址(分两步进行)。 这样,您可以寻址更多的RAM。 但这是不切实际的,而且效率很低。

Saurabh answered 2019-11-09T14:44:08Z

-5 votes

基本上,“ x位机器”一词并不取决于您的机器。 这就是为什么我们不需要更改处理器或其他硬件即可从32位系统迁移到64位系统(反之亦然)的原因。

32位和64位代表计算机上运行的操作系统的寻址能力。

但是,这仍然并不意味着x位操作系统能够寻址2 ^ x GB内存。 因为“ GB”中的“ B”表示“字节”而不是“位”。 1个字节等于8位。

实际上,尽管应该为OS保留一些内存,但32位系统甚至无法寻址2 ^ 32/8 = 2 ^ 29 GB的内存空间。

它刚好低于3 GB。

antonio answered 2019-11-09T14:45:11Z

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
### 回答1: 是什么? 32位64位的区别在于它们处理的数据量不同。32位处理器可以处理4字节的数据,而64位处理器可以处理8字节的数据,这意味着64位处理器可以处理比32位处理器更多的数据,更快地完成复杂的计算任务。 ### 回答2: 计算机的位数指的是处理器的数据总线宽度,这决定了处理器一次能处理的数据量大小。32位64位计算机在数据处理能力上有明显的区别。 32位计算机的处理器数据总线宽度为32位,可以一次处理32比特(4字节)的数据。这意味着它一次只能处理有限的内存地址空间,最多2^32个地址,约为4GB。所以,在32位计算机上,操作系统最多只能访问和管理4GB的内存。 而64位计算机的处理器数据总线宽度为64位,可以一次处理64比特(8字节)的数据。这使得64位计算机能处理更大的内存地址空间,最多2^64个地址,几乎是无限的。这意味着64位计算机可以访问和管理远超过4GB的内存,甚至可以达到数百TB的级别。 除了内存容量的差异,32位64位计算机在处理性能上也有区别。64位计算机处理器宽度的增加,使得其一次可以处理更多的数据,从而提高了运算速度。此外,64位计算机支持更多的寄存器,使得数据的局部性更好,进一步提高了处理性能。 不仅如此,64位计算机还能更好地支持安全和强大的多任务处理。它能够更好地处理大型数据库、图形、视频和其他复杂的计算任务。因此,在需要处理大量数据和运行复杂应用程序的场景下,64位计算机具有更高的优势。 总的来说,32位64位计算机的区别主要体现在内存容量和数据处理性能上。64位计算机具有更大的内存容量和更高的处理性能,能够支持更多的应用场景和处理更复杂的任务。 ### 回答3: 计算机中的32位64位是指处理器的数据线宽度。32位计算机的处理器数据线宽度为32位,而64位计算机的处理器数据线宽度为64位。 1. 内存访问能力:32位计算机的处理器每次最多可以处理32位数据,即4字节,而64位计算机每次最多可以处理64位数据,即8字节。因此,64位计算机访问内存时可以一次性读取更多的数据,处理速度更快。 2. 内存寻址能力:32位计算机最多可以寻址2^32个内存地址,即4GB。而64位计算机可以寻址2^64个内存地址,近16EB。这意味着64位计算机可以支持更大的内存容量,可以处理更复杂的任务。 3. 运算能力:64位计算机的寄存器和整数运算器都是64位宽度的,可以进行更复杂和精准的运算。而32位计算机在处理大于32位的整数或浮点数时可能需要多次计算才能完成,运算精度有限。 4. 兼容性:32位软件/操作系统无法直接64位计算机上运行,需要进行适配或转换。而64位软件/操作系统可以在64位计算机直接运行,并可以利用64位计算机的优势。 总结起来,64位计算机相比于32位计算机具有更大的内存访问能力、内存寻址能力和运算能力,更适合处理大规模、复杂的任务,提升了计算机的性能和效率。但需要注意的是,选择32位还是64位计算机应根据具体需求和软件兼容性来决定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值