CSAPP 笔记六 存储器层次结构
学习基本的存储技术——SRAM存储器,DRAM存储器,ROM存储器以及旋转的和固态的硬盘——并描述他们是如何被组织为层次结构。
更新历史
- 23.07.23:初稿
系列
The Memory Hierarchy
Storage technologies and trends
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: 容量不命中,不可以容纳超过缓存大小的工作集