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

乒乓操作(Ping-Pong)

乒乓操作

“ 乒乓操作” 是一个常常应用于数据流控制的设计思想, 典型的乒乓操作方法如下图 所示:

  • T1周期,输入数据流1缓存到数据缓冲模块1中,如上图棕色;
  • T2周期,输入数据流2缓存到数据缓冲模块2中;同时将缓冲模块1中的数据送入数据流运算处理模块中,如上图蓝色。
  • T3周期,输入数据流3缓存到数据缓冲模块1中,同时将缓冲模块2中的数据送入数据流运算处理模块中,如上图绿色。
  • ...依次类推,每一阶段的读写传输完成后可使用flag信号标识,方便下一步传输的处理。

其中,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口RAM(DPRAM)、单口RAM(SPRAM)、FIFO等。

波形表示

通过乒乓操作,我们即可通过节拍相互配合,最终实现数据的无缝缓冲与发送。
简单来看就是缓冲1写,则缓冲2读;缓冲2写,缓冲1读。
在这里插入图片描述

乒乓操作优点

  • 优点
    • 没有乒乓操作时,数据首先进入存储模块,等待数据被取走送去处理模块。必须等待处理模块把数据都取走后,才能再送数据到存储模块,否则原数据会被新数据覆盖;这样存储模块和处理模块总是有一个空闲。
    • 站在整个模块的输入和输出端口看,输入的数据流和输出数据流是连续不断的。实现了数据连续的缓冲和处理。
    • 可以看成另一种流水线技术,对于传统的pipeline是对组合逻辑进行寄存器切割,是cycle级的操作。而乒乓是通过插入缓冲单元,对数据流从source流到destination的过程进行切割,是function block级的。
    • 增加系统的吞吐量,避免了存储模块和处理模块相互等待的情况。
  • 缺点
    • 面积换速度。

乒乓速率控制

乒乓操作是一种设计方法,可以用于多种设计结构,这里再举一个例子。

BlockA和BlockB之间有数据流通,考虑两个模块的数据速率和数据读写顺序可能不同,两个模块不能同时工作,可以应用乒乓操作处理,提高系统吞吐率。

  • 当A和B工作频率相同,读写顺序一致,在A和B中间插入一个双端口DPRAM,可以实现A和B同时工作。但当B读顺序与A写顺序相反,那么A和B也不能同时工作,需要等待DPRAM将A写的数据全部接收后,才可以再传给B。
    • 再加入一个SPRAM,形成乒乓结构,与前面介绍的相同,以周期为单位就可以完成两个Block之间的数据交互,且两者可同时工作。
  • 当A和B工作频率不同
    • A的工作频率高于B的工作频率,那么一段相同时间下,A可能写8个数据,而B只能读走4个数据;一段时间后,SRAM会被A的数据填满,此时A往SRAM写的速率受B读的速率限制。
    • A的工作频率低于B的工作频率,那么一段相同时间下,A可能写4个数据,而B只能读走8个数据;那么SRAM经常会被读空。
    • 有些类似跨时钟域异步FIFO的情况,所以可同样使用wptr/rptr指针来判断SRAM什么时候满或什么时候空,来进行两个时钟域数据交换。

Ping-Pong级联

        刚才讨论的仅仅是两个block之间的连接。当有多个function block进行连接时,可以在每两级之间插入一个ping-pong buffer结构,将它们一级一级连接起来,如下图所示。

               

 

 多个buffer的ping-pong

     当block A和block B之间的速率差较高时,可以使用多个buffer构成的ping-pong结构,如下图所示。

                                    

相关文章:

  • LLM数学推导——Transformer问题集——注意力机制——稀疏/高效注意力
  • RHEL与CentOS:从同源到分流的开源操作系统演进
  • 如何确保微型导轨的质量稳定?
  • 北斗导航 | 北斗卫星导航单点定位精度提升方法总结,原理,公式,关键代码
  • Spring AI 快速入门:从环境搭建到核心组件集成
  • 【蓝桥杯】画展布置
  • Android项目升级插件到kotlin 2.1.0后混淆网络请求异常
  • 艾德文·卡特姆:将画布变成屏幕,开启CGI时代
  • Linux 服务如何使用 curl 利用 HTTP Get 请求传入 SQL 语句修改数据库表内容和结构
  • 数据作为新生产要素,如何实现价值变现?
  • 中国250米土壤PH(H2O)值数据
  • 【神经网络与深度学习】训练集与验证集的功能解析与差异探究
  • LHA7928国产芯片代替兼容ADS1118
  • websheet 之 HTML使用入门
  • CAD版本之——DwgVersion 与 AutoCAD 版本的对应关系
  • Cursor 配置 MCP Tool
  • HTMLcss实现网站抽奖
  • # 构建词汇表:自然语言处理中的关键步骤
  • Cesium实现地形可视域分析
  • leetcode0106. 从中序与后序遍历序列构造二叉树-medium
  • 商务部:已有超1.2亿人次享受到以旧换新补贴优惠
  • 从篆刻书画到装帧设计,再看钱君匋的“艺兼众美”
  • 神舟二十号载人飞船与空间站组合体完成自主快速交会对接
  • 王毅会见瑞士联邦委员兼外长卡西斯
  • 2024年上海发生科技融资997起,位于全国第一
  • 呈现“民族脊梁型爱国学府”曲折辉煌的办学历程,这个展览开幕