组成原理第五章

上传人:w****i 文档编号:91843572 上传时间:2019-07-02 格式:PPT 页数:128 大小:2.08MB
返回 下载 相关 举报
组成原理第五章_第1页
第1页 / 共128页
组成原理第五章_第2页
第2页 / 共128页
组成原理第五章_第3页
第3页 / 共128页
组成原理第五章_第4页
第4页 / 共128页
组成原理第五章_第5页
第5页 / 共128页
点击查看更多>>
资源描述

《组成原理第五章》由会员分享,可在线阅读,更多相关《组成原理第五章(128页珍藏版)》请在金锄头文库上搜索。

1、第五章 中央处理器,5.1 CPU的组成和功能 5.2 指令周期 5.3 时序产生器和控制方式 5.4 微程序控制器 5.5 微程序设计技术 5.6 硬布线控制器 5.7 传统的CPU 5.8 流水CPU 5.9 RISC CPU 5.10 多媒体CPU 本章小结,5.1 CPU的组成和功能,5.1.1 CPU器的功能 当用计算机解决某个问题时,我们首先必须为它编写程序。程序是一个指令序列,这个序列明确告诉计算机应该执行什么操作,在什么地方找到用来操作的数据。一旦把程序装入内存储器,就可以由计算机来自动完成取出指令和执行指令的任务。专门用来完成此项工作的计算机部件称为中央处理器,通常简称CPU

2、。 CPU对整个计算机系统的运行是极其重要的,它具有如下四方面的基本功能: , 操作控制 一条指令的功能往往是由若干个操作信号的组合来实现的,因此,CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。 时间控制 对各种操作实施时间上的定时称为时间控制。在计算机中,各种指令的操作信号以及一条指令的整个执行过程都受到时间的严格定时。 数据加工 数据加工就是对数据进行算术运算和逻辑运算处理。, 指令控制 程序的顺序控制称为指令控制。由于程序是一个指令序列,这些指令的相互顺序不能任意颠倒,必须严格按程序规定的顺序进行。,5.1.2 CPU

3、的基本组成 CPU的基本部分由运算器、cache和控制器三大部分组成。,运算器 由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成,它是数据加工处理部件。相对控制器而言,运算器接受控制器的命令而进行动作 ,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。 运算器有两个主要功能: (1)执行所有的算术运算; (2)执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。,控制器 由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构”,即完成协调和指挥整个计算机系统的操作。它的主要功能有: (1)从内存

4、中取出一条指令,并指出下一条指令在内存中的位置; (2)对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作; (3)指挥并控制CPU、内存和输入/输出设备之间数据流动的方向,5.1.3 CPU中的主要寄存器 在CPU中至少要有六类寄存器。 这些寄存器用来暂存一个计算机字。根据需要,可以扩充其数目。下面详细介绍这些寄存器的功能与结构。 1.数据缓冲寄存器(DR) 数据缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中。 缓冲寄存器的作用是 : (1)作为CPU和内存、外部设备之间信息传送的中转站

5、; (2)补偿CPU和内存、外围设备之间在操作速度上的差别; (3)在单累加器结构的运算器中,数据缓冲寄存器还可兼作为操作数寄存器。,2.指令寄存器(IR) 指令寄存器用来保存当前正在执行的一条指令。 当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器。 指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作。 指令译码器就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。 操作码一经译码后,即可向操作控制器发出具体操作的特定信号。,3.程序计数器(PC) 为了保证程序能够连续地执行下去,CPU必须

6、具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用,所以通常又称为指令计数器。 在程序开始执行前,必须将它的起始地址,即程序的一条指令所在的内存单元地址送入PC,因此PC的内容即是从内存提取的第一条指令的地址。 当执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。 由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单的对PC加1。 ,4.地址寄存器(AR) 地址寄存器用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止 。 当CPU和内

7、存进行信息交换,即CPU向内存存/取数据时,或者CPU从内存中读出指令时,都要使用地址寄存器和数据缓冲寄存器。 同样,如果我们把外围设备的设备地址作为像内存的地址单元那样来看待,那么,当CPU和外围设备交换信息时,我们同样使用 地址寄存器和数据缓冲寄存器。 地址寄存器的结构和数据缓冲寄存器、指令寄存器一样,通常使用单纯的寄存器结构。 信息的存入一般采用电位-脉冲方式,即电位输入端对应数据信息位,脉冲输入端对应控制信号,在控制信号作用下,瞬时地将信息打入寄存器。,但是,当遇到转移指令如JMP指令时,那么后继指令的地址(即PC的内容)必须从指令的地址段取得。在这种情况下,下一条从内存取出的指令将由

8、转移指令来规定,而不是像通常一样按顺序来取得。 因此程序计数器的结构应当是具有寄存信息和计数两种功能的结构。,5.累加寄存器(AC) 累加寄存器AC通常简称为累加器,它是一个通用寄存器。 其功能是:当运算器的算术逻辑单元ALU)执行算术或逻辑运算时,为ALU提供一个工作区。 累加寄存器暂时存放ALU运算的结果信息。显然,运算器中至少要有一个累加寄存器。 目前CPU中的累加寄存器,多达16个,32个,甚至更多。当使用多个累加器时,就变成通用寄存器堆结构,其中任何一个可存放源操作数,也可存放结果操作数。在这种情况下,需要在指令格式中对寄存器号加以编址。,6.状态条件寄存器(PSW) 状态条件寄存器

