当前位置: 首页 > news >正文

石家庄网络推广建站医院网站系统源码

石家庄网络推广建站,医院网站系统源码,wordpress home index,手机兼职项目快速了解直接内存访问 (DMA) 文章目录 快速了解直接内存访问 (DMA)1、使用 DMA 需要什么?2、DMA介绍3、DMA 中的数据传输如何进行?4、DMA接口5、DMAC 控制器寄存器6、DMA 控制器编程模式6.1 突发模式(Burst Mode)6.2 循环窃取模式…

快速了解直接内存访问 (DMA)

文章目录

  • 快速了解直接内存访问 (DMA)
    • 1、使用 DMA 需要什么?
    • 2、DMA介绍
    • 3、DMA 中的数据传输如何进行?
    • 4、DMA接口
    • 5、DMAC 控制器寄存器
    • 6、DMA 控制器编程模式
      • 6.1 突发模式(Burst Mode)
      • 6.2 循环窃取模式(Cycle Stealing Mode)
      • 6.3 透明模式(Transparent Mode)
    • 7、DMA 总线仲裁的概念
      • 7.1 总线仲裁
      • 7.2 集中仲裁
      • 7.3 分布式仲裁
    • 8、DMA的优点

在本文中,我们将介绍 DMA,它代表直接内存访问(Direct Memory Access,DMA)。 首先,我们将了解为什么需要使用 DMA 以及在现代计算机和微控制器中使用 DMA 的优点是什么。

1、使用 DMA 需要什么?

计算机的处理器执行许多功能,包括外部设备和主存储器之间的数据传输。 从初始化数据传输到将其存储在主存储器中的目的地,所有处理均由CPU控制。 当 CPU 启动时,处理器可能不知道外部 I/O 设备已准备好进行数据传输,这可能会导致数据丢失。

另一个问题是微处理器与外部 I/O 外设的同步。 在这种情况下,设备只要准备好就会向处理器发送中断,但处理器需要一些时间将其自身从主程序切换到子例程。 但如果异步 I/O 设备速度很快并且生成大量数据,它就无法等待延迟,这也会再次导致数据丢失。 因此,为了解决这个问题并保持系统的效率,引入了一种称为DMA的方法,该方法允许外围设备以最少的处理器干预直接访问存储器。 这是在称为 DMAC 的控制器的帮助下实现的,该控制器充当总线的主控器来控制特定时间的通信。

2、DMA介绍

直接内存地址通常称为 DMA,是一种数据传输技术,其中 I/O 设备直接与内存进行通信,而无需通过中央处理单元。 在该硬件机制中,DMA控制器代替CPU单元并负责访问输入输出设备和存储器以传输数据。 DMA 控制器是专用硬件,无需 CPU 参与即可直接执行读写操作,并节省了涉及操作码获取、解码、递增和源/目标测试地址的时间,而这些操作本来应该由中央处理单元完成。 这导致外设和存储器之间的数据传输速率较高,并且可以快速传输大数据块。

在这里插入图片描述

3、DMA 中的数据传输如何进行?

数据传输由起始地址、块中要传输的字数以及传输数据的方向发起。 DMA 控制器收到信息后立即执行请求的功能。 当整个数据块传输完后,控制器会发出中断信号,通知微处理器所请求的操作已完成。

对于包括 DMA 的 I/O 操作,请求数据传输的程序被操作系统置于挂起状态,并开始执行另一个程序。 完成后,DMA 会发出一个中断来通知处理器。 结果,操作系统将程序从阻塞状态释放回可运行状态,以便CPU可以返回到请求的程序并继续进一步执行。 在 DMA 传输期间,DMA 控制器是主控制器,必须与相关外设同步。

4、DMA接口

DMA 是外部设备和系统总线之间的协议。 它由 DMAC、磁盘控制器和内存组成。 DMAC 连接到快速系统总线,这是唯一的传输媒介。 磁盘控制器对磁盘进行授权并具有 DMA 潜力,并且可以执行像 DMAC 一样的独立功能。 它们也被称为可以根据其编程执行 DMA 数据传输的通道。

在这里插入图片描述

5、DMAC 控制器寄存器

它具有用于存储地址、字数和控制信号的寄存器。 处理器访问控制器寄存器以启动数据传输操作。 有两个寄存器,即地址寄存器和字计数寄存器,分别用于存储要存储数据的内存地址和字计数,以及一个控制寄存器,用于保存状态和控制标志。 除此之外,还有一个读/写位决定数据通信的方向。

当程序指示读取时,即R/W为1时,数据从存储器传输到I/O设备,当它为0时,将数据从外设写入主存储器。 当数据块完全传输完毕后,DMA 就准备好接受进一步的命令。 这通过将 Done 标志设置为 1 来表示。之后 DMA 会升高 IE 标志,为处理器启用中断,并且当 DMA 请求中断时,IRQ 位也会变为 1。

在这里插入图片描述

6、DMA 控制器编程模式

通常,总线上连接有多个通用外部设备。 它们发出请求并且始终优先于 CPU 请求。 此外,在这些 DMA 外设中,速度较快的外设具有最高优先级。 因此,DMAC 的编程方式和满足这种情况的方式非常重要。 它决定了可以传输数据的次数、可以访问的内存分配数量以及 DMA 控制器使用的传输模式类型。 在此基础上,DMA控制器具有突发模式、周期窃取模式和透明模式三种编程模式。

6.1 突发模式(Burst Mode)

