从零开始讲DDR(0)——DDR的前世今生

news2024/9/21 10:46:05

一、计算机组成

        计算机组成结构(Computer Architecture)是计算机系统的核心,它定义了计算机的基本工作原理和设计模式。计算机的组成可以分成以下3大类:中央处理器(CPU)、存储器和输入/输出子系统。

1.1 中央处理器(CPU)

        CPU用于数据的运算,在大部分的体系结合中,它有3个组成部分:算数运算单元(ALU)、控制单元、寄存器组。

  • 控制单元(Control Unit):负责指挥整个计算机系统的操作,解释并执行指令,控制其他硬件的工作。
  • 算术逻辑单元(ALU):执行所有算术运算(如加减乘除)和逻辑运算(如与、或、非等),是计算机执行指令的核心部分。
  • 寄存器(Registers):这是CPU中用于存储数据的高速存储器,用来临时存放指令、数据和操作结果。

1.2 存储器

        存储器是存储单元的集合,每一个存储单元都有唯一的表示,称为地址。数据以“byte”位组的形式在存储器中进行传入和传出。对于计算机系统,存储器可以分成主存储器和辅存储器两种。

  • 主存储器(Primary Memory):也称为内存(RAM),用于临时存储当前正在执行的程序和数据。
  • 辅存储器(Secondary Memory):如硬盘(HDD)、固态硬盘(SSD),用于永久存储数据和程序。

1.3 输入/输出设备(I/O Devices)

        输入/输出设备用于实现计算机与外界的通信。

  • 输入设备:如键盘、鼠标等,用于将用户的指令输入到计算机中。
  • 输出设备:如显示器、打印机等,用于将计算机的处理结果展示给用户。

二、主存储器(内存)

2.1 RAM与ROM

        我们的主角DDR显然是属于存储器的一部分,而主存储器是计算机的重要组成部分,其主要功能是存储程序和各种数据,并能在计算机运行过程中高速、自动完成程序或数据的出存取。主要有2种类型的存储器:RAM和ROM。

类型作用特点示例

RAM(random access memory):随机存取存储器

是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介。系统断电时RAM不能保留数据SDRAM、DRAM、DDR
ROM:只读存储器ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出(相对于用户来说),而不像随机存储器那样能快速地、方便地加以改写ROM所存数据稳定,断电后所存数据也不会改变。flash、HDD、SSD

        而RAM技术又可以分成2大类:SRAM和DRAM:

类型实现作用特点
静态RAM(SRAM)传统的触发器门电路门电路保持状态(0或1),通电时数据始终存在,不需要刷新优点是速度快,不必配合内存刷新电路,可提高整体的工作效率。缺点是集成度低,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率。
动态RAM(DRAM)电容器如果电容器充电,则此时的状态是1,如果放电,则状态是0,。因为电容器会随着时间而漏掉一部分电,所以内存单元需要周期性地刷新必须刷新,后面衍生出DDR,DDR2,DDR3,DDR4,速度较慢,但是比较便宜

2.2 发展历程

        内存容量的发展,从最初KB到GB的跃进,从单条1GB到如今单条16GB或者32GB的进化,经历了漫长的过程。从最初的时候,个人电脑和嵌入式系统对于功能的实现都比较简单,内存的容量和储存容量都比较小,只有64K到256KB,对于嵌入式系统上甚至更小。

        内存的发展历程反映了计算机技术的进步和需求的变化,随着计算能力和数据存储需求的增长,内存技术不断演进。以下是内存发展的几个关键阶段:

2.2.1 早期阶段:延迟线存储器与磁鼓存储器

        延迟线存储器:20世纪40年代后期,早期的计算机使用延迟线存储器,它基于声波或电信号在延迟线中传播来存储数据。每次读写数据都必须等到信号循环到达,这导致了较高的延迟。

        磁鼓存储器:1948年发明的磁鼓存储器是早期计算机的主要存储器之一,它利用旋转的磁鼓表面存储数据,存取速度较慢,容量较小。

