FT1 FT2 FT3 ST0 ST1 ST2 ST3 ST0 ST1 ST2 ST3 DT0 DT1 ET0 ET1 ET2 ET3 Read,(PC)+1→PC (MDR)→IR 1→ST (PC)→MAR Read,(PC)+1→PC (MDR)→Y 置Repeat,1→ST (R0)+Y→MAR Read (MDR)→TEMP 清Repeat,1→DT (R1)→MAR Read,1→ET (TEMP)→Y (MDR)-(Y) →MDR Write END
(3)MOV (R0)+,(R1) 周期、节拍 FT0 FT1 FT2 FT3 ST0 ST1 ST2 ST3 DT0 DT1 ET0 ET1 操作流程 (PC)→MAR Read,(PC)+1→PC (MDR)→IR 1→ST (R0)→MAR Read,(R0)+1→R0 (MDR)→TEMP 1→DT (R1)→MAR Read,1→ET (TEMP)→MDR Write,END
6.7 试述组合逻辑控制器与微程序控制器的组成差别?
答:组合逻辑控制器采用组合逻辑技术实现,其微操作信号发生器是由门电路组成的复杂树形网络构成的。
微程序控制器采用存储逻辑实现,将微操作控制信号以编码字(即微指令)的形式存放在控制存储器中。执行指令时,通过依次读取一条条微指令,产生一组组操作控制信号,控制有关功能部件完成一组组微操作。
微程序控制器的设计思想和组合逻辑设计思想截然不同。它具有设计规整,调试、维修以及更改、扩充指令方便的优点,易于实现自动化设计。但是,由于它增加了一级控制存储器,所以指令的执行速度比组合逻辑控制器慢。
6.8 何谓微命令、微操作、微指令、微周期? 答:
1)微命令:微命令是构成控制信号序列的最小单位。通常是指那些直接作用于部件或控制门电路的控制命令。 2)微操作:由微命令控制实现的最基本的操作称为微操作。
3)微指令:以产生一组微命令,控制完成一组微操作的二进制编码字称为微指令。微指令存放在控制存储器中。一条微指令通常控制实现数据通路中的一步操作过程。
4)微程序:一系列微指令的有序集合称为微程序。若干条有序的微指令构成的微程序,可以实现相应的一条
机器指令的功能。
6.9 微指令编码有哪几种常用方式?在分段编码方法中,分段的原则是什么?
答:微指令编码的常用方式有:直接控制法、最短编码法、字段直接编码法、字段间接编码法等。 分段编码方法也称字段直接编码法,其分段的原则是:
①把互斥的微命令(即不允许同时出现的微命令)划分在同一字段内,相容的(即允许同时出现)微命令划分在不同字段内。
②字段的划分应与数据通路结构相适应。
③一般每个子字段应留出一个状态,表示本字段不发任何微命令。 ④每个子字段所定义的微命令数不宜大多,否则将使微命令译码复杂。
6.10 什么是起始微地址?什么是后继微地址?有哪几种形成方法?
6.11 试写出在微程序控制的模型机中执行下列指令的微程序流程。
(1)ADD (R0),R1 (2)SUB X(R0),(R1) (3)MOV (R0)+,(R1)
主存储器M 6.12 右图为一CPU的结构框图。
(1)标明图中a、b、c、d四个寄存器的名称。 (2)简述取指令的操作流程。
a c (3)若加法指令格式与功能如下:
OP D
AC b 其功能为:(AC)+(D)→AC
试分析执行加法指令的操作流程。
+1 ALU d
状态 操作
寄存器 控制器
6.12题图
答:(1)a:MDR b:IR c:MAR d:PC
(2) 取指令的操作流程:
① (PC)→MAR,Read,PC+l→PC; 送指令地址,读主存,PC+l送PC ② M→MDR→IR; 取指令到IR。
(3) 设D为直接地址,则加法指令(AC)+(D)→AC的执行过程如下:
① (PC)→MAR,Read,PC+l→PC; 送指令地址,读主存,PC+l送PC ② (MDR)→IR; 取指令到IR
③ IR(D) →MAR,Read 按指令给出的直接地址访存,读取操作数 ④ (AC)+(MDR)→AC 执行加法运算,结果保存到AC
6.13 某计算机有如下部件:
ALU,移位寄存器,指令寄存器IR, 主存储器M,主存数据寄存器MDR,
主存地址寄存器MAR,通用寄存器R0~R3, 暂存器C和D。
试将各逻辑部件组成一个数据通路,并标明数据流动方向。
6.14 设R1、R2、R3、R4是CPU中的通用寄存器,请使用机器周期流程框图分别表示下列指令的执行流程。
(1)取数指令:LDA (R1),R2
该指令是S-R型双操作数指令,R1为源操作数,R2为目的操作数 (2)存数指令:STA R3,(R4)
该指令是R-S型双操作数指令,R3为源操作数,R4为目的操作数
6.15 某计算机的运算器为三总线(B1 、B2 、B3)结构,B1和B3通过控制信号G连通。算术逻辑部件ALU
具有ADD、SUB、AND、OR、XOR等5种运算功能,其中SUB运算时ALU输入端为B1-B2模式,移位器SH可进行直送(DM)、左移一位(SL)、右移一位(SR)3种操作。通用寄存器R0、R1、R2都有输入输出控制信号,用于控制寄存器的接收与发送,如下图所示。
B3
B3→R0 B3→R1 B3→R2 DM
SL SH SR
R0 R1 R2
ADD SUB G ALU AND OR XOR R0→B2 R2→B2 R1→B2
B2
B1←R0 B1←R2 B1←R1 B1
6.15题图
试分别写出实现下列功能所需的操作序列。 (1)4(R0)+(R1)→R1 (2)[(R2)-(R1)]/2→R1 (3)(R0)→R2
(4)(R0)∧(R1)→R0 (5)(R2)∨(R1)→R2 (6)(R2)⊕(R0)→R0 (7)0→R0
说明:∧表示与操作、∨表示或操作、⊕表示异或操作 答:(1)4(R0)+(R1)→R1
R0→B1,R0→B2,ADD,SL,B3→R0;
R0→B1,R1→B2,ADD,DM,B3→R1 (2)[(R2)-(R1)]/2→R1
R2→B1,R1→B2,SUB,SR,B3→R1;
(3)(R0)→R2
R0→B1,R0→B2,AND,DM,B3→R2;
(4)(R0)∧(R1)→R0
R0→B1,R1→B2,AND,DM,B3→R0;
(5)(R2)∨(R1)→R2
R0→B1,R1→B2,OR,DM,B3→R2;
(6)(R2)⊕(R0)→R0
R2→B1,R0→B2,XOR,DM,B3→R0;
(7)0→R0
R0→B1,R0→B2,XOR,DM,B3→R0;
6.16 现给出8条微指令I1~I8及所涉及的微命令(如下表所示)。请设计微指令控制字段格式,要求所使用的
控制位最少,并且保持微指令自身内在的并行性。
题6.16微指令表
微指令 I1 I2 I3 I4 I5 I6 I7 I8 a, b, c, d, e a, d, f, g b, h c c, e, g, i a, h, j c, d, h a, b, i 相关的微命令
6.17 请按断定方式实现下图的微程序流程的顺序控制。要求:
(1)给出微指令顺序控制字段格式(假定μMAR为6位)。 (2)给出各条微指令的二进制地址并编写实现此流程的微程序。 (3)画出地址修改逻辑电路。
A
B
IR6IR5=00 IR6IR5=01 IR6IR5=10 IR6IR5=11 a C E H K
CJ=0 CJ=1
b D I
F G
J
L
6.17题图
说明:图中每个方框代表一条微指令,分支点a由指令寄存器IR6IR5两位决定,分支点b由进位标志
CJ决定。
6.18 说明相关性对流水线的影响,并给出一些常用的解决方法。
6.19 假定某计算机的指令按取指、分析和执行三步骤处理,每步所需时间分别为tf 、td 、te,请分别计算满
足下列要求时,执行100条所花费的时间。 (1)依次串行执行。
(2)仅(K+1)取指与K执行重叠。 (3)仅(K+2)取指、(K+1)译码、K执行重叠。
6.20 在图6-53的流水线上处理下述程序段时会出现什么问题?如何解决这些问题?
(1)ADD R1,R2 (2)MOV R3,R1 (3)ADD R0,R4 (4)MOV (R4),R5
说明:前一个操作数为目的数,后一个操作数为源数。
6.21 单选题
(1)程序计数器的功能是___ D ___。
A. 存放微指令地址 B. 计算程序长度
C. 存放指令 D. 存放下条机器指令的地址
(2)CPU从主存取出一条指令并执行该指令的所有时间称为__ D ____。
A. 时钟周期 B. 节拍 C. 机器周期 D. 指令周期
(3)主存中的程序被执行时,首先要将从内存中读出的指令存放到___ D ___。
A. 程序计数器 B. 地址寄存器 C. 指令译码器 D. 指令寄存器
(4)在下列的部件中,不属于控制器的是___ B ___。
A. 程序计数器 B. 数据缓冲器 C. 指令译码器 D. 指令寄存器
(5)为了确定下一条微指令的地址而采用的断定方式的基本思想是___ C __。
A. 用程序计数器PC来产生后继微指令地址 B. 用微程序计数器μPC来产生后继微指令地址
C. 通过微指令顺序控制字段由设计者指定或由设计者指定的判别字段控制产生后继微指令地址。 D. 通过指令中指定一个专门字段来控制产生后继微指令地址 (6)构成控制信号序列的最小单位是__ C ___。
A. 微程序 B. 微指令 C. 微命令 D. 机器指令 (7)微程序控制器中,机器指令与微指令的关系是__ B ___。
A. 每一条机器指令由一条微指令来执行
B. 每一条机器指令由一段用微指令编成的微程序来解释执行 C. 一段机器指令组成的程序可由一条微指令来执行 D. 一条微指令由若干条机器指令组成
6.22 填空题
(1)控制器的主要功能包括 ① 、 ② 和 ③ 等三个功能。
答:① 控制指令的正确执行 ② 控制程序和教据的输入及结果的输出
③ 异常情况和特殊请求的处理法
(2)一般而言,CPU中至少有 ① 、 ② 、 ③ 、 ④ 、 ⑤ 和 ⑥ 六个寄存器。
答:① 程序计数器PC 、 ② 地址寄存器MAR 、 ③ 数据缓冲寄存器MDR(MBR) 、
④ 指令寄存器IR 、 ⑤ 累加寄存器AC 、 ⑥ 程序状态寄存器PSR
(3)微指令的编码方式有 ① 、 ② 和 ③ 等三种。
答:① 直接控制法 ② 最短编码法 ③ 字段直接编码法
(4)CPU周期也称为 ① 周期,一个CPU周期包括若干个 ② 。
答:① 机器周期 ② 节拍
(5)在程序执行过程中,控制器控制计算机的运行总是处于 ① 、分析指令和 ② 的循环之中。
答:① 取指令 ② 执行指令
(6)微程序控制器的核心部件是 ① ,它一般由 ② 构成。
答:① 控制存储器 ② ROM
(7)在同一微周期中 ① 的微命令被称为互斥微命令,而在同一微周期中 ② 的微命令被称为相容
微命令。显然, ③ 的微命令不能放在一起译码。
答:① 不允许同时出现的微命令 ② 允许同时出现的微命令 ③ 相容的微命令 (8)由于微程序设计的灵活性,只要简单地改变 ① ,就可改变微程序控制的机器指令系统。
答:① 微程序
6.23 是非题
(1)在主机中,只有存储器能存放数据。 × (2)一个指令周期由若干个机器周期组成。 √
(3)决定计算机运算精度的主要技术指标是计算机的字长。 √
(4)微程序设计的字段直接编译原则是:同时出现在一条微指令中的微命令放在不同的字段里,而分时