机组 CPU

控制器:协调并控制计算机各部件执行程序的指令序列,其基本功能是取指令、分析指令和执行指令

功能

CPU 必须具有控制程序的顺序执行(指令控制)、产生完成每条指令所需的控制命令(操作控制)、对各种操作加以时间上的控制(时间控制)、对数据进行算术运算和逻辑运算(数据加工)以及处理中断等能力

取指令

控制器必须具备自动地从存储器中取出指令的功能

要求控制器能自动形成指令的地址,并能发出取指令的命令,将对应此地址的指令取到控制器中

第一条指令的地址可以人为指定,也可由系统设定

分析指令

1.分析此指令要完成什么操作,即控制器需发出什么操作命令

2.分析参与这次操作的操作数地址,即操作数的有效地址

执行指令

根据分析指令产生的“操作命令”和“操作数地址”的要求,形成操作控制信号序列,通过对运算器、存储器以及 I/O 设备的操作,执行每条指令

控制器必须能控制程序的输入和运算结果的输出以及对总线的管理,甚至能处理机器运行过程中出现的异常情况和特殊请求,即处理中断的能力

结构框图

CPU 的寄存器

指令周期

每个指令周期内机器周期数可以不等,每个机器周期内的节拍数(时钟周期)也可以不等

基本概念

指令周期:CPU 每取出并执行一条指令所需的全部时间,即 CPU 完成一条指令的时间

取指周期:取指阶段完成取指令和分析指令的操作

执行周期:执行阶段完成执行指令的操作

由于各种指令操作功能不同,故各种指令的指令周期不相同

取指、间址、执行和中断 4 个周期都有 CPU 访存操作,但是目的各不相同

取指周期,为了取指令

间址周期,为了取有效地址

执行周期,为了取操作数

中断周期,为了保存程序断点

FE、IND、EX、INT 分别对应取指、间址、执行、中断 4 个周期,“1”状态表示有效

CPU 区分指令和数据的依据:

  • 取指令(取指周期)或数据(执行周期)时所处的机器周期不同
  • 取指令(程序计数器 PC)或数据(地址形成部件)时地址来源不同

数据流

取指周期的数据流

PC 存放现行指令的地址,该地址送到 MAR 并送至地址总线,控制部件 CU 向存储器发读命令,对应 MAR 所指单元的内容(指令)经数据总线送至 MDR,再送至 IR,CU 控制 PC 内容+1,形成下一条指令的地址

间址周期的数据流

一旦取值周期结束,CU 便检查 IR 中的内容,以确定其是否有间址操作,如果需要,则 MDR 中指示形式地址的右 N 位(Ad(MDR))将被送到 MAR,又送至地址总线,此后 CU 向存储器发读命令,以获取有效地址并存至 MAR

执行周期的数据流

不同指令在执行周期的操作不同,故执行周期的数据流是多种多样的

中断周期的数据流

CPU 进入中断周期要完成一系列操作,其中 PC 当前的内容必须保存起来,以待执行完中断服务程序后可以准确返回到该程序的间断处

CU 把用于保存程序断点的存储器特殊地址送往 MAR ,并送到地址总线上,后由 CU 向存储器发出写命令,并将 PC 的内容(程序断点)送到 MDR,使程序断点经数据总线存入存储器。CU 还将中断服务程序的入口地址送至 PC,为下一个指令周期的取值周期做好准备

指令流水

流水线性能

吞吐率

定义:单位时间内流水线所完成指令或输出结果的数量

加速比 >1

定义:指 m 段流水线的速度与等功能的非流水线的速度之比

效率

定义:指流水线中各功段的利用率

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#,数值计算——函数计算,Dfridr的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// 通过Ridders的多项式外推方法返回函数func在点x处的导数。 /// 输入值h作为估计的初始步长&#xff1b;它不需要很小&#xff0c;而是应为x上的增量&#xff0c; /// 在此增…

SpringBoot测试类启动web环境-上篇

1.坐标修改 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> 2.测试类测试 说明&#xff1a;SpringBootTest()中的webEnvironment值的说明&#xff1b; 2.1不启…

数据结构-图的存储

邻接矩阵法 #define MaxVertexNum 100 //顶点数目的最大值 typedef struct{char Vex[MaxVertexNum]; //顶点表int Edge[MaxVertexNum][MaxVertexNum]; //邻接矩阵&#xff0c;边表int vexnum,arcnum; //图的当前顶点数和边数 }MGraph;无向图 第i个顶点的度第i行&#xff08;或第…

第四章:人工智能深度学习教程-激活函数(第四节-深入理解激活函数)

什么是激活函数&#xff1f; 在人工神经网络中&#xff0c;节点的激活函数定义了该节点或神经元对于给定输入或一组输入的输出。然后将该输出用作下一个节点的输入&#xff0c;依此类推&#xff0c;直到找到原始问题的所需解决方案。 它将结果值映射到所需的范围&#xff0c;例…

Redis系列-四种部署方式-单机部署+主从模式+哨兵模式【7】

目录 Redis系列-四种部署方式-单机部署主从模式【7】redis-四种部署模式单机模式主从模式数据同步的方式全量数据同步增量数据同步 Redis哨兵模式总结缺点&#xff1a;哨兵模式应用sentinel.conf配置项 REF 个人主页: 【⭐️个人主页】 需要您的【&#x1f496; 点赞关注】支持…

web3 React dapp项目通过事件从区块链中拿到 已取消 已完成 和所有的订单数据 并存入redux中

好 上文web3通过antd 在React dapp中构建订单组件基本结构我们算是把一个基本的订单组件展示做出来了 然后 我们继续 起一下环境先 ganache 终端运行 ganache -dMetaMask 登录一下 然后 打开项目 发布一下合约 truffle migrate --reset然后 运行一下 测试脚本 转入交易所 E…

