存储器概述

  • 处理器芯片是高度集成的用于计算的电路
  • 存储器芯片是高度集成的用于存储的电路

![[images/Pasted image 20260109184930.png]]

存储器分类

当前计算机中,CPU 缓存、内存、外存这三类存储器并存

  • CPU 缓存:SRAM
  • 内存:DRAM
  • 外存:Flash

RAM

RAM(Random Access Memory)随机存储器

随机存取指的是当存储器中的信息被读取或写入时,所需要的时间与这段信息所在的位置无关

根据 RAM 的存储机制,又分为静态随机存储器 SRAM(Static RAM)以及动态随机存储器 DRAM(Dynamic RAM)两种

SRAM

  • SRAM 是靠双稳态触发器来存储一位信息的,因此只要工作电压不存在,存储单元的状态就立即消失,当再次上电时,由于触发器的状态是不稳定的,原来的信息不能恢复
    • 因此 SRAM 最大的特点就是信息的易失性,即掉电后 RAM 中信息全部丢失。
  • SRAM 不需要刷新电路即能保存它内部存储的数据
  • 存储 1bit 的信息需要 4-6 只晶体管,成本高,性能快

DRAM

![[images/Pasted image 20260109194551.png]]

对比

  • SRAM 一般只用于 CPU 内部的高速缓存(Cache),以及 MCU 内置的数据存储器,
  • 外部扩展的内存一般使用 DRAM

![[images/Pasted image 20260109194620.png]]

  • SRAM 和 DRAM 均掉电易失
  • SRAM 不需定期充电以维持电子,DRAM 需要定期充电
  • SRAM 需要更多晶体管构成
    • 因此,SRAM 更贵,也更占空间;DRAM 可以做的容量更大
  • SRAM 做 CPU Cache,DRAM 做 Memory

Cache 的角色定位:从 CPU 的视角,并不知道 Cache 的存在,它一直以为是从 Memory 取数据

CPU 每次从 Memory 取数据(最小一个字节),但一些数据其实直接从 Cache 取(命中);根据局部性原理,一些数据从 Memory 被加载到 Cache,每次加载一个 Block(Cache Li ne)

Flash

  • 闪速存储器(Flash)也称快速擦写存储器,是一种新型半导体存储器芯片
  • 根据存储单元电路的不同, Flash 存储器又分为 NORFlash 和 NAND Flash

特性

  • Flash 中的数据非易失
  • 过程:充电,锁电荷
  • 基于锁住电荷的多少,定义信息
  • SLC -> MLC -> TLC -> QLC

Flash 设备作为存储器存在,而它自身又是一个独立的小型计算机,里面有微处理器、有 Cache、有 Flash Chip

  • 一个 Chip/Package 指一个封装好的闪存芯片
  • 一个 Chip 由若干个 Die 组成
  • Plane 是 NAND 能够根据读、写、擦除等命令进行操作的最小单位
  • 一个 Plane 就是一个存储矩阵,包含若干个 Block
  • Block 是 NANDFlash 的最小擦除单位,一个 Block 包含了若干个 Page
  • Page 是 NANDFlash 的最小读写单位,一个 Page 包含若干个 Byte

局限性

  • 写前擦除
  • 块擦除次数有限
  • 读写干扰
  • 电荷泄漏

上述属性导致:Flash 空间越大,寿命越高,且相对性能越好

分层存储架构

当前计算机普遍采用多存储器分层的金字塔型结构

  • 越靠近处理器,性能越快,容量越小
  • 越远离处理器,性能越慢,容量越大

![[images/Pasted image 20260113083842.png]]

局部性原理

  • 时间局部性
    • 近期访问的数据更容易被再次访问
  • 空间局部性
    • 一个数据被访问,与其相邻的数据更容易被访问

长尾分布:热点数据仅占总量的一小部分

虚拟地址

程序运行时,从外存储器(如 Flash)加载到内存储器(Memory),然后逐条指令载入 CPU 执行

  • 进程是指在系统中正在运行的一个应用程序,程序一旦运行就是进程
  • 指令跳转无法跳出当前进程
  • 对一个进程而言,它认为所有的内存都属于自己
    • 每个进程有一套独立的地址空间
    • 通过这种方式,无论这个进程在哪台计算机上跑,都可以用统一的地址跳转
    • 即,在不同计算机上,一个进程的指令和数据即使存储在不同的内存地址(物理地址),也不受影响

虚拟地址:CPU 的 32bit 寄存器中存放的地址,并非内存中的物理地址

  • 高级语言编译成汇编的过程中,指令形成
  • 指令形成的过程中,地址确定(虚拟地址)
  • 地址的确定规则:进程虚拟地址空间

虚拟地址空间

![[images/Pasted image 20260113084358.png]]

![[images/Pasted image 20260113084325.png]]

新型存储器

  • 内存和存储区域统一:NVM 存储器
  • 多种存储器并存,混合、异构架构
  • 存储器中集成运算电路
  • 芯片堆叠
  • 跨终端设备