Chinaunix首页 | 论坛 | 博客
  • 博客访问: 227267
  • 博文数量: 54
  • 博客积分: 2150
  • 博客等级: 大尉
  • 技术积分: 600
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-09 17:13
文章分类

全部博文(54)

文章存档

2010年(1)

2009年(42)

2008年(3)

2007年(8)

我的朋友

分类:

2008-01-14 18:22:35

绝大部分CPU都有一个cache,许多CPU还有二级cache(相对于一级cache,二级cache容量大一些,但是速度慢一些)。如果在访问数据时,数据没有在cache中,则成为cache没有命中(cache miss),这是需要将数据从内存加载到cache中,这个过程非常慢,因此要尽量保证cache的命中。
如果提高cache的命中率呢?

要将频繁访问的数据集中存放:将频繁访问的数据按照顺序保存,而不要使用指针。这样,最常用的数据会尽可能的保存在一级cache中。

顺序访问数据:在cache miss后,包含需要访问数据在内的一段数据会被加载到cache中,如果顺序访问,就可以提高cache的命中。

避免同时遍历多个比较大的数据buffer:多个缓冲区在cache上互相冲突对导致cache miss的概率提高。
阅读(9769) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~