第十章 输入输出(I/O)系统(第二讲)
10.3.3 DMA的数据传送过程(2) 1. DMA预处理 在进行DMA数据传送之前要用程序做一些必要的准备工作。先由CPU执行几条输入输出指令,测试设备状态,向DMA控制器的设备地址寄存器中送入设备地址并启动设备,在主存地址寄存器中送入交换数据的主存起始地址,在数据字数寄存器中送入交换的数据个数。 在这些工作完成之后,CPU继续执行原来的程序。 10.3.3 DMA的数据传送过程(3) 第二个阶段 数据传送过程: 允许传送? 主存地址送总线 数据送I/O设备(或主存) 主存地址加1 WC内容(传送个数)减1 数据块 传送结束? 向CPU申请中断 DMA请求 N Y Y N 10.3.3 DMA的数据传送过程(4) 2. DMA控制I/O设备与主存之间的数据交换 I/O设备启动后,若为输入数据,则要进行以下操作: (1)从输入介质读入一个字到数据缓冲寄存器DBR中。 (2)向CPU发DMA请求,在取得总线控制权后,将DBR中的数据送人主存的数据寄存器。 (3)将DMA中的MAR内容送主存的地址寄存器,启动写操作,将数据写入主存。 (4)将WC内容减1,将MAR的内容加1,给出下一个字的地址。 (5)判断WC是否为“0”,若不是,说明还有数据需要传送,检查无错后准备下一字的输入。若WC为0,表明一组数据已传送完毕,此时应置
原创力文档

文档评论(0)