DDR的概念解读-提升速度的四把板斧

news2024/11/19 15:36:31

计算机以及手机系统性能的改善,不仅仅取决于cpu处理器主频的提升,还与cpu和内存之间的访问速度密切相关。
SDRAM: Synchronous Dynamic Random Access Memory,同步动态随机存取存储器,同步是指Memory工作需要同步时钟,内部命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是由指定地址进行数据读写。通常用来作为电脑的内存使用。
在这里插入图片描述

目前主存常用的是基于SDRAM(Synchronous DRAM)芯片技术的内存条,包括DDR SDRAM、DDR2 SDRAM和DDR3 SDRAM,DDR4以及即将推出的DDR5等。

第一板斧–提高工作频率来提速

可以说,SDR SDRAM是理解后面所以DDR的基础,包括目前正在研究的DDR5。因此,我们可以从简单到复杂的来详细了解其中的核心技术。首先,看下图:
在这里插入图片描述

首先,来看上图。文章中大部分图片都是自己画的,一部分图片是借鉴了其他作者的思路。DRAM Cell Array是存放数据的单元,其作用是不断的与内存总线交换数据资料。每一颗内存芯片都有很多这样的单元。并且这个内存的工作频率是与连接它的总线的数据传输频率是一样的,一个时钟周期只传输一次数据。也就是说,如果其总线的传输速度是50Mb,那么这个内存单元的速度也是50Mb。
再看右边的部分,是说数据是在每个时钟的上升沿才进行传输,因此,内存的传输是同步的。然后,如果想提高SDR的速度,那么就得提高频率了,伴随频率的提高,传输速度同时也提高了。但是,一方面频率的提高必然伴随着能量的消耗,另一方面,每一个时钟周期只能传输1b的数据,效率未免低了一些,因此,第二把板斧应运而生了。

第二板斧—双沿采样技术

第一种方案的问题在于,太多的内存单元要提高频率,代价太大。因此,需要另找突破口,也就是DDR的方案了,DDR的传输数据是SDR的两倍,一个时钟周期传输两次数据,怎么实现的呢?
首先,看以下示意图:
在这里插入图片描述

对比上图SDR的方案,可以看出多了一个输入输出缓冲器,因为采用了双沿采样技术,也就是不仅在时钟的上升沿传输数据,而且在时钟的下降沿也会传输数据,因此变相的提升了系统的频率,使得整体传输数据也加倍了。
DDR SDRAM在不提高时钟频率的情况下,使得数据传输率提高了一倍,相比与SDR 采用了更多更先进的同步电路,采用了DLL技术提供数据选通信号对数据进行精确定位,由于采用了输入输出缓冲器,对两个内存单元使用相同的列地址线,这样可以同时访问,将数据从两个数据总线中传输,如此,整体系统的数据量就加倍了。虽然,相比于SDR速度得到了极大的提升,功耗也下降了,但是,并不是没有发展的空间,且看第三板斧。

第三板斧—buffer频率倍增技术

技术再次提升集中体现在DDR2上。一句话总结就是虽然同样采用了在时钟的上升沿和下降沿传输数据的基本方法,但是DDR2拥有两倍于DDR1的内存预读取能力,也就是4 bit的数据预读取。技术原理如下图所示。
在这里插入图片描述

主要就是把缓冲器和总线的工作频率提高了一倍。频率提高一倍,带宽也就对应增加了,同时内存基本单元的频率并没有改变。由于DDR2的预读取能力相对预DDR1加倍了,换句话说,DDR2内存每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。举个例子,在同样100MHz的工作频率下,DDR的实际频率为200MHz,而DDR2则可以达到400MHz。
DDR3可以简单看作是DDR2的改进版,通过改进缓冲器,让其频率提升了四倍,也就是带宽增加倍四倍,同时内存单元的频率也就是核心频率还是没有变化的。通过双沿采样,相对于DDR2,其预读取能力加倍了,也就是DDR3内存每个时钟周期能够以8倍外部总线的速度读写数据,每个时钟周期能够预读取8 bit的数据。在同样100MHz的工作频率下,DDR的实际频率是200 MHz,而DDR3则达到了800 MHz。

