cache存储器

cache的功能:  cache是一种高速缓冲存储器,是为了解决CPU和主存之间速度不匹配而采用的一项重要技术,其原理基于程序运行中具有的空间局部性和时间局部性特征。cache存取速度比主存快,容量远小于主存。从功能上看,它是主存的缓冲存储器,由高速的SRAM组成,为了追求高速,包括管理在内的全部功能由硬件实现,因而对程序员是透明的。f67062d8fa5d4c5cba1acdf1a4e5df41.jpg

 cache失效的原因: 1.义务失效   2.容量失效(地址映射,全相联解决) 3. 冲突失效(映射地址相同,n路组相联解决)

cache的基本原理:  当CPU读取内存中一个字时,便发出此次的内存地址到cache和主存,此时cache控制逻辑,依据地址判断此字当前是否在cache中,若是,则cache命中,此字立即传送给CPU,若不是,则cache缺失(未命中),用主存读周期把此字从主存读送到CPU,与此同时把含有这个字的整个数据块从主存读出送到cache中。注:若主存没有数据向外存要。

cache的命中率: 931803d0b8f145199a7f9da48f015c9a.jpg

 例题:02e4223e9c5248a3b689e95a77ced0a4.jpg

 cache的设计需要遵循两个原则: 一是希望cache的命中率尽可能高,实际应接近于1,二是希望cache对CPU而言是透明的,即不论是否有cache,CPU访存的方法都是一样的。

地址映射: 为了把主存块放到cashe中,必须应用某种方法把主存地址定位到cache中。

cache地址变换: 当CPU访问存储器时,它所给出的一个字的内存地址会自动变换成cache的地址。

全相联映射方式: 936bcc4766f34c1197b398e1023de0aa.jpg

 直接映射方式: de9b56c65e9d446581e7e56776333f87.jpg

 cache的替换策略: 

1.最不经常使用(LFU)算法

2.近期最少使用(LRU)算法   (用的最多)

3.随机替换

4.轮转

cache的写操作策略: 

1.写回法(或写返回)

2.全写法(或写穿透)

Pentium4的cache组织

c02370b1ba17480988523006d1e593b2.jpg

 一级缓存分开的原因:数据和指令局部相互影响。

一级缓存读取数据约4个时钟周期。

二级缓存读取数据约11个时钟周期。

三级缓存读取数据约40个时钟周期。

主存读取数据约300个时钟周期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值