5.1.1CPU的功能
专门用来完成此项工作的计算机部件称为中央处理器,通常简称CPU。
1.CPU四方面的基本功能:指令控制,操作控制,时间控制,数据加工
5.1.2CPU的基本组成
运算器和控制器是组成CPU的两大核心部件。

控制器 出程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。控测器的主要功能有:
(1)从指令cache中取出一条指令,并指出下 条指令在指令cache中的位置。
(2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作。
(3)指挥并控制CPU、数据cache和输入/输出设备之间数据流动的方向。
运算器由算术逻辆运算单元(ALU)、通用态存器、数据缓冲寄存器(DR)和程序状态字寄存器(状态条件寄存器,PSWR)组成,它是数据加工处理部件。
运算器有两个主要功能:
(1)执行所有的算术运算。
(2)执行所有的逻辑运算,并进行逻辑测试,如零测试或两个值的比较。
5.1.3 CPU中的主要寄存器
各种计算机的CPU可能有这样或那样的不同,但是在CPU中至少要有六类奇存器,如图5.1所示。这些寄存器是:数据缓冲寄存器(DR),指令寄存器(IR),程序计数器(PC),数据地址寄存器(AR),通用寄存器(R0-R3),程序状态字寄存器(PSWR)。
(1)数据缓冲寄存器(DR)数据缓的者有器对来暂时有放ALU的运算结果,或由数据在储器读出的一个数据字,或来自外部接口的一个数据字,缓冲寄存器的作用:
①作为ALU运算结果和通用寄存器之间信息传送中时间上的缓冲:
②补偿CPU和内存、外围设备之间在操作速度上的差别。
(2指令寄存器(IR)直径寄存器用来保存当前正在执行的一条抬令,当执行一条指令时,先把它从很令存伴基(简称指在)读出,然后再传送至指令寄车器,洁令划分为操作码和地址码字段,中二进制数字组成。为了执行任何给定的扫令,必须对摸作码进行甚试。以受识别要求的操作,一个叫像指令详码落的部修就是做这项工作的,指令寄在器中投有书字段OP的输出就是行令详码器前输入,操作码一经详码后,即可向操作控制器发出具体操作的特定信号。
(3)程序计数器(PC)为了保证程序能够连续地执行下去,CPU必须只有某些手段来确定下一条很令的地址。而理序计数器(PC)正是起到这种作用,所以它又称为指令计数器。
(4)数据地址寄存器(AR)
(5)通用寄存器
(6)程序状态字寄存器(PSWR)
5.2指令周期
5.2.1指令周期的基本概念
1、指令周期是取出一条指令并执行这条指令的时间。
2、指令周期常常用若干个CPU周期数来表示,CPU周期又称为机器周期。CPU访问一次内存所花的时间较长,因此通常用内存中读取一个指令字的最短时间来规定CPU周期。

3、单周期 CPU和多周期 CPU单周期CPU在一个时钟周期内完成从指令取出到得到结果的所有工作,指令系统中所有指令执行时间都以最长时间的指令为准,因而效率低,当前较少采用。多周期CPU把指令的执行分成多个阶段,每个阶段在一个时钟周期内完成,因而时钟周期短,不同指令所用周期数可以不同。以下仅讨论多周期CPU。

5.2.2 MOV指令的指令周期

1.取指周期
(1)程序计数器PC中装入第一条指令地址101(八进制);
(2)PC的内容被放到指令地址总线ABUS(I)上,对指存进行译码,并启动读命令;
(3)从101号地址读出的MOV指令通过指令总线IBUS装入指令寄存器IR;
(4)程序计数器内容加1,变成102,为取下一条指令做好准备;
(5)指令寄存器中的操作码(OP)被译码;
(6)CPU识别出是MOV指令。至此,取指周期结束。
2.执行指令阶段(执行周期)
MOV指令的执行周期阶段,CPU的动作如下:
(1)操作控制器(OC)送出控制信号到通用寄存器,选择R;(10)作源寄存器,选择R。作目标寄存器;
(2)OC送出控制信号到ALU,指定ALU做传送操作;
(3)OC送出控制信号,打开ALU输出三态门,将ALU输出送到数据总线DBUS上。注意,任何时候DBUS上只能有一个数据;
(4)OC送出控制信号,将DBUS上的数据打入到数据缓冲寄存器DR(10):
(5)OC送出控制信号,将DR中的数据10打入到目标寄存器Ro,R。的内容由00变为10:至此,MOV指令执行结束。

5.2.3LAD指令的指令周期

1.LAD指令的取指周期
2.LAD指令的执行周期
LAD指令的执行周期CPU执行的动作如下:
(1)操作控制器OC发出控制金令打开IR输出三态门,将指令中的直接地址码6放到数据总线DBUS上;
(2)OC发出操作命令,将地址码6装入数存地址寄存器AR:
(3)OC发出读命令,将数存6号单元中的数100读出到DBUS上;
(4)OC发出命令,将DBUS上的数据100装入缓冲寄存器DR;
(5)OC发出命令,将DR中的数100装入通用寄存器R,原来R;中的数10被冲掉。

5.2.4ADD指令的指令周期

5.2.5STO指令的指令周期
5.2.6jmp指令的指令周期
