1 / 11
文档名称:

计算机组成原理cache论文-缓存一致性的解决方案.doc

格式:doc   大小:174KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机组成原理cache论文-缓存一致性的解决方案.doc

上传人:luyinyzha 2018/1/18 文件大小:174 KB

下载得到文件列表

计算机组成原理cache论文-缓存一致性的解决方案.doc

文档介绍

文档介绍:缓存一致性的解决方案
摘要:随着计算机技术的飞速发展,CPU时计算机组成的核心部分,提高CPU的性能一直是一个很重要的课题,所以CPU从单核提高到多核,但是总会有一些技术上的难题需要解决,这其中,Cache的一致性问题的解决就推动计算机多核的发展,解决一致性人们提出了一些协议,这其中比较好的解决方案是MESI协议,MESI协议通过监视机制,实时监视总系的事务,当修改某一缓存时,通过通知其它同样持有同一内容的缓存来保持缓存的一致性。
这一协议是目前比较好的解决缓存一致性问题的解决方案,本篇文章就这一经典协议做了分析与总结。
关键词:缓存一致性窥探协议
引言
现代的CPU上,大部分都需要通过缓存来进行内存访问,由于物理架构的原因,CPU没有管脚直接连到内存,所以CPU的读/写(以及取指令)单元正常情况下不能进行直接内存访问。相反,CPU和一级缓存通讯,而一级缓存才能和内存通讯。而现在又大多有了二级缓存,甚至三级缓存。
缓存是分段(line)的,即下文要用的“缓存段”(cache line),当我们提到”缓存段”的时候,就是指一段和缓存大小对齐的内存,而不关心里面的内容是否真正被缓存进去。当CPU看到一条读内存指令时,它会把内存地址传递给一级数据缓存,一级数据缓存会检查它是否有这个内存地址对应的缓存段,没有的话,它会把对应的缓存段加载进来。
如果进行的是读操作,这就很简单,所有级别的缓存都遵循以下规律:在任意时刻,任意级别缓存中的缓存段的内容,等同于它关联内存中的内容。
如果进行写操作,情况就会变得复杂些,一般分为两种基本的写模式:直写(write-through)和回写(write-back)。
直写简单一点:透过缓存,直接把数据写到下一级内存中,如果对应的段被缓存了,就更新缓存中的内容,同样遵循前面的定律:缓存中的段永远和它关联内存的内容匹配。
回写相对复杂一些,回写模式下不会立即把数据传递给下一级,而是仅仅修改本级缓存中的内容,并将其标记为“脏段”,“脏段”会在触发回写,就是将缓存段中的内容传递给下一级,然后脏段又变干净了,即当一个脏段被丢弃了,总是要进行一次回写,在回写模式中,去掉了“任意时刻”这个修饰词,而是以相对弱化的条件代替它:缓存段干净时,缓存段的内容和内存一致;缓存段是脏段时,缓存段中的内容最终要回写到内存中,也就是说可以允许关联内存不和缓存内容同步,但最终要同步。
问题由来
在计算机中,Cache的出现是为了CPU访问内存的速度,只有一个CPU时,不会出现必将难处理的情况,但是有多个CPU时,会出现一个难解决的问题:Cache的一致性如何保证。
具体情况是,多组缓存会共同持有一块内存的内容,如果某一缓存修改了这块内存的内容,那么其它缓存中就不知道这个情况,就会造成缓存的不一致问题,想要解决问题,如果让多个CPU公用一个缓存,每当有指令时,让这些CPU一个一个执行指令,所以每次只有一个CPU在执行指令,虽然这样可以解决缓存不一致问题,但这样会太浪费时间,效率太低,
问题的根源在于有多组缓存,而上面的方法是一组缓存,所以如果将多组缓存看成一组缓存,
看似很难实现,但这确实是可行的,为了实现这样的想法,缓存一致性协议就应运而生了,
这个协议就是能够保证缓存内容的一致性,使多核的效率很大地提高。
缓存一致性协议又有好几种,目前多数计算机都采用的使“窥探(snooping)”协议,这就是本文的主要讲的协议。
“窥探”机制
窥探一种是缓存中的窥探器监视总线事务的机制,它的目标是为了处理好缓存一致性的问题,这个机制是Ravishankar和Goodman在1983年提出的。
当一个特定的数据被多个缓存共享时,并且有一个处理器要修改这个共享数据,那么必须要通知其它拥有这个数据拷贝的缓存。否则,就会违背缓存一致性。这个数据更改通知就可以通过监视总线来完成。所有的监视器监视总线上的每个事务,如果总线上有一个修改共享缓存块事务,相应的监视器就会确保缓存的一致性。
所谓的修改也就是在上面有提到两种写模式,在直写模式下,没有问题,因为写操作一执行,它的效果是立即显现的,不会有停留。但是如果存在回写模式,就会出现问题,因为有可能在写指令执行过后很久,才会触发回写,数据被写回内存中去(这是由于回写机制决定的)——在这段时间内,就可能会出现其它处理器的缓存也去写这块内存,这样就情况就变得不好处理。在回写模型中,如果仅仅把写操作信息通知给其它处理器是不够的,由于回写机制会有时间延迟,所以我们还要做的是,在修改之前就要通知其它处理器,这样就可以避免其它处理器也去写这块内存。具体想法有了,人们就提出来解决这个问题的目前最有效的方案,就是MESI协议(Modified、Exclusive、Shared、Inva

最近更新

五年级语文下册期末试卷一 8页

人教版2021年二年级语文上册期末考试及答案【.. 4页

人教版2021年四年级语文上册期中考试题(新版).. 7页

会计人员的年度工作总结(精选2篇) 9页

以中国梦为话题的作文(精选10篇) 6页

人教版一年级上册语文《期末》试卷及答案【真.. 6页

人教版一年级数学上册第二次月考综合试题及答.. 50页

中秋晚会节目开场白范文(通用6篇) 5页

个人原因辞职报告12篇【热门】 10页

人教版三年级上册语文期中测试卷及答案【各版.. 6页

一件难忘的事记叙文15篇 14页

人教版三年级数学(上册)期中真题试卷及答案 6页

外墙装饰合同2025年通用 14页

人教版三年级语文上册期末模拟考试带答案 7页

多边投资担保合同范文2025年通用 16页

人教版二年级数学上册二单元水平测试题及答案.. 14页

人教版二年级数学上册期中测试卷及答案【精选.. 6页

【精华】快乐元旦作文(通用31篇) 24页

学校双减培训方案 6页

【推荐】调查作文300字3篇 2页

学习通项目融资方案期末 6页

【实用】开心的旅游的作文4篇 3页

婚纱摄影楼创业计划书 7页

2025年老师家长会发言稿(精选5篇) 6页

(精选)小学毕业致辞4篇 5页

如何帮助学生提高阅读理解能力-当前语文教师关.. 23页

天然气采购合同2025年通用 13页

婚介服务合同范文精选2025年通用 14页

学校类场地租赁合同范本2025年通用 13页

客运出租车承租协议(2025版) 14页