Lecture-19-中央处理机-微程序控制器_第1页
Lecture-19-中央处理机-微程序控制器_第2页
Lecture-19-中央处理机-微程序控制器_第3页
Lecture-19-中央处理机-微程序控制器_第4页
Lecture-19-中央处理机-微程序控制器_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

微程序控制器指令流程图MOVR1,R0

(R1)R0ADD(R1),R0

((R1))+R0R0JMP#NIRPCIRo,G,PCi主要内容微程序控制的根本思想微程序控制的相关概念微程序控制的工作原理微程序设计微程序控制的根本思想把操作控制信号编制成微指令,存放到控制存储器里。运行时,从控存中取出微指令,产生指令运行所需的操作控制信号。从上述可以看出,微程序设计技术是用软件方法来设计硬件的技术。

完成一条机器指令微操作命令1微操作命令2微操作命令n…微指令110100000微指令m微程序00010010存储逻辑一条机器指令对应一个微程序…存入ROM微程序控制的根本思想微程序的一个例子控存S+1SS+2P+1QQ+2PP+2Q+1…Q+1Q+2SS+1S+2P+1P+2S………K+1K+2SKK+2K+1×××μDR

微地址

形成部件顺序逻辑μAR地址译码下址OPIR微程序控制器主要内容微程序控制的根本思想微程序控制的相关概念微程序控制的工作原理微程序设计微程序控制的相关概念微命令:控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。例如:翻开或关闭某个控制门的电位信号、某个存放器的打入脉冲等。微命令是控制计算机各部件完成某个根本微操作的命令。微操作:执行部件接收微命令后所进行的操作。微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作过程。微操作是执行部件中最根本的操作。微程序控制的相关概念相容和互斥互斥的微操作,是指不能同时或不能在同一个节拍内并行执行的微操作。相容的微操作,是指能够同时或在同一个节拍内并行执行的微操作。右图中4,6,8互斥

1,2,3相容微程序控制的相关概念微指令〔Microinstruction〕:把在同一CPU周期中,假设干个实现一定功能的微命令组合在一起,存储在控制存储器的一个单元中。它是微命令的组合,微指令存储在控制器中的控制存储器中一条微指令通常至少包含两大局部信息:操作控制字段,又称微操作码字段,用以产生某一步操作所需的各个微操作控制信号。顺序控制字段,又称微地址码字段,用以控制产生下一条要执行的微指令地址。微周期——通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。微程序控制的相关概念微程序一系列微指令的有序集合就是微程序一段微程序对应一条机器指令机器语言程序一系列机器指令的有序集合称为机器语言程序微程序控制的相关概念

程序指令的集合指令〔微程序〕微指令的集合微指令微命令的集合微命令微程序控制的相关概念主存储器与控制存储器主存储器用于存放程序和数据,在CPU外部,用RAM来实现控制存储器用于存放微程序,在CPU内部,用ROM来实现地址存放器AR与微地址存放器μAR地址存放器AR用于存放主存的读/写地址微地址存放器μAR用于存放控存的读/写微指令的地址指令存放器IR与微指令存放器μIR(μDR)指令存放器IR用于存放从主存中读出的指令微指令存放器μIR用于存放从控存中读出的微指令微指令的格式

操作控制字段判别测试字段下地址字段三种不同的控制字段的编码方法直接控制法(不译法);最短编码法字段译码法微程序控制的相关概念微程序控制的相关概念(1)直接控制编码在微指令的操作控制字段中,每一位代表一个微操作命令下地址…控制信号操作控制某位为“1”

