版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章
控制器
5.1控制器概述5.2时序
5.3微程序控制
5.4硬布线控制5.5流水线5.6CPU实例
第五章控制器5.1控制器概述5.1控制器概述
中央处理器主要由运算器和控制器组成。依据控制器的具体组成与运行原理的不同,通常把控制器分为微程序控制器和硬布线控制器两大类。这两种控制器,指令的执行步骤基本相同,其主要差异表现在解决指令执行步骤衔接关系的方案,以及提供每个执行步骤要用到的控制信号的具体逻辑线路、运行速度等方面。
5.1控制器概述中央处理器主要由运算器和25.1.1控制器的功能
控制器部件是计算机的五大功能部件之一,其作用是向计算机的每个部件(包括控制器部)提供协同运行所需要的控制信号。当我们使用计算机解决某个问题时,必须首先编写程序,而程序是由很多条指令组成的,这些指令告诉计算机应该完成什么操作,在哪里找到指令执行所需要的数据。程序在运行之前要装入到主存储器中,然后由计算机自动完成取出指令并执行指令,完成这项工作的硬件就是中央处理器。5.1.1控制器的功能控制器部件是计算35.1.2控制器的组成
1.控制器的组成为了实现上述的功能,控制器必须由一些具有不同处理功能的逻辑线路组成,如图5.1所示。
5.1.2控制器的组成1.控制器的组成4计算机组成原理与系统结构-第5章-控制器课件5各种不同类型计算机的控制器会有不少差别,但其基本组成是相同的,控制器主要由以下几部分组成。(1)程序计数器(ProgrammingCounter,PC)即指令地址寄存器。在某些计算机中用来存放当前正在执行的指令地址;而在另一些计算机中则用来存放即将要执行的下一条指令地址;程序计数器具有加1或接收新值功能。有两种方法来形成指令地址,顺序执行程序的时候,通过PC加1或其他固定值来形成下一条指令的地址。
各种不同类型计算机的控制器会有不少差别,但其6(2)指令寄存器(InstructionRegister,IR)指令寄存器用来存放当前正在执行的指令。当指令从主存储器中取出暂时存放在指令寄存器后,在执行指令的过程中,指令寄存器的内容不允许被改变,以保证实现指令的全部功能。(3)指令译码器指令译码器又称为操作码译码器,对指令寄存器中的指令的操作码进行译码分析,产生相应的控制信号。
(2)指令寄存器(InstructionRegister,7(4)脉冲源脉冲源产生一定频率和宽度的脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号,在机器刚加电时,还应产生一个总清信号(Reset)。Reset信号撤掉后,脉冲源立即按照规定的频率重复发出方波时钟脉冲序列,直到关闭电源。(4)脉冲源8(5)启停线路启停线路也称为启停控制逻辑。电源一旦接通,脉冲源就发出一定频率的主时钟脉冲,但这并不意味着计算机已经开始工作,只有通过启停线路把计算机启动后,主时钟脉冲才被允许进入,并启动时序控制信号形成部件开始工作。启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或停止,从而启动机器工作或使机器停机。
(5)启停线路9(6)时序控制信号形成部件当机器启动后,在CLK时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控功能部件的反馈信号调整时序控制信号。(7)指令执行步骤标记线路指明每条指令的执行步骤及接续关系。(8)中断控制逻辑中断控制逻辑的作用是用来控制中断处理的硬件逻辑电路。
(6)时序控制信号形成部件102.CPU中的寄存器CPU中的寄存器用来暂时存放运算和控制过程中的中间结果、最终结果以及控制状态信息。CPU中的寄存器分两大种:通用寄存器和专用寄存器。.通用寄存器通用寄存器的功能很多,可以用来存放原始操作数和运算结果,还可以作为变址寄存器、指针寄存器等。
2.CPU中的寄存器11.专用寄存器前面介绍过的程序计数器、指令寄存器等都是专用寄存器,用来完成特定的功能。该课程中用到的CPU寄存器主要有程序计数器、指令寄存器、数据寄存器、地址寄存器、累加寄存器和状态条件寄存器,程序计数器和指令寄存器不再重复,其他几个寄存器的功能如下:.专用寄存器12(1)数据寄存器(DR)数据寄存器用来临时存放从主存储器中取出的一条指令或一个数据字。反过来,当向主存储器写入一条指令或一个数据字时,也把它们临时存放在数据寄存器中。(2)地址寄存器(AR)地址寄存器保存当前CPU所访问的主存储器单元的地址。由于在CPU和主存之间存在着操作速度上的差异,所以必须要使用地址寄存器来保持内存的地址信息,直到主存储器存取操作完成为止。
(1)数据寄存器(DR)135.1.3指令的执行过程
控制器部分最重要的问题是理解指令的分步执行,这部分内容所涉及的知识综合性最强,是本课程最难的部分。要理解与设计指令的执行步骤,需要了解每条指令的格式与功能,要了解计算机各个功能部件的组成与运行原理,以及它们各自的控制与使用方式、它们之间的连接关系等,要涉及整台计算机的几乎全部组成逻辑和运行机制。
5.1.3指令的执行过程控制器14⒈指令的执行过程一般情况下,一条指令的执行过程分为四个阶段:取指令,分析指令,执行指令和检查有无中断请求。⒈指令的执行过程15(1)取指令把将要执行的指令从主存储器中取出,送往指令寄存器,具体操作如下:①把程序计数器中的内容送往地址寄存器AR,然后再送往地址总线。②控制器向主存储器发出读的控制信号。③从主存储器中读出的指令经过数据总线送往指令寄存器。④程序计数器中的内容加1(或其他增量),为取下一条指令做准备。
(1)取指令16(2)分析指令指令取出来后,指令译码器马上对指令进行分析。指令译码器可以识别和区分不同的指令以及各自的寻址方式,因为指令系统中指令的功能各不相同,所以,分析指令这一阶段的差异也很大。
(3)执行指令指令分析完了、所需要的操作数也取出来后,就到了执行指令阶段,该阶段完成指令所规定的功能,如对操作数进行计算,并把计算结果送到指定地址存储下来。
(2)分析指令17(4)检查有无中断请求最后,CPU检查有无中断请求,有则响应中断,转入中断服务程序,没有则执行下条指令。以上四个阶段中,1和4阶段是公用的,与具体的指令无关。不管什么指令,在运行时首先要取指令到指令寄存器,指令执行完了之后总是要检查有无中断请求。
(4)检查有无中断请求18⒉指令的执行过程举例一个指令系统中的指令有很多条,不同指令的操作内容差异很大,导致指令的执行过程都不相同。下面举两条指令的执行过程。
⒉指令的执行过程举例19(1)加法指令的执行过程,指令的功能是主存储器的数和寄存器中的数相加,结果送寄存器。①从主存储器取指令,送入指令寄存器,并进行操作码译码(分析指令)。②计算数据地址,将计算得到的有效地址送地址寄存器AR。③到主存储器中取数。④进行加法运算,结果送寄存器,并根据运算结果置状态位N,Z,V,C以及检查有无中断请求。
(1)加法指令的执行过程,指令的功能是主存储器的数和寄存器中20假设运算器的框图如图5.2所示。运算器由8个通用寄存器GR及一个算术逻辑运算部件ALU组成。
假设运算器的框图如图5.2所示。运算器21图5.3给出了加法指令的操作时序。
图5.3给出了加法指令的操作时序。22(2)条件转移指令的执行过程指令功能:根据N,Z,V,C的状态,决定是否转移。如转移条件成立,则转移到本条指令所指定的地址,否则顺序执行下一条指令。本条指令完成以下操作:①从主存储器取指令,送入指令寄存器,并进行操作码译码。②如转移条件成立,根据指令规定的寻址方式计算有效地址,转移指令经常采用相对寻址方式,此时转移地址=PC+disp。最后检查有无中断请求,无则进入下一条指令的执行过程。
(2)条件转移指令的执行过程235.2时序
5.2.1时序概述
控制器的功能就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成信息的传送。控制器有两种:硬布线控制器和微程序控制器。这两种控制器分别在5.3和5.4节中介绍。CPU中除了控制器外,还必须有时序产生器。时序产生器的作用就是对各种操作信号进行定时,在时间上对各种操作信号进行约束,以便对各种操作信号进行协调。
5.2时序5.2.1时序概述24硬布线控制器中,时序信号往往采用主状态周期—节拍电位—节拍脉冲三级体制。一个节拍电位表示一个CPU周期的时间,它表示了一个较大的时间单位;在一个节拍电位中又包含一个或几个具有一定宽度的节拍脉冲;而主状态周期可包含若干个节拍电位,所以它是最大的时间单位。主状态周期可以用一个触发器的状态持续时间来表示。
硬布线控制器中,时序信号往往采用主状25图5.4给出了主状态周期—节拍电位—节拍脉冲三级时序系统。
图5.4给出了主状态周期—节拍电位—节26图5.4中每个主状态周期M中包括四个节拍T1~T4,每个节拍内有一个节拍脉冲P。在微程序控制器中,时序信号比较简单,一般采用节拍电位—节拍脉冲二级体制。就是说,它只有一个节拍电位,在节拍电位中又包含若干个节拍脉冲。节拍电位表示一个CPU周期的时间,而节拍脉冲把一个CPU周期划分成几个较小的时间间隔。根据需要,这些时间间隔可以相等,也可以不等。
图5.4中每个主状态周期M中包括四个节拍T27下面给出几个跟时序有关的名词。1.指令周期从取指令、分析指令、执行指令到检查有无中断请求所需的时间称谓一条指令的指令周期。
2.机器周期指令周期往往用若干个CPU周期数来表示,CPU周期也称为机器周期。由于CPU本身的速度很快,而CPU访问一次主存储器所花的时间较长,因此通常用从主存储器中读取一个指令字的最短时间来规定CPU周期。
下面给出几个跟时序有关的名词。283.节拍一个CPU周期又包含了若干个时钟周期,时钟周期通常称为节拍,是处理操作的最基本单位。一个机器周期内要完成若干微操作,其中有的可并行执行,有的要求顺序操作。因此,需要把一个机器周期分为若干个相等的时间段,每一时间段对应一个电位信号,称为节拍电位信号。节拍的宽度取决于CPU完成一次基本操作的时间,如ALU完成一次正确的运算,寄存器间的一次传送等。
3.节拍29由于不同的机器周期内需要完成的微操作的个数及难易程度是不同的,因而不同机器周期内所需要的节拍数也不相同。(1)统一节拍法。以最复杂的机器周期为准来定出节拍数,每一节拍时间的长短也以最繁琐的微操作为准,这种方法使得所有的机器周期长度相等,并且每一机器周期内含有相同数目的节拍,因此称为定长机器周期。
由于不同的机器周期内需要完成的微操作的个数30(2)分散节拍法。按照机器周期实际的需要安排节拍数,需要多少个节拍就提供多少个节拍,由于各个机器周期长度不同,故称为不定长机器周期,这种方式的时间利用率比上一种要高。(3)延长节拍法。在照顾多数机器周期要求的前提下,选取适当的节拍数作为基本节拍。若某个机器周期内按规定的基本节拍数无法完成该周期的全部微操作,则可延长节拍。
(2)分散节拍法。按照机器周期实际的需要安排节拍数,需要多少31(4)时钟周期插入。某些微型机的时序信号中不设置节拍,直接使用时钟周期信号。一个机器周期中含有若干个时钟周期,时钟周期的数目取决于机器周期内完成微操作数目的多少以及相应功能部件的速度。一个机器周期的基本时钟周期数确定之后,还可以不断插入等待时钟周期。
(4)时钟周期插入。某些微型机的时序信号中325.2.2时序信号产生器
各种计算机的时序信号产生电路是不尽相同的。一般来说,大、中型计算机的时序电路比较复杂,而小、微型计算机的时序电路比较简单,这是因为前者涉及的操作动作比较多,后者涉及的操作动作较少。另一方面,从设计操作控制器的方法来讲,硬布线控制器的时序电路比较复杂,而微程序控制器的时序电路比较简单。然而不管是哪一类,时序信号产生器的基本构成是一样的。下面以微程序控制器为例来说明的时序信号产生器的组成。
5.2.2时序信号产生器各种计算33微程序控制器中使用的时序信号产生器的结构图如图5.5所示,它由时钟脉冲源、环行脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成。
微程序控制器中使用的时序信号产生器的341.时钟脉冲源时钟脉冲源用来为环行脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成,其输到送至环行脉冲发生器。2.环行脉冲发生器环行脉冲发生器的作用是产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所需要的节拍脉冲。环行脉冲发生器有两种形式,一种是采用普通计数器,一种是采用循环移位寄存器。由于前者容易在节拍脉冲上带来干扰毛刺,所以通常采用循环移位寄存器形式。
1.时钟脉冲源35图5.6是一种典型的环行脉冲发生器及其译码逻辑,它采用循环移位寄存器形式。
图5.6是一种典型的环行脉冲发生器及其译码逻辑,363.节拍脉冲和读/写时序的译码环行脉冲发生器及其译码逻辑的上半部示出了节拍脉冲和读/写时序的译码逻辑。
4.启停控制逻辑机器一旦接通电源,就会自动产生原始的节拍脉冲信号To1~To4。然而,只有在启动机器运行的情况下,才允许时序产生器发出CPU工作所需要的节拍脉冲T1~T4。为此需要由启停控制逻辑来控制To1~To4的发送。同样,对读/写时序信号也需要由启停逻辑加以控制。启停控制逻辑的核心是一个运行标志触发器(Cr),如图5.7所示。
3.节拍脉冲和读/写时序的译码37计算机组成原理与系统结构-第5章-控制器课件385.2.3控制器的控制方式
控制器的控制方式是指控制不同操作序列时序信号的方法,主要有四种:1.同步控制方式在程序运行时任何指令的执行或指令中每个操作的执行都受事先确定的时序信号所控制,每个时序信号的结束就意味着一个操作或一条指令已经完成,随即开始执行后续的操作或自动转向下一条指令的执行。各指令所需要的时序信号由控制器统一发出,所有微操作都与时钟同步。
5.2.3控制器的控制方式控制器的控制392.异步控制方式各操作不用统一的时序信号控制,而是每条指令、每个操作需要多少时间就占用多少时间,其特点是:当控制器发出进行某一操作控制信号后,等待执行部件完成该操作后发回的“回答”信号或“结束”信号,再开始新的操作,称为异步控制方式。
3.联合控制方式联合控制方式是同步控制和异步控制相结合的方式。
2.异步控制方式404.人工控制为了调试机器和软件开发的需要,在计算机面板或内部往往设置一些开关或按键以进行人工控制。最常见的有Reset按键、连续执行或单条指令执行的转换开关、符合停机开关等。
4.人工控制415.3微程序控制
5.3.1微程序概述
在计算机中,一条指令的功能是通过按一定次序执行一系列基本操作完成的,这些基本操作称为微操作。在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作称为微指令,所以微指令就是把同时发出的控制信号的有关信息汇集起来而形成的。将一条指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。组成微指令的微操作,又称为微命令。
5.3微程序控制5.3.1微程序概述425.3.2微程序控制器的基本原理
⒈微程序控制器的基本原理在微程序CPU的机器中,执行一条指令实际上就是执行一段存放在控制存储器中的微程序。而微程序的执行是在微程序控制器的控制下完成的。图5.8给出了一个微程序控制器的简单框图。
5.3.2微程序控制器的基本原理⒈微程序控制器的基本原43每一条微指令对应一条机器指令的一个执行步骤,这条微指令需要具有两项功能:(1)提供一条机器指令的一个执行步骤所需要的控制信号,以实现该执行步骤的操作功能。(2)提供读出下一条待执行微指令的地址,以便自动有序地读出每一条微指令,解决机器指令执行步骤之间的正确的接续关系。
每一条微指令对应一条机器指令的一个执行步骤44⒉控制信号以加法指令的执行过程,分析每个阶段需要什么控制信号。一条加法指令的执行过程分成了四个阶段,每一个阶段对应一条微指令,即该加法指令由四条微指令解释执行,一条微指令中的所有控制信号是同时发出的。例如:加法指令如下:ADDR0,R1,dispR0,R1为寄存器,disp为偏移量。指令的功能是R0寄存器中的数据和主存中的一个数相加之后和放在R0寄存器中。主存中的数据的地址为(R1)+disp。
⒉控制信号45每条微指令所需的控制信号如下:(1)取指微指令①
指令地址送地址总线:PC→AB。②
发访存控制命令:M/IO=1,W/R=0。从主存储器取指令送数据总线。③
指令送指令寄存器:DB→IR。④程序计数器+1:PC+1。
每条微指令所需的控制信号如下:46取指微指令的执行过程如图5.9所示。
取指微指令的执行过程如图5.9所示。47(2)计算地址微指令①
取两个源操作数(用作计算地址):(R1)→DA1,(DA1)→ALU,disp→DA2,(DA2)→ALU。②
加法运算:“+”。③有效地址送地址寄存器:ALU→AR。
(2)计算地址微指令48计算地址微指令的执行过程如图5.10所示。
计算地址微指令的执行过程如图5.10所示。49(3)取数微指令①
数据地址送地址总线:AR→AB。②
发访存控制命令:M/IO=1,W/R=0。由主存储器将数据送数据总线DB。③数据送数据寄存器:DB→DA2。
(3)取数微指令50取数微指令的执行过程如图5.11所示。
取数微指令的执行过程如图5.11所示。51(4)加法运算和送结果微指令①
两源操作数送ALU:(R0)→DA1,(DA1)→ALU;(DA2)→ALU。②
加法运算:“+”。③送结果:ALU→R0。
(4)加法运算和送结果微指令52加法运算和送结果微指令的执行过程如图5.12所示。
加法运算和送结果微指令的执行过程如图5.12所示。53指令执行过程中所需要的控制信号见表5.1。表5.1控制信号指令执行过程中所需要的控制信号见表5.1。54表5.1续表5.1续55微程序也可以用流程图来表示(图5.13)。图5.13中每一方框表示一条微指令,方框上方表示的是该条微指令的地址,方框内为执行的操作,在其右下角为下一条要执行的微指令的地址,表示在微指令的下址字段中。取指微指令的操作对所有的指令都是相同的。所以是一条公用的微指令,其下址由操作码译码产生。
微程序也可以用流程图来表示(图5.156计算机组成原理与系统结构-第5章-控制器课件57⒊AM2900系列芯片构成的微程序CPUAM2900系列是AMD公司于70年代推出的位片式集成电路,可构成如图5.14所示的系统。
⒊AM2900系列芯片构成的微程序CPU58AM2901为4位运算部件,包含4位ALU及16个4位通用寄存器,本系统将其中一个寄存器用作程序计数器PC。AM2902是为了加速进位而采用的集成电路。AM2910为微程序控制器,用于产生下一条微指令地址,可寻址4K字的控制存储器。图5.14中的MAP为操作码译码器产生本条指令的微程序入口地址。
AM2901为4位运算部件,包含4位59图5.15是AM2910内部组成框图。
图5.15是AM2910内部组成框图。60表5.2给出了Am2910所完成的功能
表5.2给出了Am2910所完成的功能615.3.3微程序的设计
1.微指令的编码法(1)直接控制法在微指令的控制字段中,每一位代表一个微命令,在设计微指令时,是否发出某个微命令,只要将控制字段中相应位置成“1”或“0”,这样就可打开或关闭某个控制门,这就是直接控制法。
(2)最短编码法这种编码方法使得微指令字长最短,把所有的微命令统一进行编码,每条微指令只定义一个微命令。
5.3.3微程序的设计1.微指令的编码法62(3)字段直接编码法字段编码法是直接控制法和最短编码法的折衷,既具有两者的优点,又避免了两者的缺点,把控制字段分成若干小段,段内采用最短编码法,段与段之间采用直接编码法。
(4)字段间接编码法字段间接编码法是在字段直接编码法的基础上,进一步缩短微指令字长的一种编码法。如果在字段直接编码法中,还规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,称为字段间接编译法。
(3)字段直接编码法632.后继微地址的形成方式当前正在执行的微指令,称为现行微指令,现行微指令所在的控制存储器单元的地址称为现行微地址,现行微指令执行完毕后,下一条要执行的微指令称为后继微指令,后继微指令所在的控存单元地址称为后继微地址。前面我们已经用到两种产生后继微指令地址的方法:(1)由指令操作码译码器产生后继微地址。(2)由微指令的下址字段指出后继微地址。
2.后继微地址的形成方式643.微指令格式微指令的编码法是决定微指令格式的主要因素,在设计计算机时考虑到速度价格等因素采用不同的编码法,即使在一台计算机中,也有几种编码法并存的局面存在。(1)水平型微指令水平型微指令是指在一条微指令中定义并执行多个并行操作微命令的微指令。
(2)垂直型微指令在微指令中设置有微操作码字段,采用微操作码编码法,由微操作码规定微指令的功能,称为垂直型微指令。
3.微指令格式65(3)混合型微指令对于实际的计算机来说,很少有只采用一种格式的微指令,通常是采用具有两者特点的微指令格式,把这种微指令称为混合型微指令。混合型微指令的字长不太长,但具有一定的并行控制能力,可提高指令执行的速度。
(3)混合型微指令664.微指令的执行方式一条微指令的执行过程跟指令的执行过程很相似,分成两个阶段:取微指令和执行微指令。首先把微指令从控制存储器中取出,如果是垂直型微指令还应该有微操作码的译码,接下来执行微指令所规定的操作。微指令的执行方式有两种:串行方式和并行方式,类似于指令的顺序执行方式和重叠执行方式。
4.微指令的执行方式675.动态微程序设计通常,一台计算机的指令系统有一系列固定的微程序,当微程序被设计好后,不允许改变,这样的微程序设计称为静态微程序设计。若在一台微程序控制的计算机中,假如能根据用户的要求改变微程序,那么这台机器就具有动态微程序设计功能。动态微程序设计的出发点是为了使计算机能更灵活、更有效地适应于各种不同的应用目标。
5.动态微程序设计686.毫微程序设计的基本概念毫微程序可以看作是用以解释微程序的一种微程序,因此组成毫微程序的毫微指令就可看作是解释微指令的微指令。采用毫微程序设计的主要目的是减少控制存储器的容量(字数×位数/字),采用的是两级微程序设计方法。通常第一级采用垂直微程序,第二级采用水平微程序。
6.毫微程序设计的基本概念697.微程序设计语言设计者或其他用户用来编制微程序的语言叫做微程序设计语言,用微程序设计语言编制的程序叫做源微程序。源微程序不能直接装入控制存储器,要将它转换成二进制代码后才能装入控制存储器。将源微程序翻译成二进制码的程序叫做微编译程序。
7.微程序设计语言705.4硬布线控制
硬布线控制器,又称为组合逻辑控制器,与微程序控制器共同构成计算机通用的两大类控制器。
它的基本运行原理是,把指令操作码、指令执行步骤编码或许还有其他的控制条件作为输入,使用大量的组合逻辑门线路,直接提供出控制计算机各功能部件协同运行所需要的控制信号。
5.4硬布线控制硬布线控制器715.4.1硬布线控制器的组成和基本原理
1.硬布线控制器的组成硬布线控制器的组成如图5.16所示。
5.4.1硬布线控制器的组成和基本原理1.硬布线控制器72硬布线控制器主要是由5个主要部件组成的:(1)程序计数器PC用于保存一条指令在主存中的地址,服务于读取指令,通常有自行增量功能,并可以接收下条要执行指令的地址。
(2)指令寄存器IR用于保存从主存读来的指令内容,以便提供执行指令的过程中要用到的指令本身的主要信息。
硬布线控制器主要是由5个主要部件组成的:73(3)脉冲源、启停控制逻辑和节拍发生器脉冲源和启停控制电路用于向计算机各部件提供连续(单个)的主振脉冲,节拍发生器则用于标记出每条指令的各执行步骤的相对次序关系。(4)硬布线逻辑即时序控制信号的产生部件。它依据指令的操作码、指令的执行步骤(节拍状态),也许还有些别的条件信号作为输入,使用许多的组合逻辑门电路来形成并提供出计算机各部件当前时刻要用到的控制信号。
(3)脉冲源、启停控制逻辑和节拍发生器74(5)译码器如指令的操作码为7位,则允许计算机最多设置128条指令,译码器的最基本形式为:以7位操作码为输入,在输出的128条线中,在任何时候只有1根为高电位,其余均为低电位(或只有1根为低电位,其余均为高电位),每1根输出线代表一条指令。
(5)译码器752.时序与节拍一条指令的实现可分成取指、计算地址、取数及执行等几个步骤。硬布线控制器中指令不同的执行步骤是用节拍来区分的,需要为指令的每一个执行步骤分配确定的节拍状态编码,执行完一个节拍的操作后,要从当前的状态变换为下一个节拍状态,表明本节拍操作的结束和一个新的节拍操作的开始。在一个机器周期内,要完成很多个微操作,这些微操作有的同时进行,有的需要按一定次序进行。因此把一个机器周期分成很多个相等的时间段,每一个时间段对应一个电位信号,称为节拍电位信号。
2.时序与节拍76在大部分情况下,指令的每一步由一个机器周期实现,如何区分一条指令的四个机器周期呢?可以考虑用两位计数器的译码输出来表示当前所处的机器周期,如图5.17所示。
在大部分情况下,指令的每一步由一个机器周77或用四位触发器来分别表示四个周期,当机器处于某一周期时,相应的触发器处于“1”状态,而其余三个触发器则处于“0”状态,四位移位寄存器即可实现此功能。
例如,执行A指令时需要四个机器周期,因此计数器的变化规律是00→01→10→11;而执行B指令时仅需要三个机器周期(例如不用计算地址),则计数器的变化规律为00→10→11,据此可列出真值表(表5.3)。
或用四位触发器来分别表示四个周期,当78计算机组成原理与系统结构-第5章-控制器课件79根据真值表列出表达式,对于A指令,其表达式为 cyA′=cyAcyB+cyAcyB; cyB′=cyAcyB+cyAcyB=cyB。 对于B指令,其表达式为 cyA′=cyAcyB+cyAcyB=cyB; cyB′=cyAcyB。
根据真值表列出表达式,对于A指令,其表达式为80根据表达式得出逻辑图5.18。
根据表达式得出逻辑图5.18。813.控制信号的产生指令由操作码与地址码两部分组成,其中操作码表示当前正在执行的是什么指令。各条指令所需实现的操作随指令而异。假如操作码有7位,则最多可表示128条指令,一般在机器内设置一个指令译码器,其输入为操作码(7位),输出有128根线。由译码器的输出和机器周期状态cy1~cy4作为输入,使用逻辑电路产生操作控制信号,其框图如图5.19所示。
3.控制信号的产生82计算机组成原理与系统结构-第5章-控制器课件83加法指令的第一个周期是取指周期,所需的控制信号如前所述,用逻辑式来表示。PC→AB=加法指令·cy1 ADS=加法指令·cy1·T1 M/IO=加法指令·cy1 W/R=加法指令·cy1 DB→IR=加法指令·cy1 PC+1=加法指令·cy1
加法指令的第一个周期是取指周期,所需的控制信号如前所84在计算地址周期cy2完成有效地址的计算((rs1)+Disp),为此要将rs1的内容取出与IR中的位移量一起送ALU,发出rs1→GR(送通用寄存器地址),(rs1)→ALU,Disp→ALU以及“+”命令,最后将运算结果送地址总线,发出ALU→AR信号。写列出逻辑表达式 rs1→GR=加法指令·cy2 (rs1)→ALU=加法指令·cy2
…ALU→AR=加法指令·cy2
在计算地址周期cy2完成有效地址的计算((rs1)+85逻辑图5.16只考虑了加法指令计算有效地址时的一种情况。然后按同样方法列出后面两个机器周期所需产生的控制信号的逻辑表达式。
逻辑图5.16只考虑了加法指令计算有效地址时的一86对每一条指令都进行同样的分析,得出逻辑表达式。对所有指令的全部表达式进行综合分析后可得出下述结论:(1)取指周期cy1所产生的信号,对所有指令都是相同的,即与当前执行的指令无关,逻辑式得到最简单的形式。(2)通常,同一个控制信号在若干条指令的某些周期(或再加上一些条件)中都需要,为此需要把它们组合起来。
对每一条指令都进行同样的分析,得出逻辑表达式。87(3)同种类型的指令所需的控制信号大部分是相同的,仅有少量区别。整个算术逻辑运算指令仅ALU的操作命令以及是否置状态位(N,Z,V,C)上有差别。
(4)在确定指令的操作码时(即对具体指令赋于二进制操作码),为了便于逻辑表达式的化简以减少逻辑电路数量,往往给予特别关注。
(3)同种类型的指令所需的控制信号大部分是相同的,仅有少量区88例如,某机有128条指令,7位操作码,其中有十六条算术逻辑运算指令,那么可以令这些指令的高三位操作码完全相等,低4位不同,用来表示16条不同的算术逻辑运算指令。表5.4是Sun4工作站CPU(SPARC)部分指令的操作码。该机器的操作码有8位,表中仅列出7位操作码,对于表内所列指令,另一位操作码均为1,因此没有标出。
例如,某机有128条指令,7位操作码,其中有十六条89计算机组成原理与系统结构-第5章-控制器课件905.4.2硬布线控制和微程序控制的比较
硬布线控制与微程序控制之间的既有相同的地方也有不同的地方。1.相同点都用于控制指令的执行过程,并且使用几乎相同的执行步骤和几乎完全相同的控制信号,来完成对控制器之外的其他各功能部件的控制作用。
2.不同点硬布线控制与微程序控制之间实质性的差别在于处理指令各执行步骤的接续关系的方案和给出时序控制信号的办法完全不同,从而造成控制器的具体组成和运行原理、运行性能上的一些差异。
5.4.2硬布线控制和微程序控制的比较硬布91硬布线控制与微程序控制之间的最显著差异可归结为两点:(1)实现微程序控制器的控制功能是在存放微程序的控制存储器和存放当前正在执行的微指令的寄存器直接控制下实现的,而硬布线控制则由逻辑门组合实现。前者电路比较规整,各条指令控制信号的差别反映在控制存储器的内容上,因此无论是增加或修改指令只要增加或修改控存内容即可,若控存是ROM,则要更换芯片。
硬布线控制与微程序控制之间的最显著差异可归结为两点:92(2)性能在同样的半导体工艺条件下,微程序控制的速度比硬布线控制的速度低,那是因为执行每条微指令都要从控存中读取一次,影响了速度,而硬布线逻辑主要取决于电路延迟,速度比微程序控制器快。随着新一代机器以及VLSI的发展,硬布线控制器又得到了重视和应用。
(2)性能935.5流水线
5.5.1重叠执行和相关处理
1.重叠执行方式一条指令的执行过程可分成很多个阶段,具体的分段要视各种处理机的情况而定。为了简单起见,我们把一条指令的执行过程分成取指令、分析指令与执行指令三个阶段,从时间上看如图5.21所示。
5.5流水线5.5.1重叠执行和相关处理94指令的执行方式可以有顺序执行方式和重叠执行方式两种。指令的顺序执行方式是指各条机器指令之间顺序串行地执行,执行完一条指令后才取出下一条指令来执行,而且若采用微程序的CPU,每条机器指令所对应的各条微指令也是顺序串行执行的,如图5.22所示。
指令的执行方式可以有顺序执行方式和重叠执行方式两95指令的另一种解释方式是重叠执行方式,在执行第k条指令的操作完成之前,就可开始第k+1条指令的执行。如图5.23所示。重叠执行方式有两种:一次重叠执行方式和二次重叠执行方式。一次重叠执行方式是最简单的重叠方式,把第k条指令的执行阶段和第k+1条指令的取指阶段重叠在一起,即这两个阶段同时进行。
指令的另一种解释方式是重叠执行方式,在执行第k条指令96二次重叠执行方式是把第k条指令的执行阶段和第k+1条指令的分析以及第k+2条指令的取指阶段重叠在一起,即这三个阶段同时进行。如图5.24所示。
二次重叠执行方式是把第k条指令的执行阶段和第k+972.相关处理当一段程序的邻近指令之间出现某种关联后,为了避免出错而使它们不能同时被执行的现象称之为“相关”。相关有两大类:指令相关和操作数相关。指令相关是指第k条指令执行的结果会影响第k+1条指令内容而产生的关联,造成第k条指令和第k+1条指令不能同时执行。操作数相关是指在第k条指令和第k+1条指令的数据地址之间发生关联,而使得第k条指令和第k+1条指令不能同时执行。
2.相关处理985.5.3流水线工作原理
一条指令的“分析”与“执行”两个阶段,分别在独立的分析部件和执行部件上进行。因此,不必等一条指令的“分析”、“执行”阶段都完成才送入下一条指令,而是分析部件在完成一条指令的“分析”阶段时,就可开始下一条指令的“分析”阶段。若“分析”与“执行”子过程都需要⊿t的时间,则如图5.25所示,就一条指令的执行来看,需要2⊿t才能完成,但从机器的输出来看,每隔⊿t就能完成一条指令的执行。
5.5.3流水线工作原理一条指令的“分析”99计算机组成原理与系统结构-第5章-控制器课件100如图5.26所示,把“分析”阶段再细分成“取指令”、“指令译码”和“取操作数”3个阶段,并改进运算器的结构以加快其“执行”阶段。这4个子过程分别由独立的子部件实现,让指令经过各子部件的时间都相同。
如图5.26所示,把“分析”阶段再细分成“取指令”101如果能把一条指令的执行分解成时间大致相等的N个子阶段,如图5.27所示,则流水线的最大吞吐率会进一步提高。
如果能把一条指令的执行分解成时间大致相等的N个子102在计算机实际的流水线中,各子部件经过的时间会有差异。为解决这些子部件处理速度的差异,一般在子部件之间需设置高速接口锁存器。如图5.28所示。
在计算机实际的流水线中,各子部件经过的时间会有差103由于流水线是同时解释更多条指令的,因此相关状况要比重叠机器的更复杂、更严重,如果处理不当,就会使流水线效率显著下降。指令相关、主存操作数相关和通用/变址寄存器组操作数相关由于只影响相关的两条或几条指令,或至多影响流水线某些段的推后工作,并不会改动指令缓冲器中预取到的指令内容,影响是局部的,因此被称之为局部性相关。
由于流水线是同时解释更多条指令的,因此相关状况要104例如,在图5.29的4段流水线中,假如第2条指令的操作数地址即为第一条指令保存结果的地址,那么取操作数2的动作需要等待⊿t时间才能进行,否则取得的数据是错误的,这种情况称为数据相关,该数据可以是存放在存储器中或通用寄存器中,分别称为存储器数据相关或寄存器数据相关。
例如,在图5.29的4段流水线中,假如第2条指令105此时流水线中指令流动情况将如图5.30所示。
此时流水线中指令流动情况将如图5.30所示。106转移指令和其后的指令之间存在关联,使之不能同时解释,其造成的对流水线机器的吞吐率和效率下降的影响要比指令相关、主存操作数相关和通用/变址寄存器操作数相关严重得多,它可能会造成流水线中很多已被解释的指令作废,重新预取指令进入指令缓冲寄存器,它将影响整个程序的执行顺序,所以称之为全局性相关。
转移指令和其后的指令之间存在关联,使之不能同时解107全局相关经常用分支预测的处理方法。若指令i是条件转移指令,它有两个分支,如图5.31所示。
全局相关经常用分支预测的处理方法。若指令i是条件1085.5.4流水线的特点
在流水线技术中,一般有如下特点:1.一条流水线通常由多个阶段组成。各个流水段分别承担不同的工作,也可以把这些流水段看作功能部件。
2.每个流水段有专门的功能部件对指令进行某种加工。
3.各流水段所需的时间是一样的。4.流水线工作阶段可分为建立、满载和排空三个阶段。
5.5.4流水线的特点在流水线技术中,一般有如下特1095.5.5流水线的分类
1.按流水处理的级别不同分类按流水处理的级别不同可以把流水线分为部件级、处理机级和系统级的流水线。
2.按流水线功能的多少分类按流水线具有功能的多少来划分,流水线可以分为单功能流水线和多功能流水线。
5.5.5流水线的分类1.按流水处理的级别不同分类1103.按流水线的工作方式分类按多功能流水线的各段能否允许同时用于多种不同功能联接流水,可把流水线分为静态流水线和动态流水线。
4.按流水线的连接方式分类根据流水线中各功能段之间是否有反馈回路,可把流水线分为线性流水线和非线性流水线。3.按流水线的工作方式分类1115.6CPU实例
5.6.180386CPU
80386是Intel公司于1984年底推出的高性能的、字长为32位的微处理器。1.图5.32是由80386等器件组成的微机系统
5.6CPU实例5.6.180386CPU1122.80386的内部结构80386的数据总线和地址总线均为32位,在CPU芯片上集成了一个存储器管理部件,可以对64T字节的虚拟存储空间和4G字节的物理存储空间进行段式和页式管理,段的最大空间为4GB。80386的内部结构如图5.33所示。
2.80386的内部结构113计算机组成原理与系统结构-第5章-控制器课件1143.80386的外部连线80386微处理器芯片通过引出端与计算机的其他部件连接,引出端信号按功能划分如图5.34所示。图上的箭头表示信号传送的方向。
3.80386的外部连线1155.6.2PentiumCPU
图5.35是Pentium处理器的逻辑框图。
5.6.2PentiumCPU图5.35是Pent1165.6.3RISCCPU
图5.36是Fujitsu公司于1989年生产的基于SPARC的MB86901芯片的逻辑框图,主频为25MHz。
5.6.3RISCCPU图5.36是Fu117图5.36的右半部分基本上是运算器,左半部分为控制器。ALU是32位的算术逻辑运算部件。移位器在一个机器周期内可完成0~31位之间任意位的移位操作。寄存器堆的容量为120×32。算术逻辑指令的源操作数来自寄存器堆,运算结果也送往寄存器堆。ALU和移位器的处理结果先暂存在结果寄存器,然后再送往寄存器堆。另外来自存储器的数据D及送往存储器的数据D也是经过结果寄存器进行传送。图5.36的右半部分基本上是运算器,左半部分为控制118图5.37表示三个过程A,B,C所占用的寄存器以及逻辑寄存器和物理寄存器的对应关系(举例)。
图5.37表示三个过程A,B,C所占用的寄存器以及119逻辑寄存器与物理寄存器的关系如表5.5所示。
逻辑寄存器与物理寄存器的关系如表5.5所示。120SPARC的大部分指令按四级流水线工作,每个周期完成一条指令,称为单周期流水线,如图5.38所示。
SPARC的大部分指令按四级流水线工121Load/Store指令需要存/取数据,因此这类指令通过流水线的时间超过4个周期。图5.39为Load指令的双周期流水线。
Load/Store指令需要存/取122图5.40为产生trap时的指令流水线。
图5.40为产生trap时的指令流水线。123在条件转移情况下,要经过判断条件计算地址后才能得到转移地址,因此不能保证流水线畅通。在RISC中,依靠编译优化,在转移指令(n)的后面插入一条必执行的指令(n+1),其流水线如图5.41所示。
在条件转移情况下,要经过判断条件计算地址后才能得124第五章
控制器
5.1控制器概述5.2时序
5.3微程序控制
5.4硬布线控制5.5流水线5.6CPU实例
第五章控制器5.1控制器概述5.1控制器概述
中央处理器主要由运算器和控制器组成。依据控制器的具体组成与运行原理的不同,通常把控制器分为微程序控制器和硬布线控制器两大类。这两种控制器,指令的执行步骤基本相同,其主要差异表现在解决指令执行步骤衔接关系的方案,以及提供每个执行步骤要用到的控制信号的具体逻辑线路、运行速度等方面。
5.1控制器概述中央处理器主要由运算器和1265.1.1控制器的功能
控制器部件是计算机的五大功能部件之一,其作用是向计算机的每个部件(包括控制器部)提供协同运行所需要的控制信号。当我们使用计算机解决某个问题时,必须首先编写程序,而程序是由很多条指令组成的,这些指令告诉计算机应该完成什么操作,在哪里找到指令执行所需要的数据。程序在运行之前要装入到主存储器中,然后由计算机自动完成取出指令并执行指令,完成这项工作的硬件就是中央处理器。5.1.1控制器的功能控制器部件是计算1275.1.2控制器的组成
1.控制器的组成为了实现上述的功能,控制器必须由一些具有不同处理功能的逻辑线路组成,如图5.1所示。
5.1.2控制器的组成1.控制器的组成128计算机组成原理与系统结构-第5章-控制器课件129各种不同类型计算机的控制器会有不少差别,但其基本组成是相同的,控制器主要由以下几部分组成。(1)程序计数器(ProgrammingCounter,PC)即指令地址寄存器。在某些计算机中用来存放当前正在执行的指令地址;而在另一些计算机中则用来存放即将要执行的下一条指令地址;程序计数器具有加1或接收新值功能。有两种方法来形成指令地址,顺序执行程序的时候,通过PC加1或其他固定值来形成下一条指令的地址。
各种不同类型计算机的控制器会有不少差别,但其130(2)指令寄存器(InstructionRegister,IR)指令寄存器用来存放当前正在执行的指令。当指令从主存储器中取出暂时存放在指令寄存器后,在执行指令的过程中,指令寄存器的内容不允许被改变,以保证实现指令的全部功能。(3)指令译码器指令译码器又称为操作码译码器,对指令寄存器中的指令的操作码进行译码分析,产生相应的控制信号。
(2)指令寄存器(InstructionRegister,131(4)脉冲源脉冲源产生一定频率和宽度的脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号,在机器刚加电时,还应产生一个总清信号(Reset)。Reset信号撤掉后,脉冲源立即按照规定的频率重复发出方波时钟脉冲序列,直到关闭电源。(4)脉冲源132(5)启停线路启停线路也称为启停控制逻辑。电源一旦接通,脉冲源就发出一定频率的主时钟脉冲,但这并不意味着计算机已经开始工作,只有通过启停线路把计算机启动后,主时钟脉冲才被允许进入,并启动时序控制信号形成部件开始工作。启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或停止,从而启动机器工作或使机器停机。
(5)启停线路133(6)时序控制信号形成部件当机器启动后,在CLK时钟作用下,根据当前正在执行的指令的需要,产生相应的时序控制信号,并根据被控功能部件的反馈信号调整时序控制信号。(7)指令执行步骤标记线路指明每条指令的执行步骤及接续关系。(8)中断控制逻辑中断控制逻辑的作用是用来控制中断处理的硬件逻辑电路。
(6)时序控制信号形成部件1342.CPU中的寄存器CPU中的寄存器用来暂时存放运算和控制过程中的中间结果、最终结果以及控制状态信息。CPU中的寄存器分两大种:通用寄存器和专用寄存器。.通用寄存器通用寄存器的功能很多,可以用来存放原始操作数和运算结果,还可以作为变址寄存器、指针寄存器等。
2.CPU中的寄存器135.专用寄存器前面介绍过的程序计数器、指令寄存器等都是专用寄存器,用来完成特定的功能。该课程中用到的CPU寄存器主要有程序计数器、指令寄存器、数据寄存器、地址寄存器、累加寄存器和状态条件寄存器,程序计数器和指令寄存器不再重复,其他几个寄存器的功能如下:.专用寄存器136(1)数据寄存器(DR)数据寄存器用来临时存放从主存储器中取出的一条指令或一个数据字。反过来,当向主存储器写入一条指令或一个数据字时,也把它们临时存放在数据寄存器中。(2)地址寄存器(AR)地址寄存器保存当前CPU所访问的主存储器单元的地址。由于在CPU和主存之间存在着操作速度上的差异,所以必须要使用地址寄存器来保持内存的地址信息,直到主存储器存取操作完成为止。
(1)数据寄存器(DR)1375.1.3指令的执行过程
控制器部分最重要的问题是理解指令的分步执行,这部分内容所涉及的知识综合性最强,是本课程最难的部分。要理解与设计指令的执行步骤,需要了解每条指令的格式与功能,要了解计算机各个功能部件的组成与运行原理,以及它们各自的控制与使用方式、它们之间的连接关系等,要涉及整台计算机的几乎全部组成逻辑和运行机制。
5.1.3指令的执行过程控制器138⒈指令的执行过程一般情况下,一条指令的执行过程分为四个阶段:取指令,分析指令,执行指令和检查有无中断请求。⒈指令的执行过程139(1)取指令把将要执行的指令从主存储器中取出,送往指令寄存器,具体操作如下:①把程序计数器中的内容送往地址寄存器AR,然后再送往地址总线。②控制器向主存储器发出读的控制信号。③从主存储器中读出的指令经过数据总线送往指令寄存器。④程序计数器中的内容加1(或其他增量),为取下一条指令做准备。
(1)取指令140(2)分析指令指令取出来后,指令译码器马上对指令进行分析。指令译码器可以识别和区分不同的指令以及各自的寻址方式,因为指令系统中指令的功能各不相同,所以,分析指令这一阶段的差异也很大。
(3)执行指令指令分析完了、所需要的操作数也取出来后,就到了执行指令阶段,该阶段完成指令所规定的功能,如对操作数进行计算,并把计算结果送到指定地址存储下来。
(2)分析指令141(4)检查有无中断请求最后,CPU检查有无中断请求,有则响应中断,转入中断服务程序,没有则执行下条指令。以上四个阶段中,1和4阶段是公用的,与具体的指令无关。不管什么指令,在运行时首先要取指令到指令寄存器,指令执行完了之后总是要检查有无中断请求。
(4)检查有无中断请求142⒉指令的执行过程举例一个指令系统中的指令有很多条,不同指令的操作内容差异很大,导致指令的执行过程都不相同。下面举两条指令的执行过程。
⒉指令的执行过程举例143(1)加法指令的执行过程,指令的功能是主存储器的数和寄存器中的数相加,结果送寄存器。①从主存储器取指令,送入指令寄存器,并进行操作码译码(分析指令)。②计算数据地址,将计算得到的有效地址送地址寄存器AR。③到主存储器中取数。④进行加法运算,结果送寄存器,并根据运算结果置状态位N,Z,V,C以及检查有无中断请求。
(1)加法指令的执行过程,指令的功能是主存储器的数和寄存器中144假设运算器的框图如图5.2所示。运算器由8个通用寄存器GR及一个算术逻辑运算部件ALU组成。
假设运算器的框图如图5.2所示。运算器145图5.3给出了加法指令的操作时序。
图5.3给出了加法指令的操作时序。146(2)条件转移指令的执行过程指令功能:根据N,Z,V,C的状态,决定是否转移。如转移条件成立,则转移到本条指令所指定的地址,否则顺序执行下一条指令。本条指令完成以下操作:①从主存储器取指令,送入指令寄存器,并进行操作码译码。②如转移条件成立,根据指令规定的寻址方式计算有效地址,转移指令经常采用相对寻址方式,此时转移地址=PC+disp。最后检查有无中断请求,无则进入下一条指令的执行过程。
(2)条件转移指令的执行过程1475.2时序
5.2.1时序概述
控制器的功能就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成信息的传送。控制器有两种:硬布线控制器和微程序控制器。这两种控制器分别在5.3和5.4节中介绍。CPU中除了控制器外,还必须有时序产生器。时序产生器的作用就是对各种操作信号进行定时,在时间上对各种操作信号进行约束,以便对各种操作信号进行协调。
5.2时序5.2.1时序概述148硬布线控制器中,时序信号往往采用主状态周期—节拍电位—节拍脉冲三级体制。一个节拍电位表示一个CPU周期的时间,它表示了一个较大的时间单位;在一个节拍电位中又包含一个或几个具有一定宽度的节拍脉冲;而主状态周期可包含若干个节拍电位,所以它是最大的时间单位。主状态周期可以用一个触发器的状态持续时间来表示。
硬布线控制器中,时序信号往往采用主状149图5.4给出了主状态周期—节拍电位—节拍脉冲三级时序系统。
图5.4给出了主状态周期—节拍电位—节150图5.4中每个主状态周期M中包括四个节拍T1~T4,每个节拍内有一个节拍脉冲P。在微程序控制器中,时序信号比较简单,一般采用节拍电位—节拍脉冲二级体制。就是说,它只有一个节拍电位,在节拍电位中又包含若干个节拍脉冲。节拍电位表示一个CPU周期的时间,而节拍脉冲把一个CPU周期划分成几个较小的时间间隔。根据需要,这些时间间隔可以相等,也可以不等。
图5.4中每个主状态周期M中包括四个节拍T151下面给出几个跟时序有关的名词。1.指令周期从取指令、分析指令、执行指令到检查有无中断请求所需的时间称谓一条指令的指令周期。
2.机器周期指令周期往往用若干个CPU周期数来表示,CPU周期也称为机器周期。由于CPU本身的速度很快,而CPU访问一次主存储器所花的时间较长,因此通常用从主存储器中读取一个指令字的最短时间来规定CPU周期。
下面给出几个跟时序有关的名词。1523.节拍一个CPU周期又包含了若干个时钟周期,时钟周期通常称为节拍,是处理操作的最基本单位。一个机器周期内要完成若干微操作,其中有的可并行执行,有的要求顺序操作。因此,需要把一个机器周期分为若干个相等的时间段,每一时间段对应一个电位信号,称为节拍电位信号。节拍的宽度取决于CPU完成一次基本操作的时间,如ALU完成一次正确的运算,寄存器间的一次传送等。
3.节拍153由于不同的机器周期内需要完成的微操作的个数及难易程度是不同的,因而不同机器周期内所需要的节拍数也不相同。(1)统一节拍法。以最复杂的机器周期为准来定出节拍数,每一节拍时间的长短也以最繁琐的微操作为准,这种方法使得所有的机器周期长度相等,并且每一机器周期内含有相同数目的节拍,因此称为定长机器周期。
由于不同的机器周期内需要完成的微操作的个数154(2)分散节拍法。按照机器周期实际的需要安排节拍数,需要多少个节拍就提供多少个节拍,由于各个机器周期长度不同,故称为不定长机器周期,这种方式的时间利用率比上一种要高。(3)延长节拍法。在照顾多数机器周期要求的前提下,选取适当的节拍数作为基本节拍。若某个机器周期内按规定的基本节拍数无法完成该周期的全部微操作,则可延长节拍。
(2)分散节拍法。按照机器周期实际的需要安排节拍数,需要多少155(4)时钟周期插入。某些微型机的时序信号中不设置节拍,直接使用时钟周期信号。一个机器周期中含有若干个时钟周期,时钟周期的数目取决于机器周期内完成微操作数目的多少以及相应功能部件的速度。一个机器周期的基本时钟周期数确定之后,还可以不断插入等待时钟周期。
(4)时钟周期插入。某些微型机的时序信号中1565.2.2时序信号产生器
各种计算机的时序信号产生电路是不尽相同的。一般来说,大、中型计算机的时序电路比较复杂,而小、微型计算机的时序电路比较简单,这是因为前者涉及的操作动作比较多,后者涉及的操作动作较少。另一方面,从设计操作控制器的方法来讲,硬布线控制器的时序电路比较复杂,而微程序控制器的时序电路比较简单。然而不管是哪一类,时序信号产生器的基本构成是一样的。下面以微程序控制器为例来说明的时序信号产生器的组成。
5.2.2时序信号产生器各种计算157微程序控制器中使用的时序信号产生器的结构图如图5.5所示,它由时钟脉冲源、环行脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成。
微程序控制器中使用的时序信号产生器的1581.时钟脉冲源时钟脉冲源用来为环行脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成,其输到送至环行脉冲发生器。2.环行脉冲发生器环行脉冲发生器的作用是产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所需要的节拍脉冲。环行脉冲发生器有两种形式,一种是采用普通计数器,一种是采用循环移位寄存器。由于前者容易在节拍脉冲上带来干扰毛刺,所以通常采用循环移位寄存器形式。
1.时钟脉冲源159图5.6是一种典型的环行脉冲发生器及其译码逻辑,它采用循环移位寄存器形式。
图5.6是一种典型的环行脉冲发生器及其译码逻辑,1603.节拍脉冲和读/写时序的译码环行脉冲发生器及其译码逻辑的上半部示出了节拍脉冲和读/写时序的译码逻辑。
4.启停控制逻辑机器一旦接通电源,就会自动产生原始的节拍脉冲信号To1~To4。然而,只有在启动机器运行的情况下,才允许时序产生器发出CPU工作所需要的节拍脉冲T1~T4。为此需要由启停控制逻辑来控制To1~To4的发送。同样,对读/写时序信号也需要由启停逻辑加以控制。启停控制逻辑的核心是一个运行标志触发器(Cr),如图5.7所示。
3.节拍脉冲和读/写时序的译码161计算机组成原理与系统结构-第5章-控制器课件1625.2.3控制器的控制方式
控制器的控制方式是指控制不同操作序列时序信号的方法,主要有四种:1.同步控制方式在程序运行时任何指令的执行或指令中每个操作的执行都受事先确定的时序信号所控制,每个时序信号的结束就意味着一个操作或一条指令已经完成,随即开始执行后续的操作或自动转向下一条指令的执行。各指令所需要的时序信号由控制器统一发出,所有微操作都与时钟同步。
5.2.3控制器的控制方式控制器的控制1632.异步控制方式各操作不用统一的时序信号控制,而是每条指令、每个操作需要多少时间就占用多少时间,其特点是:当控制器发出进行某一操作控制信号后,等待执行部件完成该操作后发回的“回答”信号或“结束”信号,再开始新的操作,称为异步控制方式。
3.联合控制方式联合控制方式是同步控制和异步控制相结合的方式。
2.异步控制方式1644.人工控制为了调试机器和软件开发的需要,在计算机面板或内部往往设置一些开关或按键以进行人工控制。最常见的有Reset按键、连续执行或单条指令执行的转换开关、符合停机开关等。
4.人工控制1655.3微程序控制
5.3.1微程序概述
在计算机中,一条指令的功能是通过按一定次序执行一系列基本操作完成的,这些基本操作称为微操作。在微程序控制的计算机中,将由同时发出的控制信号所执行的一组微操作称为微指令,所以微指令就是把同时发出的控制信号的有关信息汇集起来而形成的。将一条指令分成若干条微指令,按次序执行这些微指令,就可以实现指令的功能。组成微指令的微操作,又称为微命令。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新时代青年的使命与担当2
- 善良的作文400字
- 新入职员工安全培训试题答案考点提分
- 会考实践科目实施方案
- 中国文具行业竞争态势分析
- 厂级职工安全培训试题加解析答案可打印
- 外科营养支持病人的护理
- 不用谢,爸爸教学课件
- 新工人入场安全培训试题及答案综合卷
- 新入职工入职安全培训试题参考答案
- 金融学基础(第二版)课件:信用和金融工具
- 主题一:自然之美 第2课《 重回侏罗纪-寻踪自贡恐龙博物馆》 课件
- 医疗机构处方审核规范解读
- DB32/T 4504-2023 扬州鹅种鹅全季节繁殖技术规程
- 2024年餐厅服务员(三级)职业鉴定考试题库(浓缩500题)
- 2024年高考体育单招考试政治重点知识点归纳总结(复习必背)
- 中国电力工业发展史
- 机械气道廓清技术临床应用专家共识(2023版)解读
- 内蒙古呼和浩特市回民区2023-2024学年九年级上学期期中考试历史试题(含答案)
- 2021年4月自考00409美育基础试题及答案含解析
- 原料粒度对超白玻璃熔化澄清质量的影响
评论
0/150
提交评论