前言

最近着手一个需要进行数据采集的课程设计,考虑采用DDR SDRAM对数据进行存储以便进行下一步处理,遂开始相关内容的学习。如果你也是初学者,推荐观看小梅哥(B站ID:小梅哥爱漂流)的存储器原理详解视频,以及《高手进阶,终极内存技术指南》这篇写于20年前的科普文章。本文是根据CSDN上各位前辈的博客以及其他互联网资源完成的,对于一些不甚理解的点掺杂有主观的见解,如有错误,敬请指正,还望海涵!

一、相关概念

SDRAM(同步动态随机存取存储器):英文全称synchronous dynamic random-access memory;synchronous(同步)是指该RAM的时钟频率与对应控制器(北桥、CPU、FPGA)的系统时钟频率相同,而且内部命令的发送与数据传输都以该时钟为基准(数电概念里的同步时序);dynamic(动态)是指其由电容构成的存储阵列需要不断的刷新来保证数据不丢失(数集概念里对电容不断刷新的动态逻辑),这不同于SRAM;random-access(随机存取)是指可以随意指定地址对其上数据进行读出和写入,这点不同于FIFO和传统的ROM。

下图给出了SRAM和DRAM的基本结构。显然,SRAM的存储单元是由6个MOS管组成的,而DRAM的存储单元只需一个MOS管和一个电容。

图一 SRAM(左)和DRAM(右)的基本结构

这里插一嘴,现如今的主流ROM早就不是Read-Only,甚至大行其道的列于ROM门下的flash memory(广泛用于U盘、SD卡、SSD、BIOS)也早就可以实现类似于RAM的功能了,ROM在多次迭代创新下,早已背离了“自我”,这也许就是现代意义上的“忒修斯之船”吧。同样的,FIFO认为是由普通SRAM改进而来的,一些教材上也称之为一种SRAM,然而它连random-access都做不到,怎能是一种RAM呢?

存储阵列(Memory Array):对于Memory Array的定义并不统一,但总是可以将其视为一个由行(Row)和列(Column)组成的二维数据表。第一种定义下,定义该数据表每个格点上存储着一个1-bit的二值数据(即0或者1);那么,只要给定Row和列Column,我们就可以找到对应的1-bit数据。第二种定义下(也是更常见的定义),定义数据表每个格点上存储着一个n(即内存颗粒的位宽)-bit的数据;此时,可以认为该Memory Array是由n个第一种定义下的Memory Array叠加而成,所以该Memory Array亦即下述的L-Bank。

逻辑Bank(Logical Bank、L-Bank、Bank):一个L-Bank由n(即内存颗粒的位宽)个第一种定义下的Memory Array叠加组成。对于给定的L-Bank,只要再给定row和column,就能取到一个n-bit的数据,这个n-bit数据称为一个存储单元(Cell、Word)。

内存颗粒:由多个L-Bank组成。具体数量是由内存颗粒厂商决定的。

物理Bank(Physical Bank、P-Bank、Rank):现如今主流的CPU都是64位的,这就意味着CPU要从内存条上同时读/写64-bit的数据,而内存颗粒的位宽只能达到4、8、16,这就需要把多个内存颗粒并行拼接,将总位宽扩展至64-bit,才能供给CPU使用。各个内存颗粒的同一编号的Bank就组成了一个P-Bank。以64位OS为例,当Memory controller寻址给定编号的L-Bank、row和column时,就会有一个64-bit的数据空间被选中。

内存条:由多个内存颗粒及外围电路构成。具体数量是由内存颗粒位宽和总线(Bus)位宽共同决定的。

二、各个频率、速率

核心频率(内核频率):内存颗粒内的振荡频率,是内存颗粒内部真正的工作频率。

时钟频率(I/O频率、工作频率):Bus上的时钟频率,亦即内存颗粒时钟引脚上的频率。

等效频率:由于DDR SDRAM的特性,其在时钟的上升沿和下降沿均可以传输数据,所以称时钟频率的两倍为等效频率,该频率亦即内存条上标称的内存频率。

数据传输速率(单位:Mbps):指Bus上一根数据线的数据传输速率,数值上等于等效频率。

带宽(单位:Gbps、Mbps):对于64-bit OS而言,由于bus是64-bit的,内存条的带宽自然是数据传输速率(单位:Mbps)的64倍。

数据传输速率(单位:MT/s):MT/s是指每秒传输数据的个数。个人观点:若认为该数据是指bus上一根数据线上的数据,则数据传输速率(单位:Mbps)和数据传输速率(单位:MT/s)是同一个概念;若认为该数据是指bus的全部数据,则带宽(单位:Gbps、Mbps)和数据传输速率(单位:MT/s)是同一个概念。

核心频率:多年来变化不大,典型值:100MHz、133MHz、166MHz、200MHz

工作频率=核心频率*(预取位数/2)

等效频率=工作频率*2=核心频率*预取位数

数据传输速率(单位:Mbps)=等效频率(数值上)

