当前位置:首页 > 实用技巧 >

计算机指令的执行过程包括(计算机指令执行过程分几步)

来源:原点资讯(m.360kss.com)时间:2023-11-28 07:40:04作者:YD166手机阅读>>

计算机组成

现在所说的计算机基本上都是冯诺依曼体系的计算机。其核心原理:

冯·诺依曼计算的核心思想是将程序指令和数据以二进制形式存储存储在同一存储器中,并使用相同的数据格式和处理方式来处理它们。这种存储程序的设计理念使得计算机能够以可编程的方式执行不同的任务,而不需要对硬件进行物理修改。

在冯·诺依曼计算中,计算机由以下几个主要组件组成:控制器、运算器、存储器、输入设备、输出设备。

计算机指令的执行过程包括,计算机指令执行过程分几步(1)

存储器(Memory):用于存储程序指令和数据。存储器被划分为地址单元,每个单元存储一个字节的数据。程序和数据按照地址的顺序存储在存储器中,并通过地址来访问。

算术逻辑单元(Arithmetic Logic Unit,ALU)用于执行算术和逻辑操作

控制器(Controller):协调各个组件的操作,控制指令的执行和数据的传输。

输入/输出设备(Input/Output Devices):用于与外部世界进行交互,例如键盘、鼠标、显示器、磁盘驱动器等。

程序是如何加载的

由 冯诺依曼体系,我们知道程序想要执行,必需先加载到计算机的内存中。首先来看一下程序加载过程。这里以 java 程序为例。

  1. 在IDE或者文本编辑器中写 java 程序,如:

/** * @author shengjk1 * @date 10/21/23 */ public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld!"); } }

  1. 编译,编译成 Java 二进制的字节码

javac HelloWorld.java

计算机指令的执行过程包括,计算机指令执行过程分几步(2)

编译后的文件

  1. 加载 JVM 中并执行

java HelloWorld

借助 JVM 的类加载器,将 HelloWorld.Class 加载到 JVM 中

  1. JVM 的内存区域会分为两种:数据区和指令区

数据区包括:

  • 堆(Heap):堆是 Java 程序运行时动态分配对象的区域。所有通过 new 关键字创建的对象都存储在堆中。堆是 JVM 中最大的一块内存区域,被所有线程共享。
  • 方法区(Method Area):方法区用于存储类的元数据信息,包括类的结构、常量池、静态变量、编译器优化后的代码等。方法区也被称为永久代(Permanent Generation)或元空间(Metaspace)。
  • 栈(Stack):栈用于存储方法执行时的局部变量、方法参数、方法调用和返回的信息。每个线程在运行时都有自己的栈,称为线程栈。栈的大小是固定的,并且栈中的数据是按照后进先出(LIFO)的顺序进行操作。
  • 本地方法栈(Native Method Stack):本地方法栈类似于栈,但用于执行本地方法(Native Method)的数据和调用信息。
  • PC 寄存器(Program Counter Register):PC 寄存器存储着当前线程执行的字节码指令地址。当线程切换时,PC 寄存器的值会保存和恢复。

指令区包括:

指令区用于存储 Java 程序的字节码指令。字节码是 Java 程序的中间表示形式,由编译器生成。JVM 在指令区中解释和执行字节码指令。

如下:

计算机指令的执行过程包括,计算机指令执行过程分几步(3)

程序在计算机中如何执行
  1. 程序计数器(Program Counter,PC)的初始化:JVM通过将程序计数器(PC)的值设置为程序的入口点( 通常就是main方法 )来初始化。程序计数器是一个特殊的寄存器,它存储下一条要执行的指令的地址。
  2. 取指:CPU根据程序计数器中存储的地址,从存储器中获取下一条要执行的指令。
  3. 译码:CPU对获取的指令进行解码,确定其操作类型和所需的操作数。
  4. 操作数获取:如果指令需要操作数,CPU从存储器或寄存器中获取操作数的值。指令中的地址或寄存器标识符确定操作数的位置。
  5. 执行:CPU根据指令的操作类型和操作数执行相应的操作。这可能涉及算术运算、逻辑运算、内存访问等。
  6. 结果存储:执行操作后,CPU将结果存储在存储器或寄存器中,以供后续指令使用或输出到外部设备。
  7. 更新程序计数器:CPU根据指令的执行情况更新程序计数器的值,以指示下一条要执行的指令的地址。
  8. 重复执行:重复执行第2步到第7步,直到程序的所有指令都被执行完毕。这样,程序中的指令按照顺序逐条执行,实现了整个程序的功能。



