计算机组成原理ppt课件第6章.ppt

上传人:牧羊曲112 文档编号:1547945 上传时间:2022-12-04 格式:PPT 页数:81 大小:9.62MB
返回 下载 相关 举报
计算机组成原理ppt课件第6章.ppt_第1页
第1页 / 共81页
计算机组成原理ppt课件第6章.ppt_第2页
第2页 / 共81页
计算机组成原理ppt课件第6章.ppt_第3页
第3页 / 共81页
计算机组成原理ppt课件第6章.ppt_第4页
第4页 / 共81页
计算机组成原理ppt课件第6章.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《计算机组成原理ppt课件第6章.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理ppt课件第6章.ppt(81页珍藏版)》请在三一办公上搜索。

1、Chapter 6 中央处理器,介绍CPU的功能和组成;指令周期流程;时序产生器和控制方式;重点讲解微程序控制器;硬布线控制器和门阵列控制器;Pentium4的逻辑结构,6.1 CPU的功能和组成,CPU的功能控制器的基本组成与最简单CPU模型 CPU中的主要寄存器CPU操作控制器与时序产生器,1、CPU 的功能,CPU是计算机的核心组成部分,装入内存的程序在CPU的控制下,完成取出指令和执行指令的任务。CPU的基本功能: 指令控制:实现程序中指令的执行顺序控制。(结合指令的寻址方式,要实现此控制,CPU内部设置程序计数器PC) 操作控制:就一条机器指令而言,指令不同其操作码也不同,该控制实现

2、指令所需操作命令的控制,需要指令寄存器(IR)和指令译码器(ID)。时间控制:对各种操作命令实施时间上的控制,保证计算机有条不紊地自动工作,设置操作控制器和时序发生器。数据加工:对数据进行算术运算和逻辑运算处理。,2、控制器基本组成与CPU模型,控制器的组成:程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器。,3、 CPU中的主要寄存器,CPU中最基本寄存器:指令寄存器(IR):保存正在执行的指令程序计数器(PC):存放要执行的指令的地址地址寄存器(AR):保存当前所要访问的内存单元的地址数据缓冲寄存器(DR):作为CPU和内存、外围设备之间信息传送的中转站;补偿CPU和内存、外围设

3、备之间在操作速度上的差别;在单累加器结构的运算器中,数据缓冲寄存器还可兼作操作数寄存器。累加寄存器(AC):暂时存放ALU运算的结果信息状态条件寄存器(PSW):,4、 CPU操作控制器与时序产生器,操作控制器的功能:根据指令操作码和时序信号,产生各种操作控制信号,以正确建立数据通路,完成取指令和执行指令的控制。根据设计方法不同,操作控制器可分为: (1) 硬布线控制器:采用组合逻辑技术来实现; (2) 微程序控制器:采用存储逻辑来实现; (3) 门阵列控制器:吸收前两种的设计思想来实现的。 时序产生器:产生对控制信号进行时间上控制的定时信号.,6.2 指令周期,指令周期的基本概念 几种典型指

4、令的指令周期分析CLA指令的指令周期 ADD指令的指令周期 STA指令的指令周期 NOP指令和JMP指令的指令周期 用方框图语言表示指令周期,1、指令周期的基本概念,指令周期:取出并执行一条指令的时间。指令不同,其指令周期不尽相同。 机器周期:也称CPU周期。指令周期由若干个CPU周期组成。 通常:用内存中读取一个指令字的最短时间来规定CPU周期。 时钟周期:常称为节拍。一个CPU周期又包含若干个时钟周期,它是处理操作的最基本单位。,2、 几种典型指令周期分析 CLA,CLA指令功能:清累加器。是一个非访内指令。 取指令阶段:(1)从内存取出指令;(2)对程序计数器PC加1,为取下一条指令做好

