控制器组成、程序设计和基本原理_第1页
控制器组成、程序设计和基本原理_第2页
控制器组成、程序设计和基本原理_第3页
控制器组成、程序设计和基本原理_第4页
控制器组成、程序设计和基本原理_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、控制器组成、程序设计和基本原理127.1 控制器的组成及指令的执行7.2 控制方式和时序的产生7.3 微程序控制器7.4 微程序控制器及其微程序设计举例7.5 硬布线控制器7.6 流水线的基本原理7.7 Pentium CPU本章小结作业37.3 微程序控制器一、基本概念二、微程序控制器的基本工作原理三、微程序控制器的组成四、微程序控制原理举例五、微程序设计技术4一、 基本概念微操作:指令执行时必须完成的基本操作。例如,PCAR,PC+1 PC,RAMIR。微命令:是组成微指令的最小单位,也就是控制微操作实现的控制信号。一般用于控制数据通路上门的打开/关闭,或者功能选择。微指令:是一组微命令的

2、集合,用于完成一个功能相对完整的操作。微程序:微指令的有序集合,用于实现机器指令的功能。5一、 基本概念控制存储器:简称控存,用于存放所有指令的微程序,其中一个存储单元存放一条微指令。一般为ROM。微地址:微指令在控存中的地址。微周期:指从控存中取出并执行一条微指令所需要的时间,一般与一个机器周期相当。6二、微程序控制器的基本工作原理一条机器指令由一段微程序来解释实现 。微程序控制的计算机工作过程:开机上电产生Reset信号置PC为第一条指令的地址置PC为取指令微程序段的入口地址取指令分析指令执行指令执行取指令微程序段产生该指令的微程序入口地址执行该指令的微程序段7三、微程序控制器的组成微程序

3、控制器的组成框图8微程序控制器的构成部件控制存储器:简称控存、CM,用于存放微程序,一般由ROM构成。微地址寄存器:存放要访问的控存中的微指令的地址,又称AR 、CMAR。微指令寄存器:存放从控存中读出的微指令本身,又称IR。其控制字段用于产生微操作控制信号,其下址则送至微地址形成电路,产生下一条微指令的地址。微地址形成电路:用于产生下一条微指令的地址。包含了指令译码器,微程序控制器中ID的作用是将指令寄存器中的操作码OP转换成该指令的微程序入口地址。 9四、微程序控制原理举例(一)模型计算机系统结构(二)模型计算机数据通路(三)模型计算机控制信号(四)微指令格式(五)微程序设计举例10(一)

4、模型计算机系统结构11(二)模型计算机数据通路1、存储器读操作:分成两步:送地址到总线,并打入地址寄存器AR;发送存储器读信号M-R# =0,启动存储器读操作,并将读出的数据从总线上接收至目的部件(例如某通用寄存器或者暂存器DA1、DA2)。例如:取指令操作PCAR,PC+1;发送M-R# =0 ,并RAMIR。12(二)模型计算机数据通路2、存储器写操作:分成两步:送地址到总线,并打入地址寄存器AR;送数据到总线,并发送存储器写信号M-W# =0,启动存储器写操作。3、运算器的运算操作:分成三步:送第一个数据到总线,并打入ALU暂存器DA1/DA2送第二个数据到总线,且打入ALU暂存器DA2

