视频字幕
欢迎来到计算机组成原理课程。今天我们学习指令系统这一重要概念。指令系统是计算机硬件与软件之间的桥梁,它定义了处理器能够理解和执行的所有操作。如图所示,CPU从内存中取出指令并执行,同时处理相关数据。
现在我们来看指令的基本格式。每条指令都包含操作码和操作数两个基本部分。操作码告诉处理器要执行什么操作,比如加法、减法或数据传送。操作数则指定操作涉及的数据或地址。以ADD R1, R2为例,ADD是操作码,表示加法运算,R1和R2是操作数,表示参与运算的寄存器。请大家思考一下,MOV指令的操作码和操作数分别是什么?
接下来我们学习指令的寻址方式。寻址方式决定了处理器如何获取指令中的操作数。立即寻址直接在指令中包含数据值,如MOV R1, #100,将100直接送入R1寄存器。直接寻址通过地址访问内存,如MOV R1, [200],从地址200取数据。寄存器寻址在寄存器间传送数据,如MOV R1, R2。间接寻址通过寄存器中的地址访问内存,如MOV R1, [R2]。现在请大家思考,这四种寻址方式中,哪一种执行速度最快?
现在我们来学习指令的分类。根据功能不同,计算机指令主要分为四大类。第一类是数据传送指令,如MOV、LOAD、STORE,用于在寄存器和内存之间传送数据。第二类是算术逻辑指令,如ADD、SUB、AND、OR,执行各种运算操作。第三类是程序控制指令,如JMP、CALL、RET,控制程序的执行流程。第四类是输入输出指令,如IN、OUT,处理与外部设备的数据交换。从使用频率来看,数据传送指令占45%,算术逻辑指令占30%。现在请判断:JMP指令属于算术逻辑指令,这个说法对吗?
最后我们通过一个具体例子来演示指令的执行过程。以ADD R1, R2指令为例,假设R1寄存器中存储数值5,R2寄存器中存储数值3。第一步是取指阶段,CPU根据程序计数器PC的值从内存地址100取出指令。第二步是译码阶段,控制单元解析指令,识别出这是加法操作。第三步是执行阶段,ALU执行加法运算,计算5加3等于8。第四步是写回阶段,将结果8写入目标寄存器R1。现在请大家思考,如果是SUB R3, R4指令,它的执行步骤是怎样的?