王道计组(23版)5_中央处理器

news2024/10/6 0:33:27

CPU

功能

指令控制:取指、分析、执行
操作控制:一条指令的功能由若干操作信号组合实现
时间控制、数据加工、中断处理

基本结构

运算器

ALU:算术/逻辑运算
暂存寄存器:暂存从主存读来的数据,透明
ACC:通用寄存器,暂存ALU的结果
X:存放操作数和各种地址信息,如堆栈指针SP指示栈顶地址
PSW:OF、SF、CF、ZF
移位器
计数器:控制乘除运算的操作步数

控制器

PC:指出下一条指令在主存中的存放地址
IR:存放当前正在执行的指令
指令译码器:对操作码字段译码,向控制器提供特定的操作信号
MAR
MDR
时序系统
微操作信号发生器:产生控制整个计算机系统所需的各种控制信号

透明的寄存器:MAR、MDR、IR
不透明的寄存器:X、PSW

指令执行过程

指令周期

指令周期:CPU从主存取出并执行一条指令的时间
指令周期常用若干机器周期表示
一个机器周期包含若干时钟周期(节拍、T周期、CPU操作的最基本单位)
机器周期可视为所有指令执行过程的一个基准时间
每个节拍的宽度对应一个时钟周期
在这里插入图片描述
上述4个周期都有CPU访存操作:
取指周期FE:取指令
在这里插入图片描述
间址周期IND:取有效地址
在这里插入图片描述
执行周期EX:取操作数
____没有统一的数据流
中断周期INT:保存程序断点
在这里插入图片描述

指令执行方案

单指令周期:所有指令选用相同的执行时间,串行执行
多指令周期:串行执行
流水线:并行执行

数据通路

数据通路:实现CPU内部的运算器与寄存器、寄存器与寄存器的数据交换

控制器

CU的输入信号来源:
标志:来自执行单元的反馈信息
在这里插入图片描述

微指令

异常和中断

定义

异常:CPU内部产生的意外事件,内中断,与正在执行的指令相关的同步事件
中断:CPU外部的设备向CPU发出的中断请求,外中断,与正在执行的指令无关的异步事件

分类

异常的分类:(按照发生原因和返回方式)
故障:引起故障的指令执行后、执行结束前被检测到的异常,如缺段缺页、非法操作码、除数为0
自陷Trap:预先安排的断点
终止:随机发生的使计算机无法继续执行的硬件故障

区别

(1)缺页、溢出等异常事件由特定指令在执行过程产生,中断不和任何指令关联,不阻止任何指令完成
(2)异常的检测由CPU自身完成,不必通过外部的某个信号通知CPU;CPU必须通过中断请求线获取中断源的信息,才能知道哪个设备发生了哪种中断

响应过程

从CPU检测到异常/中断,到调出相应的处理程序的过程

关中断 IF=0:禁止响应新的中断
保存断点和程序状态
识别异常和中断并转到相应的处理程序

指令流水线

提高处理机的并行性

流水线技术:时间上,将一个任务分解成几个子阶段,在不同的功能部件执行
超标量处理机:空间上,一个处理机内设置多个执行相同任务的功能部件并行工作

冒险

结构冒险(资源冲突):多条指令在同一时刻争用同一硬件资源
数据冒险(数据冲突):下一条指令会用到当前指令计算出的结果
控制冒险(控制冲突):遇到改变指令执行顺序的情况,会改变PC值,造成断流

高级流水线技术

超标量流水线技术(动态多发射技术):每个时钟周期内可并发执行多条独立指令,以并行操作方式将两条或多条指令编译并执行。
在这里插入图片描述
超长指令字技术(静态多发射技术):由编译程序挖掘指令间潜在的并行性,组合成一条具有多个操作码字段的超长指令字
超流水线技术:功能段划分级数增多
在这里插入图片描述

多处理器的基本概念

SISD、SIMD、MIMD

单指令流单数据流(SISD)结构:
传统的串行结构,一个处理器和一个存储器
单指令流多数据流(SIMD)结构:
数据级并行,一个指令控制部件和多个处理单元
多指令流多数据流(MIMD)结构

硬件多线程

细粒度多线程:多个线程轮流交叉执行指令,多个线程直接的指令不相关,可以乱序并行执行。处理器可以在每个时钟周期切换线程
粗粒度多线程:仅在一个线程出现较大开销的阻塞时,才切换线程。流水线阻塞时,清除阻塞的流水线,新线程的指令开始执行前需重载流水线
同时多线程SMT:指令级并行的同时实现线程级并行,超线程
在这里插入图片描述

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

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

