第10章教案.docx

上传人:b****7 文档编号:9243158 上传时间:2023-02-03 格式:DOCX 页数:20 大小:244.32KB
下载 相关 举报
第10章教案.docx_第1页
第1页 / 共20页
第10章教案.docx_第2页
第2页 / 共20页
第10章教案.docx_第3页
第3页 / 共20页
第10章教案.docx_第4页
第4页 / 共20页
第10章教案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

第10章教案.docx

《第10章教案.docx》由会员分享,可在线阅读,更多相关《第10章教案.docx(20页珍藏版)》请在冰豆网上搜索。

第10章教案.docx

第10章教案

第十章控制单元的设计

主要内容:

控制单元的设计方法微程序设计及控制单元。

目的:

掌握控制单元设计思路和基本原则、步骤。

重点内容:

(1)组合逻辑设计;

(2)微操作的节拍安排和基本原则;

(3)组合逻辑设计步骤。

基本讲授内容:

(1)组合逻辑控制单元;

(2)节拍安排的基本原则和典型微操作节拍:

a.取指周期节拍安排

b.间址周期节拍安排

c.中断周期节拍安排

d.执行周期节拍安排(略讲));

(3)组合逻辑设计步骤:

a.微操作操作时间表

b.最简逻辑表达式

c.操作命令逻辑图

(4)微程序设计

a.微程序控制单元基本工作原理

b.微指令的编码方式

c.微指令序列地址形成

d.微指令格式

e.静态微程序和动态微程序(略)

10.1组合逻辑设计

1组合逻辑控制单元框图

图1为简化的控制单元框图。

存放在IR的n位操作码经过一个译码电路产生2“个输出,每对应一种操作码都有一个输出送至CU。

控制单元的时钟输入实际上是一个脉冲序列,其频率即为机器的主频,它使CU能按一定的节拍(T)发出各种控制信号。

以时钟为计数脉冲,通过一个计数器(又称节拍发生器)便可产生一个与时钟周期等宽的节拍序列。

图1带译码和节拍输入的控制单元框图

2微操作的节拍安排

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

控制信号

图9.3未采用CPU内部总线方式的数据通路和控制信号

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

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

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

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

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

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

①根据原则二,T0节拍安排两个微操作:

PC→MAR,1→R;

②根据原则二,T1节拍安排两个微操作:

M(MAR)→MDR和(PC)+1→PC

③T2节拍安排MDR→IR,可同时安排指令译码OP(IR)→ID

(PC)+1→PC操作也可安排在T2节拍内,因PC→MAR后,PC的内容就可修改。

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

T0:

Ad(IR)→MAR,l→R

T1:

M(MAR)→MDR

T2:

MDR→Ad(IR)

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

•非访存指令

①清除累加器指令CLA。

该指令在执行周期只有一个微操作,按同步控制的原则,此操作可安排在T0-T2的任一节拍内,其余节拍空,如

T0

T1

T20→AC

②累加器取反指令COM

累加器取反操作可安排在T0-T2的任一节拍中,即

T0

T1

T2AC→AC

③算术右移一位指令SHR

T0

T1

T2L(AC)→R(AC),AC0→AC0

④循环左移一位指令CSL

T0

T1

T2R(AC)→L(AC),AC0→ACn

⑤停机指令STP

T0

T1

T2O→G

•访存指令

⑥加法指令ADDX

T0Ad(IR)→MAR,1→R

T1M(MAR)→MDR

T2(AC)+(MDR)→AC(实际含(AC)→ALU,(MDR)→ALU,ALU→AC)

⑦存数指令STAX

T0Ad(IR)→MAR,1→W

T1AC→MDR

T2MDR→M(MAR)

⑧取数指令LDAX

T0Ad(IR)→MAR,1→R

T1M(MAR)→MDR

T2MDR→AC

•转移类指令

⑨无条件转移指令JMPX

T0

T1

T2Ad(IR)→PC

