ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:211.02KB ,
资源ID:7241849      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7241849.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第6章控制器原理.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第6章控制器原理.docx

1、第6章 控制器原理第6章 控制器原理主要内容:控制器的基本功能、控制器的基本组成、指令的执行过程、组合逻辑控制器组成原理与实现方法、微程序控制器组成原理与实现方法、控制方式。重 点:指令的执行过程,组合逻辑控制器的组成原理与设计方法,微程序控制器的设计方法,微指令的格式,微程序流的控制。难 点:指令的执行过程,组合逻辑控制器的组成原理与设计方法,微程序控制器的设计方法,微指令的格式,微程序流的控制。控制器是计算机系统的指挥中心,它把运算器、存储器、输入/输出设备等部件组成一个有机的整体,然后根据指令的要求指挥全机各部分的工作。6.1 控制器的基本功能及结构6.1.1 控制器的功能计算机之所以能

2、快速、自动、连续工作,是由于控制器在程序的要求下不断对机器控制的结果。控制器的作用就是控制程序的执行,它必须具有以下基本功能:1取指令2分析指令3执行指令4控制程序和数据的输入与结果输出5随机事件和某些特殊请求的处理6.1.2 控制器的组成控制器是计算机的指挥中心,影响其组成的因素很多,如微操作序列部件的组成、指令系统与指令格式、控制方式等,尽管如此,但控制器的基本工作过程、基本组成还是相同的。图6-1是控制器的基本组成框图,主要包括以下几部分。1指令部件指令部件的主要任务是完成取指令并分析指令。包括以下部分:(1)程序计数器PC:程序计数器又称指令计数器,用来存放当前指令或接下来要执行的指令

3、的地址。(2)指令寄存器IR:指令寄存器用来存放从存储器中取出的指令。(3)指令译码器ID:指令译码器的功能是对指令寄存器中的指令操作码进行分析、解释,并产生相应的控制信号送给微操作形成部件。2时序部件时序部件能产生一定的时序信号,以保证计算机的各功能部件有节奏的运行。(1)脉冲源:用来产生一定频率和宽度的时钟脉冲信号作为整个机器的基准时序脉冲(也称为机器的主脉冲)。(2)启停线路:可靠地开放或封锁脉冲,实现对计算机安全可靠的启动和停机。(3)节拍信号发生器:其主要功能是按时间先后次序,周而复始地发出各个机器周期中的节拍信号,用来控制计算机完成每一步微操作。3微操作信号发生器微操作是一个指令周

4、期中最基本的不可再分割的操作,不同的机器指令具有不同的微操作序列。微操作信号发生器就是用来产生微操作序列。4中断机构响应和处理中断的逻辑线路称为中断机构,负责处理异常情况和特殊请求。由于大规模集成电路的发展,目前计算机的体系结构已有了很大的发展,一些先进的技术已引入计算机系统中,如指令预取、流水线等,在后面的章节中我们将在图6-1的基础上逐步介绍。6.2 指令的执行过程6.2.1 时序系统时序系统是控制器的心脏,其功能是为指令的执行提供各种定时信号,通常由周期(分指令周期和机器周期两种)、节拍和工作脉冲组成。1指令周期和机器周期指令周期指执行一条指令(包括取指令、分析指令和执行指令)所需的全部

5、时间,不同指令的指令周期是不同的。机器周期又可称作CPU周期,通常它是主存储器的一个访问周期。2节拍在每个机器周期内要执行若干个微操作,这些操作可能需要分成几步完成,例如按变址方式读取操作数,先要进行变址运算才能访存读取。所以应把一个机器周期分为若干个相等的时间段,以便对应一个机器周期中规定的微操作,这样的每个时间段都对应一个电位信号,称为节拍电位信号。“节拍”是计算机操作的最小时间单位,又可称作时钟周期或T周期。3工作脉冲节拍电位信号提供了一项操作所需要的时间分段,它是信息的载体,在数据通路传输中起着开门或关门的作用,但在一个节拍中,有的操作还需要严格的定时脉冲,如将稳定的运算结果打入寄存器

