SDRAM (Synchronous Dynamic Random Access Memory)

        SDRAM 发展至今已历经五代,以其单位存储量大、高数据带宽、读写速度快、价格相对便宜等优点吸引了大批客户,占领市场较大份额。同时,作为内存条中不可缺少的有 一部分,SDRAM 在计算机领域也占有一席之地。

RAM分为SRAM和DRAM:

  • SRAM(Static Random-Access Memory),即静态随机存储器。
  • DRAM(Dynamic Random Access Memory),即动态随机存储器。
  • SDRAM(synchronous dynamic random-access memory),即同步动态随机存取内存。

1.SDRAM基本概念

        SDRAM 英文全称“Synchronous Dynamic Random Access Memory”,译为“同步动态随机存取内存”或“同步动态随机存储器”,是动态随机存储器(Dynamic Random Access Memory,简称 DRAM)家族的一份子。同步、动态、随机是其性能特点的外在说明,也是其区别其他存储器的特色标签。

        同步(Synchronous):与通常的异步DRAM 不同, SDRAM 存在一个同步接口,其工作时钟的时钟频率与对应控制器(CPU/FPGA)的时钟频率相同,并且SDRAM 内部的命令发送 与数据传输均以此时钟为基准,实现指令或数据的同步操作;

        动态(Dynamic): SDRAM 需要不断的刷新来保证存储阵列内数据不丢失;

        随机(Random):数据在 SDRAM 中并不是按照线性依次存储,而是可以自由指定地址进行数据的读写。 空间存储量大、读写速度快以及价格相对便宜等优点使其在存储界屹立不倒、经久不 衰,广泛应用在计算机中。随着时代的不断发展、技术的不断更新,SDRAM 使用至今已过数十载,产品更新历经五代,分别是:第一代 SDR SDRAM,第二代 DDR SDRAM,第 三代 DDR2 SDRAM,第四代 DDR3 SDRAM,第五代,DDR4SDRAM。

2.SDRAM数据存取原理

        简单来说,SDRAM 内部可以理解为一个存储阵列,这是SDRAM 区别于管道式存储,实现随机地址存取的结构特点。我们将 SDRAM内部存储阵列类比于一张表格,表格中的每一个单元格可以类比为存储阵列的单个存储单元。若想要实现存储阵列中的某一存储单元的数据读写操作,我们要通过行地址(Row Address)和列地址 (Column Address)(先行后列)精确定位到这一存储单元,进而进行数据的读写操作,这就是所谓的随机地址存取。SDRAM 存储阵列类比图,具体见下图:

        对于SDRAM,我们将类比于单元格的存储空间称之为存储单元,N(行列个数乘积)个存储单元构成一个存储阵列,这个存储阵列我们称之为一个逻辑 Bank(Logical Bank,简称 L-Bank、Bank)。

        SDRAM内部并不是一个全容量的L-Bank,而是分割为若干个L-Bank,目前大多为4 个。若干 L-Bank 的分割,原因有两个:

  • 1.是技术、成本等诸多因素;
  • 2.是由于 SDRAM 的工作原理限制,单一 L-Bank 可能会造成非常严重的寻址冲突,大幅度降低内存效率。

        这样一来,在对 SDRAM 进行数据存取时,要先确定 L-Bank 地址,定位到指定逻辑 Bank,再依次确定行地址和列地址,选中存储单元,进而进行数据的存取操作,而且一次只能对一个 L-Bank 的一个存储单元进行操作。

        SDRAM 的基本存储单位是存储单元,而一个存储单元的容量为若干个 Bit,对于 SDRAM 而言就是芯片的位宽,每个 Bit 存放于一个单独的存储体中,存储体是利用电容能 够保持电荷以及可充放电的特性制成,主要由行选通三极管、列选通三极管、存储电容以 及刷新放大器构成。电容所存储的电荷会随时间慢慢释放,这就需要不断刷新为电容充电,以保证存储数据可靠性。存储体示意图,具体见下图 :

        将每个存储单元简化为单 Bit 的存储体,再将若干存储体排列为矩阵,同一行将行地址线相连,同一列将列地址线相连,就构成了一个存储阵列的简化模型。SDRAM 内部存储阵列的简化模型,具体见下图:

