Skip to content

408

计算机组成原理

CO-03-01 存储器分类与层次结构概述


一、定位信息

项目内容
所属圈层核心层
前置知识回顾需了解二进制数据表示的基本概念,知道CPU由运算器和控制器组成,理解"存储"即保存二进制信息的基本含义
知识网络定位本单元是第三章"存储器层次结构"的开篇总览,为后续SRAM/DRAM、Cache、虚拟存储器等具体技术建立分类框架和全局视野
考点热度等级M级 — 存储器分类和层次结构常以选择题形式考查,近5年出现约2–3次,单次1–2分

二、知识点讲解

2.1 存储器的分类

存储器是计算机中用于存放程序和数据的部件。根据不同的分类标准,存储器可以从多个维度进行划分。

按在计算机中的作用(层次)分类:

  1. 主存储器(主存/内存):CPU能够直接访问的存储器,存放当前运行的程序和数据。主存的特点是容量适中、速度较快、价格适中。主存通常由半导体存储器(DRAM)构成。
  2. 辅助存储器(辅存/外存):CPU不能直接访问,必须先将数据调入主存才能被CPU使用。常见的辅存包括硬盘、固态硬盘(SSD)、光盘等。辅存的特点是容量大、速度慢、价格低。
  3. 高速缓冲存储器(Cache):位于CPU和主存之间,用于解决CPU与主存之间的速度差异。Cache由SRAM构成,速度接近CPU、容量小、价格高。

按存储介质分类:

  1. 半导体存储器:用半导体器件存储信息,如SRAM、DRAM、ROM等。特点是体积小、速度快、集成度高。
  2. 磁表面存储器:用磁性材料的磁化状态存储信息,如硬盘、磁带。特点是容量大、成本低、可长期保存。
  3. 光存储器:用光学方式读写信息,如CD、DVD、蓝光光盘。

按存取方式分类:

  1. 随机存取存储器(RAM):存取时间与存储单元的物理位置无关,可按地址随机访问任何单元。主存和Cache均属于RAM。
  2. 只读存储器(ROM):正常工作时只能读出不能写入(特殊情况下可写入),断电后信息不丢失。
  3. 顺序存取存储器(SAM):存取时间与存储单元的物理位置有关,必须按顺序访问,如磁带。
  4. 直接存取存储器(DAM):先定位到一个小区域(寻道),再在该区域内顺序查找,如硬盘。

按信息的可保存性分类:

  1. 易失性存储器:断电后信息消失,如SRAM、DRAM。
  2. 非易失性存储器:断电后信息仍保持,如ROM、Flash、磁盘、光盘。

2.2 存储器的层次结构

现代计算机采用多级存储层次结构,其核心思想是:用少量高速存储器满足CPU的速度需求,用大量低速存储器满足容量需求,使整个存储系统在速度上接近最快层、在容量上接近最大层、在价格上接近最低层

存储器层次结构从上到下依次为:

寄存器 ← CPU内部,速度最快、容量最小

Cache(L1/L2/L3) ← 高速缓冲,SRAM实现

主存储器(内存) ← DRAM实现

辅助存储器(硬盘/SSD) ← 容量最大、速度最慢

层次结构的运行原理——局部性原理:

  • 时间局部性:最近被访问的存储单元,在不久的将来很可能再次被访问(如循环中的变量)。
  • 空间局部性:最近被访问的存储单元的邻近单元,在不久的将来很可能被访问(如数组的顺序遍历)。

正是因为程序运行具有局部性特征,才使得"将近期可能用到的数据放在更快的存储器中"这一策略有效,整个存储系统才能在宏观上表现出高速度、大容量、低成本的综合优势。


三、记忆与理解辅助

3.1 口诀记忆

口诀一:"主辅Cach分三层,随机顺序看存取,易失断电记清楚"

  • 三层:主存、辅存、Cache
  • 存取方式:RAM随机、SAM顺序、DAM直接
  • 易失性:DRAM/SRAM断电丢失,ROM/磁盘断电保留

口诀二:"SRAM快贵做Cache,DRAM慢廉做主存"

3.2 对比表:存储器分类总结

分类维度类别典型代表关键特征
按层次主存DRAM芯片CPU直接访问,存放当前程序
辅存硬盘、SSDCPU间接访问,存放大量数据
CacheSRAM芯片CPU与主存之间的缓冲
按存取方式RAMSRAM、DRAM随机访问,存取时间与位置无关
ROMEPROM、Flash只读为主,断电保持
SAM磁带严格顺序访问
DAM硬盘先寻道再顺序查找
按可保存性易失性SRAM、DRAM断电信息丢失
非易失性ROM、Flash、磁盘断电信息保持

3.3 对比表:存储层次各级特性

层次实现技术容量速度成本/位对CPU可见性
寄存器触发器几百B~几KB最快(<1ns)最高直接可见
CacheSRAM几KB~几MB快(1~10ns)对程序员透明
主存DRAM几GB~几十GB中等(50~100ns)中等直接可见
辅存磁盘/SSD几百GB~几TB慢(ms级)最低需调入主存

3.4 关键概念辨析

"透明"的含义:在计算机术语中,"透明"指"看不到的、不需要关心的"。Cache对程序员透明,意味着程序员不需要知道Cache的存在,硬件自动管理数据在Cache和主存之间的调度。注意:这里的"透明"与日常用语中"透明=可见"的含义相反


四、例题与精解

例题1(基础)

