计算机硬件第八章中断系统第九章DMA控制器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第八章中断系统§8.1中断概念§8.28086、8088的中断系统§8.1中断概念中断:是指CPU在正常运行程序时,由程序预先安排好的事件,或者由内、外部事件引起CPU中断正在运行的程序,转到为预先安排的事件或内、外部事件服务的程序中去。这些引起程序中断的事件称为中断源。PC的中断指令在CPU中预先设定。8.1.1应用中断的好处:1.同步操作2.实现实时处理3.故障处理8.1.2中断源引起中断产生的事件或发出中断请求的来源,称为中断源。1.一般的输入输出2.数据通道中断源3.实时时钟4.故障源5.为调试程序而设置的中断源8.1.3中断系统的功能1.实现中断及返回2.能实现优先排队3.高级中断源能中断低级的中断处理中断常用术语(1)中断返回当计算机对紧急事件处理完成后,要返回原程序A,实际上是将从断点处继续执行原程序,这个过程称为中断返回。(2)中断服务程序非寻常事件的处理程序B,称为中断服务程序。中断服务程序是程序员事先安排好的程序,非寻常事件一般是指事件发生的时间是无法预知的,但事件的性质及处理方法是已知的。8.1中断的概念(3)中断现场和保护现场计算机正在运行程序A,收到紧急事件的要求,中断了当前程序A;在中断时刻,程序A运行的当前状态称为中断现场。它应包括状态寄存器的状态,以及CPU内部寄存器的当前内容。为了使中断返回后这些信息不会丢失,必须加以保护,这称为保护现场。保护的方法有些是靠硬件自动完成的,有些则靠程序来实现。(4)断点计算机正在执行程序A,由于某一个非寻常事件发生,暂停A程序的运行,而执行紧急事件处理程序B,程序A被中断时的下一条指令的地址称为断点或断点地址。8.1中断的概念§8.2CPU响应中断的条件和过程8.2.1CPU响应中断的条件1.设置中断请求触发器2.设置中断屏蔽触发器3.中断是开放的4.CPU在现行指令结束后响应中断§8.2CPU响应中断的条件和过程8.2.2CPU对中断的响应1.关中断2.保留断点3.保护现场4.给出中断入口,转入相应的中断服务程序5.恢复现场6.开中断与返回§8.2CPU响应中断的条件和过程三态缓冲器输入设备地址译码器1数据RDYDBABIO/MRDCPU&中断请求触发器数据锁存器+5VQDINT状态信号数据锁存器三态缓冲器1&中断方式的输入过程:1.外设准备好数据,发出选通信号2.选通信号将数据锁存,同时产生中断信号3.若中断屏蔽触发器不屏蔽(即允许中断),则将中断信号传送给CPU4.CPU接收到中断信号,且IF=1,则CPU响应中断,发INTA响应信号,清除传来的中断请求信号,并获取外设的中断向量5.CPU执行相应的中断服务子程序,即读取数据§8.2CPU响应中断的条件和过程§8.3中断优先权及多重中断8.3.1中断优先权判别和确定各个中断源的优先权可以用软件和硬件两种方法。1.用软件确定中断优先权把8个外设的中断请求触发器组合起来,作为一个端口,并赋以设备号,把各个外设的中断请求信号相“或”后,作为INTR信号,故任一外设有中断请求,都可向CPU送出INTR信号。当CPU响应中断后,把中断寄存器的状态,作为一个外设读入CPU,逐位检测它们的状态,若有中断请求就转到相应的服务程序的入口。中断源有许多个,需要用中断控制器来进行优先级管理:a.当多个中断同时发生时,优先级高的得到响应。b.优先级高的中断可以中断优先级低的中断中断优先级除法错误,INTO,INTnNMIINTR单步中断最高最低8.6.28086的中断系统§8.3中断优先权及多重中断7.3.1中断优先权查询程序有两种实现方法(1)屏蔽法INAL,[20H];输入中断请求触发器的状态TESTAL,80H;检查最高位JNEPWF;外设A中断服务程序TESTAL,40H;检查次高位JNEDISS;外设B中断服务程序TESTAL,20H;检查次高位JNEMT;外设C中断服务程序……§8.3中断优先权及多重中断8.3.1中断优先权(2)移位法XORAL,ALINAL,[20H];输入中断请求触发器的状态RCLAL,1JCPWF;外设A中断服务程序RCLAL,1JCDISS;外设B中断服务程序……§8.3中断优先权及多重中断8.3.1中断优先权2.硬件优先权排队电路(1)中断优先权编码电路若有8个中断源,当任意一个有中断请求时,通过或门,即可有一个中断请求信号产生,能否送至CPU的中断请求线,还要受比较器的控制。(2)雏菊花环(DaisyChain)式或称为链式优先权排队电路§8.3中断优先权及多重中断中断响应(来自CPU)F/FA&&F/FB&&F/FC&&F/FD&&中断请求输入1中断请求输入2中断请求输入3中断请求输入4中断输出1中断输出2中断输出3中断输出4链式优先权排队电路2)简单硬件方式(菊花链法)设备1接口菊花链逻辑电路设备2接口设备3接口菊花链逻辑电路菊花链逻辑电路CPU以及总线控制器INTAINTR中断请求中断应答§8.3中断优先权及多重中断8.3.2多级中断的概念多级中断系统是指计算机系统有相当多的中断源,根据各中断事件的轻重缓急而分成若干级别,每一中断级分配一个优先权。根据系统的配置不同,多级中断又可分为一维多级中断和二维多级中断。一维多级中断是指每一中断中只有一个中断源,而二维多级中断是指每一级中断中又有多个中断源。§8.3中断优先权及多重中断§8.3中断优先权及多重中断§8.48086/8088的中断方式1.软中断:软件中断是CPU根据程序中的某条指令或程序对标志寄存器中某个标志的设置而产生的。(1)DIV(除)或IDIV(整除)指令(2)INT指令(3)INTO指令(4)单步执行§8.48086/8088的中断方式2.硬中断:硬件中断也称为外部中断,CPU提供了两个外部中断输入引脚,18脚(INTR)可屏蔽中断输入引脚,17脚(NMI)非屏蔽中断输入引脚。(1)可屏蔽中断,出现在INTR线上(2)非屏蔽中断,出现在NMI线上§8.48086/8088的中断方式非屏蔽中断请求中断逻辑INTn指令INT0除法错误单步(TF=1)8259ANMIINTR8086CPU可屏蔽的中断请求8086中断分类8086中断外部中断内部中断可屏蔽中断请求—通过8259A中断控制器产生非屏蔽中断请求—包括掉电、存储器满、总线信息奇偶错等软件陷阱软件中断类型0中断—除法错误中断类型1中断—单步中断(TF=1)INTn指令—类型为n的中断指令INT3指令—断点中断指令INT0指令—溢出中断指令IRET指令—中断返回3.中断向量表中断向量:中断处理子程序的入口地址;中断向量表:在内存的前1KB(地址为00000H~003FFH)区域存放着256个中断向量(或256个中断类型),每个中断向量占用4字节空间。§8.48086/8088的中断方式3.中断向量表o每一种中断类型对应一个中断向量;o每个中断向量占4个字节,前两个字节存放中断处理子程序入口地址的偏移量(IP),后两个字节存放中断处理子程序入口地址的段地址(CS);o256个中断中:0-4为专用中断,5-31为系统保留(21个),32以上共224个为用户自定义中断。§8.48086/8088的中断方式8086中断向量表指出了中断向量类型码与中断向量之间的关系类型255类型33类型32类型31类型5类型4类型3类型2类型1类型03FEH3FCH084H080H07EH014H010H00CH008H004H000H可使用的中断向量保留的中断向量专用的中断向量CS基址IP偏移量中断服务程序起始地址的计算:CS基址所在单元TYPE*4+2IP偏移量所在单元TYPE*2例:外设的编码类型为33,计算该外设的中断服务程序入口地址CS基址所在单元33*4+2=134=86HIP偏移量所在单元33*4=132=84H§8.48086/8088的中断方式4.中断响应和处理过程(1)类型码乘4,作为中断向量表指针;(2)CPU标志寄存器入栈;(3)复制追踪标志T的状态,清除I和T标志,屏蔽新的INTR中断和单步中断;(4)保存主程序中的断点,即把主程序断点处的IP和CS的值推入堆栈保护,先推入CS的值,再推入IP的值;(5)从中断向量表中取中断服务程序的入口地址,分别送至CS和IP中,先取CS的值;(6)按新地址执行中断服务程序。CPU自动执行1、关中断2、发出中断响应信号3、读入中断向量地址4、PC内容压栈1、保护现场2、设置本优先级3、开中断对外部设备的控制程序主机与外设数据交换1、关中断2、恢复CPU现场3、开中断4、返回指令CPU响应中断请求中断服务程序5、中断服务过程§8.5IBMPC/XT的中断方式1.IBMPC/XT的中断类型(1)内部中断即软中断(2)非屏蔽中断NMI(3)可屏蔽中断INTR§8.5IBMPC/XT的中断方式§8.5IBMPC/XT的中断方式2.IBMPC/XT系统保留的中断8086CPU最多能处理256种不同的中断,其中5个保留为CPU专用;一部分是由磁盘操作系统DOS保留为系统使用,用户可以使用200个左右中断。§8.5IBMPC/XT的中断方式第九章DMA控制器DMA:directmemoryaccess直接存储器访问技术,适合高速的数据交换DMA控制原理(工作过程)(1)外设向DMA控制器发出DMA请求;(2)DMA控制器向CPU发出总线请求信号;(3)CPU执行完现行的总线周期后,向DMA控制器发出响应请求的回答信号;(4)CPU将控制总线,地址总线及数据总线让出,由DMA控制器进行控制;(5)DMA控制器向外部设备发出DMA请求回答信号;(6)进行DMA传送;(7)数据传送完毕,CPU重新控制总线。1.简答三态门概念及其性能?2.什么是中断和中断向量?3.已知SS=3000H,SP=10H,AX=5634H,BX=3412H,执行下列指令PUSHAXPUSHBXPOPAXPOPBX画出进栈、出栈示意图并标明SP变化过程。最终AX,BX的内容是什么?

1 / 36
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功