计算机组成原理:指令系统概述与深入解析
1. 指令系统概述
计算机软硬件界面的概念
在计算机组成原理中,指令系统扮演着至关重要的角色,它是计算机软硬件界面的核心。软件通过指令与硬件进行通信,硬件根据指令执行相应的操作。指令是软件的最底层,是计算机执行任务的基本单位,它们直接驱动硬件进行工作。
指令在计算机中的作用
指令是计算机执行任务的基本单元。每一个指令都包含了执行特定操作所需的全部信息,包括操作码(Opcode)和操作数(Operands)。指令的作用是告诉计算机的硬件需要执行哪些操作,以及如何执行这些操作。
2. 记忆内容
指令系统的定义和重要性
指令系统定义了计算机硬件能执行的所有指令的集合。它的重要性在于,指令系统的设计直接影响到计算机的性能、效率以及编程的便利性。一个优秀的指令系统可以提高程序的执行效率,简化编程过程,并且增强计算机处理复杂任务的能力。
概念
指令(又称机器指令):
是指示计算机执行某种操作的命令,是计算机运行的最小功能单位。
一台计算机的所有指令的集合构成该机的指令系统,也称为指令集。
注:一台计算机只能执行自己指令系统中的指令,不能执行其他系统的指今:
X86架构、ARM架构
指令的格式(分类)
按指令长度分类
按操作码长度分类
按操作类型分类
1.数据传送
2. 算术逻辑操作
3. 移位操作
4. 转移操作
5. 输入输出操作
按照地址数量分类
然而不同格式的指令 他们的指令字长却相等 这就造就了一个类型的题:拓展操作码题目!
拓展操作码
我们都知道根据地址码数量分类有以上几种指令
但是一般的指令都是定长,所以哪怕在同一套系统中 同时用到了多种的指令 也会采用同样的字长来进行存储
所以这个时候就会有很经典的问题:
做这道题我们要知道一件事情: 指令的本质是什么?
很简单 那就是排列组合!
也就是说 “其中三地址指令29”条这句话,完全可以翻译成“三地址这种类型的指令一共能有29种不同的可能性” 这样说就清晰多 因为这就意味着 我们需要用若干个字节 来表示这29种不同的可能性
然后又已知每一个字节位能表示的可能性是2种(0/1),那么我们想有多少个字节可以表示29种不同的可能呢?最少5种 (因为2的4次方=16<29),2^5=32>29,也就是说有32-29=3种可能性是不在三地址指令这种类型的指令集里面的,所以这3 种余出来的可能性要被利用
就在下一种 “二地址指令集”中利用到
所以就会有3*2^6=192种可能性,192>107所以完全足够表示这些可能性,,
所以指令字长应该是5位操作码+6*3位地址码=23位
因为是字节编制,是8的整数 所以是24