1.8086/8088 CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调工作的?微处理器(CPU)总线接口部件(BIU):负责与存储器、I/O 端口传送数据执行部件(EU):负责指令的执行协调工作过程:总线接口部件和执行部件并不是同步工作的,它们按以下流水线技术原则来协调管理:①每当8086 的指令队列中有两个空字节,或者8088 的指令队列中有一个空字节时,总线接口部件就②每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。
在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。
但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的操作,然后再去响应执行部件发出的访问总线的请求。
③当指令队列已满,而且执行部件又没有总线访问请求时,总线接口部件便进入空闲状态。
④在执行转移指令、调用指令和返回指令时,由于程序执行的顺序发生了改变,不再是顺序执行下面一条指令,这时,指令队列中已经按顺序装入的字节就没用了。
遇到这种情况,指令队列中的原有内容将被自动消除,总线接口部件会按转移位置往指令队列装入另一个程序段中的指令2.8086/8088 CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各在什么情况下置位?通用寄存器:用于存放操作数和指针段寄存器CS 控制程序区DS 控制数据区SS 控制堆栈区ES 控制数据区标志寄存器F 的标志位:①控制标志:OF、DF、IF、TF;②状态标志:SF、ZF、AF、PF、CF。
标志寄存器F 的各标志位置位情况:·CF:进位标志位。
做加法时出现进位或做减法时出现借位,该标志位置1;否则清0。
·PF:奇偶标志位。
当结果的低8 位中l 的个数为偶数时,该标志位置1;否则清0。
·AF:半进位标志位。
在加法时,当位3 需向位4 进位,或在减法时位3 需向位4 借位时,该标志位就置1;否则清0。
该标志位通常用于对BCD 算术运算结果的调整。
·ZF:零标志位。
运算结果各位都为0 时,该标志位置1,否则清0。
·SF:符号标志位。
当运算结果的最高位为1 时,该标志位置1,否则清0。
·TF:陷阱标志位(单步标志位)。
当该位置1 时,将使8086/8088 进入单步指令工作方式。
在每条指令开始执行以前,CPU 总是先测试TF 位是否为1,如果为1,则在本指令执行后将产生陷阱中断,从而执行陷阱中断处理程序。
该程序的首地址由内存的00004H~00007H3.8086/8088系统中储存器的逻辑地址和物理地址之间有什么关系?表示的范围各为多少?逻辑地址:段地址:偏移地址物理地址:也称为绝对地址,由段基址和偏移量两部分构成。
物理地址与系统中的存储空间是一一对应的。
逻辑地址与物理地址两者之间的关系为:物理地址=段地址×16+偏移地址每个逻辑段的地址范围:0000:0000H~FFFFH;0001:0000H~FFFFH;…;FFFF: 0000H~FFFFH;共有232个地址,但其中有许多地址是重叠的。
物理地址的地址范围:00000H~FFFFFH4.已知当前数据段位于储存器的A1000H到B0FFFH范围内,问DS=?A1000H→A100:0000 以A100H 为段地址的64K物理地址的范围是:偏移地址为 0000H~FFFFH,即A100:0000H~A100:FFFFH→A1000H+0000H~A1000H+0FFFFH =A1000H~B0FFFH,∴DS=A100H1.中断向量表的功能是什么?已知中断类型码分别是84H 和FAH,它们的中断向量应放在中断向量表的什么位置?答:(1)中断向量表的功能是当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。
(2)中断类型号*4即可计算某个中断类型的中断向量在整个中断向量表中的位置。
84H的位置:210H~213H;FAH的位置:3E8H~3EBH。
2.如果8259A按如下配置则ICW1的值为多少?不需要ICW4,单片以及边缘触发。
如要求产生的中断类型码在70H~77H之间,则ICW2的值是多少?答:根据ICW1的格式分析可知,ICW1的值是00010010B。
ICW2的值是70H(即中断类型码70H-77H的基值)。
3.如果8259A用在80386DX系统中,用一般的EOI,缓冲模式主片,特殊全嵌套方式,则ICW4的值是什么?答:根据ICW4的格式分析可知,ICW4的值是00011101B。
4. 如果OCW2等于67H,则允许何种优先级策略?为什么?解答:67H=0110 0111B,固定优先级6. 某系统中设置三片8259A级联使用,两片从片分别接至主片的IR2和IR6,同时,三片芯片的IR3上还分别连接了一个中断源,已知它们的中断入口均在同一段,段基址为4000H,偏移地址分别为1100H,40B0H,A000H,要求电平触发,普通EOI结束。
画出它们的硬件连接图,编写全部的初始化程序。
1.8253芯片共有几种工作方式?每种方式各有什么特点?答:8353起着计数或定时的作用,提供可编程的三个16位定时/计数器通道,它有方式0到方式5共6种工作方式,分别是:计数结束中断方式,可编程单程方式,频率发生器,方波发生器,软件触发的选通信号,硬件触发的选能信号。
2.某系统中8253芯片的通道0~2和控制端口地址分别为FFF0H~FFF3H。
定义通道0工作在方式2,CLK=2MHz,要求输出OUT0为1kHz的速率波;定义通道l工作在方式CLKl输入外部计数事件,每计满100个向CPU发出中断请求。
试写出8253通道0和通道1的初始化程序。
6. 试说明定时和计数在实际系统中的应用?这两者之间有和联系和差别?答:定时信号,定时,延时,计数控制7. 定时和计数有哪几种实现方法?各有什么特点?软件定时:利用CPU执行某一指令需要一定机器周期的原理,在软件编程时循环执行一段指令,从而产生累积的定时。
优点是不需要增加硬件。
缺点是耗费CPU资源,故软件定时只适用于短时定时。
而且,不同CPU的时钟频率不同,同一段软件延时程序在不同的机器上运行,可能结果不同,即兼容性不强。
硬件定时和计数:以硬件计数器构成,计数脉冲触发硬件计数器计数,如果计数脉冲的周期固定,则计数同时产生定时。
优点是不占用CPU资源,定时精确,定时范围大。
缺点是增加一些硬件开销。
硬软结合8. 试说明定时/计数器芯片Intel8253的内部结构。
它由与CPU接口、一个控制寄存器以及三个16位计数器所组成。
每个计数器通过3个引脚和外部联系,1个位时钟输入端CLK,一个为门控信号输入端GATE,别一个为输入端OUT.9. 定时/计数器芯片Intel8253占用几个端口地址?各个端口分别对应什么?4个端口地址:片内选址为00对应的计数器0,片内选址为01对应计数器1,片内选址为10 对应计数器2,片内选址为11对应控制寄存器。
1.试分析8255A方式0、方式1和方式2的主要区别,并分别说明它们适合于什么应用场合。
答:方式0可以工作于无条件传送方式,也可工作于查询传送(条件传送)方式,可由用户选择PCL和PCH中各一条线作为PA 口和PB口的联络信号线,方式0不能工作于中断传送方式;方式1可以工作于查询传送方式和中断传送方式,芯片规定了PC 口中6条线作为PA 口和PB口同外设之间的联络信号线以及同CPU之间的中断请求线2.当8255A的A口工作在方式2时,其端口B适合于什么样的功能?写出此时各种不同组合情况的控制字。
3.若8255A的端口A定义为方式0,输入;端口B定义为方式1,输出;端口C的上半部定义为方式0,输出。
试编写初始化程序。
(口地址为80H~83H)答:MOV DX,83MOV AL,94HOUT DX,AL4.假设一片8255A的使用情况如下:A口为方式0输入,B口为方式0输出。
此时连接的CPU为8086,地址线的A1、A2分别接至8255A的A0、A1,而芯片的CS来自A3A4A5A6A7=00101,试完成8255A的端口地址和初始化程序。
MOV AL, 10010100b; AL←方式控制字 OUT 83H, AL:方式控制字→8255控制口1.读出8259内部寄存器的状态可用命令字OCW3读出(中断请求)和(中断服务)寄存器,而用IN命令直接读出的是(中断屏蔽)寄存器。
2.如果总线的频率为88MHz,总线的位宽为8位,则总线的带宽应为(88)。
3.CPU 从主存取一条指令并执行该指令的时间称为__指令周期_,它通常用若干个(时钟周期)来表示,而后者又包含有若干个时钟周期。
4.8253有两种功能:(计数)功能和(定时)功能。
5.8255的控制字共用一个端口地址,用控制字的第______位来区别。
6.微机系统启动时,CS=(0FFFF)H, IP=(0000)H, 若开机后要系统从08000H 单元开始执行程序,应在(0FFFF0)处设置一条跳转指令。
7.设8259A的操作命令字OCW2中,EOI=0,R=1,SL=1,L2L1L0=011,试指出8259A的优先权排队顺序(IRQ4、IRQ 5、IRQ6、IRQ7、IRQ0、IRQ1、IRQ2、IRQ3)。
8.8259A工作在8086模式,中断向量字节ICW2=70H,若在IR3处有一中断请求信号,这时它的中断向量号为(73H),该中断服务程序入口地址保存在内存地址为(1CC)H至(1CF)H的(4)个单元中。
9.Intel8253采用BCD码计数时,其最大计数值为(0000),此时的计数初值为(100H)。
10.8255并行接口内部有(3)个端口,A口有(3)种工作方式,B口有(2)种工作方式。
11.已知程序段:MOV BX, CXNOT BXXOR BX, CX执行上面程序段后,OF=(0), ZF=(0)。
12.中断触发的方式有(电平)触发和(边沿)触发两种。
13.外部总线也称为(通信)总线,其中RS-232C是一种(串)行通用总线。
14.8253芯片中,时钟信号CLK和门控信号GATE分别所起的作用为(输入脉冲线),(门控信号输入引脚)15、某机字长32位,主存容量为16MB,单字长指令,有50种操作码,采用寄存器寻址、寄存器间接寻址、立即数寻址、直接寻址等寻址方式。