【文档说明】计算机组成原理5课件.ppt,共(82)页,261.001 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-76251.html
以下为本文档部分文字说明:
1第5章中央处理器5.1CPU的功能和组成5.2指令周期5.3时序产生器和控制方式5.4微程序控制器×5.5微程序设计技术5.6硬连线控制器5.7流水CPU5.8RISCCPU5.9多媒体CPU5.10CPU性能评价25.1CPU的功能和组成5.1.1CPU的功能5.1.2C
PU的基本组成5.1.3CPU中的主要寄存器5.1.4操作控制器与时序产生器35.1.1CPU的功能•一旦把程序装入内存储器,就可以由计算机来自动完成取出指令和执行指令的任务•专门用来完成此项工作的计算机部件称为中央处理器,通常简称CPU4•CPU具有如下四方面的基本功能:
–指令控制•程序的顺序控制,称为指令控制•保证机器按顺序执行程序是CPU的首要任务–操作控制•CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作–时间控
制•对各种操作实施时间上的定时,称为时间控制–数据加工•数据加工就是对数据进行算术运算和逻辑运算处理•完成数据的加工处理,是CPU的根本任务55.1.2CPU的基本组成•CPU由运算器、cache和控制器三大部分组
成•CPU模型:–P128图5.16•控制器–由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成–完成协调和指挥整个计算机系统的操作–控制器的主要功能有:1.从内存中取出一条指令,并指出下一条指令在内存中的位置2.对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作3
.指挥并控制CPU、内存和输入/输出设备之间数据流动的方向7•运算器–由算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器组成–是数据加工处理部件–运算器接受控制器的命令而进行动作,是执行部件–运算器有两个主要功能:1.执行
所有的算术运算2.执行所有的逻辑运算,并进行逻辑测试85.1.3CPU中的主要寄存器1.数据缓冲寄存器(DR)2.指令寄存器(IR)3.程序计数器(PC)4.地址寄存器(AR)5.通用寄存器(R0-R3)6.状态条件寄存器(
PSW)9•在CPU中至少要有六类寄存器:•指令寄存器(IR)•程序计数器(PC)•地址寄存器(AR)•数据缓冲寄存器(DR)•通用寄存器(R0-R3)•状态条件寄存器(PSW)–这些寄存器用来暂存一个计算机字
–根据需要,可以扩充其数目101.数据缓冲寄存器(DR)•数据缓冲寄存器用来暂时存放由内存储器读出的一条指令或一个数据字•反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中112.指令寄存器(IR)•指令寄存
器用来保存当前正在执行的一条指令•当执行一条指令时,先把它从内存取到缓冲寄存器中,然后再传送至指令寄存器•为了执行任何给定的指令,必须对操作码进行测试,以便识别所要求的操作,指令译码器就是做这项工作的•操作码一经译码后,即可向操作控制
器发出具体操作的特定信号123.程序计数器(PC)•通常又称为指令计数器•在程序开始执行前,PC的内容即是从内存提取的第一条指令的地址•当执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要
执行的下一条指令的地址134.地址寄存器(AR)•地址寄存器用来保存当前CPU所访问的内存单元的地址•由于在内存和CPU之间存在着操作速度上的差别,所以必须使用地址寄存器来保持地址信息,直到内存的读/写操作完成为止145.通用寄存器(R0-R3)•其功能是:当运算器的算术逻辑单元(
ALU)执行算术或逻辑运算时,为ALU提供一个工作区,暂时存放ALU运算的结果信息156.状态条件寄存器(PSW)•状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,这些标志位通常分别由1位触发器保存•状态条件寄存器还保存中断和系统工作状态等信
息•因此,状态条件寄存器是一个由各种状态条件标志拼凑而成的寄存器165.1.4操作控制器与时序产生器•通常把许多寄存器之间传送信息的通路称为数据通路•在各寄存器之间建立数据通路的任务,是由称为操作控制器的部件来完成的•操作控制器的功能,就是根据
指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制17•根据设计方法不同,操作控制器可分为时序逻辑型、存储逻辑型、时序逻辑与存储逻辑结合型三种–第一种称为硬布线控制器,它是采用时序逻辑
技术来实现的;–第二种称为微程序控制器,它是采用存储逻辑来实现的;–第三种是前两种方式的组合18•操作控制器产生的控制信号必须定时,还必须有时序产生器•时序产生器的作用,就是对各种操作实施时间上的控制195.2指令周
期5.2.1指令周期的基本概念×5.2.2CLA指令的指令周期×5.2.3ADD指令的指令周期×5.2.4STA指令的指令周期×5.2.5NOP指令和JMP指令的指令周期5.2.6用方框图语言表示指令周期205.2.1指令周期的基本概念•取指令-执行指令序列–CP
U从存放程序的内存里取出一条指令并执行这条指令;紧接着又是取指令,执行指令……,如此周而复始,构成了一个封闭的循环–除非遇到停机指令,否则这个循环将一直继续下去–其过程如P160图5.2所示21•指令周期–CPU每取出并执行一条指令,都要完成一系列的操作,这一系列操作
所需的时间通常叫做一个指令周期–指令周期是取出并执行一条指令的时间–各种指令的指令周期是不尽相同的22•CPU周期–指令周期常常用若干个CPU周期数来表示–CPU周期也称为机器周期–由于CPU内部的操作速度较快,而CPU访问一次内存所花的
时间较长,因此通常用内存读取一条指令字的最短时间来规定CPU周期–一条指令的取出阶段(通常称为取指)需要一个CPU周期时间23•时钟周期–一个CPU周期时间包含有若干个时钟周期–时钟周期(通常称为节拍脉冲或T周期)是处理操作的最基本单位–
这些时钟周期的总和则规定了一个CPU周期的时间宽度24•采用定长CPU周期的指令周期示意图–P160图5.325•取出和执行任何一条指令所需的最短时间为两个CPU周期–任何一条指令,它的指令周期至少需要两个CPU周期–而复杂一些的指令周期,则需要更多的
CPU周期26•五条典型指令组成的一个程序–程序:•P161表5.1–取指和执行过程:275.2.6用方框图语言表示指令周期•在进行计算机设计时,可采用方框图语言来表示一条指令的指令周期–方框•代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作–菱形•表示某种判别或测试,不过
时间上它依附于紧接它的前面一个方框的CPU周期,而不单独占用一个CPU周期28–公操作符号“~”•表示一条指令已经执行完毕,转入公操作•所谓公操作,就是一条指令执行完毕后,CPU所开始进行的一些操作,这些操作主要是CPU对外设请求的处理•如果外围设备没有向
CPU请求交换数据,那么CPU又转向内存取下一条指令29•用方框图语言表示机器指令周期–把前面的五条典型指令加以归纳,用方框图语言表示指令周期–P169图5.14,CAI演示30例题•P169例131【例1】如图所示为双总线结构机器的数据通路,IR为指令寄存器,PC
为程序计数器(具有自增功能),M为主存(受R/信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有控制信号,例如yi表
示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微
操作控制信号序列。W32【解】“ADDR2,R0”指令是一条加法指令,参与运算的两个数放在寄存器R2和R0中,指令周期流程图包括取指令阶段和执行指令阶段两部分。根据给定的数据通路图,“ADDR2,R0”
指令的详细指令周期流程图如图所示,图的右边部分标注了每一个机器周期中用到的微操作控制信号序列。335.3时序产生器和控制方式5.3.1时序信号的作用和体制5.3.2时序信号产生器5.3.3控制方式345.3.1时序
信号的作用和体制•CPU中有一个时序信号产生器,发出时序信号•机器一旦被启动,即CPU开始取指令并执行指令时,操作控制器就利用定时脉冲的顺序和不同的脉冲间隔,有条理、有节奏地指挥机器的动作,给计算机各部分提供工作所需的时间标志•计算
机的协调动作需要时间标志,而时间标志则是用时序信号来体现的355.3.2时序信号产生器•时序信号产生器的功能是用逻辑电路来实现时序•硬布线控制器的时序电路比较复杂,而微程序控制器的时序电路比较简单×1.时钟源×2.环形脉冲发生器×3.节拍脉冲和
存储器读/写时序的译码×4.启停控制逻辑365.3.3控制方式•控制不同操作序列时序信号的方法,称为控制器的控制方式•常用的有同步控制、异步控制、联合控制三种方式,其实质反映了时序信号的定时方式37(1)同步控制①定义:②特点:有明显时
序时间划分,③优缺点:时序关系简单,时序划分规整,控制不复杂;时间安排不合理。④应用场合:用于CPU内部、设备内部、系统总线操作控制逻辑易于集中,便于管理。时钟周期时间固定,各步操作的衔接、各部件之间的数据传送受严格同步定时控制。各项操作受统一时序
控制。在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变由CPU或其他设备提供38(2)异步控制各项操作按不同需要安排时间,不受统一时序控制。特点是:每条指令、每个操作控制信号需要多少时间就占用多少
时间这意味着每条指令的指令周期可由多少不等的机器周期数组成①定义:39②特点:无统一时钟周期划分,各操作间的衔接和各部件之间的信息交换采用异步应答方式。40时间安排紧凑、合理;控制复杂。③优缺点:④应用场合:用于异步总线
操作(各挂接部件速度差异大,传送时间不确定,传送距离较远)。41(3)联合控制方式–同步控制和异步控制相结合425.4微程序控制器×5.4.1微命令和微操作×5.4.2微指令和微程序×5.4.3微程序控制器原理框图×5.4.4微程序举例×5.4.5CPU
周期与微指令周期的关系×5.4.6机器指令与微指令的关系43•微程序控制器具有规整性、灵活性、可维护性等一系列优点,因而在计算机设计中逐渐取代了早期采用的硬布线控制器,并已被广泛地应用•在计算机系统中,微程序设计技术是利用软件方法来设计硬件的一门技术44•微程序控制器的基本思想–仿照通常
的解题程序的方法,把操作控制信号编成微指令,存放到一个只读存储器里–当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作45微命令和微操作微命令:控制部件通过控制线向执
行部件发出的各种控制命令。微操作:执行部件接受微命令后所进行的操作。相容性的微操作:是指在同时或同一个CPU周期内可以并行执行的微操作。相斥性的微操作:是指不能在同时或同一个CPU周期内可以并行执行的微操作。46微指令周期等于读出微命令的时间加上执行改微指令的时间。为保证整个机器控制信号的同步,
一般将微指令周期的时间设计的恰好与CPU周期时间相等。47•微指令与微程序–一条机器指令是由若干条微指令组成的序列来实现的,这个微指令序列通常叫做微程序–一条机器指令对应着一个微程序,而微程序的总和便可实现整个的指令系统485.
6硬布线控制器1.基本思想×2.指令执行流程×3.微操作控制信号的产生491.基本思想•基本思想–硬布线控制器是早期设计计算机的一种方法–这种方法是把控制部件看作为产生专门固定时序控制信号的逻辑电路,而此逻辑电路以使用最少元件和取得最高操作速度为设计目标–一旦
控制部件构成后,除非重新设计和物理上对它重新布线,否则要想增加新的控制功能是不可能的–这种逻辑电路是一种由门电路和触发器构成的复杂树形逻辑网络,故称之为硬布线控制器50•特点–与微程序控制相比,硬布线控制的速度较快,主
要取决于逻辑电路的延迟–因此,近年来在某些超高速新型计算机结构中,又选用了硬布线控制器,或与微程序控制器混合使用515.7流水CPU5.7.1并行处理技术5.7.2流水CPU的结构5.7.3流水线中的主要问题5.7.4奔腾CPU
525.7.1并行处理技术•早期的计算机采用的是串行处理,计算机的各个操作只能串行地完成,即任一时刻只能进行一个操作•而并行处理则使得以上各个操作能同时进行,从而大大提高了计算机的速度•广义地讲,并行性有着两种含义:–一是同时性,指两个以上事件在同一时刻发生–二是并发性,指两个以上事
件在同一时间间隔内发生53•计算机的并行处理技术概括起来主要有三种形式:–时间并行–空间并行–时间并行+空间并行54时间并行•指时间重叠•让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度•时间并行性概念的实现方式就是采用流水处理部件
–是一种非常经济而实用的并行技术,能保证计算机系统具有较高的性能价格比•目前的高性能微型机几乎无一例外地使用了流水技术55空间并行•指资源重复•以“数量取胜”为原则来大幅度提高计算机的处理速度•空间并行技术主要体现在多处理器系统和多计算机系统56时间并行+空间并行•指时
间重叠和资源重复的综合应用•既采用时间并行性又采用空间并行性,带来的高速效益是最好的•奔腾CPU采用了超标量流水技术,在一个机器周期中同时执行两条指令,因而既具有时间并行性,又具有空间并行性575.7.2流水CPU的结构1.流水计算机
的系统组成2.流水CPU的时空图3.流水线分类581.流水计算机的系统组成•现代流水计算机的系统组成原理示意图–P192图5.3359•CPU按流水线方式组织,通常由三部分组成:–指令部件–指令队列–执行部件•这三个功能部件可以组成一个3级流水线60–指
令部件•指令部件本身又构成一个流水线,即指令流水线,由取指令、指令译码、计算操作数地址、取操作数等几个过程段组成–指令队列•指令队列是一个先进先出(FIFO)的寄存器栈,用于存放经过译码的指令和取来的操作数,也是由若干个
过程段组成的流水线–执行部件•执行部件可以具有多个算术逻辑运算部件,这些部件本身又用流水线方式构成61•为了使存储器的存取时间能与流水线的其他各过程段的速度相匹配,一般都采用多体交叉存储器62•执行段的速度匹配问题–通常
采用并行的运算部件以及部件流水线的工作方式来解决–一般采用的方法包括:1.将执行部件分为定点执行部件和浮点执行部件两个可并行执行的部分,分别处理定点运算指令和浮点运算指令2.在浮点执行部件中,又有浮点加法部件和浮点乘/除部件,它们也可以同时执行不同的指令
3.浮点运算部件都以流水线方式工作632.流水CPU的时空图•为了实现流水,首先把输入的任务(或过程)分割为一系列子任务,并使各子任务能在流水线的各个阶段并发地执行•当任务连续不断地输入流水线时,在流
水线的输出端便连续不断地吐出执行结果,从而实现了子任务级的并行性64•流水计算机的时空图–P193图5.34–CAI演示65•图5.34(a)表示流水CPU中一个指令周期的任务分解–假设指令周期包含取指令(IF)、指令译码(ID)、执行运算(EX)、结果写回(WB)四个子
过程(过程段)–一个流水线由一系列串联的过程段组成–各个过程段之间设有高速缓冲寄存器,以暂时保存上一过程段子任务处理的结果–在统一的时钟信号控制下,数据从一个过程段流向相邻的过程段66•图5.34(b)表示非流水计
算机的时空图–上一条指令的四个子过程全部执行完毕后才能开始下一条指令–每隔4个机器时钟周期才有一个输出结果67•图5.34(c)表示流水计算机的时空图–上一条指令与下一条指令的四个子过程在时间上可以重叠执行–当流水线满载时,每一个时钟周期就可以输出一个
结果68•图5.34(d)表示超标量流水计算机的时空图–一般的流水计算机只有一条指令流水线,称为标量流水计算机–所谓超标量流水,是指它具有两条以上的指令流水线–当流水线满载时,每一个时钟周期可以执行2条指
令–超标量流水计算机是时间并行技术和空间并行技术的综合应用693.流水线分类•一个计算机系统可以在不同的并行等级上采用流水线技术•常见的流水线形式:–指令流水线–算术流水线–处理机流水线70•指令流水线–指指令步骤的并行–将指令流
的处理过程划分为取指令、译码、取操作数、执行、写回等几个并行处理的过程段•算术流水线–指运算操作步骤的并行•处理机流水线–又称为宏流水线,指程序步骤的并行–由一串级联的处理机构成流水线的各个过程段,每台处理机负责某一特定的任务–应用在多机系统中715.7.3
流水线中的主要问题•要使流水线具有良好的性能,必须使流水线畅通流动,不发生断流•但由于流水过程中会出现以下三种相关冲突,实现流水线的不断流是困难的1.资源相关2.数据相关3.控制相关721.资源相关•所谓资源相关,是指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突73
2.数据相关•在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的•由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突743.
控制相关•控制相关冲突是由转移指令引起的•当执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流75例题:P195例5【例4】流水线中有三类数据相关冲突:写后读(RAW)相
关;读后写(WAR)相关;写后写(WAW)相关。判断以下三组指令各存在哪种类型的数据相关。(1)I1:ADDR1,R2,R3;(R2)+(R3)->R1I2:SUBR4,R1,R5;(R1)-(R5)->R4(2)I3:STAM(x),R3;(R3)->M(x),M(x)
I4:ADDR3,R4,R5;(R4)+(R5)->R3(3)I5:MULR3,R1,R2;(R1)×(R2)->R3I6:ADDR3,R4,R5;(R4)+(R5)->R3【解】•第(1)组指令中,I1指令运算结果应先写入R1,然后在I2指令中读出R1内容。由于I2指令进入流水线,变成
I2指令在I1指令写入R1前就读出R1内容,发生RAW相关。•第(2)组指令中,I3指令应先读出R3内容并存入存储单元M(x),然后在I4指令中将运算结果写入R3。但由于I4指令进入流水线,变成I4指令在I
3指令读出R3内容前就写入R3,发生WAR•第(3)组指令中,如果I6指令的加法运算完成时间早于I5指令的乘法运算时间,变成指令I6在指令I5写入R3前就写入R3,导致R3的内容错误,发生WAW相关。765.7.4奔腾CPU1.Pentium的技术性能×2.奔腾CPU的结构框图
771.Pentium的技术性能•Pentium是Intel公司生产的超标量流水处理器•CPU内部的主要寄存器宽度为32位,故认为它是一个32位微处理器,但它通向存储器的外部数据总线宽度为64位•CPU外部地址总线宽度是36位,但一般使用32位•CPU内部分别设置指令ca
che和数据cache,外部还可接L2cache78•CPU采用U、V两条指令流水线,能在一个时钟周期内发射两条简单的整数指令,也可发射一条浮点指令•操作控制器采用硬布线控制和微程序控制相结合的方式。大多数简单指令用硬布线控制实现,在一个时钟周期内执行完毕。对微程序
实现的指令,也在2-3个时钟周期内执行完毕•Pentium具有非固定长度的指令格式,具有CISC和RlSC两者的特性,被看成为一个CISC结构的处理器795.8RISCCPU5.8.1RISC机器的特点×5.8.2RISCCPU
实例805.8.1RISC机器的特点•第一台RISC(精简指令系统计算机)于1981年在美国加州大学伯克利分校问世•RISC的三个基本要素:1.一个有限的简单的指令集2.CPU配备大量的通用寄存器3.强调对指令流水线的优化•RISC的目标决不是简
单的缩减指令系统,而是使处理器的结构更简单,更合理,具有更高的性能和执行效率,并降低处理器的开发成本81•基于三要素的RISC机器的特征是:1.使用等长指令2.寻址方式少且简单,绝不出现存储器间接寻址方式3.只有取数指令、存数指令访问存储器,绝
不出现SS型指令4.指令数目一般少于100种5.控制器多采用硬布线方式,以期更快的执行速度6.平均而言,所有指令的执行时间为一个处理时钟周期7.指令格式中,用于指派整数寄存器的个数不少于32个,用于指派浮点数寄存器的个数不
少于16个8.强调通用寄存器资源的优化使用9.支持指令流水并强调指令流水的优化使用10.RlSC技术的复杂性于它的编译程序,因此软件系统开发时间比CISC机器长82•RISC与CISC的主要特征对比–P199表5.6比较内容CISCRISC指令系统复杂、庞大简单、精简指令数目一般
大于200一般小于100指令格式一般大于4一般小于4寻址方式一般大于4一般小于4指令字长不固定等长可访存指令不加限制只有取数、存数指令各种指令使用频率相差很大相差不大各种指令执行时间相差很大绝大多数在一个周期内完成优化编译实现很难较
容易程序源代码长度较短较长控制器实现方式绝大多数为微程序控制绝大多数为硬布线控制软件系统开发时间较短较长