DDR bank group的意义
什么是DDR4 SDRAM Bank GroupDDR4 SDRAM 中使用的存储体分组bank groups功能借鉴自 GDDR5 图形内存。为了理解存储体分组的必要性必须先理解 DDR SDRAM 预取的概念。预取是指每次使用 DDR 内存执行列命令时会预取多少个数据字。由于 DRAM 核心的速度远低于接口因此通过并行访问信息然后将其串行化输出到接口来弥补速度差异。例如DDR3 预取 8 个数据字这意味着每次执行读取或写入操作时都会对 8 个数据字进行操作并在时钟周期的两个边沿之间连续四个时钟周期内从 SDRAM 中突发出入总共进行 8 次连续操作。从根本上讲对于 DDR3 的 8 个预取量可以理解为接口的速度是 DRAM 核心速度的 8 倍。预取的缺点在于它实际上决定了SDRAM的最小突发长度。例如DDR3的预取长度为8个字因此很难实现4个字的高效突发长度。而存储体分组功能允许设计人员在保持较小预取长度的同时提升性能如同预取长度更大一样。由于DRAM的核心速度在每一代产品中变化不大因此DDR的预取量随着每一代产品的推出而增加从而提升了SDRAM接口的速度。然而如果DDR4也延续这一趋势则需要采用16字的预取量。这将导致DRAM体积大幅增大因为需要集成更多的线路。这将使DRAM成本过高因此设计人员为了节省成本没有采用16字的预取量。更重要的是16字的预取量与当今计算机中常见的64字节缓存行大小不匹配。在典型的计算环境中使用64位或72位接口和64字节缓存行时8字的预取量和8字的突发长度更为合适。缓存行大小和突发长度的任何不匹配都可能对嵌入式系统的性能产生负面影响。DDR4 预取和性能为了理解预取如何影响性能回顾 SDRAM 的发展历程很有帮助。图 1 展示了每一代 SDRAM 的最大数据速率与最大列周期的对比。图 1 显示核心速度相当慢且随时间变化不大而接口速度却显著提升。SDRAM 核心速度并未随时间推移而提升这主要是因为更小的制程带来的优势被更大的 SDRAM 容量所抵消。设计人员最终不得不应对容量的增加而制程的小型化又加剧了这一问题。然而每一代 SDRAM 的 I/O 速度却始终保持增长。这是如何实现的呢这就需要用到预取技术了。最初的SDR单数据速率SDRAM问世时无需预取。每次执行列周期时它都会访问一个字的数据并将其从SDRAM中推送出去。虽然SDRAM实际上存在所谓的2N规则允许预取2但2N被视为规范中的限制性条款最终所有成为通用器件的SDRAM设备都采用预取1的策略。然而DDR SDRAM问世后内核无法再满足SDRAM所需的带宽。如图2所示这标志着引脚上的最大数据速率与内部列周期之间开始出现分离。随着时间的推移这种差异越来越大。DDR2 的预取容量为 4DDR3 的预取容量为 8这种差异进一步扩大。DDR4 仍然使用 8 个预取容量但引入了内存组的概念以避免更大的预取容量带来的负面影响。图 3 展示了预取机制在四代 SDRAM从 SDR SDRAM 到 DDR3 SDRAM中的演变过程。对于任何单列操作例如读取或写入一次访问的字数由内存阵列的数量表示同时还显示了将这些字从 SDRAM 核心取出或放入核心所需的大致周期时间MHz。顶行显示的是 SDR SDRAM。早在 20 世纪 90 年代中期内存阵列的速度与 I/O 速度相匹配。不久之后DDR也适用于 LPDDR引入了 2 字预取或称 2N 预取以实现比 SDRAM 内核更高的数据速率。图中所示的多路复用器可以访问这两个字然后在时钟的一个上升沿和一个下降沿通过接口进行复用输出。这种模式一直延续到 DDR3/LPDDR3 的 8N 预取。DDR4 和bank group问题在于这如何应用于DDR4及其8N预取如果DDR4也遵循图3所示的趋势那么DDR4的预取量将为16但我们已经看到这并非理想情况。DDR4通过引入存储体组bank group的概念来避免这个问题。利用存储体组可以在一个存储体组中执行8的预取而在另一个独立的存储体组中执行另一个8的预取。存储体组是独立的实体因此它们允许一个存储体组内完成一个列周期但该列周期不会影响另一个存储体组中正在发生的事情。实际上DDR4 SDRAM可以对其内部存储体组进行时分复用从而掩盖内部SDRAM内核周期时间比接口上8的突发传输所需时间更长的事实。图4展示了具有两个存储体组的x16 DDR4 SDRAM的这一过程这种存储体组通常用于嵌入式应用。bank group规范DDR4引入了内存组的概念并带来了新的规范。其中两个关键规范是tCCD_S和tCCD_L。“CCD”代表“列间延迟”或者说列侧的“命令间延迟”。“_S”代表“短延迟”“_L”代表“长延迟”。当一个内存组启动一个带有 8N 预取的指令时预取必须完成这需要该内存组的整个时钟周期。从一个内存组跳转到另一个内存组不受这些规范的限制。使用 tCCD_S 规范也是如此它在四个时钟周期内没有限制类似于 DDR3。然而这里有个关键点。在同一内存组内执行不同命令时需要注意DDR4新的tCCD_L规范其时间通常大于四个时钟周期。这种情况会影响设计的性能这在嵌入式应用中尤为重要。图5突出了tCCD_S和tCCD_L之间的区别。tCCD规格影响巨大如图 6 所示使用 DDR4 内存时不同存储体组之间的数据切换需要四个时钟周期的延迟。四个时钟周期对应一个八段突发长度。由于四个时钟周期包含八个时钟边沿上升沿和下降沿因此八段突发长度可以非常高效地在四个时钟周期内的每个时钟边沿输出或接收数据。在这种情况下总线带宽不会被浪费。一个命令可以紧接着另一个命令执行而不会在总线上浪费任何时钟周期。然而当速率从 1600 Mbps 开始在同一存储组内传输数据时tCCD_L 规范需要超过四个时钟周期。速率达到 1600 Mbps 和 1866 Mbps 时需要五个时钟周期而速率达到 2133 Mbps 时则需要六个时钟周期。图 6 表格下方的时序图显示在不同的存储组之间切换时接入点之间可能需要四个时钟周期。例如在同一存储组内以 2133 Mbps 的速率传输数据时列命令之间需要六个时钟周期。然而传输数据本身只需要四个时钟周期。剩余的两个时钟周期即总线带宽的 33%就无法使用了。为提高bank group的使用效率而安排流量图 7 中的时序图展示了 DDR4 内存库组在 1600 Mbps 数据速率示例中的影响。tCCD_L 的长规范值为 5这意味着同一内存库组内两次列命令之间需要五个时钟周期。图中高亮区域显示了最终结果当使用五个时钟周期时会有一个时钟周期被浪费因为没有数据流入或流出设备。在更高的数据速率下这个问题会变得更加严重因为此时 tCCD_L 会变为六个、七个甚至八个时钟周期。当 tCCD_L 为八个时钟周期时试图保持在同一内存库组内实际上会损失一半的带宽。图 7列命令之间可能浪费的时钟周期¹引用自DDR4 Bank Groups in Embedded System Applications | Synopsys IP