栏目热文

负责解释执行计算机指令的是(计算机负责解释和执行程序是什么)

负责解释执行计算机指令的是(计算机负责解释和执行程序是什么)

我们都编写郭计算机程序,比如C语言,程序编写完成之后,经过编译连接以后,没有错误的话,我们就可以直接点击运行,程序便可以...

2023-11-28 07:53:40查看全文 >>

简述程序在计算机中执行过程(计算机执行程序的流程是什么)

简述程序在计算机中执行过程(计算机执行程序的流程是什么)

计算机是一个物理的设备,不管是从个人电脑,还是办公电脑,或者科研计算机,到手机,车机,平板电脑等等设备,他们全都是通过执...

2023-11-28 07:46:40查看全文 >>

亚洲位于什么亚(亚洲位于世界的什么位置)

亚洲位于什么亚(亚洲位于世界的什么位置)

亚洲是世界七大洲之一,是七大洲中面积最大的洲。位于亚欧大陆上,以乌拉尔山、乌拉尔河、里海、高加索山脉、黑海和土耳其海峡与...

2023-11-28 07:39:51查看全文 >>

亚洲是怎么得名的(亚洲是什么时候命名的)

亚洲是怎么得名的(亚洲是什么时候命名的)

亚洲(Asia)是世界上最大的大洲,人口众多、面积广阔、文化多元、历史悠久、地形复杂。作为亚洲人,我们有必要了解自己的历...

2023-11-28 07:37:29查看全文 >>

亚洲位于什么尾部(亚洲位于什么洋西岸)

亚洲位于什么尾部(亚洲位于什么洋西岸)

(本系列改编自老巴2014年出版的《不可不知的亚洲史》。后面附的链接为2019-2020年老巴与中央人民广播电台合作的有...

2023-11-28 07:52:02查看全文 >>

计算机可以执行的指令一般包括

计算机可以执行的指令一般包括

一、计算机指令系统简述 计算机指令系统,也被称为计算机指令集,是计算机硬件和软件之间的接口。它是一组预定义的操作,由计...

2023-11-28 08:13:27查看全文 >>

计算机中规定指令执行功能的部分(计算机指令主要在哪里执行)

计算机中规定指令执行功能的部分(计算机指令主要在哪里执行)

本文转载自 众课帮 公众号1、计算机应用中通常所讲的OA代表(). A、辅助设计 B、辅助制造 C、科学计算 D、办公自...

2023-11-28 08:11:17查看全文 >>

计算机执行程序的过程是(计算机执行操作步骤)

计算机执行程序的过程是(计算机执行操作步骤)

从代码执行,看单片机内存的分配1、单片机执行指令过程详解单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条...

2023-11-28 08:17:47查看全文 >>

计算机中解释和执行指令的部件(用于解释和执行指令的组件)

计算机中解释和执行指令的部件(用于解释和执行指令的组件)

简介欢迎来到我们的IT知识每日之旅,在短短5分钟内深入了解信息技术的基础知识。今天,我们将探讨计算机硬件的关键组件之一:...

2023-11-28 07:38:43查看全文 >>

计算机程序执行过程可分为(在计算机系统中能直接执行的程序)

计算机程序执行过程可分为(在计算机系统中能直接执行的程序)

计算机是由硬件和软件两个部分组成的。硬件是计算机物理设备的总称,包括中央处理器(CPU)、内存、存储器、输入设备、输出设...

2023-11-28 07:53:56查看全文 >>

文档排行