标量处理机PPT课件

合集下载

第5章标量处理机(5.7) 超标量超流水处理机

第5章标量处理机(5.7)  超标量超流水处理机
yangruioot@
计算机科学与技术
超标量处理机的结构


超标量处理机至少具有两套或者两条以上完整的 指令执行部件。 高性能的超标量处理机通常还设置一个先行指令 窗口: 能够从指令Cache中预取多条指令 能够对窗口内的指令进行数据相关性分析和功 能部件冲突的检测 窗口的大小:一般为2至8条指令
yangruioot@
计算机科学与技术
实际指令级并行度与理论指令级并行度的关系




当横坐标给出的理论指令级并行度比较低时,处 理机的实际指令级并行度的提高比较快。 当理论指令级并行度进一步增加时,处理机实际 指令级并行度提高的速度越来越慢。 在实际设计超标量、超流水线、超标量超流水线 处理机的指令级并行度时要适当,否则,有可能 造成花费了大量的硬件,但实际上处理机所能达 到的指令级并行度并不高。 目前,一般认为,m 和 n 都不要超过4。
多条无数据相关和控制相关的指令在单发射处理机中 的时空图如图
度为1
部件 写结果 执行 译码 取指 0 1 1 1 2 2 1 2 3 3 1 2 3 4 4 2 3 4 5 5 3 4 5 6 6 4 5 6 7 7 5 6 7 8 8 6 7 8 9 9 7 8 9 10 10 8 9 10 11 11 9 10 11 12 12 13 14 15 10 11 12 11 12 12
写结果
图 5 44 超 标 量 超 流 水 线 时 空 图
在一台指令并行度为(m, n)的超标量超流水线处理机 上,连续执行没有相关的N条 指令的所需要的时间为:
T ( m, n ) ( k N m ) t nm
执行 译码 取指
超标量超流水线处理机相对 于单流水线普通标量处理机的 加速比为:

流水线技术-标量流水部分(ppt 179页)

流水线技术-标量流水部分(ppt 179页)

访存
写回
s4
s5
22.10.2019
13
流水处理的时空图
22.10.2019
14
流水处理机的基本结构
22.10.2019
15
• 如果每个流水段的延迟时间(通过时间)均为Δts,锁 定时间为Δtl,则每功能段的处理时间Δti为:
• Δti= Δts+Δtl
• 流水处理机的最高工作频率为:
1
ts tl
i2
22.10.2019
7
执行时间不等时的一次重叠工作方式
分析k
执行k 分析k+1
执行k+1 分析k+2 执行k+2
分析k+3
执行k+3
22.10.2019
8
3. 先行控制方式
• 先行控制方式的基本思想: • 通过设置先行读数栈,先行操作栈,后行写数
栈等,使分析部件和执行部件能够分别连续 不断地分析和执行指令。
• 输出端的任务流出与输入端的任务流入顺序不完 全相同。
• 在乱序流动流水线中,当某任务阻塞时,后面的 任务可绕过它继续流动。
22.10.2019
30
6. Pentium的流水技术
• 在Pentium CPU内部有两个ALU,分别对应两条流水线U和V (80486只有一条流水线),U流水线执行整数和浮点数指 令;V流水线执行整数指令,以及交换寄存器的内容。所以, Pentium能在每个时钟周期内执行两条整数运算指令,或在 每个时钟周期内执行一条浮点数运算指令。
• 设各阶段周期均为t0,则执行n条指令共需
• T=nt0+2t0=(n+2)t0
• 重叠方式缩短了程序的执行时间,提高了功能部件的 利用率,但需增加硬件支持。

第5章标量处理机(5.4,5.5,5.6)流水线的冲突MIPS流水线素材

第5章标量处理机(5.4,5.5,5.6)流水线的冲突MIPS流水线素材

