向量计算装置、处理器、片上系统以及电子设备制造方法及图纸

技术编号:38615425 阅读:10 留言:0更新日期:2023-08-26 23:42
本发明专利技术实施例提供了一种向量计算装置、处理器、片上系统以及电子设备。所述向量计算装置包括:寄存器单元,被划分成多个计算通道,每个计算通道包括由第一寄存器构成的第一阵列和由第二寄存器构成的第二阵列;线程管理单元,根据至少一个第一元素与至少一个第二元素之间的对应关系,确定至少一个线程;计算单元,包括多个执行单元,每个执行单元用于根据至少一个线程,读取相应计算通道中与每个线程对应的第一元素和第二元素,执行该线程对应的第一元素和第二元素之间的模运算,将模运算结果写入到该计算通道中的第一阵列或第二阵列。本发明专利技术实施例提高了第一向量和第二向量之间的向量计算效率。量计算效率。量计算效率。

【技术实现步骤摘要】
向量计算装置、处理器、片上系统以及电子设备


[0001]本专利技术实施例涉及计算机
,尤其涉及一种向量计算装置、处理器、片上系统以及电子设备。

技术介绍

[0002]在基于同态加密的外包隐私计算中,客户端将数据加密后,将计算任务外包给服务器,服务器在密文上执行安全计算。密文的计算量远远大于明文的计算量,需要硬件并行处理技术支持。
[0003]密文计算任务需要诸如向量模乘、向量模加等大量的向量模运算,然而,现有技术的向量计算方案的计算效率较低。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种向量计算装置、处理器、片上系统以及电子设备,以至少部分解决上述问题。
[0005]根据本专利技术实施例的第一方面,提供了一种向量计算装置,包括:寄存器单元,分布存储具有第一向量和第二向量,所述寄存器单元被划分成多个计算通道,每个计算通道包括由第一寄存器构成的第一阵列和由第二寄存器构成的第二阵列,所述第一寄存器用于存储所述第一向量的至少一个第一元素,所述第二寄存器用于存储所述第二向量的至少一个第二元素;线程管理单元,根据所述至少一个第一元素与所述至少一个第二元素之间的对应关系,确定至少一个线程;计算单元,包括分别与所述多个计算通道对应的多个执行单元,每个执行单元用于根据所述至少一个线程,读取相应计算通道中与每个线程对应的第一元素和第二元素,执行该线程对应的第一元素和第二元素之间的模运算,将模运算结果写入到该计算通道中的第一阵列或第二阵列。
[0006]在本专利技术的另一实现方式中,所述线程管理单元配置有额定线程数,所述额定线程数与所述第一寄存器和所述第二寄存器的分块数一致。
[0007]在本专利技术的另一实现方式中,所述分块数根据所述寄存器单元的额定向量长度与所述多个计算通道的通道数之间的比例关系确定。
[0008]在本专利技术的另一实现方式中,所述装置还包括:调度单元,解析当前向量计算指令,得到所述第一向量和所述第二向量的实际向量长度,相应地,所述线程管理单元还用于:基于所述实际向量长度与所述多个计算通道的通道数之间的比例关系确定所述至少一个线程的当前线程数;基于所述至少一个线程的当前线程数确定线程管理表的当前状态。
[0009]在本专利技术的另一实现方式中,所述调度单元还用于:解析向量计算任务中的各个向量计算指令,得到所述第一向量和所述第二向量的向量长度阈值,相应地,所述线程管理单元还用于:基于所述向量长度阈值与所述多个计算通道的通道数之间的比例关系确定所述至少一个线程的线程数阈值;基于所述线程数阈值配置所述线程管理表。
[0010]在本专利技术的另一实现方式中,所述至少一个线程包括连续执行的第一线程和第二
线程,相应地,每个执行单元具体用于:在第一时钟周期,在对应计算通道中,对所述第一线程对应的第一元素和第二元素执行模运算,并且执行所述第二线程对应的第一元素与第二元素的读取。
[0011]在本专利技术的另一实现方式中,每个执行单元具体用于:确定所述第一寄存器或所述第二寄存器在所述寄存器单元中的基地址,基于所述基地址从所述第一线程对应的偏移地址读取所述第一线程对应的第一元素和第二元素;基于所述第一线程对应的偏移地址的下一相邻地址读取所述第二线程对应的第一元素与第二元素。
[0012]在本专利技术的另一实现方式中,每个执行单元具体用于:在第二时钟周期,在对应计算通道中,将所述第一线程对应的第一元素和第二元素的模运算结果写入到第一阵列或第二阵列所述第一寄存器块,并且对所述第二线程对应的第一元素和第二元素执行模运算。
[0013]在本专利技术的另一实现方式中,每个执行单元设置在所述寄存器单元中的对应计算通道中的第一阵列或第二阵列。
[0014]根据本专利技术实施例的第二方面,提供了一种处理器,处理器包括多个处理器核,每个处理器核被配置成根据第一方面所述的向量计算装置。
[0015]根据本专利技术实施例的第三方面,提供了一种片上系统,包括:根据第二方面所述的处理器。
[0016]根据本专利技术实施例的第四方面,提供了一种电子设备,包括:根据第三方面所述的片上系统。
[0017]在根据本专利技术实施例中,每个计算通道包括由第一寄存器构成的第一阵列和由第二寄存器构成的第二阵列,根据至少一个第一元素与至少一个第二元素之间的对应关系来确定至少一个线程,能够在一个线程中高效地读取第一元素和第二元素,从而通过各个执行单元执行第一元素和第二元素之间的模运算,提高了第一向量和第二向量之间的向量计算效率。
附图说明
[0018]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0019]图1A

