计算机组成原理中的缓存,计算机组成原理之高速缓存(重要点)

这一篇也是计算机组成中比较重要的概念,高速缓存。数组

上一篇已经讲了存储层次结构,接下来看看高速缓存的原理。缓存

Cache取回数据时并不仅是取回CPU要求的单个数据,而是取回一个数据块Block,其实这是一个预期的行为,好比通常咱们spa

访问数组下标为1的数据时,接下来大可能继续访问下标2,3……的数据设计

另外频繁被访问的数据也会在Cache中被缓存下来 blog

fb43451a3f74bb35f85056396b7c467c.png

这是Cache的访问过程,看起来很是像咱们写的程序逻辑判断。。。内存

190b214958d547572044e673b06f9902.png

a85cc3607ebe10ab419337af1b3dde45.png

上图中衡量高速缓存的是平均访问时间=命中时间+失效代价X失效率效率

下降平均访问时间也是从这三个参数入手设计,然而实现目标总没有那么十全十美,好比想让命中时间下降,须要让缓存容量减少,原理

这样能存下的缓存数据就减小了,失效率也会上去。程序

须要知道的是指令和数据之前都是在内存中,可是指令和数据的访存时间差距却很大,通常指令访存的平均时间比数据小不少,好比im

厨师如今知道了下一个菜是炒番茄鸡蛋,可是收到指令好久才有切好的番茄送过来,所以现代CPU大多数将指令和数据分放在两个独立的

Cache中,避免空间上相互影响。

下图是Corei7的缓存设计。其中路组相联指的是高速缓存中的相同地址头的存放策略。好比编号为1的房间如今放着数据A,如今须要

数据B,取回来后编号也是1,那么是增长一个房间呢仍是替换编号1房间的数据A呢,很显然,这又是个相互制约的设计

11cd321f08c5c0b8e1e7232922c086ea.png

关于Cache的写策略,只能从字面意思上去理解,具体的怎么设置尚不清楚

c2267fe9229e0ae57dbee901f690450f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值