ALU
ALU
DSUB R4,R1,R5
IM
Reg
DM
Reg
ALU
XOR R6,R1,R7
计算机科学与技术系 yangruioot@
对于在一个时钟周期内同一寄存器堆进行操作,在时钟的前半部 分进行写寄存器的操作,后半部分进行读寄存器的操作。
计算机科学与技术系 yangruioot@
如何解决对同一寄存器的访问冲突?
把写操作安排在时钟周期的前半拍完成,

每一个周期作为一个流水段;
在各段之间加上锁存器(流水寄存器)。
IF 段 IM
ID 段 Reg
EX 段
MEM 段 DM
WB 段 Reg
流水寄存器
计算机科学与技术系 yangruioot@
ALU
流水寄存器保证了流水线中不同段的指令不会相互影 响。每个时钟周期结束之后,该段的所有执行结果都 保存在流水段寄存器中,在下一个时钟周期开始作为 下一个段的输入。
采用定向技术消除上例中的相关 DSUB操作是在DADD操作产生了结果之后才使
用该结果的,考虑将DADD的结果从EX/MEM寄 存器移到DSUB需要的地方,也就是ALU的输入 锁存器,则不需要引入停顿。
计算机科学与技术系
yangruioot@
时间(时钟周期) 1 DADD R1,R2,R3 IM 2 Reg 3 4 DM 5 Reg 6
计算机科学与技术系
yangruioot@
时间(时钟周期) 1 load M 2 Reg 3 4 M 5 Reg 6 7 8
ALU
ALU
指令 i+1
M
Reg
M
Reg
ALU
指令 i+2

第5章-计算机系统结构(第五版)李学干

第5章-计算机系统结构(第五版)李学干

时供运算用。这样,“执行k”与“分析k+1”访问通用寄存器
组的时间关系如图5 - 9所示。
第5章 标量处理机
图5-9
“执行k”、“分析k+1”重叠时,访问通用寄存器组 的时间关系
第5章 标量处理机
如果在运算器的输出到B或C输入之间增设“相关专用通 路”,如图5 - 10 所示,则在发生L1或L2相关时,接通相应 的相关专用通路,“执行k”时就可以在将运算结果送入通用
出机构的具体逻辑组成。而对B一次相关,则除此之外,还
需再推后一个“执行”周期,如图5 - 12(b)所示。 由于B相关的概率并不是很低,增设B相关专用通路是值
得的,办法如图5 - 13所示。
第5章 标量处理机
图 5 – 12 B (a) B二次相关的推后处理; (b) B一次相关的推后处理
第5章 标量处理机
图 5 - 13
B相关专用通路法
第5章 标量处理机
5.2 流 水 方
5.2.1
1. “分析k+1”与“执行k”的一次重叠是把指令的解释过 程分解成“分析”与“执行”两个子过程,在独立的分析部 件和执行部件上时间重叠地进行。若“分析”与“执行”子 过程都需要Δt1的时间,如图5 - 14所示,则一条指令的解释
间关系。
第5章 标量处理机
图 5 - 4 第k条指令和第k+1条指令的时间关系
第5章 标量处理机
5.1.2
1.
当第k条指令是条件转移且转移成功时,传统做法与延 迟转移做法的比较如图5 - 5所示。
第5章 标量处理机
图 5 - 5 当第k条指令是条件转移且转移成功时, (a) 条件转移成功时成了顺序解释; (b) 采用延迟转移,条件转移成功时,仍保持重叠

流水线技术向量处理机.ppt

