假设我的计算机的地址寄存器大小为16位(例如MAR)。该计算机中最小的可寻址单元是一个字,每个字的大小为2个字节。该系统可以支持的最大内存大小(以字节为单位)是多少?
我认为这将是2 ^ 16 = 65536字节,但关于最小可寻址单元的部分意味着这不是解决它的方法。
提前致谢
答案 0 :(得分:1)
与系统可支持的最大内存量和地址寄存器的大小没有直接关联。
30年前的16位计算机可以很好地支持超过64千字节。另一方面,现代64位处理器通常只有52位(或更少)的通道,但即便这样,一台典型的计算机也几乎不能支持2 ^ 52字节的内存。今天典型的64位计算机理论上可以解决16个exibytes,但是现在的CPU只支持4PB的物理和256TB的每进程虚拟内存。如果您购买额外昂贵的DIMM,典型的桌面主板最大支持128GiB。使用经济实惠的 DIMM,你只能获得大约一半的数量(只有那么多的插槽)。
操作系统通常只允许数百GB的主内存大小(例如,对于Windows 8企业版/专业版为512 GiB,对于Windows 7 Home Premium为128GiB,或者对于Windows 7 Home Premium为16GiB)
答案 1 :(得分:0)
通常,最小的可寻址大小是一个字节,正如您已计算的那样,如果它是一个字节,那么它将是2 ^ 16 * 1 = 65536字节。但是,因为在这个系统上每个地址有两个字节,实际上是2 ^ 16 * 2 = 131072字节。