[DDR4] DDR1 ~ DDR4 发展史导论

2024-06-16 05:52
文章标签 ddr4 ddr1 导论 发展史

本文主要是介绍[DDR4] DDR1 ~ DDR4 发展史导论,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

依公知及经验整理,原创保护,禁止转载。

专栏 《深入理解DDR4》

内存和硬盘是电脑的左膀右臂, 挑起存储的大梁。因为内存的存取速度超凡地快, 但内存上的数据掉电又会丢失,一直其中缓存的作用,就像是我们的工作桌面, 而硬盘就像是仓库,各自扬长避短。

内存技术一直在发展, 从早期的SIMM 到 DDR, 再在 DDR 上不断子迭代, DDR1 -> DDR2 -> DDR3 -> DDR4,出于好奇心,我们探一探DDR 的发展历程。

在这里插入图片描述
图来源: [今日头条]

发源

很久很久以前, 电脑上是没有单独的内存条的,内存芯片是直接以 DIP 形式在主板上。但当时容量非常非常小,只有 64KB 到256KB [1]。在主板容量是固定的, 不能扩展。

SIPP

随着80286 处理器出现,主板上的内存已无法满足系统需求,内存条开始出现, 最开始的内存条是 SIPP(Single In-line Pin Package).
在这里插入图片描述
图: 30pin SIPP (Single In-line Pin Package), 来源:系统之家

SIMM

SIPP 很快被 SIMM 取代, SIMM 是金手指, 这与我们现代看到的金手指一致,两侧金手指, 工作电压是 5V, 有 30 pin SIMM, 64 pin SIMM, 72 pin SIMM.

386、486以及后来的奔腾、奔腾Pro、早期的奔腾II处理器多数会用72 pin 内存。72 pin 内存位宽是 32 bit, 对于32 bit 处理器, 一根内存条即可。 64 bit 处理器, 用两根就可。
在这里插入图片描述
图 30pin SIMM (Single In-line Pin Package)

SDR SDRAM内存

内存条由 SIMM 变成 DIMM, 算是一场大的革新, SIMM 两边金手指传输相同的数据, 而 DIMM 两边金手指传输不同的数据。内存条进入到 SDR SDRAM 时代。

SDR 是指的在时钟单边沿发送数据, SDRAM其实就是同步DRAM的意思,内存频率与CPU外频同步,这大幅提升了数据传输效率,SDR SDRAM 64bit的数据位宽与当时CPU的总线一致,只需要搭载一根内存条, 受到消费者广泛欢迎。

DDR内存

