首页微机原理组成原理笔记习题PDF
第10章-习题与解答

第10章 控制单元的设计 习题与解答

说明:本章课件(Slide 498–545)未设独立习题/思考题页,课件原题均为课堂设计举例,共 3 道,全部收录并给出完整解答;另按考点补充 13 题,合计 16 题。事实性数据均与课件一致,页码以 Slide 编号计。

一、课件原题

题1(课件 p.508–515)

举例机含 10 条指令:CLA、COM、SHR、CSL、STP、ADD X、STA X、LDA X、JMP X、BAN X;采用同步控制方式、非总线 CPU 结构、一个机器周期 3 个节拍。要求: (1) 列出操作时间表(FE 取指、IND 间址、EX 执行三张表,课件以 CLA、COM、ADD、STA、LDA、JMP 六列为例); (2) 写出微操作命令 M(MAR)→MDR 的最简逻辑表达式; (3) 说明由表达式画出逻辑图后,组合逻辑控制器的特点。

解答:

(1) 操作时间表(填 1 表示该指令在该节拍需要该微操作):

FE 取指周期(课件 p.508、511):

节拍 状态条件 微操作命令 CLA COM ADD STA LDA JMP
T₀ PC→MAR 1 1 1 1 1 1
T₀ 1→R 1 1 1 1 1 1
T₁ M(MAR)→MDR 1 1 1 1 1 1
T₁ (PC)+1→PC 1 1 1 1 1 1
T₂ MDR→IR 1 1 1 1 1 1
T₂ OP(IR)→ID 1 1 1 1 1 1
T₂ I 1→IND 1 1 1 1 1 1
T₂ Ī 1→EX 1 1 1 1 1 1

IND 间址周期(课件 p.509、512):

节拍 微操作命令 CLA COM ADD STA LDA JMP
T₀ Ad(IR)→MAR 1 1 1 1
T₀ 1→R 1 1 1 1
T₁ M(MAR)→MDR 1 1 1 1
T₂ MDR→Ad(IR) 1 1 1 1
T₂ 1→EX 1 1 1 1

EX 执行周期(课件 p.510、513):

节拍 微操作命令 CLA COM ADD STA LDA JMP
T₀ Ad(IR)→MAR 1 1 1
T₀ 1→R 1 1
T₀ 1→W 1
T₁ M(MAR)→MDR 1 1
T₁ AC→MDR 1
T₂ (AC)+(MDR)→AC 1
T₂ MDR→M(MAR) 1
T₂ MDR→AC 1
T₂ 0→AC 1
T₂ AC̄→AC 1
T₂ Ad(IR)→PC 1

(其余指令 SHR、CSL、STP、BAN 的执行微操作均在 T₂,见课件 p.504–506,列法相同。)

(2) 查表汇总 M(MAR)→MDR 出现的位置:FE·T₁(全部指令);IND·T₁(ADD、STA、LDA、JMP、BAN);EX·T₁(ADD、LDA)。相或并化简(课件 p.514):

M(MAR)→MDR = FE·T₁ + IND·T₁·(ADD+STA+LDA+JMP+BAN) + EX·T₁·(ADD+LDA)
           = T₁·{ FE + IND·(ADD+STA+LDA+JMP+BAN) + EX·(ADD+LDA) }

(3) 用与门、或门、非门按上式实现即得逻辑图(课件 p.515)。特点:① 思路清晰,简单明了;② 庞杂,调试困难,修改困难;③ 速度快,故适用于 RISC。

题2(课件 p.520–523)

用户程序依次为 LDA X、ADD Y、STA Z、STP。结合微程序控制单元框图说明其工作原理: (1) 写出取指阶段微指令的读出与执行流程(含 CMAR、CMDR 的操作); (2) 说明执行阶段如何进入 LDA 的微程序、执行完后如何返回; (3) 为什么说程序执行过程中对控存「只需读出」?由此引出哪两个关键问题?

解答:

(1) 取指阶段执行取指微程序(入口 M,课件 p.521):

M→CMAR                  ;取指微程序首地址送微地址寄存器
CM(CMAR)→CMDR           ;读出微指令 M
由 CMDR 发命令           ;PC→MAR,1→R
Ad(CMDR)→CMAR           ;下地址字段形成下条微指令地址 M+1
CM(CMAR)→CMDR           ;读出微指令 M+1
由 CMDR 发命令           ;M(MAR)→MDR,(PC)+1→PC
Ad(CMDR)→CMAR           ;下地址 M+2
CM(CMAR)→CMDR           ;读出微指令 M+2
由 CMDR 发命令           ;MDR→IR

