DDR时序简介

前言

前阵子公司倒闭了,最近面试常被问到 DDR 的问题,这篇文章主要对 DDR 的时序进行梳理。

Branch Education 做过一个 DDR 的科普视频,油管和B站都有,里面对 DDR 的原理和工作机制讲的挺详细的,这里不做赘述。

本文参考了 “What Every Programmer Should Know About Memory”,该文写作于2007年,那会儿应该还只有 DDR2,不过从基本原理的角度而言,这篇文章写的很好。如果想对比各代 DDR 的异同,可以参考这个系列的文章 深入理解DDR:DDR的演进

DRAM 的时序

以下简称供对照:

  • DDR SDRAM: Double Data Rate Synchronous Dynamic Random Access Memory 双数据率同步动态随机存储器
  • RAS: row address selection 行地址选择
  • CAS: column address selection 列地址选择
  • DQ: Data In/Out 数据的输入输出

在这里插入图片描述

我们先只讨论CLK、RAS 和 CAS 信号以及地址和数据总线。读取周期始于内存控制器将 RAS 信号置低,并使行地址在在地址总线上可读。设置行地址后 RAM 芯片开始锁存寻址的行。

CAS 信号可以在 t R C D t _{RCD} tRCD(RAS-to-CAS 延迟)时钟周期后发送。然后通过在地址总线上提供列地址并拉低 CAS 线来传输列地址。在这里,我们可以发现,行地址和列地址是通过一条总线进行传输的。

现在寻址已完成,可以传输数据了。 RAM 芯片需要一些时间为此做好准备。该延迟通常称为 CAS 延迟 (CL)。CAS 延迟用时钟周期表示,在上图中为 2。它具体取决于内存控制器、主板和 DRAM 模块的质量。由于DDR是双边沿的,所有延迟也可以为半值,当 CL=2.5 时,第一个数据将在蓝色区域的第一个下降侧可用。随着内存频率的提高,我们往往会发现CL的值(周期)越来越大,但实际上换算成延迟时间是不断减小的。

在这里插入图片描述

前图并未涵盖整个周期,它仅显示访问 DRAM 的整个周期的一部分。在发送新的 RAS 信号之前,必须停用当前锁存的行,并且必须对新行进行预充电。发出预充电命令后,需要 t R P t_{RP} tRP(行预充电时间)周期才能选择该行。上图中,大部分时间(由紫色表示)与内存传输(浅蓝色)重叠,这很好!但 t R P t_{RP} tRP 大于传输时间,因此下一个 RAS 信号会停滞一个周期。

SDRAM 模块还有一个我们尚未讨论的时序值。在上图中,预充电命令仅受数据传输时间的限制。另一个限制是 SDRAM 模块在 RAS 信号之后需要一段时间才能对另一行进行预充电(表示为 t R A S t_RAS tRAS)。这个数字通常相当高,大约是 t R P t_{RP} tRP 值的两到三倍。如果在 RAS 信号之后仅跟随一个 CAS 信号并且数据传输在几个周期内完成,则会出现问题。假设在上图中,初始 CAS 信号之前就直接有一个 RAS 信号,并且 t R A S t_RAS tRAS 为 8 个周期。那么预充电命令必须延迟一个额外的周期,因为目前 tRCD、CL 和 tRP 之和(因为它大于数据传输时间)仅为 7 个周期。

DDR 模块通常使用特殊符号来描述:w-x-y-z-T。

在这里插入图片描述

实际的 DDR

现在来看一个实际的 DDR 芯片手册(三星 4Gb D-die DDR3 SDRAM),首先来看有那些引脚:

在这里插入图片描述

可对引脚进行分类:

  • 地址:
    • A0-A14,输入信号,用于提供行列地址信息,其中A10和A12有功能复用。
    • BA0-BA2:用以选择Bank;
  • 数据信号:DQ0-DQ7,双向信号,用以读取或写入数据。
  • 时钟信号:CK,输入信号,提供差分时钟,用以同步所有外部命令及数据传输。
  • 控制信号:
    • CKE:用以控制时钟信号的启用禁用,以及不同模式下的功耗;
    • CS:Rank选择;
    • RAS、CAS、WE等,此前时序图中有所介绍;
  • 电源,地:可分为不同域的电源。

如果是多个DDR如何进行连接?地址线,控制线等可进行复用,信号线则需要独立连接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值