CPU功能和组成
CPU的功能
指令控制
控制程序按照顺序执行
操作控制
传送不同的信号
时间控制
各种操作的同步
数据加工
算数逻辑运算
中断处理
对异常情况和特殊请求的处理
CPU的基本组成

控制器与运算器
控制器
由程序计数器PC、指令寄存器IR、指令译码器、操作控制器和时序产生器组成
运算器
由算数逻辑单元ALU、累加寄存器AC、数据缓冲寄存器DR和状态条件寄存器PSW组成

重要的寄存器
数据缓冲寄存器DR
存放从cache读出的字或来自外部接口的字或ALU运算结果
写数据cache时也先用DR暂存
用来作为ALU运算结果和通用寄存器之间信息传送时时间上的缓冲
补偿CPU和内存、外设之间速度的差别
指令寄存器IR
用来保存当前正在执行的一条指令
指令的操作码会流向指令译码器,译码后即可向控制器发出信号
程序计数器PC
也叫指令计数器。用来保存下一条指令的地址
程序开始执行前先把程序的第一条指令所在地址置入PC
CPU会自行修改PC的值
地址寄存器AR
用来保存当前处理器访问的数据cache中的单元地址
通用寄存器R0-R3
不同的计算机的通用寄存器数量不同。可以几十上百个。教学举例通常使用四个
为ALU提供暂存数据的工作区
其中的累加寄存器AC暂存ALU的运算结果
状态条件寄存器PSW
根据算数结果、逻辑指令等信息得到了状态条件
包括运算结果进位标志C,运算结果溢出标志V,运算结果为0表示Z,最算结果为负标志N
每个标志位由一个触发器保存
保存中断和系统工作状态等信息
寄存器详细解释
1. 数据寄存器
数据寄存器(Data Register,DR)又称数据缓冲寄存器,其主要功能是作为CPU和主存、外设之间信息传输的中转站,用以弥补CPU和主存、外设之间操作速度上的差异。
数据寄存器用来暂时存放由主存储器读出的一条指令或一个数据字;反之,当向主存存入一条指令或一个数据字时,也将它们暂时存放在数据寄存器中。
数据寄存器的作用是 :
(1)作为CPU和主存、外围设备之间信息传送的中转站;
(2)弥补CPU和主存、外围设备之间在操作速度上的差异;
(3)在单累加器结构的运算器中,数据寄存器还可兼作操作数寄存器。
2. 指令寄存器
指令寄存器(Instruction Register,IR)用来保存当前正在执行的一条指令。
当执行一条指令时,首先把该指令从主存读取到数据寄存器中,然后再传送至指令寄存器。
指令包括操作码和地址码两个字段,为了执行指令,必须对操作码进行测试,识别出所要求的操作,指令译码器(Instruction Decoder,ID)就是完成这项工作的。指令译码器对指令寄存器的操作码部分进行译码,以产生指令所要求操作的控制电位,并将其送到微操作控制线路上,在时序部件定时信号的作用下,产生具体的操作控制信号。
指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码,即可向操作控制器发出具体操作的特定信号。
3. 程序计数器
程序计数器(Program Counter,PC)用来指出下一条指令在主存储器中的地址。
在程序执行之前,首先必须将程序的首地址,即程序第一条指令所在主存单元的地址送入PC,因此PC的内容即是从主存提取的第一条指令的地址。
当执行指令时,CPU能自动递增PC的内容,使其始终保存将要执行的下一条指令的主存地址,为取下一条指令做好准备。若为单字长指令,则(PC)+1,若为双字长指令,则(PC)+2,以此类推。
但是,当遇到转移指令时,下一条指令的地址将由转移指令的地址码字段来指定,而不是像通常的那样通过顺序递增PC的内容来取得。
因此,程序计数器的结构应当是具有寄存信息和计数两种功能的结构。
4. 地址寄存器
地址寄存器(Address Register,AR)用来保存CPU当前所访问的主存单元的地址。
由于在主存和CPU之间存在操作速度上的差异,所以必须使用地址寄存器来暂时保存主存的地址信息,直到主存的存取操作完成为止。
当CPU和主存进行信息交换,即CPU向主存存入数据/指令或者从主存读出数据/指令时,都要使用地址寄存器和数据寄存器。
如果我们把外围设备与主存单元进行统一编址,那么,当CPU和外围设备交换信息时,我们同样要使用地址寄存器和数据寄存器。
5. 累加寄存器
累加寄存器通常简称累加器(Accumulator,AC),是一个通用寄存器。
累加器的功能是:当运算器的算术逻辑单元ALU执行算术或逻辑运算时,为ALU提供一个工作区,可以为ALU暂时保存一个操作数或运算结果。
显然,运算器中至少要有一个累加寄存器。
6. 程序状态字寄存器
程序状态字(Program Status Word,PSW)用来表征当前运算的状态及程序的工作方式。
程序状态字寄存器用来保存由算术/逻辑指令运行或测试的结果所建立起来的各种条件码内容,如运算结果进/借位标志(C)、运算结果溢出标志(O)、运算结果为零标志(Z)、运算结果为负标志(N)、运算结果符号标志(S)等,这些标志位通常用1位触发器来保存。
除此之外,程序状态字寄存器还用来保存中断和系统工作状态等信息,以便CPU和系统及时了解机器运行状态和程序运行状态。
因此,程序状态字寄存器是一个保存各种状态条件标志的寄存器
操作控制器和时序产生器
数据通路: 各寄存器传递信息的通路
时序产生器: 对各种操作信号进行时间上先后顺序的控制
操作控制器: 为数据通路的建立提供各种操作信号. 操作信号提供的依据是指令操作码和时序信号, 主要有三种类型
时序逻辑型:硬布线控制器
存储逻辑型:微程序控制器
混合型:前两者的组合
1. 硬布线控制器
硬布线控制器,它是采用时序逻辑技术来实现的,其操作控制信号形成部件是由门电路组成的复杂树形网络。这种方法是分立元件时代的产物,以使用最少器件数和取得最高操作速度为设计目标。 硬布线控制器的最大优点是速度快,但是时序、控制信号形成部件的结构不规整,使得设计、调试、维修较困难,难以实现设计自动化。
2. 微程序控制器
微程序控制器是采用存储逻辑来实现的,也就是把微操作信号代码化,使每条机器指令转化成为一段微程序并存入一个专门的存储器(控制存储器)中,微操作控制信号由微指令产生。这是我们学习的重点。 微程序控制器的设计思想和时序逻辑设计思想截然不同。它具有设计规整、调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计,已成为当前控制器的主流。但是,由于它增加了一级控制存储器,所以指令执行速度比组合逻辑控制器慢。
3. 混合型
这种控制器称为PLA控制器,它是吸收前两种的设计思想来实现的。
Last updated