程序查询方式,最简单的I/O方式,数据在CPU和外设之间的传送完全靠计算机程序控制,外设和CPU之间是串行工作,CPU效率低。
DMA方式,完全由硬件执行I/O交换,其主要优点是数据传送速度很高,CPU根本不参加传送 *** 作,而直接在内存和外设之间进行,传送速率仅受内存访问时间的限制。缺点是需要更多的硬件。中断方式,外设主动提出数据传送要求的I/O方式,CPU在收到这个要求之前,则执行着本身的程序,突出的优点是CPU效率高。缺点是硬件结构相对复杂,服务开销时间较大。
DMA传送方式
DMA传送方式有3种:单元传送方式、块传送方式和on-the-fly传送方式。与外部DMA请求/应答协议不同的是,DMA传送方式定义了每次传送读/写的单元数。
(1)单元传送方式(单字节传送方式)
单元传送方式意味着每个DMA请求对应一对DMA读/写周期,即1个单元读,然后1个单元写。
(2)块传送方式(连续传送方式)
块传送方式意味着在连续4个字的DMA写周期前有连续的4个字的DMA读周期,即4个字突发读,然后4个字突发写,因此传输的数据个数应该是16字节的倍数。
(3)on-the-fly传送方式(请求传送方式)
在on-the-fly传送方式下DMA读/写可以同时进行。DMA应答信号通知外部设备去读或者写。同时,存储控制器将产生与读/写相关的控制信号给外部存储器。如果外部设备能够支持on-the-fly传送方式,将会使得外设的数据传输速率大大地增加。
1、程序查询方式:
优点:这种方式控制简单。
缺点:但外设和主机不能同时工作,各外设之间也不能同时工作,系统效率很低,因此,仅适用于外设的数目不多,对I/O处理的实时要求不那么高,CPU的 *** 作任务比较单一,并不很忙的情况。
2、中断控制方式
优点:可编程中断控制器8259A可以接收多个外部中断源的中断请求,并进行优先级判断,选中当前优先级最高的中断请求,并将此请求送到CPU的INTR端。当CPU响应中断并进入中断服务程序的处理过程后,中断控制器仍负责对外部中断请求的管理。
缺点:多个外部中断源共享中断资源,必须解决相应的一些问题,例如CPU芯片上只有一个INTR输入端,多个中断源如何与INTR连接、中断矢量如何区别、各中断源的优先级如何判定等。
3、DMA
优点:控制简单,它适用于数据传输率很高的设备进行成组传送。
缺点:在DMA控制器访问内存阶段,内存的效能没有充分发挥,相当一部分内存工作周期是空闲的。这是因为,外围设备传送两个数据之间的间隔大于内存存储周期,即使高速I/O设备也是如此。
扩展资料
DMA传输将数据从一个地址空间复制到另外一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成。典型的例子就是移动一个外部内存的区块到芯片内部更快的内存区。
像是这样的 *** 作并没有让处理器工作拖延,反而可以被重新排程去处理其他的工作。DMA传输对于高效能嵌入式系统算法和网络是很重要的。
在实现DMA传输时,由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。即DMA传输前,CPU要把总线控制权交给DMA控制器,而在结束DMA传输后,DMA控制器应立即把总线控制权再交回给CPU。
参考资料来源:百度百科-程序查询方式
参考资料来源:百度百科-中断控制器
参考资料来源:百度百科-DMA
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)