第四板斧—Bank Group点传技术

在这里插入图片描述

我并没有把DDR4归类到上面,因为在技术层面,DDR4并不简简单单是DDR3的改进版。诚然,DDR4最重要的使命依然是提高内存的频率和带宽,回头看DDR—DDR2—DDR3的整个发展历程,我们不难看出一直都是以提高数据的预存取为主要的性能提升手段。但是,到了DDR4,数据的预取已经变得非常困难,同时,带来的延时也非常大,因此,DDR的架构专家另辟蹊径,推出了Bank Group的设计。
在这里插入图片描述

相对于数据预取带来速度内存频率的提升, Bank Group的架构设计更为精巧。简要说一下,DDR4的中每个Bank Group可以独立读写数据,这样做的好处是让内部的数据吞吐量得到了大幅的提升,内存的等效频率得到了巨大的提升,可以同时读取大量的数据。虽然,DDR4在架构上依然采用了与DDR3相同的8 bit预取,但是由于使用了BANK GROUP分组,可能是两个或者四个BANK GROUP的分组,由于DDR4允许每个BANK GROUP分组都可以独立的激活、读写和刷新操作,因此改进了内存整体效率与带宽。举个例子,如果内存内部设计了两个独立的BANK GROUP,那么相当于每次可以操作16 bit的数据,也就是内存的预取值就是16 bit;同理,如果是有四个独立的BANK GROUP,那么相当于每次可以操作32 bit的数据。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1610084.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

最新热点:博弈+低碳!基于多主体主从博弈的区域综合能源系统低碳经济优化调度程序代码!

前言 随着能源需求上升及环境污染日益严重,安全高效、低碳清洁已成为能源发展的主流方向。在此背景下,统筹多能耦合、协同调度的区域综合能源系统已成为高效利用能源的重要形式。实现多能供应的安全性、经济性和灵活性的有效手段是优化RIES运行。因此&a…

vbox两步解决VirtualBox共享文件夹在Windows下的符号链接创建问题

默认情况下,VirtualBox 的共享文件夹特性在 Windows 下工作是有问题的,如果你运行一些需要符号连接(Symlink)的程序,比如默认设置的 yarn 或者 npm,由于 npm 包在安装之后会在 ./node_modules/.bin 创建在 …

B008-方法参数传递可变参数工具类

