第六章-中央处理部件cpuPPT课件.ppt

上传人:rrsccc 文档编号:10918077 上传时间:2021-06-12 格式:PPT 页数:104 大小:2.77MB
返回 下载 相关 举报
第六章-中央处理部件cpuPPT课件.ppt_第1页
第1页 / 共104页
第六章-中央处理部件cpuPPT课件.ppt_第2页
第2页 / 共104页
第六章-中央处理部件cpuPPT课件.ppt_第3页
第3页 / 共104页
第六章-中央处理部件cpuPPT课件.ppt_第4页
第4页 / 共104页
第六章-中央处理部件cpuPPT课件.ppt_第5页
第5页 / 共104页
点击查看更多>>
资源描述

《第六章-中央处理部件cpuPPT课件.ppt》由会员分享,可在线阅读,更多相关《第六章-中央处理部件cpuPPT课件.ppt(104页珍藏版)》请在三一文库上搜索。

1、1,第六章 中央处理部件CPU,6.1 计算机的硬件系统 6.2 控制器的组成 6.3 微程序控制计算机的基本工作原理 6.4 微程序设计技术 6.5 硬布线控制的计算机 6.6 控制器的控制方式 6.7 流水线工作原理 6.8 CPU举例 6.9 计算机的加电及控制过程,本章教学内容,2,重点 1.控制器的作用.组成.指令的执行过程. 2.微程序控制器的工作原理:组成.产生控制信号的方法. 3.微程序控制器的一些基本概念,与机器指令级的比较. 4.微程序的微指令编码译码方法. 5.产生后继微指令地址的方法. 6.微指令的格式:水平和垂直型微指令. 7.硬布线控制器的组成,控制信号的产生方法,

2、时序的作用和产生方法. 8.硬布线控制器的设计步骤和方法. 9.硬布线控制器与微程序控制器的比较. 10.控制器的控制方式的含义与种类. 11.流水线工作原理. 12.流水线的相关问题(数据相关和程序相关). 难点 对于指令执行过程的理解、微程序设计技术和控制器的设计方法以及CPU的构成.,3,计算机组成:运算器、控制器、存储器、输入设备和输出设备五大部件。 微处理器:运算器+控制器集成在一个芯片上,通常称之为中央处理部件(CPU)。 控制器的作用:协调并控制计算机的各个部件执行程序的指令序列。 计算机的工作过程: 加电产生reset信号执行程序停机停电。 机器加电时: (1)可以利用rese

3、t信号将某值(例如全 “0”)置于程序计数器PC中,此即为开机后执行的第一条指令的地址,也就是固定程序入口地址; (2)也可以直接在指令寄存器中置入一条无条件转移指令(转移到固定程序入口),然后开始执行程序。 固定程序:先对计算机各部件进行测试,然后进入操作系统环境,等候操作员从键盘送入命令,或用鼠标器对显示屏上的图标进行选择。(一般放在ROM中) 程序执行过程:计算机从程序入口地址开始执行该程序的指令序列,是不断地取指令、分析指令和执行指令这样一个周而复始的过程。 实现原理:当前正在执行的指令地址是放在控制器的程序计数器(PC)中的。,4,6. 1 计算机的硬件系统,一Intel 80386

4、微机系统 图61是由Intel 80386微处理器等器件组成的 微机系统,Intel 80386是32位微处理器。(P163),5,Intel 80386 微机系统框图,是系统中主要的处理、控制部件,机器加电时产生reset信号,计算机各个部件处于初始状态。执行的第1条指令的地址为0FFFFFFF0H,为一条转移指令,转到引导程序入口。,Clk是clk2的二分频时钟信号,80386通过总线与存储器和I/O设备交换信息。对总线的使用需要总线控制逻辑来管理。,快速设备通过DMA方式与主存交换信息。,慢速设备通过中断方式与主存交换信息。,当CPU与主存交换信息时,由于速度不匹配,CPU需要等待,re

5、ady信号是由存储器发出的,表明CPU需要的读写命令已完成。,80287/387协处理器与80386并行工作,扩充了80386的指令系统,主要完成浮点运算和高精度整数运算,80386自动将取得的协处理器指令传给80387。,6,二 Intel 80386结构及外部连线,80386包括: 指令部件:完成取指及指令译码功能; 执行部件:包括ALU、乘法部件、寄存器等; 存储管理部件:用来确定存储器地址。 80386微处理器芯片通过引出端与计算机的其它部件连接。各引出端的功能如下:,7,ADS:地址状态信号,表示地址线、总线周期定义信号已有效,开始总线周期进行读写。,NA:本次读/写操作虽未完成,允