5、准备;(3)对指令操作码进行译码或测试,以确定进行什么操作。 执行指令阶段:CPU根据对指令操作码的译码或测试,进行指令所要求的操作。,(1)CLA,取指令阶段,CLA,执行指令阶段,(2)ADD,ADD 30 指令功能:取存储单元(30)中的操作数和累加器的内容相加,结果送累加器。这是一条访问内存取数并执行加法的指令。三个CPU周期组成:取指、送操作数地址、去操作数进行相加运算并将结果放回累加器。,ADD,(3) ) )STA),STA 40 指令的功能:把累加器内容送存储单元(40) 。这是一条访内存存数指令。由三个CPU周期组成。,STA,(4) NOP和JMP),NOP:空操作指令。在

6、第二CPU周期中不发出任何控制信号。 JMP指令是一个程序控制指令,在执行周期中只是改变了PC的内容。,JMP,指令周期分析需注意事项,小结:指令周期分取指令阶段、执行指令阶段;对所有的指令取指令阶段完全相同,指令之所以不同在于执行指令阶段不同,因此,取指令阶段作为公共操作。由于指令的执行阶段不同,所包括的CPU周期个数不同,究竟几个CPU周期与寻址方式有关;CPU周期的划分原则:不仅要考虑指令周期的定义来规定CPU周期,更要结合具体模型,以信息在总线上传输不冲突为原则。,6.3 指令周期流程图,流程图的构成:方框代表一个CPU周期,其内容表示数据通路的操作或某种控制操作。菱形表示某种判断或测

7、试,时间上依附于它前面方框的CPU周期,不单独占用一个CPU周期。“” 表示公操作,指一条指今执行完毕后,CPU所开始进行的一些操作。这些操作可能是CPU对外设请求的处理,如中断处理、通道处理等,若没有外设请求,CPU将转入下一个“取指令”。因此取指令也可以认为是公操作。 指令周期流程图,指令周期流程图,指令周期流程图,(1)“ADD R2,R0”指令完成(R0)+(R2)R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。(2)“SUB R1,R3”指令完成(R3)-(R1)R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列,指令周

8、期流程图,6.4 时序产生器和控制方式,一、时序信号二、时序信号产生器 三、控制方式,一、时序信号,时序信号: 对各种控制信号实现在时间上进行控制的信号,他正如控制信号的“作息时间”表,在这个时间小段控制产生这个控制信号,在那个时间小段控制产生那个控制信号,而控制信号又控制着执行部件,机器一旦启动就有步骤地指挥各部件工作,规定在这一脉冲到来之前做什么,在另一脉冲到来之前又做什么。 因此各种控制信号不仅仅是时间的函数(时序信号),也是空间的函数(部件)。 如果每一个时间小段称为一个节拍脉冲,那么一个CPU周期称为一个节拍电位,时序信号最基本的体制便是节拍电位节拍脉冲制。,二、时序信号产生器,时序

9、信号产生器由时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成。,时序信号产生器,环形脉冲发生器: 产生一组有序的间隔相等或不等的脉冲序列,以便最后形成所需要的节拍脉冲。C1、C2、C3就是环形脉冲发生器产生的信号。(C3C2C1的状态转移:000001011111000),时序信号产生器,节拍脉冲和读写时序译码: T10、T20、T30、T40和RD0、WE0、MREQ0、IORQ0,其中前四个信号是环形脉冲发生器产生,后四个信号受微程序控制器产生的控制信号RD、WE、MERQ、IORQ的控制。启停控制逻辑: T10、T20、T30、T40和RD0、WE0在启停控制电

10、路控制下产生一组节拍信号T1、T2、T3、T4,三、节拍电位与节拍脉冲时序关系图,四、 控制方式,1、同步控制方式: 该控制方式的控制方法简单,取指令周期最长的指令作为所有指令的指令周期,势必降低CPU效率。由于指令周期又包含CPU周期和时钟周期,所以,同步控制方式又可以进一步分成多种同步方法,具体而言, CPU周期和时钟周期严格意义上同步和广泛意义上同步。2、异步控制方式: 指令需要多少时间就占用多少时间,控制复杂,必须采用应答方式。,三、 控制方式(2),3、联合控制方式: 上述两种情况的结合。大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次

