跳转至

3.2 嵌入式系统存储器

本节考试权重:5~6分 重点考存储器分类(特别是FRAM和MRAM)、地址计算、地址映射。填空题必出FRAM/MRAM。


一、存储器层次结构

嵌入式系统的存储器不是平等的,分成若干层次,越靠近CPU速度越快,容量越小,价格越贵。

        速度最快,容量最小,最贵
        ┌───────────────────┐
        │      寄存器        │  ← CPU内部,速度=CPU速度
        ├───────────────────┤
        │      Cache        │  ← 片上高速缓存
        ├───────────────────┤
        │    内存(RAM)      │  ← SDRAM/SRAM,程序运行区
        ├───────────────────┤
        │    外存(Flash)    │  ← NOR/NAND Flash,程序存储
        └───────────────────┘
        速度最慢,容量最大,最便宜

重要考点:嵌入式系统已广泛使用Cache

有些题目会说"嵌入式系统由于资源有限,不使用Cache"——这是错误的! 现代嵌入式处理器(如ARM Cortex系列、S3C2410等)早已普遍集成Cache,用于提升性能。

各层次对比

层次 类型 速度 容量范围 是否易失
寄存器 触发器 最快(1周期) 几十个,每个几字节
Cache SRAM 很快(几周期) KB~MB级
内存(主存) DRAM/SDRAM 较快(几十周期) MB~GB级
外存(辅存) Flash/SD卡 慢(毫秒级) MB~TB级

二、存储器分类详解

按是否易失分类

存储器
├── 易失性(掉电丢失)
│   ├── SRAM(静态随机存储器)
│   └── DRAM(动态随机存储器)
│       └── SDRAM(同步DRAM,最常见)
└── 非易失性(掉电保留)
    ├── ROM(只读,固化出厂)
    ├── Flash(可擦写)
    │   ├── NOR Flash
    │   └── NAND Flash
    ├── FRAM(铁电存储器)← 考点
    └── MRAM(磁性存储器)← 考点

SRAM vs DRAM

对比项 SRAM DRAM
全称 Static RAM Dynamic RAM
存储原理 触发器(6个晶体管) 电容(1个晶体管+1个电容)
需要刷新 不需要 需要定期刷新
速度 较慢
集成度 低(每位占用多) 高(每位占用少)
价格 便宜
典型用途 Cache、寄存器堆 主存(SDRAM)

记忆口诀

S(静态)不需刷,D(动态)要刷新。SRAM稳定、贵、用于Cache;DRAM便宜、大容量、用做主存。

NOR Flash vs NAND Flash

对比项 NOR Flash NAND Flash
读取方式 可按字节/字随机读 按页(Page)或块(Block)读
支持XIP 是(就地执行代码)
写入速度
擦除速度
容量 较小(MB级) 大(GB级)
价格 便宜
寿命(擦写次数) 约10万次 约10万次,但块更小
典型用途 存储启动代码 存储文件系统、数据

XIP(Execute In Place)

XIP = 就地执行,不需要把程序先复制到RAM再执行,直接从Flash里取指令执行。NOR Flash支持XIP,所以常用来存嵌入式系统的Boot代码。


三、FRAM 和 MRAM(填空必考!)

填空必考:FRAM = 铁电存储器,MRAM = 磁性存储器

这两个是考试填空题的热门!每次考试几乎必出,一定要记住全称和特点。

FRAM(铁电存储器)

特性 说明
全称 Ferroelectric RAM(铁电随机存储器)
中文名 铁电存储器
存储原理 利用铁电材料的极化方向存储0/1
是否易失 否(非易失性)
读写速度 极快(接近SRAM)
功耗
擦写寿命 极长(可达10^12次)
优势 兼具RAM的速度和Flash的非易失性
典型应用 智能电表、POS机、工业控制

MRAM(磁性存储器)

