Dev*_*ius 2 assembly operating-system cpu-architecture
我正在学习模式位的使用,以及某些CPU(如Intel 8086)仅在实模式下运行这一事实.在许多消息来源中,我被告知如下:
我的问题是,为什么他们指定只有1 MiB的内存可以寻址?这是否意味着除了第一个MiB之外还有无法使用(但可能是可读的?)内存?超出第一架MiB的内存如何使用?这是CPU为诸如操作系统之类的进程提供某种保护方式的方式吗?或者CPU真的提供零保护以防意外覆盖?
8086/8088没有超过1M的可寻址内存.这是因为它只有20个地址线,2 ^ 20是1,048,576.这样的地址范围是0(十六进制00000)和1048575(十六进制FFFFF)之间.正如您所正确指出的,这与"保护模式"无关,因为8086/8088处理器上不存在这种情况.
较旧的处理器可用内存较少:8080有16条地址线,总共2 ^ 16或65,536字节的内存.
这类似于说"如果你只有三个(十进制)数字,就无法表达超过999的数字."