• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 初中学习 > 正文

    [浅析Cache命中率与块的大小之间的关系] 球的大小跟命中率有关吗

    时间:2020-03-14 07:30:15 来源:雅意学习网 本文已影响 雅意学习网手机站

      Analysis of the Relationship between the Cache Hit Rate and the Size of the Block   
       Ai Weili
      (四川大学,成都 610225)
      (Sichuan University,Chengdu 610225,China)
      
      摘要:本篇文章简单介绍了Cache对计算机的重要性,由此引出了Cache命中率,并着重讨论了Cache块的大小对Cache命中率的影响。
      Abstract: This article briefly describes the importance of Cache on the computer, which leads to the Cache hit rate, and focuses on the impact of block size on Cache hit rate.
      关键词:Cache 命中率 块大小 局部性原理
      Key words: Cache;hit rate;block size;locality principle
      中图分类号:TP39文献标识码:A文章编号:1006-4311(2011)32-0153-01
      1Cache的出现
      以前,CPU访问主存的速度不高一直是限制计算机提高性能而困扰计算机设计者的瓶颈问题。为了解决内存速度赶不上CPU处理速度的问题才有了后来的高速缓冲存储器(Cache)系统的出现。
      高速缓冲存储器(Cache)系统由高速、小容量的Cache和主存共同组成。从CPU来看,高速缓存系统速度接近于Cache,而容量为主存大小。
      只要Cache的命中率足够高,就相当于能以接近于Cache的速度来访问大容量的主存。因此,想要计算机有更好的性能,就必须提高Cache的命中率。
      2Cache的命中率
      Cache的命中率主要与如下几个因素有关:程序在执行过程中的地址流分布情况;当发生Cache块失效时,所采用的替换算法;Cache的容量;在组相联映象方式中,块的大小和分组的数目;所采用的Cache预取算法等。这里,我们主要讨论块的大小对Cache命中率的影响。
      当Cache的容量一定时,在采用组相联映象和变换方式的Cache中,块的大小对命中率的影响非常敏感。我们可以从下面的Cache映象逻辑表达式分析:
      设Cache的总量为S,组数为M,组内块数为N,块大小为A。所以,有:
      S = M*N*A
      由上式可知,在Cache的容量S和Cache组内块数N(也可换成是组数M)固定不变时,Cache块大小与组数成反比。
      因此,当Cache的块容量很小,组的数目就多,主存中的某一块可以映象到Cache中的块数就少,所以此时,Cache的命中率低。
      随着块大小的增加,由于程序的空间局部性起主要作用,同一块中数据的利用率比较高。因此,Cache的命中率开始升高。但如果块变得过大的话,会减少装入Cache的总行数,而且,也会使得离所访问的位置较远的块被再次使用的概率变小。因此,这种增加趋势在某一个“最佳块大小”处使Cache命中率达到最大值。在这一点以后,命中率随着块大小的增加反而减小。因为实际上,当块的容量变得比较大时(此时还是在组相联映象中,并没有蜕变成全相联映象),进入Cache中的许多数据可能根本用不上。而且,随着块大小的增加,程序时间局部性的作用就会逐渐减弱。最后,当块大小等于整个Cache的容量时(此时主存块应该是按成组的方式被调入Cache),命中率将趋近于零。
      所以,根据Cache块的容量由小到大的变化,可得Cache命中率的情况如图1所示(仅仅是示意图)。
      我们也可得到Cache的未命中率与块大小的关系图,如图2所示。
      此外,我们还可以这样来定性分析:
      设X1和X2是内存中两块相邻访问的主存逻辑地址,设d=|X1
      -X2|。若dN*M,则X1和X2不一定在同一组内。继续随着A的增大,Cache的组数继续减少,块的替换就趋向频繁,X1和X2都能在Cache内的可能性也就减少,Cache的命中率也会随之降低。当然,这也都要考虑到程序局部性原理。因此,我们可得到图2。
      3总结
      综上所述,块的大小对Cache命中率的影响是显而易见的;而Cache命中率对整个Cache存储系统的存取效率的影响又是至关重要的。所以,对于系统体系结构的设计人员,甚至是软件开发人员来说,关于块大小的最佳选择都是值得研究的。
      参考文献:
      [1]徐炜民,严允中.计算机系统结构(第三版).电子工业出版社,2010.
      [2]罗克吉,刘辉,俸志刚,纪禄平.计算机组成原理(第二版),电子工业出版社,2010.
      [3]李惠安.XOR映象cache的分析.中国科学院研究生院(计算技术研究所),1995.
      [4]顾丽红,吴少刚.代理Web Cache性能分析[J].计算机工程与应用,2003,(13).
      ――――――――――――
      作者简介:艾维丽(1990-),女,重庆人,大学本科,现为四川大学计算机学院计算机科学与技术专业08级学生。

    推荐访问:命中率 浅析 大小 浅析Cache命中率与块的大小之间的关系

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章