带宽(单位:Mbps)=数据传输速率(单位:Mbps)*(系统位宽(对于内存条而言)或内存颗粒位宽(对于颗粒而言)

SDRAM、DDR SDRAM 学习笔记相关推荐

  1. SDRAM/DDR/DDR2学习笔记

    在说明初始化之前先了解一下SDRAM的一些基础知识吧. SDRAM (Synchronous Dynamic Random Access Memory),同步动态随机存储器.同步是指其时钟频率与CPU ...

  2. 嵌入式存储设备学习笔记

    更多内容可关注微信公众号 ##各种非易失性存储设备 ###ROM/PROM/EPROM/EEPROM 在NOR/NAND flash出现之前,主要的非易失性存储设备是EPROM和EEPROM. ROM ...

  3. DDR SDRAM 学习笔记 —— SPPR

    DDR SDRAM 学习笔记 -- SPPR 以下是翻译 JESD79-4B,同时加一些自己的理解,欢迎讨论. 介绍:Soft Post Package Repair 简称为 SPPR,主要是针对内存 ...

  4. SDRAM学习笔记(eg. W9825G6KH)

    声明1. 本文是博主学习<高手进阶,终极内存技术指南>一文时所记录的学习笔记,文中内容和图片大部分来源于此文. 声明2. 本文所用到的SDRAM学习资料下载链接,感谢硬汉哥! 文章目录 一 ...

  5. 学习笔记——SDRAM学习

    1.SDRAM介绍   SDRAM: (Synchronous Dynamic Random Access Memory)同步动态随机存储器.同步是指其时钟频率与CPU前端总线的系统时钟频率相同,并且 ...

  6. XILINX DDR4 SDRAM(MIG)笔记2(基于VU9P FPGA)

    XILINX DDR4 SDRAM(MIG)笔记1(基于VU250 board)https://blog.csdn.net/linpeng_9527/article/details/105451043 ...

  7. [攻克存储] 掌握SDRAM/DDR的结构与寻址

    本系列前面两篇文章<[攻克存储] SRAM地址线的连接>和 <[攻克存储] 存储芯片的写屏蔽及扩展>已经介绍了SRAM芯片的地址线连接方法以及存储芯片的写屏蔽扩展,这两篇文章基 ...

  8. DDR SDRAM的内部结构Cell Structure

    最近想对DDR了解多一点,看标准的时候发现有些概念还是不清楚,比如预充电Precharge是什么?刷新Refresh,又是为什么?要知道这些问题的答案,就需要知道DDR内部存储单元结构,通过查阅资料, ...

  9. 认识DDR SDRAM

    DDR SDRAM是double data rate synchronic dynamic random access memroy的英文缩写, 中文解释为双端速率的同步动态随机存储器.DDR,表示D ...

最新文章

  1. 小A与任务 (贪心 优先队列)
  2. C标准库 limits.h
  3. [luogu5004]专心OI - 跳房子【矩阵加速+动态规划】
  4. 找到 mysql 数据库中的不良索引
  5. 在ASP.NET中怎么用SESSION判断用户是否登录
  6. OLTP 数据库特点
  7. controller调用controller的方法_你想过 Controller 这些方法里的参数是如何工作的吗?...
  8. Collecting Bugs POJ - 2096(基础概率dp+期望模板)
  9. [资源分享] TensorFlow 官方中文版教程来了
  10. php防撞库,叉车防撞预警系统的必要性
  11. 消除ie上的:为了有利于保护安全性,IE已限制此网页运行可以访问计算机的脚本或 ActiveX 控件...
  12. 如果你想靠写作变现,一定要看看下面这3点
  13. 职工工作量c语言调试分析,c语言职工工作量统计
  14. 第七章 面向对象分析
  15. python求最值_python求极值点(波峰波谷)
  16. 计算机磁盘在线分区,电脑硬盘分区知多少 怎么分区才合理?
  17. SketchUp:SketchUp草图大师经典案例之利用跟随路径工具工具设计椭球图文教程
  18. python extractor_Python extractor
  19. 旷厂练习生 Vol.16 | 两次进入研究院里的“研究院”实习是种什么体验?
  20. Android Beacon 开发(IBeacon)

热门文章

  1. java毕业设计基于Web生鲜O2O订购平台的设计与实现mybatis+源码+调试部署+系统+数据库+lw
  2. 博士申请 | 美国普渡大学张如琪老师组招收机器学习方向博士/硕士/实习生
  3. 三连冠!P30 Pro获得TIPA最佳拍摄智能手机大奖
  4. 【隧道篇 / IPsec】(5.2) ❀ 05. IPsec - 点对多星状拓扑 ❀ FortiGate 防火墙
  5. Issue问题模板_v1.0.3
  6. 小林和单字母.CN域名的那些事(下)
  7. vue-element-admin - 最新完美解决项目是英文的问题,将英文变成中文的汉化处理详细教程(克隆完项目后不是中文的解决方法)
  8. 基于睿思BI-开源商业智能系统实现数据快速可视化
  9. 干货|利用Python自动根据数据生成降雨量统计分析报告
  10. 博客网页制作基础大二dw作业 web课程设计网页制作 个人网页设计与实现 我的个人博客网页开发