第十二章——嵌入式系统的存储体系
第十二章——嵌入式系统的存储体系
前言:
计算机第十二章节主要知识点。
1 知识点介绍
- 存储器部件的分类
- 存储器的组织和构造
- 常见的嵌入式系统存储设备
2 存储器部件的分类
按在系统中的地位分类
- 主存储器(Main Memory简称内存或主存)
- 辅助存储器(Auxiliary Memory, Secondary Memory, 简称辅存或外存)。
内存通常用来容纳当前正在使用的或要经常使用的程序和数据,CPU可以直接对内存进行访问。
- 内存一般都用快速存储器件来构成,内存的存取速度很快,但内存空间的大小受到地址总线位数的限制。
- 系统软件中如引导程序、监控程序或者操作系统中的基本输入/输出部分BIOS都是必须常驻内存。
更多的系统软件和全部应用软件则在用到时由外存传送到内存。
外存也是用来存储各种信息的,存放的是相对来说不经常使用的程序和数据,其特点是容量大。
- 外存总是和某个外部设备相关的,常见的外存有软盘、硬盘、U盘、光盘等。
- CPU要使用外存的这些信息时,必须通过专门的设备将信息先传送到内存中。
按存储介质分类。
- 磁存储器(Magnetic Memory)
- 半导体存储器
- 光存储器(Optical Memory)
- 激光光盘存储器(Laser Optical Disk)
3 信息存取方式分类
按信息存取方式分类。
- 随机存取存储器(Random Access Memory, RAM)
- 只读存储器(Read Only Memory, ROM)
随机存取存储器是一种在机器运行期间可读、可写的存储器,又称读写存储器。
4 存储器的组织和结构
存储器的参数:容量、数据宽度。
存储器的容量是描述存储器的基本参数,如4MB。存储器的表示不唯一,不同表示方法有不同的数据宽度。
在存储器内部,数据是存放在二维阵列存储单元中。
- 阵列以二维的形式存储,给出的n位地址被分成行地址和列地址(n = r + c)。r是行地址数,c是列地址数。
- 行列选定一个特定存储单元。
5 常见的嵌入式系统存储设备
5.1 RAM(随机存储器)
- RAM可以被读和写,地址可以以任意次序被读。
常见RAM的种类有。
- SRAM(Static RAM,静态随机存储器)
- DRAM(Dynamic RAM,动态随机存储器)
SRAM笔DRAM运行速度快,SRAM笔DRAM耗电多,DRAM需要周期性刷新。
5.2 ROM(只读存储器)
- ROM在烧入数据后,无需外加电源来保存数据,断电后数据不丢失,但速度较慢,适合存储需长期保留的不变数据。
- 在嵌入式系统中,ROM用于存储固定数据和程序。
常见ROM有。
- Mask ROM(掩膜ROM)
- PROM(Programmable ROM,可编程ROM)
- EPROM(Erasable Programmable ROM,可擦写ROM)
- EEPROM(电可擦除可编程ROM,也可表示为E2PROM)
- Flash ROM(闪存存储器)
5.3 ROM的种类与选型
- 常见ROM的种类
- 常见ROM的特点
5.4 常见ROM的种类
ROM在烧入数据后,无需外加电源来保存数据,断电后数据不丢失,但速度较慢,适合存储需要长期保留的不变数据。
&emps;在嵌入式系统中,ROM用于存储固定数据和程序。
常见ROM有。
- Mask ROM(掩膜ROM):一次性由厂家写入数据的ROM,用户无法修改。
- PROM(Programmable ROM,可编程ROM):出厂时厂家没有写入数据,保留里面的内容为全0或全1,由用户来编程一次性写入数据。
- EPROM(Erasable Programmable ROM,可擦写ROM):可以通过紫外光的照射,擦掉原先的程序,芯片可重复擦除和写入。写入时间较长。
- EEPROM(电可擦除可编程ROM,也可表示为E2PROM):通过加电擦除原编程数据,通过高压脉冲可以写入数据。
- Flash ROM(闪速存储器):断电不会丢失数据,快速读取,电可擦写可编程。
5.5 常见ROM的特点
PROM、EPROM、EEPROM的共同之处。
- 可编程的只读存储器
- 属于非易失性元件
- 芯片为有限次写入
PROM、EPROM、EEPROM的不同之处。
- PROM为一次编程器件,EPROM为电编程、紫外线擦除器件、EEPROM电编程、电擦写
- PROM编程元件为:熔丝型开关或者非熔丝型开关(PLICE:多晶硅)
- EPROM编程元件:叠栅型(SIMOS)浮栅。
- EEPROM编程元件:隧道型(FLOTOX)浮栅。
5.6 Flash的种类与选型
- Flash的种类
- Flash的特点
5.6.1 Flash的种类
Flahs memory(闪速存储器)是嵌入式系统中重要的组成部分,用来存储程序和数据,掉电后数据不会丢失。
但在使用Flash Memory时,必须根据其自身特性,对存储系统进行特殊设计,已保证系统的性能达到最优。
Flash Memory是一种非易失性存储器NVM(Non-Volatile Memory),根据结构的不同可以分为:NOR Flash、NAND Flash。
5.6.2 Flash的特点
5.6.2.1 共同特点
区块结构:Flash Memory在物理结构上分成若干个区块,区块之间互相独立。
- NOR Flash把整个存储区分成若干个扇区(Sector)
- NAND Flash把整个存储区分成若干个块(Block)
- 可以对以块或扇区为单位的内存单元进行先擦写和再编程
先擦后写:由于Flash Memory的写操作只能将数据位从1写0,而不能从0写成1,所以在对存储器进行写入之前必须先执行擦除操作,将预写入的数据位初始化为1。
- 擦操作的最小单位是一个区块,而不是单个字节。
操作指令:除了NOR Flash的读,Flash Memory的其他操作不能像RAM那样,直接对目标地址进行总线操作。
- 例如执行一次写操作,它必须输入一串特殊的指令(NOR Flash),或者完成一段时序(NAND Flash)才能将数据写入到Flash Memory中。
&mesp; 位反转。
- 所有Flash Memory器件存在位交换现象。
- Flash Memory在读写数据时,偶尔会产生一位或几位数据错误,即位反转。
- 位反转无法避免,只能通过其他手段对产生的结果进行事后处理。
- 位反转的问题多见于NAND Flash。供货商建议使用NAND Flash的时候,同时使用EDC/ECC(错误探测/错误纠正)算法。以确保可靠性。
坏块。
- Flash Memory在使用过程中,可能导致某些区块的损坏。
- 区块一旦损坏,将无法进行修复。
- NAND Flash中的坏块是随机分布的,尤其是NAND Flash在出厂时就可能存在这样的坏块(已经被标识出)。
- NAND Flash需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。
- 如果对已损坏的区块进行操作,可能会带来不可预测的错误。
5.6.2.2 不同特点
- 应用程序可以直接在NOR Flash内运行,不需要再把代码读到系统RAM中运行。
- NOR Flash的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
- NAND Flash结构可以达到高存储密度,写入和擦除的速度很快,应用NAND Flash的困难在于需要特殊的系统接口。
性能比较。
- NAND Flash执行擦除操作是十分简单的。
- NOR型内存则要求在进行擦除前先要将目标块内所有的位都写为0。
- 由于擦除NOR Flash时是以64~128kB为单位的块进行的,执行一个写入/擦除操作的时间为5s。
- 擦除NAND Flash是以8~32kB的块进行的,执行相同的操作最多只需要4ms。
- NOR Flash的读速度笔NAND Flash稍快一些。
- NAND Flash的写入速度笔NOR Flash快很多。
- NAND Flash的随机读取能力差,适合大量数据的连续读取。
- NAND Flash的4ms擦除速度远比NOR Flash的5s快。
接口差别。
- NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
- NAND Flash地址、数据和命令共用8位总线/16位总线,每次读写都要使用复杂的I/O接口串行地存取数据,8位总线/16位总线用来传送控制、地址和资料信息。
NAND Flash读和写操作采用512B的块,类似硬盘管理操作。
- 因此,基于NAND的闪存可以取代硬盘或其他块设备。
容量成本。
- NOR Flash容量通常在1~8MB之间。主要应用在代码存储介质中。
- NAND Flash用在8MB以上的产品当中。适用于资料存储。
寿命。
- NAND Flash中每个块的最大擦写次数是一百万次。
- NOR Flash的擦写次数是十万次。
- NAND Flash除了具有10:1的块擦除周期优势,典型的NAND Flash块尺寸要比NOR型闪存小8倍,每个NAND Flash的内存块在给定的时间内删除次数要少一些。
软件支持。
- 在NOR Flash上运行代码不需要任何的软件支持。
- 在NAND Flash上进行同样操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD)。
- NAND Flash和NOR Flash在进行写入和擦除操作时都需要MTD。
市场定位。
- NOR Flash:对数据可靠性要求较高的代码存储u、通常产品、网络处理等领域,也被称为代码闪存(Code Flash)。
- NAND Flash:对存储容量要求较高的MP3、存储卡、U盘等领域,也被称为数据闪存(Data Flash)。
5.6.3 例题
- 在嵌入式系统设计中,一般包含多种类型的存储资源,比如ROM、EEPROM、NAND Flash、Nor Flash、DDR、SD卡等。下面关于这些资源的描述中,正确是()。
A. EEPROM是电不可擦除的ROM
B. Nand Flash上面的代码不能直接运行
C. NOR Flash上面的代码不能直接运行,需要通过加载的过程
D. ROM是用来存储数据的,其上面的数据可以随意更新,任意读取
5.7 RAM的种类与选型
- 常见RAM的种类
- 常见RAM的特点
5.7.1 RAM的种类
RAM可以被读和写,地址可以以任意次序被读。常见RAM的种类有。
- SRAM(Static RAM,静态随机存储器)
- DRAM(Dynamic RAM,动态随机存储器)
- DDRAM(Double Data Rate SDRAM,双倍速率随机存储器)
SRAM比DRAM运行速度快,但制造成本高,DRAM需要周期性刷新。
DDRAM是SDRAM的下一代产品,与SDRAM本质相同。
- SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器。
5.7.2 RAM的特点
SRAM。
- SRAM表示静态随机存取存储器。
- 只要供电它就会保持一个值,没有刷新周期
- 由触发器构成基本单元,集成度低
- 每个SRAM存储单元由6个晶体管组成,成本较高
- 速率较高,常用于高速缓冲存储器
通常SRAM有4种引脚。
- CE:片选信号,低电平有效。
- R/W:读写控制信号。
- ADDRESS:一组地址线。
- DATA:用于数据传输的一组双向信号线。
DRAM。
- DRAM表示动态随机存取存储器。
- 是一种以电荷形式进行存储的半导体存储器。
- 存储单元由1个晶体管和1个电容器组成,数据存储在电容器中。
- 必须定时刷新,因此DRAM在使用时必须配合DRAM控制器。
- 为了提高系统的数据吞吐能力,可以采用多种技术提高DRAM系统的性能,包括:页模式、EDO、同步DRAM。
DRAM的接口比较复杂,通常有以下引脚
- CE:片选信号,低电平有效。
- R/W:读写控制信号。
- RAS:行地址选通信号,通常接地址的高位部分。
- CAS:列地址选通信号,通常接地址的低位部分。
- ADDRESS:一组地址线。
- DATA:用于数据传输的一组双向信号线。
SDRAM。
- SDRAM表示同步动态随机存取存储器。
- 同步是指内存工作需要同步时钟,内部的命令发送与数据的传输都以它为基准。
- 动态是指存储器阵列需要不断的刷新来保证数据不丢失。
- 通常只能工作在133MHz的主频。
- SDRAM可读/可写,不具有掉电保持数据的特性,但其存取速度大大高于Flash存储器。
DDRAM。
- DDRAM表示双倍速率同步动态随机存取存储器,也称DDR。
- 基于SDRAM技术。
- 双倍预取技术,即在内存芯片内部的数据宽度是外部接口数据宽度的2倍,使峰值的读写速度达到输入时钟速率的2倍。
- 允许在时钟脉冲的上升沿和下降沿均传输数据。
- 在133MHz的主频下,DDR内存宽度可以达到 $133 \times 64b \div 8 \times 2 = 2.1GB/s$ 。
- 差分输入方式。
5.7.3 例题
- 嵌入式存储器系统设计中,一般使用3种存储器接口电路:NOR Flash接口、NAND Flash接口和SDRAM接口电路,以下叙述中错误的是(C)。
A. 系统引导程序可以放在NOR Flash中,也可以放在NAND Flash
B. 存储在NOR Flash中的程序可以直接运行
C. 存储在NAND Flash中的程序可以直接运行
D. SDRAM不具有掉电保持数据的特性,其访问速度要大于Flash存储器。
5.8 外部存储器的种类与型号
- 常见外存的种类
- 硬盘
- 光盘
- 标准存储卡(CF卡)
- 安全数据卡(SD卡)
5.8.1 外存的种类
外部存储器:也称辅助存储器,简称外存或辅存。
- 容量比主存大、读取速度较慢
- 通常用来存放需要永久保存的或相对来说暂时不用的程序和数据
硬盘存储器具有存储容量大,使用寿命长,存取速度较快的特点,也是在嵌入式系统中常用的外存。
硬盘存储器的硬件包括。
- 硬盘控制器(适配器)
- 硬盘驱动器
- 连接电缆
硬盘控制器(Hard Disk Controller,简称HDC)对硬盘进行管理,并在主机和硬盘之间传送数据。硬盘控制器以适配卡的形式插在主板上或直接集成在主板上,然后通过电缆与硬盘驱动器相连。
硬盘驱动器(Hard Disk Drive,简称HDD)中有盘片、磁头、主轴电机(盘片旋转驱动机构)、磁头定位机构、读/写电路和控制逻辑等。
5.8.2 硬盘
硬盘存储器可分为:温切斯特盘和非温切斯特盘两类。
- 温切斯特盘是根据温切斯特技术设计制造的,它的磁头、盘片、磁头定位机构、主轴、甚至连续/写驱动电路等都被密封在一个盘盒内,构成一个头-盘组合体。
- 温切斯特盘的防尘性能好,可靠性高,对使用环境要求不高。
- 非温切斯特盘的磁头和盘片等不是密封的,通常只能用于中型、大型计算机机房中。
最常见的硬盘接口是IDE(ATA)和SCSI两种,一些移动硬盘采用PCMCIA或USB接口。
SCSI(Small Computer System Interface,小型计算机系统接口)不是专为硬盘设计的,是一种总线型接口。
- SCSI独立于系统总线工作,其系统占用率极低,但其价格昂贵
- 具有这种接口的硬盘大多用于服务器等高端应用场合。
5.8.3 光盘
- 光盘:用光学方式读/写信息的圆盘。
- 光盘存储器:以光盘为存储介质的存储器。
光盘的类型。
- CD-ROM:Compact Disc Read Only Memory
- CD-R:采用WORM(Write One Read Many)标准
- CD-RW:可重复读/写
- DVD-ROM:通用数字化多功能光盘,简称高容量CD
5.8.4 标准存储卡(CF卡)
CF存储卡是由美国SanDisk公司于1994年研制成功的。
CF卡的大小为 $43mm \times 36mm \times 3.3mm$ ,CF卡同时还支持3.3v和5v的电压,可以在这两种电压下工作。
CF卡(Compact Flash)接口具有PCMCIA-ATA功能,可以工作在IDE接口模式,也可以工作在PC Card模式。
CF卡主要在PDA、笔记本电脑、数码相机和包括台式机在内的各种设备。
5.8.5 安全数据卡(SD卡)
SD卡是由日本松下公司、东芝公司和美国SanDisk公司于1999年8月共同研制开发而成的。
SD卡是根据MMC卡开发的,但是基本上两者还是不同的产品,只是在设计时考虑到兼容问题,所以在大多数情况下这两种产品能互换,它笔MMC卡多了一个进行数据著作权保护功能。
多用于MP3、数码相机、电子图书、微型电脑和AV器材等。尺寸大小比MMC卡略微厚一些, $32mm \times 24mm \times 2.1mm$ 。