- 11
- 0
- 约3.64千字
- 约 7页
- 2017-02-09 发布于天津
- 举报
教学任务
第12、13、14周 微程序控制器
时间 2008年春 第12、13、14周 地点 院实验中心一(院附属楼108) 教学任务:
周 实验内容安排 作业
十三周 教学内容(注明:*重点??#难点? ?疑点)
详细讲解
思考题:
解释实验中出现的基本概念:微命令、微操作、微指令、微程序(举例说明);
解释并比较微程序控制器的几种设计方法?
微程序控制器的控制对象、手段及方法?
控制器的功能?如何完成这些功能?(即采用何种方式控制程序的顺利执行,完成程序指定的功能)
下址的产生方法?常用的有那些,实验中用到了那些?
每条机器指令的指令码如何与其入口微地址对应?微程序控制中分支如何处理?
如何简化微程序流程图,使其ADD、AND指令在部分微指令中(如AR→RAM、RAM→DR2、R5→DR1)合并?
根据微程序控制器的设计步骤自行设计一个控制器(增加指令个数)。(作业) 引子
前面我们做了总线、运算器、数通实验,在人工参与的情况下能够实现自己的简单计算机包括数据运算、数据读写的功能。怎么样让它学会自动控制,代替前面大家的手动操作,就是下面我们要做的工作。
1. How do computer run in a scheduling automatically ?
控制信号和时序脉冲信号,是计算机自动而有秩序工作的基础,前者来自控制器,后者由时序电路产生。今天我们要做的就是控制器模块。在时序电路的配合下完成对数据通路的控制。
■ 实验目的
微程序控制器实验的主要任务:生成CPU里的控制信号,并使程序按正确的顺序执行。核心部分是ROM,存放机器指令的微程序。
掌握微程序控制器的组成、工作原理;
掌握微程序控制器的基本概念和术语:微命令、微操作、微指令、微程序等;
掌握微指令、微程序的设计及调试方法;
通过单步运行若干条微指令,深入理解微程序控制器的工作原理;
■ 原理
1.控制器的设计方法:(第一次讲解内容)
硬连线控制器------速度快,但修改困难;
微程序控制器------灵活性、维护性、用软件方法设计硬件;(微操作的三种方法)
① 水平微代码:
列出CPU所要执行的每一个微操作,将微指令微操作域中的一位分配给每一个微操作。
例如:一个CPU要执行50个微操作,它的每一条微指令的微操作将占用50位,微指令太长,大部分微操作位不是有效的。
② 垂直微代码:
所有微操作合成域,域中每个微操作被分配一个唯一的编码值。
例如:16个微操作----四位而进制来编码(0000~1111),微指令位数少,但需要译码器。
③ 直接生成控制信号
微代码将微操作组合在一起,不同的是,它把控制信号值直接存储在微指令中。
2.微程序控制器的控制对象、方法及手段(第一次讲解)
用软件方法通过编写微程序去控制对数据通路的操作及程序的执行,将微程序存储在控制存储器(只读的查找ROM)中。(微代码存储器)并在时序电路的配合下实现手动操作改为自动操作。
3.微程序控制器的组成:(第一次讲解)
指令寄存器、微地址寄存器、控制存储器、微指令寄存器、时序电路。(针对本次实验)
指令寄存器:存放从主存中取出的指令码;
微地址寄存器:存放微指令对应的微地址。
控制存储器:一般用只读存储器构成,即微操作发生器。
① 存放指令,每条指令分别由一段微程序来描述(即若干微指令组成);
② 一条微指令由若干微命令及下一条微指令地址组成;
③ 每一个微命令对应于逻辑电路中的一个控制操作。
微指令寄存器:发出微操作控制信号。
4.确定指令格式(微指令的组成)→编写微程序(第一次讲解内容)
操作控制字段:(书中所指的微操作域)
这些信号从从控制存储器中输出到微指令寄存器中,生成CPU的控制信号。
顺序控制字段(地址域、选择域)
地址域:指明一个绝对地址;用来产生存储到微地址寄存器中的下一条微指令地址。
选择域:指明下一条微指令地址的来源;(下址产生的方法)
根据微程序流程图用VHDL(AHDL)语言编写一条条的微指令(微代码),存放在控制ROM中。(不一定要连续存放)。
格式:
subdesign rom
(
a4,a3,a2,a1,a0:input;
161ckrn,161load,161pc,pc_bus,…………..:output;
p1,ua4,ua3,ua2,ua1,ua0:output;
)
variable
out[28..0]:node;
in[4..0]:node;
begin
in[]=(a4,a3,a2,a1,a0);
table
in[]=out();
b“00000”=b“。。。。。。。。”;
end table;
(161clrn,161load,16
原创力文档

文档评论(0)