CSAPP 笔记六 存储器层次结构

学习基本的存储技术——SRAM存储器,DRAM存储器,ROM存储器以及旋转的和固态的硬盘——并描述他们是如何被组织为层次结构。

更新历史

  • 23.07.23:初稿

系列

The Memory Hierarchy

Random-Access Memory(RAM)

根据存储单元实现方式区分为:

SRAM(Static)

  • 4或6个晶体存储 1 bit, 成本很高

  • 访问速度比DRAM快

  • 不太需要EDC(error detection and correction)错误检测和纠正

  • 组成cache

DRAM(Dynamic)

  • 一个晶体存储 1 bit

  • 需要刷新

  • 需要EDC

  • 组成主存储器,图形显卡的帧缓存(frame buffers)

Nonvolatile Memories

Read-only memory(ROM):生产期间硬编程一次

Programmable ROM(PROM): 可编程ROM

Eraseable PROM(EPROM): 可擦拭可编程ROM

Electrically eraseable PROM(EEPROM): 电子可擦拭可编程ROM

Flash memory: 闪存,提供了擦拭模块,但是会有损耗。

Disk Drive

因为机械特性,硬盘会比SRAM,DRAM慢很多。

Sectors:扇区

Cylinder: 柱面

Logical Disk Blocks:逻辑块

实现物理块与逻辑块之间的映射关系。

Solid State Disks(SSDs)

  • 没有机械部件,由闪存翻译层固件控制

  • 以页为单位读写,写入时必须擦拭整个块

Locality of reference

程序的局部性

程序需要良好的局部性,有利用于读写内存。

Caching in the Memory Hierarchy

利用缓存和局部性原理构建了存储器层次结构。

高层保存着从低层检索到的数据

Caches

Cold (compulsory) miss: 冷命中,初始时cache为空

Conflict miss: 冲突不命中,位置被占用了

Capacity miss: 容量不命中,不可以容纳超过缓存大小的工作集