硬件系统工程师宝典(35)-----SDRAM是如何“提速”的?

news2024/12/23 12:11:17

各位同学大家好,欢迎继续做客电子工程学习圈,今天我们继续来讲这本书,硬件系统工程师宝典。

上篇我们了解了FLASH可分为NOR FLASH和NAND FLASH,NOR FLASH一般用于代码运行及擦除或编程较少的场合,NAND FLASH用于擦除、编程速度快,但是不用于直接运行代码的场合。今天我们来讲一讲SDRAM的相关知识。

SDRAM

SDRAM指同步动态随机存储器,同步指的是Memory工作需要同步时钟,内部命令发送和数据传输都以同步时钟为基准;动态指的是存储阵列要不断地刷新保证数据不丢失;随机指的是数据不是线性存储而是自由指定进行数据读/写。SDRAM的内部存储结构如下图所示:

​SDRAM内部的存储结构

我们在进行取址操作时,需要依次获取Bank数、行地址、列地址,从而找到要读取或写入的数据。在系统设计时,Memory的容量如下计算:

​例如,某SDRAM的行地址信号为A0~A12,列地址信号线为A0~A9,A11,数据信号线为DQ0~DQ7,位宽为8,Bank数是4,则Memory的容量是213*211*4*8bit=512Mbit。那么,我们在选型时,要确认Bank数、行地址数、列地址数是否和CPU匹配,Memory的位宽是否支持。

DDR SDRAM

DDR SDRAM(Double Data Rate SDRAM)是指双倍速率同步动态随机存储器。其中双倍指的是DDR内存除了像SDRAM一样在时钟上升期进行数据传输外,在时钟下降期也可以进行数据传输,因此DDR内存更快。

DDR SDRAM的Memory容量计算和SDRAM是一样的,DDR SDRAM在数据采样上不再依赖于时钟信号采样,而是采用DQS(数据选通信号,Data Strobe)进行采样。在写操作时,数据由CPU发往DDR,DDR数据接收端利用DQS的边沿对DQ进行采样;读操作时,数据由DDR发送给CPU,在接收端的存取器利用DQS的边沿对DQ采样。DDR SDRAM的数据采样依赖DQS信号,而地址、命令和控制信号等单端信号仍采用时钟信号采样。

DDR2 SDRAM

DDR2 SDRAM简称DDR2,是第二代双倍数据率同步动态随机存取存储器(Double-Data-Rate Two Synchronous Dynamic Random Access Memory)。DDR2的实际工作频率是DDR的两倍,得益于DDR2内存拥有两倍于DDR内存的预读取能力,如下图所示:

​DDR和DDR2预读取能力的对比

除了预读取能力的提升,DDR2 SDRAM既可以采用单端DQS信号,也可采用差分DQS信号,使用差分信号以减少信号串扰的影响。另外,DDR2 SDRAM采用SSTL-1.8电平,在相同存储容量和相同数据传输率的情况下,DDR2具有更低的功耗。

DDR3 SDRAM

DDR3是在DDR2基础上采用的新型设计,与DDR2 SDRAM相比具有功耗、发热量较小、工作频率更高等优势。DDR3的内部是一个存储阵列,类似一张表格,将数据“填”进去,如下图所示:

​DDR3存储阵列的等效表格

那么,我们芯片寻址就跟检索表格一样,先指定一个行(Row),再指定一个列(Column),就可以准确地找到所需要的单元格(存储单元),这个表格对应的就是逻辑Bank(Logical Bank)。图中黑格的位置表示根据寻址命令B1、R2、C6确定的位置,寻址的流程也就是先指定Bank地址,再指定行地址,然后指定列地址,最终确定寻址单元。

DDR3和DDR2的信号种类是一样的,其中DDR3不再支持单端DQS数据选通信号,全部采用差分数据选通信号,DDR3对DQS与Clock没有严格的时序要求,而DDR2对DQS与Clock有严格的时序要求。DDR3供电采用1.5V,接口电平逻辑满足SSTL_1.5V。

DDR4 SDRAM

内存颗粒的演变如下图所示:

​内存颗粒的演变

