当前位置: 首页 > news >正文

计算机存储器分类和层次结构详解

存储器是计算机系统的核心部件之一,其核心功能是存储程序(指令)和数据,是冯·诺依曼体系结构“存储程序”概念的物质基础。它直接关系到计算机系统的性能、容量和成本。

存储器核心内容总览表

分类维度存储器层级技术实现速度容量成本易失性刷新需求典型应用核心作用
寄存器CPU内部触发器0.1-0.3 ns几十~几百字节极高易失CPU指令操作数存储当前运算数据
高速缓存L1 CacheSRAM0.5-2 ns32-128 KB/核易失缓存最活跃指令/数据减少CPU访问主存延迟
L2 Cache (L2D/L2I)SRAM3-10 ns256KB-2MB/核较高易失二级指令/数据缓存补充L1未命中数据
L3 CacheSRAM10-20 ns4-64MB/芯片中高易失多核共享缓存降低跨核访问延迟
主存储器内存DRAM (DDR系列)50-100 ns8-128 GB中等易失需刷新运行程序临时存储CPU直接操作的数据池
辅助存储器本地存储NAND Flash (SSD)50-150 μs256GB-8TB低($/GB)非易失操作系统/文件存储持久化数据存储
机械存储HDD (磁记录)5-15 ms1-20TB极低($/GB)非易失大容量冷数据存储低成本海量存储
固件/只读存储BIOS/UEFINOR Flash/EEPROM50-100 ns16-128 MB非易失系统启动程序初始化硬件加载OS

存储层次性能对比(典型值)

指标寄存器L1 CacheDDR5内存NVMe SSDHDD
访问延迟0.3 ns1 ns70 ns100 μs10 ms
传输带宽>500 GB/s300 GB/s50 GB/s7 GB/s0.2 GB/s
容量范围<1 KB32-64 KB16-128 GB512GB-4TB1-20 TB
成本($/GB)N/A$100+$3-5$0.1-0.3$0.02-0.05

核心设计思想

  1. 层次化结构
    寄存器→L1→L2→L3→DRAM→SSD→HDD
    ↑速度递减 · 容量递增 · 成本递减↑

  2. 局部性原理支撑

    • 时间局部性:近期访问数据很可能被重用
    • 空间局部性:相邻地址数据可能被连续访问

一、 存储器的基本概念与作用

  1. 定义: 用于存储二进制信息的物理设备或部件。
  2. 核心作用:
    • 存储程序: 存放等待执行的指令序列。
    • 存储数据: 存放原始数据、中间计算结果和最终结果。
    • 信息交换中心: CPU、输入/输出设备都需要通过存储器交换信息(在现代系统中,通常通过Cache和内存交换)。
  3. 核心指标:
    • 存储容量: 存储器能存储的二进制信息总量。基本单位是位(bit),常用单位有字节(Byte, B)、千字节(KB)、兆字节(MB)、吉字节(GB)、太字节(TB)等。
    • 存取时间: 从存储器接收读/写命令到完成读/写操作所需的时间。通常用Ta表示。反映速度
    • 存储周期: 连续两次独立的存储器操作(如两次读)所需的最小时间间隔。通常用Tm表示,一般Tm > Ta(因为需要恢复/稳定时间)。反映带宽潜力
    • 可靠性: 存储器在规定条件下无故障工作的能力。常用平均无故障时间衡量。
    • 功耗: 存储器工作时消耗的功率。
    • 价格/成本: 每位存储单元的成本。
    • 非易失性: 断电后信息是否丢失的特性。

