完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>
标签 > SDRAM
SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准
SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指内存工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
演变
SDRAM从发展到现在已经经历了五代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM,第五代,DDR4 SDRAM。
第一代SDRAM采用单端(Single-Ended)时钟信号,第二代、第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。
SDR SDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如pc100,pc133则表明时钟信号为100或133MHz,数据读写速率也为100或133MHz。
之后的第二,三,四代DDR(Double Data Rate)内存则采用数据读写速率作为命名标准,并且在前面加上表示其DDR代数的符号,PC-即DDR,PC2=DDR2,PC3=DDR3。如PC2700是DDR333,其工作频率是333/2=166MHz,2700表示带宽为2.7G。
DDR的读写频率从DDR200到DDR400,DDR2从DDR2-400到DDR2-800,DDR3从DDR3-800到DDR3-1600。
很多人将SDRAM错误的理解为第一代也就是 SDR SDRAM,并且作为名词解释,皆属误导。
SDR不等于SDRAM。
Pin:模组或芯片与外部电路连接用的金属引脚,而模组的pin就是常说的“金手指”。
SIMM:Single In-line Memory Module,单列内存模组。内存模组就是我们常说的内存条,所谓单列是指模组电路板与主板插槽的接口只有一列引脚(虽然两侧都有金手指)。
DIMM:Double In-line Memory Module,双列内存模组。是我们常见的模组类型,所谓双列是指模组电路板与主板插槽的接口有两列引脚,模组电路板两侧的金手指对应一列引脚。
RIMM:registered DIMM,带寄存器的双线内存模块,这种内存槽只能插DDR或Rambus内存。
SO-DIMM:笔记本常用的内存模组。
工作电压:
SDRAM:3.3V
DDR:2.5V
DDR2:1.8V
DDR3:1.5V
DDR4:1.2V
SDRSDRAM内存条的金手指通常是168线,而DDR SDRAM内存条的金手指通常是184线的。
几代产品金手指的缺口数及缺口位置也不同有效防止反插与错插,SDR SDRAM有两个缺口,DDR只有一个缺口。
关系
结构、时序与性能的关系一、影响性能的主要时序参数所谓的影响性能是并不是指SDRAM的带宽,频率与位宽固定后,带宽也就不可更改了。但这是理想的情况,在内存的工作周期内,不可能总处于数据传输的状态,因为要有命令、寻址等必要的过程。但这些操作占用的时间越短,内存工作的效率越高,性能也就越好。非数据传输时间的主要组成部分就是各种延迟与潜伏期。通过上文的讲述,大家应该很明显看出有三个参数对内存的性能影响至关重要,它们是tRCD、CL和tRP。每条正规的内存模组都会在标识上注明这三个参数值,可见它们对性能的敏感性。以内存最主要的操作——读取为例。tRCD决定了行寻址(有效)至列寻址(读/写命令)之间的间隔,CL决定了列寻址到数据进行真正被读取所花费的时间,tRP则决定了相同L-Bank中不同工作行转换的速度。现在可以想象一下读取时可能遇到的几种情况(分析写入操作时不用考虑CL即可):1.要寻址的行与L-Bank是空闲的。也就是说该L-Bank的所有行是关闭的,此时可直接发送行有效命令,数据读取前的总耗时为tRCD+CL,这种情况我们称之为页命中(PH,Page Hit)。2.要寻址的行正好是前一个操作的工作行,也就是说要寻址的行已经处于选通有效状态,此时可直接发送列寻址命令,数据读取前的总耗时仅为CL,这就是所谓的背靠背(Back to Back)寻址,我们称之为页快速命中(PFH,Page Fast Hit)或页直接命中(PDH,Page Direct Hit)。3.要寻址的行所在的L-Bank中已经有一个行处于活动状态(未关闭),这种现象就被称作寻址冲突,此时就必须要进行预充电来关闭工作行,再对新行发送行有效命令。结果,总耗时就是tRP+tRCD+CL,这种情况我们称之为页错失(PM,Page Miss)。显然,PFH是最理想的寻址情况,PM则是最糟糕的寻址情况。上述三种情况发生的机率各自简称为PHR——PH Rate、PFHR——PFH Rate、PMR——PM Rate。因此,系统设计人员(包括内存与北桥芯片)都尽量想提高PHR与PFHR,同时减少PMR,以达到提高内存工作效率的目的。二、增加PHR的方法显然,这与预充电管理策略有着直接的关系,目前有两种方法来尽量提高PHR。自动预充电技术就是其中之一,它自动的在每次行操作之后进行预充电,从而减少了日后对同一L-Bank不同行寻址时发生冲突的可能性。但是,如果要在当前行工作完成后马上打开同一L-Bank的另一行工作时,仍然存在tRP的延迟。怎么办? 此时就需要L-Bank交错预充电了。VIA的4路交错式内存控制就是在一个L-Bank工作时,对下一个要工作的L-Bank进行预充电。这样,预充电与数据的传输交错执行,当访问下一个L-Bank时,tRP已过,就可以直接进入行有效状态了。目前VIA声称可以跨P-Bank进行16路内存交错,并以LRU算法进行预充电管理。有关L-Bank交错预充电(存取)的具体执行在本刊2001年第2期已有详细介绍,这里就不再重复了。L-Bank交错自动预充电/读取时序图(可点击放大):L-Bank 0与L-Bank 3实现了无间隔交错读取,避免了tRP对性能的影响。三、增加PFHR的方法无论是自动预充电还是交错工作的方法都无法消除tRCD所带来的延迟。要解决这个问题,就要尽量让一个工作行在进行预充电前尽可能多的接收多个工作命令,以达到背靠背的效果,此时就只剩下CL所造成的读取延迟了(写入时没有延迟)。如何做到这一点呢?这就是北桥芯片的责任了。在上文的时序图中有一个参数tRAS(Active to Precharge Command,行有效至预充电命令间隔周期)。它有一个范围,对于PC133标准,一般是预充电命令至少要在行有效命令5个时钟周期之后发出,最长间隔视芯片而异(基本在120000ns左右),否则工作行的数据将有丢失的危险。那么这也就意味着一个工作行从有效(选通)开始,可以有120000ns的持续工作时间而不用进行预充电。显然,只要北桥芯片不发出预充电(包括允许自动预充电)的命令,行打开的状态就会一直保持。在此期间的对该行的任何读写操作也就不会有tRCD的延迟。可见,如果北桥芯片在能同时打开的行(页)越多,那么PFHR也就越大。需要强调的是,这里的同时打开不是指对多行同时寻址(那是不可能的),而是指多行同时处于选通状态。我们可以看到一些SDRAM芯片组的资料中会指出可以同时打开多少个页的指标,这可以说是决定其内存性能的一个重要因素。Intel 845芯片组MCH的资料:其中表明它可以支持24个页面同时处于打开状态但是,可同时打开的页数也是有限制的。从SDRAM的寻址原理讲,同一L-Bank中不可能有两个打开的行(S-AMP只能为一行服务),这就限制了可同时打开的页面总数。以SDRAM有4个L-Bank,北桥最多支持8个P-Bank为例,理论上最多只能有32个页面能同时处于打开的状态。而如果只有一个P-Bank,那么就只剩下4个页面,因为有几个L-Bank才能有同时打开几个行而互不干扰。Intel 845的MHC虽然可以支持24个打开的页面,那也是指6个P-Bank的情况下(845MCH只支持6个P-Bank)。可见845已经将同时打开页数发挥到了极致。不过,同时打开页数多了,也对存取策略提出了一定的要求。理论上,要尽量多地使用已打开的页来保证最短的延迟周期,只有在数据不存在(读取时)或页存满了(写入时)再考虑打开新的指定页,这也就是变向的连续读/写。而打开新页时就必须要关闭一个打开的页,如果此时打开的页面已是北桥所支持的最大值但还不到理论极限的话,就需要一个替换策略,一般都是用LRU算法来进行,这与VIA的交错控制大同小异。
SDRAM基础知识
在学习SDRAM之前,必须先了解“SDRAM”这个概念性的东西,并有感性的认识转变到一种理性的认识,所谓理性的认识就是实质性的东西……。不多说,相信你已经迫不急待了。那我们就开始了。
初识SDRAM
SDRAM的全称是:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
相信通过这段话,你已经知道什么是SDRAM了,这里面有几个概念性的东西需要我们好好了解:同步、动态、随机。
同步:这个词在FPGA设计之中我们经常会遇到它,它反映了驱动sdram必须遵守一种时序原则,就是数据/命令和时钟在时间上同时的概念,也是在驱动sdram时要十分注意的一点。
动态:RAM这中存储结构会掉电丢失,在上电的时候也会丢失。为什么?因为SDRAM内部存储的数据是二进制数据,非0则1。用来存储该二进制数据的电路是由电容构成的,由于电容这种器件会随着时间而慢慢放电,就像人的记忆一样,有些记忆会随着时间的流逝而淡忘了。很简单,如果你不想让某些事某些人淡忘,怎么办?就只有时不时地去回忆。那SDRAM不想“忘”了它的数据,怎么办,一样,也只有不断地回忆,就是不断地去刷新里面的存储电路。
随机:随机就是不指定为一次连续,也就是可以对SDRAM里面的随意地址进行读写操作。
SDRAM的历史
SDRAM从发展到现在已经经历了四代,分别是:第一代SDR SDRAM,第二代DDR SDRAM,第三代DDR2 SDRAM,第四代DDR3 SDRAM.
第一代SDRAM采用单端(Single-Ended)时钟信号,第二代、第三代与第四代由于工作频率比较快,所以采用可降低干扰的差分时钟信号作为同步时钟。
SDR SDRAM的时钟频率就是数据存储的频率,第一代内存用时钟频率命名,如pc100,pc133则表明时钟信号为100或133MHz,数据读写速率也为100或133MHz。
之后的第二,三,四代DDR(Double Data Rate)内存则采用数据读写速率作为命名标准,并且在前面加上表示其DDR代数的符号,PC-即DDR,PC2=DDR2,PC3=DDR3。如PC2700是DDR333,其工作频率是333/2=166MHz,2700表示带宽为2.7G。
DDR的读写频率从DDR200到DDR400,DDR2从DDR2-400到DDR2-800,DDR3从DDR3-800到DDR3-1600。
实验中要操作的SDRAM就是第一代SDRAM,虽然SDRAM经历了这么多次的更新换代,但其内部的架构还是相差无几,更多的是在速率和存储数量上的不同。
实验的SDRAM介绍
通过上面的两节,相信你已经对SDRAM已经有了大致的了解。现在就以实验中用到的SDRAM--HY57V641620ET-H(海力士的SDRAM)为一个例子对SDRAM的内部结果进行一个详细的介绍
HY57V641620ET-H的内部结构
通过上图可以看到SDRAM的“五脏六腑”,下面就来一一剖析:
SDRAM指令接口模块,这些信号组成了SDRAM的控制指令,控制指令通过“state machine”进行译码,由此产生了一系列的控制动作。
SDRAM地址线,其中包括块地址线、行地址线、列地址线,至于会有这么多线,是因为用到了总线复用,其行线和列线分时复用,从而节省了总线资源,又可以操作到SDRAM的全部存储单元。至于块地址线,下面会讲到。
SDRAM存储块和数据接口:HY57V641620ET-H内部存储由四个一模一样的存储块组成,至于怎么识别这四个存储块,必须要有两条地址线,所以就用到了上面的那两条地址线。
动作电路模块:这几个模块主要是根据“state machine”的译码结果进行工作的、包括行列地址的编码、自刷新定时和自刷新操作。
模式寄存器解码和突发操作模块:在对SDRAM的寄存器进行配置的时候,是通过地址线对SDRAM进行配置的,SDRAM中有一种突发操作模式,该模式由寄存器进行配置,所以该电路中包含一个突发操作的计数器。至于突发操作的原理下面会涉及到。
相信看到这里,你已经对SDRAM由感性的认识升级到实质性的认识,恭喜你,哈哈…。
HY57V641620ET-H的存储量
看到这之前相信你应该了解过不少SDRAM的资料,也相信很多资料中从未讲过SDRAM名称的问题,现在我就来帮你解析这个SDRAM
HY:代表是海力士的SDRAM存储器
57:代表这是SDRAM芯片
V:代表这个SDRAM芯片工作电压是3.3V
641620:代表这个SDRAM芯片的存储容量
ET:代表SDRAM的块反应时间和封装
H:代表SDRAM的速度等级
下面我们来计算下这个芯片的存储容量:
存储容量由存储深度和存储宽度决定,这是任何存储芯片存储容量的定义;
存储深度:HY57V641620ET-H内部有4个块,每个块有行地址12bit,列地址8bit
所以每个块就有2^12*2^8 = 4096*256=1048576个存储单元,4个块就有4*1048576=4194304个存储单元。
存储宽度:该SDRAM的数据位宽为16bit
存储容量:4194304*16bit = 67108864bit,就是64M
DDR4 SDRAM(Double Data Rate Fourth Synchronous Dynamic Random Access Memory)...
DDR SDRAM,全称为Double Data Rate Synchronous Dynamic Random Access Memory,即双数据率...
DRAM(Dynamic Random Access Memory),即动态随机存取存储器,是计算机系统中广泛使用的内存类型之一。它以其高速、大容量和相...
同步动态随机存储器(Synchronous Dynamic Random Access Memory,简称SDRAM)是一种基于同步时钟的DRAM。
SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机访问内存)是一种广泛应用于计算机系统和服务器中...
FeRAM,全称Ferroelectric RAM(铁电随机存取存储器),是一种基于铁电材料特性的非易失性存储器技术。它类似于传统的SDRAM(同步动态...
SDRAM(Synchronous Dynamic Random Access Memory),即同步动态随机存取存储器,是计算机系统中使用最广泛的内存...
类别:IC datasheet pdf 2022-12-05 标签:SDRAMDDR4
带有SDRAM开发板的SE PYRAMIDS Cortex M4F立即下载
类别:电子资料 2022-11-17 标签:控制器SDRAMCortex-M4F
DDR内存与SDRAM的区别 DDR4内存与DDR3内存哪个好
DDR内存与SDRAM的区别 1. 定义与起源 SDRAM (Synchronous Dynamic Random Access Memory) :同步...
康盈半导体推出DDR嵌入式存储芯片涵盖DDR3(L)和DDR4
只要出去吃饭、逛街,我们都会询问是否有WiFi,密码是多少。Wi-Fi早已成为人们生活和工作中必不可少的最基本的需求之一,WiFi6被认为是与5G平起平...
写了这么多FPGA的文章却从来没有涉及过国产FPGA,很多网友甚至不知道还有国产FPGA。下面列举一些国产FPGA公司以及产品。
全志A40和A50的区别 全志是一家致力于开发和销售中小尺寸智能多媒体芯片的公司,其在市场上推出了众多的芯片产品,其中包括全志A40和A50。这两款处理...
存储器静态随机存取(SRAM)只要这种内存保持通电,内部存储的数据就可以保持不变。当电力供应终止时,SRAM存储的数据仍将消退,这与切断电源后可以存储资...
MIMXRT1176支持8位列地址的SDRAM器件W9864G6
MIMXRT1176的开发板配套的 SDRAM是W9825G6KH,对应的列地址是9位的。
编辑推荐厂商产品技术软件/工具OS/语言教程专题
电机控制 | DSP | 氮化镓 | 功率放大器 | ChatGPT | 自动驾驶 | TI | 瑞萨电子 |
BLDC | PLC | 碳化硅 | 二极管 | OpenAI | 元宇宙 | 安森美 | ADI |
无刷电机 | FOC | IGBT | 逆变器 | 文心一言 | 5G | 英飞凌 | 罗姆 |
直流电机 | PID | MOSFET | 传感器 | 人工智能 | 物联网 | NXP | 赛灵思 |
步进电机 | SPWM | 充电桩 | IPM | 机器视觉 | 无人机 | 三菱电机 | ST |
伺服电机 | SVPWM | 光伏发电 | UPS | AR | 智能电网 | 国民技术 | Microchip |
开关电源 | 步进电机 | 无线充电 | LabVIEW | EMC | PLC | OLED | 单片机 |
5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
NB-IoT | LoRa | Zigbee | NFC | 蓝牙 | RFID | Wi-Fi | SIGFOX |
Type-C | USB | 以太网 | 仿真器 | RISC | RAM | 寄存器 | GPU |
语音识别 | 万用表 | CPLD | 耦合 | 电路仿真 | 电容滤波 | 保护电路 | 看门狗 |
CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
SDI | nas | DMA | HomeKit | 阈值电压 | UART | 机器学习 | TensorFlow |
Arduino | BeagleBone | 树莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 华秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |