天星科技网

CPU通过I/O接口对外设进行控制的方式有几种?(为什么dma访问内存优先级比cpu高)

大家好,今天小编关注到一个比较有意思的话题,就是关于为什么dma访问内存优先级比cpu高的问题,于是小编就整理了2个相关介绍的解答,让我们一起看看吧。
  1. CPU通过I/O接口对外设进行控制的方式有几种?
  2. dma传送过程简述?

CPU通过I/O接口对外设进行控制的方式有几种?

I/O接口是一电子电路(以IC芯片或接口板形式出现),其内有若干专用寄存器和相应的控制逻辑电路构成。它是CPU和I/O设备之间交换信息的媒介和桥梁。CPU与外部设备、存储器的连接和数据交换都需要通过接口设备来实现,前者被称为I/O接口,而后者则被称为存储器接口。存储器通常在CPU的同步控制下工作,接口电路比较简单;而I/O设备品种繁多,其相应的接口电路也各不相同,因此,习惯上说到接口只是指I/O接口。按照接口的连接对象来分,又可以将他们分为串行接口、并行接口、键盘接口和磁盘接口等。这种方式下,CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。  这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低。2、中断处理方式  在这种方式下,CPU不再被动等待,而是可以执行其他程序,一旦外设为数据交换准备就绪,可以向CPU提出服务请求,CPU如果响应该请求,便暂时停止当前程序的执行,转去执行与该请求对应的服务程序,完成后,再继续执行原来被中断的程序。  中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。但需要为每个I/O设备分配一个中断请求号和相应的中断服务程序,此外还需要一个中断控制器(I/O接口芯片)管理I/O设备提出的中断请求,例如设置中断屏蔽、中断请求优先级等。此外,中断处理方式的缺点是每传送一个字符都要进行中断,启动中断控制器,还要保留和恢复现场以便能继续原程序的执行,花费的工作量很大,这样如果需要大量数据交换,系统的性能会很低。3、DMA(直接存储器存取)传送方式DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高CPU的工作效率。   在进行DMA数据传送之前,DMA控制器会向CPU申请总线控制 权,CPU如果允许,则将控制权交出,因此,在数据交换时,总线控制权由DMA控制器掌握,在传输结束后,DMA控制器将总线控制权交还给CPU。

CPU通过I/O接口对外设进行控制的方式有几种?(为什么dma访问内存优先级比cpu高)-图1

dma传送过程简述?

DMA传输过程的简述

1、DMA请求: CPU初始化DMA控制器,外设(10接口)发出DMA请求。

2、DMA响应: DMA控制器判断DMA请求的优先级及屏蔽,向总线仲裁器提出总线请求。当CPU执行完当前总线周期时,可释放总线控制权。此时总线仲载器输出总线应答,表示DMA已经响应, DMA控制器从CPU接管对总线的控制,并通知外设(V0接口)开始DMA传输。

CPU通过I/O接口对外设进行控制的方式有几种?(为什么dma访问内存优先级比cpu高)-图2

3 、4DMA传输: DMA数据以规定的传输单位(通常是字)传输,每个单位的数据传送完成后, DMA控制器修改地址,并对传送单位的个数进行计数,继而开始下一个单位数据的传送,如此循环往复,直至达到预先设定的传送单位数量为止。

4、DMA结束:当规定数量的DMA数据传输完成后, DMA控制器通知外设(VO接口)停止传输,并向CPU发送一个信号(产生中断或事件)报告DMA数据传输操作结束,同时释放总线控制权。

到此,以上就是小编对于的问题就介绍到这了,希望介绍的2点解答对大家有用。

CPU通过I/O接口对外设进行控制的方式有几种?(为什么dma访问内存优先级比cpu高)-图3

本站非盈利性质,与其它任何公司或商标无任何形式关联或合作。内容来源于互联网,如有冒犯请联系我们立删邮箱:83115484#qq.com,#换成@就是邮箱

转载请注明出处:https://www.xuehelunwen.com/kj/3334.html

分享:
扫描分享到社交APP
上一篇
下一篇