中断-微型计算机原理及应用.PPT

  1. 1、本文档共113页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中断-微型计算机原理及应用

第五章 中断系统 5.1 中断的基本概念 5.2 8086/8088的中断系统 5.3 可编程中断控制器8259A 5.1 中断的基本概念 随着计算机技术的发展,尤其是CPU速度的迅速提高,对计算机内部机制的要求愈来愈高。希望计算机能随时发现系统中的各种错误并自动处理;对意想不到的事件能及时地响应并妥善处理;在低速的外部设备和主机交换信息时,主机高速运算的性能能很好地发挥,所以中断是提高计算机工作效率的一种重要技术。 5.1.1 基本概念 1、中断与中断源。 中断是一个“过程”。这个过程,由微处理器内外部硬件或软中断指令引起,即由它们发出中断请求,CPU接到中断请求后暂时中止现行程序的执行,转去执行请求中断的那个外设或事件的中断处理子程序,待中断服务子程序处理完毕后,再返回到暂停处继续执行原来的程序,也就是说,中断就是CPU在执行当前程序的过程中,由于意外的事件输入另一段程序的运行。 引起中断的事件称为中断源。中断源有多种,可以是外部的,也可以是CPU内部的。例如一般的输入输出设备;数据通道中断源,如磁盘磁带等;实时时钟;故障源,如电源掉电等;软件中断,如在调试程序时设置断点等,CPU内部运算产生的某些错误,如运算溢出。 5.1.2中断处理过程 各种微型计算机的中断系统都不一样,然而其实现中断的过程是相同的。一个完整的中断处理过程包括四个阶段:中断请求、中断响应、中断服务(处理)和中断返回。如图5.1所示。 5.1.3 中断识别和中断优先级 实际系统中,常常会出现多个中断源同时提出中断请求,或者在尚未处理完一个中断时又有一个新的中断请求提出。然而CPU每次只能响应一个中断源的请求,所以,CPU必须确定首先为哪一个中断源服务,以及服务次序。解决的方法是按中断源中断请求的轻重缓急,安排一个中断处理的优先次序,即优先级(priority)首先响应优先权级别高的中断请求。 5.2 8086/8088的中断系统 8086/8088微机系统具有一个功能强大的中断系统,可以处理多达256种不同类型的中断。对应的中断类型码为0~255。 (1)数据总线缓冲器 是一个8位双向三态缓冲器,通常与数据总线的低8位相连,是8259A与CPU间交换数据的接口,交换的数据有8259A向CPU输入的数据,状态信息及CPU向8259A发送的数据、命令、控制字都要经过数据部线缓冲器。 (2)读/写控制电路 用来接收CPU发送的读/写命令RD、WR、片选信号CS以及端口选择信号A0,实现CPU对8259A的读/写操作。当CPU执行OUT指令时,WR信号有效与A0配合,将CPU由数据总线送来的初始化命令和操作命令写入8259A有关的控制寄存器中;当CPU执行IN指令时,信号有效,与A0配合,将8259A的内部寄存器内容经数据总线传送给CPU。 (3)级联缓冲器/比较器 一片8259A只能接收8级中断输入,超过8级时,可以多片级联构成主从关系的中断管理系统。该模块主要用于多片8259A级联和数据缓冲方式。多片8259A级联时,一片主片,其他为从片,最多可有8个从片,管理64级硬件中断。主片的级联信号CAS2~CAS0是输出信号。任一从片有中断请求时需要经主片向CPU发出请求;CPU响应中断时,在第一个中断响应周期主片通过级联端输出被选中从片的标识,并传送到各个从片,通知从片中断请求被响应。从片收到标志号后,与自身的标志号进行比较,如果符合,则在第二个INTA负脉冲到来时,把中断类型号送到数据总线。 多片级联工作方式下为了增加总线的驱动能力,8259A应通过总线驱动器与总线相连,8259A的SP/EN 信号是控制总线驱动器的接收/发送的,当EN=0时,控制8259A将数据送到CPU,当EN=1时,CPU把数据送入8259A。 (4)中断请求寄存器IRR 中断请求寄存器IRR用来存放外部输入的中断请求信号IR7 ~IR0。每一位对应一个外部中断请求信号IR,当某个IR端有中断请求时,其相应位置“1”,若中断请求被响应,则IRR的相应复位,IRR的内容可用操作命令读出 (5)中断屏蔽寄存器IMR IMR是一个8位寄存器,用来存放对各级中断请求的屏蔽信息,如果某一位IMR置“0”,表示对应的中断IR被允许,IMR的某一位IMR置“1”,表示对应的中断IR被屏蔽。所以,通过IMR寄存器可以对各个中断源进行屏蔽或开放。由操作命令字来实现屏蔽功能。 (6)中断服务寄存器ISR

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档