11、操作的结束。机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。,6.5 微程序控制器,前言:基本思想:利用软件方法设计硬件。早在1951年,英国剑桥大学的M.V.Wilkes教授提出了微程序设计,其实质是用程序设计的思想方法来组织操作控制逻辑,把各条指令的微操作序列编制成微程序,并存放在控制存储器中,执行机器指令时,通过读取并执行相应的微程序来实现这条机器指令的功能。微程序控制器特点:具有规整性、灵活性、可维护性等一系列优点。,一、 基本概念,微命令:控制部件通过控制线向执行部件发出各种控制命令;微命令是构成控制信号序列的最小单位,微操作:执行部件接受微命令后所进行的操作。微操作是

12、执行部件中最基本的操作,基本概念,相容性的微操作:在同时或同一个CPU周期内可以并行执行的微操作; 相斥性的微操作:不能同时或同一个CPU周期内并行执行的微操作。,基本概念,微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合。我们知道一条机器指令的指令周期包含多个CPU周期,根据微指令的概念,一个CPU周期对应一条微指令,因此,一条机器指令的功能是由多条微指令组成的序列来实现的。这样的一个实现一条机器指令的功能微指令的有序集合称为微程序。微指令格式:不仅要产生一组微命令,还要形成后继微地址,即执行完某一条微指令后,必须给出下一条微指令的地址,下一条微指令的地址也称为后继微地址

13、,以便当前微指令执行完毕后能正确取出下一条微指令。因此,微指令的格式应至少包含操作控制字段和顺序控制字段两部分。操作控制字段用来产生微命令,顺序控制字段用来形成后继微地址。,基本概念,微指令长度为23位,操作控制字段占17位,顺序控制字段占6位,其中4位(2023)用来直接形成后继微地址,第18、19位两位作为判断测试标志。当此两位都为“0”时,表示不进行测试,直接将微指令中第2023位作为后继微地址;当微指令的第18位或第19位为“1”时,表示要进行P1或P2的判断测试,根据测试结果,需要对微指令中第2023位的某一位或某几位进行修改,将修改后的地址作为后继微地址。,二、 微程序控制器组成,

14、微程序控制器的组成与结构如图所示。它主要由控制存储器、微指令寄存器和微指令地址形成部件三大部分组成。,微程序控制器组成,(1)控制存储器(CM) 控制存储器是用来存放指令系统所对应的全部微程序,它是一种读出时间较快的只读存储器,其容量视指令系统而定,其字长由控制命令的多少、微指令的编码格式以及下址字段的宽度而定。(2)微指令寄存器(IR) 微指令寄存器是用来存放从控制存储器读出的一条微指令。顺序控制字段用来产生将要执行的下一条微指令的地址,操作控制字段则用来产生一组微命令。,微程序控制器组成,(3)微指令地址形成部件 微指令地址形成部件又称微指令地址发生器或后继微地址形成部件,是用来形成将要执

15、行的下一条微指令的地址(简称后继微地址)。一般情况下,下一条微指令的地址由上一条微指令的顺序控制字段直接决定。当微程序出现分支时,将由状态条件的反馈信息去形成转移地址;当取指令公共操作完成后,可以根据指令的操作码去产生微指令入口地址。微程序的执行过程(1)读取并执行公共的“取指令”微指令 从控制存储器中取出一条公共的“取指令”微指令,并送到微指令寄存器IR。由于这是一条公用的微指令,一般存放在控制存储器的0号或1号地址单元。微指令实现从主存中读取机器指令并将其送到指令寄存器IR。,微程序控制器组成,(2)形成微程序入口地址 根据指令寄存器IR中的指令操作码,通过微地址形成线路产生相应的微程序入

