一、外部存储器与内部存储器
1、外部存储器:ROM的一种,用来存储程序和数据,对于CPU来说是只读的,由于CPU无法直接访问外存,所以程序和数据是从外存通过I/O或接口传到内存。如IROM、SROM、NandFlash、NorFLash、硬盘等。
特点:速度慢,价格便宜,不占内存空间
2、内部存储器:即RAM,用来运行程序的。CPU通过地址总线找到地址,通过数据总线传输数据,然后通过容量越来越小,速度越来越快的各级缓存到寄存器,并将待处理和处理完的数据放到寄存器,将处理完的数据返回内存。如IRAM、SRAM、DRAM等。
特点:速度快、访问方便,但资源有限,要分地方给SFR(特殊功能寄存器)。
3、什么是内存映射(地址映射)?
1)含义:例如S5PV210的CPU地址总线为32位,决定了能访问的内存空间为4G的内存,那这4G的内存是如何分配的?答:看数据手册
STM32内存映射图
4、统一编址&独立编址
I/O:CPU与外设(内设)联系的途径,通常就是指CPU的各种内部或外部外设。
1)内存的访问方式:CPU统一编址,通过地址总线访问,地址总线多少位就能访问2的多少次方的地址(32位地址总线可以访问4G内存的地址)。
优点:快。缺点:很难扩展。
2)I/O的访问方式:统一编址&独立编址
统一编址:和内存同样的访问方式,I/O寄存器占内存的位置。优点:总线访问:快,效率高。缺点:占用内存的空间。
独立编址:专用的CPU指令来访问某种特定外设。优点:不占用内存的空间。缺点:CPU设计的更复杂。
5、哈佛结构&冯诺依曼结构
程序:运行的指令,可以直接给CPU去解码,因此应该为只读形式,不能更改。
数据:变量,用来修改的。
1)冯诺依曼结构:程序和数据不分开存储。
优点:处理简单。
缺点:可以任意的修改程序而导致稳定性和安 全性差。多用于PC等
2)哈佛结构:程序和数据分开存储,程序只读,数据可读写。
优点:安全性高
缺点:软件处理麻烦,需要链接不同存储区域的程序与对应的数据
二、内存与外存的特点
1、内存:SRAM、DRAM
SRAM:静态内存,容量小、价格贵、但不需要初始化上电就能直接使用。
DRAM:动态内存,容量大、价格便宜,但上电后不能直接使用,需要软件初始化。
单片机:内存需求量小,而且希望开发尽量简单,适合全部用SRAM。
嵌入式系统:内存需求量大,而且没有NorFlash等可启动介质。
PC机:内存需求量大,而且软件复杂,不在乎DRAM的初始化开销,适合全部DRAM。
2、外存:NorNlash、NandFlash
NorFlash:容量小、价格贵、但不需要初始化上电就能直接使用,一般用作启动介质。
NandFlash:类似于硬盘容量大、价格便宜,但因为不能总线式访问,所以上电后不能直接使用,需要软件初始化。
PC机:NorFlash (BIOS)+ 硬盘(NandFlash)+内存( DRAM) 代码可以直接在NorFlashz中运行
单片机:NorFlash + SRAM
嵌入式系统:NandFlash +DRAM + SOC内置的SRAM