⑩有条件转移(负则转)指令BANX

T0

T1

T2A0•Ad(IR)+A0•(PC)→PC

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

CPU进入中断周期,由中断隐指令完成下列操作(假设程序断点存入主存0号地址单元内):

T00→MAR,1→W

T1PC→MDR

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

CPU进入中断周期,由硬件将允许中断触发器EINT置为“0”。

3组合逻辑设计步骤

组合逻辑设计控制单元步骤:

•根据上述微操作的节拍安排,列出微操作命令的操作时间表;

•写出每一个微操作命令(控制信号)的逻辑表达式;

•根据逻辑表达式画出相应的组合逻辑电路图。

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

表1列出了上述10条机器指令微操作命令的操作时间表。

表中:

FE、IND和EX为CPU工作周期标志,T0-T2为节拍,I为间址标志。

 

表1操作时间表

工作周

期标记

节拍

状态条件

微操作命令信号

CAL

COM

SHR

CSL

STP

ADD

SAT

LDA

JMP

BAN

FE

(取指)

T0

PC→MAR

1

1

1

1

1

1

1

1

1

1

1→R

1

1

1

1

1

1

1

1

1

1

T1

M(MAR)→MDR

1

1

1

1

1

1

1

1

1

1

(PC)+1→PC

1

1

1

1

1

1

1

1

1

1

T2

MDR→IR

1

1

1

1

1

1

1

1

1

1

OP(m)→ID

1

1

1

1

1

1

1

1

1

1

I

1→IND

1

1

1

1

1

I

1→Ex

1

1

1

1

1

1

1

l

1

l

IND

(间址)

T0

Ad(IR)→MAR

1

1

1

1

1

1一R

1

1

1

1

1

T1

M(MAR)→MDR

1

1

1

1

1

T2

MDR→Ad(IR)

1

1

1

1

1

/IND

1→EX

1

1

1

1

1

EX

(执行)

T0

Ad(IR)→MAR

1

1

1

1→R

1

1

1→W

1

T1

M(MAR)→MDR

1

1

(AC)→MDR

1

T2

(AC)+(MDR)→AC

1

MDR→M(MAR)

1

MDR→AC

1

0→AC

1

/AC→AC

1

R(AC)→L(AC),ACo不变

1

ρ-1(AC)

1

Ad(IR)→PC

1

Ao

Ad(IR)→PC

!

O→G

1

2)、写出微操作命令的最简逻辑表达式

根据表10.1可列出每一个微操作命令的初始逻辑表达式,经化简、整理便可获得能用现成电路实现的微操作命令逻辑表达式。

例如,根据表可写出M(MAR)→MDR微命令的逻辑表达式:

M(MAR)→MDR

=FE•T1+IND•T1(ADD+STA十LDA+JMP+BAN)+EX•T1(ADD+LDA)

=T1{FE+IND(ADD+STA+LDA+JMP+BAN)+EX(ADD+LDA)}

式中ADD、STA、LDA、JMP、BAN均来自操作码译码器的输出。

3)、画出微操作命令的逻辑图

对应每一个微操作命令的逻辑表达式都可画出一个逻辑图。

如M(MAR)→MDR的逻辑表达式所对应的逻辑图如图10.2所示,图中未考虑门的扇入系数。

图2产生M(MAR)→MDR命令的逻辑图

组合逻辑设计方法的特点:

•思路清晰,简单明了;

•每一个微操作命令都对应一个逻辑电路;

•线路结构十分庞杂,也不规范;

•指令系统功能越全,线路也越复杂,调试越困难。

10.2微程序设计

1微程序设计思想的产生

微程序设计思想由英国剑桥大学教授M.V.Wilkes在1951年提出。

•设想采用与存储程序类似的办法解决微操作命令序列的形成;

•将一条机器指令编写成一个微程序,每一个微程序包含若干条微指令,每一条微指令对应一个或几个微操作命令。

