中央处理器
重点 #
- 控制器的基本组成,包含哪些部件,核心部件是什么;
- 时序系统中的几个概念:指令周期、机器周期、节拍、节拍脉冲;
- CPU中的专用寄存器有哪些(PC、IR、MDR、MAR、PSWR);
- 根据CPU内部的数据通路写出指令的微操作流程;
- 组合逻辑控制器和微程序控制器的区分;
- 区分概念:微命令和微操作、指令和微指令、程序和微程序、存储器与控制存储器等;
- 微指令的设计,操作控制字段的编码方式(直接控制、最短编码、字段编码),后继微地址的断定方式。
一、控制器的组成和功能 #

控制器主要包括:指令部件、时序部件、微操作信号发生器、中断控制逻辑。
1、指令部件 #
程序计数器PC
功能:存放后继指令(下一条指令)的地址。
执行程序时:
- 首地址-->PC;
- 每取一指令PC+1;
- 转移地址-->PC。 注意:取指刚开始时,PC中包含的是现行指令的地址。取指完成后,PC中包含的则是后继指令的地址。
指令寄存器IR
功能:存放现行指令。
指令从内存中取出后,要放到IR中,在IR中被分析,然后由控制器发出各种控制信号,控制有关功能部件执行指令。
指令译码器ID
功能:分析指令所代表的操作,产生相应的控制信号。
一条指令的操作码部分到底代表什么操作,由指令译码器(操作码译码器)来分析。
程序状态字寄存器PSWR(Programming Status Word Register)
程序状态字寄存器PSWR也叫状态标志寄存器,用来存放程序的工作方式和运行结果,其内容称为程序状态字PSW(Programming Status Word)。
PSW是参与控制程序运行的重要依据之一,PSWR的内容主要包括以下部分:
- 特征位:反映当前程序的执行状态。如进位位、溢出位、零位、负位、奇偶位;
- 编程设定位:由CPU编程设定,以决定程序的调试、对中断的响应、程序工作方式等。如跟踪位、允许中断位;
- 工作方式字段。
2、时序部件 #
功能:产生计算机各功能部件协同运行所需的各种时序信号。
一条指令,对应着一组有序的微操作序列。要保证各个微操作控制信号能准时, 有序地出现,就需时序电路产生时序信号来控制。
- 脉冲源:机器主频,机器周期工作脉冲的基准信号;
- 启停控制逻辑:根据计算机的需要,可靠地开放或封锁脉冲,控制时序信号的发生或停止,实现对整个机器的正确启动或停止;
- 节拍信号发生器:节拍信号发生器又称脉冲分配器。脉冲源产生的脉冲信号,经过节拍信号发生器后产生出各个机器周期中的节拍信号,如分频信号。用以控制计算机完成每一步微操作。
3、微操作序列形成部件(核心) #
微操作信号发生器
功能:综合指令部件提供的操作信号,时序部件产生的时序信号,各功能部件的反馈信号,形成不同机器指令所需的不同微操作命令序列。可由组合逻辑控制电路或微程序控制电路来实现。
4、其他部件 #
中断控制逻辑:处理异常、特殊情况
地址形成部件:形成操作数的有效地址
5、控制器的功能 #
基本功能:对指令流和数据流在时间和空间上实现正确的控制。
从控制器对指令执行的控制角度来阐述功能:
- 取指令:程序执行前,要把其首地址送PC,据PC的值,到内存中去取出指令放到IR中,同时,PC+1→PC,或转移地址→PC,这样自动形成后继指令的地址。取指过程完成;
- 分析指令:指令在IR中进行分析。对操作码部分译码后,送至微操作序列形成部件,形成指令所对应的一系列微操作,地址码部分送至地址形成部件,形成操作数的有效地址;
- 执行指令:从有效地址中取出操作数,并按操作性质完成指令代表的各种操作。 计算机不断重复、顺序地执行上述三种基本操作,直至遇到停机指令或外来干预为止。
此外,控制器还应具有以下功能:控制主机与I/O设备交换信息;中断控制,处理异常情况或特殊请求。
6、控制器的实现方式 #
微操作信号发生器是控制器的核心,主要因为控制器对机器其余各部件的控制,是通过微操作信号发生器发出的控制信号来实现的。 据微操作信号的产生方式不同,可把控制器分成:组合逻辑控制器、微程序控制器、组合逻辑和存储逻辑结合三类。
组合逻辑实现方式:是早期设计控制器的一种方法,以布尔代数为设计工具,以组合逻辑电路来构成微操作控制部件,每个微操作控制信号都由组合逻辑门电路产生。使用元件最少、操作速度最高。
微程序实现方式:使一条机器指令对应一个微程序,所有机器指令对应的微程序以0,1方式存入高速读取的控制存储器,执行一个微程序,就相当于执行该指令对应的微操作序列,从而实现了指令规定的操作。 特点:调试、修改方便,但速度不及组合逻辑快。如IBM 370系列机、PDP-11 、 VAX-11系列机,复杂指令集计算机等都用这样方法设计控制器。
组合逻辑和存储逻辑结合实现方式:这种控制器称为可编程逻辑阵列PLA(Programmable Logic Array)控制器,它综合了前两种实现方式的思想。PLA控制器实际上也是一种组合逻辑控制器,但与常规的组合逻辑控制器的硬联结构不同,它是可编程的。 PLA控制器是组合逻辑技术和存储逻辑技术结合的产物,克服了两者的缺点。
二、控制方式与时序系统 #
1、时序控制方式 #
- 同步控制(固定时序方式):在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变,都由统一的时序信号控制。由于不同指令的执行时间不同,因此,同步控制方式要选最长的指令执行时间做标准。控制简单,设计方便,实现容易,费时,效率低。
- 异步方式(分散控制):机器没有统一的时钟,各部件分设自己的时钟,按照微操作实际所需,由应答线路来控制。机器执行指令,需多少时间,就分配多少时间。特点:省时、效率高、但控制复杂。
- 联合控制:同步与异步结合使用,绝大多数执行时间差不多的指令,用同步,执行时间差异大的,用异步。例如,功能部件内用同步,功能部件间用异步。这种控制方式较折中,被广泛采用。
2、时序系统 #
指令周期:从取指开始,到执行完该指令所需的全部时间。不同指令,其指令周期长短不一。
机器周期(CPU周期):一条指令可以分成一些基本操作,如:取指、取数、存数等,完成每个基本操作所需的时间,称为一个机器周期,也称为CPU周期;由于CPU访问一次内存所花的时间较长,故常把CPU访存一次所需的时间来规定为一个CPU周期。
一个指令周期通常包含1~n个机器周期。机器周期常用操作功能来命名:
- 取指——CPU取指周期
- 执行——CPU执行周期
- 间址——CPU间址周期
- 处理中断——CPU中断周期 为标志CPU工作在哪个周期,每个周期设置一个周期状态触发器,CPU进入此周期,触发器为1,否则为0。
节拍:计算机中最基本的时间单位。
将一个机器周期分成若干各个相等的时间段,每一时间段完成一个或多个微操作,每个时间段对应一个电位信号,称为节拍电位信号。有些微型机中,不设节拍,而使用时钟周期,一个时钟周期就相当于 一个节拍。一个机器周期包含多个节拍。
工作脉冲:为了在一个节拍内产生几个不同的微操作控制信号,常在一个节拍内设置一个或多个工作脉冲,用以控制节拍内微操作的时序动作。也称为打入脉冲或触发脉冲。

