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

目录

计算机指令流水线

流水线冒险

结构冒险

数据冒险

控制冒险


计算机指令流水线

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

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

MIPS 流水化的数据通路

流水线冒险

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

结构冒险

数据冒险

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

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

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

前推/旁路(forwarding/bypassing)

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

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

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

前推+阻塞

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

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

控制冒险

分支预测

更有效的分析预测

相关推荐
之歆1 天前
Linux文件系统与FHS详解
linux·文件系统
China_Yanhy1 天前
转型AI运维工程师·Day 7:构建“数据飞轮” —— 每一句对话都是资产
运维·人工智能·状态模式
小哥不太逍遥1 天前
Technical Report 2024
java·服务器·前端
zl_dfq1 天前
Linux 之 【多线程】(死锁、同步与竞态条件、条件变量、pthread_cond_xxx、POSIX信号量、sem_xxx)
linux
学Linux的语莫1 天前
k8s常用命令
linux·容器·kubernetes
openKylin1 天前
《2025年度OpenAtom openKylin社区全景案例集》正式发布
linux
CS_Zero1 天前
Ubuntu安装Claude Code
linux·ubuntu·ai编程·claude
wanhengidc1 天前
私有云具体是指什么
服务器·网络·游戏·智能手机·云计算
A星空1231 天前
三、Kconfig介绍以及制作menuconfig界面
linux·运维·服务器
爱上妖精的尾巴1 天前
8-10 WPS JSA 正则表达式:贪婪匹配
服务器·前端·javascript·正则表达式·wps·jsa