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

首页 > 实用技巧 > 作者:YD1662023-11-28 07:40:04

计算机组成

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

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

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

计算机指令的执行过程包括,计算机指令执行过程分几步(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 的内存区域会分为两种:数据区和指令区

数据区包括:

指令区包括:

指令区用于存储 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步,直到程序的所有指令都被执行完毕。这样,程序中的指令按照顺序逐条执行,实现了整个程序的功能。



栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.