当前位置: 首页 > 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的组件来执行对应操作。由于逻辑电路的多样性,就把这些解码电路包装成一个整体。
在这里插入图片描述

相关文章:

中央处理器CPU

中央处理器CPU cpu的组成(从功能方面来看)cpu的执行过程★.取指令阶段★.解码阶段★.执行阶段 重点: 1.cpu的组成 2.cpu怎么执行程序(命令) cpu的组成(从功能方面来看) 寄存器:用来临…...

用Python实现AI人脸识别

实现AI人脸识别通常涉及到使用深度学习库,如TensorFlow或PyTorch,配合预训练的人脸识别模型。以下是一个使用Python和TensorFlow框架中的tensorflow_hub模块来加载和使用一个预训练的人脸识别模型的简单示例。 步骤 1: 安装必要的库 首先,你…...

MSPM0G3507_2024电赛自动行驶小车(H题)_问题与感悟

这次电赛题目选的简单了,还规定不能使用到摄像头,这让我之前学习的Opencv 4与树莓派无用武之地了,但我当时对于三子棋题目饶有兴趣,但架不住队友想稳奖,只能选择这个H题了...... 之后我还想抽空将这个E题三子棋题目做…...

C语言:指针(2)

一.数组名 在了解数组名前我们先看一段代码 int arr[10] {1,2,3,4,5,6,7,8,9,10}; int *p &arr[0]; 根据我们上一篇学习的知识&#xff0c;我们知道&arr[0]是数组第一个元素的地址&#xff0c;这时我们再看另一段代码的运行结果。 #include <stdio.h> int ma…...

数组——二维数组

数组(中) 二维数组 定义 二维数组本质上是一个行列式的组合&#xff0c;也就是说二维数组是有行和列两部分构成。二维数组数据是通过行列进行解读。 二维数组可被视为一个特殊的一维数组&#xff0c;相当于二维数组又是一个一维数组&#xff0c;只不过它的元素是一维数组。 …...

深入 Vue 组件与状态管理的教程

目录 深入 Vue 组件与状态管理的教程第一部分&#xff1a;深入组件1. 理解插槽&#xff08;Slots&#xff09;的使用1.1 基础插槽示例1.2 具名插槽1.3 作用域插槽 第二部分&#xff1a;Vue Router1. 学习 Vue Router 的基本配置1.1 基本路由配置1.2 嵌套路由1.3 路由参数 2. 导…...

Spring Boot 实现异步处理多个并行任务

在现代Web应用开发中&#xff0c;异步处理和多任务并行处理对于提高系统的响应性和吞吐量至关重要。Spring Boot 提供了多种机制来实现异步任务处理&#xff0c;本文将介绍如何利用这些机制来优化您的应用程序性能。 1. 引言 在高负载情况下&#xff0c;如果所有的请求都采用…...

TiDB系列之:使用Flink TiDB CDC Connector采集数据

TiDB系列之&#xff1a;使用Flink TiDB CDC Connector采集数据 一、依赖项二、Maven依赖三、SQL Client JAR四、如何创建 TiDB CDC 表五、连接器选项六、可用元数据七、特征一次性处理启动阅读位置多线程读取DataStream Source 八、数据类型映射 TiDB CDC 连接器允许从 TiDB 数…...

每日一道算法题 最接近的三数之和

题目 16. 最接近的三数之和 - 力扣&#xff08;LeetCode&#xff09; Python class Solution:def threeSumClosest(self, nums: List[int], target: int) -> int:nums.sort()nlen(nums)ans0min_diffinf # infinite 无穷for i in range(n-2):tmpnums[i]li1rn-1while l<…...

搭建自己的金融数据源和量化分析平台(六):下载并存储沪深两市上市公司财报

基于不依赖wind、某花顺等第三方平台数据的考虑&#xff0c;尝试直接从财报中解析三大报表进而计算ROE等财务指标&#xff0c;因此需要下载沪深两市的上市公司财报数据&#xff0c;便于后续从pdf中解析三大报表。 深市爬虫好做&#xff0c;先放深市爬虫&#xff1a; 根据时间段…...

C语言-常见关键字详解

