ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

【无标题】第三章

【无标题】第三章

一、存储系统概述 & 半导体存储器(第一部分)

3.1 存储系统概述

  1. 存储系统的层次结构
    计算机存储采用分层结构,速度越快,容量越小,价格越高;从CPU向外依次:寄存器 → Cache → 主存 → 辅存。

• 高速缓存Cache:CPU和主存之间,速度接近CPU,容量小。

• 主存(内存):DRAM,存放当前运行程序与数据,CPU可直接访问。

• 辅存(外存,硬盘/U盘):大容量,速度慢,CPU不能直接访问。

  1. 存储器分类

• 按存储介质:半导体存储器、磁存储器、光存储器。

• 按读写特性:随机存取存储器RAM(断电丢失)、只读存储器ROM(断电保存)。

• 按存取方式:随机存取、顺序存取、直接存取。

  1. 存储器技术指标

• 存储容量:存储单元总数,单位位bit /字节Byte。

• 存取时间:收到读命令到数据读出的时间。

• 存储周期:连续两次访问存储器的最小间隔,大于存取时间。

• 可靠性:平均故障间隔时间MTBF。

  1. 编址与端模式

• 字节编址:每个存储单元对应1字节。

• 大端模式:高字节存低地址;小端模式:低字节存低地址。

3.2 静态随机存取存储器 SRAM

  1. 存储单元:触发器构成,只要不断电,数据保持不变。

  2. 特点:速度快,不需要刷新;电路复杂,集成度低,功耗高,成本高。

  3. 用途:用于Cache。

  4. 基本结构:存储单元阵列、地址译码、读写控制电路。

  5. 存储器容量扩展

◦ 位扩展:增加存储字长。

◦ 字扩展:增加存储单元数量。

◦ 字位同时扩展:既扩容又增加字长。

3.3 动态随机存取存储器 DRAM

  1. 存储单元:电容存储电荷表示0/1,电容漏电,必须定期刷新。

  2. 特点:集成度高、容量大、功耗低、价格便宜;速度比SRAM慢,需要刷新电路。用作计算机主存。

  3. 刷新方式

◦ 集中刷新:集中一段时间一次性刷新,刷新期间不能访问,存在死区。

◦ 分散刷新:每次读写后附带刷新,无死区,但降低存取速度。

◦ 异步刷新:兼顾两者,常用。

  1. DRAM衍生:SDRAM、DDR SDRAM(双倍数据率,上升沿+下降沿都传输数据)。

3.4 只读存储器 ROM

断电信息不丢失,只读(部分可擦写)

• ROM:出厂固化,不可修改。

• PROM:一次性可编程。

• EPROM:紫外线擦除。

• EEPROM(E²PROM):电可擦除,按字节擦写。

• Flash闪存:块擦除,U盘、固态硬盘。

3.5 并行存储器

  1. 双端口存储器:两套独立读写端口,两个端口可同时访问,解决并行访问冲突。

  2. 多模块交叉存储器:多个存储模块,流水线并行存取,提高主存带宽。
    二、Cache 高速缓存 & 虚拟存储器(第二部分)

3.6 Cache存储器

3.6.1 Cache基本原理

依据局部性原理(时间局部性:刚访问过的数据短期内会再次访问;空间局部性:访问某单元,相邻单元大概率被访问)。
CPU访问流程:先查Cache,命中直接读Cache;未命中(Cache缺失),去主存读取,同时把这块数据调入Cache。

3.6.2 主存与Cache地址映射

  1. 直接映射:主存块只能固定放到Cache唯一行。
    优点:硬件简单、速度快;缺点:冲突缺失多。

  2. 全相联映射:主存块可以放到Cache任意一行。
    优点:冲突少;缺点:比较电路复杂,成本高,速度慢。

  3. 组相联映射:Cache分组,主存块映射到固定组,组内任意行。折中方案,最常用。

3.6.3 Cache替换策略(未命中且Cache满时)

• 随机算法RAND:随机淘汰,简单,效果差。

• 先进先出FIFO:淘汰最早调入Cache的块,不考虑使用频率,会发生Belady异常。

• LRU最近最少使用:淘汰最久没有访问的块,硬件开销适中,效果最好,考试重点。

3.6.4 Cache写策略

  1. 写直达(全写法):写Cache同时写主存,一致性好;但写速度慢。

  2. 写回法:只写Cache,替换时才写回主存,速度快;但存在数据不一致风险,需要修改位。
    降低Cache缺失的方法:增加Cache容量、增大块大小、提高相联度、多级Cache。
    3.7 虚拟存储器

  3. 基本概念:把主存+辅存看成一个统一虚拟内存,程序员看到巨大虚拟地址空间。由操作系统+硬件MMU存储管理部件共同实现。

• 虚拟地址(逻辑地址):程序使用的地址。

• 物理地址:内存真实地址。

• 缺页中断:访问页面不在主存,触发中断,操作系统从外存调入页面。

  1. 分页式虚拟存储器
    页面大小固定;虚拟页号+页内偏移;页表存放虚拟页→物理页映射,页表存在内存。

  2. 段式虚拟存储器
    段长度不固定,按逻辑模块分段;段表保存段基址、段限长。优点:符合程序逻辑;缺点:碎片多。

  3. 段页式:先分段,段内再分页,综合两者优点。

  4. 替换算法:LRU、FIFO等,和Cache替换算法思想类似。

3.8 鲲鹏920处理器存储系统(了解)

鲲鹏920采用多层次存储架构,片上L1/L2/L3 Cache,搭配大容量DDR内存,有地址映射变换机制。

本章小结

  1. SRAM:触发器、无需刷新、Cache;DRAM:电容、需要刷新、做主存。

  2. 并行存储器:双端口、多模块交叉,提升带宽。

  3. Cache核心:局部性原理,三种地址映射、替换算法、写策略。

  4. 虚拟存储器:逻辑地址转物理地址,分页、段式、段页式,缺页中断。
    习题重点:存储器扩展计算、Cache命中率计算、地址映射计算题。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进