6、许送下一周期的地址和读写信息,使两次操作重叠。,ready:当存储器或I/O设备完成操作后发出的信号。386接到此信号后,结束本周期。,BS16:表示被访问的存储器或I/O设备的数据传送宽度为16位。,PEREQ:协处理器请求386在存储器与协处理器之间传送一个数据。,BUSY:协处理器忙,不能接收另一个指令。,ERROR:协处理器出现了一个错误,主设备:占用总线的设备。从设备:与主设备通信的设备。 I/O设备作主设备时,发出hold信号申请。当CPU同意总线请求,可以释放总线,发hlda。其余引出端均呈高阻状态。,INTR为中断请求信号,NMI不可屏蔽中断请求信号,RESET为总清或复位信号

7、,在80386与存储器或IO设备之间传送(读写)一个数据的时间称为总线周期。,WR#区分是写周期(当WR#为1时)还是读周期(当WR#为0时),DC#表示是数据周期还是控制(取指)周期,MIO#表示是访问存储器还是IO设备,LOCK#为总线锁定信号,当它为低电位时,不允许芯片外部的信号打断当前总线周期的操作,即CPU不允许让出总线控制权。,8,62 控制器的组成,一. 控制器的功能,计算机对信息进行处理(或计算)是通过程序的执行而实现的,程序是完成某个确定算法的指令序列,要预先存放在存储器中。控制器的作用:控制程序的执行,它必须具有以下基本功能:,1取指令 当程序已在存储器中时,首先根据程序入

8、口取出第一条指令,为此要发出指令地址及控制信号。然后不断取出第2,3,条指令。,9,2分析指令 或叫解释指令、指令译码等。是对当前取得的指令进行分析,指出它要求作什么操作,并产生相应的操作控制命令,如果参与操作的数据在存储器中,还需要形成操作数地址。 3执行指令 根据分析指令时产生的“操作命令”和“操作数地址”形成相应的操作控制信号序列,通过CPU及输入输出设备的执行,实现每条指令的功能,其中还包括对运算结果的处理以及下条指令地址的形成。,计算机不断重复顺序执行上述三种基本操作:取指、分析、执行;再取指、再分析、再执行,如此循环,直到遇到停机指令或外来的干预为止。,10,部件或设备发出: (1

9、)“中断请求”信号 待CPU执行完当前指令后,响应该请求,中止当前执行的程序,转去执行中断程序。当处理完毕后,再返回原程序继续运行下去。 (2)DMA请求信号 等CPU完成当前机器周期操作后,暂停工作,让出总线给IO设备,在完成IO设备与存储器之间的传送数据操作后,CPU从暂时中止的机器周期开始继续执行指令。,4控制程序和数据的输入与结果输出,根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成IO功能,这实际上也是通过执行程序来完成的。,5对异常情况和某些请求的处理,11,二. 控制器的组成,1程序计数器(PC) 2指令寄存器(IR) 3指令译码器或操作码译码器 4脉

10、冲源及启停线路 5时序控制信号形成部件,12,即指令地址寄存器。存放当前正在执行的指令地址或下一条指令地址。 指令地址形成: (PC)+1-PC。或: 转移指令修改其内容,用以存放当前正在执行的指令,对指令寄存器中的操作码进行分析解释,产生相应的控制信号。,脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的 基准信号。,根据当前正在执行的指令的需要,产生相应的时序控制信号,返回指令执行,返回微程序控制器,13,1、控制器包括哪几个组成部分,各个部分的功能是什么? 2、控制器需要向哪些逻辑电路发送控制信号?各发送哪些控制信号? 3、控制器可以分为哪两种?控制器分类的依据是

11、什么? 4、为简化控制器的工作原理,教材中做了哪几点假设?,14,1.组成控制器的基本电路,计算机中采用的电路,基本上分为两种类型。,一类是具有记忆功能的触发器以及由它组成的寄存器、计数器和存储单元等。,一类是没有记忆功能的门电路及由它组成的加法器、算术逻辑运算单元(ALU)和各种逻辑电路等。,三.指令执行过程,15,2指令执行过程举例,数据通路:控制器组成:图6.3 运算器组成:图6.6 中央处理器组成:图6.8 (1) 一条加法指令的执行过程: (时序图) 指令格式:,rs,rd,rs1为通用寄存器地址;imm(或disp)为立即数(或位移量)。 加法指令功能:(rs)+(rs1)+dis

