世界各地数百万台计算机的CPU只知道如何做一件事,不断执行指令。 但是指令是什么? 请仔细阅读,找出答案。
什么是指示?
指令是程序的最小单位,它告诉 中央处理器 通过依次执行的一系列指令来执行操作。 每条指令都是二进制代码中的许多位,分为三部分:
指令位:这些位指示CPU将执行哪条指令,因此该指令将遵循的路径也称为操作码。
寻址位:指示数据在哪个存储器地址中。
模式位:模式位指示如何执行指令,当有多种方式执行指令或存在不同条件时使用模式位。
如果您想了解CPU执行指令的方式,我们建议您阅读以下文章: 这就是您的CPU执行软件给出的指令的方式 在HardZone中,即同一网站。
寻址说明
根据数据的位置,同一指令类型可以有不同的变化形式,处理器访问数据的方式称为寻址模式。
当数据是同一指令时,使用立即寻址,在这种情况下,数据存储在处理器的寄存器或内部存储器中,并从那里执行。
第二种寻址方式是直接寻址,其中程序指示数据所在的内存地址。
第三种寻址方式是间接寻址,它为我们提供了数据所在的内存地址所在的地址。
应该澄清的是,某些指令不具有寻址模式,因为它们不需要执行数据。
CPU中的指令类型
这是不同处理器使用的最常见指令的摘要。 这些指令对于所有寄存器和指令集都是通用的,无论它们是否为x86, ARM,MIPS,PowerPC等。 如果指令集是RISC或CISC,也没有关系。
算术运算 指令是执行数学操作的指令,例如加法,减法,乘法和除法。 以及更复杂的运算,例如三角公式,平方根,幂。
- 逻辑指令 是ALU执行的第二种指令,它们实际上是模拟逻辑门操作的二进制操作。 也就是说,AND,OR,XOR,NAND,NOR,XNOR和NOT。
位操作说明 它们是基于使用指令来操纵同义字符串的位,例如向左或向右移动一位,颠倒顺序或切换它们。
数据移动指令是 负责将数据从内存的一个部分移动到另一部分,从一个内存到另一部分,从处理器到内存以及从内存到处理器的移动。
程序控制指令 是在满足某些条件时激活的那些,例如
- 跳转说明 表示程序不会继续到下一个内存地址,而是继续到跳转指令标记的特定内存地址的地址。
数据类型和指令的多样性
因为今天的CPU可以处理不同类型的数据,例如整数和浮点数。 对于浮点指令集,通常会重复一些算术指令。 还存在矢量指令,例如AVX指令集或也称为SIMD指令,它们同时使用多个操作数进行操作。
由于这些指令以不同的单元执行,因此最终需要不同的指令位,这意味着在许多情况下在处理器中添加新类型的数据意味着大大增加了指令集及其复杂性。 。 以及在CPU上解码并执行它们的部分。