Cache工作原理-3
来源:互联网 发布:淘宝商家怎么收款 编辑:程序博客网 时间:2024/04/30 18:36
2.4.3 实例:80486处理器片内cache
随着半导体集成电路工艺水平的提高,从Intel 80486处理器开始,cache的一部分从处理器外进入处理器内,80486有一个8KB容量的片内cache,用于高速缓存指令和数据,这称为级1 cache;还可支持一个主板上更大容量的cache即级2 cache。这里简要介绍80486处理器片内cache的组织结构。
这个片内cache是四路组相联结构,有128组,每组4行,每行16字节,容量为128×4×16B=8KB。使用32位物理地址寻址,其中最低4位(W=4)用于查找块(行)中的字节;块号域为28位(s=28),其中低7位作为组号(r-d=7),用于在cache的128组中查找特定组;剩下的21位(s-d=21)用于与特定组中4行的标记(tag)进行比较,以判测是否命中。即,每行除16字节的数据外,还有一个21位的标记,显然标记的最低两位为路号,作为标记,也是因此,在填入新行时可选择同组四路的任意无效行。每行还有1位的有效位,此位为0表示该行数据无效,为1表示有效。开机上电时, cache所有行的有效位均清为零,以后随着主存块拷贝进来,相应行的有效位置1。若某行的内容作废或换出,其有效位清零;有时需要"清洗"cache时,所有的有效位全清零。每组4行共用3位的LRU位。于是,四路组相联的cache呈现出如图2.33所示的4个存储体逻辑结构。
当一个主存块拷贝到此cache时,首先以它的内存地址的组号为索引找到特定组,然后检查该组的4个有效位是否有的为0,若有则将主存块拷贝到此行,相应的有效位置1。若该组4行都是有效行,那么就要先换出一行再拷贝。80486片内cache采用的替换算法是一种伪(pseudo) LRU算法。
一组4行L0,L1,L2,L3共用3位LRU位r0,r1,r2。如果最近访问的是L0或L1,则r0位置1;否则(最近访问的是L2或L3),则r0位置0。在L0和L1之间,若最近访问的是L0,则r1置1;否则,r1置0。在L2和L3之间,若最近访问的是L2,则r2置1;否则,r2置0。以上建立的r0,r1,r2三位标记,可使我们按如下规则替换此组的一个有效行:
若r0=0且r1=0,则替换L0;
若r0=0且r1=1,则替换L1;
若r0=1且r2=0,则替换L2;
若r0=1且r2=1,则替换L3;
复位或清洗时, cache全部的LRU位都清为零。
- Cache工作原理-3
- Cache工作原理-1
- Cache工作原理-2
- Cache工作原理-4
- Cache工作原理-5
- Cache工作原理-6
- cache工作原理
- Cache工作原理-1
- Cache工作原理-1
- Cache的工作原理
- Cache的工作原理
- Cache的工作原理
- Cache工作原理
- cache的工作原理
- Cache的工作原理
- 2.1 Cache的工作原理
- cache结构与工作原理
- 高速缓冲存储器Cache的工作原理
- GLSL实现HDR Rendering
- bboss-aop 1.0.1版本隆重推出,请大家访问bboss.sourceforge.net了解相关功能
- ant初始1
- Cache工作原理-2
- vb ado 连接mysql
- Cache工作原理-3
- Cache工作原理-4
- Cache工作原理-5
- Cache工作原理-6
- OSPF详解
- 10分钟让你了解当前的世界金融危机(2008)-----转的
- 鼠标移动ListBox行
- 注意职场“十不要”,让你少奋斗30年
- JavaScript 中的面向对象