8086体系结构与8086CPU 简答题

8086体系结构与8086CPU 简答题
8086体系结构与8086CPU 简答题

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位的地址加法器将这两个地址

相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。

由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。

6.8086系统中的存储器为什么要采用分段结构?有什么好处?

答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址,在8086系统中,就是由段基址和偏移地址两部分构成。这两个地址都是16位的,将这两个地址采用相加的方式组成20位地址去访问存储器。

在8086系统的地址形成中,当段地址确定后,该段的寻址范围就已经确定,其容量不大于64KB。同时,通过修改段寄存器内容,可达到逻辑段在整个1MB存储空间中浮动。各个逻辑段之间可以紧密相连,可以中间有间隔,也可以相互重叠(部分重叠,甚至完全重叠)。采用段基址和偏移地址方式组成物理地址的优点是:满足对8086系统的1MB存储空间的访问,同时在大部分指令中只要提供16位的偏移地址即可。

7.8086存储器中存放数据字时有“对准字”和“非对准字”之分,请说明它们的差别。

答:一个16位的数据字是按照低地址存放低位数据、高地址存放高位数据来存放的。若16位数据的低8位存放在偶地址,则该数据字就是“对准字”,否则就是“非对准字”。主要差别是CPU读取和存储数据字时,如果是对准字,只需要一次读写操作即可,而非对准字就需要两次读写操作才能实现一个数据字的存取。

9.在某系统中,已知当前(SS)=2360H,(SP)=0800H,那么该堆栈段在存储器中的物理地址范围是什么?若往堆栈中存入20个字节数据,那么SP的内容为什么值?

答:(SS)×10H+(SP)=23600H+0800H=23E00H,堆栈段在存储器中的物理地址范围是23600H~23E00H。若往堆栈中存入20个字节数据,那么SP的内容为0800H-14H =07ECH。(20的十六进制为14H)。

10.已知当前数据段位于存储器的B4000H到C3FFFH范围内,则段寄存器DS的内容为多少?

答:段寄存器DS的内容为B4000H。

11.8086系统中为什么一定要有地址锁存器?需要锁存哪些信息?

答:由于8086CPU受芯片封装的限制,只有40个管脚,所以地址线和数据线只能采用复用的方式共同使用某些管脚。对存储器进行访问时,在读取数据或写入数据时,存储器芯片要求在这个过程中地址信息必须稳定提供给存储器,而由于8086CPU地址线和数据线是复用的,就不可能在同一时刻具有地址和数据的两种功能。这就需要在CPU提供地址信息时,将地址锁存起来,以保证下一个时刻当这些复用的管脚起着数据线的功能时,存储器有正确的地址信息。要锁存的信息包括这些复用管脚的地址和BHE等信号。

12.8086读/写总线周期各包括最少几个时钟周期?什么情况下需要插入等待周期TW?插入多少个TW取决于什么因素?

答:8086读/写总线周期各包括最少四个时钟周期。在系统中增加等待周期TW的一般情况是:当CPU提供了地址后,由于外设或存储器的读出或写入时间较慢,不能与CPU的速度匹配,就需要插入等待周期TW,等待CPU能从外设或存储器将数据正确地读出或写入为止。显然,插入的等待周期TW的个数取决于外设或存储器的取出或写入时间。

8086 CPU内部结构

课题:8086微处理结构一、8086 CPU的内部结构:

图解分析: 1、8086 CPU从功能上可分为:总线接口部件BIU(Bus Interface Unit) 执行部件EU(Execution Unit) 2、BIU:负责与存储器、外部设备之间进行信息交换。 功能: ①负责从内存指定单元取出指令,并送到6字节的指令队列中排列; ②同时负责从内存指定单元取出指令所需的操作数并送EU; ③EU运算结果也由BIU负责写入内存指定单元。 组成:20位的地址加法器 段寄存器(CS、DS、ES、SS) 指令指针(IP) 指令队列缓存器 总线控制电路 各组件功能: ①地址加法器:计算并形成CPU要访问的内存单元的20位物理地址; ②段寄存器:用于存放对应段的段基址; ③指令指针寄存器:用于存放下一条要执行的指令的偏移地址; ④指令队列:是6字节的“先进先出”的RAM存储器,用于顺序存放CPU 要执行的指令,并送EU去执行; ⑤总线控制电路:产生总线控制信号,如存储器读/写、I/O读写控制信号。 3、EU:负责指令的执行。 功能: ①负责从BIU的指令队列中取得指令、分析指令、执行指令,并将结果存

入通用寄存器或由BIU写入内存单元; ②同时负责计算操作数所在内存单元的偏移地址。 组成:算术逻辑单元(ALU) 标志寄存器 通用寄存器:数据寄存器:AX、BX、CX、DX 指针和变址寄存器:SP、BP、SI、DI EU控制电路 各组件的功能: ①算术逻辑单元(ALU):对操作数进行算术和逻辑运算,也可按指令的寻 址方式计算出CPU要访问的内存单元的16位偏移地址; ②标志寄存器:用于反映算术和逻辑运算结果的状态; ③数据寄存器:用于保存操作数或运算结果等信息; ④指针和变址寄存器:用于存放操作数所处存储单元的偏移地址; ⑤EU控制电路:接收从BIU指令队列中取得的指令,分析、译码,以便形 成各种实时控制信号,对各个部件实现特定的控制操作。

8086体系结构与8086CPU 简答题

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位的地址加法器将这两个地址

第二章_8086体系结构与8086CPU

第二章8086体系结构与8086CPU 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位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址

习题2-8086cpu

习题二 8086微处理器 答案 主要内容:主要介绍8086/8088CPU内部结构。了解80X86CPU的特点。 2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么? 【答】8086的内部结构分成两部分。总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行。 2.2 8086的总线接口部件有那几部分组成? 其功能是什么? 【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。 2.3 8086的执行单元(部件)由那几部分组成?有什么功能? 【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。 (1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。 (2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。 (3)标志寄存器,使用9位,标志分两类。其中状态标志6位,存放算数逻辑单元ALU 运算结果特征;控制标志3位,控制8086的3种特定操作。 (4)通用寄存器组,用于暂存数据或指针的寄存器阵列。 2.4 8086内部有哪些通用寄存器? 【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。 2.5 8086内部有哪些段寄存器?各有什么用途? 【答】四个16位段寄存器:CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。 2.6 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态 标志和控制标志分别有哪些? 【答】(1)标志分两类:状态标志(6位),反映刚刚完成的操作结果情况。控制标志(3位),在8086特定指令操作中起控制作用。 (2)利用状态标志可以掌握当前程序操作的结果,例如了解是否产生进位,是否溢出等。例如利用控制标志可以控制程序的单步调试。 (3)状态标志包括:包括零标志ZF、符号标志SF、奇偶标志PF、进位标志CF、辅助进位标志AF、溢出标志OF。控制标志包括:单步运行标志TF、方向标志DF与中断允许标志IF。 2.7 8086/8088和传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么 优点? 8086CPU执行转移指令时,指令队列寄存器内容如何变化? 【答】(1)传统的计算机一般按照取指令、指令译码与执行指令的串行步骤工作。 (2)在8086CPU中,指令的提取与执行分别由总线接口部件BIU与执行部件EU完成,两个单元重叠并行工作,这种机制称为流水线,这种工作方式有力的提高了CPU的工作效率。

相关主题
相关文档
最新文档