指令:要求计算机进行特定操作的命令
指令系统:一系列指令的集合
计算机指令系统的内容:
指令的格式:一条指令的二进制代码的形式
指令的类型,数据形式,寻址方式,CPU类型不同指令类型也不同
好性能:种类丰富,指令齐全,通用性强的指令系统
二进制代码的位数 = 字长
指令格式:
操作码,操作数存放地址,操作结果存放地址,下一条指令的地址
下一条指令的地址一般由程序计数器(PC)给出,但对于转移指令,子程序调用及返回指令,中断指令等,需写明下一条指令所在的地址
操作码:告诉机器做什么,怎样做;规定了指令的性质及功能,指定了相应的硬件要完成的操作
地址码:告诉机器在哪做,操作结果放哪。在指令中可以直接给出操作数,大部分是给出存放操作数的地址;
操作数地址和操作结果的存储地址可以是CPU寄存器,主存储器单元,外设接口中的寄存器
操作码格式:
定长操作码:操作码长度固定,硬件实现简单,指令译码速度快,但可扩充性差,操作码的平均长度长,需要的指令长度也长
4位长的操作码,可执行16条指令,也就是2^4,如果需要执行100条指令,至少需要7位操作码
可变长操作码:操作码长度可灵活调整,一般在计算机中使用固定长度的字长来表示基本操作码,对经常需要的指令采用短码(节省译码时间,提高了指令的执行效率),对不经常需要的指令采用长码,可以节省相应的指令译码时间,有效缩短操作码在程序中的平均长度,节省存储空间;
优点是便于指令扩充,可通过增加操作码的长度新增指令,可压缩操作码的平均长度
缺点是硬件实现复杂(控制器设计相对较为复杂),指令译码时间长;