计算机组成原理-指令是如何被执行的

【计算机组成原理·考研】指令执行过程 本文介绍了指令执行过程中的指令周期和数据流。指令周期由取指周期、间址周期、执行周期和中断周期组成,每个周期包含机器周期和时钟周期。不同指令的周期和机器周期数可能不同。数据流是根据指令要求依次访问的数据序列,不同指令和执行阶段的数据流也不同。取址周期从主存中取出指令代码并存放在IR中,间址周期取操作数的有效地址,执行周期取操作数并通过ALU操作产生执行结果,中断周期处理中断请求。文章还提到了存储器的访问时间和存取周期,以及根据指令周期不同阶段来区分取出的是指令还是数据的方法。 阅读详情

各个部件

  • 运算器
    用于实现算术运算(加减乘除)、逻辑运算(与或非)
  • 控制器
    用于控制程序执行的顺序
  • 存储器
    用于存放数据

CPU = 运算器 + 控制器
主机 = CPU + 存储器(内存)
外设 = 输入设备 + 输出设备 + 辅助存储器(磁盘)

运算器

  • ACC
  • MQ
  • X
  • ALU

它们之间的关系以及运算器的逻辑图如图1所示。
在这里插入图片描述

图1 运算器内部构造

控制器

  • IR(Instruction Register):指令寄存器,作用是解析指令。
  • PC(Program Counter):程序计数器,作用是记录每条指令的地址,自增。
  • CU(Control Unit):控制单元,作用是执行指令。

主存储器(内存)

  • MAR(Memory Address Register):内存地址寄存器,保存数据被传输到的位置的地址或者数据来源位置的地址。
  • MDR(Memory Data Register):内存数据寄存器,保存要被写入地址单元或者从地址单元读出的数据。

高级语言到汇编语言

以一个具体的例子进行分析

// 省略头文件
int a=2,b=3,c=1,y=0;
void main()
{
	y=a*b+c;
}

发送给CPU的机器指令如图2所示。
在这里插入图片描述

图2 汇编程序

图2给出了高级语言转换之后的汇编语言,最左边一栏是地址,中间是指令(16位),最后一栏是注释(方便解释使用,实际汇编语言中没有)。这里也可以看到指令的操作和数据是存放在一起的,0-4地址存储的是指令,5-8地址存储的是数据。
图3给出了所有的过程。
在这里插入图片描述

图3 汇编程序执行步骤

图中绿色的序号对应下面步骤的序号。

  • 初始时,(PC)=0,程序计数器指向地址0,指向第一条指令的存储地址
  • #1:(PC)–>MAR,导致(MAR)=0
  • #2 #3:M(MAR)–>MDR,MAR去存储体中寻找地址为0的指令,并将指令的内容写入MDR中,导致(MDRR=000001 000000101
  • #4 (MDR)–>IR,MDR将数据通过数据总线传输给IR,导致(IR)=000001 000000101
  • #5 IR分析指令,发现指令的操作码OP(IR)=000001,并传输给CU,即OP(IR)–>CU,CU分析后得知"000001"是取数指令。
  • #6 AD(IR)–>MAR,指令寄存器告诉MAR需要取出"000000101"地址的值,导致(MAR)=000000101
  • #7#8 MAR去存储体中寻找,并将结果写入到MDR中,导致(MDR)=0000000000000010=2
  • #9 (MDR)—>ACC,MDR将数据通过数据总线传输到ACC,导致ACC=2

