- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四、中断服务程序入口的获取方式 1、 非向量中断 CPU响应中断后 ,产生一个固定的地址,由此地址单元中读取中断查询程序的入口地址,通过软件查询确定中断源,并转入相应的中断服务程序。 如图:以1号单元作为固定地址,该单元中安排一条转移指令,转到地址为nn的查询程序去。 非向量中断法的优点是:简单、易实现,成本低。 缺点是响应的速度慢。 向量中断 (1) 有关的概念 . 中断向量 所有中断服务程序的入口地址和状态字在一起,称做中断向量。 . 中断向量表 所有中断服务程序的入口地址(或包括服务程序的状态字)组织成一维表,存放在一段连续的存储区。该存储区叫中断向量表。 . 向量地址 存放某中断源的中断服务程序入口地址的单元地址叫向量地址。 (2) 向量中断 响应中断时,由硬件直接产生对应于中断源的向量地址,据此访问中断向量表,从中读取服务程序入口地址,由此转向服务程序。 五、中断响应 1、 CPU响应中断的条件 (1)有中断请求信号产生而且没有被屏蔽; (2)CPU处于开中断状态; (3)在一条指令执行结束时响应中断。 2、 CPU的中断响应过程 CPU响应中断后就进入“中断周期” IT 。 在中断周期,CPU完成三件事: (中断隐指令) (1)关中断 (2)保护断点 (3)转向中断服务程序 六、中断处理 中断处理过程分:单级中断方式、多重中断方式。 右图是多重中断方式处理过程的流程图。 处理过程中,有两次关中断、两次开中断。其中在执行中断服务程序的前的开中断、执行后的关中断是为了能在执行中断服务程序时实现中断嵌套。 七、中断接口组成模型 图中的中断控制器是多个设备公用的,它包含有中断优先排队、中断屏蔽等功能电路。 5.5 DMA方式及接口 一、基本概念 1、程序中断方式的不足之处 对于高速的外部设备,采用程序中断方式,会造成数据的丢失。 2、直接内存访问(DMA ) 方式 的定义 DMA方式是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。在数据传送期间不需要CPU的程序干预,而是由DMA控制器向内存发出地址和控制信号,修改地址,对传送的字的个数计数,并且以中断方式向CPU报告传送操作的结束。 3、DMA方式的特点 DMA方式的主要特点是速度快。 由于CPU根本不参加传送操作,因此就省去了CPU取指令、取数、送数等操作。在数据传送过程中,没有保存现场、恢复现场之类的工作。内存地址修改、传送字个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的。所以DMA方式能满足高速I/O设备的要求,也有利于CPU效率的发挥。 4、DMA的三种传送方式 (1)停止CPU访问内存(成组连续传送方式) 当外围设备要求传送一批数据时,由DMA控制器发一个停止信号给CPU,要求CPU放弃对系统总线的使用权。DMA控制器获得总线控制权以后,开始进行数据传送。在一批数据传送完毕后,DMA控制器通知CPU可以使用内存,并把总线控制权交还给CPU。这种传送方式的时间图如下: ????????????????????????????????????????????????????????????????? 优点: 控制简单,它适用于数据传输率很高的设备进行成组传送。 缺点: 在DMA控制器访内阶段,内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。这是因为,外围设备传送两个数据之间的间隔一般总是大于内存存储周期,即使高速I/O设备也是如此。 (2)周期挪用法(单字传送方式) 当I/O设备没有DMA请求时,CPU按程序要求访问内存;一旦I/O设备有DMA请求,则由I/O设备挪用一个或几个内存周期,传送一个字的数据。 I/O设备要求DMA传送时可能遇到两种情况: 1) 此时CPU不需要访内,如CPU正在执行乘法指令。由于乘法指令执行时间较长,此时I/O访内与CPU访内没有冲突,即I/O设备挪用一二个内存周期对CPU执行程序没有任何影响。 2)I/O设备要求访内时CPU也要求访内,这就产生了访内冲突。
文档评论(0)