首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多级缓存性能

多级缓存性能
EN

Stack Overflow用户
提问于 2012-04-17 19:03:30
回答 2查看 6.9K关注 0票数 3

我被两个问题困住了。我将包括问题的有关细节,如有任何指导,将不胜感激。如果可以的话请解释一下。

假设您对具有几种不同的内存层次结构选择的处理器有以下统计信息。

代码语言:javascript
复制
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.

  • Calculate
  1. 计算总CPI,如果L2缓存可用,则为直接CPI;如果L2可用,则计算总CPI。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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

第二种计算是以类似的方式进行的。

票数 7
EN

Stack Overflow用户

发布于 2016-02-24 22:18:30

回答第一个问题的部分依据是解释。我认为这意味着,如果只有一个缓存级别,我们就应该计算CPI。这改变了很多事情..。

  1. 仅是系统中的L1缓存

误罚=100 1.5 /(1/2 2GHz)=200个周期一级Cache CPI =1.5+ (0.07 * 200) = 15.5

  1. L2直接映射缓存

L1失手,L2命中罚则=12个周期-两次误罚= 12 + 200 =212个周期-总CPI = 1.5 + (0.07 * 12) + (0.035 * 212) = 9.76

  1. L2八路集关联缓存

L1未命中,L2命中罚则=28个周期-两次误罚= 28 + 200 =228个周期-总CPI = 1.5 + (0.07 * 28) + (0.015 * 228) = 6.88

请注意,这是Patterson和Hennessy第5版“计算机组织与设计”中的问题5.7.4。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10197446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档