第一章 计算机体系结构(三)— 存储系统之高速缓存

高速缓存用来存放当前最活跃的程序和数据,其特点是:

  1. 位于CPU和内存之间;
  2. 容量一般在几千字节到几兆字节之间;
  3. 速度一般比主存块5~10倍,由快速半导体存储器构成;
  4. 其内容是主存局部域的副本,对程序员来说是透明的;

1. 高速缓存的组成

Cache由两部分组成:控制部分和存储器部分。
在这里插入图片描述

1-1 存储器部分

用来存放主存的部分拷贝(副本)信息。

1-2 控制部分

判断CPU要访问的信息是否在Cache中,若在即为命中,不在则没有命中。

  • 命中时:直接最Cache存储器寻址;
  • 未命中时:要按照替换原则决定主存的一块信息放到Cache存储器的哪一块里。

2. 高速缓存中的地址映像方法

2-1 直接映像

直接映像指主存的块与Cache中的块的对应关系是固定的。

  • 对应关系:主存地址中的主存区号和Cache中的主存区号相同,则访问可命中。
  • 优点:是地址变换很简单。
  • 缺点:是灵活性差。

2-2 全相连映像

全相连映像指允许主存的任一块可以调入Cache存储器的任一块空间中。

  • 对应关系:地址变换时,利用主存地址高位表示的主存块号与Cache中相联存储器所有单元中记录的主存块号进行比较,若相同即为命中,则访问可命中。
  • 优点:是主存的块调入Cache的位置不受限制,十分灵活。
  • 缺点:是无法从主存块号中直接获得Cache的块号,变换比较复杂,速度比较慢。

2-3 组相连映像

这种方法是前面两种方法的折中。具体方法就是将Cache中的块再分成组。
组相连映像就是规定采用直接映像方式而采用全相联映像方式。
也就是说,组相连映像中的 块是要做比较对应;组要按主存区号做对应。

3. 替换算法

目标:使Cache获取尽可能高的命中率。
常用算法:

  • 随机替换算法:随机产生一个要替换的块号,将该块替换出去。
  • 先进先出算法:将最先进入Cache的块替换出去。
  • 近期最少使用算法
  • 优化替换算法:必须先执行一次程序,统计 Cache 的替换情况。在第二次执行该程序便可以使用做有效的方式来替换。

4. Cache的性能分析

  • Cache设计目标:在成本允许条件下达到较高的命中率,使存储系统具有最短的平均访问时间。

  • Cache存储器的等效加权平均访问时间 t a t_a ta为:
    t a = H c t c + ( 1 − H c ) t m = t c + ( 1 − H c ) ( t m − t c ) t_a=H_ct_c+(1-H_c)t_m=t_c+(1-H_c)(t_m-t_c) ta=Hctc+(1Hc)tm=tc+(1Hc)(tmtc) H c H_c Hc:Cache的命中率;
    t c t_c tc:Cache的存取时间;
    t m t_m tm:主存的访问时间;
    这里假设Cache访问和主存访问是同时启动的,其中:
    t c t_c tc:Cache命中时的访问时间;
    ( t m − t c ) (t_m-t_c) (tmtc):失效访问时间;

  • 如果在Cache不命中时才启动主存,则:
    t a = t c + ( 1 − H c ) t m t_a=t_c+(1-H_c)t_m ta=tc+(1Hc)tm

  • Cache的命中率与Cache容量的关系:
    Cache的容量越大,则命中率越高,随着Cache容量的增加,其失效率接近0%(命中率接近100%)。但是,增加Cache容量意味着增加Cache的成本和增加Cache的命中时间。

5. 多级Cache

在多级Cache计算机中,Cache分为一级(L1 Cache)、二级(L2 Cache)等。

  • CPU访问时先查找L1 Cache,如果不命中,则访问L2 Cache,直到所有级别的Cache都不命中,才访问主存。目前,CPU内的Cache通常为二级结构。通常要求L1 Cache的速度足够块,以赶上CPU的主频。
  • L1 Cache的容量一般都比较小,为几千字节到几十千字节;L2 Cache则具有较高的容量,一般为几百字节到几兆字节,以具有足够高的命中率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值