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

目录

计算机指令流水线

流水线冒险

结构冒险

数据冒险

控制冒险


计算机指令流水线

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

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

MIPS 流水化的数据通路

流水线冒险

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

结构冒险

数据冒险

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

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

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

前推/旁路(forwarding/bypassing)

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

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

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

前推+阻塞

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

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

控制冒险

分支预测

更有效的分析预测

相关推荐
云达闲人15 小时前
搭建DevOps企业级仿真实验环境:012容器运行时 containerd 详解
运维·kubernetes·containerd·devops·proxmox ve·容器运行时·容器部署
1892280486115 小时前
NV301固态MT29F32T08GWLBHD6-QJES:B
大数据·服务器·人工智能·科技·缓存
实心儿儿15 小时前
Linux —— 进程间通信 - system V进程间通信 - 共享内存(2)
linux·服务器
烛衔溟15 小时前
TypeScript 类实现接口
linux·ubuntu·typescript
小则又沐风a15 小时前
深入了解进程概念 第二章
java·linux·服务器·前端
CCPC不拿奖不改名15 小时前
PostgreSQL数据库部署linux服务器流程
linux·服务器·数据库·windows·python·docker·postgresql
MXsoft61815 小时前
**运维标准化建设:让杂乱无章的工作变成可复制****流程**
运维
lzh2004091915 小时前
手搓一个简易 Linux 进程池:巩固进程知识
linux·c++
ZC跨境爬虫15 小时前
跟着 MDN 学 HTML day_60:(表单与按钮技能测试实战)
服务器·前端·javascript·数据库·ui·html
xiaoye-duck15 小时前
《Linux系统编程》Linux基础开发工具 (一):软件包管理器yum/apt,编辑器Vim,编译器GCC/G++
linux