9、保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,如运算结果进位标志(C),运算结果溢出标志(V),运算结果为零标 志(Z),运算结果为负标志(N)等等。这些标志位通常分别由 1位触发器保存。 除此之外,状态条件寄存器还保存中断和系统工作状态等信息,以便使CPU和系统能及时了解机器运行状态和程序运行状态。 因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器。,5.1.4 操作控制器与时序产生器 数据通路 是许多寄存器之间传送信息的通路。 信息从什么地方开始,中间经过哪个寄存器或多路开关,最后传送到哪个寄存器,都要加以控制。在各寄存器之间建立数据通路的任务,是由称为操作控制

10、器的部件来完成的。 操作控制器的功能,就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。 根据设计方法不同,操作控制器可分为时序逻辑型、存储逻辑型、时序逻辑与存储逻辑结合型三种。 1.硬布线控制器 是采用时序逻辑技术来实现的; 2.微程序控制器 是采用存储逻辑来实现的; 3.前两种方式的组合,5.2 指令周期,5.2.1 指令周期的基本概念 计算机所以能自动地工作,是因为CPU能从存放程序的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令,如此周而复始,构成了一个封闭的循环。除非遇到停机指令,否则这个循环将一直继续下去。,指

11、令周期 CPU从内存取出一条指令并执行这条指令的时间总和。 CPU周期 又称机器周期,CPU访问一次内存所花的时间较长,因此用从内存读取一条指令字的最短时间来定义。 时钟周期 通常称为节拍脉冲或T周期。一个CPU周期包含若干个时钟周期。 下图示出了采用定长CPU周期的指令周期示意图。 图5.3 指令周期,5.2.2 非访内指令的指令周期 CLA是一条非访内指令,它需要两个CPU 周期,其中取指令阶段需要一个CPU周期,执行指令阶段需要一个CPU周期。 1取指令阶段 (1)程序计数器PC的内容20(八进制)被装入地址寄存器AR; (2)程序计数器内容加1,变成21,为取下一条指令做好准备; (3

12、)地址寄存器的内容被放到地址总线上; (4)所选存储器单元20的内容经过数据总线,传送到数据缓冲寄存器DR; (5)缓冲寄存器的内容传送到指令寄存器IR; (6)指令寄存器中的操作码被译码或测试; (7)CPU识别出是指令CLA,至此,取指令阶段即告结束。 2执行指令阶段 (1)操作控制器送一控制信号给算术逻辑运算单元ALU; (2)ALU响应该控制信号,将累加寄存器AC的内容全部清零,从而执行了CLA指令。,5.2.3 取数指令的指令周期 ADD指令的指令周期由三个CPU周期组成。 1.送操作数地址 第二个CPU周期主要完成送操作数地址。在此阶段,CPU的动作只有一个,那就是把指令寄存器中的

13、地址码部分(30)装入地址寄存器,其中30为内存中存放操作数的地址。 2.两操作数相加 第三个CPU周期主要完成取操作数并执行加法操作中。在此阶段,CPU完成如下动作: (1)把地址寄存器中的操作数的地址(30)发送到地址总线上。 (2)由存储器单元30中读出操作数(6),并经过数据总线传送到缓冲寄存器。 (3)执行加操作:由数据缓冲寄存器来的操作数(6)可送往ALU 的一个输入端,已等候在累加器内的另 一个操作数(因为CLA指令执行结束后累加器内容为零)送往ALU的另一输入端,于是ALU将两数相加,产生运算结果为0+66。这个结果放回累加器,替换了累加器中原先的数0 。,5.2.4 存数指令

14、的指令周期 STA指令的指令周期由三个CPU周期组成。 1.送操作数地址 在执行阶段的第一个CPU周期中,CPU完成的动作是把指令寄存器中地址码部分的形式地址40装到地址寄存器。其中数字40是操作数地址。 2.存储和数 执行阶段的第二个CPU周期中,累加寄存器的内容传送到缓冲寄存器,然后再存入到所选定的存储单元(40)中。CPU完成如下动作: (1)累加器的内容(6)被传送到数据缓冲寄存器DR; (2)把地址寄存器的内容(40)发送到地址总线上,40即为将要存入的数据6的内存单元号; (3)把缓冲寄存器的内容(6)发送到数据总线上; (4)数据总线上的数写入到所选中的存储器单元中,即将数6写入

15、到存储器40号单元中。 注意 在这个操作之后,累加器中仍然保留和数6,而存储器40号单元中原先的内容被冲掉 。,5.2.5 空操作指令和转移指令的指令周期 第四条指令即“NOP”指令,这是一条空操作指令。 其中第一个CPU周期中取指令,CPU把23号单元的“NOP”指令取出放到指令寄存器,第二个CPU周期中执行该指令。 因译码器译出是“NOP”指令,第二个CPU周期中操作控制器不发出任何控制信号。NOP指令可用来调机之用。 JMP指令的指令周期由两个CPU周期组成。 1.第一个CPU周期(取指令阶段) CPU把24号单元的“JMP 21”指令取出放至指令寄存器, 同时程序计数器内容加1,变为2

16、5,从而取下一条指令做好准备。 2.第二个CPU周期(执行阶段) CPU把指令寄存器中地址码部分21送到程序计数器,从而用新内容21代替PC原先的内容25。 这样,下一条指令将不从25单元读出,而是从内存21单元开始读出并执行,从而改变了程序原先的执行顺序。 ,注意 执行“JMP 21”指令时,我们此处所给的四条指令组成的程序进入了死循环,除非人为停机,否则这个程序将无休止地运行下去,因而内存单元40中的和数将一直不断地发生变化。 当然,我们此处所举的转移地址21是随意的,仅仅用来说明转移指令能够改变程序的执行顺序而已。,5.2.7 用方框图语言表示指令周期 在进行计算机设计时,可以采用方框图语言来表示一条指令的指令周期。 方框 代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作。 菱形 通

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

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

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