您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 《计算机组成与体系结构》赵姝、陈洁、段震、陈付龙、刘路路-第5章-控制器
计算机组成与体系结构第五章控制器2020/6/81安徽师范大学计算机科学与技术系陈付龙5.1控制器的功能和基本结构5.2时序系统与控制方式5.3微程序控制5.4硬布线控制5.5典型微处理器本章习题目录23在冯•诺依曼体系的计算机中,包含运算器、控制器、存储器、输入设备和输出设备等五大部件。这些部件是怎么协调一致来进行工作的呢?比如运算器运算的时候,怎么确保一定会有数据送过来呢?2020/6/84控制器的基本功能就是把机器指令转换为按照一定时序控制机器各部件的工作信号,控制各部件产生一系列动作,完成指令所规定的任务。控制器是计算机的核心部件,计算机的所有硬件都是在控制器的控制下,完成程序规定的操作。5.1.1控制器的功能5.1.2控制器的组成5.1.3寄存器的组织5.1.4控制器的硬件实现5.1控制器的功能和基本结构55.1.1控制器的功能6指令执行过程都是在控制器的控制下进行的,因此控制器的功能首先应该包含如下3点:1.读取指令;2.分析指令;3.执行指令。除此之外,控制器还应该具有如下功能:4.控制程序和数据的输入与结果输出根据程序的安排或人的干预,在适当的时候向输入输出设备发出一些相应的命令来完成I/O功能。5.对异常情况和某些请求的处理来自外部的请求可能有2类:1)中断请求信号2)DMA请求信号5.1.2控制器的组成71.程序计数器(PC)存放待读取指令在内存中的地址信息。需要注意:我们经常说在顺序执行的情况下,要得到下一条指令的地址,则进行PC+1操作,这里的+1是指一个单位,即指令字的字长。2.指令寄存器(IR)用以存放当前正在执行的指令,以便在指令执行过程中,控制完成一条指令的全部功能,在指令执行期间,需要依据该指令的内容产生各种控制信号。3.指令译码器(ID)指令寄存器中保存的是完整的指令内容,指令分成操作码和操作数(地址码)两部分。4.地址形成部件对于指令中的地址码部分,需要使用地址形成部件,根据不同的寻址方式来形成操作数的有效地址。以上4个部件都属于指令部件,用于读取和分析指令。5.1.2控制器的组成85.脉冲源脉冲源产生一定频率和宽度的时钟脉冲信号作为整个机器的时钟脉冲,是机器周期和工作脉冲的基准信号。在机器刚加电时,还应产生一个总清信号(reset)。当计算机的电源接通之后,脉冲源按照固定的频率重复发出时钟脉冲序列,直至电源关闭。6.启停线路启停线路也称启停控制逻辑。电源接通后,脉冲源就发出一定频率的主时钟脉冲,但并不代表计算机已经开始工作。只有通过启停线路将计算机启动后,主时钟脉冲才允许进入,并启动节拍信号发生器开始工作。根据计算机的需要,启停线路保证可靠地送出或封锁时钟脉冲,控制时序信号的发生或停止,从而启动机器工作或使之停机。5.1.2控制器的组成97.节拍信号发生器节拍信号发生器又称脉冲分配器,用于将脉冲源产生的脉冲信号转换为各个机器周期中所需的节拍信号,控制计算机完成每一步操作。通过以上的时序部件,可以形成计算机工作的节拍。8.控制单元(CU)将指令发出的各种控制信号按节奏进行分配。当机器启动后,在节拍的作用下,控制单元根据当前正在执行的指令的需要,以及其他有关的因素,产生相应的时序控制信号,并根据被控功能部件的反馈信号调整时序控制信号。9.中断控制逻辑中断控制逻辑是用于控制中断处理的硬件逻辑。5.1.2控制器的组成10控制单元控制信号指令寄存器指令译码器脉冲源启停线路节拍发生器地址形成部件程序计数器+1指令地址码操作码reset状态寄存器中断控制逻辑控制总线反馈信号(来自控制总线)由上述9种部件可得到控制器的基本组成框图:5.1.3寄存器的组织11寄存器用于暂时保存运算和控制过程中的中间结果、最终结果以及状态信息。CPU中的寄存器一般可分为通用寄存器和专用寄存器两大类。1.通用寄存器通用寄存器(GR)用于传送和暂存数据,也可参与算术逻辑运算,并保及这算结果。除此之外还具有些特殊的功能,可由程序设计者根据需要进行指定。现代计算机中,一般会在CPU中设置几十个甚至上百个通用寄存器,形成通用寄存器组。在这种情况下,只有在指令中对寄存器进行编址,才能明确是对哪个寄存器的访问。5.1.3寄存器的组织12通用寄存器实例——累加寄存器(ACC)累加寄存器(ACC),简称累加器。累加器是专门存放算术或逻辑运算的一个操作数和运算结果的寄存器。累加器可用于暂时存放算术逻辑单元ALU运算的结果信息。运算器中至少要有一个累加器。5.1.3寄存器的组织132.专用寄存器专用寄存器是用于完成某个特殊功能的寄存器。CPU中至少应提供以下5种专用寄存器:1)程序计数器(PC)2)指令寄存器(IR)3)地址寄存器(AR)4)数据寄存器(DR)5)状态条件寄存器(PSW)以上5种专用寄存器连同累加寄存器,构成了CPU中必不可少的6种寄存器。5.1.3寄存器的组织14(1)程序计数器(PC)程序计数器(PC)使CPU能够确定下一条指令的地址。在程序开始执行时,需要将程序中第一条指令所在的内存单元地址送入PC,CPU依据PC中的地址信息取出指令加以执行。当程序顺序执行时,PC中的内容自动加1,指向下一条待执行指令的地址。当遇到需要改变程序执行顺序的情况时,如执行了转移指令,则依据指令中所提供的信息得到后继指令的地址,并将其送入PC,实现程序的转移。程序计数器一般同时具有寄存信息和计数两种功能。5.1.3寄存器的组织15(2)指令寄存器(IR)CPU根据PC中的信息取出指令,将其存放在指令寄存器中。在指令执行期间,IR中的内容不允许发生变化,以保证指令功能的正确和完整实现。(3)地址寄存器(AR)地址寄存器用于暂时存放当前CPU所访问的内存单元的地址。由于主存和CPU之间存在速度差异,因此需要使用地址寄存器来暂时保存当前的地址信息,直到主存完成读写操作。5.1.3寄存器的组织16(4)数据缓冲寄存器(DR)数据缓冲寄存器用于暂时存放由主存读出的一条指令或一个数据字;反之,当向内存写入一条指令或一个数据字时,也将它们暂时存放在数据缓冲寄存器中。当CPU和主存进行信息交换时,都需要使用地址寄存器和数据缓冲寄存器;如果将外围设备的设备地址当做内存的地址单元来看待,则CPU和外围设备交换信息时也需要使用地址寄存器和数据缓冲寄存器。数据缓冲寄存器有时也简称为数据寄存器。5.1.3寄存器的组织17(5)状态条件寄存器(PSW)状态条件寄存器用于保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C)、运算结果溢出标志(V)、运算结果为负标志(N)、运算结果为零标志(Z)等,这些标志位通常分别由一位触发器来保存。这些信息也称为程序状态字,表明程序和机器的运行状态,是参与控制程序执行的重要依据之一。除此之外,状态条件寄存器中还保存中断和系统工作状态等信息以便使CPU和系统能及时了解机器运行状态和程序运行状态。5.1.4控制器的硬件实现18在控制器的组成部件中,最核心也是最复杂的部分就是控制单元。根据控制单元产生信号的方式,可将控制器分为两大类,即硬布线控制器和微程序控制器。1.硬布线控制器设计思想:如果将译码信号、时序信号和反馈信号看作电路的输入,将控制单元产生的操作控制信号看作电路的输出,控制单元的设计就变成了一个普通的组合逻辑电路设计问题。此时可依据输入和输出之间的关系,得到每个输出信号的逻辑表达式,并通过门电路予以实现。5.1.4控制器的硬件实现192.微程序控制器设计思想:从某种意义上说,可以理解为是用软件程序设计的思想来解决硬件设计问题。计算机在接受机器指令后,需要完成一系列操作,即“指令—一组操作”。如果将其与“程序—一组指令”对照,则可将这组操作事先编写成类似于指令的形式(称为微指令),从而将执行一条指令转变为执行事先设计好的若干条微指令。5.2.1指令周期和机器周期5.2.2节拍和脉冲5.2.3多级时序系统5.2.4控制器的控制方式5.2时序系统与控制方式205.2.1指令周期和机器周期21指令周期CPU每取出并执行一条指令,都要完成一系列的操作,这一系列操作所需的时间称为一个指令周期。或者说,指令周期是取出并执行一条指令的时间。机器周期机器周期也称为CPU周期,通常用内存中读取一个指令字所需要的最短时间来规定机器周期。一般将一个指令周期划分为多个机器周期,每个机器周期完成一个功能相对独立的基本操作,如取指周期、取数周期、执行周期等。5.2.2节拍和脉冲221.节拍把一个机器周期分为若干个相等的时间段,每个时间段对应一个电位信号,称为节拍电位信号。一个节拍的宽度取决于CPU完成一次微操作所需要的时间。不同机器周期所需要的节拍数不同。为了确定所需节拍的数量,一般有以下几种方法:1)统一节拍法2)分散节拍法3)延长节拍法5.2.2节拍和脉冲231)统一节拍法统一节拍法中,所有机器周期所需要的节拍数量是相同的。以最复杂的机器周期为准来确定节拍的数量,同时以最复杂的微操作来确定每个节拍所需时间的长短。这种方法采用统一的具有相等时间间隔和相同数目的节拍,使得所有机器周期的长度都是相等的,因此也称为定长CPU周期。2)分散节拍法根据每个机器周期的实际需安来安排节拍数量,提高利用率。这种方法也称为不定长CPU周期。3)延长节拍法照顾多数机器周期的需求,选取适当的节拍数作为基本节拍数。对于比较复杂的机器周期,难以在基本节拍数之内完成全部微操作,可延长1~2个节拍。这种方法也称为中央控制和局部控制相结合的方法。控制简单,但利用率低利用率高,但管理复杂折中方法5.2.2节拍和脉冲242.脉冲节拍是一种电位信号,表示当前所处的位置。在节拍中执行的一些微操作需要同步定时脉冲。为此,在一个节拍中需设置1个或多个工作脉冲,以保冲触发器可靠,稳定地翻转。3.微型计算机中的处理方式在微型计算机中,为简化设计,往往不再单独设置节拍,而是直接使用时钟信号。时钟信号的一次变化周期称为时钟周期,时钟信号的频率即通常所说的CPU主频。时钟周期是与节拍相对应的。5.2.2节拍和脉冲25使用机器周期、节拍和脉冲可形成三级时序系统。如果是在微型计算机中,时序系统会略有不同,称为时钟周期时序系统。一个指令周期中包含若干个机器周期,一个机器周期中包含若干个时钟周期,每个时钟周期对应图5.2中的节拍Ti。一个指令周期中包含若干个机器周期,一个机器周期中包含若干个节拍电位,一个节拍电位中包含1个或多个工作脉冲。在机器周期之间、节拍电位之间和工作脉冲之间是紧密相连的,不允许存在空隙。5.2.3多级时序系统26M1T1T2T3T4P(脉冲)M2机器周期机器周期5.2.4控制器的控制方式27控制器控制一条指令执行的过程实质上是一次执行一个确定的微操作序列的过程,这在硬布线控制器和微程序控制器中是一样的。通常将如何形成不同微操作序列所采用的时序控制方式称为控制器的控制方式,常见的有以下4种:1)同步控制2)异步控制3)联合控制4)人工控制5.2.4控制器的控制方式281.同步控制方式同步控制方式下,任何一条已定的指令在执行时所需的机器周期数和节拍数都是固定不变的。根据不同情况,同步控制方式可选用之前介绍的统一节拍法、分散节拍法和延长节拍法来确定机器周期。(1)采用完全统一的机器周期执行各种不同的指令。(2)采用不定长机器周期。(3)中央控制与局部控制结合。5.2.4控制器的控制方式29图5.3采用统一节拍法的同步控制方式图5.4采用分散节拍法的同步控制方式5.2.4控制器的控制方式302.异步控制方式每条指令、每个微操作需要多少时间就占用多少时间,不采用统一的周期或节拍来控制,当控制器发出进行某一微操作的控制信号后,等待执行部件完成该操作后发回“回答”信号或“结束”信号,再开始新的微操作,称为异步控制方式。在异步控制方式中,CPU没有空闲等待的状态,但需要采用各种应答电路,因此控制比较复杂。3.联合控制方式将同步控制和异步控制相结合,对不同指令的各个微操作实行大部分统一、小部分区别对待的方式,称为联合控制方式。
本文标题:《计算机组成与体系结构》赵姝、陈洁、段震、陈付龙、刘路路-第5章-控制器
链接地址:https://www.777doc.com/doc-5748025 .html