《计算机原理》课件第6章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《计算机原理》课件第6章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机原理 计算机 原理 课件
- 资源描述:
-
1、第6章 控 制 器第第6章章 控控 制制 器器6.1 CPU的功能和组成6.2 控制器的时序系统和控制方式6.3 指令流程图6.4 微程序控制器6.5 组合逻辑控制器6.6 门阵列控制器6.7 流水线处理技术6.8 多媒体技术6.9 典型CPU简介关联习题 第6章 控 制 器6.1 CPU的功能和组成的功能和组成6.1.1 CPU的功能的功能CPU由运算器和控制器两大部分组成,其基本任务是执行程序,而程序是指令的有序集合,因此,CPU的基本功能体现在两个方面:一方面是如何保证程序中指令执行顺序的正确,另一方面是如何实现一条指令的功能。其具体功能如下:第6章 控 制 器1指令控制指令控制按照冯诺
2、依曼“存储程序”的思想,程序被装入主存后,计算机应能按其预先设定的要求有条不紊地执行指令,才可完成具体的任务。因此,严格控制程序的执行顺序,是CPU的首要任务。指令控制能实现对程序中指令的执行顺序进行控制。程序中的指令有两大类,一是顺序执行的指令,二是转移指令。对于顺序执行的指令,当CPU执行完此指令后,该指令下面的一条指令便是CPU要执行的下一条指令,由于程序的连续存放,可以通过设置一个程序计数器PC或指令指针(Program Counter)进行控制,且PC具有自动加1的功能,因此,PC始终指向的是下一条CPU将要执行的指令。第6章 控 制 器对于转移指令,当CPU执行完此指令后,将转移的
3、目的指令所在的地址送PC,便可实现转移指令的正确转移。第6章 控 制 器2操作控制操作控制一条指令的执行要涉及到计算机中的若干个部件。指令不同,控制完成指令的功能所涉及的部件不同,控制这些部件就需要各种不同的操作控制信号。因此,一条指令对应一组操作控制信号。指令不同,指令的操作码不同,指令所对应的一组操作控制信号也就不同。因此,操作控制是对指令的操作码进行译码来产生该指令所需要的一组操作控制信号。第6章 控 制 器3时序控制时序控制在操作控制的基础上,需要对各种操作控制信号的产生时间、稳定时间、撤销时间及相互之间的关系进行严格控制,因为指令所对应的一组操作控制信号并不是同时作用于相应的各个部件
4、。这种对操作控制信号施加时间上的控制,称为时序控制。实现时序控制需要设置时序产生器和操作控制器。只有严格地进行时序控制,才能保证各功能部件组合构成有机的计算机系统。第6章 控 制 器4数据加工数据加工数据加工是对数据进行算术运算和逻辑运算,它是CPU的根本任务,也是运算器的基本功能,而运算器是CPU组成的一个部分,因此,数据加工不可避免地会涉及到运算器和寄存器。第6章 控 制 器6.1.2 CPU的基本组成的基本组成CPU是运算器和控制器的总称,它既具有运算器的功能,又具有控制器的功能。欲实现控制器的功能,则控制器应由程序计数器PC(Program Counter)、指令寄存器IR(Instr
5、ack Register)、指令译码器、时序产生器和操作控制器组成。欲实现运算器的功能,则运算器应由算术逻辑单元ALU、累加寄存器(简称累加器AC(Accunulator)、数据缓冲寄存器DR(Data Register)、状态寄存器SR(Stru Register)组成。CPU主要组成部件逻辑结构示意图如图6-1所示。第6章 控 制 器图6-1 CPU主要组成部件逻辑结构示意图第6章 控 制 器1指令的执行过程指令的执行过程1)取指令根据指令所在存储器单元的地址(由PC提供),将PC中的指令地址送AR,此后,PC自动加1,AR的内容经地址总线和地址译码器选中指令所在的存储单元,CPU发出读命
6、令,将该指令从主存中取出,经数据总线送到DR中,由于所取的是指令而不是数据,因此,再将DR中的指令送往IR,从而完成取指令。由此可见:(1)所有指令的取指令阶段是完全相同的;(2)CPU当前正在执行的指令是指令寄存器中的指令;(3)PC始终指向的是下一条CPU将要执行的指令。第6章 控 制 器2)分析指令对IR中指令的操作码进行译码分析,产生该指令所需要的一组操作控制信号(译码信号),再经时序产生器和操作控制器形成时序控制信号(控制命令);通过对IR中指令的地址码进行分析,形成操作对象(操作数)的有效地址,并按此地址去读取操作数或形成转移地址,以实现程序的转移。第6章 控 制 器3)执行指令时
7、序控制信号(控制命令)作用于相应的各个部件,使各个部件产生相应的动作,从而完成指令的功能,并根据需要,保存操作结果。一条指令执行结束,若没有异常情况和特殊请求,则按程序顺序,再取出并执行下一条指令。控制器就是按取指令、分析指令、执行指令这样的步骤进行周而复始的控制过程,直到完成程序所规定的任务并停机为止。第6章 控 制 器2CPU内部寄存器内部寄存器CPU内部寄存器用以保存运算和控制过程中的中间结果、最后结果和控制状态信息。不同的CPU,其内部寄存器可能有所差异,但不论是哪一种CPU,其内部寄存器至少要有以下六类寄存器。第6章 控 制 器1)数据缓冲寄存器DR数据缓冲寄存器用来暂时存放由内存储
8、器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中。数据缓冲寄存器的作用是:(1)作为CPU和内存、外部设备之间信息传送的中转站;(2)补偿CPU和内存、外围设备之间在操作速度上的差别;(3)在单累加器结构的运算器中,数据缓冲寄存器还可兼作操作数寄存器 第6章 控 制 器2)指令寄存器IR指令寄存器用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。指令译码器就是做这项工作
9、的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后,即可向操作控制器发出具体操作的特定信号。第6章 控 制 器3)程序计数器PC为了保证程序中指令执行顺序的正确,CPU必须设置一个计数器,用来指示CPU将要执行的下一条指令,起这种作用的计数器通常称为指令计数器,简称PC。在程序开始执行前,必须将程序的起始地址装入PC,即程序的一条指令所在内存单元地址送入PC。当执行指令时,CPU将自动修改PC的内容,使其保持的总是将要执行的下一条指令的地址,由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单地对PC加1。但是,当遇到转移指令时,后继指令的地址(即PC的内容)必须从
10、指令的地址码取得,在这种情况下,下一条从内存取出的指令将由转移指令来规定,不同于顺序指令只是简单地对PC加1。因此,程序计数器的结构应当是具有寄存和计数两种功能的结构。第6章 控 制 器4)地址寄存器AR地址寄存器用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以,必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止。当CPU访问主存时,即CPU对主存存/取数据或者CPU从主存中读出指令时,都要使用地址寄存器和数据缓冲寄存器。同样,当CPU访问外设时,同样要使用地址寄存器和数据缓冲寄存器。第6章 控 制 器5)累加器AC累加器是累加寄存器的简
11、称,是一个通用寄存器。其功能是:当运算器进行算术或逻辑运算时,累加器一方面作为ALU的一个输入端,为ALU提供一个操作数;另一方面作为ALU的一个输出端,用来存放ALU运算的结果。显然,运算器中至少要有一个累加器,当运算器内部只有一个累加器时,我们称之为单累加器结构的运算器或CPU。目前,CPU中的累加器多达16个、32个甚至更多,当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个既可存放源操作数,也可存放目的操作数。第6章 控 制 器6)状态寄存器SR状态寄存器也称为程序状态字,简称PSW,用来保存CPU在执行算术指令和逻辑指令时建立的各种条件码内容,如运算结果进位标志(C)、运算结果
12、溢出标志(V)、运算结果为零标志(Z)、运算结果为负标志(N)等等。这些标志位通常分别由 1位触发器保存。除此之外,状态寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器工作状态和程序运行状态。因此,状态寄存器是一个由各种状态条件标志拼凑而成的寄存器。第6章 控 制 器3控制器的分类控制器的分类根据时序控制信号或控制命令产生方法的不同,可以将控制器分为组合逻辑控制器、微程序控制器和门阵列控制器三种。本章将重点讨论组合逻辑控制器和微程序控制器。1)组合逻辑控制器组合逻辑控制器是采用组合逻辑技术来产生控制命令,是分立元件时代的产物,其最大优点是速度快,但结构不规整,设计、调试和
13、维修较困难,难以实现设计自动化,目前只有一些巨型机和RISC机为了追求高速度仍采用组合逻辑控制器。第6章 控 制 器2)微程序控制器微程序控制器是采用存储逻辑来产生控制命令,它是将控制命令代码化,机器指令转化成一段微程序,并存于控制存储器中,通过执行控存中的微程序来产生机器指令所需的一组控制命令。它与组合逻辑控制器的设计思想截然不同,微程序控制器设计规整,调试、维修以及更改、扩充指令方便,易于实现自动化设计,已成为当前控制器的主流。3)门阵列控制器门阵列控制器实质上也是一种组合逻辑控制器,但它与传统的组合逻辑控制器不同,它是程序可编的,并吸收了前两种控制器的设计思想,被广泛应用于嵌入式系统。第
14、6章 控 制 器6.2 控制器的时序系统和控制方式控制器的时序系统和控制方式6.2.1 有关周期的基本概念有关周期的基本概念1.指令周期指令周期指令周期是指从取指令、分析指令到执行完该指令所需的全部时间。一个指令周期一般包含若干个CPU周期。由于指令的操作功能不同,有的简单,有的复杂,因此不同指令的指令周期不尽相同。第6章 控 制 器2.CPU周期周期一个CPU周期又称一个机器周期,与机器的一个基本操作相对应,结合机器的基本操作,一般机器的CPU周期有取指周期、取数周期、执行周期、中断周期等。由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,因此,通常用从内存读取一条指令字的最
15、短时间来规定CPU周期。3节拍节拍在一个CPU周期内要完成一个基本操作,由于一个基本操作又包含若干个微操作,这些微操作不但需要占用一定的时间,而且有一定的先后次序。因此,需要把一个CPU周期等分成若干个时间小段,每一小段称为一个节拍,一个节拍对应一个电位信号,控制一个或几个微操作的执行。第6章 控 制 器4脉冲脉冲在一个节拍内,有时还需要设置一个或几个工作脉冲,工作脉冲也称为时钟周期或T周期。上述指令周期、CPU周期、时钟周期间的关系如图6-2所示。一个指令周期包含两个CPU周期,每个CPU周期包含四个时钟周期。第6章 控 制 器图6-2 指令周期、CPU周期、时钟周期间的关系第6章 控 制
16、器6.2.2 时序信号与体制时序信号与体制时序信号是对操作控制信号实施时间控制而形成的信号,是利用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的动作,规定在这个脉冲到来时做什么,在那个脉冲到来时又做什么,给计算机各部分提供工作所需的时间标志。为此,需要采用周期、节拍、脉冲多级时序体制。第6章 控 制 器至于计算机内存中所存放的二进制形式的指令和数据的区分问题,我们可以从两个层面上进行区分,一是从时间上来说,取指令是发生在指令周期的第一个CPU周期中,即发生在“取指令”阶段,而取数据是发生在指令周期的后面几个CPU周期中,即发生在“执行指令”阶段;二是从空间上来说,如果取出的代码是指
17、令,那么一定送往指令寄存器,如果取出的代码是数据,那么一定送往运算器。由此可见,时间控制对计算机来说是十分重要,计算机的协调动作需要时间标志,而时间标志则是用时序信号来体现的,控制器所产生的各种控制信号都是时间因素(时序信号)和空间因素(部件)的函数。第6章 控 制 器时序信号最基本的体制是电位脉冲制,该体制下最容易理解的例子是寄存器之间的数据传送,数据加在触发器的电位输入端,用电位的高低来表示数据是“1”还是“0”;而打入数据的控制信号加在触发器的时钟输入端,且要求打入数据的控制信号到来之前,电位信号必须是稳定的,只有电位信号先建立,打入到寄存器中的数据才是可靠的。在组合逻辑控制器中,时序信
18、号的体制往往采用周期节拍脉冲三级体制,即一个CPU周期包含多个节拍,每个节拍又允许包含多个脉冲。图6-3中,一个CPU周期包含4个节拍,每个节拍又包含1个脉冲。第6章 控 制 器图6-3 节拍与脉冲之间的时序关系第6章 控 制 器在微程序控制器中,时序信号比较简单,一般采用节拍脉冲二级体制。第6章 控 制 器6.2.3 时序信号发生器时序信号发生器时序信号发生器的电路是不相同的,组合逻辑控制器的时序电路复杂,而微程序控制器的时序电路简单,但无论哪一种控制器,其内部的时序信号发生器最基本的构成都是一样的,是由时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成的,如图6-4
19、所示。第6章 控 制 器图6-4 时序信号发生器组成第6章 控 制 器1时钟源时钟源时钟源用来为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。它通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成,其输出送至环形脉冲发生器。2环形脉冲发生器环形脉冲发生器环形脉冲发生器用来产生一组有序的间隔相等或不等的脉冲序列,以便通过译码电路来产生最后所需的节拍脉冲。为了在节拍脉冲上不带干扰毛刺,环形脉冲发生器通常采用循环移位寄存器形式。典型的环形脉冲发生器及其译码逻辑如图6-5所示。第6章 控 制 器图6-5 环形脉冲发生器及其译码逻辑第6章 控 制 器假设时钟源产生的时钟信号为5MHz(时钟周期
20、200ns),当控制台发出总清信号使触发器C4置“1”时,门3打开,第一个正脉冲f通过门3,使触发器C1C3清“0”。经过半个脉冲周期(100ns)的延迟,触发器C4由“1”状态翻到“0”状态,再经半个脉冲周期(100ns)的延迟,第二个正脉冲的上升沿(即第一个f的后沿)作移位信号,使触发器C1C3变为“100”状态。此后,第二个f、第三个f连续通过门2形成移位信号,使触发器C1C3相继变为“110”、“111”状态。当C3变为“1”状态时,对应第四个正脉冲,其状态便反映到触发器C4的D端,因而第四个正脉冲的下降沿又将C4置“1”,门3再次打开,第五个正脉冲便通过门3,形成清“0”脉冲,使触发
21、器C1C3清“0”。于是下一个循环再度开始。其过程如图6-3所示。第6章 控 制 器3节拍脉冲和读节拍脉冲和读/写时序的译码写时序的译码节拍脉冲和读/写时序的译码逻辑如图6-5的上半部所示。假设一个CPU周期产生4个等间隔的节拍,根据图6-3节拍与脉冲之间的时序关系,其译码逻辑可表示为:第6章 控 制 器需要注意的是:(1)节拍脉冲间的逻辑关系。图6-6 启停控制逻辑节拍、与图6-3中的节拍T1、T2、T3、T4在逻辑关系上完全相同,只是后者是经过启停控制逻辑中的与门输出的。(2)节拍脉冲宽度。一个CPU周期为800ns,在周期节拍脉冲三级体制中,一个CPU周期包含4个节拍,每一个节拍包含一个
22、脉冲(时钟周期),因此,节拍、的脉冲宽度均为200 ns。01T02T03T01T02T03T04T第6章 控 制 器(3)读/写控制信号。由图6-3可以看出,信号RD/WE的持续时间为一个CPU周期。根据图6-4,可知信号RD/WE受控于信号RD/WE,只有当RD/WE有效后才会产生RD/WE,结合图6-6,读/写信号RD/WE是RD/WE经过启停控制逻辑中的与非门输出的。第6章 控 制 器4启停控制逻辑启停控制逻辑启停控制逻辑电路如图6-6所示。其核心是触发器Cr,当触发器Cr为“1”时,原始的节拍、和读/写时序信号RD/WE通过门电路转变为CPU真正需要的节拍T1、T2、T3、T4和读/
23、写时序信号RD/WE;否则,当触发器Cr为“0”时,将关闭时序信号发生器。为了保证时序信号发生器产生完整的脉冲,在T1的前沿启动时序信号发生器,在T4的后沿关闭时序信号发生器,在触发器Cr的下面加上一个RS触发器,且用作为触发器Cr的时钟控制端。01T02T03T04T第6章 控 制 器6.2.4 控制方式控制方式控制方式是指对各种操作在时间上所进行的控制,其实质反映了时序信号的定时方式。常用的控制方式有同步控制、异步控制和联合控制。1同步控制方式同步控制方式是指任何指令的执行或指令中各个具体操作的执行均由确定统一的时间基准信号所控制,尽管指令功能不同,但在同步控制方式下,指令在执行时所需的机
24、器周期数和时钟周期数都固定不变,即完全同步控制方式。此方式的优点是时序关系简单、控制方便,但会造成大量时间的浪费。这是因为大多数简单指令的很多节拍是不用的,处于等待状态。因此,在实际应用中往往采取折中的方案。常用以下几种方法。第6章 控 制 器1)采用中央控制与局部控制相结合的方法根据周期节拍脉冲三级体制,一个CPU周期包含多个节拍。大多数指令的CPU周期均采用统一的节拍,称为中央控制;对于少数在统一节拍内不能完成的指令,需要延长节拍或增加节拍,使之在延长节拍内完成指令,并再返回到中央控制,这种通过延长节拍或增加节拍来控制完成指令称为局部控制。第6章 控 制 器2)采用不同的机器周期和延长节拍
25、的方法不同指令的指令周期可以划分为若干个CPU周期,如取指、取数、执行等周期,根据执行指令的需要,可选取不同的CPU周期数。在节拍安排上,每个CPU周期划分为固定的节拍,每个节拍都可根据需要延长一个节拍。第6章 控 制 器3)采用分散节拍的方法分散节拍方法是指操作需要多少节拍,时序发生器就产生多少节拍,这样可以做到完全避免节拍轮空,是提高指令运行速度的有效方法,但这种方法会使时序发生器复杂化,同时也无法解决节拍内那些简单操作因等待所浪费的时间。第6章 控 制 器2异步控制方式异步控制方式异步控制方式是根据每条指令或每个操作的实际需要,需要多少时间就分配多少时间。这意味着每条指令的指令周期可由不
展开阅读全文