可以看出,DDR4在2014年开始崛起,在2015年后开始迅速占领市场。DDR4内存的运行频率提升至2133~4266MHz,电压降低至1.2V、1.1V。另外,与DDR3相比,DDR4的接口引脚增加了,ACT_n命令激活输入信号,BG0-BG1用于选择哪个Bank被激活,PAR输入命令和地址信号的奇偶校验,ALERT_n报警的输入和输出信号,VPP用于DRAM激活的2.5V供电引脚等。


另外,整理了一些电子工程类的资料,分享给大家,目前有模拟电路、单片机、C语言、PCB设计、电源相关、FPGA、EMC、物联网、Linux相关学习资料,还有针对大学生的资料包,后续还会有更多资料分享给大家,助力大家学习,成就梦想~

关注同名公众号领取资料~

链接也可在往期文章中找(在文章的最后有链接)~

模拟电路设计的九个级别,你是模电几段?

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

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

相关文章

【CSS】3D卡片效果

效果 index.html <!DOCTYPE html> <html><head><title> Document </title><link type"text/css" rel"styleSheet" href"index.css" /></head><body><div class"card"><img…

C# XML文档相关操作

C# 创建XML文档 XML文档知识点创建XML文档向XML中追加读取XML文档读取带属性的XML文档删除节点 XML文档知识点 XML 是可扩展的标记语言 XML:用来存储数据 注意点&#xff1a;XML是严格区分大小写的&#xff0c;XML标签也是成对出现的 XML文档有且只能有一个根节点&#xff1b;…

【浪费了我两个小时时间】Microsoft store无法加载页面0x80131500

绕的圈&#xff0c;踩的坑 谷歌搜索&#xff0c; newbing搜索都叫我清理缓存&#xff0c;重新安装等方法。 还被这篇文章误导了一下&#xff1a;微软应用商店错误代码0x80072EFD怎么办&#xff1f;&#xff08;已解决&#xff09; 加上重启电脑各种试不行。 最后想到要去改代…

Maven发布项目到Nexus私服

项目pom配置 在项目pom.xml中文件中的仓库配置&#xff0c;Nexus私服如何搭建在这里不介绍了可自行百度。 <distributionManagement><repository><id>releases</id><name>Nexus Release Repository</name><url>http://私服地址:34…

C++设计模式之桥接设计模式

文章目录 C桥接设计模式什么是桥接设计模式该模式有什么优缺点优点缺点 如何使用 C桥接设计模式 什么是桥接设计模式 桥接设计模式是一种结构型设计模式&#xff0c;它可以将抽象接口和实现分离开来&#xff0c;以便它们可以独立地变化和扩展。 该模式有什么优缺点 优点 灵…

定时任务之Springboot整合Quartz详解

文章目录 一、什么是Quartz二、为什么使用Quartz1、为什么要用定时任务2、为什么使用Quartz 三、常见开源定时任务的框架的异同四、Quartz的相关概念五、Quartz的使用&#xff08;此处讲解使用主要流程&#xff09;六、开源引擎框架与业务如何结合使用 一、什么是Quartz quartz…

springboot通过springdata整合es7.x

首先要明确通过springdata操作es必须要将版本号和es的版本号对应上&#xff0c;否则会报错&#xff08;倒不用完全一一对应&#xff0c;但版本号最好不要相差太多&#xff09;。springdata引入的版本号由springboot的版本号决定&#xff0c;对应关系如下&#xff1a; 这里我用…

一起来学习怎样将文档翻译成中文的同时维持原有格式

在快节奏的现代生活中&#xff0c;文档翻译软件成为我们处理多语言文本的得力工具。然而&#xff0c;当我们使用文档翻译软件时&#xff0c;有时会面临一个头疼的问题&#xff1a;即使翻译出了准确的词句&#xff0c;但格式却完全没有保留下来。这时候&#xff0c;我们怎么办呢…

常见OOM异常分析排查

常见OOM异常分析排查 Java内存溢出Java堆溢出原因解决思路总结 Java内存溢出 java堆用于存储对象实例,如果不断地创建对象,并且保证GC Root到对象之间有可达路径,垃圾回收机制就不会清理这些对象,对象数量达到最大堆的容量限制后就会产生内存溢出异常. Java堆溢出原因 无法在…