(2) 执行阶段:OP(IR)→微地址形成部件→CMAR,即把 LDA 执行微程序入口 P 送 CMAR(课件 p.522);依次执行 P(Ad(IR)→MAR、1→R)、P+1(M(MAR)→MDR)、P+2(MDR→AC)三条微指令,每条之后由 Ad(CMDR)→CMAR 形成下地址;P+2 的下地址为 M,即 M→CMAR 返回取指微程序,开始取 ADD Y(课件 p.519–522)。ADD、STA 同理各自转入 Q、K 入口的微程序;STP 执行 0→G 停机。

(3) 全部微指令已存放在控制存储器 CM 中,执行任何用户程序时只是按微地址反复读出微指令,不需要写入(课件 p.523)。由此引出微程序设计的两个关键问题:① 微指令的操作控制字段如何形成微操作命令(编码方式问题);② 微指令的后续地址如何形成(微地址形成问题)。

题3(课件 p.535–545)

微程序设计举例(CPU 结构与组合逻辑举例相同): (1) 考虑后续微地址的形成,写出取指阶段的微操作及节拍安排; (2) 统计全部微操作个数与微指令条数; (3) 确定微指令的编码方式、后续微地址形成方式与微指令字长; (4) 说明如何省去 CMAR 进行优化,给出优化后的最少字长和留余量后的实际字长; (5) 读码点表:写出取指微程序第一条微指令(00)与 LDA 微程序第一条微指令(16)的码点含义(操作控制字段只写表中可见列),并解释微指令 02 的下地址字段为何全×。

解答:

(1) 取指本需 3 条微指令(一拍一条),但每条之后还需形成下地址,故展开为 6 拍(课件 p.535–536):

节拍 微操作
T₀ PC→MAR,1→R
T₁ Ad(CMDR)→CMAR
T₂ M(MAR)→MDR,(PC)+1→PC
T₃ Ad(CMDR)→CMAR
T₄ MDR→IR,OP(IR)→微地址形成部件
T₅ OP(IR)→微地址形成部件→CMAR

(2) 全部微操作 20 个,微指令 38 条(课件 p.541)。其中 19 条是纯送地址微指令:18 条 Ad(CMDR)→CMAR、1 条 OP(IR)→微地址形成部件→CMAR(课件 p.543)。

(3) 编码方式采用直接控制(直接编码);后续地址形成:① 由机器指令操作码通过微地址形成部件形成,② 由微指令下地址字段直接给出(课件 p.542)。字长:操作控制字段 ≥ 20 位(20 个微操作);下地址字段 k 满足 2ᵏ ≥ 38,2⁵=32<38≤64=2⁶,取 6 位;字长可取 20+6=26 位(课件 p.542)。

(4) 让 Ad(CMDR) 直接送控存地址线、OP(IR) 经微地址形成部件也直接送控存地址线(多路选择),省去输至 CMAR 的时间并省去 CMAR,从而省去 19 条微指令、2 个微操作(课件 p.543):微指令 38−19=19 条 → 下地址字段最少 5 位(2⁴=16<19≤32=2⁵);微操作 20−2=18 个 → 操作控制字段最少 18 位;最少字长 18+5=23 位。考虑留有一定余量:操作控制字段取 24 位、下地址字段取 6 位,共 30 位(位 0–23 操作控制、位 24–29 下地址)(课件 p.544)。

(5) 微指令 00:操作控制位 0=1(PC→MAR)、位 1=1(1→R),下地址字段 000001,即后继微地址 01(八进制)。微指令 16:操作控制位 1=1(1→R)、位 10=1(Ad(IR)→MAR),下地址字段 001111,即后继微地址 17(八进制)(课件 p.545)。微指令 02 完成 MDR→IR 后,后继微地址应由 OP(IR) 经微地址形成部件产生(转入对应执行微程序),下地址字段不起作用,故记××××××(课件 p.545)。

二、考点补充题

题4【补充·考点:CU 外特性与节拍信号】(填空)

组合逻辑 CU 的输入有三类:、、;输出为。节拍即____周期;本章举例采用____控制方式,一个机器周期含____个节拍,CPU 内部采用____方式结构。

解答:操作码译码输出(n 位操作码译码出 2ⁿ 条线);节拍发生器产生的节拍信号 T₀…Tₙ;标志;微操作命令信号(控制信号 C₀…Cₙ)(课件 p.499)。时钟;同步;3;非总线(课件 p.500–501)。评分要点:三类输入缺一不可;「节拍=时钟周期」「机器周期=若干节拍」关系 1 分。

题5【补充·考点:微操作节拍安排三原则】(简答)

写出安排微操作时序的三原则,并用其解释:① 为什么 (PC)+1→PC 能与 M(MAR)→MDR 同节拍?② 为什么 MDR→IR 与 OP(IR)→ID 能同节拍?

