欢迎来到天天文库
浏览记录
ID:42968542
大小:56.58 KB
页数:4页
时间:2019-09-23
《中断技术总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第9章中断技术与中断系统一、与中断有关的儿个概念1、中断CPU暂时中止其正在执行的主程序,转去执行请求中断的那个外设或事件的服务程序,等处理完后又返回到被中断的程序继续执行的过程。2、中断源能引起中断的事件,叫中断源。包括:>外围设备的输入输出:如键盘,打印机等。>故障源:如电源掉电,存储器损坏、运算溢出等。>实时时钟:定时器定时到预定的时间所发出的中断请求。>为调试程序而设置的中断源(如单步执行,断点执行等)。3、中断类型r硬中断:主要由外部设备的传送请求引起的中断,一般由外部信号y加到CPU的中断请求线上引起。I软中断:主要由CPU指令引起的中断,女BINT指
2、令,设置的断点,1单步执行,运算过程中的错误等。硬件中断又分为:可屏蔽中断和不可屏蔽中断。可屏蔽中断:指中断请求在CPU的内部可以被屏蔽,即CPU可以控制屮断被响应或不被响应。屏蔽的做法是:用指令STI将IF置1,中断允许发生,称之为“开中断”;用指令CLI将IF置0,中断被屏蔽或禁止发生,称“关中断”。可屏蔽中断是否响应受中断标志允许位IF的影响;不可屏蔽中断不受IF位的影响。注意区分CPU响应可屏蔽屮断和不可屏蔽屮断的不同。二、中断处理过程常包括中断请求、中断优先级判别、中断响应、中断服务和中断返回等环节。1、中断请求屮断源要求CPU为它服务时,必须发出一个屮
3、断请求信号,该信号把相应的中断请求标志置位,以待CPU来查询。为了保证中断请求得到实现,请求信号应保持到CPU响应中断后才能撤消。2、中断优先级的判别有多个中断源同吋提出中断申请,CPU先响应哪一个呢?要根据中断源申请屮断的优先级别来决定。(1)软件查询中断判别优先级(2)硬件查询中断判别优先级(3)用专用的向量优先权管理电路来判别优先级(8259A中断控制器使用此方法)3、中断响应CPU在每个机器周期或一条指令的最后一个机器周期去检测各中断请求标志,若发现有屮断请求,并满足一定的条件,则响应中断。响应的中断的条件是:CPU开中断;当前正处于所执行指令的最后一个机
4、器周期。响应中断后,自动进行的操作为:◊CPU自动关闭中断,不准备在中断服务过程中响应新的中断请求。◊保护断点(CS、IS和FLAGS),以便中断处理完后正确返回;◊撤除该中断源的中断请求标志,以免发生重复的中断响应;◊外部中断源送中断类型码给CPU,以便CPU找到中断服务程序的入口地址。4、中断服务要完成的操作为:傑护现场,把断点处各有关寄存器的内容压入堆栈;执行中断服务程序的主体;匕恢复现场;5、中断返回在屮断服务程序最后,安排一条屮断返回指令IRET,恢复断点,以便继续执行被中断了的主程序。三、中断向量表以80X6为处理器的计算机系统采用矢量中断,能处理25
5、6级中断,类型号为0—0FFH。一个中断向量占4个字节,分别存放中断服务程序的IP和CSo因此中断向量共占用256*4=1024=1K字节,用以存放各屮断向量的屮断服务程序的入口地址(CS:IP)o中断向量表就是各个中断服务程序的入口地址表。中断向量表用存储器0:0—0:03FFH区域存放,前两个字节存放偏移地址,后两个字节存放段地址。所以中断向量的服务程序的入口地址可用中断类型号*4计算出来。采用中断向量表,可大大加快CPU响应处理中断的速度。另一方面,采用中断向量表也为用户编写自己的中断服务程序去替换、加强原计算机的中断服务程序带来了方便。四、中断控制器825
6、9A8259A是专门为控制屮断而设计的可编程集成电路芯片,它将屮断源按优先权排队、查询、屏蔽和向总线提供中断类型号集于一身。使用它可协助系统实现对中断的管理。1.8259A的功能◊具有8级优先权控制,通过级连可扩展到64级。◊每一级中断都可以独立被屏蔽和允许。◊在中断响应期间,可提供中断类型号,从而快速地转入中断服务程序◊有多种工作方式,可编程设置。2、8259A的引脚及结构引脚IRO—IR7:从外设来的中断请求由这些引脚输入到8259AoINT:8259接到屮断请求,对CPU提出中断请求,该引脚连接CPU的INTR上。INTA#:连接CPU的INTA(中断应答)
7、信号。(2)内部逻辑结构由中断请求寄存器IRR、中断服务寄存器ISR、中断优先权电路、中断屏蔽寄存器IMR及控制逻辑组成。各部分的功能:①中断请求寄存器IRR:保存外设在IRO—IR7线上提出的中断请求。②中断服务寄存器ISR:在中断响应之后将ISR相应的位置位,表明该中断源正在被服务中。ISR的复位需要用中断结束命令执行。③中断屏蔽寄存器IMR:IMR对IRR屮相应的屮断请求起屏蔽作用,用户可根据需要允许某些中断发生。④优先权电路:用于判定当前的中断请求是否输入到CPU,当中断优先权高于CPU正在服务中断的优先权时,则当前中断终止在服务中断,并响应新的中断请求。
8、3、825
此文档下载收益归作者所有