用于在单指令多线程计算系统中加载数据的方法和装置制造方法及图纸

技术编号:33457762 阅读:31 留言:0更新日期:2022-05-19 00:39
本公开的实施例涉及在单指令多线程计算系统中加载数据的方法和电子装置。在该方法中,基于接收到的单个加载指令,确定多个线程的多个谓词,每个谓词指示相应线程中所指定的地址是否有效,地址用于访问存储器中的数据;基于所确定的多个谓词,确定多个线程中的至少一个执行线程;针对至少一个执行线程中的每个执行线程,确定目标数据;以及将针对至少一个执行线程中的每个执行线程的目标数据的集合写入到多个线程中的每个目标线程的寄存器堆中。以此方式,可以基于单个加载指令来针对每个执行线程确定对应的目标数据并且向每个目标线程写入目标数据的集合。这样,可以提高在寄存器与存储器之间进行数据交换的效率。寄存器与存储器之间进行数据交换的效率。寄存器与存储器之间进行数据交换的效率。

【技术实现步骤摘要】
用于在单指令多线程计算系统中加载数据的方法和装置


[0001]本公开的实施例一般地涉及电子领域,更具体而言涉及一种用于在单指令多线程计算系统中加载数据的方法和装置。

技术介绍

[0002]对于常规的单指令多线程计算系统,每个线程有自己的寄存器堆(即寄存器的阵列,也称为寄存器文件),并且每个线程可以在其寄存器与存储器之间进行线程级的数据交换。
[0003]目前,通常采用典型的寄存器存取架构(load

store architecture)来在寄存器与存储器之间进行数据交换。例如,可以利用加载(load)指令来从存储器读取数据并将数据存储到寄存器中。然而,常规的加载指令缺少针对多个线程进行数据交换的优化。因此,需要一种用于在单指令多线程计算系统中针对多个线程高效地加载数据的方案。

技术实现思路

[0004]本公开的实施方式提供了一种在单指令多线程计算系统中加载数据的技术方案。
[0005]在第一方面,提供了一种在单指令多线程计算系统中加载数据的方法。该方法包括:基于接收到的单个加载指令,确定所述多本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种在单指令多线程计算系统中加载数据的方法,所述单指令多线程计算系统包括多个线程,所述方法包括:基于接收到的单个加载指令,确定所述多个线程的多个谓词,每个谓词指示相应线程中所指定的地址是否有效,所述地址用于访问存储器中的数据;基于所确定的所述多个谓词,确定所述多个线程中的至少一个执行线程;针对所述至少一个执行线程中的每个执行线程,确定目标数据;以及将针对所述至少一个执行线程中的每个执行线程的所述目标数据的集合写入到所述多个线程中的每个目标线程的寄存器堆中。2.根据权利要求1所述的方法,其中针对所述至少一个执行线程中的每个执行线程确定目标数据包括以下之一:响应于所述执行线程的所述谓词指示所述地址有效,基于所述地址从所述存储器提取针对所述执行线程的所述目标数据;或者响应于所述执行线程的所述谓词指示所述地址无效,基于预定值确定所述目标数据。3.根据权利要求1所述的方法,其中针对所述至少一个执行线程中的每个执行线程确定目标数据包括:基于所述加载指令,确定所述执行线程的所述寄存器堆中用于存储所述地址的地址寄存器;从所述地址寄存器读取所述地址;以及基于所述地址从所述存储器提取针对所述执行线程的所述目标数据。4.根据权利要求1所述的方法,其中将针对所述至少一个执行线程中的每个执行线程的所述目标数据的集合写入到所述多个线程中的每个目标线程的寄存器堆中包括:基于所述加载指令,确定所述多个线程中的所述目标线程;基于所述加载指令,确定所述寄存器堆中的目标寄存器;以及基于所述目标数据的集合的大小,将所述目标数据的集合写入到所述寄存器堆中的至少一个连续的寄存器,所述至少一个连续的寄存器起始于所述目标寄存器。5.根据权利要求1所述的方法,其中将针对所述至少一个执行线程中的每个执行线程的所述目标数据的集合写入到所述多个线程中的每个目标线程的寄存器堆中包括:转置所述目标数据的集合;以及将经转置的目标数据的集合写入到所述多个线程中的每个目标线程的寄存器堆中。6.根据权利要求1所述的方法,其中所述多个线程按编号被...

【专利技术属性】
技术研发人员:彭永超袁红岗满新攀赵鹏徐立宝王东辉仇小钢
申请(专利权)人:海飞科南京信息技术有限公司
类型:发明
国别省市:

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

1