16、口地址,并将微程序入口地址送往微地址寄存器AR。(3)执行微程序 根据微地址寄存器AR中的微地址,取出微程序中第一条微指令并送入微指令寄存器IR,开始执行IR中的微指令,该微指令执行结束时,将顺序控制字段所形成的后继微地址再送入微地址寄存器AR,去读取下一条微指令。如此重复,直至微程序中的最后一条微指令。(4)实现返回 执行完一条机器指令对应的一段微程序后,返回0号或1号微地址单元,读取并执行“取指令”微指令。 由此可见,微程序控制器的工作过程涉及到两个层面:一个层面是程序员所看到的传统机器级,包括指令、程序、主存储器;另一个层面是设计者所看到的微程序级,包括微指令、微程序、控制存储器(相对程

17、序员是“透明”的)。,三、 微程序设计,微程序设计的关键是如何设计微指令的结构,与微指令结构相关的因素较多,除机器硬件外,还要考虑如何缩短微指令字的长度,如何提高微程序的执行速度,如何有利于对微指令的修改,以便提高微程序设计的灵活性。1、微命令编码 微命令编码是指对微指令中的操作控制字段所进行的编码,其编码方法有直接表示法、编码表示法、混合表示法。(1)直接表示法 操作控制字段中的每一位代表一个微命令,其优点是简单、直观,输出可直接用于控制,一条微指令可以定义并执行多个并行的微命令。,微程序设计,(2)编码表示法 编码表示法把一组相斥性的微命令组成一个字段,然后通过微命令译码器对每一个字段进行

18、译码,译码输出作为微命令。采用编码表示法,可以用较少的二进制信息位表示较多的微命令。,微程序设计,(3)混合表示法 混合表示法把直接表示法和编码表示法相混合使用,以便能综合考虑微指令字长、灵活性和执行速度等方面的要求。2、后续微地址的形成方法 微指令执行的顺序控制问题,实际上是如何确定下一条微指令的地址问题。通常,产生后续微地址的方法有计数器方式、增量方式与断定方式结合、多路转移方式三种。(1)计数器方式 这种方式与用程序计数器PC来产生后续指令地址的方法类似。,微程序设计,PC兼作控制存储器的地址寄存器,其输入有4个。下址字段仅有两位,其功能是选择3个输入源的一个作为PC的输入,而微程序入口

19、是由专门的硬件电路产生,不受下址字段控制。计数器方式的基本特点是:微指令的顺序控制字段较短,微地址产生机构简单。但是多路并行转移功能较弱,速度较慢,灵活性较差。,微程序设计,(2)增量方式与断定方式的结合 在这种方式中,微指令顺序控制字段又分为条件选择字段和转移地址字段两部分,其中条件选择字段用来规定“条件转移”微指令要测试的外部条件;转移地址字段可用作后继微地址。 PC是微程序计数器,具有计数和并行接受数据的功能,微程序设计,假设必须测试的两个状态条件变量为V1和V2,故需使用一个2位的条件选择字段S1S0: 当S1S0 =00时,微程序不转移。当S1S0 =01时,如果V1=1则转移,否则

20、顺序执行。当S1S0 =10时,如果V2=1则转移,否则顺序执行。当S1S0 =11时,无条件转移。与此对应,多路开关有4个输入X0、X1、X2、X3,其中X0=0,X1=V1,X2=V2,X3=1。因此,当S1S0 =i时,它选通多路开关输出Xi。从而控制“转移地址”字段的内容送入或不送入PC (3)多路转移方式 在执行一条微指令时,可能会遇到从若干个微地址中选择一个作为后续微地址的情况,这种转移方式称为多路转移。,微程序设计,微程序设计实践表明,实现两路转移的情况较多,其次是四路转移,而四路以上转移的情况比较少见。两路转移只涉及微地址的一位;四路转移涉及微地址的两位,一般就定在微地址的最后

