一种基于粗粒度可重构阵列实现的存内计算方法技术

技术编号:27619057 阅读:24 留言:0更新日期:2021-03-10 10:56
一种基于CGRA的存内处理系统,其特征在于,包括:中央处理器、主存、可重构阵列、全局指令寄存器,采用3D堆叠模式,每一个主存块对应一个逻辑层,所述逻辑层和存储芯片之间采用TSV技术进行直连;可重构阵列的处理单元被配置为存储单元或算术逻辑单元;存储单元用于与所述内存进行数据交换;算术逻辑单元用于根据寄存器数据、附近所述存储单元数据、配置信息进行计算。本发明专利技术的有益效果为:明显的性能优势,广泛的应用优势,在仿真平台下可以实现该架构的功能仿真,并应用到具体的数据密集型算法中,适配更多的算法应用,灵活性更高,可重构阵列全局指令存储器均采用非对称设计,大大提高了可重构阵列内部配置数据传输的效率。高了可重构阵列内部配置数据传输的效率。高了可重构阵列内部配置数据传输的效率。

【技术实现步骤摘要】
一种基于粗粒度可重构阵列实现的存内计算方法


[0001]本专利技术涉及一种高效的存内计算架构领域的设计方案,特别涉及基于粗粒度可重构阵列实现的存内计算架构设计方案。

技术介绍

[0002]随着当今社会的数据爆炸式增长与对数据分析日益增加的需求,传统计算架构在性能及灵活性方面面临巨大挑战。传统计算架构从内存中进行数据访问,在面对大规模数据时,由于内存带宽不能随着应用程序数据规模的扩大而进行扩展,这已经成为了一个制约性能的瓶颈点。数据移动占用了大量的运行时间和能耗,搬运数据的代价相较于计算而言更为昂贵,这一系列的问题令人们开始思考在内存中处理大数据的可能性。
[0003]在内存设计和内存体系结构方面的进步使人们有机会在内存中进行数据处理(Processing-in-Memory,PIM),实现高内部带宽和低延迟。在PIM中,对传统计算架构进行重新设计,并避免不必要的数据移动。存内处理,也称为近数据处理(near-data processing,NDP),支持在DRAM中使用内存本身或某种形式的处理逻辑(例如加速器,可重构逻辑等)来执行操作。随着现代存储器架构的进步,例如逻辑层和内存以3D堆叠的方式集成,各种工作探索了一系列用于多种不同目的的PIM架构[8-13]。
[0004]可重构计算架构是异于传统冯诺依曼结构的一种计算架构,它通过静态或动态更改电路结构和连接关系来改变电路功能,这与通过改变所执行的指令流来改变功能的冯诺依曼架构思路不同。按重构的时间特性划分,可将可重构处理器分为静态重构和动态重构。现场可编程逻辑门阵列(Field Programmable Gate Arrays,FPGA)是典型的具有静态重构特性的可重构计算处理器。FPGA的出现,以其灵活可配置的特性某种程度上满足了硬件难以迎合软件快速变化的需求。但由于其自身存在配置信息量大、配置时间长(通常需要十几毫秒到几十毫秒)、功能模块性能难以满足要求[14]等问题,逐渐出现了粗粒度的处理单元。
[0005]本文涉及的是动态粗粒度可重构计算架构(Coarse-Grained Reconfigurable architecture,CGRA)。该结构可以在计算过程中间动态改变电路结构及功能,相比静态可重构的FPGA更为灵活;粗粒度时,它的功能改变至少粒度以一个字节(8bit)及以上为一个最小单位,而FPGA是以位(bit)为单位进行细粒度重构。粗粒度可重构带来的好处是配置信息的量会大大降低,从而降低了重构时的代价,这也是粗粒度可重构架构比FPGA更适合实现动态可重构的根本原因。粗粒度可重构架构被视为在后摩尔定律时代能效比更高的体系结构。近年来对CGRA的主要优化方向有:能够加速的应用的领域是否全面;对比其他并行计算平台,是否具有更低的功耗;相对通用处理器,是否具有更高的性能。
[0006]通常意义下的CGRA结构组成是由ADRES[1]模型所定义的,CGRA常见的工作方式是在完成某个既定运算任务之后,迅速对其加载新的配置比特流进行功能重构。在这个模型基础上,不同结构对某个或某些组成部分做出了区别设计,以改善架构的性能或功耗。基于存内计算架构模型,本次设计将在传统的粗粒度可重构架构上进行调整,取消共享数据存
overhead,locality-aware processing-in-memory architecture,ISCA,2015.
[0023][13]Q.Zhu,T.Graf,H.E.Sumbul,L.Pileggi,F.Franchetti,Accelerating sparse matrix-matrix multiplication with 3D-stacked logic-in-memory hardware,HPEC,2013.
[0024][14]Vuillemin J E,Bertin P,Roncin D,et al.Programmable active memories:Reconfigurable systems come of age[J].IEEE Transactions on Very Large Integration Systems,1996,4(1):56-69.

技术实现思路

