SDRAM的主要参数
(1) 容量。SDRAM的容量经常用XX存储单元×X体×每个存储单元的位数来表示。例如某SDRAM芯片的容量为4M×4×8bit,表明该存储器芯片的容量为16 M字节。或128 M bit。
(2) 时钟周期。它代表SDRAM所能运行的最大频率。显然,这个数字越小说明SDRAM芯片所能运行的频率就越高。
对于一片普通的PC-100 SDRAM来说,它芯片上的标识10代表了它的运行时钟周期为10 ns,即可以在100 MHz的外频下正常工作。例如芯片上标有7.5,表示它可以运行在133MHz的频率上。
(3) 存取时间。目前大多数SDRAM芯片的存取时间为5、6、7、8或10 ns,但这可不同于系统时钟频率。比如芯片厂家给出的存取时间为7 ns而不是存取周期。因此,它的系统时钟周期要长一些,例如10 ns,即外频为100 MHz。
(4) CAS的延迟时间。这是列地址脉冲的反应时间。现在大多数的SDRAM(当外频为100 MHz时)都能运行在CASLatency(CL)=2或3的模式下,也就是说,这时它们读取数据的延迟时间可以是两个时钟周期也可以是三个时钟周期。在SDRAM的制造过程中,可以将这个特性写入SDRAM的EEPROM中,在开机时主板的BIOS就会检查此项内容,并以CL=2这一默认的模式运行。
(5) 综合性能的评价。对于PC 100内存来说,就是要求当CL=3的时候,tCK(时钟周期) 的数值要小于10 ns,tAC要小于6 ns。至于为什么要强调是CL=3的时候呢,这是因为对于同一个内存条,当设置不同CL数值时,tCK的值很可能是不相同的,当然tAC的值也是不太可能相同的。总延迟时间的计算公式一般为:
总延迟时间=系统时钟周期×CL模式数+存取时间例如,某PC100内存的存取时间为6 ns,我们设定CL模式数为2(即CAS Latency=2),则总延迟时间=10 ns×2+6 ns=26 ns。这就是评价内存性能高低的重要数值。
SDRAM与一般DRAM的区别
SDRAM与标准DRAM的主要不同表现在:
(1) 异步与同步。前面介绍的标准DRAM是异步DRAM,也就是说对它读/写的时钟与CPU的时钟是不一样的。而在SDRAM工作时,其读/写过程是与CPU时钟(PC机中是由北桥提供的)严格同步的。
(2) 内部组织结构。SDRAM芯片的内部存储单元在组织上与标准DRAM有很大的不同。在SDRAM内部一般要将存储芯片的存储单元分成两个以上的体(bank)。最少两个,目前一般做到4个。这样一来,当对SDRAM进行读/写时,选中的一个体(bank)在进行读/写时,另外没有被选中的体(bank)便可以预充电,做必要的准备工作。当下一个时钟周期选中它读或写时,它可以立即响应,不必再做准备。这显然能够提高SDRAM的读/写速度。而标准DRAM 在读/写时,当一个读/写周期结束后,RAS和CAS都必须停止激活,然后要有一个短暂的预充电期才能进入到下一次的读/写周期中,其速度显然会很慢。标准的DRAM可以看成内部只有一个体的SDRAM。
为了实现内部的多体并使它们能有效地工作,SDRAM就需要增加对于多个体的管理,这样就可以控制其中的体(bank)进行预充电,并且在需要使用的时候随时调用。一个具有两个体(bank)的SDRAM一般会多一条叫做BA0的引脚,实现在两个bank之间的选择:一般地,当BA0是低电平时,表示Bank0被选择;而当BA0是高电平时,Bank1就会被选中。显然,若芯片内有4个体(bank)时,就需要两条引线来选择,通常就是BA0和BA1。
(3) 读/写方式。标准的DRAM的读/写都是每读/写一个存储单元,都按照一定的时序,在DRAM规定的读/写周期内完成存储单元的读/写。
这过程与CPU的时钟是异步的,不管CPU用几个时钟周期,只要满足CPU加到芯片上的读/写时间比DRAM所要求的长就可以。
对于SDRAM来说,对它的某一单元的读/写要同CPU时钟严格同步。所以,PC机的北桥芯片组主动地在每个时钟的上升沿给引脚发控制命令。这种情况在下面的时序中可以看到。
除了能够像标准DRAM那样一次只对一个存储单元读/写外,重要的是SDRAM还有突发读/写功能。突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所涉及到的存储单元(列)的数量就是突发长度(Burst Lengths,BL)。这种读/写方式在高速缓存Cache、多媒体等许多应用中非常有用。
(4) 智能化。在SDRAM芯片内部设置有模式寄存器,利用命令可对SDRAM的工作模式进行设置。一般标准DRAM只有一种工作模式,无需对其进行设置。
SDRAM的典型芯片
一种典型的SDRAM芯片如图所示。
(1) 引线。图所示的HYB25L35610AC-7.5是一片有54条引线的SDRAM芯片,它的各引线的功能如下:
A0~A12:地址输入引线,当执行ACTIVE命令和READ/WRITE命令时,用来决定使用bank内的哪个基本存储单元。
CLK:时钟信号输入引线。
CKE:时钟允许引线,高电平有效。当这个引脚处于低电平期间,提供给所有bank预充电和刷新的操作。
nCS:片选信号引线,用SDRAM 构成的内存条一般都是多存储芯片架构,这个引脚就用于选择进行存取操作的芯片。
nRAS:行地址选通信号线。
nCAS:列地址选通信号线。
BA0、BA1:bank地址输入信号线。BA信号决定了激活哪一个bank进行读/写或者预充电操作。BA也用于定义Mode寄存器中的相关数据。有两个BA信号就表明芯片内部有4个体。
DQML、DQMH:主要用于屏蔽输入/输出,功能相当于OE(输出允许)信号。它们分别用于屏蔽D0~D7和D8~D15。
VDDQ:DQ供电引脚,可以提高抗干扰强度。
VSSQ:DQ供电接地引脚。
VSS:内存芯片供电接地引脚。
VDD:内存芯片供电引脚,提供+3.3±0.3 V电源
SDRAM的分类与特点
SDRAM的主要参数的更多相关文章
- SDRAM,DRAM,SRAM,DDR的概念
一:SDRAM SDRAM(Synchronous Dynamic Random Access Memory),同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输 ...
- SDRAM 学习(三)之command
command 模块总述 SDRAM 的 command 模块的内容包括如下: 1.对初始化请求.配置模式寄存器.读/写.刷新.预充电等命令的一个优先级的控制. 2.对命令执行时间进行控制,依据如图1 ...
- 继续死磕SDRAM控制器
SDRAM控制器 博主上一篇介绍了一些SDRAM的基本原理是否有必要学习使用纯Verilog写一个SDRAM控制器,接下来记录SDRAM控制器的工作原理.首先是上电初始化. 上电初始化 时序图中,tR ...
- SDRAM读写操作
SDRAM读写操作 1.读操作 2.写操作 SDRAM所有时序参数都可以在芯片手册上查到.
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十八:SDRAM模块① — 单字读写
实验十八:SDRAM模块① — 单字读写 笔者与SDRAM有段不短的孽缘,它作为冤魂日夜不断纠缠笔者.笔者尝试过许多方法将其退散,不过屡试屡败的笔者,最终心情像橘子一样橙.<整合篇>之际, ...
- 第26章 FMC—扩展外部SDRAM
本章参考资料:<STM32F76xxx参考手册2>.<STM32F7xx规格书>.库帮助文档<STM32F779xx_User_Manual.chm>. 关于SDR ...
- 第26章 FMC—扩展外部SDRAM—零死角玩转STM32-F429系列
第26章 FMC—扩展外部SDRAM 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/ ...
- DDR SDRAM
DDR SDRAM(Double Data Rate SDRAM)是一种高速CMOS.动态随机访问存储器, 它采用双倍数据速率结构来完成高速操作.应用在高速信号处理系统中, 需要缓存高速.大量的数据的 ...
- SDRAM
环境:STM32F769discovery板 SDRAM芯片:用的MT48LC4M32B2B5-6A 16Mbyte (sdram和flash一般标的容量都是bit) 硬件图: 第一步 配置FM ...
随机推荐
- web应用虚拟目录的映射
1.新建一个web应用.在D盘新建一个news文件夹,文件夹下面新建一个html文件.如下图所示: 2.将web应用映射到服务器的虚拟目录 第一种方式: 2.1 用记事本打开tomcat目录下面的se ...
- 代码管理 – SVN
代码管理工具也用了不少年了,整理下. 管理工具比较 用过VSS,CVS,TFS,SVN还有一个微软内部使用的不记得什么名字了.这里进行一些简单比较,重点介绍SVN的用法. CVS历史悠久,1986年就 ...
- java 事件监听 - 鼠标
java 事件监听 - 鼠标 //事件监听 //鼠标事件监听 //鼠标事件监听有两个实现接口 //1.MouseListener 普通的鼠标操作 //2.MouseMotionListener 鼠标的 ...
- js正则表达式学习
//几种字符串操作:var str = 'abcdef'; alert(str.search('b')); //弹出1:返回的是b在str中的位置:如果找不到返回-1: alert(str.subst ...
- python中的thread
转载自: http://blog.sina.com.cn/s/blog_9f488855010198vn.html 正确与否未验证 python中得thread的一些机制和C/C++不同:在C/C++ ...
- XML中& <> 单引号' 双引号 " 报错
由于xml中 这些字符是特殊字符,所以把&改成& 就行了 ,注意后面一定要带一个分号; < < 小于号> > ...
- sed字符串替换
把drivers目录下的所有pr_log替换成:pr_snd sed -i "s/pr_log/pr_snd/g" `grep pr_log -rl drivers/` 把driv ...
- NGUI的localPosition和Position之间的关系
假设有子节点为child, 父节点为parent, 且都是Transform类型. 则: child.localPosition = (child.position - parent.position ...
- [转载]Java程序员使用的20几个大数据工具
最近我问了很多Java开发人员关于最近12个月内他们使用的是什么大数据工具. 这是一个系列,主题为: 语言web框架应用服务器SQL数据访问工具SQL数据库大数据构建工具云提供商今天我们就要说说大数据 ...
- 学习游戏渲染(Shader)的用处
本文在讨论的主题并不限于具体引擎或具体语言,为了说明方便可能会提到Unity的一些内容. 最近渐渐发现很多从事游戏开发的新人,对于学会写Shader似乎总是有几分神往,但一般入了门或者学了一段时间后 ...