专利名称:动态可重构装置以及用该装置进行动态可重构的方法
技术领域:
本发明涉及一种动态可重构装置,特别是细粒度动态可重构装置。还涉及用这种动态可 重构装置进行动态可重构的方法。
背景技术:
文献l"专利号为US20070162529的美国专利"公开了一种动态可重构电路。该装置由多 片FPGA、存储模块、互联模块、磁盘阵列构成。其中存储模块及磁盘阵列模块负责数据存 储,FPGA负责电路的重构、计算任务,互联模块负责各个模块之间的连接。存在一个控制 模块,该控制模块向FPGA提供电能并控制FPGA配置,配置信息包包括FPGA的配置文件、 连接开关部件的初始化信息以及描述每个FPGA反馈信号的脚本。该装置可以实现大规模的 动态可重构系统,对特殊计算需求的任务进行加速。但是该装置的FPGA配置策略比较简单, 无法对重构的电路进行复用。
文献2"专利号为US20090106341的美国专利"公开了一种动态可重构的基带处理装置。 该装置由PN码生成部件、旋转因子生成部件、系数存储器、输入数据存储器、输出数据存 储器、延迟部件、复杂乘法部件、复杂加法部件、复杂减法部件及控制部件组成。该控制部 件通过控制各个部件之间的互联关系达到电路的动态可重构。通过控制可重构处理模块,可 以选择性地实现基2蝶形运算核、PN相关器、自动相关器及复杂加法器。该动态可重构装置 采用了粗粒度的可重构,各个重构电路的结构不同,因此无法达到电路复用,导致该动态可 重构电路的资源利用率较低,无法灵活地实现任务的动态可重构。
文献3"专利号为US20070113054的美国专利"公开了一种大粒度的动态可重构系统。该装 置中,处理单元采用行的形式相互连接,通过设置行模式,可以实现流水或者并行的处理模 式。由于选择了合适的粒度、有限的互联资源、数据分布电路,可以在一个周期内实现局部 或者常规的组件重构。该发明实现了一种同构、快速的动态可重构,为可重构资源的管理、 重构优化带来了可能。但是,该装置的重构结构比较简单,无法有效提高面向专用领域的大 规模电路重构的电路计算能力。
参照图6,公知的动态可重构装置包括主处理器、部分可重构单元及存储器。部分可重构 单元是一种结构可配置的芯片,能够通过重构配置实现多种电路结构, 一般采用FPGA实现。 部分可重构单元的特点为可配置芯片内的某一区域可以在其它区域工作的同时,重构为不 同的电路结构, 一般将芯片上重构的电路称为任务。部分可重构单元的任务重构及工作由主 处理器管理。主处理器对部分可重构单元的资源做出规划,管理可重构单元中任务的布局、重构及释放。任务的重构包括处理器将配置信息从存储器中加载到可重构单元,可重构单 元根据配置信息对其相关资源做出配置。重构好的任务可进行具体的计算。该动态可重构装 置的性能由任务重构时间及运行速度两方面决定。
发明内容
为了减少传统动态可重构装置的平均重构时间,提高可重构电路的性能,本发明提供一
种动态可重构装置,在可重构电路中构建了回收Cache,回收Cache对部分可重构单元上任 务的历史信息自动进行记录,主处理器借助回收Cache对部分可重构单元的任务进行重复使 用,可以减少任务的重构次数,降低任务的平均重构时间。
本发明还提供用这种动态可重构装置进行动态可重构的方法。在新的任务到来之后,主 处理器在回收Cache中检査是否有已经重构好的任务,如果有则不需要重构,直接利用该任 务进行计算;如果没有则需要在可重构单元中重构该任务,回收Cache记录该任务。
本发明解决其技术问题所采用的技术方案 一种动态可重构装置,包括主处理器、存储 器、部分可重构单元,其特点还包括回收Cache,所述回收Cache中包含一个任务存储单元、 一个输出接口及一个输入监控接口,输入监控接口自动记录部分可重构单元增加的任务,输 出接口在任务存储单元中对主处理器提供的任务进行査询,有匹配的任务则输出到主处理器;
任务存储单元满,则输入监控接口利用最近最久未使用算法淘汰一个任务,然后记录该任务;
新增加的任务在部分可重构单元中占据了已有任务的部分电路,造成以后任务的污染,则输 入监控接口自动将被污染的任务淘汰。
一种利用上述动态可重构装置进行动态可重构的方法,其特点是包括以下步骤
(a) 主处理器将新的任务详细信息传输给回收Cache,回收Cache查询其任务存储单元 中是否有相同的任务;
(b) 回收Cache中有相同任务时,回收Cache将该任务的详细信息传输给主处理器,主 处理器利用已有的任务进行计算;
(c) 回收Cache中无相同任务时,主处理器在部分可重构单元中重构该任务;
(d) 回收Cache监控主处理器的任务重构结果,重构的任务在部分可重构单元中占据了 其它任务的部分电路,则将被占据的任务记录从回收Cache中删除;
(e) 回收Cache记录任务重构结果,回收Cache中任务存储单元满,则替换掉一个任务 记录,将该任务重构结果记录在任务存储单元中,否则直接记录到任务存储单元。
本发明的有益效果是由于采用回收Cache自动监测、记录部分可重构单元中的任务并 维护任务的完整性,主处理器可以借助回收Cache对部分可重构单元的任务进行多次重复使 用,减少了任务的重构次数及任务重构时间,提高了动态可重构系统的计算能力。下面结合附图和实施例对本发明做详细说明。
图1是本发明动态可重构装置的结构框图。 图2是图1中回收Cache的详图。 图3是图2中存储单元的详图。 图4是图2中输出接口的详图。 图5是图2中输入监控接口的详图。 图6是公知的动态可重构装置结构框图。
具体实施例方式
参照图1~5,本发明在构造上采用了与回收Cache结合的动态可重构装置。整个装置由主 处理器、存储器、部分可重构单元及回收Cache四大部分组成。主处理器负责动态可重构装 置的管理,具体包括部分可重构单元的资源规划、重构控制,存储器管理,回收Cache的査 询。存储单元负责向主处理器及部分可重构单元提供数据,向主处理器提供的数据有指令及 数据,向部分可重构单元提供的数据有计算数据、配置信息。部分可重构单元在主处理器的 控制下,从存储单元加载配置信息,对任务进行重构,重构完成后相应的任务开始计算。回 收Cache监控部分可重构单元中任务的变化请求,自动记录新增的任务,淘汰被污染的任务, 主处理器通过査询回收Cache,可以获得部分可重构单元中的任务历史记录信息。新的任务 到来,主处理器査询回收Cache中是否存在该任务,如果存在,则不需要对该任务进行重构, 直接利用匹配的任务进行计算,如果不存在,则需要在部分可重构单元中重构该任务,然后 才能计算。
整个电路的信息流向为新的任务到来,主处理器查询回收Cache中是否有该任务的记 录,如果有,则利用记录的任务直接计算,如果没有,则需要在部分可重构单元中重构该任 务,重构完成后进行计算。回收Cache记录部分可重构单元内所有重构的任务信息。
动态可重构装置进行动态可重构计算的方法具体如下 (1)动态可重构装置初始化。
(a) 新的任务到来,主处理器将该任务的详细信息传输给回收Cache,回收Cache査询 其任务存储单元中是否有相同的任务。
(b) 如果回收Cache中有相同任务,回收Cache将该任务的详细信息传输给主处理器, 主处理器利用己有的任务进行计算。
(c) 如果回收Cache中无相同任务,主处理器在部分可重构单元中重构该任务。
(d) 回收Cache监控主处理器的任务重构结果。如果重构的任务在部分可重构单元中占据了其它任务的部分电路,则将被占据的任务记录从回收Cache中删除。
(e)回收Cache记录任务重构结果。如果回收Cache中任务存储单元满,则替换掉一个 任务记录,将该任务重构结果记录在任务存储单元中,否则直接记录到任务存储单元。
从执行流程上可以看出,该装置有以下几个特点首先,在进行任务重构之前,主处理 器先在回收Cache中检查是否存在该任务,如果存在该任务则不需要任务的哦重构,否则才 进行重构,减少了系统运行中任务的哦重构次数,降低了总的任务重构时间,提高了动态可 重构装置的计算能力。回收Cache检查任务的重构、执行情况,自动记录部分可重构单元的 任务信息,因此不会影响主处理器及部分可重构单元的运行。
权利要求
1、一种动态可重构装置,包括主处理器、存储器、部分可重构单元,其特征在于还包括回收Cache,所述回收Cache中包含一个任务存储单元、一个输出接口及一个输入监控接口,输入监控接口自动记录部分可重构单元增加的任务,输出接口在任务存储单元中对主处理器提供的任务进行查询,有匹配的任务则输出到主处理器;任务存储单元满,则输入监控接口利用最近最久未使用算法淘汰一个任务,然后记录该任务;新增加的任务在部分可重构单元中占据了已有任务的部分电路,造成以后任务的污染,则输入监控接口自动将被污染的任务淘汰。
2、 一种利用权利要求1所述动态可重构装置进行动态可重构的方法,其特征在于包括以下步骤(a) 主处理器将新的任务详细信息传输给回收Cache,回收Cache査询其任务存储单元中是否有相同的任务;(b) 回收Cache中有相同任务时,回收Cache将该任务的详细信息传输给主处理器,主处理器利用已有的任务进行计算;(c) 回收Cache中无相同任务时,主处理器在部分可重构单元中重构该任务;(d) 回收Cache监控主处理器的任务重构结果,重构的任务在部分可重构单元中占据了其它任务的部分电路,则将被占据的任务记录从回收Cache中删除;(e) 回收Cache记录任务重构结果,回收Cache中任务存储单元满,则替换掉一个任务记录,将该任务重构结果记录在任务存储单元中,否则直接记录到任务存储单元。
全文摘要
本发明公开了一种动态可重构装置以及用用这种动态可重构装置进行动态可重构的方法,装置包括主处理器、存储器、部分可重构单元,其特点还包括回收Cache,所述回收Cache中包含一个任务存储单元、一个输出接口及一个输入监控接口,输入监控接口自动记录部分可重构单元增加的任务,输出接口在任务存储单元中对主处理器提供的任务进行查询,有匹配的任务则输出到主处理器;任务存储单元满,则输入监控接口利用最近最久未使用算法淘汰一个任务;新增加的任务在部分可重构单元中占据了已有任务的部分电路,造成以后任务的污染,则输入监控接口自动将被污染的任务淘汰。由于采用回收Cache自动监测、记录部分可重构单元中的任务,提高了动态可重构系统的计算能力。
文档编号G06F15/76GK101630306SQ20091002358
公开日2010年1月20日 申请日期2009年8月14日 优先权日2009年8月14日
发明者萌 张, 张盛兵, 樊晓桠, 王党辉, 田杭沛, 然 郑, 高德远, 魏廷存, 黄小平 申请人:西北工业大学