《计算机组成原理》-电子教案-马辉 第6章

上传人:E**** 文档编号:89409881 上传时间:2019-05-24 格式:PPT 页数:88 大小:348KB
返回 下载 相关 举报
《计算机组成原理》-电子教案-马辉 第6章_第1页
第1页 / 共88页
《计算机组成原理》-电子教案-马辉 第6章_第2页
第2页 / 共88页
《计算机组成原理》-电子教案-马辉 第6章_第3页
第3页 / 共88页
《计算机组成原理》-电子教案-马辉 第6章_第4页
第4页 / 共88页
《计算机组成原理》-电子教案-马辉 第6章_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《《计算机组成原理》-电子教案-马辉 第6章》由会员分享,可在线阅读,更多相关《《计算机组成原理》-电子教案-马辉 第6章(88页珍藏版)》请在金锄头文库上搜索。

1、第6章 CPU的功能与结构,本章导读,本章对CPU的情况进行整体说明,首先介绍CPU的功能和基本组成结构,其中包括CPU的内部结构框图,内部寄存器结构,中断情况和CPU内的数据通路结构。然后对CPU的外部特性进行介绍,并举例说明CPU的引脚情况与功能定义。,本章要点,CPU的功能 CPU的基本结构 数据通路的功能 数据通路的基本结构,6.1 CPU的功能,中央处理器(CPU)是计算机系统的核心组成部件,它包括运算器和控制器两大部分。在早期的计算机中,器件集成度低,运算器与控制器是两个相对独立的部分。随着大规模、超大规模集成电路技术的发展,逐渐趋向于将CPU作为一个整体。在微型计算机中,已将CP

2、U集成为一块芯片,称为微处理器。,计算机能自动执行存放在主存中的程序。程序是指令的有序集合,计算机每执行一段程序,就可完成一定的功能。具体执行过程是:计算机从主存中取出一条指令,按指令操作码及指令中的其他有关信息执行以实现指令所要求的功能,然后按顺序递增或转移指令要求的目的地址,从主存中取出下一条指令重复上述过程,直至停机指令为止。,中央处理器就是专门用于完成上述功能的计算机部件。CPU在计算机系统的运行中起着重要的作用,它具有如下四个方面的基本功能。 (1)指令控制,即控制指令的执行顺序。CPU必须对指令的执行顺序进行控制,正确产生下一条指令在内存中的地址,以保证指令序列正确执行。,(2)操

3、作控制,即指令内操作信号的控制。一条指令的功能一般需要若干个操作信号的组合来实现,因此,CPU必须管理并产生由内存取出的每条指令所要求的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。,(3)时间控制,计算机中各指令的操作信号均受时间的严格定时,一条指令的整个执行过程也受到时间限制。而CPU对各种操作实施时间上的定时,就称为时间控制。 (4)数据加工,即对数据进行算术和逻辑运算,完成加工处理,这是CPU的根本任务。,另外,CPU通常还要求能实现异常处理,如运算中的溢出等错误情况处理,以及处理外部设备的服务请求等。这些功能归纳起来实质上只有两个:一是执行程序,完成某

4、一任务;二是对异常的处理。执行程序即一条条执行指令。异常处理由中断机构完成,最终也要执行指令,所以处理指令和中断是中央处理机的最本质特点。,6.2 CPU的基本结构,6.2.1 CPU的结构框图 6.2.2 CPU的寄存器结构 6.2.3 控制单元与中断系统 6.2.4 CPU内部数据通路,6.2.1 CPU的结构框图,根据CPU的功能不难设想,要处理指令,CPU内就要有一个寄存器存放指令的地址以找到指令并实现取指令,还要有控制部件能分析指令的功能并发出指令需要的操作控制信号,还要有相应的算术逻辑运算部件ALU完成具体的运算。要处理异常情况和特殊请求,就必须有中断系统。可见,CPU可由四大部分

5、组成。,图6-1 CPU内部结构框图,在图6-1中,考虑到CPU内部各部件间有数据信息的传送,所以也画出了内部的数据总线。 其中ALU部分的内容已在第3章作了详细说明,在此,我们用图6-2来表示基本的运算器部件结构。,图6-2 基本的运算部件结构,基本运算部件包括ALU、多路选择器和移位器。沿数据流向,大致分为三级:第一级为多路选择器,决定哪一种数据送往ALU;第二级为ALU,由功能选择命令选择ALU完成的运算功能;第三级是移位器,由输出选择对输出结果进行移位控制。,6.2.2 CPU的寄存器结构,CPU中的寄存器大致可分两类:一类属用户可见寄存器,用户可对这类寄存器编程使用,或通过优化使CP

