DMA是起什么作用?
1个回答
展开全部
简单地说是:控制是硬盘内部的控制读写,这样有利于减轻CPU负担,加快读取速度\x0d\x0a\x0d\x0a复杂点,专业点:\x0d\x0aDirectMemoryAccess(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为"DMA控制器"的控制下进行的。CPU除了在数据传输开始和结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里,CPU和输入输出都处于并行操作。因此,使整个计算机系统的效率大大提高。\x0d\x0a\x0d\x0aDMA的概念:DMA是在专门的硬件(DMA)控制下,实现高速外设和主存储器之间自动成批交换数据尽量减少CPU干预的输入/输出操作方式。通常有两种方式:\x0d\x0a◎独占总线方式◎周期挪用方式\x0d\x0a(2)DMA的组成:\x0d\x0a◎主存地址寄存器\x0d\x0a◎数据数量计数器\x0d\x0a◎DMA的控制/状态逻辑\x0d\x0a◎DMA请求触发器\x0d\x0a◎数据缓冲寄存器\x0d\x0a◎中断机构\x0d\x0a(3)DMA的传送数据的过程:由三个阶段组成\x0d\x0a◎传送前的预处理:由CPU完成以下步骤\x0d\x0a向DMA卡送入设备识别信号,启动设备,测试设备运行状态,送入内存地址初值,传送数据个数,DMA的功能控制信号。\x0d\x0a◎数据传送:在DMA卡控制下自动完成\x0d\x0a◎传送结束处理\x0d\x0aDMA卡上应包括通用接口卡的全部组成部分,并多出如下内容:\x0d\x0a主存地址寄存器,传送字数计数器,DMA控制逻辑,DMA请求,DMA响应,DMA工作方式,DMA优先级及排队逻辑等\x0d\x0a\x0d\x0a一次完整的DMA传送过程:\x0d\x0aDMA预处理,CPU向DMA送命令,如DMA方式,主存地址,传送的字数等,之后CPU执行原来的程序\x0d\x0a\x0d\x0aDMA控制在I/O设备与主存间交换数据:\x0d\x0a准备一个数据,向CPU发DMA请求,取得总线控制权,进行数据传送,修改卡上主存地址,修改字数计数器内且检查其值是否为零,不为零则继续传送,若已为零,则向CPU发中断请求.\x0d\x0a\x0d\x0aDMA技术的弊端:\x0d\x0a因为DMA允许外设直接访问内存,从而形成对总线的独占。\x0d\x0a这在实时性强的硬实时系统的嵌入式开发中将会造成中断延时过长。这在军事等系统中是不允许的。
万山数据
2024-11-04 广告
2024-11-04 广告
实时数仓处理是我们北京万山数据科技有限公司数据处理能力的核心之一。它基于先进的流处理技术,能够实时捕获、处理和分析海量数据,确保数据的时效性和准确性。通过构建高效的实时数据管道,我们能够实现数据的即时入库与查询,为业务决策提供强有力的支持。...
点击进入详情页
本回答由万山数据提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询