第六章 中央控制器(6-1,2,3)_第1页
第六章 中央控制器(6-1,2,3)_第2页
第六章 中央控制器(6-1,2,3)_第3页
第六章 中央控制器(6-1,2,3)_第4页
第六章 中央控制器(6-1,2,3)_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

《计算机组成与结构》——本科生课程教学计算机学院(许先斌)xbxu@计算机组成与结构本课程主要讲授计算机系统的硬件和软件构成方法,包括硬件系统中运算器、控制器、存储器、输入设备和输出设备和总线系统的构成原理等;并与当代先进的计算机技术相结合。是计算机科学与技术本科专业核心课程。

本课程着重计算机系统组成与结构方面的教学和研究。计算机结构定义为系统程序员所能见到的计算机硬件特性;计算机组成是指计算机硬件的具体实现。第六章

中央控制器

计算机的硬件系统控制器的组成微程序控制的计算机微程序设计技术硬布线控制的计算机控制器的控制方式流水线工作原理CPU举例计算机的加电及控制过程第六章

中央控制器本章主要研究计算机控制器的组成原理。要求掌握在计算机运行过程中各硬件部件的作用,了解CPU中各部件的操作过程及其实现方法;重点掌握控制器如何实现各指令的功能,如何保证逐条指令的连续执行过程。6.1计算机硬件系统大多数计算机的CPU都由下述两种方法实现:(1)采用半导体公司生产的微处理器构成通用的或专用的计算机系统;如:Intel80386/80486;Pentium;MotorolaM68020/68030等32位的CPU。(2)自行设计制造芯片构成大、中、小型计算机的CPU;如:IBMPowerPC;DEC专用芯片等。6.1计算机硬件系统1、Intel32位微机系统图6.1是由Intel80386微处理器等器件组成的微机系统,Intel80386是32位微处理器。6.1计算机硬件系统6.1计算机硬件系统各个部件的主要功能如下:(1)80386微处理器。它是系统中主要的处理、控制部件,从存储器中取出的指令主要在,80386中处理。(2)80384时钟发生器。机器加电时,首先由它产生整机复位信号(reset),使计算机各个部件处于初始状态(reset作用时封锁计算机一切其他动作),这样可防止加电时,由于寄存器处于“不定”状态而引起计算机的不可预估的操作。80386加电后执行的第一条指令地址为OFFFFFFFOH(最前面的0表示在其后的F代表数字15而非字母,H表示十六进制),在此位置存放一条转移指令,转到引导程序入口。CLK是CLK2的二分频时钟信号。(3)80387协处理器。它扩充了80386指令系统,主要完成浮点运算和高精度整数运算。80386自动将取得的协处理器指令传送给80387。80387的数据线为32位。80386与协处理器并行工作。例如,当80386将浮点指令传送给协处理器后,不待该指令执行完毕,80386继续执行下一条指令。6.1计算机硬件系统(4)总线控制逻辑。80386通过总线与存储器、I/O设备交换信息,相互连接情况在80386结构中讲述。(5)存储器与输入输出系统。存放数据、指令以及完成输入输出操作的系统。(6)DMA控制器及中断控制器。在CPU与I/O设备之间,传送信息时,由于CPU的速度比I/O设备快得多,为了不浪费宝贵的CPU时间,因此CPU采取分时并行工作酌办法。(7)“准备好”(ready)逻辑。当80386与存储器交换数据(读或写)时,由于双方速度不一致(存储器较慢),有时80386需要等待。ready信号是由存储器发向80386的,表示在此之前由80386发向存储器的读/写命令已完成,此时80386不必等待(若已处于等待状态则结束等待),可继续执行下面的操作。6.1计算机硬件系统2、80386结构及外部连线Intel80386包括指令部件、执行部件和存储管理部件等。指令部件完成取指及指令译码功能,并产生控制信号;执行部件包括ALU、乘法部件、寄存器组等;存储管理部件用来确定存储器地址。80386微处理器芯片通过引出端与计算机的其他部件连接,引出端信号按功能划分如图6.2所示。图上的箭头表示信号传送的方向。6.1计算机硬件系统6.1计算机硬件系统各个信号的功能如下:

(1)D0~D31:32位数据总线,是传送数据的双向总线。

(2)A2~A31,BE0#~BE3#:A2~A31,是32位地址线,其中A0,A1在80386内部转换成“字节使能”信号BE0#~BE3#,分别是字节0~字节3的选择信号,符号#表示低电位有效。

