收藏 分销(赏)

计算机组成原理(白中英)第五章中央处理器.ppt

上传人:s4****5z 文档编号:13985227 上传时间:2026-05-22 格式:PPT 页数:101 大小:1.10MB 下载积分:10 金币
下载 相关 举报
计算机组成原理(白中英)第五章中央处理器.ppt_第1页
第1页 / 共101页
计算机组成原理(白中英)第五章中央处理器.ppt_第2页
第2页 / 共101页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,系统结构,基本概念,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,系统结构,流水线,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,系统结构,指令并行,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,系统结构,多机系统,计算机组成原理,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,*,页,计算机组成原理,第五章中央处理器,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,计算机组成原理,任课教师:石磊,郑州大学信息工程学院计算机系,Email:shilei,Tel:13676986863,第一章,计算机系统概论,第二章,运算方法和运算器,第三章 存储系统,第四章 指令系统,第五章 中央处理器,第六章 总线系统,第七章 外围设备,第八章 输入输出系统,第九章 并行组织,目录,教材,白中英,计算机组成原理网络版,科学出版社,2002,参考书,石磊,计算机组成原理第2版,清华大学出版社,2006,钱晓捷,微型计算机原理及应用,清华大学出版社,2006,王爱英,计算机组成与结构第3版,清华大学出版社,2001,白中英 邝坚,计算机组织与结构网络版,科学出版社,2003,计算机组成原理,第5章 中央处理器,5.1,CPU的组成和功能,5.,8,流水CPU,5.2,指令周期,5.9,RISC CPU,5.3,时序产生器和控制方式,5.,10,多媒体CPU,5,.4,微程序控制器,5,.1,1 CPU性能评价,5.5,微程序设计技术,5.6,硬布线控制器,5.7,传统,CPU,5.1 CPU的功能和组成,当代主流计算机所遵循的仍然是,冯.,诺依曼,的,“,存储程序、程序控制,”,思想,程序告诉计算机:,应该逐步执行什么操作;在什么地方找到用来操作的数据,结果存到何处,等,中央处理器是控制计算机自动完成取出指令和执行指令任务的部件。它是计算机的核心部件,通常简称为CPU(Central Processing Unit),5.1.1 CPU的功能,指令控制,保证机器按程序规定的顺序取出执行,操作控制,CPU产生每条指令所对应的操作信号,并把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作,时间控制,对各种操作的实施时间进行定时,数据加工,对数据进行算术运算和逻辑运算处理,5.1.2 CPU的基本组成,控制器,完成对整个计算机系统操作的,协调与指挥,。,(1)控制机器从内存中,取出一条指令,,并指出下一条指令在内存中的位置;,(2)对指令进行,译码,,并,产生相应的操作控制信号,,送往相应的部件,启动规定的动作;,(3)指挥并控制CPU、内存与输入/输出(I/O)设备之间数据,流动的方向,运算,器,是数据加工处理部件,所进行的全部操作由控制器发出的控制信号指挥,(1)执行所有的算术运算;,(2)执行所有的逻辑运算,并进行逻辑测试,算术逻辑单元,状态条件寄存器,程序计数器PC,地址寄存器AR,地址总线ABUS,数据总线DBUS,累加器AC,存储器,I/O,CPU,ALU,指令寄存器IR,指令译码器,操作控制器,时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,c,缓冲寄存器DR,CPU的基本模型,5.1.3CPU中的主要寄存器,数据缓冲寄存器(DR),暂时存放由内存读出或写入的指令或数据字,指令寄存器(IR),保存当前正在执行的一条指令,程序计数器(PC),确定下一条指令的地址,地址寄存器(AR),保存当前CPU所访问的内存单元的地址,累加寄存器(AC),最常使用的,一个通用寄存器,状态条件寄存器(PSW),保存由算术和逻辑指令的结果建立的各种条件码,5.1.4 操作控制器与时序产生器,操作控制器,在各寄存器之间建立,数据通路,(传送信息的通路),操作控制器的功能,:就是根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制,硬布线控制器,微程序控制器,时序产生器,产生并发出计算机所需要的时序控制信号,5.2 指令周期,读取指令,指令地址送入主存地址寄存器,读主存,读出内容送入指定的寄存器,分析指令,按指令规定内容执行指令,不同指令的操作步骤数,和具体操作内容差异很大,检查有无中断请求,若无,则转入下一条指令的执行过程,形成下一条指令地址,指令的执行过程,取指令,执行指令,5.2.1 指令周期的基本概念,指令周期:,CPU从内存取出一条指令并执行完这条指令的时间总和,CPU周期:,又称,机器周期,(,总线周期,),CPU访问内存所花的时间较长,因此用CPU从内存读取一条指令字的所需的最短时间来定义,时钟周期:,通常称为,节拍脉冲,或,T周期,。一个CPU周期包含若干个时钟周期T,相互关系,:,1个指令周期=若干个CPU周期,1个CPU周期=若干T周期,取指时间执行指令时间,指令周期 CPU,周期,时钟周期,020,CLA,;累加器清0,021,ADD 30,;(AC)+(30),AC,022,STA 40,;(AC),(40),023,NOP,;空操作,024,JMP 21,;21,PC,030 000 006;数据,040 存和数;数据,5条典型指令构成的简单程序,一个CPU周期,一个CPU周期,取指令阶段,执行指令阶段,开始,取指令,PC+1,对指令,译码,执行指令,取下条指令PC+1,5.2.2,CLA指令的指令周期,取出CLA指令,算术逻辑单元,状态条件寄存器,程序计数器PC,地址寄存器AR,地址总线ABUS,数据总线DBUS,累加器AC,缓冲寄存器DR,CPU,ALU,指令寄存器IR,指令译码器,操作控制器,时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,000 020,20,21,22,23,24,30,31,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,000 020,CLA,CLA,000 021,算术逻辑单元,状态条件寄存器,程序计数器PC,地址寄存器AR,地址总线ABUS,数据总线DBUS,累加器AC,缓冲寄存器DR,CPU,ALU,指令寄存器IR,指令译码器,操作控制器,时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,20,21,22,23,24,30,31,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,000 020,CLA,CLA,000 021,000 000,执行CLA指令,5.2.3ADD指令的指令周期,一个CPU周期,一个CPU周期,取指令阶段,执行指令阶段,开始,取指令PC+1,对指令译码,送操作数地址,取下条指令PC+1,取出操作数,执行加操作,一个CPU周期,算术逻辑单元,状态条件寄存器,程序计数器PC,地址寄存器AR,地址总线ABUS,数据总线DBUS,累加器AC,缓冲寄存器DR,CPU,ALU,指令寄存器IR,指令译码器,操作控制器,时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,20,21,22,23,24,30,31,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,000 021,ADD,ADD 30,000 021,000 022,000 030,000 006,0+6=6,000 006,取出并执行ADD指令,5.2.4STA指令的指令周期,算术逻辑单元,状态条件寄存器,程序计数器PC,地址寄存器AR,地址总线ABUS,数据总线DBUS,累加器AC,缓冲寄存器DR,CPU,ALU,指令寄存器IR,指令译码器,操作控制器,时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,20,21,22,23,24,30,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,000 022,STA,STA 40,000 022,000 023,000 040,000 006,000 006,000 006,取出并执行STA指令,5.2.5 NOP指令和JMP指令的指令周期,算术逻辑单元,状态条件寄存器,程序计数器PC,地址寄存器AR,地址总线ABUS,数据总线DBUS,累加器AC,缓冲寄存器DR,ALU,指令寄存器IR,指令译码器,操作控制器,时序产生器,时钟,状态反馈,取指控制,执行控制,c,c,c,c,+1,20,21,22,23,24,30,40,CLA,ADD 30,STA 40,NOP,JMP 21,000 006,000 024,JMP 21,JMP 21,000 024,000 021,000 006,000 006,000 025,000 021,取出并执行JMP指令,5.3 时序产生器和控制方式,用二进制码表示的指令和数据都放在内存里,那么CPU是怎样识别出它们是数据还是指令呢?,从时间上来说,:取指令事件发生在指令周期的第一个CPU周期中,即发生在“,取指令,”阶段,而取数据事件发生在指令周期的后面几个CPU周期中,即发生在“,执行指令,”阶段。,从空间上来说,:如果取出的代码是指令,那么一定经DR送往指令寄存器,IR,,如果取出的代码是数据,那么一定送往,运算器,。,时间控制对计算机来说是非常重要的!,思考,5.3.1时序信号的作用和体制,计算机的协调动作需要时间标志,而且需要采用多级时序体制。而时间标志则用,时序信号,来体现。,硬布线控制器,中,时序信号往往采用,主状态周期-节拍电位-节拍脉冲,三级体制。,主状态周期(指令周期):,包含若干个节拍周期,可以用一个触发器的状态持续时间来表示,节拍电位(机器周期):,表示一个CPU 周期的时间,包含若干个节拍脉冲,节拍脉冲(时钟周期):,表示较小的时间单位,微程序控制器,中,时序信号则一般采用,节拍电位-节拍脉冲,二级体制。,节拍脉冲,节拍电位1,主状态周期,节拍电位2,主状态周期-节拍电位-节拍脉冲,数据准备好后,以电位的方式送触发器,控制信号来到后,用一个脉冲信号把数据装入触发器,数据:电位,控制信号:脉冲,节拍电位-节拍脉冲,IORQ MREQ RD WE T1 T2 T3 T4,IORQ,MREQ,RD WE T1 T2 T3 T4,MERQ,IORQ,RD,WR,提供频率稳定且电平匹配的方波时钟脉冲信号,由石英晶体振荡器组成,产生一组有序的间隔相等或不等的脉冲序列,启动,停机,5.3.2时序信号产生器,启停控制逻辑,节拍脉冲和读写时序译码逻辑,环形脉冲发生器,时钟脉冲源,时序产生器,(1/4),一、,概念,1、时序部件:计算机的机内时钟。它用其产生的周期状态,节拍电位及时标脉冲去对指令周期进行时间划分,刻度和标定。,2、指令周期:在计算机中从指令的读取到指令的执行完成,执行一条指令所需要的时间,称为指令周期。,指令周期通常由若干个CPU周期来表示,CPU周期也称为机器周期。由于CPU内部的操作速度较快,而CPU访问一次内存所花的时间较长,通常用存储周期为基础来规定CPU周期。,时序产生器,(2/4),二、3级时序信号,1、周期,(1)在一个控制阶段内均持续起作用的信号;,(2)通常用周期状态寄存器来标志和指明某某周期控制;,(3)指令周期可分为取指周期、分析周期、执行周期。,2、节拍,(1)把一个机器周期分成若干个相等的时间段,每一个时间段对应一个电位信号,称节拍电位;,(2)一般都以能保证ALU进行一次运算操作作为一拍电位的时间宽度。,3、时标工作脉冲,(1),及时改变标志状态;,(2),时标脉冲的宽度一般为节拍电位宽度的1/N,只要能保证所有的触发器都能可靠地,稳定地翻转即可。,时序产生器,(3/4),三、3级时序信号的关系,1、一台计算机机内的控制信号一般均由若干个周期状态,若干个节拍电位及若干个时标脉冲这样3级控制时序信号定时完成。,2、3级控制时序信号的宽度均成正整数倍同步关系。周期状态之间,节拍电位之间,时标脉冲之间既不容许有重叠交叉,又不容许有空白间隙,应该是能一个接一个地准确连接,一个降落另一个升起而准确切换的同步信号。,时序产生器,(4/4),图6-7 三级时序系统,时标脉冲,节拍,周期,CPU的控制方式,(1/4),控制器的控制方式:形成控制不同微操作序列的时序控制信号的方法。,控制方式的分类:,同步控制方式,异步控制方式,同异步联合控制方式,CPU的控制方式,(2/4),一、同步控制方式,1、含义:又称为固定时序控制方式或无应答控制方式。任何指令的执行或指令中每个微操作的执行都受事先安排好的时序信号的控制。,2、每个周期状态中产生统一数目的节拍电位及时标工作脉冲。,3、以最复杂指令的实现需要为基准。,4、优点:设计简单,操作控制容易实现。,缺点:效率低。,CPU的控制方式,(3/4),二、异步控制方式,1、,含义:可变时序控制方式或应答控制方式。执行一条指令需要多少节拍,不作统一的规定,而是根据每条指令的具体情况而定,需要多少,控制器就产生多少时标信号。,2、特点:每一条指令执行完毕后都必须向控制时序部件发回一个回答信号,控制器收到回答信号后,才开始下一条指令的执行。,3、优点:指令的运行效率高;,缺点:控制线路比较复杂。,4、异步工作方式一般采用两条定时控制线来实现。我们把这两条线称为“请求”线和“回答”线。当系统中两个部件A和B进行数据交换时,若A发出“请求”信号,则必须有B的“回答”信号进行应答,这次操作才是有效的,否则无效。,CPU的控制方式,(4/4),三、同步,异步联合控制方式,1、含义:同步控制和异步控制相结合的方式即联合控制方式,区别对待不同指令。,2、一般的设计思想是,在功能部件内部采用同步式,而在功能部件之间采用异步式,并且在硬件实现允许的情况下,尽可能多地采用异步控制。,5.3.3控制方式,控制不同操作序列时序信号的方法,1.同步控制方式,已定的指令在执行时所需的CPU周期(机器周期)数和时钟周期数都固定不变。例如采用完全统一的机器周期执行各种不同的指令,2.异步控制方式,控制器发出某一操作控制信号后,等待执行部件完成操作后发“回答”信号,再开始新的操作,3.联合控制方式,同步控制和异步控制相结合的方式,CPU周期,取指周期,CPU周期,取源数,CPU周期,取目标数,CPU周期,执行周期,P0,P1,P2,W0,W1,完全同步控制方式,W0,W1,Wi,第N条指令,结束应答,W0,W1,Wj,第N+1条指令,结束应答,启动,下一条,W0,W1,Wk,第N+2条指令,结束应答,异步控制方式,启动,下一条,i、j、k不一定相等,一般采用两条定时控制线:“请求”线和“回答”线,演示,5.4 微程序控制器,微程序控制器同硬布线控制器相比较,具有,规整性,、,灵活性,、,可维护性,等一系列优点,它利用,软件方法,(,微程序设计技术,)来设计硬件,微程序控制的,基本思想,就是把操作控制信号编成所谓的“微指令”,存放到一个只读存储器里(控制存储器CM)。当机器运行时,一条又一条地读出这些微指令,从而产生全机所需要的各种操作控制信号,是相应部件执行所规定的操作,微命令,指令系统,处理器内部可以分为:,控制部件,和,执行部件,微命令:,控制部件,向,执行部件,发出的控制命令,微操作:,执行部件,接受,微命令,后所进行的操作,(微操作在执行部件中是最基本的操作),微指令,:实现一定操作功能的一组微命令,微程序,:实现一条机器指令功能的微指令序列,指令系统所有指令,指令微程序,微程序若干微指令,微指令一组微命令,微命令微操作,机器指令与微指令,程序,机器指令1,机器指令2,机器指令i,机器指令n,.,微指令2,微指令1,微指令i,微指令n,.,.,微程序,程序计数器PC,地址寄存器AR,缓冲寄存器DR,指令寄存器IR,微地址寄存器,AR,微指令寄存器,IR,主存储器,控制存储器CM,微命令,地址译码器,地址译码,机器指令级,微指令级,5.5 微程序设计技术,1.静态微程序设计,对应于一台计算机的机器指令只有一组微程序,而且这一组微程序设计好之后,一般无须改变而且也不好改变,2.动态微程序设计,采用EPROM作为控制存储器,可以通过改变微指令和微程序来改变机器的指令系统,采用动态微程序设计,微指令和微程序可以根据需要加以改变,因而可在一台机器上,仿真,其它机器指令系统,5.6硬布线控制器,硬布线控制器把控制部件看作为产生专门固定时序控制信号的逻辑电路(以,使用最少元件和取得最高操作速度,为设计目标,),硬布线控制,的优点:速度较快;缺点:不容易修改添加新功能,微程序控制的优点:具有规整性、灵活性、可维护性等;缺点:采用存储程序原理,需要执行多条微指令,速度较慢,5.7传统CPU,M6800CPU,是一个比较典型的单总线结构的微处理器,M6800CPU是一种8位微处理器,采用单一的5V电源。时钟脉冲采用两相(,1,,,2,),主频为1MHz,由外面加入CPU。,M6800的CPU主要包括8位的ALU,16位的程序计数器、16位的堆栈指示器和16位的变址寄存器,两个8位的累加器和一个8位的状态条件码寄存器,一个8位的指令寄存器以及指令译码与控制部件(即操作控制器)。此外还有一个8位的数据缓冲寄存器和一个16位的地址缓冲寄存器。,ALU部件执行算术运算和逻辑操作,它们包括逻辑,“,与,”,、逻辑,“,或,”,、逻辑,“,异或,”,、求补、比较、加法、减法、十进制调整等。,在M6800中,主存地址和外设地址是统一编址的,因此,在65536个地址中有一部分是为外围设备使用的。,传统CPU举例,Intel 8088CPU,Intel 8088是一种通用的准16位微处理器,其内部结构为16位,与外部交换的数据为8位。它可以处理16位数据(具有16位运算指令,包括乘除法指令),也可处理8位数据。它有20条地址线,直接寻址能力达到1M字节。,CPU 从功能上来说分成总线接口单元BIU和执行单元EU两大部分。,BIU负责与存储器和外围设备接口,即8088 CPU与存储器和外围设备之间的信息传送,都是由BIU进行的。,EU 部分负责指令的执行。取指部分与执行指令部分是独立并行工作的,在一条指令的执行过程中,可取出下一条(或多条)指令,在指令流队列寄存器中排队。在一条指令执行完以后就可以立即执行下一条指令,减少了CPU为取指令而等待的时间,提高了系统的运行速度。,传统CPU举例,IBM 370CPU,32位CPU,ALU部件按功能不同分为如下三个子部件:(1)定点运算,包括整数计算和有效地址的计算;(2)浮点运算;(3)可变长运算,包括十进制算术运算和字符串操作。,为了存放地址和数据,使用了两组独立的可编址寄存器,16个通用寄存器用来存放操作数和运算结果,且可用作变址寄存器。4个浮点寄存器用于浮点运算。数据寄存器DR、地址寄存器AR、指令寄存器IR是标准化的。,Intel 80486CPU,32,位,CPU,通过采用流水技术,以及微程序控制和硬布线逻辑控制相结合的方式,进一步缩短可变长指令的译码时间,达到基本指令可以在一个时钟周期内完成。,传统CPU举例,486芯片内部包含一个8KB的数据和指令混合性cache,为频繁访问的指令和数据提供快速的内部存储,从而使系统总线有更多的时间用于其他控制。,486芯片内部包含了增强性80387协处理器,称为浮点运算部件(FPU)。由于FPU功能扩充,且放在CPU内部,使引线缩短,故速度比80387提高了3,5倍。,486 CPU的内部数据总线宽度为64位,这也是它缩短指令周期的一个原因。而外部数据总线的宽度也可以自动转换。,地址信号线扩充到32位,可以处理4GB(2,32,字节)的物理存储空间。如果利用虚拟存储器,其存储空间达64TB(2,46,字节)。,5.8 流水CPU,洗衣房的流水作业,三个阶段:,1.水洗(30),2.烘干(40),3.熨烫(20,),A,B,C,D,6 PM,7,8,9,T,a,s,k,O,r,d,e,r,Time,30,40,40,40,40,20,演示,5.8.1 并行处理技术,并行性,(Parallelism):,在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作,同时性,(Simultaneity):同一时刻发生的并行性,并发性,(Concurrency):同一个时间间隔内发生的并行性,并行性的等级,指令内部并行:微操作之间,指令级并行(ILP:Instruction Level Parallel),线程级并行(TLP:Thread Level Parallel),程序级并行,系统级并行:分布式系统、多机系统、机群系统,提高并行性的技术途径,时间重叠,(Time-interleaving),时间并行,多个过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,资源重复,(Resource-replication),空间并行,通过重复设置资源(尤其是硬件资源),提高性能,资源共享,(Resource-sharing),使多个任务按一定时间顺序轮流使用同一套硬件设备,单机系统中并行性的发展,9.1.3,指令流水线,部件冗余,分时系统,多机系统中并行性的发展,9.1.4,多机系统,耦合度:松散耦合、紧密耦合,5.8.2 流水CPU的结构,指令流水线,IF,(Instruction Fetch),取指令阶段,ID,(Instruction Decode),指令译码阶段,EX,(Execute),执行运算阶段,MEM,(Memory Access),存储器访问阶段,WB,(Write Back),写回结果阶段,WB,流水线的时空图,流水线技术,:把一个重复的过程分解为若干个子过程,每个子程序可以与其他子过程同时进行,描述流水线的工作,最常用的方法是时间-空间图(,时空图,),横坐标,:表示,时间,,即各个任务在流水线中所经过的时间,纵坐标,:表示,空间,,即流水线的各个子过程,也称为,级、段、流水线深度(Stage),非流水计算机的时空图,每4个机器周期才有一个输出结果,流水计算机的时空图,每个机器周期可以输出一个结果,演示,流水线的特点,流水线实际上是把一个功能部件分解成多个独立的子功能部件(一个任务也就分成了几个子任务,每个子任务由一个子功能部件完成),并依靠多个子功能部件并行工作来缩短所有任务的执行时间,流水线有助于提高整个程序(所有任务)的吞吐率,但并没有减少每个指令(任务)的执行时间,流水线各个功能段所需时间应尽量相等。否则,时间长的功能段将成为流水线的“瓶颈”,会造成流水线的,“阻塞”(Stall),流水线开始需要,“通过时间”(Fill),和最后需要,“排空时间”(Drain),。流水线只有处理连续不断的任务才能发挥其效率,5.8.3 流水线中的主要问题,流水线中存在一些,相关,(,冲突,、,冒险Hazard,,,相关,、,依赖,Dependence,,,竞争Competition,)的情况,它使得下一条指令无法在设计的时钟周期内执行。这些相关将降低流水线性能,主要有三种类型的相关(冲突),结构相关(资源冲突),:当指令重叠执行过程中,硬件资源满足不了指令重叠执行的要求,数据相关(数据冲突),:在同时执行的多条指令中,一条指令依赖前一条指令的执行结果(数据)却无法得到,控制相关(控制冲突),:流水线遇到分支指令或其他改变PC值的指令,1.资源相关,资源相关,是指多条指令进入流水线后,在同一机器时钟周期内争用同一个功能部件所发生的冲突,例:假定一条指令流水线由五段组成,且仅有IF过程和MEM过程需要访问存储器,I1与I4两条指令在时钟4争用存储器资源的相关冲突,2.数据相关,ADD,R1,R2,R3;R2R3R1,SUB R4,R1,R5;R1R5R4,AND R6,R1,R7;R1R7R0,指令发生数据相关冲突,3.控制相关,控制相关,冲突由,转移指令(分支指令),引起,执行转移指令时,依据转移条件的产生结果,可能为顺序取下条指令,也可能转移到新的目标地址取指令,地址不定,流水线需要暂停、,发生断流,转移指令,主要有:,无条件转移指令:跳转、过程调用和返回,条件分支指令,【例5】,流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关,I1:ADD R1,R2,R3;,R2R3,R1,I2:SUB R4,R1,R5;,R1,R5R4,I3:STA M(x),R3;,R3,M(x),I4:ADD R3,R4,R5;,R4R5,R3,I5:MUL R3,R1,R2;,R1R2,R3,I6:ADD R3,R4,R5;,R4R5,R3,RAW,WAR,WAW,指令动态调度策略,简单指令流水线技术的一个主要局限,指令,顺序发射(in-order issue),按序发射,指令,顺序执行(in-order execution),如果一条指令在流水线中,与之相关的指令及其后面的指令都不能进行处理,改进指令流水线,只要指令操作数就绪就执行,,指令,乱序执行(out-of-order execution),指令,乱序结束(out-of-order completion),MUL,R0,R2,R4,ADD R6,R0,R8,SUB R7,R3,R1,多指令流出技术,进一步改进指令流水线,实现一个时钟周期发射(流出issue)多条指令,超标量(Superscalar)处理器,:每个时钟周期发射多条指令(18),超长指令字(VLIW:Very Long Instruction Word),:通过编译器调度无关的多条指令(416)形成一条长指令,每个时钟周期发射一条长指令,超级流水线(Super pipelining),:将每个功能部件进一步流水化,使得一个功能部件在一个时钟周期中可以处理多条指令(可以简单地理解为很长的流水线),多发射流水线,0,1,2,3,4,5,6,7,T,正常流水线,超标量流水线,0,1,2,3,4,5,6,T,0,1,2,3,4,5,6,T,超长指令字流水线,3个操作,0,1,2,3,4,5,6,7,T,超级流水线,80486的整数指令流水线,5级指令流水线,每级1个时钟周期,PF,指令预取(prefetch),D1,指令译码1(decode stage 1),对所有操作码和寻址方式信息进行译码,D2,指令译码2(decode stage 2),将操作码扩展为ALU的控制信号,存储器地址计算,EX,指令执行(execute),完成ALU操作和Cache存取,WB,回写(write back),更新在EX步骤得到的寄存器数据和状态标志,Pentium的超标量流水线,类似80486的5级流水线,后3级可以在两个流水线同时进行,指令预取PF和指令译码D1步骤可以并行取出、译码2条简单指令,然后分别发向U和V流水线,在满足指令配对的条件下,Pentium可以每个时钟周期执行完2条指令,V流水线,U流水线,地址生成D2,地址生成D2,指令预取PF,指令译码D1,执行EX,执行EX,回写WB,回写WB,Pentium的超标量结构,转移指令地址,寄,存,器,V流水线,ALU,U流水线,ALU,移位器,指令译码和配对,控制单元,分支目标,缓冲器,V流水线,存储地址产生器,U流水线,存储地址产生器,队列B,队列A,指令Cache,指令预取电路,分支目标地址,产生分支地址,Pentium III的动态执行结构,取指,取数,顺序发送前端,(取指与译码单元),读取指令,译码指令为微代码,处理指令分支,乱序执行核心,(分派与执行单元),调度和执行微代码,包含5个执行端口,顺序退出单元,(退出单元),顺序退出指令,写入寄存器和存储器结果,L1指令Cache,L1数据Cache,存数,总线接口单元,L2 Cache,系统总线,重排序缓冲区ROB,(指令池),等待执行的微代码缓冲区,5.9 RISC CPU,RISC的三个要素,(1)一个有限的简单的指令集,(2)CPU配备大量的通用寄存器,(3)强调对指令流水线的优化,5.9.1 RISC机器的特点,等长指令,典型长度是4个字节(32位),寻址方式少且简单,一般为23种,只有取数指令和存数指令访问存储器,指令数目一般少于100种,指令格式一般少于4种,指令功能简单,控制器多采用硬布线方式,指令的执行时间为一个处理时钟周期,整数寄存器的个数不少于32个,强调通用寄存器资源的优化使用,支持指令流水并强调指令流水的优化使用,RlSC技术的编译程序复杂,RISC与CISC的主要特征对比,比较内容,CISC,RISC,指令系统,复杂,庞大,简单,精简,指令数目,一般大于200,一般小于100,指令格式,一般大于4,一般小于4,寻址方式,一般大于4,一般小于4,指令字长,不固定,等长,可访存指令,不加限制,只有LOAD/STORE指令,各种指令使用频率,相差很大,相差不大,各种指令执行时间,相差很大,绝大多数在一个周期内完成,优化编译实现,很难,较容易,程序源代码长度,较短,较长,控制器实现方式,绝大多数为微程序控制,主要采用硬布线控制,软件系统开发时间,较短,较长,5.10 多媒体CPU,Vendor,Extension,Year,#Instr,Registers,HP,MAX-1 and 2,94,95,9,8(int),Int 32x64b,Sun,VIS,95,121(int),FP 32x64b,Intel,MMX,97,57(int),FP 8x64b,AMD,3DNow!,98,21(fp),FP 8x64b,Motorola,Altivec,98,162(int,fp),32x128b(new),Intel,SSE,98,70(fp),8x128b(new),MIPS,MIPS-3D,?,23(fp),FP 32x64b,AMD,E 3DNow!,99,24(fp),8x128(new),Intel,SSE2,01,144(int,fp),8x128(new),Intel,SSE3,03,13(int,fp),8x128(new),5.10.1 多媒体技术的主要问题,媒体(,media,),:传递信息的媒介,包括,存储信息的实体与传递信息的载体,多媒体(,multimedia,),技术:,计算机把各种不同的电子媒质集成起来,统一进行存储、处理和传输,多媒体技术,:将多媒体信息,经计算机设备获取、编辑、存储等处理后,以多媒体形式表现出来的技术,多媒体技术解决的主要问题,1.图像与声音的压缩技术,2.适应多媒体技术的软件技术,3.计算机系统结构方面的技术,计算机体系结构的分类,根据指令流和数据流的并行情况,Flynn1966提出了对所有计算机进行分类的简单模型,单指令流、单数据流SISD:单处理器系统,单指令流、多数据流,SIMD,:,多媒体指令和向量计算机,多指令流、单数据流MISD:尚无商用,多指令流、,多,数据流MIMD:,每个处理器取用自己的指令并对自己的数据进行操作。通常使用现有的微处理器实现,SIMD,stands for Single Instruction Multiple Data,SIMD指令,SIMD指令是能够同时处理多个数据的指令,用于扩展通用处理器对多媒体数据的处理能力,许多应用需要多媒体处理能力,桌面应用,3D 图形,语音识别,视频/音频解码,服务器,视频/音频编码,数字图书馆和媒体挖掘,计算机动画,3D建模和着色,嵌入系统,3D 图形,视频/音频解码编码,图像处理、信号处理,MMX数据类型,MMX(multimedia extensions),63,0,紧缩4字 Packed Quadword,63,32,31,0,紧缩双字Packed Doubleword,63,48,47,32,31,16,15,0,紧缩字 Packed Word,63,56,55,48,47,40,39,32,31,24,23,16,15,8,7,0,紧缩字节 Packed Byte,SSE/SSE2/SSE3数据类型,SSE,(Streaming,SIMD,Extensions),127,64,63,0,紧缩双精度浮点数,Packed Double-precision Floating-point,127,96,95,64,63,32,31,0,紧缩单精度浮点数,Packed Single-precision Floating-point,SIMD指令饱和运算,a2+b2,a2+b2,a1+b1,a1+b1,a0+b0,a0+b0,SIMD指令乘加运算,*,*,*,*,+,+,SIMD指令比较指令,SIMD指令类型转换,SIMD指令操作模式,SSE指令,128位操作模式,SSE指令,32位操作模式,5.11 CPU性能评价,CPU性能与3个要素有关,时钟频率f,每条指令需要的时钟周期数CPI,指令条数I,N,时钟周期长度t1/f,CPU时钟周期数NcCPII,N,5.11.1 CPU性能公式,第i类指令在总程序中占的比例,补充例题,假设在一般程序中浮点开平方操作FPSQR所占的比例为2%,它的CPI为100;其他浮点操作FP所占的比例为23%,它的CPI4.0;其余75%指令的CPI1.33,计算该处理机的CPI。如果FPSQR操作的CPI也为4.0,重新计算CPI。,解答:,CPI11002%423%1.3375%3.92,CPI2425%1.3375%2.00,例题7,有两种条件分支指令的设计方案:,CPU,A,:比较指令设置条件码,条件分支指令测试条件码进行分支,CPU,B,:条件分支指令包括比较、并进行分支,两种方案中,条件分支指令占用2个时钟周期、其他指令占用1个时钟周期,CPU,A,的条件分支指令占20%,比较指令也占20%,CPU,B,的时钟周期比CPU,A,慢25,哪个CPU更快?,例题7解答,CPI,A,0.220.811.2,CPU时间,A,I,N,A,1.2t,A,CPU,B,没有独立的比较指令:I,N,B,0.8I,N,A,CPU,B,条件分支指令所占比例:,20%80%25%0.25,CPI,B,0.2520.7511.25,CPU时间,B,I,N,B,CPI,B,t,B,0.8I,N,A,1.25t,B,I,N,A,t,B,t,B,t,A,0.25t,A,1.25t,A,CPU时间,B,I,N,A,1.25t,A,CPU时间,A,5.11.2 性能评价标准,最初:,执行单项操作的时间,,例如:加法操作时间,改进为:,平均指令执行时间,进一步成为容易理解的:,每秒百万条指令,(Million Instructions Per Second),同时出现:,MFLOPS,(,每秒百万浮点操作),最终形成:,测试程序,(Benchmarks),测试程序,实际应用程序,修正的(或者脚本化)应用程序,核心测试程序,Livermore Loops和Linpack,小型测试程序,Quicksort,Puzzle和Sieve,合成测试程序,Whetstone和Dhrystone,基准测试程序组件,SPEC,(Standard Performance Evaluation Corporation),www.spec.org,SPEC89SPEC92,SPEC95,SPEC2000,11个整数基准程序(CINT2000),14个浮点基准程序(CFP2000),WinBench 99 and Winstone 2004,WinBench 99:measures the performanc
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服