21、两位。 多路转移方式的特点是: 能与较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度快,但转移地址逻辑需要用组合逻辑方法实现。,四、 微程序设计举例,微程序设计的关键是设计微指令的结构,而微指令的结构设计又取决于控制器和运算器的结构。在此我们以图6-20所示的运算器、图6-21所示的微指令格式为例,来具体说明 “十进制加法”指令的微程序设计过程。1、十进制加法指令的功能,微程序设计举例,2、十进制加法指令的微程序流程图 假设两个一位十进制数a和b已存放在图6-20中的R1和R2寄存器中,数6存放在R3寄存器中。其算法采用先进行a+b+6运算,再判断结果有无进位,若有进位Cy=1,不减6

22、;若无进位Cy=0,减去6。因此,完成十进制加法指令的微程序流程,微程序设计举例,3、十进制加法指令的微程序根据图6-28可知,十进制加法指令的微程序由4条微指令组成。 第一条微指令是完成取指操作,该微指令所在控制存储器该微指令所在控制存储器的地址为0000,其编码为: 000 000 000 000 11111100000 这条微指令在执行时,一方面操作控制字段产生5个微命令,他们分别是LDAR、RD、LDDR、LDIR、PC+1。LDAR执行PCAR;PC+1执行PC+1PC;RD和LDDR执行MDR;LDIR执行DRIR。假设十进制加法指令的操作码为1000,那么指令寄存器IR中的指令操

23、作码是1000。另一方面,顺序控制字段指明下一条微指令的地址为0000。由于判断字段中P1=1,表示测试的“状态条件”是指令寄存器IR中的指令操作码1000,即用指令操作码1000作为下一条微指令的地址,因此,此微指令的下址0000并不是下一条微指令的真正地址。下一条微指令的真正地址是指令的操作码1000,于是,微地址寄存器AR的内容修改为1000。,微程序设计举例,第二条微指令是完成a+b运算操作,该微指令的微地址为1000,其编码为: 010 100 100 100 00000001001 根据微地址寄存器AR的内容1000,取出第二条微指令并执行。执行时,一方面操作控制字段产生4个微命令

24、,他们分别是R1X、R2Y、+、LDR2。于是,运算器完成R1+R2R2的操作。另一方面,顺序控制字段中判断测试字段P1和P2均为0,表示不进行测试,于是,该微指令的下址字段1001直接作为下一条微指令的地址,并传送到微地址寄存器AR。,微程序设计举例,第三条微指令是完成a+b+6运算操作,该微指令的微地址为1001,其编码为: 010 001 001 100 00000010000 根据微地址寄存器AR的内容1001,取出第三条微指令并执行。执行时,一方面操作控制字段产生4个微命令,他们分别是R2X、R3Y、+、LDR2。于是,运算器完成R2+R3R2的操作。另一方面,顺序控制字段中判断测试

25、字段P2为1,表示对P2进行测试,测试的“状态条件”为进位标志Cy,根据进位标志Cy的状态来修改微地址寄存器AR的最后一位:若Cy=0时,下一条微指令的地址为0001;若Cy=1时,下一条微指令的地址为0000。由此可见,该微指令的下址0000并不是下一条微指令的真正地址。下一条微指令的真正地址是对下址0000的修改。在此假设Cy=0,则要执行的下一条微指令的地址为0001,送到微地址寄存器AR。,微程序设计举例,第四条微指令是完成a+b-6运算操作,该微指令的微地址为0001,其编码为: 010 001 001 001 00000000000 根据微地址寄存器AR的内容0001,取出第四条微