(3)CLK2:输入到80386的时钟。

(4)reset:总清或复位信号。

(5)W/R#、D/C#、M/IO#、LOCK#:是总线周期定义信号。(7)HOLD和HLDA:为总线仲裁信号。(8)INTR和NMI:为中断请求信号和不可屏蔽中断请求信号。(9)PEREQ,BUSY#,ERROR:为协处理器接口信号。6.2控制器的组成一、控制器的功能控制器的作用是控制程序的执行,它必须具有以下基本功能:

1.取指令

当程序已在存储器中时,首先根据程序入口取出第一条指令,为此要发出指令地址及控制信号。然后不断取出第2,3,…条指令。2.分析指令

或叫解释指令、指令译码等。是对当前取得的指令进行分析,指出它要求作什么操作,并产生相应的操作控制命令,如果参与操作的数据在存储器中,还需要形成操作数地址。6.2控制器的组成3.执行指令根据分析指令时产生的“操作命令”和“操作数地址”形成相应的操作控制信号序列,通过CPU及输入输出设备的执行,实现每条指令的功脂,其中还包括对运算结果的处理以及下条指令地址的形成。计算机不断重复顺序执行上述三种基本操作:取指、分析、执行;再取指、再分析、再执行……,如此循环,直到遇到停机指令或外来的干预为止。6.2控制器的组成4.控制程序和数据的输入与结果输出根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成I/O功能,这实际上也是通过执行程序来完成的。5.对异常情况和某些请求的处理当机器出现某些异常情况,诸如算术运算的溢出和数据传送的奇偶错等;或者某些外来请求,诸如磁盘上的成批数据需送存储器或程序员从键盘送入命令等,由这些部件或设备发出:(1)“中断请求”信号。(2)DMA请求信号。6.2控制器的组成二、控制器的组成控制器是计算机的指挥中心,其基本功能就是执行指令。控制器由程序计数器PC、指令寄存器IR、地址寄存器(AR)、数据寄存器(DR)、指令译码器(ID)、时序系统和微操作信号发生器组成。下图是一CPU的基本模型结构。6.2控制器的组成算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC存储器

I/OCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制ccccc缓冲寄存器DR6.2控制器的组成根据对CPU模型结构分析,得出CPU的基本组成如下:①

程序计数器PC用以指出下条指令在主存中的存放地址,CPU根据PC的内容去主存取得指令。因程序中指令是顺序执行的,所以PC有自增功能。②

指令寄存器(IR):

用来保存当前正在执行指令的代码。③

地址寄存器(AR):

用来存放当前CPU访问内存单元的地址。④

数据寄存器(DR):

用来暂存由内存储器中读出或写如入内存的指令或数据。6.2控制器的组成⑤

指令译码器:

分别对操作码字段、寻址方式字段、地址码字段进行译码,向控制器提供操作的特定信号。⑥

时序部件:

用来产生各种时序信号,时序信号可分为CPU周期信号、节拍周期信号和节拍脉冲信号,它们都是由统一时钟CLOCK分频得到。⑦

微操作形成部件:

根据IR的内容(指令)、PSW的内容(状态信息)以及时序线路三方面的内容,产生控制整个计算机系统所需的各种控制信号。其结构有组合逻辑型和存储逻辑型。6.2控制器的组成图6.3是控制器基本组成的逻辑框图。6.2控制器的组成在某些计算机的控制器中,将反映机器运行的状态集中在一起,称为程序状态字(PSW),而将保存程序状态的寄存器称为程序状态寄存器(PSR)。图6.3中的程序计数器PC和运算器中的状态寄存器以及是否允许CPU响应中断的标志位等都可包含在程序状态字中。应该说明一下,各个机器的程序状态字所包含的内容不完全相同。图6.3给出的框图是最基本的控制器组成,事实上由于VLSI的发展,使计算机体系结构有了很大的发展,例如在CPU中,往往有一个指令预取队列,可以预取出若干条指令,存放在由寄存器组成的队列中,这样当执行程序需取指令时,可以从速度比主存储器快得多的寄存器中得到,从而缩短运行程序的时间。6.2控制器的组成三、指令执行的逻辑过程—读取指令指令地址送入主存地址寄存器读主存,读出内容送入指定的寄存器—分析指令—按指令规定内容执行指令不同指令的操作步骤数和具体操作内容差异很大—检查有无中断请求若无,则转入下一条指令的执行过程形成下一条指令地址6.2控制器的组成

