计算机组成原理--中央处理器CPU.ppt_第1页
计算机组成原理--中央处理器CPU.ppt_第2页
计算机组成原理--中央处理器CPU.ppt_第3页
计算机组成原理--中央处理器CPU.ppt_第4页
计算机组成原理--中央处理器CPU.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、1,5.4微程序控制器,微程序控制技术在现今计算机设计中得到广泛的采用,其实质是用程序设计的思想方法来组织操作控制逻辑。 微程序控制技术的优点:灵活性、可靠性、可利用性、可维护性、有利于机器设计时的仿真;,2,比较:与组合逻辑控制方法相比,微程序控制方法在诸多方面有着显著的差别 (1) 从实现方式上 微程序控制:规整,增、删、改较容易; 组合逻辑控制:零乱且复杂,当修改指令或增加指令时非常麻烦,有时甚至没有可能。,3,(2) 从性能上来比较 在同样的半导体工艺条件下,微程序控制的速度比组合逻辑控制方式的速度低,这是因为执行每条微指令都要从控存中读取一次,影响了速度,而组合逻辑控制方式取决于电路

2、延迟,因而在超高速计算机中,对影响速度的关键部分例如CPU,往往采用组合逻辑控制方法。近年来在一些新型计算机结构中如RISC结构,一般选用组合逻辑方法。,4,(3)诊断能力 微程序设计方法:诊断能力强 组合逻辑控制:诊断能力弱,5,5.4. 1微程序控制器的基本原理 微程序控制的基本思想:把每条机器指令的所有微操作信号以二进制形式放到只读存储器中,当执行到某条机器指令时,将其对应的微操作信号序列从只读存储器读出,从而产生机器所需的各种操作信号,使相应部件执行所规定的操作。,6,一、基本概念 1微命令和微操作 控制部件与执行部件之间的联系: 控制命令 方向是从控制部件发往执行部件 控制部件通过控

3、制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令;而执行部件接受微命令后所进行的操作,叫做微操作。,7, 反馈信息 方向是从执行部件送往控制部件 控制部件与执行部件之间的另一种联系是反馈信息。执行部件通过反馈线向控制部件反映操作情况,以便使控制部件根据执行部件“状态”来下达新的微命令,这也叫做“状态测试”。 微操作在执行部件中是最基本的操作。微操作可分为两种: 相容性微操作:指在同时或同一个CPU周期内可以并行执行的微操作; 相斥性微操作:指不能在同时或不能在同一个CPU周期内并行执行的微操作。,8,2. 微指令和微程序 在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合

4、,构成一条微指令。一般由操作控制和顺序控制两大部分组成。 一条机器指令(例如 MOV、ADD等)的功能是用许多条微指令组成的序列来实现的,这个微指令序列通常叫做微程序。 微程序也称“固件”,9,微指令的基本格式如下: 例如: 是一种微指令的表示格式; 例:微指令110000000010表示发出BUS-AR,READ两个微命令,下条微指令的地址是0010;而微指令101100000011表示发出BUS-AR,WRITE,BUS-DR三个微命令,下条微指令的地址是0011;,10,机器指令与微指令的关系: 每条机器指令对应一个微程序,这个微程序由若干条微指令构成; 机器指令、程序(?)、内存单元地

5、址与内存储器(在CPU外部)有关;而微指令、微程序、微地址(微指令的存储单元的地址)与控制存储器CM(在CPU内部)有关; 每条机器指令的执行需要若干个CPU周期,而每个CPU周期对应一条微指令;,11,3.微周期 微周期就是从控制存储器中读出一条微指令并执行相应操作所需要的时间 有并行执行方式和串行执行方式的微周期;,12,二、微程序控制器的基本原理 微程序控制器组成原理框图如下:由四部分构成:,13,1)控制存储器 用来存放实现全部指令系统的微程序,它是一种只读型存储器。CM的字长就是微指令字的长度; 2)微指令寄存器: 微指令寄存器用来存放由控制存储器读出的一条微指令的操作控制字段和判别

