CSAPP学习笔记 -- 第六章 存储器层次结构(上)

存储器系统是一个具有不同容量,成本和访问时间的存储器的层次结构。
局部性原理
 
6.1 存储技术

6.1.1 随机访问存储器
随机访问存储器RAM分为两类
  • 静态SRAM
    • 每个位存储在一个双稳态的存储器单元
  • 动态DRAM
    • 每个位存储为对一个电容的充电
    • 对干扰敏感且不恢复
  • 传统的DRAM
    • 每个DRAM芯片连接到一个内存控制器的电路,通过RAS和CAS的超地址(i, j)请求读取内容
  • 内存模块
    • DRAM芯片封装在内存模块中,插到主办的扩展槽上。
    • 传统DRAM的组合模型
  • 增强的DRAM
    • 快页模式DRAM
    • 扩展数据输出DRAM
    • 同步DRAM
    • 双倍速率DRAM
    • 视频DRAM
  • 非易失性存储器
    • DRAM和SRAM是断电易失的,但是ROM不会
    • 可擦写可编程ROM
    • 电子可擦除ROM
    • 闪存
    • 固态硬盘
  • 访问主存
    • 总线
    • 读事务、写事务
 
6.1.2 磁盘存储
  • 磁盘构造
  • 磁盘容量
    • 记录密度:磁道一英寸的段中可以放入的位数
    • 磁道密度:从盘片中心出发半径上一英寸的段内可以有的磁道数
    • 面密度:记录密度和磁道密度的乘积
  • 磁盘操作
    • 读/写头、传动臂、寻道
    • 寻道时间
    • 旋转时间
    • 传送时间
    • 访问时间的计算参考例
  • 逻辑磁盘块
    • 三元组(盘面,磁道,扇区)
  • 连接I/O设备
    • 通用串行总线(USB)控制器
    • 图形卡
    • 主机总线适配器
  • 访问磁盘
    • 内存映射I/O、直接内存访问DMA
 
6.1.3 固态硬盘
略过
 
6.1.4 存储技术趋势
关于存储技术的讨论
  • 不同的存储技术有不同的价格和性能折中
  • 不同存储技术的价格和性能属性以截然不同的速率变化着
 
 
6.2 局部性

局部性原理:计算机程序倾向于引用邻近于其他最近引用过的数据项的数据项,或者最近引用过的数据项本身。
  • 分为时间局部性和空间局部性
  • 一般而言,有良好局部性的程序比局部性差的程序运行的更快
  • 因此引用了高速缓存寄存器
 
6.2.1 对程序数据引用的局部性
步长为k的引用模式,步长越长,空间局部性下降。
 
6.2.2 取指令的局部性
指令按照连续的内存顺序执行,因此具有良好的空间局部性
循环体执行多次,因此具有良好的时间局部性
 
6.2.3 局部性小结
  • 重复引用相同变量的程序具有良好的时间局部性
  • 步长为k的引用模式,步长越长,空间局部性下降。
  • 对于取指令来说,循环体具有好的时间和空间局部性
 
 
6.3 存储器层次结构

6.3.1 存储器层次结构中的缓存
层次结构中的每一层都缓存来自较低一层的数据对象
  • 缓存命中
  • 缓存不命中
    • 替换策略
    • 缓存不命中类型
      • 强制性不命中/冷不命中
      • 冲突不命中
      • 容量不命中
    • 缓存管理
 
6.3.2 存储器层次结构概念小结
基于缓存的存储器层次结构行之有效,是因为有较慢的存储设备比较快的存储设备要便宜,还因为程序倾向于展示局部性。
posted @ 2020-09-20 21:13  Yoke_cc  阅读(104)  评论(0编辑  收藏  举报