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

总线位宽不变,有效数据位宽变化的缓存方案

总线位宽不变,有效数据位宽变化的缓存方案

譬如总线位宽为64bit,但是有时候只有高32bit有效,有时只有低32bit有效,有时64bit都有效。总线上收到的数据要先缓存到FIFO中,那么这个FIFO的宽度和深度如何设置呢?
深度的话这里不说,只说宽度。
基础版本,有两种选择:

  1. 宽度设置为32bit。
  2. 宽度设置为64bit。
    对于第一中选择,会影响总线的带宽,当64bit数据都有有效的时候,带宽会被压缩成实际总线带宽的一半。对于第二种选择,会让FIFO内部的存储空间有大量的浪费,假设有效数据为64bit的情况只有50%,那么FIFO中就会有25%的存储被浪费。
    既不想浪费带宽也不想浪费存储空间的做法如下。
    用两个FIFO,每个FIFO都是32bit宽。同时设置一个读指针和写指针。读指针表示的是上一次按顺序最后读的是哪一个FIFO,写指针表示的是上一次按顺序写的是哪一个FIFO。这样做的话,带宽和FIFO的存储空间都可以得到最大的利用。

相关文章:

  • 概率论与统计(不确定性分析)主要应用在什么方面?涉及到具体知识是什么?
  • 深入解析 npm 与 Yarn:Node.js 包管理工具对比与选型指南
  • 考研系列-计算机组成原理第五章、中央处理器
  • Spring Cloud Stream喂饭级教程【搜集全网资料整理】
  • 【Fifty Project - D18】
  • 【Flutter】Unity 三端封装方案:Android / iOS / Web
  • NGINX `ngx_http_core_module` 深度解读与实战指南
  • 晶晨S905L/LB芯片_安卓11.0_已适配移动遥控_支持外置网卡_支持IPV6_通刷线刷包
  • 通过ThreadLocal存储登录用户信息
  • rt-linux下的D状态的堆栈抓取及TASK_RTLOCK_WAIT状态
  • 使用 OpenCV 和 dlib 进行人脸检测
  • ElasticSearch从入门到精通-覆盖DSL操作和Java实战
  • Flutter 学习之旅 之 flutter 有时候部分手机【TextField】无法唤起【输入法软键盘】的一些简单整理
  • 【玩转 JS 函数式编程_016】DIY 实战:巧用延续传递风格(CPS)重构倒计时特效逻辑
  • 【HarmonyOS 5】鸿蒙检测系统完整性
  • 解决 Elasticsearch 启动错误:failed to obtain node locks
  • OpenSPG/KAG v0.7.1 发布, 针对新版若干优化和BUGFIX
  • DeepSeek智能时空数据分析(五):基于区域人口数量绘制地图散点-大模型搜集数据NL2SQL加工数据
  • 新能源汽车运动控制器核心芯片选型与优化:MCU、DCDC与CANFD协同设计
  • STM32 定时器TIM
  • 清华数字政府与治理研究院揭牌:服务数字政府建设需求
  • “90后”高层建筑返青春:功能调整的技术路径和运营考验
  • 我驻美使馆:中美并没有就关税问题磋商谈判,更谈不上达成协议
  • 钱学森数据服务中心在沪上线,十万个数字资源向公众开放
  • “网红”谭媛去世三年:未停更的账号和困境中的家庭
  • 远程控制、窃密、挖矿!我国境内捕获“银狐”木马病毒变种