题目:下列关于存储器的说法中,正确的是( )。 A. 主存都是由DRAM构成的 B. Cache对程序员是可见的,程序员需要手动管理Cache C. 辅存中的数据可以直接被CPU访问 D. 存储器层次结构利用了程序的局部性原理

命题意图:考查存储器分类和层次结构的基本概念理解。

审题分析:逐项判断,需要理解主存构成、Cache的透明性、CPU访问范围、局部性原理。

解题思路

  • A项:主存通常由DRAM构成,但也可以由其他技术实现,且ROM也属于主存的一部分。但"都是"过于绝对——实际上主存中包含RAM和ROM两部分,RAM通常用DRAM,ROM用其他技术。因此A不完全正确。
  • B项:Cache对程序员透明,硬件自动管理,程序员不需要手动管理。B错误。
  • C项:辅存中的数据必须先调入主存才能被CPU访问。C错误。
  • D项:正确。正是局部性原理使得存储层次结构有效运行。

答案:D

方法反思:对于"下列说法正确/错误"类选择题,关键词如"都是"、"直接"、"所有"往往是陷阱标志,需要注意绝对性表述。


例题2(中等)

题目:某计算机系统中,Cache的访问时间为2ns,主存的访问时间为50ns,Cache的命中率为95%。若CPU访问存储器共1000次,求: (1)Cache-主存系统的平均访问时间; (2)与全部访问主存相比,使用Cache后访问时间缩短了百分之几?

命题意图:考查Cache-主存系统平均访问时间的计算,这是存储器层次结构的核心定量计算。

审题分析:已知Cache命中率 h=0.95h=0.95,Cache访问时间 tc=2nst_c=2\text{ns},主存访问时间 tm=50nst_m=50\text{ns},访问次数 N=1000N=1000

解题思路:使用平均访问时间公式 ta=htc+(1h)tmt_a = h \cdot t_c + (1-h) \cdot t_m

完整步骤

(1)平均访问时间:

ta=htc+(1h)tmt_a = h \cdot t_c + (1-h) \cdot t_mta=0.95×2+(10.95)×50t_a = 0.95 \times 2 + (1-0.95) \times 50ta=1.9+0.05×50=1.9+2.5=4.4nst_a = 1.9 + 0.05 \times 50 = 1.9 + 2.5 = 4.4 \text{ns}

(2)访问时间缩短比例:

全部访问主存的总时间:1000×50=50000ns1000 \times 50 = 50000 \text{ns}

使用Cache后的总时间:1000×4.4=4400ns1000 \times 4.4 = 4400 \text{ns}

缩短比例:50000440050000=4560050000=91.2%\frac{50000 - 4400}{50000} = \frac{45600}{50000} = 91.2\%

方法反思:平均访问时间公式是存储器层次结构中最基本的公式之一。需注意此处假设Cache访问和主存访问是串行的(即Cache未命中时还需访问主存)。如果题目说明Cache访问与主存访问可以重叠(如同时发出请求),则公式不同。实际考试中默认采用串行模型。


五、考情分析

项目内容
近5年考查频次约2–3次(主要以选择题形式涉及存储器分类和层次结构概念)
常见题型选择题为主
分值占比1–2分/次
命题趋势纯概念性选择题频率略有下降,但存储器层次结构的基本框架常作为Cache、虚拟存储器等大题的背景知识出现。近年更倾向于将层次结构概念与具体计算(如平均访问时间)结合考查

基于大纲与命题规律推测


六、易错点提醒

易错点1

  • 错误表现:认为"主存=DRAM",忽略了ROM也是主存的一部分
  • 错误原因:日常语境中"内存"常等同于DRAM,但计算机体系中主存包括RAM(通常用DRAM实现)和ROM两部分
  • 正确做法:主存 = RAM + ROM。RAM通常由DRAM实现,存放运行中的程序和数据;ROM存放BIOS等固件程序

易错点2

  • 错误表现:认为Cache对程序员"可见",需要程序员编写代码来管理数据在Cache中的存放
  • 错误原因:混淆了"透明"在计算机术语中的含义。日常语境中"透明=可见",计算机术语中"透明=看不见、无需关心"
  • 正确做法:Cache由硬件自动管理,对程序员透明(即程序员无需关心)。程序员只需关注主存地址,硬件自动决定哪些数据放在Cache中

易错点3

  • 错误表现:计算平均访问时间时,误用 ta=htc+tmt_a = h \cdot t_c + t_m(漏乘 (1h)(1-h)
  • 错误原因:对命中/未命中的概率加权理解不清。未命中的概率是 (1h)(1-h),需要用它来加权主存访问时间
  • 正确做法:牢记公式 ta=htc+(1h)tmt_a = h \cdot t_c + (1-h) \cdot t_m,命中和未命中两种情况的概率之和必须为1

易错点4

  • 错误表现:认为磁盘属于RAM(随机存取存储器)
  • 错误原因:磁盘可以"随机"读写文件,但这里的"随机存取"是指存取时间与存储位置无关。磁盘需要寻道,访问不同位置的时间不同,属于DAM(直接存取存储器)
  • 正确做法:RAM的核心特征是"存取时间与物理位置无关",磁盘不满足此条件

七、来源标注

  • 依据2026考研统考大纲(408-计算机组成原理-第三章"存储器层次结构"相关考点)
  • 依据大学本科经典教材共识:唐朔飞《计算机组成原理》、白中英《计算机组成原理》

考研全科复习资料 - 基于2026考研统考大纲