一种可重构计算平台的规则控制微码表设计方法技术

技术编号:32977382 阅读:11 留言:0更新日期:2022-04-09 11:57
本发明专利技术提供了一种可重构计算平台的规则控制微码表设计方法,包括如下内容:将运算过程中的运算公式进行归类,抽象出运算公式的算式规则,并将算式规则抽象为硬件可执行的规则指令;通过外部控制器将规则指令配置到可重构计算平台的指令存储器中,可重构执行器件通过执行指令存储器中的指令条目进行算式规则解析,实现动态算法配置。本发明专利技术在不改变硬件结构的基础上可实现算式规则的灵活配置,可实现多处理单元的灵活组合;且重构信息数量少,重构时间短,重构灵活。重构灵活。重构灵活。

【技术实现步骤摘要】
一种可重构计算平台的规则控制微码表设计方法


[0001]本专利技术属于可重构计算
,尤其是涉及一种可重构计算平台的规则控制微码表设计方法。

技术介绍

[0002]在可重构计算领域,如何对固定的硬件环境可以适配不同计算是该领域一直在研究的关键技术之一。现有的可重构计算平台主要有以下缺点:
[0003]1、现有的可重构计算平台主要是针对某个领域的可重构计算,应用场景有很大的局限性。
[0004]2、现有的可重构计算平台在计算重构时需要复杂的重构配置,硬件重构度不够灵活,不可以实现系统级与运算模块级的并行支持。

技术实现思路