二、 存储器的分类

  1. 按在计算机系统中的地位/层次分类 (最重要):

    • 高速缓冲存储器: 位于CPU和主存之间。容量最小(KB~MB级),速度最快(接近CPU速度),价格最高。由SRAM构成。主要作用是解决CPU和主存速度不匹配问题,存放当前最活跃的程序和数据副本。
    • 主存储器: 简称主存或内存。计算机运行时存放当前正在执行的程序和数据的部件。CPU可直接访问。容量较大(GB级),速度较快(纳秒级),价格适中。主要由DRAM构成。
    • 辅助存储器: 简称辅存或外存。如硬盘(HDD)、固态硬盘(SSD)、光盘、磁带等。容量极大(TB~PB级),速度慢(毫秒级),价格低廉(单位容量成本最低),非易失。用于存放大量暂时不用的程序和数据。CPU不能直接访问辅存,需通过I/O接口调入主存。
  2. 按存取方式分类:

    • 随机存取存储器: 存储单元的内容可按地址随机访问,且访问时间与存储单元的物理位置无关。如:RAM(主存)、ROM、Cache
    • 顺序存取存储器: 信息按顺序存放和读取,访问时间取决于信息所在位置。如:磁带
    • 直接存取存储器: 存取信息时通常分两步:首先直接指向一个较小的区域(如磁道),然后在该区域内顺序查找或等待。如:磁盘(HDD)、光盘。虽然名字有“直接”,但其存取时间与位置有关,并非严格随机。
    • 相联存取存储器: 不是按地址而是按内容的某些特征(关键字)进行访问。如:TLB(快表)
  3. 按存储介质分类:

    • 半导体存储器: 用半导体集成电路工艺制成。如:SRAM, DRAM, ROM, Flash Memory。速度快,集成度高,功耗相对低。是主存和Cache的基础。
    • 磁表面存储器: 在金属或塑料基体表面涂覆磁性材料层存储信息。如:硬盘(HDD)、磁带。非易失,容量大,成本低,速度慢。
    • 光存储器: 利用激光技术存储和读取信息。如:CD-ROM, DVD, Blu-ray。非易失,容量较大,可移动,速度慢。
    • 新型存储器: 如相变存储器、阻变存储器、磁阻存储器等,试图结合DRAM的速度、SRAM的易用性和Flash的非易失性。
  4. 按信息的可更改性分类:

    • 读写存储器: 既可读也可写。如:RAM(SRAM, DRAM)、部分Flash Memory
    • 只读存储器: 信息固化写入后,在正常工作状态下只能读不能写。如:MROM, PROM, EPROM, EEPROM, Flash ROM(用于固件/BIOS)。通常非易失。
  5. 按信息的易失性分类:

    • 易失性存储器: 断电后信息丢失。如:SRAM, DRAM(主存、Cache)。
    • 非易失性存储器: 断电后信息仍能保持。如:ROM、Flash Memory、磁盘、光盘、磁带

三、 存储系统的层次结构

现代计算机采用多级存储体系来解决存储器速度、容量、成本之间的矛盾。核心思想是:

  1. 层次化: 将不同速度、容量、成本的存储器组织成金字塔结构。
    • 顶层: 寄存器 (CPU内部) - 最快最小最贵。
    • 上层: Cache (SRAM) - 很快较小较贵。
    • 中层: 主存储器 (DRAM) - 较快较大较便宜。
    • 底层: 辅助存储器 (HDD/SSD/等) - 慢大便宜,非易失。
  2. 局部性原理: 程序访问存储器在时间和空间上表现出局部性。
    • 时间局部性: 刚被访问过的单元很可能在不久的将来再次被访问。
    • 空间局部性: 刚被访问单元的邻近单元很可能在不久的将来被访问。
  3. 工作过程: CPU首先访问最快的Cache。若所需数据在Cache中(命中),则快速获取。若不在(未命中),则访问主存获取数据,同时将该数据及其附近数据调入Cache以备后用。若所需数据不在主存中,则从辅存调入主存。
  4. 目标: 让CPU访问存储器的平均速度接近Cache的速度,而平均成本接近辅存的成本。

四、 主存储器详解

