计算机指令系统Jisuanji zhilingxitong
一台计算机所能执行的各种不同指令的总和称为该机器的指令系统。一般来讲,不同计算机所能执行的指令种类与数量互不相同,因此有不同的指令系统。但依据计算机指令的功能,大致可分为以下五类:
❶算术运算型指令;
❷逻辑运算型指令;
❸传送型指令;
❹控制型指令:
❺输入输出指令。
计算机指令一般以二进制数表示,称为指令代码。指令代码中前面若干位表示执行何种指令, 称为操作码,其余各位则用于指明操作对象,称为地址码。不同的指令要求的操作对象的数目也不相同, 如空操作指令,中断转移和返回指令等不需要地址码,通常的算术运算指令要求二个地址码,根据地址码的数目,可以把指令分类为无地址、单地址、二地址以至三地址指令。代表一条指令的二进制数的位数, 称为该指令长
度。由于不同指令地址码数目不一,故指令长度也不相同。但对于同一机器,所有指令的操作码部分位数是相同的。操作码的位数标志着该机指令系统的大小,如果操作码是6位的,则该计算机的指令系统至多有64条不同指令。如果是8位的,则至多有256条不同指令。Apple-Ⅱ型计算机属于前者,IBM-PC机属于后者。
计算机的指令系统是通过构造在CPU内部的电子线路实现的,例如为实现两数相加,就需要下图所示的加法器电路。
此加法器的设计思想与我们通常加法运算习惯相同, 即由低位到高位,按位加,每位产生的进位与下一位两个数字相加。图中的A、B表示寄存器,两个移位箭头由最低位起同步地逐位前移。ai、bi分别表示A、B中第i位的数字,ai、bi与前一位加法产生的进位ci-1同时进入全加器∑,相加的结果在本位(第i位)上为si,存入寄存器A的第i位,产生的进位ci经过延迟等待与ai+1、bi+1相加。此时移位指针同步地前移一位, 这种加法器的特点是各位运算在时间上错开,只需要一个全加器,因而被称为串行加法器。与此对应,有各位加法同时进行的并行加法器,它所需要的全加器数目与相加的二进制数的位数相同。两者相比,前者的优点是结构简单且节省元件,而后者的运算速度则要快得多。
与加法器类似, 计算机的几乎所有指令都须借助相应电子线路实现,由此可见,计算机功能越强,速度越快, 其电子的结构也就越复杂。