DMA方式与通道方式
DMA方式(完全硬件)
在 I/O设备与外设之间有直接数据通路,传送过程中不需要CPU参与,而是 DMA控制器控制完成。
DMA工作过程:
1)预处理
CPU收到 设备发出的DMA请求,它做为 司令,会向 DMA发布一些命令,启动DMA,测试I/O设备,初始化寄存器等
2)数据传送
完全由DMA硬件完成
3)后处理
完成数据传送后,DMA控制器向CPU发送中断请求。
通道方式(有程序参与)
I/O 通道是指专门负责输入/输出的处理机,每个通道都挂接外设,主机在执行 I/O命令时,只需要启动通道,然后通道会执行通道程序。
通道方式是对DMA方式的发展,由一个数据块的读写发展成为对一组数据块的处理。
通道的工作过程:CPU只要向 I/O通道发送一条 I/O指令,哪怕是一组相关的读写操作,通道会执行通道程序,完成一组数据的传送。
DMA与通道方式的区别:
1)一些控制信息,如数据块的大小,内存位置,DMA方式下由CPU来控制,但是通道方式下由通道控制
2)每个DMA控制器对应一台设备与内存交换数据,但是通道可以控制多台设备与内存的数据进行交换。