解答:三原则(课件 p.502):① 微操作先后顺序不得随意更改;② 被控对象不同的微操作尽量安排在一个节拍内完成;③ 占用时间较短的微操作尽量安排在一个节拍内完成,并允许有先后顺序。 ① 两者被控对象分别为 PC 与 MDR,互不冲突,符合原则二,故同在 T₁(课件 p.503)。 ② 两者占用时间短,且允许先 MDR→IR、后 OP(IR)→ID 的先后顺序,符合原则三,故同在 T₂(课件 p.503)。 评分要点:三原则各 1 分;两例分别对应原则二、原则三各 1 分。

题6【补充·考点:中断周期与中断隐指令】(填空+简答)

(1) 填空:中断周期 T₀ 的微操作为____、,同时;T₁ 为____;T₂ 为____、____。这些操作由____完成。 (2) 简答:为什么说中断隐指令不是指令系统中的指令?

解答:(1) 0→MAR;1→W;硬件关中断;PC→MDR;MDR→M(MAR);向量地址→PC;中断隐指令(课件 p.507)。 (2) 中断隐指令没有操作码、不出现在程序中,是响应中断时由硬件自动完成的一组微操作(保存断点、关中断、形成服务程序入口),故不是指令系统中的指令(课件 p.507;「无操作码」表述为补充常识)。其作用是把断点 PC 存入 0 号单元并把向量地址送 PC,以便中断返回(补充常识)。

题7【补充·考点:微程序基本概念】(选择)

下列关于微程序的叙述中,正确的是( )。 A. 一条微指令即可完成一条机器指令的功能 B. 一条机器指令对应一个微程序,微程序由若干微指令组成 C. 微程序存放在主存储器中,与用户程序一起编址 D. 微程序的个数等于机器指令的条数

解答:选 B。 A 错:一条机器指令对应一个微程序(若干微指令),微指令只完成若干微操作(课件 p.516)。 B 对:课件 p.516 原文「一条机器指令对应一个微程序」。 C 错:微程序存入控制存储器(ROM),不在主存(课件 p.516、523)。 D 错:除每条机器指令的执行微程序外,还有公用的取指、间址、中断周期微程序,微程序数多于机器指令数(课件 p.517)。

题8【补充·考点:微程序控制器组成】(简答)

写出微程序控制单元中 CM、CMAR、CMDR、微地址形成部件、顺序逻辑的功能,并写出微指令的基本格式。

解答(课件 p.518): - CM(控制存储器):存放全部微程序,按微地址读出微指令,执行中只读不写(p.523); - CMAR(微地址寄存器):存放欲访问的微指令地址; - CMDR(微指令寄存器):存放从 CM 读出的微指令,其操作控制字段发出控制信号; - 微地址形成部件:由机器指令操作码 OP(IR) 形成执行微程序的入口微地址; - 顺序逻辑:结合标志、CLK 与下地址/转移方式产生后续微地址送 CMAR。 微指令基本格式 = 操作控制字段 + 顺序控制字段(含下地址)。 评分要点:每部件 1 分;格式 1 分。注意与主存侧 MAR/MDR 区分(课件 p.518、521)。

题9【补充·考点:微指令编码方式】(计算)

某微指令需发出 24 个微操作命令。① 若采用直接编码,操作控制字段需多少位?② 若改为字段直接编码,分成 4 个互斥字段,各含 5、6、7、6 个命令,且约定每个字段用一个编码表示「不发任何命令」,操作控制字段需多少位?③ 比较两种方案的代价。

解答: ① 直接编码一位一个命令:24 位(课件 p.524)。 ② 各字段状态数 = 命令数+1:6、7、8、7。位数 = ⌈log₂6⌉=3(2²=4<6≤8=2³)、⌈log₂7⌉=3、⌈log₂8⌉=3、⌈log₂7⌉=3;合计 3×4=12 位。 ③ 字段直接编码把字长从 24 位缩到 12 位,但每段需译码,增加译码时间、微程序执行速度较慢(课件 p.525);直接编码无需译码、速度最快但字长最长(课件 p.524)。 评分要点:①2 分;②每字段 1 分+合计 1 分;③2 分。「留空状态」按题设约定计算。

题10【补充·考点:微地址形成】(选择+简答)

(1) 下列哪项不是微指令后继地址的形成方式( )。 A. 微指令的下地址字段指出 B. 由机器指令的操作码经微地址形成部件形成 C. 增量计数器 (CMAR)+1→CMAR D. 由机器指令的地址码 Ad(IR) 直接给出 (2) 简答:哪两个微地址必须由硬件产生?

解答:(1) 选 D。A、B、C 均为课件 p.527 所列方式(另有分支转移、测试网络、硬件入口,p.528);D 中 Ad(IR) 是操作数的主存地址,不是控存微地址,不能用作微地址。 (2) 第一条微指令地址(取指微程序入口)由专门硬件产生;中断周期微程序首地址由硬件产生(课件 p.528)。

