高速缓冲存储器Cache的工作原理及技术实现(共13页).doc
《高速缓冲存储器Cache的工作原理及技术实现(共13页).doc》由会员分享,可在线阅读,更多相关《高速缓冲存储器Cache的工作原理及技术实现(共13页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上桂林理工大学2013年春季学期课程论文题目:高速缓冲存储器Cache的工作原理及技术实现 专业: 网络工程 班级: 网络11-2班 学号: 姓名: xxx 信息科学与工程学院2013年7月【内容摘要】缓冲存储器用在两个工作速度不同的硬件之间,在交换信息过程中起到缓冲作用,它能提高计算机系统的工作效益。高速缓冲存储器Cache是架设在CPU与内存之间的临时存储器,它的容量比内存小但交换速度快,主要用来提高CPU提取数据的速度 ,Cache作为PC系统中一个重要功能部件 ,已成为评价和选购P C系统的重要指标 ,下面主要谈谈Cache的原理 、设计及发展趋势。【关键词】C
2、ache CPU命中率映像局部性原理【前言】 我们通常都认为计算机的速度是由CPU决定的, 虽然CPU主频的提升会带动系统性能的改善,但系统性能的提高不仅仅取决于CPU,还要有其它的硬件或软件来充分发挥它的速度,与系统架构、指令结构、信息在各个部件之间的传送速度及存储部件的存取速度等因素有关,特别是与CPU/内存之间的存取速度有关。我们知道要使用的软件都要通过主存储器(内存)才能运行,而主存储器的运行速度和CPU之间有一个数量级的差距,这就限制了CPU速度潜力的发挥,若CPU工作速度较高,但内存存取速度较低,则造成CPU等待,降低处理速度,浪费CPU的能力。如500MHz的P,一次指令执行时间
3、为2ns,与其相配的内存(SDRAM)存取时间为10ns,比前者慢5倍,CPU和PC的性能怎么发挥出来?如何减少CPU与内存之间的速度差异?有4种办法:一种是在基本总线周期中插入等待,这样会浪费CPU的能力。另一种方法是采用存取时间较快的SRAM作存储器,这样虽然解决了CPU与存储器间速度不匹配的问题,但却大幅提升了系统成本。第3种方法是在慢速的DRAM和快速CPU之间插入一速度较快、容量较小的SRAM,起到缓冲作用;使CPU既可以以较快速度存取SRAM中的数据,又不使系统成本上升过高,这就是Cache法。还有一种方法,采用新型存储器。目前,一般采用第3种方法。它是PC系统在不大增加成本的前提
4、下,使性能提升的一个非常有效的技术。高速缓冲存储器Cache的运行速度高于主存储器数倍,与CPU速度差不多,容量较小。【正文】一、高速缓冲存储器的结构Cache的功能是用来存放那些近期需要运行的指令与数据。目的是提高CPU对存储器的访问速度。为此需要解决2个技术问题:一是主存地址与缓存地址的映象及转换; 二是按一定原则对Cache的内容进行替换。 Cache的结构和工作原理如下图所示。 主要由三大部分组成: Cache存储体:存放由主存调入的指令与数据块。 地址转换部件:建立目录表以实现主存地址到缓存地址的转换。 替换部件:在缓存已满时按一定策略进行数据块替换,并修改地址转换部件。Cache通
5、常由相联存储器实现。相联存储器的每一个存储块都具有额外的存储信息,称为标签(Tag)。当访问相联存储器时,将地址和每一个标签同时进行比较,从而对标签相同的存储块进行访问。Cache的3种基本结构如下:1、全相联Cache。地址映象规则:主存的任意一块可以映象到Cache中的任意一块 (1) 主存与缓存分成相同大小的数据块。 (2) 主存的某一数据块可以装入缓存的任意一块空间中。 全相联方式的对应关系如下图所示。如果Cache的块数为Cb,主存的块数为Mb,则映象关系共有CbMb种。在全相联Cache中,存储的块与块之间,以及存储顺序或保存的存储器地址之间没有直接的关系。程序可以访问很多的子程序
6、、堆栈和段,而它们是位于主存储器的不同部位上。因此,Cache保存着很多互不相关的数据块,Cache必须对每个块和块自身的地址加以存储。当请求数据时,Cache控制器要把请求地址同所有地址加以比较,进行确认。这种Cache结构的主要优点是,它能够在给定的时间内去存储主存器中的不同的块,命中率高;缺点是每一次请求数据同Cache中的地址进行比较需要相当的时间,速度较慢,成本高,因而应用少。2、直接映像Cache。地址映象规则: 主存储器中一块只能映象到Cache的一个特定的块中。 (1) 主存与缓存分成相同大小的数据块。 (2) 主存容量应是缓存容量的整数倍,将主存空间按缓存的容量分成区,主存中
7、每一区的块数与缓存的总块数相等。 (3) 主存中某区的一块存入缓存时只能存入缓存中块号相同的位置。直接相联映象规则如下图直接映像Cache不同于全相联Cache,地址仅需比较一次。在直接映像Cache中,由于每个主存储器的块在Cache中仅存在一个位置,因而把地址的比较次数减少为一次。其做法是,为Cache中的每个块位置分配一个索引字段,用Tag字段区分存放在Cache位置上的不同的块。单路直接映像把主存储器分成若干页,主存储器的每一页与Cache存储器的大小相同,匹配的主存储器的偏移量可以直接映像为Cache偏移量。Cache的Tag存储器(偏移量)保存着主存储器的页地址(页号)。以上可以看
8、出,直接映像Cache优于全相联Cache,能进行快速查找,其缺点是当主存储器的组之间做频繁调用时,Cache控制器必须做多次转换。3.组相联映象方式组相联的映象规则: (1) 主存和Cache按同样大小划分成块。 (2) 主存和Cache按同样大小划分成组。 (3) 主存容量是缓存容量的整数倍,将主存空间按缓冲区的大小分成区,主存中每一区的组数与缓存的组数相同。 (4) 当主存的数据调入缓存时,主存与缓存的组号应相等,也就是各区中的某一块只能存入缓存的同组号的空间内,但组内各块地址之间则可以任意存放, 即从主存的组到Cache的组之间采用直接映象方式;在两个对应的组内部采用全相联映象方式。
9、下图示出了组相联的映象关系, 图中缓存共分Cg个组,每组包含有Gb块; 主存是缓存的Me倍,所以共分有Me个区, 每个区有Cg组,每组有Gb块。那么, 主存地址格式中应包含4个字段:区号、区内组号、组内块号和块内地址。 而缓存中包含3个字段:组号、组内块号、块内地址。主存地址与缓存地址的转换有两部分,组地址是按直接映象方式,按地址进行访问,而块地址是采用全相联方式,按内容访问。组相联Cache是介于全相联Cache和直接映像Cache之间的一种结构。这种类型的Cache使用了几组直接映像的块,对于某一个给定的索引号,可以允许有几个块位置,因而可以增加命中率和系统效率。优点:块的冲突概率比较低,
10、块的利用率大幅度提高,块失效率明显降低。 缺点:实现难度和造价要比直接映象方式高。二、Cache的工作原理及技术实现1、读取顺序CPU要读取一个数据时,首先从Cache中查找,如果找到就立即读取并送给CPU处理;如果没有找到,就用相对慢的速度从内存中读取并送给CPU处理,同时把这个数据所在的数据块调入Cache中,可以使得以后对整块数据的读取都从Cache中进行,不必再调用内存。正是这样的读取机制使CPU读取Cache的命中率非常高(大多数CPU可达90%左右),也就是说CPU下一次要读取的数据90%都在Cache中,只有大约10%需要从内存读取。这大大节省了CPU直接读取内存的时间,也使CP
11、U读取数据时基本无需等待。总的来说,CPU读取数据的顺序是先Cache后内存。2、基于程序访问的局部性对大量典型程序运行情况的分析结果表明,在一个较短的时间间隔内,由程序产生的地址往往集中在存储器逻辑地址空间的很小范围内。指令地址的分布本来就是连续的,再加上循环程序段和子程序段要重复执行多次。因此,对这些地址的访问就自然地具有时间上集中分布的倾向。数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中。这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象,就称为程序访问的局部性。根据程序的局部性原理,可以在主存和CPU通用寄存器
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高速 缓冲存储器 Cache 工作 原理 技术 实现 13
限制150内