目录

  • 前言
  • 流水线处理思想
  • mips指令之五步走
  • 流水线冒险
    • 数据冒险
      • 调整指令顺序
      • 前推
    • 控制冒险
    • 结构冒险
  • 流水线冒险实验
    • 实验步骤
      • 数据冒险之调整顺序
      • forwarding
      • 结构冒险之除法器占用
    • 实验结果
    • 总结于体会

前言

之前都在准备蓝桥杯,天天嗯刷leetcode,故咕了好久 。。。 蓝桥杯总结也咕了

彳亍

今天还是来更一下实验。这次的实验虽然操作简单,但是其背后的思想却值得回味,让我们对流水线处理的理解更进一步。

流水线处理思想

以洗衣服为例,假设我们有三个步骤:

  1. 浸泡
  2. 冲洗
  3. 烘干

同时我们有三台不同的设备(浸泡桶,洗衣机,干衣机)负责上述的三个步骤。

假设今天有很多件衣服要洗,那么一般的思路是这样的,我们按照顺序一步一步处理每一件衣服:


但是这样顺序执行,有一个缺陷,你看 1 时刻我们进行浸泡操作,而直到 4 时刻 才有新的衣服进来,这意味着浸泡桶摸鱼摸了三个时刻。

要尽量地压榨计算性能,就意味着每个时刻不能有器件在摸鱼!(虽然这很不人道但是二极管是这个世界上最纯粹的打工人,并且缺乏把我们吊路灯的风险。我们只管压榨就完事了。。。)

对于每个器件,我们按照步骤顺序,一但其执行完工作,马上塞新工作给它:

你看:对于浸泡桶来说,在整个洗衣服的流程中,从 1 时刻到 3 时刻,它一直在工作。 这是我们希望看到的!

因为一刻不停的忙活,老板开上了法拉利 我们洗三件衣服的时间开销,由 9 个时刻降低为 5 个时刻,这便是流水线思想的威力!

mips指令之五步走

mips指令为了实现并行地流水线结构,严格地将指令拆分为5个抽象的步骤,他们分别是:

  1. IF
  2. ID
  3. EX
  4. MEM
  5. WB

下面给表格,解释一下:

缩写 全称 解释
IF instruction fetch 从内存中取指令
ID instruction decode 指令解码读寄存器
EX execute 指令执行
MEM memory 内存访问操作
WB write back 将结果写回寄存器

流水线冒险

一条完美的流水线就像上文中图片展示的那样,大家各司其职一刻不停。可是实际上并不是这么回事,因为计算机执行指令,不像洗衣服那般简单,因为洗衣服流水线中,衣服之间没有相互的依赖关系!

指令的执行往往依赖于其之前的指令的执行结果!

因为依赖关系的存在,有时候并不能马上执行一条指令,往往得等到其所有用到的条件(比如数据或者硬件)准备就绪,才能开始 。这种流水线阻塞的现象,称之为冒险。

