8086是16位处理器,也就是说,它的数据线宽度是16位的。
总结一下8086的两个事实:
数据线 = 16 位
地址线 = 20 位
什么是地址空间?
由于地址线只有20位,那么CPU地址线上只有 2的20次方 种可能的地址值,即 8086 CPU的寻值范围是 2^20
由于内存的一个数据单元是 8 位, 即 8 bit = 1 Byte .
一个地址对应一个内存数据单元。 所以, 2^20 * 1 Byte = 1MB 。 这就是为什么说 8086 的地址空间是 1MB
数据线和地址线
由于 数据线宽度是16位, 而地址线是20位的。所以一个数据线16位的数据 并不能直接对应一个20位的地址值。需要通过一定的转换。
为什么有“X86-32bit处理器支持内存不能超过4G” 这一说法?
因为 地址线只有 32 位,那么, 最大的内存空间就只有 2^32 Byte = 4 GB
而 如果 换成 64位的, 那么, 最大的内存空间就是 2^64 Byte = 2^34 GB = (一个很大数字)