流水线技术向量处理机.ppt
量加法部件的启动需要6个时钟周期,向量寄存 器长度MVL=64,那么对n个向量元素进行DAXPY
表达式计算所需的时钟周期数为:
3.5 向量处理机
n × (T Tn = loop + Tstart) + mn MVL n n = × (15+12+12+ 6 +12) + 4n = 64 64
×57+ 4n
(3) 分组(纵横)处理方式
把向量分成长度为某个固定值的若干组, 组内按纵向方式处理,依次处理各组。 每组内: 相关:1次
功能切换:2次
虚拟存储器的特点
3.5 向量处理机
虚拟存储器的特点
对处理机结构的要求: 寄存器-寄存器型操作的运算流水线。
举例
虚拟存储器的特点
3.5 向量处理机
2. 向量处理机的速度评价方法
引入到向量执行过程的结果。
虚拟存储器的特点
虚拟存储器的特点
3.5 向量处理机
例 3.7 对 上 述 向 量 运 算 D=A*(B+C) , 若 向 量 长度N≤64 ,向量元素为浮点数,则在 B 、 C取到 V0、V1后,就可用以下三条向量指令求解: (1) V3←存储器(访存,载入A) (2) V2←V0+V1(浮点加) (3) V4←V2*V3(浮点乘,存D) 解:链接过程如图3.44所示:
SV
Ry,V4
3.5 向量处理机
解:第一编队:LV 第二编队:MULTSV; LV 第三编队:ADDV 第四编队:SV

一个编队内所有向量指令执行完毕所需要 的时间为:
i Tc ij = max[Tstart + n]Tclk j
i = (Tstart + n)Tclk

第五章标量处理机(2)

第五章标量处理机(2)

2020/2/6
第五章 标量处理机
第7 页
5.3 超标量与超流水处理机
Motolora公司的MC88110处理机,IBM公司的Power 6000处理机等每个时钟周期都发射两条指令;美国德州 仪器公司(TI)为SUN公司生产SuperSPARC处理机每 个时钟周期发射三条指令。 (3) 超标量处理机指令调度要解决的问题 ·数据相关 ·控制相关 ·功能部件冲突
2.条件转移造成的损失,超流水线处理机要比超标量 处理机大。
3.在指令执行过程中的每一个功能段,超标量处理机 都重复设置有多个相同的指令执行部件,而超流水线处 理机只是把同一个指令执行部件分解为多个流水级。
2020/2/6
第五章 标量处理机
第23 页
5.3 超标量与超流水处理机
因此,超标量处理机指令执行部件的冲突要比超流水线 处理机小。
R4000的指令流水线有8级,流水线操作如下图所 示。R4000采用超流水线结构,取指令和访问数据都要 跨越两个流水级;实际上,每个时钟周期包含两个流水 级,处理器取第一条指令(IF)和取第二条指令(IS)
2020/2/6
第五章 标量处理机
第17 页
两个流水级都要访问指令Cache,这两个流水级为一个
2020/2/6
第五章 标量处理机
第16 页
5.3 超标量与超流水处理机
3.典型结构
在早期生产的计算机中,巨型计算机CRAY-1和大 型计算机CDC-7600属于超流水线处理机,其指令级 并行度n=3。在目前大量使用的微处理器中,只有SGI 公司的MIPS(microprocessor without Interlocked piped stages)系列处理机属于超流水线处理机。MIPS是除 Intel公司的X86系列微处理器之外,生产量最大的一种 微处理器。MIPS系列的微处理器主要有R2000、R3000、 R4000、R5000和最近刚投放市场的R10000等几种。

第05章标量处理机eng

第05章标量处理机eng

@central south university
余腊生 版权所有,违者必究
2019/1/26
5-2
Superscalar
• Avoid structural hazards - use different functional units, make up to 1 memory reference combined
– Maintaining precise exceptions is difficult because an integer operation may have already completed – Hardware must detect these problems (and quickly) @central south university
– RAW hazards could exist between the two instructions issued at the same time – There are new potential WAW and WAR hazards – We need to have twice as many register reads and writes as before, our register file must be expanded to accommodate this
– While a superscalar can issue any combination of instructions, for simplicity, we will concentrate on a 2 instruction superscalar for MIPS where
• one instruction will be an integer operation • and the other, if available will be a floating point operation

计算机系统结构标量处理机PPT课件

计算机系统结构标量处理机PPT课件