表示该控制信号有效直接控制编码的特点优点:速度快微指令中的微操作有高度的并行性控制存储器的纵向容量小,灵活性强缺点:微指令字比较长,明显地增加了控制存储器的横向容量水平微指令与机器指令差异很大,一般要熟悉机器结构、数据通路、时序系统以及指令执行过程的人才能进行微程序设计,这对用户来说是很困难的微指令字长过长;在给定的任何一个微指令中,往往只需很少局部微命令,因此只有局部位置1,造成有效的空间不能充分利用。微程序控制的相关概念垂直型微指令的结构类似于机器指令的结构。它有操作码,在一条微指令中只有1~2个微操作命令,每条微指令的功能简单。实现一条机器指令的微程序要比水平型微指令编写的微程序长得多,它是采用较长的微程序结构去换取较短的微指令结构。微指令PCMARMDRIRRD…指令LDAMOV…微程序控制的相关概念(2)最短编码最短编码法的特点:微指令字短,一般为10~20位左右。控制存储器的横向容量少微指令的并行微操作能力有限,一条微指令一般只包含一个微操作命令。微指令译码比较复杂。设计用户只需注意微指令的功能,而对微命令及其选择、数据通路的结构那么不用过多地考虑,因此,便于用户编制微程序。而且,编制的微程序规整、直观,便于实现设计的自动化。编制微程序要使用较多的微指令,微程序较长;要求控制存储器的纵向容量大。产生微命令要经过译码,微程序执行速度慢。不能充分利用数据通路具有多种并行操作能力微程序控制的相关概念微程序控制的相关概念(3)字段编码法将微指令的控制字段分成假设干“段”,每段经译码后发出控制信号每个字段中的命令是互斥的译码…译码…译码…下地址操作控制控制信号缩短了微指令字长,增加了译码时间怎么分段?微程序控制的相关概念字段直接编码方式中“段”的划分原那么A.互斥性的微命令分在同一段内,兼容性的微命令分在不同段内B.与数据通路结构相适应C.每个小段中包含的信息位不能太多,否那么将增加译码线路的复杂性和译码时间D.每个小段还要留出一个状态,表示本字段不发出任何现行命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作微程序控制的相关概念字段间接编码方式分段间接编译法是在直接编译法根底上,进一步缩短微指令字长的一种编码方法。在这种编译法中,一个字段的含义不仅决定于本字段编码,还兼由其它字段来解释,以便使用较少的信息位表示更多的微命令。…字段1…字段2译码译码译码…操作控制控制信号…字段n下地址……控制信号微程序控制的相关概念混合控制法直接控制法与译码控制法的混合使用译码……译码…下地址操作控制控制信号主要内容微程序控制的根本思想微程序控制的相关概念微程序控制的工作原理微程序设计微程序控制器的工作原理

微地址

形成部件顺序逻辑μAR地址译码控制存储器标志CLK下地址μDR至CPU内部和系统总线的控制信号OPIR微程序控制器的工作原理LDAXADDYSTAZ主存STP用户程序控存S+1SS+2P+1QQ+2PP+2Q+1…取指周期

微程序对应

LDA操作的微程序对应ADD

操作的微程序Q+1Q+2SS+1S+2P+1P+2S………对应STA

操作的微程序K+1K+2SKK+2K+1×××控存S+1SS+2P+1QQ+2PP+2Q+1…Q+1Q+2SS+1S+2P+1P+2S………K+1K+2SKK+2K+1×××μDR

微地址

形成部件顺序逻辑μAR地址译码下址OPIR微程序控制器(1)取指阶段SuARCM(uAR)uDR由uDR发命令形成下条微指令地址Ad(uDR)uARCM(uAR)uDR由uDR发命令Ad(uDR)uARCM(uAR)uDR由uDR发命令S+1S+2PCMAR1RM(MAR)MDR(PC)+1PCMDRIR100001S+1S…010010S+2S+1…形成下条微指令地址执行取指微程序0010000S+2…×××微程序控制器的工作原理CM(uAR)uDR由uDR发命令Ad(uDR)uARCM(uAR)uDR由uDR发命令Ad(uDR)uARCM(uAR)uDR由uDR发命令OP(IR)微地址形成部件

uAR(PuAR)Ad(uDR)uARAd(IR)MAR1RM(MAR)MDRMDRAC00000010P+2…S(2)执行LDA微程序形成下条微指令地址P+1形成下条微指令地址P+2形成下条微指令地址M(SuAR)01000P+2P+1…0001001P+1P…(3)取指阶段CM(uAR)uDR由uDR发命令SuARPCMAR1R全部微指令存在CM中,程序执行过程中只需读出关键

微指令的操作控制字段如何形成微操作命令

微指令的后续地址如何形成执行取指微程序…100

001S+1S…主要内容微程序控制的根本思想微程序控制的相关概念微程序控制的工作原理微程序设计微程序设计微指令的操作控制字段如何形成微操作命令

微指令的编码方式微指令的后续地址如何形成

微指令序列地址的形成机器周期节拍PCoGARiRDRoIRi+1R1oR0iXiR0oYi+ALU0IRoPCiM1T1MAJMAJMAJT2MAJT3MAJMAJMAJT4MAJM2T1MAJAMAMJJT2AT3AAAT4M3T1AAAT2T3T4M4T1AAAAT2T3T4(1)直接控制编码在微指令的操作控制字段中,每一位代表一个微操作命令下地址…控制信号操作控制某位为“1”

