当前位置: 首页 > news >正文

计算机组成原理 CPU的功能和基本结构和指令执行过程

文章目录

  • CPU的功能和基本结构
      • CPU的功能
      • CPU的基本结构
    • 指令执行过程
      • 指令周期概念
      • 指令执行方案
      • 指令数据流
        • 取周期数据流
        • 析指周期数据流
        • 执行周期数据流
        • 中断周期数据流
    • 数据通路的功能和基本结构
      • 数据通路的功能
      • 数据通路的结构
        • 单总线

CPU的功能和基本结构

CPU的功能和基本结构
CPU的功能
CPU的基本结构
指令控制
操作控制
时间控制
数据加工

CPU的功能

在这里插入图片描述

  1. 指令控制: 完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
  2. 操作控制:一条指令的功能往往是由若干操作信号的组合来实现的。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。
  3. 时间控制: 对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
  4. 数据加工: 对数据进行算术和逻辑运算。

CPU的基本结构

透明性
用户可见的寄存器 (对用户不透明,用户可编程) : PSW.ACC,Ri.PC
用户不可见的寄存器 (对用户透明,用户不可编程) : SR,T,MAR,MDR,IR

控制信号
在这里插入图片描述

使用多路选择器根据控制信号选择一路输出
在这里插入图片描述

使用三态门可以控制每一路是否输出

运算器
在这里插入图片描述

  1. 算术逻辑单元ALU: 主要功能是进行算术/逻辑运算。
  2. 通用寄存器组Ri: 用于存放操作数 (包括源操作数、目的操作数及中间结果) 和各种地址信息等。SP 是堆栈指针,用于指示栈顶的地址。
  3. 暂存寄存器T。用于暂存从主存读来的数据,该数据不能存放在通用寄存器中,否则会破坏其原有内容。暂存寄存器对应用程序员是透明的
  4. 累加寄存器ACC。它是一个通用寄存器,用于暂时存放 ALU运算的结果信息,可以作为加法运算的一个输入端
  5. 程序状态字寄存器PSW。保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息,如溢出标志 (OF) 、符号标志 (SF) 、零标志 (ZF) 、进位标志 (CF) 等。PSW中的这些位参与并决定微操作的形成。
  6. 移位器SR。对操作数或运算结果进行移位运算。
  7. 计数器。控制乘除运算的操作步数

在这里插入图片描述

  1. 程序计数器: 用于指出下一条指令在主存中的存放地址。CPU 根据 PC 的内容去主存中取指令。因程序中指令(通常)是顺序执行的,所以PC 有自增功能
  2. 指令寄存器: 用于保存当前正在执行的那条指令

在这里插入图片描述

  1. 程序计数器: 用于指出下一条指令在主存中的存放地址。CPU 根据 PC 的内容去主存中取指令。因程序中指令(通常)是顺序执行的,所以PC 有自增功能。
  2. 指令寄存器: 用于保存当前正在执行的那条指令
  3. 指令译码器:仅对操作码字段进行译码,向控制器提供特定的操作信号
  4. 时序系统: 用于产生各种时序信号,它们都由统一时钟(CLOCK) 分频得到
  5. 微操作信号发生器: 根据IR的内容 (指令) 、PSW的内容 (状态信息) 及时序信号,产生控制整个计算机系统所需的各种控制信号,其结构有组合逻辑型和存储逻辑型两种,
  6. 存储器地址寄存器: 用于存放要访问的主存单元的地址
  7. 存储器数据寄存器:用于存放向主存写入的信息或从主存读出的信息。

在这里插入图片描述

指令执行过程

指令执行过程
指令周期的概念
指令执行方案
数据流
指令周期
时钟周期
机器周期

指令周期概念

关于周期
时钟周期: (节拍,T周期,CPU时钟周期)
机器周期:(CPU周期)
指令周期: CPU 从主存中取出并执行一条指令的时间称为指令周期,不同指令的指令周期可能不同
在这里插入图片描述

指令的不确定性
时钟周期数不同,每个机器周期内的节拍数也可能不同
常见类型的指令
在这里插入图片描述

指令执行方案

单指令周期
每个指令时间可能不同,但是在单指令周期下,所有指令选用相同的执行时间,指令间串行
在这里插入图片描述

优点: 结构、设计简单
缺点:对于原本很短时间的指令,要在较长的时间来完成,显然会降低整个系统的运行速度

多指令周期
不同类型指令选用不同的执行步骤,指令间串行
在这里插入图片描述