DDR SDRAM(Dual Date Rate SDRAM, 是时钟双边沿都传输数据, 在相同频率下, 传输速率是 SDR SDRAM 的两倍, 在使用上, 它的地址方式和控制方式与 SDR SDRAM 几乎一致, 这使得从 SDR SDRAM 技术切换到 DDR SDRAM 是水到渠成的事情。这么美好的事情就这样顺其自然发送了。自此开启了 DDR 的大时代,时至今日,我们还在DDR 的大家庭里,只是子世代在持续迭代。

DDR2 以及后面的DDR 系列都是 DDR 的迭代, 看看这个大家庭吧。
在这里插入图片描述
图 DDR 到 DDR4 改进量化指标
图来源: 系统之家-作者quers

DDR2 和前一代比,
功耗降低了 28%
速度提升了 50.3%
容量增加了 100%

DDR3 和前一代比,
功耗降低了 16.6%
速度提升了 166.5%
容量增加了 300%
DDR3 真是一个飞跃啊~

DDR4 和前一代比,
功耗降低了 20%
速度提升了 100%
容量增加了 300%

DDR2

DDR2与DDR的区别

指标差异

DDRDDR2
电压2.5V1.8V
频率100MHz~200MHz200MHz~400MHz
速率200Mps~400Mps400Mps~800Mps
预取2 bit4 bit
封装TSOPIIFBGA

百度百科:
DDR2的最大突破不在于普遍认为的传输能力翻倍,而在于更低发热和功耗的情况下,DDR2能够实现更高的频率,超越了标准DDR的400MHz限制。

而这得益于以下两点:

  1. FBGA封装提供了更好的电气性能与散热性。
  2. DDR2采用1.8V电压,相对于DDR的2.5V,降低了不少。

新功能

OCD、ODT和POST

(1)ODT:ODT是让DQS、RDQS、DQ和DM信号在终端电阻处消耗完,防止这些信号在电路上形成反射。

(2)Post CAS:旨在提高DDR2内存的利用效率。 在没有使用Post CAS功能时,当前行的CAS命令占用了地址线,导致对其他L-Bank的寻址操作被延迟,并使数据I/O总线出现空闲。通过使用Post CAS,能够消除命令冲突,从而提高数据I/O总线的利用率。
在这里插入图片描述
来源: AET

(3)OCD(Off-Chip Driver):
OCD起到的作用是调整DQS与DQ之间的同步,以确保信号的完整性和可靠性。OCD主要用于调整I/O接口端的电压,以补偿上拉和下拉电阻的值,从而将DQS与DQ数据信号之间的偏差降到最低。在调校过程中,我们将分别测试DQS高电平和DQ高电平,以及DQS低电平和DQ高电平时的同步情况。如果测试结果不符合要求,将通过设置地址线的突发长度来传递上拉/下拉电阻等级。
在这里插入图片描述
来源: AET

DDR3

指标差异

DDR2DDR3
电压1.8V1.5V
频率200MHz~400MHz400MHz~800MHz
速率400Mps~800Mps800Mps~1600Mps
预取4 bit8 bit
封装FBGACSP和FBGA封装
BANK 数4 & 88
突发长度 44(兼容) & 8

新功能

ZQ: 接240欧姆的低公差参考电阻
SRT(Self-Reflash Temperature)可编程化温度控制存储器时钟频率
PASR(PartialArray Self-Refresh)局部Bank刷新
点对点连接(point-to-point,p2p)
RESET
Dynamic ODT

DDR4

DDR3DDR4
电压1.5VVDD1.2V, VDDQ 1.2V, VPP 2.5V
频率400MHz~800MHz800MHz~1600MHz
速率800Mps~1600Mps1600Mps~3200Mps
预取8 bit8 bit
封装CSP和FBGA封装FBGA
BANK 数816
突发长度4(兼容) & 84

新功能

CRC
DBI
Multi preamble

参考

1DDR内存的前世今生
2DDR与DDR2、DDR3的区别

在这里插入图片描述 |

免责声明

一. 本博客及动态出现的信息,均仅供参考。本人将尽力以求所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性。本人对有关资料所引致的错误、不确或遗漏,概不负任何法律责任(包括侵权责任、合同责任和其它责任)。

二. 任何透过本博客及动态的网页或链接及得到的资讯、产品及服务,本人概不负责,亦不负任何法律责任。

三. 本博客及动态使用的信息,网页或链接(图片)可能由于本人疏忽未标明作者和出处,如有侵权,请立即与本人取得联系。

四. 本博客及动态支持保护知识产权,任何单位或个人认为本博客及动态中的网页或链接内容可能涉嫌侵犯其知识产权,应该及时向本人提出,并提供侵权情况证明。本人会依法尽快删除相关内容或断开相关链接。

五. 本博客内容仅供学习交流,禁止商用。

六. 阅读并使用本博客及动态包括其提供的网页链接及资源时,即代表您已阅读并同意本免责声明的全部内容。如有异议,请立刻关闭本网页并屏蔽本人动态并停止使用。

这篇关于[DDR4] DDR1 ~ DDR4 发展史导论的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065626

相关文章

Android我的二维码扫描功能发展史(完整)

最近在研究下二维码扫描功能,跟据从网上查阅的资料到自己勉强已实现扫描功能来一一介绍我的二维码扫描功能实现的发展历程: 首页通过网络搜索发现做android二维码扫描功能看去都是基于google的ZXing项目开发。 2、搜索怎么使用ZXing实现自己的二维码扫描:从网上下载ZXing-2.2.zip以及core-2.2-source.jar文件,分别解压两个文件。然后把.jar解压出来的整个c

文心一言 VS 讯飞星火 VS chatgpt (287)-- 算法导论21.2 6题

六、假设对 UNION 过程做一个简单的改动,在采用链表表示中拿掉让集合对象的 tail 指针总指向每个表的最后一个对象的要求。无论是使用还是不使用加权合并启发式策略,这个修改不应该改变 UNION 过程的渐近运行时间。(提示:而不是把一个表链接到另一个表后面,将它们拼接在一起。)如果要写代码,请用go语言。 文心一言: 在并查集(Union-Find)数据结构中,UNION 过程通常用于合并

人工智能导论笔记

绪论篇 3个学派:符号主义,连接主义,行为主义。 模型分类:决策式AI,生成式AI。 人类智能:很难给出确切的定义。 人类智能的特征/智能的能力:具有感知能力、具有记忆与思维能力、具有学习能力、具有行为能力。 认识智能的观点:思维理论,知识阈值理论,进化理论。 人工智能是用人工的方法在机器上实现的智能。 人工智能发展历史3个阶段:孕育、形成、发展。 人工智能领域研究的基本内

http发展史(http0.9、http1.0、http1.1、http/2、http/3)详解

文章目录 HTTP/0.9HTTP/1.0HTTP/1.1@队头阻塞(Head-of-Line Blocking)1. TCP 层的队头阻塞2. HTTP/1.1 的队头阻塞 HTTP/2HTTP/3 HTTP/0.9 发布时间:1991年 特点: 只支持 GET 方法没有 HTTP 头部响应中只有 HTML 内容,没有任何元数据。 缺点: 功能极其有限,

算法导论 第2版 9.2 线性时间做选择

以书上伪代码为模板编写 #include<iostream>using namespace std;int A[11] = {-1,4,1,8,3,10,2,5,6,9,7};//下标从1开始,因此A[0]不用,用-1标记int partition(int *A, int p, int r)//划分函数{int x = A[r];int i = p-1;int temp;for(int j

算法导论 第二版 8.2 计数排序

根据伪码编写: #include <iostream>#include <ctime>using namespace std;void counting_sort(int *A, int *B, int *C, int k, int n)//B是排序输出,C用来计数{for(int i = 0; i <= k; i++)//初始化CC[i] = 0;for(int j = 0; j <=

算法导论 第2版 7.3 快速排序随机化版本

根据书上伪码编写: #include <iostream>#include <ctime>using namespace std;int A[11] = {-1,4,1,8,3,10,2,5,6,9,7};//下标从1开始,因此A[0]不用,用-1标记int n = sizeof(A)/sizeof(int)-1;int partition(int *A, int p, int r)//划

算法导论15.3 备忘录方法

备忘录使动态规划的一种变形,此处用备忘录解决前面的矩阵链乘次数最少问题. 由之前的代码修改而来见该页 动态规划函数matrix_chain_order() 改为备忘录函数memoized_matrix_chain()和lookup_chain() #include <iostream>#include <string>using namespace std;static string

算法导论 15.1动态规划 装配线调度

代码根据15.1中伪代码编写 #include<stdio.h>int e[3]={-1,2,4};int x[3]={-1,3,2};int n = 6;//a1[j]表示a(1,j),a2[j]表示a(2,j),以此类推,a1[0]不使用,设为-1 int a1[7]={-1,7,9,3,4,8,4};int a2[7]={-1,8,5,6,4,5,7};int t1[6]={-

算法导论 总结索引 | 第四部分 第十五章:数据结构的扩张

1、动态规划(dynamic programming)与分治方法相似,都是通过组合子问题的解 来求解原问题 分治方法 将问题划分为互不相交的子问题,递归地求解子问题,再将它们的解组合起来。求出原问题的解 与之相反,动态规划则用于 子问题重叠的情况,即不同的子问题具有公共的子子问题(子问题的求解是递归进行的,将其划分为更小的子子问题) 分治算法会做许多次冗繁的工作,它会反复地求解那些公共子子问题。而