第十章控制单元的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十章控制单元的设计

本章以10条机器指令为例,介绍控制单元的两种设计方法。

第一节组合逻辑设计

一、组合逻辑控制单元框图

从控制单元的外特性图中可以看出,指令的操作码是决定控制单元发出不同控制信号的关键。为了简化控制单元的逻辑,将存放在IR的n位操作码经过一个译码电路产生2n个输出,这样,每对应一种操作码便有一个输出送至CU。当然,若指令的操作码长度可变,指令译码线路将更复杂。

控制单元的时钟输入实际上是一个脉冲序列,其频率即为机器的主频,它使CU能按一定的节拍(T)发出各种控制信号。节拍的宽度应满足数据信息通过数据总线从源到目的所需的时间。以时钟为计数脉冲,通过一个计数器,又称节拍发生器,便可产生一个与时钟周期等宽的节拍序列。如果将指令译码和节拍发生器从CU中分离出来,便可得简化的控制单元框图,如下图所示。

二、微操作的节拍安排

假设机器采用同步控制,每个机器周期包含3个节拍,而且CPU内部结构为非总线结构,其中MAR和MDR分别直接和地址总线和数据总线相连,并假设IR的地址码部分与MAR之间有通路。

安排微操作节拍时应注意三点:

第一,有些微操作的次序是不容改变的,故安排微操作节拍时必须注意微操作的先后顺序。

第二,凡是被控制对象不同的微操作,若能在一个节拍内执行,应尽可能安排在同一个

节拍内,以节省时间。

第三,如果有些微操作所占的时间不长,应该将它们安排在一个节拍内完成,并且允许这些微操作有先后次序。

按上述三条原则,以第九章中所分析的10条指令为例,其微操作的节拍安排如下:

1.取指周期微操作的节拍安排

①根据原则二,T

节拍可安排两个微操作:PC→MAR,1→R;

②根据原则二,T

1

节拍可安排M(MAR)→MDR和(PC)+1→PC两个微操作。

③T

2

节拍可安排MDR→IR,考虑到指令译码时间较短,根据原则三,可将指令译码OP(IR)

→ID也安排T

2

节拍内;

实际上(PC)+1→PC操作也可安排在T

2

节拍内,因一旦PC→MAR后,PC的内容就可修改。

2.间址周期微操作的节拍安排

T

Ad(IR) →MAR,1→R

T

1

M(MAR) →MDR

T

2

MDR→Ad(IR)

3.执行周期微操作的节拍安排

·非访存指令

①清除累加器指令CLA。

该指令在执行周期只有一个微操作,按同步控制的原则,此操作可安排在T

0~T

2

的任一

节拍内,其余节拍空,如

T

T

1

T

2

0→AC

②累加器取反指令COM。

同理,用加器取反操作可安排在T

0~T

2

的任一节拍中,即

T 0

T 1

T 2

③算术右移一位指令SHR。

T

T

1

T

2L(AC)→R(AC),AC

→AC

④循环左移一位指令CSL。

T

T

1

T 2R(AC)→R(AC),AC

→AC

(即ρ-1(AC))

⑤停机指令STP。

T

T

1

T

2

0→G

·访存指令

①加法指令ADD X

T

Ad(IR) →MAR, 1→R

T

1

M(MAR) →MDR

T

2

(AC)+(MDR)→AC,(该操作实际包括(AC) →ALU,(MDR) →ALU,ALU→AC)②存数指令STA X。

T

Ad(IR) →MAR, 1→W

T

1

AC →MDR

T

2

MDR→M(MAR)

③取数指令 LDA X。

T

Ad(IR) →MAR, 1→R

T

1

M(MAR) →MDR

T

MDR→AC

2

·转移类指令

①无条件转移指令JMP X。

T

T

1

Ad(IR)→PC

T

2

②有条件转移(负则转)指令BAN X。

T

T

1

T

2

4.中断周期微操作的节拍安排

在执行周期的最后时刻, CPU要向所有中断源发中断查询信号,若检测到某个中断源有请求,并且未被屏蔽又被排队选中,则在允许中断的条件下,CPU进入中断周期,此时CPU由中断隐指令完成下列操作(假设程序断点存入主存0号地址单元内):T

0→MAR, 1→W

PC →MDR

T

1

MDR→M(MAR),向量地址→PC

T

2

此外, CPU进入中断周期,由硬件置“0”允许中断触发器EINT,即关中断。

三、组合逻辑设计步骤

组合逻辑设计控制单元时,首先根据上述微操作的节拍安排,列出微操作命令的操作时间表,然后写出每一个微操作命令(控制信号)的逻辑表达式,最后根据逻辑表达式画出相应的组合逻辑电路图。

1.列出微操作命令的操作时间表

相关文档
最新文档