计算机组成原理 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
在这里插入图片描述

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

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

相关文章

微服务治理:微服务断路器(微服务故障隔离模式)详解

微服务断路器是一种设计模式,可以保护系统免于级联故障,通过限制对故障服务的调用来实现。它的工作原理类似于电气断路器:当服务遇到问题时,它会切断请求流,使其有机会恢复,并防止其他服务被压垮。 工作原…

透过历史的琉璃之窗:古代玻璃制品成分解析--2022年国赛C题获奖论文思考

问题一:数据预处理------>剔除处理无效数据 转化完美成分数据----定和为1 中心化对数比变换------消除定和限制对后续分析的影响 类别量化分析相关性 第1小问------对超过20%的比例期望计数小于5的组别---------Pearson卡方检验法 对不满足卡方前提的组别----…

使用numpy处理图片——分离通道

大纲 读入图片分离通道堆叠法复制修改法 生成图片 在《使用numpy处理图片——滤镜》中,我们剥离了RGB中的一个颜色,达到一种滤镜的效果。 如果我们只保留一种元素,就可以做到PS中分离通道的效果。 读入图片 import numpy as np import PIL.…

51-10 多模态论文串讲—ALBEF 论文精读

今天我们就来过一下多模态的串讲,其实之前,我们也讲了很多工作了,比如说CLIP,还有ViLT,以及CLIP的那么多后续工作。多模态学习在最近几年真的是异常的火爆,那除了普通的这种多模态学习,比如说视…

自动化神器 Playwright 的 Web 自动化测试解决方案

1. 主流框架的认识 总结: 由于Selenium在3.x和4.x两个版本的迭代中并没有发生多大的变化,因此Selenium一统天下的地位可能因新框架的出现而变得不那么稳固。后续的Cypress、TestCafe、Puppeteer被誉为后Selenium时代Web UI自动化的三驾马车。但是由于这三…

逼格满满,推荐一个高效测试用例工具:XMind2TestCase !

一、背景 软件测试的核心是什么?毫无疑问是测试分析和测试用例设计,也是日常测试投入最多时间的工作内容之一。 然而,传统的测试用例设计过程有很多痛点: 1、使用Excel表格进行测试用例设计,虽然成本低,但…

NeRF算法模型简析:从理论到实践的轻度解析以及如何编辑和微调

nerf模型可编辑的? NeRF模型的可编辑性(editability)指的是能够修改预训练的NeRF模型以改变其生成的场景或对象的某些特征,而不是从头开始重新训练模型。这种编辑可以是改变颜色、形状、纹理或者添加、移除和修改场景中的对象。 在…

java应用CPU过高查找原因

用top查到占用cpu最高的进程pid 根据进程ID找到占用CPU高的线程 ps -mp 60355 -o THREAD,tid | sort -r 用 printf "%x \n" 将tid换为十六进制:xid printf "%x \n" 6036 根据16进制格式的线程ID查找线程堆栈信息 jstack 60355 |grep ebcb -A…

【linux驱动开发】在linux内核中注册一个杂项设备与字符设备以及内核传参的详细教程

文章目录 注册杂项设备驱动模块传参注册字符设备 开发环境: windows ubuntu18.04 迅为rk3568开发板 注册杂项设备 相较于字符设备,杂项设备有以下两个优点: 节省主设备号:杂项设备的主设备号固定为 10,在系统中注册多个 misc 设备驱动时&…

【分布式技术】监控平台zabbix自定义模板、设置邮件报警、导入模板

目录 案例:监控当前登录人数,超过3人触发报警发送邮件 第一步:自定义模板 1、明确想要获取监控数据的命令和脚本 ​编辑 2、在被监控主机上,修改zabbix agent2的配置文件或者在zabbix agent2的配置文件目录中添加以.conf结尾…

三棋先手必胜证明

目录 创作原因 游戏规则 初始状态图 证明过程 先手必胜的证明 失败的博弈树(三个多小时的成果) 创作原因 这个棋不是网上流行的成三棋,我也不知道这个棋叫什么。由于这个棋是(横竖斜)连成三个就获胜,…

GBASE南大通用数据库如何检索单行

SELECT 语句返回的行集是它的活动集。单个 SELECT 语句返回单个行。您可使用嵌入式 SELECT 语句来从数据库将单个行检索到主变量内。然而,当 SELECT 语句返回多行数 据时,程序必须使用游标来一次检索一行。在 检索多行 中讨论“多行”选择操作。 要检索单…

虹软人脸识别白屏

1.修改jdk为1.8 2.编译版本ndk修改 ndk {abiFilters armeabi-v7a, arm64-v8a} 3.local.properties增加ndk路径 ndk.dirH\:\\Android\\SDK\\ndk\\21.1.6352462 4.最重要的一步:检查依赖库是否存在前一定要先检查有么有读取本地文件权限,下面的代码即使是放到点击事件的回调…

[AutoSar]BSW_OS 01 Autosar OS入门(一)

目录 关键词平台说明一、Autosar OS 的位置二、Autosar OS 与OSEK三、TASK 关键词 嵌入式、C语言、autosar、OS、BSW 平台说明 项目ValueOSautosar OSautosar厂商vector芯片厂商TI编程语言C,C编译器HighTec (GCC) 一、Autosar OS 的位置 如在[AutoSar]基础部分 a…

RuoYi-Vue-Plus 5.X登录前流程及解密

一:问题 1. 前端传给后端的是一个加密字符串,后端controller层login接口怎么就直接解密了呢? 2. 中间经过什么步骤到达的登录接口呢? 二:个人分析 首先考虑的是拦截器、过滤器、切面AOP; 1. 使用全文搜…

面向对象的三大特性

个人主页:告别,今天 个人专栏:java趣味之旅 ​​​​​​​本专栏旨在分享学习网络编程的学习心得和复习总结,欢迎大家在评论区交流讨论 1. 封装 1.1 封装的概念 面向对象程序三大特性:封装、继承、多态。而类和对象…

计算机msvcp140.dll丢失如何解决,分享3个简单有效的方法

在计算机系统运行过程中,用户有时会遇到一个常见的错误提示——msvcp140.dll文件缺失,这一问题的发生往往会导致部分软件无法正常启动或运行。“针对计算机系统中出现的msvcp140.dll缺失问题,小编将详尽阐述并探讨5种有效的解决策略。每一种方…

基于springboot+html的汽车销售管理系统设计与实现

基于springboothtml的汽车销售管理系统 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 前言 随着汽车市场的快速发展,汽车销售企业面临着越来越大的管理…

【电路电子学】7天速通攻略+笔记

7天是 看视频记笔记刷题的总时长,时间紧迫的同学可以看情况进行缩减。个人认为做题,尤其是解析齐全的题最重要! 我校所用教材 《电路与电子学基础》唐胜安 复习总流程 所用材料(都可自行找到免费资源) 视频知识点讲…

R2机器人加载棋盘与棋子模型,对urdf、sdf的解释(区分srdf)

1、概述 urdf、sdf、srdf文件都属于xml的规范格式,解释分别如下:urdf(unified robot description format)叫做"统一机器人描述格式",主要目的就是提供一种尽可能通用的机器人描述规范,这样对于机器人的描述就可以互相移…