[邓特曼书第三版]. 16位8086如何寻址16倍于8080的内存? [英] [Duntemann's Book 3rd Edition]. How could 16-bit 8086 address 16 times as much memory as 8080?
问题描述
Duntemann说, 8086可以处理的内存是8080的16倍,并继续详细说明为 16 * 64K = 1MB .因此,我假设一次使用16位(16位处理器)* 64K,因为16条地址线(2 ^ 16).但是,按照这种计算逻辑,同样具有16条地址线的8080(8位处理器)是否应该能够寻址8 * 64K = 0.5MB?
Duntemann says 8086 could address 16 times as much memory as 8080 and has gone on to elaborate upon this as 16 * 64K = 1MB. So I am assuming 16 bits at a time (16-bit processor) * 64K because 16 address lines (2^16). But, by that logic for calculation shouldn't 8080 (8-bit processor) also having 16 address lines have been able to address 8 * 64K = 0.5MB?
那么8086是否应该能够处理8080两倍的地址?
推荐答案
16x是2^20
和2^16
之间的区别.
16x is the difference between 2^20
and 2^16
.
8080具有16位地址空间,这意味着它可以访问2 ^ 16(65,536)个不同的地址.因此,它可以访问的内存量为65,536 * (每个地址的内存量).在我们的例子中,每个地址的内存量为1个字节,因此可寻址的内存量为65,536 * 1字节= 64KB.
The 8080 has 16 bits of address space, meaning it can access 2^16 (65,536) different addresses. The amount of memory it can access is therefore 65,536 * (the amount of memory at each address). In our case, the amount of memory at each address is 1 byte, so the amount of addressable memory is 65,536 * 1 byte = 64KB.
8086具有20位地址空间,这意味着它可以访问2 ^ 20个不同的地址(1MB)
The 8086 has 20 bits of address space, meaning it can access 2^20 different addresses (1MB)
当然1MB/64KB是16.
And of course 1MB/64KB is 16.
请注意,处理器的位数"并不总是反映其地址总线的大小.通常会,但是在这种情况下不会.
Note that the "bit-ness" of a processor does not always reflect the size of its address bus. It often does, but not in these cases.
8080是8位处理器,但其地址总线为16位宽.同样,8086是16位处理器,但其地址总线是20位.
The 8080 is an 8-bit processor, but its address bus is 16 bits wide. Similarly the 8086 is a 16 bit processor but its address bus is 20 bits.
这篇关于[邓特曼书第三版]. 16位8086如何寻址16倍于8080的内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!