预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共65页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第9章中断与中断管理9.1.1从无条件传输、条件传输到中断传输 当CPU用查询的方式与外设交换信息时,CPU要浪费很多时间去等待外设,这就引出一个快速的CPU与慢速的外设之间数据传输的矛盾。 为解决上述问题,一方面要提高外设的工作速度,另一方面发展了中断慨念。 1.无条件传输方式 无条件传输方式:CPU直接与外设传输数据,而不需要了解外设的状态。 对于无条件传输方式,由于外设在任何时候都能与CPU交换信息,在速度上可以等效为主存储器,所以不需要外设提供状态线。2.条件传输方式 条件传输方式:CPU先查询外设状态,查询到准备就绪才与外设传输数据。 对于条件传输方式,由于外设的数据处理速度慢于CPU的数据处理速度,必须配置状态线,使快速CPU和慢速外设在数据传输上的时间达到匹配。3.中断传输方式 中断传输方式:外设在完成数据传输的准备后通知CPU,CPU才与外设传输数据。 和条件传输中用软件对状态线进行查询不同,中断传输用硬件来检测外设的状态线。9.1.2中断概念 某文秘的日常工作主要是处理文档,但当电话来时,如果不是在处理非常重要的文档,就可以接听电话,完毕后再进行文档工作。可见,在中断传输方式下,外设应有请求CPU服务的权力:当外设准备好向CPU发送数据/接收CPU的数据、或有某些紧急情况要求处理、或定时时间到时,外设向CPU发出中断请求,CPU接收到请求并在一定条件下,暂停执行原程序而转去中断处理,处理好中断服务再返回来执行原程序,这就是中断概念。 9.1.3中断应用 1.实时故障处理 存储器出错检测电路见右图。 2.分时操作,同时处理 有了中断功能,CPU可命令多个外设同时工作,虽然CPU在不同的时间点上为不同的任务工作,但宏观上看CPU几乎同时为不同的任务工作,极大地发挥了CPU的高速特点。9.2.1三个与中断有关的触发器 1.中断请求触发器 中断请求触发器在外设中,有两个特点:它的输出可以作为中断请求信号,在满足一定条件的情况下把信号发送给CPU,并在CPU未响应时一直保存下去;当CPU满足一定条件下响应了该中断请求信号,执行相关的操作后,该中断请求信号可以被撤除。2.中断屏蔽触发器 中断屏蔽触发器也在外设中,其功能是决定中断请求触发器的输出信号是否可以作为中断请求信号发送给CPU,这样CPU通过对中断屏蔽触发器的设置就可以达到对中断源的控制。3.中断允许触发器 CPU控制中断系统还有一个途径,就是CPU内部的中断允许触发器,CPU通过设置中断允许触发器来决定是否对收到的中断请求信号进行响应。 8086CPU的中断允许触发器就是标志寄存器的IF位,如果IF=1,则允许CPU响应中断,称CPU是开中断的;如果IF=0,则不允许CPU响应中断,称CPU是关中断的。 CLI;IF←0,关中断 STI;IF←1,开中断 实际上,8086CPU设置了两种外部中断类型:可屏蔽中断和不可屏蔽中断。可屏蔽中断受到IF控制,IF=1时CPU才能响应INTR;而不可屏蔽中断不受IF控制,只要NMI有效,CPU就必须响应。9.2.2中断条件 外设的中断请求信号要想发给CPU并得到CPU的响应,必须要满足以下两个条件:一个是中断屏蔽触发器处于非屏蔽状态,这样中断请求信号才能发给CPU;但CPU是否响应这个中断请求,还要看中断允许触发器是否处于开中断状态,CPU在开中断的情况下,才能进入中断响应过程,处理中断事务。9.2.3中断过程 中断过程主要包括三个方面:外设发中断请求信号给CPU即中断申请;CPU对中断请求信号所作出的反应即中断响应;CPU执行对外设操作的子程序即中断处理。 1.中断申请 当外设准备好与CPU交换数据时,设置中断请求触发器有效,若中断屏蔽触发器为非屏蔽状态,则中断请求触发器输出的中断请求信号发送给CPU。 2.中断响应 CPU响应可屏蔽中断申请必须满足的3个条件:无总线请求、中断允许触发器有效、CPU执行完现行指令。 若为不可屏蔽中断申请,则不受中断允许触发器的控制,CPU执行完当前指令即可响应中断。CPU响应中断后要自动完成以下任务:当前FR的内容推入堆栈;关中断;当前CS、IP的内容推入堆栈;中断服务程序的偏移地址送IP、段基址送CS。 3.中断处理 一旦CPU响应中断,就可转入中断服务程序之中。中断服务程序的结构如下: PUSHAX;①保护现场  STI;②开中断 ;③中断处理 CLI;④关中断 ;⑤恢复现场 POPAX STI;⑥开中断及返回 IRET在中断系统中一个非常关键的问题是CPU如何知道是哪一个中断源发出的中断申请信号。只有正确地确定中断源,CPU才能转到相应的中断服务程序为之服务。确定中断源的方法被称为中断源识别或中断方式。 9.3.1中断源识别 外设与CPU以中断传输方式通信时,要解决两