指令周期

:

CPU从内存取出一条指令并执行完这条指令的时间总和

机器周期

:

又称CPU周期(总线周期),CPU访问内存所花的时间较长,因此用CPU从内存读取一条指令字的所需的最短时间来定义

时钟周期

:

通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期T

相互关系:

1个指令周期=若干个机器周期

1个CPU周期=若干T周期

取指时间+执行指令时间6.2控制器的组成【例如】一段简单的汇编源程序如下所示,分析其执行过程。

020

CLA

;累加器清0021

ADD30

;(AC)+(30)→AC

022

STA40

;(AC)→(40)023

NOP

;空操作

024

JMP21

;21→PC…030000006 ;数据

…040存和数 ;数据指令的执行过程如下:6.2控制器的组成(1)CLA指令的指令周期一个机器周期一个机器周期取指令阶段执行指令阶段开始取指令PC+1对指令译码执行指令取下条指令PC+1取出CLA指令算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+1000020202122232430CLAADD30STA40NOPJMP21000006000020CLACLA000021算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+1202122232430CLAADD30STA40NOPJMP21000006000020CLACLA000021000000执行CLA指令6.2控制器的组成(2)ADD指令的指令周期

一个机器周期一个机器周期取指令阶段执行指令阶段开始取指令PC+1对指令译码送操作数地址取下条指令PC+1取出操作数执行加操作一个机器周期算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+12021222324303140CLAADD30STA40NOPJMP21000006000021ADDADD300000210000220000300000060+6=6000006取出并执行ADD指令6.2控制器的组成(3)STA指令的指令周期

算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRCPUALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+120212223243040CLAADD30STA40NOPJMP21000006000022STASTA40000022000023000040000006000006000006取出并执行STA指令6.2控制器的组成(4)NOP指令和JMP指令的指令周期算术逻辑单元状态条件寄存器程序计数器PC地址寄存器AR地址总线ABUS数据总线DBUS累加器AC缓冲寄存器DRALU指令寄存器IR指令译码器操作控制器时序产生器时钟状态反馈取指控制执行控制cccc+1202122232430CLAADD30STA40NOPJMP21000006000024JMP21JMP21000024000021000006000025000021取出并执行JMP指令6.2控制器的组成四、指令执行的电路过程

1.组成控制器的基本电路计算机中采用的电路,基本上分为两种类型:一类是具有记忆功能的触发器以及由它组成的寄存器、计数器和存储单元等。其特点是当输入信号消失后,原信息仍保留其中,图6.4即是这样的电路。该图表示在时间t2时,将A触发器的内容传送到B触发器中,在时间t3以后,A触发器在其他信号作用下变为“0”,但B触发器仍保持不变。6.2控制器的组成另一类是没有记忆功能的门电路及由它组成的加法器、算术逻辑运算单元(ALU)和各种逻辑电路等。其特点是当输入信号改变后,输出跟着变化。图6.5为加法器电路,对A、B进行加法运算,设A=1,B=0,则“和”S=1,该值仅在A,B保持不变时才成立,着在‘:时间A变为“0”,则S立即发生变化(如果忽略电路延迟时间),也变为“0”,而与原来的状态无关,所以这种电路没有记忆作用。6.2控制器的组成2.指令执行的电路过程(1)一条加法指令的执行过程

假设运算器的框图如图6.6所示。6.2控制器的组成6.2控制器的组成运算器由8个通用寄存器GR及一个算逻运算部件ALU组成,并有4个记忆运算结果状态的标志触发器N,Z,V和C。其中:

N(负数):当运算结果为负数时,置“1”,否则为“0”。

Z(零):当运算结果为零时,Z=1,否则Z=0。

V(溢出):当运算结果溢出时,V=1,否则V=0。

