一种用于多领域芯片设计的可配置混合异构计算核心架构制造技术

技术编号:23049573 阅读:35 留言:0更新日期:2020-01-07 14:42
一种用于多领域芯片设计的可配置混合异构计算核心架构,包括:工作负载调度模块和处理引擎,处理引擎包括线程组调度模块和特定领域计算单元;工作负载由驱动器发送至工作负载调度模块,然后发送至线程组调度模块,线程组调度模块将工作负载拆分为若干个线程组并将各线程组发送至指定应用的特定领域计算单元执行;特定领域计算单元包括CU控制器、寄存器文件、领域特定核心和L1缓存;CU控制器用于读取着色器并且解码指令,然后将指令发送至各领域特定核心执行,每个特定领域计算单元中的一组寄存器文件和领域特定核心共享L1缓存。本发明专利技术将特定领域计算单元作为构建模块,可以缩短项目设计时间,迅速高效创建市场所需产品。

A configurable hybrid heterogeneous computing core architecture for multi domain chip design

【技术实现步骤摘要】
一种用于多领域芯片设计的可配置混合异构计算核心架构
本专利技术属于硬件、芯片架构设计领域,具体涉及一种用于多领域芯片设计的可配置混合异构计算核心架构。
技术介绍
许多应用需要大计算量和高存储宽带,例如人工智能应用和HPC应用,许多芯片设计为这些应用提供解决方案。CPU通过常见的低级方式解决这些问题,因此丧失部分并行能力,无法支持海量计算。GPU可为类似计算提供极强的并行能力,比如图像创建和处理。但仍无法为人工智能应用等领域的某些特殊算法提供充足的计算能力。TPU等某些领域特定ASIC专注于定制化要求,提供极高的计算能力,同时效率也较高。这些ASIC通常用作CPU等某些主机的加速器,由于某些一般运算无法在这些ASIC中完成,因此与主机之间进行许多数据交换,所以也无法为整体应用实现高性能和高效率。定制芯片灵活性不足,无法运行相同领域中的新算法和用于其他领域的应用。
技术实现思路
本专利技术针对现有技术中的不足,提供一种用于多领域芯片设计的可配置混合异构计算核心架构。为实现上述目的,本专利技术采用以下技术方案:一种用于多领域芯片设计的可配置混合异构计算核心架构,其特征在于,包括:工作负载调度模块和处理引擎,所述处理引擎包括线程组调度模块和特定领域计算单元;工作负载由驱动器发送至工作负载调度模块,然后发送至线程组调度模块,所述线程组调度模块将工作负载拆分为若干个线程组并将各线程组发送至指定应用的特定领域计算单元执行;所述特定领域计算单元包括CU控制器、寄存器文件、领域特定核心和L1缓存;所述CU控制器用于读取着色器并且解码指令,然后将指令发送至各领域特定核心执行,每个领域特定核心都有各自的寄存器文件,每个特定领域计算单元中的一组寄存器文件和领域特定核心共享L1缓存。为优化上述技术方案,采取的具体措施还包括:进一步地,所述处理引擎的数量可扩展,在每个处理引擎中,按不同的领域要求配置不同数量的特定领域计算单元,在每个特定领域计算单元中,通过配置不同的领域特定核心形成针对不同算法的基础特定领域计算单元,作为计算机核心架构的构建模块。进一步地,所述处理引擎还包括Fabric架构和L2缓存,通过Fabric架构连接各L1缓存和L2缓存,所述L2缓存通过片上网络连接最后一级缓存,所述最后一级缓存连接内存控制器。进一步地,加载指令从L1缓存加载数据,如数据不在L1缓存内,则前往L2缓存和最后一级缓存,如所有缓存均无相关数据时,则前往DRAM;存储指令按规则存储在L1缓存、L2缓存和最后一级缓存中,或者存储在DRAM中。进一步地,所述着色器包括多种指令语句,不同的指令语句被分配到不同的特定领域计算单元中执行,各特定领域计算单元配置有不同的领域特定核心。进一步地,所述CU控制器根据设定的特殊指令将线程组移动至其他的特定领域计算单元,该特殊指令嵌入每个指令语句的末尾,使CU控制器完成切换。进一步地,每个处理引擎都配置有处理引擎共享缓冲区,需要在不同的特定领域计算单元之间共享数据时,使用缓冲区存储指令将数据写入处理引擎共享缓冲区,使用缓冲区加载指令从处理引擎共享缓冲区获取数据。本专利技术的有益效果是:提供了一种用于多领域芯片设计的可配置混合异构计算核心架构,每个领域都有其各自的领域特定核心,可以高效解算问题。领域特定核心专为自身的组运算设计,不存在其他开销,因此很容易按大计算量要求进行扩展。在此架构下,将特定领域计算单元作为构建模块,可以缩短项目设计时间,迅速高效创建市场所需产品。附图说明图1是混合异构计算机核心架构图。图2是特定领域计算单元示意图。图3a是处理引擎示意图。图3b是混合处理引擎示意图。具体实施方式现在结合附图对本专利技术作进一步详细的说明。如图1所示的一种用于多领域芯片设计的可配置混合异构计算核心架构,为每个领域创建高效核心。每个领域特定核心都有各自的寄存器文件(RegisterFile),一组领域特定核心共享L1缓存(L1Cache),将该组核心及其CU控制器(CUController)、寄存器文件和L1缓存称为特定领域计算单元(DomainSpecificComputeUnit,DSCU)。图2是DSCU示意图。处理引擎(ProcessingEngine,PE)包括线程组调度模块、一些DSCU、L2缓存(L2Cache)和将DSCU中L1缓存连接到L2缓存的Fabric架构。图3a是PE示意图。在PE中,DSCU可用于不同的领域。例如,在图3b中,3个DSCU用于人工智能卷积,1个DSCU用于GPGPU运算。不同领域计算单元比例可按不同的市场要求改变,因此可以配置。如果数据需要在不同的DSCU之间共享,可以写入PE共享缓冲区(访问延迟短)或L2缓存(访问延迟大)。另一个DSCU示例是端到端数据操纵,可以设计特定核心进行数据加载、查询、连接、聚合和筛选。这种适用于多领域应用的架构,每个领域都有其各自的核心,可以高效解算问题。领域特定核心专为组运算设计,不存在其他开销,因此很容易按大计算量要求进行扩展。每个应用或解算都有一些无法在领域特定核心内运行的一般运算(线程运算)。因此在该架构中为这些运算添加了一些通用核心。进一步参见图1,工作负载由驱动器发送至工作负载调度模块(WorkloadDispatch),然后发送至线程组调度模块(ThreadGroupDispatch)。线程组调度模块将工作负载拆分为许多线程组并将线程组发送至应用指定的DSCU。CU控制器读取着色器(Shader)、解码指令并将指令发送至各核心执行。加载指令从L1缓存加载数据,如数据不在L1缓存内,则前往L2缓存或最后一级缓存(LLC)或DRAM(所有缓存均无相关数据时)。存储指令按规则将数据存储在L1/L2/LLC或DRAM。要在DSCU间共享数据,使用缓冲区存储/加载指令将数据放入处理引擎共享缓冲区(ProcessingEngineSharedBuffer)或从该缓冲区获取数据。着色器有许多指令语句,不同的语句在不同的DSCU中执行。设定特殊指令通知CU控制器将线程组移至其他DSCU。此指令嵌入每个语句末尾,让CU控制器完成切换。图中L2缓存通过片上网络(NOC)连接LLC,LLC连接内存控制器(MC)。图中各模块上下表示并列关系,左右表示数据流通。在每个DSCU中,可以配置不同的核心形成基础DSCU。在每个PE中,可按不同的领域要求配置不同数量的DSCU,然后扩展PE数量,针对不同的市场领域实现相应级别的产品。在此架构中,可以针对新兴算法,专注于新特定领域计算单元设计并添加此DSCU来创建新产品。在此架构下,将DSCU作为构建模块,可以缩短项目设计时间,迅速高效创建市场所需产品。需要注意的是,专利技术中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本专利技术可实施的范围,其相对关系的改变或调整,在无实质变更
技术实现思路
下,当亦视为本专利技术可实施的范畴。以本文档来自技高网
...