2.2.2 磁芯存储器(1950年代-1970年代)

        磁芯存储器是使用小型磁环(铁氧体材料)存储二进制数据的非易失性存储技术。每个磁环表示一个比特,利用磁场方向来存储“0”或“1”。磁芯存储器具有较快的存取速度和较高的可靠性,在1950年代末期到1970年代中期广泛应用。但它的体积大,制造复杂,存储容量有限,随着半导体技术的发展逐渐被淘汰。

2.2.3 半导体存储器的兴起(1970年代-至今)

        随着科技的发展,半导体存储器成为了现代计算机存储器的主流,分为两类主要类型:

        静态随机存储器(SRAM):SRAM利用晶体管存储数据,速度非常快,但每个比特需要更多的晶体管,导致成本高,密度低。主要应用在需要高速缓存的场景,如CPU的缓存(L1、L2、L3)。

        动态随机存储器(DRAM):DRAM利用电容存储数据,电容逐渐放电,因此需要不断刷新来维持数据存储。相对于SRAM,DRAM的存储密度更高,成本较低,因此广泛用于主内存(RAM)。随着集成电路制造技术的进步,DRAM容量和性能持续提升。比如1970年英特尔发布的1103 DRAM是第一款商业化的DRAM芯片,标志着半导体内存开始主导市场。

2.3 现代内存技术的发展

        DDR(双倍数据速率)内存:从DDR到如今的DDR5,随着数据传输速度和功耗的改进,DDR系列内存成为计算机和服务器的主流内存。DDR技术从2000年开始引入,持续更新,DDR5的带宽和容量比早期版本有了大幅提升。

        闪存(Flash Memory):20世纪80年代末,闪存技术开始兴起。它是一种非易失性存储器,广泛应用于SSD、U盘和存储卡中。NAND闪存和NOR闪存是两种常见类型,NAND闪存更适合大容量存储。

        LPDDR(低功耗DDR):随着移动设备的普及,低功耗内存技术成为了关键,LPDDR(低功耗双倍数据速率)内存在手机、平板等设备上应用广泛,从LPDDR1发展到LPDDR5,强调功耗和性能之间的平衡。

        HBM(High Bandwidth Memory,高带宽内存):HBM是一种高性能DRAM,具有更高的带宽和更低的功耗,主要用于图形处理器(GPU)和高性能计算(HPC)领域。HBM通过垂直堆叠的方式来提升存储密度和传输速度,减少了延迟和能耗。


        最早期的个人电脑内存是以DIP(Dual In-line Package)封装的芯片形式安装在主板上的。由于早期的计算需求较低,这些芯片能够提供64KB到256KB的内存容量,足以满足当时的处理器和软件需求。然而,随着技术的进步,特别是80286处理器的推出,计算机对内存的需求大大增加,主板上有限的插座和内存容量已无法满足应用的需求。

        内存条的诞生解决了这一问题。通过将内存以模块化的形式制作成内存条(DIMM),不仅方便了内存的扩展,也提高了系统的灵活性和容量。在这种新形式下,用户只需插拔内存条即可扩展内存容量,这大大简化了操作,并提高了计算机的性能。

        内存的发展不仅体现在外在的形态上,其内部的架构与实现也经历了翻天覆地的变化。

2.3.1 异步内存

        异步内存的工作不依赖系统时钟。内存模块和处理器之间的通信基于请求和响应。当处理器发出内存访问请求时,内存模块需要一定的时间来完成这次访问,处理器必须等待内存准备好数据。这种机制没有统一的节奏和时序,因此内存访问的时延可能会有所变化。由于异步内存不与CPU同步,内存访问的时序可能与CPU不匹配。CPU可能不得不等待较长的时间才能获取所需的数据,这会导致系统性能下降,尤其是当内存访问频繁时。

2.3.1.1 FPM DRAM(Fast Page Mode DRAM) - EDO DRAM的前身

        在EDO DRAM诞生之前,FPM DRAM(快速页面模式DRAM)是1980年代到1990年代早期主流的DRAM技术。FPM DRAM通过在同一行内存中以更快的速度访问连续的数据,提升了数据访问的效率。然而,它仍然存在一个关键的瓶颈:在读取完当前数据后,必须等待一段时间才能发起下一次数据访问。这种停顿限制了内存带宽的提升。

