分支指令处理方法、处理器、芯片、板卡、设备及介质技术

技术编号:34568644 阅读:22 留言:0更新日期:2022-08-17 12:59
本公开实施例提供一种分支指令处理方法、SIMT处理器、芯片、板卡、设备及存储介质。SIMT处理器包括分支指令处理单元和堆栈;分支指令处理单元用于:在多个线程中的至少两个用于执行分支指令的不同分支的情况下,确定汇聚指令的第一地址参数和在后执行分支的首个指令的第二地址参数;将包括第一地址参数和第二地址参数的条目压入堆栈的栈顶;在执行分支指令或者在先执行分支中的指令的过程中,在待执行的下一条指令的第三地址参数与栈顶中的第一地址参数一致的情况下,将第三地址参数更新为栈顶中的第二地址参数。本实施实现高效处理分支指令。指令。指令。

【技术实现步骤摘要】
分支指令处理方法、处理器、芯片、板卡、设备及介质


[0001]本公开涉及数据处理
,尤其涉及一种分支指令处理方法、SIMT处理器、芯片、板卡、设备及存储介质。

技术介绍

[0002]单指令多线程(Single Instruction Multi Thread,SIMT)使用单条指令控制多个线程的执行,即多个线程同时执行同一条指令。SIMT技术应用于处理器设计,可以节省取指逻辑资源,将更多的晶体管用于计算,提供处理器的运算能力;在诸如图形计算中,大量的顶点、像素需进行相同操作,具有极高的数据并行性,SIMT具有很好的适应性。
[0003]SIMT处理器中,当线程簇中的所有线程具有相同的执行路径时,SIMT处理器可获得全部的效率和性能;如果线程簇中的线程存在条件分支时因各线程数据的不同造成执行路径的差异,比如在遇到分支指令时,线程簇中的一些线程的执行结果满足分支指令指示的条件,而另一些线程的执行结果不满足条件,满足条件的线程需要进行分支转移而另一些不进行分支转移,针对于该种情况,SIMT处理器存在执行效率不高的问题。而SIMT处理器不本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种SIMT处理器,其特征在于,包括分支指令处理单元和堆栈;所述SIMT处理器中的多个线程能够同步地执行同一指令序列中的各条指令,所述指令序列中至少包括分支指令和汇聚指令,所述分支指令指示可执行的多个分支,所述多个分支在所述汇聚指令处聚集;所述分支指令处理单元用于:在所述多个线程中的至少两个用于执行所述分支指令的不同分支的情况下,确定汇聚指令的第一地址参数和所述不同分支中的在后执行分支的首个指令的第二地址参数;将包括所述第一地址参数和所述第二地址参数的条目压入所述堆栈的栈顶;在执行所述分支指令或者在先执行分支中的指令的过程中,在待执行的下一条指令的第三地址参数与所述栈顶中的第一地址参数一致的情况下,将所述第三地址参数更新为所述栈顶中的第二地址参数,以使所述在后执行分支的首个指令被确定为所述下一条指令。2.根据权利要求1所述的SIMT处理器,其特征在于,所述分支指令处理单元还用于:在执行在后执行分支的指令的过程中,在所述下一条指令的第三地址参数与所述栈顶的第一地址参数一致的情况下,从所述栈顶弹出包括所述第一地址参数和所述第二地址参数的条目。3.根据权利要求1或2所述的SIMT处理器,其特征在于,所述多个分支包括转移分支和顺序执行分支;所述顺序执行分支上的首个指令为所述指令序列中紧跟所述分支指令的后一指令,所述转移分支为所述多个分支中除所述顺序执行分支以外的其他分支;所述顺序执行分支上的首个指令的地址参数通过对所述分支指令的地址参数进行递增得到;所述转移分支上的首个指令的地址参数由所述分支指令指定、且与所述分支指令的地址参数不连续。4.根据权利要求1至3任意一项所述的SIMT处理器,其特征在于,所述分支指令处理单元还用于:根据每个线程对所述分支指令的判断条件的判断结果,获取所述每个线程对应于所述分支指令的第一标志位,一个线程对应于所述分支指令的第一标志位用于指示所述线程在执行完所述分支指令之后所执行的下一个分支。5.根据权利要求4所述的SIMT处理器,其特征在于,所述多个分支包括转移分支和顺序执行分支;所述顺序执行分支上的首个指令为所述指令序列中紧跟所述分支指令的后一指令,所述转移分支为所述多个分支中除所述顺序执行分支以外的其他分支;一个线程对应于所述转移分支的第一标志位与对应于所述分支指令的第一标志位相同,一个线程对应于所述顺序转移分支的第一标志位通过对该线程对应于所述分支指令的第一标志位取反得到。6.根据权利要求5所述的SIMT处理器,其特征在于,所述条目还包括各个线程对应于所述在后执行分支的第一标志位。7.根据权利要求5所述的SIMT处理器,其特征在于,每个线程还对应一个第二标志位,用于指示所述线程是否运行;所述条目还包括各个线程对应于所述在后执行分支的第一标志位和所述第二标志位;或者所述条目还包括各个线程的第二标志位;其中,一个线程对应于所述在后执行分支的
第一标志位基于所述线程的第二标志位和所述线程对应于所述在先执行分支的第一标志位确定。8.根据权利要求1至7任意一项所述的SIMT处理器,其特征在于,所述分支指令处理单元的数量和所述堆栈的数量均大于1,每个分支指令处理单元对应于所述SIMT处理器中的一个线程簇,每个堆栈对应于所述SIMT处理器中的一个线程簇;其中,同一线程簇中的多个线程能够同步地执行同一指令序列中的各条指令。9.根据权利要求8所...

【专利技术属性】
技术研发人员:徐永康夏晓旭唐印王文强徐宁仪
申请(专利权)人:上海阵量智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1