【重学计算机】机组D4章:存储系统

1. 存储系统层次结构

主存速度缓慢的原因:主存增速与CPU不同步,执行指令期间多次访问主存

主存容量不足的原因

  • 存在制约主存容量的技术因素:如由CPU、主板等相关技术指标规定了主存容量
  • 应用对主存容量需求不断扩大:window98 -- 8M,windows 8 -- 1G

   -----> 存储体系结构化层次:  CPU -- Cache1 -- Cache2(解决速度) -- 主存 -- 辅存(解决容量)

存储体系结构化层次理论基础

  • 时间局部性:程序体现为循环结构
  • 空间局部性:程序体现为顺序结构

2. 主存中的数据组织

存储字长:主存的一个存储单元所包含的二进制位数,目前大多数计算机主存按字节编址,主要由32为和64位

数据存储与边界的关系

  • 按边界对齐的数据存储,未按边界对齐的数据存储
  • 边界对齐与存储地址的关系:(32位为例)
  1. 双字长边界对齐:起始地址最末三位为000(8字节整数倍)
  2. 单字长边界对齐:起始地址最末二位为00(4字节整数倍)
  3. 半字长边界对齐:起始地址最末一位为0(2字节整数倍)

大端与小端存储方式

  • 大端:最高字节地址是数据地址(0123存成0123)
  • 小端:最低字节地址是数据地址(0123存成3210)

3. 存储器分类

  • SRAM存储器:存取速度快,但集成度低,功耗大,做缓存
  • DRAM存储器:存取速度慢,但集成度高,功耗低,做主存

    DRAM刷新方式:集中刷新、分散刷新、异步刷新

4. 主存容量的扩展

  • 位扩展法:8K * 8位 --> 8K * 32位
  • 字扩展法:8K * 8位 --> 32K * 8位
  • 字位同时扩展法:8K * 8位 --> 32K * 32位

5. Cache的基本原理

  • cache的工作过程
    • 数据:cpu与cache交换字,cache与内存交换块
    • :命中,不命中
    • :写穿策略,写回策略
  • 写策略
    • 写穿策略(write through):同时写缓存和内存,好像穿过缓存一样。若不命中,先写到主存中,并选择性地同时分配到缓存中(写分配/非写分配)
    • 写回策略(write back):写到缓存后不管了,只有当缓存的内容替换回主存时再管,需有脏位。好像隔段时间后再写回到主存中一样
  • 地址映射机制
    • 相联存储器:地址本身包含着位置啊可比较的信息啊等内容信息,可根据区分地址内容进行寻址
    • 主存地址 = 块地址 + 块内偏移地址 = (Tag + Index) + 块内偏移地址
    • cache结构
      • 好多行,每行与主存块大小相等
      • 每行 = tag + data + valid + dirty
    • 三种映射方式
      • 全相联:cache行号 = random(内存块号)
      • 直接相联:cache行号 = 内存块号 % cache行数
      • 组相联:两者结合。8行1路组相联就是全相联,8行8路组相联就是直接相联
  • 替换算法
    • 先进先出法-FIFO
    • 最近最不经常使用法-LFU
    • 近期最少使用法-LRU
    • 随机替换法

6. 虚拟存储器

  • 解决问题:主存容量不足。希望向程序员提供更大(比主存大)的编程空间
  • 分类页式,段式,段页式
  • 页式实现方式:MMU(Memory Management Unit) + 页表 + TLB(Transaction Lookaside Buffer:地址转换后备缓冲器)
  • 页式转换过程:虚拟地址 = 虚拟页号 + 页内偏移 ==> 物理页号 + 页内偏移

7. RAID

  • 概念:独立磁盘构成的具有冗余能力的阵列(Redundant Arrays Independent Disks)
  • 核心技术:使用异或运算恢复数据 (x⊕y = z  --> x = y⊕z)
  • 分类
    • RAID0:条带均匀分布
      磁盘0 磁盘1 磁盘2 磁盘3
      D0 D1 D2 D3
      D4 D5 D6 D7
      D8 D9 D10 D11
    • RAID1:以镜像为冗余方式
      磁盘0 磁盘1
      D0 D0
      D1 D1
      D2 D2
    • RAID3/4:有校验盘
      磁盘0 磁盘1 磁盘2 校验磁盘
      D0 D1 D2 P0
      D3 D4 D5 P1
      D6 D7 D8 P2
    • RAID5:校验信息分布式
      磁盘0 磁盘1 磁盘2 磁盘3
      D0 D1 D2 P0
      D3 D4 P1 P5
      D6 P2 D7 D8
      P3 D9 D10 D11
    • RAID10/01:10是先镜像再条带化,01是先条带化再镜像
    • RAID50:先RAID5,再条带化
原文地址:https://www.cnblogs.com/flashsun/p/10366144.html