控制器是计算机的指挥中心,使计算机的各个部件自动协调工作。控制器工作的实质就是解释程序,执行指令。它每次从存储器读取一条指令,经过分析译码,产生一系列的操作命令,发向各个部件,控制各部件动作,使整个计算机连续、有条不紊地工作,即执行程序。
计算机中有两股信息在流动:一个是控制信息,即操作命令,流向各个部件;一个是数据信息,它受控制信息的控制,从一个部件流向另一个部件,边流动边处理。控制信息发源地是控制器,控制器产生控制信息的依据来自以下三个方面(见图1-6):一是指令,存放在指令寄存器中,指令是计算机操作的主要依据;二是各部件的状态触发器,其中存放反映计算机运行状态的有关信息,计算机在运行过程中,根据各部件的即时状态决定下一步操作是按顺序执行下一条指令,还是转移执行其他指令,或者转向其他操作;三是时序电路,它能产生各种时序信号,使控制器的操作指令被有序地发送出去,以保证整个计算机协调工作,不至于造成操作命令间的冲突或是先后次序上的错误。
图1-6 控制器结构简图
计算机进行计算时,指令必须是按一定的顺序一条接一条地运行。控制器的基本任务,就是按照程序所排列的指令序列,先从存储器取出一条指令放到控制器中,对该指令的操作码由译码器进行分析判别,然后根据指令性质,执行这条指令,进行相应的操作。接着从存储器取出第二条指令,再执行这条指令。依此类推。通常把取指令的一段时间称为取指周期,而把执行指令的一段时间称为执行周期。因此控制器反复交替地处在取指周期与执行周期之中。每取出一条指令,控制器的指令计数器就加1,从而为取下一条指令做好准备,这也就是指令为什么在存储器中顺序存放的原因。
通常把运算器和控制器合在一起称为中央处理器,简称CPU。而将CPU和存储器合在一起称为主机。由于计算机仅仅使用0和1这两个二进制数字,所以使用位(bit)作为数字计算机的最小信息单位。当CPU向存储器送入或从存储器取出信息时,不能存取单个的bit,而以字节(Byte)或者字(Word)等较大的信息单位来工作。一个字节由8位二进制信息组成,而一个字至少由一个以上的字节组成。通常把组成一个字的二进制位数称为字长。例如,微型机的字长可以少至8位,而大型机的字长可以多达64位。
由于计算机使用的信息既有指令又有数据,所以计算机字既可以代表指令,也可以代表数据。如果某字代表了处理的数据,则称为数据字;某字为一条指令,则称为指令字。指令和数据都存放在内存中。从形式上看,它们都是二进制数据,似乎很难分辨哪些是指令,哪些是数据。控制器是完全可以区分二者的。一般来讲,取指周期中从内存读出的信息流是指令流,它流向控制器;而在执行周期中从内存读出的信息流是数据流,它从内存流向运算器。显然,某些指令在执行过程当中需要两次访问内存,一次是取指令,另一次是取数据。
联系客服