表示该控制信号有效例取指微程序LDA微程序PCMAR1RM(MAR)MDR(PC)+1PCMDRIR100001S+1S…010010S+2S+1…0010000S+2…×××Ad(IR)MAR1RM(MAR)MDRMDRAC00000010P+2…S01000P+2P+1…0001001P+1P…例机器周期节拍PCoGARiRDRoIRi+1R1oR0iXiR0oYi+ALU0IRoPCiM1T1MAJMAJMAJT2MAJT3MAJMAJMAJT4MAJM2T1MAJAMAMJJT2AT3AAAT4M3T1AAAT2T3T4M4T1AAAAT2T3T4微程序设计-微指令的编码方式(2)字段直接编码方式将微指令的控制字段分成假设干“段”,每段经译码后发出控制信号每个字段中的命令是互斥的译码…译码…译码…下地址操作控制控制信号缩短了微指令字长,增加了译码时间怎么分段?微程序设计-微指令的编码方式字段直接编码方式中“段”的划分原那么A.互斥性的微命令分在同一段内,兼容性的微命令分在不同段内B.与数据通路结构相适应C.每个小段中包含的信息位不能太多,否那么将增加译码线路的复杂性和译码时间D.每个小段还要留出一个状态,表示本字段不发出任何现行命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作例1微指令微命令信号abcdefghijI1√√√√√I2√√√√I3√√I4√I5√√√√I6√√√I7√√√I8√√√某机有8条微指令I1~I8,a~j是10个不同的微命令信号。每条微指令用到的微命令信号如下表所示。请安排微指令的微命令字段格式,要求微命令字尽可能短。微指令控制字段:O7

O6

O5

O4

O3

O2

O1

O0

00:e

00:b

a

c

d

g

01:f

01:i

10:h

10:j