mysql月统计数据,没有的填充为0

要按时间戳字段按月份分组查询记录表&#xff0c;可以使用DATE_FORMAT函数将时间戳字段格式化为年月格式&#xff0c;然后将结果按照该字段进行分组。 SELECT a.month month,ifnull(b.count, 0) count FROM (SELECT 1 month UNION ALL SELECT 2 month UNION ALL SELECT 3 mont…

为何企业和开发团队应该重视进行兼容性测试

随着科技的不断进步和软件的广泛应用&#xff0c;保证软件在不同平台和环境下正常运行变得至关重要。本文将探讨软件兼容性测试的重要性和好处&#xff0c;并介绍为何企业和开发团队应该重视进行兼容性测试&#xff0c;以确保软件的稳定性和用户体验。 提供用户友好的体验 软件…

xcode 的app工程与ffmpeg 4.4版本的静态库联调,ffmpeg内下的断点无法暂停。

先阐述一下我的业务场景&#xff0c;我有一个iOS的app sdk项目&#xff0c;下面简称 A &#xff0c;以及运行 A 的 app 项目&#xff0c;简称 A demo 。 引用关系为 A demo 引用了 A &#xff0c;而 A 引用了 ffmpeg 的静态库&#xff08;.a文件&#xff09;。此时业务出现了 b…

线程、进程和管程

一、线程 1.1 定义 线程&#xff1a;线程是进程中的实体&#xff0c;一个进程可以拥有多个线程&#xff0c;一个线程必须有一个父进程。线程有时被称为轻量级进程&#xff0c;是程序执行流的最小单元。 线程的组成部分&#xff1a; 1. 线程ID&#xff1a;线程标识符 2. 当前…

【python】python求解矩阵的转置(详细讲解)

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

Linux服务器安装JDK20

一、下载安装包 访问官网&#xff0c;找到JDK20&#xff0c;复制下载链接 我复制的链接是&#xff1a;JDK20 二、Linux服务器操作 1.服务器根目录下创建一个新的文件夹 cd /mkdir jdkscd /jdks2.将下载好的jdk-20上传到jdks下 3.解压缩 tar -zxvf jdk-20_linux-x64_bin.tar…

ClickHouse目录结构

默认安装路径&#xff1a;/var/lib/clickhouse/ 目录结构&#xff1a; 主要介绍metadata和data metadata 其中的default、system及相应的数据库&#xff0c;.sql文件即数据库创建相关sql语句 进入default数据库&#xff08;默认数据库&#xff09;&#xff1a; 可以看到数据库…

Java电子招投标采购系统源码-适合于招标代理、政府采购、企业采购、等业务的企业 tbms

&#xfeff;功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&…

明星广告代言指南:遵循行业规范保持诚信

明星广告代言是一种常见的市场营销策略&#xff0c;通过邀请知名明星为品牌或产品代言&#xff0c;以增加品牌曝光和销售额。媒介拥有的3000多位一二线明星的合作资源&#xff0c;包括演员、歌手、主持人等各种类型的明星&#xff0c;可以为企业提供签售会、产品发布会、品牌推…

手写一个锁其实也很easy

懵逼的状态&#xff1a; 面试中经常被问到&#xff0c;如何手写一个锁&#xff0c;很多时候一脸懵逼&#xff0c;不知所措&#xff0c;多少年前深有体会&#xff0c;然而回过头来细细分析&#xff0c;只需使用AtomicReference类 即可以轻松搞定。首先咱们先来了解一下Atomi…

6.s081/6.1810(Fall 2022)Lab2: System calls

文章目录 前言其他篇章参考链接0. 前置准备1. System call tracing (moderate)简单分析Hint 1Hint 2Hint 3Hint 4Hint 5测试 2. Sysinfo (moderate)声明实现框架用户态与内核态交互计算空闲内存的大小计算非UNUSED进程的数量 测试 3. 总测试 前言 这个lab主要介绍了用户态到内…