基于共享紧耦合的通用型计算加速器制造技术

技术编号:39875982 阅读:7 留言:0更新日期:2023-12-30 13:00
本申请公开基于共享紧耦合的通用型计算加速器,涉及芯片领域,加速控制器根据加速任务确定阵列式内核的计算量和源数据,向核外缓冲器发送数据流和控制指令;核外缓冲器接收加速控制器发送的指令与数据,分发到目标加速内核中,暂存阵列式加速内核的结果数据;阵列式加速内核包括阵列分布的加速内核,加速内核与阵列中邻近的加速内核通过总线连接,执行矩阵加速和

【技术实现步骤摘要】
基于共享紧耦合的通用型计算加速器


[0001]本申请涉及芯片领域,特别涉及一种基于共享紧耦合的通用型计算加速器


技术介绍

[0002]在现代信息工业中,从超算到多媒体到人工智能
(AI)
,许多应用或算法都需用通用计算能力

目前业界通常的解决方案是基于独立的
CPU
和独立的加速器,比如用
GPU
来配合计算

一般通用
CPU
完成控制流程和部分小规模通用计算,而
GPU
完成复杂的并行计算,二者的中间结果在主机内存共享,然后再由
CPU
完成最后的计算

[0003]上述的这种计算过程中,两个计算组件
(CPU

GPU)
独立工作,分别完成各自的计算功能,且需要在两者之间传送大批数据,而这个传输一般基于芯片级的总线进行,因为带宽和端口的限制大大降低了总体的计算效率

此外,这种分开独立计算的数据缓存能力较差,数据交互和缓存会影响系统响应速度


技术实现思路

[0004]本申请提供一种基于共享紧耦合的通用型计算加速器,解决多处理芯片之间数据交互导致缓存和计算效率低下的问题

该通用型计算加速器包括阵列式加速内核

若干核外缓冲器和加速控制器;所述核外缓冲器设置在所述阵列式加速内核与所述加速控制器之间,并通过高速总线与两者连接;所述加速控制器根据加速任务确定阵列式内核的计算量和源数据,向所述核外缓冲器发送数据流和控制指令;控制指令用于控制所述阵列式内核中的目标加速内核执行加速任务;所述核外缓冲器接收所述加速控制器发送的控制指令与数据流,将其分发到所述目标加速内核中,并暂存所述阵列式加速内核返回的结果数据;所述阵列式加速内核包括若干阵列分布的加速内核,每个加速内核与阵列中四个邻近的加速内核通过高速总线通信连接,相互传递结果数据;其中分配加速任务的所述目标加速内核根据控制指令和数据流执行矩阵加速和
/
或矢量加速任务,并将结果数据回传至对应的所述核外缓冲器

[0005]本申请实施例提供的技术方案带来的有益效果至少包括:本申请使用带矢量运算加速器的
CPU
内核

矩阵加速器和核内缓冲器组成加速内核,且加速内核通过二维总线组成并行加速网络,通过与外部的多个核外缓冲器组成多路并行加速结构,接收加速控制器的指令和数据流定向执行加速任务,实现相对独立化

高度可控化

数量高吞吐

计算高效率的通用计算加速器

附图说明
[0006]图1是本申请实施例提供的基于共享紧耦合的通用型计算加速器的结构示意图;图2是本申请实施例提供的加速内核的结构示意图;
图3是本申请实施例提供的核外缓冲器的结构示意图;图4是本申请实施例提提供的加速内核加速运算的算法流程图;图5是本申请实施例提供的加速控制器的结构示意图;图6是本申请实施例提供的通用型计算加速器架构运行加速计算的算法流程图;图7是以矩阵加速实例进行程序任务分配和数据缓存的示意图;图8是根据不同计算要求组合分配加速内核的结构示意图;图9是矩阵加速器执行乘加运算的流程示意图;图
10
是矩阵交换和行列转置的计算示意图;图
11

m*n
列的矩阵网络执行矩阵加速的结构示意图;图
12
是通过时间迭代计算输出矩阵的示意图;图
13
示出了根据加速任务计算量关闭部分加速内核的结构示意图;图
14
示出了仅标量
CPU
与核内缓冲器执行任务时的供电结构示意图;图
15
是矢量加速器运行时的供电结构示意图;图
16
是矩阵加速器运行时的供电结构示意图

具体实施方式
[0007]为使本申请的目的

技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述

[0008]在本文中提及的“多个”是指两个或两个以上
。“和
/
或”,描述关联对象的关联关系,表示可以存在三种关系,例如,
A

/

B
,可以表示:单独存在
A
,同时存在
A

B
,单独存在
B
这三种情况

字符“/”一般表示前后关联对象是一种“或”的关系

[0009]图1是本申请实施例提供的基于共享紧耦合的通用型计算加速器的结构示意图,该通用型计算加速器采用众核阵列设计原理,包括阵列式加速内核

若干核外缓冲器和加速控制器

核外缓冲器
Buffer
设置在阵列式加速内核与加速控制器之间,并通过高速总线与加速控制器及阵列式加速内核连接

