习题2 习题解答
2.1哪两部分组成?它们的主要功能各是什么?
解:8086CPU由总线接口部件BIU (Bus Interface Unit)和执行部件EU (Execution Unit) 两大部分组成。总线接口部件的主要功能是形成物理地址、预取指令、指令队列排队、读/写操作数和总线控制。执行部件的主要功能是进行指令译码并执行指令。
2.2 8086CPU中有哪些寄存器?各有什么用途?标志寄存器FLAGS有哪些标志位?在什么情况下置位?
解:8086CPU中的寄存器如教材图2-2所示:

其用途可参考教材。
标志寄存器(FLAGS)用于反映指令执行结果的状态,常用作后续条件转移指令的转移控制条件。标志寄存器为16位,实际使用了其中的9位,所用各位的含义如教材中图2-3所示。

2.3 什么是逻辑地址?什么是物理地址?如何将逻辑地址转换为物理地址?
解:逻辑地址是指在程序和指令中使用的一种地址,它包括两部分:段基地址和偏移地址。段基地址说明每段在主存中的起始位置,它来自于段寄存器(CS、DS、ES、SS)。偏移地址说明主存单元距离段起始位置的偏移量。它是一个16位的偏移地址,根据指令的不同,它可以来自于8086CPU中不同的16位寄存器 IP、SP、BP、SI、DI、BX等。
物理地址是指CPU对存储器进行访问时实际寻址所使用的地址,物理地址是由段寄存器与偏移地址共同确定的。在实际工作时,从段寄存器中取出段基址,将其左移4位,再与16位偏移地址相加,就得到了物理地址,此地址在CPU总线接口部件BIU的20位地址加法器中形成。物理地址的计算方法为:物理地址=段基地址×16+偏移地址。
2.4 设X=35H,Y=76H,进行X+Y和X-Y运算后,标志寄存器FLAGS的状态标志位各是什么?
解:X+Y=0ABH , 各标志位分别为:OF=1,SF=1,ZF=0,AF=0,PF=0,CF=0
X-Y=0BFH, 各标志位分别为:OF=0,SF=1,ZF=0,AF=1,PF=0,CF=1
2.5 8086有哪4个逻辑段?各种逻辑段分别是什么用途?
解:在8086的程序设计中,一个程序可以有代码段CS、数据段SS、堆栈段SS和附加段ES。
代码段CS用于存放程序;
数据段SS和附加段ES用于存放数据;
堆栈段SS用于存放数据(包括暂存数据和保护现场的数据)。
在形成物理地址时,CS、DS、ES和SS四个段寄存器的作用如下:当取指令时,CPU以CS寄存器的值作段基址,再加上IP中的16位偏移地址,得到指令的物理地址;当进行堆栈操作时,段基地址CPU以SS为堆栈段的基地址,偏移地址由SP或BP来指定,当访问存储器的数据段时,数据段寄存器DS或附加段寄存器ES,再加上16位偏移地址,得到操作数的物理地址。
2.6 请将如下逻辑地址用物理地址表示:
(1)FFFFH:0 (2)45H:18H (3) 2000H:4600H (4)B821H:3456H
解:用PA表示物理地址,PA=段基地址×16+偏移地址
PA=FFFFH×16+0000H=FFFF0H
(2)PA=45H×16+18H=468H
(3)PA=2000H×16+4600H=24600H
(4)PA=B821H×16+3456H=BB666H
2.7若8086CPU工作于最小模式,试指出当CPU将AH的内容送到物理地址为 91001H的存储单元时,以下哪些信号应为低电平:M/、、、/S7、DT/。若CPU完成的是将物理地址91000H单元的内容读入AL中时,则上述哪些信号应为低电平。
解:当CPU将AH的内容送到物理地址为 91001H的存储单元时,CPU完成的是写存储器操作,且完成的是访问存储器的奇地址,因此,=0,/S7=0;
若CPU完成的是将物理地址91000H单元的内容读AL中时,CPU完成的是读存储器操作,且完成的是访问存储器的偶地址,因此,=0,DT/=0。
2.8什么是引脚的分时复用?请说出8086CPU有哪些引脚是分时复用引脚?如何分时复用?
解:8086的数据线和地址线是利用复用的,所以常把8086的总线称为多路总线,即某一时刻总线上出现的是地址,另一时刻,总线上出现的是数据。正是这种引脚的分时使用方法才能使8086用40条引脚实现20位地址、16位数据及众多的控制信号和状态信号的传输。
8086CPU的分时复用的引脚有:地址/数据复用引脚是:AD15~AD0,在总线周期的T1状态,传送地址信息,在其它状态则传送数据信息;
地址/状态复用引脚是:A19/S6~A16/S3,这些引脚在总线周期的T1状态输出地址的高4位,在总线的T2、T3、TW和T4状态时,用来输出状态信息。
2.9试说明8086CPU工作在最大和最小模式下系统基本配置的差异。
解:8086CPU可以工作在两种工作模式,即最小工作模式和最大工作模式。最小工作模式用于单机系统,系统中所有总线控制信号全部由8086直接提供,因此系统中的总线控制电路可减到最少;最大工作模式用于多处理机系统,8086作为主处理器,其它的处理器为协处理器,协助主处理器工作。在最大工作模式下,系统所需要的控制信号均由总线控制器8288提供。
8086具体工作在最大模式还是最小模式,完全由硬件连接决定。当将CPU的第33号引脚MN/接+5V时,8086工作在最小模式,当MN/接地时,8086工作在最大模式。
2.10分析8086CPU两个中断输入引脚的区别,以及各自的使用场合。
解:是中断响应信号,输出,三态,低电平有效。该信号是CPU响应中断请求后,向中断源发出的中断响应信号,用以通知中断控制器,以便由中断控制器提供中断类型号。在每个中断响应周期,CPU在引脚上发出两个连续的负脉冲。
⑿NMI是非屏蔽中断请求信号,输入,正跳变有效。这类中断不受中断允许标志IF的影响,也不能用软件进行屏蔽。当NMI引脚收到一个正沿触发信号时,CPU就会在结束当前指令后引起中断,执行中断类型号2的非屏蔽中断处理程序。