首页 > 其他分享 >408五级流水线强化课笔记

408五级流水线强化课笔记

时间:2024-09-16 14:34:57浏览次数:1  
标签:Load 流水线 指令 寄存器 五级 冒险 408

408强化课录播五级流水线相关内容笔记

  • 指令流水线基本概念:简单的概念题
  • 指令流水线基本实现:指令按序发射,按序完成
  • 各种冒险:结合MIPS指令序列分析并处理冒险
  • 超标量和动态流水线:简单的概念题

五级流水线

五级流水线的设计是为了通过并行提高处理器的吞吐量。
img
图片来自CSAPP。
一个指令通常被划分为五个阶段:

  • 取指(IF)
  • 译码(ID)
  • 执行(EX)
  • 访存(MEM)(如果需要的话)
  • 写回(WB)(如果需要的话)
    总体的图如下
    image

结构冒险(考的少)

一个被请求的资源仍处于忙碌状态。

多个阶段可能请求同一份资源,例如IF和MEM需要同一块Cache,就会发生结构冒险。
解决方法有:

  • 阻塞指令
  • 把指令Cache和数据Cache分离

数据冒险

需要等待上一个指令完成数据读写。

img
如上图所示,因为指令I1对寄存器R1的写操作发生在WB写回阶段,因此指令I2在ID译码阶段需要读寄存器时,R1的值还没有被写回,这就是数据冒险。
核心特点:两条指令,先写后读同一个寄存器。如果某条指令写了一个寄存器,则要观察后面三条指令是否读了这个寄存器。(个人感觉可能画图更直观)
img
解决方案:

  • 硬件阻塞:将读寄存器的指令ID段阻塞若干时钟,直到写寄存器的指令完成WB。
  • 转发(旁路)技术:将写寄存器的数据直接转发给读寄存器的指令。但转发旁路不能解决Load指令写寄存器引发的Load-Use数据冒险

Load-Use数据冒险

Load指令把数据从内存读到寄存器,后面的指令需要用到这个寄存器的值。这种情况下,即使使用转发技术也无法解决数据冒险。
img

控制冒险

一些控制取决于上一条指令的结果。

img
转移类指令会更改PC,因此下一条指令不是I2而是其他,会产生控制冒险。
解决方案:

  • 硬件阻塞:将转移类指令后一条指令IF段阻塞3时钟

冒险总结

img

标签:Load,流水线,指令,寄存器,五级,冒险,408
From: https://www.cnblogs.com/CauchyPt/p/18416270

相关文章

  • 【408精华知识】程序的机器级代码表示
    程序的机器级代码表示是计算机组成原理的核心内容,其综合第四章指令与第五章CPU,并常常结合第三章存储系统进行考察,可以说是把计算机组成原理最核心的内容都汇集在了一起。本文着重讨论程序的机器级代码表示,并辅以历年真题进行讲解。关于存储、指令、CPU组成请详见:【408精华......
  • 金典120GB固态硬盘SM2258XT量产修复成功记录,附SM2258XT B16A开卡软件,VM29F01TEME1(2CA
    偶得一块二手的120G金典SSD,闲来无事搞一下量产,先上外观图片给大家看看:玩量产的一般都知道,找量产工具,肯定是要根据主控型号和闪存颗粒制程,来找相匹配的软件才行。因此我们拆开外壳,下图看到里面主控SM2258XT,颗粒丝印VM29F01TEME1-B16A,这块固态比较方便的地方是,单从丝印上就能看出是B1......
  • 408存储系统大题笔记
    咸鱼25计组强化课P2的笔记,有点简陋。课后需要把第三章的课后大题(真题做一下)Cache类题目做题要注意的点!!PA的位数=Cache地址总位数Cache总行数Cache块大小第2和第3相乘得Cache数据区总大小(!=Cache总大小)映射方式一致性问题:写策略(直写/回写)替换算法CPU先把VA翻译成P......
  • P10408 「SMOI-R1」Apple
    据说是个典,记录一下吧。题意给你\(\{a_{2^n}\}\)和\(q\)次操作,下标从0开始。操作如下:1x,表示查询\(\sum_{y\operatorname{or}x=x}a_y\)的值。2xv,表示\(a_x\leftarrowv\)\(n\le20,q\le3\times10^5\)。分析令\(y\)为\(x\)的子集当且仅当\(y\operatorna......
  • 【408DS算法题】039进阶-判断图中路径是否存在
    Index题目分析实现总结题目对于给定的图G,设计函数实现判断G中是否含有从start结点到stop结点的路径。分析实现对于图的路径的存在性判断,有两种做法:(本文的实现均基于邻接矩阵存储方式的图)1.图的BFSBFS的思路相对比较直观——从起始结点出发进行层次遍历,遍历过程......
  • 【408精华知识】局域网&广域网考点总结
    文章目录一、局域网(一)概念(二)要素(三)分类1.以太网(Ethernet/802.3局域网)2.无线局域网(802.11局域网)3.虚拟局域网(VLAN)4.令牌环网5.FDDI网6.ATM网(四)标准(五)划分二、广域网(一)概念(二)协议1.PPP协议2.HDLC协议一、局域网(一)概念定义:简称LAN,是指在某一区域内由多台计算机互......
  • 【408DS算法题】038进阶-图深度优先遍历DFS
    Index题目分析实现总结题目设计函数实现对图的深度优先遍历。分析实现类似于图的BFS的分析思路,图的DFS和二叉树的DFS思路相同,但需要额外考虑结点是否已经被访问过。此处同样用布尔数组visited来记录每个结点的访问情况,对于邻接矩阵存储方式的图的DFS,依照先序遍......
  • Pipeline流水线通过git拉取Jenkinsfile报错 error: RPC failed; result=22, HTTP code
    Pipeline流水线通过git拉取Jenkinsfile报错error:RPCfailed;result=22,HTTPcode=404在学习共享库时使用通过git拉取jenkinsfile时,报错在排查gitlab服务状态,网络通讯,防火墙规则以及Jenkins凭据均可以正常使用,最后发现的时在URL填写中缺少.git结尾所导致的,在了解后得知在......
  • 【408精华知识】I/O接口的基本结构
    如图所示是一个I/O接口的通用结构,I/O接口在主机侧通过IO总线与内存、CPU相连。I/O接口中可以分为以下几个部分:数据缓冲寄存器:用来暂存与CPU或内存之间传送的数据信息;状态寄存器:用来记录接口和设备的状态信息;控制寄存器:用来保存CPU对外设的控制信息;数据线:传送的是......
  • FastAPI+Vue3零基础开发ERP系统项目实战课 20240831上课笔记 查询参数和分页实现
    回顾获取路径参数什么是路径参数?/user/{id}什么时候使用?需要传递参数怎么实现类型转换?声明参数的类型怎么捕获文件路径?{file_path:path}什么是查询参数查询字符串是键值对的集合,这些键值对位于URL的?之后,以&分隔。http://127.0.0.1:8000/items/?skip=0&limit=10......