12、p- rd,取指令,计算地址,取数,运算送结果,划分机器周期的原则:总线不冲突.,16,17,18,19,返回指令执行,20,计算地址rslGR, (rsl) ALU,dispALU;“+” ;ALUAR,返回指令执行,21,返回指令执行,22,返回指令执行,运算送结果: rs GR (rs) ALU DR ALU “+” :rd GR ALU rd 置N,Z,V,C,23,返回指令执行,24,(2)条件转移指令的执行过程,指令功能:根据N,Z,V,C的状态,决定是否转换。如转移条件成立,则转移到本条指令所指定的地址,否则顺序执行下一条指令。,指令执行步骤: 从存储器取指令,送入指令寄存器,并

13、进行操作码译码。 程序计数器加1,如不转移,即为下一条要执行的指令地址。 本操作对所有指令都是相同的。,25,如转移条件成立,根据指令规定的寻址方式计算有效地址,转移指令经常采用相对寻址方式,此时转移地址;PC+disp。此处PC是指本条指令的地址,而在上一机器周期已执行PC+1操作,因此计算时应取原PC值,或对运算进行适当修正。最后将转移地址送PC。 控制信号: PC ALU dispALU “+” ALUPC,26,其他指令的控制信号也按同样方法分析,根据每条指令的功能确定所需的机器周期数,并得出每个机器周期所需要的控制信号,最后将所有的控制信号进行综合简化。,控制器的功能就是按每条指令的

14、要求产生所需的控制信号。因此在设计控制器时要求系统设计师提供一个完整的无二义性的指令系统说明书。,产生控制信号一般有微程序控制和硬布线控制两种方法。,27,6.3 微程序控制计算机的基本工作原理,一、基本概念 1.微操作(微命令) 实现一条指令的功能按一定次序执行一系列基本操作,这些基本操作称为。 例如,前面讲到的加法指令,分成四步(取指令、计算地址、取数、加法运算)完成,每一步实现若干个微操作。 2.微指令 由同时发出的控制信号所执行的一组微操作称为微指令,它含控制命令(信号)与下一条执行的微指令地址。 将一条机器指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。,28,3.

15、微程序 执行一条机器指令所对应的多条微指令构成一段微程序。 如:加法指令“add rd/rs,immrs1”所对应的微程序由以下四条微指令组成一段微程序: 取指微指令 计算有效地址微指令 取数微指令 运算微指令 (微程序段中各条微指令既可连续存储、也可分散存储),29,4、控制存储器 存放所有微程序的存储器。它可以用只读存储器实现。 5、微指令的格式,6、控制存储器的工作原理 依据从内存中读取的指令的操作码,找到与该条机器指令相对应的一段微程序的入口地址,并按下址字段提供的微地址逐条从控制存储器中读出微指令,由控制字段提供的微命令控制计算机各功能部件工作(接收、输出、执行算术或逻辑运算)。,执

16、行机器指令的实质是什么?,执行一段微程序,30,二. 实现微程序控制的基本原理,1控制信号(模型机:图6.8),31,返回控制信号,32,以执行一条加法指令为例,它由四条微指令解释执行,一条微指令中的所有控制信号是同时发出的。每条微指令所需的控制信号如下:,(2)计算地址微指令 取两个源操作数(计算地址用): rslGR(8),(rsl) ALU(10),dispALU(4)。 加法运算:“+”(13)。 有效地址送地址寄存器:ALUAR(19)。,33,(4)加法运算和送结果微指令 两源操作数送ALU:rsGR(9),(rs) ALU(11);DRALU(12)。 加法运算:“+”(13)

17、送结果;ALUGR(17),34,2.微指令如何产生控制信号?,微指令最简单的组成形式:,将每个控制信号用一个控制位来表示,当该位为“1”时,定义为有控制信号,当该位为“0”时,没有控制信号。,控制存储器容量为4K字,则每条微指令还需要12位来表示下址。控制存储器的容量取决于实现指令系统所需的微程序长度。,35,图6.9为加法指令的四条微指令编码,每一小格表示一位(二进制),空格表示0,第24位到第35位为下址。,假设四条微指令的地址如下: 取指微指令:1000Q计算有效地址微指令:1001Q 取数微指令:1002Q计算并存数微指令: 1003Q,36,3.微程序也可用 流程图来表示,方框:表

