http://blog.csdn.net/zhuliting/article/details/6210997
缓存(cache)大小是CPU的重要指标之一,其结构与大小对CPU速度的影响非常大。简单地讲,缓存就是用来存储一些常用或即将用到的数据或指令,当需要这些数据或指令的时候直接从缓存中读取,这样比到内存甚至硬盘中读取要快得多,能够大幅度提升cpu的处理速度。
CPU与cache之间的数据交换是以"字"为单位,而cache与主存之间的数据交换是以"块"为单位,一个块由若干字组成,是定长的,以体现"保存下级存储器刚才被存取过的数据及其邻近小范围的数据"这一概念。
CPU进行存储器读操作时,根据主存地址可分成命中和未命中两种情况。对于前者,从Cache中可直接读到所需的数据;对于后者,需访问主存,并将访问单元所在的整个块从内存中全部调入Cache,接着要修改Cache标记。若Cache已满,需按一定的替换算法,替换掉一个旧块。
一级缓存中还分数据缓存(data cache,d-cache)和指令缓存(instruction cache,i-cache)。二者分别用来存放数据和执行这些数据的指令,而且两者可以同时被cpu访问,减少了争用cache所造成的冲突,提高了处理器效能。
采用分立Cache技术,也就是将指令和数据分开,分别存放在指令Cache 和数据Cache中。这种分立Cache技术有利于CPU采用流水线方式执行指令。在流水线中,往往会发生在同一个操作周期同时需要预取一条指令和执行另一条指令的取数据操作的情况。若采用指令和数据统一的Cache,则这种情况会造成取指令和取数据的访存冲突,冲突的结果就是使得流水线产生断流的情况发生,从而严重影响流水线的效率。采用分立Cache技术,因为取指令和取数据分别在不同的Cache中同时进行,因而不会产生冲突,有利于流水线的实现
二级缓存(L2 CACHE)出现是为了协调一级缓存与内存之间的速度。最初缓存只有一级,后来处理器速度又提升了,一级缓存不够用了,于是就添加了二级缓存。二级缓存是比一级缓存速度更慢,容量更大的内存,主要就是做一级缓存和内存之间数据临时交换的地方用。“L1级Cache-L2级Cache-主存”这种层次从工作原理上讲与前述的Cache工作原理是完全相同的,即CPU首先访L1级Cache,若不命中,再访问L2级Cache和主存。
Cache/主存系统的读操作原理:
当CPU试图读取主存一个字时,发出此字内存地址同时到达cache和主存,此时cache控制逻辑依据地址的标记部分进行判断此字当前是否在cache中。若是(命中),此字立即递交给CPU,若否(未命中),则要用主存读取周期把这个字从主存读出送到CPU,与此同时把含有这个字的整个数据块从主存读出送到cache中。由于程序的存储器访问具有局部性,当为满足一次访问需求而取来一个数据块时,下面的多次访问很可能是读取此块中的其它字。
<!--[endif]-->
图1 Cache/主存系统的读操作原理
图2 cache的读操作流程示意
更多参考:
http://baike.baidu.com/view/27650.htm
另推荐两篇关于Cache的不错的文章
http://www.eefocus.com/book/09-06/741961276059787.html
分享到:
相关推荐
cache工作原理,详细描述了cache的基本原理一致性问题
Cache 工作原理 & Cache 一致性
根据直接映射的cache工作原理,针对一个8行的cache工作过程进行仿真,每行(块)为一个字,1字4字节,需要读取的内存地址在trace.txt文件中列出。请编写程序,实现8行的cache工作过程进行仿真,可显示每个内存地址,...
非常好的cache的说明文档, 有助于HDL的开发,有助于理解整个系统中的瓶颈问题
cache的工作原理和基本结构等等 cache的工作原理和基本结构等等 cache的工作原理和基本结构等等 cache的工作原理和基本结构等等 cache的工作原理和基本结构等等
以图和文字,详细介绍了cache的结构和工作原理,详细讲解了组相联,全相联,直接相联三种地址映射转换方式
头歌计算机组成原理2路组相联cache设计头歌计算机组成原理2路组相联cache设计头歌计算机组成原理2路组相联cache设计头歌计算机组成原理2路组相联cache设计头歌计算机组成原理2路组相联cache设计头歌计算机组成原理2...
深入Buffer Cache 原理
Oracle Cache Fusion 原理介绍
1.增进对cache工作原理以及计算机存储体系的理解 2.体验程序中访存模式变化是如何影响cahce效率进而影响程序性能的过程;
本文主要介绍嵌入式编程中的Cache机制、原理及其应注意的问题。
深入讲解java cache 技术原理,不是站在部署及配置的角度探讨,而是站在研发的角度探讨
Linux内核内存Cache机制原理从源码的角度来分析流程,可以帮助Linux内核学习者了结Cache的内存机制!
Cache的工作原理[整理].pdf
计算机组成原理有关直接相联映射Cache的实验报告
对于初学嵌入式的新手来说,不明白CaChe的工作原理,可能会很迷茫,本文将全面揭示嵌入式中CaChe的原理。
5Cache基本原理.pptx
计算机组成原理实验报告-Cache模拟器的实现