8086的常见问题 1.8086CPU 由哪两部分构成?它们的主要功能是什么? 答:8086CPU 由两部分组成:指令执行部件(EU)和总线接口部件(BIU) 指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器 FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或 I/O 端口读取操作数参加 EU 运算或存放运算结果等。 2.8086CPU 预取指令队列有什么好处?8086CPU 内部的并行操作体现在哪里? 答:8086CPU的预取指令队列由6个字节组成,按照8086CPU 的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在 CPU 内部,EU 从指令队列中获得指令的速度会远远超过直接从内存中读取指令。 8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 3.8086CPU 中有哪些寄存器?各有什么用途? 答:指令执行部件(EU)设有8个16位通用寄存器 AX、BX、CX、DX、SP、BP、SI、DI,主要用途是保存数据和地址(包括内存地址和I/O 端口地址)。其中 AX、BX、CX、DX 主要用于保存数据,BX 可用于保存地址,DX 还用于保存 I/O 端口地址;BP、SI、DI 主要用于保存地址;SP 用于保存堆栈指针。 标志寄存器 FR 用于存放运算结果特征和控制 CPU 操作。 BIU 中的段寄存器包括 CS、DS、ES、SS,主要用途是保存段地址,其中 CS 代码段寄存器中存放程序代码段起始地址的高16位,DS 数据段寄存器中存放数据段起始地址的高16位,SS 堆栈段寄存器中存放堆栈段起始地址的高16位,ES 扩展段寄存器中存放扩展数据段起始地址的高16位。 指令指针寄存器 IP 始终存有相对于当前指令段起点偏移量的下一条指令,即 IP 总是指向下一条待执行的指令。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个?逻辑地址呢? 答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形...