标量处理机
流水线与超标量
• T=(3+2(N-1))t=(1+2N)t.
• 二次重叠执行的时间为 • T=(3+(N-1))t=(2+N)t.
• 指令重叠执行的效果:成倍提高CPI指标(t看作 时钟周期)
2020/8/16
14
•第2二.章1.2流水先线与行超标控量处制理机原理
现代计算机体系结构
• 引入流水线结构,目的在于消除CPU内部人为的 顺序(串行)操作瓶颈,提高速度指标。
2020/8/16
27
•第而二章对流于水线数与超据标量运处理算机 型指令,指令分析器要现代将计算它机体们系结变构 换成寄存器寄存器型(RR型)指令,即将内存单元
中的源操作数预先存到寄存器中,使指令能快速 执行。
• 指令分析器的操作逻辑:
• 1)如果源操作数为立即数寻址,数据直接放入 先行读数栈;
• 2)如果源操作数为对存贮器寻址:分析器计算
• 5)完成预处理后,指令成为RR*型指令,并被 送入先行操作栈,由运算控制器按次序执行。
2020/8/16
29
•第(二章3)流水先线与行超标读量处理数机栈
现代计算机体系结构
• 先行读数栈由一组缓冲寄存器和控制逻辑组成. 一个缓冲寄存器包括先行地址寄存器、先行读数 寄存器和标志字段三个部分.
• 地址部分和数据部分在有些体系结构中是复用的, 由标志位表明其为地址还是数据.
2020/8/16
上一张 返回 22
第二章 流水线与超标量处理机
现代计算机体系结构
• 当缓冲栈尚未满时,前置部件可以不管后置部件
的工作进展,不断地自主运行将结果注入缓冲栈
中。
• 而后置部件则每次都向栈中取数,只要栈中不空, 后置部件就不会发生等待的现象。
计算机系统结构--向量处理机
如果程序的90%是向量运算,10%是标 量运算。则向量平衡点为0.9。硬件利用 率最高。 向量处理机的向量平衡点必须与用户程序 的向量化程度相匹配。 IBM向量计算机的设计思想与上述方法不 同,它维持较低的向量与标量比例,定 在3~5的范围之间。这种做法能够适应 通用应用问题对标量和向量处理要求。
6.2.1 存储器-存储器结构
向量处理机中有多个高速流水线运算部件, 存储器的访问速度是关键 采用多个存储体交叉和并行访问来提高存 储器速度,例如: CRAY-1有64个存储体,每个处理 机访问4个存储体 STAR-100采用32个存储体交叉, 每个存储体并行读出8个64位数据 我国研制的YH-1向量计算机有37个 存储体
把存储器-存储器结构中的缓冲栈改为向量 寄存器,运算部件需要的操作数从向量 寄存器中读取,运算的中间结果也写到 向量寄存器中。 向量寄存器与标量寄存器的主要差别是: 一个向量寄存器能够保存一个向量, 例如:64个64位寄存器。 连续访问一个向量的各个分量。 需要有标量寄存器和地址寄存器等。
采用寄存器-寄存器结构的主要优点:降低 主存储器的流量。 例如:采用寄存器-寄存器结构的 CRAY-1与采用存储器-存储器结构的 STAR-100比较,运算速度高3倍多,而 主存流量低2.5倍。 STAR-100的主存储器流量: 32×8W/1.28us=200MW/S CRAY-1的主存储器流量: 4W/50ns=80MW/S
6.3 向量处理方式
要根据向量运算的特点和向量处理机的 类型选择向量的处理方式。 有三种处理方式: 1.横向处理方式,又称为水平处理方 式,横向加工方式等。向量计算是按 行的方式从左至右横向地进行。 2.纵向处理方式,又称为垂直处理方 式,纵向加工方式等。向量计算是按 列的方式自上而下纵向地进行。 3.纵横处理方式,又称为分组处理方
系统结构 06 - 向量处理机
典型的向量处理机基本系统结构如图6.1所示。它主要由一个标量流水部件 和若干个向量流水部件组成,基本结构包括标量寄存器、标量功能部件、向 量存取部件、向量寄存器或向量缓冲部件、向量功能部件以及向量控制部件 等。
18
在基于R-R型的向量处理机中,向量指令有六种类型:
(1)向量-向量指令(vector-vector instruction)。它从有关向量寄存器 中读取一个或两个向量操作数,送入向量流水线,对各元素进行相应的运算, 运算产生的结果放入另一个向量寄存器。
专题6 向量处理机
向量处理机的定义和特点 向量数据表示方式 向量处理机的结构 向量处理方式 向量处理机的关键技术 向量处理机实例(自学)
1
专题6 向量处理机
向量处理机(Vector processor)结构目前已成为数值计算 问题的一种重要的高性能结构。在向量处理机中,绝大多数 功能部件都采用流水方式执行存储器或寄存器中的向量元素, 并且多功能部件还能并行处理多条流水线上独立无关的数据。 多向量多处理机的出现,使得系统的配置可达到几百个处理 部件(PE),并且具有良好的可扩展性,峰值性能可达到几 百MFLOPS(Million Floating point Operations Per Second, 每秒百万次浮点运算)。
12
寄存器—寄存器结构
• 为了缓解主存流量和流水线的处理速率不匹配的矛盾,把存储器-存储 器结构中的缓冲器改为向量寄存器,运算部件需要的操作数从向量寄存 器中读取,运算的中间结果也写到向量寄存器中。
• 向量寄存器与标量寄存器的主要差别是一个向量寄存器能够保存一个向 量,能够连续访问一个向量的各个分量。但其硬件复杂,造价高。
• 在流水线的输入端和输出端增加操作数缓冲栈和写结果缓冲栈主要用于 解决访问存储器冲突。
计算机体系结构知识点
第一章计算机体系结构得基本概念1 计算机系统结构得经典定义程序员所瞧到得计算机属性,即概念性结构与功能特性。
2 透明性在计算机技术中,把这种本来存在得事物或属性,但从某种角度瞧又好像不存在得概念称为透明性。
3 系列机由同一厂家生产得具有相同系统结构、但具有不同组成与实现得一系列不同型号得计算机。
4 常见得计算机系统结构分类法有两种:Flynn 分类法、冯氏分类法Flynn 分类法把计算机系统得结构分为4 类:单指令流单数据流(SISD)单指令流多数据流(SIMD)多指令流单数据流(MISD)多指令流多数据流(MIMD)5 改进后程序得总执行时间系统加速比为改进前与改进后总执行时间之比6CPI(Cycles Per Instruction ):每条指令执行得平均时钟周期数CPI = 执行程序所需得时钟周期数/IC7 存储程序原理得基本点:指令驱动8冯•诺依曼结构得主要特点1 以运算器为中心。
2 在存储器中,指令与数据同等对待。
指令与数据一样可以进行运算,即由指令组成得程序就是可以修改得。
3 存储器就是按地址访问、按顺序线性编址得一维结构,每个单元得位数就是固定得。
4 指令得执行就是顺序得5 指令由操作码与地址码组成。
6 指令与数据均以二进制编码表示,采用二进制运算。
9 软件得可移植性一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行。
差别只就是执行时间得不同。
我们称这两台计算机就是软件兼容得。
实现可移植性得常用方法:采用系列机、模拟与仿真、统一高级语言。
软件兼容:向上(下)兼容:按某档机器编制得程序,不加修改就能运行于比它高(低)档得机器。
向前(后)兼容:按某个时期投入市场得某种型号机器编制得程序,不加修改地就能运行于在它之前(后)投入市场得机器。
向后兼容就是系列机得根本特征。
兼容机:由不同公司厂家生产得具有相同系统结构得计算机。
10 并行性:计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。
第5章标量处理机(5.7) 超标量超流水处理机
计算机科学与技术
超标量处理机的结构
超标量处理机至少具有两套或者两条以上完整的 指令执行部件。 高性能的超标量处理机通常还设置一个先行指令 窗口: 能够从指令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
执行 译码 取指
超标量超流水线处理机相对 于单流水线普通标量处理机的 加速比为:
超标量处理机和超流水线处理机——计算机系统结构
超标量处理机和超流⽔线处理机——计算机系统结构在表5.2中,基准标量处理机是⼀台普通的单流⽔线处理机。
为了便于进⾏⽐较,把基准标量处理机的机器流⽔线周期和指令发射等待时间都假设为1个时钟周期,同时发射的指令条数为⼀条,它的指令级并⾏度ILP(Instruction Level Parallelism)假设为1。
另外三种指令级并⾏处理机,即并⾏度为m的超标量处理机,并⾏度为n的超流⽔线处理机,以及并⾏度为(m,n)的超标量超流⽔线处理机,它们的性能都相对于基准标量处理机进⾏⽐较。
单流⽔线处理机只有⼀条指令流⽔线,只有⼀个多功能的操作部件,每个时钟周期"取指令"和"分析"完成⼀条指令。
在许多流⽔线处理机中,指令流⽔线的流⽔段数k=4;它把⼀条指令的执⾏过程主要分解为"取指令"、"分析"、"执⾏"和"写结果"4个阶段。
指令所要执⾏的功能主要在多功能操作部件中,在"执⾏"这⼀流⽔段完成。
多数流⽔线处理机的多功能操作部件采⽤流⽔线结构。
有的简单指令,只要⼀个时钟周期就能够在"执⾏"流⽔段中完成,⽽⽐较复杂的指令往往需要多个时钟周期。
另外,还有条件转移等的影响;因此,⼀般流⽔线标量处理机每个时钟周期平均执⾏指令的条数⼩于1,即它的指令级并⾏度ILP<1。
超标量、超流⽔线和超标量超流⽔线三种处理机在⼀个时钟周期内可以执⾏完成多条指令,即它们的指令级并⾏度ILP都⼤于1。
超标量处理机基本结构超标量处理机的典型结构是有多个操作部件,⼀个或⼏个⽐较⼤的通⽤寄存器堆,⼀个或两个⾼速Cache。
先进的超标量处理机⼀般都包含有三个处理单元,⼀个是定点处理单元,通常称为中央处理单元(CPU),它由⼀个或多个整数处理部件组成;第⼆个是浮点处理单元(FPU),它由浮点加减法部件和浮点乘除法部件等组成;第三个是图形加速部件,也称为图形处理单元(GPU),这是现代处理机中不可缺少的⼀个部分。
组成原理名词解释
组成原理名词解释计算机实现:计算机实现是指计算机组成的物理实现。
它包括处理机、主存等部件的物理结构,器件的集成度和速度,信号传输,器件、模块、插件、底板的划分与连接,专用器件的设计,电源、冷却、装配等技术以及有关的制造技术和工艺等。
浮点数的误差:浮点数集 F 的误差可以这样定义, 令 N 是浮点数集 F 内的任一给定实数, 而 M 是 F 中最接近 N , 且被用来代替 N 的浮点数, 则定义绝对表数误差为:相对误差 (Relative Representation Rrror)为:浮点数表示方式的效率:浮点数表示方式的效率定义为:存储系统:两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来成为一个系统,这就是存储系统。
虚拟存储系统:虚拟存储系统由主存储器与联机的外部存储器(目前一般为磁盘存储器)构成,采用硬件与软件相结合的方法来调度。
操作系统用内存管理部件管理虚存,实现用户透明的进程空间的 32位寻址。
并行存储器:并行存储器设置多个独立的存储器,让它们并行工作,在一个存储周期内可以访问到多个数据,提高存储器速度。
Cache 系统:Cache 系统是在主板或者 CPU 内部集成一块高速访问存储器,并与内存联合构成缓存系统。
缓存系统的原理类似于虚拟存储系统。
一般处理机中有一级 Cache ,它与主存储器构成一个两级的存储系统。
一些高性能处理机都采用两级 Cache 。
其中,第一级在 CPU 内部,它的容量比较小,速度很快。
第二级在主扳上,容量比较大,速度比第一级要低 5倍左右。
也有部分高性能处理机采用三级 Cache 。
前两级都在 CPU 内部。
全相联映象方式:全相联映象方式是指主存中的任意一块可以映象到 Cache 中的任意一块的位置上。
直接映象方式:直接映象方式是一种最简单,也是最直接的方法。
主存中一块只能映象到Cache 的一个特定的块中。
组相联映象:组相联方式是目前在 Cache 中用得比较多的一种地址映象和变换方式。
重庆大学 系统结构 题库 名词解释
传输时延(Transport latency):它等于"飞行"时间和传输时间之和。它是消息在互连网络上 所花费的时间,但不包括消息进入网络和到达目的结点后从网络接口硬件取出数据所花费的时 间。(9)
16、MPP:基于分布存储的大规模并行处理系统(10)
17、S2MP:是一种共享存储的体系结构,和大规模的消息传递系统相比,它支持简单的编程 模型,系统使用方便,是对 SMP 系统在支持更高扩展能力方面的发展。(10)
18、SMP:SMP 称为共享存储型多处理机(Shared Memory mulptiProcessors), 也称为对称型 多处理机(Symmetry MultiProcessors)(10)
"飞行"时间(Time of flight):消息的第一位信息到达接收方所花费的时间,它包括由于网络 中转发或其它硬件所起的时延(9)
传输时间(Transmission time):消息通过网络的时间,它等于消息长度除以频宽。(9)
频宽(Bandwidth):它是指消息进入网络后,互连网络传输信息的最大速率。它的单位是兆 位/秒,而不用兆字节/秒。
28、虚拟直通(virtual cut through) :目前有一些多计算机系统采用的是虚拟直通的寻径方式 。 虚拟直通的寻径方式的思想是,为了减少时延,没有必要等到整个消息全部缓冲后再作路由选 择,只要接收到用作寻径的消息头部即可判断。 (9)
29、存储转发寻径:存储转发寻径(store and forward) 在存储转发网络中包是信息流的基本单
(3) 顺序流动:一串连续任务在流水线中是一个接一个地在各个功能段中间流过的。从流水线 的输出端看,任务流出流水线的顺序与输入端的任务流入顺序完全相同 ,这种控制方式称为顺 序流动方式
标量处理机
1.标量处理机:只有标量数据表示和标量指令系统的处
理机称为标量处理机。标量处理机是一种最通用,也是 使用最普遍的处理机。
2.标量处理机中提高指令执行速度的主要途径有:
①提高主频;②缩短CPI——设计更好的算法和功 能部件;③指令级并行——主要方法,又可分为:
a.流水线技术和超流水线技术;
2.主存操作数相关 例如:k: add [0001],ax k+1: mov bx, [0001]
2021/8/10
第五章 标量处理机
第8 页
5.1 先行控制技术
在现代计算机中,中间结果一般写入寄存器,所以该类 相关发生不多。 解决方法:推后分析法。
2021/8/10
第五章 标量处理机
第9 页
5.1 先行控制技术
1.采用先行控制技术的处理机结构
2021/8/10
第五章 标量处理机
第4 页
5.1 先行控制技术
2.四个先行缓冲栈 (1) 先行指令缓冲栈——缓冲主存和指令分析器 (2) 先行操作栈——存放经过指令分析器预处理后的指
令。这种预处理内容很多。
2021/8/10
第五章 标量处理机
第5 页
5.1 先行控制技术
2021/8/10
第五章 标量处理机
第15 页
5.1 先行控制技术
对于条件转移,相关最严重的情况发生在条件码是 由上一条指令产生的。
下面是条件转移对程序执行速度影响的分析:
① 如果转移不成功——运算器等待一个时钟周期 ② 如果转移成功
如果L在先行指令缓冲栈中,则条件转移对程序执行的 影响是:
a.作废k+2到L-1之间的所有指令; b.运算器等待一个时钟周期。
第5章-计算机系统结构(第五版)李学干
第5章 标量处理机
图 5 - 11 B一次相关与二次相关
第5章 标量处理机
由图5 - 11可见,B二次相关时,只需推后“分析k+2”的 始点到“执行k”送入通用寄存器的运算结果能在“分析k+2” 开始时出现于通用寄存器输出总线上即可,如图5 - 12(a)所 示。至于推后多少拍,这取决于通用寄存器组译码、读
如图5 - 20(b)所示。即使流水线每隔Δt0流入一条指令,也会
因来不及处理被堆积于2段,致使流水线仍只能每隔 3Δt0才流出一条指令。
第5章 标量处理机
图 5 - 20 最大吞吐率取决于瓶颈段的时间
第5章 标量处理机
消除瓶颈的一种办法是将瓶颈子过程再细分。例如将2
段再细分成21、22、23三个子段,如图5-21(a)所示。让各子
同,如图5 - 23所示那样,则在T时间里,流水线各段的效率
都相同,均为η0,即
nΔt0 n 1 2 m 0 T m (n 1)
第5章 标量处理机
整个流水线的效率
1 2 m
m
m0 mnΔt0 0 m mT
式中,分母mT是时空图中m个段和流水总时间T所围成
第5章 标量处理机
图 5 - 3 一次重叠工作方式
第5章 标量处理机
(2) 要解决“分析”与“执行”操作的并行。 (3) 要解决“分析”与“执行”操作控制上的同步。 (4) 要解决指令间各种相关的处理。 图5 - 4示意出条件转移时第k条指令和第k+1条指令的时
间关系。
第5章 标量处理机
图 5 - 4 第k条指令和第k+1条指令的时间关系
由于运算结果是在“执行”周期的末尾才送入通用寄存
第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) 采用延迟转移,条件转移成功时,仍保持重叠
193_广工计算机系统结构课件第五章解析
• 21
tiger September 2016
*
5.2 流水线处理机
■ 空间并行性(同时性并行,资源重复)■ 设置多个独立的操作部件 ■ 多操作部件处理机 ■ 超标量处理机
■ 时间并行性(并发性并行,时间重叠) ■ 采用流水线技术 ■ 不增加或只增加少量硬件就能使运算速度提高几倍 ■ 流水线处理机 ■ 超流水线处理机
5.1 先行控制技术
■5.1.1 指令的重叠执行方式 ■1 顺序执行方式
• 取指令k• 分析k• 执行k • 取指令k+1 • 分析k+1 • 执行k+1
■ 执行n条指令所用的时间
■ 如每段时间都为t,则执行n条指令所用的时间 ■ T=3nt
■ 主要优点:控制简单,节省设备 ■ 主要缺点:执行指令的速度慢,功能部件的利用率低
•2
tiger September 2016
*
第五章 标量处理机
■ 标量处理机 ■ 只有标量数据表示和标量指令系统的处理机
■ 提高指令执行速度的主要途径 ■ 提高处理机的工作主频 ■ 采用更好的算法和设计更好的功能部件 ■ 采用指令级并行技术
■ 三种指令级并行处理机 ■ 流水线处理机和超流水线(Super-pipelining)处理机 ■ 超标量(Superscalar)处理机 ■超长指令字(VLIW: Very Long Instruction Word)处理机 ■ 同时性并行?并发性并行?
■ 如果三过程的时间相等,执行n条指令的时间:T=(2+n)t ■ 理想情况下同时有三条指令在执行 ■ 处理机的结构要作比较大的改变,必须采用先行控制方式
•8
tiger September 2016
*
第4章向量处理机
例如:STAR-100、CYBER-205
数据相关:1次 功能切换:2次
▲
7/72
4.2 向量处理机的结构
➢ 向量处理机的结构因具体机器不同而不同。
由所采用的向量处理方式决定。
➢ 有两种典型的结构
存储器-存储器型结构 纵向处理方式采用
寄存器-寄存器型结构 分组处理方式采用
▲
8/72
4.2 向量处理机的结构
4.2.1 “存储器-存储器”结构
l
…
V5
…
4.3 提高向量处理机性能的常用技术
链接操作的时间图:
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31 t32 … V5-0 V5-1 V5-2 V5-3 V5-4 V5-5 V5-6 V5-7 V5-8
Vk ← Vi op Vj Vk ← Si op Vj Vk ← 主存 主存 ← Vi
▲
19/72
4.3 提高向量处理机性能的常用技术
提高向量处理机性能的方法 ➢ 设置多个功能部件,使它们并行工作; ➢ 采用链接技术,加快一串向量指令的执行; ➢ 采用循环开采技术,加快循环的处理; ➢ 采用多处理机系统,进一步提高性能。
➢ 标量寄存器S和快速暂存器T
计算机系统结构试题汇总(带答案)
______,调出有关处理该中断服务程序,准备运行。
19.设多体单字低位交叉的存贮器,单体容量为 I 的 m 个分体,其 Mj 的编址模式为 m×i+j,
其中 i=0,1,…,I-1;j=______,如 m=4,M2 体对应二进制地址码最低二位的状态为______。 20.自定义数据表示包括标志符数据表示和______两类,标志符应由编绎程序建立,对______
I1: RI←A1+A2 I2: R2←A3+A4 I3: R3←A5+A6 I4: R4←A7+A8 I5: R5←A9+A10 I6: R6←R1+n2 I7: R7←R3+R4 I8: R8←R5+R6 I9: F←R7+R8 这并不是唯一可能的计算方法。假设功能段的延迟为△t。 1.画出流水线时空图。(8 分) 2.计算流水线的实际吞吐率、加速比和效率。(每个 4 分,共 12 分)
6. 透明性:指一种本来存在的事物或属性,从某种角度看似乎不存在的现象。 7. LRU 算法:即近期最少使用算法,它选择近期最少访问的页面作为被替换的页面。 8.RISC:精简指令系统计算机,这种系统中,尽量简化指令功能,只保留那些功能简 单,能在一个节拍内执行完成指令,较复杂的功能用一段子程序来实现。 9.超标量处理机:通常把一个时钟周期内能够同时发射多条指令的处理机称为超标量 处理机。 10.流水线的链接技术:指一条指令的结果寄存器可能成为后继指令的操作数寄存器的 技术。
五、(10 分) 已知四个程序在三台计算机上的执行时间(s,秒)如下:
程序
执行时间(s,秒)
计算机 A
计算机 B
计算机 C
程序 1
1
10
第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
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/10/6
第五章 标量处理机
第20 页
5.2 流水线处理机
一、流水线工作原理 1.流水线 下面一条简单的流水线及其可能的进一步细分。
2020/10/6
第五章 标量处理机
第21 页
5.2 流水线处理机
细分
例:
2020/10/6
第五章 标量处理机
第22 页
5.2 流水线处理机
2.时空图 描述流水线的工作,最常用的方法是采用“时空图”
k+1: JMP L
……
L: …
无条件转移指令一般能够在指令分析器中就执行完
成,形成转移地址L同时送入先行程序计数器PC1;和 现行程序计数器PC中,指令缓冲栈按照PC1的指示重新 开始向存储控制器申请取指令。
如下图所示,如果转移距离比较远,指令L不在先行
指令缓冲栈中,则要将先行指令缓冲栈中的所有指令全
第五章 标量处理机
1.标量处理机:只有标量数据表示和标量指令系统的处
理机称为标量处理机。标量处理机是一种最通用,也是 使用最普遍的处理机。
2.标量处理机中提高指令执行速度的主要途径有:
①提高主频;②缩短CPI——设计更好的算法和功 能部件;③指令级并行——主要方法,又可分为:
a.流水线技术和超流水线技术;
水线的效率。
2.把一个任务(一条指令或一个操作)分解为几个有联系 的子任务,每个子任务由一个专门的功能部件来实现。因 此,流水线实际上是把一个大的功能部件分解为多个
2020/10/6
第五章 标量处理机
第25 页
5.2 流水线处理机
独立的功能部件,并依靠多个功能部件并行工作来缩短
程序的执行时间。在流水线中,一个子任务通常称为一 个子过程,或流水线中的一个功能段。
控制相关:控制相关是指由条件分支指令、转子程序指 令、中断等引起的相关。
2020/10/6
第五章 标量处理机
第7 页
5.1 先行控制技术
解决数据相关的一般方法: ①推后分析法 ②设置专用路径
1.指令相关 例如: k: STORE R1, k+1 k+1: … 在流水线或采用先行控制技术的处理机中,指令相关严 重影响效率。 解决方法:运行中不能修改指令。
例如将M型指令(如MOV AX,[0001])转换为R型指 令,具体过程如下:
a)将主存地址0001通知先行读数栈,同时用先行读数栈 的寄存器编号代替0001主存地址,预处理后的指令进 入先行操作栈。
b)对于R型指令,不需任何处理,直接进入先行操作栈。 因此,先行操作栈在指令分析器和运算器之间提供缓 冲。
3.在流水线的每一个功能部件的后面都要有一个缓冲寄 存器,或称为锁存器、闸门寄存器等,用于保存本段的 执行结果。这是因为流水线中每一段的延迟时间一般不 可能都相等,因此,在段与段之间传送子任务时,必须 通过缓冲寄存器。当某一个功能段的执行时间变化范围 比较大时,要设置多个缓冲寄存器。
4.流水线中各段的时间应尽量相等,否则将引起“堵塞”、
“断流”等。执行时间长的一段将成为整个流水线的
“瓶颈”,这时,流水线中的各个功能部件将不能充分
发挥作用。因此,在流水线设计中,当遇到“瓶颈”时,
必须
2020/10/6
第五章 标量处理机
第26 页
5.2 流水线处理机
采取办法解决。 5.流水线需要有“装入时间”和“排空时间”。只有流水 线完全充满时,整个流水线的效率才能得到充分发挥。
3.通用寄存器数据相关 例如:k: add ax ,bx
k+1: mov cx, ax 在现代计算机中,该类相关发生很多。 解决方法:①推后分析法——降低运算速度为代价解决
寄存器相关 ②设置专用数据通路(如图5.15所示)。 4.变址相关 例如: k: ADD BX,AX k+1: MOV CX,[BX] 解决方法:推后分析法和设置专用数据通路
第29 页
2020/10/6
第五章 标量处理机
第30 页
5.2 流水线处理机
5. 标量/向量流水----数据表示不同 6. 同步/异步流水——对流水线的控制方式不同 7 顺序/乱序流水——输出与输入任务的顺序是否
相同
三、流水线的性能分析 1. 吞吐率--单位时间内产生的结果数。
tp
n Tk
2020/10/6
2020/10/6
第五章 标量处理机
第15 页
5.1 先行控制技术
对于条件转移,相关最严重的情况发生在条件码是 由上一条指令产生的。
下面是条件转移对程序执行速度影响的分析:
① 如果转移不成功——运算器等待一个时钟周期 ② 如果转移成功
如果L在先行指令缓冲栈中,则条件转移对程序执行的 影响是:
a.作废k+2到L-1之间的所有指令; b.运算器等待一个时钟周期。
第五章 标量处理机
第31 页
5.2 流水线处理机
(3)先行读数栈 (4)后行写数栈——如果指令有要写回主存的数据,先
写到后行写数栈,指令继续执行。后行写数栈能在主 存有空闲时,再写入主存。
2020/10/6
第五章 标量处理机
第6 页
5.1 先行控制技术
先行控制技术和和指令的重叠执行方式有不同:在 指令分析器和运算器执行的两条指令可能不相邻!
三、数据相关
2.主存操作数相关 例如:k: add [0001],ax k+1: mov bx, [0001]
2020/10/6
第五章 标量处理机
第8 页
5.1 先行控制技术
在现代计算机中,中间结果一般写入寄存器,所以该类 相关发生不多。 解决方法:推后分析法。
2020/10/6
第五章 标量处理机
第9 页
5.1 先行控制技术
可以从两个方面来开发处理机内部的并行性。
1)空间并行性: 即在一个处理机内设置多个独立的操作部件,并让
这些操作部件并行工作,这种处理机称为多操作部件处 理机和超标量处理机
2)时间并行性: 就是采用流水线技术。流水线技术是一种非常经
济、对提高处理机的运算速度非常有效的技术。采用流 水线技术可以不增加硬件或只需要增加少量硬件就能够 把处理机的运算速度提高几倍,它是目前使用非常普遍 的一种并行处理方式。
无条件转移指令和一般条件转移指令可以在指令分 析器就执行完成,不需要送入先行操作栈和指令执行部 件。因此,通常把这种指令称为“吸收型”指令。
1. 无条件转移——为简单起见,只讨论向后转移。
2020/10/6
第五章 标量处理机
第12 页
5.1 先行控制技术
无条件转移指令在程序中的使用情况一般如下:
k:
1.采用先行控制技术的处理机结构
2020/10/6
第五章 标量处理机
第4 页
5.1 先行控制技术
2.四个先行缓冲栈 (1) 先行指令缓冲栈——缓冲主存和指令分析器 (2) 先行操作栈——存放经过指令分析器预处理后的指
令。这种预处理内容很多。
2020/10/6
第五章 标量处理机
第5 页
5.1 先行控制技术
部作废,指令分析器要等待一个“取指令L”周期之后
才
2020/10/6
第五章 标量处理机
第13 页
5.1 先行控制技术
能开始“分析L”。如果转移的距离比较近,有可能指令 L已经被取到了指令缓冲践中。这时,只要作废先行指 令缓冲栈中的部分指令,即作废从k+2到L-1之间的所有 指令。指令分析器在完成“分析k+1”之后,可以接着进 行“分析L”,即指令分析器仍然可以不停顿地连续工作。
同功能。 P283 图5.32 4.静态流水线与动态流水线——对多功能流水线而言 静态:一段时间内一种固定方式连接,实现一种固定功能; 动态:一段时间内,各段按不同方式连接,同时执行多种
功能。 P284 图5.33, 5.34
2020/10/6
第五章 标量处理机
第28 页
2020/10/6
第五章 标量处理机
如果L不在先行指令缓冲栈中,则条件转移对程序执行 的影响是:
c.作废先行指令缓冲栈中的所有指令; d.运算器至少等待取指周期(取L)和一个时钟周期。
2020/10/6
第五章 标量处理机
第16 页
5.1 先行控制技术
2020/10/6
第五章 标量处理机
第17 页
5.1 先行控制技术
3.转移预测技术 (1) 软件"猜测法"
b.超标量技术 ;
c.VLIW;
5.1 先行控制技术 5.2 流水线处理机 5.3 超标量与超流水处理机
2020/10/6
第五章 标量处理机
第1 页
5.1 先行控制技术
一、指令的重叠执行 设一条指令的执行分成三个阶段:取指、分析和执
行,且每个阶段的执行时间都为n。则,可有下面的三 种执行方式: 1.顺序执行 2.一次重叠 3.二次重叠 (如图5.2所示,p.254)
B.如果转移不成功,即猜测错误--作废先行指令缓冲栈 和先行操作栈中的所有指令,重新开始取指令L。
(3) 两个先行指令缓冲栈
分析到条件转移指令时, 按成功转移的方向预取指令
到先行目标缓冲栈中。先行指令缓冲栈仍然按照转移不
成功的方向继续预取指令。
2020/10/6
第五章 标量处理机
第19 页
5.2 流水线处理机
二、流水线的分类 1.线性流水线与非线性流水线
非线性流水线的“预约表”: p.280图 5.29
2020/10/6
第五章 标量处理机
第27 页
5.2 流水线处理机
2.流水线的级别——三种级别 功能部件级:运算操作流水线 处理机级:指令流水线 处理机间级:宏流水线