两种常用的时序系统 机器周期—节拍—脉冲制:将一个机器周期,划分成若干个相等的时间段,每个时间段对应一个电位信号。

图中每个机器周期M中包括四个节拍T1~T4,每个节拍内有 一个工作脉冲P。
时钟周期制:在微型机中,只设机器周期和时钟周期,不设脉冲,时钟周期即做电位信号,其前沿和后沿又作为脉冲的触发信号。

三、CPU的总体结构 #
1、寄存器 #
通用寄存器: 通用寄存器有多种功能,不同计算机对通用寄存器的功能分配并不完全相同。有的计算机没有对各通用寄存器作特定任务上的分工,它们可被指定完成各种工作。命名也没有特殊意义,如,R0、R1、R2、…,等。有的计算机则为各通用寄存器分别规定某种基本任务,且按各自的基本任务命名,如累加器ACC、基址寄存器BX、计数寄存器CX、数据寄存器DX,等等。
专用寄存器: 专用寄存器是专门用来完成某一种特殊功能的寄存器。程序计数器PC用来存放正在执行的指令地址或接着要执行的下一条指令的地址;指令寄存器IR用来存放从存储器中取出的正在执行的指令。当指令从内存取出暂存在指令寄存器IR后,在执行指令的过程中,指令寄存器IR的内容不允许发生变化,以保证实现指令的全部功能;存储器数据寄存器MDR(MemoryDataRegister)用来暂时存放由内存储器读、写出的一条指令或一个数据字;存储器地址寄存器MAR(MemoryAddressRegister);程序状态字寄存器PSWR。
2、数据通路 #
CPU内部数据通路:CPU内部各功能部件之间传递信息的路径叫做数据通路。
微操作序列是与CPU的内部数据通路密切相关的,不同的数据通路就有不同的微操作序列。数据通路通常为内部总线。内部总线是CPU内部各寄存器和运算器间的一条信息传送的公共通路,分为单总线结构、双总线结构、多总线结构。