[0025]通过对
技术介绍
的分析,现有技术存在以下技术问题:
[0026]1、针对数据密集型应用,非存内处理加速器在数据搬运时传输时间较长,访存不够灵活,使得存储器访问成为系统瓶颈,造成较大的性能和功耗损失,存在存储墙的问题。
[0027]2、专用集成电路的专用性太高,可复用性低,局限性高。
[0028]3、现场可编程逻辑门阵列(Field Programmable Gate Arrays,FPGA)是典型的具有静态重构特性的可重构计算处理器。虽支持可重构,但配置信息量大、配置时间长(通常需要十几毫秒到几十毫秒)、功能模块性能难以满足要求。
[0029]4、当前现有的存内计算架构的灵活性较低,无法适配复杂多变的各类密集型应用。
[0030]为解决上面的技术问题,
[0031]1、针对存储墙这一核心问题,本专利技术设计了相应解决方式,采取的措施包括:
[0032]①
、采取近内存(Near Data Processing,NDP)架构(即存内架构),将粗粒度可重构阵列与内存直连,阵列对数据的搬运不经过总线的通信,减少数据搬运的物理距离、时间和功耗,提高整体性能。
[0033]②
、可重构阵列全局指令存储器均采用非对称设计,与处理器端接口保持传统的64bit读写端口,对可重构阵列内部,其数据宽度为512bit,大大提高了可重构阵列内部配置数据传输的效率。
[0034]2、针对已有技术的一些方案应用领域狭窄的问题,CGRA的可重构特性决定该专利技术架构可以广泛应用于多个应用领域,并具有明显的能效提升。
[0035]3、由于可重构的特性大幅提高了配置应用的灵活性,具有更为广泛的适配范围。
[0036]4、粒度较传统可重构门阵列粗,减少配置代价,缩短配置时间。
[0037]5、针对互连结构不够灵活的缺陷,采用开关设计,将可重构阵列与配置存储器、可重构阵列的上下两行之间使用采用交叉开关进行连接。这一方式使得上一行PE单元的计算结果可以输出到下一行的任一PE单元或者暂存到PE本身的寄存器中,具有很高的灵活性,可根据具体要求进行不同的输入配置,适合于进行数据流处理应用。
[0038]一种粗粒度可重构阵列PEA,PEA的列总线通过指令控制器与全局指令存储器数据连通,PEA的行总线通过共享数据存储器与内存数据连通;指令存储控制器通过列总线,完成将全局指令存储器中的指令分发给各处理单元的任务。共享数据存储器通过行总线读取或写入处理单元的数据,完成内存与处理单元的数据交换,以及各处理单元数据的存储汇总;
[0039]对其中每个处理单元(PE)进行异构设计成为存储单元或算术逻辑单元。存储单元负责与内存进行数据交换本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种粗粒度可重构阵列,其特征在于,其列总线通过指令控制器与全局指令存储器数据连通,其行总线通过共享数据存储器与内存数据连通;所述指令存储控制器,用于通过所述列总线,将所述全局指令存储器中的指令分发给各处理单元;所述共享数据存储器,用于通过所述行总线读取或写入所述处理单元的数据,完成内存与所述处理单元的数据交换,以及各所述处理单元的数据存储汇总;所述处理单元被配置为存储单元或算术逻辑单元;所述存储单元用于与所述内存进行数据交换;所述算术逻辑单元用于根据寄存器数据、附近所述存储单元数据、配置信息进行计算。2.如权利要求1所述的粗粒度可重构阵列,其特征在于,包含64个所述处理单元,所述处理单元被配置为8行8列的形式,最外圈28个所述处理单元为所述存储单元,内部26个所述处理单元设计为所述算术逻辑单元。3.如权利要求1所述的粗粒度可重构阵列,其特征在于,所述存储单元,从中央处理器接收目标的物理地址,有读操作和写操作两种模式;在读操作模式时,被配置为执行两步操作:根据指令的目标地址位置,从对应所述内存中读取目标物理地址中的数据,并将数据根据配置指令写到对应的所述算术逻辑单元;在写操作模式时,执行两步操作:将计算结果从相应所述算术逻辑单元中读取,并根据指令的目标地址位置,并将结果写回所述内存的相应位置中。4.如权利要求3所述的粗粒度可重构阵列,其特征在于,所述存储单元的工作机制如下:在没有处理任务时,所述存储单元处于Idle状态;接收到所述中央处理器分配的任务后,所述存储单元的状态切换到Ready并开始工作,接收要从所述内存中搬运的数据的物理地址,向存储阵列发出读请求;向所述存储阵列发送读数据请求后,状态切换到WaitingResp,等待所述存储阵列返回数据;完成数据接收后,所述存储单元根据所述全局指令存储器将所得数据发送到所指定的所述算术逻辑单元,并等待所述算术逻辑单元完成相应逻辑运算,将结果传回;结果接收完成后向所述存储阵列发送写数据请求,数据写入后所述存储单元切换到Finish,此时所述存储单元完成一次完整的操作。5.如权利要求1所述的粗粒度可重构阵列,其特...

【专利技术属性】
技术研发人员:绳伟光刘硕蒋剑飞景乃锋王琴毛志刚
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1