分层架构系统的制作方法
本申请涉及计算机,尤其涉及一种分层架构系统。
背景技术:
1、随着人工智能(artificial intelligence,ai)的发展,与之相关的各项技术也应运而生并得到飞速发展。例如,将数字存内计算(digital in-memory computing,dimc)技术和3d芯片堆叠技术相结合,构成一种ai加速器架构。
2、然而,在一些情况下,通用指令集并不能完全适用于该ai加速器架构,影响ai加速器的计算效率。
技术实现思路
1、针对以上问题,本申请实施例提供了一种指令执行方法及其系统、服务器、计算机程序产品和存储介质。
2、第一方面,本申请实施例提供了一种指令执行方法,应用于控制处理器,所控制述处理器包含分层架构系统,分层架构系统至少包括第一内存层级和第二内存层级,方法包括:解码并执行第一类型指令,第一类型指令用于控制数据块在第一内存层级与第二内存层级之间进行传输;解码并执行第二类型指令,第二类型指令用于向存内计算单元分派第一计算任务;在存内计算单元执行第一计算任务的情况下,并发地执行后续的与第二计算任务相关联的第一类型指令。
3、在上述第一方面的一种可能的实现中,第一类型指令为显式的跨内存层级数据移动指令;第一类型指令的格式包括操作码、目标地址、源地址和数据块大小。
4、在上述第一方面的一种可能的实现中,第二类型指令包括为原子化的计算任务分派指令;第二类型指令有的格式包括操作数,操作数指向第一内存层级中的操作数地址;操作数地址至少包括输入向量的地址和权重矩阵的地址。
5、在上述第一方面的一种可能的实现中,第二类型指令的执行会触发存内计算单元执行一次完整的且多周期的向量矩阵乘法运算。
6、在上述第一方面的一种可能的实现中,第一内存层级为静态随机存取存储器,集成于包含存内计算单元的逻辑芯片;第二内存层级为动态随机存取存储器,集成于独立的内存芯片;逻辑芯片与内存芯片通过三维堆叠技术垂直整合,并通过高密度硅通孔实现两个内存层级间的高速数据交互。
7、在上述第一方面的一种可能的实现中,第一类型指令和第二类型指令由编译器生成;第一类型指令包括加载数据指令和存储数据指令;加载数据指令用于从第二内存层级加载数据块至第一内存层级,存储数据指令用于从第一内存层级存储数据块至第二内存层级。
8、第二方面,本申请实施例提供了一种分层架构系统,系统包括逻辑芯片、内存芯片和控制处理器,逻辑芯片,包含多个存内计算单元和作为第一内存层级的静态随机存取存储器;内存芯片,包含作为第二内存层级的动态随机存取存储器;内存芯片通过三维堆叠技术与逻辑芯片垂直集成;控制处理器,用于通过执行第一类型指令和第二类型指令,实现数据移动操作与计算任务的并发重叠执行。
9、在上述第二方面的一种可能的实现中,所述逻辑芯片与所述内存芯片之间通过高密度硅通孔进行互连,以实现所述第一内存层级与所述第二内存层级之间的高速数据交互。
10、在上述第二方面的一种可能的实现中,所述系统还包括编译器模块,所述编译器模块用于根据ai计算图生成所述第一类型指令和第二类型指令,以使得所述控制处理器能够在指令层面协调实现数据传输与计算任务的并行执行。
11、在上述第二方面的一种可能的实现中,所述分层架构系统被封装于服务器主板的ai加速器插槽中,并通过高速互连接口与主处理器通信,以作为主机系统的异构协处理单元执行人工智能计算任务。
12、第三方面,本申请实施例提供了一种服务器,该服务器包括:存储器,用于存储由服务器的一个或多个处理器执行的指令;以及处理器,是服务器的处理器之一,用于执行存储器中存储的指令以实现上述第一方面,以及第一方面提及的任意一种方法。
13、第四方面,本申请实施例提供了一种计算机程序产品,包括:计算机程序/指令,计算机程序/指令被处理器执行时实现上述第一方面,以及第一方面提及的指令执行方法的计算机程序代码。
14、第五方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,指令在计算机上执行时使得计算机执行时实现上述第一方面,以及第一方面提及的指令执行方法的计算机程序代码。
15、上述第二方面、第三方面、第四方面和第五方面的有益效果,可以参考上述第一方面,以及第一方面的各种可能的实现中的相关描述,在此不做赘述。
1.一种分层架构系统,其特征在于,所述系统包括逻辑芯片、内存芯片和控制处理器,
2.根据权利要求1所述的分层架构系统,其特征在于,所述逻辑芯片与所述内存芯片之间通过高密度硅通孔进行互连,以实现所述第一内存层级与所述第二内存层级之间的高速数据交互。
3.根据权利要求1所述的分层架构系统,其特征在于,所述第一内存层级为静态随机存取存储器,所述第二内存层级为动态随机存取存储器。
4.根据权利要求1所述的分层架构系统,其特征在于,所述控制处理器被配置为执行两种不同类型的指令:其中,第一类型指令为显式的跨内存层级数据移动指令,用于控制数据块在所述第一内存层级与所述第二内存层级之间的传输;第二类型指令为计算任务分派指令,用于向所述存内计算单元分派计算任务。
5.根据权利要求4所述的分层架构系统,其特征在于,所述第一类型指令包括加载数据指令和存储数据指令;所述加载数据指令用于从所述第二内存层级加载数据块至所述第一内存层级,所述存储数据指令用于从所述第一内存层级存储数据块至所述第二内存层级。
6.根据权利要求4所述的分层架构系统,其特征在于,所述第二类型指令为原子化的计算任务分派指令;所述第二类型指令包括操作数,所述操作数指向所述第一内存层级中的操作数地址,所述操作数地址至少包括输入向量的地址和权重矩阵的地址。
7.根据权利要求6所述的分层架构系统,其特征在于,所述存内计算单元被配置为执行原子化的、多周期的向量矩阵乘法运算,且每次运算均由所述控制处理器执行的第二类型指令触发。
8.根据权利要求1所述的分层架构系统,其特征在于,所述控制处理器被配置为:在所述存内计算单元执行第一计算任务的情况下,并发地执行与第二计算任务相关联的第一类型指令,从而实现数据传输操作与计算任务的时间重叠。
9.根据权利要求1所述的分层架构系统,其特征在于,所述系统还包括编译器模块,所述编译器模块用于根据ai计算图生成所述第一类型指令和第二类型指令,以使得所述控制处理器能够在指令层面协调实现数据传输与计算任务的并行执行。
10.根据权利要求1所述的分层架构系统,其特征在于,所述分层架构系统被封装于服务器主板的ai加速器插槽中,并通过高速互连接口与主处理器通信,以作为主机系统的异构协处理单元执行人工智能计算任务。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com