特性 说明
全称 Magnetoresistive RAM(磁阻随机存储器)
中文名 磁性存储器
存储原理 利用磁隧穿效应和磁化方向存储0/1
是否易失 否(非易失性)
读写速度
功耗 极低
优势 非易失、低功耗、抗辐射
典型应用 航天器、汽车电子、物联网

FRAM vs MRAM vs 传统存储器

存储器 非易失 速度 功耗 价格
SRAM 最快
DRAM 较高(刷新)
NOR Flash 读快写慢
NAND Flash 块读写快 便宜
FRAM 接近SRAM快 较贵
MRAM 极低 较贵

四、存储容量计算

公式

存储容量公式

存储容量 = 2^(地址线条数) × 数据总线位数(单位:bit)

换算为字节:存储容量(Byte) = 2^(地址线条数) × 数据总线位数 ÷ 8

计算示例

例题: 一块SRAM芯片有20根地址线,8根数据线,存储容量是多少?

解答: - 地址线:20根 → 可寻址 2^20 = 1048576 = 1M 个地址 - 数据线:8根 → 每个地址存 8bit = 1字节 - 容量 = 1M × 1B = 1MB


例题2: 一块SDRAM有24根地址线,16根数据线,存储容量是多少?

解答: - 可寻址:2^24 = 16M 个地址 - 每地址:16bit = 2字节 - 容量 = 16M × 2B = 32MB


五、S3C2410存储器地址映射

存储空间划分

S3C2410有8个片选信号(nGCS0~nGCS7),每个片选对应一个32MB的存储bank。

地址空间(32位,共4GB,但实际只用了256MB)

0x00000000 ┌──────────────┐
           │  Bank 0      │  nGCS0  ← 通常接NOR Flash(启动ROM)
0x08000000 ├──────────────┤
           │  Bank 1      │  nGCS1
0x10000000 ├──────────────┤
           │  Bank 2      │  nGCS2  ← AX88796以太网芯片
0x18000000 ├──────────────┤
           │  Bank 3      │  nGCS3
0x20000000 ├──────────────┤
           │  Bank 4      │  nGCS4
0x28000000 ├──────────────┤
           │  Bank 5      │  nGCS5
0x30000000 ├──────────────┤
           │  Bank 6      │  nGCS6  ← 通常接SDRAM(内存)
0x38000000 ├──────────────┤
           │  Bank 7      │  nGCS7  ← 通常接SDRAM(内存)
0x40000000 └──────────────┘

关键地址记忆

考点:nGCS2 = 0x10000000,接AX88796以太网芯片

  • nGCS0 = 0x00000000(启动地址,接NOR Flash)
  • nGCS2 = 0x10000000(AX88796以太网芯片接在这里)
  • nGCS6/7 = 0x30000000/0x38000000(SDRAM内存)
  • 每个bank大小 = 32MB = 0x08000000(相邻bank起始地址相差0x08000000)

地址计算验证

nGCS0 起始 = 0x00000000
nGCS1 起始 = 0x00000000 + 0x08000000 = 0x08000000
nGCS2 起始 = 0x08000000 + 0x08000000 = 0x10000000  ✓
nGCS3 起始 = 0x10000000 + 0x08000000 = 0x18000000

六、本节考题练习

选择题

题1: 以下关于嵌入式系统Cache的说法,正确的是:

A. 嵌入式系统资源有限,不使用Cache B. Cache使用DRAM实现 C. 嵌入式系统已广泛使用Cache以提升性能 ✓ D. Cache比主存慢

解析: 现代嵌入式处理器早已集成Cache,这是提升性能的标准手段。Cache使用SRAM实现(速度快),比主存(DRAM)快得多。


题2: NOR Flash与NAND Flash最主要的区别在于:

A. NOR Flash容量更大 B. NOR Flash支持XIP(就地执行),NAND Flash不支持 ✓ C. NAND Flash读取更慢 D. NOR Flash擦写次数更多

