某计算机主存的读/写时间为100ns,其Cache的读/写时间为10ns,Cache的命中率为90%,那么每条指令的访存时间是______。
A.15ns
B.19ns
C.16ns
D.32ns
参考答案:B
解析:Cache即高速缓冲存储器,其功能是提高CPU数据输入/输出的速率,突破所谓的“冯·诺依曼瓶颈”,即CPU与存储系统间数据传送带宽限制。高速存储器能以极高的速率进行数据的访问,但因其价格高昂,如果计算机的主存储器完全由这种高速存储器组成,则会大大增加计算机的成本。通常在CPU和主存储器之间设置小容量的高速存储器Cache。Cache容量小但速度快,主存储器速度较低但容量大,通过优化调度算法,系统的性能会大大改善,仿佛其存储系统容量与主存相当而访问速度近似Cache。Cache的命中率被定义为:
其中,Nc表示Cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率。根据题目中给出的已知条件,可以求出如果有100次访问,那么其中90次是通过访问Cache来完成的,而10次是通过访问主存来完成的。
Cache/主存系统的平均访问时间ta被定义为
Ta=htc(1-h)tm
其中,tc表示命中时的Cache访问时间,tm表示未命中时的主存访问时间,h表示命中率。根据题目中给出的已知条件,平均访问时间=90%×10+10%×100=19。因此,平均每条指令的访存时间是19ns。