优点: 不再要求所有的指令占用相同的执行时间
缺点: 执行指令的设计更加复杂

流水线方案
隔一段时间启动一条指令,多条指令位于不同阶段,同时运行
在这里插入图片描述

优点: 不再要求所有的指令占用相同的执行时间
缺点: 执行指令的设计更加复杂

指令数据流

取周期数据流

在这里插入图片描述

  1. PC 1 MAR 2 地址总线3主存
  2. CU发出控制信号 4 控制总线 5 主存
  3. 主存 6 固数据总线 7 MDR 8 IR (存放指令)
  4. CU 发出读命令 9 PC 内容加1。
析指周期数据流

在这里插入图片描述

  1. Ad(IR)(或MDR) 1 MAR 2 地址总线 3 主存
  2. CU 发出读命令 4 控制总线 5 主存
  3. 主存 6 数据总线 7 MDR (存放有效地址)其中,Ad(IR)表示取出IR中存放的指令字的地址字段
执行周期数据流

各条指令的执行周期不同

中断周期数据流

在这里插入图片描述

  1. CU控制将 SP减 1 ,SPDMAR 2 地址总线 3 主存
  2. CU发出写命令 4 控制总线 5 主存
  3. PC 6 MDR 7 数据总线 8 主存 (程序断点存入主存)
  4. CU (中断服务程序的入口地址) 9 PC

数据通路的功能和基本结构

数据通路的功能和基本结构
数据通路的功能
数据通路的结构
单总线
三总线
专用数据通路

数据通路的功能

数据通路
数据在功能部件之间传送的路径称为数据通路
路径上的部件称为数据通路部件,如 ALU、通用寄存器、状态寄存器、异常和中断处理逻辑等
数据通路中专门进行数据运算的部件称为执行部件或功能部件。
数据通路功能
数据通路的功能是实现CPU内部的运算器与寄存器及寄存器之间的数据交换。
在这里插入图片描述

数据通路的结构

单总线

CPU内部单总线方式
将所有寄存器的输入端和输出端都连接到一条公共通路上,这种结构比较简单,但数据传输存在较多的冲突现象性能较低。连接各部件的总线只有一条时,称为单总线结构:CPU中有两条或更多的总线时,构成双总线结构或多总线结构
在这里插入图片描述

专用数据通路方式
根据指令执行过程中的数据和地址的流动方向安排连接线路,避免使用共享的总线,性能较高,但硬件量大。
在这里插入图片描述

内部总线
同一部件,如 CPU 内部连接各寄存器及运算部件之间的总线
系统总线
系统总线是指同一台计算机系统的各部件,如CPU、内存、通道和各类 /O接口间互相连接的总线
外部总线
外部总线是指各台计算机之间相互通信的总线

寄存器之间的数据传送
把PC 内容送至 MAR,实现传送操作的流程及控制信号为
(PC)->Bus   PCout 有效,PC 内容送总线

Bus->MAR   MARin 看效,总线内容送 MAR
主存与 CPU 之间的数据传送
CPU从主存读取指令为例说明数据在数据通路中的传送过程

(PC)->Bus->MAR   PCout 和 MARin 有效,现行指令地址->MAR
1->R   CU发读命令
MEM(MAR)->MDR  
(MDR)->Bus->IR   MDRout 和 IRin有效,现行指令->IR

执行算术运算和逻辑运算
Ad(IR)->Bus->MAR   MDRout 和 MARin 有效
1->R   CU 发读命令
MEM(MAR)->数据线->MDR   操作数从存储器->数据线->MDR
MDR->Bus->Y   MDRout 和 Yin 有效,操作数->Y
(ACC)+(Y)->Z   ACCout和ALUin有效,CU发出加命令结果->Z
Z->ACC   Zout和ACCin有效,结果ACC
在这里插入图片描述

相关文章:

计算机组成原理 CPU的功能和基本结构和指令执行过程

文章目录 CPU的功能和基本结构CPU的功能CPU的基本结构 指令执行过程指令周期概念指令执行方案指令数据流取周期数据流析指周期数据流执行周期数据流中断周期数据流 数据通路的功能和基本结构数据通路的功能数据通路的结构单总线 CPU的功能和基本结构 #mermaid-svg-0uHwjZOZh4kS…...

批量归一化:彻底改变深度学习架构

一、介绍 在深度学习的动态领域,批量归一化的引入标志着神经网络训练方法的关键转变。这项创新技术由 Sergey Ioffe 和 Christian Szegedy 在 2015 年提出,已成为现代神经网络架构的基石。它解决了训练深度网络的关键挑战,特别是处理臭名昭著…...

