首页 > 编程语言 >计算机体系结构|| Tomasulo算法(5)

计算机体系结构|| Tomasulo算法(5)

时间:2024-07-22 23:30:38浏览次数:11  
标签:load 状态表 周期 算法 Tomasulo 寄存器 F2 体系结构 时钟

实验5 Tomasulo算法

5.1实验目的

(1)加深对指令集并行性及开发的理解。

(2)加深对Tomasulo算法的理解。.

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

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

(5)掌握保留站的结构。

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

5.2实验平台

实验平台采用Tomasulo算法模拟器

5.3实验内容和实验截图

(1)学会使用Tomasulo算法。假设浮点功能部件的延迟时间为加减法2个周期,乘法10个时钟周期,除法40个时钟周期,Load部件2个时钟周期。

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

L.D F6, 24(R2)

L.D F2, 12(R3)

MUL.D F0, F2,F4

SUB.D F8,F6,F2

DIV.D F10,F0,F6

ADD.D F6,F8,F2

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

(2)对于与上面相同的延迟时间和代码段。

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

2)步进5个时钟周期,给出这时保留站、load缓冲器以及寄存器状态表中的内容。

3)再步进10个时钟周期,给出这时保留站、load缓冲器以及寄存器状态表中的内容。

(3)假设浮点功能部件的延迟时间为加减法3个时钟周期,乘法8个时钟周期,除法40个时钟周期。对于下面的代码重复实验一中步骤(2)的内容。编写代码如下:

L.D F6, 28(R2)

ADD.D F2,F4,F8

MUL.D F0, F2,F4

SUB.D F8,F6,F2

DIV.D F12,F0,F6

ADD.D F10,F8,F2

浮点功能部件的延迟时间为加减法3个周期,乘法8个时钟周期,除法40个时钟周期,load部件2个时钟周期。根据实验结果可知该程序需要56个周期执行完成。

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

2)步进5个时钟周期,给出这时保留站、load缓冲器以及寄存器状态表中的内容。

3)再步进10个时钟周期,给出这时保留站、load缓冲器以及寄存器状态表中的内容。

标签:load,状态表,周期,算法,Tomasulo,寄存器,F2,体系结构,时钟
From: https://blog.csdn.net/m0_60469045/article/details/140621853

相关文章

  • 算法——滑动窗口(day7)
    904.水果成篮 904.水果成篮-力扣(LeetCode) 题目解析:根据题意我们可以看出给了我们两个篮子说明我们在开始采摘到结束的过程中只能有两种水果的种类,又要求让我们返回收集水果的最大数目,这不难让我们联想到题目的另一层意思:求最长连续子数组,条件为不超过两种水果种类。......
  • 数据结构-绪论2(算法,时间复杂度)
    算法的基本概念算法是什么       程序=数据结构+算法算法的五个特性有穷性确定性可行性输入输出算法的复杂度时间复杂度算法时间复杂度事前预估算法时间开销T(n)与问题规模n的关系这里以一层,两层,多层循环为例一层循环for(inti=0;i<n;i++){i......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(1)第一场1001
    循环位移题解2024“钉耙编程”中国大学生算法设计超级联赛(1)题目:ProblemDescription定义字符串S=S0+⋯+Sn−1循环位移k次为S(k)=Skmodn+⋯+Sn−1+S0+⋯+S(k−1)modn。定义[A]=\setA(k),k∈N.给出T组串A,B,询问B有多少个子串在[A]中。Input第一行一个......
  • 刷算法中途复习基础知识
    1.数据类型数据类型分为值传递和引用传递值传递:八大数据类型  Byteshortint long floatdouble charboolean引用传递:类接口 数组其中字符串和枚举类型比较特殊,但是都是基于引用数据类型来实现的.基本数据类型只能存自己类型的值,没有其他额外的功能。引用......
  • java做算法题可以用到的方法(都是很常用的)
    java做算法题可以用到的方法(都是很常用的)数组排序(从小到大)将字符串大写字母转为小写替换字符串中符合某种规则的字符去除字符串两端的空白字符分割字符串将数组转换为列表两数比较取较大/较小的数字int类型转换为String类型赋予int类型一个最大数(算法题中一般用于初始化一......
  • Java 经典排序算法代码 + 注释分析(冒泡、选择、插入、希尔、快排、计数、堆排、归并)
    Java经典排序算法代码+注释分析(冒泡、选择、插入、希尔、快排、计数、堆排、归并)以下是八种经典排序算法的代码,Java8亲测可用,可以直接运行importjava.util.Arrays;publicclassSort{privatestaticfinalint[]nums={3,44,38,5,47,15,36,26,27......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(2)
    Preface最唐氏的一集,前中期被A卡得数次破防红温,后期经典不知道在干嘛摆着摆着就结束了可惜的是徐神最后1h写的B因为两个数组搞反了一直没过,赛后看了眼就过了,这下狠狠地掉Rating了鸡爪丁真构造题,但有人连WA三发怎么回事呢首先不难想到最大化和\(1\)连边的数量,首......
  • 数据结构与算法总结——线性表
    目录2线性表2.1线性表的定义2.2线性表的基本操作2.2顺序表2.2.1顺序表的定义2.2.2顺序表的基本操作2.3链式表2.3.1链表的定义2.3.2链表的分类2.3.3单向链表2.3.3.1结点设计2.3.3.2链表的初始化2.3.3.3数据的插入2.3.3.4数据的删除2.3.3.5销毁链......
  • AES算法
    介绍AES(高级加密标准,AdvancedEncryptionStandard)是一种广泛使用的对称密钥加密算法,由比利时密码学家VincentRijmen和JoanDaemen设计,他们设计的算法最初被称为Rijndael。AES于2001年被美国国家标准与技术研究院(NIST)选为官方的加密标准,用以取代旧的DES标准。以下是AES算法的一......
  • 【动态规划】【官解+整洁度优化+状态压缩-空间优化算法】力扣198.打家劫舍
    你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜......