【发布时间】:2018-01-16 19:51:29
【问题描述】:
我的书提到,当英特尔处理器是 16 位时,它可以访问的最大内存范围是 64KB。
这样的处理器中有多少个寄存器。当每个寄存器为 16 位时,它可以容纳的 1 和 0 的组合数为 (2) ^ (16)。因此,内存范围为 (2) ^ 16 位 = (2) ^ 13 字节 = 8192 字节,大约 8 KB。那么什么样的安排导致了 64 KB 的内存范围呢?
可能是因为要获得地址,我们将基数添加到偏移量。第一个值可能包含 2^16 位,大约为 8KB,因此其他值的值的可能性,地址总数 = 8x8 = 64Kb?
【问题讨论】:
-
每个内存地址对应一个byte,而不是一个bit。
-
每个地址指的是一个字节的内存,所以内存范围是2^16,也就是64KB。现代处理器不可位寻址。
-
youtube.com/watch?v=fpnE6UAfbtU 这个系列对理解处理器非常有帮助(至少对我来说是这样)。跳到约 5 分钟了解 8 位寄存器。
-
现实世界稍微复杂一些——8086 有 16 位地址寄存器,但有 20 位地址总线。
-
@HenkHolterman : 那么 20 地址总线是如何产生 64 KB 的呢?
标签: microprocessors