主存是存储层次的核心,CPU直接与之交互(通过总线)。

  1. 基本组成:

    • 存储体(MB): 由大量存储单元构成,每个单元存放一串二进制位(字),每个单元有一个唯一的地址。存储体是存储信息的实体。
    • 地址寄存器(MAR): 存放CPU要访问的存储单元地址。位数决定了可寻址空间(如32位MAR -> 4GB地址空间)。
    • 地址译码器: 将MAR中的地址码转换成对应存储单元的字选线信号。
    • 数据寄存器(MDR): 暂存从存储体读出或将要写入存储体的数据。位数与存储单元字长相同(或成倍数关系)。
    • 读写控制电路: 根据CPU发来的读/写命令,控制存储器的读写操作。
    • 时序控制电路: 产生存储器操作所需的各种时序信号。
  2. 主存的主要类型 (RAM):

    • 静态随机存取存储器:
      • 原理: 基于双稳态触发器(通常是6个MOS管构成)存储信息。只要供电,状态就能保持。
      • 特点: 速度快(存取时间短),接口简单(不需要刷新),功耗较高(比DRAM),集成度较低(单元面积大),成本高,易失
      • 应用: 主要用于高速缓存。
    • 动态随机存取存储器:
      • 原理: 利用电容上的电荷存储信息(通常1个MOS管+1个电容构成一个单元)。电容电荷会泄漏,需要定期刷新
      • 特点: 速度比SRAM慢,需要复杂的刷新电路,功耗较低(待机时),集成度高(单元面积小),成本低(单位容量),易失
      • 应用: 构成计算机的主内存。常见类型:SDRAM, DDR SDRAM (DDR, DDR2, DDR3, DDR4, DDR5)。DDR技术通过时钟上下沿传输数据,成倍提高了数据传输率。
    • 只读存储器:
      • 掩模ROM: 信息在生产时固化,不可更改。
      • PROM: 用户可编程一次,之后不可更改。
      • EPROM: 紫外光擦除,电编程。可多次擦写。
      • EEPROM: 电擦除电编程。可逐字节擦写,但速度慢。
      • Flash Memory: 块擦除型EEPROM。擦写速度快于EEPROM,成本更低,集成度高。广泛应用于U盘、SSD、BIOS芯片等。非易失
      • 特点: 非易失性,通常只能读(或写速度远慢于读),用于存储固定程序和数据(如BIOS、引导程序、固件)。
  3. 主存储器与CPU的连接:

    • 总线连接: 通过系统总线(地址总线、数据总线、控制总线)连接。
    • 地址线连接: CPU的地址总线连接到存储芯片的地址引脚。地址总线的宽度决定最大寻址范围。
    • 数据线连接: CPU的数据总线连接到存储芯片的数据引脚。数据总线的宽度决定每次访问的数据位数。
    • 控制线连接: CPU的读/写控制线连接到存储芯片的读/写控制引脚(如/WE)。片选信号(/CS/CE)通常由高位地址经译码器产生,用于选择特定的存储芯片或芯片组。
    • 存储容量的扩展:
      • 位扩展: 增加数据位数(字长)。多片存储芯片的数据线分别连接到数据总线的不同位上,地址线和控制线并联。
      • 字扩展: 增加存储单元数量(字数)。多片存储芯片的数据线都连接到数据总线上(需要三态控制),地址线并联,但片选信号由不同的地址译码输出控制。
      • 字位同时扩展: 同时增加字数和字长。结合位扩展和字扩展的方法。
  4. 提高主存性能的技术:

    • 多体交叉存储器:
      • 原理: 将主存分成多个独立编址、能并行操作的存储体(模块)。
      • 编址方式:
        • 高位交叉编址(顺序方式): 高位地址用于选择存储体。主要用于扩大容量。访问连续地址时,实际在同一存储体上串行进行。
        • 低位交叉编址(交叉方式): 低位地址用于选择存储体。连续地址分布在相邻的不同存储体上。
      • 作用(低位交叉): 当CPU连续访问主存时,可以在前一个存储体存取周期结束前启动下一个存储体的访问,形成流水线操作,提高存储器的带宽
    • 高速缓冲存储器: 如前所述,是解决CPU-主存速度差异最有效的方法。

五、 辅助存储器

  1. 作用: 提供海量、廉价、非易失的存储空间。
  2. 主要类型:
    • 磁盘存储器:
      • 组成: 盘片(表面磁性涂层)、磁头、读写电路、驱动机构(主轴电机、磁头臂驱动电机)、接口。
      • 原理: 利用磁头在高速旋转的盘片表面磁化区域来记录信息(磁畴方向代表0/1)。信息按磁道和扇区组织。
      • 特点: 容量大,成本低(单位容量),非易失,可重复读写,访问速度慢(寻道时间+旋转延迟+传输时间),有机械运动部件(易损、功耗、噪音)。
    • 固态硬盘:
      • 原理: 基于NAND Flash存储器芯片,通过电子方式存储信息。
      • 特点: 速度快(尤其是随机访问,无机械延迟),无机械部件(抗震、静音、低功耗),非易失,但单位容量成本高于HDD,存在写入次数限制(需磨损均衡算法管理)。
    • 光盘存储器: 利用激光在盘片表面烧蚀凹坑或改变相变材料状态来记录信息。如CD-ROM(只读)、CD-R(一次写)、CD-RW(可重写)、DVD、BD。容量较大,可移动,成本低,速度慢,主要用于数据分发和备份。
    • 磁带存储器: 顺序存取,容量巨大(LTO磁带),成本极低(单位容量),速度很慢,主要用于海量数据的长期归档备份。

