1、概念梳理
- 指令:指示计算机要做什么的代码(机器码),多条指令共同组成程序。如数学指令,内存指令。
- 注:指令和数据都是存在同一个内存里的。
- 指令集:记录指令名称、用法、操作码以及所需RAM地址位数的表格。
程序
2、指令的执行
- 原则:
- RAM每一个地址中,都存放0或1个数据。
- 特定的数字组合,就表示为一个指令,否则表示一个值。
- LOAD指令:
- 计算机会按地址的顺序,读取RAM中所记录的指令/数据。
- 计算机接受到指令后,如LOAD_A,则通过数据线将数据传至寄存器A。
- ADD指令:
- ADD B A指令告诉ALU,把寄存器B和寄存器中的数字加起来,存到寄存器A中。
- JUMP指令:
- 遇到JUMP指令,程序会跳转至对应的RAM地址读取数据。
- JUMP指令可以有条件跳转(如JUMP-negative),也可以无条件跳转。
3、计算机指令长度
由于早期计算机每个字只有8位,指令只占4位,意味着只能有16个指令,这远远不够。
现代计算机有两种方式解决指令不够用的问题:
最直接的是用更多位来表示指令,如32位或64位。
采用“可变指令长度”,令不同的指令的长度不同,尽量节约位数。
假设1个字为16位,如果某指令不需要操作内存,则可以省去寻址的位数。
该情况下,部分指令后面需要跟数据,如JUMP,称为立即值。
文章出自:【计算机科学速成课】 笔记