相关新闻

容器化部署 MiniMax-H3

容器化部署 MiniMax-H3

文章目录1.简介2.快速上手3.工作流介绍:4.API 快速接入4.1 两步快速跑通4.2 实例探活4.3 使用 SDK 接入4.4 生产任务采用异步模式5. 性能与成本实测数据6. 常见问题及处理建议7. 扩展功能:图生视频与参考生视频7.1 图生视频(I2V)7…

2026/9/3 5:44:33 阅读更多 →
基于51单片机的智能台灯设计:从环境感知到PWM调光全解析

基于51单片机的智能台灯设计:从环境感知到PWM调光全解析

简介:本资源是一套面向高校电子类专业本科生的单片机课程设计与毕业设计参考方案,聚焦智能照明控制场景,解决环境光自适应调节与人体存在感知联动的核心问题。资源包共44个文件,涵盖Keil源程序工程、Proteus仿真源文件&#xff08…

2026/9/3 5:44:33 阅读更多 →
我把AI交易员拉来同台PK

我把AI交易员拉来同台PK

以前复盘时,我常盯着一条净值曲线猜原因:为什么它这天加仓,下一天又减仓? 最近我在用天才交易员的AI竞技场 竞技场里是多位虚拟交易员的同场对决。首页先看参赛资产、收益、胜率、最大回撤和盈亏分布,能快速判断一个…