3、指令的执行过程 #
指令的执行过程取决于指令的具体类型、CPU的结构和数据通路。一条指令运行过程可以分为三个阶段:取指令、分析指令和执行指令。
取指令:取指令阶段完成的任务是将现行指令从内存中取出来并送至指令寄存器中去。具体的操作如下:
- 将程序计数器PC中的内容送至存储器地址寄存器MAR并送至地址总线 AB;
- 向存储器发读命令;(访存操作)
- 将读取的现行指令通过数据总线DB送到存储器数据寄存器MDR;
- 存储器数据寄存器MDR的内容送到指令寄存器IR中;
- 将PC的内容递增,为取下一条指令做好准备;
上述取指令的过程可用符号表示为:
| 序号 | 微操作 |
|---|---|
| 1 | (PC)→MAR |
| 2 | Read |
| 3 | M[MAR]→MDR |
| 4 | (MDR)→IR |
| 5 | (PC)+1→PC |
机器数据通路确定后,对于指令系统中所有的指令,在取指令阶段所执行的动作是一样的,所需要的操作控制信号也是相同的。完成取指阶段任务的时间称为取指周期。
分析指令:取出指令后,机器立即进入分析指令阶段。 由指令译码器结合当前机器状态对指令进行分析,确认指令要完成的功能、各操作数采用的寻址方式等。 对于无操作数指令的操作较简单,只要译码识别出指令即可转入执行指令阶段。 对于有操作数指令就需要读取操作数,因此首先要计算出操作数的有效地址。注意:通常在时间上将分析指令和取指令阶段安排在一个CPU周期内。
执行阶段:执行阶段完成指令规定的各种操作,形成稳定的运算结果,并将其存储起来。指令执行所需具体时间既与指令类型有关,也与寻址方式有关。如加法指令所需时间比乘法指令短,立即寻址的指令所需时间比间接寻址指令短。完成指令执行阶段任务所需的时间称为指令的执行周期。
微操作流程示例:写出加法指令ADD @R0,R1在图所示单总线结构CPU数据通路中的微操作流程。
| 序号 | 微操作 |
|---|---|
| 1 | (PC)-->MAR,(PC)-->Y |
| 2 | READ |
| 3 | M[MAR]-->MDR |
| 4 | (MDR)-->IR |
| 5 | (Y)+1-->Z |
| 6 | (Z)-->PC |
| 7 | (R0)-->MAR |
| 8 | READ |
| 9 | M[MAR]-->MDR |
| 10 | (MDR)-->Y |
| 11 | (R1)+(Y)-->Z |
| 12 | Z-->MDR |
| 13 | WRITE |
四、微程序控制器 #
微程序技术是1951年由英国剑桥大学的Wilkes教授提出的,主要是想用软件方法来形成微操作信号,以存储逻辑控制来取代组合逻辑控制,从而克服组合逻辑控制器设计、调试、维修困难等缺点。组合逻辑控制器设计过程比较繁琐,设计好后,调试修改困难,一个微操作表达式的修改,可能会导致全部电路的改动。
微命令和微操作: 控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令,它是构成控制信号序列的最小单位。例如:打开或关闭某个控制门的电位信号,某个寄存器的打入、置位、复位脉冲等。而执行部件接受微命令后所进行的操作,叫做微操作。微操作可分为相容性和相斥性两种。
微指令和微地址: 微指令是一组实现一定操作功能的微命令的组合,是控制存储器中的一个单元的内容,微指令在控制存储器中存放时对应着一个微地址。与机器指令类似,一条微指令也通常由微操作码和微地址码两大部分组成。微操作码字段,又称操作控制字段,用以产生某一步操作所需的各微操作控制信号;微地址码字段,又称顺序控制字段,用以控制产生下一条要执行的微指令地址。
例如:
微指令字长为23位,操作控制部分为17位,每一位表示一个微命令,如第1位表示运算器的加操作,第2位表示运算器的减操作,……,第17位表示程序计数器加1操作。控制位为1时,表示发出微命令,控制执行部件执行该微操作;当某一位为0时,表示不发出微命令。顺序控制部分用来产生下一条微指令的微地址。顺序控制字段有6位,其中, 后4位(20~23位)用来直接给出下一条微指令的地址。 第18,19两位是判别测试标志,需要根据两位的状态决定 下一条微指令的微地址。

