嵌入式系统存储体系

一、存储系统概述

主要分为三种:高速缓存(cache)、主存和外存。

二、高速缓存Cache

  1. 高速缓冲存储器中存放的是当前使用得最多得程序代码和数据,即主存中部分内容的副本,其本身无自己的地址空间。
  2. 在嵌入式系统中Cache全部集成在嵌入式微处理器内,一般32位的微处理器内置。
  3. 可分为数据Cache、指令Cache(如哈弗架构)或者混合Cache(如冯诺伊曼架构)。不同处理器其Cache大小不一样。
  4. CPU每次读取主存时,Cache控制器都要检查CPU送出的地址,判断CPU要读取的数据是否在Cache中,如果在就称为Cache命中,否则称为Cache未命中。则对主存储器进行操作,并将有关内容写入Cache。
  5. 写入Cache有2种方法:
    a. 通写(Write Through):Cache与对应内存内容同步更新。
    b. 回写(Write Back):只有写入Cache内容移除时才更新对应内存内容。(此种方式性能最好,但是存在系统掉电的存储问题)。

    Cache结构框图

三、主存

  1. 主存是处理器能直接访问的存储器,用来存放系统和用户的程序和数据。
  2. 嵌入式系统的主存可位于SOC内和SOC外,片内存储器存储容量小、速度快、片外存储器容量大。
  3. 可以做主存的存储器有:
    ROM类(存放代码和常数数据):Nor Flash、EPROM、E2PROM、PROM等
    RAM类:SRAM、DRAM、SDRAM等

静态随机存取存储器SRAM

存储信息:六管基本存储电路,功耗低,不需要刷新

典型芯片规格:2114(1KX4) ,6116(2KX8),6264(8KX8),62128(16KX8),62256(32X8)

动态随机存取存储器DRAM

  1. 存储信息的基本单元(1位)电路可采用4管、3管和单管电路。
  2. 为维持动态存储单元所存储的信息,必须不断刷新。
  3. 与SRAM不同的是:节省外部引脚,同样容量的DRAM外部地址线引脚是SRAM一半。DRAM采用行/列地址选通,将地址通过内部分成2路。
  4. DRAM控制器:解决刷新和多路,DRAM不能和CPU直接通信,需要DRAM控制器来连接。

SDRAM(Synchronous DRAM,同步DRAM)

  1. CPU和RAM共享相同的时钟周期,以相同的速度同步工作,即一个时钟周期内存工作一次。
  2. 基于双存储器结构,内含两个交错的存储阵列,读取效率得到成倍提高,是DRAM中速度最快的一种。
  3. DDR SDRAM( Double Date Rate SDRAM,双倍传输速率的SDRAM)在一个时钟周期内内存可以工作两次,因而理论上是SDRAM的2倍,但实际上达不到。

四、外存

外存是处理器不能直接访问的存储器,用来存放用户的各种信息,容量大。

在嵌入式系统中常用的外存有:

  1. NandFlash
  2. DOC (Disk On Chip)
  3. CF(Compact Flash)
  4. SD(Secure Digital)
  5. MMC(Multi Mediacard)

电子盘

  1. 电子盘采用半导体芯片来存储数据,具有体积小、功耗低和极强的抗震性等特点。
  2. 在嵌入式系统中普遍采用各种电子盘作为外存。
  3. 常用的电子盘有:NandFlash、MMC、SD、Memory Stick、CF、SM、DOC等。

五、NandFlash和NorFlash对比

NandFlash: 逻辑与,具有容量大、回写速度快、芯片面积小等特点,主要用于外存。

NorFlash: 逻辑或,具有随机存储速度快、电压低、功耗低、稳定性高等特点,主要用于主存。

NandFlash外部接口示例

NandFlash 内部架构图示例

相关推荐
半斗米4 个月前
VSCode + GDB + J-Link 单片机程序调试实践
vscode·单片机·mcu·gdb·嵌入式系统·调试·j-link
worthsen4 个月前
嵌入式 Linux 设备刷系统具体组成
linux·嵌入式系统
我想学LINUX4 个月前
嵌入式期末复习模拟题——模拟题2
linux·嵌入式硬件·嵌入式系统·上机作业
张一西5 个月前
嵌入式系统中的加解密签名
证书·签名·非对称加密·嵌入式系统·rsa·对称加密·加密与解密
极术社区5 个月前
【XR806开发板试用】基础篇,从零开始搭建一个LCD彩屏时钟(ST7735S驱动)
嵌入式系统·xr806·星辰
武汉唯众智创6 个月前
高职物联网专业嵌入式系统开发教学解决方案
嵌入式系统·高职物联网专业
to be a question6 个月前
【嵌入式系统复习总结】第二章 ARM 体系结构
arm开发·笔记·嵌入式硬件·arm·嵌入式系统
to be a question6 个月前
【嵌入式系统复习总结】第五章 嵌入式 Linux 驱动开发
linux·驱动开发·笔记·嵌入式硬件·嵌入式系统
极术社区7 个月前
【XR806开发板试用】使用PWM模块模拟手机呼吸灯提示功能
嵌入式系统·xr806·星辰
政安晨8 个月前
【机器学习智能硬件开发全解】(二)—— 政安晨:嵌入式系统基本素养【处理器原理】
c语言·机器学习·智能硬件·嵌入式系统·开发全解·基本素养·cpu原理