题11【补充·考点:水平型与垂直型微指令】(简答)

列表比较水平型与垂直型微指令(至少 4 项),并指出哪种与机器指令差别大。

解答(课件 p.530–531):

对比项 水平型 垂直型
并行操作能力 强,一次可定义并执行多个并行操作 弱,由微操作码规定功能
执行一条机器指令所需微指令数 少,速度快 多,速度慢
结构特点 微指令字长长、微程序短 微指令字长短、微程序长
与机器指令关系 差别大 类似机器指令操作码方式
编码 直接/字段直接/字段间接/混合 微操作码字段

水平型与机器指令差别大(课件 p.531 第 4 条)。评分要点:每行 1 分,结论 1 分。

题12【补充·考点:静态/动态微程序与毫微程序】(填空)

静态微程序采用____;动态微程序采用____,通过改变____和____来改变机器指令,有利于____。毫微程序设计是用____解释____;两级控存中第一级读出____型微指令,第二级读出____型微指令。

解答:ROM;EPROM;微指令;微程序;仿真;毫微程序;微程序;垂直;水平(课件 p.532–533)。评分要点:每空 0.5 分;注意毫微程序解释的对象是微程序而非机器指令。

题13【补充·考点:串行与并行微程序控制】(简答)

画出(或描述)串行与并行微程序控制中「取微指令」与「执行微指令」的时间关系,并说明并行方式的优点。

解答:串行:取第 i 条→执行第 i 条→取第 i+1 条→执行第 i+1 条,取与执行依次串行(课件 p.534)。并行:执行第 i 条微指令的同时取第 i+1 条微指令,执行第 i+1 条的同时取第 i+2 条,两段时间重叠(课件 p.534 时序图)。优点:取微指令的时间被执行时间掩盖,缩短微程序执行时间、提高速度。评分要点:两种时序各 2 分,优点 1 分。

题14【补充·考点:微指令字长计算】(计算)

某微程序控制器共有 30 个微操作、60 条微指令。① 采用直接编码时微指令字长至少多少位?② 若操作控制字段改用字段直接编码,分 5 个互斥字段、每字段 6 个命令(每字段留一个「不发命令」编码),下地址字段不变,字长至少多少位?

解答: ① 操作控制字段 ≥ 30 位;下地址字段 k:2⁵=32<60≤64=2⁶ → 6 位;字长 ≥ 30+6=36 位(口径同课件 p.542)。 ② 每字段状态数 6+1=7 → ⌈log₂7⌉=3 位;5 字段共 15 位;字长 ≥ 15+6=21 位。代价是增加译码时间(课件 p.525)。 评分要点:①操作控制 2 分、下地址 2 分、合计 1 分;②每字段位数 2 分、合计 1 分。

题15【补充·考点:硬布线 vs 微程序对比】(简答)

从实现方式、速度、可修改性、典型应用四方面比较硬布线控制器与微程序控制器,并说明各自适用场合。

解答:

对比项 硬布线 微程序
实现方式 组合逻辑网络(课件 p.515) 存储逻辑:控存+微程序(课件 p.516)
速度 快(课件 p.515) 较慢(需读控存,补充常识)
可修改性 庞杂、调试修改困难(课件 p.515) 改微程序即可,动态微程序利于仿真(课件 p.532)
典型应用 RISC(课件 p.515) CISC(补充常识)

适用:追求速度、指令系统简单规整选硬布线;指令系统复杂、要求易扩充易仿真选微程序。评分要点:每行 1 分,适用场合 2 分。

题16【补充·考点:微程序设计综合·拔高】(综合设计)

基于课件举例(p.535–545)回答: (1) 若不省去 CMAR,取指微程序含几条微指令?全机微程序共几条微指令? (2) 省去 CMAR 后,LDA 执行微程序含几条微指令?其八进制微地址与下地址字段(二进制)各是什么? (3) 优化后下地址字段最少几位?为什么? (4) 优化后每个执行微程序末条微指令的下地址字段为何值?含义是什么?

解答: (1) 取指 6 拍各占一条微指令 → 6 条(课件 p.536);全机 38 条(课件 p.541)。 (2) 3 条:微地址 16(下地址 001111→17)、17(下地址 010000→20)、20(下地址 000000→00)(课件 p.545)。 (3) 优化后微指令 38−19=19 条;2⁴=16<19≤32=2⁵,故最少 5 位(课件 p.543)。 (4) 全 0(000000),即八进制 00——取指微程序入口地址,表示执行微程序结束后返回取指微程序(课件 p.545、p.519)。 评分要点:(1)2 分;(2)3 分;(3)2 分(含 2⁴<19≤2⁵ 的判断);(4)2 分。