Cache 的命中率怎样算?

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:49:06
Cache 的命中率怎样算?
设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相连映像(即Cache每组内共有4个字块)的Cache组织,要求:(1) 画出主存地址字段中各段的位数;
(2) 设Cache的初态为空,CPU依次从主存第0,1,2……99号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少?
(3) 若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍?
第二题怎么做啊?????

公式:存储器的平均存取周期=Cache命中率*Cache存取周期+(1-Cache命中率)*处理机存取周期
例:
指定系统X中,处理器的存取周期为40ns,Cache的存取周期是1us,Cache命中率是 0.5,处理机的的存储器平均存取周期是多少?
解答:代入公式 0.5*1*10^3+(1-0.5)*40=500+20=520ns=0.52us

在第一次循环中,CPU读0,8,16,…,96号单元时未命中,即共有13次未命中;后7次循环读100个字全部命中,命中率为(800-13)/800

。。。。。对于不同类型的程序,这个命中率有很大的区别,要针对某一程序测算