解析: NOR Flash可按字节随机读取,支持XIP(直接从Flash执行代码),这是它最重要的特性,常用于存放启动代码。NAND Flash按块操作,不支持XIP,但容量大、价格低,适合存文件。


题3: S3C2410的存储控制器中,nGCS2对应的起始地址是:

A. 0x00000000 B. 0x08000000 C. 0x10000000 ✓ D. 0x18000000

解析: S3C2410每个bank大小32MB(0x08000000),从0地址开始: nGCS0=0x00000000,nGCS1=0x08000000,nGCS2=0x10000000


题4: FRAM(铁电存储器)的主要优点是:

A. 容量大,价格便宜 B. 需要刷新但速度快 C. 非易失性且读写速度接近SRAM ✓ D. 只能读不能写

解析: FRAM最大的优点是同时具备非易失性(掉电不丢数据)和接近SRAM的高速读写能力,兼顾了Flash的持久性和SRAM的性能。


填空题

填空1: ____存储器(英文缩写FRAM)利用铁电材料的极化特性存储数据,具有非易失、____、低功耗等特点。

答案: 铁电;读写速度快(接近SRAM)

填空2: ____存储器(英文缩写MRAM)利用磁隧穿效应存储数据,具有非易失、____等特点。

答案: 磁性(磁阻随机);低功耗(抗辐射)

填空3: S3C2410存储控制器有____个bank,每个bank大小为____MB,AX88796以太网芯片接在____片选信号上,起始地址为____。

答案: 8;32;nGCS2;0x10000000



真题演练

以下是NCRE三级嵌入式真题中与本节相关的典型考题:

1. 下面是关于嵌入式系统使用的存储器的叙述,其中错误的是( )。

  • A)系统使用的RAM有SRAM、DRAM等多种
  • B)Flash存储器分为NOR Flash和NAND Flash两种
  • C)FRAM已得到使用
  • D)目前还没有使用Cache存储器
答案解析

答:D 在性能较高的嵌入式处理器中都会集成内部Cache,ARM9和ARM11都有Cache存储器。嵌入式处理器内部的Cache采用SRAM(而非DRAM),因此D项说"目前还没有使用Cache存储器"是错误的。


2. 下面关于NOR Flash和NAND Flash的叙述中,错误的是( )。

  • A)NOR Flash和NAND Flash是目前市场上两种主要的闪存技术
  • B)NAND Flash以页(行)为单位随机存取,在容量、使用寿命等方面有较大优势
  • C)NOR Flash写入和擦除速度较慢
  • D)数码相机存储卡和U盘中的Flash均采用NOR Flash
答案解析

答:D 数码相机存储卡和U盘中的Flash均采用NAND Flash,而非NOR Flash。NAND Flash在容量、使用寿命和成本方面有较大优势,因此大多作为数据存储器使用。NOR Flash以字节为单位随机存取,适合代码存储和执行。


3. 下面是关于嵌入式系统使用的存储器的叙述,其中错误的是( )。

  • A)嵌入式系统使用的存储器以半导体存储器为主
  • B)铁电存储器(FRAM)在嵌入式系统已得到应用
  • C)静态存储器SRAM是非易失性存储器
  • D)动态存储器DRAM是易失性存储器
答案解析

答:C SRAM和DRAM都是易失性存储器,即掉电后信息丢失。非易失性存储器包括EPROM、EEPROM和Flash ROM等,能在断电后仍保存数据。C项说"SRAM是非易失性存储器"是错误的。


4. 【填空题】目前有两种主要的闪存技术,一种是_Flash,其特点是以字节为单位随机存取,另一种是_Flash,以页(行)为单位随机存取。

答案

答:NOR;NAND NOR Flash以字节为单位随机存取,读取速度快,适合代码存储和执行(XIP);NAND Flash以页(行)为单位随机存取,在容量、使用寿命和成本方面有较大优势,常用于大容量数据存储。


上一节:3.1 硬件组成与AMBA总线 | 下一节:3.3 I/O接口与设备