CSAPP Note chap6

CSAPP Note chap6

CSAPP 读书笔记系列chap6

chap6 储存器层次结构

这一章说的是内存和缓存cache,配合之前的图

存储设备形成层次结构

6.1 存储技术
  • 随机存取存储器(RAM, Random-Access Memory)

    • SRAM(Static RAM) 通常用在处理器做缓存
    • DRAM(Dynamic RAM) 也就是内存
  • ROM

  • disk传统机械硬盘 机械硬盘有许多片磁盘(platter)组成,每一片磁盘有两面;每一面由一圈圈的磁道(track)组成,而每个磁道会被分隔成不同的扇区(sector)。信息存在扇区上面

  • SSD 固态硬盘 信息存储在block的页page上

  • 总线BUS: 传输地址、数据和控制信号的一组电线

memory的发展历史如下:
memory的发展.png

6.2 局部性Locality

其是为了解决访问速度过慢的问题,利用的是缓存cache的思想,其一般分为:

-时间局部性(Temporal Locality): 如果一个信息项正在被访问,那么在近期它很可能还会被再次访问

  • 空间局部性(Spatial Locality): 在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的

  • 顺序局部性(Order Locality): 在典型程序中,除转移类指令外,大部分指令是顺序进行的。顺序执行和非顺序执行的比例大致是5:1。此外,对大型数组访问也是顺序的。指令的顺序执行、数组的连续存放等是产生顺序局部性的原因。

而cache 的思想: 对于每个k,位于k层的更快更小的存储设备作为位于k+1岑的更大更慢的存储设备的缓存。
在第一个图中,每一层都可以看作是下一层的缓存。

更加具体的是:
缓存类型表.png

缓存未命中
  • 缓存命中(CACHE HIT):若程序需要在第k+1层的某个数据对象d,程序会先在第k层的一个块查找,若d刚好在第k层,则为缓存命中.

  • 缓存未命中 (CACHE MISS) : 命中的反面,其类型为:

    • 强制性失效(Cold/compulsory Miss): CPU 第一次访问相应缓存块,缓存中肯定没有对应数据,这是不可避免的
    • 冲突失效(Confilict Miss): 在直接相联或组相联的缓存中,不同的缓存块由于索引相同相互替换,引起的失效叫做冲突失效
    • 容量失效(Capacity Miss): 有限的缓存容量导致缓存放不下而被替换,被替换出去的缓存块再被访问,引起的失效叫做容量失效
 高速缓存存储器 Cache Memory

这里介绍的是L1缓存的工作原理:
这里很多概念类似hash 技术

对于一个缓存器:

L1缓存器.png

其大小容量为: C=S×E×B  字节

其中:
- S 表示集合(set)数量
- E 表示数据行(line)的数量
- B 表示每个缓存块(block)保存的字节数目

而对于寻址(也就是如何寻找对应的block)的方式:

由对应的地址总线去决定,也就是:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值