Spring05

一、Spring事务管理入门 1.1、创建数据库和表 创建一个Spring数据库,在Spring数据库中创建tb_account(账户表),并初始化数据。 1.2、编写Service层、Mapper层以及调用层 1.2.1、AccountServiceImpl实现了AccountService接口 1.2.2、Mapper层中的代码 1…...

MvvmToolkit的使用

背景:MvvmLight不更新了,用Toolkit代替 1、首先下载好社区版本的NuGet包 2、ViewModel中需要继承ObservableObject,查看ObservableObject可以看到里面有实现好InotifyPropertyChanged。 3、对于属性的set,可以简写成一行&#xff…...

分布式【一致性Hash算法简介】

一致性Hash是一种特殊的Hash算法,由于其均衡性、持久性的映射特点,被广泛的应用于负载均衡领域,如nginx和memcached都采用了一致性Hash来作为集群负载均衡的方案。 一致性Hash算法简介 在了解一致性Hash算法之前,先来讨论一下Ha…...

PHP命令行脚本接收传入参数的三种方式

1.使用$argv or $argc参数接收&#xff0c;会把文件本身计算在内 $argv&#xff1a; 以数组形式接收保存参数 $argc&#xff1a;保存参数个数 <?php echo "接收到{$argc}个参数"; print_r($argv); //执行 //php /usr/local/php/bin/php test.php 接收到1个…...

【STM32】STM32学习笔记-ADC单通道 ADC多通道(22)

00. 目录 文章目录 00. 目录01. ADC简介02. ADC相关API2.1 RCC_ADCCLKConfig2.2 ADC_RegularChannelConfig2.3 ADC_Init2.4 ADC_InitTypeDef2.5 ADC_Cmd2.6 ADC_ResetCalibration2.7 ADC_GetResetCalibrationStatus2.8 ADC_StartCalibration2.9 ADC_GetCalibrationStatus2.10 A…...

1329:【例8.2】细胞 广度优先搜索

1329&#xff1a;【例8.2】细胞 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 一矩形阵列由数字0 到9组成,数字1到9 代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如: 4 10 0234500067 1034560500 2045600671 00000000…...

9款免费网络钓鱼模拟器详解

根据《2023年网络钓鱼状况报告》显示&#xff0c;自2022年第四季度至2023年第三季度&#xff0c;网络钓鱼电子邮件数量激增了1265%。其中&#xff0c;利用ChatGPT等生成式人工智能工具和聊天机器人的形式尤为突出。 除了数量上的激增外&#xff0c;网络钓鱼攻击模式也在不断进…...

linux cpu、memory 、io、网络、文件系统多种类型负荷模拟调测方法工具

目录 一、概述 二、stress介绍和使用 2.1 介绍 2.2 使用 三、stress-ng介绍和使用 3.1 介绍 3.2 使用 3.3 实例 四、sysbench 4.1 介绍 4.2 使用 五、lmbench 5.1 介绍 5.2 使用 一、概述 今天介绍两款cpu负荷调试工具,用来模拟多种类型的负载。主要用来模拟CPU…...

1018:奇数偶数和1028:I love 闰年!和1029:三角形判定

1018&#xff1a;奇数偶数 要求&#xff1a;输入一个整数&#xff0c;判断该数是奇数还是偶数。如果该数是奇数就输出“odd”&#xff0c;偶数就输出“even”&#xff08;输出不含双引号&#xff09;。 输入样例&#xff1a;8 输出样例&#xff1a;even 程序流程图&#xff1a…...

数据密集型应用系统设计--第2章 数据模型与查询语言

一、引言 数据模型可能是开发软件最重要的部分,而且还对如何思考待解决的问题都有深远的影响。 大多数应用程序是通过一层一层叠加数据模型来构建的。每一层都面临的关键问题是&#xff1a;如何将其用下一层来表示&#xff1f; 1.作为一名应用程序开发人员&#xff0c;观测现实…...

yolo 分割label格式标注信息图片显示可视化查看

参考: https://github.com/ultralytics/ultralytics/issues/3137 https://blog.csdn.net/weixin_42357472/article/details/135218349?spm=1001.2014.3001.5501 需要把坐标信息在图片上显示 代码 1)只画出了坐标边缘 import cv2 import numpy as np from random impor…...

霍兰德职业兴趣测试 60题(免费版)

