第5章 微程序控制器-1.ppt
《第5章 微程序控制器-1.ppt》由会员分享,可在线阅读,更多相关《第5章 微程序控制器-1.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1/55/55第5章 微程序控制器张晨曦张晨曦 刘依刘依www.A2 2/55/555.1 微程序控制的基本原理5.2 微程序控制器的组成与工作过程5.3 微程序设计技术5.4 模型机的微程序控制器3 3/55/55组合逻辑控制器存在的两个比较突出的缺点:设计复杂、繁琐,缺乏规律性,设计效率低。不易修改和扩充,缺乏灵活性。微程序的概念和原理:英国剑桥大学的M.V.Wilkes教授于1951年提出的主要缺点:速度比较慢 5.1 微程序控制的基本原理A A B B C C D D E E F F G G H H I I J J K K L L M M N N控制信号:硬连逻辑A A B B C
2、 C D D E E F F G G H H I I J J K K L L M M N N控制信号:硬连逻辑T0:1 1 0 0 0 1 0 1 0 0 0 0 1 0第一个节拍A A B B C C D D E E F F G G H H I I J J K K L L M M N N控制信号:硬连逻辑第二个节拍0 0 1 1 0 0 0 0 1 1 0 0 0 0T1:A A B B C C D D E E F F G G H H I I J J K K L L M M N N控制信号:硬连逻辑第三个节拍0 0 0 0 1 0 1 0 0 0 0 0 0 0T2:A A B B C C
3、D D E E F F G G H H I I J J K K L L M M N N控制信号:硬连逻辑第四个节拍0 0 0 0 0 0 0 0 0 0 1 1 0 1T3:A A B B C C D D E E F F G G H H I I J J K K L L M M N N控制信号:T0:1 1 0 0 0 1 0 1 0 0 0 0 1 00 0 1 1 0 0 0 0 1 1 0 0 0 0T1:0 0 0 0 1 0 1 0 0 0 0 0 0 0T2:0 0 0 0 0 0 0 0 0 0 1 1 0 1T3:微程序控制器0 0 0 0 0 0 0 0 0 0 0 0 0 0
4、1010/55/551.基本思想用二进制编码字(称为微指令字)来代替组合逻辑控制器中的微操作控制信号的产生。例:用例:用“1 1”表示进行相应的微操作,表示进行相应的微操作,“0 0”表示不进行操作,表示不进行操作,则图中的微指令字所对应的微操作集合为:则图中的微指令字所对应的微操作集合为:PC+4PC+4,读指令,读指令 (假设其他各位都是(假设其他各位都是0 0)5.1 微程序控制的基本原理1111/55/555.1 微程序控制的基本原理把在一条指令的执行过程中各节拍要进行的微操作集合都用一个微指令字来表示,然后把他们按节拍的先后顺序存放到一个特殊的存储器中(称为控制存储器CM)。执行该指
5、令时,按顺序依次读出微指令字。实质:用程序设计的思想方法来组织操作控制逻辑,用规整的存储逻辑来代替繁杂的组合逻辑。1212/55/555.1 微程序控制的基本原理2.几个基本概念 微命令和微操作q微命令:微命令:控制部件向执行部件发出的各种控制命令。控制部件向执行部件发出的各种控制命令。构成控制信号序列的最小单位。构成控制信号序列的最小单位。例如:例如:打开或关闭某个控制门,多路器选择哪个输入等。打开或关闭某个控制门,多路器选择哪个输入等。q微操作:微操作:指执行部件接受微命令后所进行的最基本的、指执行部件接受微命令后所进行的最基本的、不可再细分的操作。不可再细分的操作。分为两种:分为两种:n
6、相容的相容的微操作:可以同时进行的微操作。微操作:可以同时进行的微操作。n互斥的互斥的微操作:不能同时进行的微操作微操作:不能同时进行的微操作。p微命令和微操作是一一对应的。微命令和微操作是一一对应的。p微命令是微操作的控制信号,微操作是微命令的操作过微命令是微操作的控制信号,微操作是微命令的操作过程。程。1313/55/555.1 微程序控制的基本原理微指令和微程序q微指令:微指令:用来产生微控制信号的二进制编码字。用于用来产生微控制信号的二进制编码字。用于控制完成一组微操作。控制完成一组微操作。q微程序:微程序:一序列微指令构成的有序集合。一序列微指令构成的有序集合。q每一条机器指令都对应
7、于一段微程序,通过解释执行每一条机器指令都对应于一段微程序,通过解释执行这段微程序,完成指令所规定的操作。这段微程序,完成指令所规定的操作。微指令周期q微指令周期:微指令周期:微程序控制器的工作周期。微程序控制器的工作周期。q从控制存储器读取一条微指令到执行完相应的微操作从控制存储器读取一条微指令到执行完相应的微操作所需时间的最大值。所需时间的最大值。1414/55/55程序、指令、微程序、微指令、微命令、微操作的关系1515/55/551.Wilkes微程序控制器的原理图 控制存储器CMq简称简称控存控存,用于存放实现整个指令系统的所有微程序。,用于存放实现整个指令系统的所有微程序。q每个单
8、元存放一条微指令字。每个单元存放一条微指令字。微指令寄存器IRq用来存放从控存读出的当前微指令。用来存放从控存读出的当前微指令。q微指令中包含两个字段微指令中包含两个字段 n操作控制字段:操作控制字段:直接与控制信号线连接,控制相关直接与控制信号线连接,控制相关的部件完成微指令所规定的微操作。的部件完成微指令所规定的微操作。5.2 微程序控制器的组成与工作过程1616/55/555.2 微程序控制器的组成与工作过程图图5.2 Wilkes5.2 Wilkes微程序控制器原理图微程序控制器原理图1717/55/555.2 微程序控制器的组成与工作过程n地址控制字段:地址控制字段:用于控制下一条微
9、指令地址的用于控制下一条微指令地址的产生。产生。微地址形成电路 该电路根据控制地址字段中的信息产生后续微地址。该电路根据控制地址字段中的信息产生后续微地址。微地址寄存器MAR 接受微地址形成电路送来的地址,为读取下一条微接受微地址形成电路送来的地址,为读取下一条微指令做好准备。指令做好准备。地址译码器 将将MAR中的微地址进行译码,找到被访问的控存中的微地址进行译码,找到被访问的控存单元,将其中的微指令读出并存放于单元,将其中的微指令读出并存放于IR中。中。1818/55/555.2 微程序控制器的组成与工作过程2.微程序控制器的工作过程(假设其微程序已经在控存中准备好)(假设其微程序已经在控
10、存中准备好)启动取指微程序,把要执行的机器指令(其地址由PC给出)从主存取到指令寄存器IR中,并完成对PC的增量操作(参照图(参照图5.25.2中的中的)。根据IR中指令的操作码,微地址形成电路产生该指令的微程序的入口地址,并送入MAR。MAR中的微地址经过译码,从控存中读取相应的微指令,送入IR。IR中微指令的操作控制字段直接(或经过译码)产生一组微命令,送往相应的功能部件,控制它们完成所规定的微操作。1919/55/555.2 微程序控制器的组成与工作过程微地址形成电路根据IR中微指令的地址控制字段和机器的状态信息(如程序状态字PSW),产生下一条微指令的地址并送往MAR。重复上述步骤第三
11、到第五步,直到该机器指令的微程序全部执行完毕。2020/55/55目标 减少微指令的宽度,减少微程序的长度,提高减少微指令的宽度,减少微程序的长度,提高执行速度,保持微程序设计的灵活性。执行速度,保持微程序设计的灵活性。一条微指令由两部分构成q微操作控制字段微操作控制字段q地址控制字段地址控制字段 对微操作控制字段进行编码的方法有4种直接控制编码、最短字长编码直接控制编码、最短字长编码分段直接编码、分段间接编码分段直接编码、分段间接编码5.3 微程序设计技术5.3.1 微指令的编码方法2121/55/555.3 微程序设计技术1.直接控制编码法(不译码法)微操作控制字段的每一位直接对应一个微操
12、作。q当某位为当某位为1时,就表示执行相应的微操作;时,就表示执行相应的微操作;q为为0时就不执行该微操作。时就不执行该微操作。优点:结构简单,并行性最好,操作速度快。缺点:微指令字太长。2222/55/555.3 微程序设计技术2.最短字长编码法将所有的微命令进行统一的二进制编码,每条指令只定义一个微操作。微操作控制字段的长度L与微命令的总数N的关系 L log2N优缺点q微指令的字长最短,但要经过译码后才能得到所需要微指令的字长最短,但要经过译码后才能得到所需要的微命令,执行速度会受到影响。的微命令,执行速度会受到影响。q在一条微指令中只能产生一个微命令,无法利用硬件在一条微指令中只能产生
13、一个微命令,无法利用硬件所具有的并行性。所具有的并行性。2323/55/555.3 微程序设计技术需对整个微操作控制字段进行译码,产生相应的一组微命令。需对整个微操作控制字段进行译码,产生相应的一组微命令。2424/55/555.3 微程序设计技术3.字段直接编码法把微操作控制字段进一步划分为若干个字段,每个字段单独编码,每个码点表示一个微命令。上面两种方法的上面两种方法的折中方案折中方案:字段之间采用直接控制,字段内部采用最短字长编码。字段之间采用直接控制,字段内部采用最短字长编码。进行字段划分时,需要注意以下原则:q可以按功能和部件划分,对于机器中的每一种功能类可以按功能和部件划分,对于机
14、器中的每一种功能类型或每一个部件,分配一个字段;型或每一个部件,分配一个字段;q把互斥的微操作分在同一字段,把相容的微操作分到把互斥的微操作分在同一字段,把相容的微操作分到不同的字段不同的字段;q字段的划分应与数据通路相适应;字段的划分应与数据通路相适应;q一般每个字段应留出一个码点,用于表示不发任何微一般每个字段应留出一个码点,用于表示不发任何微命令。命令。2525/55/555.3 微程序设计技术既能缩短微指令字长,又能实现较高的并行性,执行速度比较快。既能缩短微指令字长,又能实现较高的并行性,执行速度比较快。4.字段间接编码字段的编码的含义(即表示什么微命令)要由另外一个字段的编码来解释
15、确定。一个解释字段要同时对多个字段进行控制(解释),才能有效地缩短字长。解释字段应有某些分类的特征 2727/55/555.3 微程序设计技术5.常数源字段的设置 作用:q提供常数提供常数 q参与其他字段的间接编码参与其他字段的间接编码2828/55/555.3 微程序设计技术 分为两大类:水平型微指令和垂直型微指令。1.水平型微指令一次能定义并执行多个微操作的微指令。具有以下特点:q微指令字较长,一般为几十位到上百位。微指令字较长,一般为几十位到上百位。例如:例如:VAX-11/780机的微指令字长为机的微指令字长为96位。位。q微指令中描述并行微操作的能力强,在一个微周期中,微指令中描述并
16、行微操作的能力强,在一个微周期中,能并行执行多个微操作。能并行执行多个微操作。q微指令译码简单,一般采用直接控制编码法和分段直微指令译码简单,一般采用直接控制编码法和分段直接编码法。接编码法。5.3.2 微指令格式2929/55/555.3 微程序设计技术优缺点q并行操作能力强、执行速度快、代码长度短。并行操作能力强、执行速度快、代码长度短。q微指令字比较长,明显增加了控存的宽度。微指令字比较长,明显增加了控存的宽度。q编制微程序比较复杂,难度较大,也不易实现设计的编制微程序比较复杂,难度较大,也不易实现设计的自动化。自动化。2.垂直型微指令 一次只能定义一两个微操作(一般是数据传送),而且微
17、指令字长比较短。例如,一条垂直型运算操作的微指令的格式为:例如,一条垂直型运算操作的微指令的格式为:3030/55/555.3 微程序设计技术其中:qOP:微操作码微操作码q把两个源寄存器中的内容进行把两个源寄存器中的内容进行OP所规定的操作,结所规定的操作,结果存入目的寄存器字段所指定的寄存器中。果存入目的寄存器字段所指定的寄存器中。特点q微指令字短,一般为一、二十来位;微指令字短,一般为一、二十来位;q微指令的并行微操作能力差,一条微指令只能控制数微指令的并行微操作能力差,一条微指令只能控制数据通路的一两种信息传送;据通路的一两种信息传送;q垂直型微指令是通过一个称为微操作码的字段来定义垂
18、直型微指令是通过一个称为微操作码的字段来定义微指令的基本功能和信息传送路径。执行时,需进行微指令的基本功能和信息传送路径。执行时,需进行完全译码,译码比较复杂。完全译码,译码比较复杂。q微指令的各二进制位与数据通路的各个控制点之间完微指令的各二进制位与数据通路的各个控制点之间完全不存在直接对应关系。全不存在直接对应关系。3131/55/555.3 微程序设计技术优点q直观、规整,易于编制微程序和实现设计自动化。直观、规整,易于编制微程序和实现设计自动化。q微指令字比较短,控存的横向比较窄。微指令字比较短,控存的横向比较窄。q可以直接应用现有程序设计语言的结果。可以直接应用现有程序设计语言的结果
19、。缺点q微程序比较长,而且垂直型微指令产生微命令要经过微程序比较长,而且垂直型微指令产生微命令要经过译码,程序执行速度慢。译码,程序执行速度慢。q描述并行微操作的能力很差,不适合用于数据通路有描述并行微操作的能力很差,不适合用于数据通路有较多并行性的机器。较多并行性的机器。3232/55/555.3 微程序设计技术微程序的顺序控制问题(微程序地址控制问题)q初始微地址初始微地址:机器指令所对应的微程序的入口地址:机器指令所对应的微程序的入口地址 q形成下一条微指令的地址(称为后继微地址)形成下一条微指令的地址(称为后继微地址)1.微程序入口地址的形成 公用的“取指令”微程序一般存放在控存中第0
20、号单元或其它指定的控存单元开始的一片控存区域中。(这个地址是固定不变的)(这个地址是固定不变的)根据IR中的操作码,找到该指令所对用的微程序的入口地址。5.3.3 微程序的顺序控制3333/55/555.3 微程序设计技术实际上是一个从操作码到入口地址的实际上是一个从操作码到入口地址的映象问题映象问题。两种实现方法:直接对应法 q所有指令的操作码的位数和位置都相同时所有指令的操作码的位数和位置都相同时n直接把操作码与微地址码的部分位对应。直接把操作码与微地址码的部分位对应。例如,可指定微地址:例如,可指定微地址:ConstOp (Op:操作码,:操作码,Const:常数):常数)n操作码一般是
21、连续编码的,所以直接对应过去操作码一般是连续编码的,所以直接对应过去的地址是连续的。的地址是连续的。n改进:改进:在上述拼接的微地址后面再拼接若干位在上述拼接的微地址后面再拼接若干位0(设为(设为n位),使得每个操作码在所对用的区域中有一片位),使得每个操作码在所对用的区域中有一片单元(单元(2n个)可用。个)可用。3434/55/555.3 微程序设计技术q如果操作码的位数和位置不固定,但在每一类指令中,如果操作码的位数和位置不固定,但在每一类指令中,操作码的位数和位置都是相同的,则可以采用两级分操作码的位数和位置都是相同的,则可以采用两级分转。转。查表法 q在操作码的位数或位置不固定的情况
22、下,需要用专门在操作码的位数或位置不固定的情况下,需要用专门的硬件实现操作码到入口地址的映象。的硬件实现操作码到入口地址的映象。q用用PLA或或ROM实现一个表格,该表格给出了各操作实现一个表格,该表格给出了各操作码所对应的微程序的入口地址。码所对应的微程序的入口地址。q使用该表时,只要用操作码作为输入,就能在其输出使用该表时,只要用操作码作为输入,就能在其输出端得到该指令的微程序入口地址。端得到该指令的微程序入口地址。3535/55/555.3 微程序设计技术2.后继微地址的形成两种方式:增量方式,断定方式。增量方式q设置一个微程序计数器设置一个微程序计数器PC。q顺序执行时,给顺序执行时,
23、给PC增加一个增量(通常为增加一个增量(通常为1)给出下一)给出下一条微指令的地址。条微指令的地址。q遇到转移时,由微指令给出转移目标的微地址。遇到转移时,由微指令给出转移目标的微地址。采用这种方式的微指令格式:采用这种方式的微指令格式:3636/55/555.3 微程序设计技术q微地址字段微地址字段SCF分成两个字段分成两个字段n转移控制字段转移控制字段BCF 用于规定是顺序执行还是转移。如果是转移,用于规定是顺序执行还是转移。如果是转移,就由就由BCF指出转移地址的来源。指出转移地址的来源。n转移地址字段转移地址字段BAFq转移地址的来源有转移地址的来源有3种种n由由BAF给出的地址;给出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 微程序控制器-1 微程序 控制器
限制150内