计组:各硬件工作原理

news2024/11/16 7:49:28

目录

​编辑程序指令执行流程

程序执行指令前

执行各指令的顺序

程序(每一条)指令执行具体步骤

以第一步为例:

取指令(#1~#4)

初:(PC)=0,指向第一条指令的存储地址

#1:(PC)→MAR,导致(MAR)=0

#3:M(MAR)→MDR,导致(MDR)=0000010000000101

#4:(MDR)→IR,导致(IR)=000001 0000000101

分析指令(#5)

#5:OP(IR)→CU,指令的操作码送到CU,CU分析后得知,这是“取数”指令

执行取数指令(#6~#9)

#6:Ad(IR)→MAR,指令的地址码送到MAR,导致(MAR)=5

#8:M(MAR)→MDR,导致(MDR)=0000000000000010=2

#9:(MDR)→ACC



程序指令执行流程


程序执行指令前

首先,最开始(程序还没有执行,我们什么都还没有做)的时候:

指令和变量数据都存放在存储器当中


执行各指令的顺序

然后,根据(按照):

各个程序指令:在主存地址当中【从小到大的】存储的顺序

逐个向下地:遍历、执行各个指令


程序(每一条)指令执行具体步骤

程序执行一条指令总的来说分为三大部分:

  1. 取指令(#1~#4)
  2. 分析指令(#5)
  3. 执行取数指令(#6~#9)

下面我们来开始逐个进行讲解:


以第一步为例:

首先(第一轮、第一步操作),程序执行(主存地址为0的)第一条指令:


取指令(#1~#4)


初:(PC)=0,指向第一条指令的存储地址

(CPU当中暂时存储地址的)PC指向我们操作的指令地址

这里,我们执行的就是:主存地址为0的这一(第一)条指令

另外,括号表示: 

传输/传递/赋值寄存器里面的内容


#1:(PC)→MAR,导致(MAR)=0

通过地址总线,把

(CPU当中暂时存储地址的)PC中存储的

“指令的地址”信息

传输到

主存储器的地址存储器MAR中

即:

控制器向存储器表明:

我接下来要访问的是0号地址所对应的数据

并且(另外)与此同时:

控制器通过控制总线告诉存储器:本次进行的是读取操作


#3:M(MAR)→MDR,导致(MDR)=0000010000000101

(主存储器的地址存储器MAR指向(寄存)的地址)

所指向的(存储单元里面的)存储数据(信息)

传输到MDR

M(memory):记录的值


#4:(MDR)→IR,导致(IR)=000001 0000000101

通过数据总线,把数据信息传输到CPU当中的IR


分析指令(#5)

#5:OP(IR)→CU,指令的操作码送到CU,CU分析后得知,这是“取数”指令

执行取数指令(#6~#9)

#6:Ad(IR)→MAR,指令的地址码送到MAR,导致(MAR)=5
#8:M(MAR)→MDR,导致(MDR)=0000000000000010=2
#9:(MDR)→ACC

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

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

相关文章

计算机组成原理学习笔记(学习中)

计算机系统概论 1.1计算机基本组成 冯诺依曼计算机特点: 计算机由五大部件组成:控制器,运算器,存储器,输入设备,输出设备 指令和数据以同等地位存于存储器,可按地址寻访 指令和数据用二进制…

一文读懂CAN总线及通信协议

CAN总线的汽车 CAN概念 CAN是控制器域网 (Controller Area Network, CAN) 的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898),是ISO国际标准化的串行通信协议。是国际上应…

Anchor-free应用一览:目标检测、实例分割、多目标跟踪

作者|杨阳知乎 来源|https://zhuanlan.zhihu.com/p/163266388 本文整理了与Anchor free相关的一些工作。一方面是分享近期在目标检测领域中一些工作,另一方面,和大家一起梳理一下非常火热的网络模型CenterNet、FCOS,当…

Linux网络-数据链路层,MAC帧解析

目录 数据链路层VS网络层 以太网概念 以太网的帧格式(报文格式)(也可以称之为MAC帧) MAC地址的概念 MAC帧格式 局域网通信原理 MTU MTU说明 MTU对IP协议的影响 MTU对UDP协议的影响 MTU对TCP协议的影响 数据链路层VS网…

【Linux】应用层协议:HTTP和HTTPS

每个人都可以很喜欢每个人,但喜欢治不了病,喜欢买不了东西,喜欢不能当饭吃,喜欢很廉价… 文章目录 一、HTTP协议1.URL1.1 URL的组成1.2 urlencode && urldecode 2.HTTP协议格式2.1 http请求和响应的格式2.2 通过代码来进行…

[Eigen中文文档] 求解稀疏线性系统

文档总目录 本文目录 稀疏求解器列表内置直接求解器内置迭代求解器外部求解器的包装器 稀疏求解器概念计算步骤基准测试例程 英文原文(Solving Sparse Linear Systems) 在Eigen中,有多种方法可用于求解稀疏系数矩阵的线性系统。由于此类矩阵的特殊表示&#xff0c…

零基础速成simulink代码生成——结合CANOE的DBC文件CAN报文代码生成 移植到硬件4

零基础速成simulink代码生成——结合CANOE的DBC文件CAN报文代码生成 移植到硬件4 本次我们将讲解如何将代码放到嵌入式硬件上运行,本次例子将dbc文件导入simulink中,生成代码,不需要我们自己实现数据库的内容。 导入DBC文件 新建一个simulink模型 MCU_CAN.slx simulink具…

开源计算机视觉库OpenCV详解

目录 1、概述 2、OpenCV详细介绍 2.1、OpenCV的起源 2.2、OpenCV开发语言 2.3、OpenCV的应用领域 3、OpenCV模块划分 4、OpenCV源码文件结构 4.1、根目录介绍 4.2、常用模块介绍 4.3、CUDA加速模块 5、OpenCV配置以及Visual Studio使用OpenCV 6、OpenCV和OpenGL的区…

SpringBoot常用操作

SpringBoot常用操作 SpringBoot启动过程 1. 生成一个SpringApplication的对象1. webApplicationType 推测web应用类型(NONE、REACTIVE、SERVLET)2. 从spring.factories中获取BootstrapRegistryInitializer对象3. initializers 从spring.factories中获…

A brief taste of JIFA

JIFA 是阿里贡献给 Eclipse 的一个适用于 Java 应用的问题诊断应用。 它以图形化的方式展示 Heap Dump AnalysisGC Log AnalysisThread Dump Analysis 因为云环境/生产环境的一些限制,应用的问题可能不能被就地分析,所以Jifa provides a web solution…

关于运动模糊问题的分析及处理方法

1、问题背景 前段时间有做一个化妆镜项目,就是一面镜子上装有一个摄像头,用户对着镜子化妆时,可同时用来采集人脸信息,分析人脸用的。客户反馈抓拍静止的人脸图像时,画面正常,而当人脸稍微运动时&#xff…

java springboot整合MyBatis实现分页查询以及带条件的分页查询

之前的文章 java springboot整合MyBatis做数据库查询操作操作了springboot整合MyBatis,然后简单做了个按id查询的操作 那么 我们按上文搭建起的环境继续 我们直接在staffDao接口中声明一个分页函数 Select("select * from staff limit #{page},#{pageSize}&q…

【Vue】Vite 组件化开发

文章目录 组件化开发一、组件化开发思想二、Vue 组件的构成2.1 组件组成结构2.2 组件 template 节点2.2.1 在 template 中使用指令2.2.2 在 template 中定义根节点 2.3 组件的 script 模板 三、组件的基本使用3.1 组件的注册3.1.1 全局组件注册3.1.2 局部组件注册 3.2 组件样式…

ffmpeg命令参数

主要参数 -i 设定输入流 -f 设定输出格式(format) -ss 开始时间 -t 时间长度视频参数 -vframes 设置要输出的视频帧数 -b 设定视频码率 -b:v 视频码率 -r 设定帧率 -s 设定画面的宽与高 -vn 不处理视频 -aspect aspect 设置横纵比4:3 或16:9 或1.333或…

软件项目管理 第三章软件项目的启动过程课后习题参考答案——主编:李冰、张桥珍、刘玉娥

第三章 软件项目的启动过程 课后习题参考答案 1.选择题 (1)乙方在项目初始阶段的主要任务不包含以下哪一项(D)。 A. 项目分析 B. 竞标 C. 合同签署 D. 合同管理 (2)项目章程中不…

Spring Boot Configuration Annotation Processor not configured 问题解决

目录 问题抛出: ConfigurationProperties 问题抛出: 进行Spring Boot配置文件部署时,发出警告Spring Boot Configuration Annotation Processor not configured,但是不影响运行。 不过有时候springboot项目出错了并且排除了所有…

【裸机开发】中断系统 —— 中断向量表(设置中断向量偏移的原因)

之前的LED驱动不存在中断,也就不包含中断的初始化。如果程序包含了中断,我们应还需要初始化哪些内容?要解决这个问题,我们需要先了解一个中断系统包含了哪些内容。 ① 中断向量表:描述中断对应的中断服务函数&#xf…

C++笔记之stack、queue、priority_queue、deque

code review! C笔记之stack、queue、priority_queue、deque 文章目录 C笔记之stack、queue、priority_queue、deque一.cppreference介绍1.stack2.queue3.priority_queue4.deque 二.容器适配器三.stack详解1.创建一个不包含任何元素的 stack 适配器,并采用默认的 de…

Debian 12中再次安装R软件

上篇博客(地址:https://blog.csdn.net/my1114/article/details/131347147?spm1001.2014.3001.5501)中所述的,在Debian12中按默认方式编译安装R软件,有一定的局限性。 如下图所示: 因此,本…

Redis入门(2)-字符串

String是Redis最基础、最常见的类型,string类型的value中可存放任意数据,包括数值型、二进制的图片、音频、视频、序列化对象等。一个String类型的value最大是512M. 1.getset k v 若key存在返回之前的值,若不存在返回nil 2.strlen key 返…