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

目录

计算机指令流水线

流水线冒险

结构冒险

数据冒险

控制冒险


计算机指令流水线

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

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

MIPS 流水化的数据通路

流水线冒险

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

结构冒险

数据冒险

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

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

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

前推/旁路(forwarding/bypassing)

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

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

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

前推+阻塞

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

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

控制冒险

分支预测

更有效的分析预测

相关推荐
M78佐菲几秒前
Linux多线程:创建、回收与互斥同步
linux·笔记·学习·算法
名字还没想好☜4 分钟前
Prometheus 告警实战:写 alerting rules、用 Alertmanager 做路由分组与抑制
运维·前端·javascript·docker·kubernetes·prometheus
sunoo-22926 分钟前
【Linux 系统编程】学习第七天:线程属性 | 互斥锁 | 死锁 | 信号量 核心知识点 + 踩坑实战
linux·c语言·笔记·vscode·学习
Zkaisen30 分钟前
【Gitee】SSH 公钥、GPG 公钥、私人令牌的区别
运维·gitee·ssh
小雪崩36 分钟前
嵌入式学习 day33:线程进阶
linux·c语言·学习
HXSYS40 分钟前
无人机库房管理标准化,《无人机装调维修师》规范存储运维
运维·无人机
牢姐与蒯1 小时前
Linux进程(四).进程优先级以及进程切换,进程调度
linux·运维·服务器·ubuntu
大爱编程♡1 小时前
Linux C 语言文件 IO 与构建工具实战指南
linux·服务器
yyuuuzz1 小时前
企业出海云服务器部署踩坑记录:从频繁超时到稳定运行的复盘
运维·服务器·网络·人工智能·aws
科技研学社1 小时前
服装后道自动化选型|五大品牌全自动激光开袋机深度对比分析报告
运维·自动化