2.3.1.2 EDO DRAM(Extended Data Output DRAM)的引入

        为了解决FPM DRAM的这些局限性,EDO DRAM于1994年推出。其主要技术突破在于扩展数据输出机制,允许内存可以在读取一个数据的同时准备下一个数据,使数据访问的停顿减少,提升了内存带宽。

        EDO DRAM的设计允许在当前数据传输仍在进行时,就可以开始准备下一条数据的访问请求。这种重叠的数据访问机制相比FPM DRAM有了更高的效率。与FPM DRAM相比,EDO DRAM通常可以将存取周期缩短为70纳秒,而FPM DRAM通常需要80纳秒或更长。虽然在整体系统中带来的性能提升相对有限(约5%-10%),但在多任务操作和图形处理等对带宽要求较高的应用场景下,表现明显更好。EDO DRAM以SIMM模块的形式广泛使用,其制造工艺相对简单,成本较为适中,因此迅速普及并成为中低端计算机的标准配置。

        EDO DRAM在1990年代中期被广泛用于搭配Intel 80486Pentium等处理器。对于这些处理器,EDO DRAM提供了足够的带宽来满足CPU和内存之间的数据传输需求。

2.3.2 同步内存

        与系统时钟同步:同步内存与系统时钟信号保持同步。系统时钟是计算机中用于控制和协调各个部件的节奏器,所有部件(包括内存、处理器、总线等)都依据这个时钟进行数据传输。同步内存能够在时钟的上升沿和/或下降沿有规律地进行数据的读写操作。

        更高效的数据传输:由于内存的操作是与系统时钟同步的,处理器不再需要额外的等待时间来确认内存是否准备好。数据可以在固定的时钟周期内传输,从而实现更高的效率。

        双倍数据速率(DDR):后来的同步内存(如DDR内存)能够在时钟的上升沿和下降沿都进行数据传输,这使得数据传输速度进一步翻倍。

2.3.2.1 SDRAM(Synchronous DRAM)的出现与取代

        随着计算机技术的进一步发展,特别是更高性能处理器的引入(如Intel Pentium Pro、Pentium II),计算机对内存带宽的需求急剧上升。EDO DRAM的设计虽然比FPM DRAM有了改进,但其本质上仍然是异步内存,与CPU和系统时钟没有同步,导致在更高频率的系统中无法充分发挥潜力。想象一下,在异步内存系统中,处理器和内存就像两个不同步的人在传递球。处理器(传球者)在不知道内存(接球者)是否准备好的情况下传球,有时需要等待对方准备好再继续传递。而在同步内存系统中,处理器和内存就像两个人以相同的节奏传球,双方都清楚每次球的传递时间,球在固定的节奏下快速传递,效率更高。

        内存技术在这个时代发生了大革命,插座从原来的SIMM升级为DIMM(Dual In-line Memory Module),两边的金手指传输不同的数据,SDR SDRAM内存插座的接口是168Pin,单边针脚数是84,进入到了经典的SDR SDRAM(Single Data Rate SDRAM)时代。

        SDRAM(Synchronous DRAM) 于1996年引入,并很快成为内存市场的主流。SDRAM其实就是同步DRAM的意思,“同步”是指内存工作需要同步时钟,内部命令的发送与数据的传输都以它为基准。内存频率与CPU外频同步,这大幅提升了数据传输效率,再加上64bit的数据位宽与当时CPU的总线一致,只需要一根内存就能让电脑正常工作了,这降低了采购内存的成本。其主要特点包括:

  • 同步时钟:SDRAM依赖于系统时钟信号,与CPU同步,能够以更高的频率处理数据,减少了等待时间,极大提高了内存带宽。
  • 更高的频率和带宽:SDRAM的时钟频率从最初的66MHz逐步提升到100MHz、133MHz,远高于EDO DRAM所能支持的频率。SDRAM的引入使得内存系统可以更快响应CPU的访问请求,满足当时多媒体和图形处理等高带宽应用的需求。
  • 模块封装升级:SDRAM最早以168针的DIMM(双列直插式内存模块)封装形式推出,这种封装支持64位的数据总线,比EDO DRAM的32位更宽,进一步提高了数据传输效率。

        到了1997年,随着SDRAM的大量普及,EDO DRAM逐渐被淘汰。尽管EDO DRAM在当时性能有所提升,但与SDRAM相比,其性能和带宽远远不够。特别是在高端计算和服务器领域,EDO DRAM很快失去了竞争力,退出了市场。