6、、机器周期状态切换等。所以在一个节拍之内往往还需要设置几个工作脉冲,作为各种同步脉冲的来源。6.2.2 指令的执行过程一条指令的执行通常都可以分为三个阶段,即取指令、分析指令和执行指令。1取指令具体的操作如下:(1)将程序的启动地址,即第一条指令的地址置于程序计数器PC中。(2)将PC中的内容送至主存的地址寄存器MAR,并送地址总线AB。(3)向存储器发读命令。读取指令时CPU是空闲的,利用这段时间完成PC+的操作,为指令的连续运行做准备。(4)从主存中取出的指令经过主存的数据寄存器MDR,再经过数据总线进入CPU中的指令寄存器中。2分析指令取出指令后指令译码器对保存在IR中的指令操作码进行译

7、码,产生译码信号并送微操作序列形成部件,进而产生微操作序列送运算器、存储器、外设及控制器本身。3执行指令根据分析指令阶段所产生的微操作序列,控制运算器、存储器、外设及控制器本身完成指令规定的各种操作。6.2.3 指令的执行过程举例我们知道,控制器在实现一条指令的功能时,总是把每条指令分解成一系列时间上先后有序的最基本、最简单的微操作,即微操作序列。通过一个简单的模型机来看具体指令的执行过程,即指令的微操作序列。1数据通路假设某机的数据通路如图6-2所示。其中ALU为运算器,Y为其输入端的一个暂存器,Z用来保存其输出结果;PC为程序计数器;IR、ID分别为指令寄存器和指令译码器;MAR、MDR分

8、别为存储地址寄存器和存储数据寄存器;R0至RN-1为模型机的N个寄存器。2加法指令ADD R1,NUM这条指令完成的功能是将指令中出现的地址NUM送到主存以取得第一个操作数,再与R1的内容相加,最后将结果送回R1中。即实现:(NUM)+(R1)R1相应的微操作如下:(1)PCout、MARin、READ、在数据没取出的间隙进行PC+1(0Y,1C0,ADD,Zin);(2)Zout、PCin、WMFC(等待存储功能完成);(3)MDRout、IRin;(4)IR(D)out、MARin、READ;(5)R1out、Yin、WMFC;(6)MDRout、ADD、Zin;(7)Zout、R1in;

9、(8)END。3转移指令JZ A这是一条条件转移指令,若上次运算结果为0(ZF=1),就转移,转移地址为A;若上次运算结果不为0(ZF=0),就顺序执行下一条指令。相应的微操作序列如下:(1)PCout、MARin、READ、在数据没取出的间隙进行PC+1(0Y,1C0,ADD,Zin);(2)Zout、PCin、WMFC(等待存储功能完成);(3)MDRout、IRin(4)IF ZF=1 THEN IR(D)out、PCin (5)END。6.3 硬布线控制器的组成原理与实现方法硬布线控制器又称为组合逻辑控制器,是早期设计计算机的一种方法。6.3.1 硬布线控制器的组成原理1硬布线控制器的

10、原理图6-3是硬布线控制器的结构方框图。逻辑网络的输入信号来源有三个:(1)指令操作码译码器的输出In;(2)来自时序发生器的节拍电位信号Tk;(3)来自执行部件的反馈信号Bj。逻辑网络的输出信号就是微操作控制信号,用来对执行部件进行控制。Cm=f(In,Mi,Tk,Bj)2组合逻辑控制器的设计步骤:(1)绘制指令流程图以指令为线索,按指令类型分类,将每条指令归纳成若干微操作,然后根据操作的先后次序画出流程图。(2)安排指令操作时间表指令流程图的进一步具体化,把每一条指令的微操作序列分配到各个机器周期的各个时序节拍信号上。要求尽量多地安排公共操作,避免出现互斥。(3)安排微命令表以微命令为依据

