0

假设我有一台计算机,其地址寄存器大小为 16 位(例如,MAR)。这台计算机中最小的可寻址单元是一个字,每个字的大小为 2 个字节。这个系统可以支持的最大内存大小(以字节为单位)是多少?

我认为它会是 2^16 = 65536 字节,但是关于最小可寻址单元的部分意味着这不是解决它的方法。

提前致谢

4

2 回答 2

1

系统可以支持的最大内存量和地址寄存器的大小没有直接关系。

30 年前的 16 位计算机可以很好地支持超过 64 KB。另一方面,现代 64 位处理器通常只有 52 位(或更少)的通道,但即便如此,典型的计算机也几乎无法支持 2^52 字节的内存。

今天典型的 64 位计算机理论上可以处理 16 exibytes,但现在的 CPU 仅支持 4 PB 的物理内存和 256 TB 的每个进程虚拟内存。如果您购买额外昂贵的 DIMM,典型的台式机主板最大支持 128GiB。使用经济实惠的 DIMMS,您的数量将限制在一半左右(只有如此多的插槽)。

操作系统通常仅允许数百 GB 的主内存大小(例如,Windows 8 企业/专业版为 512 GiB,否则为 128GiB,或 Windows 7 Home Premium 仅 16GiB)

于 2013-05-29T14:13:57.043 回答
0

通常最小的可寻址大小是一个字节,正如您计算的那样,如果它是一个字节,它将是 2^16*1 = 65536 个字节。但是,因为在这个系统上每个地址有两个字节,它实际上是 2^16*2 = 131072 字节。

于 2013-05-29T13:10:40.393 回答