2.3.2.2 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory)

        在SDRAM之后,内存技术继续发展,逐渐推出了更高效的DDR(双倍数据速率)SDRAM,以及后来的DDR2、DDR3、DDR4和如今的DDR5内存。每一代内存都在数据传输速度、功耗和容量方面实现了显著提升。

        DDR(Double Data Rate)内存能够在时钟周期的上升沿和下降沿都进行数据传输,相比于早期的内存技术,DDR系列内存具有更高的带宽和性能。DDR对于SDRAM,主要优势在于它允许在时钟脉冲的上升沿和下降沿传输数据,这样不需要提高时钟的频率就能实现双倍的SDRAM速度,例如DDR266内存与PC133 SDRAM内存相比,工作频率同样是133MHz,但在内存带宽上前者比后者高一倍。这种做法相当于把单车道更换为双车道,内存的数据传输性能自然可以翻倍。

        DDR4和DDR5:现代内存技术不断追求更高的带宽、更低的延迟和更大的容量。当前的DDR4和最新的DDR5内存已经可以提供几乎百倍于EDO DRAM的带宽和数千倍的容量,满足了现代计算设备的需求。

三、总结

        内存技术的发展一直围绕着存储速度、容量、功耗和成本的平衡展开,未来随着计算需求的增长和新材料、新工艺的发展,内存技术将继续向更高效、更密集的方向演进。

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

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

相关文章

Linux文件IO-基础知识了解及文件描述符

1、简介 本章给大家介绍 Linux 应用编程中最基础的知识,即文件 I/O(Input、Outout),文件 I/O 指的是对文件的输入/输出操作,说白了就是对文件的读写操作;Linux 下一切皆文件,文件作为 Linux 系…

深度学习 之 常见损失函数简介:名称、作用及用法

引言 在机器学习和深度学习中,损失函数(Loss Function)是模型训练过程中一个不可或缺的部分。它用来度量模型预测结果与真实值之间的差异,从而指导模型参数的优化。合理选择损失函数对于提高模型的准确性和泛化能力至关重要。本文…

Mint Expedition Season 3 拉开帷幕:登顶高峰的时刻到了

自 7 月 15 日 Mint Expedition 启动以来,Mint,一条专注于 NFT 行业的以太坊 Layer 2,日常交易量和交易额都出现了爆发式增长。这一成功离不开 Mint 社区的合作,包括 Minters、Web3 去中心化应用程序的开发者,以及大量…

模电模块(一)

这个看起来功能挺全的,就是小贵,有时间自己做一个: 首页-康威科技-淘宝网 (taobao.com) 画一个集成板,集合上述模块的功能。

深圳国际VR/AR博览会圆满落下帷幕

近日,深圳国际VR/AR博览会在深圳国际会展中心2号馆圆满落下帷幕。该展会于9月11日至13日举行,是一个与光博会同期举行的大型盛会。 据主办方介绍,深圳国际VR/AR博览会(Shenzhen International VR/AR Expo),…

力扣最热一百题——缺失的第一个正数

目录 题目链接:41. 缺失的第一个正数 - 力扣(LeetCode) 题目描述 示例 提示: 解法一:标记数组法 1. 将非正数和超出范围的数替换 2. 使用数组下标标记存在的数字 3. 找到第一个未标记的位置 4. 为什么时间复杂…

【与C++的邂逅】--- C++的IO流

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏: 与C的邂逅 本篇博客我们来了解C中io流的相关知识。 🏠 C语言输入输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 sc…

数据处理与统计分析篇-day03-Numpy环境搭建

