辽宁鞍山网站建设,it学校哪个比较好,乐清市城乡规划建设局网站,南昌做小程序公司目录 前言 1. DMA简介 2. DMA 的核心工作流程与优势 2.1工作流程 2.2优势 潜在挑战 3. DMA 的三种工作模式 前言 DMA#xff08;Direct Memory Access#xff0c;直接存储器访问#xff09;是计算机科学中一个至关重要的概念#xff0c;特别是在嵌入式系统、高频交易…目录前言1. DMA简介2. DMA 的核心工作流程与优势2.1工作流程2.2优势潜在挑战3. DMA 的三种工作模式前言DMADirect Memory Access直接存储器访问是计算机科学中一个至关重要的概念特别是在嵌入式系统、高频交易和高性能计算领域。简单来说它就像是给计算机雇了一个“搬运工”让 CPU 从繁琐的数据搬运工作中解脱出来但一般不用在FPGA中因为FPGA可以并行处理。但像ZynqPS PL中会用到DMA。本文将对DMA技术进行介绍。1. DMA简介DMA是一种允许外设如网卡、显卡、磁盘、ADC 等直接与系统内存RAM进行数据交换的机制而无需 CPU 的全程干预。在没有 DMA 的年代数据交换采用PIOProgrammed I/O模式CPU 发出读取指令。CPU 等待外设准备好数据。CPU 将数据读入寄存器。CPU 将数据从寄存器写入内存。该模式流程如图1-1所示。结果大量 CPU 时钟周期被浪费在单纯的“搬运”上。图 1-1PIO模式流程图2. DMA 的核心工作流程与优势2.1工作流程DMA 的操作通常分为四个阶段初始化CPU 通过设置 DMA 控制器的寄存器源地址、目的地址、传输数据量、控制字等来“下达任务”。请求DMA Request外设准备好数据后向 DMA 控制器发送请求信号。接管总线Bus ArbitrationDMA 控制器向 CPU 申请总线控制权Hold。CPU 完成当前总线周期后释放总线HLDA由 DMA 接管。数据传输DMA 直接控制地址总线和数据总线完成内存与外设间的数据移动。结束Interrupt传输完成后DMA 控制器向 CPU 发起中断告知“活儿干完了”。该流程如图2-1所示。图 2-1 DMA控制器的五个关键阶段将传统的CPU搬运方式和DMA架构方式做对比如图2-2所示。图 2-2 DMA工作原理对比2.2优势DMA搬运数据具有以下优势提升 CPU 效率CPU 可以并行处理逻辑运算而不是卡在 I/O 等待上。提高吞吐量数据路径更短减少了寄存器中转带来的延迟。低功耗在某些应用中可以让 CPU 进入睡眠模式只留 DMA 在搬运传感器数据。潜在挑战缓存一致性Cache CoherencyDMA 直接改写了内存但 CPU 的 Cache 里可能还是旧数据。这需要硬件维护一致性或软件进行Invalidate/Flush操作。总线竞争如果 DMA 占用总线太久会造成 CPU “饥饿”。3. DMA 的三种工作模式根据对总线占用方式的不同DMA 有以下三种常见模式模式描述优缺点停止 CPU 访问 (Burst Mode)DMA 一旦获得总线就连续传输完所有数据才释放。快但传输期间 CPU 被完全挂起实时性差。周期挪用 (Cycle Stealing)每次 DMA 只传输一个字/字节就归还总线等下一个请求再申请。对 CPU 影响小但总线申请开销大适合慢速外设。透明模式 (Transparent Mode)仅在 CPU 不使用总线如译码阶段时才偷偷传输。对 CPU 完全透明但电路设计极其复杂且传输效率不可控。以上就是本次笔记的内容。