假设对指令Cache的访问占全部访问的75%;而对数据Cache的访问占全部访问的25%。Cache的命中时间为1个时间周期,失效开销为50个时间周期,在混合Cache中一次load或store操作访问Cache的命中时间都要增加一个时间周期,32KB的指令Cache的失效率为0.39%,32KB的数据Cache的失效率为4.82%,64KB混合Cache的失效率为1.35%。试问指令Cache和数据Cache容量均为32KB的分离Cache和容量为64KB的混合Cache相比,哪种Cache的失效率更低?两种情况下平均访存时间各是多少?
分离Cache的失效率: 75%×0.39%+25%×4.82%=1.5%
混合Cache的失效率为1.35%,所以64KB的混合Cache是效率更低。
平均访存时间=命中时间+失效率×失效开销
32KB分离Cache 平均访存时间=75%×(1+0.39%×50)+25%×(1+4.82%×50)=1.745
64KB混合Cache 平均访存时间
=75%×(1+1.35%×50)+25%×(1+1+1.35%×50)=1.925
本文对比了32KB分离Cache与64KB混合Cache的失效率及平均访存时间。分离Cache失效率为1.5%,混合Cache为1.35%,后者失效率更低。分离Cache平均访存时间为1.745个周期,混合Cache为1.925个周期。
2659

被折叠的 条评论
为什么被折叠?