11:无效11:无效例2CPU数据通路如下图,线上标有控制信号。设计适合此数据通路的微指令。例2解一种最简单的方法是采用直接控制编码,将所有控制信号在微指令的控制段中列出此处,用字段直接编码。(1)列出互斥的微命令BBUS上某一时间只能允许一个逻辑部件的输出:IRo,PCo,ARo,DRo,R0o,R1o,R2o,R3o,FoALU在某一时间只能进行一种操作:+,-设某一时刻,IR,PC,AR,DR,R0~R3,X,Y只能有一个接受数据:IRi,PCi,ARi,DRi,R0i~R3i,Xi,Yi存储器同一时刻不能同时接受读和写:R,W解:此数据通路的微指令格式如下微程序设计-微指令序列地址的形成每个指令对应一段微程序,如何知道对应于某个指令的微程序入口地址(该微程序中第一条微指令的地址)?知道了微程序的入口地址,如何知道下一条微指令的地址?取指操作也是由微程序来完成的,每条指令都需要,它在什么位置?微程序入口地址的形成每条机器指令都需要取指操作,将取指操作编制成一段公用微程序,安排在控制存储器的0号或1号单元开始的空间。每一条机器指令对应一段微程序。首先由“取指令”微程序取出一条机器指令到IR中,然后根据机器指令操作码转换成该指令对应的微程序入口地址。这是一种多分支(或多路转移)的情况,常用以下方式形成入口地址:如操作码编码为P,那么入口地址为:×…×P或P×…×或××P…×。后继微地址的形成(1)计数器方式在顺序执行微指令时,后续微指令地址由现行微指令地址加上一个增量来产生;即用uPC计数得到下条微指令的地址;在非顺序执行微指令时,由转移微指令实行转移;转移微指令的控制字段分成两局部:条件选择字段与转移地址字段当转移条件满足时,将转移地址字段作下一个微地址;假设转移条件不满足,那么直接从微程序计数器中取得下一条指令。计数器方式的缺点微程序中出现大量的转移微指令要区分微命令微指令和转移微指令使得微程序控制电路复杂化后继微地址的形成(2)断定方式(多路转移方式)断定方式的后继微地址可由微程序设计者指定,或者根据微指令所规定的测试结果断定后继微地址的全部或局部值。是一种直接给定与测试断定相结合的方式,其顺序控制字段一般由两局部组成:非测试段和测试段。⑴非测试段,可由设计者指定,一般是微地址的高位局部,用来指定后继微地址在CM中的某个区域内。⑵测试段,根据有关状态的测试结果确定其地址值,一般对应微地址的低位局部。这相当于在指定区域内断定具体的分支。所依据的测试状态可能是指定的开关状态、指令操作码、状态字等。例1微地址存放器有6位(μA5-μA0),现有三种情况:(1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支;(2)执行条件转移指令微程序时,按进位标志C的状态进行2路分支;(3)执行控制台指令微程序时,按IR4,IR5的状态进行4路分支。请按多路转移方法(断定方式)设计微地址转移逻辑。目标:设计后继地址产生的方式例1解后继地址如何形成依赖3种情况:取指,条件转移指令,控制台指令,可在微指令的顺序控制字段中设计包含3个位的测试段:P1,P2,P3,分别对应上面的3种情况。P1,P2,P3为“1”,说明该微指令处于相应3种程序中。P1=1时,有16路分支,可用微地址存放器中的4位来表达(设用uA0-uA3),分别对应于IR0-IR3.P2=1时,有2路分支,可用微地址中的1位来表达(设用uA0),对应于进位CP3=1时,有4路分支,可用微地址中的2位来表达(设用uA0,uA1),分别对应于IR4,IR5.用uA4,uA5来区分3种情况的后继地址:P1=1时,uA5,uA4=00,P2=1时,uA5,uA4=01,P3=1时,uA5,uA4=10例1uA0=IR0P1+CP2+IR4P3uA1=IR1P1+IR5P3uA2=IR2P1uA3=IR3P1uA4=P2uA5=P3P1P2P3uA5uA4100000100100110控制字段P1P2P3uA0uA1…uA5如果要求后继地址只能在T4脉冲时产生,那么将左式中的uAi与T4相与最终uAi的产生逻辑例1书上解答中存在的问题

μA5=P3·IR5·T4

μA4=P3·IR4·T4

μA3=P1·IR3·T4

μA2=P1·IR2·T4

μA1=P1·IR1·T4

μA0=P1·IR0·T4+P2·C·T4当P3=1,IR5IR4=00时,得到的后继地址为000000当P1=1,IR3~IR0=0000时,得到的后继地址为000000例1按上述设计,各种情况的微地址如下表各种情况IR5IR4,IR3~IR0,CμA5~μA0取指后P1

,0000,00

0000

……

,1111,00

1111条件转移指令P2

,,0010000

,,1010001控制台指令P300,,100000……11,

,100011例2以下图给出了微程序控制的局部微指令序列,图中每一框代表一条微指令。分支点a由指令存放器IR6、IR5两位决定,分支点b由条件码标志C决定。现采用断定方式实现微程序的程序控制,微地址存放器长度为8位,要求:〔1〕设计实现该微指令序列的微指令字顺序控制字段的格式。〔2〕画出微地址转移逻辑电路图。〔3〕为图中的微指令安排微地址。例2例2解:〔1〕所给条件中微程序有两处分支转移。如不考虑其他分支转移,那么需要判别测试位P1,P2〔直接控制〕,故顺序控制字段共10位,其格式如下〔uAi表示微地址存放器中的位〕:P1=1有4个分支,用uA6,uA5表达,对应IR6,IR5P2=1有2个分支,用uA4表达,对应进们标志C0用uA7,uA8区分两种转移的情况的后继地址:分支点a的后继地址中uA7=1;分支点b的后继地址中uA8=1没安排的位为0其它微指令的下地址安排只要没有冲突即可〔2〕转移逻辑表达式如下:μA6=P1·IR6·TIμA5=P1·IR5·TIμA4=P2·C0·TIμA7=P1·TIμA8=P2·TI转移逻辑电路图如下图.〔3〕微地址安排如下:P1=1有4个分支,用uA6,uA5表达,对应IR6,IR5P2=1有2个分支,用uA4表达,对应进们标志C0用uA7,uA8区分两种转移的情况的后继地址:分支点a的后继地址中uA7=1;分支点b的后继地址中uA8=1没安排的位为0其它微指令的下地址安排只要没有冲突即可判别测试字段小结相关概念微程序控制器组成框图根据CPU的结构图写出每条指令的操作流程图并分解成微操作序列用混合控制法对微命令进行编码选择适宜的控制和时序选用微程序的顺序控制方法为微指令安排微地址动态微程序设计在一台微程序控制的计算机中,假设能根据用户的要求改变微程序,那么这台机器就具有动态微程序设计功能。动态微程序设计需要可写控制存

温馨提示

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

评论

0/150

提交评论