6、测试字段(P字段)的信息;而微指令的下址字段被送到微地址寄存器AR中;,14,3)地址转移逻辑 地址转移逻辑就是通过判别P字段和状态条件,自动完成修改微地址的任务; 4)微地址寄存器 AR 微地址寄存器在接收微指令时,直接存放微指令的下址字段,在微指令执行中,如果需要转到另外的微地址,则微地址寄存器的内容将被修改;,15,16,微程序控制器的工作过程 微程序控制器的工作过程实质上就是在微程序控制器的控制之下,计算机执行机器指令的过程: 1、从控制存储器中运行取指令微程序,完成从主存储器中取得机器指令的工作; 2、根据机器指令的操作码,得到相应机器指令的微程序入口; 3、逐条取出微指令,完成相关

7、微操作控制; 4、执行下一条机器指令。,17,5.4.2 微命令的编码,微命令的编码,就是对微指令中操作控制字段采用的表示方法; 微指令的设计,所追求的目标是: (1)减少微指令的长度; (2)减少控制存储器的容量; (3)提高微程序的执行速度; (4)有利于对微指令的修改; (5)有利于微程序设计的灵活性。 为了说明微命令的编码,以下图为例说明:,18,实现2*R1 =R3的微程序代码。,19,微命令编码有以下三种表示方法: 1、直接表示法(直接控制法、不译法) 1)含义:在微指令的操作控制字段中,每一个独立的二进制位代表一个微命令。按这种方法编码的微指令,又称水平微指令。 2)优点:并行执

8、行,执行速度也比较快; 3) 缺点:微指令字较长,控制字段效率低,需要控存容量大。 这种方法适用于微命令总数少的场合,如一些较简单的专用机。 例如,下图就是一种微指令的格式:,20,由于LDR1与R1-Y是同时发出,同时结束宽度一样,所以不能作为寄存器 的打入脉冲;如果作为寄存器 的打入脉冲,则出现下面的情况:,21,2、编码表示法 含义:在微指令的字段中,将微命令分段编码,每一字段经简单译码后产生微命令。 优点:微指令字长适中,译码器不庞大,执行速度也比较快; 这种方法比较常用。 (1)字段直接编译法: 方法是 把一条微指令的操作控制字段分段编码,微命令由字段自身的编码确定。,22,(2)字

9、段间接编译法 在字段直接编译法中再规定一个字段的某些微命令要由另一个字段中的某些微命令来解释或某一特征触发器的状态共同确定;,23,微指令字分段的原则: (a)在同一节拍内,需要互相配合起作用的微操作,是并行操作,其微命令可以分在不同的字段内,以便配合进行微操作控制(组合性的操作控制)。这是微命令的相容性。 (b)在同一节拍内,不允许同时出现具有“排它”性的微操作,是串行操作,其微命令可分在一个字段内,这是微命令的互斥性。,24,5.4.3微地址形成方法 问题是:如何确定微程序的入口地址?当微程序有两路分支时,如何确定下一条微指令的地址?这就是微地址形成方法。,25,1、初始微地址的形成 每条

10、机器指令对应一段微程序,当执行“取指微程序”从主存中取出机器指令后,由机器指令的操作码指出微程序的首地址;,26,2、后继微地址的形成 得到微程序入口以后,就开始执行微程序,当每条微指令执行完毕后,如何得到下一条微指令的微地址是一个关键问题;这就是后继微地址的形成。 一般有以下三种形成微地址的方法 1、计数器方式,27,该方式的实现方法是:在微程序控制器中用 微程序计数器MPC(取代微地址寄存器),来指引下一个被执行的微地址(类似于PC寄存器的功能), 当顺序执行时, 下一个被执行的微地址= MPC+增量; 当非顺序执行时, MPC = 修改后的微地址; ;,28,2、下址字段方式(断定方式)

11、 这种方式不需要“微程序计数器MPC”,而还是保留“微地址寄存器”,指令格式中指示下一微地址所在(类似于链表):,29,3、多路转移方式 一条微指令具有三个或三个以上的转移分支称为多路转移;一般,指令系统有多少条基本指令,“取指”微指令后就有多少路分支;,30,例:设微地址寄存器8位(A7A0),“取指”微指令的微地址为0000 0000 ,修改微地址时可以通过触发器的S端进行置1。现在有三种情况: 执行“取指”微指令后,微程序按IR的OP字段(IR5IR2)进行16路分支; 执行条件转移指令的微程序时,按进位标志C的状态进行2路分支; 执行控制台指令的微程序时,按IR0、IR1状态进行4路分