18、示微指令,右下角的数字:表示下址,上方的数字:微指令的地址,37,微程序控制器的基本工作原理:,当指令取入IR中以后,根据操作码进行译码,得到相应指令的第一条微指令的地址。,指令译码部件可用只读存储器组成,将操作码作为只读存储器的输入地址,该单元的内容即为相应的微指令在控制存储器中的地址。,据根控制存储器中的地址从控制存储器取出微指令,并将它存放在微指令寄存器中。,控制字段各位的输出通过连接线直接与受控制的门相连,于是就提供了在本节所提出的控制信号。,4微程序控制器,时序控制信号形成部件,38,三、微程序控制器及微指令控制字段设计实例,1、控制器工作原理示意图,微地址形成电路,控制存储器 (6

19、424bit),指令操作码,39,2、假设实例计算机的组成如下,计算机各个功能部件所需的控制信号?,运算器及辅助电路,存储器及辅助电路,微程序控制器,输入设备,输入设备,程序计数器,移位寄存器,通用寄存器(R0、R1、R2),指令寄存器,40,2、控制字段编码方法:,规则: 常用控制信号采用直接编码法 (S3S2S1S0Cn、M、WE) 将互斥的信号作为一组编码产生,1)CE#、DIG-G#、LED-G#三个信号一组需要占用两位,分别用1A、1B命名:,41,42,4)微指令控制字段中还有多少位未占用?多少个控制信号位编码?如何处理?,5)p(1)、p(4)微指令分别完成什么功能?,43,3)

20、假设实例计算机支持“mov r0,imm”和“add r0,imm” 两条指令:,问题:两条机器指令在实例计算机中各需要几步完成?各步的功能及所需的控制信号分别是什么?,44,4)译码微指令,功能:根据指令的操作码和当前微指令下址字段的值形成该机器指令所对应的微程序的入口地址 译码操作需要哪些控制信号?,45,5)微程序流程图设计,RAMD_BUSIR,Add,Mov,PCAB PC+1,RAMD_BUSLT2,R0LT1,PCAB PC+1,PCAB PC+1,P(1)测试,(LT1)+LT2R0,RAMD_BUSR0,01Q,02Q,20Q,12Q,03Q,04Q,05Q,11Q,06Q,

21、46,6)RAM读/写、Run操作的控制:,RAM写: 步骤? 传送地址从输入设备输入数据到LT1LT1的内容通过ALU传送到RAM指定单元 各步所需的控制信号? RAM读: 步骤? 各步所需的控制信号? 运行: 步骤? 各步所需的控制信号?,47,7) RAM读/写、Run操作微程序流程图的设计:,00Q,15Q,07Q,10Q,14Q,13Q,16Q,17Q,请根据以上设计写出UCM中0020Q单元中的数据.,48,四、时序信号及工作脉冲的形成,1、请分析(P178)图6.12中输出与输入波形之间的关系,结论: CLK2二分频得到CLK CLK二分频 得到T1 T1反相 得到T2,49,2

22、、时序图,两个工作脉冲的叠加信号,50,如何形成指令寄存器的输入所存脉冲CP-IR?,控制位DBIR为“1”,采用与门,可形成IR的打入脉冲,51,五电路配合中的常见问题,1、电路延迟引起的波形畸变,F/F无延迟,CLK无畸变,F/F有延迟,CLK有畸变,52,2、机器周期的确定,(1)机器周期 应大于等于一条微指令中执行时间最长的微操作。 主要考虑存储器访问时间和一次运算所需的时间。 (2)机器周期的延长 信号来自存储器,在T1为“0”时,封锁T1的翻转(插入等待脉冲),等待存储器访问的完成。 当T2有,且无信号时,封锁CLK2信号(T的计数脉冲)。,53,54,3、时钟脉冲CLK和工作脉冲

