输入输出设备及其控制培训课件.pptxVIP

  • 1
  • 0
  • 约1.04万字
  • 约 60页
  • 2021-09-27 发布于河北
  • 举报
3.5 I/O过程的DMA控制 直接存储器存取(direct memory acces,DMA)控制是在内存与设备之间开辟一条直接数据传送通路。CPU与DMA各自能独立地工作:CPU执行程序,DMA控制输入输出过程。这是一种以存储器为中心的体系结构。系统总线存储器CPUDMA控制器DMA接口中断接口I/O设备I/O设备3.5.1 DMA的基本概念 3章 输入输出系统一般说来,在DMA传送需要3个阶段:(1)CPU执行几条指令,对DMA控制器进行初始化,测试设备状态,向DMA控制器输入设备号、起始地址、数据块长度等。(2)由DMA控制器控制I/O设备与内存之间的数据传送。(3)CPU执行中断服务程序对一次传输进行善后处理,如进行数据校验、决定传输是否继续等。3章 输入输出系统3.5.2 DMA与CPU共享存储器的方式1. CPU暂停访问内存3章 输入输出系统2. DMA与CPU交替访问内存3章 输入输出系统3. 直接访问和周期挪用3章 输入输出系统3.5.3 DMA控制器? 1.DMA控制器字 与控制器通过执行机器指令字实现运算一样,DMA的工作是通过执行控制字实现的。 控制字存放在内存的指定区域中,当某设备需要与内存交换一次数据时,就取出对应的控制字到DMA中的控制字寄存器中,由DMA控制器进行分析和执行,控制字的一般格式CZ表示操作的类型;N表示交换代码的字长数;D表示正在交换代码的内存地址。CZND3章 输入输出系统 2. DMA控制器组成 (1)内存地址计数器:用于存放内存中要交换的数据的地址。在DMA传送前,须通过程序将数据在内存中的起始位置(首地址)送到内存地址计数器。而当DMA传送时,每交换一次数据,将地址计数器加“1”,从而以增量方式给出内存中要交换的一批数据的地址。 3章 输入输出系统(2)字计数器 :用于记录传送数据块的长度(多少字数)。其内容也是在数据传送之前由程序预置,交换的字数通常以补码形式表示。在DMA传送时,每传送一个字,字计数器就加“1” ,当计数器溢出即最高位产生进位时,表示这批数据传送完毕,于是引起DMA控制器向CPU发中断信号。 3章 输入输出系统(3)数据缓冲寄存器 :用于暂存每次传送的数据(一个字)。当输入时,由设备(如磁盘)送往数据缓冲寄存器,再由缓冲寄存器通过数据总线送到内存。反之,输出时,由内存通过数据总线送到数据缓冲寄存器,然后再送到设备。 3章 输入输出系统(4)“DMA请求”标志 :每当设备准备好一个数据字后给出一个控制信号,使“DMA请求” 标志置“1”。该标志置位后向“控制/状态”逻辑发出DMA请求,后者又向CPU发出总线使用权的请求(HOLD),CPU响应此请求后发回响应信号HLDA,“控制/状态”逻辑接收此信号后发出DMA响应信号,使“DMA请求”标志复位,为交换下一个字做好准备。 3章 输入输出系统(5)“控制/状态”逻辑 :由控制和时序电路以及状态标志等组成,用于修改内存地址计数器和字计数器,指定传送类型(输入或输出),并对“DMA请求”信号和CPU响应信号进行协调和同步。 3章 输入输出系统(6)中断机构:当字计数器溢出时(全0),意味着一组数据交换完毕,由溢出信号触发中断机构,向CPU提出中断报告。这里的中断与上一节介绍的I/O中断所采用的技术相同,但中断的目的不同,前面是为了数据的输入或输出,而这里是为了报告一组数据传送结束。因此它们是I/O系统中不同的中断事件。 3章 输入输出系统3.5.3 DMA传送过程? 第一阶段:是进行初始化,即CPU通过程序I/O的方式给DMA控制器预置初值,取状态和送传送需要的有关参数。第二阶段:由DMA控制器控制外设与主存之间的数据交换。第三阶段:即CPU中断原程序后进行后处理。若需要继续交换数据,则又要对DMA进行初始化;若不需要交换数据,则停止外设;若为出错,则转错误诊断及处理程序。 3章 输入输出系统3.6 I/O过程的通道控制3.6.1 通道控制及其特点?1、通道的提出 DMA直接依靠硬件进行管理,只能实现简单的数据传送。随着系统配置的I/O设备的不断增加,输入输出操作日益繁忙,为此要求CPU不断地对各个DMA进行预置。这样,CPU用于管理输入输出的开销亦日益增加。为了减轻CPU负担,I/O控制部件又把诸如选设备、切换、启动、终止以及数码校验等功能也接过来,进而形成I/O通道,实现输入输出操作的较全面管理。8.5 通道方式3章 输入输出系统2、通道的基本概念 通道”是计算机系统中代替CPU管理控制外设的独立部件,是一种能执行有限I/O指令集合——通道命令的I/O处理机。 通道有自己的指令和程序专门负责数据的输入输出的传输控制,CPU下放“传输控制”的功能后只负责数据的处理。因此通道是一个特殊功能的

文档评论(0)

1亿VIP精品文档

相关文档