•微指令以二进制代码形式表示,每位代表一个控制信号;

•微程序存于控制存储器(简称控存);

优点:

•设计更简便,无需化简逻辑表达式,无需考虑逻辑门级数和门的扇入系数。

•修改微指令代码就可改变操作内容,便于调试、修改和仿真。

2微程序控制单元框图及工作原理

(1)、机器指令对应的微程序一条机器指令对应一个微程序(微操作命令序列)。

控制存储器

M

M+1

M+1

M+2

取指周期微程序

M+2

转执行周期微程序

间址周期微程序

转取指周期微程序

中断周期微程序

P

P+1

P+1

P+2

对应LDA操作的微程序

P+2

M

Q

Q+1

Q+1

Q+2

对应ADD操作的微程序

Q+2

M

K

K+1

K+1

K+2

对应STA操作的微程序

K+2

M

J

J+1

对应JMP操作的微程序

J+1

M

图3不同机器指令所对应的微程序

•每一条机器指令都与一个微程序对应。

•取指周期、间址周期和中断周期的操作编成独立的微程序;

(2).微程序控制单元的基本框图

标志

CLK

图4微程序控制单元的基本组成

 

图5微指令的基本格式

(3)、工作原理

假设有一个用户程序如下所示(存在2000H开设的主存空间内)

LDAX

ADDY

STAZ

STP

微程序控制单元的工作原理:

首先将用户程序的首地址送至PC,然后进入取指阶段。

(1)取指阶段

①将取指周期微程序首地址M→CMAR:

②取微指令,将对应控存M地址单元中的第一条微指令读到控存数据寄存器中,记作CM(CMAR)→CMDR:

③产生微操作命令;

第一条微指令的操作控制字段中为“l”的各位发出控制信号,如PC→MAR,l→R,命令主存接受程序首地址并进行读操作。

④形成下一条微指令的地址:

微指令的顺序控制字段指出了下一条微指令的地址为M+1,将M+1送至CMAR。

⑤取下一条微指令;

将控存M+1地址单元的第二条微指令读到CMDR中,即

CM(CMAR)→CMDR

⑥产生微操作指令;

由第二条微指令的操作控制字段中对应“1”的各位发出控制信号,如M(MAR)→MDR使对应主存2000H地址单元中的第一条机器指令从主存中读出送至MDR中。

⑦形成下一条微指令的地址:

将第二条微指令下地址字段指出的地址M+2送至CMAR,即

Ad(CMDR)→CMAR

……

如此类推,直到取出取指周期最后一条微指令,并发出微命令为止,此时第一条机器指令LDAX已存至指令寄存器IR中。

(2)执行阶段

①取数指令微程序首地址的形成:

当取数指令存入IR后,其操作码OP(IR)直接送到微地址形成部件,该部件的输出即为取数指令微程序的首地址P,且将P送至CMAR,记作OP(IR)→CMAR.

②取微指令;

将对应控存P地址单元中的微指令读到CMDR中,即

CM(CMAR)→CMDR

③产生微操作命令;

由微指令操作控制字段中对应“1”的各位发出控制信号,如Ad(IR)→MAR,1→R,命令主存读操作数。

④形成下一条微指令的地址;

将此条微指令下地址字段指出的P+1送至CMAR,即Ad(CMDR)→CMAR

⑤取微指令,即CM(CMAR)→CMDR:

⑥产生微操作命令:

如此类推,直到取出取数指令微程序的最后一条微指令P+2,并发出微命令,至此即完成了将主存X地址单元中的操作数取至累加器AC的操作。

自此可见,对微程序控制单元的控存而言,内部信息一旦按所设计的微程序被灌注后,在机器运行过程中,只须具有读出的性能即可,故可采用ROM实现。

3微指令的编码方式

微指令的编码方式又叫微指令的控制方式,它是指如何对微指令的控制字段进行编码,以形成控制信号。

(1)、直接编码(直接控制)方式

