本发明涉及数据处理技术领域,尤其涉及格式化的可重构处理器汇编指令处理方法及装置。
背景技术:
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
粗粒度可重构处理器架构以其低能耗、高性能和高能效和灵活动态可重构的特性,获得了愈来愈多的关注。粗粒度可重构计算架构是一种综合了通用处理器的灵活性和专用集成电路的高性能计算架构,非常适用于对于数据和计算密集型等并行度非常高的应用的处理,比如人工智能、数字信号处理、视频图像处理、科学计算和通信加密等领域的应用。
由于可重构处理器是通过配置流和数据流进行驱动的,故确保配置信息的准确性便显得至关重要。然而每个配置包所含的配置数据量巨大,每一行的配置对应一个操作运算便包含了64bit的二进制码,而每个处理单元pe可能进行多次运算操作,所以,如果不进行格式化的汇编指令描述通过编译器生成整套配置包的配置信息,则配置信息极易出错。
技术实现要素:
本发明实施例提供一种格式化的可重构处理器汇编指令处理方法,用以保证配置信息的正确性,该方法包括:
获取可重构处理器的配置信息;
识别所述配置信息的类型;
根据识别出的配置信息的类型,以及配置信息的类型与预设标识的关系,确定识别出的配置信息的类型对应的预设标识;
根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令。
本发明实施例还提供一种格式化的可重构处理器汇编指令处理装置,用以保证配置信息的正确性,该装置包括:
获取单元,用于获取可重构处理器的配置信息;
识别单元,用于识别所述配置信息的类型;
确定单元,用于根据识别出的配置信息的类型,以及配置信息的类型与预设标识的关系,确定识别出的配置信息的类型对应的预设标识;
处理单元,用于根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述格式化的可重构处理器汇编指令处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述格式化的可重构处理器汇编指令处理方法的计算机程序。
本发明实施例中,格式化的可重构处理器汇编指令处理方案,通过:识别所述配置信息的类型;根据识别出的配置信息的类型,以及配置信息的类型与预设标识的关系,确定识别出的配置信息的类型对应的预设标识;根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令,使用格式化的可重构处理器的汇编指令能够高效地准确地生成配置信息,便于助记,且不容易出错,保证了配置信息的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中格式化的可重构处理器汇编指令处理方法的流程示意图;
图2为本发明实施例中格式化的可重构处理器汇编指令处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
由于发明人发现了现有技术存在的技术问题,因此,考虑由助记符(预设标识)组成的汇编指令对生成配置信息是十分必要的,基于此,提出一种格式化的可重构处理器汇编指令处理方案。该方案涉及一种格式化的可重构处理器的汇编指令描述方法,通过编译器能够高效准确的生成相应于汇编指令的64bit机器指令。其中,统一格式化的汇编指令是机器指令的助记符,同机器指令一一对应,为可重构处理器配置信息的使用提供了极大的便利性,可重构处理器能够直接识别并执行这64bit的二进制编码,充分保障并实现可重构处理器的动态可重构特性。下面对该格式化的可重构处理器汇编指令处理方案进行详细介绍。
图1为本发明实施例中格式化的可重构处理器汇编指令处理方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤101:获取可重构处理器的配置信息;
步骤102:识别所述配置信息的类型;
步骤103:根据识别出的配置信息的类型,以及配置信息的类型与预设标识的关系,确定识别出的配置信息的类型对应的预设标识;
步骤104:根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令。
本发明实施例中,格式化的可重构处理器汇编指令处理方案,通过:识别所述配置信息的类型;根据识别出的配置信息的类型,以及配置信息的类型与预设标识的关系,确定识别出的配置信息的类型对应的预设标识;根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令,使用格式化的可重构处理器的汇编指令能够高效地准确地生成配置信息,便于助记,且不容易出错,保证了配置信息的准确性。
本发明所解决的技术问题是设计一种格式化的可重构处理器的汇编指令描述格式,从而生成相应的机器码即配置信息。该汇编指令的描述格式可以分为三大类:对应于生成顶层配置信息的汇编指令描述格式、对应于生成alu运算型配置信息的汇编指令描述格式和对应于生成访存运算型配置信息的汇编指令描述格式。下面进行详细介绍。
1.首先介绍对应于生成顶层配置信息的汇编指令。
在一个实施例中,所述配置信息的类型可以包括:顶层配置信息;
根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令,可以包括:根据顶层配置信息对应的预设标识,以及顶层配置信息,形成对应于生成顶层配置信息的汇编指令。
顶层配置信息的汇编指令的描述方法是通过“\top(预设标识)”用作打包,将后续运算打包到标记的处理单元上,括号内的符号为具体的顶层操作信息(配置信息),其描述格式为:\top('index_pe','count','iteration_line','initial_idle','iteration_pe','iteration_pea','task_packagenum','package_index','bit_width','r1','r2'),在此汇编指令描述中每条顶层配置信息的内容都应均写在一行内,并且不要换行,若其中参数不使用则均可缺省。下面进行具体说明各个参数的具体使用规则。
'index_pe':表示的是处理单元pe的编号,该参数的变量类型为数字类型。
'count':表示的是处理单元阵列pea的配置包中,此处理单元pe除了顶层配置外的配置信息数。该参数的变量类型为数字类型。
'iteration_line':表示的是配置包循环时,从第几条配置信息重新开始进行循环,其中第0条是顶层配置信息。该参数的变量类型为数字类型。
'initial_idle':表示的是处理单元pe执行下一条运算时的时间间隔,该参数的变量类型为数字类型。
'iteration_pe':表示的是pe本配置包循环次数,该参数的变量类型为数字类型。
'iteration_pea':表示的是处理单元阵列pea总体配置循环的次数,该参数的变量类型为数字类型。
'task_packagenum':表示的是任务的配置包总数减去1,该参数的变量类型为数字类型,该参数的变量类型为数字类型。
'package_index':表示的是当前所有配置包中的第几个配置包,起始的配置包为第0个配置包,该参数的变量类型为数字类型。
'bit_width':表示的是位宽,默认为32-bit的运算,目前该参数可直接置零,该参数的变量类型为数字类型。
'r1'/'r2':表示的是保留信息,暂时不用,可直接置0,该参数的变量类型为数字类型。
2.接着介绍对应于生成alu运算型配置信息的汇编指令。
在一个实施例中,所述配置信息的类型可以包括:算术逻辑单元alu运算型配置信息;
根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令,可以包括:根据alu运算型配置信息对应的预设标识,以及alu运算型配置信息,形成对应于生成alu运算型配置信息的汇编指令。
alu运算型配置信息的汇编指令的描述方法是通过“\alu(预设标识)”用作打包,括号内的符号为具体的顶层操作信息,其描述格式为:\alu('in_1','in_2','in_3','in_4','out_1','out_2','out_3','iteration')。在此汇编指令描述中每条顶层配置信息的内容都应均写在一行内,并且不要换行,若其中参数不使用则均可缺省。下面进行具体说明各个参数的具体使用规则。
\alu:表示的是alu的计算类型,这里支持20种不同的运算分别由如下符号进行表示,\nop表示计算类型为空操作,\route表示进行的是路由计算,\add表示进行有符号加法运算,\sub表示的是进行有符号减法运算,\uadd表示进行无符号加法运算,\usub表示进行无符号减法运算,\and表示进行与操作,\or表示进行或操作,\xor表示进行异或操作,\not表示进行按位取反操作,\sel表示进行选择操作,\sll表示进行逻辑左移操作,\srl表示进行逻辑右移操作,\arl表示进行算术右移运算,\all表示进行算术左移运算,\clz表示进行前导零检测,\mul表示进行有符号乘法运算,\mac表示进行有符号乘累加运算,\umul表示进行无符号乘法运算,\umac表示进行无符号乘累加运算,\mrl表示进行有符号乘右移运算,\umrl表示进行无符号乘右移运算,\equal表示等于运算,\div表示有符号除法运算,\udiv表示无符号除法运算,不同的符号则对应于不同的运算操作。
'in_1'/'in_2'/'in_3':表示输入变量的来源,其变量类型为字符组合,具体格式如下,(1)gr_n:表示输入变量来源于第n个全局寄存器;(2)lr_n:表示输入变量来源于本pe的第n个局部寄存器;(3)self_p1_p2:表示数据来源于本pe,当p1=1时表示数据来源于本pe的运算结果out1,当p1=2时表示数据来源于本pe脉动传递输出结果out2,当p2=0时表示数据从写回流水线上输出寄存器读取,当p2=1时表示数据尚未写入流水线上寄存器;(4)route_p1_p2_loc_ornt:表示数据来源于和本pe直接相连的pe_k的计算结果,其中,本pe的位置在loc,pe_k的方向在ornt,p1和p2参数含义与self_p1_p2相同。根据本pe和pe_k中能够路由的相对位置关系,pe可取的loc的值与pe_k能取的ornt的值需要相互对应。1)当pe位于阵列的四个角上时,loc可取的值为:'luc'、'ruc'、'ldc'和'rdc',其中'luc'表示pe整列中左上顶角的pe,'ruc'表示pe阵列中右上顶角的pe,'ldc'表示pe阵列中左下顶角的pe,'rdc'表示pe阵列中右上顶角的pe。相应地,当loc取值为'luc'时,根据pe之间的互连关系,ornt可取的值为'r1'、'r2'、'r3'、'r7'、'd1'、'd2'、'd3'、'd7'分别表示该pe右边的第1个pe、该pe右边的第2个pe、该pe右边的第3个pe、该pe右边的第7个pe、该pe下方的第1个pe、该pe下方的第2个pe、该pe下方的第3个pe、该pe下方的第7个pe;当loc取值为'ruc'时,根据pe之间的互连关系,ornt可取的值为'l1'、'l2'、'l3'、'l7'、'd1'、'd2'、'd3'、'd7'分别表示该pe左边的第1个pe、该pe左边的第2个pe、该pe左边的第3个pe、该pe左边的第7个pe、该pe下方的第1个pe、该pe下方的第2个pe、该pe下方的第3个pe、该pe下方的第7个pe;当loc取值为'ldc'时,根据pe之间的互连关系,ornt可取的值为'r1','r2','r3','r7','u1','u2','u3','u7'、'd7'分别表示该pe右边的第1个pe、该pe右边的第2个pe、该pe右边的第3个pe、该pe右边的第7个pe、该pe上方的第1个pe、该pe上方的第2个pe、该pe上方的第3个pe、该pe上方的第7个pe;当loc取值为'rdc'时,根据pe之间的互连关系,ornt可取的值为'l1','l2','l3','l7','u1','u2','u3','u7',分别表示该pe左边的第1个pe、该pe左边的第2个pe、该pe左边的第3个pe、该pe左边的第7个pe、该pe上方的第1个pe、该pe上方的第2个pe、该pe上方的第3个pe、该pe上方的第7个pe。2)当pe位于阵列的四个边的pe上时,loc可取的值为:'u'、'd'、'l'和'r',其中'u'表示pe整列中上边除了左上顶角和右上顶角的pe,'d'表示pe阵列中下边除去左下顶角和右下顶角的pe,'l'表示pe阵列中左边除去左上顶角和右上顶角的pe,'r'表示pe阵列中右边除去右上顶角和右下顶角的pe。当loc取值为'u'时,根据pe之间的互连关系,ornt可取的值为'l','r','le','re','d1','d2','d3','d7'分别表示该pe左边的pe、该pe右边的pe、与该pe同一行中阵列左端的pe、与该pe同行中阵列右端的pe、该pe下方的第1个pe、该pe下方的第2个pe、该pe下方的第3个pe、该pe下方的第7个pe;当loc取值为'd'时,根据pe之间的互连关系,ornt可取的值为'l','r','le','re','u1','u2','u3','u7'分别表示该pe左边的pe、该pe右边的pe、与该pe同一行中阵列左端的pe、与该pe同行中阵列右端的pe、该pe上方的第1个pe、该pe上方的第2个pe、该pe上方的第3个pe、该pe上方的第7个pe;当loc取值为'l'时,根据pe之间的互连关系,ornt可取的值为'u','d','ue','de','r1','r2','r3','r7'分别表示该pe上边的pe、该pe下边的pe、与该pe同一列中阵列上端的pe、与该pe同一列中阵列下端的pe、该pe右边的第1个pe、该pe右边的第2个pe、该pe右边的第3个pe、该pe右边的第7个pe;当loc取值为'r'时,根据pe之间的互连关系,ornt可取的值为'u','d','ue','de','l1','l2','l3','l7'分别表示该pe上边的pe、该pe下边的pe、与该pe同一列中阵列上端的pe、与该pe同一列中阵列下端的pe、该pe左边的第1个pe、该pe左边的第2个pe、该pe左边的第3个pe、该pe左边的第7个pe;3)当pe位于阵列中剩下的四块区域时,loc可取的值为:'lu'、'rd'、'ld'和'rd',其中'lu'表示pe阵列中除去上述pe中左上区域的pe,'ru'表示pe阵列中除去上述pe中右上区域的pe,'ld'表示pe阵列中除去上述pe中左下区域的pe,'rd'表示pe阵列中除去上述pe中右下区域的pe。当loc取值为'lu'时,根据pe之间的互连关系,ornt可取的值为'u','d','l','r','ue','de','le','re'分别表示该pe上方的pe、该pe下方的pe、该pe左边的pe、该pe右边的pe、与该pe同一列的上端的pe、与该pe同一列的下端的pe、与该pe同一行的左端的pe、与该pe同一行的右端的pe;当loc取值为'ru'、'ld'和'rd'时,根据pe之间的互连关系,ornt可取的值均与loc取值为'lu'时相同;
'in_4':表示输入变量的来源,其变量类型为字符组合,具体格式如下,(1)self_p:表示数据来源于本pe计算结果out_3,当p=0时,表示数据来源于本pe的out_3的输出寄存器;当p=1时,表示数据来源于本pe的out_3的执行单元(exd单元)运算,且尚未写入流水线寄存器。(2)route_p_loc_ornt:数据来源于和本pe直接相连的pe_k的计算结果,其中loc和ornt的含义以及相互对应的关系与上述的'in_1'/'in_2'/'in_3'部分相同,当p=0时,数据来源于pe_k的out_3的输出寄存器;当p=1时,数据来源于pe_k的out_3的执行单元(ex单元)运算,且尚未写入流水线寄存器中。
'out_1'/'out_2':表示输入变量的输出,其中out_1表示本运算结果的输出,out_2表示操作数in_1脉动传递输出,变量类型为数字类型,具体格式如下,(1)lr_n:表示输出数据到局部寄存器lr中的第n个寄存器;(2)gr_n:表示输出数据到全局寄存器gr中的第n个寄存器;(3)nr:表示输出数据既不写到lr中也不写到gr中。
'out_3':表示细粒度1-bit结果的输出,其取值为:当out_3取值为0时,表示计算结果输出到out_3;当out_3取值为1时,表示out_3强制输出为0。
'iteration':表示本条配置信息迭代重复次数以及迭代完后迭代间隔,其变量类型为字符组合,具体格式如下,(1)lr_n:表示迭代次数和迭代间隔从局部寄存器lr中的第n个寄存器中读取;(2)gr_n:表示迭代次数和迭代间隔从全局寄存器gr中的第n个寄存器中读取;(3)imm_iternum_iteridle:迭代次数和迭代间隔用立即数表示,其中迭代次数为iternum,迭代间隔为iteridle。
3.接着介绍对应于生成访存运算型配置信息的汇编指令。
在一个实施例中,所述配置信息的类型可以包括:访存运算型配置信息;
根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令,可以包括:根据访存运算型配置信息对应的预设标识,以及访存运算型配置信息,形成对应于生成访存运算型配置信息的汇编指令。
lsu型配置信息的汇编指令的描述方法是通过“\lsu(预设标识)”用作打包,括号内的符号为具体的存储型操作信息,其描述格式为:\lsu('addr_mem','in_mem','offset','out_1','iteration','r1','r2','r3','r4')。在此汇编指令描述中每条顶层配置信息的内容都应均写在一行内,并且不要换行,若其中参数不使用则均可缺省。下面进行具体说明各个参数的具体使用规则。
\lsu:表示的是访存运算的计算类型,这里支持2种不同的运算分别由如下符号进行表示,\load表示计算类型为从sharememory中读取数据到pe中,\store表示进行的将数据写入sharememory当中。
'addr_mem':表示访存运算的目标地址即基地址,其变量类型为字符组合,具体格式如下,(1)imm_q1_m:表示使用立即数m访问地址,当q1=0时,表示的是访问本pea中的sharememory;当q1=1时,表示访问的是相邻pea中的sharememory。(2)lr_n:表示使用局部寄存器lr中的第n个寄存器的数字作为地址。(3)gr_n:表示使用全局寄存器gr中的第n个寄存器的数字作为地址。(4)self_p:表示数据来源于本pe计算结果out_3,当p=0时,表示数据来源于本pe的out_3的输出寄存器;当p=1时,表示数据来源于本pe的out_3的执行单元ex单元运算,并且尚未写入流水线寄存器中。(5)route_p_loc_ornt:表示数据来源于和本pe直接相连的pe_k的计算结果,loc和ornt所表示的含义以及相互间的连接关系与前文所述一致。
'in_mem':表示访存运算的输入数据来源,其变量类型为字符组合,具体格式与alu运算型配置信息的汇编指令中的in_1的描述方法一致。
'offset':表示访存运算在迭代时的偏移量,其变量类型为数字类型。
'out_1':表示输出数据的目标地址,其变量类型为字符组合,具体格式与alu运算型配置信息的汇编指令中的out_1的描述方法一致。
'iteration':表示本条配置信息迭代重复次数以及迭代完后迭代间隔,其变量类型为字符组合,具体格式与alu运算型配置信息的汇编指令中的'iteration'的描述方法一致。
'r1'/'r2'/'r3'/'r4':表示保留信息,其变量类型为数字类型,目前置零即可。
具体实施时,配置信息的类型与预设标识的关系可以是一张表格,将识别出的配置信息的类型到该表格中匹配查找,确定识别出的配置信息的类型对应的预设标识(可以是助记符)。
下面再举一例子,以便于理解本发明如何实施。
1.对应于生成顶层配置信息的汇编指令的描述方法
以pe0生成顶层配置信息的汇编指令进行具体说明生成顶层配置信息的汇编指令的描述方法,其具体描述为:\top(0,1,1,0,2,2,0,0,32,0,0),其中参数index_pe对应的值为0,表示的是第0个pe;参数count对应的值为1,表示除了顶层配置外,一共有1条配置信息;参数iteration_line对应的值为1,表示配置包循环时,从第1条配置信息重新开始,其中第0条配置信息为顶层配置信息;参数initial_idle对应的值为0,表示pe执行下一条运算时的间隔为0;参数iteration_pe对应的值为2,表示pe配置包循环的次数为2次;参数iteration_pea对应的值为2,表示pea总体配置包循环次数为2次;参数task_packagenum对应的值为0,表示任务一共有1个配置包;参数package_index对应的值为0,表示当前是第一个配置包;参数bit_width对应的值为32,表示位宽为32;参数r1/r2对应的值为0,表示的是保留信息,目前置0即可。
2.对应于生成alu运算型配置信息的的汇编指令的描述方法
以生成加法类型配置信息的汇编指令进行具体说明生成alu运算型配置信息的汇编指令的描述方法,其具体描述为:\add(route_1_0_l_u,route_1_0_l_d,lr_0,,gr_1,,0,imm_10_2),其中符号\add()表示该alu的运算类型为有符号的加法运算;参数in_1对应的值为route_1_0_l_u,表示本pe为阵列左边的pe,数据来源于该pe上方的pe来源于out_1,数据从写回流水线上的输出寄存器读取;参数in_2对应的值为route_1_0_l_d,表示本pe为阵列左边pe,数据来源于下方的pe,来源于out_1,数据从写回流水线上输出寄存器中读取;参数in_3对应的值为lr_0,in_3不参与运算,但要写一个满足形式要求的输入占空位,lr_0表示lr的第0个寄存器;参数in_4缺省,不参与运算,参数out_1对应的值为gr_1,表示结果写入全局寄存器gr中的第1个寄存器,且默认输出到输出寄存器;参数out_2不使用可以缺省;参数out_3取值为0表示计算结果输出到out_3中;参数iteration取值为imm_10_2立即数迭代参数,迭代次数为10次,迭代间隔为2个周期。
3.对应于生成访存运算型配置信息的汇编指令的描述方法
以生成load类型配置信息的汇编指令进行具体说明生成访存运算型配置信息的汇编指令的描述方法,其具体描述为:\load(imm_0_0,lr_0,1,lr_0,imm_10_2,0,0,0,0),其中符号\load表示全局load运算,即表示从从sharememory中读取数据到pe中;参数addr_mem对应的值为imm_0_0,表示立即数寻址,存储到本pe的第0个bank中;参数in_mem对应的值为lr_0,因为为load运算,该参数没有未被使用,故可以随意填写;参数offset对应的值为1,表示偏移量为1,累加1;参数out_1对应的值为lr_0,表示结果输出到局部寄存器的第0号寄存器即lr_0中;参数iteration对应的值为imm_10_2,立即数表示迭代参数,迭代次数为10次,迭代间隔为2个周期;参数'r1'/'r2'/'r3'/'r4'表示保留信息,可全部置零。
综上,本发明施例提供的格式化的可重构处理器汇编指令处理方法的优点是:
本发明实现一种格式化的可重构处理器的汇编指令描述方法,这些汇编指令能够实现生成适用于此项目中大规模粗粒度阵列的配置信息即机器指令,该汇编指令均采用统一的格式,具有高效性、准确性且易于修改的特点。
使用格式化的可重构处理器的汇编指令能够高效地生成机器码,便于助记,且不容易出错,使得以配置流进行驱动的可重构处理器能够正常执行指令,通过这些格式化的汇编指令也便于直观地看出pe阵列中每个pe的操作、pe之间的互联关系以及整个pe阵列的运算模式,不易出错,且易于修改,并且能够精确地进行修改每个处理单元pe的配置,以及每个处理单元pe中每个指令的参数,比起繁多且直观看不出规律的二进制代码而言,本发明实施例的描述方法操作性更强。
本发明实施例中还提供了一种格式化的可重构处理器汇编指令处理装置,如下面的实施例所述。由于该装置解决问题的原理与格式化的可重构处理器汇编指令处理方法相似,因此该装置的实施可以参见格式化的可重构处理器汇编指令处理方法的实施,重复之处不再赘述。
图2为本发明实施例中格式化的可重构处理器汇编指令处理装置的结构示意图,如图2所示,该装置包括:
获取单元01,用于获取可重构处理器的配置信息;
识别单元02,用于识别所述配置信息的类型;
确定单元03,用于根据识别出的配置信息的类型,以及配置信息的类型与预设标识的关系,确定识别出的配置信息的类型对应的预设标识;
处理单元04,用于根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令。
在一个实施例中,所述配置信息的类型包括:顶层配置信息;
所述处理单元具体用于:根据顶层配置信息对应的预设标识,以及顶层配置信息,形成对应于生成顶层配置信息的汇编指令。
在一个实施例中,所述配置信息的类型包括:算术逻辑单元alu运算型配置信息;
所述处理单元具体用于:根据alu运算型配置信息对应的预设标识,以及alu运算型配置信息,形成对应于生成alu运算型配置信息的汇编指令。
在一个实施例中,所述配置信息的类型包括:访存运算型配置信息;
所述处理单元具体用于:根据访存运算型配置信息对应的预设标识,以及访存运算型配置信息,形成对应于生成访存运算型配置信息的汇编指令。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述格式化的可重构处理器汇编指令处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述格式化的可重构处理器汇编指令处理方法的计算机程序。
本发明实施例中,格式化的可重构处理器汇编指令处理方案,通过:识别所述配置信息的类型;根据识别出的配置信息的类型,以及配置信息的类型与预设标识的关系,确定识别出的配置信息的类型对应的预设标识;根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令,使用格式化的可重构处理器的汇编指令能够高效地准确地生成配置信息,便于助记,且不容易出错,保证了配置信息的准确性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种格式化的可重构处理器汇编指令处理方法,其特征在于,包括:
获取可重构处理器的配置信息;
识别所述配置信息的类型;
根据识别出的配置信息的类型,以及配置信息的类型与预设标识的关系,确定识别出的配置信息的类型对应的预设标识;
根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令。
2.如权利要求1所述的格式化的可重构处理器汇编指令处理方法,其特征在于,所述配置信息的类型包括:顶层配置信息;
根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令,包括:根据顶层配置信息对应的预设标识,以及顶层配置信息,形成对应于生成顶层配置信息的汇编指令。
3.如权利要求1所述的格式化的可重构处理器汇编指令处理方法,其特征在于,所述配置信息的类型包括:算术逻辑单元alu运算型配置信息;
根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令,包括:根据alu运算型配置信息对应的预设标识,以及alu运算型配置信息,形成对应于生成alu运算型配置信息的汇编指令。
4.如权利要求1所述的格式化的可重构处理器汇编指令处理方法,其特征在于,所述配置信息的类型包括:访存运算型配置信息;
根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令,包括:根据访存运算型配置信息对应的预设标识,以及访存运算型配置信息,形成对应于生成访存运算型配置信息的汇编指令。
5.一种格式化的可重构处理器汇编指令处理装置,其特征在于,包括:
获取单元,用于获取可重构处理器的配置信息;
识别单元,用于识别所述配置信息的类型;
确定单元,用于根据识别出的配置信息的类型,以及配置信息的类型与预设标识的关系,确定识别出的配置信息的类型对应的预设标识;
处理单元,用于根据识别出的配置信息的类型对应的预设标识,以及所述配置信息,形成格式化的可重构处理器汇编指令。
6.如权利要求5所述的格式化的可重构处理器汇编指令处理装置,其特征在于,所述配置信息的类型包括:顶层配置信息;
所述处理单元具体用于:根据顶层配置信息对应的预设标识,以及顶层配置信息,形成对应于生成顶层配置信息的汇编指令。
7.如权利要求5所述的格式化的可重构处理器汇编指令处理装置,其特征在于,所述配置信息的类型包括:算术逻辑单元alu运算型配置信息;
所述处理单元具体用于:根据alu运算型配置信息对应的预设标识,以及alu运算型配置信息,形成对应于生成alu运算型配置信息的汇编指令。
8.如权利要求5所述的格式化的可重构处理器汇编指令处理装置,其特征在于,所述配置信息的类型包括:访存运算型配置信息;
所述处理单元具体用于:根据访存运算型配置信息对应的预设标识,以及访存运算型配置信息,形成对应于生成访存运算型配置信息的汇编指令。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4任一所述方法的计算机程序。
技术总结