实验3 Tomasulo算法【计算机系统结构】

news2024/11/29 5:46:46

实验3 Tomasulo算法【计算机系统结构】

  • 前言
  • 推荐
  • 实验3 Tomasulo算法
    • 1 实验目的
    • 2 实验平台
    • 3 实验内容和步骤
    • 4 实验总结与心得
  • 最后

前言

2023-6-9 9:19:50

以下内容源自《【计算机系统结构】》
仅供学习交流使用

推荐

实验2 指令调度和延迟分支【计算机系统结构】

实验3 Tomasulo算法

1 实验目的

(1) 加深对指令级并行性及开发的理解。
(2) 加深对Tomasulo算法的理解。
(3) 掌握Tomasulo算法在指令流出、执行、写结果各阶段对浮点操作指令以及load和store指令进行了什么处理。
(4) 掌握采用了Tomasulo算法的浮点处理部件的结构。
(5) 掌握保留站的结构。
(6) 给定被执行的程序片段,对于具体某个时钟周期,能够写出保留站、指令状态表以及浮点寄存器状态表内容的变化情况。

2 实验平台

采用Tomasulo算法模拟器。

3 实验内容和步骤

首先要掌握Tomasulo算法模拟器的使用方法(见随附的ppt)。
1)、假设浮点功能部件的延迟时间为:加减法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缓冲器以及寄存器状态表中的内容。

在这里插入图片描述
可以看到
保留站中Multi的Qj字段是Load2,寄存器换名技术,存储到保留站
寄存器中F2的Qi是Load2

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

在这里插入图片描述

可以看到
ADD2的Vj是M3(F8),Vk是M2(F2)
Mult1的Vj是M2(F2),Vk是R[F4]
Mult2的Vk是M1(F6),Qj是Mult1(运算后的F0)

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

在这里插入图片描述

可以看出
Mutl2的Vj是M5(F0),Vk是M1(F6)

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

在这里插入图片描述

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

在这里插入图片描述

可以看到
Mutl1的Vk是R[F4],Qj是Load2(F2)

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

在这里插入图片描述

可以看到
ADD1的Vj是M1(F6),Vk是M2(F2)
ADD2的Qj是Add1(F8),Vk是M2(F2)
Mult1的Vj是M2(F2),Vk是R[F4]
Mult2的Vk是M1(F6),Qj是Mult1(运算后的F0)

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

在这里插入图片描述

可以看出
Mutl2的Vj是M3(F0),Vk是M1(F6)

4 实验总结与心得

Tomasulo算法的核心思想:

  • 记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAM冲突的减小到最少。
  • 通过寄存器换名来消除WAR冲突和WAW冲突。

Tomasulo算法的基本结构

  • 见 课本 图4.1

Tomasulo具体算法
(1) 指令流出
(2) load和store指令
(3) 写结果

最后

2023-6-9 9:22:53

你对我百般注视,
并不能构成万分之一的我,
却是一览无余的你。

祝大家逢考必过
点赞收藏关注哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/626419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webgpu之旅03

