1.2.2存储结构:Cache--高速缓存

请添加图片描述

Cache–高速缓存(相联存储器)

CPU中的寄存器和内存对比的话,其容量和速度差距是非常大的,因此在这种速度容量不匹配的情况下,在二者之间插入了一个折中的存储器,速度和容量是二者折中,从而解决CPU和内存速度容量不匹配的问题,这就是Cache的来源

Cache也叫做高速缓存,我们目前在软考体系中,缓存只了解CPU和内存之间的缓存。而每一级结构或者每两级及结构都是可以去插入一个缓存的,但是目前考试所涉及的一般指CPU和内存之间的缓存——高速缓存,大小级别和主存不能比,主存目前主流的是16G,而Cache的单位是M。

Cache特点

  • Cache的功能:提高CPU数据输入输出的效率,突破冯·诺依曼瓶颈,即CPU与存储系统间数据传送带宽限制。
  • 在计算机的存储系统体系中,Cache访问速度最快的层次(是除了寄存器之外最快的,而寄存器划分在CPU里,因此单提到存储系统体系,Cache是最快的)。
  • Cache对程序员来说是透明的,Cache相关的一些地址、映射关系都是由硬件直接完成的,与程序员无关。
  • 使用Cache改善系统性能的依据是程序的局部性原理,包括时间局部性和空间局部性

Cache改善系统性能局部性原理

  • 时间局部性:指程序中的某条指令一旦执行,不久以后该指令可能再次执行,典型原因是由于程序中存在着大量的循环操作
  • 空间局部性:指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。比如读取连续的数组A1,将所有数组读到Cache中,然后你下一步操作可能是读取A2,这样就不需要再次从内存中获取数据,而是直接在Cache中读取,速度会比内存快
  • 工作集理论:工作集是进程运行时被频繁访问的页面集合

如果以h代表对Cache的访问命中率,t1表示Cache的周期事件,t2表示主存储器周期时间,以读操作为例,使用“Cache+主存储器”的系统的平均周期为t3,则:
t 3 = h × t 1 + ( 1 − h ) × t 2 t3=h×t1+(1-h)×t2 t3=h×t1+(1h)×t2
其中,(1-h)又称为失效率(未命中率)。

Cache的访问命中率一般在90%以上,Cache的访问命中率与Cache的替换算法有关系,这里容易误导,
比如说算法的时间复杂度是影响Cache命中率的主要原因,这句话是不对的

时间复杂度最多是影响时间效率,而关键原因是Cache的替换算法,而不是它其中的某一项,可能是很多项。
比如追女生,把你拒绝了,它拒绝的是你这个人,换一个不同身高的可能答应了,换一个不同发型的也可能答应了,所以这个结果不是说身高和发型导致的,是人的问题,不能说是某个因素的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值