版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 5.5 5.5 微程序控制器微程序控制器(Microprogrammed (Microprogrammed Control)Control) 鉴于组合逻辑控制器设计方法的两大缺点鉴于组合逻辑控制器设计方法的两大缺点:(1):(1)逻辑实逻辑实现复杂现复杂,(2),(2)不易扩充和修改不易扩充和修改,1951,1951年剑桥的年剑桥的WilkesWilkes教授提出教授提出微程序控制器的设计思想微程序控制器的设计思想:将机器指令分解成若干基本的:将机器指令分解成若干基本的微命令序列微命令序列, , 用二进制代码表示这些微命令用二进制代码表示这些微命令, ,并编成微指令并编成微指令, ,多条微指
2、令再形成微程序多条微指令再形成微程序, ,在制造在制造CPUCPU时固化在时固化在CPUCPU中的中的一个控制存储器一个控制存储器(CM)(CM)中中, ,执行一条机器指令时执行一条机器指令时,CPU,CPU依此从依此从CMCM中取出微指令中取出微指令, ,从而产生微命令从而产生微命令, ,因此又称为存储逻辑因此又称为存储逻辑. .上述思想用一篇论文的形式提出,论文题为上述思想用一篇论文的形式提出,论文题为“The Best The Best Way to Design an Automatic Calculating Way to Design an Automatic Calculatin
3、g Machine.”Machine.”Proceedings,Manchester University Computer Proceedings,Manchester University Computer Inaugural Conference,JulyInaugural Conference,July 1951 1951文中给出的设计方案叫做文中给出的设计方案叫做WilkesWilkes模型。模型。5.5.1 5.5.1 微程序控制器的提出微程序控制器的提出 由于需要快速和相对廉价的控制存储器由于需要快速和相对廉价的控制存储器(Control (Control Memory),Mem
4、ory),而当时的技术水平难以提供支持而当时的技术水平难以提供支持.1964.1964年年2 2月月,Hill“Stored Logical Programming and Applications” ,Hill“Stored Logical Programming and Applications” Datamation, February 1964,Datamation, February 1964,对微程序的未来做了展望对微程序的未来做了展望. .同年同年4 4月月, ,采用微程序的采用微程序的IBM 360IBM 360问世问世, ,至此至此, ,微程序的各种微程序的各种应用得到不断发
5、展应用得到不断发展, ,作为应用之一的作为应用之一的, ,就是微程序控制器就是微程序控制器. .5.5.2 5.5.2 基本概念基本概念(Basic Concepts)(Basic Concepts) 微命令微命令: :即微操作控制信号即微操作控制信号, ,是构成控制信号序列的最小是构成控制信号序列的最小单位单位, ,由控制器通过控制线向有关部件发出。由控制器通过控制线向有关部件发出。 微操作微操作: :由微命令控制实现的最基本的操作。由微命令控制实现的最基本的操作。 关系关系:微命令是微操作的控制信号,而微操作是微命令:微命令是微操作的控制信号,而微操作是微命令所控制的操作过程,二者一一对应
6、,在计算内部实质上是所控制的操作过程,二者一一对应,在计算内部实质上是同一个信号。同一个信号。 微指令微指令(Microinstructions):(Microinstructions):在机器的一个在机器的一个CPUCPU周期中周期中, ,一组实现一定操作功能的微命令的组合一组实现一定操作功能的微命令的组合, ,以编码的形式以编码的形式存放在存放在CMCM的一个单元中的一个单元中. .把一条机器指令中一个机器周期内的微命令信息放把一条机器指令中一个机器周期内的微命令信息放 在一条微指令中在一条微指令中. . 控制存储器中每个单元存放一条微指令控制存储器中每个单元存放一条微指令. . 微命令字
7、段微命令字段: : 可直接按位或通过译码提供微命令可直接按位或通过译码提供微命令 微指令格式微指令格式微命令字段微命令字段微地址字段微地址字段微操作控制字段微操作控制字段 顺序控制字段顺序控制字段 微地址字段微地址字段: :控制产生下一条微指令地址控制产生下一条微指令地址 机器指令与微指令、微程序的关系机器指令与微指令、微程序的关系 机器指令是提供给使用者编程的基本单位机器指令是提供给使用者编程的基本单位, ,每一每一条指令可完成一个独立的算术运算或逻辑运算操作条指令可完成一个独立的算术运算或逻辑运算操作. . 一条机器指令对应一组微指令组成的微程序一条机器指令对应一组微指令组成的微程序. .
8、可可见见, ,一条机器指令对应多条微指令一条机器指令对应多条微指令, ,而一条微指令可而一条微指令可为多个机器指令服务为多个机器指令服务. .关系如下图所示:关系如下图所示:微程序微程序(Microprogram)(Microprogram) : :由微指令组成的序列称为由微指令组成的序列称为微程序微程序, , 一条机器指令的功能由一段微程序来实现一条机器指令的功能由一段微程序来实现. . 求求解解问问题题的的算算法法ADD R1ADD R1,R2R2STA M1STA M11 1i ii+1i+1mm主存主存ADDADD指令指令的微程序的微程序STASTA指令指令的微程序的微程序控存控存(C
9、M)(CM) 主存主存: :用于存放程序和数据用于存放程序和数据, ,在在CPUCPU外部外部, ,用用RAMRAM实现实现. . 控存控存: :用于存放微程序用于存放微程序, ,在在CPUCPU内部内部, ,用用ROMROM实现实现. .控制存控制存储器的字长等于微指令的长度储器的字长等于微指令的长度, ,其总容量取决于微指令的其总容量取决于微指令的字长和微程序的总长度字长和微程序的总长度. .机器语言程序机器语言程序图图5.25 5.25 机器语言程序与微程序关系示意图机器语言程序与微程序关系示意图例例: :已知某计算机有已知某计算机有8080条指令条指令 , ,平均每条指令由平均每条指令
10、由 1212条微条微指令组成指令组成, ,其中有一条取指微指令是所有指令共用的其中有一条取指微指令是所有指令共用的, ,设微指令长度为设微指令长度为3232位位, ,计算计算CMCM容量容量. . 解解: :微指令所占的二进制位数微指令所占的二进制位数=(12+79=(12+7911) 11) 32=88132=8813232 所以所以,CM,CM容量可选容量可选1K1K32 32 另见教材另见教材P.210P.210第第6 6题题. . 注意注意: : 一条机器指令对应一段微程序一条机器指令对应一段微程序, ,而任何一条机器指而任何一条机器指令的取指阶段的操作都是相同的令的取指阶段的操作都是
11、相同的( (公操作公操作), ),所以所以, ,通常将公共通常将公共的部分提出来的部分提出来, ,编成一个共用微程序编成一个共用微程序( (取指微程序取指微程序), ),放在控存放在控存的开始位置的开始位置. . 微指令周期微指令周期: :读出微指令的时间读出微指令的时间+ +执行该微指执行该微指令的时间令的时间, , 通常通常一个微指令周期与一个一个微指令周期与一个CPUCPU周期周期的时间相等的时间相等. .T1T1T2T2T3T3T4T4T1T1T2T2T3T3T4T4读微指令读微指令 执行微指令执行微指令微指令周期微指令周期CPUCPU周期周期 图图5.265.26 CPUCPU周期与
12、微指令周期的关系周期与微指令周期的关系 相斥性微命令相斥性微命令: :不能同时或不能在同一个不能同时或不能在同一个CPUCPU周期内并周期内并行执行的微命令行执行的微命令; ; 相容性微命令相容性微命令: :能同时或在同一个能同时或在同一个CPUCPU周期内并行执行周期内并行执行的微命令的微命令. . 例如例如: P166: P166页双总线页双总线CPUCPU结构图中结构图中, ,找相斥性微命令找相斥性微命令 (1) (1) 将数据送到内部总线的信号将数据送到内部总线的信号(XXo)(XXo)是相斥的是相斥的, ,如如DRo,PCoDRo,PCo等等; ; (2) (2) 由内部总线接受数据
13、的信号由内部总线接受数据的信号(XXin)(XXin)是不存在相斥关系是不存在相斥关系, ,但由于两个寄存器同时获得同一数据的可能性不大但由于两个寄存器同时获得同一数据的可能性不大, ,因此因此算做相斥性命令算做相斥性命令; ;(3) (3) 同一部件的同一类操作是互斥的同一部件的同一类操作是互斥的, ,如对如对ALUALU的各种操的各种操作作+,-,+,-,对内存的读写操作对内存的读写操作R/WR/W等等. .5.5.3 5.5.3 微程序控制器的构成及工作原理微程序控制器的构成及工作原理 1 1、微控制器主要由控制存储器、微控制器主要由控制存储器(CM)(CM)、微指令寄存器、微指令寄存器
14、(IR) (IR) 、微地址寄存器、微地址寄存器(AR)(AR)、微地址转移逻辑、译码与驱、微地址转移逻辑、译码与驱动电路等几部分组成动电路等几部分组成. . 控制存储器控制存储器(CM):(CM):存放实现全部指令系统的微指令存放实现全部指令系统的微指令, ,它是一种它是一种ROM. ROM. CMCM的一行表示存放的是一条微指令的一行表示存放的是一条微指令, ,列线输出微指令代码列线输出微指令代码, ,行列交叉处有黑点表示该位信息行列交叉处有黑点表示该位信息为为“1”,1”,否则为否则为“0”.0”. 微指令寄存器微指令寄存器(IR)(IR) : :存放由控制存储器存放由控制存储器(CM)
15、(CM)读出的一读出的一条微指令,其字长与微指令字长相同条微指令,其字长与微指令字长相同. .微指令通常分为微指令通常分为两大字段:操作控制字段与地址控制字段。操作控制两大字段:操作控制字段与地址控制字段。操作控制字段经译码或直接产生一组微命令,控制有关部件完字段经译码或直接产生一组微命令,控制有关部件完成微指令规定的微操作。地址控制字段指示下条微指成微指令规定的微操作。地址控制字段指示下条微指令地址的形成方式或直接给出下条微指令地址。令地址的形成方式或直接给出下条微指令地址。 微地址寄存器微地址寄存器(AR):存放要访问的下一条:存放要访问的下一条微指令的地址微指令的地址. . 微地址转移逻
16、辑:不出现分支时微地址转移逻辑:不出现分支时, , 微地址寄微地址寄存器直接给出下一条微指令的地址存器直接给出下一条微指令的地址; ;当出现分当出现分支时支时, ,则需要修改微地址寄存器的值则需要修改微地址寄存器的值, ,然后给然后给出下一条微指令的地址出下一条微指令的地址. .地址转移逻辑自动完地址转移逻辑自动完成修改微地址的任务成修改微地址的任务. . 译码与驱动电路:对微地址寄存器中的微地译码与驱动电路:对微地址寄存器中的微地址进行译码,找到被访问的控存单元并驱动址进行译码,找到被访问的控存单元并驱动其进行读取操作。其进行读取操作。 微地址转移逻辑微地址转移逻辑微地址寄存器微地址寄存器地
17、址地址译码译码驱动驱动IRIRMDRMDR译译 码码微操作控制字段微操作控制字段 顺序控制字段顺序控制字段. .控制存储器控制存储器ROMROM图图5.275.27 WilkesWilkes微程序控制器原理框图微程序控制器原理框图微指令寄存器微指令寄存器微命令微命令指令操作码指令操作码主存主存RAMRAMMARMARPCPCPSRPSRPSWPSW(1)(1)(2)(2)(3)(3) (4)(4) (5)(5) 从微程序控制器的组成框图可以看出:从微程序控制器的组成框图可以看出:PCPC、IRIR、PSRPSR等与组合逻辑控制器并无区别,它等与组合逻辑控制器并无区别,它们的主要区别在于微操作控
18、制信号形成部们的主要区别在于微操作控制信号形成部件不同。件不同。 组合逻辑控制器中的复杂组合逻辑网络在组合逻辑控制器中的复杂组合逻辑网络在微程序控制其中被规整的存储逻辑所替代。微程序控制其中被规整的存储逻辑所替代。存储逻辑包括存放微程序的控制存储器及存储逻辑包括存放微程序的控制存储器及其相关的逻辑。其相关的逻辑。2 2、工作原理工作原理( (上图中所标示的序号表示微程序控上图中所标示的序号表示微程序控制器的工作过程制器的工作过程) ) (1)(1)执行取指微指令或微程序。机器开始运行时,自动将执行取指微指令或微程序。机器开始运行时,自动将取指令微程序的入口微地址取指令微程序的入口微地址( (一
19、般为一般为CMCM的的0 0号单元号单元) )送到送到微地址寄存器微地址寄存器(AR)(AR),并从,并从CMCM中读出相应的微指令送入中读出相应的微指令送入微指令寄存器微指令寄存器(IR)(IR)。取指微程序中各个微命令使取指微程序中各个微命令使CPUCPU访访问主存,将取出的机器指令送到指令寄存器问主存,将取出的机器指令送到指令寄存器IRIR,并修改,并修改程序计数器的内容,为下条机器指令准备地址。程序计数器的内容,为下条机器指令准备地址。(2) (2) IRIR中机器指令的操作码字段通过中机器指令的操作码字段通过“微地址转移逻微地址转移逻辑辑”产生与该机器指令功能对应的微程序的产生与该机
20、器指令功能对应的微程序的入口入口地址地址, ,并送入微地址寄存器并送入微地址寄存器(AR) (AR) 。(5)(5)微地址寄存器中的顺序控制字段及有关状态条件送往微地址寄存器中的顺序控制字段及有关状态条件送往“微地址转移逻辑微地址转移逻辑”,产生下一条微指令的微地址,再读,产生下一条微指令的微地址,再读取并执行下条微指令。如此循环,直到一条机器指令的微取并执行下条微指令。如此循环,直到一条机器指令的微程序全部执行完毕。程序全部执行完毕。(6)(6)执行完一条机器指令的微程序后,回到公用的执行完一条机器指令的微程序后,回到公用的“取机取机器指令器指令”微程序微程序( (即,回到即,回到CMCM的
21、的0 0号单元号单元) ),继续第,继续第(1)(1)步。步。(3) AR(3) AR中的微地址经译码、驱动,中的微地址经译码、驱动,从被选的控制存储器从被选的控制存储器单元中取出一条微指令单元中取出一条微指令,送入微指令寄存器送入微指令寄存器IRIR 。(4)(4) IRIR中中的微操作控制字段经译码或直接产生一组微命令,的微操作控制字段经译码或直接产生一组微命令,并送往有关功能部件,控制其完成规定的微操作。并送往有关功能部件,控制其完成规定的微操作。 5.6 5.6 微程序设计技术微程序设计技术 主要内容为微指令结构的设计:主要内容为微指令结构的设计: 微命令编码微命令编码( (微操作控制
22、字段的设计微操作控制字段的设计) ) 微地址的形成微地址的形成( (顺序控制字段的设计顺序控制字段的设计) ) 微指令格式:水平型和垂直型微指令微指令格式:水平型和垂直型微指令 微程序控制器设计的关键问题微程序控制器设计的关键问题1) 1)微命令的结构格式微命令的结构格式及编码方法,即如何用一个二进制编码字表示各个微命令及编码方法,即如何用一个二进制编码字表示各个微命令;(2)(2)微程序顺序控制的方法,即如何解决不同机器指令所微程序顺序控制的方法,即如何解决不同机器指令所对应的微程序的逻辑衔接,保证微程序的连续执行。对应的微程序的逻辑衔接,保证微程序的连续执行。5.6.1 5.6.1 微命令
23、编码微命令编码 即对微指令中的微操作控制字段进行编码的方法。主即对微指令中的微操作控制字段进行编码的方法。主要应该考虑:如何有利于缩短微指令字长;如何有利于缩要应该考虑:如何有利于缩短微指令字长;如何有利于缩短微程序;减少所需的控存空间;有利于提高微程序执行短微程序;减少所需的控存空间;有利于提高微程序执行速度。速度。 直接表示法直接表示法( (直接控制法、不译法直接控制法、不译法) ) 将微指令操作控制字段的每个二进制位定义为一将微指令操作控制字段的每个二进制位定义为一个微命令个微命令, ,直接送往相应的控制点直接送往相应的控制点. .选用或不选用某个微选用或不选用某个微命令时命令时, ,只
24、要将表示该微命令的对应位置设置成只要将表示该微命令的对应位置设置成0 0或或1 1即即可可, ,所以所以, ,微命令的产生不需要译码微命令的产生不需要译码. .顺序控制字段顺序控制字段操作控制字段操作控制字段微操作控制信号微操作控制信号 优点优点: :简单直观简单直观, ,执行速度快执行速度快; ;微命令的并行控制能力微命令的并行控制能力强强, ,编制的微程序短编制的微程序短. . 缺点缺点: :微指令字太长微指令字太长; ;空间不能充分利用空间不能充分利用. . 2. 2. 字段直接译码法字段直接译码法 将微指令的控制字段分为若干个小字段将微指令的控制字段分为若干个小字段, ,将一组互斥的将
25、一组互斥的微命令放在一个字段内微命令放在一个字段内, , 每种编码对应一种微命令每种编码对应一种微命令. .见下图见下图: :译码译码译码译码译码译码微命令微命令微命令微命令微命令微命令微操作控制字段微操作控制字段顺序控制字段顺序控制字段v 特点特点:既缩短了指令字长既缩短了指令字长,又有并行操作的高效率又有并行操作的高效率,执行速度也较快执行速度也较快.译码器有时间延迟译码器有时间延迟.分段原则分段原则 相斥性微命令分在同一段内相斥性微命令分在同一段内, ,相容性微命令分在不同相容性微命令分在不同段内段内; ; 划分的字段数划分的字段数, ,与需要并行发出的微命令个数有关与需要并行发出的微命
26、令个数有关, ,若需要并行发出若需要并行发出8 8个微命令个微命令, ,就可以分为就可以分为8 8段段; ; 每个小段中包含的信息位不能太多每个小段中包含的信息位不能太多, ,否则增加译码否则增加译码线路的时间和复杂性线路的时间和复杂性. . 每段的长度可以不等每段的长度可以不等, ,与具体要求互斥的微命令个与具体要求互斥的微命令个数有关数有关. .如某类操作要求互斥的微命令由如某类操作要求互斥的微命令由6 6个个, ,则字段则字段安排安排3 3位即可位即可. .另外另外, ,一般每个小段还要留出一个状态一般每个小段还要留出一个状态, ,表示本字段不发任何现行命令表示本字段不发任何现行命令;
27、;3. 3. 混合表示法混合表示法 以上两种的结合使用:将速度要求高,或与其他控制以上两种的结合使用:将速度要求高,或与其他控制信号都相容的微操作控制信号以直接方式表示,其他信号信号都相容的微操作控制信号以直接方式表示,其他信号以编码方式表示。便于综合考虑微指令字长、灵活性和执以编码方式表示。便于综合考虑微指令字长、灵活性和执行速度方面的要求。行速度方面的要求。字段字段1 1 字段字段2 2 字段字段n n顺序控制字段顺序控制字段操作控制操作控制译码译码译码译码微命令微命令 微命令微命令 微命令微命令IRIRv例:某机采用微程序控制方式,微指令字长例:某机采用微程序控制方式,微指令字长2424
28、位,微指位,微指令格式的控制部分为水平型编码;共有微命令令格式的控制部分为水平型编码;共有微命令3030个,构个,构成成4 4个相斥类,各包含个相斥类,各包含5 5个、个、8 8个、个、1414个和个和3 3个微命令。请个微命令。请设计出微指令控制部分的具体格式。设计出微指令控制部分的具体格式。解:按一般原则分段共解:按一般原则分段共4 4段,使用相应译码器。具体格式段,使用相应译码器。具体格式见下图:见下图:X X X X X X X X X X X X X X X X X X X X X X X X X X 3 3:8 8译码器译码器4 4:1616译码器译码器 4 4:1616译码器译码
29、器 2 2:4 4译码器译码器 选选5 5个微命令个微命令选选8 8个微命令个微命令选选1414个微命令个微命令选选3 3个微命令个微命令例:教材例:教材P.210P.210第第8 8题。题。 某机有某机有8 8条微指令条微指令I1I8I1I8,每条微指令所包含的微命令,每条微指令所包含的微命令控制信号如下表所示。控制信号如下表所示。ajaj分别对应分别对应1010种不同性质的微命种不同性质的微命令信号。假设一条微指令的控制字段仅限令信号。假设一条微指令的控制字段仅限8 8位,请安排微位,请安排微指令的控制字段格式。指令的控制字段格式。微指令微指令 a b c d e f g h I ja b
30、 c d e f g h I jI I1 1I I2 2I I3 3I I4 4I I5 5I I6 6I I7 7I I8 8解答:解答:e e,f f,h h两两互斥;两两互斥;b b,I I,j j也是两两互斥。也是两两互斥。由此而设计符合要求的微指令控制字段格式如下:由此而设计符合要求的微指令控制字段格式如下:X X X X X X X XX X X X X X X X0000:无操作:无操作0101:e e1010:f f11 11:h h0000:无操作:无操作0101:b b1010:i i11 11:j j0 0:无操作:无操作1 1:a a0 0:无操作:无操作1 1:c c
31、0 0:无操作:无操作1 1:d d0 0:无操作:无操作1 1:g g 5.6.2 5.6.2 顺序控制字段的设计顺序控制字段的设计 顺序控制字段的作用,是解决微指令执行的顺序控制顺序控制字段的作用,是解决微指令执行的顺序控制问题,即,如何产生后继微指令地址。问题,即,如何产生后继微指令地址。 首先,看如何形成微程序的入口地址。首先,看如何形成微程序的入口地址。 一、微程序入口地址的形成一、微程序入口地址的形成 1. 1. 执行取指微程序执行取指微程序 位置位置: : 通常放在通常放在CMCM的的0 0号或号或1 1号单元开始的一段连续单号单元开始的一段连续单元中元中. . 作用作用: :将
32、一条机器指令从内存取出将一条机器指令从内存取出, ,送到送到IR.IR. 2. 2. 根据机器指令的操作码指出微程序的入口地址根据机器指令的操作码指出微程序的入口地址( (初始微初始微地址地址), ),这是一种多分支这是一种多分支( (多路转移多路转移) )的情况的情况. . 例例: : 某机采用微程序控制器设计某机采用微程序控制器设计, ,已知每条机器指令的执行已知每条机器指令的执行过程均可分解为过程均可分解为8 8条微指令组成的微程序条微指令组成的微程序, ,该机指令系统采该机指令系统采用用6 6位定长操作码格式位定长操作码格式,CM,CM至少应能容纳多少条微指令至少应能容纳多少条微指令?
33、 ?如如何确定机器指令操作码与该指令微程序入口地址的对应关何确定机器指令操作码与该指令微程序入口地址的对应关系系, ,给出具体方案给出具体方案. . 如果机器指令操作码字段的位数和位置固定如果机器指令操作码字段的位数和位置固定, ,可以根可以根据指令操作码一次转移到微程序的入口据指令操作码一次转移到微程序的入口, ,采用的采用的方法是直方法是直接使操作码与微地址码的部分位相对应接使操作码与微地址码的部分位相对应. . 解解: CM: CM可容纳的微指令条数为可容纳的微指令条数为 2 26 68=5128=512 由于由于CMCM的容量为的容量为512512个单元个单元, ,微地址寄存微地址寄存
34、器为器为9 9位位, ,其中高其中高6 6位为机器指令的操作玛位为机器指令的操作玛, ,它与它与任意低任意低3 3位拼接位拼接, ,即可形成微程序的入口地址即可形成微程序的入口地址. .0 0 0 0 0 0 0 0 0 0 0 0 OPOPARAR微程序入口地址微程序入口地址( (初始微地址初始微地址) )的形成的形成 二、后继微地址的形成二、后继微地址的形成 1. 1.计数器方式计数器方式 借鉴了用借鉴了用PCPC计数产生机器指令地址的方法计数产生机器指令地址的方法, ,在微在微 程程序控制器中设置一个硬件计数器叫微程序计数器序控制器中设置一个硬件计数器叫微程序计数器PC(PC(或或MPC
35、)MPC); 顺序执行微程序时顺序执行微程序时,(PC)+1PC,(PC)+1PC; 微程序出现转移时微程序出现转移时, ,由微指令地址字段中转移部分由微指令地址字段中转移部分结合转移条件把新地址送入结合转移条件把新地址送入PC.PC. 找到初始微地址之后,执行相应微程序找到初始微地址之后,执行相应微程序, ,每条微指令每条微指令执行完毕后都要根据要求形成后继微地址执行完毕后都要根据要求形成后继微地址. . 计数器方式的微指令格式计数器方式的微指令格式 T(0)T(0) 微命令字段微命令字段普通微指令普通微指令T(1)T(1) 转移控制转移控制转移地址转移地址转移微指令转移微指令 为区别普通微
36、指令和转移微指令,增加一位标志位为区别普通微指令和转移微指令,增加一位标志位T T。 转移微指令除标志位转移微指令除标志位(T)(T)外,又分为转移控制字段和转外,又分为转移控制字段和转移地址字段。当转移条件满足时,将转移地址字段作为移地址字段。当转移条件满足时,将转移地址字段作为下一个微地址;若转移条件不满足,则直接从下一个微地址;若转移条件不满足,则直接从PCPC中取中取得下一条微指令的微地址。得下一条微指令的微地址。 “ “转移控制转移控制”字段的位数由微程序流程图的分支个数决字段的位数由微程序流程图的分支个数决定,可采用定,可采用译码方式译码方式和和直接方式直接方式。 例例: :下图为
37、一微程序流程图下图为一微程序流程图, ,每一个方框代表一每一个方框代表一条条微指令微指令, ,分别用字符分别用字符A-PA-P表示其执行的表示其执行的微操作微操作, ,根据给定的微程序流程根据给定的微程序流程, ,设计微指令的顺序控制设计微指令的顺序控制字段字段, ,并为每条微指令分配一个微地址并为每条微指令分配一个微地址. .A AB BC CD DH HL LP PE EF FI IMMJ JNNG GK KOO(1)(1)根据根据IRIR1 1、IRIR0 0做四路分支做四路分支(2)(2)根据运算结果状态位根据运算结果状态位C CZ Z的值的值做两路分支做两路分支该微程序有两处分支该微
38、程序有两处分支: :IRIR1 1IRIR0 0=00=00IRIR1 1IRIR0 0=01=01IRIR1 1IRIR0 0=10=10IRIR1 1IRIR0 0=11=11(1)(1)(2)(2) C CZ Z=0=0C CZ Z=1=1返回返回解解: :由于有由于有1616条微指令条微指令, ,再加上一些转移微指令再加上一些转移微指令, ,安排微地址安排微地址为为6 6位位. . 转移控制字段的长度与微程序流程图中的转移情况有转移控制字段的长度与微程序流程图中的转移情况有关关, ,现有现有2 2种转移情况种转移情况, ,加上无条件转移加上无条件转移, ,故需用故需用2 2位转移控制位
39、转移控制字段字段(P1P0)(P1P0)来控制来控制( (译码方式译码方式). ). P1P0=00: P1P0=00:无条件转移无条件转移; ; P1P0=01: P1P0=01:由指令的操作码来由指令的操作码来IR1IR0IR1IR0修改修改PC5PC5和和PC4;PC4; P1P0=10: P1P0=10:由由CzCz修改修改PC3PC3增量方式的微地址安排如下图所示增量方式的微地址安排如下图所示: : A A B B C C D DH H E E F FI IJ JG GK KIR1IR0=00IR1IR0=0110110 00000000000010000010 101 001000
40、00001100001000001001 110001010010010 00 1 00000000010011010100000011000011001011010011011 100 000000 011100略略011010计数器方式形成后续地址图示:计数器方式形成后续地址图示:T T 转移地址转移地址CMCMPCPC微地址微地址转移逻辑转移逻辑OPOP条件码条件码状态标志状态标志 IRIR转移控制转移控制IRIR图图5.29 5.29 计数器方式形成后续地址结构框图计数器方式形成后续地址结构框图 2 2、断定断定( (下址字段下址字段) )方式方式优点优点: : 简单简单; ;要求组成
41、一个微程序的多条微指令在要求组成一个微程序的多条微指令在CMCM中中连续存放连续存放; ;微指令字长缩短微指令字长缩短. . 缺点:微程序中会出现大量的转移微指令,导致执行缺点:微程序中会出现大量的转移微指令,导致执行时间增加;需要区分普通微指令和转移微指令,使微程序时间增加;需要区分普通微指令和转移微指令,使微程序控制电路复杂化控制电路复杂化; ;CMCM物理地址分配不方便物理地址分配不方便. .断定方式:后继微程序地址可由设计者指定或由测试判断定方式:后继微程序地址可由设计者指定或由测试判别字段控制产生别字段控制产生. .断定方式的微指令格式断定方式的微指令格式: :微操作码微操作码测试条
42、件测试条件 下地址下地址操作控制字段操作控制字段顺序控制字段顺序控制字段微操作码微操作码测试条件测试条件 下地址下地址 (2) (2)微程序出现分支时,按顺序控制字段给出的测试微程序出现分支时,按顺序控制字段给出的测试条件字段结合指令操作码、状态条件等来形成后继微条件字段结合指令操作码、状态条件等来形成后继微地址。地址。 说明:说明: (1)(1)微程序不产生分支时,直接由微指令中顺序控制字微程序不产生分支时,直接由微指令中顺序控制字段给出后继地址,该字段即段给出后继地址,该字段即“下地址下地址”字段。字段。 注意该字段位数的要求。注意该字段位数的要求。 注意该字段位数的要求。注意该字段位数的
43、要求。3 3、断定方式与计数器方式结合的方法确定后续地址断定方式与计数器方式结合的方法确定后续地址略略例:用下址方式为上例中的部分微指令序列安排微地址。例:用下址方式为上例中的部分微指令序列安排微地址。解解: : 先确定微指令格式中顺序控制字段的安排。先确定微指令格式中顺序控制字段的安排。(1)(1)下址字段位数下址字段位数APAP共为共为1616条微指令,需要条微指令,需要1616个微地个微地址,故用址,故用4 4位;位;(2)(2)测试条件字段测试条件字段P P的位数的位数22位位( (描述后继地址的形成条描述后继地址的形成条件件) )。OPOP测试条件测试条件P P下地址下地址0000取
44、下地址取下地址0101按按IR1IR1、IR0IR0转移(修改末两位)转移(修改末两位)1010按按C Cz z值转移(修改末一位)值转移(修改末一位)1111空空再考虑微地址的分配。微地址分配的关键是带有分支再考虑微地址的分配。微地址分配的关键是带有分支的微指令,的微指令,为了简化地址修改逻辑,通常使带分支的微为了简化地址修改逻辑,通常使带分支的微指令的下址字段被测试条件控制的那几位为全指令的下址字段被测试条件控制的那几位为全0 0。无转移无转移时,微地址可任意分配,一般由小到大分配,将时,微地址可任意分配,一般由小到大分配,将CMCM中没中没有分配的微地址分配到不同的微指令中去。有分配的微
45、地址分配到不同的微指令中去。00000000(0 0)00010001(1 1)00100010(2 2)01010000(4 4)01010101(5 5)01011010(6 6)010111 11(7 7)00110011(3 3)10001000(8 8)10011001(9 9)1011010 0(1010)1011011 1(11 11)11001100(1212)11011101(1313)11101110(1414)11111111(1515)A A 0000 00010001B B 0000 00100010C C 010101010000D D 0000 00110011E
46、 E 1010 10101010F F 000011011101G G 0000 00000000H H 0000 10001000I I0000 10111011J J0000 11101110K K 0000 00000000L L 0000 10011001MM 0000 11001100NN 0000 11111111OO 0000 00000000P P 0000 10011001IRIR1 1IRIR0 0=00=00IRIR1 1IRIR0 0=01=01IRIR1 1IRIR0 0=10=10IRIR1 1IRIR0 0=11=11根据运算结果状态根据运算结果状态位位Cz,Cz
47、,修改修改AR0,AR0,做做两路选择两路选择根据根据IR1IR1,IR0IR0,修,修改改AR0AR0和和AR1AR1,做做四路分支四路分支0000 A 00 00010000 A 00 00010001 B 00 00100001 B 00 00100010 C 01 01000010 C 01 01000011 E 10 1010 0011 E 10 1010 0100 D 00 00110100 D 00 00110101 H 00 10000101 H 00 10000110 L 00 10010110 L 00 10010111 P 00 10010111 P 00 1001100
48、0 I 00 10111000 I 00 10111001 M 00 1100 1001 M 00 1100 1010 F 00 1101 1010 F 00 1101 1011 J 00 11101011 J 00 11101100 N 00 11111100 N 00 11111101 G 00 00001101 G 00 00001110 K 00 00001110 K 00 00001111 O 00 00001111 O 00 0000二进制二进制十进制十进制微地址微地址微指令微指令操作控制字段操作控制字段顺序控制字段顺序控制字段微命令微命令判别测试判别测试下地址下地址按按OPOP转
49、移转移按按Cz转移转移由指令由指令OPOP控制控制由由Cz控制控制v微地址修改电路如图:微地址修改电路如图:与与与与与与ARAR0 0 AR AR0 0P=01P=01P=10P=10IR1 IR0 Z IR1 IR0 Z 或或ARAR0 0ARAR1 1控制存储器控制存储器地址译码地址译码微地址寄存器微地址寄存器微地址转移微地址转移逻辑逻辑P P字段字段控制字段控制字段OPOPIRIR状态条件状态条件图图5.30 5.30 断定方式形成后继地址结构图断定方式形成后继地址结构图 断定方式形成后继地址结构图如下图所示:断定方式形成后继地址结构图如下图所示: 本例中微地址转移逻辑的内部结构如下图所
50、示:本例中微地址转移逻辑的内部结构如下图所示:与与与与与与ARAR1 1 AR AR0 0 AR AR0 0P=01P=01P=10P=10IR1 IR0 CzIR1 IR0 Cz图图5.31 5.31 微地址修改电路图微地址修改电路图 5.6.3 5.6.3微指令格式微指令格式一、水平型微指令一、水平型微指令一次能定义并能并行执行多个微命令的微指令一次能定义并能并行执行多个微命令的微指令.从编从编码方式上看码方式上看,直接表示法、字段直接译码法及混合法直接表示法、字段直接译码法及混合法,都属都属于水平型微指令于水平型微指令.特点特点:并行性好并行性好,效率高效率高,灵活性强灵活性强,执行一条
51、机器指令所执行一条机器指令所需微指令的数目少需微指令的数目少,执行时间短执行时间短;但微指令字较长但微指令字较长,增加了增加了CMCM的横向容量的横向容量.二、垂直型微指令二、垂直型微指令采用类似机器指令操作码的方法采用类似机器指令操作码的方法,在微指令中设置操在微指令中设置操作码字段作码字段,由操作码规定微指令的功能由操作码规定微指令的功能.是是一次只能执行一次只能执行一个微命令的微指令一个微命令的微指令.特点特点:并行性差并行性差,效率低效率低,执行一条机器指令所需微指令执行一条机器指令所需微指令的数目多的数目多,执行时间长执行时间长,但微指令与机器指令相似但微指令与机器指令相似,容易掌握
52、容易掌握. 两种微指令格式的比较两种微指令格式的比较 水平型微指令比垂直型微指令并行操作能水平型微指令比垂直型微指令并行操作能力强、效率高、灵活性强力强、效率高、灵活性强. 水平型微指令执行一条机器指令所需的微水平型微指令执行一条机器指令所需的微指令数目少指令数目少,因此速度比垂直型微指令的速因此速度比垂直型微指令的速度快度快. 水平型微指令用较短的微程序结构换取较水平型微指令用较短的微程序结构换取较长的微指令结构长的微指令结构,垂直型微指令正好相反垂直型微指令正好相反,它它以较短的微指令结构换取较长的微程序结构以较短的微指令结构换取较长的微程序结构. 水平型微指令与机器指令差别较大水平型微指
53、令与机器指令差别较大,而垂直而垂直型微指令与机器指令相似型微指令与机器指令相似. 5.6.4 5.6.4 微程序控制器设计举例微程序控制器设计举例一、模型机总体结构如下图所示。一、模型机总体结构如下图所示。 (2)(2)寄存器的组织寄存器的组织 ( (一一) )部件设置部件设置 1 1、CPUCPU包括三个部分:包括三个部分: (1)(1)运算部件运算部件 以以ALUALU为核心,它的一个输入端设有累加器为核心,它的一个输入端设有累加器ACAC,另一,另一个输入端数据直接来自个输入端数据直接来自DRDR;ALUALU的输出直接送累加器的输出直接送累加器ACAC。 程序计数器程序计数器PCPC,
54、通过,通过ALUALU实现增实现增1 1操作;操作; 指令寄存器指令寄存器IRIR; 与主存的接口寄存器与主存的接口寄存器MARMAR、MDRMDR (3) (3) 控制单元控制单元 主体即主体即CMCM,也是微程序设计的目标,另需配有:微地,也是微程序设计的目标,另需配有:微地址修改逻辑、址修改逻辑、ARAR、IRIR等。等。2 2、主存、主存MM 按字编址,字长按字编址,字长1616位;位; 接收接收CMCM的的READ/WRITEREAD/WRITE及及MREQMREQ微操作控制信号。微操作控制信号。3 3、数据通路、数据通路 CPU CPU内部数据通路采用专用数据通路和单总线相结合内部
55、数据通路采用专用数据通路和单总线相结合的方式。的方式。图中图中 表示信息传送方向,表示信息传送方向, 表示控制门,表示控制门, 表示微操表示微操作控制信号。作控制信号。ALU状态寄存器状态寄存器ACPCAR指令译码器指令译码器控制单元控制单元CU存储器存储器 数据总线数据总线+1PC ARMREQR/WDBUS ARDBUS PCCDR ACDR ACDR ALUIRDRDR IRIR(AR) DBUS+_DBUS DRDR DBUS IR(AR)OPDBUS DRDBUS PC内部控制信号内部控制信号MREQ R/W 外部控制信号外部控制信号IR( (二二) )模型机指令系统模型机指令系统O
56、POP I I D DIRIR1515IRIR1414IRIR1313IRIR1212IRIR0 0IRIR11 11IRIR(1)(1)指令格式:单字长单地址指令,格式如下:指令格式:单字长单地址指令,格式如下: 操作码操作码3 3位,指令系统最多表示位,指令系统最多表示2 23 3共共8 8条机器指令;条机器指令; 寻址方式寻址方式1 1位,表示有两种寻址方式:位,表示有两种寻址方式: I=0I=0,存储器直接寻址;,存储器直接寻址; I=1I=1,存储器间接寻址,存储器间接寻址 形式地址形式地址D D为为1212位位 (2) (2) 指令系统指令系统 模型机指令系统包括模型机指令系统包括
57、5 5条指令,如下所示:条指令,如下所示:CLA CLA ; ; 清清ACACADD I DADD I D ; I=0 ; I=0为直接寻址为直接寻址, ,即即(AC)+(D) AC(AC)+(D) AC I=1 I=1为间接寻址为间接寻址, ,即即(AC)+(D) AC(AC)+(D) ACSTA I DSTA I D ; I=0 ; I=0为直接寻址为直接寻址, ,即即(AC) D(AC) D I=1 I=1为间接寻址为间接寻址, , 即即(AC) (D)(AC) (D)LDA I DLDA I D ; I=0 ; I=0为直接寻址为直接寻址, ,即即(D) AC(D) AC I=1 I=
58、1为间接寻址为间接寻址, , 即即(D) AC(D) ACJMP I DJMP I D ; I=0 ; I=0为直接寻址为直接寻址, ,即即D PCD PC I=1 I=1为间接寻址为间接寻址, ,即即 (D) PC(D) PC 二、微程序控制器设计步骤二、微程序控制器设计步骤 (1) (1) 根据根据CPUCPU的结构图写出每条指令的操作流程图并分解的结构图写出每条指令的操作流程图并分解成微操作序列,如下图所示。成微操作序列,如下图所示。 图中每一个矩形框表示一条微指令。以加法指令图中每一个矩形框表示一条微指令。以加法指令ADDADD为例。为例。 (2) (2) 选择合适的控制时序选择合适的
59、控制时序微周期微周期T1T1T2T2采用同步控制方式,选用二相控制时序如下:采用同步控制方式,选用二相控制时序如下:PC ARPC AR R R,MREQMREQ,+1+1DBUS DRDBUS DRDR IRDR IR取指微程序取指微程序第一处分支第一处分支: :根据根据IRIR1515IRIR1414IRIR1313的的值,做值,做5 5路分路分支支C CCLA(IRCLA(IR1515IRIR1414IRIR1313=000)=000)ADD(IRADD(IR1515IRIR1414IRIR1313=001)=001)IR(AR) DBUSIR(AR) DBUSDBUS ARDBUS A
60、R接下页接下页第二处分支:根第二处分支:根据据IR12IR12的值,做的值,做2 2路分支路分支接上页接上页( (以加法指令以加法指令ADDADD为例为例) )R R,MREQMREQDBUS ARDBUS ARIRIR1212=1(=1(间址间址) )IRIR1212=0(=0(直接寻址直接寻址) )R R,MREQMREQDBUS DRDBUS DRDR ALUDR ALU+ + 其它指令的微操作序列可自己分解其它指令的微操作序列可自己分解(3)(3)对微命令编码对微命令编码微命令共有微命令共有1616条,其中选通信号为条,其中选通信号为11 11个个( (如如DBUSARDBUSAR,)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《肾移植术后的护理》课件
- 养老院老人生活设施维修人员激励制度
- 养老院老人关爱服务规范制度
- 《用餐的经验过程》课件
- 2024年泥工装修项目合作合同样本版B版
- 施工成本控制的合同(2篇)
- 健美操基本步伐课件
- 2024年甲乙双方关于城市轨道交通信号系统建设与维护合同
- 刑法学课程课件教案绪论
- 2025年廊坊货运从业资格模拟考
- JT-T-775-2016大跨度斜拉桥平行钢丝拉索
- 国有资产委托管理协议书范本
- 医疗卫生部门传染病转诊流程
- 危重患者气道管理
- 班级预防校园欺凌排查表
- B737NG 机型执照试题集
- 手术室组长竞聘演讲
- 中国肿瘤整合诊治指南(CACA)-胃癌智慧树知到期末考试答案章节答案2024年温州医科大学
- 市场营销学实践总结
- HG-T 2737-2023 非金属化工设备 丙烯腈-丁二烯-苯乙烯、聚氯乙烯、均聚聚丙烯、聚偏氟乙烯和玻璃纤维增强聚丙烯球阀
- 四川音乐学院辅导员考试试题2024
评论
0/150
提交评论