版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Chapter6中央处理器介绍CPU的功能和组成;指令周期流程;时序产生器和控制方式;重点讲解微程序控制器;硬布线控制器和门阵列控制器;Pentium4的逻辑结构6.1
CPU的功能和组成CPU的功能控制器的基本组成与最简单CPU模型
CPU中的主要寄存器CPU操作控制器与时序产生器1、CPU的功能
CPU是计算机的核心组成部分,装入内存的程序在CPU的控制下,完成取出指令和执行指令的任务。CPU的基本功能:指令控制:实现程序中指令的执行顺序控制。(结合指令的寻址方式,要实现此控制,CPU内部设置程序计数器PC)操作控制:就一条机器指令而言,指令不同其操作码也不同,该控制实现指令所需操作命令的控制,需要指令寄存器(IR)和指令译码器(ID)。时间控制:对各种操作命令实施时间上的控制,保证计算机有条不紊地自动工作,设置操作控制器和时序发生器。数据加工:对数据进行算术运算和逻辑运算处理。2、控制器基本组成与CPU模型控制器的组成:程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器。
3、CPU中的主要寄存器
CPU中最基本寄存器:指令寄存器(IR):保存正在执行的指令程序计数器(PC):存放要执行的指令的地址地址寄存器(AR):保存当前所要访问的内存单元的地址数据缓冲寄存器(DR):作为CPU和内存、外围设备之间信息传送的中转站;补偿CPU和内存、外围设备之间在操作速度上的差别;在单累加器结构的运算器中,数据缓冲寄存器还可兼作操作数寄存器。累加寄存器(AC):暂时存放ALU运算的结果信息状态条件寄存器(PSW):4、
CPU操作控制器与时序产生器
操作控制器的功能:根据指令操作码和时序信号,产生各种操作控制信号,以正确建立数据通路,完成取指令和执行指令的控制。根据设计方法不同,操作控制器可分为:
(1)硬布线控制器:采用组合逻辑技术来实现;
(2)微程序控制器:采用存储逻辑来实现;
(3)门阵列控制器:吸收前两种的设计思想来实现的。时序产生器:产生对控制信号进行时间上控制的定时信号.6.2
指令周期指令周期的基本概念几种典型指令的指令周期分析CLA指令的指令周期ADD指令的指令周期STA指令的指令周期NOP指令和JMP指令的指令周期用方框图语言表示指令周期
1、指令周期的基本概念指令周期:取出并执行一条指令的时间。指令不同,其指令周期不尽相同。机器周期:也称CPU周期。指令周期由若干个CPU周期组成。通常:用内存中读取一个指令字的最短时间来规定CPU周期。时钟周期:常称为节拍。一个CPU周期又包含若干个时钟周期,它是处理操作的最基本单位。2、几种典型指令周期分析——
CLACLA指令功能:清累加器。是一个非访内指令。取指令阶段:(1)从内存取出指令;(2)对程序计数器PC加1,为取下一条指令做好准备;(3)对指令操作码进行译码或测试,以确定进行什么操作。执行指令阶段:CPU根据对指令操作码的译码或测试,进行指令所要求的操作。(1)CLA取指令阶段CLA执行指令阶段(2)ADDADD30指令功能:取存储单元(30)中的操作数和累加器的内容相加,结果送累加器。这是一条访问内存取数并执行加法的指令。三个CPU周期组成:取指、送操作数地址、去操作数进行相加运算并将结果放回累加器。ADD(3)
)))))))))))))))))STA)STA40指令的功能:把累加器内容送存储单元(40)。这是一条访内存存数指令。由三个CPU周期组成。STA(4)
NOP和JMP)NOP:空操作指令。在第二CPU周期中不发出任何控制信号。JMP指令是一个程序控制指令,在执行周期中只是改变了PC的内容。
JMP指令周期分析需注意事项小结:指令周期分取指令阶段、执行指令阶段;对所有的指令取指令阶段完全相同,指令之所以不同在于执行指令阶段不同,因此,取指令阶段作为公共操作。由于指令的执行阶段不同,所包括的CPU周期个数不同,究竟几个CPU周期与寻址方式有关;CPU周期的划分原则:不仅要考虑指令周期的定义来规定CPU周期,更要结合具体模型,以信息在总线上传输不冲突为原则。6.3指令周期流程图流程图的构成:方框代表一个CPU周期,其内容表示数据通路的操作或某种控制操作。菱形表示某种判断或测试,时间上依附于它前面方框的CPU周期,不单独占用一个CPU周期。“~”表示公操作,指一条指今执行完毕后,CPU所开始进行的一些操作。这些操作可能是CPU对外设请求的处理,如中断处理、通道处理等,若没有外设请求,CPU将转入下一个“取指令”。因此取指令也可以认为是公操作。指令周期流程图指令周期流程图指令周期流程图
(1)“ADDR2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并列出相应的微操作控制信号序列。(2)“SUBR1,R3”指令完成(R3)-(R1)→R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列
指令周期流程图6.4
时序产生器和控制方式
一、时序信号二、时序信号产生器三、控制方式一、时序信号时序信号:对各种控制信号实现在时间上进行控制的信号,他正如控制信号的“作息时间”表,在这个时间小段控制产生这个控制信号,在那个时间小段控制产生那个控制信号,而控制信号又控制着执行部件,机器一旦启动就有步骤地指挥各部件工作,规定在这一脉冲到来之前做什么,在另一脉冲到来之前又做什么。因此各种控制信号不仅仅是时间的函数(时序信号),也是空间的函数(部件)。如果每一个时间小段称为一个节拍脉冲,那么一个CPU周期称为一个节拍电位,时序信号最基本的体制便是节拍电位-节拍脉冲制。二、时序信号产生器
时序信号产生器由时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等部分组成。时序信号产生器环形脉冲发生器:产生一组有序的间隔相等或不等的脉冲序列,以便最后形成所需要的节拍脉冲。C1、C2、C3就是环形脉冲发生器产生的信号。(C3C2C1的状态转移:000—001—011—111—000)时序信号产生器节拍脉冲和读写时序译码:T10、T20、T30、T40和RD0、WE0、MREQ0、IORQ0,其中前四个信号是环形脉冲发生器产生,后四个信号受微程序控制器产生的控制信号RD’、WE’、MERQ’、IORQ’的控制。启停控制逻辑:T10、T20、T30、T40和RD0、WE0在启停控制电路控制下产生一组节拍信号T1、T2、T3、T4三、节拍电位与节拍脉冲时序关系图四、控制方式1、同步控制方式:该控制方式的控制方法简单,取指令周期最长的指令作为所有指令的指令周期,势必降低CPU效率。由于指令周期又包含CPU周期和时钟周期,所以,同步控制方式又可以进一步分成多种同步方法,具体而言,CPU周期和时钟周期严格意义上同步和广泛意义上同步。2、异步控制方式:指令需要多少时间就占用多少时间,控制复杂,必须采用应答方式。
三、控制方式(2)3、联合控制方式:上述两种情况的结合。大部分操作序列安排在固定的机器周期中,对某些时间难以确定的操作则以执行部件的“回答”信号作为本次操作的结束。机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。6.5
微程序控制器前言:基本思想:利用软件方法设计硬件。早在1951年,英国剑桥大学的M.V.Wilkes教授提出了微程序设计,其实质是用程序设计的思想方法来组织操作控制逻辑,把各条指令的微操作序列编制成微程序,并存放在控制存储器中,执行机器指令时,通过读取并执行相应的微程序来实现这条机器指令的功能。微程序控制器特点:具有规整性、灵活性、可维护性等一系列优点。一、基本概念微命令:控制部件通过控制线向执行部件发出各种控制命令;微命令是构成控制信号序列的最小单位
微操作:执行部件接受微命令后所进行的操作。微操作是执行部件中最基本的操作
基本概念相容性的微操作:在同时或同一个CPU周期内可以并行执行的微操作;相斥性的微操作:不能同时或同一个CPU周期内并行执行的微操作。基本概念微指令:在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合。我们知道一条机器指令的指令周期包含多个CPU周期,根据微指令的概念,一个CPU周期对应一条微指令,因此,一条机器指令的功能是由多条微指令组成的序列来实现的。这样的一个实现一条机器指令的功能微指令的有序集合称为微程序。微指令格式:不仅要产生一组微命令,还要形成后继微地址,即执行完某一条微指令后,必须给出下一条微指令的地址,下一条微指令的地址也称为后继微地址,以便当前微指令执行完毕后能正确取出下一条微指令。因此,微指令的格式应至少包含操作控制字段和顺序控制字段两部分。操作控制字段用来产生微命令,顺序控制字段用来形成后继微地址。基本概念
微指令长度为23位,操作控制字段占17位,顺序控制字段占6位,其中4位(20~23)用来直接形成后继微地址,第18、19位两位作为判断测试标志。当此两位都为“0”时,表示不进行测试,直接将微指令中第20~23位作为后继微地址;当微指令的第18位或第19位为“1”时,表示要进行P1或P2的判断测试,根据测试结果,需要对微指令中第20~23位的某一位或某几位进行修改,将修改后的地址作为后继微地址。
二、微程序控制器组成微程序控制器的组成与结构如图所示。它主要由控制存储器、微指令寄存器和微指令地址形成部件三大部分组成。
微程序控制器组成(1)控制存储器(CM)控制存储器是用来存放指令系统所对应的全部微程序,它是一种读出时间较快的只读存储器,其容量视指令系统而定,其字长由控制命令的多少、微指令的编码格式以及下址字段的宽度而定。(2)微指令寄存器(µIR)微指令寄存器是用来存放从控制存储器读出的一条微指令。顺序控制字段用来产生将要执行的下一条微指令的地址,操作控制字段则用来产生一组微命令。微程序控制器组成(3)微指令地址形成部件微指令地址形成部件又称微指令地址发生器或后继微地址形成部件,是用来形成将要执行的下一条微指令的地址(简称后继微地址)。一般情况下,下一条微指令的地址由上一条微指令的顺序控制字段直接决定。当微程序出现分支时,将由状态条件的反馈信息去形成转移地址;当取指令公共操作完成后,可以根据指令的操作码去产生微指令入口地址。微程序的执行过程(1)读取并执行公共的“取指令”微指令从控制存储器中取出一条公共的“取指令”微指令,并送到微指令寄存器µIR。由于这是一条公用的微指令,一般存放在控制存储器的0号或1号地址单元。微指令实现从主存中读取机器指令并将其送到指令寄存器IR。微程序控制器组成(2)形成微程序入口地址根据指令寄存器IR中的指令操作码,通过微地址形成线路产生相应的微程序入口地址,并将微程序入口地址送往微地址寄存器µAR。(3)执行微程序根据微地址寄存器µAR中的微地址,取出微程序中第一条微指令并送入微指令寄存器µIR,开始执行µIR中的微指令,该微指令执行结束时,将顺序控制字段所形成的后继微地址再送入微地址寄存器µAR,去读取下一条微指令。如此重复,直至微程序中的最后一条微指令。(4)实现返回执行完一条机器指令对应的一段微程序后,返回0号或1号微地址单元,读取并执行“取指令”微指令。由此可见,微程序控制器的工作过程涉及到两个层面:一个层面是程序员所看到的传统机器级,包括指令、程序、主存储器;另一个层面是设计者所看到的微程序级,包括微指令、微程序、控制存储器(相对程序员是“透明”的)。三、微程序设计
微程序设计的关键是如何设计微指令的结构,与微指令结构相关的因素较多,除机器硬件外,还要考虑如何缩短微指令字的长度,如何提高微程序的执行速度,如何有利于对微指令的修改,以便提高微程序设计的灵活性。1、微命令编码微命令编码是指对微指令中的操作控制字段所进行的编码,其编码方法有直接表示法、编码表示法、混合表示法。(1)直接表示法操作控制字段中的每一位代表一个微命令,其优点是简单、直观,输出可直接用于控制,一条微指令可以定义并执行多个并行的微命令。微程序设计(2)编码表示法编码表示法把一组相斥性的微命令组成一个字段,然后通过微命令译码器对每一个字段进行译码,译码输出作为微命令。采用编码表示法,可以用较少的二进制信息位表示较多的微命令。微程序设计(3)混合表示法混合表示法把直接表示法和编码表示法相混合使用,以便能综合考虑微指令字长、灵活性和执行速度等方面的要求。2、后续微地址的形成方法微指令执行的顺序控制问题,实际上是如何确定下一条微指令的地址问题。通常,产生后续微地址的方法有计数器方式、增量方式与断定方式结合、多路转移方式三种。(1)计数器方式这种方式与用程序计数器PC来产生后续指令地址的方法类似。微程序设计μPC兼作控制存储器的地址寄存器,其输入有4个。下址字段仅有两位,其功能是选择3个输入源的一个作为μPC的输入,而微程序入口是由专门的硬件电路产生,不受下址字段控制。计数器方式的基本特点是:微指令的顺序控制字段较短,微地址产生机构简单。但是多路并行转移功能较弱,速度较慢,灵活性较差。
微程序设计(2)增量方式与断定方式的结合在这种方式中,微指令顺序控制字段又分为条件选择字段和转移地址字段两部分,其中条件选择字段用来规定“条件转移”微指令要测试的外部条件;转移地址字段可用作后继微地址。
μPC是微程序计数器,具有计数和并行接受数据的功能微程序设计假设必须测试的两个状态条件变量为V1和V2,故需使用一个2位的条件选择字段S1S0:①当S1S0=00时,微程序不转移。②当S1S0=01时,如果V1=1则转移,否则顺序执行。③当S1S0=10时,如果V2=1则转移,否则顺序执行。④当S1S0=11时,无条件转移。与此对应,多路开关有4个输入X0、X1、X2、X3,其中X0=0,X1=V1,X2=V2,X3=1。因此,当S1S0=i时,它选通多路开关输出Xi。从而控制“转移地址”字段的内容送入或不送入μPC(3)多路转移方式在执行一条微指令时,可能会遇到从若干个微地址中选择一个作为后续微地址的情况,这种转移方式称为多路转移。微程序设计微程序设计实践表明,实现两路转移的情况较多,其次是四路转移,而四路以上转移的情况比较少见。两路转移只涉及微地址的一位;四路转移涉及微地址的两位,一般就定在微地址的最后两位。
多路转移方式的特点是:能与较短的顺序控制字段配合,实现多路并行转移,灵活性好,速度快,但转移地址逻辑需要用组合逻辑方法实现。四、微程序设计举例微程序设计的关键是设计微指令的结构,而微指令的结构设计又取决于控制器和运算器的结构。在此我们以图6-20所示的运算器、图6-21所示的微指令格式为例,来具体说明“十进制加法”指令的微程序设计过程。1、十进制加法指令的功能
微程序设计举例2、十进制加法指令的微程序流程图假设两个一位十进制数a和b已存放在图6-20中的R1和R2寄存器中,数6存放在R3寄存器中。其算法采用先进行a+b+6运算,再判断结果有无进位,若有进位Cy=1,不减6;若无进位Cy=0,减去6。因此,完成十进制加法指令的微程序流程00000001000010011000
0000RD0000Cy=0Cy=1PC→AR→ABUSDBUS→DR→IR,PC+1P1R1+R2→R2R2+R3→R2P2R2-R3→R2微程序设计举例3、十进制加法指令的微程序根据图6-28可知,十进制加法指令的微程序由4条微指令组成。第一条微指令是完成取指操作,该微指令所在控制存储器该微指令所在控制存储器的地址为0000,其编码为:000000
000
00011111100000这条微指令在执行时,一方面操作控制字段产生5个微命令,他们分别是LDAR´、RD´、LDDR´、LDIR´、PC+1。LDAR´执行PC→AR;PC+1执行PC+1→PC;RD´和LDDR´执行M→DR;LDIR´执行DR→IR。假设十进制加法指令的操作码为1000,那么指令寄存器IR中的指令操作码是1000。另一方面,顺序控制字段指明下一条微指令的地址为0000。由于判断字段中P1=1,表示测试的“状态条件”是指令寄存器IR中的指令操作码1000,即用指令操作码1000作为下一条微指令的地址,因此,此微指令的下址0000并不是下一条微指令的真正地址。下一条微指令的真正地址是指令的操作码1000,于是,微地址寄存器µAR的内容修改为1000。微程序设计举例第二条微指令是完成a+b运算操作,该微指令的微地址为1000,其编码为:010100100
10000000001001根据微地址寄存器µAR的内容1000,取出第二条微指令并执行。执行时,一方面操作控制字段产生4个微命令,他们分别是R1→X、R2→Y、+、LDR2´。于是,运算器完成R1+R2→R2的操作。另一方面,顺序控制字段中判断测试字段P1和P2均为0,表示不进行测试,于是,该微指令的下址字段1001直接作为下一条微指令的地址,并传送到微地址寄存器µAR。微程序设计举例第三条微指令是完成a+b+6运算操作,该微指令的微地址为1001,其编码为:01000100110000000010000根据微地址寄存器µAR的内容1001,取出第三条微指令并执行。执行时,一方面操作控制字段产生4个微命令,他们分别是R2→X、R3→Y、+、LDR2´。于是,运算器完成R2+R3→R2的操作。另一方面,顺序控制字段中判断测试字段P2为1,表示对P2进行测试,测试的“状态条件”为进位标志Cy,根据进位标志Cy的状态来修改微地址寄存器µAR的最后一位:若Cy=0时,下一条微指令的地址为0001;若Cy=1时,下一条微指令的地址为0000。由此可见,该微指令的下址0000并不是下一条微指令的真正地址。下一条微指令的真正地址是对下址0000的修改。在此假设Cy=0,则要执行的下一条微指令的地址为0001,送到微地址寄存器µAR。微程序设计举例第四条微指令是完成a+b-6运算操作,该微指令的微地址为0001,其编码为:010001001
00100000000000根据微地址寄存器µAR的内容0001,取出第四条微指令并执行。执行时,一方面操作控制字段产生4个微命令,他们分别是R2→X、R3→Y、-、LDR2´。于是,运算器完成R2-R3→R2的操作。另一方面,顺序控制字段中判断测试字段P1和P2均为0,表示不进行测试,于是,该微指令的下址字段0000直接作为下一条微指令的地址,并传送到微地址寄存器µAR,按该地址取出的微指令为“取指”微指令。如果第三条微指令进行测试时Cy=1,那么,下一条微指令的地址为0000,将不执行第四条微指令,而是直接由第三条微指令就转向“取指”微指令,便开始从内存中取第二条机器指令,再转去执行该机器指令相应的微程序。五、CPU周期与微指令周期的关系
在串行方式的微程序控制器中,
微指令周期=读出微指令的时间+执行该条微指令的时间为了保证整个机器控制信号的同步,一般将一个微指令周期时间设计得恰好和CPU周期时间相等。六、机器指令与微程序的关系图5.27很好地说明了机器指令和微指令之间的关系,也方便深层次地解释程序的执行过程:取指令入IR后通过微程序执行指令。小结:一条机器指令的功能是由若干条微指令组成的序列来实现的。从指令与微指令,程序与微程序,地址与微地址的一一对应关系来看,前者与内存储器有关,后者与控制存储器有关。每一个CPU周期就对应一条微指令。6.6
硬布线控制器
硬布线控制器:把控制部件看做产生专门固定时序控制信号的逻辑电路。由门电路和触发器构成复杂树形网络。与微程序控制相比,硬布线控制的速度较快。其原因是微程序控制中每条微指令都要从控存中读取一次,影响了速度,而硬布线控制主要取决于电路延迟。由于硬布线控制器的电路结构很复杂,设计和调试都非常困难,后来就被微程序控制器所替代。但是随着新一代机器及VLSI技术的发展,硬布线逻辑设计思想又得到了重视。因此,近年来在某些超高速新型计算机结构中,又选用了硬布线控制,或与微程序控制器混合使用。
硬布线控制器设计(1)组合逻辑控制器由组合逻辑线路、模k时序产生器和1/k译码器等部件组成,其原理如图所示。组合逻辑线路的输入信号有:指令译码器的输出Im、执行部件的反馈信息Bj、时序产生器的节拍脉冲Tk;组合逻辑线路的输出信号就是微操作控制信号CnCn=ƒ(Im,Tk,Bj)。
硬布线控制器设计(2)[例4]
图6.32中五条指令的微操作控制信号的产生。回顾指令流程写出逻辑函数LDAR=M1·T2+M2(ADD+STA)·T2LDDR=M1·T3+M3(ADD+STA)·T3LDIR=M1·T4RD=M1+M3·ADDWE=M3·STA其中:M1、M2、M3是三个节拍电位信号;T3、T4为时钟周期信号;ADD、STA、JMP是指令OP字段译码器的输出信号。6.7
门阵列控制器采用通用可编程逻辑器件可以实现组合逻辑,也可以实现时序逻辑,由于通用可编程逻辑器件由大量的与门、或门阵列等电路构成,所以简称为门阵列器件。为了与早期的组合逻辑控制器相区别,用门阵列设计的操作控制器称为门阵列控制器。可编程逻辑器件PLAPLA是多个“与”门电路的集合,并且它可以在任何一个输出端上进行“或”运算。如下的PLA器件有四个输入变量x1、x2、x3、x4,每个变量有原码和反码两个输出;三个和项f1~f3(“或”逻辑)中每一个可以包含8个乘积项y1~y8(“与”逻辑),每一个和项fi控制一个输出函数,它可用外界电脉冲编制程序。交叉线上的圆点在矩阵上部相当于“与”门,而在矩阵下部的则相当于“或”门。输入变量的每一行可以被地址矩阵的每一列识别为逻辑“1”、“0”或者任意值(用d表示)。门阵列控制器门阵列控制器门阵列控制器基本思想我们知道微操作控制信号既是操作码的函数,又是节拍电位、节拍脉冲和反馈条件等因素的函数。因此,在设计门阵列控制器时,通常把指令的操作码、节拍电位、节拍脉冲和反馈条件作为门阵列的输入,再按一定的“与或”关系来编排逻辑阵列的输出,便是所需要的微操作控制信号。假设某一微操作控制信号C6发生在指令A(设OP为I1I2)的节拍电位M2、节拍脉冲T4时间,也发生在指令B(设OP为I1I2)的节拍电位M3、节拍脉冲T2时间,且进位触发位Cy为“1”,那么C6的逻辑表达式如下:C6=I1I2·M2·T4+I1I2·M3·T2·Cy将上述输入变量送入门阵列电路进行编排,就可产生所需要的微操作控制信号。6.8
流水线处理技术指令执行方式指令执行方式是指令执行过程之间的衔接关系。由于一条指令的执行过程大体上可分为取指令、分析指令和执行指令三个阶段,所以,指令执行方式可以分为顺序、重叠和流水三种方式顺序执行方式顺序执行方式是指各条指令执行过程之间是顺序串行执行的。重叠执行方式重叠执行方式是指在前一条指令执行完成之前,就开始取下一条指令并执行。即相邻两条指令的执行过程在时间上发生重叠
流水执行方式流水执行方式是对重叠执行方式的进一步发展,采用类似生产流水线方式来控制指令的执行过程。
流水线处理技术流水线处理技术线性流水线线性流水线在执行多个任务时,多个任务从线性流水线的入口鱼贯而入,经各个功能部件处理,到达一定的时间后,线性流水线的出口就会每经过一个时间片完成一个任务。对于四段线性指令流水线而言,在经过4个Δt之后,每一个Δt就会执行完一条指令,这个过程可以用线性流水线时空图进行描述流水线处理技术流水线技术指标流水线处理技术高级流水线为了提高流水线的处理速度,目前主要采取的措施有:超流水技术、超长指令字技术和超标量技术,有关详细内容请参考“计算机系统结构”(1)超流水技术超流水技术主要体现在时间上的进一步重叠,即进一步细化流水线的功能段,增加功能段数量。(2)超长指令字技术超长指令字技术简称VLIW,用于指令系统的进一步重叠,即通过增加超长指令来改善流水性能。具体而言,超长指令字技术经过编译优化,将多条能够并行执行的指令合并成一条具有多个操作码的超长指令。(3)超标量技术超标量技术是通过重复设置流水线,来进一步加快流水处理速度。如Pentium微处理器,内部采用了2套流水线(U、V流水线),从而进一步提高了运算器的运算速度。流水线处理技术流水线中的相关问题
1、资源相关资源相关是指多条指令进入流水线后,在同一机器时钟周期内争用同一个功能部件所发生的冲突。假定一条指令流水线由五段组成。由表6-5可以看出,在时钟4,I1与I4两条指令发生争用存储器资源的相关冲突。解决资源相关冲突的办法:一是第I4条指令停顿一拍后再启动;二是增设一个存储器,将指令和数据分别放在两个存储器中。流水线处理技术数据相关在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的。在流水计算机中,指令的处理是重叠进行的,前一条指令还没有结束,第二、三条指令就陆续地开始工作。由于多条指令的重叠处理,当后继指令所需的操作数,刚好是前一指令的运算结果时,便发生数据相关冲突。如ADD指令与SUB指令发生了数据相关冲突解决数据相关冲突的办法:在流水CPU的运算器中设置若干运算结果缓冲寄存器,暂时保留运算结果,以便于后继指令直接使用,这称为“向前”或“定向”传送技术。流水线处理技术控制相关控制相关是由转移指令引起的,所以也称控制转移相关。当CPU执行转移取指令时,依据转移条件的产生结果,可能为顺序取下条指令;也可能转移到新的目标地址取指令,从而使流水线发生断流。为了减小转移指令对流水线性能的影响,常用以下两种转移处理技术:(1)延迟转移法由编译程序重排指令序列来实现,其基本思想是“先执行再转移”,即发生转移时并不排空指令流水线,而是让紧跟在转移指令Ib之后已进入流水线的少数几条指令继续完成,如果这些指令是与Ib结果无关的有用指令,那么延迟损失时间片正好得到了有效的利用。(2)转移预测法用硬件方法来实现,依据指令过去的行为来预测将来的行为。通过使用转移取和顺序取两路指令预取队列器以及目标指令cache,可将转移预测提前到取指阶段进行,以获得良好的效果。6.9
典型CPU简介Intel8088/8086CPU
典型CPU简介Intel80486CPU(32位DB、32位AB)使用了流水线技术。片内8Kcache包含增强性80387协处理器(浮点运算器FPU)Pentium4处理器的逻辑结构指令译码器整数寄存器组L2cache(48GB/s)
L1数据cache(8KB)浮点寄存器组慢ALU复杂指令2xALU简单指令2xALU简单指令2xAGU存地址浮点存浮点取2xAGU取地址MMXSSE/SSE2浮点加浮点乘浮点除跟踪cache分支预测器执行跟踪cache(12000微操作)微码ROM微操作队列微操作队列指令预取部件动态分支预测器前端总线256位,时钟频率64位,时钟频率总线接口部件预取控制逻辑总线接口运算器寄存器组控制器Pentium4的超标量结构运算器采用超标量(superscalar)结构,一共包含9个ALU,均可同时工作:2个高速整数ALU(每个时钟周期进行2次操作),用于完成简单的整数运算(如加、减法)1个慢速整数ALU(需要多个时钟周期才能完成1次操作),用于完成整数乘、除法运算2个地址生成部件(AGU),用于计算操作数的有效地址,所生成的地址分别用于从内存取操作数或向内存保存操作结果1个ALU用于完成浮点操作数地址的计算1个ALU用于完成浮点加法、乘法和除法运算1个ALU用于执行流式的SIMD处理(SSE/SSE2/SSE3指令)1个ALU用于完成多媒体信号处理(MMX指令)整数寄存器组
L1数据cache(8KB)
浮点寄存器组慢ALU复杂指令2xALU2xALU简单指令2xAGU存地址浮点存浮点取2xAGU取地址MMXSSESSE2SSE3浮点加、减、乘、除等运算简单指令TT0T1T2T3T4T5T6T7T8T9I6I5I4I3指令的流水线执行指令1(I1)指令2(I2)···指令3(I3)I2指令的顺序执行:I1指令的流水线执行:Pentium4的流水线分成20级,每一级的操作都很简单,执行速度极快,因而允许时钟频率高达1GHz以上超流水线(Hyper-pipeline)技术Pentium4有多条超流水线,每条流水线的级数均很长,定点运算达20级,浮点运算达到29级,处于执行状态的指令数最多可达到126条整数寄存器组浮点数寄存器组超级流水线中每步操作都非常简单,因此主频可以显著提高取指阶段译码阶段执行阶段保存结果,修改IP
Pentium4的20级超流水线结构的示意图:指令预取和分支预测为了使流水线不中断,指令预取部件用于完成指令地址的计算,并从指令cache中读取指令(一次64位),它还通过动态分支预测器对即将执行的指令提前进行预取,如果预测发生错误,那么流水线就会中断,CPU的速度将会受到影响指令cache及指令预取部件动态分支预测器指令译码器跟踪cache分支预测器执行跟踪cache(12000微操作)微码ROM控制整数ALU的微操作队列控制浮点ALU的微操作队列A=A+2;If(A>10)B=A;Pentium的64位扩展技术(EM-64T)整数寄存器组P4Pentium803868048680868088指令计数器标志寄存器64位处理器的整数寄存器组共16个64位寄存器,另外还增加8个128位的SSE寄存器增加了处理64位整数的指令支持c语言中的“longint”数据类型,对应的是64位整数Pentium4的64位寄存器组双核处理器1个芯片中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆工商大学《智能控制导论》2024-2025学年第二学期期末试卷
- 焦作工贸职业学院《劳动经济学A》2024-2025学年第二学期期末试卷
- 2026贵阳市矿能集团石化发展有限公司下属加油站营业员长期招聘4人考试参考试题及答案解析
- 2026云南玉溪市华宁县总医院第一批就业见习岗位招募44人笔试模拟试题及答案解析
- 2026年甘肃省兰州市教育系统招聘公费师范毕业生、“优师计划”和“国优计划”毕业生需求计划更新(115人)考试参考试题及答案解析
- 2026云南昆明市西山区审计局招聘辅助工作人员1人考试参考试题及答案解析
- 2026南昌市青云谱实验学校招聘派遣制教师2人考试参考试题及答案解析
- 2026云南普洱学院招聘39人笔试备考试题及答案解析
- 2026广东佛山市顺德区勒流新球初级中学化学临聘教师招聘考试参考题库及答案解析
- 2026浙江嘉兴市海宁市招聘专职消防员3人考试参考题库及答案解析
- 2024年江苏信息职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 板材行业销售渠道分析
- 2024地面用晶体硅光伏组件环境适应性测试要求第1部分:一般气候条件
- 教科版四年级下册科学全册教案
- 苏教版五年级下册数学 列方程解决两步实际问题 教案(教学设计)
- 洼田饮水试验评定量表
- 《煤气安全作业》培训教材
- 概率论与数理统计期末考试卷附答案
- 穴位注射水针专题宣讲
- 《髋臼骨缺损分型》
- GA/T 652-2017公安交通管理外场设备基础设施施工通用要求
评论
0/150
提交评论