相关文章

【变量的解构赋值】

变量的解构赋值 1 数组的解构2 对象的解构 ES6允许按照一定模式从数组和对象中提取值&#xff0c;对变量进行赋值&#xff0c;这称为解构赋值。 1 数组的解构 <script>// 1.数组的解构const F4 [小沈阳,刘能,赵四,宋小宝];let [xiao,liu,zhao,song] F4;console.log(xi…

算法基础(三):链表知识点及题型讲解

算法基础&#xff08;三&#xff09;&#xff1a;链表知识点及题型讲解 1 链表定义2 Python链表常用操作2.1 创建链表2.2 添加元素2.3 访问元素2.4 搜索元素2.5 更新元素2.6 删除元素2.7 获取链表长度 3 力扣题目训练 一些算法基础知识点和leetcode题解&#xff0c;语言是pytho…

体验 buildah

体验 buildah 什么是 Buildah安装 BuildahBuildah 使用 Dockerfiles参考资料 什么是 Buildah Buildah 是一个便于构建开放容器倡议&#xff08;OCI&#xff09;容器镜像的工具。 Buildah软件包提供了一个命令行工具&#xff0c;可以用来&#xff1a; 创建一个工作容器&#x…

代码随想录算法训练营第三十九天|62.不同路径、63. 不同路径 II

文章目录 62.不同路径63. 不同路径 II 62.不同路径 题目链接&#xff1a;代码随想录 解题思路&#xff1a; 1.dp(i)(j)&#xff1a;表示从&#xff08;0 &#xff0c;0&#xff09;出发&#xff0c;到(i, j) 有dp(i)(j)条不同的路径 2.确定dp的表达式: dp(i)(j) dp(i-1)(j) …

OpenCV核心运算(二)—图像基本与算术操作

目录 2.1 图像的基本操作目标访问和修改像素值访问图像属性图像ROI分割和合并图像通道为图像制作边框&#xff08;填充&#xff09; 2.2 图像上的算术操作目标图像加法图像混合位操作练习 2.3 性能测量和改进技术目标用OpenCV测量性能OpenCV中的默认优化更多的IPython魔法命令性…

[HBZ分享] 小米手机如何解BL锁

第一步&#xff1a; 进入【设置—>我的设备–>全部参数–>连续疯狂的点MIUI版本那一行】 第二步&#xff1a;进入【更多设置–>开发者模式】&#xff0c;打开USB调试 与 USB安装 第三步&#xff1a;进入【更多设置–>开发者模式】&#xff0c;进入【设别解锁状…

spring eurake中使用IP注册

在开发spring cloud的时候遇到一个很奇葩的问题&#xff0c;就是服务向spring eureka中注册实例的时候使用的是机器名&#xff0c;然后出现localhost、xxx.xx等这样的内容&#xff0c;如下图&#xff1a; eureka.instance.perferIpAddresstrue 我不知道这朋友用的什么spring c…

单片机设计_自动追光系统、光源跟踪系统(AT89C51 光敏电阻 步进电机)

想要更多项目私wo!!! 一、电路设计 51 单片机双轴自动追光系统主要由 STC89C52RC 5516 光敏电阻 ADC0832 ULN2803 步进电机 LCD1602 显示屏组成。 1.通过子电路板的上、下、左、右四个光敏电阻来感受四个方向的光强&#xff0c;自 动寻找光强最强的方向。四个光敏电阻的…

MySQL存储引擎InnoDB、MyISAM和MEMORY介绍详解和区别

文章目录 MySQL存储引擎InnoDB、MyISAM和MEMORY介绍详解和区别InnoDB存储引擎特点操作示例创建InnoDB表修改表引擎为InnoDB MyISAM存储引擎特点操作示例创建MyISAM表修改表引擎为MyISAM MEMORY存储引擎特点操作示例创建MEMORY表修改表引擎为MEMORY 总结 MySQL存储引擎InnoDB、M…

代码随想录算法训练营第六天|242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

先了解一下什么是哈希表 哈希表是根据关键码的值而直接进行访问的数据结构 所以数组就是哈希表 盗个卡哥的图 哈希表中关键码就是数组的索引下标&#xff0c;然后通过下标直接访问数组中的元素&#xff0c;如下图所示&#xff1a; 哈希表能解决的问题&#xff1a; 一般哈…

