计算机组织结构 第七章 Cache性能计算

时间:2024-04-10 10:53:03

平均访存时间计算

计算三种方式的平均访存时间。
最通用的计算公式:平均访存时间=命中时间+不命中率*不命中开销

  • 直接映像的平均访存时间=
    (+)(命中需要的时钟周期+直接映像的失效率*直接映像失效的时钟周期)*时钟周期长度

  • 2路组相联映像的平均访存时间=
    (+)(1+)(命中需要的时钟周期+组相联的失效率*组相联失效的时钟周期)*(1+组相联增加损耗的比例)*时钟周期长度

  • 伪相联映像的平均访存时间=
    (+()+)(命中需要的时钟周期+(直接映像的失效率-组相联的失效率)*伪相联额外增加的时钟周期+组相联的失效率*组相联失效的时钟周期)*时钟周期长度

Cache的CPU时间

直接映像的CPU时间=
(CPI+访)指令数量*(CPI+平均每条指令访存次数*直接映像失效率*直接映像失效时钟周期)*时钟周期长度

二路组相联的CPU时间=
(CPI+访)((1+))指令数量*(CPI+平均每条指令访存次数*组相联失效率*组相联失效时钟周期)*((1+组相联增加的损耗比例)*时钟周期长度)

伪相联映像的CPU时间=
(CPI+访()+访)指令数量*(CPI+平均每条指令访存次数*(直接映像失效率-组相联失效率)*伪相联额外增加的时钟周期+平均每条指令访存次数*组相联的失效率*组相联失效的时钟周期)*时钟周期长度


例题:
(1) 理想 Cache(命中率为 100%)情况下的 CPI 为 2.0,时钟周期为 2ns,平均每条指令访存 1.2 次;
(2) 直接映像、2 路组相联映像、伪相联映像这三种 Cache 的容量均为 32 KB,块大小都是 32 字节;
(3) 组相联映像 Cache 中的多路选择器使 CPU 的时钟周期增加了 10%;
(4) 这三种 Cache 的失效开销都是 40 个时钟周期;
(5) 命中时间为 1 个时钟周期;
(6) 32 KB 直接映象 Cache 的失效率为 2%,32 KB 两路组相联映像 Cache 的失效率为1.8%;
(7) 对于伪相联映像 cache,若按直接映像找到(即正常命中)的位置处没有发现匹配时,而在另外一个位置才找到(即伪命中)数据需要 2 个额外的周期;
(8)假设指令条数为 100 条,CPU 的主频是 500MHz。

试计算回答下列问题:(注:结果保留 2 位小数。)
(1)( 6 分) 直接映象、2 路组相联映像、伪相联映像 Cache 的平均访问时间分别是多
少纳秒(ns)?


解:
套公式即可:
计算机组织结构 第七章 Cache性能计算

计算机组织结构 第七章 Cache性能计算