- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Tomasulo Example Cycle 12 Tomasulo Example Cycle 13 Tomasulo Example Cycle 14 2/9/2009 CS252-S09, Lecture 6 * Tomasulo Example Cycle 15 Tomasulo Example Cycle 16 Tomasulo Example Cycle 57 第4章 用软件方法开发指令级并行 考察如下循环程序 for (i=1; i=100; i=i+1) { A[i] = A[i] + B[i]; /* S1 */ B[i+1] = C[i] + D[i+1]; /* S2 */ } S1与S2之间存在何种相关关系?这个循环程序是否可以并行,若可以,如何使其并行? 解:S1中使用的值是上次循环S2计算的结果,即S2和S1之间存在循环体间相关;但S2并不相关于S1。只要相关关系不形成环状,循环程序就可以并行。 1.不存在S1到S2的相关路径,因此可以把S1和S2对调不影响S2的执行; 2.在第一次循环中,S1中使用初始值B[1],是在循环初始化之前就已经计算出来 A[1]=A[1]+B[1]; for (i=1; i=100; i=i+1) { B[i+1] = C[i] + D[i+1]; A[i+1] = A[i+1] + B[i+1]; } B[101] = C[100] + D[100] 现在这两条语句之间不再存在循环体间的相关关系,从而可以让不同循环体的语句重叠执行。 例题选讲(7) 一个程序放在6个内存块中, 运行时分给该程序的Cache块为3个块, 每个内存块都可以放在这3个Cache块中的任意位置,执行的顺序如下: P1,P2,P3,P4,P2,P3,P5,P5,P4,P6,P3,P3,P2,P1,P5 画FIFO,LRU替换方法的调度过程图, 若调入和命中都算命中, 标出两种方法的命中率. 时间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 命中率 块地址流 P1 P2 P3 P4 P2 P3 P5 P5 P4 P6 P3 P3 P2 P1 P5 0.53 FIFO算法 P1 P1* P1* P4 P4 P4 P4 P4 P4 P4* P3 P3 P3 P3* P5 P2 P2 P2* P2* P2* P5 P5 P5 P5 P5* P5* P2 P2 P2* P3 P3 P3 P3 P3* P3* P3* P6 P6 P6 P6* P1 P1 入 入 入 替 中 中 替 中 中 替 替 中 替 替 替 时间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 命中率 块地址流 P1 P2 P3 P4 P2 P3 P5 P5 P4 P6 P3 P3 P2 P1 P5 0.46 LRU算法 P1 P1* P1* P4 P4 P4* P5 P5 P5 P5* P3 P3 P3 P3* P5 P2 P2 P2* P2 P2 P2* P2* P4 P4 P4* P4* P2 P2 P2 P3 P3 P3* P3 P3 P3 P3* P6 P6 P6 P6* P1 P1 入 入 入 替 中 中 替 中 替 替 替 中 替 替 替 例题选讲(8) 在某个Cache 中, 主存有32块(0-31), Cache 有8块(0-7), 分为4组, 每块的大小为32 个字节 写出主存地址格式, 并标出各字段长度; 在一个采用组相连映像方式下,写出Cache 地址格式, 并标出各字段长度; 主存27块单元的数据可能会放Cache 中的那些块? 若Cache 2, 7块被占用,主存123H(16进制)单元的数据可能会放Cache 中的那些块? * CacheMemory 1111111111222222222233 01234567890123456789012345678901 2-Way Assoc (12 mod 4) = 0 解答 主存的地址为10位(32个块,每块32个字节) Cache的地址为8位(8个块,每块32个字节) 27MOD4=3,也就是映射到第四组内,也就是Cache中的6,7两块中 127H/20H=9,也就是内存中第9块中, 9MOD4=1也就是映射到cache中的第二组内,第2块被占用,所以放在cache中的第3块中 块号 块内偏移量 5位 5位 块号(3位) 块内偏移量 5位 2位 组号 2位 组号 例题选讲(9) 给定以下假设,试计算直接映象Cache和两路组相联Cache的平均访问时间以及CPU的性能。 假设: 理想Cac
文档评论(0)