一种基于多级流水线的可编程存算一体加速阵列制造技术

技术编号:35032811 阅读:22 留言:0更新日期:2022-09-24 23:07
本发明专利技术公开了一种基于多级流水线的可编程存算一体加速阵列,包括多个可编程阵列模块和一个电源时钟管理单元,可编程阵列模块和电源时钟管理单元通过管理总线连接;多个可编程阵列模块被连接资源线分割成网格,每个可编程阵列模块之间由连线资源连接;连线资源由许多金属线段构成,连线资源分为单长线和双长线,空间上相邻的两个可编程阵列模块通过单长线连接,不相邻的可编程阵列模块通过双长线连接,不同网格的单长线或者双长线通过矩阵开关相互连接。本发明专利技术由网格式的可编程阵列模块组成,便于工程设计和实现;存算单元之间通过连线资源互联,允许编程,具备较高的算法和硬件匹配度;具备较高的计算单元和存储单元空间利用率。用率。用率。

【技术实现步骤摘要】
一种基于多级流水线的可编程存算一体加速阵列


[0001]本专利技术属于计算机数据处理
,特别涉及一种基于多级流水线的可编程存算一体加速阵列。

技术介绍

[0002]随着近几年云计算、人工智能、数据预处理应用的发展,面对计算中心的数据洪流,数据搬运慢、搬运能耗大等问题成为了计算的关键瓶颈。从处理单元外的存储器提取数据,搬运时间往往是运算时间的成百上千倍,整个过程的无用能耗大概在60%

90%之间,能效非常低,存储带宽成为了数据计算应用的一大障碍。比如神经网络计算加速、雷达数据前端预处理等,最大挑战就是数据在计算单元和存储单元之间频繁的移动,多级流水线可编程存算一体加速阵列可解决该问题。在业界,现阶段的存算一体设计方案不允许软件可编程,一旦硬件设计完成后,存算关系就已经确定,不能根据具体算法合理配置存算资源;也不能根据存算资源做能耗控制。所以现阶段的设计就会导致存算资源支持的算法复杂度不高,同等算力情况下,功耗高的问题。

技术实现思路