23、CP的标准性,当满足cond条件时,才产生CPB和CP-C信号。,CP脉冲不受控制,总是作用在触发器上,但当条件不成立时,使触发器处于保持状态,而当条件成立时,接受新状态。,55,打入脉冲的同时性: 在控制打入脉冲的机器中,总是尽量将CP信号送到控制门的最后一级。以免延迟造成失真和不同步。,56,六、微程序控制计算机的工作过程简单的总结,1、机器加电后,首先由reset信号在PC内置入开机后执行的第一条指令的地址,同时在微指令寄存器内置入一条“取指”微指令,并将其他一些有关的状态位或寄存器置于初始状态。当电压达到稳定值后,自动启动机器工作,产生节拍电位T1,T2和CP。 2、机器开始执行程序,

24、不断地取出指令、分析指令、执行指令。程序可以存放在固定存储器中,也可以利用一小段引导程序(在固存中)将要执行的程序和数据从外部设备调入主存。,57,3、实现各条指令的微程序是存放在微程序控制器中的 当前正在执行的微指令从微程序控制器中取出后放在微指令寄存器中,由微指令的控制字段中的各位直接控制信息和数据的传送,并进行相应的处理。当遇到停机指令或外来停机命令时,应该待当前这条指令执行完再停机或至少在本机器周期结束时再停机。,chengguihua:fifteenth (2),58,6.4 微程序设计技术,在实际进行微程序设计时,要考虑下面三个问题: (1)如何缩短微指令字长; (2)如何减少微程

25、序长度; (3)如何提高微程序的执行速度。,一、微指令的编码-控制字段 微指令的编码,就是对微指令的控制字段采用的表示方法。 1直接控制法(不译码法 ) 操作控制字段中的每一位代表一个微命令。 “1”有效,“0”无效。 优点:简单直观,输出直接用于控制 缺点:微指令字较长,因而使控制存储器容量较大。,59,2字段直接编译法(使用较普遍) 微周期:是一条微指令所需的执行时间。 如果有若干个(一组)微命令,在每次选择使用它们的微周期内,只有一个微命令起作用,那么这若干个微命令是互斥的。 选择互斥的微命令入同组分组编码,用微命令译码器译码控制。 如:PC-G、ALU-G、R0-G、R1-G、R2-G

26、,例:字段长度为3位时,最多只能表示7个互斥的微命令,通常代码000表示不发微命令。字段长度n与所能表示的微命令数m的关系:m=2n-1 优点:缩短了微指令长度。 代价:在微指令寄存器的输出端,为该字段增加一个译码器,该译码器的输出即为原来的微命令。,60,61,3、字段间接编译法 如果在字段直接编译法中,还规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,称为字段间接编译法。 优点:进一步减少了指令长度。 缺点:削弱微指令的并行控制能力。,A受B控制,B发b1微命令时,字段A发出a1,1a7,1中的一个微命令。B发b2微命令时,字段A发出a1,2a7,2中的一个微命令。,62,二

27、、微程序流的控制,基本概念 现行微指令 :当前正在执行的微指令。 现行微地址:现行微指令所在的控制存储器单元的地址。 后继微指令:下一条要执行的微指令。 后继微地址:后继微指令所在的控制存储器单元地址。 微程序控制:当前微指令执行完毕后,产生后继微指令的微 地址的方法。,63,1、产生后继微指令地址的几种方法 (1)以增量方式产生后继微地址,A)微程序入口:首条微指令,由专门硬件电路产生 B)顺序执行:后继微地址现行微地址1 C)转移:后继微地址现行微地址转移条件译码(相对转移量) D)由操作码产生后继地址,优点:可使微指令的下址字段很短,仅起选择作用。 缺点:微程序转移很不灵活,使得微程序在

28、控存中的物理空间分配相当困难。 在图中,PC兼作控制存储器的地址寄存器,输入有四个来源。下址字段仅有两位,其功能是选择三个输入源中的一个作为PC的输入,而微程序入口是由专门的硬件产生的,不受下址字段控制。,64,(2)增量与下址字段结合产生后继微地址,微指令的下址字段分成两部分: 转移控制字段BCF和转移地址字段BAF, BCF控制转移条件,BAF控制转移的目标地址。 当条件成立时,微程序要转移,将BAF送PC,否则顺序执行下一条微指令(PC+1)。 执行微程序条件转移时,决定转移与否的硬件条件有好几种。由BCF定义的八个微命令见表62。,65,BCF=0,顺序执行微命令,PC+I为后继微地址