第13页/共215页
处理机结构(续)
• 5.存在的主要问题: ① 计算机指令系统复杂,各类指令“分析”和“执行”的时间相差很大,分析指令和执行指令常常相互 等待,造成部件的浪费。
② 分析k+1操作所需要的操作数正好是执行k的结果,不能重叠执行,发生数据相关,还有控制相关, 变址相关。
③ 转移或转子程序指令时,程序的执行过程不是顺序的,先行指令缓冲栈中预取指令和分析的下一条指 令都可能要作废。
n
执行i
执行i
i 1
i 1
第16页/共215页
先行缓冲栈
• 设置先行缓冲栈的目的:使指令分析器和指令执行部件能够独立工作。 • 1.先行指令缓冲栈:
• 处于主存储器与指令分析器之间。 • 用它来平滑主存储器取指令和指令分析器使用指令之间的速度差异。
• RR型指令,不必处理,直接送先行缓冲栈。 • RS型指令,主存有效地址送先行读数栈,用该先行读数栈的寄存器编号
•重叠部分,无论谁先结束,都不能提前执行下一条指令,需要等待。 •无论任何时刻,在指令分析部件和指令执行部件内都只有相邻的两条指令重叠执 行,处理机只需要设置一套指令分析部件,——指令控制器;一套指令执行部 件,——运算控制器和运算器。控制方式简单。 •所需要时间为T=(1+n)t
2021/6/20
• 流水线技术。 • 处理机中设置多个独立的功能部件,如浮点运算器,定点运算器,访存部件等。 • 超长指令技术。
2021/6/20
第1页/共215页
5.1 先行控制技术
• 先行控制技术的关键是采用缓冲技术和预处理技术,以及两者都采用,通过对指令流和 数据流的预处理和缓冲,能够尽量使指令分析器和指令执行部件独立工作并始终处于忙 碌状态。

第05章标量处理机eng3 共106页

第05章标量处理机eng3 共106页
@central south university 余腊生 版权所有,违者必究
2019/7/27
5-13
超标量流水线处理机
• 2 无序发射
• 为实现无序发射,就必须在流水线的译码段和执 行段之间建立紧密的联系。一种常用的方法是使 用指令窗口,它实质上是一个缓冲栈。当处理器 译码一条指令后就将它放入指令窗口,只要缓冲 器不满,就继续取和译码后续的指令。指令由指 令窗口发射到执行段。只要满足两个条件:1.指 令所需的功能部件是可用的,2.无相关性阻碍这 条指令的执行,那么这条指令即可发射出去,与 取指或译码的顺序无关。
• Multiple-issue processors come in two kinds:
– Superscalars
• use static and/or dynamic scheduling mechanisms and multiple functional units to issue more than 1 instruction at a time
而将后面无相关性的指令提前发射,即不按程 序原有次序发射指令,称之为无序发射(out-oforder issue)。类似地,指令的完成也有按序完 成和无序完成之分。一般而言,无序发射总导 致无序完成。
@central south university 余腊生 版权所有,违者必究
2019/7/27
5-7
超标量流水线处理机
• 超标量流水线共有3种调度策略:1.按序 发射按序完成;2.按序发射无序完成;3. 无序发射无序完成。无论哪种调度策略, 都要保证程序运行的最终结果是正确的 .
@central south university 余腊生 版权所有,违者必究

5-超标量超流水线

5-超标量超流水线