霍兰德职业兴趣理论从兴趣的角度出发探索职业指导的问题&#xff0c;明确了职业兴趣的人格观念&#xff0c;使得人们对于职业兴趣的认识有了质的变化。在霍兰德职业兴趣理论提出来之前&#xff0c;职业兴趣和职业环境二者分别独立存在&#xff0c;正是霍兰德的总结&#xff0c;…...

MySQL之视图内连接、外连接、子查询

目录 一、视图 1.1 含义 2.1 视图的基本语法 二、案例 三、思维导图 一、视图 1.1 含义 虚拟表&#xff0c;和普通表一样使用 视图&#xff08;view&#xff09;是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一系列带有名称的列和行数据…...

以报时机器人为例详细介绍tracker_store和event_broker

报时机器人源码参考[1][2]&#xff0c;本文重点介绍当 tracker_store 类型为 SQL 时&#xff0c;events 表的表结构以及数据是如何生成的。以及当 event_broker 类型为 SQL 时&#xff0c;events 表的表结构以及数据是如何生成的。 一.报时机器人启动 [3] Rasa 对话系统启动方…...

理解JavaScript事件循环机制

JavaScript作为前端开发的核心语言之一&#xff0c;其事件循环机制是实现异步编程的关键。本文将深入探讨JavaScript事件循环机制&#xff0c;帮助您更好地理解它是如何工作的&#xff0c;以及如何在前端开发中充分利用这一机制。 1. 什么是事件循环&#xff1f; JavaScript是…...

自定义View之重写onMeasure

一、重写onMeasure()来修改已有的View的尺寸 步骤&#xff1a; 重写 onMeasure()&#xff0c;并调用 super.onMeasure() 触发原先的测量用 getMeasuredWidth() 和 getMeasuredHeight() 取到之前测得的尺寸&#xff0c;利用这两个尺寸来计算出最终尺寸使用 setMeasuredDimensio…...

专为Mac用户设计的思维导图软件MindNode 2023 for Mac助您激发创意!

在现代快节奏的生活中&#xff0c;我们经常需要整理思绪、规划项目、记录灵感。而思维导图作为一种高效的思维工具&#xff0c;能够帮助我们更好地整理和展现思维。现在&#xff0c;我们介绍一款强大而直观的思维导图软件——MindNode 2023 for Mac&#xff0c;助您拓展思维边界…...

Linux命令——用户和权限相关

文章目录 1 用户管理1.1 用户标识符1.2 用户添加1.3 用户删除1.4 用户配置文件1.4.1 passwd文件1.4.2 shadow文件1.4.3 group文件 2 密码管理3 权限管理 1 用户管理 1.1 用户标识符 用户标识符主要是UID和GID&#xff0c;UID表示用户id&#xff0c;GID表示用户组id。在登录的…...

linux反汇编工具: ida pro、rizinorg/cutter; ubuntu 22 flameshot延迟截图 以应对下拉菜单

rizinorg/cutter rizinorg/cutter 是 命令行反汇编工具 rizinorg/rizin 的图形化界面, 这比 ida pro跑在kvm虚拟机中方便多了, ubuntu22.04下直接下载Cutter-v2.3.2-Linux-x86_64.AppImage后即可运行,如下图: 注意 有个同名的报废品: radare2/Cutter 即 radare2的图形化界…...

【INTEL(ALTERA)】使用NiosV/m 处理器,niosv-download 为什么会失败?

说明 在英特尔 Quartus Prime Pro Edition 软件 23.3 版及更高版本中将 Nios V 处理器软件下载到非流水线Nios V/m 处理器时&#xff0c;可能会出现此问题。 这是由于处理器限制&#xff0c;仅影响非流水线Nios V/m 处理器。 以下其他处理器不受此限制的影响&#xff1a; 管道…...

【无线通信专题】NFC通信模式及可能的应用方式

在文章【无线通信专题】NFC基本原理中我们讲到了NFC工作模式。其中NFC工作模式主要有三种,读写模式、卡模拟模式、点对点模式。 NFC通信模式丰富,NFC Forum定义了三种NFC设备:通用NFCForum设备、读写器设备和标签设备。这些NFC设备可以在三种通信模式下运行,并对应用案例进…...

pyinstaller生成的exe文件启动时间漫长的原因

加-F慢的原因是&#xff0c;pyinstaller把所有资源文件包括python解释器的依赖文件和库都打包到exe一个文件中&#xff0c;用户打开时&#xff0c;pyinstaller需要先执行一边解压操作&#xff0c;把依赖文件全部解压出来。慢就慢在这里。 如果不加-F&#xff0c;你会发现那些文…...

