《深入浅出计算机组成原理》学习笔记 Day18

news2025/1/11 0:49:38

冒险和预测(二)

    • 1. NOP 操作和指令对齐
    • 2. 操作数前推
    • 参考

1. NOP 操作和指令对齐

MIPS 体系结构下的 R、I、J 三类指令:
在这里插入图片描述
五级流水线“取指令(IF)— 指令译码(ID)— 指令执行(EX)— 内存访问(MEM)— 数据写回(WB)”:
在这里插入图片描述
在 MIPS 的体系结构下,不同类型的指令,会在流水线的不同阶段进行不同的操作。

有些指令没有对应的流水线阶段,但是我们并不能跳过对应的阶段直接执行下一个阶段。。不然,如果我们先后执行一条 LOAD 指令和一条 ADD 指令,就会发生 LOAD 指令的 WB 阶段和 ADD 指令的 WB 阶段,在同一个时钟周期发生。

在这里插入图片描述
所以,各个指令不需要的阶段并不会直接跳过,而是会运行一次 NOP 操作。通过插入一次 NOP 操作,后一条指令的每一个 Stage 一定不会和前一条指令的同 Stage 在一个时钟周期执行。

2. 操作数前推

操作数前推(Operand Forward),又名操作数旁路(Operand Bypassing),操作数转发。

转发(逻辑含义):在第 1 条指令的执行结果,直接“转发”给了第 2 条指令的 ALU 作为输出。

旁路(物理含义):在 CPU 的硬件里面,需要单独拉一根信号传输的线路出来,使得 ALU 的计算结果能够重新回到 ALU 的输出里来。这样一条线路就称为“旁路”。它越过(Bypass)了写入寄存器,再从寄存器读出的过程,也为我们节省了 2 个时钟周期。

参考

极客时间《深入浅出计算机组成原理》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/194085.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux_进程间通信 IPC

文章目录1、管道1.1、匿名管道1.2、有名管道2、信号3、共享内存3.1、共享内存接口3.1.1、生成 key 值3.1.2、创建共享内存3.1.3、创建共享内存映射3.1.4、解除共享内存映射3.1.5、修改共享内存属性3.2、例:共享内存4、信号量4.1、信号量的接口4.1.1、创建信号量4.1.…

第二章 RISC-V 指令集架构

前言 提醒:全文10千字,预计阅读时长15分钟;读者:对 RISC-V 架构感兴趣的小伙伴;目的:读者利用15~30 分钟对本文沉浸式阅读理解,能够掌握 RISC-V 架构 80% 的要点;关键词 &#xff1a…

Mysql 高级学习笔记

Mysql 高级学习笔记 文章目录Mysql 高级学习笔记一、Mysql 基础1. 聚合函数2. having3. sql 的执行顺序4. 约束5. 试图二、Mysql 高级1. MySQL中的SQL的执行流程2. 存储引擎介绍2. 索引3. 性能分析工具的使用4. 索引优化与查询优化5、关联查询优化6、事务及日志6、MVCC一、Mysq…

【C++】从0到1入门C++编程学习笔记 - 提高编程篇:STL常用容器(deque容器)

文章目录一、deque容器基本概念二、deque构造函数三、deque赋值操作四、deque 大小操作五、deque 插入和删除六、deque 数据存取七、deque 排序一、deque容器基本概念 功能: 双端数组,可以对头端进行插入删除操作 deque与vector区别: vec…

【Python】在代码中执行终端命令并获取输出和运行状态

