DMA控制方式与中断控制方式的区别
❀中断控制方式在每个数据传送完成后中断CPU
❀DMA方式在传送一批数据结束时中断CPU
☆中断控制方式的数据传送在中断处理时由CPU控制器完成
☆DMA控制方式则是在DMA的控制器下完成
(但是DMA中数据的传送方向、存放数据的内存始址及传送数据的长度仍然是由CPU控制)
★DMA方式以存储器为核心,中断控制方式以CPU为核心
(所以这两可以并行工作)
■DMA是传输批量的数据,中断控制方式是以字节为单位。
DMA控制方式:(图来自王道)
DMA控制方式与通道控制方式区别
在DMA控制方式中,设备和主存之间可以成批地进行数据交换而不用CPU干预。(减轻了CPU的负担,也提高了I/O数据传送的速度)
通道控制方式也是以内存为中心实现设备与内存直接交换数据的控制方式,不过CPU只需发出启动指令,指出通道相应的操作和I/O设备,该指令就可以启动通道,并使通道从内存中调出相应的通道程序执行。
与DMA控制方式相比,通道控制方式所需的CPU干预更少,并且一个通道可以控制多台设备,进一步减轻CPU负担。
另外,对通道来说,可以使用一些指令灵活改变通道程序,DMA不可以。
注:
1、在操作系统中,通道技术指的是一种硬件机制!
2、CPU启动通道时,不管有没有启动成功,通道都要回应。通道在执行通道程序时与CPU是并行的,并行的,并行的……通道完成通道程序的执行后,就会发I/O中断给CPU报告。
3、磁盘设备的I/O控制是DMA(块设备)
4、通道就是“弱鸡版”的CPU