29、。,BCF=1,条件转移微命令,当运算结果为0时,将BAF送PC,否则PC+lPC,BCF=2,条件转移微命令,当运算结果溢出时,将BAF送PC,否则, PC+1+PC。,BCF=3,无条件转移微命令,将BAF送PC。,BCF=4;测试循环微命令,假如CT0,表示需要继续执行循环微命令,将循环人口微地址从BAF送PC。假如CT=0,表示循环结束,后继微地址为PC+1。本条微命令同时完成CT一1操作。,BCF=5,转微子程序微命令,把微子程序人口地址从BAF送PC,从而实现转移。在转移之前要把该条微指令的下一地址(PC+1)送人返回寄存器RR之中。,BCF=6,返回微命令,把RR中的返回微地址送

30、人PC,从而实现从微子程序返回到原来的微程序。,BCF=7,操作码产生后继微地址的微命令,这是取指后,按现行指令执行的第一条微指令。,66,BAF的长度有两种情况: 与PC的位数相等;可以从控制存储器的任一单元取微指令。 特点:转移灵活,但增加了微指令的长度. 比PC短;考虑到转移点在PC附近,或者在控制存储器的某区域内,所以由原来的PC的若干位与BAF组合成转移微地址。 特点:转移地址受到限制,但可缩短微指令长度。,67,(3)多路转移方式 一条微指令存在多个转移分支的情况称为多路转移。 后继微地址的产生条件:运算结果所置的标志位N、Z、V、C等,计数器状态,通据通路状态。,例1:根据某些硬

31、件状态来决定后继微地址。 根据一种状态(非0即1)来决定微地址可以有两种情况,即两路转移;而根据两种状态来决定微地址可以有四种情况,即四路转移。 四路转移涉及微地址的两位,一般就定在微地址的最后两位,也就是说当执行转移微指令时,根据条件可转移到四个微地址中的一个,这四个微地址的高位部分相等,仅是最低两位不同。,优点:实现多路转移可减少微程序的长度。,68,(4)微中断 微中断与程序中断的概念相似,当某一条件满足时,发出微中断请求信号,CPU在完成现行指令的微程序后响应该中断请求,进入微中断处理程序。该微程序的入口地址(硬件产生)即为刚刚执行的微程序的后继微地址。,2以AM2900系列芯片构成的

32、微程序CPU(自学),设计人员在进行微程序设计时,已安排好微中断处理程序在控制存储器的位置,因此该微程序段的入口地址是已知的。当CPU响应微中断请求时,由微中断程序的入口地址。当中断处理完毕后,再返回到原来被中断的程序。这也是产生后继微地址的一种情况。,(1)CPU结构图 (2)MAP的功能是什么?,69,三、微指令的格式 微指令的格式大体上可分成两类:水平型微指令和垂直型微指令。 1. 水平型微指令 特点:在一条微指令中定义并执行多个并行操作微命令。 一般格式为:,控制字段判别测试字段下地址字段,在实际应用中,直接控制法、字段编译法(直接、间接编译法)经常应用在同一条水平型微指令中。从速度来

33、看,直接控制法最快,字段编译法要经过译码,所以会增加一些延迟时间。,70,2. 垂直型微指令,在微指令中设置有微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能,称为垂直型微指令。,特点:不强调实现微指令的并行控制功能,通常一条微指令只要求能控制实现一二种操作。这种微指令格式与指令相似;每条指令有一个操作码;每条微指令有一个微操作码。,微指令的格式:,71,例:指令字长16位,微操作码3位,有八条微指令如下。,72,3水平型微指令与垂直型微指令的比较,(1)并行性、效率和灵活性: 水平好, 垂直差。 (2)指令执行时间:水平短,垂直长。 (3)水平:微指令字长,微程序短。 垂直:微指

34、令字短,微程序长。 (4)用户使用:水平难,垂直易。,chengguihua:sixteenth (2),73,四、微程序控制存储器和动态微程序设计,1微程序控制存储器 存储介质类型:RAM、ROM、EPROM等。,2动态微程序设计 能够根据用户的要求来改变微程序的设计称动态微程序设计。 用于动态微程序设计的控制存储器称为可写控制存储器(WCS)或用户控制存储器(UCS)。,74,3控制存储器的操作 执行一条微指令包括:取微指令和执行微指令操作。 根据这两步是串行还是并行进行而具有下述的两种方式:,(1)串行方式 执行一条微指令所需要的时间称为微周期。在串行方式下微周期的安排如下:,75,76

