CPU和外部存储器的接口

CPU连接内存和外存的连接方式不同,内存RAM(DRAM、SRAM、SDRAM)需要直接地址访问,所以是通过地址总线和数据总线的总线式访问方式连接的(好处是直接访问、随机访问;坏处是占用CPU的地址空间,大小受限);外存ROM(硬盘、flash(Nand、inand······U盘、SSD)、光盘)是通过CPU的外存接口来连接的(好处是不占用CPU的地址空间,坏处是访问速度没有总线式快、访问时序复杂)。

flash分为nandflash和norflash

NorFlash 总线式访问,接到SROM bank,优点是可以直接总线访问,也就是说可以原地运行,不用到内存中去运行,一般用来启动。(贵)
  但是现在Nandflash也可以用来启动。(性价比高)
NandFlash 分为SLC和MLC
eMMC/iNand/moviNand eMMC(embeded MMC)    iNand是SanDisk公司出产的eMMC,moviNand是三星公司出产的eMMC
oneNAND oneNand是三星公司出的一种Nand
SD卡/TF卡/MMC卡  
eSSD  

 

总结:

1、现代SoC支持多种外部存储器

2、外部存储器主要用来存储程序(可执行代码),相当于电脑的硬盘。

3、各种不同外部存储器原理不同,大小、性价比不同,一般产品厂家根据需要选择适合自己产品的外存使用。

4、外部存储器和CPU连接一般不是通过地址&数据总线直接相连,因为地址空间不够用。一般都是通过专门的接口来连


        

内存    
SRAM

静态内存

特点是容量小、价格高,优点是不需要软件初始化直接上电就能用。
DRAM 动态内存 特点是容量大、价格低,缺点是上电后不能直接使用,需要软件初始化后才可以使用。
外存    
NorFlash   特点是容量小、价格高,优点是可以和CPU直接总线式相连,CPU上电后可以直接读取,所以一般用作启动介质。
NandFlash 和硬盘一样 特点是容量大、价格低,缺点是不能总线式访问,也就是说CPU上电后不可以直接读取,需要CPU运行一些初始化软件,然后通过时序接口读写。

单片机中:内存需求量少,且希望开发尽量简单,适合全部使用SRAM;

嵌入式中:内存需求量大,适合使用DRAM,在没有NorFlash等启动介质的情况下,还需要使用少量的SRAM;

PC机中:内存需求量大,而且软件复杂,不在乎DRAM初始化的开销,适合全部用DRAM。


PC机一般都是:很小容量的BIOS(NorFlash)+很大容量的硬盘(类似于NandFlash)+很大容量的DRAM;

一般的单片机:很小容量的NorFlash+很小容量的SRAM

嵌入式系统:因为NorFlash很贵,所以现在很多嵌入式系统不倾向于使用NorFlash,而是采用内置小容量SRAM+外接大容量的NandFlash+外接大容量的DRAM(我个人觉得还是内置了很小容量的NorFlash来初始化外接的NandFlash,并从NandFlash来获得初始化DRAM的代码,因为NandFlash的种类并不多,而DRAM的种类很多,当然了,这只是我从s5pv210开发板的启动过程推测来的,是否正确还有待考究)

你可能感兴趣的:(基础概念,嵌入式)