第五章重点内容
1、基本概念
名称 | 概念 |
---|---|
微命令 | 控制器通过控制线向部件发送的各种控制信号/操作命令 |
微操作 | 部件接收微命令以后所完成的操作,微操作是执行部件中最基本的、不可再分解操作 |
微指令 | 一组实现一定操作功能的微命令的组合形式,称为微指令。由操作控制和顺序控制两大部分组成 |
微程序 | 一条机器指令的功能是由多条微指令组成的序列来实现的,这个微指令序列称为微程序 |
指令流水线 | 指指令执行步骤的并行。将指令流的处理过程划分为取指令、指令译码、执行、写结果等几个并 行处理的过程段 |
算术流水线 | 是指运算操作步骤的并行,例如流水乘法器、流水除法器、流水浮点运算器等 |
处理机流水线 | 又称为宏流水线,是指程序步骤的并行。由一串级联的处理机构成流水线的各个过程段,每台 处理机负责某一特定的任务 |
2、CPU 的功能
- (1)指令控制
控制程序的执行顺序。 由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按照程序规定的顺序进行。 - (2)操作控制
控制器产生取指令、执行指令的所需要的全部操作控制信号,并依序送往相应的部件,从而控制这些部件按 指令的要求完成规定的动作。 - (3)时间控制
对各种操作实施时间上的定时; 在计算机中,各种指令的操作信号和整个执行过程均受到时间的严格定时和事件先后顺序控制(应在规定的 时间点开始,在规定的时间内结束) ,以保证计算机有条不紊地自动工作。 - (4)数据加工
完成指令规定的运算操作。
3、熟悉典型模型机结构、指令和数据的传输通路
CPU模型:
红圈:控制器
绿圈:运算器

双总线结构数据通路:
单总线结构只要把下面的总线删去,把来回的单向箭头改成双向:
4、指令周期流程
(1)根据模型机和数据通路结构,分析指令周期流程。
操作控制器:根据指令操作码和时序信号,产生各种操作控制信号。操作控制信号应在规定的时间点开始有效、在规定的时间范围内失效
时序产生器:据时钟周期信号,产生各种时间定时信号(指令周期、机器周期、时钟周期),相当于设置各种定时时间的闹钟

(2)指令周期流程实际上是一个指令流、数据流在数据通路上的流动过程。
例子:

例题:
参见图5.15的数据通路。画出存数指令“STA R1,(R2)”的指令周期流程图,其含义是寄存器R1的内容传送到(R2)为地址的主存单元中。标出各微操作信号序列。

参见图5.15的数据通路。画出取数指令“LDA (R3),R0”的指令周期流程图,其含义是将(R3)为地址主存单元的内容取至寄存器R0中。标出各微操作信号序列。


某计算机有如下部件:ALU、移位器、主存M、主存地址寄存器MAR、主存数据寄存器MDR、指令寄存器IR、通用寄存器R0、R1、R2、R3、暂存器C和D。
(1)请将各逻辑部件组成一个数据通路,并标明数据流动方向。
(2)画出“ADD (R1),(R2)+”指令的指令周期流程图,指令的含义与PDP-11相同。
((R1))+((R2))→((R2)) ;寄存器间接寻址
(R2)+1 →(R2) ;R2寄存器自增


5、指令周期、机器周期、时钟周期三级时序
-
指令周期:取出一条指令并执行这条指令所需要的时间。
-
CPU 周期:常称为机器周期,每条指令的执行过程可划分为若干个阶段,如取指令、取源操作数、取目的操作数、执行运算、保存结果等阶段,每个阶段所对应的时间。
时钟周期(节拍脉冲,T周期):每个阶段由若干有序的、不可再分的基本操作过程构成,如从数据 cache 中取一个源操作数送到R0,包括:
地址→AR、AR→M 、M→DR、DR→R0 等基本操作过程,每个操作过程所对应的时间。
显然,指令周期对应一条指令,CPU 周期对应一个阶段,时钟周期对应一个基本操作过程。
因此,时间应按指令周期、CPU 周期、时钟周期进行分级控制,这就是三级时序体制。

6、微程序控制器的原理及组成框图
(1)基本原理
设计阶段:首先,根据 CPU 的数据通路结构、指令操作定义等,画出每条指令的指令周期流程图(具体到每 个时钟周期、微操作、微命令)。然后,根据微指令格式、指令周期流程图编写每条指令的微程序。最后, 把整个指令系统的微程序(其中取指令的微程序段是公用的)固化到控制存储器中。
运行阶段:首先,逐条执行取指令公用微程序段,控制取指令操作。然后,根据指令的操作码字段,经过变 换,找到该指令所对应的特定微程序段,从控制存储器中逐条取出微指令,根据微操作控制字段,直接或经过译码产生微命令(控制信号),控制相关部件完成指定的微操作。一条微指令执行以后,根据微地址字段 取下一条微指令。
(2)构成框图

控制存储器 ROM:存放全部指令系统的微程序;
微地址寄存器 uPC:具有自动增量功能,给出顺序执行的下条微指令地址;
微命令寄存器 uIR:存放由控制存储器读出的一条微指令。
地址转移逻辑:
- ①根据指令寄存器 IR 的操作码,定位到该指令对应的微程序段,uPC 初值;
- ②如果判 断条件 P/状态条件=FALSE,则 uPC=uPC +1,顺序执行;
- ③如果判断条件 P/状态条件=TRUE,则 uPC=根据策 略形成新的微指令地址,程序转移。
7、流水线中资源相关、数据相关、控制相关问题
资源相关:是指多条指令进入流水线后,在同一流水线时钟周期内争用同一个功能部件所发生的冲突。
数据相关:在一个程序中,如果必须等前一条指令执行完毕以后,才能执行后一条指令(即后一条指令需要引 用前一条指令的结果数据),那么这两条指令就是数据相关的。
包括:
- 写后读相关(RAW)
例子:
I1: LDA R1, A ; M(A)→R1, M(A)是存储器单元
I2: ADD R2, R1 ; (R2)+(R1)→R2 - 读后写相关(WAR)
例子:
I3: ADD R3, R4 ; (R3)+(R4)→R3
I4: MUL R4, R5 ; (R4)×(R5)→R4 - 写后写相关(WAW)
例子:
I5: LDA R6, B ; M(B)→R6, M(B)是存储器单元
I6: MUL R6, R7 ; (R6)×(R7)→R6
控制相关:控制相关冲突是由转移类指令引起的。当执行转移类指令时,可能为顺序取下条指令;也可能转移 到新的目标地址取指令。如果流水线顺序取指令,而程序却需要转移时,进入流水线的指令并不是将要执行的 指令,或者转移的目标指令可能还没有进入流水线,从而使流水线发生断流。