[0003]本专利技术的目的在于克服现有技术的不足,提供一种由网格式的可编程阵列模块组成,可编程阵列模块之间、模块内部的存算单元之间通过连线资源互联,允许编程,具备较高的算法和硬件匹配度,并且具有较高的计算单元和存储单元空间利用率的基于多级流水线的可编程存算一体加速阵列。
[0004]本专利技术的目的是通过以下技术方案来实现的:一种基于多级流水线的可编程存算一体加速阵列,包括多个可编程阵列模块和一个电源时钟管理单元,可编程阵列模块和电源时钟管理单元通过管理总线连接;多个可编程阵列模块被连接资源线分割成网格,每个可编程阵列模块之间由连线资源连接;
[0005]连线资源由许多金属线段构成,连线资源分为单长线和双长线,空间上相邻的两个可编程阵列模块通过单长线连接,不相邻的可编程阵列模块通过双长线连接,不同网格的单长线或者双长线通过矩阵开关相互连接。
[0006]进一步地,所述可编程阵列模块内部由输入和输出接口、多个计算单元、多个存储单元、内部连线资源、电源控制单元和延迟单元组成;输入和输出接口实现系统时钟的输入输出,实现模块级的流水作业信号输入输出,以及数据的输入输出;输入和输出接口、计算单元和存储单元之间通过内部连接资源线相连;电源控制单元用于接收电源时钟管理单元发送的控制信号,控制可编程阵列模块内部的电源启闭;延迟单元用于对输入的系统时钟信号进行分频延迟;
[0007]一个计算单元能够访问一个或多个存储单元,一个存储单元只允许一个计算单元访问。
[0008]所述可编程阵列模块内,单个存算一体单元通过系统时钟、流水作业信号控制计
算单元的运算时机;在所有的存算单元中,约定计算单元的计算周期均为m个系统时钟周期,通过延迟单元生成计算时钟,约定计算时钟上升沿对计算输入和流水作业输入信号进行采样,下降沿进行计算输出和流水作业信号输出;所有存算单元的计算输出信号均能够和另外的存算单元的计算输出信号连接,所有存算单元的流水作业信号均能够和另外的存算单元的流水作业信号连接;通过流水作业信号和系统时钟信号使存算单元在每个计算时钟周期上都能执行计算,并能通知下一级存算单元在下一个计算周期继续计算。
[0009]所述储存单元的数据宽度应大于或等于数据输入宽度加乘法系数的宽度再加1。
[0010]进一步地,所述电源控制单元通过总线连接电源时钟管理单元,总线由一个时钟线和一个数据线构成,时钟和数据线空闲状态为高电平;
[0011]总线通信协议采用地址加数据的格式进行发送,启动信号为数据线低电平时,时钟线产生下降沿;确认信号为电源时钟管理单元发送地址信号或者数据信号后,由电源控制单元在时钟上升沿拉低数据线;停止信号为数据线低电平时,时钟线产生上升沿;
[0012]其中地址信号为32位,高16位为可编程块阵列的网格坐标的x坐标,低16位为网格坐标的y坐标;数据位为8位,当为0时表示关闭可编程阵列模块的电源,当为1时表示打开可编程阵列模块的电源;只允许电源时钟管理单元向电源控制单元发起通信,不允许电源控制单元向电源时钟管理单元发起通信请求;
[0013]可编程阵列模块的电源输入端使能控制信号由电源控制单元进行控制,用于控制每个可编程阵列模块的电源。
[0014]进一步地,所述矩阵开关通过选通晶体管实现水平金属线和垂直金属线的选择性连接,每一根水平金属线和垂直金属线相交处设置一个选通晶体管。
[0015]本专利技术的有益效果是:
[0016]1、由网格式的可编程阵列模块组成,便于工程设计和实现;
[0017]2、存算单元之间通过连线资源互联,允许编程,具备较高的算法和硬件匹配度;具备较高的计算单元和存储单元空间利用率;
[0018]3、支持多级流水线操作,具备较高的计算单元和存储单元时间利用率,单个存算单元具备较高的计算速度;
[0019]4、单个可编程阵列模块由多个可编程存算单元组成,单个可编程阵列模块具备较高的计算速度;
[0020]5、该设计包含多个可编程阵列模块,并且可编程块相互独立,所以该存算一体加速阵列具备较高计算速度的同时还能进行能耗控制,有较高的能耗和算力转换率;
[0021]6、单个计算单元配备一个或者多个数据存储单元,能够解决数据搬运慢、存储带宽瓶颈的问题。
附图说明
[0022]图1为本专利技术的可编程存算一体加速阵列的结构示意图;
[0023]图2为本专利技术的可编程块阵列组织结构图;
[0024]图3为可编程块与连线资源的互联关系图;
[0025]图4为本专利技术的可编程阵列模块内部结构图;
[0026]图5为本专利技术的单个存算一体单元的流水结构图;
[0027]图6为本专利技术的数据寄存级联方式;
[0028]图7为总线信号时序图;
[0029]图8为可编程矩阵开关结构图。
具体实施方式
[0030]本专利技术通过实现网格式的可编程阵列模块,降低工程设计的复杂度;模块和模块之间,单元和单元之间设计连线资源,连线资源允许软件编程,使用户可以根据自定义算法操作实际硬件,充分利用硬件资源完成算法计算;设计多级流水线处理模式,使计算单元一直工作在计算状态,存储单元一直工作在数据写入或者数据读出状态,避免计算和存储单元处于空闲等待状态,提高单个存算单元的计算速度;在单个可编程阵列模块内部实现多个可编程存算单元,提高单个可编程阵列模块的计算速度。设计多个可编程块组成可编程阵列,提高整体设计的计算速度,可编程块之间相互独立,设计相同的输入输出接口、电源开关,使其具备功耗控制的能力。
[0031]本专利技术的在提高整体设计算力的同时,考虑其能耗的控制。设计中的可编程部分由用户自行编程,用户可根据具体软件算法情况,进行可编程模块的电源控制,存算单元互联定义操作,最大程度实现软件和硬件的结合,从而实现算力提升和能耗控制。下面结合附图进一步说明本专利技术的技术方案。
[0032]如图1所示,本专利技术的一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多级流水线的可编程存算一体加速阵列,其特征在于,包括多个可编程阵列模块和一个电源时钟管理单元,可编程阵列模块和电源时钟管理单元通过管理总线连接;多个可编程阵列模块被连接资源线分割成网格,每个可编程阵列模块之间由连线资源连接;连线资源由许多金属线段构成,连线资源分为单长线和双长线,空间上相邻的两个可编程阵列模块通过单长线连接,不相邻的可编程阵列模块通过双长线连接,不同网格的单长线或者双长线通过矩阵开关相互连接。2.根据权利要求1所述的一种基于多级流水线的可编程存算一体加速阵列,其特征在于,所述可编程阵列模块内部由输入和输出接口、多个计算单元、多个存储单元、内部连线资源、电源控制单元和延迟单元组成;输入和输出接口实现系统时钟的输入输出,实现模块级的流水作业信号输入输出,以及数据的输入输出;输入和输出接口、计算单元和存储单元之间通过内部连接资源线相连;电源控制单元用于接收电源时钟管理单元发送的控制信号,控制可编程阵列模块内部的电源启闭;延迟单元用于对输入的系统时钟信号进行分频延迟;一个计算单元能够访问一个或多个存储单元,一个存储单元只允许一个计算单元访问。3.根据权利要求2所述的一种基于多级流水线的可编程存算一体加速阵列,其特征在于,所述可编程阵列模块内,单个存算一体单元通过系统时钟、流水作业信号控制计算单元的运算时机;在所有的存算单元中,约定计算单元的计算周期均为m个系统时钟周期,通过延迟单元生成计算时钟,约定计算时钟上升沿对计算输入和流水作业输入信号进行采样,下降沿进行计算输出和流水作业信号输出;所有存算单元的计算输出信号均能够和另外的存算单...

【专利技术属性】
技术研发人员:杨俊吕静
申请(专利权)人:成都奥瑞科电子科技有限公司
类型:发明
国别省市:

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

1