《计算机组织结构》期末复习-第8讲-高速缓冲存储器

深入理解高速缓存(Cache):原理、设计与策略
本文详细解释了高速缓存的作用、工作流程,包括内存墙问题的解决方案、Cache的映射方式、替换策略以及写策略。还讨论了一级和多级缓存的区别,以及局部性原理对Cache性能的影响。

第8讲-高速缓冲存储器

原文链接

Cache的目的和基本思路

  1. 问题:CPU的速度比内存的速度快,且两者差距不断扩大–内存墙。
  2. 解决:CPU和内存之间增加Cache。
    • 解决内存墙带来的CPU和主存协作问题
    • 在使用主存(相对大而慢)之余,添加一块小而快的cache
    • Cache位于CPU和主存之间,可以集成在CPU内部或作为主板上的一个模块
    • Cache中存放了主存中的部分信息的“副本”
74050a5ff91819f99d4608f61d2be55

Cache的工作流程

  1. 检查(Check):当CPU试图访问主存中的某个字时,首先检查这个字是否在cache中

  2. 检查后分两种情况处理:

  • 命中(Hit):如果在cache中,则把这个字传送给CPU
  • 未命中(Miss):如果不在cache中, 则将主存中包含这个字固定大小的块(block)读入cache中,然后再从cache传送该字给CPU
  1. 如何判断是命中还是未命中?

    • Cache通过标记(tags)来标识其内容在主存中的对应位置
  2. 局部性原理

    • 定义:处理器频繁访问主存中相同位置或者相邻存储位置的现象。
    • 时间局部性:在相对较短的时间周期内,重复访问特定的信息(也就是访问相同存储位置的信息)
    • 空间局部性:在相对较短的时间周期内,访问相邻存储位置的数据
      • 顺序局部性:当数据被线性排列和访问时,出现的空间局部性的一种
        特殊情况
      • 例如:遍历一维数组中的元素
    • 利用“时间局部性”:将未命中的数据在返回给CPU的同时存放在Cache中,以便再次访问时命中。
    • 利用“空间局部性”:将包含所访问的字的块存储到Cache中,以便在访问相邻数据时命中。
  3. 平均访问时间

    • 假设p是命中率, 𝑇c 是cache的访问时间, 𝑇M 是主存的访问时间,使用cache时的
      平均访问时间𝑇A
      T A = p × T C + ( 1 − p ) × ( T C + T M ) = T C + ( 1 − p ) × T M T_{A} = p\times T_{C} + (1 − p) \times (T_{C} + T_{M}) = T_{C} + (1 − p)×T_{M} TA=p×T
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值