•在微指令的操作控制字段中,每一位代表一个微命令,这种编码方式即为直接编码方式。

•控制字段中的某位为“l”表示控制信号有效,某位为“0”表示控制信号无效。

•特点含义清晰,但机器中微命令较多,可能使微指令操作控制字段达几百位,造成控存容量极大。

控制信号

 

 

图6直接编码方式

(2)、字段直接编码方式

将微指令的操作控制字段分成若干段,每一段为一个微命令的编码,通过对字段译码后产生微命令。

•采用编码技术可以缩短微指令的长度。

•同一组的微命令相互排斥,不能并行。

•需要译码电路,使微程序的执行速度稍微减慢。

(3)、字段间接编码方式

与字段直接编码方式类似,但一个字段的某些微命令还需由另一个字段中的某些微命令来解释。

特点:

可以进一步缩短微指令字长,但因削弱了微指令的并行控制能力,因此通常用作字段直接编码法的一种辅助手段。

控制信号

 

图7宇段直接编码方式

 

图8字段间接编码方式

4、混合编码

这种方法是把直接编码和字段编码(直接或间接)混合使用,以便能综合考虑微指令的字长、灵活性和执行微程序的速度等方面的要求。

5、其他

微指令中还可设置常数字段,用来提供常数、计数器初值等。

常数字段还可以和某些解释位配合,如解释位为0,表示该字段提供常数;解释位为1,表示该字段提供某种命令,使微指令更灵活。

4微指令序列地址的形成

主要有两种常用方式:

(1)、直接由微指令的下地址字段指出

(2)、根据机器指令的操作码形成

当机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件形成。

微地址形成部件实际是一个编码器,其输入为指令操作码,输出就是对应该机器指令微程序的首地址。

它可采用PROM实现,以指令的操作码作为PROM的地址,而相应的存储单元内容就是对应该指令微程序的首地址。

(3)、增量计数器法

对于地址连续的微指令可采用增量计数方法,即(CMAR)+1→CMAR来形成后继微指令的地址。

(4)、分支转移

当遇到条件转移指令时,微指令出现了分支,必须根据各种标志来决定下一条微指令的地址。

微指令的格式为:

其中转移方式是指明判别条件,转移地址是指明转移成功后的去向,若不成功则顺序执行。

也有的转移微指令中设两个转移地址,条件满足时选择其中一个转移地址:

条件不满足时选择另一个转移地址。

(5)、通过测试网络形成

微指令的地址还可通过测试网络形成,如图10.9所示。

图中微指令的地址分两部分,高段h为非测试地址,由微指令的H段地址码直接形成;低段l为测试地址,由微指令的L段地址码通过测试网络形成。

(6)、微程序入口地址

当电源加电后,第一条微指令的地址可由专门的硬件电路产生,也可由外部直接向CMAR输入微指令的地址,这个地址即为取指周期微程序的入口地址。

5微指令格式

(1)水平型微指令

水平型微指令的特点是一次能定义并执行多个并行操作的微命令。

从编码方式看,直接编码、字段直接编码、字段间接编码以及直接和字段混合编码都属水平型微指令。

其中直接编码速度最快,字段编码要经过译码,故速度受影响。

(2)垂直型微指令

垂直型微指令的特点是采用类似机器指令操作码的方式,在微指令字中,设置微操作码字段,由微操作码规定微指令的功能。

通常一条微指令有1-2个微命令,控制1—2种操作。

这种微指令不强调其并行控制功能。

(3)、两种微指令格式的比较

1)水平型微指令比垂直型微指令并行操作能力强,效率高,灵活性强。

2)水平型微指令执行一条机器指令所需的微指令数目少,因此速度比垂直型微指令快。

3)水平型微指令用较短的微程序结构换取较长的微指令结构,垂直型微指令正相反,它以较长的微程序结构换取较短的微指令结构

4)水平型微指令与机器指令差别较大,垂直型微指令与机器指令较为类似。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1