一、const 关键字const用于声明常量&#xff0c;赋值后&#xff0c;其值不能再被修改。 示例&#xff1a; const int MAX_COUNT 100; 二、static static关键字在不同情境下有不同作用&#xff1a; 1.函数中的静态变量&#xff1a;保留变量状态&#xff0c;仅初始化一次&a…...

异步编程之std::future(一): 使用

目录 1.概述 2.std::future的基本用法 3.使用 std::shared_future 4.std::future的使用场景 5.总结 1.概述 在编程实践中&#xff0c;我们常常需要使用异步调用。通过异步调用&#xff0c;我们可以将一些耗时、阻塞的任务交给其他线程来执行&#xff0c;从而保证当前线程的…...

Vue3 + JS项目配置ESLint Pretter

前言 如果在开发大型项目 同时为多人协作开发 那么 ESLint 在项目中极为重要 在使用 ESLint 的同时 也需要使用 Pretter插件 统一对代码进行格式化 二者相辅相成 缺一不可 1. 安装 VsCode 插件 在 VsCode 插件市场搜索安装 ESLint 和 Pretter 2. 安装依赖 这里直接在 pac…...

JavaScript (十四)——JavaScript typeof和类型转换

目录 JavaScript typeof, null, 和 undefined typeof 操作符 null undefined undefined 和 null 的区别 JavaScript 类型转换 JavaScript 数据类型 JavaScript 类型转换 将数字转换为字符串 将布尔值转换为字符串 将日期转换为字符串 将字符串转换为数字 一元运算符…...

CTF-web 基础

网络协议 OSI七层参考模型&#xff1a;一个标准的参考模型 物理层 网线&#xff0c;网线接口等。 数据链路层 可以处理物理层传入的信息。 网络层 比如IP地址 传输层 控制传输的内容的传输&#xff0c;在传输的过程中将要传输的信息分块传输完成之后再进行合并。 应用…...

CP AUTOSAR标准之ChineseV2XNetwork(AUTOSAR_SWS_ChineseV2XNetwork)(更新中……)

1 简介和功能概述 本文档指定了AUTOSAR基础软件模块中国车辆对接网络(CnV2xNet)的功能、API和配置。   中国车联网网络(CnV2xNet)与中国车联网消息(CnV2xMsg)、中国车联网管理(CnV2xMgt)、中国车联网安全(CnV2xSec)以及AUTOSAR BSW模块以太网接口(EthIf)共同构成了AUTOSAR架构…...

【hloc】 项目流程

hloc 项目流程 1. 数据集准备2. 特征提取3. 匹配特征4. 三维重建5. 定位6. 结果评估7. 示例脚本 这个项目涉及到了视觉定位和三维重建的一系列步骤&#xff0c;从特征提取、匹配、三维重建到定位和结果评估。通过提供的脚本文件&#xff0c;用户可以方便地运行整个流程。 1. 数…...

鸿蒙系统开发【应用接续】基本功能

应用接续 介绍 基于ArkTS扩展的声明式开发范式编程语言编写的一个分布式视频播放器&#xff0c;主要包括一个直播视频播放界面&#xff0c;实现视频播放时可以从一台设备迁移到另一台设备继续运行&#xff0c;来选择更合适的设备继续执行播放功能以及PAD视频播放时协同调用手…...

nextTick方法的作用是什么?什么时候会用到

nextTick 方法在 Vue.js 中扮演着重要的角色&#xff0c;它用于在下次 DOM 更新循环结束之后执行延迟回调。这主要用于确保在 Vue 完成 DOM 更新后执行依赖于 DOM 的操作。 作用 确保 DOM 更新完成&#xff1a;Vue 的 DOM 更新是异步的&#xff0c;当你修改了数据后&#xff0…...

多 NodeJS 环境管理

前言 对于某个项目依赖特定版本的 NodeJS&#xff0c;或几个项目的 NodeJS 版本冲突时&#xff0c;需要在系统中安装多个版本的 NodeJS&#xff0c;这时可以使用一些工具来进行多个 NodeJS 的管理。 有很多类似的 NodeJS 管理工具&#xff0c;如 nvm, nvs, n 等&#xff0c;接…...

