【技术实现步骤摘要】
单核处理核心及其控制方法、众核通信架构、芯片
[0001]本专利技术实施例涉及芯片设计
,特别是涉及一种单核处理核心及其控制方法
、
众核通信架构
、
芯片
。
技术介绍
[0002]相关技术中,当前主流的
DNN(Deep Neural Networks
,深度神经网络
)
训练平台采用
GPU(Graphics Processing Unit
,图形处理器
)
芯片,
GPU
优势主要体现在计算的加速和高度并行,在算子和通讯方面都具有很强的通用性;但是
GPU
基于共享内存的传输架构,基于多级缓存以及缓存一致性协议来实现核间通信,并不能很好适配
DNN
训练数据流以及模型静态部署的特点,其传输时延和能效还有很大优化空间
。
技术实现思路
[0003]本专利技术实施例提供了一种单核处理核心及其控制方法
、
众核通信架构
、
芯片,能够提升核间通信的传输性能和能效,降低
DNN
训练数据传输时延
。
[0004]第一方面,本专利技术实施例提供了一种众核通信架构,所述单核处理核心具有用于对外数据传输的片上网络接口和内存访问接口,所述单核处理核心内部包括计算引擎
、
控制单元
、
数据交换单元
、
参数
RAM、NI >单元
、DMA
单元
、
队列传输单元
、
权重梯度传输单元
、
数据交换总线和控制总线,所述控制单元用于负责计算指令
、
内存传输指令和网络传输指令的激活,所述计算指令预先编排存放在所述计算引擎,所述内存传输指令预先编排存放在所述
DMA
单元,所述内存传输指令包括
DMA
写指令和
DMA
读指令,所述网络传输指令预先编排存放在所述
NI
单元,所述网络传输指令包括
NI
发送指令和
NI
接收指令,所述控制单元通过所述控制总线分别与所述计算引擎
、
所述
NI
单元
、
所述
DMA
单元
、
所述队列传输单元电连接,所述数据交换单元通过所述数据交换总线分别与所述参数
RAM、
所述
NI
单元
、
所述
DMA
单元
、
所述队列传输单元
、
所述权重梯度传输单元电连接,所述队列传输单元用于实现前后向之间的硬件队列扩容及加速,所述权重梯度传输单元用于针对深度神经网络的权重梯度频繁读写
DRAM
内存提供传输加速,所述权重梯度存放在所述
DRAM
内存中,所述控制单元通过控制信号触发所述队列传输单元生成队列传输指令,所述计算引擎通过控制信号触发所述权重梯度传输单元生成权重梯度传输指令
。
[0005]在一些实施例中,所述
NI
单元具有所述片上网络接口,所述
NI
单元根据所述
NI
发送指令将源单核处理核心中所述参数
RAM
的数据发送至目的单核处理核心,以及根据所述
NI
接收指令将从所述目的单核处理核心接收到的数据写入到源单核处理核心中所述参数
RAM
,成对的所述
NI
发送指令和所述
NI
接收指令通过相同的标签号关联
。
[0006]在一些实施例中,所述
DMA
单元用于实现所述参数
RAM
与
DRAM
内存之间的数据传输,所述
DMA
写指令和所述
DMA
读指令包含有对应所述参数
RAM
的数据类型编码
、
源地址信息和目标地址信息,所述
DMA
写指令的源地址信息和所述
DMA
读指令的目标地址信息用于指示所述参数
RAM
的内部偏移,所述数据交换单元根据所述数据类型编码
、
所述源地址信息和所
述目标地址信息访问所述参数
RAM。
[0007]在一些实施例中,所述队列传输单元在训练前后向之间提供先进先出的硬件队列机制加速数据传输,并在
DRAM
内存中提供可配置的队列深度
。
[0008]在一些实施例中,所述计算引擎与所述权重梯度传输单元形成互锁配合
。
[0009]在一些实施例中,所述数据交换单元用于提供所述参数
RAM
与核外数据交换,所述数据交换单元在所述单核处理核心内采用
ID
寻址,统一网络和内存访问的数据调度
。
[0010]第二方面,本专利技术实施例提供了一种众核通信架构,具有至少两个如第一方面所述的单核处理核心,所述片上网络接口用于任意两个所述单核处理核心之间的数据传输,所述片上网络接口电连接片上路由器,所述片上路由器用于任意两个所述单核处理核心之间的数据转发,所述单核处理核心独占一块动态随机存取内存
DRAM
空间,任意两个所述单核处理核心之间内存逻辑隔离
。
[0011]第三方面,本专利技术实施例提供了一种芯片,包括有如第二方面所述的众核通信架构
。
[0012]第四方面,本专利技术实施例提供了一种单核处理核心的控制方法,应用于如第一方面所述的单核处理核心,所述方法包括:
[0013]在确定上轮指令组执行完成的情况下,控制单元激活所述
NI
单元对应的
NI
接收指令和所述
DMA
单元对应的
DMA
读指令,启动数据到参数
RAM
输入传输;
[0014]控制单元向所述队列传输单元发送控制信号,以使所述队列传输单元根据所述控制信号生成队列传输指令,并根据所述队列传输指令启动队列数据到参数
RAM
输入传输;
[0015]在检查输入数据完成的情况下,控制单元激活所述计算引擎启动计算;
[0016]在确定所述计算引擎计算完成的情况下,控制单元激活所述
NI
单元对应的
NI
发送指令和所述
DMA
单元对应的
DMA
写指令,其中,所述
NI
发送指令包含前后向之间的队列数据;
[0017]在检查数据输出完成的情况下,控制单元确定本轮指令组执行结束
。
[0018]在一些实施例中,所述方法还包括:
[001本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
一种单核处理核心,其特征在于,所述单核处理核心具有用于对外数据传输的片上网络接口和内存访问接口,所述单核处理核心内部包括计算引擎
、
控制单元
、
数据交换单元
、
参数
RAM、NI
单元
、DMA
单元
、
队列传输单元
、
权重梯度传输单元
、
数据交换总线和控制总线,所述控制单元用于负责计算指令
、
内存传输指令和网络传输指令的激活,所述计算指令预先编排存放在所述计算引擎,所述内存传输指令预先编排存放在所述
DMA
单元,所述内存传输指令包括
DMA
写指令和
DMA
读指令,所述网络传输指令预先编排存放在所述
NI
单元,所述网络传输指令包括
NI
发送指令和
NI
接收指令,所述控制单元通过所述控制总线分别与所述计算引擎
、
所述
NI
单元
、
所述
DMA
单元
、
所述队列传输单元电连接,所述数据交换单元通过所述数据交换总线分别与所述参数
RAM、
所述
NI
单元
、
所述
DMA
单元
、
所述队列传输单元
、
所述权重梯度传输单元电连接,所述队列传输单元用于实现前后向之间的硬件队列扩容及加速,所述权重梯度传输单元用于针对深度神经网络的权重梯度频繁读写
DRAM
内存提供传输加速,所述权重梯度存放在所述
DRAM
内存中,所述控制单元通过控制信号触发所述队列传输单元生成队列传输指令,所述计算引擎通过控制信号触发所述权重梯度传输单元生成权重梯度传输指令
。2.
根据权利要求1所述的单核处理核心,其特征在于,所述
NI
单元具有所述片上网络接口,所述
NI
单元根据所述
NI
发送指令将源单核处理核心中所述参数
RAM
的数据发送至目的单核处理核心,以及根据所述
NI
接收指令将从所述目的单核处理核心接收到的数据写入到源单核处理核心中所述参数
RAM
,成对的所述
NI
发送指令和所述
NI
接收指令通过相同的标签号关联
。3.
根据权利要求1所述的单核处理核心,其特征在于,所述
DMA
单元用于实现所述参数
RAM
与
DRAM
内存之间的数据传输,所述
DMA
写指令和所述
DMA
读指令包含有对应所述参数
RAM
的数据类型编码
、
源地址信息和目标地址信息,所述
DMA
写指令的源地址信息和所述
DMA
读指令的目标地址信息用于指示所述参数
RAM
的内部偏移,所述数据交换单元根据所述数据类型编码
、
所述源地址信息和所述目标地址信息访问所述参数
RAM。4.
根据权利要求1所述的单核处理核心,其特征在于,所述队列传输单元在训练前后向之间提供先进先出的硬件...
【专利技术属性】
技术研发人员:周晖晖,徐晓峰,崔小欣,李国齐,田永鸿,
申请(专利权)人:鹏城实验室,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。