26、指令并执行。执行时,一方面操作控制字段产生4个微命令,他们分别是R2X、R3Y、-、LDR2。于是,运算器完成R2-R3R2的操作。另一方面,顺序控制字段中判断测试字段P1和P2均为0,表示不进行测试,于是,该微指令的下址字段0000直接作为下一条微指令的地址,并传送到微地址寄存器AR,按该地址取出的微指令为“取指”微指令。 如果第三条微指令进行测试时Cy=1,那么,下一条微指令的地址为0000,将不执行第四条微指令,而是直接由第三条微指令就转向“取指”微指令,便开始从内存中取第二条机器指令,再转去执行该机器指令相应的微程序。,五、CPU周期与微指令周期的关系,在串行方式的微程序控制器中, 微

27、指令周期 = 读出微指令的时间 + 执行该条微指令的时间为了保证整个机器控制信号的同步,一般将一个微指令周期时间设计得恰好和CPU周期时间相等。,六、机器指令与微程序的关系,图5.27很好地说明了机器指令和微指令之间的关系,也方便深层次地解释程序的执行过程:取指令入IR后通过微程序执行指令。小结:一条机器指令的功能是由若干条微指令组成的序列来实现的。从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。 每一个CPU周期就对应一条微指令。,6.6 硬布线控制器,硬布线控制器:把控制部件看做产生专门固定时序控制信号的逻辑电路。由门电路和触发器构成

28、复杂树形网络。与微程序控制相比,硬布线控制的速度较快。其原因是微程序控制中每条微指令都要从控存中读取一次,影响了速度,而硬布线控制主要取决于电路延迟。由于硬布线控制器的电路结构很复杂,设计和调试都非常困难,后来就被微程序控制器所替代。但是随着新一代机器及VLSI技术的发展,硬布线逻辑设计思想又得到了重视。因此,近年来在某些超高速新型计算机结构中,又选用了硬布线控制,或与微程序控制器混合使用。,硬布线控制器设计(1),组合逻辑控制器由组合逻辑线路、模k时序产生器和1/k译码器等部件组成,其原理如图所示。组合逻辑线路的输入信号有:指令译码器的输出Im、执行部件的反馈信息Bj、时序产生器的节拍脉冲T

29、k;组合逻辑线路的输出信号就是微操作控制信号CnCn=(Im,Tk,Bj)。,硬布线控制器设计(2),例4 图6.32中五条指令的微操作控制信号的产生。回顾指令流程写出逻辑函数LDAR = M1T2+M2(ADD+STA)T2LDDR = M1T3+M3(ADD+STA)T3LDIR = M1T4RD = M1+M3ADDWE = M3STA其中:M1、M2、M3是三个节拍电位信号;T3、T4为时钟周期信号;ADD、STA、JMP是指令OP字段译码器的输出信号。,6.7 门阵列控制器,采用通用可编程逻辑器件可以实现组合逻辑,也可以实现时序逻辑,由于通用可编程逻辑器件由大量的与门、或门阵列等电路

30、构成,所以简称为门阵列器件。为了与早期的组合逻辑控制器相区别,用门阵列设计的操作控制器称为门阵列控制器。可编程逻辑器件PLA PLA是多个“与”门电路的集合,并且它可以在任何一个输出端上进行“或”运算。如下的PLA器件有四个输入变量x1、x2、x3、x4,每个变量有原码和反码两个输出;三个和项f1f3(“或”逻辑)中每一个可以包含8个乘积项y1y8(“与”逻辑),每一个和项fi控制一个输出函数,它可用外界电脉冲编制程序。交叉线上的圆点在矩阵上部相当于“与”门,而在矩阵下部的则相当于“或”门。输入变量的每一行可以被地址矩阵的每一列识别为逻辑“1”、“0”或者任意值(用d表示)。,门阵列控制器,门