C(进位):当加法运算产生进位信号或减法运算产生借位信号时,C=1,否则C=0。图6.6中的“•”表示两线相接,小圆圈“O”表示受控制的“与”门,带*号的是控制命令,各控制命令均来自控制器,其功能在图上已标明。图6.7是加法指令的操作时序图:6.2控制器的组成6.2控制器的组成图中CLK为时钟,假设一个基本操作需要2个时钟(T1和T2)才能完成。在一般情况下,当控制命令为1(高电平)时,将受控门打开(例如PC→AB等);控制命令为0(低电平)时,将门关闭。而在控制命令(或回答信号)的上面有符号“一”时,其作用相反。例如,ADS当其为高电位时,表示向存储器送去了一个读/写启动命令,存储器根据另一控制命令W/R来决定进行写操作还是读操作。当W/R=1时,进行写操作;当W/R=0时,进行读操作。本例中,存储器和I/O设备中的寄存器是统一编制的,因此利用M/IO信号来区分究竟是访问存储器还是I/O设备。当存储器或I/O设备完成读写操作时,向CPU送回面而信号。6.2控制器的组成假设指令格式如下:rs,rd,rs1为通用寄存器地址;imm(或disp)为立即数(或位移量)。加法指令功能:将寄存器(rs)中的一个数与存储器中的一个数(其地址为(rs1)+disp)相加,结果放在寄存器rd中,rs与rd为同一寄存器。6.2控制器的组成加法指令完成以下操作:①从存储器取指令,送入指令寄存器,并进行操作码译码(分析指令)。程序计数器加1,为下一条指令作好准备。

控制器发出的控制信号:PC→AB,W/R=0,M/IO=1;DB→IR;PC+1。②计算数据地址,将计算得到的有效地址送地址寄存器AR。

控制器发出的控制信号:rsl→GR,(rsl)→ALU,disp→ALU(将rsl的内容与disp送ALU);“+”(加法命令送ALU);ALU→AR(有效地址送地址寄存器)。6.2控制器的组成③到存储器取数。控制器发出的控制信号:AR→AB,W/R=0,M/IO=1;DB→DR(将地址寄存器内容送地址总线,同时发访存读命令,存储器读出数据送数据总线后,打入数据寄存器)。④进行加法运算,结果送寄存器,并根据运算结果置状态位N,Z,V,C。控制器送出的控制信号:rs→GR,(rs)→ALU,DR→ALU(两个源操作数送ALU);“+”(ALU进行加法运算):rd→GR,ALU→rd置N,Z,V,C(结果送寄存器,并置状态位)。6.2控制器的组成以上操作需要四个机器周期,其时间安排如下:其中取指令和取数周期通过总线访问存储器;计算地址和运算送结果周期在CPU内部进行操作,此时总线空闲。

CPU内部的寄存器,如程序计数器(PC)、指令寄存器(IR)、通用寄存器(GR)等都是在一个周期的末尾接受信息的,即在T2时,利用CLK时钟的下降沿打入寄存器,在图6.7中末标明。大部分计算机CPU中的触发器、寄存器都是利用与时钟同步的脉冲打入的。6.2控制器的组成(2)条件转移指令的执行过程指令功能:根据N,Z,V,C的状态,决定是否转换。如转移条件成立,则转移到本条指令所指定的地址,否则顺序执行下一条指令。指令完成以下操作:

①从存储器取指令,送入指令寄存器,并进行操作码译码。程序计数器加1,如不转移,即为下一条要执行的指令地址。本操作对所有指令都是相同的。6.2控制器的组成②如转移条件成立,根据指令规定的寻址方式计算有效地址,转移指令经常采用相对寻址方式,此时转移地址;PC+disp。此处PC是指本条指令的地址,而在上一机器周期已执行PC+1操作,因此计算时应取原PC值,或对运算进行适当修正。最后将转移地址送PC。本条指令只需要两个机器周期,如转移条件成立,在第二机器周期增加一个ALU→PC信号;另外,如为相对转移,则用PC→ALU信号取代加法指令第二周期中的(rs1)→ALU信号,其他信号与加法指令的前两个机器周期中的信号相同。6.2控制器的组成某些计算机对条件转移指令的功能规定为:先进行比较运算,根据运算(比较)结果置条件码,并根据条件码决定是否转移。要完成这样的功能显然要增加周期数。其他指令的控制信号也按同样方法分析,根据每条指令的功能确定所需的机器周期数,并得出每个机器周期所需要的控制信号,最后将所有的控制信号进行综合简化。控制器的功能就是按每条指令的要求产生所需的控制信号。因此在设计控制器时要求系统设计师提供一个完整的无二义性的指令系统说明书。到此为止,只讲到为什么需要控制信号及需要什么样的控制信号,下面将说明如何产生控制信号。产生控制信号一般有微程序控制和硬布线控制两种方法。6.3微程序控制的计算机一、微程序控制的基本概念基本概念和术语(1)微命令与微操作

