赞
踩
在单片机中用来存储程序数据及常量数据或变量数据,凡是c文件及h文件中所有代码、全局变量、局部变量、’const’限定符定义的常量数据、startup.asm文件中的代码(类似ARM中的bootloader或者X86中的BIOS,一些低端的单片机是没有这个的)通通都存储在ROM中。
用来存储程序中用到的变量。凡是整个程序中,所用到的需要被改写的量,都存储在RAM中,“被改变的量”包括全局变量、局部变量、堆栈段。数据是CPU写入读出的,不是人为写入的。
ROM是只读存储器,CPU只能从里面读数据,而不能往里面写数据,掉电后数据依然保存在存储器中;RAM是随机存储器,CPU既可以从里面读出数据,又可以往里面写入数据,掉电后数据不保存,这是条永恒的真理,始终记挂在心。
http://m.elecfans.com/article/622818.html
rom最初不能编程,出厂什么内容就永远什么内容,不灵活。后来出现了prom,可以自己写入一次,要是写错了,只能换一片,自认倒霉。人类文明不断进步,终于出现了可多次擦除写入的EPROM,每次擦除要把芯片拿到紫外线上照一下,想一下你往单片机上下了一个程序之后发现有个地方需要加一句话,为此你要把单片机放紫外灯下照半小时,然后才能再下一次,这么折腾一天也改不了几次。历史的车轮不断前进,伟大的EEPROM出现了,拯救了一大批程序员,终于可以随意的修改rom中的内容了。
EEPROM的全称是“电可擦除可编程只读存储器”
Electrically Erasable Programmable Read-Only Memory
认识一下单词
特点:
EEPROM容量都比较小,通常用来存储一些小容量数据,例如系统的配置信息。像网卡的配置信息、PCI桥的配置信息都存储在93C46之类的芯片中。这种存储器一个比较好的特点是可以进行字节级编程,但是读写性能都很差。如果要进行大数据存储,是不能采用此类芯片的。
rom和ram各有特点不可兼得,技术在进步,eeprom可以兼得了,但容量太小,速度也不快。于是技术又进步,出现了FLASH,都兼得了。
和EEPROM相比,Flash存储芯片的一个特点是存储容量大,并且以块单元进行数据擦除操作,以Page页的方式进行数据读写。该类芯片都采用IO接口的方式与CPU相连,即通过命令的方式进行读写、擦除操作。
它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM 的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)。
flash分为nor flash和nand flash
nor flash
数据线和地址线分开,可以实现ram一样的随机寻址功能,可以读取任何一个字节。但是擦除仍要按块来擦。
nand flash
同样是按块擦除,但是数据线和地址线复用,不能利用地址线随机寻址。读取只能按页来读取。(nandflash按块来擦除,按页来读,norflash没有页)
由于nandflash引脚上复用,因此读取速度比nor flash慢一点,但是擦除和写入速度比nor flash快很多。nand flash内部电路更简单,因此数据密度大,体积小,成本也低。因此大容量的flash都是nand型的。小容量的2~12M的flash多是nor型的。
使用寿命上,nand flash的擦除次数是nor的数倍。而且nand flash可以标记坏块,从而使软件跳过坏块。nor flash 一旦损坏便无法再用。
因为nor flash可以进行字节寻址,所以程序可以在nor flash中运行。嵌入式系统多用一个小容量的nor flash存储引导代码,用一个大容量的nand flash存放文件系统和内核。
(Static Random-Access Memory,SRAM)
所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。
每个SRAM单元使用六晶体管电路(six-transistor circuit)和锁存器(latch)存储一个bit。(DRAM使用晶体管和电容器。)SRAM是易失性的,但如果系统通电,SRAM会保留存储的数据而无需重复充电。它对电噪声相当不敏感——电噪声是会对所需信号产生干扰的,不需要的电信号。由于它比DRAM更快且成本更高,因此通常作为CPU内存缓存或用于高端、高性能服务器运行。SRAM系统内存通常为20-40ns(纳秒)。
(Dynamic Random Access Memory)
DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。
每个DRAM单元使用一个晶体管另加一个电容器来存储一个bit,因此DRAM具有非常高的密度。像SRAM一样,DRAM也是易失性的。但与SRAM不同,DRAM每个单元必须周期性地进行刷新(预充电),因为电容器不可避免地存在漏电现象。它对电噪声很敏感。DRAM速度通常在60ns到100ns之间——仍然很快,但比SRAM慢。一般速度为20-40GB / s,连续的单元充电,使DRAM比SRAM具有更高的时延和带宽延迟。
SRAM和DRAM组成的器件数量差别,造成了价格的差异
https://blog.csdn.net/qq_17753903/article/details/82895415
DRAM一般用作计算机中的主存储器,即内存条。
SRAM一般用来作为计算机中的告诉缓冲存储器,即CPU或GPU中的Cache。
又在此基础上发展出其他的存储器
SDRAM——同步DRAM(SDRAM)是一种与CPU的时钟周期同步的DRAM,因此存储器的控制器确切地知道所请求的数据何时可以访问。这减少了访问时间并提高了内存性能。
DDR——双倍数据速率SDRAM(DDR SDRAM,大家习惯称DDR)是最新一代SDRAM。DDR提高了速度,降低了功耗,引入了刷新机制,并增加了CRC等安全功能。例如,DDR3传输IO数据的速度比其自身单元的速度快8倍,从而实现更高的吞吐量和更快的速度。(但它并没有降低时延)单芯片容量可以达到8GB,在实际应用中可有效翻倍至16GB。
SGRAM——同步图形RAM(Synchronous Graphics Random-Access Memory)是一个同步时钟的DRAM。SGRAM可以同时打开两个内存页面,以较低的成本模拟双端口。
VRAM——即Video RAM,是一种用于存储计算机图像数据的DRAM。VRAM充当用户显示监视器和处理器之间的帧缓冲器。处理器最初从主存储RAM读取视频数据并将其写入视频RAM格式。帧缓冲器将数字视频数据转换为模拟信号并发送到显示器。旧的VRAM是双端口的,这意味着当CPU处理器将一个新的帧写入视频RAM时,监视器将从视频中读取并更新其显示。
MDRAM——多BANK动态随机存取存储器(Multibank Dynamic RAM),是一种高性能VRAM。传统的VRAM通过呈现整个帧缓冲区以进行数据访问,而MDRAM将内存划分为32KB的BANK以进行并发访问。
EDRAM——增强型DRAM,将SRAM和DRAM结合起来,为2级缓存提供服务。通常是256字节的SRAM与DRAM配对。数据读取操作首先检查SRAM以获取所请求的数据,如果数据未存储在SRAM中,再检查DRAM。
WRAM——Window RAM(与Microsoft Windows无关)是一种高性能的双端口VRAM。它的架构比传统的VRAM产生大约25%的带宽,成本更低。它通过高性能数据读取实现此功能,用于文本绘制和块填充等操作。它采用真彩色(24位色),非常适合高分辨率图形显示器。
EDO DRAM——扩展数据输出DRAM(EDO DRAM),预先读取下一块存储器,同时将前一块发送到CPU,这使它的速度比标准DRAM快25%。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。