计算机系统组成结构
内存,就是内部存储器,用来运行程序的,称为 RAM(随机访问存储器)。
举例:DRAM SRAM DDR
外存,就是外部存储器,用来存储文件,程序等,称为 ROM(只读存储器)。
举例:硬盘、Flash(NandFlash iNandFlash··· U盘、SSD) 、光盘。
CPU 连接内存和外存的连接方式不同。
单片机中:内存需求量小,而且希望开发尽量简单,适合全部用SRAM。
嵌入式系统:内存需求量大,而且没有NorFlash等可启动介质
PC机:内存需求量大,而且软件复杂,不在乎DRAM的初始化开销,适合全部用DRAM。
电访问方式的 Flash 的访问速度比机械硬盘要快。
嵌入式系统的外存全是采用 Flash ,而不是机械硬盘。因为机械硬盘的可靠性相比 Flash 不高,而且嵌入式系统的 ROM 一般要求的空间不会太大。
NAND Flash 都是需要通过时序去访问的,所以一般不能用来做启动介质;而 NOR Flash 可以通过总线式访问,就可以用来做启动介质。
现在的 CPU 很多都支持了通过 NAND Flash 来启动(这在以前是不支持的)。原因是,第一, NOR Flash 很贵;第二,三星公司生产的 Flash 基本都是 NAND Flash,三星作出了很大努力支持 从 NAND Flash 启动 CPU, S5PV210 里面的 IROM,就是 NAND Flash;之所以研究从 NAND Flash 启动 CPU 的机制,就是为了挤占 NOR Flash 的市场(三星不生产 NOR Flash)。
NorFlash:最大特点是总线式访问,可以像内存一样接在 CPU 的地址空间中,一般接到 CPU 地址空间的 SROM 空间。
容量小,价格高,优点是可以和 CPU 直接总线式相连,CPU 上电后可以直接读取,所以一般用作启动介质,如 BIOS 就是存储在 NOR Flash。如下图所示的位置:
NandFlash:分为 SLC 和 MLC,SLC 容量小,价格高,但是很稳定,无需做 ECC 校验;MLC 容量大,价格低,但是不稳定。
特点是容量大,价格低,缺点是不能总线式访问,也就是说不能上电 CPU 直接读取,需要 CPU 先运行一些初始化软件,然后通过时序接口读写。
eMMC/iNand/moviNand:eMMC (embeded MMC),eMMC 本身是一种标准,很多公司都可以生产他们自己的 eMMC卡;eMMC 本身是一块芯片,这款芯片用来管理 eMMC 卡内部的存储空间和坏块处理。
iNand 是 SanDisk 公司出产的eMMC, moviNand是三星公司出产的eMMC。
oneNAND:oneNAND 是三星公司出的一种 NAND,用的场合不多。
SD卡/TF卡/MMC卡:这三种都是SD卡,TF卡又名 micro SD卡,这些卡内部也是内置了芯片,用来管理坏块处理等工作。
eSSD: embeded SSD,SSD 是固态硬盘,也是一种 NAND Flash。
注:源自B站朱有鹏老师.