【LeetCode】987.二叉树的垂序遍历

二叉树遍历系列 144.二叉树的前序遍历94.二叉树的中序遍历145.二叉树的后续遍历102.二叉树的层序遍历107.二叉树的层序遍历II103.二叉树的锯齿形层序遍历&#xff08;之字形遍历&#xff09;199.二叉树的右视图 二叉树的垂序遍历目录 二叉树遍历系列1.问题示例 1示例 2示例 3 …

校招又临近了,怎么在面试中应对设计模式相关问题呢?

夏天开始了&#xff0c;那么夏天结束时的毕业季也不远了。毕业是个伤感、期待而又略带残酷的时节&#xff0c;就像蜜桃无论成熟与否都会在这个时间被采摘&#xff0c;如果毫无准备就踏入社会&#xff0c;就会……马上变成低级社畜。所以说还是要早点为了毕业找工作做点准备&…

Stereo-Detection:YOLO v5与双目测距结合,实现目标的识别和定位测距

简介&#xff1a;Stereo-Detection 是一个传统的SGBM深度测距yolov5目标检测&#xff0c;并部署在Jeston nano的开源教程。它致力于让更多的大四学生毕业&#xff0c;以及让研一学生入门 开源链接&#xff1a;yzfzzz/Stereo-Detection: Conventional SGBM depth ranging yolov…

【android专题】学习android,第一天学习:软件和组件了解

开发软件和手机建立连接 1.建立连接 2.运行App程序到手机&#xff0c;通过USB线 选择你的小米设备 run按钮 下面这个&#xff0c;就是你设备的日志 通过USB安装时&#xff0c;报错&#xff0c;大概意思就是&#xff0c;默认手机是禁止通过usb安装软件的&#xff0c; 要打开…

Automa自动化爬取图片(二)

Automa插件可以扩展Automa的功能&#xff0c;使其可以与其他应用程序进行交互。例如&#xff0c;Automa插件可以用于自动化测试Web应用程序&#xff0c;批量发送邮件&#xff0c;自动化填写表单等。通过Automa插件&#xff0c;我们可以更加灵活地定制自己的自动化测试工具&…

Linux 配置YUM源(FTP方式获取软件源、使用阿里云yum源、同时使用本地源与在线源)YUM获取安装包并生成YUM软件仓库

YUM介绍 YUM&#xff08;yellow dog updater modified&#xff09; 基于RPM包构建的软件更新机制 自动解决依赖关系 yum软件仓库集中管理软件包 RPM软件包的来源 centos发布的RPM包集合第三方组织发布的RPM包集合用户自定义的RPM包集合 软件仓库的提供方式 FTP服务&#xff1a;…

阿里4年测试经验分享 —— 测试外包干了3年后,我废了...

去年国庆&#xff0c;我分享了一次一位阿里朋友的技术生涯&#xff0c;大家反响爆蓬&#xff0c;感觉十分有意思&#xff0c;今天我来分享一下我另一位朋友的真实经历&#xff0c;是不是很想听&#xff1f; 没错&#xff0c;我这位朋友是曾经外包公司的测试开发&#xff0c;而…

SAPJNet:小样本多序列MRI诊断的序列自适应原型联合网络

文章目录 SAPJNet: Sequence-Adaptive Prototype-Joint Network for Small Sample Multi-sequence MRI Diagnosis摘要方法Sequence-Adaptive Transformer原型优化策略 实验结果 SAPJNet: Sequence-Adaptive Prototype-Joint Network for Small Sample Multi-sequence MRI Diagn…

【2023-4-8 美团春招笔试题 开发岗(技术综合-后端数开软开)】

题目一&#xff1a; 代码一&#xff1a; #include <iostream> #include <string> using namespace std;int main() {int n,m,a;cin>>n>>m>>a;string s[n][m];for(int i0;i<n;i){for(int j0;j<m;j){cin>>s[i][j];}}int count0;for(i…

【MySQL】(7)复合查询

文章目录 单表查询回顾与练习多表查询自连接多行子查询&#xff08;单列&#xff09;in 运算符all 关键字any 关键字 多列子查询from 子句中的子查询合并查询 单表查询回顾与练习 注&#xff1a;下面的依旧基于 scott 数据库 MariaDB [scott]> select * from emp; -------…