高等计算机体系结构第6讲.ppt

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
地址流与程序的时间局部性和空间局部性有关,替换算法一般采用LRU算法,更新策略采用写回法+按写分配方法。 升级指S-M的过程 存储一致性模型并非只有SC。 (1)状态转移包括查Cache标记、总线仲裁、其他处理机监听、请求处理器处理总线结束动作等; 例:本地已发出请求等待获得总线访问权,总线上有事务要监听并处理 (2)保守方法:排他读出现在总线上,且对其他所有处理器可见时,才允许本地PE继续后续命令。 优化方法:排他读出现在总线上后,等结果被接收到数据缓冲区中(未更新块数据和状态),允许后续不相关指令重叠执行—总线流水方式 无时间要求的含义:回写不需要遵守顺序一致性,保证串行化和写后读数据正确性即可。 说明: 双标记(目录表)实现—检查-检查并行,改写-检查互斥、改写-改写互斥 总线端控制器—目录表的监听、写回缓冲区的监听在地址期实现 监听结果—在地址期结束前给出 数据缓冲区—捕获总线数据临时存放,相关信息与Cache匹配时写入Cache 写回缓冲区与提供数据缓冲区(将听命中,且为M态的块)不同。 数据进入写回缓冲区(地址、数据)后,块状态已变为I; 写回缓冲区扩充了目录表空间; 总线不空闲时的响应表示:M→S、M→I,此时主存接收总线数据更新主存。 (3)例:处理器端控制器已发总线请求,此时它获得该Cache的控制权,等待获得总线控制权; 总线端控制器准备响应总线命令,此时它间接获得总线控制权,等待获得该Cache的控制权。 若不允许并行工作,则死锁。 (4)否则:对相同块的读/写操作应答NACK,使后来的操作反复重新执行,其间其他无关指令可执行。 测试-测试并设置锁:等待期间不发生作废和扑空, 占有方—I态→E态(测试)→M态(测试并设置)→S态--------------→M态(释放)→I态 等待方——I态--------------------------------------------------→S态(测试)--→I态---------------→E态(测试)→ —I态---------------------------------------------------→S态(测试)→I态------------------------------------→ 每个PE得到锁时,p-1个PE均会产生扑空。 SC成功时,p-1个PE均会产生扑空。 比较:失败不产生作废:指写之前做检测(已有锁标量的写操作),失败时不写 通用性较强:交换、取并操作等指令均可用LL-SC实现 时延—锁从自由到获得的时间,非处理器竞争时获得的时间。 加号锁:锁自由后,只有一个进程尝试获取, 锁释放时,所有进程产生扑空。 阻塞:进程阻塞(挂起)自己,OS唤醒被挂起的进程。 一个信号等与一个等待的进程队列连接,即OS中的PV操作。 测试并设置锁:取单元的值到REG,向单元写“1”,REG值为0则成功,否则不成功。 其他原子指令可通过硬件提供的原语转换后实现。 基于数组的锁:锁自由时只有一个进程尝试获取,且释放时只有一个进程产生扑空; 需要P个共享单元,为防止伪共享,将每个单元放到不同存储块中。 设计:一般选择testset、fetchop原子指令,及LL-SC硬件原语。 同步指踏步,点对点同步通常采用变量作为标记,采用忙等待和阻塞完成。 软件算法:一个写、一个读 互斥是一种特殊的同步。 全局栅障处理:软件栅障、硬件栅障、硬件原语 解决尚有进程在while ( bar_name.flag == 0 ) ();,但未看到bar_name.flag置为1(如阻塞), 已有进程第二次进入栅障,将bar_name.flag置为0,某些进程无法离开第一次栅障。 单条栅障:所有处理器初始置1,设置栅障后0。 硬件栅障基本不用 另:多层结构时,双标记结构已不重要。 MI表示已修改但数据是旧的,利用M与I位同时有效表示。 L2级块改变包括块作废。 放弃单级高速缓存和原子总线假设中的单级高速缓存。 放弃单级高速缓存和原子总线假设中的原子总线。 总线子事务功能: 地址请求--操作方提供目标地址,其他所有方给出共享信息,目标(与操作有关的)结点同时给出允许继续或结束信号。 数据响应--目标结点(M态Cache或主存)提供数据,相关结点接收数据。 异步性指地址请求后可以过一段时间再数据响应; 同步性指地址请求

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档