19854902 319854902 319854902 319854902 webgpu交Q流群我们找个例子看看别人的renderer three.js v152 首先init函数 看见中间有个对象 WebGPURenderPipelines 跟进去看看 这个构造函数里可以看见有这么些数据 get( renderObject ) {const device this.device;const cache …

Meetup 报名|06.17 StarRocks Friends 与你相约上海

StarRocks & Friends 是由 StarRocks 社区发起的城市线下 meetup,旨在联合社区与行业的专家小伙伴们分享基于 StarRocks 的最佳实践、大数据分析的前沿技术和 StarRocks 生态融合等热门话题。 不远千里奔赴,只为与你相聚。这个夏天,让我们…

Vue+springboot小区居民外出登记信息管理系统

系统采用更加便于维护和使用的JAVA语言,其可拓展性高且更富于表现力,方便基本信息、外出申请、健康信息、外来人员等功能。通过Spring Boot框架来进行网页编程,其方便易用、移植适用性广、更加安全可靠。数据库方面则选用的是体积小、速度快、…

【安装教程】Win10上安装Microsoft To-Do客户端(手机端)

这里写自定义目录标题 操作方法操作说明辅助疑难问题 操作方法 此方法是应用于微软商店无法安装、安装不成功等情况 操作说明 原文:手把手教你在Win10上安装Microsoft To-Do客户端:https://www.jianshu.com/p/32a1ea417cba 1.访问微软网站,找到To-Do的…

【深入浅出 Spring Security(七)】RememberMe的实现原理详讲

RememberMe 的实现原理 一、RememberMe 的基本使用二、RememberMeAuthenticationFilter 源码分析RememberMeServicesTokenBasedRememberMeServicesTokenBasedRememberMeServices 中对 processAutoLoginCookie 方法的实现总结原理图式 三、提高安全性PersistentTokenBasedRememb…

【数据分析之道-Matplotlib(八)】Matplotlib箱线图

文章目录 专栏导读1、Matplotlib箱线图boxplot()基本语法2、Matplotlib箱线图boxplot()举例异常值3、Matplotlib箱线图boxplot()样式定义4、Matplotlib箱线图boxplot()举例带缺口5、Matplotlib箱线图boxplot()举例横向显示6、Matplotlib箱线图boxplot()举例显示平均值7、Matplo…

电子企业实施数字化工厂建设之前,需要注意哪些

随着工业4.0时代的到来,数字化工厂建设已成为越来越多电子企业的重要议题。数字化工厂管理系统能够提高生产效率、降低成本、提高产品质量等多个方面的优势,对于企业的可持续发展具有重要意义。然而,在实施电子企业数字化工厂建设之前&#x…

【Flutter】widgets (6) Stateful Widget 有状态组件的生命周期

文章目录 一、前言二、StatefulWidget的生命周期三、State对象的生命周期四、initState(), didUpdateWidget(), dispose()方法的用途五、StatefulWidget和State对象的生命周期六、代码示例七、总结一、前言 在上一篇文章中,我们初步认识了什么是Stateful Widget 有状态组件。…

minigpt4 部署踩坑记录

1,最近看网上minigpt4很火,下载下来试一下,把碰到问题记录一下。 2 访问 GitHub - Vision-CAIR/MiniGPT-4: MiniGPT-4: Enhancing Vision-language Understanding with Advanced Large Language Models 下载代码到 centos服务上。 3&#xf…

九耶丨阁瑞钛伦特-大型计算机硬件组成(一)

​ IBM大型机系统是由主机和多种外围设备组合形成的一个综合系统,上面是一个主机系统组成的例子。 ​以上是OS390操作系统的组成情况: MVS: 大型机操作系统的核心部分,有时又被使用为大型机操作系统的全称。 SMS: S…

文件管理开发指南全新登场,快来了解如何访问各类文件

原文:文件管理开发指南全新登场,快来了解如何访问各类文件,点击链接查看更多技术内容。 在应用开发的过程中,我们经常会用到各种各样的文件,例如文档、图片、音频、视频等,如何管理和访问这些文件&#xff…

【网络】· VTP虚拟局域网中继

目录 🍉VTP技术 🍉以太网通道配置 🍒sw1配置 🍒sw2配置 🍉VTP工作原理 🍒VTP模式 🍒VTP通告 🍒VTP的版本 🍒VTP修改编号 🍒VTP通告类型 🍒VTP修剪…

数据分析第16课seaborn可视化

FacetGrid与调色盘(参看语雀) 前言:有针对性的,选择不同的分析方式去整合数据,描述统计学: 对比分析:同期对比,环境对比等。分类分析:字段分为哪些类别,每个类别出现了多少次,哪个类别的权重是最大的。哪个类别是可以忽略的。哪个类别是干扰项。分布分析:例如身高,…

实现一个简单的事件驱动处理框架

点击上方“嵌入式应用研究院”,选择“置顶/星标公众号” 干货福利,第一时间送达! 来源 | 嵌入式应用研究院 整理&排版 | 嵌入式应用研究院 事件驱动框架允许程序处理外部事件,如网络连接、文件I/O、超时和信号。事件驱动框架可…

配置office和wps的数学公式编辑工具Mathtype7.4

一、概述 《数学公式编辑器(MathType)》 是一款专业的数学公式编辑工具,理科生专用的工具。mathtype公式编辑器能够帮助用户在各种文档中插入复杂的数学公式和符号。 数学公式编辑器工具可以轻松输入各种复杂的公式和符号,与Office文档完美结合&#xff…

imu预积分处理

VINS-Mono是HKUST的Shen Shaojie团队开源的一套非常优秀的Visual-Inertial融合定位算法。关于算法的介绍以及论文可以通过此链接查看。 IMU、ˆω和ˆa的原始陀螺仪和加速度计测量值由下式给出: 在车身坐标系测量的IMU测量结合了抗重力和平台动力学的力&#xff0c…

[蓝桥杯 2018 国 B] 矩阵求和

题目描述 经过重重笔试面试的考验,小明成功进入 Macrohard 公司工作。 今天小明的任务是填满这么一张表: 表有 n 行 n 列,行和列的编号都从 1 算起。 其中第 ii 行第 jj 个元素的值是 gcd(i,j) 的平方,gcd 表示最大公约数&#xf…

什么样的电容笔好用?好用的平板触控笔

现在使用电容笔的人越来越多了,尤其学生党和上班族,可以使用电容笔来提高生产效率,这个时候电容笔的书写流畅度就非常重要,今天给大家介绍四款平价又好用的电容笔。跟我来看看吧! 一、使用电容笔的用途: …

四、LLC 谐振变换器

变换器实现 ZVS 的限制 全面了解LLC谐振变换器实现ZVS的条件,把变换器主电路变形成图所示形式。其中 Coss1、Coss2分别为开关管 S1、S2 漏-源极间的寄生电容,并且Coss1Coss2 Coss 。Cstray为与谐振网络并联的等效寄生电容,则变换器在 ZVS 条…

【数据恢复、安全和备份解决方案】上海道宁与LSoft为企业提供先进的技术来处理现代数据安全和保存问题

需要备份和恢复磁盘、 恢复已删除的文档和照片、 安全擦除磁盘、 监控硬盘健康状况、 甚至在Windows 无法正常启动时修复 PC? Active Data Studio是 一组桌面应用程序 和可引导CD/DVD或USB磁盘 用于将任何系统引导至 Windows恢复环境 开发商介绍 LSoft Te…