计算机组成与结构中央控制器.ppt
《计算机组成与结构中央控制器.ppt》由会员分享,可在线阅读,更多相关《计算机组成与结构中央控制器.ppt(118页珍藏版)》请在三一办公上搜索。
1、计算机组成与结构,本课程主要讲授计算机系统的硬件和软件构成方法,包括硬件系统中运算器、控制器、存储器、输入设备和输出设备和总线系统的构成原理等;并与当代先进的计算机技术相结合。是计算机科学与技术本科专业核心课程。本课程着重计算机系统组成与结构方面的教学和研究。计算机结构定义为系统程序员所能见到的计算机硬件特性;计算机组成是指计算机硬件的具体实现。,第六章 中央控制器,计算机的硬件系统控制器的组成微程序控制的计算机微程序设计技术硬布线控制的计算机控制器的控制方式流水线工作原理CPU举例计算机的加电及控制过程,第六章 中央控制器,本章主要研究计算机控制器的组成原理。要求掌握在计算机运行过程中各硬件
2、部件的作用,了解CPU中各部件的操作过程及其实现方法;重点掌握控制器如何实现各指令的功能,如何保证逐条指令的连续执行过程。,6.4 微程序设计技术,在实际进行微程序设计时,应注意以下问题:(1)如何缩短微指令字长;(2)如何减少微程序长度;(3)如何提高微程序的执行速度。,6.4 微程序设计技术,一、微指令的编译法(编码译码方法)微指令由控制字段和下址字段组成,这里讨论几种常用的控制字段编译法。1、直接控制编码(不译码法)直接控制编码是指微指令的微命令字段中每一位都代表一个微命令。设计微指令时,选用或不选用某个微命令,只要将表示该微命令的对应位设置成1或0就可以了。因此,微命令的产生不需译码。
3、6.3节中所讲的就是这种方法。,6.4 微程序设计技术,这种编码的优点是简单、直观,执行速度快,操作并行性最好。其缺点是微指令字长过长,使控制存储器单元的位数过多。而且,在给定的任何一个微指令中,往往只需部分微命令,因此只有部分位置1,造成有效的空间不能充分利用。在某些复杂的计算机中,微命令甚至可多达三四百个,这使微指令字长达到难以接受的地步,并要求机器有大容量控制存储器,为了改进设计出现了以下各种编译法。,6.4 微程序设计技术,2、字段直接编译法计算机中的各个控制门,在任一微周期内,不可能同时被打开,而且大部分是关闭的(即相应的控制位为“o”)。所谓微周期,指的是一条微指令所需的执行时间。
4、如果有若干个(一组)微命令,在每次选择使用它们的微周期内,只有一个微命令起作用,那么这若干个微命令是互斥的。例如,向主存储器发出的读命令和写命令是互斥的;又如在ALU部件中,送往ALU两个输入端的数据来源往往不是唯一的,而每个输入端在任一微周期中只能输入一个数据,因此控制该输入门的微命令是互斥的。选出互斥的微命令,并将这些微命令编成一组,成为微指令字的一个字段,用二进制编码来表示。,6.4 微程序设计技术,相斥性微命令和相容性微命令同一微周期中不能同时出现的微命令称为相斥性微命令;在同一微周期中可以同时出现的微命令称为相容性微命令。分段直接编译法将微指令的微命令字段分成若干小字段,把相斥性微命
5、令组合在同一字段中,而把相容性微命令组合在不同的字段中,每个字段独立编码,每种编码代表一个微命令且各字段编码含义单独定义,与其它字段无关,这就称为分段直接编译法。,6.4 微程序设计技术,分段的原则 A.互斥性的微命令分在同一段内,兼容性的微命令分在不同段内。B.与数据通路结构相适应。C.每个小段中包含的信息位不能太多,否则将增加译码线路的复杂 性和译码时间。D.一般每个小段还要留出一个状态,表示本字段不发出任何现行命令。因此当某字段的长度为三位时,最多只能表示七个互斥的微命令,通常用000表示不操作。,6.4 微程序设计技术,【例如】,将7个互斥的微命令编成一组,用三位二进制码分别表示每个微
6、命令,那么在微指令中,该字段就从7位减成3位,缩短了微指令长度。而在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令(图6.21)。,6.4 微程序设计技术,字段长度与所能表示的微命令数的关系如下:字段长度 微命令数 2位 23 3位 47 4位 815一般每个字段要留出一个代码,表示本段不发出任何微命令,因此当字段长度为3位时,最多只能表示7个互斥的微命令,通常代码000表示不发微命令。,6.4 微程序设计技术,3、字段间接编译法如果在字段直接编译法中,规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,称为字段间接编译法。分段间接编译法是在直接编译法基
7、础上,进一步缩短微指令字长的一种编码方法。在这种编译法中,一个字段的含义不仅决定于本字段编码,还兼由其它字段来解释,以便使用较少的信息位表示更多的微命令。,6.4 微程序设计技术,图6.22表示字段A(3位)的微命令还受字段B控制,当字段B发出b1微命令时,字段A发出a1,1,a2,1,a7,1中的一个微命令;而当字段B发出b2微命令时,字段A发出a1,2,a2,2,a7,2中的一个微命令,仅当A为000时例外,此时什么控制命令都不产生。本方法进一步减少了指令长度,但很可能会削弱微指令的并行控制能力,因此通常只作为直接编译法的一种辅助手段。,6.4 微程序设计技术,6.4 微程序设计技术,4、
8、常数源字段E在微指令中,一般设有一个常数源字段E,就如指令中的直接操作数一样。E字段一般仅有几位,用来给某些部件发送常数,故有时称为发射字段。该常数有时作为操作数送入ALU运算;有时作为计算器初值,用来控制微程序的循环次数等。5、混合控制法直接控制法与译码控制法的混合使用。6、其他诸如微操作码编译法(见“微指令格式”)等将在下面介绍。,6.4 微程序设计技术,二、微程序流的控制当前正在执行的微指令,称为现行微指令,现行微指令所在的控制存储器单元的地址称为现行微地址,现行微指令执行完毕后,下一条要执行的微指令称为后继微指令,后继微指令所在的控存单元地址称为后继微地址。所谓微程序流的控制是指当前微
9、指令执行完毕后,怎样控制产生后继微地址。,6.4 微程序设计技术,产生后继微指令地址的两种方法:(1)由指令操作码译码器产生后继微地址。(2)由微指令的下址字段指出后继微地址。与程序设计相似,在微程序设计中除了顺序执行微程序外还存在转移功能和微循环程序与微子程序等,这将影响下址的形成。下面介绍几种常见的产生后继微指令地址的方法。,6.4 微程序设计技术,1、产生后继微指令地址的几种方法(1)以增量方式产生后继微地址在顺序执行微指令时,后继微地址由现行微地址加上一个增量(通常为1)形成的;而在非顺序执行时则要产生一个转移微地址,如图623所示。,6.4 微程序设计技术,6.4 微程序设计技术,机
10、器加电后执行的第一条微指令地址(微程序入口)来自专门的硬件电路,控制实现取指令操作,然后由指令操作码产生后继微地址。接下去,若顺序执行微指令,则将现行微地址(在微程序计数器PC中)+1产生后继微地址;若遇到转移类微指令,则由PC与形成转移微地址的逻辑电路组合成后继微地址。例如,利用该逻辑电路的输出与PC低位进行逻楫加,形成后继微地址。这种方式可使微指令的下址字段很短,仅起选择作用。其缺点是微程序转移很不灵活,使得微程序在控存中的物理空间分配相当困难。,6.4 微程序设计技术,在图6.23的“计数器”方式的原理图中,PC兼作控制存储器的地址寄存器,输入有四个来源。下址字段仅有两位,其功能是选择三
11、个输入源中的一个作为PC的输入,而微程序入口是由专门的硬件产生的,不受下址字段控制。(2)增量与下址字段结合产生后继微地址在图6.24中将微指令的下址字段分成两部分:转移控制字段BCF和转移地址字段BAF,当微程序实现转移时,将BAF送PC,否则顺序执行下一条微指令(PC+1)。,6.4 微程序设计技术,6.4 微程序设计技术,执行微程序条件转移时,决定转移与否的硬件条件有好几种。例如,“运算结果为零”、“溢出”、“已完成指定的循环次数”等。在图6.24中,我们假设有八种转移情况,定义了八个微命令(BCF取3位),在图中设置计数器CT,用来控制循环次数。如在执行乘(或除)法指令时,经常采用循环
12、执行“加、移位”(或减、移位)的方法,指令开始执行时,在CT中置循环次数,每执行一次循环,计数器减1,当计数器为零时结束循环。又考虑到执行微子程序时,要保留返回微地址,图中设置了一个返回寄存器RR。由BCF定义的八个微命令见表6.2。,6.4 微程序设计技术,6.4 微程序设计技术,BCF=0,顺序执行微命令,PC+I为后继微地址。BCF=1,条件转移微命令,当运算结果为0时,将BAF送PC,否则PC+1 PC,BCF=2,条件转移微命令,当运算结果溢出时,将BAF送PC,否则,PC+1+PC。BCF=3,无条件转移微命令,将BAF送PC。BCF=4;测试循环微命令,假如CT0,表示需要继续执
13、行循环微命令,将循环人口微地址从BAF送PC。假如CT=0,表示循环结束,后继微地址为PC+1。本条微命令同时完成CT-1操作。BCF=5,转微子程序微命令,把微子程序人口地址从BAF送PC,从而实现转移。在转移之前要把该条微指令的下一地址(PC+1)送人返回寄存器RR之中。BCF=6,返回微命令,把RR中的返回微地址送人PC,从而实现从微子程序返回到原来的微程序。BCF=7,操作码产生后继微地址的微命令,这是取指后,按现行指令执行的第一条微指令。,6.4 微程序设计技术,BAF的长度有两种情况:与PC的位数相等;可以从控制存储器的任一单元取微指令。比PC短;考虑到转移点在PC附近,或者在控制
14、存储器的某区域内,所以由原来的PC的若干位与BAF组合成转移微地址。第一种情况,转移灵活,但增加了微指令的长度;第二种情况,转移地址受到限制,但可缩短微指令长度。,6.4 微程序设计技术,(3)多路转移方式一条微指令存在多个转移分支的情况称为多路转移。在执行某条微指令时,可能会遇到在若干个微地址中选择一个作为后继微地址的情况,最明显的例子是根据操作码产生不同的后继微地址。实现此功能的电路通常是由PROM(可编程序只读存储器)组成的,也有把它称为MAPROM(映像只读存储器)的。该存储器的特点是 以指令的操作码作为地址输入,而相应的存储单元内容即为该指令的第一条微指令的入口地址。该存储器的容量等
15、于或略大于机器的指令数,所以容量小,速度快。,6.4 微程序设计技术,有时要根据某些硬件状态来决定后继微地址,属于这些状态的可以是根据运算结果所置的标志位(N,Z,V,C)、计数器状态、数据通路状态等。根据一种状态(非0即1)来决定微地址可以有两种情况,即两路转移;而根据两种状态来决定微地址可以有四种情况,即四路转移。微程序设计实践表明,实现两路转移的情况居多,其次是四路转移,向更多路方向转移的情况就比较少见。两路转移只涉及微地址的一位;四路转移涉及微地址的两位,一般就定在微地址的最后两位,也就是说当执行转移微指令时,根据条件可转移到四个微地址中的一个,这四个微地址的高位部分相等,仅是最低两位
16、不同。实现多路转移可减少微程序的长度,对于一般条件转移微指令(相当于两路转移)来说,需要两条微指令来完成上述四路转移的功能。,6.4 微程序设计技术,(4)微中断微中断与程序中断的概念相似,在微程序执行过程中,一旦出现微中断请求信号,通常在完成现行指令的微程序后响应该微中断请求,这时中止当前正在执行的程序,而转去执行微中断处理程序,微中断请求信号是由程序中断请求信号引起的。在进行微程序设计时,已安排好微中断处理程序在控制存储器的位置,因此该微程序段的人口地址是已知的。当CPU响应微中断请求时,由硬件产生微中断程序的入口地址。当中断处理完毕后,再返回到原来被中断的程序。这也是产生后继微地址的一种
17、情况。,6.4 微程序设计技术,2、用AM2900系列芯片构成的微程序CPU图6.25所示的系统中:AM2901为4位运算部件,包含4位ALU及16个4位通用寄存器,本系统将其中一个寄存器用作程序计数器PC。AM2902是为了加速进位而采用的集成电路。AM2910为微程序控制器,用于产生下一条微指令地址,可寻址4K字的控制存储器。图中的MAP为操作码译码器产生本条指令的微程序入口地址。,6.4 微程序设计技术,6.4 微程序设计技术,图6.26是AM2910内部组成框图。AM2910由PC、微堆栈、计数器/寄存器、命令译码器及多路地址选择器组成。其输出Y11一Y0直接送到控存。与图6.24相比
18、,它将多个逻辑电路集成在一个芯片上,并具有更强的功能。AM2910的多路地址选择器,用来选择下一条微指令的地址,它可从片内的微程序计数器PC、寄存器/计数器、微堆栈或直接从输入微地址(D11D0)中选择一个作为输出。微程序计数器是由12位增量器和12位寄存器组成。当增量器的进位输入CI为高电平时,多路器的输出Y加1后装入PC(即PCY十1),用于实现微程序的顺序执行;而当CI为低电平时,多路器的输出Y直接装入PC(即PCY),用于实现一条微指令的多次执行。,6.4 微程序设计技术,6.4 微程序设计技术,寄存器/计数器由12个D型触发器组成。当它用作寄存器时,主要用于保存一个微地址,用以实现微
19、程序分支;当它用作计数器时,具有减“1”功能(受AM2910的命令码I3I0控制),主要用于控制微程序的循环次数,若装入的初值为N,则可执行N+1次。微堆栈由寄存器堆和微堆栈指示器组成,其中寄存器堆可保存5个字(12位/字),主要用于保存微子程序调用的返回地址和微程序循环的首地址。微堆栈指示器SP总是指向最后一次压入的数据,因此,执行微程序循环时,允许不执行弹出操作而直接访问微堆栈的栈顶。当堆栈中的数据达到五个时,就发出堆栈已满信号(FULL=0),这时,任何压入操作都将覆盖掉栈顶的数据。命令译码器接收从微指令有关控制字段送来的命令码(1310)及硬件状态CC,用来执行AM2910的内部操作及
20、选择下址输出。,6.4 微程序设计技术,三、微指令格式微指令的格式大体上可分成两类:一是水平型微指令;二是垂直型微指令。1、水平型微指令格式下图属于水平型微指令的典型例子。,6.4 微程序设计技术,基本特点是在一条微指令中定义并执行多个并行操作微命令。采用直接控制法进行编码。在实际应用中,直接控制法、字段编译法(直接、间接编译法)经常应用在同一条水平型微指令中。从速度来看,直接控制法最快,字段编译法要经过译码,所以会增加一些延迟时间。2、垂直型微指令格式在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。,6.4 微程序设计技术,其特点是不强调实现微
21、指令的并行控制功能,通常一条微指令只要求能控制实现一二种操作。这种微指令格式与指令相似;每条指令有一个操作码;每条微指令有一个微操作码。下面我们举一个经简化的例子,设微指令字长16位,微操作码3位,有八条微指令如下:,6.4 微程序设计技术,(1)寄存器寄存器传送型微指令微指令格式:功能:把源寄存器数据送目标寄存器。第02位为微操作码。第37位是源寄存器编址,这五位可以指定31个寄存器之一作为源寄存器,00000可表示为由指令的地址码部分指出源寄存器地址,因为当执行传送指令时,由指令给出源寄存器地址。所以参与操作的数据地址可由指令给出,也允许由微指令给出。此结论同样适用于水平型微指令。第812
22、位是目标寄存器的编址,这5位可以指定31个寄存器之一作为目标寄存器,00000可表示为由指令的地址码部分指出目标寄存器地址。第1315位是“其他字段”,可协助本条微指令完成其他控制功能。,6.4 微程序设计技术,(2)运算控制型微指令微指令格式:功能:选择运算器(ALU)的左、右两输入端的信息,按ALU字段所指定的运算功能进行处理,并将结果送人暂存器中。第02位为微操作码。第37位为运算器左输入源的编址,这5位可以指定31种源信息之一,00000可表示为由指令的地址码部分指定左输人源的编址。第812位为运算器右输入源的编址,这5位可以指定31种源信息之一,00000可表示为由指令的地址码部分指
23、定右输入源的编址。第1315位为ALU字段,完成八种操作之一,例如加法、减法、逻辑加、逻辑乘等等。,6.4 微程序设计技术,(3)移位控制型微指令微指令格式:功能:将寄存器中的数据按指定的移位方式进行移位。第02位为微操作码。第37位为移位数据所在寄存器的编址,移位结果仍保留在原寄存器中。编址方式与上同。第812位为移位次数。第1315位为移位方式,可表明循环左移、循环右移、逻辑左移、逻辑右移、算术左移、算术右移等。,6.4 微程序设计技术,(4)访问主存微指令微指令格式:功能:将存储器中一个单元的信息送人寄存器或将寄存器中的数据送往存储器。第02位为微操作码。第37位为寄存器地址编址。第81
24、2位为存储器编址,可以按照系统设计所规定的寻址方式进行编址。例如,可以是存储器地址所在的寄存器地址。第1314位规定是读或写操作。第15位可协助本微指令完成其他控制功能。,6.4 微程序设计技术,(5)五条件转移微指令微指令格式:功能:实现五条件转移或转微子程序功能。第02位为微操作码。第314位为微指令的转移地址。第15位用于区分是无条件转移或是转微子程序微指令,当是后者时,将现行微地址的下一顺序微地址(PC+1)保存在返回微地址寄存器RR中。,6.4 微程序设计技术,(6)条件转移微指令微指令格式:功能:根据测试对象的状态(例如运算结果为0、结果溢出、计数器状态等)决定转移到D所指定的微地
25、址单元,还是顺序执行下一条微指令。9位D字段不足以表示一个完整的微地址,但可以用来替代现行微地址PC的低位。测试条件字段有4位,可以规定十六种测试条件。,6.4 微程序设计技术,(7)其他还有110与111两种操作码,可以用来定义输入输出微操作或其他难以归类的杂操作,第315位可以根据需要定义各种相应的微命令字段。,6.4 微程序设计技术,3、水平型微指令与垂直型微指令的比较(1)水平型微指令并行操作能力强,效率高,灵活性强,垂直型微指令则差。在一条水平型微指令中,设置有控制机器中信息传送通路(门)以及进行所有操作的微命令。因此,在进行微程序设计时,可以同时定义比较多的并行操作的微命令,控制尽
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 组成 结构 中央 控制器
链接地址:https://www.31ppt.com/p-6606631.html