11、,表示在哪个机器周期的哪个节拍有哪些指令要求这些微命令。(4)进行微操作逻辑综合根据微操作时间表,将执行某一微操作的所有条件(哪条指令、哪个机器周期、哪个节拍和脉冲等)都考虑在内,加以分类组合,列出各微操作产生的逻辑表达式,并加以简化。(5)实现电路根据上面所得逻辑表达式,用逻辑门电路的组合或PLA电路来实现。6.3.2 硬布线控制器设计实例以一个简单的模型机为例来讨论硬布线控制器的设计。1模型机的数据通路模型机的数据通路如图6-4所示,全机采用单总线结构。2模型机的指令系统模型机的指令系统包括5条指令,包括输入/输出指令IN和OUT,算术指令ADD,数据传送指令STA和控制转移指令JMP,其

12、指令格式如下:助记符机器指令码说明IN0000 0000 开关状态R0ADD addr0001 0000 R0+ addrR0STR addr0010 0000 R0addrOUT addr0011 0000 addrBUSJMP addr0100 0000 addrPC其中IN为单字节,其余为双字节指令, 为addr对应的二进制地址码。3绘制指令流程图根据模型机的5条指令所完成的功能及模型机的数据通路,绘制出指令的流程图见图6-5。假设指令的执行采用统一节拍法,即无论简单还是复杂,都采用8个节拍来完成。4安排指令的操作时间表表6-1是指令的操作时间表,实际是将指令流程图进一步细化,详细列出每

13、个节拍应做的操作,要求尽量多地安排公共操作。表6-1 指令的操作时间表时序公共操作INADDSTAOUTJMP0SW-B、LDPC、LOAD1PC-B、LDAR、LDPC2CE、OE、LDIR3PC-B、LDAR、LDPC4CE、OE、LDAR5CE、OE、LDDR2R0-B、CE、WECE、OE6R0-B、LDDR17SW-B、LDR0+、ALU-B、LDR0CE、OE、LDPC、LOAD5安排指令的微命令表表6-2是指令的微命令表,实际是以微操作为依据,详细列出在哪个节拍有哪些指令要求这个微命令。表6-2 指令的微命令表微命令T0T1T2T3T4T5T6T7SW-BALLINLDPCALL

14、ALLALLJMPLOADALLJMPLDARALLALLALLCEALLALLADD+STA+OUTJMPOEALLALLADD+OUTJMPWESTALDIRALLPC-BALLALLLDDR1ADDLDDR2ADDLDR0IN+ADDR0-BSTAADD+ADDALU-BADD6进行微操作信号综合如:SW-B=T0 +T7INLDPC=T0+T1+T3+T7JMPCE=T2+T4+T5(ADD+STA+OUT)+T7JMP7实现电路根据上述列出的各微操作控制信号的逻辑表达式,可画出相应的逻辑电路图,并用逻辑门电路实现之。例如,CE逻辑如图6-6所示。6.4 微程序控制器的组成原理与实现方

15、法6.4.1 微程序控制器的基本原理微程序控制器的设计思想是由英国剑桥大学的教授威尔克斯(Wilkes)于1951年首先提出来的,同硬布线控制器相比较,具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中逐渐取代了早期采用的硬布线控制器,并已被广泛地应用。在计算机系统中,微程序设计技术是利用软件方法来设计硬件的一门技术。1有关的术语和概念(1)微命令:构成控制信号序列的最小单位。通常是指那些能直接作用于某部件控制门的命令,如:打开或关闭某部件通路的控制门的电位,某寄存器、触发器的打入脉冲等。微命令由控制部件通过控制总线箱执行部件发出。(2)微操作:由微命令控制实现的最基本的操作。微命令

16、是微操作的控制信号,微操作是微命令的执行过程。在计算机内部实质上是同一个信号,对控制部件为微命令,对执行部件为微操作。很多情况下两者常常不加区分地使用。(3)微指令:一组实现一定操作功能的用二进制编码表示的微命令的组合。(4)微周期:从控制存储器读取一条微指令并执行相应的微操作所需的时间。(5)微程序:一系列微指令的有序集合。2微程序控制器原理框图微程序控制器原理框图如图6-7所示。它主要由控制存储器、微地址寄存器、微命令寄存器和地址转移逻辑三大部分组成。(1)控制存储器控制存储器用来实现整个指令系统的所有微程序。(2)微指令寄存器微指令寄存器用来存放从控制存储器读出的当前微指令。微指令中包含