3.SDRAM 的存储容量

    容量计算方法可简化为: 存储容量(Bit) = L-Bank 存储单元数 ×数据位宽(Bit) × L-Bank 个数

例:         “4Meg × 16 × 4Banks”才是表示 SDRAM 存储容量 的具体参数,其中“4Meg”表示单个 L-Bank 包含的存储单元的个数,计算方法为单个存 储阵列行地址数和列地址数的乘积,以此芯片为例,行地址总线为 A0-A12,行地址位宽为13位,行地址数为 8192 (2^13)行,列地址位宽为9 位,列地址数为 512(2^9)列,单个 L-Bank 中包含的存储单元个数为行地址数(8192)与列地址数(512)相乘,乘积为 4M(8192 × 512 = 4194306); “16”表示数据位宽,即每个存储单元存储数据的 bit 数;4Meg与16相乘表示单个 L-Bank 中可存储的 Bit 数;“4BANKS”表示一片SDRAM中包含的L-Bank个数,此SDRAM芯片包含 4个L-Bank;由此可得 SDRAM 芯片的存储容量为: 256MBit=(4Meg × 16 × 4BANKS)。

4.SDRAM 的操作命令

        分条列举一下 SDRAM 常用的操作指令,并对各操作指令做详细说明。注:H 表示高电平;L 表示低电平;X 表示无需关心。

        1. 禁止命令(Command Inhibit)

        禁止命令 (Command Inhibit) ,其他数据手册也称为取消设备选择命令 (Device Deselect),控制指令为{CS_N,RAS_N,CAS_N,WE_N} = 4’b1XXX。不论 SDRAM 处于何种 状态,此命令均可被执行,无需顾及 CKE 是否有效,即 CLK 是否使能,无需关心DQM、ADDR、DQ 的信号输入;执行此命令后,SDRAM 芯片不被选择,新的命令无法写入,但已经执行的命令不受影响。

        2. 无操作命令(No-operation)

        无操作命令(No-operation),也可称为空命令,简称为 NOP 命令,控制指令为 {CS_N,RAS_N,CAS_N,WE_N} = 4’b0111。不论 SDRAM 处于何种状态,此命令均可被写 入,该命令给被选中的 SDRAM 芯片传递一个空操作信息,目的是为了防止 SDRAM 处于 空闲或等待状态时,其他命令被写入,此命令对正在执行的命令无影响。 

        3. 配置模式寄存器命令(Load Mode Register)

        配置模式寄存器命令(Load Mode Register),也被称为 Mode Reigister Set,简称 LMR 命 令,控制指令为{CS_N,RAS_N,CAS_N,WE_N} = 4’b0000此命令只有所有 L-Bank均处于空闲状态时才可被写入,否则配置出错,而且在执行此命令后,SDRAM 必须等待相应的响应时间 tRSC(Register Set Cycle),模式寄存器配置周期后,才可写入新的命令。

        在写入此命令对 SDRAM 进行模式寄存器配置时,需要地址总线辅助寄存的模式设置,A0-Ax赋值不同对应寄存器配置不同模式,未使用的地址总线设置为低电平。   

        4.预充电命令(Precharge)

        预充电的作用就是关闭指定的L-Bank 或者全部L-Bank 中激活的行,预充电命令执行后,必须等待对应的等待时间 tRP(tRP(Precharge command Period),预充电命令周期),相对应的L-Bank 将可以被重新操作。预充电命令(Precharge)命令包括两类:全部预充电(Precharge All)和指定 L-Bank 预充电 (Precharge Bank),控制指令均为{CS_N,RAS_N,CAS_N,WE_N} = 4’b0010。当某个 L-Bank 执行预充电操作后,该 L-Bank 处于空闲状态,在下次读写操作之前必须重新激活。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值