计算机硬件cpu指令执行过程,cpu执行指令的过程详解

2023-10-31

cpu执行指令的过程详解

计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。

取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。

分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。

计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。

一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。

7944282fabed7abe2a9d9104287c14c9.png

CPU指令执行流程图

下面我们将举个实例来说明指令的执行过程:

开机时,程序计算器PC变为0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。

例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器,

0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是:

1、程序计数器的内容(这时是0000H)送到地址寄存器&#

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机硬件cpu指令执行过程,cpu执行指令的过程详解 的相关文章

  • kafka_2.12-3.1.0集群安装配置(zookeeper-3.6.3)

    文章目录 安装kafka 2 12 3 1 0 安装环境 安装步骤 1 下载安装包 2 修改配置文件 修改server properties 添加环境变量 3 启动kafka 安装kafka 2 12 3 1 0 安装环境 CentOS版本
  • 【笔记:模拟MOS集成电路】带隙基准(基本原理+电流模+电压模电路详解)

    在模拟电路中 广泛的包含电压基准和电流基准 而且电路增益 输出噪声和功耗等参数常与基准直接相关 这种基准一般是直流量 要求基准与电源 工艺参数以及温度无关 PVT 而下面要讨论的带隙基准 主要作用就是建立一个与温度无关的基准源 产生基准的目
  • rest以及restful的基本理解

    传统下的API接口 http是目前在互联网上使用最多的协议 没有之一 可是http的创始人一直都觉得 在过去10几年来 所有的人都在错误的使用Http 这句话怎么说呢 如果说你要删除一个数据 以往的做法通常是 delete id 如果你要更
  • 电脑抓屏按钮使用:

    键盘上 Print Screen Sys Rq 键的作用是屏幕抓图 用法一 按 Print Screen SysRq 一下 对当前屏幕进行抓图 就是整个显示屏的内容 用法二 先按住 Alt 键 再按 Print Screen SysRq 键
  • HBase高手之路1-Hbase简介

    文章目录 HBase高手之路1 Hbase简介 一 什么是HBase 1 HBase简介 2 HBase的发展过程 二 HBase特点 1 海量存储 2 列式存储 3 极易扩展 4 高并发 5 稀疏 6 强一致性读 写 7 自动分块 8 自
  • Web服务器的搭建

    一 Web服务器简介 Web服务器的基本功能是提供web信息浏览服务 主要涉及的协议是HTTP协议 二 Web服务器的搭建 1 安装httpd包 2 关闭防火墙 3 启动httpd服务 4 备份conf文件 5 配置浏览器网页读取的根目录
  • 微服务相关面试要点

    什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置 properties或yml文件 创建独立的spring引用程序 main方法运行 嵌入的Tomcat 无需部署war文件 简化maven
  • python读视频文件_python读取和保存视频文件

    如何用python实现视频关键帧提取并保存为图片 也许你会觉得对小编多做一点事你会觉得你很爽 可是在小编看来这是不屑的 import cv2vc cv2 VideoCapture Test avi 读入视频文件c 1if vc isOpen
  • linux安装anaconda

    linux安装anaconda 1 下载anaconda Conda 是一个强大的包管理器和环境管理器 您可以在 Windows 的 Anaconda Prompt 或 macOS 或 Linux 的终端窗口中与命令行命令一起使用 换句话说
  • Linux Socket网络编程 循环互相通信

    一 效果展示 持续互相通信 上面是服务端 下面为客户端加上ip 最后客户端输入exit退出 二 代码展示 服务端 server c include
  • Leetcode刷题:空间缩减思想

    文章目录 167 两数之和 II 输入有序数组 11 盛最多水的容器 240 搜索二维矩阵 II 11 盛最多水的容器 暴力 空间缩减 证明 二分 167 两数之和 II 输入有序数组 167 两数之和 II 输入有序数组 1 二分 cla
  • R语言在图上标出点坐标_R语言做图plot参数

    R语言做图plot参数函数名称 plot 用 途 作图 用 法 plot x y 参 数 1 符号和线条 pch 指定绘制点所使用的符号 取值范围 0 24 其中4是 差号 20是 点 cex 指定符号的大小 cex是一个数值 表示pch的
  • NVIDIA GeFprce GTX 1080 Ti NVIDIA图形驱动程序版本466.77下载和安装

    前言 在win7下 NVIDIA GeFprce GTX 1080 Ti NVIDIA图形驱动程序版本466 77下载和安装 但安装时系统报错 缺少KB4474419和KB4490628补丁 解决 NVIDIA GeFprce GTX 10
  • win10解决COM Surrogate问题

    Fix Problems with COM Surrogate on Windows 10 For various PC problems we recommend to use this tool This tool will repai
  • NPN和PNP 的电流方向 、大小关系 、电压偏置

    电流流向 NPN三极管 电流方向为基极流向发射极 驱动电流从基极流入 集电极流向发射极 PNP三极管 电流方向为发射极流向基极 驱动电流从基极流出 发射极流向集电极 PNP的电流方向是从下往上流的 但是在实际电路图中 大多还是发射极连接高电
  • 【LVGL事件(Events)】事件在不同组件上的应用(一)

    点击 滑动 输入 数字改变等等都可触发事件 事件就是针对不同的操作做出相对应的反应 最近看到组态屏 这玩意开发起来好像挺简单的 哈哈哈 研究完LVGL的事件就看看这个 LVGL事件 Events 事件代码 喜暖知寒的博客 CSDN博客LVG
  • 如何监听edittext输入完成

    转载于 http blog csdn net harryweasley article details 50395209 假如你要做这样的一个功能 通过在编辑框输入一些字符进行搜索 输入完成后 再显示搜索结果 在输入的过程中 并不想一直通知
  • ffmpeg命令行太多了_如何使用FFmpeg从视频中删除多个片段?

    我编写了一个脚本来加快编辑录制的电视的速度 该脚本会询问您要保留的段的开始和结束时间 并将其拆分为文件 它为您提供了选择 您可以 采取一个或多个细分 您可以将这些段合并为一个结果文件 加入后 您可以保留或删除零件文件 您可以保留原始文件或将
  • python爬虫-单线程爬取图片

    今天我们准备使用爬虫来爬取一些图片首先我们找到其url页面 https pvp qq com web201605 wallpaper shtml 进入之后当我们点击跳转页面的时候 发现其上方的网址没有发生变化 如果不发生变化的话就不可以进行

