阵列重构方法、装置、设备及存储介质与流程

    专利查询2022-08-14  111



    1.本技术实施例涉及嵌入式可重构系统领域,尤其涉及一种阵列重构方法、装置、设备及存储介质。


    背景技术:

    2.随着集成电路设计和工艺技术的发展,嵌入式系统已经在pda、机顶盒、手机等信息终端中被广泛应用。而作为嵌入式系统核心的微处理器,是嵌入式系统不可或缺的“心脏”,微处理器的性能直接影响整个嵌入式系统的性能。现代微处理器已经广泛采用流水线设计,所以cpu流水线的设计,将成为决定其性能的关键。且cpu所执行的指令的类型不同,依照常规配置流水线级数的cpu在处理不同类型的指令时,容易造成cpu的处理资源的浪费。


    技术实现要素:

    3.本技术实施例提供了一种阵列重构方法、装置、设备及存储介质,能够动态地分配重构阵列,提高对处理资源的利用率,有效地减少了cpu的处理资源的浪费。
    4.第一方面,本技术实施例提供了一种阵列重构方法,应用于多级缓存数据通路,所述多级缓存数据通路包括阵列重构模块、多个重构阵列和至少4级缓存,所述重构阵列包括多个pe组和连接相邻pe组的第一级缓存,第二级缓存和第三级缓存均与所述重构阵列进行数据交换,且所述第二级缓存和所述第三级缓存还分别与第四级缓存进行数据交换,所述方法包括:获取待执行指令的指令信息,所述指令信息包括所述待执行指令的位宽信息和类型信息;根据所述待执行指令的位宽信息,确定pe组的粒度;根据所述待执行指令的类型信息,确定流水线级数;基于所述pe组的粒度和所述流水线级数,生成对应的所述重构阵列,所述重构阵列用于执行匹配的所述待执行指令。
    5.在本技术的一些实施例中,在所述生成对应的所述重构阵列之前,还包括:确定已生成的所述重构阵列满足于所述待执行指令,则选择已生成的所述重构阵列执行所述待执行指令。
    6.在本技术的一些实施例中,所述基于所述pe组的粒度和所述流水线级数,生成对应的所述重构阵列,包括:基于所述pe组的粒度,添加或移除所述pe组中的pe单元;基于所述流水线级数,选择对应数量的所述pe组和所述第一级缓存,并将最后一级所述pe组连接所述第二级缓存和第三级缓存。
    7.在本技术的一些实施例中,还包括:通过将多个所述重构阵列与所述第二级缓存或所述第三级缓存组合,以满足执行所述待执行指令所需的所述流水线级数。
    8.在本技术的一些实施例中,所述第二级缓存还与所述第三级缓存连接,所述方法还包括:确定接收到中断信号,则通过所述第三级缓存存储所述第二级缓存的数据;确定接收到恢复信号,则对所述第二级缓存进行数据恢复。
    9.在本技术的一些实施例中,还包括:确定当前的所述重构阵列与所述待执行指令的级数差大于释放阈值,则移除所述重构阵列中多余的所述pe组。
    10.第二方面,本技术实施例还提供了一种阵列重构装置,包括:第一获取模块,配置为获取待执行指令的指令信息,所述指令信息包括所述待执行指令的位宽信息和类型信息;第一确定模块,配置为根据所述待执行指令的位宽信息,确定pe组粒度;第二确定模块,配置为根据所述待执行指令的类型信息,确定流水线级数;第一生成模块,配置为基于所述pe组的粒度和所述流水线级数,生成对应的所述重构阵列,所述重构阵列用于执行匹配的所述待执行指令。
    11.第三方面,本技术实施例还提供了一种阵列重构设备,该设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个所述程序被一个或多个所述处理器执行,使得一个或多个所述处理器实现本技术实施例所述的阵列重构方法。
    12.第四方面,本技术实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本技术实施例所述的阵列重构方法。
    13.本技术实施例通过获取待执行指令的位宽和类型,确定pe组的粒度以及重构阵列的流水线级数,从而确定执行当前指令的重构阵列,减少处理资源的浪费,且对于同一类型的待执行指令,由满足流水线级数要求的当前的重构阵列或已生成的重构阵列执行,能够提高重构阵列的利用率。
    附图说明
    14.图1为本技术实施例提供的多级缓存数据通路的示意图。
    15.图2为本技术实施例提供的一种阵列重构方法的流程图。
    16.图3为本技术实施例提供的以流水线方式运算待多个待执行指令的时序示意图。
    17.图4为本技术实施例提供一种组合后的重构阵列的示意图。
    18.图5为本技术实施例提供的一种阵列重构装置的结构框图。
    19.图6为本技术实施例提供的另一种阵列重构装置的结构框图。
    20.图7为本技术实施例提供的一种阵列重构设备的结构示意图。
    具体实施方式
    21.下面结合附图和实施例对本技术实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术实施例,而非对本技术实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术实施例相关的部分而非全部结构。
    22.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互
    换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
    23.流水线技术通过多个功能部件并行工作来缩短程序执行时间,提高处理器的效率和吞吐率。在arm(advanced risc machine,进阶精简指令集机器)处理器中,arm7是冯

    诺依曼结构,采用了典型的三级流水线,而arm9则是哈佛结构,采用五级流水线技术,简化了流水线的各级逻辑,进一步提高了处理器的性能。
    24.下面示出嵌入式处理器进行三级流水线处理执行指令的过程,如arm7执行三级流水线处理,其中pc为程序计数器,三级流水线使用三个阶段,因此指令分三个阶段执行。
    25.(1)取指:从存储器装载一条指令;(2)译码:识别将要被执行的指令;(3)执行:处理指令并将结果写回寄存器。
    26.所以处理器只能完成一条指令的读取和执行后,才会执行下一条指令。这样,pc始终指向的正在“执行”的指令。
    27.所以处理时实际是这样的:arm正在执行第3条指令的同时对第2条指令进行译码,并将第1条指令从存储器中取出。所以,arm7流水线只有在取第4条指令时,第1条指令才算完成执行。
    28.目前流行的嵌入式处理器多采用五级流水线,如arm9采用哈佛结构,其五级流水线的过程如下:(1)取指:从存储器中读取指令;(2)译码:对读取的指令进行译码,判断需要哪个寄存器进行操作,从通用寄存器中读取操作数;(3)执行:进行alu(arithmetic and logic unit,算术逻辑单元)运算与移位操作,若对存储器操作,则计算出需要访问的存储器地址;(4)访问存储器(访存):若有访问存储器的指令,通过数据cache(高速缓冲存储器)实现数据缓冲;(5)写存储器操作(回写):将指令运算或操作的结果写回到目标寄存器中。
    29.图1为本技术实施例提供的多级缓存数据通路的示意图,本技术中示出了一种多级缓存数据通路,多级缓存数据通路包括多个重构阵列和至少4级缓存,重构阵列包括多个pe组,相邻两个pe组通过第一级缓存进行数据交换,第二级缓存和第三级缓存均与重构阵列进行数据交换,可以想到的是,第二级缓存和第三级缓存均还与pe组连接,即pe组与第二级缓存和第三级缓存进行数据交换,在重构阵列的流水线级数确定后,选择对应的pe组与第二级缓存或第三级缓存连接。其中,第二级缓存可以用于存储重构阵列中的流水线数据,第三级缓存可以用于存储重构阵列中的非流水数据,且第二级缓存和第三级缓存还分别与第四级缓存进行数据交换,第四级缓存用于与外部存储设备进行数据交换。
    30.图2为本技术实施例提供的一种阵列重构方法的流程图,如图2所示,该方法至少包括如下步骤:步骤s101、获取待执行指令的指令信息。
    31.待执行指令为在程序运行过程中所需要执行的计算机指令,待执行指令包括有数据传送指令、运算类指令、程序控制类指令和输入/输出类指令,可以理解的是,通过获取待执行指令的指令信息,即获取待执行指令的位宽信息和类型信息,其中,位宽信息用于确定待执行指令的比特位宽,表示当前运算操作所需要的比特位数;而类型信息用于确定待执
    行指令的类型。
    32.步骤s102、根据待执行指令的位宽信息,确定pe组的粒度。
    33.pe组包括多个pe单元(process element,处理单元),pe单元的基本粒度为8比特,pe组的粒度用于表示pe组所包括的pe单元的数量,因此,当待执行指令的比特位宽为32比特时,则pe组的粒度为4,即当前的pe组包括4个pe单元,pe组构成一个32比特位宽的pe单元组,从而支持32位比特运算操作。
    34.步骤s103、根据待执行指令的类型信息,确定流水线级数。
    35.对待执行指令的不同类型,对应于不同级数的流水线,从而达到较好地利用处理资源,示例性的,例如当前的待执行指令位为数据传送指令,其对应的流水线级数为3,即可完成对该待执行指令的处理,流水线级数与pe组的数量是相对应的,则可以根据流水线级数,确定pe组的数量。
    36.步骤s104、基于pe组的粒度和流水线级数,生成对应的重构阵列。
    37.基于已确定的pe组粒度和流水线级数,从而能够确定对应的重构阵列,生成重构阵列,示例性的,待执行指令为32位比特,且为运算类指令,则相应的,pe组的粒度为4,流水线级数为3,对应得重构阵列则包括有3个pe组,其中每个pe组包括4个pe单元。
    38.可以理解的是,当接收到新的待执行指令,确认该待执行指令所对应的pe组粒度和流水线级数,当确定该待执行指令所对应的pe组粒度和流水线级数大于当前的重构阵列,即当前的重构阵列并不能够满足于该待执行指令的需求,则重新生成一个重构阵列,以满足该待执行指令的运算要求。
    39.由此上述可知,对于不同指令信息的待执行指令,对应有一个重构阵列,在大量的待执行指令需要执行时,能够按照比特位宽和流水线级数生成对应的重构阵列,且由对应的重构阵列进行流水线处理,从而能够更加合理地利用处理资源,避免处理资源的浪费。
    40.在一些实施例中,还可以预设置重构阵列,如预选设置多个pe组粒度为4、流水线级数为4的重构阵列,而在需要对待执行指令进行处理时,获取当前待执行指令的指令信息,确定待执行指令所对应的比特位宽,则对比预设的重构阵列的pe组粒度和待执行指令的比特位宽,示例性的,待执行指令的比特位宽为32,则pe组的粒度满足待执行指令的运算要求,若pe组的粒度不满足待执行指令的运算要求,如待执行指令的比特带宽为64,则应当添加pe单元,即再将4个pe单元与当前的pe组所对应的第一级缓存进行数据交换。同样的,示例性的,若待执行指令需要三级流水线,则预设的重构阵列能够满足待执行指令的运算要求;若待执行指令需要五级流水线,则预设的重构阵列不能够满足待执行指令的运算要求,添加相应的pe组和第一级缓存,如添加一个pe组,预设的重构阵列中的最后一级pe组中的pe单元与添加的第一级缓存进行数据交换,且添加的一个pe组也与第一级缓存进行数据交换,即添加的pe组作为重构阵列的最后一级pe组,从而满足待执行指令的运算要求。
    41.在一些实施例中,对于流水线级数的确定,还可以在处理阶段中确定,如预设置当前的的重构阵列的流水线级数为3,对于任一流水先线级数的待执行指令,重构阵列对其按照三级流水线进行处理,在译码阶段确定当前的待执行指令为普通指令,即流水线级数为3的指令,则按照当前的流水线进行处理;在译码阶段确定当前的待执行指令为非普通指令,如对应流水线级数为5的程序控制类指令,则可以在当前的重构阵列的添加两组pe组和第一级缓存,从而构成流水线级为5的重构阵列,进而处理该待执行指令。
    42.图3为本技术实施例提供的以流水线方式运算待多个待执行指令的时序示意图,在流水线级数为4的重构阵列中执行多个流水线级数为4的待执行指令的时序示意图。可以理解的是,t1-t7为执行周期,用于表示在该周期时间内执行流水线的某一个阶段;图示为四级流水线的处理流程,四级流水线包括:(1)取指:从存储器装载一条指令;(2)译码:识别将要被执行的指令;(3)执行:处理指令;(4)回写:将结果写回寄存器。
    43.如图3所示,由于采用流水线的结构,流水线的每一级是一个时钟周期,则在每个执行周期,都有4条指令同时执行,只是每条指令执行的是不同的部分,如在执行周期t4,当对指令i执行回写阶段的运算,则对应于指令ii,进行执行阶段的运算,对应于指令iii,进行译码阶段的运算,对于指令iv,进行取指阶段的操作,相应的,进入下一执行周期t5,对于指令i已经完成运算,而对于指令ii则进行回写阶段的运算,对于指令iii进行执行阶段的运算,对于指令iv进行译码阶段的运算。依此类推,指令像流水一样经过一级一级的操作,在每个执行周期,pe组都在运行,没有闲置。
    44.对于一个新的待执行指令,已生成的重构阵列能够满足该指令的运算要求,即在已生成的重构阵列中存在至少一个阵列的pe组粒度和流水线级数能够适配于该指令。
    45.示例性的,结合图3所示,对于新的待执行指令的运算需要三级流水线处理,而当前的重构阵列的流水线级数为4,即当前的重构阵列能够满足4级流水线的运算需求,则可以认为当前的重构阵列能够满足于该待执行指令。
    46.当采用该处理流程运算流水线级数为3的待执行指令,则可以将三级流水线处理阶段中的执行阶段(包括处理指令并将结果写回寄存器)采用四级流水线中的执行阶段和回写阶段这两个阶段来处理,即将三级流水线按照四级流水线处理,能够满足于当前待执行指令的三级流水线的运算需求。
    47.对于存在多个重构阵列能够满足于待执行指令的情况,以流水线级数为例子,则可以优先地选择流水线级数更靠近的重构阵列,例如,存在四级和五级流水线,那么对于需要三级流水线处理的待执行指令,优先选择四级流水线的重构阵列。
    48.应当想到的是,对于当前重构阵列是否满足待执行指令的运算需求,存在匹配阈值,对应的匹配阈值为2,以流水线级数为例,即对于待执行指令的所需的三级流水线处理,对应满足运算需求的重构阵列的流水线级数最大值为5,若当前的重构阵列的流水线级数为6,则不选择该重构阵列对待执行指令进行运算,即视为不满足,以避免处理资源的浪费。
    49.在一些实施例中,对于生成对应的重构阵列,需要基于pe组的粒度,添加或移除pe组中的pe单元,可以理解的是,对于不同的pe组粒度,对应的pe组中的pe单元数量是不同的,例如,当前待执行指令的比特位宽为64位,则对应的pe组应当有满足64位比特位宽的运算需求,即至少需要8个pe单元才能够满足运算需求,若当前的pe组的粒度不能满足满足运算需求,则相应地,添加pe单元,即将更多的pe单元与第一缓存连接,以便于进行数据交换,其中,该第一缓存为对应的pe组所连接的缓存。可以理解的是,对pe单元的移除,是指将pe单元与第一级缓存的数据连接断开;对于pe单元的添加,是指将pe单元连接第一级缓存以进行数据交换。
    50.还需要基于流水线级数,选择对应数量的pe组和第一级缓存,并将最后一级的pe组连接第二缓存和第三缓存。可以理解的是,对于不同的流水线级数,所述对应的pe组的数量不同,例如,确定当前待执行指令的类型需要三级流水线处理,则对应的pe组的数量至少
    有三组,应当想到的是,进行数据输出的一级pe组为最后一级pe组,从寄存器中获取指令的pe组为第一级pe组,通过所述选择的三组pe组中的最后一级pe组与缓存进行数据交换,从而生成满足流水线级数要求的重构阵列。
    51.图4为本技术实施例提供一种组合后的重构阵列的示意图,如图4所示,重构阵列i和重构阵列ii通过第二级缓存进行数据交换,从而组合为流水线级数更高的重构阵列,应当想到的是,图中仅为示例性的采用两个重构阵列进行组合,在实际应用中还可以采用更多个重构阵列进行组合。
    52.在一些实施例中,对于重构阵列不能满足待执行指令的运算需求的情况,如,当前的待执行指令需要的是八级流水线处理,但目前没有足够的处理资源生成对应的重构阵列,则可以通过多个重构阵列与第二级缓存或第三级缓存组合的方式满足待执行指令所需的流水线级数需求,可以理解的是,如图4所示,可以通过将如流水线级数分别为3和5的重构阵列i和重构阵列ii和第二缓存进行组合,重构阵列i的最后一级pe组通过第二缓存将数据传输至重构阵列ii的第一级pe组,即通过第二缓存,使得重构阵列i的最后一级pe组和重构阵列ii的第一级pe组组合为相邻的两个pe组,从而使得两个重构阵列组合能够满足待执行指令的运算要求。
    53.在一些实施例中,第二级缓存还与第三级缓存连接,即第二缓存和第三缓存之间还进行数据交换。在确定接收到中断信号,则通过第三级缓存存储第二级缓存的数据;确定接收到恢复信号,则对第二级缓存进行数据恢复。例如,当发生流水线中断,第二级缓存中的数据存储至第三级缓存中,以进行数据备份,避免数据丢失;而在流水线恢复时,对第二级缓存进行数据恢复,可以从第三级缓存中读取相应的数据,以实现数据恢复。
    54.需要说明的是,对于一些以非流水线方式执行的指令,其所生成的数据可以通过第三级缓存进行存储。
    55.在一些实施例中,对于重构阵列与待执行指令的流水线级数相差较大的情况,示例性的,当前的重构阵列的流水线级数为八级,则待执行指令所需的流水线级数为三级,因此,当前的所述重构阵列与所述待执行指令的级数差为5,若释放阈值设置为4,则对于级数差大于释放阈值的情况,需要对重构阵列中多余的pe组进行移除,从而减少处理资源的浪费,提供处理资源的利用率。
    56.可以理解的是,对pe组的移除,是指将pe组与第二级缓存或第三级缓存的数据连接断开,并非将pe组去除。
    57.图5为本技术实施例提供的一种阵列重构装置的结构框图,该装置用于执行上述实施例提供的阵列重构方法,具备执行方法对应的功能模块和有益效果。如图5所示,该装置具体包括:第一获取模块101,配置为获取待执行指令的指令信息,指令信息包括待执行指令的位宽信息和类型信息;第一确定模块102,配置为根据待执行指令的位宽信息,确定pe组的粒度;第二确定模块103,配置为根据待执行指令的类型信息,确定流水线级数;第一生成模块104,配置为基于pe组的粒度和流水线级数,生成对应的重构阵列,重构阵列用于执行匹配的待执行指令。
    58.由上述方案可知,本技术实施例通过第一获取模块101获取待执行指令的位宽和类型,第一确定模块102确定pe组的粒度以及第二确定模块103确定重构阵列的流水线级
    数,从而确定执行当前指令的重构阵列,通过第一生成模块104生成对应的重构阵列,减少处理资源的浪费,且对于同一类型的待执行指令,由满足流水线级数要求的当前的重构阵列或已生成的重构阵列执行,能够提高重构阵列的利用率。
    59.在一实施例中,第一生成模块104配置为确定已生成的重构阵列满足于待执行指令的,则选择已生成的重构阵列执行待执行指令。
    60.在一实施例中,第一生成模块104配置为基于pe组的粒度,添加或移除pe组中的pe单元;基于流水线级数,选择对应数量的pe组和第一级缓存,并将最后一级pe组连接第二级缓存和第三级缓存。
    61.图6为本技术实施例提供的另一种阵列重构装置的结构框图,如图6所示,该装置用于执行上述实施例提供的阵列重构方法,具备执行方法对应的功能模块和有益效果。在一实施例中,如图6所示,该装置还包括第二生成模块105,第二生成模块配置为通过将多个重构阵列与第二级缓存或第三级缓存组合,以满足执行待执行指令所需的流水线级数。
    62.在一实施例中,第一生成模块104配置为确定接收到中断信号,则通过第三级缓存存储第二级缓存的数据;确定接收到恢复信号,则对第二级缓存进行数据恢复。
    63.在一实施例中,第一生成模块104配置为确定当前的重构阵列与待执行指令的级数差满足释放阈值,则移除重构阵列中多余的pe组。
    64.图7为本技术实施例提供的一种阵列重构设备的结构示意图,如图7所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图中以一个处理器201为例;设备中的处理器201、存储器202和输入装置203可以通过总线或其他方式连接,图中以通过总线连接为例。存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本技术实施例中的阵列重构方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的阵列重构方法。输入装置203,用于接收用于输入的数字或字符信息。输出装置204可以用于输出处理后的数据。
    65.本技术实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种上述的阵列重构方法,具体包括:获取待执行指令的指令信息,指令信息包括待执行指令的位宽信息和类型信息;根据待执行指令的位宽信息,确定pe组的粒度;根据待执行指令的类型信息,确定流水线级数;基于pe组的粒度和流水线级数,生成对应的重构阵列,重构阵列用于执行匹配的待执行指令。
    66.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。
    67.值得注意的是,上述阵列重构装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,
    各功能单元的具体名称也只是为了便于相互区分,并不用于限制本技术实施例的保护范围。

    技术特征:
    1.一种阵列重构方法,应用于多级缓存数据通路,其特征在于,所述多级缓存数据通路包括多个重构阵列和至少4级缓存,所述重构阵列包括多个pe组,相邻两个pe组通过第一级缓存进行数据交换,第二级缓存和第三级缓存均与所述重构阵列进行数据交换,且所述第二级缓存和所述第三级缓存还分别与第四级缓存进行数据交换,所述方法包括:获取待执行指令的指令信息,所述指令信息包括所述待执行指令的位宽信息和类型信息;根据所述待执行指令的位宽信息,确定pe组的粒度;根据所述待执行指令的类型信息,确定流水线级数;基于所述pe组的粒度和所述流水线级数,生成对应的所述重构阵列,所述重构阵列用于执行匹配的所述待执行指令。2.根据权利要求1所述的方法,其特征在于,在所述生成对应的所述重构阵列之前,还包括:确定已生成的所述重构阵列满足于所述待执行指令,则选择已生成的所述重构阵列执行所述待执行指令。3.根据权利要求1所述的方法,其特征在于,所述基于所述pe组的粒度和所述流水线级数,生成对应的所述重构阵列,包括:基于所述pe组的粒度,添加或移除所述pe组中的pe单元;基于所述流水线级数,选择对应数量的所述pe组和所述第一级缓存,并将最后一级所述pe组连接所述第二级缓存和第三级缓存。4.根据权利要求1所述的方法,其特征在于,还包括:通过将多个所述重构阵列与所述第二级缓存或所述第三级缓存组合,以满足执行所述待执行指令所需的所述流水线级数。5.根据权利要求1所述的方法,其特征在于,所述第二级缓存还与所述第三级缓存连接,所述方法还包括:确定接收到中断信号,则通过所述第三级缓存存储所述第二级缓存的数据;确定接收到恢复信号,则对所述第二级缓存进行数据恢复。6.根据权利要求1所述的方法,其特征在于,还包括:确定当前的所述重构阵列与所述待执行指令的级数差大于释放阈值,则移除所述重构阵列中多余的所述pe组。7.一种阵列重构装置,其特征在于,所述装置包括:第一获取模块,配置为获取待执行指令的指令信息,所述指令信息包括所述待执行指令的位宽信息和类型信息;第一确定模块,配置为根据所述待执行指令的位宽信息,确定pe组的粒度;第二确定模块,配置为根据所述待执行指令的类型信息,确定流水线级数;第一生成模块,配置为基于所述pe组的粒度和所述流水线级数,生成对应的所述重构阵列,所述重构阵列用于执行匹配的所述待执行指令。8.根据权利要求7所述的阵列重构装置,其特征在于,还包括:第二生成模块,配置为通过将多个所述重构阵列与所述第二级缓存或所述第三级缓存组合,以满足执行所述待执行指令所需的所述流水线级数。
    9.一种阵列重构设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的阵列重构方法。10.一种存储有计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-6中任一项所述的阵列重构方法。

    技术总结
    本申请实施例公开了阵列重构方法、装置、设备及存储介质,本实施例构建多个重构阵列和至少4级缓存,重构阵列包括多个PE组,相邻两个PE组通过第一级缓存进行数据交换,第二级缓存和第三级缓存均与重构阵列进行数据交换,且第二级缓存和第三级缓存还分别与第四级缓存进行数据交换,方法包括:获取待执行指令的指令信息,指令信息包括待执行指令的位宽信息和类型信息;根据待执行指令的位宽信息,确定PE组的粒度;根据待执行指令的类型信息,确定流水线级数;基于PE组的粒度和流水线级数,生成对应的重构阵列,重构阵列用于执行匹配的待执行指令。由满足流水线级数要求的当前的重构阵列或已生成的重构阵列执行,能够提高重构阵列的利用率。利用率。利用率。


    技术研发人员:张奇惠 王立峰 刘家明
    受保护的技术使用者:广州万协通信息技术有限公司
    技术研发日:2022.04.24
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-7496.html

    最新回复(0)