处理器(续)_缓存(cache)

4.处理器(续)_缓存(cache)

4.1硬件的处理速度

由于经济因素,处理器和内存所使用的半导体工艺不同,工艺的差异导致了处理器和内存的速度差异,处理器总是要等待内存,处理器速度远远大于内存。所以在两者之间增加缓存是及其必要的。
通常:V处理 > V处理器内部寄存器 > V缓存 > V内存 > Vflash

创新互联主营普陀网站建设的网络公司,主营网站建设方案,重庆App定制开发,普陀h5微信小程序定制开发搭建,普陀网站营销推广欢迎普陀等地区企业咨询

4.2程序访问的局部性

程序运行时有一个特点,在短时间内,处理器访问的储存空间是一个很小的范围。
A.时间局部性:某个存储单元在短时间内很可能被再次访问
B.空间局部性:某个存储单元的邻近单元在短时间内也可能被访问
4.3 cache
Cache是一种小容量高速存储器,其存取速度与处理器的运算速度几乎同量级,现代计算机通常将其内置于处理器芯片内。
在处理器和内存之间设置cache,把内存中别频繁访问的指令和数据复制到cache中。大多数情况下,处理器能直接从cache中取得指令和数据。
处理器(续)_缓存(cache)

4.4 内存和缓存之间的映射

内存与缓存之间的映射最简单的方法是直接映射法。特点是任意一个内存地址都能映射到cache中的一个固定位置。

直接映射法

将cache和内存分成固定大小的块(如512Byte/块)
内存中每一块在cache中有固定的映射位置
映射公式为:pos_cache = 内存块号 % cache总块数,如下图示:
处理器(续)_缓存(cache)

地址划分:

![](/upload/otherpic74/1037cd3857ebfbac7c4c45dc02e2a74c.png)

映射原理:

根据访问地址中的c位找到cache中的对应块,比较地址中的t位和对应块号的flag是否相同。
相同,则根据块内地址做为偏移量直接读取数据
不同,说明要访问的内存数据不在缓存中,则从内存中复制块内容到缓存。

直接映射法示例:

处理器(续)_缓存(cache)

直接映射法的特点:

优点:映射过程简单,所需耗时短
缺点:当短时间访问的地址有同余冲突(两片内存对应同一片缓存),会造成缓存失效。

4.5 Cache原理软件应用:

背景:日志系统对系统效率影响很大,同时不易分析,无法高效打印二进制数据,需要自定义日志的解析格式,并且可以对日志进行分类,控制其输出。
最初方案:开发一个日志解析软件,配合脚本实现日志解析,每一种日志都有自己对应的解析程序。当有日志来时,通过日志类型查找对应的解析程序。
问题:短时间内有大量日志需要打印时,性能无法满足要求。性能的瓶颈在于每次频繁查找耗时太多。
解决方案:根据cache原理,设置二级缓存,尽可能避开查找。


当前名称:处理器(续)_缓存(cache)
文章出自:http://ybzwz.com/article/pgjiid.html