35、,(2)并行方式 将执行本条微指令的功能与取下一条微指令的操作在时间上重叠起来。(因为两种操作是在不同的部件中完成的) 实现方法:增加了微指令寄存器。,执行微指令时,先将微指令送入IR,77,4毫微程序设计的基本概念,第二级采用水平微程序,由第一级调用,本身具有并行操作控制的能力但不含下址,可以被第一级重复调用。 每条毫微指令各不相同。,(1) 毫微程序:用来解释微程序的微程序。 毫微指令: 解释微指令的微指令。 其主要目的是为了减少控制存储器的容量。,(2)设计方法:采用两级法。,第一级采用垂直微程序,主要功能是简单分类和下址的确定,该级很容易实现微程序设计的自动化,其控制存储器的主要特点是

36、字短。,特点:控制存储器字数较少,但每个字的长度较长。,78,5.微程序设计语言:用来编制微程序的语言叫微程序设计语言,一般用微汇编语言。,79,6.5 硬布线控制的计算机,在运算控制器逻辑图, “时序控制信号形成部件”产生控制计算机各部分操作所需的控制信号,这个部件组成有两种方式: (1)微程序控制方式 (2)硬布线控制方式 硬布线控制方式: 通过逻辑电路直接连线而产生的,所以又称为组合逻辑控制方式。 至于控制器的其他组成部分,诸如时钟、启停电路、程序计数器、指令寄存器以及电路配合问题等等,则不因控制方式而异。,80,一、 时序与节拍,一条指令的实现可分成:取指、计算地址、取数及执行等几个步

37、骤。在微程序控制方式中,每一步由一条微指令实现,而硬布线控制方式则由指令的操作码直接控制并产生实现上述各步骤所需的控制信号。一条指令的每一步由一个机器周期实现,如何区分一条指令的四个机器周期呢? 方法有两种: 方法1. 两位计数器的译码输出产生的四个状态来表示当前所处的机器周期,(24译码器)如图631所示; 方法2. 用四位触发器来分别表示四个周期,当机器处于某一周期时,相应的触发器处于“1”状态,而其余三个触发器则处于“0”状态,四位移位寄存器即可实现此功能。,81,两位计数器,译码输出4位,82,由于每条指令的功能不同,机器周期数和长短有所不同,计数器或移位寄存器的工作时序发生变化的规律

38、与指令有关。,A指令需4 个机器周期,B指令需3个机器周期,83,计数器,根据逻辑表达式画出逻辑图如下:,84,二、 操作控制信号的产生,1操作码译码器 指令:操作码+地址码 在机器内设置一个指令译码器 输入:操作码 输出:反映出当前正在执行的指令。 由译码器的输出和机器周期状态cylcy4作为输入,使用逻辑电路产生操作控制信号。,7位OP,85,2操作控制信号的产生 “组合逻辑电路”究竟是由什么组成的? 以加法指令为例,假设一条加法指令的功能是由四个机器周期cylcy4完成的,分别为取指、计算有效地址、取操作数、进行加法运算并送结果。,86,87,88,在计算地址周期cy2, 列出逻辑表达式

39、 rslGR=加法指令 cy2 (rsl)ALU=加法指令 cy2 ALUAR=加法指令 cy2,对每一条指令都进行同样的分析,得出逻辑表达式。,89,(1)取指周期cy1的信号对所有指令均相同。,主要结论:,(2)同一控制信号可能在多个指令中运用。 如:+= 加法指令cy2+ 加法指令cy4 + 减法指令cy2+ 转移指令cy2+,(3)同种类型的指令所需要的控制信号大部分相同。 如:所有的算术逻辑运算指令仅在ALU的操作命令及是否置状态位上不同,其他均完全相同。,(4)在确定指令操作码时,要认真做好分类。,90,91,三、 控制器的组成,92,如操作码为7位,则允许计算机最多设置128条指

