【嵌入式系统设计师(软考中级)】第二章:嵌入式系统硬件基础知识(2)
文章目录
- 3.嵌入式系统的存储体系
- 3.1 存储系统的层次结构
- 3.2 内存管理单元(MMU)
- 3.3 RAM和ROM的种类
- 3.3.1 RAM类型对比
- 3.3.2 ROM类型对比
- 3.4 高速缓存(Cache)
- 3.5 其他存储设备
- 3.5.1 新型存储技术
- 3.5.2 外存接口技术
3.嵌入式系统的存储体系
3.1 存储系统的层次结构
多级存储结构是一种将不同类型的存储设备按照访问速度、容量和成本组织成层次结构的方法。这种结构旨在平衡性能和成本,使得系统能够在需要时快速访问数据,同时以较低的成本存储大量数据。
金字塔层次模型(自上而下):
存储级别 | 硬件类型 | 速度(访问延迟) | 容量范围 | 成本(美元/GB) | 典型应用场景 |
---|---|---|---|---|---|
寄存器 | SRAM | 0.3~1 ns | 几十~几百字节 | 无单独定价 | CPU内部数据暂存 |
L1 Cache | SRAM | 1~5 ns | 32~64 KB(核心独享) | 500~1000 | 指令/数据高速缓存 |
L2 Cache | SRAM | 5~15 ns | 256 KB~1 MB | 200~500 | 核心/集群共享缓存 |
L3 Cache | SRAM/eDRAM | 15~50 ns | 2~32 MB | 50~200 | 多核共享缓存 |
主存 | DDR SDRAM | 50~200 ns | 4~128 GB | 5~20 | 运行程序和数据存储 |
外存 | eMMC/UFS/Flash | 10~100 μs | 128 GB~2 TB | 0.1~0.5 | SSD/嵌入式存储 |
远程存储 | 云服务器 | 5~100 ms | ≈无上限 | 0.02~0.1 | 冷数据归档 |
性能-成本平衡策略
-
缓存命中率优化:
- L1命中率>90%时,平均访问时间接近SRAM速度
T a v g = h 1 T L 1 + ( 1 − h 1 ) ( h 2 T L 2 + ( 1 − h 2 ) T D R A M ) T_{avg} = h_1T_{L1} + (1-h_1)(h_2T_{L2} + (1-h_2)T_{DRAM}) Tavg=h1TL1+(1−h1)(h2TL2+(1−h2)TDRAM)
- L1命中率>90%时,平均访问时间接近SRAM速度
-
成本控制技术:
- 缓存分级:用少量SRAM加速高频访问
- 混合存储:Optane+SSD+HDD分层存储
-
嵌入式系统特化:
- 牺牲L3 Cache换取更低功耗(如Cortex-M系列无L3)
- 用NOR Flash替代部分DRAM(XIP执行)
-
计算题示例:
- 某系统L1命中率95%(5ns),L2命中率60%(15ns),DRAM访问100ns,求平均访问时间?
- T a v g = 0.95 × 5 + 0.05 × ( 0.6 × 15 + 0.4 × 100 ) = 4.75 + 0.05 × 49 = 7.2 ns T_{avg} = 0.95×5 + 0.05×(0.6×15 + 0.4×100) = 4.75 + 0.05×49 = 7.2 \text{ns} Tavg=0.95×5+0.05×(0.6×15+0.4×100)=4.75+0.05×49=7.2ns
3.2 内存管理单元(MMU)
内存管理单元是计算机系统中负责虚拟内存与物理内存转换的核心硬件组件,主要功能包括:
-
地址转换
通过页表(Page Table)实现虚拟地址到物理地址的映射,支持4KB/2MB等页规格。现代MMU采用多级页表结构(如x86-64的4级页表),通过TLB(转换后备缓冲器)加速查询,典型命中率>95%。 -
内存保护
为每个内存页设置权限位(读/写/执行),防止越界访问。例如:代码段设为只读+可执行,数据段设为可读写。 -
缓存控制
管理Cache与内存的一致性策略(如Write-back/Write-through),标记内存区域是否可缓存(Cacheable/Non-cacheable)。 -
特性扩展
- 大页支持:减少TLB(Translation Lookaside Buffer,转换后备缓冲器)缺失(如1GB大页)
- ASID(地址空间ID):加速进程切换
- NUMA优化:非统一内存访问调度
3.3 RAM和ROM的种类
3.3.1 RAM类型对比
类型 | 特点 | 功耗 | 典型应用 |
---|---|---|---|
SRAM | 高速/无需刷新 | 高 | Cache/寄存器 |
DRAM | 需刷新/密度高 | 中 | 主内存(DDR4/LPDDR5) |
PSRAM | 伪静态DRAM | 低 | 低成本嵌入式设备 |
SRAM(静态随机存取存储器)、DRAM(动态随机存取存储器)和 PSRAM(伪静态随机存取存储器)各自具有独特的特性和应用场景。SRAM 因其快速的访问速度和无需刷新的优势,常用于高速缓存以加速数据的读取过程。DRAM 则凭借其结构简单、成本效益高以及更高的密度,广泛应用于计算机的主存储器中,尽管它需要定期刷新来维持数据。PSRAM 是一种结合了 DRAM 和 SRAM 特性的存储技术,通过内置的刷新机制简化外部电路设计,适合于那些对成本敏感同时又需要较高性能的应用场景,如嵌入式系统和移动设备中,作为高效能内存解决方案。这三种存储技术各有优势,在现代计算和电子设备的设计中发挥着重要作用。
3.3.2 ROM类型对比
类型 | 全称 | 特点 |
---|---|---|
PROM | 可编程只读存储器 | 出厂时未编程,用户可以一次性写入数据。一旦编程后,数据不可更改。 |
EPROM | 可擦除可编程只读存储器 | 使用紫外线可以擦除其中的数据,允许重新编程。通常有一个透明的窗口用于紫外线照射。 |
EEPROM | 电可擦除可编程只读存储器 | 不需要紫外线即可通过电信号擦除和重编程。支持字节级别的擦除和写入操作。 |
Flash ROM | 快闪存储器 | 一种特殊的EEPROM技术,可以快速擦除或写入大量信息。分为NAND和NOR两种类型,广泛用于固态硬盘等。 |
Mask ROM | 掩膜只读存储器 | 在制造过程中编程,成本低但灵活性差,适合大规模生产且内容固定的用途。 |
OTP-ROM | 一次性可编程只读存储器 | 类似于PROM,但在制造时预先装载了所有可能的数据模式,用户只能选择性地烧录部分数据。 |
每种类型的ROM都有其适用场景,例如Mask ROM由于成本效益高适用于大规模生产的消费电子产品;而Flash ROM则因其便捷的可更新特性被广泛应用于软件和固件更新中。EPROM和EEPROM在需要现场更新程序代码的应用中非常有用,但由于其寿命限制(擦写次数),在设计时需考虑这些因素。
3.4 高速缓存(Cache)
缓存(Cache)是一种高速存储机制,位于处理器与主存储器之间,用于临时存放处理器频繁访问的数据和指令,以加快数据的读取速度并提高系统性能。它通过利用局部性原理——即程序倾向于在短时间内重复访问相同的数据或邻近的内存区域,来减少处理器等待数据的时间,从而有效提升处理速度和效率。缓存通常由SRAM构成,具有访问速度快的特点,但成本较高,因此容量相对有限。根据其位置和作用,缓存可以分为L1、L2、L3等级别,级别越低速度越快且距离CPU核心更近。
关键参数:
- 命中率:90%+为良好设计
- 关联度:直接映射/组相联/全相联
- 写策略:写直达(Write-through) vs 写回(Write-back)
嵌入式优化技术:
- 锁定关键代码(Cache Locking)
- 将中断处理程序锁定在Cache
- MPU配置(无MMU时)
- 设置内存区域缓存策略
- 一致性维护:
- DMA操作需无效化Cache(ARM的Cache Clean/Invalidate操作)
3.5 其他存储设备
3.5.1 新型存储技术
类型 | 原理 | 特点 | 应用场景 |
---|---|---|---|
FRAM | 铁电效应 | 高速/无限次擦写 | 智能卡/数据日志 |
MRAM | 磁阻效应 | 纳秒级访问/抗辐射 | 航天电子 |
RRAM | 电阻变化 | 高密度/低功耗 | 未来替代Flash |
3.5.2 外存接口技术
- eMMC (Embedded Multi Media Card,嵌入式多媒体卡) :由于其简单易用、成本效益高,是许多中低端手机和平板电脑的首选存储解决方案。它集成了NAND Flash芯片与主控芯片,简化了产品设计。
- UFS (Universal Flash Storage,通用闪存存储) :提供更快速度和更高效率的数据读写能力,满足高端设备对于快速启动、加载和多任务处理的需求。UFS采用了全双工模式,支持同时读写操作。
- SD卡(Secure Digital Card):因其便携性和广泛兼容性,成为数码相机、摄像机及其他便携设备的标准存储介质。不同类型的SD卡(如SDHC, SDXC)支持不同的容量和速度等级。