加速控制器是通用型计算加速器的总控端,根据外部的加速任务确定阵列式内核的计算量和源数据(用于加速计算的数据),在确定加速内容后向核外缓冲器发送数据流(分配好加速任务后分发的流式数据)和控制指令

[0010]核外缓冲器是加速控制器和阵列式加速内核之间的数据缓冲设备,在计算程序
/
加速任务较多的情况下进行数据缓冲

其接收加速控制器发送的控制指令与数据流,根据具体指令内容将数据流对应分发到目标加速内核中,并暂存阵列式加速内核返回的结果数据

具体在数据分发阶段接收加速控制器发送的控制指令与数据流,通过总线将其分发到目标加速内核中;在数据回传阶段则汇总暂存各个目标加速内核计算的加速结果数据(或加速的中间数据),进而再将其通过加速控制器送出到外部

核外缓冲器的容量具体可根据阵列式加速内核的规模和设计规格决定,缓冲器的容量越大则对数据吞吐和运行效率提升越高

[0011]阵列式加速内核包括若干阵列分布的加速内核,具体采用高速总线在二维方向上进行扩展,可以在任意方向实现任意数量的拼接

本申请以二维矩阵式设计,每个加速内核与阵列中四个邻近的加速内核通过高速总线通信连接,组成矩阵式的加速内核网络,彼此之间相对独立可以相互传递结果数据

最外层的加速内核通过总线连接到对应的核外缓冲
器上,实现数据传递

加速内核中集成有矩阵加速器(核)和矢量加速器(核),分别用于执行矩阵运算和矢量运算

在矩阵网络中分配到加速任务的目标加速内核根据控制指令和数据流执行矩阵加速和
/
或矢量加速任务,并将结果数据回传至对应的核外缓冲器

[001本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于共享紧耦合的通用型计算加速器,其特征在于,包括阵列式加速内核

若干核外缓冲器和加速控制器;所述核外缓冲器设置在所述阵列式加速内核与所述加速控制器之间,并通过高速总线与两者连接;所述加速控制器根据加速任务确定阵列式内核的计算量和源数据,向所述核外缓冲器发送数据流和控制指令;控制指令用于控制所述阵列式内核中的目标加速内核执行加速任务;所述核外缓冲器接收所述加速控制器发送的控制指令与数据流,将其分发到所述目标加速内核中,并暂存所述阵列式加速内核返回的结果数据;所述阵列式加速内核包括若干阵列分布的加速内核,每个加速内核与阵列中四个邻近的加速内核通过高速总线通信连接,相互传递结果数据;其中分配加速任务的所述目标加速内核根据控制指令和数据流执行矩阵加速和
/
或矢量加速任务,并将结果数据回传至对应的所述核外缓冲器
。2.
根据权利要求1所述的基于共享紧耦合的通用型计算加速器,其特征在于,所述核外缓冲器分为数据输出缓冲器

数据输入缓冲器和程序缓冲器,且分别通过高速总线与所述加速内核及所述加速控制器连接;所述程序缓冲器接收所述加速控制器下发的控制指令,并转发至所述目标加速内核;所述数据输入缓冲器接收所述加速控制器下发的源数据,并根据控制指令将其发送至所述目标加速内核;所述数据输出缓冲器接收所述目标加速内核计算的结果数据并缓存后回传至所述加速控制器
。3.
根据权利要求2所述的基于共享紧耦合的通用型计算加速器,其特征在于,所述加速内核包括矢量加速器

矩阵加速器

标量
CPU
核心

核内
DMA
控制器及核内缓冲器;其中的所述矢量加速器与所述标量
CPU
核心耦合构成
CPU
加速内核,并与所述矩阵加速器

所述
DMA
控制器及所述核内缓冲器连接,所述矩阵加速器连接在所述
CPU
加速内核与所述核内缓冲器之间;所述标量
CPU
内核基于
RISCV
指令架构,基于控制指令控制所述矢量加速器心执行矢量加速运算,和
/
或控制所述矩阵加速器心执行矩阵加速运算;所述核内
DMA
控制器通过高速总线与相邻四个邻近加速内核的核内
DMA
控制器连接,形成
DMA
控制网络,并根据控制指令及数据流控制所述核内缓冲器交互与所述
CPU
加速内核及所述矩阵加速器进行数据交互和缓冲
。4.
根据权利要求3所述的基于共享紧耦合的通用型计算加速器,其特征在于,所述
CPU
加速内核内还包括数据缓存
DCache、
指令缓存
ICache、
控制寄存器和状态寄存器;
DCache
缓存从所述核内缓冲器搬运的数据流,
ICache
缓存执行矩阵加速和
/
或矢量加速的控制指令;所述控制寄存器用于控制所述标量
CPU
核心启动或结束加速任务,所述状态寄存器表征所述标量
CPU
核心的运行状态,并输出
CPU
状态信号至
DMA
控制网络
。5.
根据权利要求4所述的基于共享紧耦合的通用型计算加速器,其特征在于,所述核内缓冲器为<...

【专利技术属性】
技术研发人员:请求不公布姓名
申请(专利权)人:深存科技无锡有限公司
类型:发明
国别省市:

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

1