[0005]有鉴于此,本专利技术旨在提出一种可重构计算平台的规则控制微码表设计方法,在不改变硬件结构的基础上可实现算式规则的灵活配置。
[0006]为达到上述目的,本专利技术的技术方案是这样实现的:
[0007]本专利技术的核心思想:通过将计算规则进行形式化抽象为硬件可执行的规律可执行指令,将规定指令通过外部控制器(DSP,ARM,PPC)通过硬件的配置接口,将规律可执行指令配置到FPGA,ASIC的指令存储器中,可重构执行器件(FPGA,ASIC)即可通过执行指令存储器中的指令条目进行算式规则解析,近而实现可重构执行器件对具体计算解耦的计算环境,最终达到固定的硬件可执行器件可执行不同的计算要求。
[0008]一种可重构计算平台的规则控制微码表设计方法,包括如下内容:
[0009]将运算过程中的运算公式进行归类,抽象出运算公式的算式规则,并将算式规则抽象为硬件可执行的规则指令;
[0010]通过外部控制器将规则指令配置到可重构计算平台的指令存储器中,可重构执行器件通过执行指令存储器中的指令条目进行算式规则解析,实现动态配置。
[0011]进一步的,针对于神经网络领域、信号处理领域的运算进行公式抽象,抽象公式如下所示:
[0012][0013]其中,ABCD可以为任意数,若公式中包含减法可取反之后当加法计算,除法可求完倒数再当乘法计算;
[0014]公式1中的每个参数Y,A,B,C,D为均具有二维下标i、j的矩阵,i表示每个参数下标水平方向的变化,j表示每个参数下标垂直方向的变化,下标i、j可以根据公式的实际需要选择使用或不使用,以及选择是变量或者常数;其中,i,j之间没有相互关联的对应关系,是相互独立运算的数据下标;
[0015]每个参数的下标之间的运算关系用第一微码表来表示其运算规律,所述第一微码表一共80bit的位宽,包括了i指令,j指令,k1指令,k2指令,i,j,k1,k2指令均有20bit组成,且指令结构组成相同;其中i、j,即为公式1里每个参数的i/j角标,k1/k2则为除了i/j的二维变化之外可能存在的其他变化的补充留用;
[0016]i,j,k1,k2指令的指令结构均相同,包括X_sel、Y_sel、X_inv、Y_inv、Z,其中,
[0017]X_sel、Y_sel:均有3bit,按照二进制编码共有八种编码方式,每一个编码的含义如下:0选择i_start,1选择j_start,2选择k1_start,3选择k2_start,4选择i_pre,5选择j_pre,6预留,7选择常数0;其中,i_start,j_start,k1_start,k3_start分别表示公式中每个计算参数下标i/j的初始值和k1,k2的初始值,i_pre,j_pre表示上一次微码表执行之后得到的暂存的i,j计算结果;
[0018]X_inv、Y_inv:均有1bit,可以表示X_sel、Y_sel的数据取正数或者负数,0表示该数据为正数,1表示该数据为负数;
[0019]Z为一个可配置的常数。
[0020]进一步的,对抽象公式进行解析,解析成算式间规则控制器,算式内规则控制器两个主要部分,其中,
[0021]算式间规则控制器:用来产生公式1中Y的i、j角标变化规律并控制其运算过程;
[0022]算式内规则控制器:用来产生公式1中A/B/C/D的i、j角标并控制其运算过程,具体的,
[0023]算式间规则控制器中存在四张表:
[0024]Deepth表项:每一条描述了一种循环规则,在deepth表项中,描述了循环的初始值,以及是否使用内循环表、外循环表、jump循环表,并描述其使用方式;
[0025]内循环和外循环表项:在某条deepth表项中,内循环和外循环的展开规律可以描述Y表项的i、j角标在两个不同维度上的计算规律,其条目也与deepth表一一对应;
[0026]Jump表项:用来描述计算流程独立于内循环和外循环之外的第三层循环规律,Jump表与Deepth表一一对应;
[0027]算式内规则中存在7张表:
[0028]Handle表2张:为算式内规则控制的一级表项,实现公式中最终产生Y/A/B/C/D表项的循环次数的描述与使能的控制;
[0029]Y、A、B、C、D表共5张,分别描述参数Y/A/B/C/D的i、j角标并控制的变化规则;
[0030]deepth表项,两个handle表项的组成为公式计算控制过程中的寄存器的配置,其余的8张表为第一微码表中描述的格式。
[0031]相对于现有技术,本专利技术所述的方法具有以下优势:
[0032](1)本专利技术提出的微码表设计基于可重构计算平台,根据各种需求场景提出统一化公式,可以在不改变硬件结构的基础上通过运算配置,实现各种场景计算的规则控制。
[0033](2)本专利技术提出的微码表设计包括算式间规则控制和算式内规则控制共11张表项,每一张表项根据计算的具体场景产生相应的计算规则,各表项之间相互配合,实现对一个完整计算过程的规则控制。
[0034](3)基于本专利技术微码表设计的可重构计算平台,可以实现重构计算时配置量小,配置灵活高效,计算速度快,且可实现多个计算单元的任意组合。
附图说明
[0035]构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0036]图1为本专利技术实施例所述算式间规则控制器和算式内循环控制器的组成框图;
[0037]图2为本专利技术实施例所述的算式内循环控制器的解析流程图。
具体实施方式
[0038]需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。
[0039]可重构计算是通过指令配置实现计算单元重构的,在本申请中,微码表即指令,两者相同,微码表也可以称为指令表。
[0040]下面将参考附图并结合实施例来详细说明本专利技术。
[0041]为了改进本申请中提出的可重构计算平台的动态重构配置的缺点,本申请提出了一种微码表的设计方法,通过将计算规则进行形式化抽象为硬件可执行的规律可执行指令,将规定指令通过外部控制器(DSP,ARM,PPC)通过硬件的配置接口,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可重构计算平台的规则控制微码表设计方法,其特征在于,包括如下内容:将运算过程中的运算公式进行归类,抽象出运算公式的算式规则,并将算式规则抽象为硬件可执行的规则指令;通过外部控制器将规则指令配置到可重构计算平台的指令存储器中,可重构执行器件通过执行指令存储器中的指令条目进行算式规则解析,实现动态配置。2.根据权利要求1所述的方法,其特征在于:针对于神经网络领域、信号处理领域的运算进行公式抽象,抽象公式如下所示:其中,ABCD可以为任意数,若公式中包含减法可取反之后当加法计算,除法可求完倒数再当乘法计算;公式1中的每个参数Y,A,B,C,D为均具有二维下标i、j的矩阵,i表示每个参数下标水平方向的变化,j表示每个参数下标垂直方向的变化,下标i、j可以根据公式的实际需要选择使用或不使用,以及选择是变量或者常数;其中,i,j之间没有相互关联的对应关系,是相互独立运算的数据下标;每个参数的下标之间的运算关系用第一微码表来表示其运算规律,所述第一微码表一共80bit的位宽,包括了i指令,j指令,k1指令,k2指令,i,j,k1,k2指令均有20bit组成,且指令结构组成相同;其中i、j,即为公式1里每个参数的i/j角标,k1/k2则为除了i/j的二维变化之外可能存在的其他变化的补充留用;i,j,k1,k2指令的指令结构均相同,包括X_sel、Y_sel、X_inv、Y_inv、Z,其中,X_sel、Y_sel:均有3bit,按照二进制编码共有八种编码方式,每一个编码的含义如下:0选择i_start,1选择j_start,2选择k1_start,3选择k2_start,4选择i_pre,5选择j_pre,6预留,7选择常数0;其中,i_star...

【专利技术属性】
技术研发人员:朱珂方旭升王永胜林谦赵金萍储志博
申请(专利权)人:井芯微电子技术天津有限公司
类型:发明
国别省市:

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

1