文章目录0 前言1 os库1.1 os.system1.2 os.popen2 subprocess库2.1 subprocess.run2.2 subprocess.Popen3 参考链接0 前言 在Python编程过程中,我们可能会遇到需要在终端命令行执行某个命令并获取其输出的操作,我们首先想到可能就是C语言中的system(&quo…

字节青训营——分布式学习笔记

1. 分布式事务 满足ACID(原子性、一致性、隔离性、持久性)的一组操作,可以被称为一个事务。 同样的,分布式事务也部分遵循 ACID 规范: 原子性:严格遵循一致性:事务完成后的一致性严格遵循&am…

超详细域名备案+阿里云服务器配置+小程序开发(简略)+前后端分离(简略)

文章目录前言一、试水环节(配置阿里云服务器环境)二、购买域名及备案1.购买域名2.域名备案3.域名解析4.白嫖SSL证书5.在网站上链接备案号三、设置微信小程序开发的权限四、安装微信小程序开发的工具五、前后端分离(简略)总结前言 …

RPA自动化办公06——Uibot中的UB编程语言基础

参考:UB语言参考_UiBot开发者指南 虽然Uibot用命令就行,但是编程习惯会让程序员们更喜欢看源代码,有时候写源代码会更加方便,所有要学习UB的语言基础。 它很简单,和Python很像,下面简单了解一个各种基础语…

美团:前景乐观但风险巨大

来源:猛兽财经 作者:猛兽财经 增长势头强劲,已经扭亏为盈 过去几年,美团(03690)的收入一直在以两位数的速度在增长。 这一增长势头,到了2022年还在延续(美团的收入在2022年仍保持…

kob配置git环境与项目创建

配置git环境 1.安装Git Bash 如果是使用Linux和mac可以跳过第一步操作,如果使用windows需要安装Git Bash:Git Bash传送门安装过程中所有配置按照默认即可; 2.配置Git环境 2.0 创建秘钥:使用命令:“ssh-keygen”生成秘钥&#…

【Java基础】多线程学习

1.多进程和多线程 多进程: 是指操作系统能同时运行多个任务(程序)。 多线程: 是指在同一程序中有多个顺序流在执行。 实现: 在java中要想实现多线程,有两种手段,一种是继承Thread类&#xff…

1、环境安装

目录一、vscode插件二、设置代理GOPROXY三、gopls1 - vscode弹出插件支持安装2 - LSP3 - gopls四、vscode设置一、vscode插件 vscode插件商店 Go Team at Google:让vscode关联上go语言的开发环境 Outline Map:更好的代码大纲 二、设置代理GOPROXY…

操作系统进程同步

文章目录操作系统进程同步一.进程同步的基本概念1.两种形式的制约关系2.临界资源(critical resource)3.临界区(critical section)4.同步进制遵循的原则二.硬件同步机制1.关中断2.Test-and-Set 指令3.Swap指令实现进程互斥三.信号量…

mysql-视图的定义和简单使用

mysql-视图视图1. 视图的定义2.视图的创建规则和使用限制小结视图 1. 视图的定义 视图是虚拟的表。与包含数据的表不一样,视图只包含使用时动态检索数据的查询。 视图的一些常见应用: 重用SQL语句。 简化复杂的SQL操作。在编写查询后,可以…

c语言之链表

今天来介绍一下c语言如何手写一个单向链表,我们都知道链表是用来提高空间的利用效率的数据结构,其中包括了一个数据域和指针域,数据域用来存储数据,指针域用来指向下一个节点。数据结构如下 我们都知道数据结构最主要的是他的增删…

从底层入手搞定C++引用和内联函数

C引用和内联函数 文章目录C引用和内联函数一、引用1.1引用的概念1.1.1代码展示1.1.2图示1.2引用的特性1.3常引用1.4引用的使用场景1.5 传值、传引用效率比较1.6 引用和指针的区别二、内联函数2.1.内联函数的概念2.2内联函数的特性总结一、引用 首先我们来看一下引用的概念&…

每天10个前端小知识 【Day 2】

前端面试基础知识题 1. arguments 这种类数组&#xff0c;如何遍历类数组&#xff1f; for(var i 0, len arrayLike.length; i < len; i) { …… }使用ES6的 … 运算符&#xff0c;我们可以轻松转成数组。 function func(...arguments) { console.log(arguments); // […

蓝牙和射频技术的关系

蓝牙和射频技术的关系 提到蓝牙大家的比较熟悉&#xff0c;但射频技术很多都没有明白什么意思&#xff1f; 现简单介绍下他们的关系&#xff0c;让想了解射频技术的朋友更清楚。 1&#xff1a;定义&#xff1a; 射频&#xff08;RF&#xff09;是Radio Frequency的缩写&#xf…

Fluent的模型参数化(2)

前言&#xff1a;本文基于2023R1版本。在《Fluent的模型参数化&#xff08;1&#xff09;》中&#xff0c;对将Fluent模型进行参数化的方法进行了概述。本文主要基于已参数化的模型&#xff0c;进行参数分析的方法。基本概念&#xff1a;输入参数&#xff1a;工况的设置数据&am…

SpringMVC之入门案例

目录 一&#xff1a;概述 二代码实操&#xff1a; 步骤1:创建Maven项目&#xff0c;并导入对应的jar包 步骤2:创建控制器类 步骤3:创建配置类 步骤4:创建Tomcat的Servlet容器配置类 步骤5:配置Tomcat环境 步骤6:启动运行项目 步骤7:浏览器访问 知识点1&#xff1a;Co…