处理器之缓存(四)-创新互联

    今天我们来看看缓存。在我们平时的生活中,知道处理器和内存是不同的。它们所使用的半导体器件工艺不同,工艺的差异导致了处理器与内存的速度差异。处理器的器件比内存是要好很多的,因此它的容量就势必很小;而内存虽然速度慢,但是它很便宜,因此容量一般较大。在进行数据的处理时,处理器总是需要等待内存,处理器的速度是远远大于内存的。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网页空间、营销软件、网站建设、佛坪网站维护、网站推广。

        在一般程序访问的时候,它会出现局部性的概念。也就是说,在短时间内,处理器访问的存储空间是一个很小的范围。局部性分为两种:时间局部性和空间局部性。局部时间性是指某个存储单元在短时间内很可能被再次访问,而空间局部性是指某个存储单元的邻近单元在短时间内也被访问。我们在处理器与内存之间就引进了一个中间介质,它叫高速缓冲存储器,俗称 cache。下来介绍下它的特性:1、cache 是一种小容量的高速存储器;2、cache 的存取速度与处理器的运算速度几乎同量级;3、cache 在现代计算机系统中内置于处理器芯片中。在处理器与内存之间设置 cache 能大大地提高效率,将内存中被频繁访问的指令和数据复制到 cache 中。在大多数情况下,处理器能直接从 cache 中取得指令和数据。

        下来我们来看看处理器的数据访问 的具体流程,如下

处理器之缓存(四)

        那么内存和 cache 之间是如何进行映射的呢?是利用直接映射法的。1、将 cache 和内存分成固定大小的块(如 512 Byte/块);2、内存中的每一块在 cache 中有固定的映射位置;3、映射公式为:Pcache = 内存块号 % cache总块数。下图是一个直接映射的例子

处理器之缓存(四)

        它的特点是任意一个内存地址都能映射到 cache 中的一个固定位置。它的地址划分如下

处理器之缓存(四)

        映射原理为根据访问地址的中间 c 位找到 cache 中的对应块,再来比较地址的高 t 位是否和 flag 相同,如果相同责直接读取数据,不相同的话则从内存中复制块内容。例如当前处理器需要访问内存地址为 0x02140CH 处。

        1、地址划分:

0000 001
0010
0 0000 1100

        2、根据 0010 直接访问 cache 中的第 0010 块

        3、匹配 0010 块的 flag 是否等于 0000 001,如果相等则访问 0010 块中 1100 处的数据,不相等则从内存中读取块数据并更新 cache。

        直接映射法的优点是映射过程简单,所需耗时短;而缺点是当短时间内访问的地址有同余冲突时会造成缓存失效。下面来看看基于 cache 原理的软件应用。项目背景是开发一款日志调试工具(Log Dog)。需要解决的问题是:1、日志对系统效率影响巨大,且不容易分析查看;2、现有的日志系统无法高效的打印二进制数据;3、自定义日志内容的解析方式;4、对日志进行分类,并控制日志是否输出。出现过的性能问题是当短时间内有大量日志需要打印时,性能无法满足调试需要。最终的解决方案是根据 cache 原理,设置二级缓存机制,尽量避开查找。


另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:处理器之缓存(四)-创新互联
地址分享:http://hbruida.cn/article/ddshpg.html