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

中央处理器CPU

中央处理器CPU

  • cpu的组成(从功能方面来看)
  • cpu的执行过程
    • ★.取指令阶段
    • ★.解码阶段
    • ★.执行阶段

重点
1.cpu的组成
2.cpu怎么执行程序(命令)

cpu的组成(从功能方面来看)

  • 寄存器:用来临时存储数据和操作数据

  • 控制单元:由逻辑门组成,识别内存上的指令并生成一系列的控制信号来指挥其它部件。
    主要职责
    指令解码:对内存中读取的内容进行解码,确定操作类型,不同的指令由不同的逻辑电路解码。
    操作控制:根据译码的结果,产生相应的控制信号,控制数据的流动和处理。
    时序控制: “时钟”以精确的间隔产生电信号,控制单元用这电信号来促进cpu的内部操作。

  • 运算器(ALU):主要执行算术运算和逻辑运算,它接受来自控制单元的指令和操作操作数后对这些数据进行运算处理,并将结果暂时存入控制单元的寄存器中,关闭ALU后将值写入相应的寄存器中。

  • 时钟:以精确的时间间隔发出电信号(也是时钟信号),控制单元接受这电信号后有节奏的控制cpu的内部操作。cpu执行程序的速度就是时钟速度,单位是赫兹。1HZ就是表示1秒一个周期。

cpu的执行过程

计算机启动时所有寄存器从0开始
接下来举一个cpu执行第一条命令的例子(寄存器的值全是0)

★.取指令阶段

  1. 首先将“指令地址寄存器”连接到RAM。
  2. 根据寄存器的值为0,返回RAM地址为0的数据到“指令寄存器”里。

指令地址寄存器:追踪程序运行到哪里了,存当前指令的内存地址。
指令寄存器:存当前指令。

在这里插入图片描述

★.解码阶段

1.前四位是操作码0010表示把地址14的数据写入寄存器A
2 “ 检查是否LOAD_A指令的电路”对这些指令进行解码操作
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

★.执行阶段

  1. “ 检查是否LOAD_A指令的电路 ” 打开RAM的“允许读取线”,把地址14传过去。
  2. RAM拿到值0000 0011后把值传到寄存器A中
  3. 用 “ 检查是否LOAD_A指令的电路”来启动寄存器A的 “ 启动寄存器A的“允许写入线”。
    在这里插入图片描述
    最后 “检查是否LOAD_A指令的电路 ” 中的值+1。就结束了。

不同的指令由不同的逻辑电路解码,这些逻辑电路会配置cpu的组件来执行对应操作。由于逻辑电路的多样性,就把这些解码电路包装成一个整体。
在这里插入图片描述

http://www.lryc.cn/news/413218.html

相关文章:

  • 用Python实现AI人脸识别
  • MSPM0G3507_2024电赛自动行驶小车(H题)_问题与感悟
  • C语言:指针(2)
  • 数组——二维数组
  • 深入 Vue 组件与状态管理的教程
  • Spring Boot 实现异步处理多个并行任务
  • TiDB系列之:使用Flink TiDB CDC Connector采集数据
  • 每日一道算法题 最接近的三数之和
  • 搭建自己的金融数据源和量化分析平台(六):下载并存储沪深两市上市公司财报
  • C语言-常见关键字详解
  • 异步编程之std::future(一): 使用
  • Vue3 + JS项目配置ESLint Pretter
  • JavaScript (十四)——JavaScript typeof和类型转换
  • CTF-web 基础
  • CP AUTOSAR标准之ChineseV2XNetwork(AUTOSAR_SWS_ChineseV2XNetwork)(更新中……)
  • 【hloc】 项目流程
  • 鸿蒙系统开发【应用接续】基本功能
  • nextTick方法的作用是什么?什么时候会用到
  • 多 NodeJS 环境管理
  • 解决网站被植入跳转木马病毒
  • Node.js(6)——npm软件包管理
  • 区块链核心概念与技术架构简介
  • ≌图概念凸显包含射线V的直线W是比V长的线
  • 子路由的配置方法?
  • 【大模型从入门到精通2】openAI api的入门介绍2
  • 【前端编程小白】的HTML从零入门到实战
  • easyexcel读文件入批量入es
  • JS+H5打字练习器
  • windows系统关闭开机自检硬盘
  • 【多线程开发 5】实践使用Lock和Condition