我刚开始学习汇编。
微处理器:Intel Core Duo 处理器 T2300
微处理器缓存:2MB L2 缓存
最大内存:2048MB
内存:1024MB 667MHz DDR2 系统内存(2 Dimm)
“英特尔酷睿双核处理器 T2300“规范说:
指令集:32位
我想现在我可以假设数据总线至少也是 32 位。因此最小可寻址内存应为 4GB。
此外 CPU 规格还提到了内存规格
物理地址扩展 32 位
据我了解,这意味着它可以寻址 64GB 内存
这是否意味着,如果主板上只有 2 个内存插槽,我的笔记本电脑可以支持 2x 2GB 内存条 == (4GB) 内存?
我猜笔记本电脑的人认为不会有 2GB 的内存条,所以他们可能会提到最大内存:2048MB
答案1
32 位系统的可寻址内存为 4GB,物理内存为已安装的内存。您的操作系统管理后者,让正在运行的程序产生前者的错觉。这比这复杂得多,但这就是它的要点。
聚丙烯酰胺凝胶电泳增加机器可以使用的物理内存量,而不是可寻址内存量。指针仍然是 32 位,因此可寻址内存仍然限制为 4GB。
机器的内存容量不仅仅取决于 CPU 的性能。不要假设您的机器可以支持 4GB。
答案2
除了内存地址空间之外,还有许多因素决定着计算机可以寻址多少内存。例如,我妻子的 Mac Book PRo 只能支持 3GB,如果你插入两根 2GB 的内存条,它仍然只能寻址其中的 3GB。
顺便说一句,32 位意味着该芯片理论上可以寻址 4GB 内存。你从哪里得到 64GB 这个数字?
答案3
这里有许多因素在起作用。在 32 位架构下,操作系统能够寻址 4 GB 内存。但是,应用程序可能无法使用所有这些内存。例如,具有 4 GB 内存的 Windows 计算机通常无法为操作系统和应用程序使用超过 3.5 GB 的内存,因为部分地址空间用于映射硬件。
此外,Windows 将 32 位内存地址空间分为两部分:2 GB 用于操作系统使用的内核内存,2 GB 用于用户空间应用程序。即默认情况下,每个应用程序只能访问 2 GB 内存。Windows 可以配置为使用 1 GB 用于内核,3 GB 用于用户。
除此之外,实际硬件可能会设置某些限制。当您的笔记本电脑规格说明最大内存为 2 GB 时,很可能是因为这是主板支持的最大内存。操作系统能够处理多少并不重要。如果硬件只能识别 2 GB,那么这就是机器物理内存的限制。
答案4
不,我完全不同意——32 位处理器并不意味着可寻址内存为 4GB。严格地说,32 位处理器意味着你的 ALU 大小为 32IE它可以一次对 32 位数据执行操作。 *注意 - 32 位 CPU 并不意味着数据总线的大小。 由于您的 CPU 是 32 位的,因此它可以操作 32 位数据(可以是地址),因此操作速度更快。
这完全取决于地址总线的大小。如果地址总线大小为 32 位,则意味着您的 CPU 可以通信的位置有 2^32 个。位置从 0H 开始到 FFFFFFFF。想象一下您的 CPU 是 32 位,但地址总线只有 8 位。您的 CPU 有多少位置可以通信?您的 CPU 只能通信 2^8=256 个位置。由于每个位置是 8 位=1 字节,因此您的 CPU 只能寻址最多 256 字节的内存。