微命令——控制完成微操作的命令。例如:打开或关闭某个控制门的电位信号,某个寄存器的打入脉冲等。微命令由控制器通过控制线向有关的部件发出。

微操作——由微命令控制实现的最基本操作。

(2)微指令与微周期

微指令——若干个微命令的组合,以编码形式存放在控制存储器的一个单元中,控制实现一步操作。6.3微程序控制的计算机

微周期——通常指从控制存储器中读取一条微指令并执行相应的微操作所需的时间。若一个微周期的全部微命令用一个同步脉冲定时,则这种微周期称为单周期;若一个微周期内用一个以上的同步脉冲定时全部微命令,则称多周期。(3)机器语言程序与微程序

机器语言程序——一系列指令的有序集合称为机器语言程序。

微程序——一系列微指令的有序集合称为微程序,一条指令的功能由一段微程序来实现。6.3微程序控制的计算机(4)控制存储器微程序控制器的核心是控制存储器CM,用它存放各指令对应的微程序,CM可用只读存储器ROM构成。若采用可擦除可编程只读存储路EPROM作CM,则有利于微程序的修改和动态微程序设计。一般计算机指令系统是固定的,所以实现指令系统的微程序也是固定的。由于机器内控制信号数量比较多,再加上决定下址的地址码有一定宽度,所以控制存储器的字长比机器字长要长得多。执行一条指令实际上就是执行一段存放在控制存储器中的微程序。6.3微程序控制的计算机二、微程序控制的基本原理1、控制信号上一节讲到的运算器和控制器组合在一起,即为图6.8所示。图中假设ALU可以进行加(+)、减(-)、逻辑加(∨)逻辑乘(∧)四种运算,图中的控制信号用符号1,2,3,…表示,其意义参见表6.1。6.3微程序控制的计算机6.3微程序控制的计算机6.3微程序控制的计算机以执行一条加法指令为例,它由四条微指令解释执行,一条微指令中的所有控制信号是同时发出的。每条微指令所需的控制信号如下:(1)取指微指令

①指令地址送地址总线:PC→AB(1)②发访存控制命令,ADS(21),M/IO#=1(22),W/R#=0(23)。从存储器取指令送数据总线。③指令送指令寄存器:DB→IR(5)④程序计数器+1:PC十1(3)6.3微程序控制的计算机(2)计算地址微指令

①取两个源操作数(计算地址用):rsl→GR(8),(rsl)→ALU(10),disp→ALU(4)。②加法运算:“+”(13)。③有效地址送地址寄存器:ALU→AR(19)。(3)取数微指令

①数据地址送地址总线:AR→AB(20)。②发访存控制命令:ADS(21),M/IO(22),W/R(23)。由存储器将数据送数据总线DB。③数据送数据寄存器:DB→DR(6)6.3微程序控制的计算机(4)加法运算和送结果微指令

