视频加载失败

课程

3611 字
约 11 分钟

实验四

计算机体系结构labs·更新于 2026-09-15

实验四

实验信息

项目内容
实验题目实验四 Tomasulo算法
课程
专业22级
实验时间2024年11月22日
实验地点
实验环境Tomasulo算法模拟器

实验目的

  1. 加深对指令级并行性及Tomasulo算法的理解
  2. 熟练掌握Tomasulo算法在指令流出、执行、写结果各阶段对浮点数指令以及load和store指令的相关处理
  3. 掌握给定被执行代码的片段,对于具体某个时钟周期,能够写出保留站、指令状态表以及浮点寄存器状态表内容的变化情况

实验内容

分析以下指令序列在Tomasulo算法下的执行过程:

L.D F2, 20(R3)
S.D F6, 30(R4)
ADD.D F8, F6, F0

逐周期分析保留站、指令状态表和浮点寄存器状态表的变化。

实验步骤

  1. 分析第一个周期:L.D F2,20(R3)流出
  2. 分析第二个周期:S.D F6,30(R4)流出,L.D进入执行阶段
  3. 分析第三个周期:ADD.D F8,F6,F0流出
  4. 分析第四个周期:L.D写结果,S.D写结果
  5. 分析第五个周期:ADD.D写结果
指令指令状态表指令状态表指令状态表
指令流出执行写结果
L.D F2, 20(R3)
Store F6, 30(R4)
ADD.D F8, F6, F0
名称保留站保留站保留站保留站保留站保留站保留站
名称BusyOpVjVkQjQkA
LoadL.DRegs[R3]20
Store×
Add×
寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表
F0F2F4F6F8F10F30
QiLoad
指令指令状态表指令状态表指令状态表
指令流出执行写结果
L.D F2, 20(R3)
Store F6,30(R4)
ADD.D F8,F6,F0
名称保留站保留站保留站保留站保留站保留站保留站
名称BusyOpVjVkQjQkA
LoadL.DR320+[R3]
StoreS.DR4F60030
Add×
寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表
F0F2F4F6F8F10F30
QiLoad
指令指令状态表指令状态表指令状态表
指令流出执行写结果
L.D F2, 20(R3)
Store F6, 30(R4)
ADD.D F8, F6, F0
名称保留站保留站保留站保留站保留站保留站保留站
名称BusyOpVjVkQjQkA
LoadL.DR320+R3
StoreS.DR4F60030+R4
ADDADD.DF6F000
寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表
F0F2F4F6F8F10F30
QiLoadADD
指令指令状态表指令状态表指令状态表
指令流出执行写结果
L.D F2, 20(R3)
Store F6, 30(R4)
ADD.D F8, F6, F0
名称保留站保留站保留站保留站保留站保留站保留站
名称BusyOpVjVkQjQkA
Load×
Store×
ADDADD.DF6F000
寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表
F0F2F4F6F8F10F30
QiADD
指令指令状态表指令状态表指令状态表
指令流出执行写结果
L.D F2, 20(R3)
Store F6, 30(R4)
ADD.D F8, F6, F0
名称保留站保留站保留站保留站保留站保留站保留站
名称BusyOpVjVkQjQkA
Load×20
Store×
ADD×
寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表寄存器状态表
F0F2F4F6F8F10F30
Qi
Profile Image of the Author
Sonder
好想要技术
这是公告标题
这只是一个公告
分类
标签
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.7
文章许可
CC BY-NC-SA 4.0
文章目录