计算机指令的流水线执行与流水线冒险

目录

计算机指令流水线

流水线冒险

结构冒险

数据冒险

控制冒险


计算机指令流水线

流水线方式的洗衣房可以以并行的方式提高性能

计算机执行指令,同样可以以流水线的方式并行

MIPS 流水化的数据通路

流水线冒险

下一周期不能按时执行下一条指令

结构冒险

数据冒险

一条指令依赖于前面某条执行的计算结果

add s0, t0, t1 sub t2, s0, t3

下一条指令需要气泡停顿等待前面计算出结果

前推/旁路(forwarding/bypassing)

不要等待计算结果保存到目的寄存器,增加一条额外数据通路,将计算的结果直接传给下一条指令计算的输入

但是并非所有冒险都能通过前推来避免气泡停顿

lw s0, 20(t1)
sub t2, s0, $t3

前推+阻塞

在需要使用前一个指令的结果时,前一个指令还没有拿到结果,此时需要停顿一下

还可以通过调整指令的顺序来避免阻塞等待

控制冒险

分支预测

更有效的分析预测

相关推荐
雷工笔记几秒前
MES 系统 设备保养管理模块详细设计方案
运维·数据库
晚风_END2 小时前
Linux|操作系统|zfs文件系统的使用详解
linux·运维·服务器·数据库·postgresql·性能优化·宽度优先
科研前沿7 小时前
镜像视界 CameraGraph™+多智能体:构建自感知自决策的全域空间认知网络技术方案
大数据·运维·人工智能·数码相机·计算机视觉
暴力求解7 小时前
Linux---线程基础
linux·运维·服务器
JAVA面经实录9178 小时前
计算机基础(完整版·超详细可背诵)
java·linux·数据结构·算法
晚风_END8 小时前
Linux|操作系统|最新版openzfs编译记录
linux·运维·服务器·数据库·spring·中间件·个人开发
GanGanGanGan_8 小时前
Rocky Linux 9 + XFCE 编译安装 fcitx5 + Rime 教程
linux·centos
代码中介商8 小时前
Linux TCP 网络编程完全指南:从三次握手到高并发服务器
服务器·网络·tcp/ip
咖喱o8 小时前
QinQ/VLAN Stacking
linux·运维·服务器·网络
xiaoye-duck8 小时前
《Linux系统编程》Linux指令 (二):从零开始理解Linux基础指令
linux