1、DMA控制方式的引入
中断方式是以字节(字)为单位进行I/O的, 每完成一个字节(字) CPU要处理一次中断, 这种方法用于块设备效率极低, 为了进一步减少CPU对I/O的干预, 提高CPU与I/O设备的并行度引入DMA控制方式。 DMA方式的特点为: 数据传送的基本单位是数据块。 数据是直接在设备─内存之间传送的。 仅在传送一个或多个数据块的开始和结束时才需要CPU对I/O的干预, 传送工作本身是由DMA控制器完成的。 2、DMA控制器的组成
(1)主机与DMA控制器的接口 数据寄存器(DR) 内存地址寄存器(MAR) 数据计数器(DC) 命令/状态寄存器(CR) (2)DMA控制器与块设备的接口 (3)I/O控制逻辑 ![]() 3、DMA方式从磁盘读入数据块的工作流程:
![]() 4、DMA工作原理——窃取总线控制权
(1)存放输入数据的内存起始地址、要传送的字节数送入
DMA控制器的内存地址寄存器和传送字节计数器; 中断允许位和启动位置成1, 启动设备。 (2) 发出传输要求进程进入等待状态,其他进程占据CPU。
(3)DMA控制器不断窃取总线控制权, 数据不断写入内存。
(4)传送完毕, 发出中断信号。
(5)CPU接到中断信号转入中断处理程序处理。
(6)中断处理结束, CPU返回原进程或切换到新的进程。
5、 DMA方式与中断的主要区别
(1)中断方式的数据传送到存储器是由CPU控制完成的。 而DMA方式的数据传送到存储器则不经过CPU , 由DMA控制器直接完成。 (2)中断方式在设备控制器的数据缓冲寄存区满后, 发中断请求, CPU进行中断处理将缓冲区数据传送到内存。 而DMA方式则是在所要求传送的数据块全部传送到内存结束时, 发中断请求, CPU进行中断处理。 大大减少了CPU进行中断处理的次数和时间。 |
|