「我在淘天做技术」音视频技术及其在淘宝内容业务中的应用

作者&#xff1a;李凯 一、前言 近年来&#xff0c;内容电商似乎已经充分融入到人们的生活中&#xff1a;在闲暇时间&#xff0c;我们已经习惯于拿出手机&#xff0c;从电商平台的直播间、或者短视频链接下单自己心仪的商品。 尽管优质的货品、实惠的价格、精致的布景、有趣的…

【MySQL数据库】| 索引以及背后的数据结构

&#x1f397;️ 主页&#xff1a;小夜时雨 &#x1f397;️ 专栏&#xff1a;MySQL数据库 &#x1f397;️ 如何优雅的活着&#xff0c;是我找寻的方向 目录 1. 基本知识2. 索引背后的数据结构总结 1. 基本知识 概念 索引是一种特殊的文件&#xff0c;包含着对数据表里所有…

Leetcode刷题详解—— 找出所有子集的异或总和再求和

1. 题目链接&#xff1a;1863. 找出所有子集的异或总和再求和 2. 题目描述&#xff1a; 一个数组的 异或总和 定义为数组中所有元素按位 XOR 的结果&#xff1b;如果数组为 空 &#xff0c;则异或总和为 0 。 例如&#xff0c;数组 [2,5,6] 的 异或总和 为 2 XOR 5 XOR 6 1 。…

95 课程表

课程表 题解1 BFS&#xff08;拓扑图模板&#xff09;题解2 DFS 你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &am…

【halcon】halcon 函数文件 以及 脚本引擎如何调用外部函数文件 上篇

前言 halcon有几种文件&#xff1a; 本地程序函数&#xff08;.hdev&#xff09;外部函数文件&#xff08;.hdvp)库函数(.hdp) 说多了容易混淆&#xff0c;今天就说&#xff0c;我觉得最有用的&#xff1a;外部函数文件&#xff08;.hdvp) 步骤 先写一段halcon脚本&#x…

php冒泡算法实现倒序和正序排列

冒泡排序是一种简单的排序算法&#xff0c;其主要思想是比较相邻的两个元素&#xff0c;根据需要交换位置&#xff0c;将较大&#xff08;或较小&#xff09;的元素逐渐冒泡到数组的一端&#xff0c;从而实现排序。 1、从小到大排序 function bubbleSort($arr) {$len count(…

剪贴板管理软件 Paste Wizard mac中文版功能特色

Paste Wizard mac是一款剪贴板管理工具&#xff0c;它可以帮助用户更高效地管理剪贴板中的文本、图片、链接等内容。 Paste Wizard mac特色功能 提供了多种方式来保存和管理剪贴板中的内容。用户可以创建自定义的标签&#xff0c;将内容按照标签进行分类&#xff0c;方便快速查…

springboot,spring框架返回204 status code的时候,会吞掉返回值

背景 发现有个有意思的现象&#xff0c;就是当你的接口返回204的 HTTP status code 的时候&#xff0c;会自动把 response body 吃掉&#xff0c;即使代码里是有返回的。例如 &#xff08;其实204本身就是NO_CONTENT的意思&#xff0c;不过我是真没想到真干掉了返回&#xff0…

5G-A 商用加速,赋能工业互联网

2019 年 6 月&#xff0c;中国工业和信息化部发放 5G 商用牌照。同年 10 月&#xff0c;三大运营商公布 5G 商用套餐&#xff0c;11 月 1 日正式上线 5G 商用套餐&#xff0c;标志中国正式进入 5G 商用新纪元。今年是 5G 商用的第五年&#xff0c;在当前数字经济蓬勃发展的催化…

Mathematica清除全局变量以及避免与内置命令冲突

自己在使用MMA的时候之前遇到过一个问题&#xff0c;就是发现使用 ClearAll["Global*"]这个命令并不能清除某些变量&#xff0c;例如 如果想要清除K这个变量则需要单独清除 Clear[K]。 实际上这是由于和MMA内部的一些预定义的命令或函数冲突的结果。其实其他变量都…

求极限问题:x趋于0时的等价替换及其适用条件、洛必达法

x趋于0时的等价替换及其适用条件 等价无穷小的定义&#xff1a; 若 lim ⁡ β α 1 \lim\dfrac{\beta}{\alpha}1 limαβ​1&#xff0c;则 β \beta β 与 α \alpha α 是等价无穷小的&#xff0c;记作 α ∼ β \alpha \sim \beta α∼β. 即当两个函数相比取极限&…

php 二分查询算法实现

原理&#xff1a;二分查找算法&#xff08;Binary Search&#xff09;是一种针对有序数组的查找算法。它的原理是通过将查找区间逐渐缩小一半来快速定位要查找的目标值。 应用场景&#xff1a; 数据库或文件系统索引查找&#xff1a;在数据库或文件系统中&#xff0c;索引是有…

谷歌插件报错 Manifest version 2 is deprecated, and support will be removed in 2023.

点开错误发现 高亮部分有问题。 下面是这个插件的解压后的原始包&#xff1a;我们主要就去找json结尾的东西 就这两个 一个个排除 找到了 把2 改成3就可以了 一定要记得保存&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff0…

计算机考研408有多难?25考研经验贴,开个好头很有必要

前言 大家好&#xff0c;我是陈橘又青&#xff0c;相信关注我的各位小伙伴们中&#xff0c;大多都是在计算机专业的大学生吧&#xff01; 每天都有许多人在后台私信我&#xff0c;问我要不要考研&#xff0c;我想说这个东西是因人而异的&#xff0c;像我本人就选择了就业&…