【技术保护点】
1.一种用于多领域芯片设计的可配置混合异构计算核心架构,其特征在于,包括:工作负载调度模块和处理引擎,所述处理引擎包括线程组调度模块和特定领域计算单元;工作负载由驱动器发送至工作负载调度模块,然后发送至线程组调度模块,所述线程组调度模块将工作负载拆分为若干个线程组并将各线程组发送至指定应用的特定领域计算单元执行;所述特定领域计算单元包括CU控制器、寄存器文件、领域特定核心和L1缓存;所述CU控制器用于读取着色器并且解码指令,然后将指令发送至各领域特定核心执行,每个领域特定核心都有各自的寄存器文件,每个特定领域计算单元中的一组寄存器文件和领域特定核心共享L1缓存。/n

【技术特征摘要】
1.一种用于多领域芯片设计的可配置混合异构计算核心架构,其特征在于,包括:工作负载调度模块和处理引擎,所述处理引擎包括线程组调度模块和特定领域计算单元;工作负载由驱动器发送至工作负载调度模块,然后发送至线程组调度模块,所述线程组调度模块将工作负载拆分为若干个线程组并将各线程组发送至指定应用的特定领域计算单元执行;所述特定领域计算单元包括CU控制器、寄存器文件、领域特定核心和L1缓存;所述CU控制器用于读取着色器并且解码指令,然后将指令发送至各领域特定核心执行,每个领域特定核心都有各自的寄存器文件,每个特定领域计算单元中的一组寄存器文件和领域特定核心共享L1缓存。


2.如权利要求1所述的一种用于多领域芯片设计的可配置混合异构计算核心架构,其特征在于:所述处理引擎的数量可扩展,在每个处理引擎中,按不同的领域要求配置不同数量的特定领域计算单元,在每个特定领域计算单元中,通过配置不同的领域特定核心形成针对不同算法的基础特定领域计算单元,作为计算机核心架构的构建模块。


3.如权利要求2所述的一种用于多领域芯片设计的可配置混合异构计算核心架构,其特征在于:所述处理引擎还包括Fabric架构和L2缓存,通过Fabric架构连接各L1缓存和L2缓存,所述L2缓存通过片上网络...

【专利技术属性】
技术研发人员:邵平平
申请(专利权)人:南京天数智芯科技有限公司
类型:发明
国别省市:江苏;32

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

1