Cache性能分析例题3:平均访存时间和CPU时间的计算

题目内容

考虑两种不同组织结构的Cache的性能以及其对CPU性能的影响。分析时请用以下假设:
(1)两种Cache分别为直接映像Cache和2路组相联Cache,容量均为128KB,块大小都是64字节。
(2)理想Cache(命中率100%)情况下的CPI为1.6,时钟周期为0.35ns,平均每条指令访存1.4次。
(3)命中时间为1个时钟周期,直接映像Cache的失效率为2.1%,2路组相联Cache的失效率为1.9%。失效开销都是65ns(在实际应用中,应取整为整数个时钟周期)。
(4)组相联Cache中,必须增加多路选择器,用于根据标识匹配的结果从相应组的块中选择所需的数据。因为CPU的速度直接与Cache命中的速度紧密相关,所以对于组相联Cache,由于多路选择器的存在而使CPU的时钟周期增加到原来的1.35倍。

题目分析

评价类问题首先确定评价指标。对于Cache的性能和CPU的性能,可以用Cache的平均访存时间和CPU时间来进行衡量。因此我们只需要分别计算出两种组织结构Cache的平均访存时间和CPU时间进行比较即可。

平均访存时间的求解与比较

首先分析平均访存时间公式如下:

平均访存时间=命中时间+失效率×失效开销

本题中直接映像Cache的时钟周期根据(2)可知,为0.35ns,而2路组相联Cache的时钟周期由(4)可知是直接映像Cache的1.35倍,因此也可以计算。
两种Cache的失效率和失效开销在(3)中都已经给出。
因此公式中的各个变量的值都已知,即可进行代入运算,运算过程如下:

2路组相联Cache时钟周期=0.35ns×1.35=0.4725(ns)
直接映像Cache平均访存时间=0.35ns+2.1%×65ns=1.72(ns)
2路组相联Cache平均访存时间=0.4725ns+1.9%×65ns=1.71(ns)

因此可以看出本题中2路组相联Cache的平均访问时间少于直接映像Cache的平均访问时间。

CPU时间的求解与比较

首先列出CPU时间公式如下:

CPU时间=指令数×(执行CPI+访存次数/指令数×失效率×失效开销)×时钟周期时间

本题中指令数虽然未知,但是可以通过求比值约分的方法忽略掉。
两种Cache的时钟周期时间、执行CPI均已知。访存次数/指令数即每条指令的平均访存次数,在题目中已经给出。
失效率和失效开销在题目条件中也已经给出。
因此可以求出两种Cache的CPU时间的比值。计算过程如下所示:

直接映射Cache的CPU时间=指令数×(1.6+1.4×2.1%×65ns)×0.35=2.47×指令数
2路组相联Cache的CPU时间=指令数×(1.6+1.4×1.9%×65ns)×0.35×1.35=2.49×指令数

因此可以看出本题中直接映射Cache的CPU时间低于2路组相联Cache的CPU时间。

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值