1. 前言
最近在看赛普拉斯的一款芯片CYW8019规格书,里面有好几个内存的关键字(如下图的右上方),本文将聊它们的含义和作用。
2. Cache
Cache是集成在CPU内部的极高速缓存。一般来讲,它的访问速度几乎可以媲美CPU。CPU在访问Cache的时候几乎不会浪费多少时间,不过,速度的提升是用容量为代价的,容量很小。
为什么需要Cache ?当CPU访问内存的时候,并不是立刻就能访问到它想访问的内存,而是有个“WaitState”的过程。那么,把常用的数据放在Cache中,CPU在访问的时候直接访问Cache就行了,不用耗费时间去访问内存了。
在读内存的时候,CPU先读Cache,看看有没有想要的数据的“副本”,有的话直接读取,没有的话在去读内存。写内存时,CPU先将数据写在Cache中,Cache写满后更新到内存中,同时清空Cache。
3. RAM
RAM(Random Access Memory)随机存储器。内容可按需随意存取,且存取的速度与存储单元的位置无关,掉电丢数据。
按照存储信息的不同,分为静态堆积存储器(Static RAM,SRAM)和动态随机存储器(Danamic RAM,DRAM)。
SRAM 不需要刷新电路既能保存数据;DRAM每隔一段时间,需要刷新充电一次,否则内部的数据会消失。
SRAM具有较高性能,但是集成度低,既相同容量的DRAM内存可设计成较小的体积,而SRAM却需要很大的体积,且功耗较高。
SRAM速度非常快,是目前读写最快的存储设备了,而且不需要刷新。缺点是价格比较贵,所以只在要求很苛刻的地方使用,比如CPU的一级缓存,二级缓存。
DRAM保留数据的时间很短,速度也比SRAM慢,不过还是比任何的ROM都要快,价格上比SRAM便宜很多,计算机内存就是DRAM的。
SDRAM(Synchronous DRAM)即同步动态随机存储器。同步是指工作需要同步时钟,内部命令的发送与数据传输都已它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性一次存储,而是自由指定地址进行数据读取。
DDR RAM(Date-Rate RAM)也称作DDR SDRAM,这种改进型的RAM和SDRAM基本是一样的,不同之处在于它可以在一个时钟读取两次数据,这样就使得传输速度加倍了。这是目前电脑用得最多的内存,而且它有成本优势。
还有一种是PSAM,Pseudo static random access memory,指的是伪静态随机存储器。内部的内存颗粒跟SDRAM的颗粒相似,但外部的接口跟SRAM相似,不需要SDRAM那样负责的控制器和刷新机制,PSRAM的接口跟SRAM的接口是一样的。
4. ROM
ROM(Read-Only Memory)只读存储器,是一种只能读出事先存储的数据的固态半导体存储器 ,掉电不丢数据。ROM也有很多种,PROM是可编程的ROM,PROM和EPROM(可擦除可编程ROM)两者区别是:PROM是一次性的,也就是软件烧录后,就无法修改了,这是早期产品了,现在已经不可能使用了;而EPROM是通过紫外线的照射擦除原先的程序,是一种通用的存储器。
还有一种EEPROM是通过电子擦除,价格很高,写入时间很长。手机软件一般放在EEPROM中。
5. Falsh
闪存,是一种长寿命的非易失性(在断电情况下不丢数据)的存储器,数据删除不是以单个字节为单位而是以固定的区块为单位(注意:NOR Flash为字节存储),区块一般为256K到20MB。
Flash主要有两种:NOR Flash 和 NAND Flash。
任务Flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除操作。NAND Flash擦除十分简单,而NOR Flash则要求在进行擦除前要将目标块内所有的位都写1。
5.1 NOR Flash
NOR Flash的读取和我们常见的SDRAM的读取是一样的,用户可以直接运行装载在NOR Flash里面的代码,这样可以减少SRAM的容量从而节约成本。
一般小容量的用NOR Flash,因为其读取速度快,多用来存储操作系统等重要信息。
5.2 NAND Flash
NAND Flash没有采取内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价,在NAND Flash上不能运行代码。
一般大容量的用NAND Flash。
5.3 NOR Flash和NAND Flash性能对比
- NOR器件擦除时是以64 ~ 128KB的块进行的,执行一个写入/擦除操作的时间为5秒;NAND器件是以8 ~ 32KB的块进行的,执行相同的操作最多只需要4ms。
- NOR的读速度比NAND要稍快些。
- NOR可以在片内执行程序。
- NAND的写入速度要比NOR快很多。
- 大多数写入操作需要先将进行擦除操作,NOR要求在进行擦除前先将目标块内所有的位写为1。
- NAND的擦除单元更小,相应的擦除电路更少。
5.4 NOR Flash和NAND Flash接口对比
- NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易存取其内部的每个字节。
- NAND Flash使用复杂的I/O来串行地存取数据,各个产品或厂商的方法可能各个不相同。8个引脚用来传送控制、地址和数据信息。
6. 总结
作为合格的嵌入式工程师,内存的概念及应用场景是必需了解的知识点。了解内存的概念,可以更方便得熟悉整个系统的架构。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)