六、 存储器的主要技术指标总结与平衡

  • 速度: 存取时间(Ta)、存储周期™、数据传输率(带宽 = 数据总线宽度 / Tm)。
  • 容量: 总存储位数或字节数。
  • 价格/位: 每位存储单元的成本。
  • 功耗: 工作功耗和待机功耗。
  • 可靠性: MTBF。
  • 非易失性: 是否需要持续供电保存数据。

核心矛盾: 速度快的存储器成本高、容量小;成本低、容量大的存储器速度慢。存储层次结构局部性原理是解决这一矛盾的关键。

七、 发展趋势

  1. 新型非易失存储器:相变存储器、阻变存储器、磁阻存储器等,致力于突破SRAM/DRAM/Flash的局限,实现更高速度、更低功耗、更长寿命、更高密度的非易失存储。
  2. 3D堆叠技术: 将存储单元在垂直方向堆叠多层,显著提高单位面积上的存储密度(如3D NAND Flash, 3D DRAM)。
  3. 存储类内存: 试图打破传统存储层次界限,让具有非易失性、接近DRAM速度、字节寻址能力的新型存储器(如PCM, ReRAM)直接连接到内存总线,既能充当高速主存又能持久化数据。
  4. 近存计算/存内计算: 探索在存储器内部或其附近进行数据处理,减少数据在存储器和处理器之间的搬运开销,提升能效和性能,尤其适用于大数据和AI场景。
  5. 高速接口技术: 如GDDR(显存)、HBM(高带宽内存)用于满足GPU和AI加速器对极高内存带宽的需求。

总结

存储器是计算机系统不可或缺的“记忆”部件,其性能直接影响整体系统性能。理解存储器的分类、层次结构(特别是Cache-主存-辅存体系)、工作原理(尤其是SRAM、DRAM、Flash)、技术指标及其相互制约关系,是掌握计算机组成原理的关键。现代计算机通过精妙的多级存储层次设计和局部性原理的利用,在速度、容量和成本之间取得了良好的平衡。存储技术仍在快速发展,新型存储介质和架构不断涌现,将持续推动计算能力的提升和应用模式的变革。

http://www.xdnf.cn/news/1311139.html

相关文章:

  • PyTorch生成式人工智能——使用MusicGen生成音乐
  • 探索粒子世界:从基础理论到前沿应用与未来展望
  • Python-深度学习(一)
  • flash通信
  • 机器学习核心概念精要:从定义到评估
  • C++STL标准模板库详解
  • sql链接的url中serverTimezone的作用
  • MQ迁移方案
  • Unity 游戏提升 Android TargetVersion 相关记录
  • 深入了解 swap:作用、局限与分区建立
  • (第十七期)HTML图像标签详解:从入门到精通
  • 解决html-to-image在 ios 上dom里面的图片不显示出来
  • [Linux] Linux交换空间管理 Linux系统启动原理
  • 8.16 pq
  • 从 Windows 到 Linux 服务器的全自动部署教程(免密登录 + 压缩 + 上传 + 启动)
  • 嵌入式硬件篇---运算放大器
  • 要想在Trae运行Java程序,该怎样配置Java环境?
  • TOGAF八步一法笔记2
  • TexStudio中的Latex,PDFLatex,XeLatex和LuaLatex的区别
  • RocketMq面试集合
  • 暴雨服务器:以定制化满足算力需求多样化
  • 小白挑战一周上架元服务——元服务开发06
  • 肖臻《区块链技术与应用》第20-22讲 - 以太坊难度调整、权益证明和智能合约
  • 415. 字符串相加
  • Java设计模式之《工厂模式》
  • 【Java web】HTTP 协议详解
  • HTTP 1.0, 2.0 和 3.0 有什么区别?
  • OpenAI TTS API + Web 前端 AudioContext 实战方案
  • (论文速读)ViDAR:视觉自动驾驶预训练框架
  • leetcode-139. 单词拆分-C