40、令。 译码器的最基本形式为: 输入:7位操作码 输出:128条线中,在任何时候只有1根为高电位,其余均为低电位(或只有1根为低电位,其余均为高电位),每1根输出线代表一条指令。,程序计数器的输入:有四种来源。 (1)开机后的reset信号,将PC置以初始地址; (2)顺序执行指令:由PC+1形成下一条指令地址; (3)转移:由ALU送来转移地址(通过ALU部件计 算有效地址) (4)外来中断请求信号:若CPU响应中断,则由 中断控制逻辑部件产生中断入口地址。,1程序计数器和中断控制逻辑,2译码器,93,3硬布线逻辑的实现途径,用PLA(可编程逻辑阵列,地址与存储区或均可编程)、PAL(可编程阵

41、列逻辑,与可编程、或不可编程、增加三态输出器件及记忆元件)、GAL(通用阵列逻辑,与或均可编程、输出逻辑宏单元)或半定制电路门阵列(GA)来实现。,94,四、硬布线控制逻辑设计中的若干问题设计步骤,1指令操作码的代码分配 主要目标:简化控制部分的电路,减少延迟时间。 主要难点: (1)CISC不定长操作码的译码困难; (2)为后续升级系统预留指令位置困难。 2. 确定机器周期、节拍与主频 保证大部分指令在一个周期内完成,部分指令通过如“ready”信号等方式来增加机器周期来完成。,95,3、 根据指令功能,确定每一条指令所需的机器周期数以及每一周期所完成的操作。,如:“+” = 加法指令(cy

42、2+cy4)+减法指令cy2+转移指令cy2+ “读” = cy1+加法指令cy3+减法指令cy3+,如:乘法采用加法与移位操作,每位执行一个周期等方法。,4. 综合所有指令的每一个操作命令(写出逻辑表达式,并化简之),96,五、 硬布线控制与微程序控制的比较,.实现 微程序控制通过控制存储器内的代码来实现,调试、修改方便; 硬布线控制通过组合电路实现,调试、修改复杂。 2. 性能 微程序控制速度较慢; 硬布线控制速度很快,主要用于高速和RISC机器中。,97,6.6 控制器的控制方式,每条指令和每个微操作所需的执行时间不相同,如何形成控制不同微操作序列的时序控制信号就有多种方法,称为控制器的

43、控制方式,常用的有同步控制方式、异步控制方式和联合控制方式等。,1同步控制方式,所有指令的执行都受相同时间节拍(机器周期)的控制。,2. 异步控制方式,所有指令的执行都只受本指令自己的时间需求来控制, 执行完成后通过应答信号告知CPU。,3. 联合控制方式,大部分指令的执行都受相同时间节拍(机器周期)的控制,少数不规整指令的执行通过应答信号控制。,4. 人工控制,reset按键、连续或单条转换开关、符合停机(设断点)。,98,各条指令在执行过程中,机器的各部分在某些周期内在进行操作,而在某些周期内是空闲的。 如果控制器调度恰当,让各个部件紧张工作,可提高计算机运行速度-从而产生了流水线结构。,

44、6.7 流水线工作原理,99,1流水线基本工作原理,(1)顺序串执行过程:计算机执行程序是按顺序的方式进行的,即程序中各条机器指令是按顺序串行执行的。,如按指令部件和执行部件顺序操作来考虑可将程序的执行过程表示成:,优点:控制简单缺点:机器各部分利用率不高。,100,(2)两级流水线:假如每个部件完成操作所需的时间为T,那么尽管每条指令的执行时间为2T,但当第一条指令处理完后,每隔T时间就能得到一条指令的处理结果,相当于把处理速度提高一倍。,101,(4)运算操作流水线 例如,执行浮点加法运算,可以分成“对阶”,“尾数加”及“结果规格化”三段,每一段设置有专门的逻辑电路完成指定操作,并将其输出

45、保存在锁存器中,作为下一段的输入.,102,2数据相关对流水线的影响,当第二条指令的操作数地址 = 第一条指令的保存结果地址时,出现流水线阻塞; 此时可通过设置相关专用通路来解决(第二条指令操作数直接从数据处理部件得到); 相关分为存储器数据相关和寄存器数据相关。,103,流水线相关引起的阻塞,流水线相关引起的阻塞的解决,(专用通路),104,3程序转移对流水线的影响,(1)遇到转移指令时,下条指令不再预取(流水)。 (2)用猜测法选定分支中的一个,继续流水。若猜测正确,流水线继续执行;若不正确,返回分支点。 (3)中断处理方法:不精确断点法,将中断发生时已入流水线的指令继续执行完后再进入中断处理子程序。精确断点法,即刻进入中断处理子程序。,6.8 CPU举例(自学),6.9 计算机的加电及控制过程(自学),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1