缓存未命中的平均访问时间

时间:2014-07-15 16:18:56

标签: caching

对于高速缓存命中的读取操作,存储器访问时间为1纳秒;对于高速缓存未命中的读取操作,存储器访问时间为5纳秒;对于高速缓存命中的写入操作为2纳秒,对于写入操作为10纳秒缓存中的错过。执行指令序列涉及100个指令获取操作,60个存储器操作数读操作和40个存储器操作数写操作。缓存命中率为0.9。平均内存访问时间

1 个答案:

答案 0 :(得分:2)

问题是要找时间,   “100次读取操作和60次操作数红色操作和40次内存操作数写入操作”/“指令总数”。

指令总数= 100 + 60 + 40 = 200

100次获取操作所需的时间(fetch = read)     = 100 *((0.9 * 1)+(0.1 * 5))// 1对应于缓存命中时读取的时间
    = 140 ns //0.9是缓存命中率

60次读取操作所需的时间     = 60 *((0.9 * 1)+(0.1 * 5))
    = 84ns

40次写入操作所需的时间     = 40 *((0.9 * 2)+(0.1 * 10))= 112 ns
//这里2和10分别是缓存命中和没有cahce命中时写入的时间

因此,200次操作所需的总时间为= 140 + 84 + 112 = 336ns

平均所用时间=每次操作所用的时间= 336/200 = 1.68 ns