计组实验3 mips冒险之流水线冒险相关推荐

  1. 计算机组成实验六MIPS汇编器,杭电计组实验6-MIPS汇编器与模拟器实验.doc

    <杭电计组实验6-MIPS汇编器与模拟器实验.doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<杭电计组实验6-MIPS汇编器与模拟器实验.doc> ...

  2. BUAA(2021秋)计算机硬件基础(软件学院计组)P4——用Logisim实现流水线CPU(含测试数据供自测)

    计算机硬件基础(软件学院计组)P4--用Logisim实现流水线CPU 目录 计算机硬件基础(软件学院计组)P4--用Logisim实现流水线CPU 实验内容 实验要求 提交要求 题解 前言及其预备知 ...

  3. 西电计组实验一 存储器实验

    FPGA中LPM_ROM定制与读出实验 一.实验目的   1.掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性和配置方法:   2.用文本编辑器编辑mif文件配置ROM,学习将程序代 ...

  4. 超前进位加法器实验报告_北科大第二次计组实验报告超前进位加法器.doc

    北科大第二次计组实验报告超前进位加法器 北京科技大学 计算机与通信工程学院 实 验 报 告 实验名称: 超前进位加法器 学生姓名: 专 业: 计算机科学与技术 班 级: 学 号: 指导教师: 实验成绩 ...

  5. 超前进位加法器实验报告_北科大第二次计组实验报告超前进位加法器

    北科大第二次计组实验报告超前进位加法器 北京科技大学 计算机与通信工程学院实 验 报 告实验名称: 超前进位加法器 学生姓名: 专 业: 计算机科学与技术 班 级: 学 号: 指导教师: 实验成绩: ...

  6. 计算机组成原理实验心得2000字,计组实验报告(共10篇).doc

    计组实验报告(共10篇) 计组实验报告(共10篇) 计组实验报告 计算机组成原理实验报告一 一.算术逻辑运算器 1. 实验目的与要求: 目的:① 掌握算术逻辑运算器单元ALU(74LS181)的工作原 ...

  7. 【计组实验】P1 logisim完成单周期处理器开发 MIPS指令集

    参考教材:<计算机组成与设计 硬件/软件接口 原书第五版>第二章 第四章 ↑ 这本书写的特别好,零基础也可以看 实验报告 链接: https://pan.baidu.com/s/19YQA ...

  8. [华中科技计组实验]logisim完成单周期5级流水MIPS CPU

    自己动手画cpu系列 建设中ing 仅供参考! 在这首推华中科技大学计算机组成原理实验课mooc连接 初衷:在mooc上看见了本课觉得超赞,本人已完成了课中所有的实验,在做实验的过程中有时候实验会没有 ...

  9. 【计组实验】P3 Verilog多周期处理器开发 MIPS指令集

    全部代码+测试指令: 链接:CPUMultiCycle p3正确运行_百度网盘 提取码:gmzb (实验P1P2)Logisim电路图以及Verilog单周期处理器设计,见以下博客: [计算机组成原理 ...

  10. 【计组实验】P2 Modelsim Verilog单周期处理器开发 MIPS指令集

    一点心得: 如果遇到不会的题,可以看着别人的代码,比着抄一遍(不要直接复制粘贴),抄的同时尽量理解每句代码的含义.如果看不懂某句代码,(觉得这句没有用),可以跳过这句不写,按照自己的思路继续. 如果之 ...

最新文章

  1. flutter 自定义 AppBar
  2. Java多线程(四)之ConcurrentSkipListMap深入分析
  3. 活动目录向DNS注册SRV记录不成功的原因
  4. SpringMVC请求流程
  5. Linux I2C App 开发示例
  6. CE教程 第八章 《注入++》
  7. 控制直流电机正反转以及刹车电路设计
  8. 特征工程之特征选择——来自小白的进阶之路(二)
  9. 第三方支付接口对接基本流程
  10. ie edge浏览记录文件_如何在Microsoft Edge中清除浏览历史记录
  11. 如何让自己成为一个优秀的Java架构师,而不是码农
  12. 图层蒙版和图层剪贴路径_四种PS蒙版的运用:快速蒙版、图层蒙版、矢量蒙版、剪切蒙版...
  13. 网易微博宣布将用户迁移至轻博客Lofter
  14. 3蛋白wb_99% 的实验小白都会收藏,WB、ELISA、IHC 进阶攻略
  15. CSS 如何做一个比较真实有感觉的阴影效果
  16. 论文Express | 谷歌DeepMind最新动作:使用强化对抗学习,理解绘画笔触
  17. containerd配置下载镜像
  18. git在commit时候不commit某些文件
  19. MySQL字符串处理函数
  20. 蓝桥《最大和》python题解

热门文章

  1. 安装gentoo折腾
  2. OpenCV 对象跟踪
  3. smartbi v7 Linux,Smartbi V7.0.1
  4. icesword介绍
  5. Smartbi电子表格创建查询条件
  6. Java.MapReduce处理全国各省市疫情数据,上传Hadoop平台处理后的数据
  7. 微信小程序自定义modal模态框
  8. SpringBoot、SpringCloud版本中GA/PRE/SNAPSHOT的详解
  9. python中interval_Python 数值区间处理_对interval 库的快速入门详解
  10. 《自控力》 第一章读书笔记