IO系统组织课件.ppt

?2011 第7版 例:输出设备的程序中断过程 ① CPU执行程序设置内存存储区域的首地址和需要进行数据传输的字节数。 ② 设置中断向量 ③ 发送设备地址,启动被选设备 ④ 外设准备好,发送中断请求,并被响应 ⑤ 执行中断服务程序 ⑥ 中断返回 9.3.2.7 中断响应的及时性要求 中断延迟时间 CPU执行中断响应隐指令的开销。 即中断源提出中断申请后到中断处理程序的第一条指令开始执行之间的时间。 影响延迟时间的因素 ⑴ 指令的执行时间 如果指令系统中有执行时间较长的指令,则需要考虑提供在指令执行过程中也可以对外部中断请求予以响应的能力。 ⑵ 程序执行环境的转换开销 即保护断点、现场和恢复断点、现场时CPU的开销。 可以在CPU内部采用多组寄存器“窗口”,使得环境转换得以加快。 ⑶ 中断服务程序入口地址的确定方式 可采用固定地址对应的方法,即某个中断源的中断服务程序的第一条指令,放在固定的内存单元中,这样CPU在响应这个中断时,可直接转入中断服务程序。 可考虑将中断向量表安排在CPU内部的Cache中,以加快入口地址的确定时间。 中断处理程序的处理时间 中断处理程序最好安排在Cache中,以便加快中断处理的速度。 例:某计算机的CPU的主频为500MHz,所连接的某外设的最大数据传输率是20kBps,该外设接口中有一个16位的数据缓冲器,相应的中断服务程序的执行时间为500个时钟周期。请回答: ⑴是否可以用中断方式进行该外设的输入输出?若能,在该设备持续工作期间,CPU用于控制该设备进行I/O操作的时间占整个CPU时间的百分比大约是多少? ⑵若该设备的最大数据传输率改为20MBps,是否可以用中断方式进行该外设的输入输出? 解: 该外设接口中有一个16位的数据缓冲器,若采用中断方式进行I/O操作,可以每16位进行一次中断请求,因此,中断请求的时间间隔为:2B/20kBps×106=100μs 中断服务程序的执行时间为: 500/500MHz×106=1μs 中断响应时间相对于中断服务程序的执行时间可以忽略不计,故整个中断响应加中断服务的时间约为1μs多一点,远远小于中断请求的时间间隔。 因此可以用中断方式进行该外设的输入输出。 采用中断方式控制该设备进行I/O操作的时间占整个CPU时间的百分比大约为1/101=1% 若该设备的最大数据传输率是20MBps,则中断请求的时间间隔为: 2B/20MBps×106=1μs 而整个中断响应加中断服务的时间约为1μs多一点,即一次中断处理未完,新的请求就会来到,所以,不可以用中断方式控制该设备进行I/O操作。 此时最好采用DMA方式,直接进行数据传送,无需执行程序。 中断处理的全过程 ① 中断请求; ② 择优响应; ③ 保护现场; ④ 中断服务; ⑤ 恢复现场; ⑥ 中断返回; 在中断处理的过程中,有些是由硬件完成的,有些是由软件完成的,因此中断是一种软、硬件结合的技术手段。不同的机器,软、硬件功能分配的比例有所不同。 9.4 直接存储器存取方式(DMA) 直接存储器存取方式(Direct Memory Access) 简称DMA方式。 DMA方式:以主存为中心,采用硬件手段在主存与I/O设备之间建立直接的数据传送通路,由DMA控制器(DMAC)取得总线控制权,控制主存与I/O设备之间的数据传送,在传送过程中不需要CPU的程序干预的数据传送控制方式。 DMA方式主要用于高速外设按照连续地址直接访问存储器。 DMA方式 CPU 主存 接口 设备 DMA 控制器 程序控制 DMA控制 9.4.1 DMA方式的特点与应用场合 1. DMA方式的特点 ⑴ 以响应随机请求的方式,实现主存与I/O设备间的快速数据传送。 ⑵ 采用DMA方式控制数据传送时,仅需占用系统总线,不切换程序,不存在保存断点、保护现场、恢复现场、恢复断点等操作。因此DMA传送的插入不影响CPU的程序执行状态,除了访问主存的冲突外,CPU可以继续执行自己的程序,提高了CPU的利用率。 ⑶ DMA方式只能处理简单的数据传送,难以识别与处理复杂的情况。 2. DMA方式的应用 DMA方式一般应用于主存与高速I/O设备间的简单数据传送(高速I/O设备如磁盘、磁带、光盘等外存储器),以及其它带有局部存储器的外围设备、通信设备等。如: ⑴ 磁盘与主存的成块数据传送 ⑵ 通信设备的批量数据传送 ⑶ 动态存储器的刷新 ⑷ 大批量数据采集系统 DMA传送是直接依靠硬件实现的,可用于快速的数据直传。但DMA方式本身不能处理复杂事态。因此,在某些场合常综合应用DMA方式与程序中断方式,二者互为补充。 典型的例子是磁盘调用,磁盘读写采用DMA方式进行数据传送,而对寻道是否正确的

文档评论(0)

1亿VIP精品文档

相关文档