17、两个字段:微操作控制字段和微地址字段。(3)微地址寄存器微地址寄存器用来存放将要访问的下一条微指令的地址。(4)地址转移逻辑地址转移逻辑用来形成即将要执行的微指令的地址。3微程序控制器执行过程描述在采用微程序控制的计算机中,若整个指令系统对应的微程序已放入控制存储器中,则它的执行过程可描述如下:(1)从控制存储器中逐条取出“取机器指令”用的微指令,执行取指令公共操作,执行完后,从主存中取出的机器指令就已存入指令寄存器中了。一般取指令微程序的入口地址为控制存储器的0号单元。(2)根据指令寄存器中的操作码,经过微地址形成部件,得到这条指令对应的微程序入口地址,并送入微地址寄存器。(3)从控制存储器

18、中逐条取出对应的微指令并执行之。(4)执行完对应于一条机器指令的一段微程序后又回到取指微程序的入口地址,继续第(1)步,以完成取下一条机器指令的公共操作。6.4.2 微程序设计的技术问题微指令的结构格式、微程序的顺序控制方式及微指令的执行方式直接影响微程序控制器的结构和控制过程,它们就是微程序控制器设计要解决的关键技术问题。1微指令编码法微指令可以分为操作控制字段和下址字段两大部分。这里所说的微指令编码法就是操作控制字段的编码法,通常有以下三种方法。(1)直接控制法直接控制法在微指令的操作控制字段中,每一个微命令都用一位信息表示。如图6-8所示。优点:控制简单、直观,操作并行性最好,从而可以提

19、高速度。缺点:微指令字太长,控制存储器的容量过大且微指令字利用效率很低。因此这种编码方法只适用于结构简单或速度要求很高的高速数字控制部件。(2)最短字长编码这种编码法是将所有的微命令进行统一的二进制编码,用不同的码点去表示不同的微命令,通过译码器产生微操作控制信号,如图6-9所示。优点:微指令字长很短;缺点:每次只能产生一个微命令,所有微命令均不能够并行,难以提高微命令的执行效率,故在实际应用中很少采用。(3)分段直接编码这种编码法是将微操作控制字段划分为若干个小字段,每个小字段独立译码,每个码点表示一个微命令,其微指令结构如图6-10所示。(4)分段间接编码分段间接编码是在分段直接编码的基础

20、上,进一步缩短微指令字长的一种编码方法。在这种编码方法中,某些参与编码的微指令不能由一个控制字段直接定义,而需要两个或两个以上的控制字段来定义。如图6-11。分段间接编码是在分段直接编码的基础上,进一步缩短微指令字长的一种编码方法。2微指令格式不同机器有不同的微指令格式,就其共性来说,大致可归纳为两大类,即水平型微指令和垂直型微指令。(1)水平型微指令:一次能定义多个微命令(控制执行多个微操作)的微指令。(2)垂直型微指令:一次只能执行一个微命令的微指令。(3)混合型微指令:水平型微指令和垂直型微指令各有其优缺点。实际使用中,常常兼顾两者的优缺点,设计出一种混合型微指令,采用不太长的字长,又具

21、有一定的并行控制能力,可高效地去实现机器的指令系统。3微地址的形成方式后继微地址的确定方法:(1)如何产生每条机器指令所对应的微程序的入口地址;(2)另一个是在微程序内如何产生后继微地址。(1)微程序入口地址的确定根据其操作码经地址转移逻辑形成微程序入口地址,地址转移逻辑通常有以下两种:当操作码的位数与位置固定时,可直接将操作码与微地址码的部分对应。这时,不需要专门的硬件,只需要用连线将对应位直接相连即可。若微地址码长度大于操作码长度,则对应位以下的低位一般填0,对应位以上的高位可以固定填某个二进制常数。在操作码的位数或位置不固定的情况下,需用专门的硬件来实现操作码到微地址的变换。通常是以查表

