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

目录

计算机指令流水线

流水线冒险

结构冒险

数据冒险

控制冒险


计算机指令流水线

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

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

MIPS 流水化的数据通路

流水线冒险

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

结构冒险

数据冒险

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

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

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

前推/旁路(forwarding/bypassing)

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

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

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

前推+阻塞

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

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

控制冒险

分支预测

更有效的分析预测

相关推荐
2401_868534783 小时前
分析RTOS与Linux有什么区别
linux·运维·服务器
玛丽莲茼蒿3 小时前
Linux/Unix学习笔记(四)—— 进程管理
linux·学习·unix
Peace4 小时前
【Nginx】
linux·运维·nginx
网络与设备以及操作系统学习使用者4 小时前
Linux与Windows核心差异深度解析
linux·运维·网络·windows·学习
筠筠喵呜喵5 小时前
Linux CPU性能优化:D状态和Z状态排查与处理
linux·服务器·性能优化
Flash.kkl5 小时前
网络层协议IP、数据链路层、NAT详解
服务器·网络·网络协议·tcp/ip
fiveym6 小时前
PXE安装Debian报错:GRUB安装失败排查指南
运维·debian
张小姐的猫7 小时前
【Linux】多线程 —— 线程同步 | 生产者消费者模型 | POSIX 信号量
linux·运维·服务器
handler017 小时前
【MySQL】教你库与表的增删查改操作(基础)
运维·数据库·笔记·sql·mysql·数据·分析
tedcloud1237 小时前
academic-research-skills部署教程:构建AI辅助科研环境
服务器·人工智能·word·excel·dreamweaver