我被两个问题困住了。我将包括问题的有关细节,如有任何指导,将不胜感激。如果可以的话请解释一下。
假设您对具有几种不同的内存层次结构选择的处理器有以下统计信息。
Base CPI = 1.5
Processor Speed = 2 GHZ
Main Memory Access Time = 100ns
L1 miss rate per instruction = 7%
L2 direct mapped access = 12 cycles
Global miss rate with L2 direct mapped = 3.5%
L2 8-way set associative access = 28 cycles
Global miss rate with L2 8-way set associative access = 1.5% 注意:全局错误率是所有各级缓存中丢失引用的百分比(因此必须访问主存)。
mapped.
发布于 2012-04-18 04:36:14
我现在明白了这个问题,所以我想我已经在这里解释过了,用更多的信息来改进这个论坛。
第一,
总CPI =基本CPI +内存-每条指令的失速周期
每条指令的内存失速周期=误罚(以周期计)x误报率
第一件事是,如果没有第二个缓存,就找出错过的惩罚。以下计算很容易确定这一点:
主存访问时间/(1/处理器速度)= (100) / (.5) =200个周期
注意:内存访问时间以ns为单位,处理器速度的反比为ns/循环,因此,通过除以这两个周期,我们得到了循环数。我们这样做是因为要花费一定的时间才能到达主存(100 by ),处理器的速度决定了我们的工作速度(2 2GHz),通过倒置将时钟速度转换为时钟速率,我们可以计算到主存所需的周期数(误罚)。
因为这个问题涉及两个缓存,所以当L1中出现误操作时,将尝试从L2检索信息,然后如果仍然找不到该信息,它将访问主内存,因此流程如下所示。
访问L1 -访问L2
(这意味着,如果有“命中”,我们将不需要继续流动)
这个问题告诉我们,L2直接映射访问需要=12个周期
因此,计算结果如下:
总消费物价指数= 1.5 +(0.07x12)+ (0.035 x200)= 9.34消费物价指数
因为您错过了7%的时间,您将需要访问L2,这需要12个周期,所以您乘以这两个。如果它还没有找到,我们必须访问主存,它需要200个周期,全局命中率为3.5%。
总消费物价指数= 1.5 +(0.07x28)+ (0.015 x200)= 6.46
第二种计算是以类似的方式进行的。
发布于 2016-02-24 22:18:30
回答第一个问题的部分依据是解释。我认为这意味着,如果只有一个缓存级别,我们就应该计算CPI。这改变了很多事情..。
误罚=100 1.5 /(1/2 2GHz)=200个周期一级Cache CPI =1.5+ (0.07 * 200) = 15.5
L1失手,L2命中罚则=12个周期-两次误罚= 12 + 200 =212个周期-总CPI = 1.5 + (0.07 * 12) + (0.035 * 212) = 9.76
L1未命中,L2命中罚则=28个周期-两次误罚= 28 + 200 =228个周期-总CPI = 1.5 + (0.07 * 28) + (0.015 * 228) = 6.88
请注意,这是Patterson和Hennessy第5版“计算机组织与设计”中的问题5.7.4。
https://stackoverflow.com/questions/10197446
复制相似问题