1.简述8086 CPU内部功能结构?答:从功能上分:总线接口部件 BIU(Bus Interface Unit)执行部件 EU(Execution Unit)。
总线接口部件(BIU)总线接口部件的功能:CPU与外部(存储器、I/O端口)传送指令代码或数据。
CPU执行指令的工作分为两个阶段:取指令和执行指令过程。
取指令时,BIU从内存取指令送到指令队列执行指令时,BIU配合EU从指定内存或外设端口取数据,送给EU或把EU的操作结果送到指定内存或外设端口(1)BIU的组成①20位的地址加法器②16位的4个段地址寄存器(CS、DS、ES、SS)16位的指令指针寄存器 IP16位的内部暂存器③6字节的指令队列缓冲器④总线逻辑控制器2)BIU各部件的作用1)段地址寄存器CS:16位代码段寄存器,寄存程序代码段首地址的高16位。
DS:16位数据段寄存器,寄存数据段首地址的高16位。
ES:16位扩展段寄存器,寄存另一个数据段首地址的高16位。
SS:16位堆栈段寄存器,寄存堆栈区数据段首地址的高16位。
2) 16位的指令指针寄存器 IP:指出当前指令在程序代码段中的16位偏移量。
3)16位的内部暂存器:暂存输入/输出信息的寄存器。
4)20位的地址加法器:用来产生20位物理地址。
段基址:段寄存器提供的16位信息,左移4位。
偏移地址:EU提供的16位信息或者IP提供的16位信息。
5)6字节的指令队列缓冲器:用来存放预取指令的指令队列。
6)总线逻辑控制器:以逻辑控制方式实现总线上的信息传送,如信息分时传送等。
执行部件EU执行部件的功能就是负责指令的执行。
(1) EU的组成:执行部件由4个通用寄存器(AX、BX、CX、DX)4个专用寄存器(BP、SP、SI、DI)算术逻辑单元EU控制器标志寄存器组成。
(2) EU各部件的作用1) 4个通用寄存器可以作为16位或2个八位寄存器AX:16位的累加器许多指令的执行都用到AXBX:16位的基数寄存器寄存器间接寻址CX:16位的计数寄存器DX:16位的数据寄存器 I/O指令中用到2)4个专用寄存器BP:16位的基数指针寄存器堆栈段数据区基址的偏移地址SP:16位的堆栈指针寄存器栈顶的偏移地址堆栈:一组寄存器或一个存储区域,用来存放调用子程序或响应中断时的主程序断点地址,以及暂存其它寄存器的内容。
当信息存入堆栈或从堆栈中取出信息时,都必须严格按照“先进后出”的规则进行。
SI:16位的源变址寄存器当前数据段的偏移地址串指令DI:16位的目的变址寄存器当前数据段的偏移地址串指令3)算术逻辑部件ALU功能有两个:一是进行算术/逻辑运算;二是按指令的寻址方式计算出所寻址的16位偏移地址。
4)EU控制器:执行指令的控制电路,实现从队列中取指令、译码、产生控制信号等。
5)标志寄存器:16位状态标志寄存器(7位未用)存放操作后的状态特征和人为设置的控制标志。
这些标志可分两类:状态标志,控制标志4. 8086CPU 内部流水线管理工作原理1)当指令队列为空时,这种情况一般发生在程序刚开始执行或刚执行了跳转指令(转移指令、调用指令和返回指令)。
这时EU等待BIU提取指令,BIU会从存储器中把要执行的那个程序段指令装入指令队列中2)当指令队列不空时,这时EU和BIU独立工作,EU负责从指令队列前部取出指令代码,并进行译码和执行;BIU负责从存储器中把指令取到指令队列中,直到指令队列满为止。
3)当指令队列已满且EU又无访问请求时,BIU便进入空闲状态。
4)当指令队列出现2个空字节时,BIU又会自动地从存储器中把后面的指令装满指令队列。
5)当EU执行特殊指令时,这有两种情况:一是EU在执行指令过程中必须进行外部(存储器或I/O端口)访问,这时EU请求BIU 去做外部访问,如果BIU 正好处于空闲状态,则立即响应EU的请求,如果BIU正在取指过程中,则BIU在完成当前取指令的操作后再去响应EU的请求;二是EU执行跳转指令,这时,指令队列中已装入的指令字节就不再有用,则指令队列被自动清空。
5. 字节分为奇字节和偶字节。
字分为奇字、偶字对于奇字节、偶字节、奇字、偶字的读/写操作一个总线周期完成:奇字节、偶字节和偶字操作均可用一个总线周期完成,总线周期完成:奇字操作需二个总线周期,分别用奇字节和偶字节操作来完成。
其过程是通过A0、BHE(8086CPU的两条引脚)信号的配合来实现的6. 8086 CPU 总线周期的概念?在计算机中时间的最小单位是时钟周期(一个时钟脉冲的时间长度)。
BIU通过系统总线完成对外界(存储器或I/O端口)的一次访问所需的时间称作一个总线周期。
在8086CPU中,一个最基本的总线周期由4个时钟周期组成。
4个时钟周期分别称为4个状态,即T1状态、T2状态、T3状态和T4状态。
除了上述四个状态外,还有等待状态Tw和空闲状态TI。
7.简述各个时钟周期的作用?T1:CPU往多路复用总线上发出20位地址信息,以指出要寻址的存储单元或外设I/O端口的地址T2:对读操作,CPU从AD总线上撤消地址信息使总线的低16位成高阻状态,为16位数据输入作准备;对写操作,CPU输出数据信息。
总线的最高4位用来输出总线周期状态信息T3:AD总线的高4位继续提供状态信息,而低16位上输出由CPU提供的数据(写操作)或者CPU从存储器(或端口)读入的数据(读操作)T4:总线周期结束Tw:这是等待状态。
当外设或存储器速度较慢时,CPU会在T3之后插入1个或多个等待状态Tw,解决外设或存储器不能及时地配合CPU数据传送问题。
具体详见总线的读写操作TI:这是空闲状态。
当CPU和内存或I/O接口之间不需传输数据,且指令队列填满时,CPU 不需要执行总线周期,系统总线就处于这个空闲状态。
这时,在总线高4位上,CPU仍然保持前一个总线周期的状态信息。
12. 一个完整的中断处理系统必须实现以下功能:中断源识别中断优先级判断中断嵌套管理CPU的中断响应中断服务中断返回14. 8086CPU的中断源?8086CPU 有256种中断可分为两大类:外部中断和内部中断。
(1)外部中断(硬件中断):分为非屏蔽中断和可屏蔽中断两种。
1)非屏蔽中断:NMI,有求必应,掉电、紧急停机处理,多个查询2)可屏蔽中断:INTR,IF=1响应,与8259配合多个中断源内部中断(软件中断)1)单步中断-----------中断类型号是1 TF=1产生,调试程序,正常执行02)除法出错中断-------中断类型号是0 DIV,IDIV执行时,商超出了规定的范围产生3)断点中断-----------中断类型号是3 设置好断点,INT或INT 3产生4)溢出中断-----------中断类型号是4 溢出标志OF为1,执行INTO产生5)指令中断-----------中断类型号是n INT n 系统功能调用或自定义的软中断15. 内部中断的特点:①内部中断的类型号都是固定的,或是在中断指令中给定的。
不需要进入INTA总线周期获取类型号;②不受中断允许标志位IF的影响;③用一条指令或由某个标志位启动进入中断处理程序,这样的中断没有随机性。
16.8086中断系统中断源的优先级17. 简述8086CPU内部中断和非屏蔽中断的响应及处理过程(1) 中断请求与检测(2) 确定中断向量地址(3)保护各标志位状态和屏蔽INTR中断和单步中断(4)保存断点(5)执行中断服务程序(6)中断返回18. 可屏蔽中断(1) 中断请求与检测(2) 判断是否响应(3)确定中断向量地址(4)保存断点(保护各标志位状态和屏蔽INTR中断和单步中断)(5)执行中断服务程序(6)中断返回19. 中断向量表中断向量----中断服务程序入口地址。
中断向量表-----中断服务程序入口地址表。
中断向量地址-----中断向量在中断向量表中的位置。
中断向量地址与中断类型号之间的关系可表示为:中断向量地址=中断类型号*420. 中断程序设计分为主程序设计和中断服务子程序设计两部分。
主程序---用来完成相关的初始化工作,为实现中断做好准备;中断服务子程序---用来完成相关的中断处理工作。
主程序设计初始化工作分三部分:(1)CPU内部的初始化:设置堆栈指针SS和SP、中断向量、开中断(2)中断控制器8259A的初始化(3)通用接口的初始化中断服务子程序设计中断服务子程序含有以下七个部分:1)保护中断时的现场。
2)若允许中断嵌套,则设置开中断。
3)执行中断处理程序。
4)设置关中断,5)给中断命令寄存器送中断结束命令EOI。
6)恢复中断时的现场。
7)用中断返回指令IRET返回主程序。
21. 中断控制器Intel 8259A功能:1)具有8~64级的中断优先权管理功能;2)每一级都可以通过编程实现中断屏蔽或开放;3)在中断响应周期,8259A可以自动提供相应的中断类型号;4)可以通过编程来选择8259A的各种工作方式及任意设定中断类型号。
22.23. 8259A的工作方式六种工作方式:中断请求方式、中断源屏蔽方式、中断嵌套方式、优先级循环方式、中断结束方式、读8259A状态方式。
24.25.初始化命令字完成以下功能:1)设定中断请求信号触发形式,高电平触发或上升沿触发;2)设定8259A工作方式,单片或级联;3)设定8259A中断类型号基值,即IR0对应的中断类型号;4)设定优先级设置方式及中断处理结束时的结束操作方式;26.8237A的主要特性(1)一个8237A芯片有四个独立的DMA通道,也可通过级连方式扩充通道数目;(2)各通道具有独立的允许/禁止DMA请求的控制功能和自动预置功能;(3)各通道都有DMA请求信号DREQ和响应信号DACK,其有效电平可编程设定;(4)有两种优先级:固定优先级和循环优先级;(5)有四种工作方式:单字节传送方式、数据块传送方式、请求传送方式和级联方式;(6)有两种基本时序:正常时序和压缩时序;(7)传送数据时具有自动修改地址的功能;(8)DMA传送过程中具有总线控制权,在传送结束后能将总线控制权归还给CPU;(9)数据传送结束时能发DMA结束信号,也可由外部发送DMA结束信号中止传送。
27. 8237A的工作周期(1)DMA空闲周期: 8237A处于从属状态(2)DMA有效周期:8237A处于主控状态,具有总线控制权控制DMA传送。
28. 8237A优先级编码逻辑1)固定优先级:通道0的优先级最高,通道3的优先级最低,按顺序排列。
2)循环优先级:当前优先级最高的通道在结束本次DMA传送后变为优先级最低的通道,其他通道的优先级依次前进一位。
29. 8237A的传送方式①单字节传送方式每次传输完一个字节(当前地址寄存器+1或-1,当前计数器-1),DMAC释放总线(CPU重新收回)。