6、U因使用这类寄存器而减少对主存的访问次数;另一类属控制和状态寄存器,用户不可对这类寄存器编程,它们被控制部件使用,以控制CPU的操作,也可被带有特权的操作系统程序使用,从而控制程序的执行。,1、用户可见寄存器 通常CPU执行机器语言访问的寄存器为用户可见寄存器,按其特征又可分为以下几类: (1)通用寄存器 通用寄存器可由程序设计者指定许多功能,可用于存放操作数,也可作为满足某种寻址方式所需的寄存器。,(2)数据寄存器 数据寄存器用于存放操作数,其位数应满足多数数据类型的数值范围,有些机器允许使用两个连续的寄存器存放双倍字长的值。还有些机器的数据寄存器只能用于保存数据,不能用于操作数地址的计算。

7、,(3)地址寄存器 地址寄存器用于存放地址,其本身可以具有通用性,也可用于特殊的寻址方式。地址寄存器的位数必须足够长,以满足足够大的寻址范围。,(4)条件代码寄存器 这类寄存器中存放条件码,它们对用户来说是部分透明的。条件码是CPU根据运算结果由硬件设置的位,常用的有N、Z、V、C等。条件码可被测试,作为分支运算的依据。此外,有些条件码可被直接置位或复位。,2、控制和状态寄存器 CPU中还有一类寄存器用于控制CPU的操作或运算。在一些机器里,大部分这类寄存器对应用程序员是透明的。如以下四种寄存器在指令执行过程中起重要作用。,MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址。 MDR:

8、存储器数据寄存器,用于存放欲存入存储器中的数据或最近从存储器中读出的数据。,PC:程序计数器,存放欲执行的指令的地址,通常具有计数功能。当遇到转移类指令时,PC的值可被修改。 IR:指令寄存器,存放当前欲执行的指令。,通过这四个寄存器,CPU可以和主存交换信息。例如,将下一条指令的地址从PC送至MAR,启动存储器作读操作,存储器就可将指定地址单元内的指令读至MDR,再由MDR送至IR。,3、寄存器结构举例 (1)8086的寄存器组织 8086是Intel公司的16位微处理器,它内部包含有4组16位寄存器,它们是通用寄存器组、指针和变址寄存器组、段寄存器组、指令指针及标志位寄存器。如图6-3所示

9、。,图6-3 8086CPU的寄存器组,通用寄存器组是AX,BX,CX和DX,用以存放16位数据或地址。也可分成8个8位寄存器来使用,低8位是AL,BL,CL和DL,高8位是AH,BH,CH和DH,此时只能存放8位数据,不能存放地址。为了缩短指令代码的长度,在8086中,某些通用寄存器用作专门用途。如AX作累加器,CX在串指令中作计数寄存器等。,指针和变址寄存器包括基址指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI。这组寄存器存放的内容通常是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。,8086CPU可直接寻址1MB的存储器空间,直接寻址需

10、要20位地址码,而所有内部寄存器都是16位的,只能直接寻址64KB,因此对存储器采用分段技术来解决此问题。,系统将1MB的存储空间分成若干逻辑段,每段最长64KB,然后设置了4个16位的段寄存器,由它们给出相应逻辑段的首地址(高16位),称为“段基址”,与段内偏移地址组合形成20位物理地址。这些段寄存器是代码段寄存器CS,数据段寄存器DS,堆栈段寄存器SS和附加段寄存器ES。,指令指针寄存器IP用来存放将要执行的下一条指令在现行代码段中的偏移地址。在程序运行时,能自动修改,使其始终指向下一条将要执行的指令的地址。8086程序不能直接访问IP,但可以通过某些指令修改IP的内容。如中断或子程序调用

11、指令。 标志寄存器PSW用来存放运算结果的特征,常用作后继条件转移指令的转移控制条件。,(2)Pentium机的寄存器组织 Pentium微处理器配备的寄存器种类和数量非常多,按其类型可分为如下几类。 、基本体系结构寄存器。包括通用寄存器、指令指针寄存器、标志寄存器和段寄存器。,、系统级寄存器。包括系统寄存器和系统地址寄存器。 、调试和测试寄存器。 、浮点寄存器。包括数据寄存器、状态字寄存器、指令和数据指针寄存器、控制字寄存器和标记字寄存器。 图6-4给出了16个应用程序员可用的寄存器。,图6-4 Pentium应用寄存器组,从图中可以看出,通用寄存器共有8个,全部是32位寄存器,它们是EAX