①两源操作数送ALU:rs→GR(9),(rs)→ALU(11);DR→ALU(12)。②加法运算:“+”(13)③送结果;ALU→GR(17)如何组织微指令产生上述信号:最简单的组成形式是将每个控制信号用一个控制位来表示,当该位为“1”时,定义为有控制信号,当该位为“0”时,没有控制信号。M/IO#、W/R#则根据是访问存储器还是I/O设备,是写还是读而设置成“1”或“0”。图6.8中总共有23个控制信号,所以总共有23个控制位,如控制存储器容量为4K字,则每条微指令还需要12位来表示下址。微指令格式可表示如下:6.3微程序控制的计算机控制字段每一位的功能与表6.1中所表示的相符。例如,第1位表示PC→AB。实际的计算机的控制信号数量要比上例大得多,而且控制存储器容量一般大于4K字,因此微指令字的长度通常在100位以上。控制存储器的容量取决于实现指令系统所需的微程序长度。6.3微程序控制的计算机图6.9为加法指令的四条微指令编码,每一小格表示一位(二进制),空格表示0,第24位到第35位为下址。6.3微程序控制的计算机当前正在执行的微指令从控制存储器取出后放在微指令寄存器中,该寄存器的各个控制位的输出直接连到各个控制门上。例如,上述第四条微指令,由于第9,11,12,13,17位为1,因而产生将两个数送ALU进行加法运算和将结果送通用寄存器的控制信号并根据运算结果置状态位NZVC。微程序也可以用流程图来表示(图6.10)。图中每一方框表示一条微指令,方框上方表示的是该条微指令的地址,方框内为执行的操作,在其右下角为下一条要执行的微指令的地址,表示在微指令的下址字段中(见图6.9)。取指微指令的操作对所有的指令都是相同的。所以是一条公用的微指令,其下址由操作码译码产生。6.3微程序控制的计算机6.3微程序控制的计算机2、微程序控制器微程序控制器如图6.11所示。图中的控制存储器与微指令寄存器替代了图6.3和图6.8中的时序控制信号形成部件6.3微程序控制的计算机微程序控制器的基本工作原理如下:当指令取入IR中以后,根据操作码进行译码,得到相应指令的第一条微指令的地址。在图6.10中,当执行加法指令时,译码得到的地址为1001,当执行减法指令时,译码得到的地址为1004,…,当执行条件转移指令时,译码得到的地址为1100。之后,都由微指令的下址字段指出下一条微指令的地址。指令译码部件可用只读存储器组成,将操作码作为只读存储器的输入地址,该单元的内容即为相应的微指令在控制存储器中的地址,根据此地址从控制存储器取出微指令,并将它存放在微指令寄存器中。6.3微程序控制的计算机微指令分成两部分,产生控制信号的部分一般称为控制字段,产生下址的部分称为下址字段。控制字段各位的输出通过连接线直接与受控制的门相连,于是就提供了在本节所提出的控制信号。线路图如下:6.3微程序控制的计算机6.3微程序控制的计算机3、时序信号及工作脉冲的形成在图6.8中,没有画出使一些寄存器(例如指令寄存器、程序计数器等)接收数据或计数的工作脉冲(打人脉冲),这些脉冲是如何形成的呢?另外在波形图中的CLK,T1,T2等信号又是如何产生的?下面进行简单的解答。首先讨论图6.7中的CLK及T1,T2是怎样产生的,分析它们之间的关系,可以知道,CLK2经过二分频得到CLK,再将CLK分频得到T1。而T2可从T1反相得到。一般利用触发器电路进行分频,因此从触发器的另一端输出即为T2。如图6.12(a)所示。图6.12(a)画出了产生CLK和T1,T2信号的二分频电路图。6.3微程序控制的计算机6.3微程序控制的计算机前面曾假设一个机器周期由T1和T2组成,在T2的末尾需要产生一个工作脉冲CP来保存计算结果或接收传送的数据及指令等。例如,在第一个机器周期的末尾要将从存储器取来的指令送入指令寄存器,并完成程序计数器加1的操作。在图6.12(b)中画出的工作脉冲CP可用逻辑式表示如下:CP=T2·CLK·CLK2#同样将上述一些信号组合可以得到我们想得到的任意时序脉冲。例如,利用一个“与”门实现CP1=T1·CLK·CLK2#

功能可在T1末尾得到另一个工作脉冲;而实现CLK·CLK2#

功能的“与”门则可得到上述两个工作脉冲的叠加信号,

CP+CP1=CLK·CLK2#。如图6.12(b)所示。6.3微程序控制的计算机6.3微程序控制的计算机在一个机器周期内设置一个或多个工作脉冲?机器周期时间多长?这是由设计者根据逻辑设计和电路性能而决定的,将随机器而异。机器中一些寄存器的打入脉冲是如何形成的。例如,在取指周期,要将指令送人指令寄存器,并将程序计数器的内容加1,从图6.9可见,此时微指令的控制位DB→IR和PC+1为“1”,因此采用“与”门,如图6.13(a)和图6.13(b)所示即可形成IR和PC的打入脉冲(CP—IR和CP—PC)。6.3微程序控制的计算机6.3微程序控制的计算机有些寄存器,在每个机器周期都要接受新内容。例如,微指令寄存器,由于每个机器周期要完成一条微指令,所以每个机器周期都要从控制存储器中取出一条微指令,并将它送入微指令寄存器中,此时可直接利用CP作为微指令寄存器的打人脉冲。计算机内所有寄存器和触发器接受信息都需要有打人脉冲(施密特触发器例外),都可以用类似的方法产生。有些信号,例如ADS,仅在T1时间起作用,可利用微指令控制位ADS和T1相“与”,即可得到ADS如图6.13(c)所示。6.3微程序控制的计算机4、电路配合中的常见问题