31、阵列控制器,门阵列控制器基本思想 我们知道微操作控制信号既是操作码的函数,又是节拍电位、节拍脉冲和反馈条件等因素的函数。因此,在设计门阵列控制器时,通常把指令的操作码、节拍电位、节拍脉冲和反馈条件作为门阵列的输入,再按一定的“与或”关系来编排逻辑阵列的输出,便是所需要的微操作控制信号。假设某一微操作控制信号C6发生在指令A(设OP为I1I2)的节拍电位M2、节拍脉冲T4时间,也发生在指令B(设OP为I1I2)的节拍电位M3、节拍脉冲T2时间,且进位触发位Cy为“1”,那么C6的逻辑表达式如下: C6=I1I2M2T4+I1I2M3T2Cy 将上述输入变量送入门阵列电路进行编排,就可产生所需要的

32、微操作控制信号。,6.8 流水线处理技术,指令执行方式 指令执行方式是指令执行过程之间的衔接关系。由于一条指令的执行过程大体上可分为取指令、分析指令和执行指令三个阶段,所以,指令执行方式可以分为顺序、重叠和流水三种方式 顺序执行方式 顺序执行方式是指各条指令执行过程之间是顺序串行执行的。 重叠执行方式 重叠执行方式是指在前一条指令执行完成之前,就开始取下一条指令并执行。即相邻两条指令的执行过程在时间上发生重叠 流水执行方式 流水执行方式是对重叠执行方式的进一步发展,采用类似生产流水线方式来控制指令的执行过程。,流水线处理技术,流水线处理技术,线性流水线 线性流水线在执行多个任务时,多个任务从线

33、性流水线的入口鱼贯而入,经各个功能部件处理,到达一定的时间后,线性流水线的出口就会每经过一个时间片完成一个任务。对于四段线性指令流水线而言,在经过4个t之后,每一个t就会执行完一条指令,这个过程可以用线性流水线时空图进行描述,流水线处理技术,流水线技术指标,流水线处理技术,高级流水线 为了提高流水线的处理速度,目前主要采取的措施有:超流水技术、超长指令字技术和超标量技术,有关详细内容请参考“计算机系统结构” (1)超流水技术 超流水技术主要体现在时间上的进一步重叠,即进一步细化流水线的功能段,增加功能段数量。(2)超长指令字技术 超长指令字技术简称VLIW,用于指令系统的进一步重叠,即通过增加

34、超长指令来改善流水性能。具体而言,超长指令字技术经过编译优化,将多条能够并行执行的指令合并成一条具有多个操作码的超长指令。(3)超标量技术 超标量技术是通过重复设置流水线,来进一步加快流水处理速度。如Pentium微处理器,内部采用了2套流水线(U、V流水线),从而进一步提高了运算器的运算速度。,流水线处理技术,流水线中的相关问题 1、资源相关 资源相关是指多条指令进入流水线后,在同一机器时钟周期内争用同一个功能部件所发生的冲突。假定一条指令流水线由五段组成。由表6-5可以看出,在时钟4,I1与I4两条指令发生争用存储器资源的相关冲突。解决资源相关冲突的办法:一是第I4条指令停顿一拍后再启动;

35、二是增设一个存储器,将指令和数据分别放在两个存储器中。,流水线处理技术,数据相关 在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三条指令就陆续地开始工作。由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突。如ADD指令与SUB指令发生了数据相关冲突 解决数据相关冲突的办法:在流水CPU的运算器中设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为“向前”或“定向”传送技术。,流水线处理技术,控制相关 控制相关是

36、由转移指令引起的,所以也称控制转移相关。当CPU执行转移取指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。为了减小转移指令对流水线性能的影响,常用以下两种转移处理技术:(1)延迟转移法 由编译程序重排指令序列来实现,其基本思想是“先执行再转移”,即发生转移时并不排空指令流水线,而是让紧跟在转移指令Ib之后已进入流水线的少数几条指令继续完成,如果这些指令是与Ib结果无关的有用指令,那么延迟损失时间片正好得到了有效的利用。(2)转移预测法 用硬件方法来实现,依据指令过去的行为来预测将来的行为。通过使用转移取和顺序取两路指令预取队列器以及目

