本篇文章旨在说明题目所述问题,所以并不会对微处理器内部结构做更加详尽的阐述。只会对涉及的结构作简单的描述,因为是小白,所以如果哪里组织的有问题,欢迎各位小伙伴指正。
我们首先来看一下微处理器内部结构 控制器的部件组成:
从图中我们可以大致了解到命令在cpu内部的执行过程:
8086 cpu 有 20 根地址线,所以这个就决定了该cpu能访问外部存储器的空间大小就为 2^20 = 1MB,但是cpu 内部的程序计数器只有16 bits,所以它的寻址能力就被限制在了2 ^ 16 = 64KB大小,那么问题来了,CPU是如何以64k字节寄存器的寻址能力完成 1MB空间大小的查询呢?
为了解决这一瓶颈,intel 公司将外部存储器划分成一个个64k的逻辑段,通过这种方式加上段内地址偏移即可通过16位寄存器实现1MB地址空间的寻址。举个例子:
当然了最后的运行结果要经过地址产生与总线控制逻辑运算得到一个20位地址,然后交给相应的接口电路,继而交给程序进行数据的处理。