随机推荐

  • 【TensorFlow】tf.nn、tf.layers和tf.contrib模块

    转自 https blog csdn net u014365862 article details 77833481 我们在使用tensorflow时 会发现tf nn tf layers tf contrib模块有很多功能是重复的 尤其是
  • Aware&原理---Spring源码从入门到精通(十四)

    上篇文章主要介绍 Autowired自动装配 1 Bean注解 传参在方法上 自动装配 参数会从ioc容器从获取 2 有参构造器如果只有一个的情况下 也可以省略 Autowired不写 自动装配 感兴趣的同学可以点进去看看 自动装配构造器
  • php 代码需要重写注释_不要注释错误的代码-重写它

    php 代码需要重写注释 在这篇文章中 我将分享我通过阅读代码 编写代码和阅读书本获得的 代码注释 的经验 让我们从著名的报价开始 Don t comment bad code rewrite it Brian W Kernighan an
  • 第一章 安装OpenResty(Nginx+Lua)开发环境

    首先我们选择使用OpenResty 其是由Nginx核心加很多第三方模块组成 其最大的亮点是默认集成了Lua开发环境 使得Nginx可以作为一个Web Server使用 借助于Nginx的事件驱动模型和非阻塞IO 可以实现高性能的Web应用
  • 华为OD机试 - 运维日志排序(Java)

    题目描述 运维工程师采集到某产品线网运行一天产生的日志n条 现需根据日志时间先后顺序对日志进行排序 日志时间格式为H M S N H表示小时 0 23 M表示分钟 0 59 S表示秒 0 59 N表示毫秒 0 999 时间可能并没有补全 也
  • 软件测试面试题及答案

    软件测试面试题及答案 以下是软件测试相关的面试题及答案 欢迎大家参考 1 你的测试职业发展是什么 测试经验越多 测试能力越高 所以我的职业发展是需要时间积累的 一步步向着高级测试工程师奔去 而且我也有初步的职业规划 前3年积累测试经验 按如
  • nvm、node、npm、node-sass版本相关问题

    node js的运行环境 npm 管理js的第三方插件 node modules nvm 管理node的版本 不同的项目可能使用的node的版本不同 使用nvm可以快速下载不同版本的node 和切换不同版本的node 1 下载nvm 下载地
  • 首富王健林:万达管理员工的20条天规!

    为现今亚洲首富的王健林 在公司员工管理方面必有他的过人之处 今天 我们带您看看他对员工从团队利益到个人价值 以及做人准则方面的要求 深刻体现出一个优秀企业的管理根基 值得大家一看 第1条天规 公司利益高于一切 公司是全体员工的生存平台 个人
  • nginx绑定多个端口

    有两种方法 一 在server段写上2个Listen就可以了 listen 192 168 0 15 808 listen 192 168 0 15 8098 如上 就可以同时监听2个端口了 二 在 nginx conf 中配置多个个ser
  • js实现调用摄像头拍照功能

    js实现调用摄像头拍照功能
  • Vim使用转义字符来实现特殊字符的替换

    Vim中字符替换 举个例子 以全局替换为例 s old new g 可以实现整篇文档的字符old替换成字符new 但是如果存在特殊字符的替换 s new g 即要实现字符 和字符new 的替换 由于存在特殊字符 以上写法肯定是替换不成功的
  • FastJson 处理泛型

    阿里的 FastJson 一直都很好用 在进行对象转换映射上处理起来非常简单 但今天我才发现我一直都是在瞎用 之前解析Map的方式是这样的 Map map JSON parseObject name zhangsan address han
  • OpenGL学习随笔(五)——2022.2.7

    通过前面的学习 已经了解了OpenGL渲染的主要流程和基础的数学知识 接下来继续学习如何管理3D图形数据 在本回中将会绘制一个立方体 一 缓冲区和顶点属性 要想绘制一个对象 它的顶点数据需要被发送给顶点着色器 在C OpenGl程序中 通常
  • JavaBean学习笔记

    一 JavaBean的概述 JavaBean 是一种Java语言写成的可重用组件 JavaBean 是指符合如下标准的Java类 类是公共的 有一个无参的公共的构造器 有属性 且有对应的get set方法 二 JavaBean的作用 用户可
  • opencv打不开usb摄像头 V4L: can't open camera by index 0

    使用opencv中的videocapture读取usb摄像头 打开失败 提示索引号不对 在网上找到了解决方案 v4l2 ctl list devices 即可获得摄像头的index 我的如下 H264 USB Camera usb fe38
  • 旅行售货员问题及其近似算法(NPC问题)

    旅行售货员问题 一 基本介绍 二 问题解法 2 1 枚举法 穷举法 2 2 回溯法 2 3 分支限界法 2 4 旅行售货员问题近似算法 三 总结 一 基本介绍 设有n个城镇 已知每两个城镇之间的距离 一个售货员从某一城镇出发巡回售货 问这个
  • STM32 定时器详解

    STM32 定时器详解 吃了一个猛亏 自己理解花了大半天时间 结果一看代码发现巨简单 算了 把自己理解的放上来吧 目录 STM32 定时器详解 前言 一 定时器种类和区分 二 时钟源 三 计数过程 3 1 计数器时钟CK CNT 3 2 计
  • 鸟哥的私房菜 笔记备份

    鸟哥的linux私房菜 http linux vbird org linux basic centos5 php 第1章 linux是什么 硬件 gt 内核 gt 系统调用 gt 应用程序 内核和系统调用两者组成操作系统 linux dis
  • c++中vector find使用

    c 中vector find使用 不同于map map有find方法 vector本身是没有find这一方法 其find是依靠algorithm来实现的 话不多说 上代码 include
  • 计算机硬件cpu指令执行过程,cpu执行指令的过程详解

    cpu执行指令的过程详解 计算机每执行一条指令都可分为三个阶段进行 即取指令 分析指令 执行指令 取指令的任务是 根据程序计数器PC中的值从程序存储器读出现行指令 送到指令寄存器 分析指令阶段的任务是 将指令寄存器中的指令操作码取出后进行译