《计算机组成原理第五章》由会员分享,可在线阅读,更多相关《计算机组成原理第五章(66页珍藏版)》请在金锄头文库上搜索。
1、第第5 5章章 中央处理器中央处理器第第5 5章章 中央处理器中央处理器 CPUCPU的功能和组成的功能和组成5.15.1硬连线控制器硬连线控制器时序产生器和控制方式时序产生器和控制方式5.35.3微程序控制器微程序控制器5.45.45.55.5流水流水CPUCPU5.65.6 指令周期指令周期5.25.22021/6/725.1.1 CPU5.1.1 CPU的功能的功能v中央处理器中央处理器CPUCPU的主要功能是的主要功能是自动的自动的从主存储从主存储器中取出指令、分析指令和执行指令,即按器中取出指令、分析指令和执行指令,即按指令控制计算机各部件操作,并对数据进行指令控制计算机各部件操作,
2、并对数据进行处理处理。 指令控制:控制程序的执行顺序;操作控制:产生各种操作所需的控制信号;时间控制:对各种操作实施时间上的定时;数据加工:对数据进行算术、逻辑运算处理。2021/6/735.1.2 CPU5.1.2 CPU的基本组成的基本组成CPU的基本组成:的基本组成:运算器运算器、控制器控制器、cache 。运算器:运算器:实现数据的实现数据的算术与逻辑运算算术与逻辑运算。控制器:控制器:产生控制信号产生控制信号,协调和指挥各个部件完成执协调和指挥各个部件完成执 行指令的操作。行指令的操作。l取指令,并指出下条指令的地址;取指令,并指出下条指令的地址;l对指令译码或测试,并产生相应的操作
3、控制信号;对指令译码或测试,并产生相应的操作控制信号;l指挥并控制指挥并控制CPUCPU、存储器和、存储器和I/OI/O设备之间数据流动设备之间数据流动的方向。的方向。Cache Cache :存储指令和数据。:存储指令和数据。2021/6/74CPU模型模型2021/6/755.1.3 CPU5.1.3 CPU中的主要寄存器中的主要寄存器v寄存器的功能:暂存指令和数据数据缓冲寄存器(DR):存运算结果及内部缓冲;缓冲CPU与外部(主存与外设)数据传送。指令寄存器(IR):存储当前正在执行的指令字。指令译码器:分析测试指令操作码的功能。程序计数器(PC):存储下一条要执行指令的地址。地址寄存器
4、(AR):存储当前访问数据的地址。通用寄存器(R0R3):存储参与运算及运算结果的数据。状态字寄存器(PSW):存储运算状态。2021/6/765.1.4 5.1.4 操作控制器与时序产生器操作控制器与时序产生器v操作控制器:根据指令操作码和时序信号,产生各种控制信号,在各寄存器之间建立数据通路。微程序控制器硬布线控制器v时序产生器:产生定时信号,对各种操作信号实施时间上的控制。2021/6/77第第5 5章章 中央处理器中央处理器 CPUCPU的功能和组成的功能和组成5.15.1硬连线控制器硬连线控制器时序产生器和控制方式时序产生器和控制方式5.35.3微程序控制器微程序控制器5.45.45
5、.55.5流水流水CPUCPU5.65.6 指令周期指令周期5.25.22021/6/785.2.1 5.2.1 指令周期的基本概念指令周期的基本概念vCPU的工作就是周而复始的执行指令过程。v指令的分段执行过程取指令:根据PC提供的地址从主存/cache中读取当前指令,送到指令寄存器IR中;分析指令:通过译码电路分析IR中指令操作码字段表示什么操作,并在时序系统的配合下产生该指令对应的微操作命令序列;执行指令:执行阶段还可细分为:为:取操作数执行操作形成下一条指令地址在运行的过程中,在运行的过程中,CPUCPU还要对出现的某还要对出现的某些些异常情况异常情况或或输入输入/ /输输出请求出请求
6、进行处理进行处理 。2021/6/79v指令的周期:CPUCPU从内存取出一条指令并执行这条指令的所有操从内存取出一条指令并执行这条指令的所有操作时间总和。又可细分成若干个作时间总和。又可细分成若干个CPUCPU周期。周期。CPU周期:又称机器周期,一般用从内存读取一条指令字的又称机器周期,一般用从内存读取一条指令字的最短时间来定义。又可细分成若干个时钟周期。最短时间来定义。又可细分成若干个时钟周期。 时钟周期:CPU处理操作的基本时间单位,通常称为节通常称为节拍脉冲或拍脉冲或T T周期。一个周期。一个CPUCPU周期包含若干个时钟周期。周期包含若干个时钟周期。v基本指令周期:取指周期,执行周
7、期基本指令周期:取指周期,执行周期2021/6/710v典型指令功能:典型指令功能:指令助记符:指令助记符:MOV R0MOV R0,R1R1 功能:寄存器数据传送功能:寄存器数据传送 操作:(操作:(R1R1)R0R0指令助记符:指令助记符:LAD R1LAD R1,6 6 功能:从内存取数到寄存器功能:从内存取数到寄存器 操作:操作: (6 6) R1 R1指令助记符:指令助记符:ADD R1ADD R1,R2R2 功能:加法操作功能:加法操作 操作:操作: (R1R1)+ +(R2R2) R2 R22021/6/711指令助记符:指令助记符:STO R2STO R2,(,(R3R3) 功
8、能:存寄存器数据到内存功能:存寄存器数据到内存 操作:操作: (R2R2) (R3R3) 指令助记符:指令助记符:JMP 101JMP 101 功能:无条件转移功能:无条件转移 操作:操作: 101PC 101PC指令助记符:指令助记符:AND R1AND R1,R3R3 功能:逻辑与操作功能:逻辑与操作 操作:操作: (R1R1)(R3R3) R3 R32021/6/7122021/6/7135.2.2 MOV5.2.2 MOV指令的指令周期指令的指令周期取指令周期操作步骤:v101 PCvPCABUSPCABUS(I I););v(101) IBUS IR vPC+1 PCPC(10210
9、2)vOP数据经过译码器识别为MOV指令。2021/6/714执行指令周期操作步骤:v OC R1 OC R1 v OC送传送信号 v R1 ALU R1 ALU通路通路DBUS DBUS v DBUS DR DBUS DRv DR R0 DR R0CPU周期数:2个,取指和执行指令各占一个。10102102021/6/7155.2.3 LAD5.2.3 LAD指令的指令周期指令的指令周期10PCABUS(I)IBUSIRPC+1IR(A)AR译码译码AR ABUSDBUSDRDR R11002021/6/7165.2.4 ADD5.2.4 ADD指令的指令周期指令的指令周期10译码译码R1+
10、R2DRDR R2PCABUS(I)IBUSIRPC+11202021/6/7175.2.5 STO5.2.5 STO指令的指令周期指令的指令周期10R3 AR译码译码R2DBUSPCABUS(I)IBUSIRPC+11202021/6/7185.2.6 JMP5.2.6 JMP指令的指令周期指令的指令周期译码译码IR()()PCABUS(I)IBUSIRPC+11012021/6/7195.2.7 5.2.7 用方框图语言表示指令周期用方框图语言表示指令周期v小结:用方框图语言表示机器指令周期,一个方框代表一个CPU周期。2021/6/720例1: ADD R2,R0 解:(R2)+(R0)
11、(R0)PCARMDRPC+1 PCDRIRPCo,G ,ARiR/W=R,PC+1DRo,G,IRiR2YR0XY+XR0R2o,G,YiR0o,G,Xi+,G,R0i取指取指执行执行PC+12021/6/721例2:(2)SUB R1,R3解(R1)-(R3)(R3)DRIRDRo,G,IRiR3YR1XY-XR3R3o,G,YiR1o,G,Xi-,G,R3i取指取指执行执行PC+1PCARMDRPC+1 PCPCo,G ,ARiR/W=R,PC+12021/6/722例题例题 某计算机字长16位,采用16位定长指令字结构,部分数据通路结构如图所示。图中所有控制信号为1时表示有效、为0时表
12、示无效。例如控制信号MDRinE为1表示允许数据从DB打入MDR,MDRin为1表示允许数据从内总线打入MDR。假设MAR的输出一直处于使能状态。 加法指令ADD (R1),R0 的功能为R0中的数据与R1的内容所指主存单元的数据相加,并将结果送入R1的内容所指主存单元中保存。2021/6/7232021/6/7242021/6/7252021/6/726第第5 5章章 中央处理器中央处理器 CPUCPU的功能和组成的功能和组成5.15.1硬连线控制器硬连线控制器时序产生器和控制方式时序产生器和控制方式5.35.3微程序控制器微程序控制器5.45.45.55.5流水流水CPUCPU5.65.6
13、 指令周期指令周期5.25.22021/6/7275.3.1 5.3.1 时序信号的作用和体制时序信号的作用和体制指令的执行过程就是依次指令的执行过程就是依次产生产生一个确定的一个确定的控制控制信号序列信号序列的过程。的过程。u指令的执行是分阶段分步骤进行的。指令的执行是分阶段分步骤进行的。u每一步的操作是由控制器产生一些相应的控制信号实现。每一步的操作是由控制器产生一些相应的控制信号实现。u各步骤的操作是有先后秩序的,控制信号的长短必须有各步骤的操作是有先后秩序的,控制信号的长短必须有严格的时间控制。严格的时间控制。常用控制器时序方式:常用控制器时序方式:u硬布线控制器:采用硬布线控制器:采
14、用主状态周期主状态周期-节拍电位节拍电位-节拍脉冲三节拍脉冲三级体制级体制。u微程序控制器:采用微程序控制器:采用节拍电位节拍电位-节拍脉冲节拍脉冲二级体制二级体制。2021/6/7285.3.2 5.3.2 时序信号产生器时序信号产生器时钟源时钟源:产生:产生方波方波时钟脉冲信号。时钟脉冲信号。 环形脉冲发生器:产生一组有序的间隔相等或不等的环形脉冲发生器:产生一组有序的间隔相等或不等的脉冲序脉冲序列列。 节拍脉冲和读写时序电路:产生节拍脉冲及存储器读写时序节拍脉冲和读写时序电路:产生节拍脉冲及存储器读写时序信号。信号。启停控制逻辑电路:节拍脉冲信号启停控制逻辑电路:节拍脉冲信号使能使能电路
15、。电路。2021/6/7292021/6/7302021/6/7315.3.3 5.3.3 控制方式控制方式同步控制方式:指令在执行时所需的机器周期数指令在执行时所需的机器周期数(CPU(CPU周周期)和时钟周期数(节拍脉冲)都固定不变。期)和时钟周期数(节拍脉冲)都固定不变。采用完全统一的机器周期执行各种不同的指令。采用完全统一的机器周期执行各种不同的指令。采用不定长机器周期。采用不定长机器周期。中央控制与局部控制结合。中央控制与局部控制结合。异步控制方式:指每个操作控制信号根据需要确定完成指每个操作控制信号根据需要确定完成时间。时间。根据根据“应答应答”方式操作。方式操作。 联合控制方式
16、:同步控制和异步控制相结合的方式。同步控制和异步控制相结合的方式。大部分操作序列安排在固定的机器周大部分操作序列安排在固定的机器周 期中,部分采用期中,部分采用“回答回答”信号方式;信号方式;机器周期的节拍脉冲数固定,但是各条指令周期的机机器周期的节拍脉冲数固定,但是各条指令周期的机器周期数不固定。器周期数不固定。即控制不同操作序列时序信即控制不同操作序列时序信号的方法号的方法2021/6/732第第5 5章章 中央处理器中央处理器 CPUCPU的功能和组成的功能和组成5.15.1硬连线控制器硬连线控制器时序产生器和控制方式时序产生器和控制方式5.35.3微程序控制器微程序控制器5.45.45
17、.55.5流水流水CPUCPU5.65.6 指令周期指令周期5.25.22021/6/7335.4.1 5.4.1 微程序控制原理微程序控制原理(一) 微程序控制原理v核心思想:将控制信号编成微指令,这样每条机器指令的所有操作可以编成一段由微指令组成的微程序;将所有机器指令的微程序存到一个只读存储器里(CM),CPU执行一条指令时,只需将CM中相应的一段微程序读出来,就可产生各种微操作信号,以实现该指令的功能。2021/6/734v微命令:控制部件通过控制线向执行部件发出的各种控制信号。LDR1LDR2LDR3R1XR2XDRXR3YR2YR1Yv微操作:执行部件接受微命令后所进行的操作。相斥
18、性微操作相斥性微操作:不能同:不能同时或在同一个时或在同一个CPUCPU周期周期中出现的微操作。中出现的微操作。相容性微操作相容性微操作:能同时:能同时或在同一个或在同一个CPUCPU周期中周期中出现的微操作。出现的微操作。(二)基本术语2021/6/735v微指令: 在机器的一个CPU周期中,一组实现一定操作功能的微命令的组合。微操作控制字段:产生控制信号。顺序控制字段:产生下条微指令的地址。v微程序: 实现一条机器指令功能的许多条微指令组成的序列。微指令给出的控制信号微指令给出的控制信号都是节拍电位信号。都是节拍电位信号。但,有些信号不能来的但,有些信号不能来的太早也不能来的太迟,太早也不
19、能来的太迟,所以,这些微命令还要所以,这些微命令还要和节拍脉冲信号相与。和节拍脉冲信号相与。(二)基本术语(续)2021/6/736v控制存储器: 用于存放实现全部指令系统的微程序。用于存放实现全部指令系统的微程序。v微指令寄存器: 用来存放当前执行的一条微指令。用来存放当前执行的一条微指令。v地址转移逻辑: 用于形成下条微指令的微地址用于形成下条微指令的微地址。(三)微程序控制器组成原理(三)微程序控制器组成原理2021/6/737v处理器部件处理器部件v指令功能:用指令功能:用BCDBCD码来完码来完成十进制的加法运算。成十进制的加法运算。R1+R2R2R1+R2R2v指令流程指令流程v微
20、指令格式微指令格式PCMMIRPC+1R1+R2R2R2+R3R2CR2-R3R2RD,LDIR,PC+1R1X,R2 Y,+,LDR2R2X,R3 Y,+,LDR2R2X,R3 Y,LDR2(四)微程序控制器举例2021/6/738微程序设计流程微程序设计流程000 000 000 000 10101100000PCMMIRPC+1R1+R2R2P1R2+R3R2P2R2-R3R20000010 100 100 100 00000001001101010010001010 001 001 100 00000010000010 001 001 001 000000000002021/6/739
21、微程序控制器组成原理2021/6/740(五)(五)CPUCPU周期与微指令周期关系周期与微指令周期关系微指令周期微指令周期 = = 读出微指令的时间读出微指令的时间 + + 执行该条微指令的时执行该条微指令的时间间 (六)机器指令与微指令的关系(六)机器指令与微指令的关系一条机器指令的功能是由若干条微指令组成的序列来实现一条机器指令的功能是由若干条微指令组成的序列来实现的。的。机器指令存储在内存中,机器指令存储在内存中,CPUCPU外部;微指令存储在外部;微指令存储在CMCM中,中,属于属于CPUCPU内部。内部。 每一个每一个CPUCPU周期对应一条微指令周期对应一条微指令 2021/6/
22、7415.4.2 5.4.2 微程序设计技术微程序设计技术(一)微命令编码方式:(一)微命令编码方式:直接表示法直接表示法将控制字段的每个二进制位定义为一个将控制字段的每个二进制位定义为一个微命令。微命令。优点:简单、直观,执行速度快,操作并行性好。优点:简单、直观,执行速度快,操作并行性好。缺点:微指令字长过长,位空间利用率低。缺点:微指令字长过长,位空间利用率低。编码(分段译码)表示法编码(分段译码)表示法把一组把一组相斥性相斥性的微命令信的微命令信号组合在一个字段,然后通过译码器对每个微命令信号号组合在一个字段,然后通过译码器对每个微命令信号进行译码,译码的输出作为控制信号。进行译码,译
23、码的输出作为控制信号。优点:可用较少的二进制位表示较多的微命令信号,优点:可用较少的二进制位表示较多的微命令信号,缩短缩短CMCM的字长。的字长。缺点:增加了译码电路,速度相对要慢一些。缺点:增加了译码电路,速度相对要慢一些。混合表示法混合表示法为提高灵活性,常在微指令中增设一个为提高灵活性,常在微指令中增设一个常数常数字段。字段。2021/6/742(二)微地址的形成方法(二)微地址的形成方法v多路转移方式(断定方式):多路转移方式(断定方式):将顺序控制字段分成测试字将顺序控制字段分成测试字段(段(P P)和下地址字段。未出现多路分支时,)和下地址字段。未出现多路分支时, 后继由下地后继由
24、下地址字段直接给出,出现多路分支时,根据测试字段值和址字段直接给出,出现多路分支时,根据测试字段值和状态条件选择转移地址。状态条件选择转移地址。优点:多路转移灵活,速度快;优点:多路转移灵活,速度快;缺点:转移地址硬件设计复杂。缺点:转移地址硬件设计复杂。v计数器方式(增量方式):计数器方式(增量方式):顺序执行时,后继地址在现行顺序执行时,后继地址在现行微地址上加上一增量;非顺序执行时,需执行一条转移微地址上加上一增量;非顺序执行时,需执行一条转移微指令。微指令。优点:顺序控制字段较短,设计简单。优点:顺序控制字段较短,设计简单。缺点:多路并行转移弱,速度较慢,灵活性差。缺点:多路并行转移弱
25、,速度较慢,灵活性差。2021/6/743v例2 微地址寄存器有微地址寄存器有6 6位位(A5-A0)(A5-A0),当需要修改其内容时,可,当需要修改其内容时,可通过某一位触发器的强置端通过某一位触发器的强置端S S将其置将其置“1”“1”。现有三种情况:。现有三种情况:(1)(1)执行执行“取指取指”微指令后,微程序按微指令后,微程序按IRIR的的OPOP字段字段(IR3-IR0)(IR3-IR0)进行进行1616路分支;路分支;(2)(2)执行条件转移指令微程序时,按进位标志执行条件转移指令微程序时,按进位标志C C的状态进行的状态进行2 2路分支;路分支;(3)(3)执行控制台指令微程
26、序时,按执行控制台指令微程序时,按IR4IR4,IR5IR5的状态进行的状态进行4 4路分支。路分支。请按多路转移方法设计微地址转移逻辑。请按多路转移方法设计微地址转移逻辑。【解】v按题意,微程序有三种判别测试,分别为P1,P2,P3。 由于修改A5-A0内容具有很大灵活性,现分配如下:(1)用P1和IR3-IR0修改A3-A0;(2)用P2和C修改A0;(3)用P3和IR5,IR4修改A5,A4。2021/6/744(三)微指令的格式(三)微指令的格式水平型微指令水平型微指令在一个微指令周期内,同时给出多个能在一个微指令周期内,同时给出多个能并行操作的微命令。并行操作的微命令。全水平型全水平
27、型字段译码型字段译码型混合型混合型垂直型微指令垂直型微指令在微指令中设置微操作码字段和地址码在微指令中设置微操作码字段和地址码字段,采用微操作码编译法,并由微操作码规定微指令字段,采用微操作码编译法,并由微操作码规定微指令的功能。的功能。二者比较二者比较:水平型并行操作能力强、效率高、灵活性强,:水平型并行操作能力强、效率高、灵活性强,微指令执行时间短,但微指令字长长、复杂程度高、对微指令执行时间短,但微指令字长长、复杂程度高、对硬件了解程度高。而垂直型相反。硬件了解程度高。而垂直型相反。(四)动态微程序设计(四)动态微程序设计静态微程序设计静态微程序设计:微程序设计好后,不再(能)修改;:微
28、程序设计好后,不再(能)修改;动态微程序设计动态微程序设计:微程序可根据需要再修改。:微程序可根据需要再修改。2021/6/745第第5 5章章 中央处理器中央处理器 CPUCPU的功能和组成的功能和组成5.15.1硬连线控制器硬连线控制器时序产生器和控制方式时序产生器和控制方式5.35.3微程序控制器微程序控制器5.45.45.55.5流水流水CPUCPU5.65.6 指令周期指令周期5.25.22021/6/746v基本思想:基本思想:用门电路和触发器构成的逻辑电路来产生控制信号。v设计方法:综合所有机器指令流程的微操作时间表,列出各微命令与输入的关系,设计出逻辑式,用门电路或可编程器件来
29、实现。优点:速度快缺点:设计复杂、不易修改。2021/6/747采用同步控制方式:长指令和短指令的节拍时间一样。采用同步控制方式:长指令和短指令的节拍时间一样。设计方法:根据所有机器指令流程图,寻找产生同一个微操作信号设计方法:根据所有机器指令流程图,寻找产生同一个微操作信号的所有条件,并与适当的节拍电位和节拍脉冲组合,然后用布尔代的所有条件,并与适当的节拍电位和节拍脉冲组合,然后用布尔代数表达式描述,最后用门电路来实现。数表达式描述,最后用门电路来实现。M1,M2,M3为节拍电位为节拍电位信号,信号,T1,T2,T3,T4为一个为一个CPU周期的节拍脉周期的节拍脉冲信号,冲信号,MOV,LA
30、D,ADD,STO,JMP分别分别表示对应机器指令的表示对应机器指令的OP操作码译码输出信号。请操作码译码输出信号。请写出,写出,LDIR、LDDR的逻的逻辑表达式。辑表达式。2021/6/748第第5 5章章 中央处理器中央处理器 CPUCPU的功能和组成的功能和组成5.15.1硬连线控制器硬连线控制器时序产生器和控制方式时序产生器和控制方式5.35.3微程序控制器微程序控制器5.45.45.55.5流水流水CPUCPU5.65.6 指令周期指令周期5.25.22021/6/7495.7.1 5.7.1 并行处理技术并行处理技术v并行处理技术同时性 指两个以上事件在同一时刻发生;指两个以上事
31、件在同一时刻发生;并发性 指两个以上事件在同一时间间隔内发生。指两个以上事件在同一时间间隔内发生。v计算机并行处理技术形式:时间并行:指时间重叠。指时间重叠。空间并行:指资源重复。指资源重复。时间并行+空间并行:指时间重叠和资源重复的综合应用指时间重叠和资源重复的综合应用 。例如,奔腾。例如,奔腾CPUCPU采用了超标量流水技术。采用了超标量流水技术。2021/6/750v流水线技术设计方法:将一个大的功能部件分成几个独立的功能部件,并行工作以提高执行速度的技术。流水线中功能部件必须满足的条件:流水线中的任务必须是连续的,流水线应是完全充满的。分解的任务是有联系的。段与段之间传送字任务时,必须
32、通过高速缓冲寄存器。流水线中各段的执行时间应尽可能相等。2021/6/751(一)流水计算机的系统组成指令部件指令队列执行部件5.7.2 流水CPU的结构2021/6/752(二)流水CPU的时空图。设指令周期包含四个子过程:非流水线时空图标量流水线时空图超标量流水线时空图2021/6/7531. 1. 吞吐率吞吐率吞吐率吞吐率 单位时间内单位时间内 流水线所完成指令流水线所完成指令 或或 输出结果输出结果 的的 数量数量 最大吞吐率(满载后)最大吞吐率(满载后) 实际吞吐率实际吞吐率 连续处理连续处理 n 条指令的吞吐率为条指令的吞吐率为设设 m 段的流水线各段时间为段的流水线各段时间为t
33、tTpmax =1t tTp =m + (n-1) nt tt t(三)流水线性能2021/6/7542. 2. 加速比加速比加速比加速比 S Sp p m 段的段的 流水线的速度流水线的速度 与等功能的与等功能的 非流水线的速度非流水线的速度 之比之比 设流水线各段时间为设流水线各段时间为 t 完成完成 n 条指令在条指令在 m 段流水线上共需段流水线上共需 T = m + (n-1) t t 完成完成 n 条指令在等效的非流水线上共需条指令在等效的非流水线上共需 T = nmt Sp = m +(n-1) nm =nmm + n -1 t t t 则则2021/6/755由于流水线有由于流
34、水线有 建立时间建立时间 和和 排空时间排空时间因此各功能段的因此各功能段的 设备不可能设备不可能 一直一直 处于处于 工作工作 状态状态 流水线中各功能段的流水线中各功能段的 利用率利用率3. 3. 效率效率效率效率 mt31245312453124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1) t2021/6/756m(m + n -1) t = mnt 流水线各段处于工作时间的时空区流水线各段处于工作时间的时空区流水线中各段总的时空区流水线中各段总的时空区 效率效率 = 3. 3. 效率效率效率效率 mt31245312453
35、124531245 n-1 nn-1 nn-1 nn-1 nT时间时间S空间空间空间空间S4S3S2S1(n-1) t流水线中各功能段的流水线中各功能段的 利用率利用率2021/6/757(四)流水线分类指令流水线:指指令步骤的并行。算术流水线:指令运算操作步骤的并行。处理机流水线:指程序步骤的并行。 (五)流水线中的主要问题资源相关数据相关控制相关2021/6/758(1)资源相关:指多条指令进入流水线后在同一机器时钟周期内争用同一个功能部件所发生的冲突。设指令流水线分为:取指、译码、计算有效地址或执行、访存取数、写寄存器五段。 解决办法:1.停顿流水线 2.重复设置存储器,数据和指令分开存
36、放 3.采用指令预取技术大部分计大部分计算机数据算机数据和指令放和指令放在一个存在一个存储单元中,储单元中,且只有一且只有一个端口个端口5.7.3 流水线中的主要问题2021/6/759(2)数据相关:若在一个程序中,如果必须等前一条指令执行完毕后,才能执行后一条指令,那么这两条指令就是数据相关的 例执行: ADD R1,R2,R3 SUB R4,R1,R5 AND R6,R1,R7解决办法:1.停顿流水线 2.采用定向技术(旁路技术或相关通路技术): 增设运算结果缓冲寄存器 2021/6/760三种数据相关三种数据相关v写后读相关(写后读相关(RAWRAW):指令):指令j j试图在指令试图
37、在指令i i写入寄存器前就读出该寄存写入寄存器前就读出该寄存器的内容,这样,指令器的内容,这样,指令j j就会错误地读出该寄存器中的旧内容。就会错误地读出该寄存器中的旧内容。v读后写相关(读后写相关(WARWAR):指令):指令j j试图在指令试图在指令i i读出寄存器之前就写入该寄读出寄存器之前就写入该寄存器,这样,指令存器,这样,指令i i就错误地读出该寄存器中的新内容。就错误地读出该寄存器中的新内容。v写后写相关(写后写相关(WAWWAW):指令):指令j j试图在指令试图在指令i i写入寄存器之前就写入该寄写入寄存器之前就写入该寄存器,这样,两次写操作的先后次序被颠倒,就会错误的使指令
38、存器,这样,两次写操作的先后次序被颠倒,就会错误的使指令i i写写入的值成为该寄存器的内容。入的值成为该寄存器的内容。2021/6/761v例4:流水线中有三类数据相关冲突:写后读(RAW)相关;读后写(WAR)相关;写后写(WAW)相关。判断下列指令存在哪种类型的数据相关。()I1: ADD R1,R2,R3 ;(R2) + (R3)-R1 I2: SUB R4,R1,R5 ; (R1) - (R5)-R4 RAW。()I3: STO M(x),R3 ; (R3)-M(x)I4: ADD R3,R4,R5 ;(R4)+(R5)-R3 WAR()I5: MUL R3,R1,R2 ;(R1)(R
39、2)-R3 I6: ADD R3,R4,R5 ;(R4) + (R5)-R3 WAWWAW2021/6/762(3)控制相关:当执行转移指令时,使流水线 发生断流的问题。 解决办法:1. 延迟转移法 2. 转移预测法 3. 加快和提高形成条件码 4. 加快短循环程序的处理 5. 采用优化延迟转移技术 2021/6/763v其他提高CPU性能技术主要方法:主要方法:改进芯片改进芯片:与微电子技术发展密切相关。:与微电子技术发展密切相关。改进系统结构改进系统结构。RISC技术:为提高指令运行速度,简化指令的技术。RISC特点:使用等长指令;寻址方式少,没有存储器间接寻址方式;只有取数和存数指令访问
40、存储器,没有SS型指令;指令功能简单,控制器多以硬布线为主;大部分指令在一个处理周期内完成,支持指令流水线技术。CPU中通用寄存器较多,且优化使用。采用优化的编译程序,可以有效支持高级语言程序。2021/6/764vMMXMMX技术技术:把各种不同的电子媒质集成起来,统一进行存储、:把各种不同的电子媒质集成起来,统一进行存储、处理和传输的扩展结构技术。新增了专用的数据类型、寄处理和传输的扩展结构技术。新增了专用的数据类型、寄存器和指令。存器和指令。采用采用SIMD SIMD (单指令多数据处理)型指令。(单指令多数据处理)型指令。具有具有“饱和饱和”运算功能。运算功能。具有具有“积和积和”运算的能力。运算的能力。具有比较指令。具有比较指令。具有转换指令。具有转换指令。v动态执行技术动态执行技术:通过预测程序流来调整指令的执行,并且分:通过预测程序流来调整指令的执行,并且分析程序的数据流来选择指令执行的最佳顺序。析程序的数据流来选择指令执行的最佳顺序。2021/6/765部分资料从网络收集整理而来,供大家参考,感谢您的关注!