37、标指令cache,可将转移预测提前到取指阶段进行,以获得良好的效果。,6.9 典型CPU简介,Intel 8088/8086 CPU,典型CPU简介,Intel 80486 CPU(32位DB、32位AB)使用了流水线技术。 片内8K cache包含增强性80387协处理器(浮点运算器FPU),Pentium 4 处理器的逻辑结构,指令译码器,整 数 寄 存 器 组,L1数据cache(8KB),浮 点 寄 存 器 组,慢ALU,复杂指令,2xALU,简单指令,2xALU,简单指令,2xAGU,存地址,浮点存浮 点 取,2xAGU,取地址,MMX,SSE/SSE2,浮点加浮点乘浮点除,执行跟踪

38、cache(12000微操作),微码ROM,微操作队列,微操作队列,指令预取部件,动态分支预测器,前端总线,256位,时钟频率,64位,时钟频率,总线接口部件,总线接口,运算器,寄存器组,控制器,Pentium 4的超标量结构运算器,采用超标量(superscalar)结构,一共包含9个ALU,均可同时工作:2个高速整数ALU(每个时钟周期进行2次操作), 用于完成简单的整数运算(如加、减法)1个慢速整数ALU(需要多个时钟周期才能完成1次操作),用于完成整数乘、除法运算2个地址生成部件(AGU),用于计算操作数的有效地址,所生成的地址分别用于从内存取操作数或向内存保存操作结果1个ALU用于完

39、成浮点操作数地址的计算1个ALU用于完成浮点加法、乘法和除法运算1个ALU用于执行流式的SIMD处理(SSE/SSE2/SSE3指令) 1个ALU用于完成多媒体信号处理(MMX指令),I6,I5,I4,I3,指令的流水线执行,I2,指令的顺序执行:,I1,指令的流水线执行:,Pentium 4的流水线分成20级,每一级的操作都很简单,执行速度极快,因而允许时钟频率高达1GHz以上,超流水线(Hyper-pipeline)技术,Pentium 4有多条超流水线,每条流水线的级数均很长,定点运算达20级,浮点运算达到29级,处于执行状态的指令数最多可达到126条,超级流水线中每步操作都非常简单,因

40、此主频可以显著提高,指令预取和分支预测,为了使流水线不中断,指令预取部件用于完成指令地址的计算,并从指令 cache中读取指令(一次64位),它还通过动态分支预测器对即将执行的指令提前进行预取,如果预测发生错误,那么流水线就会中断,CPU的速度将会受到影响,A=A+2;If (A10) B=A;,Pentium的64位扩展技术(EM-64T),整 数 寄 存 器 组,指令计数器标志寄存器,共16个64位寄存器,另外还增加8个128位的SSE寄存器 增加了处理64位整数的指令 支持c语言中的“long int”数据类型,对应的是64位整数,Pentium 4 的64位寄存器组,双核处理器,1个芯

41、片中有两个功能相同的处理器(内核),在操作系统看来,系统中有2个CPU 2个内核可以各有自己的L2 cache,但必须保正其中的信息完全一致,否则就会出现运算错误 Pentium D(不支持超线程技术),Pipelining and Parallel Processing,1. 指令排队等候进入CPU处理,并行处理,提高计算机速度的有效途经,(包含3个内核),Intel 微处理器主要技术参数比较,MMX/SSE/SSE2/SSE3指令,所谓SSE指令,其特点是1条指令可处理128位的数据,它可以是下列情况之一:4个单精度浮点数(各32位)2个双精度浮点数(各64位)16个8位整数8个16位整数4个32位整数2个64位整数1个128整数由于一条指令可以处理若干个整数或浮点数,因而大大提高了计算速度,这种做法称为单指令多数据技术(single-instruction, multiple-data,简称SIMD)SSE/SSE2/SSE3指令在完成3D图形、语音识别、图像处理等多媒体应用的时候非常有效,SSE指令的SIMD操作举例,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号