存储系统

2/13/2019 计算机,base

# 存储系统

# 1. 存储器的层次结构

# 1.1 存储器的层次结构

  1. 高速缓冲存储器

    Cache Memory(L 1 ~L 3 缓存)

  2. 主存储器

    内存条

  3. 辅助存储器

    固定磁盘(硬盘、磁盘、闪存) 可移动存储介质(U盘、光盘、磁带)

# 1.2 局部性原理

**虚拟内存:**从逻辑上扩充内存容量的存储器系统

局部性原理:

  • 时间局部性
  • 空间局部性

比如说CPU使用高速缓存中的数据,但是高速缓存中的数据来自主存存储器,那就会有个问题,主存储器中什么样的数据适合缓存到高速缓存中供CPU使用呢?答案可以从时间和空间上来找,第一:有一个变量经常用来做计算,不如求几个数的和,这就是时间局部性,第二:高速缓存中的数据使用完后,CPU大概率会执行这段数据在主存储器中的相邻下一个数据,这就是空间局部性。

# 2. 半导体存储器

# 2.1 主存储器模型

CPU与主存储器的连接

数据总线:

存取周期:两次连续存取的最小时间间隔

存储器总线宽度=数据总线位数=存储字长

数据传输率=存储器总线宽度/存取周期 单位时间内存取二进制信息的位数

地址总线:

存储容量:半导体存储芯片所能存储的二进制信息位数(单位bit) 可寻址最大范围:2 𝑘 × 𝑛(单位bit,1Byte=8bit) 1P = 1T × 2 10 = 1G × 2 20 = 1M × 2 30 = 1K × 2 40 = 1B × 2 50

# 2.2 半导体存储器

# 2.2.1 RAM(Random Access Memory)

  • 随机存取存储器,可随机读写,断电易失
  • 静态(static)RAM:
    • 以触发器存储二进制位(6个MOS管)
  • 动态(dynamic)RAM:
    • 一个/三个MOS管和一个电容存储二进制位
    • 刷新操作,给电容补电
  • 非易失性(non-volatile)RAM:
    • 采用CMOS管构成的低功耗SRAM存储单元
    • 使用锂电池作为后备电源

# 2.2.2 SRAM与DRAM对比

静态(static)RAM:

  • 以触发器存储二进制位(6个MOS管)

动态(dynamic)RAM:

  • 一个/三个MOS管和一个电容存储二进制位
  • 刷新操作,给电容补电
  • 集中刷新:2ms内安排时间全部刷新
  • 分散刷新:每次读完就刷新
  • 异步刷新:每间隔一段时间刷新一行

# 2.3 ROM(Read-Only Memory)

只读存储器,可随机读,不可写入,非易失性 掩膜式只读存储器(MROM) 一次性可编程只读存储器(PROM) 可擦除可编程只读存储器(EPROM) 紫外线擦除(UV-EPROM) 修改次数有限,写入耗时 电擦除(EEPROM) 闪速存储器(Flash Memory) 固态硬盘(Solid State Drives)

# 3. 高速缓冲存储器Cache

# 3.1 基本概念

介于CPU和主存之间,缓解二者速度矛盾

局部性原理:时间/空间局部性 访问顺序:CPU->Cache->主存

  • Cache中存放主存 部分数据 的拷贝(副本)

  • 缓存行/缓存块:与主存传送数据的基本单位(Byte)

缓存命中率:85%+

  • Cache大小
  • Cache组织形式
  • 程序特性

# 3.2 Cache的组织结构

Cache存储体

  • 存放从主存调入的数据
  • 由多个缓存行/字块构成:64B

地址转换机构/部件

  • 实现主存地址到缓存地址的转换
  • 目录表,记录地址映像关系

替换机构/部件

  • 按照一定策略(算法)进行数据块替换

# 3.3 Cache与主存的映像

# 3.3.1 全相连映像(映射)

  • 空位随意放

  • 任意主存字块放到Cache任意位置

  • 优点:命中率比较高,Cache存储空间利用率高

  • 缺点:每次访问都要与全部内容比较,速度低,成本高,应用少

# 3.3.2 直接映像

  • 主存分区,对号入座
  • 主存字块只能映像到Cache特定的块中
  • 将主存空间按Cache大小分区,则每区块数=Cache块数
  • 某区某块只能存入Cache的相同块号中
  • 优点:数据访问时,只需检查区号是否相等即可
  • 缺点:替换操作频繁,命中率比较低

# 3.3.3 组相连映像

  • 先分区再分组,组内随意放
  • 将主存空间按Cache大小分区,则每区块数=Cache块数
  • 主存每区和Cache按同样大小划分成组,则每区组数=Cache组数
  • 某区某组某块只能存入Cache的相同组号中,组内随意
  • 组间直接映像,组内全相连映像
  • 优点:块冲突概率低,块利用率大幅提高,块失效率降低
  • 缺点:实现难度和造价要比直接映像方式高
Last Updated: 11/26/2022, 6:02:04 PM