一、存储世界的两个祖师爷:RAM & ROM
{注:所说性能高低好坏是在其他规格大小前提一致的情况下比较而言的!}
RAM: 易失性随机高速高价存储(掉电丢失、可读出可写入)
ROM: 非易失性非随机低速低价存储(掉电不丢失、只读)
二、RAM祖师爷的两个儿子:阿修罗(SRAM)、因陀罗(DRAM)
{注:所说性能高低好坏是在其他规格大小前提一致的情况下比较而言的!}
1、阿修罗(SRAM):
【父亲特性+】静态高价高性能低集成的常用来作为介于CPU与内存间的高速缓存(不用刷新)
2、因陀罗(DRAM):
【父亲特性+】动态低价低性能高集成的常用来作为计算机内存(周期刷新)
三、ROM祖师爷的四个后代 :
ROM(掩膜ROM)、PROM(可一次性编程)、EPROM(紫外线擦除可改写ROM)、
EEPROM(电擦除可改写ROM)
第一代火影:ROM(掩膜ROM)
第二代火影:PROM(可一次性编程)
第三代火影:EPROM(紫外线擦除可改写ROM)
第四代火影:EEPROM(电擦除可改写ROM)
四、两祖师爷后代各有优缺点,但是两个祖师爷后代的长处和短处又可以互补,
所以两个祖师爷的后代进行联姻,产出了强大无比的一代---第七代火影:FLASH(闪存)
五、优秀的混血儿:FLASH
结合了ROM和RAM的长处,成为:
第七代火影:非易失性随机高速低价存储常见如U盘、硬盘等。
两个第七代火影:
1、明处---鸣人:NOR FLASH->非易失读出快写入慢具有XIP性能有SRAM接口主要垄断1~16M市场用于“代码存储”(XIP == EXCUTE IN PLACE, 例如 MCU FLASH );
2、暗处--佐助:NAND FLASH->非易失读出慢写入快主要论断>16M市场用于“数据存储”(例如SD卡)
六、拓展---单片机的存储-----【一拳超人】
1、51的内存问题引发的斗争!!!
就是在片外,程序存储和数据存储是在一起的,而在片内cache这一层又进行分开。严谨的来讲应该叫做“混合架构”
单片机的运行本质是寄存器之间的寻址,取指,执行,是数据的处理和运算,像一个司令部一样掌管着一切但是也较为复杂,内存像是秘书部一样,坐着数据交换的工作,上传下达。
战争程序在内存中存储,一旦触发,将会按照事先预定好的作战计划严格的一步一步
严格执行!
2、C51是哈式架构还是冯式架构呢?
从表面上看,是哈佛结构,程序存储器和数据存储器是分开的。透过现象看本质,首先看一句英文描述:The Harvard architecture is a computer architecture with physically separate storage and signal pathways for instructions and data. 哈佛结构需要满足两点:
第一点就是程序和数据存储要分开存储,
第二点是程序和数据要有单独的读取路径,
显然51单片机不满足第二点,因为51单片机共用数据线和地址线,虽然指令是分开的。真正的哈佛结构可以看下cortex-M3内部框图,在手册里是显式的说明了的是哈佛结构。
从上面的架构图中可以看到,cortex-M3内部是具有两条单独的数据路径的,分别用于指令和数据。再来引申一点,看看cortex-A9内部架构,以及官方的描述。
哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11,51单片机也属于哈佛结构.
PC机的代空间和数据空间是同一空间,所以是冯氏结构;
51由于IO口不够,但代码空间和数据空间是分开的,所以算是哈佛结构.
3、C51的内存是FLASH还是RAM
答案:都是,一个存储程序、一个存储数据
FLASH闪存是属于内存器件的一种,"Flash"。闪存则是一种非易失性( Non-Volatile )内存,在没有电流供应的条件下也能够长久地保持数据,其存储特性相当于硬盘,这项特性正是闪存得以成为各类便携型数字设备的存储介质的基础。
各类 DDR 、 SDRAM 或者 RDRAM 都属于挥发性内存,只要停止电流供应内存中的数据便无法保持,因此每次电脑开机都需要把数据重新载入内存。
快闪存储器(英语:flash memory-闪存),是一种电子式可清除程序化只读存储器的形式,允许在操作中被多次擦或写的存储器。这种科技主要用于一般性数据存储,以及在计算机与其他数字产品间交换传输数据,如储存卡与U盘。闪存是一种特殊的、以宏块抹写的EEPROM。早期的闪存进行一次抹除,就会清除掉整颗芯片上的数据。