【技术实现步骤摘要】
用于在单指令多线程计算系统中加载数据的方法和装置
[0001]本公开的实施例一般地涉及电子领域,更具体而言涉及一种用于在单指令多线程计算系统中加载数据的方法和装置。
技术介绍
[0002]对于常规的单指令多线程计算系统,每个线程有自己的寄存器堆(即寄存器的阵列,也称为寄存器文件),并且每个线程可以在其寄存器与存储器之间进行线程级的数据交换。
[0003]目前,通常采用典型的寄存器存取架构(load
‑
store architecture)来在寄存器与存储器之间进行数据交换。例如,可以利用加载(load)指令来从存储器读取数据并将数据存储到寄存器中。然而,常规的加载指令缺少针对多个线程进行数据交换的优化。因此,需要一种用于在单指令多线程计算系统中针对多个线程高效地加载数据的方案。
技术实现思路
[0004]本公开的实施方式提供了一种在单指令多线程计算系统中加载数据的技术方案。
[0005]在第一方面,提供了一种在单指令多线程计算系统中加载数据的方法。该方法包括:基于接收到的单个 ...
【技术保护点】
【技术特征摘要】
1.一种在单指令多线程计算系统中加载数据的方法,所述单指令多线程计算系统包括多个线程,所述方法包括:基于接收到的单个加载指令,确定所述多个线程的多个谓词,每个谓词指示相应线程中所指定的地址是否有效,所述地址用于访问存储器中的数据;基于所确定的所述多个谓词,确定所述多个线程中的至少一个执行线程;针对所述至少一个执行线程中的每个执行线程,确定目标数据;以及将针对所述至少一个执行线程中的每个执行线程的所述目标数据的集合写入到所述多个线程中的每个目标线程的寄存器堆中。2.根据权利要求1所述的方法,其中针对所述至少一个执行线程中的每个执行线程确定目标数据包括以下之一:响应于所述执行线程的所述谓词指示所述地址有效,基于所述地址从所述存储器提取针对所述执行线程的所述目标数据;或者响应于所述执行线程的所述谓词指示所述地址无效,基于预定值确定所述目标数据。3.根据权利要求1所述的方法,其中针对所述至少一个执行线程中的每个执行线程确定目标数据包括:基于所述加载指令,确定所述执行线程的所述寄存器堆中用于存储所述地址的地址寄存器;从所述地址寄存器读取所述地址;以及基于所述地址从所述存储器提取针对所述执行线程的所述目标数据。4.根据权利要求1所述的方法,其中将针对所述至少一个执行线程中的每个执行线程的所述目标数据的集合写入到所述多个线程中的每个目标线程的寄存器堆中包括:基于所述加载指令,确定所述多个线程中的所述目标线程;基于所述加载指令,确定所述寄存器堆中的目标寄存器;以及基于所述目标数据的集合的大小,将所述目标数据的集合写入到所述寄存器堆中的至少一个连续的寄存器,所述至少一个连续的寄存器起始于所述目标寄存器。5.根据权利要求1所述的方法,其中将针对所述至少一个执行线程中的每个执行线程的所述目标数据的集合写入到所述多个线程中的每个目标线程的寄存器堆中包括:转置所述目标数据的集合;以及将经转置的目标数据的集合写入到所述多个线程中的每个目标线程的寄存器堆中。6.根据权利要求1所述的方法,其中所述多个线程按编号被...
【专利技术属性】
技术研发人员:彭永超,袁红岗,满新攀,赵鹏,徐立宝,王东辉,仇小钢,
申请(专利权)人:海飞科南京信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。