2026/9/3 5:44:33 阅读更多 →

最新新闻

全栈开源外卖系统“食刻”部署与核心业务调试实战指南

全栈开源外卖系统“食刻”部署与核心业务调试实战指南

简介:这是一套面向外卖平台创业者、中小型技术团队及全栈开发者的完整开源外卖系统解决方案,覆盖用户下单、商户管理、骑手配送、多端协同等核心业务闭环,助力快速搭建可商用的本地化外卖服务平台。资源包共2000个文件,含1266个PH…

2026/9/3 8:19:52 阅读更多 →
电力系统暂态稳定仿真:从DAE求解到MATLAB实现

电力系统暂态稳定仿真:从DAE求解到MATLAB实现

简介:本资源是一套面向电力系统专业本科生、研究生及工程技术人员的3机9节点系统暂态稳定性仿真计算程序,聚焦于故障扰动下发电机功角动态响应分析这一核心问题,适用于课程设计、毕业设计及基础科研建模场景。压缩包共29个文件(21…

2026/9/3 8:19:52 阅读更多 →
MATLAB图像去遮挡修复系统:可复现、可调试、可教学

MATLAB图像去遮挡修复系统:可复现、可调试、可教学

简介:本资源是一套面向数字图像处理课程设计与MATLAB实践学习者的图像去遮挡修复系统,聚焦真实场景中前景栏杆遮挡的智能修复问题,适用于本科高年级或研究生图像处理实验、课程设计及算法对比研究。压缩包共24个文件,含15个核心MA…

2026/9/3 8:19:52 阅读更多 →
MATLAB实现一维卷积神经网络(1D CNN)时间序列预测完整指南

MATLAB实现一维卷积神经网络(1D CNN)时间序列预测完整指南

简介:本资源是一份面向MATLAB初学者与时间序列建模实践者的完整技术实现方案,聚焦单变量时间序列的CNN卷积神经网络预测任务,适用于电力负荷、气象数据、工业传感器信号等典型场景。压缩包共7个文件(717KB)&#xff0c…

2026/9/3 8:19:52 阅读更多 →
速达财务3G系统数据迁移实战:从老旧C/S架构到现代数据库管理

速达财务3G系统数据迁移实战:从老旧C/S架构到现代数据库管理

简介:本资源为速达财务SSTD3G企业版服务器端安装包(v6.37),面向中小企业IT运维人员、财务系统实施工程师及信息化管理员,解决多用户协同环境下财务系统部署、客户端接入与基础配置落地等核心问题。压缩包大小316.81MB&…

2026/9/3 8:19:52 阅读更多 →
基于STM32F103C8T6的智能家居控制系统毕业设计全流程实战

基于STM32F103C8T6的智能家居控制系统毕业设计全流程实战

简介:本资源是一套基于STM32F103C8T6微控制器实现的完整智能家居控制系统,面向计算机、物联网、自动化等专业的本科生,专为毕业设计、课程设计及嵌入式项目实战打造。系统涵盖温湿度采集(DHT11)、MQTT协议接入OneNet云…

2026/9/3 8:18:51 阅读更多 →

日新闻

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

AI智能体辅助JS逆向:从V8环境搭建到补环境实战

先别急着点开,这不是劝退文,而是想讲清楚一件事:用 AI 做逆向值不值得学?如果要用,怎么搭一套“V8 环境 AI 智能体”来提升效率。最近逆向圈、爬虫圈都在聊 AI Agent、AST 工程逆向、JS 逆向这些词,很多新手…

2026/9/3 0:00:29 阅读更多 →
安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

安卓设备通过修改机型信息解锁游戏高帧率:原理、操作与风险指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 0:00:29 阅读更多 →
ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

ARM版OpenJDK 11安装部署全攻略:下载、配置与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/3 0:00:29 阅读更多 →

周新闻

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

2026/9/3 4:22:22 阅读更多 →
数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

2026/9/3 4:22:01 阅读更多 →
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

2026/9/3 4:22:59 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/3 4:17:49 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/3 4:18:56 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/3 4:21:44 阅读更多 →