cpu工作原理PPT课件_第1页
cpu工作原理PPT课件_第2页
cpu工作原理PPT课件_第3页
cpu工作原理PPT课件_第4页
cpu工作原理PPT课件_第5页
已阅读5页,还剩132页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,1,第五章中央处理器CPU,计算机的工作过程是:加电产生RESET信号执行程序停机断电。计算机硬件的核心部件是CPU,它指挥计算机各硬件部件协同工作;而CPU的基本功能就是取指令并执行;CPU的全部设计都是围绕着指令系统来进行的。计算机中的所有工作全部都是通过指令系统中的指令来实现的。,.,2,5.1CPU的功能和组成,5.1.1CPU的功能取指令并执行是CPU的基本任务,而这项任务的完成要依赖计算机其它部件的支持。具体讲,CPU应具有以下4方面的功能:指令控制即控制程序按顺序执行。这是CPU的首要任务。操作控制一条指令的功能通常是由若干个操作控制信号的组合来实现,CPU管理并产生每条指令的操作控制信号,并将它们送往相应的部件。,.,3,时间控制由于各种操作在时间上是有序的,CPU应对各种操作实施时间上的定时。数据加工对数据进行算术和逻辑运算。,.,4,5.1.2CPU组成传统的CPU由两大部分组成,即运算器和控制器。但现在,随着集成电路技术的发展,早期放在CPU芯片外的一些逻辑功能部件,纷纷移入CPU内,因而使CPU的内部组成越来越复杂。目前CPU基本上可看成由运算器、Cache和控制器三大部分组成。,.,5,为教学目的,我们这里以执行指令为主线来介绍CPU,把它看成是运算器控制器,而且使用一个最基本的CPU模型。其基本构成如下:运算器:由ALU单元、通用寄存器、数据缓冲寄存器和状态条件寄存器组成,它是数据加工处理部件,受控制器控制。控制器:由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、地址寄存器(AR)、时序产生器和操作控制器组成。它协调和指挥整个计算机系统的操作。实际的CPU,还要有中断控制系统,总线控制逻辑等功能部件。,.,6,.,7,5.1.3CPU中的主要寄存器各种计算机的CPU可能有这样或那样的不同,但在CPU中至少要包括以下6类寄存器:缓冲寄存器(DR)暂存由内存读出或要写入内存的一条指令或一个数据。指令寄存器(IR)保存当前正在执行的一条指令。程序计数器(PC)存放将要执行的下条指令地址。,.,8,数据地址寄存器(AR)保存当前CPU所访问的内存单元的地址。通用寄存器(R0-R3)存放操作数及结果。状态字寄存器(PSW)保存操作完成后建立的各种条件码及中断和系统工作状态等信息。,.,9,5.1.4指令译码器对指令的操作码进行译码,以识别所要求的操作。其输入为指令的操作码字段,输出提供给操作控制器。5.1.5操作控制器与时序产生器时序产生器:产生计算机所需要的各种时序信号,以实现对各种操作的时间控制。操作控制器:根据指令和时序,产生所有指令所需要的所有操作控制信号。,.,10,根据设计方法不同,操作控制器可分为三种类型:时序逻辑型采用时序逻辑电路设计实现操作控制器。这种控制器称为硬布线控制器。存储逻辑型采用存储逻辑设计实现操作控制器。这种控制器称为微程序控制器。,.,11,5.2指令周期,5.2.1基本概念.指令周期:取出并执行一条指令的时间。CPU周期:又称为机器周期,若干个CPU周期构成一个指令周期。常用访问一次内存所花的时间来规定CPU周期。时钟周期:又称为T周期,若干个时钟周期构成一个CPU周期。它是处理操作的最小时间单位。,.,12,.,13,不同的指令,其指令周期不同。对于CPU周期,可以规定其为固定长度,也可以采用不固定长度。我们后面的讨论都建立在:假定CPU周期是固定长度,并以读取一个指令字的时间作为一个CPU周期。,.,14,5.2.2典型指令的指令周期设有一段程序:101MOVR0,R1;(R1)R0102LADR1,6;(6)R1103ADDR1,R2;(R1)+(R2)R2104STOR2,(R3)105JMP101;无条件转移到101单元106ANDR1,R3,.,15,一、MOV指令的指令周期MOV是一条RR指令,其指令周期需要2个CPU周期,一个CPU周期取指令,另一个CPU周期执行指令。在第一个CPU周期,CPU要做3件事:从指令存储器中的取出指令程序计数器PC加1对指令操作码进行译码具体的操作如下:PCABUS(I);PC1PC(M)IRIR操作码译码,识别MOV指令,.,16,在第二个CPU周期,CPU根据译码结果,进行指令所要求的操作。具体操作如下:送控制信号到ALUALU响应控制信号,将R1的内容送入R0,.,17,二、LAD指令的指令周期LAD指令是一条RS指令,其指令周期需3个CPU周期。各周期的具体操作如下:第一个CPU周期:取指令并译码,其操作与CLA的第一个CPU周期完全一样。第二个CPU周期:IR的地址码送AR第三个CPU周期:AR送ABUS(D)(M)送DRDR送R1,.,18,三、ADD指令的指令周期ADD指令是一条RR指令,其指令周期需2个CPU周期。各周期的具体操作如下:第一个CPU周期:取指令并译码第二个CPU周期:执行R1+R2,结果送R2,并置PSW,.,19,四、STO指令的指令周期STO指令是RS指令,其指令周期需3个CPU周期,具体操作如下:第一个CPU周期:取指令并译码第二个CPU周期:R3的内容送AR第三个CPU周期:AR送ABUS(D)R2内容送DBUS写存储器,.,20,五、JMP指令的指令周期JMP指令是一条无条件转移指令,它也是一条非访内指令,其指令周期需2个CPU周期,具体操作如下:第一个CPU周期:取指令并译码第二个CPU周期:IR中的地址部分送PC,.,21,5.2.3指令周期的描述一、方框图语言在进行计算机设计时,可使用方框图语言来描述指令的指令周期。,.,22,.,23,二、指令周期流程图基本上是以T周期为一方框。,.,24,例:已知双总线结构的机器的数据通路图,IR为指令寄存器,PC(自增)为程序计数器。已知指令:ADDR2,R0;R0R2R0SUBR1,R3;R3R1R3现要求画出各指令的指令周期流程图,并列出相应的操作控制信号。,.,25,5.3时序产生器和控制方式,5.3.1时序产生器一、时序信号的作用和体制1.时序信号的作用时序信号是计算机的作息时间表。计算机能有条不紊地工作,完全依赖于CPU的时序系统。,.,26,2.时序信号的体制基本体制是电位脉冲制。目前,计算机采用多级时序体制。硬布线控制器:主状态周期节拍电位节拍脉冲制。微程序控制器:节拍电位节拍脉冲制。通常一个节拍电位表示一个CPU周期的时间,一个节拍脉冲表示一个T周期的时间。,.,27,二、时序信号产生器1.时序信号产生器的功能能够提供给出各种时序信号。2.时序产生器的基本组成各种计算机的时序信号产生器是不同的,但其基本组成是类似的。,.,28,.,29,时钟脉冲源提供时钟脉冲信号,是频率稳定且电平匹配的方波时钟脉冲信号。通常由石英晶体振荡器和与非门组成的正反馈振荡电路组成。环形脉冲发生器产生一组有序的、间隔相等或不等的脉冲序列,以便通过译码电路产生所需的节拍。环形脉冲发生器一般采用循环移位寄存器电路。,.,30,节拍译码器通过该电路产生所需的节拍脉冲信号,它可由门电路组成。启停控制逻辑其核心是一个运行标志触发器Cr,当Cr为“1”时,处于运行状态,时序产生器提供时序信号;当Cr为“0”时,处于停机状态,时序产生器不提供时序信号。,.,31,.,32,3.时序产生器实例要求设计一个能产生4个节拍脉冲信号的时序产生器,4个节拍脉冲信号为T1、T2、T3和T4,它们的脉冲宽度一致。环形脉冲发生器可由一个4位移位寄存器组成。,.,33,.,34,.,35,节拍脉冲译码电路译码逻辑:T1*=C1T2*=C2T3*=C3T4*=译码电路可由4个与门组成。,.,36,启停控制逻辑启动:要求在第1个节拍脉冲前沿开始。停机:要求在第4个节拍脉冲结束后。,.,37,5.3.2控制器的控制方式不同的指令,不同的操作,其所需的时间不同,我们把控制不同操作序列时序信号的方法,称为控制器的控制方式。常用的控制方式有三种:同步控制、异步控制、联合控制。,.,38,一、同步控制方式同步控制方式是指:在任何情况下,已定的指令在执行时所需要的CPU周期数和时钟周期数都是固定不变的。在实际设计时,根据不同的情况,可选取如下方案:采用完全统一的CPU周期执行各种不同指令,即所有CPU周期具有相同的时钟周期数等长CPU周期。采用不定长CPU周期,将大多数操作安排在一个较短的CPU周期内完成,对某些时间紧张的操作,则延长CPU周期。中央控制与局部控制相结合,将大部分指令安排在固定CPU周期内完成,称中央控制;对少数复杂的指令采用另外的时序进行定时,称局部控制,.,39,二、异步控制方式每条指令,每个操作需要多长时间,就占用多长时间。控制器每发出一个控制信号后,就等待执行部件完成操作后的“回答”信号,得到“回答”信号后,再开始新的操作。部件间的同步用应答方式进行。,.,40,三、联合控制方式同步控制方式与异步控制方式相结合的方式。大部分操作都采用同步控制方式,对某些时间难以确定的操作,则采用异步控制方式。,.,41,5.4微程序控制器,微程序控制器:采用存储逻辑设计的操作控制器。微程序设计:是采用软件方法设计硬件的一门技术。微程序控制的基本思想:是仿照通常的解题程序的方法,把操作控制信号编成所谓的“微指令”,存放到一个只读存储器中。当机器运行时,一条又一条地读出这些“微指令”,从而产生全机所需要的各种控制信号,使相应的部件执行规定的操作。,.,42,5.4.1几个基本概念计算机硬件总体上可分成两大部分:控制部件和执行部件。,.,43,1.微命令和微操作微命令:控制部件通过控制线向执行部件发出的各种控制命令。微操作:执行部件接受微命令后所进行的操作。微操作是执行部件的最基本的操作,通常微操作可分为两种:相容性的微操作在同时或同一个CPU周期中可以并行执行的微操作。相斥性的微操作在同时或同一个CPU周期中不能同时进行的微操作。,.,44,2.微指令和微程序微指令:在一个CPU周期中,一组实现一定操作功能的微命令的组合,构成一条微指令。微指令由两部分构成:操作控制部分和顺序控制部分。操作控制部分用来给出管理和控制硬件工作的控制信号,顺序控制部分用来给出下一条微指令地址的信息。,.,45,微程序:由若干条微指令组成的微指令序列。一条机器指令的功能是由一个微程序实现的。微程序是一条一条执行的,故执行当前一条微指令时,必须指出其后继的微指令地址。3.控制存储器用来存放指令系统中全部机器指令所对应的微程序的存储器。,.,46,5.4.2微程序控制器微程序控制器相当于CPU中的操作控制器,其主要功能是产生全机所需的操作控制信号。微程序控制器主要由三大部分组成:控制存储器(CM)存放实现全部机器指令所对应的微程序。由只读存储器组成,要求速度快。微指令寄存器(uIR)存放由控存读出的一条微指令。地址转移逻辑承担提供下条微指令地址的工作。,.,47,.,48,5.4.3微程序举例已知某CPU模型及运算器结构,假设指令系统中有一条“十进制加法指令”,且a、b已放在R1、R2中,“6”已放在R3中,试针对这一条指令设计其微程序。设计过程如下:确定微指令格式微指令由两部分组成,操作控制字段和顺序控制字段。对于操作控制字段,最简单的办法是每个控制信号用一个二进制位表示。当该位为“1”时,定义为有此控制信号,当该位为“0”时,定义为没有此控制信号。,.,49,对于顺序控制字段,由两部分构成,判别测试位P1、P2和4位直接微地址。判别测试位用来说明如何给出下条微指令地址。这里规定:P10,P20时,下条微指令地址由直接微地址给出;P11,P20时,P1测试,据指令OP码修改直接微地址某些位,得到下条微指令地址;P10,P21时,P2测试,据状态标志位Cy的状态修改直接微地址中的某些位,得到下条微指令地址。,.,50,.,51,画出该指令的微程序流程图用方框图,每一方框代表一条微指令,方框右上角为该微指令的微地址,右下角为微指令中直接微地址部分的值。,.,52,.,53,编写微程序0000:000000000000111101000000001:010001001001000000000001001:010001001100000000100001010:01010010010000000001001,.,54,生成实际的操作控制信号LDIRLDIRT3PC+1PC+1T4LDR2LDR2T4,.,55,5.4.4CPU周期与微指令周期的关系微指令周期:取微指令并执行所需的时间。微指令执行有两种方式:串行方式取微指令与执行微指令在时间上是串行的。并行方式取微指令与执行微指令在时间上是并行的。,.,56,对于并行方式,取其中较长的做为微指令周期。,.,57,一般将CPU周期与微指令周期设计得一样长。,.,58,5.4.5机器指令与微指令的关系一条机器指令对应一个微程序,微程序由若干条微指令序列组成。机器指令是放在内存中,而微指令是放在CPU中的控制存储器中。控制存储器属于微程序控制器的一部分。,.,59,5.4.5微程序设计技术,微程序设计的关键是如何确定微指令的结构。设计微指令结构时,主要考虑以下几方面的问题:有利于缩短微指令字长有利于提高微程序的执行速度有利于减少控制存储器的容量有利于微程序设计的灵活性,.,60,一、微指令操作控制字段的设计操作控制字段用来给出微命令。目前常用的有三种设计该字段的方法。直接表示法操作控制字段中的每一位代表一个微命令。优点:简单、直观、速度快。缺点:微指令字长较长。,.,61,编码表示法把相斥性的微操作所对应的微命令编成一组,作为一个字段,用二进制编码来表示这些相斥性的微命令。优点:缩短了微指令的字长。缺点:增加了译码电路,速度稍有减慢;且微命令的表示不直观了。,.,62,混合表示法把直接表示法和编码表示法混合使用,以便综合考虑微指令字长,灵活性和执行速度等方面的要求。,.,63,二、顺序控制字段的设计微指令顺序控制字段的设计,实际上就是要解决下条微指令地址的问题。现行微指令:当前正在执行的微指令。现行微地址:现行微指令在控制存储器中的地址。后继微指令:现行微指令执行完后,下一条要执行的微指令。后继微地址:后继微指令在控制存储器中的地址。,.,64,目前,常用的顺序控制字段的设计方法主要有两种:计数器方式和多路转移方式。计数器方式这种方法与用程序计数器(PC)来产生机器指令地址的方法类似。顺序执行时,后继微地址由现行微地址加上一个增量来产生。非顺序执行时,由转移地址逻辑产生一个转移地址。这种方式中,微指令的顺序控制字段很短,仅有判别测试位。,.,65,.,66,uPC称为微程序计数器,存放后继微地址,其输入有4个来源:外来微地址,译码器输入,转移地址逻辑,计数器加“1”。uIR称为微指令寄存器,存放正在执行的微指令。指令译码器的输入为IR的操作码,其输出为后继微地址,可由ROM来构成。操作码作为ROM地址,对应单元放微地址。计数器方式的优点:顺序控制字段很短,微地址产生机构简单。缺点:多路并行转移功能差,转移灵活性差,速度慢。,.,67,多路转移方式一条微指令具有多个转移分支的能力称为多路转移。顺序执行时,后继微地址由微指令中的微地址给出。非顺序执行时,后继微地址是通过修改微指令中的微地址的若干位来给出的。,.,68,多路转移方式的优点:能以较短的顺序控制字段,实现多路并转,灵活性好,速度快。缺点:顺序控制字段较长。,.,69,.,70,例:微地址寄存器有6位(uA5uA0),当需要修改其内容时,可通过一位触发器的置“1”端将其置1。现有三种情况:执行”取指”微指令后,微程序按IR的OP字段(IR3IR0)进行16路分支。执行条件转移指令微程序时,按进位标志C的状态进行2路分支。执行控制台指令微程序时,按IR5、IR4的状态进行4路分支。请按多路转移方式设计微地址转移逻辑。,.,71,三、微指令格式微指令格式从总体上可分为两类:水平型微指令与垂直型微指令。1.水平型微指令在一条微指令中定义多个并行操作的微命令。2.垂直型微指令在微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能。,.,72,垂直型微指令格式举例:,.,73,3.水平型微指令与垂直型微指令的比较水平型微指令并行操作能力强,效率高,灵活性强;垂直型微指令这些方面差。水平型微指令执行一条指令的时间短;垂直型微指令则长。水平型微指令字长较长,微程序较短;垂直型微指令字长较短,微程序较长。水平型微指令编程复杂;垂直型微指令编程简单。,.,74,四、动态微程序设计微程序设计技术还有静态微程序和动态微程序之分。1.静态微程序设计对于一台计算机,只有一组微程序,且不能改变。2.动态微程序设计微程序和微指令可根据需要改变。这有两方面的含义。提供多套微程序,这样可根据不同应用要求使用不同微程序或者可以实现不同的指令系统,即计算机仿真。允许用户根据需要修改微程序,以扩充指令系统。,.,75,五、毫微程序设计的基本概念毫微程序是用来解释微程序的一种微程序。用来组成毫微程序的毫微指令就可看作是解释微指令的微指令。这种设计称为两级微程序设计。第一级是垂直型微指令组成的微程序,其微程序执行有严格的顺序,其微指令要包含后继地址控制。第二级是水平型微指令组成的微程序,其中的微指令具有并行操作能力,但不包含后继微地址控制。,.,76,六、微程序控制计算机的设计其设计主要围绕微程序控制器进行,设计过程如下:确定CPU结构确定指令系统分析指令执行过程设计微指令格式设计硬件操作控制信号画出微程序流程图编写微程序,并放入控制存储器。编制包含指令系统中各条指令的机器语言程序进行调试,编制测试程序进行测试。,.,77,5.5硬布线控制器,5.5.1基本原理,.,78,Cf(Im,Mi,Tk,Bj)逻辑网络即为硬布线控制器。,.,79,5.5.2基本方法把操作控制器看作是产生所要求的各种操作控制信号的逻辑电路,这些操作控制信号是按一定时间关系产生的。其设计目标是使用较少的元件,获得较快的速度。硬布线控制器的特点是速度快,但一旦设计好,想要修改或增加新功能几乎是不可能的;调试维护都很困难。,.,80,5.5.3硬布线控制器的设计其设计主要围绕组合逻辑线路进行。一、设计过程确定CPU结构确定指令系统分析指令执行过程写出各操作控制信号的逻辑表达式综合、化简、优化用电路实现调试、测试,.,81,二、设计举例已知某CPU结构,指令系统有两条指令ADDR2,R0和SUBR2,R3,试设计其硬布线控制器。,.,82,三、硬布线控制器与微程序控制器比较其差别主要归结为两点:1.实现微程序:电路规整,修改、维护、更新容易。硬布线:电路凌乱,修改、维护、更新困难。2.性能微程序:慢硬布线:快,.,83,5.6典型CPU,5.6.1M6800CPU这是一个典型的单总线结构的微处理器。5.6.2Intel8088CPU内部分成两部分:BIU与EU。采用了指令预取。5.6.3IBM370系列CPU大型机,可支持定点运算、浮点运算及十进制运算。5.6.4Intel486CPU把协处理器做到了CPU中;采用流水技术,达到基本指令在一个时钟周期内完成;内部包含了Cache。,.,84,5.7流水CPU,5.7.1并行处理技术现在,人们日益追求高速度,因此并行处理技术成为计算机的主流。并行性包含两方面的含义:同时性指两个以上的事件在同一时刻发生。并发性指两个以上的事件在同一时间间隔内发生。,.,85,计算机的并行处理技术可贯穿于信息加工的各个步骤和阶段,概括起来,主要有三种形式:时间并行指时间重叠,在并行性概念中引入时间因素。将一个事件的处理分成多个相互独立处理过程,让多个处理过程在时间上相互错开,即采用流水线处理部件。空间并行指资源重复,在并行概念中引入空间因素。即设置多个具有相同功能的硬件部件,以提高处理速度。如:多处理器系统和多机系统。时间并行空间并行指时间重叠和资源重复的综合应用。,.,86,5.7.2流水CPU一、流水CPU的组成按流水线方式组织的CPU通常由三大部分组成:指令部件、指令队列、执行部件。这三个功能部件可组成一个3级流水线。指令部件本身又构成一个流水线,即指令流水线,它由取指令、指令译码、计算操作数地址、取操作数等几个过程段构成。指令队列是一个先进先出的寄存器堆,用于存放经过译码的指令和取来的操作数。执行部件可以具有多个算术逻辑运算部件,这些部件本身又用流水线方式构成。,.,87,.,88,二、流水CPU的时空图假设指令周期包含4个子过程:取指令(IF)、指令译码(ID)、取操作数(OF)、进行运算,每个子过程称为过程段Si,这样一个流水线由一系列串联的过程段组成。各个过程段之间设有高速缓冲存储器,以暂存上一过程段子任务处理的结果。在统一的时钟信号控制下,数据从一个过程段流向相邻的过程段。,.,89,.,90,三、流水线性能分析在理想情况下,一条k段的流水线处理n个输入任务所需要的时间是:Tpk(n1)而在顺序处理时,完成n个任务所需要的时间是:Tsnk1.加速比SSTs/Tpnk/(kn1)2.吞吐率HHn/Tpnf/(kn1),.,91,三、流水线类型从应用上区分,流水线的类型可分为指令流水线、运算流水线和处理机流水线。指令流水线是指指令步骤的并行;运算流水线是指运算操作步骤的并行;处理机流水线是指程序步骤的并行。,.,92,从结构上区分,流水线可分为线性流水线和非线性流水线。线性流水线是指各段按流向线性连接的流水线;非线性流水线是指除按流向连接之外,还允许一些段之间出现前馈和反馈连接。,.,93,从功能上区分,流水线可分为静态流水线和动态流水线。静态流水线是指单一功能或具备多功能但每次只能实现一种功能的流水线。动态流水线是指每次完成的可以是不同的任务,即完成不同功能的数据可以在动态流水线中流动。,.,94,5.7.3流水线中的主要问题要使流水线具有良好的性能,必须使流水线畅通流动,不发生断流。但由于流水过程中会出现以下三种相关冲突,实现流水线不断流是困难的。这三种相关是资源相关、数据相关和控制相关。,.,95,1.资源相关指多条指令进入流水线后,在同一机器时钟周期内争用同一功能部件所发生的冲突。2.数据相关指程序中原有先后顺序的两条指令,它们要对同一操作数进行读写操作。通常有三类数据相关冲突:写后读(RAW)相关,读后写(WAR)相关,写后写(WAW)相关。,.,96,解决数据相关冲突可采用软件方法与硬件方法。软件方法是由优化的编译程序来完成,其基本思想是重排指令序列,拉开数据相关指令的距离。例:i1LoadR1,M(A)i2LoadR2,M(B)i3MulR5,R1,R2i4LoadR3,M(C)i5LoadR4,M(D)i6AddR2,R3,R4i7AddR2,R2,R5,.,97,重新排序:i1LoadR1,M(A)i2LoadR2,M(B)i3LoadR3,M(C)i4LoadR4,M(D)i5MulR5,R1,R2i6AddR2,R3,R4i7AddR2,R2,R5,.,98,硬件方法是借助硬件的支持来绕开或防止数据相关的出现。最简单的方法是设置若干运算结果缓冲寄存器,暂时保留运算结果,便于后续指令使用。,.,99,3.控制相关控制相关是由转移指令引起的。当执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令,也可能转移到新的目标地址,从而使流水线断流。为减小转移指令对流水线性能的影响,常采用以下两种转移处理技术:延迟转移法:由编译程序重排指令序列来实现,基本思想是“先执行再转移”。转移预测法:硬件方法实现,依据指令的过去行为来预测将来的行为。此外,还可采用两路指令预取队列缓冲器的方法。,.,100,i1LoadR1,M(A)i1LoadR2,M(B)i2LoadR2,M(B)i2DECR2i3DECR2i3BrZeroR2,i7i4BrZeroR2,i7i4LoadR1,M(A)i5LoadR3,M(C)i5Nopi6LoadR4,M(D)i6LoadR3,M(C)i7AddR3,R4i7LoadR4,M(D)i8AddR1,R3i8AddR3,R4i9AddR1,R3,.,101,5.7.4超标量指令流水线超标量流水线是指具有两条以上的指令流水线。超标量流水线以并行的指令流水线的条数来确定超标度。,.,102,超标量流水线将使资源冲突变得严重,而且使数据相关性也变得更为复杂。超标量流水线性能的优势与指令的调度紧密相关。超标量流水线的指令调度就是指指令的发射和完成策略。它对于充分利用指令级的并行度,提高超标量处理器的性能十分重要。指令发射是指启动指令进入执行段的过程;指令发射策略是指指令发射所使用的协议或规则。,.,103,有三种超标量流水线的调度策略:按序发射按序完成当指令按程序的次序发射,且按程序指令的次序完成时。按序发射无序完成当指令按程序的次序发射,但没有按程序指令的次序完成时。无序发射无序完成不按程序指令的次序发射指令,其结果必然导致无序完成。,.,104,5.7.5奔腾CPUPentium是Intel公司生产的超标量流水处理器,其每个时钟周期可执行两条指令,它具有CISC和RISC两者的特性,但具有CISC的特性更多一些。它的某些指令完全是以硬连线实现的,并能在一个时钟周期执行完(RISC特征);另外一些指令是以微代码(微指令)来实现的,可能需要23个时钟周期(CISC特征)。Pentium具有非固定长度的指令格式,9种寻址方式,191条指令,这是CISC的特征。,.,105,Pentium主要的体系结构特点有4个方面:超标量流水线由U、V两条指令流水线构成。每条流水线都有自己的ALU、地址生成电路、与数据Cache的接口及指令预取缓冲器。U、V两条流水线都采用按序发射按序完成的调度策略。在每个时钟周期内可执行两条简单的整数指令,但一般只能执行一条浮点指令。,.,106,指令Cache和数据Cache奔腾CPU具有8KB的指令Cache和8KB的数据Cache。指令Cache是只读的,以单端口256位向指令预取缓冲器提供超长指令字代码。数据Cache是可读可写的,双端口,每个端口32位。两个Cache都采用两路组相联映射。,.,107,浮点运算部件奔腾CPU包含了一个8段的流水浮点运算器,前4段为指令预取、指令译码、地址生成、取操作数,在U、V流水线种完成;后4段为执行1、执行2、结果写回、错误报告,在浮点部件中完成。一般情况下,只能由U流水线完成浮点数操作指令。浮点部件支持IEEE754标准的单、双精度格式的浮点数,另外还使用一种称为临时实数的80位浮点数。,.,108,动态转移预测技术执行转移指令时,为了使流水线不断流,奔腾CPU采用了动态转移预测技术。具体实现是设置一个小容量的Cache作为转移目标缓冲器BTB,当一条指令导致转移时,BTB便记录这条指令及其转移目标地址。以后遇到这条转移指令时,BTB会依据前后转移发生的历史来预测该指令是转移取还是顺序取,若为转移取,则将BTB记录的目标地址立即送出使用。,.,109,5.8RISCCPU,5.8.1RISC机器的特点第一台RISC计算机于1981年在美国加州伯克莱分校问世。它是在继承了CISC的成功技术,并克服了CISC缺点的基础上发展起来的。各个厂家的RISC机器实现手段不尽相同,但所有RISC机器都具有3个基本要素:一个有限的简单的指令系统。CPU配备大量的通用寄存器。强调对指令流水线的优化。,.,110,RISC的目标决不是简单的缩减指令系统,而是要使处理器的结构更简单、更合理,具有更高的性能和执行效率,并降低处理器的开发成本。其主要特征如下:指令系统中的指令数目一般少于100种,指令格式一般少于4种。使用等长指令,寻址方式少且简单,一般不超过4种。只有取数指令,存数指令访问存储器,指令中最多出现RS型指令,绝不出现SS型指令。控制器多采用硬布线方式,不用或少用微程序方式。CPU中的通用寄存器的数目应相当多(32个以上)。采用优化的编译技术。,.,111,5.8.2RISCCPU实例MC88110CPU是Motorola公司的产品,其目标是以较好的性能价格比作为PC和工作站的通用微处理器。它是一个RISC处理器。一、88110CPU的结构88110CPU含有3个Cache、2个寄存器堆、12个执行部件。,.,112,二、88110的指令流水线88110是超标量流水CPU。指令流水线在每个时钟周期完成两条指令。流水线分为三段:取指和译码(F&D)段、执行(EX)段、写回(WB)段。F&D段需要一个时钟周期,完成由指令Cache取一对指令。如果指令所需的资源无冲突,则发射指令,否则不发射。EX段对于大多数指令只需一个时钟周期,某些指令可能多于一个时钟周期。WB段只需时钟周期的一半,为解决数据相关冲突,EX执行段的结果一方面在WB段写回寄存器堆,另一方面经特定电路提前传送到ALU。,.,113,三、指令调度策略88110采用按序发射按序完成的指令调度策略。指令派遣单元总是发出单一地址,然后从指令Cache中取出此地址及下一地址的两条指令;译码后总是力图同一时间发射这两条指令到EX段。,.,114,.,115,若第一条指令资源不能满足,则这一对指令都不发射;若第二条指令的资源不满足则只发射第一条指令,而第二条指令停顿并与新取指令配对发射。,.,116,.,117,判断指令能否发射,采用了“计分牌”法。计分牌是一个位向量,寄存器堆中的每个寄存器都有一个相应位,每当一条指令发射时,它预约的目标寄存器在位向量中的相应位置“1”,当指令执行完毕并将结果送回时,该位被清除。当判断一条指令能否发射时,一个必须满足的条件是:该指令所有的目的寄存器、源寄存器在位向量中的相应位为“0”。当采用前送时,可在结果送回之前,就将位向量中相应的位清零。,.,118,为保证按序完成,88110设置了一个FIFO的指令执行队列,每当一条指令发射出去,它的副本就被送到FIFO队列的队尾。队列最多能保存12条指令。只有前面的所有指令都执行完了,这条指令才能到达队首。当它到达队首并执行完毕后才能离开队列。,.,119,对于转移处理,88110采用了延迟转移法和目标指令Cache(TIC)法。延迟转移是个选项,如采用这个选项,则跟随在转移指令后指令将被发射;若不采用这个选项,则在转移指令发射之后的转移延迟时间片内没有任何指令被发射。TIC是一个32项的Cache,每项能保存转移目标路径的前两条指令。当一条转移指令译码并命中Cache时,能同时由TIC取来它的目标路径的前面两条指令。,.,120,例:超标度为2的超标量流水线结构模型如图所示,它分为4段,即取指(F)段、译码(D)段、执行(E)段和写回(W)段。F、D、W段只需一个时钟周期。E段有多个功能部件,其中LOAD/STORE部件完成数据Cache访问,只需一个时钟周期;加法器完成需2个时钟周期;乘法器需3个时钟周期,它们都已流水化。E段有内部前送,即结果生成即可使用。F段和D段要求成对输入。现有6条指令序列,其中I1,I2有RAW相关;I3,I4有WAR相关;I5,I6有WAW相关和RAW相关。,.,121,I1LADR1,A;M(A)R1I2ADDR2,R1;R2R1R2I3ADDR3,R4I4MULR4,R5;R4R5R4I5LADR6,BI6MULR6,R7要求:画出按序发射按序完成的各段推进情况图。按序发射按序完成的流水线时空图。,.,122,.,123,.,124,.,125,5.9多媒体CPU,5.9.1多媒体技术的主要问题多媒体技术是指计算机把各种不同的电子媒质集成起来,统一进行存储、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论