(1)电路延迟引起的波形畸变信号通过逻辑电路时,由于电路内部的原因以及寄生参数(如寄生电容)的影响,可能产生不期望的信号畸变或“毛刺”。6.3微程序控制的计算机例如,在图6.14所示的“符合”电路(当A=B时输出C为高电位)中,输出端C=AB+A#B#。假如A,B起始状态均为1,在时间t由“1”变“0”,由于A#B#比AB多经过一个门,而信号通过“门”时会产生延迟时间,因此当AB变成0时,A#B#仍为0,于是在输出C产生一个脉冲;假如A,B输入信号是理想的方波(上升边、下降边时间为0)且没有延迟,那么该脉冲是不会发生的。这一脉冲有人把它称为“毛刺”。6.3微程序控制的计算机又如图6.15(a)是一个分频电路,由触发器和“与”门组成。如触发器无延迟,则在与门的输出端可得到宽度与CLK相同、频率降低一半的CLKA脉冲,但若触发器有延迟,其输出波形为Q’,则在“与”门的输出端的波形将如CLKA'所示,使信号宽度变窄,又产生了“毛刺”。这样的电路会引起计算机操作错误。6.3微程序控制的计算机(2)机器周期的确定一条微指令要完成若干个微操作,不同的微指令要完成的微操作是不同的,所有的微操作都应在一个机器周期内完成,也就是说机器周期时间应大于或等于执行时间最长的微操作时间。一般来说人们首先注意的是访问存储器时间,因为存储器的速度比逻辑电路慢,然后考虑一次算术运算所需的时间。6.3微程序控制的计算机例如,当进行加法操作时,要考虑形成“和”可能需要的最长时间以及置状态位并判断运算结果是否溢出等所需的时间。当运算结果溢出时,有的计算机不希望将运算结果送入寄存器中,以避免扩散错误造成的影响;同时假如寄存器中的原始数据不被破坏,那么当查出溢出原因后,就有可能继续运行下去。一些更为复杂的运算,例如乘法或除法运算,利用若干条微指令实现,每条微指令仅完成加(减)法和移位等操作。机器周期对机器速度影响很大,是计算机的主要指标之一。6.3微程序控制的计算机在图6.7的波形图中,有一个ready信号,它是CPU访问存储器时,由存储器送回CPU的回答信号,这是考虑到存储器的速度可能与CPU不一致,假如存储器的速度较低,则ready信号出现较晚,CPU将延长一个或一个以上T2节拍信号。6.3微程序控制的计算机图6.16是用来产生CLK及T1,T2信号的分频电路,当T2且无ready#信号时,封锁CLK2信号(T的计数脉冲),而满足:

(T2·ready#)#=T2#+ready=T1+ready=T1+ready##条件时,允许T计数,采用这种办法后,CPU可以与不同存取速度的存储器配合工作。6.3微程序控制的计算机(3)时钟脉冲CLK和工作脉冲CP的标准性CLK和CP是控制全机工作的脉冲,因此对它的幅度及宽度要求是很严格的。CP主要作为寄存器和触发电路的打入脉冲。例如,有A,B,C三个触发器,当满足条件cond时,将A触发器内容送B,同时将原B触发器内容送C。对CP的控制有两种方式:一种方式是控制CP—B与CP—C信号如图6.17(a)所示,当满足cond条件时,才产生CP—B和CP-C信号。另一种方式是CP脉冲不受控制,总是作用在触发器上,但当条件不成立时,使触发器处于保持状态(即维持原状态不变),而当条件成立时,接受新状态如图6.17(b)所示。6.3微程序控制的计算机6.3微程序控制的计算机触发器A,B,C是具有维持阻塞功能的D型触发器。在图6.17中假设CP—B与CP-C是同时作用的脉冲,因此能可靠传送数据,但假如CP—B比CP—C来得早,那么有可能将B触发器刚接收的新数据传送到C触发器。在图6.17(a)中,CP—B和CP—C不是来自同一处,假如设计时不注意这一问题,就可能产生CP—B早于CP—C的情况。在控制打人脉冲的机器中,总是尽量将CP信号送到控制门的最后一级。6.3微程序控制的计算机例如,图6.18(a)与(b)都能实现F=A.B.C.D.E.CP的功能,但在图6.18(a)中,CP所经过的门比图6.8(b)少一级,所以图6.8(a)的电路比图6.18(b)为好。6.3微程序控制的

温馨提示

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

评论

0/150

提交评论