版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理第五章微程序控制器第1页,共72页。5.4微程序控制器发展微程序的概念和原理是由英国剑桥大学的M·V·Wilkes教授于1951年在曼彻斯特大学计算机会议上首先提出来的,当时还没有合适的存放微程序的控制存储器的元件。到1964年,IBM公司在IBM360系列机上成功地采用了微程序设计技术。20世纪70年代以来,由于VLSI技术的发展,推动了微程序设计技术的发展和应用。目前,从大型机到小型机、微型机都普遍采用了微程序设计技术。第2页,共72页。5.4微程序控制器基本思想:仿照解题的方法,把操作控制信号编制成微指令,存放到控制存储器里,运行时,从控存中取出微指令,产生指令运行所需的操作控制信号。微程序设计技术是用软件方法来设计硬件的技术。第3页,共72页。5.4微程序控制器微程序控制原理
微程序设计技术第4页,共72页。微程序控制原理控制部件执行部件执行部件微命令反馈信息:状态测试微命令微命令CPU中的功能部件可以划分为两大类:微操作微操作微操作执行部件第5页,共72页。微程序控制原理
微命令:控制部件向执行部件发出的各种控制命令叫作微命令,它是构成控制序列的最小单位。例如:打开或关闭某个控制门的电位信号、某个寄存器的打入脉冲等。微命令是控制计算机各部件完成某个基本微操作的命令。什么是微操作?第6页,共72页。微程序控制原理微操作:是微命令的操作过程。微命令和微操作是一一对应的。微命令是微操作的控制信号,微操作是微命令的操作过程。微操作是执行部件中最基本的操作。举例:控制门电位信号的变化、寄存器输入端的控制、ALU的基本执行过程…第7页,共72页。微程序控制原理
由于数据通路的结构关系,微操作可分为相容的和相斥的两种:相斥的微操作,是指不能同时或不能在同一个节拍内并行执行的微操作。相容的微操作,是指能够同时或在同一个节拍内并行执行的微操作。必须各占一位第8页,共72页。类比并行与并发第9页,共72页。举一个例子:先勘误:P156图5.20右侧中间579应该改为975第10页,共72页。975相斥:(468)(579)(+-M)相容:(123)(XY组合)图解释第11页,共72页。对图的解释:寄存器的两个输入端:一个代表数据写入,一个代表控制线路,两者都有效时产生输出算数逻辑单元亦类似第12页,共72页。微程序控制原理3、微指令(Microinstruction):在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。微指令:指在同一CPU周期内并行或并发执行的微操作控制信息集合。它是微命令的组合,微指令存储在控制器中的控制存储器中。第13页,共72页。微程序控制原理4、微程序一系列微指令的有序集合就是微程序。一段微程序对应一条指令。微地址
:存放微指令的控制存储器的单元地址举例:以简单运算器通路图的微指令格式为例:第14页,共72页。微程序控制原理微指令基本格式注意勘误:第15页,共72页。975相斥:(468)(579)(+-M)相容:(123)(XY组合)图解释第16页,共72页。微程序控制原理操作控制:发出管理和指挥全机工作圆点表示一个个微命令某一位为1表示发出微命令,为0不发出。Eg.第1位为1时表示发出LDR1’第4、5位位1表示将R1同时写入X、Y微命令信号的时间控制Eg.4、9、10、2在节拍电位均有效需要和T脉冲做与操作如:P157图5.22第17页,共72页。微程序控制原理顺序控制:决定下一条微指令地址后四位:下一条微指令直接地址P1P2:判断测试标志P1P2均为0:使用直接地址P1P2中有1:要进行P1或P2测试根据测试结果修改直接地址第18页,共72页。微程序控制原理看图p158图5.23提示:图中间下方,“微命令寄存器”不要改为“微指令寄存器”第19页,共72页。微程序控制原理第20页,共72页。微程序控制原理思考:微指令周期?微指令字长?控制存储器的字长控制存储器的大小受什么影响?微地址如何按照非顺序方式执行?第21页,共72页。微程序控制原理控制存储器(μCM)。这是微程序控制器的核心部件,用来存放微程序。其性能(包括容量、速度、可靠性等)与计算机的性能密切相关。只读特性微指令周期:读出一条微指令并执行微指令的时间总和。第22页,共72页。微程序控制原理微指令寄存器(μIR)分为两部分:微地址寄存器(μMAR)和微命令寄存器用来存放从控制存储器取出的正在执行的微指令,它的位数同微指令字长相等。微地址寄存器存放将要访问的下一条微指令地址微命令寄存器存放一条微指令(包括操作控制字段和判别测试字段)第23页,共72页。微程序控制原理地址转移逻辑如果微程序不出现分支:下一条微指令地址直接由微地址寄存器给出如果微程序出现分支:通过判别测试字段P和执行部件的“状态条件”反馈信息,修改微地址寄存器内容。第24页,共72页。勘误:其实不能叫勘误,要指出的是,教材P158页,介绍完基本三个部分功能之后,没有给出微程序控制器的工作过程描述。工作过程描述的相关内容要在本ppt或者配套多媒体课件上学习。第25页,共72页。微程序控制原理微程序控制器的工作过程(1)执行取指令的公共操作。取指令的公共操作通常由一段取指微程序来完成,在机器开始运行时,自动将取指微程序的入口微地址送微地址寄存器,并从控制存储器中读出相应的微指令送入微指令寄存器。微指令的操作控制字段产生有关的微命令,用来控制实现取机器指令的公共操作。当取指微程序执行完后,从主存中取出的机器指令就已存入指令寄存器IR中了。(2)由机器指令的操作码字段通过微地址形成部件产生出该机器指令所对应的微程序的入口地址,并送入微地址寄存器第26页,共72页。微程序控制原理(3)从控制存储器中逐条取出对应的微指令并执行之,每条微指令都能自动产生下一条微指令的地址。(4)一条机器指令对应的微程序的最后一条微指令执行完毕后,其下一条微指令地址又回到取指微程序的人口地址,从而继续第(1)步,以完成取下条机器指令的公共操作。以上是一条机器指令的执行过程,如此周而复始,直到整个程序的所有机器指令执行完毕。第27页,共72页。微程序控制原理以一个典型例子说明微指令的工作过程首先做知识准备明确问题环境第28页,共72页。微程序控制原理BCD码?用4位二进制数来表示1位十进制数中的0~9这10个数码Eg.(379)10=(001101111001)BCD101111011889第29页,共72页。微程序控制原理在我们的例子中:7+3=10用BCD码做加法期望得到:
0111+0011=00010000而实际0111+0011=1010用什么办法解决实际问题,满足应用需求?第30页,共72页。微程序控制原理原理:判断两个数的和的每位两位之和小于等于9时:按二进制加法处理两位之和大于9时:需再加6,促成进位举例:6+27+311+895+25减法规则与之类似第31页,共72页。微程序控制原理在图5.20所示运算器基础上的具体做法:
R1+R2+R3ab6做加法:a+b+6有进位?是:结果值正确否:结果值减6恢复a+b的真实结果第32页,共72页。微程序控制原理假设在某编程环境下,需要完成BCD两个位加法运算,代码:b=b+a;该代码被编译成机器语言后,以汇编语言写出可以假定是
对于该指令,共耗费4个CPU周期取指占1个CPU周期执行占2-3个CPU周期指令:ADDR2R1第33页,共72页。微程序控制原理BCD加法指令流程数据通路图P156图5.20指令周期流程图如右图R1R2R3ab6取指微指令微指令地址判别测试P1给出微地址判别测试P2是否进位指令:ADDR2R1第34页,共72页。勘误注意P159:第一条微指令的二进制编码:
“在这条微指令中….”10000000000000000010101第35页,共72页。微程序控制原理共四条微指令1000000000第1条微指令:取指令操作信号0000000000001010113.PC->ABUS(I)15.LDIR’17.PC+118.P1判别:操作码译码“ADD2”:101013--17第36页,共72页。取指执行过程图示第37页,共72页。0010011010010100100100000002.存结果LDR24.R1->X7.R2->Y10.+不判别测试,下一条微指令地址1001第2条微指令:R2+R1->R2第38页,共72页。0100001001010001001100000002.存结果LDR26.R2->X9.R3->Y10.+P2判别:进位标志Cy,Cy=0:
0001Cy=1:
0000第3条微指令:R2+R3->R2第39页,共72页。0000000001010001001001000002.存结果LDR26.R2->X9.R3->Y12.-转地址0000,即取指令第4条微指令:R2-R3->R2第40页,共72页。微程序控制原理6、CPU周期和微指令周期的关系T1,T2,T3时间执行微指令(如运算等)T4上升沿打入结果至寄存器T4时间读取微指令eg.取指eg.执行第41页,共72页。机器指令与微指令的关系微地址寄存器第42页,共72页。机器指令与微指令的关系1.一条机器指令对应一个微程序2.指令、程序、地址与内存有关,微指令、微程序、微地址与控制存储器有关3.每一个CPU周期对应一条微指令第43页,共72页。微程序控制器设计技术一、设计微指令应当追求的目标有利于缩短微指令的长度有利于缩小μCM的容量有利于提高微程序的执行速度有利于对微指令的修改有利于提高微程序设计的灵活性第44页,共72页。微程序控制器设计技术1、微命令的编码方法编码有三种方法:直接表示法/编码表示法/混合表示法直接表示法:操作控制字段中的各位分别可以直接控制计算机,不需要进行译码。第45页,共72页。微程序控制器设计技术直接表示法特点:这种方法结构简单,并行性强,操作速度快,但是微指令字太长,若微命令的总数为N个,则微指令字的操作控制字段就要有N位。另外,在N个微命令中,有许多是互斥的,不允许并行操作,将它们安排在一条微指令中会使信息的利用率下降。第46页,共72页。微程序控制器设计技术2、编码表示法:将操作控制字段分为若干个小组,每个组通过译码输出操作控制信号。第47页,共72页。微程序控制器设计技术可能存在的问题:两位定义了四个微命令00,01,10,11现在需要同时发出,或者说在同一个CPU周期内发出00和01微命令,怎么办?解决方法:相斥的微命令分为一组第48页,共72页。123456789顺序控制4、5:00无操作01R1->X10R2->X11DR->X
6、7:00无操作01R3->Y10R2->Y11R1->Y
8、9:00无操作01+10-11M
混和表示法1、2、3位为直接表示法4、5;6、7;8、9位为编码表示法对于教材上例子的改进:第49页,共72页。微程序控制器设计技术编码注意几点:①把互斥性的微命令分在同一组内,兼容性的微命令分在不同组内。这样不仅有助于提高信息的利用率,缩短微指令字长,而且有助于充分利用硬件所具有的并行性,加快执行的速度。②应与数据通路结构相适应。③每个小组中包含的信息位不能太多,否则将增加译码线路的复杂性和译码时间。④一般每个小组还要留出一个状态,表示本小组不发出任何微命令。第50页,共72页。编码表示法特点: 可以避免相斥,使指令字大大缩短,但增加了译码电路,使微程序的执行速度减慢第51页,共72页。微程序控制器设计技术3、混合编码法:将前两种结合在一起,兼顾两者特点。一个字段的某些编码不能独立地定义某些微命令,而需要与其他字段的编码来联合定义第52页,共72页。微程序控制器设计技术二、微指令地址的形成入口地址:每条机器指令对应一段微程序,当公用的取指微程序从主存中取出机器指令之后,由机器指令的操作码字段指出各段微程序的入口地址,这是一种多分支(或多路转移)的情况。第53页,共72页。微程序控制器设计技术1、入口地址形成:如果机器指令操作码字段的位数和位置固定,可以直接使操作码与微程序入口地址的部分位相对应。第54页,共72页。微程序控制器设计技术2、后继微地址形成方法(1)计数器的方式方法:微程序顺序执行时,其后继微地址就是现行微地址加上一个增量(通常为1);当微程序遇到转移或转子程序时,由微指令的转移地址段来形成转移微地址。在微程序控制器中也有一个微程序计数器μPC,一般情况下都是将微地址寄存器μMAR作为μPC第55页,共72页。微程序控制器设计技术特点:优点是简单、易于掌握,编制微程序容易缺点是这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。第56页,共72页。微程序控制器设计技术(2)多路转移的方式根据条件转移如图条件:状态条件/测试/微指令中微地址/操作码例如:P字段的2位可以做4路转移适用于:取指微指令执行之后,OP译码实现多路微程序入口微地址跳转第57页,共72页。第58页,共72页。第59页,共72页。【例2】微地址寄存器有6位(μA5-μA0),当需要修改其内容时,可通过某一位触发器的强置端S将其置“1”。现有三种情况:(1)执行“取指”微指令后,微程序按IR的OP字段(IR3-IR0)进行16路分支;(2)执行条件转移指令微程序时,按进位标志C的状态进行2路分支;(3)执行控制台指令微程序时,按IR4,IR5的状态进行4路分支。请按多路转移方法设计微地址转移逻辑。第60页,共72页。问题分析:指令格式:微指令格式:
地址码R3R2R1R0P3P2P1uA5uA4uA3uA2uA1uA0微命令进位标记C第61页,共72页。
按所给设计条件,微程序有三种判别测试,分别为P1,P2,P3。由于修改μA5-μA0内容具有很大灵活性,现分配如下:(1)用P1和IR3-IR0修改μA3-μA0;(2)用P2和C修改μA0;(3)用P3和IR5、IR4修改μA5、μA4。其中μA0在P字段内容不同时,作用不同。最后再加上节拍脉冲第62页,共72页。假设在CPU周期最后一个节拍脉冲获得微地址,转移逻辑表达式如下:
μ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
由于从触发器强置端修改,故前5个表达式可用“与非”门实现,最后一个用“与或非”门实现。下图仅画出了μA2、μA1、μA0触发器的微地址转移逻辑图。第63页,共72页。第64页,共72页。微程序控制器设计技术3、微指令格式分为两类:水平型微指令和垂直型微指令(1)水平型微指令水平型微指令是指一次能定义并能并行执行多个微命令的微指令。格式如下控制字段判别测试字段下地址字段第65页,共72页。微程序控制器设计技术水平型微指令特点:优点:微指令字较长,速度越快。微指令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据库基础教程-课件 第4章 数据库设计
- 2026年企业专利授权合同二篇
- 健身房会员合同纠纷解决范本
- 关于办公用品采购制度
- 医院采购询价制度
- 水厂设备采购依据制度
- 建筑采购员休息制度
- 常用物资采购制度
- 幼儿园采购记录制度
- 小企业备件采购管理制度
- 2025年院感试题及参考答案
- 热电厂工作基础知识培训课件
- 2025年福建事业单位招聘考试(临床类·B类)历年参考题库含答案详解(5卷)
- 2025国家义务教育质量监测小学德育测评估考试试题库及答案
- 肠梗阻护理个案病例汇报
- 设备升级改造管理制度
- 高中生艾滋病预防教育课件
- 2025-2030年中国隔音窗通风口行业市场现状供需分析及投资评估规划分析研究报告
- 路面铣刨合同协议
- 投行业务管理制度
- VTE相关知识培训课件
评论
0/150
提交评论