16位微处理器中的地址范围

时间:2018-01-16 19:51:30

标签: microprocessors

我的书中提到,当intel处理器为16位时,它可以访问的最大内存范围是64KB。

此类处理器中有多少个寄存器。当每个寄存器为16位时,它可以保持的1和0组合的数量是(2)^(16)。因此,存储器范围是(2)^ 16比特=(2)^ 13字节= 8192字节,大约8千字节。那么什么样的安排导致64 KB的内存范围?

可能是因为获取地址我们在偏移量中添加了一个基数。第一个值可能保持2 ^ 16位,大约是8KB,因此可能是另一个值的值,地址总数= 8x8 = 64Kb?

1 个答案:

答案 0 :(得分:2)

处理器不可位寻址。可以使用地址命名的最小内存单位是一个字节。请参阅Byte Addressing

支持位寻址的架构非常少见。早在36位机器等时代,通常会有一种不同的指针格式,允许寻址变量大小的“字节”。 (曾几何时,我们甚至没有就字节是否应该是6,7,8,9或更多位达成广泛的一致意见。确实存在具有36位,72位甚至47位寄存器的机器。为了更有效地支持不同大小的字节,架构添加了指针格式,其中指针的一部分是字地址,部分指定了位域的起始位位置和大小。例如PDP-10是一个36位架构,18-位地址,因此该指针格式使用寄存器的一半用于地址,一半用于位域部分。)

单词寻址机器更常见,特别是在专门的应用程序中。这些允许寻址比地址的位大小更多的内存字节,但需要移位和屏蔽来提取字节,而指针本身不能指定它指向的字的哪个字节。因此,人们通常看到字节可加载的机器,其中最小尺寸的加载和存储用于(例如64位)字,而不是字节,而不是真正的字寻址机器。