第9章输入输出系统讲解.ppt

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

9.3 中断系统和程序中断方式 (1) 保存断点 将原来程序的断点(即程序计数器PC的内容)保存起来。 (2) 暂不允许中断 为了在用软件保护中断现场(即CPU 的主要寄存器状态)时,不被新的中断所打断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。 (3)引出中断服务程序 引出中断服务程序的实质就是取出中断服务程序的入口地址送程序计数器。 9.3 中断系统和程序中断方式 3. 中断周期 中断周期需完成如下操作: (1)将特定地址“0”送至存储器地址寄存器,记作0→MAR; (2)将PC的内容(断点)送至MDR,记作(PC)→MDR; (3)向主存发写命令,启动存储器做写操作,记作Write; (4)将MDR的内容通过数据总线写入到MAR所指示的主存单元(0号)中,记作MDR→M(MAR); 9.3 中断系统和程序中断方式 (5)向量地址形成部件的输出送至PC,为进入中断服务程序作准备,记作向量地址→PC; (6)关中断,将中断允许触发器清0,记作0→EINT。 如果断点存入堆栈,只需将上述(1)改为堆栈指针SP→MAR。 9.3 中断系统和程序中断方式 4. 进入中断服务程序 识别中断源在于转入为该中断源专门设置的中断服务程序。 向量中断时,中断源向CPU发出中断请求信号之后,CPU经过一定的判优处理,若决定响应这个中断请求,则向中断源发出中断响应信号。中断源接到中断响应信号后就通过自己的向量地址发生器向CPU发送向量地址。 9.3 中断系统和程序中断方式 工作完成 允许中断 发中断请求 中断优先级 判定选优 中断响应 识别中断源 向量地址 形成 现场处理 启动中断 服务程序 向量地址 _____ INTR INTA 中断源 CPU 工作完成 允许中断 发中断请求 中断优先级 判定选优 中断响应 识别中断源 向量地址 形成 现场处理 启动中断 服务程序 9.3 中断系统和程序中断方式 向量地址通常有两种情况: (1) 向量地址是中断服务程序的入口地址 如果向量地址就是中断服务程序的入口地址,则CPU 不需要再经过处理就可以进入相应的中断服务程序。 PC←8×NNN 转中断服务程序入口地址 由此可见,中断服务程序的入口地址依次是00H、08H、10H、……、 38H。 9.3 中断系统和程序中断方式 (2) 向量地址是中断向量表的指针 如果向量地址是中断向量表的指针,则向量地址指向一个中断向量表,从中断向量表的相应单元中再取出中断服务程序的入口地址,此时中断源给出的向量地址是中断服务程序入口地址的地址。 9.3 中断系统和程序中断方式 9.3 中断系统和程序中断方式 5. 中断现场的保护和恢复 中断现场指的是发生中断时CPU的主要状态,其中最重要的是断点,另外还有一些通用寄存器的状态。之所以需要保护和恢复现场的原因是因为CPU要先后执行两个完全不同的程序(现行程序和中断服务程序),必须进行两种程序运行状态的转换。一般来说,在中断隐指令中,CPU硬件将自动保存断点,有些计算机还自动保存程序状态寄存器的内容。但是,在许多应用中,要保证中断返回后原来的程序能正确地继续运行,仅保存这一、二个寄存器的内容是不够的。 9.3 中断系统和程序中断方式 为此,在中断服务程序开始时,应由软件去保存那些硬件没有保存,而在中断服务程序中又可能用到的寄存器(如某些通用寄存器)的内容,在中断返回之前,这些内容还应该被恢复。 现代计算机一般都先采用硬件方法来自动快速的保护和恢复部分重要的现场,其余寄存器的内容再由软件完成保护和恢复,这种方法的硬件支持是堆栈。 9.3 中断系统和程序中断方式 9.3 中断系统和程序中断方式 9.3.4 多重中断与中断屏蔽 1. 中断嵌套 中断嵌套的层次可以有多层, 越在里层的中断越急迫,优先级越高,因此优先得到CPU的服务。 要使计算机具有多重中断的能力,首先要能保护多个断点,先发生的中断请求的断点,先保护后恢复;后发生的中断请求的断点,后保护先恢复,堆栈的先进后出特点正好满足多重中断这一先后次序的需要。在CPU进入某一中断服务程序之后,系统必须处于开中断状态,否则中断嵌套是不可能实现的。 现行程序 中断服务程序1 中断服务程序2 第一次 中断请求 优先 级别 更高的 中断请求 9.3 中断系统和程序中断方式 9.3 中断

文档评论(0)

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

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

1亿VIP精品文档

相关文档