在此模式下,DMA从CPU获取系统总线来执行数据传输。 这是最快的模式,因为数据是连续通信的。 DMAC 的优先级高于 CPU,可以不间断地执行操作。 处理器必须等待 DMAC 完成其工作。 例如,如果有网络协议,则从主存储器中读取数据块并暂时存储在内部缓冲区中。 然后通过这种模式以适合内存和系统总线的速度在网络上传输。

6.2 循环窃取模式(Cycle Stealing Mode)

在循环窃取模式下,微处理器控制计算机总线,但 DMAC 倾向于窃取处理器的执行周期。 在此模式下,DMAC 请求处理器进行一个周期的总线控制并停止 CPU。 它传输一个字节,然后将控制权交还给处理器。 这样CPU就不需要长时间等待。

6.3 透明模式(Transparent Mode)

仅当处理器不执行总线相关功能时DMA控制器才工作并具有总线控制的模式称为透明模式。 这意味着DMA只有在系统总线空闲时才能传输数据,并且不会干扰处理器执行其他指令。 它也称为隐藏模式。 这被认为是一种缓慢但有效的直接内存访问模式。

7、DMA 总线仲裁的概念

我们知道只有一个主设备可以在特定时间戳获取总线,否则可能会导致问题。 但处理器和几个DMA设备可能需要同时使用总线来访问主存。 因此,为了解决此争议并组织频繁请求传输数据的 DMA 设备的活动,在计算机总线上执行了一个称为仲裁的过程。

7.1 总线仲裁

在总线仲裁过程中,DMA设备最初控制总线并成为当前的总线主控器。 然后它传输其数据块并最终将其控制权传递给另一个 DMA 设备。 就这样,主宰权就传递了,并选出了新的主宰。 考虑到外设的需求,它们轮流成为主设备并优先访问总线。

总线仲裁有两种配置,即集中仲裁,其中仲裁器决定哪个主机使用总线;分布式仲裁,允许所有外部设备参与并获取计算机总线的下一个主控权以传输其块。

在这里插入图片描述

7.2 集中仲裁

总线仲裁器可以是连接到总线的处理器或专用硬件。 通常,微处理器是总线主控,除非仲裁器将主控权授予 DMA 控制器。 每当 DMAC 想要访问总线时,它都会向仲裁器发送请求信号,一旦授予 DMAC 访问权限,它就成为主设备并开始使用总线。 DMAC 通过激活总线请求线来发送请求,总线请求线又激活总线授权信号。 如果多个 DMA 控制器串行连接到一条总线,则总线请求线的信号是它们的请求的逻辑或。

在这里插入图片描述

以同样的方式,授权信号穿过所有连接的 DMAC,直到到达发出第一个请求的控制器。 当接近相关的 DMAC 时,它会阻止总线授权信号的进一步传播并激活总线忙线。 活动的总线忙线指示在该时间点它被占用的其他设备。 现在,这些其他设备将等待总线忙线变为非活动状态,并且下一个首选主设备将获得总线的主控权。

7.3 分布式仲裁

在此配置中,没有中央仲裁器。 所有外设都有平等的权利执行仲裁过程。 为此,所有 DMA 设备都分配有一个 4 位长的标识号。 当这些设备向总线发送请求时,它们发出“开始仲裁”信号,将 ID 号放置到仲裁线上并比较这些位。 通过任意线路生成的ID号决定了当时的主机。 选择具有最高ID号的设备并允许访问总线进行数据传输。

在这里插入图片描述

8、DMA的优点

  • 内存和 I/O 设备之间的快速数据传输
  • CPU和DMA可以同时运行并提供更好的性能
  • 更有效地使用外部中断
  • 更高的数据吞吐量
  • I/O设备和外设直接与内存通信
http://www.yayakq.cn/news/362516/

相关文章:

  • 公众号和网站先做哪个wordpress页面侧边栏
  • 基于html5的电商网站开发建设部网站首页
  • 什么是网站建设中的专用主机游戏网站的设计
  • 做美团网站怎么做天津网站建设网络
  • 上海网站建设怎么样公司网站开发费用兴田德润官方网站
  • 给领导发网站建设可行性方案邮件怎么写成都建站开发
  • 济南网站搜索排名安徽六安有哪些区县
  • 网站开发php工资环保网站 源码
  • 工业设计网站外网青岛商网站建设
  • 做外贸网站哪家效果好电子元器件网站建设
  • 企业网站建设记什么会计科目wordpress 文章 导航
  • 网站优化公司怎么选网页设计心得体会100
  • 做网站网站的代理算网站罪吗wordpress more标签
  • 教人做饮料的网站做色流网站在哪买
  • 做销售的 都有什么网站网站建设费用报价单
  • 都匀市网站建设期末成绩管理网站开发背景
  • 广州 网站制作公司 网络服务锦州网站建设资讯
  • 网站建设与管理专业网站备案会掉吗
  • 高端的的网站建设公司网站开发 写文档
  • 深圳可以做网站的公司做网站标志过程
  • 装企工长网站开发提供服务好的网站制作
  • 国家企业信息服务平台搜索引擎营销优化的方法
  • 做网站挣钱来个好心人指点一下呗印刷做网站网上接单
  • 网站建设设计公司+知乎冰雪复古传奇手游官网
  • 如何诊断网站多功能响应式wordpress主题
  • 恩施兴州建设工程责任有限公司网站seo关键词优化策略
  • 成都工业学院文献检索在哪个网站做天津广告设计公司排名
  • 深圳罗湖网站建设深入解析wordpress 下载
  • 网站搭建就来徐州百度网络非常好英语网站大全免费
  • 庆云县建设局网站北京seo营销培训