5、/DA1发送运算器功能选择信号S3S0、M、Ci,控制ALU进行某种运算,并打开ALU输出三态门(ALU-B#=0),将总线上运算结果送目的部件。13(三)模型计算机控制信号序号控制信号功能序号控制信号功能1PC-B#指令地址送总线8S3S3- S0选择ALU16种运算之一2B-AR总线数据打入AR9S23PC+1程序计数器+110S14B-PC总线数据打入PC11S05B-IR总线数据打入IR12M选择逻辑运算(1)和算数运算(0)6M-W存储器写13B-DA1总线数据打入暂存器DA17M-R存储器读14B-DA2总线数据打入暂存器DA214(三)模型计算机控制信号序号控制信号功能序号控制信

6、号功能15ALU-B运算器ALU内容送总线22R1-BR1内容送总线16CiALU进位输入23R2-BR2内容送总线17B-R0总线数据打入R024R3-BR3内容送总线18B-R1总线数据打入R125I/O-W写(输出)I/O端口19B-R2总线数据打入R226I/O-W读(输入)I/O端口20B-R3总线数据打入R327Ai端口地址线21R0-BR0内容送总线28J1#指令译码器译码15(四)微指令格式微指令的控制字段28位,一位表示一个微命令。微指令的下址字段指出下一条微指令的地址,该模型机的控制存储器地址是7位,表示最多有128个单元,每个单元(28+7=35位)。 16(五)微程序设

7、计举例微程序设计步骤:根据数据通路,写出每条指令的执行过程,画出微程序流程图。写出每条微指令所发出的微操作控制信号。按照微指令格式,编写每条微指令的代码。对照指令的执行流程图,分配微指令的地址将写好的微指令按分配好的微地址装入控制存储器。17(五)微程序设计举例假设存放在存储器中的二条指令内容为:地址机器码助记符功能04H0101 0000ADD R0, 06H(R0)+06HR005H0000 0110(立即数)06H1000 0000JMP 04H04HPC07H0000 0100(转移地址)181、指令执行过程ADD R0, 06H取指令:M1 (送存储器地址):PCAR, PC+1M2

8、 (读存储器,指令译码):MEM IR,J1#执行指令:M3(取源操作数送地址):PCAR, PC+1M4(取源操作数读):MEM DA1M5(取目的操作数): R0DA2M6(计算并置结果):DA1+DA2Rd191、指令执行过程JMP ADDR取指令:M1 (送存储器地址):PCAR, PC+1M2 (读存储器,指令译码):RAMIR, J1#执行指令:M4(取操作数送地址):PCAR, PC+1M5(取操作数读):RAM PC202、指令执行时产生的微操作序列序号功能发送控制信号取指令(1)PCAR,PC+1PC-B#,B-AR,PC+1,(2)MEMIRM-R#,B-IR,J1#ADD

9、(1)PCAR,PC+1PC-B#,B-AR,PC+1,(2)MEMDA1M-R#,B-DA1(3)R0DA2R0-B#,B-DA2(4)DA1+DA2R0S3S0,M,Ci=100101,ALU-B#,B-R0JMP(1)PCAR,PC+1PC-B#,B-AR,PC+1,(2)MEMPCM-R#,B-PC#213、指令的微程序代码:ADD223、指令的微程序代码:JMP234、为微指令分配微地址01H02H20H21H07H04H05H06H24五、微程序设计技术采用微程序设计的目的:缩短微指令字长;减少控制存储器的容量;微程序的执行速度;易于微指令的修改;增加微程序设计的灵活性。微指令由两

10、部分构成:控制字段:指出微指令的功能,表示要发送的微命令下址字段:用于指出下一条微指令的地址。25五、微程序设计技术(一)控制字段的编码方法(二)下址字段的设计方法(三)微指令格式的类型(四)控制存储器和动态微程序设计(五)毫微程序设计26(一)控制字段的编码方法1、直接控制法:微指令的控制字段中,每一位代表一个微命令(控制信号),在设计微指令时,如果要发出某个微命令则将控制字段中对应位置有效信号,即打开对应控制门。优点:无需译码,执行速度快;微程序较短。缺点:微指令字长很长,占用控存容量大。2、全译码方式:将所有的控制信号进行编码,作为控制字段。在执行微指令时,译码产生各个微命令。优点:微指

11、令字长很短。缺点:并行操作能力弱,微程序很长,执行速度慢27(一)控制字段的编码方法3、字段直接编译法 :将控制字段分成若干段,每段通过编码/译码对应到各个控制信号。优点:并行操作能力较强,字长较短分段原则是:相斥性微命令分在同一字段内,相容性微命令分在不同字段内。前者可以提高信息位的利用率,缩短微指令字长;后者有利于实现并行操作,加快指令的执行速度。 相斥性微命令:指在同一个微周期中不可能同时出现的微命令。相容性微命令:指在同一个微周期中可以同时出现的微命令 28(一)控制字段的编码方法4、字段间接编译法 :某字段的编码含意,除了其本身的编码外,还需要由另一字段来加以解释。也就是说,某一字段

12、所产生的微命令,是和另一字段的代码联合定义出来的。 优点:进一步缩短微指令字长 例如:模型机的微指令格式定义(24位)M23:21(3)M20:18(3)M17:15(3)M14(1)M13:8(6)M7(1)M6:0(7)BTOOTBFUNCFSS3:0 M Ci空MA6:0 直接控制法29模型机微指令字段编码表 编码+译码BTOOTBFUNCFS=1FS=0000空空PC+1空001B-DA1(t4)ALU-B# (t2)J 1# (t2)M-W# (t3)010B-DA2(t4)299-B# (t2)J 2# (t2)M_R# (t2)011B-IR(t3)SR-B# (t2)J 3#

13、(t2)I/O-W# (t3)100B-DR(t4)DR-B# (t2)J 4# (t2)I/O_R# (t2)101B-SP( t4)SI-B# (t2)*J5# (t2)INT_R# (t2)110B-AR(t3)SP-B# (t2)*CyCn# (t2)INT_E# (t2)111B-PC# (t4)PC-B# (t2)CyNCn# (t2)字段间接编译法字段直接编译法30(二)下址字段的设计方法微指令中下址字段的结构和后继微指令地址的形成方法有关,又称为微程序流的控制。后继微指令地址获得方法有三种:根据机器指令操作码产生该指令对应的微程序入口地址(通过指令译码散转);由下址字段指出下一

14、微地址,或顺序1;根据上一条微指令执行结果来判断微指令转移还是顺序执行微指令,即实现微程序分支。31(二)下址字段的设计方法1、微程序入口地址的产生2、后继微地址的产生 3、模型机微地址的产生举例321、微程序入口地址的产生根据机器指令的操作码转移到其对应的微程序入口地址,通常称为操作码映射。这是一种多分支情况,也就是指令译码,通常采用以下两种方法来实现这种转移。映射ROM:简称MAPROM,该ROM中存放的是指令的微程序入口地址。以指令的操作码为地址,访问该MAPROM单元,读出的内容即是该指令的微程序入口地址。逻辑电路:以指令的操作码作为输入变量,通过组合逻辑电路,产生的输出变量即为指令的

15、微程序入口地址。332、后继微地址的产生每条微指令执行完毕,都必须根据要求产生后继微指令地址。方法有两种:(1)计数器方式:在微程序控制器单元中设置一个微程序计数器PC,用于保存后继微指令地址。在顺序执行微指令时,后继微指令地址由现行微地址1(即PC 1)来产生。遇到转移时,由微指令给出转移地址,使微程序按新的微地址顺序执行。 微指令格式:控制字段BAFBCF34(1)计数器方式BAF:转移地址字段,用于给出微指令转移的部分微地址。BAF一般位数少,将它送到PC的若干低位或高位形成后继微地址。 BCF:转移控制字段,用来确定后继微地址是顺序执行还是条件转移。当条件成立时,微程序转移,将BAF送

16、PC;否则顺序执行下一条微指令(PC1)。转移控制字段BCF应当能够定义各种后继微地址来源。假设,在微程序中有顺序执行、无条件转移、条件转移、测试循环、转微子程序和微子程序返回6种情况,再加上指令散转至相应的微程序入口地址,则转移控制字段BCF用3位编码上述7种情况。 优点是微指令字较短,便于编写微程序,后继微地址产生机构比较简单;缺点是执行速度低,微程序在控制存储器中的物理分配不方便,需合理安派、调整 3536(2)判定方式(下址字段法) 微指令格式:控制字段判别测试字段下址字段微指令格式中必须设置一个下址字段,用来指明下一条要执行的微指令地址,所以也称为下址字段法。当微程序不产生分支时,后

17、继微指令地址直接由微指令的下址字段给出;当微程序出现分支时,按判别测试字段和状态条件通过逻辑电路来形成后继微地址。由于每一条微指令至少都是一条无条件转移微指令,因此不必设置专门的转移微指令。优点是可以实现快速多路分支,以提高微程序的执行速度,微程序在控制存储器的物理分配方便,微程序设计灵活;缺点是微指令字长,形成后继微地址的结构比较复杂37383、模型机微地址的产生举例 模型机微程序控制器结构模型机微程序入口地址的产生方法:逻辑电路模型机后继微地址的产生方法:下址字段法模型机后继微地址转移控制部件合二为一39举例:模型机微程序控制器结构40模型机微程序控制器结构后继微地址的产生方法:下址字段法

18、。控存中的24位微码读出后,在T2节拍,高17位送微指令寄存器IR保存并译码,低7位(下址字段)则送控存地址寄存器。在T4节拍,由后继微地址转移控制部件发出微地址修改信号SE6#SE0#,对控存地址寄存器中保存的下址进行修改(SEi#=0,则1 MAi),作为后继微地址后继微地址转移控制部件根据判别测试字段FUNC发出的转移控制信号J1J5,结合指令操作码OP及目前的运算结果状态FZ、FC,开关K2、K1状态和中断INT状态,来发送微地址修改信号SE6SE0,以决定如何修改下址字段所提供的微地址,产生后继微地址。41模型机后继微地址转移控制部件42模型机后继微地址转移控制逻辑(J1)J1#=0

19、时,根据指令的操作码(OP)I7I4进行散转,产生该条指令的微程序入口地址。散转规则:当I7I6=11时(即指令格式三的指令),则SE5#=0,即1MA5,并且:若I5=1,则SE3#=0,即1MA3;若I4=1,则SE2#=0,即1MA2;若I3=1,则SE1#=0,即1MA1;若I2=1,则SE0#=0,即1MA0;当I7I611时(即指令格式一和格式二的指令) ,则:若I7=1,则SE3#=0,即1MA3;若I6=1,则SE2#=0,即1MA2;若I5=1,则SE1#=0,即1MA1;若I4=1,则SE0#=0,即1MA0;43模型机后继微地址转移控制逻辑(J2#)当J2#=0时,根据指

20、令操作码I3I2进行散转,转移至相应指令的微程序段。主要应用于格式二的机器指令,即含寻址方式码(MOD)的格式。该指令格式中, I7I6为第一操作码,通常是指令格式二的特征码,I5I4为寻址方式码(MOD),I3I2为指令的第二操作码,用于区分格式二的四条指令。在这些指令的微程序实现中,通常首先根据I7I4进行J1散转,转移至相应的寻址方式微程序段(主要功能是计算有效地址EA);然后进行第二次的J2散转,转移至不同的机器指令的微程序段(实现指令的功能)。散转规则:I3=1时,则SE1#=0,即1MA1;I2=1时,则SE0#=0,即1MA0;44模型机微地址转移控制逻辑(J3#、J4#、J5#

21、)J3#=0时,根据开关K2、K1状态进行转移;主要应用于控制台操作指令。散转规则:KB=0时,则SE1#=0,即1MA1;KA=0时,则SE0#=0,即1MA0;J4#=0时,根据条件FC或FZ进行转移;主要应用于条件转移指令JZC或JZ或JC。散转规则:FC=1时,则SE1#=0,即1MA1;FZ=1时,则SE0#=0,即1MA0;J5#=0时,根据中断请求信号INT是否有效,确定转移。散转规则:INT=1时,则SE5#=0,即1MA5;45模型机微地址转移控制逻辑举例以第六章所介绍的模型机指令系统(P185)为例,写出所有机器指令的J1散转的微程序入口地址。假设取指令微程序中进行J1散转