C语言基本语句介绍

c程序的执行部分是由语句组成的。程序的功能也是由执行语句来实现的&#xff0c;c语句分为6类 1表达式语句 表达式语句由表达式加上分号“&#xff1b;”组成 一般形式&#xff1a;表达式&#xff1b; 2函数调用语句 由函数名&#xff0c;实际参数加上分号“&#xff1b;”…...

【QT】QString类型中,Empty和NULL有什么区别在qt里,对比C#

在 Qt 中&#xff0c;QString 类型的字符串使用 isEmpty() 方法来检查字符串是否为空&#xff0c;而不是使用 null。这与 C# 中的 string.IsNullOrEmpty 方法略有不同。 QString::isEmpty()&#xff1a; 用于检查字符串是否为空。一个 QString 对象可能是空字符串&#xff0c;即…...

破壳而出:运维工程师在新科技热潮下的崛起与转型

运维工程师的出路到底在哪里&#xff1f; 在这个飞速发展的数字世界里&#xff0c;运维工程师无疑是IT界冲在最前线的勇士。他们曾是服务器的守护者&#xff0c;他们曾是故障的消灭者&#xff0c;他们曾是性能的推手。然而&#xff0c;随着科技的发展和市场需求的变化&#xf…...

静态网页设计——贵州美食(HTML+CSS+JavaScript)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1vC4y1K7de/?vd_source5f425e0074a7f92921f53ab87712357b 使用技术&#xff1a;HTMLCSSJS&#xff08;…...

imgaug库指南(六):从入门到精通的【图像增强】之旅

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…...

stable diffusion 人物高级提示词(五)场景、特效、拍摄手法、风格

一、场景 场景Promptindoor室内outdoor室外cityscape城市景色countryside乡村beach海滩forest森林mountain山脉snowfield雪原skyscraper摩天大楼ancient monument古代遗迹cathedral大教堂library图书馆museum博物馆office building办公大楼restaurant餐厅street market街头市场…...

企业oa网站建设方案/百度账户登录

历史感&#xff0c;不太容易解释&#xff0c;这个概念属于个人&#xff0c;我的理解是&#xff0c;历史感和故事感是对立的&#xff0c;历史感是一条线&#xff0c;而故事感是一堆点。历史感&#xff0c;是一种个人感觉&#xff0c;你能瞬间感受到两个在时间上彼此有一定距离的…...

室内设计学校哪家好/优化绿松石什么意思

secure_link 模块 下载服务器上有众多的软件资源, 可是很多来源不是本站&#xff0c;是迅雷、 flashget, 源源不断的带宽,防盗链绝对是当务之急. 使用来源判断根本不靠谱&#xff0c;只能防止一些小白站点的盗链&#xff0c;迅雷之类的下载工具完全无效&#xff0c;如果你是ngi…...

怎样做网站卖网站/百度一下你知道

2020年11月20日&#xff0c;虽然时间上已过去三周&#xff0c;但单片机的课程环环相扣、有条不紊的进行了下来。初二(1)班全体同学开始了电子通信控制第五课。书接上回&#xff0c;同学们用自己手中的单片机创造了一段段的或优美或奇异的音乐&#xff0c;这次同学们将学习串口通…...

手机自建房设计软件app/seo工作内容

做了那么多年的marketing&#xff0c;一直以来都处于学习的状态&#xff0c;这么多年的吸收&#xff0c;也许应该开始学着对外做一些表达了。今天想说的是&#xff0c;如何做一次完整的营销策划。对于很多市场人来说&#xff0c;在实际工作中从事的更多是营销活动中的某些环节。…...

青岛网站平台开发/广告网络推广

点击上方“Github爱好者社区”&#xff0c;选择星标回复“资料”&#xff0c;获取小编整理的一份资料大家好&#xff0c;我是GG哥。今天推荐的这个项目是「list-of-wechat-mini-program-list」&#xff0c;开源微信小程序列表的列表、有赚钱能力的小程序开源代码。这个项目分为…...

网站上的站点地图链接是这么做的/百度推广没有一点效果

转载于https://www.cnblogs.com/isyolo/p/13561399.html notepad搜索结果窗口不见了&#xff0c;怎么找回&#xff1f; 不小心拖拽notepad的find result搜索结果窗口想把它固定在页面最底部&#xff0c;结果给拖没了。 解决办法&#xff1a; 1.打开文件,随便搜索一个内容,按F7…...