- 1、本文档共77页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1)实现中断响应及返回 当某个中断源发出中断请求时,CPU能根据条件决定是否响应该中断请求。 若允许响应,则CPU必须在执行完现行指令后: 保护断点和现场(即把断点处的断点地址和各寄存器的内容与标志位的状态推入堆栈); 转到需要处理的中断服务程序的入口; 清除中断请求触发器。 当处理完中断服务程序后,再恢复现场和断点地址,使CPU返回断点,继续执行主程序。 2)实现优先权排队 在实际系统中有多个中断源时,有可能出现两个或两个以上中断源同时提出中断请求的情况,而CPU同一时刻只能接受一个中断申请。这样就必须要设计者事先根据轻重缓急,给每个中断源一个中断优先权。 当多个中断源同时发出中断申请时,CPU能找到优先级别最高的中断源,响应它的中断请求。在优先权级别最高的中断源处理了以后,再响应级别较低的中断源。 3)高级中断源能中断低级的中断处理 当CPU响应某一中断源的请求,在进行中断处理时,若有优先级别更高的中断源发出中断申请,则CPU要能中断正在进行中的中断服务程序,保留这个程序的断点和现场(类似于子程序嵌套),响应高级中断,在高级中断处理完以后,再继续执行被中断的中断服务程序。这就形成了中断嵌套,如图6.12所示。 两个中断形成的是两重中断(或两级嵌套),还可以进行多重中断(或多级嵌套)。 图6.12 中断嵌套过程 6.3.2 中断的处理过程 中断请求 1 中断响应 2 中断处理 3 1.中断请求 外设需要CPU服务时,首先要发出一个有效的中断请求信号送到CPU的中断输入端。 中断请求信号分为边沿触发和电平触发。一般来说,CPU能够即时予以响应的中断可以采用边沿触发,而不能即时响应的中断则应采用电平触发,否则中断请求信号就会丢失。 8088/8086CPU的NMI为边沿触发,而INTR为电平触发。为了保证产生的中断能被CPU处理,INTR中断请求信号应保持到该请求被CPU响应为止。CPU响应后,INTR信号还应及时撤除,以免造成多次响应。 2.中断响应 响应中断请求的3个条件: (1)一条指令执行结束。 (2)CPU处于开中断状态。 (3)没有总线请求。在复位(RESET)、总线保持(HOLD)等总线请求时,CPU不工作,当然就不能响应中断。 中断响应时,CPU除了要向中断源发出中断响应信号外,还要自动完成下述3项工作: (1)关闭中断。CPU响应中断时,需立即关中断(使IF=0),以保证保护现场、断点和获取中断入口地址等工作不受影响。 (2)保护现场和断点。将标志寄存器FR、断点的段基址(CS值)和偏移地址(IP值)压入堆栈,以保证中断结束后能正常返回被中断的程序。 (3)获得中断服务程序入口,转入中断服务程序。 3.中断处理 保护现场。保护现场是指把中断服务程序中要用到的寄存器的原内容压入堆栈保存起来。 开中断。CPU响应中断时会自动关闭中断(使IF=0)。若进入中断服务程序后允许中断嵌套,则需用指令开中断(使IF=1)。 执行中断处理程序。完成具体的中断处理。 关中断。确保有效地恢复被中断程序的现场。 恢复现场。就是把先前保护的现场进行恢复,也即把所保存的有关寄存器内容按入栈的相反顺序从堆栈中弹出,使这些寄存器恢复到中断前的状态。 开中断返回。其操作正好是CPU硬件在中断响应时自动保护硬件现场和断点的逆过程,即CPU会自动地将堆栈内保存的断点信息和标志信息弹出到IP、CS和FR中,保证被中断的程序从断点处继续往下执行。 6.3.3 8086/8088的中断 8086/8088系统中给每种中断都赋予一个中断类型码(或称中断号),编号为0~255。CPU可根据中断类型码的不同来识别不同的中断源。 中断类型 1 中断优先级顺序 2 中断向量表 3 中断处理过程 4 1.中断类型 8086/8088系统的中断源: 外部中断:来自CPU外部 内部中断:来自CPU内部 1)外部中断 也称为硬件中断,它是由外部硬件或外设接口产生的。 8086/8088CPU为外部设备提供了两条中断信号线NMI和INTR。 非屏蔽中断 ★ 可屏蔽中断 ★ (1)非屏蔽中断 由NMI引脚上出现的上升沿触发,它不受中断允许标志IF的控制,其中断类型码固定为2。 CPU接收到非屏蔽中断请求信号后,会在执行完当前指令后立即响应中断请求而进入相应的中断处理。 非屏蔽中断通常用来处理系统中出现的重大故障或紧急情况。 (2)可屏蔽中断 从CPU的INTR端引入,高电平有效。可屏蔽中断受中断允许标志位IF的控制,只有当IF=1,CPU才会响应INTR请求。如果IF=0,即使中断源有中断请求,CPU也不会响应。 在微型计算机中,外部设备的中断请求是通过中断控制器8259A来进行统一管理的,由8259A决定是否允许一个外设向CPU发出中断请求。 2)内部
文档评论(0)