22、的微指令的下址字段为10H0010000B。 指令操作码微程序入口地址指令操作码微程序入口地址MOV000010H直接寻址100018HADD000111H间接100119HSUB001012H变址10101AHAND001113H相对10111BHRRC010014HIN11000030HINC1111013DHOUT11000131HDEC1111103EHCALL11001032HCLR1111113FHRET11001133H46模型机微地址转移控制逻辑举例对于指令格式二的四条指令,通过J1散转到寻址方式的微程序入口地址后,各自计算有效地址EA;之后均进行二次的J2散转,假设进行J2散

23、转的微指令的下址字段为40H1000000B,则格式二的四条指令的微程序入口地址为: 指令操作码微程序入口地址LDA0040HSTA0141HJMP1042HJZC1143H47(三)微指令格式的类型不同的计算机有不同的微指令格式,但一般分为水平型微指令和垂直型微指令两种类型。 (1)水平型微指令微指令字采用长格式,也就是控制字段采用直接控制法和字段直接编码法,使一条微指令能控制数据通路中多个功能部件并行操作。 水平型微指令的优点是:一条微指令可同时发送多个微命令,微指令执行效率高,速度快,较灵活,并行操作能力强;水平型微指令构成的微程序较短。它的主要缺点是:微指令字长较长,明显地增加了控制存储器的横向容量。 48(三)微指令格式的类型(2)垂直型微指令 控制字段采用完全编码的方法,将一套微命令代码化构成微指令。就像

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论