12、,EBX,ECX,EDX,ESP,EBP,ESI和EDI。它们又含有与8086兼容的8个16位寄存器及8个8位寄存器。指令指针寄存器也为32位,称为EIP,指向要执行的下一条指令的偏移地址。,标志寄存器EFLAGS为32位,包含若干状态标志和控制标志,状态标志由微处理器执行某种操作后自动设置,其低位部分与8086兼容。 段寄存器除了原有的CS,DS,SS和ES外,又增加了两个新的段寄存器FS和GS,它们也是附加数据段寄存器,都仍为16位寄存器。,(3)MC68000的寄存器组织 Motorola MC68000的寄存器设计方案是将它的寄存器分成了8个数据寄存器(D0D7)和9个地址寄存器(A0

13、A7、A7),它们都是32位的,如图6-5所示。,图6-5 MC68000的寄存器,其中8个数据寄存器主要用于数据存储管理,在寻址方式中仅用作变址寄存器。寄存器允许8位、16位和32位的数据格式运算,这些都可以由操作码确定。,在地址寄存器中存放着32位的地址,其中两个寄存器(A7和A7)也用作堆栈指针。但它们一个用于操作系统,一个用于用户,具体的选择取决于当前的执行模式。不过在某一时刻这两个寄存器只能使用一个。 MC68000还包括一个32位程序计数器PC和一个16位的状态寄存器。,6.2.3 控制单元与中断系统,控制单元CU产生CPU所需要的全部微操作控制信号。所谓微操作,即计算机中最简单的

14、、不能再分解的操作,如打开某一个控制门或寄存器的清除脉冲等。复杂操作是通过执行一系列微操作实现的。,控制单元CU根据指令译码器产生的操作控制信号、时序部件产生的时序信号以及其他控制条件可以产生整个机器所需要的全部操作控制信号。这些控制信号引向计算机各个部件,以控制各部件执行指令所要求的功能。该控制单元部件可由硬布线方式或微程序方式实现,这将在后面章节详细介绍。,中断是现代计算机中非常重要的处理机制,在本书第10章中会对I/O中断作较详细的讨论,实际上I/O中断只是CPU众多中断中的一种。引起中断的因素很多,为了处理各种中断,CPU内通常设有处理中断的机构中断系统,以解决各种中断的共性问题。,对

15、中断系统来说,主要需要解决以下几个问题: (1)各中断源如何向CPU提出中断请求; (2)当多个中断源同时提出中断请求时,中断系统如何确定优先响应哪个中断源的请求; (3)CPU在什么条件、什么时候、以什么方式来响应中断;,(4)CPU响应中断后如何保护现场; (5)CPU响应中断后,如何停止原程序的执行而转入中断服务程序的入口地址; (6)中断处理结束后,CPU如何恢复现场,如何返回到原程序的间断处; (7)若在中断处理过程中又出现了新的中断请求,CPU该如何处理。,对这些问题的解决,只有在中断系统中配置相应的硬件和软件,才能完成整个中断处理任务。但在有些计算机中,把部分相应的功能分散在了各

16、接口电路中实现。 下面以Pentium微处理器的中断处理为例,来了解中断系统的特点。,(1)中断和异常 有两类事件能引起Pentium挂起当前指令流的执行并响应事件:中断和异常。两种情况下处理器都要保存当前进程的上下文,并将转至一个预先定义的子程序来执行特殊的服务。中断(Interrupt)通常是由硬件信号产生的,并可出现在程序执行期间内的任何时刻。异常(Exception)是由软件产生的,是由执行指令所引发的。,Pentium有两类中断源和两类异常源。 中断包括可屏蔽中断和不可屏蔽中断。可屏蔽中断由处理器的INTR引脚接收信号。除非中断允许标志(IF)被置位,否则处理器不承认可屏蔽中断。不可屏蔽中断由处理器的NMI引脚接收信号。这类中断的认可不能被阻止。,异常包括处理器确定的异常和程序异常。处理器确定的异常是当试图执行一条指令而处理器遇到一个错误时此异常发生。程序异常是由一些指令(INTO、INT、BOUND等)引起的。,(2)中断类型表 Pentium的中断处理使用了中断向量表(interrupt vector table)。每一类中断都被指派了一个中断类型

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号