22、的方法来实现。(2)后继微地址的产生计数器方式顺序执行时,后继微地址就是现行微地址加上一个增量(通常为“1”);转移时,由微指令的下址字段产生转移微地址。优点:简单、易于掌握,编制微程序容易;缺点:这种方式不能实现两路以上的并行微程序转移,因而不利于提高微程序的执行速度。多路转移方式一条微指令具有多个转移分支的能力称为多路转移,这种方式的后继微地址可由微程序设计者指定,或者根据微指令所规定的测试结果直接决定后继微地址的全部或部分值。微地址分为两部分(1)非测试地址,可由程序设计者直接指定,占高位部分(2)测试地址,即由测试结果确定其地址值,占低位部分。测试地址的位数确定了转移的并行度:1位为2

23、路转移,2位为4路转移,N位为2N路转移。优点:能以较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度较快;缺点:后继微地址码的生成机构比较复杂。4微指令格式设计举例某运算器数据通路如图6-12所示。(1)指出相容性和相斥性的微操作。(2)设计适合此运算器的微指令格式(要求微指令字长17位,其中下址字段6位)。解:(1)相斥性的微操作有:()移位器的三个微操作R、L、V;()ALU的三个微操作+、-、M;()X输入端的三个微操作R1X、R2X、DRX;Y输入端的三个微操作R1Y、R2Y、R3Y;相容性的微操作有:()LDR1 、LDR2 、LDR3相容;()X输入端的任一微操作与Y输入端

24、的任一微操作相容;(2)根据题意,微指令字长为17位,微指令字中下址字段为6位,则应采用11位来实现数据通路中的15个微命令信号。显然,只用直接控制法无法完成,因此我们采用直接控制与字段直接译码法相结合的方法来完成。字段译码法要求将相斥的微命令放在一个字段中。因此可分别将(R、L、V)、(+、-、M)、(R1X、R2X、DRX)、(R1Y、R2Y、R3Y)放在一个字段中译码,每个字段长2位,译码产生4个输出;LDR1、LDR2、LDR3各占1位,用直接表示法表示。据此,设计的微指令格式见表6-3:表6-3 运算器的微指令格式微操作控制字段2位2位2位2位1位1位1位00 无00 无00 无00

25、 无0 无0 无0 无01 R01 +01 R1X01 R1Y1 LDR11 LDR21 LDR310 L10 -10 R2X10 R2Y11 V11 M11 DRX11 R3Y6.4.3 微程序控制器设计实例仍以图6-4所示的模型机为例,只是将硬布线控制器改为微程序控制器,并假定控制存储器的容量为25624(位),微地址寄存器为6位。1模型机的数据通路(见6.3.2节)2模型机的指令系统(见6.3.2节)3绘制微程序流程图根据模型机的指令系统和数据通路,绘制出微程序流程图见图6-13,当拟定“取指”微指令时,该微指令的判别测试字段为P(1)测试。4设计微指令格式根据模型机的数据通路和控制存储

26、器的要求(25624(位),设计出微指令格式见表6-4。表6-4 微指令格式2423222120191817161514 13 1211 10 98 7654321S3S2S1S0MCNCEWEOELDPCABCuA5 uA0A字段B字段C字段00000000001LDR0001R0-B01P(1)010LDDR1010ALU-B011LDDR2011SW-B100LDIR100PC-B101LOAD110LDAR5、将微程序代码化微指令格式设计好后,根据数据通路、微程序流程图和微指令格式,就可以编制指令系统中每一条指令的微程序。表6-5给出了五条指令的微程序。表6-5 微程序代码表微地址24

27、23222120191817161514121198 761S3S2S1S0MCNCEWEOELDPCABCuA5 uA00 000000000011 0 10 1 10 00 0 0 0 0 10 100000000011 1 01 0 00 00 0 0 0 1 00 200000010101 0 00 0 00 11 0 0 0 0 00 300000010101 1 00 0 00 00 0 0 1 0 00 400000010100 1 10 0 00 00 0 0 1 0 10 500000000000 1 00 0 10 00 0 0 1 1 00 610010100000 0 10 1 00 00 0 0 0 0 10 700000010101 1 00 0 00 00 0 1 1 0 11 000000000000 0 10 1 10 00 0 0 0 0 11

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1