
2.2.3 计算机的工作原理
1.指令
(1)指令的含义
计算机指令就是人对计算机发出的完成一个最基本操作的工作命令,由计算机硬件来执行。人们用指令表达自己的意图,并交给控制器执行,控制器按指令指挥机器工作。一台计算机所能识别和执行的全部指令的集合,叫作该计算机的指令系统。指令系统中有数以百计的不同指令。由于计算机硬件结构不同,指令也不相同,指令系统决定了一台计算机硬件的主要性能和基本功能。
(2)指令的组成
每一台计算机均有自己特定的指令系统,其指令内容和格式也有所不同。通常一条指令包括两部分:一是操作码,指明机器执行什么操作,给出操作要求,例如加法、减法、乘法、除法、取数、存数等,各种基本操作均有各自相应的操作码;二是操作数(又称地址码),指出操作数在存储器或通用寄存器组中的地址,即给出操作数的地址,包括操作数的来源,结果的去向或下一条指令的地址信息,不同指令中操作数的个数可以不一样。计算机指令格式如图2-3所示。
在计算机中,操作码和操作数都由二进制数码表示,整条指令以二进制编码的形式存放在存储器中。因此计算机指令也称为机器指令。

图2-3 计算机指令格式
2.程序
(1)程序的含义
程序是用于指挥计算机执行各种动作以便完成指定任务的指令序列。程序和相关数据存放在存储器中,计算机的工作就是执行存放在存储器中的程序。计算机运行程序的过程就是一条一条地执行指令的过程。
(2)程序的执行过程
指令的顺序执行,将完成程序的执行。
①取指令。首先将程序计数器(PC)中的内容通过地址总线送到地址寄存器,然后按照程序规定的次序,指令预取部件从高速缓存中提取一条指令,若高速缓存中没有,则向总线接口部件发出请求,要求访问内存储器取得当前执行的一条指令,并送到控制器的指令寄存器(IR)中。最后将PC的内容增加1,为取下一条指令做好准备。当总线接口部件在总线空闲时,通过总线从存储器中取出一条指令,放入快存或指令预取部件。
②分析指令。取出指令后,机器立即进入分析及取数阶段,指令译码器(ID)可识别和区分不同的指令类型及各种获取操作数的方法。由于各条指令功能不同,寻址方式也不同,所以分析及取数阶段的操作是不同的。一般是指令寄存器中操作码部分送入指令译码器,经过指令译码器进行分析产生相应的操作控制信号送到各个执行部件。
③执行指令。执行阶段完成指令规定的各种操作,产生运算结果,并将结果存储起来。
总之,计算机的基本工作过程可以概括为取指令、分析指令、执行指令等,然后再取下一条指令,如此周而复始,直到遇到停机指令或外来事件的干预为止,如图2-4所示。

图2-4 指令的执行过程