计算机组成原理cache论文.docVIP

  • 20
  • 0
  • 约8.05千字
  • 约 10页
  • 2018-05-22 发布于重庆
  • 举报
计算机组成原理cache论文

缓存一致性的解决方案 摘要:随着计算机技术的飞速发展,CPU时计算机组成的核心部分,提高CPU的性能一直是一个很重要的课题,所以CPU从单核提高到多核,但是总会有一些技术上的难题需要解决,这其中,Cache的一致性问题的解决就推动计算机多核的发展,解决一致性人们提出了一些协议,这其中比较好的解决方案是MESI协议,MESI协议通过监视机制,实时监视总系的事务,当修改某一缓存时,通过通知其它同样持有同一内容的缓存来保持缓存的一致性。 这一协议是目前比较好的解决缓存一致性问题的解决方案,本篇文章就这一经典协议做了分析与总结。 关键词:缓存 一致性 窥探 协议 引言 现代的CPU上,大部分都需要通过缓存来进行内存访问,由于物理架构的原因,CPU没有管脚直接连到内存,所以CPU的读/写(以及取指令)单元正常情况下不能进行直接内存访问。相反,CPU和一级缓存通讯,而一级缓存才能和内存通讯 。而现在又大多有了二级缓存,甚至三级缓存。 缓存是分段(line)的,即下文要用的“缓存段”(cache line),当我们提到”缓存段”的时候,就是指一段和缓存大小对齐的内存,而不关心里面的内容是否真正被缓存进去。当CPU看到一条读内存指令时,它会把内存地址传递给一级数据缓存,一级数据缓存会检查它是否有这个内存地址对应的缓存段,没有的话,它会把对应的缓存段加载进来。 如果进行的是读操作,这就很简单,所有级别的缓存都遵循以下规律:在任意时刻,任意级别缓存中的缓存段的内容,等同于它关联内存中的内容。 如果进行写操作,情况就会变得复杂些,一般分为两种基本的写模式:直写(write-through)和回写(write-back)。 直写简单一点:透过缓存,直接把数据写到下一级内存中,如果对应的段被缓存了,就更新缓存中的内容,同样遵循前面的定律:缓存中的段永远和它内存内容匹配“任意时刻”这个修饰,:缓存段的内容和内存一致缓存段中的内容最终要回写到内存中在直写模式下,因为,它的效果。但是如果,因为有可能在写指令执行过后很久,才会——在这段时间内,,。在回写模型中,。MESI协议 已修改(Modified)缓存段, 独占(Exclusive)缓存段, 共享(Shared)缓存段, 失效(Invalid)缓存段, 操作 状态的转换基于两个激发。 第一个激发是:处理器本身发出读或写请求,当一个CPU在Cache中有一个缓存段,并且CPU需要从这个缓存段中读或写。 第二个激发是:来自于其它处理器,没有该缓存段或者在本Cache里已经更新数据,而在其它处理器中的Cache还没有更新。 总线请求被“窥探器”一直窥探着。 写操作:如果cache line是M或E状态,那么它只能被写。也即在这两种状态下,处理器是独占cache line的,所以不会有任何冲突。如果是S状态,必须先发送Requerst-For-Ownership让其它Cache中关联到同一内存地址的cache line变为I状态后才能被写。 读操作:一个缓存中有M状态的cache line,必须“窥探”所有内存关联Cache的读操作,并且监听到读操作后,可以使读操作延迟,然后写回主存并将该cache line置为S状态。 若是E状态的cache line,同样“窥探”所有内存关联Cache的读操作,并在监听到读操作后将其状态有E置为S状态。 一个缓存中有S状态的cache line,必须监听来自其它缓存的弃用或申请主权广播,在收到广播后弃用该cache line,置其于I状态。 Read For Ownership是一个缓存一致性里组合一个读和一个丢弃的广播的操作。该操作是一个处理器尝试写一个处于S或I状态的cache line,这个操作引起所有其它缓存置这样的cache line于状态I,一个这个操作是独占的,它给缓存带来数据并丢弃其它所有的cache line。 结论 本文就为解决缓存一致性的MESI协议进行了分析,通过MESI协议能够很好地处理多核情况下缓存一致性的问题,是比较好的解决方式,是值得程序员们深入理解的一套协议。 PaperPass检测报告简明打印版 比对结果(相似度):26.13% 编号:VIP20161028213615649 标题:计算机组成原理cache论文 长度:2611字符(不计空格) 句子数:83句 时间:2016-10-28 21:36:15 对比库:学术期刊、学位论文、会议论文、互联网资源 相似资源列表: 1.相似度:11.86%篇名:《Cache中被缓存了,并且所有缓存中的内容与在内存中的内容一致。》 2.相似度:88.89%篇名:《MESI协议》 3.相似度:6.25%篇名:《MESI是四种缓存状态英文首字母的缩写,并且规定多核体统中的cache line都只处于这四种状态

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档