微周期: 从控制存储器中读取一条微指令并执行相应的微命令所需的全部时间称为微周期。在微程序控制的机器中,微周期是它的主要时序信号。通常一个时钟周期为一个微周期。
微程序: 一系列微指令的有序集合就是微程序。每一条机器指令都对应一个微程序。
控制存储器与微地址 存放微程序的存储器称为控制存储器,也称为微程序存储器。一般计算机指令系统是固定的,因而实现指令系统的微程序也是固定的,所以控制存储器通常用只读存储器实现。 控制存储器中的一个单元的内容,是一条微指令。存放微指令的控制存储器的单元地址称为微地址。
综上所述,可以总结为:
- 微操作:CPU 内部完成的一项基本操作,如 。
- 微命令:控制某个微操作执行的控制信号。
- 微指令:在一个微周期内发出的全部微命令的组合。
- 微程序:完成一条机器指令的若干条微指令序列。
五、微指令编码 #
微指令编码方式指的是操作控制字段的编码方式,指的是如何对微指令的操作控制字段进行编码来表示各个微命令,以及如何把编码译成相应的微命令。
1、直接控制 #
微操作码的每一位代表一个微命令,直接对应一种微操作。

- 优点:结构简单,并行性强,操作速度快;
- 缺点:微指令字太长,信息效率低。
- 在实际机器中,微命令数达几百个,使微指令字长达到难以接受的地步。同时在几百个微命令中有很多是互斥的,不允许并行操作,将它们安排在一条微指令中是毫无意义的,只会使信息效率降低。因此这种方法在实际机器中,很少单独采用,往往与其它方法混合使用,仅有部分位采用直接控制法。
2、最短编码法 #
直接控制法使微指令最长,最短编码法则走向另一个极端,使微指令最短。 这种编码法是将所有的微命令进行统一的二进制编码,用不同的码点去表示不同的微命令,通过译码器产生微操作控制信号。

- 优点:微指令字长最短
- 缺点:要通过微命令译码器译码才能得到所需的微命令。微命令越多,译码器就越复杂。同时,这种方法在某一时间只能产生一个微命令,不能充分利用 机器硬件所具有的并行性,使得机器指令对应的微程序变得很长,而且对于某些要求在同一时刻同时动作的相容性微操作将无法实现。
3、字段直接编码法 #
这种编码法实际是上述两种方法的折中。它是将微指令操作控制字段划分为若干个子字段,每个子字段的所有微命令进行统一编码。因此在这种方法中 ,不同子字段的不同编码表示不同的微命令。

字段直接编码法遵循的原则:
- 把互斥的微命令(即不允许同时出现的微命令)划分在同一字段内,相容的(即允许同时出现)微命令划分在不同字段内。
- 字段的划分应与数据通路结构相适应;
- 一般每个子字段应留出一个状态,表示本字段不发任何微命令;例如,当某字段的长度为三位时,可有000~111八种状态。通常用000表示不做任何操作,其余七种状态只能表示七个互斥的微命令。
- 每个子字段所定义的微命令数不宜太多,否则将使微命令译码复杂。
4、微指令的编码计算 #
- 下地址字段位数:
例如控制存储器为 : 所以后继微地址至少 9 位。
- 条件测试字段位数:
例如有 6 个外部条件,至少需要 3 位。
- 编码型微操作字段:若每个互斥类含 个微命令,则通常需要:
其中 “+1” 用于表示该类本周期不发控制信号。
六、微程序的顺序控制 #
1、初始微地址的形成(入口) #
根据机器指令结构以及采用的实现方法的差异,功能转移可以具有以下几种方式。
一级功能转移:当机器指令操作码字段的位数和位置均固定时,可直接使用操作码作为微地址的低位。
多级功能转移:如果机器指令的操作码的位数和位置不固定,则需采用二级功能转移。所谓二级功能转移是指先按指令类型标志转移,以区分出哪一类指令。在每类指令中假定操作码的位置和位数是固定的,第二级即可按操作码区分出具体是哪条指令,以便转移到相应微程序入口。
2、后继微地址的形成 #
找到微程序的初始微地址后,可以开始执行微程序。每条微指令执行完毕后,都要根据其顺序控制字段的规定,形成后继微地址。
增量方式(顺序一转移方式):增量方式与机器指令的顺序控制方式相似,可以设置微程序计数器PC。 当微程序按地址递增顺序执行时,后继微地址是现行微地址加上一个增量(通常为1)。当微程序转移或调用微子程序时,由微指令顺序控制字段产生转移微地址。
断定方式:断定方式是指后继微地址可由设计者指定或由设计者指定的测试判定字段控制产生。 采用断定方式的后继微地址一般由两部分组成:非因变分量和因变分量。非因变分量是指由设计者直接指定的部分,一般是微地址的高位部分。因变分量是根据判定条件产生的部分,一般对应微地址的低位部分。
评论
0评论功能待配置数据库后启用。