当前位置:首页 > 芯闻号 > 充电吧
[导读]Atiitt 流水线停顿问题与解决方法 1. 流水线技术方式分类 12. 但在实际中,会出现2种情况使流水线停顿下来或不能启动: 22.1. 1、多个任务在同一时间周期内争用同一个流水段 22.2.

Atiitt 流水线停顿问题与解决方法

 

1. 流水线技术方式分类 1

2. 但在实际中,会出现2种情况使流水线停顿下来或不能启动: 2

2.1. 1、多个任务在同一时间周期内争用同一个流水段 2

2.2. 数据依赖。 2

3. 处理器流水线中的冲突 2

3.1. 7.1 流水线中的资源冲突 2

3.2. 7.2 流水线中的数据冲突 3

4. 为了能够尽可能的减少流水线停顿带来的性能损失,可以使用“动态调度”的方法 3

 

 

1. 流水线技术方式分类

3、按连接的方式分类:

  静态流水线:同一时间内,多功能结构只能按一种功能的连接方式工作。

动态流水线:同一时间内,可以有多种功能的连接方式同时工作。

4、按处理的数据类型分类:

  标量流水线:一般数据

  向量流水线:矢量数据。X+Y=Z每一个代表一维数据。

5、流水线结构上分类:

  线性流水线:指各功能模块顺序串行连接,无反馈回路,如前面介绍的。

  非线性流水线:带有反馈回路的流水线。

 

 

 

2. 但在实际中,会出现2种情况使流水线停顿下来或不能启动:

流水线技术

2.1. 1、多个任务在同一时间周期内争用同一个流水段

。例如,假如在指令流水线中,如果数据和指令是放在同一个储存器中,并且访问接口也只有一个,那么,两条指令就会争用储存器;在一些算数流水线中,有些运算会同时访问一个运算部件。

2.2. 数据依赖。

2、

比如,A运算必须得到B运算的结果,但是,B运算还没有开始,A运算动作就必须等待,直到B运算完成,两次运算不能同时执行。
解决方案:
第一种情况,增加运算部件的数量来使他们不必争用同一个部件;
第二种情况,用指令调度的方法重新安排指令或运算的顺序。

3. 处理器流水线中的冲突


处理器的流水线设计中另外一个问题便是流水线中的冲突(Hazards),主要分为资源冲突和数据冲突。
 

3.1. 7.1 流水线中的资源冲突


 
资源冲突是指流水线中硬件资源的冲突,最常见的是运算单元的冲突,譬如除法器需要多个时钟周期才能完成运算,因此在前一条除法指令运算完成之前,新的除法指令如果也需要除法器则会存在着资源冲突。在处理器的流水线中硬件资源冲突种类还有较多,在此不做一一赘述。解决资源冲突的方法可以通过复制硬件资源或者流水线停顿等待硬件资源的方法解决。
 

3.2. 7.2 流水线中的数据冲突


 
数据冲突是指不同的指令之间的操作数存在数据相关性造成的冲突。常见的数据相关性包括:
 
WAR(Write-After-Read)相关性,又称先读后写相关性:表示“后序执行的指令需要写回的结果寄存器索引”与“前序执行的指令需要读取的源操作数寄存器索引”相同造成的数据相关性。因此,从理论上来讲,在流水线中“后序指令”一定不能比和它有WAR相关性的“前序指令”先执行,否则“后序指令”先写回了结果至通用寄存器组中,“前序指令”再读取操作数时,就会读到错误的数值。
 
WAW(Write-After-Write)相关性,又称先写后写相关性:表示“后序执行的指令需要写回的结果寄存器索引”与“前序执行的指令需要写回的结果寄存器索引”相同造成的数据相关性。因此,从理论上来讲,在流水线中“后序指令”一定不能比和它有WAW相关性的“前序指令”先执行,否则“后序指令”先写回了结果至通用寄存器组中,“前序指令”再写回结果至通用寄存器组中就会将其覆盖。
 
RAW(Read-After-Write)相关性,又称先写后读相关性:表示“后序执行的指令需要读取的源操作数寄存器索引”与“前序执行的指令需要写回的结果寄存器索引”相同造成的数据相关性。因此,从理论上来讲,在流水线中“后序指令”一定不能比和它有RAW相关性的“前序指令”先执行,否则“后序指令”便会从通用寄存器组中读回错误的源操作数

 

4. 为了能够尽可能的减少流水线停顿带来的性能损失,可以使用“动态调度”的方法

 

之所以RAW称之为真数据相关,是因为其没有办法通过寄存器重命名的方法将相关性去除。一旦产生RAW相关性,后序的指令一定要使用和它有RAW数据相关性的前序指令执行完成的结果,从而造成流水线的等待停顿。为了能够尽可能的减少流水线停顿带来的性能损失,可以使用“动态调度”的方法。动态调度的思想本质上可以归结于以下方面:
 
一方面采用数据旁路传播(Data Bypass and Forward)技术尽可能的让前序指令的计算结果更快的旁路传播给后序相关指令的操作数;
 
另一方面尽可能的让后序相关指令在等待的过程中不阻塞流水线而让其他无关的指令能够继续顺利执行。
 
早期的Tomasulo算法中通过保留站可以达到这两方面的功效,但是保留站由于保存了操作数无法做到很大的深度(否则面积和时序的开销巨大)。
 
最新的高性能处理器普遍采用在每个运算单元前配置乱序发射队列(Issue Queue)的方式,发射队列仅追踪RAW相关性而并不存放操作数,因此可以做的很深(譬如16个表项)。在发射队列中的指令一旦相关性解除之后,再从发射队列中发射出来读取物理寄存器组(Physical Register File),然后发送给运算单元开始计算。
 
有关处理器的数据相关性问题和包括动态调度技术在内的解决方法,如果阐述清楚几乎可以单独成书,本文限于篇幅只能提纲挈领式的予以简述。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