西安邮电大学体系结构Tomasulo算法实验报告.docx

西安邮电大学体系结构Tomasulo算法实验报告.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

实验4Tomasulo算法

1实验目的

加深对指令级并行性及开发的理解。

加深对Tomasulo算法的理解。

掌握Tomasulo算法在指令流出、执行、写结果各阶段对浮点操作指令以及load和store指令进行了什么处理。

掌握采用了Tomasulo算法的浮点处理部件的结构。

掌握保存站的结构。

给定被执行的程序片段,对于具体某个时钟周期,能够写出保存站、指令状态表以及浮点存放器状态表内容的变化情况。

2实验平台

采用Tomasulo算法模拟器。

3实验内容和步骤

首先要掌握Tomasulo算法模拟器的使用方法(见随附的ppt)。

1)、假设浮点功能部件的延迟时间为:加减法2个时钟周期,乘法10个时钟周期,除法40个时钟周期,Load部件2个时钟周期。

(1)对于下面的代码段,给出当指令MUL.D写结果时,保存站、Load缓冲器以及存放器状态表中的内容。

L.DF6,24(R2)

L.DF2,12(R3)

MUL.DF0,F2,F4

SUB.DF8,F6,F2

DIV.DF10,F0,F6

ADD.DF6,F8,F2

当指令MUL.D写结果时,保存站中内容如下表所示:

当指令MUL.D写结果时,load缓冲器中内容如下表所示:

当指令MUL.D写结果时,存放器状态表中的内容如下表所示:

(2)按单步方式执行上述代码,利用模拟器的比照显示功能,观察每一个时钟周期前后各信息表中内容的变化情况。

观察分析:?

周期1:取出第一条指令L.D?F6,?24(R2),地址偏移量24写入LOAD1,LOAD1名存入寄F6。?

周期2:取出第二条指令L.D?F2,?12(R3),地址偏移量12写入LOAD2,LOAD2名存入寄器F2,同时第一条指令开始执行,LOAD1上写入绝对地址。?

周期3:取出第三条指令MUL.D?F0,?F2,F4,第一条指令完成,第二条指令开始执行,LOAD2上写入绝对地址。保存站中存入待运算的操作数和操作。存放器F0上QI写入保存站中待运算命令的名称。?

周期4:取出第四条指令SUB.D?F8,F6,F2,第二条指令执行完成,第一条指令写入结果M1

到存放器F6,保存站中存入第四条指令的待运算操作数和操作。LOAD1清空。

周期5:取出第五条指令DIV.D?F10,F0,F6,第二条指令写结果M2到存放器F2,LOAD2

清空。保存站中存入第五条指令的待运算操作数和操作?

周期6:取出第六条指令ADD.D?F6,F8,F2,第三条和第四条指令开始执行,相关的操作数和操作符被存入保存站

周期7:第四条指令执行完成,保存站中的第三条指令继续执行。

周期8:第四条指令写结果M3到存放器F8,保存站中存放第四条指令的位置清空,第三条指令继续执行。

周期9:第六条指令开始执行。第三条指令继续执行。

周期10:第六条指令执行完成,第三条指令继续执行。

周期11:第六条指令写结果M4到存放器F6中,清空保存站中原来存放第六条指令的位置。第三条指令继续执行。

周期12~15:第三条指令继续执行,直到完成。

周期16:第三条指令写结果M5到存放器F0,保存站中原来存放第三条指令的位置清空。?

周期17~56:第五条指令开始执行,直到结束

周期57:第五条指令执行结束后写结果M6到F10,保存站中原来存放第五条指令的位置清空。

2)、对于上面相同的延迟时间和代码段:

给出在第3个时钟周期时,保存站、Load缓冲器以及存放器状态表中的内容。

保存站内容如下表所示:

load缓冲器内容如下表所示:

存放器状态表内容如下表所示:

步进5个时钟周期,给出此时保存站、Load缓冲器以及存放器状态表中的内容。

保存站内容如下表所示:

load缓冲器内容如下表所示:

存放器状态表内容如下表所示:

再步进10个时钟周期,给出此时保存站、Load缓冲器以及存放器状态表中的内容。

保存站内容如下表所示:

load缓冲器内容如下表所示:

存放器状态表内容如下表所示:

3)、假设浮点功能部件的延迟时间为:加减法3个时钟周期,乘法8个时钟周期,除法40个时钟周期,自己编写一段程序,重复上述步骤〔2〕的工作。并给出通过此项工作,得出什么结论?

程序如下:

L.DF12,20(R5)

L.DF2,10(R6)

MUL.DF6,F2,F10

SUB.DF0,F8,F2

DIV.DF10,F0,F12

ADD.DF8,F12,F2

〔1〕第3个时钟周期时,

保存站内容如下表所示:

load缓冲器内容如下表

文档评论(0)

199****4744 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7002121022000045

1亿VIP精品文档

相关文档