目录 方法参数传递可变参数冒泡排序Arrays工具类Arrays工具类常用方法 方法参数传递 /*** java中只有值传递* 基本数据类型 传递的是具体的值* 引用数据类型 传递的是地址值*/ public class _01_ParamPass {public static void main(String[] args) {// 调用方法 getSumge…

InFusion:通过从扩散先验学习深度补全来进行图像 3D 高斯修复

InFusion 以其图像条件模型超越了当前的方法,提供精确的深度修复并支持纹理定制和对象插入等高级应用程序。 github项目页面: Infusion Github 仓库:GitHub - ali-vilab/Infusion: Official implementations for paper: InFusion: Inpainti…

婚恋相亲软件优缺点揭秘:世纪佳缘、青藤之恋、二狗、伊对

曾经我也是个大龄单身狗,把市面上主流的相亲软件都装了一个遍,也充了不少会员,踩了不少坑,现把各个婚恋软件的优缺点梳理给大家。 二狗:原腾讯产品经理做的,号称高学历平台,用户质量堪称人类天花…

pycharm-git 配置(1)

1.安装git2.pycharm 中配置git 插件 弹出Git版本号,即配置成功。3.创建本地仓库 VCS->VCS operations->create repository->设置本地目录 左下角可以看到git本地仓库git可以看到push,commit。 4.配置远方仓库,此时确保git上是有这个项目…

Excel中将单元格格式改成文本后,为何要双击数字才会改变?

将大批量的数值型数字转换成文本型数字,当然不能一个一个的去双击做转换了。以下说说有哪个可以将数值型数字转换成文本型数字的方法。 一、转换方法 方法1.数据分列功能 选中数据后,点击数据选项卡,分列, 分列向导的第一步和…

上位机图像处理和嵌入式模块部署(智能硬件的介绍)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 目前,用上位机软件虽然可以部署项目,但是它本身有自己的缺点,那就是稳定性差、价格贵。稳定性这部分&#xff0…

jsoup接收429,404错误用来接收json格式

1.代码用例 try { // 拿到当前剩余余下的钱Document doc Jsoup.connect(url).header("Authorization", "Bearer " apiKey).header("Content-Type", "application/json").header("Connection", "keep-aliv…

Linux - tar (tape archive)

tar 的全称是 Tape Archive。它最初是在 Unix 系统中用于将数据写入磁带的工具,但现在它通常用于创建、维护、修改和提取文件的归档文件。尽管 tar 可以用于压缩和解压缩文件,但它本身并不进行压缩,而是通常与 gzip 或 bzip2 等压缩工具一起使…

【提示学习论文】BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning论文原理

BlackVIP: Black-Box Visual Prompting for Robust Transfer Learning BlackVIP:稳健迁移学习的黑盒视觉提示 问题 黑盒白盒? 黑盒和白盒的概念与对预训练模型内部参数的了解程度相关。黑盒指的是对预训练模型的参数和结构缺乏详细了解,通常只能通过使…

详解数据结构:栈

一、顺序栈 顺序栈的存储方式如下: 从图中可以看出,顺序栈需要两个指针,base指向栈底,top指向栈顶。 typedef struct SqStack {ElemType *base; //栈底指针ElemType *top; //栈顶指针}SqStack; 说明: ElemType是元…

Meta:OpenAI不open?那我来?

Meta的Llama 3:开启开源AI新纪元,4000亿参数的科技奇迹 在人工智能的璀璨星河中,Meta公司以其最新的开源大模型Llama 3,再次引领科技潮流,为开源社区带来前所未有的活力与创新。这不仅是技术的一次飞跃,更…

岩石变角剪切试验夹具 技术参数

岩石变角试验夹具是根据TB10115-2014铁路工程岩石试验规程等标准利用压力机施加垂直荷载,通过一套特制的夹具使试件沿某一剪切面产生剪切破坏,然后通过静力平衡条件解析剪切面上的法向压应力和剪应力,从而绘制法向压应力(σ)与剪应力(τ&…

Linux文件的特殊权限(SUID|SGID|SBIT)

一、SUID 介绍:SUID是一种对二进制程序进行设置的特殊权限,能够让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效)。 (一)语法格式 chmod us 文件名(设置SUID权限…

VsCode配置SSH连接远程服务器(手把手,学不会打我)

闲言少叙,直接上步骤。 1.打开VsCode安装插件 安装完成后可以看到左边多了一个图标Remote Explorer,如下图所示 2.添加服务器连接配置 点击该选项卡会进入SSH TARGETS的添加,如下图: 在点击红框框住的加号,会让你输…

鸿蒙系列--第一个程序HelloWorld

一、下载安装 下载DevEco Studio(https://developer.huawei.com/consumer/cn/deveco-studio/)并安装 二、创建第一个鸿蒙应用 Next Compile SDK:鸿蒙SDK版本 Mode:ArkTS的声明式开发范式与类Web 开发范式,官方主推S…

vLLM-prefix浅析(System Prompt,大模型推理加速)

原文:vLLM-prefix浅析(System Prompt,大模型推理加速) 简介 本文浅析了在大模型推理加速方面一个非常优秀的项目 vLLM 的一个新特性 Prefix。在 Prompt 中有相同前缀时可以提高吞吐量降低延迟,换句话说可以省去这部分…

哈希函数、哈希表、布隆过滤器、一致性哈希

哈希函数 工程的哈希函数展示 哈希值根据余数分组的均匀性 哈希表原理 一致性哈希 虚拟节点技术

C++ 类对象

C是一种功能强大的编程语言,它拥有丰富的特性集合,使得我们可以编写出高效、可维护且性能卓越的代码。其高级概念包括运算符重载、静态成员、友元函数、匿名对象和嵌套类。这些概念在面向对象编程中扮演着至关重要的角色,它们提供了对对象行为…