[RAM] RAM 突发传输(Burst ,Burst size, length) | Burst 读写过程与时序 精讲

主页: 元存储博客

文章目录

前言

在DMA(直接内存访问)和CPU(中央处理器)共用总线时,会使用两种传输模式:突发模式和循环挪用模式。

今天重点讲讲突发模式。

1. Burst 基本概念

含义

循环挪用模式是常用的一种模式。在这种模式下,每次DMA请求就会申请一次总线,传输一个字节的数据。适用于小数据量传输。

突发模式则是在DMA成功申请到总线后,会连续传输数据直到完成。例如,如果设置了4个节拍的突发传输,并且传输宽度为8位,那么一个DMA请求会连续传输4个字节的数据,相当于单次传输的4倍。

这两种传输模式在DMA和CPU共用总线时起到了不同的作用,循环挪用模式适用于传输少量数据的情况,而突发模式则适用于需要一次性传输大量数据的情况。

Burst Width &Burst Length

Burst Size(突发大小):

指定每个数据项的大小,即以字节为单位的数据位宽。常见的突发大小有:

  • 1字节(BYTE)

  • 2字节(HALFWORD)

  • 4字节(WORD)

  • 8字节(DOUBLEWORD)

Burst Length(简称BL,指突发长度):指定在一个传输事务中要传输的数据项的数量。可以是固定的值,也可以是从主设备发送的上界值。

DDR4 的 BL 都是 8, 而DDR5 的 BL 是 16.

举例: 32个字节可以分为32 * 8位, 这里 Burst Size 是 8位(1 BYTE), Burst Length是 32.

2. CPU Burst mode

CPU读存储单元
Data communication between CPU and memory

图片来源: https://img.brainkart.com/

  1. 提供地址,将其送入存储器的地址寄存器
  2. 经译码电路选取相应的存储单元
  3. 从存储单元读出的信息要先送入存储器的数据寄存器
  4. 传送给CPU

读数据前

读数据后

图片来源: https://img.brainkart.com/

写的过程相反, 可以自行在脑海里想象下。

如果使用Burst模式,就只要给出第一个列地址和突发长度,就能自动连续读出第一行的每一个数据,可以减少发送地址的交互次数,提高效率。

3. 总线 burst mode

AXI总线是支持burst传输的。

总线的仲裁

文献2\] 总线矩阵在主控总线之间起到了仲裁管理的作用,通过循环调度算法给外设分配总线使用时间片。它能够协调不同外设之间对总线的访问,保证每个外设都能够有机会进行数据的访问。 在突发传输期间,总线会被锁定,只有进行突发传输的外设能够使用总线。完成突发传输后,总线矩阵会重新分配权限,以满足其他外设的请求。 #### 总线突发传输时序 1. AXI 读突发传输时序 ![在这里插入图片描述](https://file.jishuzhan.net/article/1769014559869243394/3eb564a74191ee36ce29eceff2eda0de.webp) 图片来源: 知乎 文献5 可以看到: * 在T2时刻,ARADR通道握手成功,并成功传输了地址信息。 * 从设备根据该地址信息准备相应的读取数据。 * RVALID 表示返回一个数据,RREADY表示主设备取走了这个数据,这被称为一次传输。 * 当返回最后一笔数据时,相应的RLAST信号也需要被拉高,以表示最后一笔数据已经传输完毕,整个传输到此结束。 1. AXI 写突发传输时序 ![在这里插入图片描述](https://file.jishuzhan.net/article/1769014559869243394/97e796c4771a6d56d99650f7299df736.webp) 当主设备给出写地址,从设备开始准备,接着给出写数据。 返回最后一个写数据时,WLAST信号被拉高,然后从设备通过返回BRESP和BVALID信号,表示写操作已完成。 ### 4. Burst Chop (突发终止) \[文献4\] Burst mode 一次寻址,传输多次数据。BL个数据对应的地址分别是ADDR,ADDR+1,ADDR+2...ADDR+BL。 DDR3的突发长度是8,DDR2的突发长度是4/8。针对突发长度为 4 的场景,为了向下兼容,DDR3将8-bit中的后4bit屏蔽掉,这就叫作burst chop4 mode(BC4) ![在这里插入图片描述](https://file.jishuzhan.net/article/1769014559869243394/0b23de7bb60119ad0d3fb74baddd62fe.webp) 图片来源: https://blog.csdn.net/weixin_42005993/article/details/103827566 ### 5. Burst Mode 应用 #### 什么时候用突发模式 适用于大数据量传输。 \[文献1\] 在数据完全封装/解封之前中断操作可能导致数据损坏的危险,主要是由于封装和解封过程需要对数据进行处理和转换。如果在封装过程中,数据的一部分已经被封装,而另一部分尚未完成封装,中断操作会导致封装不完整的数据被使用或传输,从而导致数据损坏。 类似地,在解封过程中,如果数据的一部分已经被解封,而另一部分尚未解封,中断操作会导致解封不完整的数据被使用或处理,同样导致数据损坏。 为确保数据一致性,可以采用生成突发传输的方式来配置数据流。这意味着在封装和解封时,必须确保数据一次性地完全封装或解封完成,避免部分数据未处理的情况。这种方式可以确保数据的完整性和一致性,减少数据损坏的风险。 ### 总结 *** ** * ** *** 参考文献 1. https://www.zhihu.com/question/53854189 2. https://www.xiaopingtou.cn/q-104415.html 3. https://zhuanlan.zhihu.com/p/643207749 4. https://blog.csdn.net/weixin_42005993/article/details/103827566 5. https://zhuanlan.zhihu.com/p/641978200 *** ** * ** *** **声明** *本文仅为学习交流目的。 文中部分文字和图片来源于互联网,列在参考的文献,但可能有遗漏。如有侵权,请告知我删除。*

相关推荐
Olafur_zbj10 天前
【IC】3D DRAM堆叠的互连方式
物理层·dram·堆叠·3dic·互连
【ql君】qlexcel12 天前
DDR学习笔记1
学习·ddr
赖small强1 个月前
【Linux驱动开发】DDR 内存架构与 Linux 平台工作机制深度解析
linux·驱动开发·ddr·sdram·ddr controller
数字IC那些事儿2 个月前
DDR5 DFE(Decision Feedback Equalizer)
芯片·ddr·phy·内存控制器
数字IC那些事儿2 个月前
DDR5与DDR4差异
芯片·ddr·内存控制器
迎风打盹儿2 个月前
一种无需IP核的FPGA RAM初始化方法:基于源码定义与赋值实现
fpga开发·verilog·vivado·ram·rom
brave and determined2 个月前
硬件-内存学习DAY20——GDDR6革命:显存技术如何重塑游戏与AI未来
嵌入式硬件·ddr·ddr4·ddr5·ddr6·内存原理·内存技术
Flexfilm膜厚电阻测量2 个月前
椭偏仪在DRAM制造量测中的应用:实现20mm×20mm超宽视场下晶圆级精准监控及提升良率
dram·超宽视场成像·穆勒矩阵光谱椭偏仪
FPGA_小田老师2 个月前
《FPGA系统:总线接口及Xilinx IP核》专栏导览:从基础到架构的顿悟
fifo·pcie·ddr·通信接口·fpga系统架构·xilinx ip核·数据总线
时光の尘2 个月前
STM32外设面试速通:UART、I2C、SPI、DMA、RAM/FLASH与ADC/DAC
stm32·dma·iic·adc·flash·spi·ram