一、基本概念
最熟悉的两个词语应该是ram与rom,ram(random access memory)的全名为随机存取记忆体,它相当于pc机上的移动存储,用来存储和保存数据的。它在任何时候都可以读写,ram通常是作为操作系统或其他正在运行程序的临时存储介质,它的一切都是最好的,唯一缺点断电一切东西都没有了。
一般情况下,现在移动设备也多了,我们叫它内存,更通常的叫运行内存。还有一个熟悉的词ddr2或ddr3,后面还会学习到的。
ram 有两大类,一种称为静态ram(static ram/sram),sram速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如cpu的一级缓冲,二级缓冲。
另一种称为动态ram(dynamic ram/dram),dram是通过在电容器中积累电荷来保存数据的存储元件,电容器中充电状态是1,放电状态是0,由于电容器中的电荷在一点时间后会衰减,所以dram需要定期重新写入数据的refrash操作,dram保留数据的时间很短,速度也比sram慢,不过它还是比任何的rom都要快。
但从价格上来说dram相比sram要便宜很多,计算机内存就是dram的。dram分为很多种,根据访问方式和规格的不同,分为不同的种类常见的主要有fpram/fastpage、edoram、sdram、ddr ram、rdram、sgram以及wram等。
ddr ram(double-date-rate ram)也称作ddr sdram,这种改进型的ram和sdram是基本一样的,不同之处在于它可以在一个时钟读写两次数据,这样就使得数据传输速度加倍了。
最早的为 fp dram,也称作快页内存,不过限于其定时刷新的工作原理,所以导致这种内存的数据存取速度并不快。但是这种内存却意外地成为了内存发展承上启下的关键因素。因为之后的内存规范,与fp dram在工作原理上可谓是非常相似。
随后edo ram出现在众人面前,这种内存也属于72pin simm内存的范畴,不过由于有着更大的容量和更先进的寻址方式,所以在486时代非常盛行。这种内存与fp dram原理大致相同,但是由于这种内存简化了数据访问的流程,所以在存取速度上要比传统的dram要快上不少。
速度虽然缓慢,看到了ram的重要性,出现了sdram。而第一代sdram被称为sdr sdram(single data rate sdram)。64bit的带宽与当时处理器的总线宽度保持一致,这就表示一条sdram就能够让电脑正常运行,这样大大地降低了内存的购买成本。
由于内存的传输信号与处理器外频同步,所以在传输速度上,dimm标准sdram要大幅领先于simm内存。sdram出世之时恰逢intel和amd的主频大战,无论是主频、倍频和外频都在不断进行变化。倍频和主频的提升对于内存来说并不是问题,真正的问题在于处理器外频的提高需要sdram工作在更高的频率上。
所以sdram的频率也经过了数次升级。从最早的pc66到pc133,从sdram频率的变化就能看出处理器外频的升级。而在超频市场中,为了能够让处理器外频达到更高的水平,市面上还出现了pc150、pc166等规格,可以说sdram在频率上更加灵活,性能也能够满足平台的需求。
ddr sdram英文名称为dual date rate sdram,从字面意思上也能知道,这种内存比第一代的sdr sdram多出一倍的传输速率。其秘密就在于ddr sdram在数据传输中同时使用了信号的上升沿和下降沿,这样在相同的时钟下,ddr sdram的传输速率得到了成倍的提高。
rom(read only memory)的全名为唯读记忆体,它相当于pc机上的硬盘,用来存储和保存数据。rom数据不能随意更新,但是在任何时候都可以读取。即使是断电,rom也能够保留数据。但是资料一但写入后只能用特殊方法或根本无法更改,但这么久了rom已经有了很大的发展,不再是最初的摸样了。
rom最初不能编程,出厂什么内容就永远什么内容,不灵活。后来出现了prom,可以自己写入一次,要是写错了,只能换一片,自认倒霉。人类文明不断进步,终于出现了可多次擦除写入的eprom,每次擦除要把芯片拿到紫外线上照一下,想一下你往单片机上下了一个程序之后发现有个地方需要加一句话,为此你要把单片机放紫外灯下照半小时,然后才能再下一次,这么折腾一天也改不了几次。
历史的车轮不断前进,伟大的eeprom出现了,拯救了一大批程序员,终于可以随意的修改rom中的内容了,这一段话就说出了rom的发展历程。
狭义的eeprom:这种rom的特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。这是最传统的一种eeprom,掉电后数据不丢失,可以保存100年,可以擦写100w次。具有较高的可靠性,但是电路复杂/成本也高。
它的改写是由高电压或者由控制端的逻辑电平来完成的。因此目前的eeprom都是几十千字节到几百千字节的,绝少有超过512k的。我们也就发现了eeprom的确可以实现随意读写,eeprom的全称是“电可擦除可编程只读存储器”,即electrically erasable programmable read-only memory。
可介绍的这两种都不存在大容量并且也十分昂贵,那我们平时见到的几十g的存储设备是什么?flash就应运而生了。flash属于广义的eeprom,因为它也是电擦除的rom。但是为了区别于一般的按字节为单位的擦写的eeprom,我们都叫它flash。flash做的改进就是擦除时不再以字节为单位,而是以块为单位,一次简化了电路,数据密度更高,降低了成本。上m的rom一般都是flash。
rom的应用
对数指数、三角函数等常规计算通过写出真值表,将自变量以地址码的形式输至rom,用rom表来实现。还有码制转换,例如二进制码转格雷码。脉冲序列发生器,伪彩色处理电路,也就是将一幅黑白图像变成彩色图像显示,将灰度图像对应到red , green , blue三个通道上,最后将三个通道的颜色值合成为需要显示的rgb颜色值即可。具体可参考 https://blog.csdn.net/huixingshao/article/details/42706699 。
接下来说一下flash的分类,flash分为nor flash和nand flash。nor flash数据线和地址线分开,可以实现ram一样的随机寻址功能,可以读取任何一个字节。但是擦除仍要按块来擦。nand flash同样是按块擦除,但是数据线和地址线复用,不能利用地址线随机寻址。
读取只能按页来读取。nor flash的读取,用户可以直接运行装载在nor flash里面的代码。nand flash没有采取内存ram的随机读取技术,它的读取是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的flash比较廉价。
用户不能直接运行nand flash上的代码,因此好多使用nand flash的开发板除了使用nand flah以外,还作上了一块小的nor flash来运行启动代码。nandflash引脚上复用,因此读取速度比nor flash慢一点,但是擦除和写入速度比nor flash快很多。
nand flash内部电路更简单,因此数据密度大,体积小,成本也低。因此大容量的flash都是nand型的。小容量的2~12m的flash多是nor型的。nor flash可以进行字节寻址,所以程序可以在nor flash中运行。嵌入式系统多用一个小容量的nor flash存储引导代码,用一个大容量的nand flash存放文件系统和内核。
蒸汽流量计如何在线校准
深度解析BMW i3驱动电机技术
了解人工智能发展的历史、趋势思索对商业世界产生的深远影响
微软高通互抱大腿 联手推进物联网业务
手机电池充电电路 (MIC4680组成的)
FPGA中ROM与RAM相关知识汇总
IRLR3110ZTRPBF HEXFET 功率 MOSFET 的详细资料
怎么接光耦两端的模拟地和数字地
基于NS4258的超低噪声D类双模式音频功放
如何串联Well Power电源
人工智能技术应用学什么
美国对中兴的禁售令,并不是只针对中兴的,对中兴影响几何?
[图文]制作靓声甲类功放
智能家居行业现状_智能家居新生态
北自所:实现“智造”,选对方案很重要
如何使用Substrate框架来构建自己的区块链
二极管工作原理知识讲解
华为P10预售来袭:大众期待的这个版本,消失了!
安捷伦为U4154A逻辑分析仪推出2.8 Gb/s入门级选件
投资者投资无人机、机器人无线充电