黑苹果配置终极简化:OpCore Simplify三步搞定OpenCore EFI

黑苹果配置终极简化&#xff1a;OpCore Simplify三步搞定OpenCore EFI 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而烦恼吗…...

洛雪音乐音源配置完全指南:免费搭建个人音乐库的终极方案

洛雪音乐音源配置完全指南&#xff1a;免费搭建个人音乐库的终极方案 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 洛雪音乐作为一款强大的音乐播放工具&#xff0c;提供了全网最新最全的音源资…...

区块链与计算机视觉融合:构建可信机器感知系统的架构与实践

1. 项目概述&#xff1a;当计算机视觉遇见区块链在人工智能的浪潮中&#xff0c;计算机视觉&#xff08;CV&#xff09;无疑是那颗最耀眼的明星之一。它让机器拥有了“看”和理解世界的能力&#xff0c;从医疗影像中精准定位病灶&#xff0c;到自动驾驶汽车识别路况&#xff0c…...

大学生HTML期末大作业——HTML+CSS+JavaScript公司网站(自行车)

HTMLCSSJS【公司网站】网页设计期末课程大作业 web前端开发技术 web课程设计 网页规划与设计&#x1f4a5; 文章目录一、&#x1f3c1; 网站题目二、&#x1f6a9; 网站描述三、&#x1f38c; 网站介绍四、&#x1f3f4; 网站效果五、&#x1f3f3;️ 网站代码六、&#x1f3f3…...

跨平台串口调试终极指南:SSCom让硬件开发更简单

跨平台串口调试终极指南&#xff1a;SSCom让硬件开发更简单 【免费下载链接】sscom Linux/Mac版本 串口调试助手 项目地址: https://gitcode.com/gh_mirrors/ss/sscom 作为硬件开发的必备工具&#xff0c;串口调试工具SSCom凭借其跨平台特性和高效性能&#xff0c;为Lin…...

你的脑洞,值得被“电”亮!TimechoAI 有奖反馈征集令!

五月初&#xff0c;我们“官宣”了将时序大模型“上云”的智能服务平台&#xff1a;TimechoAI&#xff0c;无门槛体验&#xff0c;注册即能试用全部功能&#xff01;体验过 TimechoAI 的你&#xff0c;心里一定有点想法吧&#xff1f;是惊喜&#xff1f;是建议&#xff1f;还是…...

DALL·E Mini技术解析:轻量文本生成图像模型的开源实践

1. 项目概述&#xff1a;这不是魔法&#xff0c;是开源图像生成的平民化拐点“Dalle Mini Is Amazing — And You Can Use It!” 这句话在2022年夏天刷爆技术社区和创意论坛时&#xff0c;我正蹲在一台老旧的MacBook Air上&#xff0c;用它生成第一张“一只穿着西装的柴犬站在火…...

Unity碰撞器性能优化:Collider类型选择与物理系统调优

1. 为什么一个“看不见”的组件&#xff0c;能让帧率从60掉到20&#xff1f;在Unity项目上线前的性能压测阶段&#xff0c;我遇到过最让人头皮发麻的场景不是Shader报错&#xff0c;也不是内存泄漏&#xff0c;而是——主角刚跑进森林&#xff0c;帧率瞬间从58fps断崖式跌到18f…...

别再只用默认样式了!手把手教你定制LVGL Bar进度条的3种高级视觉效果

突破视觉边界&#xff1a;LVGL进度条高级定制技法三则 在嵌入式UI开发领域&#xff0c;LVGL以其轻量级和高度可定制性赢得了众多开发者的青睐。但当我们超越基础功能实现&#xff0c;进入视觉表现力的深水区时&#xff0c;这个开源图形库的真正魅力才开始显现。进度条作为人机交…...

内连接,左连接,右连接怎么区别开来?

区分这三种连接其实非常简单&#xff0c;核心就在于看**“谁的数据必须全部保留&#xff0c;谁的数据没有匹配就要被过滤掉”**。 为了让你彻底搞懂&#xff0c;我们可以把 user 表&#xff08;用户&#xff09;和 orders 表&#xff08;订单&#xff09;想象成两个班级&#x…...