关于“缓存着色(cache coloring, page coloring)”技术的相关资料介绍

为了了解缓存着色的作用,搜集很多资料,但是都不甚满意。有时间会按照自己的理解写一篇博客介绍。

page coloring、cache coloring、缓存着色,是相同的技术,叫法不一样而已。


缓存着色的目的:为了充分利用大cache(例如6M二级cache)而产生的纯软件技术,不需要任何硬件改动。

实现方法:在linux内核的VM管理部分,在为进程分配内存时调用

适用条件:只有在cache是组相连(直接相连是组相连的一种特殊情况)结构时才能适用。



大体介绍每个资料特点,放到博客上供以后参阅。

1、陈怀临老师的博客

优点:该博客为了讲解缓存着色,铺垫了很多内存管理的基础知识;有些内容讲的浅显易懂,例如cache bin的概念;图例较多,便于理解,是所有关于缓存着色技术讲解最全的一篇博文;

缺点:博文里面有些举例不是很合适,有些反而起不到把概念解释清楚的目的,例如“大宋姐妹一盘棋”,“不要输在起跑线上”等比喻,虽然我能看懂,但总觉得还有更好的比喻方式;文字表述有的地方不是很清楚,段落不清晰,其实我写东西也这样,做技术的文字表达能力确实需要提高。

首席(陈怀临的绰号)的技术绝对没话说,首推这篇博文:http://www.valleytalk.org/wp-content/uploads/2011/06/pagecoloringplus.pdf

2、http://www.freebsd.org/doc/en/articles/vm-design/page-coloring-optimizations.html

该链接只是一个简单地关于page coloring的介绍,是freebsd的官网文档,里面的例子还是有些提示作用的。

3、http://blog.csdn.net/maray/article/details/3599845

该博文讲解简单,但是过于简单,不适合对体系结构了解不深的同学看。

4、http://en.wikipedia.org/wiki/Cache_coloring

维基百科的解释,没有原理的解释,用的图片还是日文的,亟需修改,但是给出了缓存着色技术在那些OS中实现了: Solaris,[2]FreeBSD,[1] NetBSD,[3] and Windows NT.[4]

其中给出的链接可以参考。

5、http://community.arm.com/docs/DOC-8042

arm论坛上的资料,值得参考,但是翻译着实不敢恭维,最好看原文吧,原文网址在里面有交代。

你可能感兴趣的:(处理器,缓存)