CN104915213A - 一种可重构系统的局部重构控制器 - Google Patents
一种可重构系统的局部重构控制器 Download PDFInfo
- Publication number
- CN104915213A CN104915213A CN201510346718.0A CN201510346718A CN104915213A CN 104915213 A CN104915213 A CN 104915213A CN 201510346718 A CN201510346718 A CN 201510346718A CN 104915213 A CN104915213 A CN 104915213A
- Authority
- CN
- China
- Prior art keywords
- block
- data
- reconfigurable
- configuration information
- computing array
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种可重构系统的局部重构控制器,其包括:多个可重构计算阵列块控制器和与之配套的块数据流图配置信息。整个可重构系统可被拆分为多个可重构阵列块和块控制单元,其中每个可重构阵列块中包含若干计算阵列行,每个块控制单元中包含一个计算阵列块控制器。计算阵列块控制器负责可重构计算阵列计算资源的控制流配置信息的解析,并根据时序配置信息控制可重构阵列块中每行的数据流图执行过程。不同可重构计算阵列块控制器分别独立控制对应可重构阵列块的数据流向。本发明支持多种数据流控制方式,支持多数据多地址间隔输入与输出,保障了可重构系统读写数据和配置系统的灵活性,提高了可重构系统的性能。
Description
技术领域
本发明涉及嵌入式系统的技术领域,特别是一种可重构系统的局部重构控制器。
背景技术
专用集成电路计算性能高但灵活性差,通用处理器计算性能差但灵活性高,而可重构系统能够在系统运行时通过动态配置改变其功能,同时保持较高计算性能,兼具高性能和高灵活的计算优势,在许多领域得到了广泛应用。面向计算任务日趋复杂的应用需求,可重构系统执行任务所需控制器的结构的复杂度和配置信息的容量日益增加,影响可重构系统芯片的设计与芯片的计算性能。在大规模可重构计算阵列的计算密集型应用中,可重构系统的配置信息较为庞大,传统系统控制器仅依靠单一计算阵列控制器来负责整个系统的可重构计算阵列配置信息的解析与配置,使得控制器负担较重,造成可重构系统芯片运行速度慢、效率低,且控制器一般仅支持对连续地址数据经行读写单一数据流控制方式,灵活性较差。
发明内容
本发明所要解决的技术问题是提供一种可重构系统的局部重构控制器,用以增加可重构系统的控制效率及其配置信息的灵活性,提高可重构系统的计算性能。
为了解决上述问题,本发明公开了一种可重构系统的局部重构控制器,其包括:多个可重构计算阵列块控制器和与之配套的块数据流图配置信息。整个可重构系统可被拆分为多个可重构阵列块和块控制单元,其中每个可重构阵列块中包含若干计算阵列行,所有计算阵列行都具有若干个端口用于读写数据,每个块控制单元中包含一个计算阵列块控制器,用于接收并解析与之配套的块数据流图配置信息,每个块数据流图配置信息中包含若干个配置包和配置组,其中配置包和可重构阵列块中每行的行号所对应,用于索引配置组,配置组中包含可重构阵列块中每行的具体配置信息。并增加了多种数据流控制方式,支持多数据多地址间隔输入与输出。每个块控制单元控制一个可重构计算阵列块。
所述可重构计算阵列块控制器:负责可重构阵列计算资源的控制流配置信息的解析,并根据时序配置信息控制该部分计算资源的启动与结束。多个可重构计算阵列块控制器共同控制整个可重构计算阵列的数据流向。
所述的块数据流图配置信息:所有块数据流图配置信息都来源于可重构系统的配置信息,包括配置包和配置组,配置包和可重构阵列块中每行计算阵列的行号所对应,用于索引配置组,配置组包含所有计算阵列行的启动时间、每个端口读写数据的来源、每个端口读写数据个数、每个端口读写数据间隔、每个端口读写数据地址个数、每个端口读写数据地址间隔、该部分可重构阵列块数据流图的循环次数。
所述的可重构系统的局部重构控制器:可重构系统中每个块控制单元的计算阵列块控制器解析该块所对应的数据流图配置信息,得到配置包和配置组信息;由配置包索引配置组,得到可重构阵列块中每行的数据配置信息,并以此控制可重构阵列块中每行计算资源的启动,根据每个端口读数据的来源、读数据的个数、读数据的间隔、读数据的地址、读地址的间隔依次读取数据进入计算阵列进行计算,运算的结果根据每个端口写数据的去向、写数据的个数、写数据的间隔、写数据的地址、写地址的间隔依次写出计算阵列。同时根据解析的控制流配置信息决定该部分计算资源所对应的数据流图的循环次数和计算过程的结束。
本发明的优点及有益效果:
(1)本发明的可重构系统的局部重构控制器,在传统的可重构系统的控制结构和配置方法的基础上,把整个可重构系统拆分为多个可重构阵列块和块控制单元,每个块控制单元中的可重构阵列块控制器通过解析与之配套的块数据流图配置信息去控制其对应的可重构阵列块,从而避免整个可重构系统依靠单一的可重构阵列控制器去解析数据流图配置信息和控制整个可重构计算阵列造成计算效率低下,系统工作速率较慢。
(2)本发明的可重构系统的局部重构控制器,在传统的可重构系统的控制结构和配置方法的基础上,把整个可重构系统拆分为多个可重构阵列块和块控制单元,并在块控制单元中加入了多种数据流图控制信息,支持多数据多地址间隔输入与输出,较传统的仅支持多数据多地址连续输入与输出而言更加灵活。并且在每个块控制单元中的可重构计算阵列块控制器能根据块数据流图配置信息解析出配置包和配置组,配置包对应可重构阵列块中每行的行号用于索引配置组,配置组包含可重构阵列块中所有计算阵列行的启动时间、每个端口读写数据的来源、每个端口读写数据个数、每个端口读写数据间隔、每个端口读写数据地址个数、每个端口读写数据地址间隔、对应可重构阵列数据流图的循环次数。且因为支持数据流图的循环,故可以在一定程度上减少配置存储空间,从而大大增加了可重构系统的控制灵活性,提高可重构系统系能。
本发明的可重构系统控制器结构及其配置方法,以分组密码算法的实现为例,可以使配置时间缩短82%,可重构系统性能提升25%。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本人发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明的一种可重构系统的局部重构控制器示意图。
图2为本发明的一种可重构系统的局部重构控制器的工作流程图。
图3为本发明的一种可重构系统控制结构中的数据流图配置信息的结构示意图。图3(a)为块控制系统中总的数据流图结构示意图;图3(b)为块数据流图中配置组的结构示意图。
图4为本发明的一种可重构系统控制结构的微处理器应用连接图。
具体实施方式
以下结合附图对本发明的缓存结构及管理方法实施例进行说明,应当理解,此处所描述的控制结构及管理方法实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为本发明的一种可重构系统的结构示意图,包括可重构系统配置信息、可重构阵列块、块控制单元和块数据流图配置信息。其中可重构系统配置信息为可重构系统解析器解析片外存储设备中特定算法后得到的关于可重构系统如何运作的详细信息,包括M组块控制单元中数据流图的配置信息和每个块控制单元的索引编号,其中可重构系统解析器并未在图中画出。每个可重构阵列块中包含N(N>=1)行计算阵列行,每行计算阵列行都具有k(k>=1)个端口用于读写数据,每个块控制单元中包含一个计算阵列块控制器用于接收并解析块数据流图配置信息,块数据流图配置信息中包含配置包和配置组信息。配置包和可重构阵列块中每行的行号所对应用于索引配置组,配置组中包含可重构阵列块中每行的具体配置信息。计算阵列块控制器根据配置组信息控制N行计算阵列模块的启动时间、每个端口读写数据的来源、每个端口读写数据个数、每个端口读写数据间隔、每个端口读写数据地址个数、每个端口读写数据地址间隔、对应可重构阵列块数据流图的循环次数。每个可重构阵列块和块控制单元、块数据流图配置信息具有相同的拓扑结构,M个可重构阵列块构成整个可重构系统的计算资源,M个块控制器中的所有可重构计算阵列块控制器共同控制整个可重构计算阵列的数据流向。
图2为本发明的一种可重构系统的局部重构控制器的工作流程图。
第一步,系统上电,重置;
第二步,等待块配置信息就位,就位则进行下一步,否则继续当前步骤;
第三步,等待块控制单元就位,就位则进行下一步,否则继续当前步骤;
第四步,块控制单元接收并解析与之对应的块数据流图配置信息得到配置包和配置组信息;
第五步,等待可重构阵列块就位,就位则进行下一步,否则继续当前步骤;
第六步,可重构阵列块控制器根据配置包和配置组信息,控制可重构阵列块开始运作,完成对计算阵列执行任务的控制,返回第二步。
图3为本发明的一种可重构系统的控制结构中的配置信息的结构示意图,其中图3(a)为块控制系统中总的数据流图结构示意图,包括配置包和配置组;图3(b)为配置组结构示意图;图中标号解释如下:
当前行(第j行,1<=j<=N)数据流图所需循环次数01、可重构阵列块第j行读端口1的数据来源02、可重构阵列块第j行读端口2的数据来源03、可重构阵列块第j行读端口k的数据来源04、可重构阵列块第j行写端口1的数据去向05、可重构阵列块第j行写端口2的数据去向06、可重构阵列块第j行写端口k的数据去向07、可重构阵列块第j行读数据的延时08、可重构阵列块第j行读数据的个数09、可重构阵列块第j行读地址的个数10、可重构阵列块第j行读端口1的地址11、可重构阵列块第j行读端口2的地址12、可重构阵列块第j行读端口k的地址13、可重构阵列块第j行写数据的延时14、可重构阵列块第j行写数据的个数15、可重构阵列块第j行写地址的个数16、可重构阵列块第j行写端口1的地址17、可重构阵列块第j行写端口2的地址18、可重构阵列块第j行写端口k的地址19、保留20;
图4为本发明的一种可重构系统的控制结构应用于SoC芯片的架构示意图。该SoC芯片的结构包括:作为主控处理器的ARM7TDMI、AHB总线、可重构系统、片外存储器。选择具有小型、快速、低能耗、编译器支持好等优点的ARM7TDMI处理器作为主控处理器,用于可重构系统的重置和初始化等操作;可重构系统通过AHB总线主控处理器和片外存储器相连接,作为从设备接收主控处理器的控制信息,作为主设备从片外存储器访问数据;可重构系统重置并初始化配置信息存储器后,配置解析器读取并解析片外设备中所存储的系统配置包,将可重构系统的配置信息解析为多个块数据流图配置信息发送至每个块控制单元,计算阵列块控制器接收并解析块数据流图得到配置包和配置组信息,配置包编号和可重构阵列块中每行的行号所对应,用于所以配置组,配置组中包含可重构阵列块中每行的具体配置信息,可重构阵列块控制器则根据具体的配置信息控制每行的计算。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细说明,对于本领域的技术人员来说,其依然可以对前述各实例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种可重构系统的局部重构控制器,其特征在于,包括:多个可重构计算阵列块控制器和与之配套的块数据流图配置信息;把整个可重构计算阵列、整个可重构计算阵列的控制单元拆分为多个较小的可重构阵列块和块控制单元,其中每个可重构阵列块中包含若干计算阵列行,每个计算阵列行都包含若干个端口用于读写数据,每个块控制单元中包含一个计算阵列块控制器,用于接收并解析与之相对的块数据流图配置信息;所述块数据流图配置信息中包含配置包和配置组,其中配置包用于索引配置组,配置包和可重构阵列块中每行的行号所对应;配置组中包含可重构阵列块中每行具体的配置信息;并且每个块控制单元中增加了多种数据流控制方式,支持多数据多地址间隔输入与输出。
2.根据权利要求1所述的局部重构控制器,其特征在于,所述可重构计算阵列块控制器负责可重构阵列计算资源的控制流配置信息的解析,并根据时序配置信息控制该部分计算资源的启动与结束;多个可重构计算阵列块控制器共同控制整个可重构计算阵列的数据流向。
3.根据权利要求1所述的局部重构控制器,其特征在于,所述的可重构阵列块中每行具体的配置信息包括该块中所有计算阵列行的启动时间、每个端口读写数据的来源、每个端口读写数据个数、每个端口读写数据间隔、每个端口读写数据地址个数、每个端口读写数据地址间隔、对应数据流图的循环次数。
4.根据权利要求1所述的局部重构控制器,其特征在于,可重构系统中每个块控制单元的计算阵列块控制器接收并解析该块所对应的块数据流图配置信息,得到配置包和配置组信息;配置包索引配置组,得到可重构阵列块中每行的具体配置信息;再去控制可重构阵列块中各部分计算资源的启动,根据读数据的来源、读数据的个数、读数据的间隔、读数据的地址、读地址的间隔依次读取数据进入计算阵列进行计算,运算的结果根据写数据的去向、写数据的个数、写数据的间隔、写数据的地址、写地址的间隔依次写出计算阵列;同时根据解析的控制流配置信息决定该部分计算资源所对应的数据流图的循环次数和计算过程的结束。
5.根据权利要求1所述的局部重构控制器,其特征在于,在切换整个可重构系统映射的数据流图的过程中,仅有切换前后数据流图发生变化的可重构阵列块需要更新其配置信息,更新的配置信息需要由对应可重构阵列块控制器解析获得,而对于切换前后数据流图不发生变化的可重构阵列块,则不更新配置信息,其对应的可重构阵列块控制器无需执行配置信息的解析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510346718.0A CN104915213B (zh) | 2015-06-19 | 2015-06-19 | 一种可重构系统的局部重构控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510346718.0A CN104915213B (zh) | 2015-06-19 | 2015-06-19 | 一种可重构系统的局部重构控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104915213A true CN104915213A (zh) | 2015-09-16 |
CN104915213B CN104915213B (zh) | 2018-05-18 |
Family
ID=54084297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510346718.0A Active CN104915213B (zh) | 2015-06-19 | 2015-06-19 | 一种可重构系统的局部重构控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104915213B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105511919A (zh) * | 2015-12-07 | 2016-04-20 | 东南大学 | 一种可重构系统的动态局部重构控制器及其控制方法 |
CN108345563A (zh) * | 2017-07-10 | 2018-07-31 | 清华大学无锡应用技术研究院 | 可重构计算阵列的配置方法和系统 |
CN108363615A (zh) * | 2017-09-18 | 2018-08-03 | 清华大学无锡应用技术研究院 | 用于可重构处理系统的任务分配方法和系统 |
CN109274497A (zh) * | 2018-08-30 | 2019-01-25 | 无锡凯特微电子有限公司 | 一种基于可重构阵列的sm3算法的映射方法 |
CN110398921A (zh) * | 2019-07-24 | 2019-11-01 | 理工雷科电子(西安)有限公司 | 一种基于fpga控制的多任务动态重构处理系统和方法 |
CN115146920A (zh) * | 2022-05-27 | 2022-10-04 | 电子科技大学 | 一种基于控制流和数据依赖的多主体工作流重构方法 |
CN117573607A (zh) * | 2023-11-28 | 2024-02-20 | 北京智芯微电子科技有限公司 | 可重构协处理器、芯片、多核信号处理系统和计算方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1318457A1 (en) * | 2001-12-07 | 2003-06-11 | Hitachi Micro Systems Europe Limited | Bus bridge with a burst transfer mode bus and a single transfer mode bus |
CN102279753A (zh) * | 2011-09-08 | 2011-12-14 | 无锡东集电子有限责任公司 | 可重构系统配置管理的方法及用于可重构系统的配置管理单元 |
CN202183093U (zh) * | 2011-09-08 | 2012-04-04 | 无锡东集电子有限责任公司 | 用于可重构系统的配置管理单元 |
CN102508816A (zh) * | 2011-11-15 | 2012-06-20 | 东南大学 | 一种应用于粗粒度可重构阵列的配置方法 |
US20120185729A1 (en) * | 2011-01-14 | 2012-07-19 | Honeywell International Inc. | Type and range propagation through data-flow models |
CN103034617A (zh) * | 2012-12-13 | 2013-04-10 | 东南大学 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
CN103761072A (zh) * | 2014-02-10 | 2014-04-30 | 东南大学 | 一种粗粒度可重构层次化的阵列寄存器文件结构 |
CN103927270A (zh) * | 2014-02-24 | 2014-07-16 | 东南大学 | 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法 |
CN104615439A (zh) * | 2015-02-13 | 2015-05-13 | 东南大学 | 一种可重构系统的配置控制器 |
-
2015
- 2015-06-19 CN CN201510346718.0A patent/CN104915213B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1318457A1 (en) * | 2001-12-07 | 2003-06-11 | Hitachi Micro Systems Europe Limited | Bus bridge with a burst transfer mode bus and a single transfer mode bus |
US20030200373A1 (en) * | 2001-12-07 | 2003-10-23 | David Kent | Computer system component |
US20120185729A1 (en) * | 2011-01-14 | 2012-07-19 | Honeywell International Inc. | Type and range propagation through data-flow models |
CN102279753A (zh) * | 2011-09-08 | 2011-12-14 | 无锡东集电子有限责任公司 | 可重构系统配置管理的方法及用于可重构系统的配置管理单元 |
CN202183093U (zh) * | 2011-09-08 | 2012-04-04 | 无锡东集电子有限责任公司 | 用于可重构系统的配置管理单元 |
CN102508816A (zh) * | 2011-11-15 | 2012-06-20 | 东南大学 | 一种应用于粗粒度可重构阵列的配置方法 |
CN103034617A (zh) * | 2012-12-13 | 2013-04-10 | 东南大学 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
CN103761072A (zh) * | 2014-02-10 | 2014-04-30 | 东南大学 | 一种粗粒度可重构层次化的阵列寄存器文件结构 |
CN103927270A (zh) * | 2014-02-24 | 2014-07-16 | 东南大学 | 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法 |
CN104615439A (zh) * | 2015-02-13 | 2015-05-13 | 东南大学 | 一种可重构系统的配置控制器 |
Non-Patent Citations (2)
Title |
---|
王新安 等: ""可重构阵列DSP结构ReMAP"", 《深圳大学学报(理工版)》 * |
雍珊珊 等: ""可重构算子阵列的结构和建模"", 《北京大学学报(自然科学版)》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105511919A (zh) * | 2015-12-07 | 2016-04-20 | 东南大学 | 一种可重构系统的动态局部重构控制器及其控制方法 |
CN105511919B (zh) * | 2015-12-07 | 2018-07-20 | 东南大学 | 一种可重构系统的动态局部重构控制器及其控制方法 |
CN108345563A (zh) * | 2017-07-10 | 2018-07-31 | 清华大学无锡应用技术研究院 | 可重构计算阵列的配置方法和系统 |
CN108363615A (zh) * | 2017-09-18 | 2018-08-03 | 清华大学无锡应用技术研究院 | 用于可重构处理系统的任务分配方法和系统 |
CN108363615B (zh) * | 2017-09-18 | 2019-05-14 | 清华大学 | 用于可重构处理系统的任务分配方法和系统 |
US10705878B2 (en) | 2017-09-18 | 2020-07-07 | Wuxi Research Institute Of Applied Technologies Tsinghua University | Task allocating method and system capable of improving computational efficiency of a reconfigurable processing system |
CN109274497A (zh) * | 2018-08-30 | 2019-01-25 | 无锡凯特微电子有限公司 | 一种基于可重构阵列的sm3算法的映射方法 |
CN110398921A (zh) * | 2019-07-24 | 2019-11-01 | 理工雷科电子(西安)有限公司 | 一种基于fpga控制的多任务动态重构处理系统和方法 |
CN115146920A (zh) * | 2022-05-27 | 2022-10-04 | 电子科技大学 | 一种基于控制流和数据依赖的多主体工作流重构方法 |
CN115146920B (zh) * | 2022-05-27 | 2024-04-26 | 电子科技大学 | 一种基于控制流和数据依赖的多主体工作流重构方法 |
CN117573607A (zh) * | 2023-11-28 | 2024-02-20 | 北京智芯微电子科技有限公司 | 可重构协处理器、芯片、多核信号处理系统和计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104915213B (zh) | 2018-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104915213A (zh) | 一种可重构系统的局部重构控制器 | |
US10235398B2 (en) | Processor and data gathering method | |
US8086806B2 (en) | Systems and methods for coalescing memory accesses of parallel threads | |
US20110219207A1 (en) | Reconfigurable processor and reconfigurable processing method | |
CN111630505B (zh) | 深度学习加速器系统及其方法 | |
US8392669B1 (en) | Systems and methods for coalescing memory accesses of parallel threads | |
JP7008983B2 (ja) | テンソルデータにアクセスするための方法および装置 | |
CN103460188A (zh) | 用于基于活跃分析的再具体化以减少寄存器不足并提高并行度的技术 | |
CN102306141B (zh) | 一种描述动态可重构阵列配置信息的方法 | |
CN111433758A (zh) | 可编程运算与控制芯片、设计方法及其装置 | |
US10114795B2 (en) | Processor in non-volatile storage memory | |
CN104317770A (zh) | 用于众核处理系统的数据存储结构及数据访问方法 | |
CN102279818A (zh) | 支持有限共享的向量数据访存控制方法及向量存储器 | |
CN115658323A (zh) | 基于软硬件协同的fpga潮流计算加速架构和方法 | |
US9342564B2 (en) | Distributed processing apparatus and method for processing large data through hardware acceleration | |
CN101021831A (zh) | 面向科学计算的64位流处理器芯片体系结构 | |
CN108628693B (zh) | 处理器调试方法和系统 | |
CN103150157A (zh) | 基于访存分歧的gpu核心程序重组优化方法 | |
WO2021070303A1 (ja) | 演算処理装置 | |
CN103389893A (zh) | 一种配置寄存器读写方法及装置 | |
CN105528319A (zh) | 基于fpga的加速卡及其加速方法 | |
CN102200961B (zh) | 一种动态可重构处理器内子单元的扩展方法 | |
CN111078624B (zh) | 片上网络处理系统和片上网络数据处理方法 | |
CN112906877A (zh) | 用于执行神经网络模型的存储器架构中的数据布局有意识处理 | |
CN111078625B (zh) | 片上网络处理系统和片上网络数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |