DMA方式与程序中断方式相比,其主要特点是什么?

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:49:13

1从数据传送上看:程序中断方式靠程序传送,DMA方式靠硬件传送;
2从CPU响应时间上看,程序中断方式是在一条指令执行结束时响应,而DMA方式可在指令周期内任意存取周期结束时响应。
3程序中断方式有处理异常事件的能力,DMA则无此能力。
4.程序中断需保护现场,DMA方式不需保护现场。
5.DMA优先级比中断的优先级高。

因为程序直接控制方式耗费大量的CPU时间,而且无法检测发现设备或其他硬件产生的错误,设备和CPU、设备和设备只能串行工作。中断控制方式虽然在某种程度上解决了上述问题,但由于中断次数多,因而CPU仍需要花较多的时间处理中断,而且能够并行操作的设备台数也受到中断处理时间的限制,中断次数增多导致数据丢失。DMA方式和通道方式较好地解决了上述问题。这两种方式采用了外设和内存直接交换数据的方式。只有在一段数据传送结束时,这两种方式才发出中断信号要求CPU做善后处理,从而大大减少了CPU的工作负担。DMA方式与通道控制方式的区别是,DMA方式要求CPU执行设备驱动程序启动设备,给出存放数据的内存始址以及操作方式和传送字节长度等;而通道控制方式则是在CPU发出I/O启动命令之后,由通道指令采完成这些工作。