图1C为根据一个示例的向量计算装置的示意图。
[0020]图2为根据本专利技术的一个实施例的向量计算装置的示意性框图。
[0021]图3A

图3B为根据本专利技术的另一实施例的向量计算装置的示意性框图。
[0022]图4A

图4C为根据本专利技术的另一实施例的向量计算装置的示意图。
[0023]图5为根据本专利技术的另一实施例的处理器的示意性框图。
[0024]图6为根据本专利技术的另一实施例的片上系统的示意性框图。
[0025]图7为根据本专利技术的另一实施例的一种电子设备的结构示意图。
具体实施方式
[0026]为了使本领域的人员更好地理解本专利技术实施例中的技术方案,下面将结合本专利技术
实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术实施例一部分实施例,而不是全部的实施例。基于本专利技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本专利技术实施例保护的范围。
[0027]下面结合本专利技术实施例附图进一步说明本专利技术实施例具体实现。
[0028]图1A

图1C示出了根据一个示例的向量计算装置。向量计算装置通过对不同向量中的元素进行模运算,将元素的模运算结果组合成不同向量之间的模运算寄过。在向量计算装置执行向量模运算时,如图1A

图1C所示,示例性地,在N个计算通道中存储了多个向量V0

V3等。一般而言,向量个数K=2
k
,k为正整数,例如,K=32或64。每个向量存储在对应的向量寄存器中。每个方框中为向量元素在向量中的位置或标识,每个向量的向量长度为64,在N为16时,向量寄存器的分块数(即,存储深度)为64/16=4,即,每个向量寄存器可以存储同一向量的4个元素。
[0029]进一步地,向量寄存器文件(Vector Register File,VRF)为向量计算装置中的寄存器单元110的示例。计算通道lane1、计算通道la本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种向量计算装置,包括:寄存器单元,分布存储具有第一向量和第二向量,所述寄存器单元被划分成多个计算通道,每个计算通道包括由第一寄存器构成的第一阵列和由第二寄存器构成的第二阵列,所述第一寄存器用于存储所述第一向量的至少一个第一元素,所述第二寄存器用于存储所述第二向量的至少一个第二元素;线程管理单元,根据所述至少一个第一元素与所述至少一个第二元素之间的对应关系,确定至少一个线程;计算单元,包括分别与所述多个计算通道对应的多个执行单元,每个执行单元用于根据所述至少一个线程,读取相应计算通道中与每个线程对应的第一元素和第二元素,执行该线程对应的第一元素和第二元素之间的模运算,将模运算结果写入到该计算通道中的第一阵列或第二阵列。2.根据权利要求1所述的装置,其中,所述线程管理单元配置有额定线程数,所述额定线程数与所述第一寄存器和所述第二寄存器的分块数一致。3.根据权利要求2所述的装置,其中,所述分块数根据所述寄存器单元的额定向量长度与所述多个计算通道的通道数之间的比例关系确定。4.根据权利要求1所述的装置,其中,所述装置还包括:调度单元,解析当前向量计算指令,得到所述第一向量和所述第二向量的实际向量长度,相应地,所述线程管理单元还用于:基于所述实际向量长度与所述多个计算通道的通道数之间的比例关系确定所述至少一个线程的当前线程数;基于所述至少一个线程的当前线程数确定线程管理表的当前状态。5.根据权利要求4所述的装置,其中,所述调度单元还用于:解析向量计算任务中的各个向量计算指令,得到所述第一向量和所述第二向量的向量...

【专利技术属性】
技术研发人员:陈朝晖
申请(专利权)人:阿里巴巴达摩院杭州科技有限公司
类型:发明
国别省市:

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

1