CN101630306A - 动态可重构装置以及用该装置进行动态可重构的方法 - Google Patents
动态可重构装置以及用该装置进行动态可重构的方法 Download PDFInfo
- Publication number
- CN101630306A CN101630306A CN200910023584A CN200910023584A CN101630306A CN 101630306 A CN101630306 A CN 101630306A CN 200910023584 A CN200910023584 A CN 200910023584A CN 200910023584 A CN200910023584 A CN 200910023584A CN 101630306 A CN101630306 A CN 101630306A
- Authority
- CN
- China
- Prior art keywords
- task
- cache
- primary processor
- reconfigurable
- reclaim
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Logic Circuits (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种动态可重构装置以及用用这种动态可重构装置进行动态可重构的方法,装置包括主处理器、存储器、部分可重构单元,其特点还包括回收Cache,所述回收Cache中包含一个任务存储单元、一个输出接口及一个输入监控接口,输入监控接口自动记录部分可重构单元增加的任务,输出接口在任务存储单元中对主处理器提供的任务进行查询,有匹配的任务则输出到主处理器;任务存储单元满,则输入监控接口利用最近最久未使用算法淘汰一个任务;新增加的任务在部分可重构单元中占据了已有任务的部分电路,造成以后任务的污染,则输入监控接口自动将被污染的任务淘汰。由于采用回收Cache自动监测、记录部分可重构单元中的任务,提高了动态可重构系统的计算能力。
Description
技术领域
本发明涉及一种动态可重构装置,特别是细粒度动态可重构装置。还涉及用这种动态可重构装置进行动态可重构的方法。
背景技术
文献1“专利号为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检查任务的重构、执行情况,自动记录部分可重构单元的任务信息,因此不会影响主处理器及部分可重构单元的运行。
Claims (2)
1、一种动态可重构装置,包括主处理器、存储器、部分可重构单元,其特征在于还包括回收Cache,所述回收Cache中包含一个任务存储单元、一个输出接口及一个输入监控接口,输入监控接口自动记录部分可重构单元增加的任务,输出接口在任务存储单元中对主处理器提供的任务进行查询,有匹配的任务则输出到主处理器;任务存储单元满,则输入监控接口利用最近最久未使用算法淘汰一个任务,然后记录该任务;新增加的任务在部分可重构单元中占据了已有任务的部分电路,造成以后任务的污染,则输入监控接口自动将被污染的任务淘汰。
2、一种利用权利要求1所述动态可重构装置进行动态可重构的方法,其特征在于包括以下步骤:
(a)主处理器将新的任务详细信息传输给回收Cache,回收Cache查询其任务存储单元中是否有相同的任务;
(b)回收Cache中有相同任务时,回收Cache将该任务的详细信息传输给主处理器,主处理器利用已有的任务进行计算;
(c)回收Cache中无相同任务时,主处理器在部分可重构单元中重构该任务;
(d)回收Cache监控主处理器的任务重构结果,重构的任务在部分可重构单元中占据了其它任务的部分电路,则将被占据的任务记录从回收Cache中删除;
(e)回收Cache记录任务重构结果,回收Cache中任务存储单元满,则替换掉一个任务记录,将该任务重构结果记录在任务存储单元中,否则直接记录到任务存储单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910023584A CN101630306A (zh) | 2009-08-14 | 2009-08-14 | 动态可重构装置以及用该装置进行动态可重构的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910023584A CN101630306A (zh) | 2009-08-14 | 2009-08-14 | 动态可重构装置以及用该装置进行动态可重构的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101630306A true CN101630306A (zh) | 2010-01-20 |
Family
ID=41575418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910023584A Pending CN101630306A (zh) | 2009-08-14 | 2009-08-14 | 动态可重构装置以及用该装置进行动态可重构的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101630306A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279729A (zh) * | 2011-06-14 | 2011-12-14 | 清华大学 | 动态可重构阵列调用配置信息的方法、缓存器和处理器 |
CN102413036A (zh) * | 2011-08-22 | 2012-04-11 | 复旦大学 | 一种实时部分动态可重构系统 |
CN107976701A (zh) * | 2017-11-20 | 2018-05-01 | 中国电子科技集团公司第四十研究所 | 基于总线架构的多模导航模拟器动态可重构系统及方法 |
CN109167595A (zh) * | 2012-02-08 | 2019-01-08 | 阿尔特拉公司 | 使用部分重构在可编程电路上实施外围器件的方法和装置 |
CN110990767A (zh) * | 2019-11-29 | 2020-04-10 | 华中科技大学 | 一种应用于格密码体制的可重构数论变换单元和方法 |
CN112488305A (zh) * | 2020-12-22 | 2021-03-12 | 西北工业大学 | 一种神经网络存储组织结构及其可配置管理方法 |
CN114313314A (zh) * | 2021-12-31 | 2022-04-12 | 浙江时空道宇科技有限公司 | 一种卫星在轨数字基带平台 |
-
2009
- 2009-08-14 CN CN200910023584A patent/CN101630306A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102279729A (zh) * | 2011-06-14 | 2011-12-14 | 清华大学 | 动态可重构阵列调用配置信息的方法、缓存器和处理器 |
CN102413036A (zh) * | 2011-08-22 | 2012-04-11 | 复旦大学 | 一种实时部分动态可重构系统 |
CN109167595A (zh) * | 2012-02-08 | 2019-01-08 | 阿尔特拉公司 | 使用部分重构在可编程电路上实施外围器件的方法和装置 |
CN109167595B (zh) * | 2012-02-08 | 2022-07-05 | 阿尔特拉公司 | 使用部分重构在可编程电路上实施外围器件的方法和装置 |
CN107976701A (zh) * | 2017-11-20 | 2018-05-01 | 中国电子科技集团公司第四十研究所 | 基于总线架构的多模导航模拟器动态可重构系统及方法 |
CN110990767A (zh) * | 2019-11-29 | 2020-04-10 | 华中科技大学 | 一种应用于格密码体制的可重构数论变换单元和方法 |
CN110990767B (zh) * | 2019-11-29 | 2021-08-31 | 华中科技大学 | 一种应用于格密码体制的可重构数论变换单元和方法 |
CN112488305A (zh) * | 2020-12-22 | 2021-03-12 | 西北工业大学 | 一种神经网络存储组织结构及其可配置管理方法 |
CN112488305B (zh) * | 2020-12-22 | 2023-04-18 | 西北工业大学 | 一种神经网络存储装置及其可配置管理方法 |
CN114313314A (zh) * | 2021-12-31 | 2022-04-12 | 浙江时空道宇科技有限公司 | 一种卫星在轨数字基带平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101630306A (zh) | 动态可重构装置以及用该装置进行动态可重构的方法 | |
US8799895B2 (en) | Virtualization-based resource management apparatus and method and computing system for virtualization-based resource management | |
CN101916209B (zh) | 一种多核处理器集群任务资源分配方法 | |
CN102681895B (zh) | 一种动态自迁移云服务方法 | |
CN102981910A (zh) | 虚拟机调度的实现方法和装置 | |
CN102282544A (zh) | 存储系统 | |
CN103635884A (zh) | 用于使用控制器操作的冗余的系统和方法 | |
CN103399781A (zh) | 云服务器及其虚拟机管理方法 | |
CN102929769A (zh) | 一种基于代理服务的虚拟机内部数据采集方法 | |
KR20160121380A (ko) | 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 구성 및 운영 방법 | |
CN102129482A (zh) | 一种基于混沌离散粒子群优化的片上网络映射方法 | |
CN101526915B (zh) | 并行模拟中支持踪迹文件并行输入输出的方法 | |
EP4226249A1 (en) | Methods for configuring span of control under varying temperature | |
CN102541750A (zh) | 数据快照的实现方法和装置 | |
CN102510403A (zh) | 用于车辆数据接收和实时分析的集群分布式系统及方法 | |
CN111262723A (zh) | 一种基于模块化硬件和软件定义的边缘智能计算平台 | |
CN103903295A (zh) | 一种基于InfiniBand实时调度海量高精度三维场景数据的方法 | |
CN201449610U (zh) | 动态可重构装置 | |
CN102763298A (zh) | 在电网中借助于代理的分布状态计算 | |
CN101290592A (zh) | 一种mpsoc上多道程序共享spm的实现方法 | |
Mingsong et al. | Improvement on dynamic migration technology of virtual machine based on Xen | |
CN109189739A (zh) | 缓存空间回收方法和装置 | |
CN101620588B (zh) | 高效能计算机中可重构部件的一种连接与管理方法 | |
CN103888510B (zh) | 一种云计算数据中心的业务高可用方法 | |
EP2157805A2 (en) | Multiple-protection system and control method in a communication device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100120 |