12/46
5.5 超标量处理机
单发射处理机的指令流水线
取指令 指令译码 执行指令 EX 写回结果
FA1 FA2 FA3 浮点加法部件
来自指令 Cache
IF
ID
MD1 MD2 MD3 乘除法部件 AL 定点算术逻辑部件 LS 取数存数部件
WR
通用寄存器 后行写数栈
13/46
5.5 超标量处理机
同时发射两条指令的多发射处理机的指令流水线
9/46
5.5 超标量处理机
5.5.2 单发射与多发射 1.单发射处理机:
(P323) P323)
每个周期只取一条指令、只译码一条指令,只执行 一条指令,只写回一个运算结果。 取指令部件和指令译码部件各设置一套; 只设置一个多功能操作部件或设置多个独立的操作 部件; 操作部件中可以采用流水线结构,也可以不采用流 水线结构。 目标是每个时钟周期平均执行一条指令,ILP的期望 值为1。
parallelism
7/46
5.5 超标量处理机
典型超标量处理机的结构: 典型超标量处理机的结构:
整数 部件 整数 部件 位操 作 浮点 加 乘法 部件 除法 部件 图形 部件 图形 部件
内部总线
读数/ 读数/存数 部件
通用寄 存器堆
扩展 寄存器堆
目标 指令
指令分配/ 指令分配/ 转移部件
Cache(8KB 数据 Cache(8KB)
I5 IF1 I6 IF2
指令
IF:取指令,ID:指令译码, 数存数,FA:浮点加减法运算, IF:取指令,ID:指令译码,LS 取数存数,FA:浮点加减法运算, MD:乘除法运算,AL: WR: MD:乘除法运算,AL:定点算术逻辑运算 WR:写回运算结果
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2019/8/20
第五章 标量处理机
第14 页
5.1 先行控制技术
2.条件转移
在采用先行控制方式的处理机中,条件转移 对程序执行速度造成的影响很大。先行控制部件的缓冲 深度越深,造成的速度损失也可能越大。
b.超标量技术 ;
c.VLIW;
5.1 先行控制技术 5.2 流水线处理机 5.3 超标量与超流水处理机
2019/8/20
第五章 标量处理机
第1 页
5.1 先行控制技术
一、指令的重叠执行 设一条指令的执行分成三个阶段:取指、分析和执
行,且每个阶段的执行时间都为n。则,可有下面的三 种执行方式: 1.顺序执行 2.一次重叠 3.二次重叠 (如图5.2所示,p.254)
2019/8/20
第五章 标量处理机
第10 页
5.1 先行控制技术
2019/8/20
第五章 标量处理机
第11 页
5.1 先行控制技术
四、控制相关
控制相关是指因为程序的执行方向可能被改变而引 起的相关。可能改变程序执行方向的指令通常有无条件 转移、一般条件转移、复合条件转移、子程序调用、中 断等。 有些资料上把上一节中介绍的数据相关称为 局部相关,而把本节将要介绍的控制相关称为全局相关。 这是因为数据相关影响到的仅仅是本条指令附近的少数 几条指令,而控制相关影响的范围要大得多,它可能引 起程序执行方向的改变。
相关:所谓相关(correlation)是指在一段程序的相 近指令之间有某种关系,这种关系可能影响指令的重叠 执行。通常,把相关分为两大类。
数据相关:在执行本条指令的过程中,如果用到的指 令、操作数、变址偏移量等正好是前面指令的执行结果, 则必须等待前面的指令执行完成,并把结果写到生存或 通用寄存器中之后,本条指令才能开始执行,这种相关 称为数据相关。
部作废,指令分析器要等待一个“取指令L”周期之后

2019/8/20
第五章 标量处理机
第13 页
5.1 先行控制技术
能开始“分析L”。如果转移的距离比较近,有可能指令 L已经被取到了指令缓冲践中。这时,只要作废先行指令 缓冲栈中的部分指令,即作废从k+2到L-1之间的所有指 令。指令分析器在完成“分析k+1”之后,可以接着进行 “分析L”,即指令分析器仍然可以不停顿地连续工作。
3.通用寄存器数据相关
例如:k: add ax ,bx
k+1: mov cx, ax
在现代计算机中,该类相关发生很多。
解决方法:①推后分析法——降低运算速度为代价解决
Байду номын сангаас
寄存器相关
所示)。
②设置专用数据通路(如图5.15
4.变址相关
例如: k: ADD BX,AX
k+1: MOV CX,[BX]
解决方法:推后分析法和设置专用数据通路
无条件转移指令和一般条件转移指令可以在 指令分析器就执行完成,不需要送入先行操作栈和指令 执行部件。因此,通常把这种指令称为“吸收型”指令。
1. 无条件转移——为简单起见,只讨论向后转移。
2019/8/20
第五章 标量处理机
第12 页
5.1 先行控制技术
无条件转移指令在程序中的使用情况一般如下:
k:
控制相关:控制相关是指由条件分支指令、转子程序指 令、中断等引起的相关。
2019/8/20
第五章 标量处理机
第7 页
5.1 先行控制技术
解决数据相关的一般方法: ①推后分析法 ②设置专用路径
1.指令相关 例如: k: STORE R1, k+1 k+1: … 在流水线或采用先行控制技术的处理机中,指令相关严 重影响效率。 解决方法:运行中不能修改指令。
k+1: JMP L


L:

无条件转移指令一般能够在指令分析器中就执行完 成,形成转移地址L同时送入先行程序计数器PC1;和现 行程序计数器PC中,指令缓冲栈按照PC1的指示重新开 始向存储控制器申请取指令。
如下图所示,如果转移距离比较远,指令L不在先行
指令缓冲栈中,则要将先行指令缓冲栈中的所有指令全
第五章 标量处理机
1.标量处理机:只有标量数据表示和标量指令系统的处
理机称为标量处理机。标量处理机是一种最通用,也是 使用最普遍的处理机。
2.标量处理机中提高指令执行速度的主要途径有:
①提高主频;②缩短CPI——设计更好的算法和功 能部件;③指令级并行——主要方法,又可分为:
a.流水线技术和超流水线技术;
例如将M型指令(如MOV AX,[0001])转换为R型指令, 具体过程如下:
a)将主存地址0001通知先行读数栈,同时用先行读数栈 的寄存器编号代替0001主存地址,预处理后的指令进 入先行操作栈。
b)对于R型指令,不需任何处理,直接进入先行操作栈。 因此,先行操作栈在指令分析器和运算器之间提供缓 冲。
(3)先行读数栈 (4)后行写数栈——如果指令有要写回主存的数据,先
写到后行写数栈,指令继续执行。后行写数栈能在主 存有空闲时,再写入主存。
2019/8/20
第五章 标量处理机
第6 页
5.1 先行控制技术
先行控制技术和和指令的重叠执行方式有不同:在 指令分析器和运算器执行的两条指令可能不相邻!
三、数据相关
1.采用先行控制技术的处理机结构
2019/8/20
第五章 标量处理机
第4 页
5.1 先行控制技术
2.四个先行缓冲栈 (1) 先行指令缓冲栈——缓冲主存和指令分析器 (2) 先行操作栈——存放经过指令分析器预处理后的指
令。这种预处理内容很多。
2019/8/20
第五章 标量处理机
第5 页
5.1 先行控制技术
2.主存操作数相关 例如:k: add [0001],ax k+1: mov bx, [0001]
2019/8/20
第五章 标量处理机
第8 页
5.1 先行控制技术
在现代计算机中,中间结果一般写入寄存器,所以该类 相关发生不多。 解决方法:推后分析法。
2019/8/20
第五章 标量处理机
第9 页
5.1 先行控制技术
2019/8/20
第五章 标量处理机
第2 页
5.1 先行控制技术
2019/8/20
第五章 标量处理机
第3 页
5.1 先行控制技术
二、先行控制技术 上面的处理存在两个问题: 问题一: 在上面的讨论中有一个重要假设:每个阶段的执行 时间都为n。如果不等,则有些阶段会出现空闲。 问题二: 主存访问冲突。例如,取指令k+1时,正在分析指 令k,而分析指令k时可能也需要取操作数! 要解决上述问题,必须采用先行控制技术。 先行控制技术的关键是缓冲技术和预处理技术。
相关文档
最新文档