体系结构研课程要点与复习10考试.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
两种监听协议 1. Write invalidate protocol(写时无效协议) 2. Write update or write broadcast protocol(写时更新或写广播协议) 在Write back与Write through下的共享数据块(Cache)的变化 snooping protocols example Invalidation protocol, write-back cache Each block of memoryis in one state: Clean in all caches and up-to-date in memory (Shared) OR Dirty in exactly one cache (Exclusive) OR Notin any caches Each cache blockis in one state (track these): Shared: block can be read OR Exclusive: cache has only copy, its writeable, and dirty OR Invalid: block contains no data Read misses: cause all caches to snoop bus Writes to clean line are treated as misses 一致性机制的请求和操作(写无效):处理器与总线 Cache’ state transitions based on requests (Ep558) 1. from CPU Cache’ state transitions based on requests 2. from the bus Directory protocol 实现方法 目录协议中Cache 块可能的状态 共享(shared) 该块的copies存在于一个或多个processor的caches中; 未进入Cache(uncached) 没有一个处理器将此块拷入其cache中; 独占(exclusive) 只有一个处理器保存此块的拷贝,并更新过数据,于是内存中的数据已过时。此处理器为此数据的拥有者(owner)。 目录协议的操作约定 写入非独占数据时,一定会导致Cache写失配,且处理器将暂停直到一次访问结束。 基于目录的Cache一致性协议与snooping 不同之处: Snooping把总线(互连机制)作为判断点,起仲裁作用。Director协议不能把互连网络作为判断点。 Director写是面向消息的,(不象总线是面向事务的,可采用中断方式),所有消息必须明确应答。 处理器与目录间传递消息的种类(写无效): 三类节点 三类节点的关系 本地节点(local node) 指产生访问请求的节点 家节点(home node) 指该节点拥有要访问地址的存储器单元和目录项(即要访问的数据的家) 远程节点(remote node) 指拥有要访问数据拷贝的节点。 关系与消息: local node读数据的流向为例 本地节点→家节点→远程节点→家节点→本地节点 Read miss →Fecth →Data value reply 目录协议中的例 目录协议时Cache中的数据块状态转换图 目录中数据块记录的状态转换图 同步作用与实现 硬件原语的功能 支持原子地读和修改存储单元; 以某种方式告知是否进行了原子读或写操作 ??执行反馈 ?构造同步操作和同步库的最小模块 几种典型的硬件原语 原子交换 测试和设置 取值和增值 LL/SC指令对 利用一致性实现锁同步 原子交换 自旋锁 锁变量 无Cache一致性时,锁变量存放在内存中 有Cache一致性时,锁变量可存放在本地Cache中 各种自旋锁性能分析与改进 锁变量访问激烈 每次交换都尝试作一次写操作,此时,若多个处理器都试图获得锁,则每个处理器都会产生一个写失配 改进 锁释放后再交换 不断对本地锁copy作读操作,直到看到锁可用,再试图通过原子交换来获得锁 自旋锁同步与锁竞争分析 假设:共享总线的10个processor同时企图对一共享变量上锁(竞争锁)。设每次总线事务(一次read miss或write miss)需要花100个时钟周期。忽略在Cache中读写锁的时间。设开始的时候所有锁均释放,所有处理器都在自旋读锁值。假设总线是完全对称的,要等在新请求前的所有请求服务完以后才会响应新到来的请求,并且所有处理器一样快。 问:1.10个处理器都得到一次锁,共需完成多少个总线事务? 2.完成10个处理器的上锁任务,需要多长时间。 i个处理器从上一次释放锁到下次释放锁的过程 i次读

文档评论(0)

xuchangbin + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档