//存储器种类
计算机用存储器来存储数据和代码两部分内容。
要根据储器掉电后存储的内容是否丢失,分成“易失性存储器”和“非易失性存储器”两大类。
一般的易失性存储器存储速度快如内存,非易失性存储器能长期保存数据如硬盘。
RAM存储器
1、命名:
RAM=random access memory,翻译为随机访问存储器。历史原因和磁鼓存储器的顺序读写有关,现在代指易失性半导体存储器。
2、分类:
根据存储机制,分为DRAM动态随机存储器和SRAM静态随机存储器。
===
3、DRAM==dynamic RAM;
存储单元以电容电荷来表示数据, 电容有电代表1,否则为0。时间长了有电的电容会放电,无电的电容会吸收电,因此需要定期刷新,这就是dynamic表示的特性。分类:
[1]SDRAM==synchronous DRAM
根据通讯方式不通过,分成同步DRAM和异步DRAM两种,这两种方式根据通讯时是否需要时钟来区分。利用时钟进行同步通讯的时序,上升沿表示有效数据:
SDRAM=用时钟同步的通讯方式速度更快,使用更广泛。
[2]DDR SDRAM==double data rate SDRAM
SDRAM只在上升沿表示有效数据,一个时钟周期内只能表示一个数据;而DDR SDRAM在时钟的上升沿和下降沿各表示一个数据,一个时钟周期内能表示2个数据,同频率下提升一倍速度。
DDRII和DDRIII ,通讯方式并没有区别,主要是通讯同步时钟的频率提高了。
4、SRAM
static RAM; 存储单元以锁存器来存储数据,这种电路结构不需要定期刷新充电,所以相对成为static。也有同步SSRAM和异步SRAM。
5、DRAM和SRAM的应用场合
SRAM一般只用于CPU内部的高速缓冲Cache,而外部扩展的内存使用SDRAM。
@在 STM32 系统的控制器中,只有 STM32F429 型号或更高级的芯片才支持扩展 SDRAM,其它型号如 STM32F1、 STM32F2 及 STM32F407 等型号只能扩展 SRAM。
///非易失性存储器=ROM
1、分类:半导体类 :ROM和FLASH; 非半导体类:光盘、软盘、机械硬盘。
2、命名由来: ROM=read only memory. 原意为 只读存储器,现在代指 非易失性半导体存储器,含FLASH。
3、ROM分类:
[1]MASK ROM:掩膜半导体,内部数据在出厂时固化不能修改。
[2]OTPROM:one time programble ROM ,一次可编程存储器。出厂时内部空白,用户只能一次性写入。
[3]EPROM: erasable programmable ROM, 可重复擦写存储器。区别OTPROM进行改进,特点是使用紫外线找些芯片内部擦除数据,擦除和写入都要用专用设备。现在被EEPROM淘汰替代了。
[4]EEPROM:electrically erasable programmable ROM,
主流ROM,它能直接使用电路控制重复擦写,而且按字节为单位修改数据,不需要擦除整个芯片。
FLASH存储器
1、命名:
又称为闪存、FLASH ROM。
2、分类:
根据存储电路不同分为:NOR FLASH和NAND FLASH。
3、基本特性(NOR和NAND共有)
[1]可重复擦写。
[2]写入前必须有擦除动作。
[3]容量比EEPROM大,以多个字节为单位擦除。如有NAND FLASH以4096字节为扇区作为最小擦除单位。
[4]擦除次数有限,一般10万次左右。接近寿命后导致写操作失败。NAND FLASH整块擦写,有一位失效会出现会坏块,寿命小于NOR。需要用探测/错误更正(EDC/ECC)算法保证数据正确性。
4、NOR和NAND差异:
【1】NAND FLASH相比于NOR: 便宜; 集成度高; 连续存储;地址和数据线共用;必须以块为单位读写;读取速度低;写入速度快,坏块多,不支持XIP。
@区分擦除和读写,两个都是以扇区/块为单位擦除,但nor可以基于字节读写,但nand必须基于块为单位读写。
【2】两者主要区别:是否支持XIP
NOR地址线和数据线分开,CPU可以按字节读写数据,符合CPU的指令译码要求。NOR可以当做断电后不丢失数据的RAM,只是擦除单位不同和读写速度慢于RAM。
NAND地址线和数据线共用,只能按块读写数据,不能直接返回指定地址的数据。代码要先加载到RAM,再由CPU执行。
【3】nor和nand使用场合
nor一般应用在代码存储的场合,如嵌入式控制器内部的程序存储空间;
nand多用在 多用于大数据量存储,如nand,sd卡,u盘。