以上步骤中,取指令(#1~#4),分析指令(#5),执行取数指令(#6~#9)
在这里插入图片描述

图4 PC加1后的操作
计算机组成原理的指令执行过程的软件 智能的运行指令的执行过程 组成原理的实验工具 立即下载

相关推荐

绕过Google Play:获取Expo Go安卓APK的实用指南

本文为国内安卓开发者提供了绕过Google Play商店获取Expo Go APK的实用指南。针对无法访问Google Play的痛点,详细介绍了通过官方GitHub Releases、可信第三方网站(如APKMirror)及APK下载器等多种安全获取途径,并重点讲解了APK安装、安全验证(核对签名)及常见连接问题的排查方法,帮助开发者顺利开启React Native开发之旅。

weixin_29006701的博客 577

简述 典型处理器(如Cortex A9)中一条存储器读写指令的执行全过程

感谢原作者:点击打开链接 请简述在你所熟悉的处理器中比如Cortex A9,一条存储读写指令的执行全过程? 经典的处理器架构的流水线是五级流水线:取指,译码,发射,执行和写回。     现代的处理器设计上都采用了超标量体系结构(superscalar architecture)和乱序执行(out-of-order)技术,极大的提高了处理器的能力。超标量技术能够在一个时钟周

十一月zz的博客 5826

STM32F103C8T6板子使用说明

pcb版,把众多元器件集中到一个板子上面管理。

LYC_462857656的博客 2186

计算机基础之组成原理

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 计算机基本组成系列文章目录前言一、计算机的基本硬件组成二、系统总线和IO总线1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正

qq_19375579的博客 1907

Swift Package Manager (SPM) 创建并集成本地库

Swift Package Manager (SPM) 在macOS 项目中创建并集成的完整步骤

征战无悔人生 1423

别再折腾Windows了!Ubuntu 22.04下USRP X310 + RFNoC + Vivado 2021.1开发环境保姆级搭建指南

本文提供Ubuntu 22.04下USRP X310 + RFNoC + Vivado 2021.1开发环境的详细搭建指南,涵盖系统优化、UHD驱动编译、Vivado配置及硬件验证等关键步骤,帮助射频工程师高效构建稳定的开发环境,显著提升FPGA开发效率。

weixin_29168675的博客 255

冯诺依曼体系计算机体系结构和指令执行过程

冯诺依曼体系 冯诺依曼计算机体系结构的特点: 1.计算机由五大部件组成:存储器+运算器+控制器+输入设备+输出设备 2.指令和数据以同等地位存于存储器可按地址寻访 3.指令和数据用二进制表示 4.指令由操作码和地址码组成,操作码表示操作的性质,地址码表示操作数在存储器中的位置。 5.指令在存储器中按顺序存放。通常,指令是顺序执行的。在特殊情况下,可根据运算结果或指定的条件来改变运算顺序。 6.以CPU为核心,以存储器为中心。 五大部件 存储体 存储体 -包含- 存储单元 -包含- 存储元件 (0/

是小D吖!的博客 1万+

Cloud Connector RFC 访问控制深度实践:为 SAP BTP ABAP environment 打通安全、可控的远程连接

本文是一份面向企业ABAP团队与平台工程团队的Cloud Connector RFC访问控制配置指南。文章详细介绍了虚拟主机/实例号、负载均衡、资源白名单等核心概念,并提供了从零开始的配置流程。主要内容包括:通过Cloud Connector建立安全隧道的价值(零暴露、最小权限)、两种连接类型(无负载均衡/带负载均衡)的配置方法、资源白名单设置技巧,以及两个典型应用场景(Custom Code Migration远程检查与BAPI调用)的实操案例。指南基于SAP官方文档,包含落地经验与避坑建议,可帮助团队快

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 146

计算机组成原理(二)

主存储器的基本组成 存储体 存储地址寄存器 存储数据寄存器 存储地址寄存器MAR:用来存放数据在内存的存放地址或存放将要往存储器中写入数据的地址 存储数据寄存器MDR:用来存放从内存中读取或写入的数据 CPU读取数据:主存储器从MAR中读取地址得到数据存放地址,从内存中相应地址取出数据,并把数据存放到MDR中,CPU通过总线 CPU存放数据:主存储器从MAR中读取地址得到数据存放地址,从MDR中取走数据,并存到相应地址 存储体被分成一个个存储单元,每个存储单元存放一串二进制代码,这串二进制代码称为

yuqian_123的博客 1430

【Halcon 】Halcon 实战:如何为 XLD 模板添加极性信息以提升匹配精度?

本文介绍了Halcon中为XLD轮廓模板添加极性信息的实用技巧。通过先以"ignore_local_polarity"模式创建模板,首次匹配获得位置后,使用set_shape_model_metric运算符结合真实图像为模板注入极性信息(边缘明暗方向)。这种方法弥补了XLD模板初始不支持极性的缺陷,可显著提升后续匹配的精度和抗干扰能力。实验显示,添加极性信息后的模板匹配效果明显优于无极性的匹配结果。该技术特别适用于基于手动绘制或处理后的XLD轮廓创建模板的场景。

songhuangong123的博客 750

微信对话开放平台智能对话模块的几个亮点

微信AI首席科学家牛成公布了最新开放方案,并重磅宣布全面开放各层次 NLP 能力。具体说来,微信 AI 迈出了“三大步”: 以硬件合作为核心的智言小微硬件开放平台 2.0 正式亮相; 公开以对话开放能力为核心的微信对话开放平台; 全面开放以自然语言处理能力为核心的 NLP 基础技术平台。 参考:微信9年:张小龙指明方向,微信AI全面开放NLP能力 今天公开课上隆重介绍了...

素质云笔记 1万+

(一-1)计算机的主要硬件【计算机组成原理】

文章目录1,主存储器:(1)存储数据:(2)取出数据:(3)存储体:2,运算器:3,控制器:4,举例子:指令1:指令2:指令3:指令4:指令5: 1,主存储器: (假设正在和CPU进行交互) (1)存储数据: 需要CPU给主存储器一个要存储数据的指令,然后将数据的地址放进地址寄存器,接着将数据放进数据寄存器。 这样存储体就可以通过提供的这三个东西来存储。 (2)取出数据: CPU将想要取出的数据的地址交给地址寄存器,并且CPU告诉存储器这次要执行的是读操作。然后存储体就会通过地址将对应的数据放在数据

qq_51399192的博客 1550

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

计算机组成原理 取指令过程,2019考研408计算机组成原理知识:指令执行过程

2019考研408计算机组成原理知识:指令执行过程2018-01-16 17:04|考研集训营2019考研计算机如何来复习呢?文都考研集训营建议参加2019考研计算机的考生可以开始看专业课最基础的知识点啦!今天,文都考研集训营小编为了帮助大家提升专业知识能力,整理了统考408科目当中的计算机组成原理知识,供考生参考。2019考研408计算机组成原理知识:指令执行过程1.指令执行的时序计算机工作的过...

weixin_39626586的博客 4293

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

计算机组成原理实验五:CPU组成与机器指令执行实验

本篇博文主要是讲述一下计算机组成原理实验中CPU组成与机器指令执行实验,因为很多同学在刚学习计算机组成原理实验的时候对于调试的一些步骤还是有些懵懵懂懂,每个步骤之间的连接做的不是很连贯,故有了写此篇博文的初衷,笔者会在近期分享计算机组成原理实验的五个实验,希望对有学习此课程的同学能够有一些帮助! 实验目的 (1)将微程序控制器同执行部件(整个数据通路)联机,组成一台模型计算机; (2)用微程序控制器控制模型机数据通路; (3)通过CPU运行九条机器指令(排除中断指令)组成的简单程序,掌握机器指令与微指令的关

海风依旧 3万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

计算机组成原理之指令执行过程

指令执行过程中,CPU通过控制单元(CU)发出各种控制信号,协调各部件的工作。此外,指令的执行还可能受到机器周期和时钟周期的影响,一个指令周期通常包含多个机器周期,而每个机器周期又包含多个时钟周期。CPU再次发出读命令,从主存储器中取出有效地址并存入数据缓冲寄存器(MDR),或直接送至IR的地址码字段(此时。CPU发出读命令,从主存储器中取出指令并存入指令寄存器(IR)。如有中断请求,CPU保存当前指令的断点(即PC的内容)至堆栈中。CPU从程序计数器(PC)中获取指令的地址。

DKPT的博客 802

计算机执行乘法指令,计算机组成原理试卷

计算机组成原理试卷计算机组成原理一、选择题(共40分,每题2分)1.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序是______。 A.直接、立即、间接; B.直接、间接、立即; C.立即、直接、间接; D.立即、间接、直接。 2.存放欲执行指令的寄存器是______。A.MAR; B.PC; C.MDR ...

weixin_34847198的博客 680

计算机408 组成原理考画图吗,2019考研408计算机组成原理知识:指令执行过程

计算机组成原理在408计算机综合考试中所占分值45分,说明是必考的重点内容,考生要在这部分多花时间复习。以下是新东方在线整理的的计算机组成原理知识,希望大家认真看。2019考研408计算机组成原理知识:指令执行过程1.指令执行的时序计算机工作的过程是取指令、分析指令、执行指令三个基本动作的重复。考虑到所有的器件中(寄存器、存储器)存储器的速度最慢,因此,取最慢的器件工作时间(周期)作为整个工作的最...

weixin_39574708的博客 789

考研408《计算机组成原理》复习笔记,第五章(2)——CPU指令执行过程

本文系统介绍了指令执行的基本流程和周期划分。指令周期分为取指、间址、执行和中断四个阶段,不同指令类型的周期构成不同。文章详细讲解了取指周期(根据PC取指令)、间址周期(获取有效地址)和中断周期(保存断点)的数据流过程,并比较了三种指令执行方案:单周期处理器(固定1个时钟周期完成指令)、多周期处理器(不同指令使用不同周期数)和流水线处理器(指令并行执行)。重点强调了控制信号在数据流向管理中的关键作用,以及不同执行方案在CPI(每条指令时钟周期数)和硬件复杂度上的差异。

m0_73991249的博客 1344

计算机组成原理指令执行过程,2021计算机考研:计算机组成原理知识点指令执行过程...

启航教育小编为大家整理了关于“2021考研:计算机组成原理知识点指令执行过程”的相关内容,希望可以帮助到大家,祝大家考上自己理想的院校指令执行过程1.指令执行的时序计算机工作的过程是取指令、分析指令、执行指令三个基本动作的重复。考虑到所有的器件中(寄存器、存储器)存储器的速度最慢,因此,取最慢的器件工作时间(周期)作为整个工作的最长同 步标准。计算机的工作时序是按照存储器的工作周期划分的。每个存储...

weixin_34098209的博客 818

西南交大计算机组成原理实验八:指令的分析与执行

计算机组成原理实验八:指令的分析与执行 本实验在实验七的基础上进行指令的分析与执行的实现。掌握指令周期、CPU周期等概念,理解指令的分析与执行过程。学习状态机的使用,为课程设计奠定基础。本实验用verilog语言进行编程。 使用软件:Quartus II 13.0sp1 实验内容详见使用指导书 有两种指令的操作码op分别为0111和1000分别表示XOR(异或)和Shr(移位) 图为实验内容,我们将进行状态机的设计在第一个时钟周期从ROM中取出指令,在第二个时钟周期取出寄存器中的操作数,在第三个时钟周期进行

skywalker011028的博客 2287

计算机组成原理课程设计报告 给出指令执行流程 add(二进制加法),《计算机组成原理》课程设计报告材料...

《计算机组成原理》课程设计报告材料 (28页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!19.90 积分实用文档电子信息学院实验报告书课程名:《计算机组成原理》 题 目: 实验类别 【验证】 班 级: 学 号: 姓 名: 评语:实验态度:认真( ) 一般( ) 差( )实验结果:正确( ) 部分正确( )错( )实验理论:掌握( ) 熟悉( ) 了解...

weixin_39667801的博客 643

计算机组成原理——指令流程执行的过程

指令的执行过程 取指令 : 一开始PC=0指向第一条指令的位置,PC存放了当前欲执行指令的位置。 PC把地址0交给了地址寄存器MAR。 MAR根据地址在0的存储单元中取出指令,交给了数据寄存器MDR MDR将指令交给了指令寄存器IR 分析指令 IR将操作码交给了控制单元CU,将地址码交给了地址寄存器MAR CU经过分析可知000001对应着“取数”指令 执行指令 MAR根据地址码将对应的数据放入MDR中 MDR将数据放入累加器ACC中 地址为0的存储单元中的指令执行结束,程序计数器PC自动+1

qq_45657669的博客 1万+

计算机组成原理教学创新:UNIT-00模拟CPU指令执行过程

本文介绍了如何利用星图GPU平台,一键自动化部署🛡️ UNIT-00: BERSERK INTERFACE镜像,为计算机组成原理教学提供创新方案。该镜像的核心应用场景是作为一个可交互的CPU模拟器,通过分步可视化指令执行过程,生动演示“取指-译码-执行”等流水线操作,将抽象的硬件原理转化为直观的动态演示,有效辅助教学与学习。

weixin_36288992的博客 31

计算机组成原理(五)-一条指令是怎么被执行的

什么是指令: 程序代码的本质就是一条一条的指令,我们需要通过编码的方式让CPU知道我们需要它干什么,最后由译码器翻译成一条条的机器指令。机器指令主要有两部分组成:操作码、地址码。地址码直接给出操作数和操作数的地址,分三地址指令、二地址指令和一地址指令,最后还有零地址指令,零地址指令在机器指令中没有地址码,用来进行空操作、停机操作、中断返回操作等。 那么一条简单的指令执行,涉及到了那些组件? 控制器(CU)和运算器(ALU) PC寄存器(程序计数器):用于存放下一条需要执行的指令地址信息,注.

MiracleWW的博客 7980

【计算机组成原理】一条指令的执行

中央处理器是计算机的中心。

m0_51179832的博客 3621
上一篇: mysql是怎样运行的-从根儿上理解mysql学习笔记(一)
下一篇: mysql是怎样运行的-从根儿上理解mysql学习笔记(二)
spencersong
博客等级 码龄9年 11粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值