12、支; 可修改的微地址是A7A2 ,请按多路转移方法设计微地址转移逻辑,并画出逻辑电路图。,31,解在微指令格式中, 先确定P字段的位数,由于在这里有三种判断测试,所以需要3位的测试字段,分别指定为P1,P2,P3,对应 三种情况; 当编写微指令时,如果P1位设置为1,则表示需要进行第种情况的测试;,32,分析IR和A寄存器: “取指”微指令的微地址为0000 0000,即每条机器指令被执行时,先执行该微指令后,才取到IR;设微指令的格式如下: 则这条微指令的框图可以假设为 “取指”微指令为11010110.1000000 这条微指令放在控存的00000000处。,33,最初时, “取指”微指令

13、被从控存取出送到MIR,这时发出微命令“.”,结果是一条机器指令送到IR,现在要确定下一条微指令在控存中的微地址,由于“取指微指令”中P1=1,所以要在16个分支中找一个分支来执行微指令。 即要设计下面的电路:,34,因为IR5IR2是OP字段,不同的机器指令其OP不一样,所以可以用OP字段来选择机器指令的微程序入口地址,而微程序地址存放在微地址寄存器中,只要修改微地址寄存器的内容,就可以选择不同的微程序入口地址; 指定A5A2为要修改的微地址,则可以用IR5IR2对应的A5A2位,当P1 =1时,用IR5IR2修改A5A2位,可以得到不同的机器指令的入口地址;,35,则电路 对应 说明:假设

14、有机器指令n条16 ,定义ADD的操作码为0001,SUB的操作码为0010,JZ的操作码为0011,在控制存储器中可以这样存放:,36, 如果遇到第2种判断,即条件转移指令用C和P2作为修改的基础,即A2= P2 C; 说明:如果微指令的P2 =1,同时运算器的状态寄存器的进位位C =1,则修改微地址寄存器的A2位为1; 当遇到JZ指令时,可以在微程序中使用第2种判断;,37, 有些指令是控制台指令,其后续地址由IR0、IR1 决定,用微指令的P3位和IR0、IR1 共同修改A7 、 A6 ,则 A7 = P3 IR1 , A6 = P3 IR0 ; 以上没有考虑时序信号,考虑在最后一个节拍

15、(设采用4个节拍电位)T4修改微地址; 则转移地址逻辑完整的表达式见P240; 图见下页;,38,如果微指令为101001011000100000,下个微地址=?,39,指令的微程序举例,这里举一个十进制加法指令的微程序实现过程的例子。 BCDADD表示R2和R1的数进行 BCD码加法,结果放在R2中; 现在的要求是为机器BCDADD 编制一个微程序,使其能够 完成所要求的功能。,40,采用算法是:R3中存放常数6,先进行(R1)+(R2)=(R2) 然后进行 (R2)+6 =(R2) 判断是否有进位: 如果有进位,则说明两个BCD相加后原本大于十, +6 是正确的; 如果没有进位,则说明两个

16、BCD相加后,小于十,+6是多余的,为了得到正确的BCD数,要-6; 以右图模型演示该算法。 其微程序流程如下图:,41,42,5.5 并行处理技术,一、指令流水线 先看右图模型,分析内存中各条指令在CPU中的执行过程,思考各个部件的利用情况。,43,上面的指令的执行流程可以用如下的图表示,这种运行过程称“串行执行方式”,这种方式的缺点是 计算机的部件利用率不高;为使计算机执行程序更快,提高部件利用率,看下图。,44,上面第一种情况和第二种情况相比,每条指令的执行时间没有缩短,都是一样的(?); 第一种情况是非流水的计算机的执行流程,而第二种情况是标量流水计算机的执行流程;还有超标量流水计算机; 标量流水计算机是每个CPU周期只能对一条指令进行处理,而超标量流水计算机的每个CPU周期可以对2条或2条以上指令进行处理。,45,二、流水线中的主要问题及解决办法 1、资源相关 资源相关就是指多条指令进入流水线后在同机器时钟周期内争用同一个功能部件所发生的冲突。 解决办法有 增设一个存储器,将指

温馨提示

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

评论

0/150

提交评论