概述 python优势 Python作为当下最为流行的编程语言之一 可以独立完成数据分析的各种任务 数据分析领域里有海量开源库 机器学习/深度学习领域最热门的编程语言 在爬虫,Web开发等领域均有应用 常用开源库 numpy NumPy(NumericalPython) 是 Python 语言的一…

创客中国AIGC专题赛冠军天鹜科技:AI蛋白质设计引领者

“落霞与孤鹜齐飞,秋水共长天一色——这句出自《滕王阁序》的诗句,是我作为江西人熟记于心的佳句。它描绘的天地壮丽景色常浮现于我的脑海,正是这种豁达与壮观,启发我们将公司命名为‘天鹜科技’,我们希望将源自自然的蛋白质与现代科技的创新精神相结合,打造蛋白质设计与应用的…

OpenBayes 教程上新 | AI 时代的「神笔马良」,Hyper-SD 一键启动教程上线!

每次脑海中的画面栩栩如生,想画下来却难以下笔? 每次画完自己觉得非常像,但是旁人却一头雾水? 每次想用文生图,但不知道如何精确地输入 prompt? AI 时代的「神笔马良」Hyper-SD 来了! 仅需简…

基本仪表放大器+基本电容耦合隔离放大器+OTA(基本OTA电路+OTA增益)

2024-9-18,星期三,21:37,天气:多云,心情:晴。大家中秋节都过的怎么样啊,如果没过爽也没有关系,因为再上八天班就能迎来10.1长假啦!!!!…

【机器学习】--- 自然语言推理(NLI)

引言 随着自然语言处理(NLP)的迅速发展,**自然语言推理(Natural Language Inference, NLI)**已成为一项重要的研究任务。它的目标是判断两个文本片段之间的逻辑关系。这一任务广泛应用于机器阅读理解、问答系统、对话…

五星级可视化页面(30):本系列最后一期,压轴出场。

不知不觉分享了30期高品质的五星级可视化大屏界面,该系列文章也该收尾了,本期为大家分享最后一批界面,我们下一个系列专辑见。

力扣之181.超过经理收入的员工

文章目录 1. 181.超过经理收入的员工1.1 题干1.2 准备数据1.3 题解1.4 结果截图 1. 181.超过经理收入的员工 1.1 题干 表:Employee -------------------- | Column Name | Type | -------------------- | id | int | | name | varchar | | salary | int | | mana…

W25QXX系列Flash存储器模块驱动代码

目录 W25QXX简介 硬件电路 W25Q128框图 Flash操作注意事项 驱动代码 W25QXX.h W25QXX.c W25QXX简介 W25Qxx系列是一种低成本、小型化、使用简单的非易失性存储器,常应用于数据存储、字库存储、固件程序存储等场景 存储介质:Nor Flash&#xff0…

Apache SeaTunnel Zeta引擎源码解析(三) Server端接收任务的执行流程

作者:刘乃杰 编辑整理:曾辉 引入 本系列文章是基于 Apache SeaTunnel 2.3.6版本,围绕Zeta引擎给大家介绍其任务是如何从提交到运行的全流程,希望通过这篇文档,对刚刚上手SeaTunnel的朋友提供一些帮助。 我们整体的文…

ios xib 子控件约束置灰不能添加约束

添加约束时发现置灰不可点的问题 layout切换为inferred,就可以添加约束了

[SIGGRAPH-24] CharacterGen

[pdf | code | proj] LRM能否用于3D数字人重建?问题在于:1)缺少3D数字人数据;2)重建任意姿态的3D数字人不利于后续绑定和驱动。构建3D数字人数据集:在VRoidHub上采集数据,得到13746个风格化角色…

青柠视频云——记一次大华摄像头公网语音对讲失败的问题分析

今天有客户反馈,使用大华摄像头接入青柠视频云,在公网环境下无法进行语音对讲,用户的设备是支持语音对讲的。 这是用户提供的注册截图,看起来也没什么问题,而且用户摄像头带有拾音功能和外放喇叭。 于是我们联系客户开…

Maple常用命令

1. 重启内核: restart 2. 化简式子 simplify(式子) 3. 引用前面出现的公式: CtrlL,在弹出的以下对话框中输入要引用的公式编号 4.