CN103455367A - 用于实现可重构系统中多任务调度的管理单元和方法 - Google Patents
用于实现可重构系统中多任务调度的管理单元和方法 Download PDFInfo
- Publication number
- CN103455367A CN103455367A CN2013103380402A CN201310338040A CN103455367A CN 103455367 A CN103455367 A CN 103455367A CN 2013103380402 A CN2013103380402 A CN 2013103380402A CN 201310338040 A CN201310338040 A CN 201310338040A CN 103455367 A CN103455367 A CN 103455367A
- Authority
- CN
- China
- Prior art keywords
- task
- reconfigurable arrays
- reconfigurable
- module
- arrays
- 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
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种用于实现可重构系统中多任务调度的管理单元和方法,包括任务生成模块、任务解析模块和任务发送接口模块;所述任务生成模块:用于生成可重构阵列的任务,包括配置可重构阵列功能的配置信息、配置数据流的配置信息、相应的目标可重构阵列编号以及任务编号;所述任务解析模块:用于缓存并解析任务中包含的目标可重构阵列编号及任务编号;所述任务发送接口模块:用于传送任务给相应的可重构阵列,当任务解析模块中发现任务的目标可重构阵列相同时,将该任务同时发送给多个可重构阵列。本发明提高复杂的可重构系统动态重构效率。
Description
技术领域
本发明涉及嵌入式可重构设计领域,具体是用于实现可重构系统中多任务调度的管理单元和方法。
背景技术
随着可重构技术的出现,改变了传统的嵌入式设计的方法,可重构计算在嵌入式和高性能的计算领域具有广泛地应用前景,可重构计算架构近些年来在嵌入式系统设计方面获得了越来越广泛的关注,其主要的应用领域包括多媒体处理、移动通信、数字信号处理、数据加解密等。可重构配置控制单元,通过更新可重构硬件上的配置信息,将算法应用中所包含的各个子任务,映射到可重构硬件中的各个计算单元上。
随着媒体应用的性能要求和计算复杂度越来越高,粗粒度可重构架构的计算资源也成倍增加,一些架构使用了多个可重构阵列来完成这些应用。然而,在计算资源增加的同时,重构过程所需的配置信息量也随之进一步增大,导致系统的重构开销进一步增长,严重影响系统的整体性能。为了提高可重构系统的工作性能,可以通过提高可重构硬件的计算性能和重构性能来实现。提高重构性能的需求主要有以下两个方面:其一,随着可重构系统计算性能的提高,可重构系统中所包含的计算单元的规模不断扩大,因此可重构系统中需要被重构的计算单元的数目也越来越多。重构过程所需的配置信息数据量进一步增大,动态重构的时间也随之增加。其二,为了最大化地利用可重构系统中的硬件计算资源,各个计算单元的功能需要频繁地被重构,以在尽可能短的完成不同任务的映射,因此需要尽可能地减少动态重构的时间。
发明内容
发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种用于实现可重构系统中多任务调度的管理单元和方法,提高复杂的可重构系统动态重构效率。
技术方案:为实现上述发明目的,本发明采用的第一种技术方案为一种用于实现可重构系统中多任务调度的管理单元,其特征在于,包括任务生成模块、任务解析模块和任务发送接口模块;
所述任务生成模块:用于生成可重构阵列的任务,包括配置可重构阵列功能的配置信息、配置数据流的配置信息、相应的目标可重构阵列编号以及任务编号;
所述任务解析模块:用于缓存并解析任务中包含的目标可重构阵列编号及任务编号;
所述任务发送接口模块:用于传送任务给相应的可重构阵列,当任务解析模块中发现任务的目标可重构阵列相同时,将该任务同时发送给多个可重构阵列,以提高任务传输的效率,节省任务传输的时间。
进一步的,所述任务解析模块包括多个缓存通道、可重构阵列编号判断单元和多任务调度单元;
所述缓存通道:采用FIFO结构,个数等于可重构阵列的个数,用于缓存一段时间内每个可重构阵列的任务编号、可重构阵列功能的配置信息和配置数据流的配置信息;
所述可重构阵列编号判断单元:用于判断任务生成模块传送的任务属于哪个可重构阵列,并且把任务装入相应的缓存通道;
所述多任务调度单元:用于判断相邻N个任务之间对于不同可重构阵列是否存在相同任务编号,如果存在相同任务编号,需要等待最后一个任务的到来,并将任务传送给任务发送接口模块,如果不存在相同编号,则不需要等待,依次传输任务给任务发送接口模块。
进一步的,所述多任务调度单元包括任务编号解析模块、任务判别模块和任务输出模块;
所述任务编号解析模块:用于解析缓存通道里的每个可重构阵列的任务编号;
所述任务判别模块:用于判别相邻N个任务范围内,多个可重构阵列的任务编号是否相同;
所述任务输出模块:若在相邻的N个任务范围内,没有发现不同的可重构阵列有相同的任务编号,则按照次序输出相应任务给任务发送接口模块;若在相邻的N个任务范围内,不同的可重构阵列找到了相同的任务编号,则将该任务传输给任务发送接口模块。
本发明采用的第二种技术方案为一种利用上所述的用于实现可重构系统中多任务调度的管理单元的方法,采用混合调度方式,针对不同可重构阵列的任务编号选择是否需要等待共享一套任务;判断的方法根据两个时间的大小来判断,从而得到一个数值用于限定判断的任务范围N:节省的任务传输时间T1,可重构阵列等待任务浪费的时间T2;所述节省的任务传输时间T1:同时传送的可重构阵列的个数减一后,乘以任务传输到可重构阵列所花费的时间,即为所节省的时间;所述可重构阵列等待任务浪费的时间T2:当相邻N个可重构阵列的任务相同时,一个或者几个可重构阵列需要等待最后一个任务的到来,这样需要浪费一部分时间T2;从T1大于T2,得到判断的任务范围为N;从任务生成模块传输给任务解析模块的任务中,在相邻的N个任务范围内,对于不同的可重构阵列有相同的任务时,选择等待,并一起一次传输给相应的可重构阵列,否则依次传输任务。
有益效果:本发明的技术方案通过提供一种用于实现可重构系统中多任务调度的管理单元和管理方法,实现任务传输时间的复用,节省任务传输时间,提高任务的存取效率,从而提高了复杂的可重构系统的动态重构效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为实现可重构系统中多任务调度的管理单元的结构示意图;
图2为实现可重构系统中多任务调度的管理单元中任务解析模块的结构示意图;
图3为本发明实施例所述的用于可重构系统中多任务调度的管理单元的流程图;
图4为本发明实施例所述的用于可重构系统中多任务调度的管理单元的微处理器应用连接图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
在粗粒度可重构系统的设计中,可重构阵列的多任务调度是其中的一项关键技术,决定了系统动态重构的效率。通过多任务的调度,实现任务传输时间的复用,从而节省任务传输时间,提高任务的存取效率,而任务中就包含配置可重构阵列需要的配置信息和配置数据流需要的配置信息,这样可以有效地使用配置信息缓存、提高配置信息的存取效率,从而提升了可重构系统重构性能以及工作性能。
如图1所示,用于实现可重构系统中多任务调度的管理单元,包括任务生成模块:用于生成可重构阵列的任务,包括配置可重构阵列功能的配置信息、配置数据流的配置信息、相应的目标可重构阵列编号以及任务编号;任务解析模块:用于缓存并解析任务中的包含的目标可重构阵列编号及任务编号;任务发送接口模块:用于传送任务给相应的可重构阵列,当任务解析模块中发现任务的目标可重构阵列相同时,将某一任务同时发送给多个可重构阵列,以提高了任务传输的效率,节省任务传输的时间。其中,任务解析模块,如图2所示,包括缓存通道:采用FIFO(First Input First Output,先入先出队列)结构,个数等于可重构阵列的个数,用于缓存一段时间内每个可重构阵列的任务编号,可重构阵列功能的配置信息和配置数据流的配置信息;可重构阵列编号判断单元:用于判断任务生成单元传送的任务属于哪个目标可重构阵列,并且把任务装入相应的FIFO;多任务调度单元:用于判断相邻N个任务之间对于不同可重构阵列是否存在相同任务编号,来决定是否需要等待,并同时传送任务给多个可重构阵列;
如图3所示,可重构系统中多任务调度的管理单元的工作流程,包括任务生成:生成可重构阵列的任务,包括配置可重构阵列功能的配置信息、配置数据流的配置信息、相应的目标可重构阵列编号以及任务编号;索引任务中包含的可重构阵列编号:解析生成的任务,从中获得该任务对应的目标可重构阵列;存放任务到对应的FIFO中:将完成索引可重构阵列编号的任务存放到每个可重构阵列对应的FIFO中;判断相邻的N个任务范围内是否有相同的任务编号的任务:在N个任务范围内,对所有FIFO中的任务进行解析,判断它们的任务编号是否有相同的,如果在N个任务范围内有相同的,则等待多个可重构阵列的任务,一起一次发送给多个响应的可重构阵列;否则一次发送可重构阵列的任务。任务通过任务发送接口模块发送给响应的可重构阵列,完成对其功能的重构。采用上述混合调度的方式,改变了传统的可重构系统中任务传输的方式,从而提高了复杂的可重构系统的任务传输效率。
如图4所示,H.264协议的高清数字视频解码(H.264 1080p30fpsHiPLevel4)采用了本发明所提出的一种用于实现可重构系统中多任务调度的管理单元,能够实现H.264 1080p30fps HiPLevel4的高清视频解码要求。该系统的结构包括:用作主控器的ARM9E-S处理器、多任务调度管理模块、可重构阵列RCA、AHB总线、DDR2 SDRAM。选择具有小型、快速、低能耗、编译器支持好等优点的ARM9E-S处理器作为主控CPU,用于控制系统运行的调度;多任务调度管理模块通过32bit的AHB总线与外部存储器相连接,外部存储器选用最常用的嵌入式外部存储器DDR2 SDRAM,支持64bit的数据访问位宽,具有良好的性价比以及能耗比;RCA共有16个,每个RCA均含有8×8个PE。多任务调度管理模块缓存通道包含16个FIFO单元,每个FIFO单元中目标可重构阵列编号的宽度为4bit,取值范围为0~15,依次标识RCA0~RCA15。每个FIFO单元中包含的任务编号宽度为为14bit,大小为1KByte。多任务调度单元模块与RCA之间的配置信息传输接口的位宽为512bit。
作为对比实验,设置了一个对比验证系统,与上述验证系统的区别在于没有多任务调度管理单元,任务的传输都采用依次传输的方式。实验结果表明,采用本发明提出的用于实现可重构系统中多任务调度的管理单元,任务传输的时钟周期数减少30%以上。
其中可重构阵列(ReConfigurable Array)简称RCA;运算单元(ProcessingElement)简称PE;缓存通道(缓存FIFO)。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种用于实现可重构系统中多任务调度的管理单元,其特征在于,包括任务生成模块、任务解析模块和任务发送接口模块;
所述任务生成模块:用于生成可重构阵列的任务,包括配置可重构阵列功能的配置信息、配置数据流的配置信息、相应的目标可重构阵列编号以及任务编号;
所述任务解析模块:用于缓存并解析任务中包含的目标可重构阵列编号及任务编号;
所述任务发送接口模块:用于传送任务给相应的可重构阵列,当任务解析模块中发现任务的目标可重构阵列相同时,将该任务同时发送给多个可重构阵列。
2.根据权利要求1所述用于实现可重构系统中多任务调度的管理单元,其特征在于,所述任务解析模块包括多个缓存通道、可重构阵列编号判断单元和多任务调度单元;
所述缓存通道:采用FIFO结构,个数等于可重构阵列的个数,用于缓存一段时间内每个可重构阵列的任务编号、可重构阵列功能的配置信息和配置数据流的配置信息;
所述可重构阵列编号判断单元:用于判断任务生成模块传送的任务属于哪个可重构阵列,并且把任务装入相应的缓存通道;
所述多任务调度单元:用于判断相邻N个任务之间对于不同可重构阵列是否存在相同任务编号,如果存在相同任务编号,需要等待最后一个任务的到来,并将任务传送给任务发送接口模块,如果不存在相同编号,则不需要等待,依次传输任务给任务发送接口模块。
3.根据权利要求2所述用于实现可重构系统中多任务调度的管理单元,其特征在于,所述多任务调度单元包括任务编号解析模块、任务判别模块和任务输出模块;
所述任务编号解析模块:用于解析缓存通道里的每个可重构阵列的任务编号;
所述任务判别模块:用于判别相邻N个任务范围内,多个可重构阵列的任务编号是否相同;
所述任务输出模块:若在相邻的N个任务范围内,没有发现不同的可重构阵列有相同的任务编号,则按照次序输出相应任务给任务发送接口模块;若在相邻的N个任务范围内,不同的可重构阵列找到了相同的任务编号,则将该任务传输给任务发送接口模块。
4.一种利用权利要求1所述的用于实现可重构系统中多任务调度的管理单元的方法,其特征在于,采用混合调度方式,针对不同可重构阵列的任务编号选择是否需要等待共享一套任务;判断的方法根据两个时间的大小来判断,从而得到一个数值用于限定判断的任务范围N:节省的任务传输时间T1,可重构阵列等待任务浪费的时间T2;所述节省的任务传输时间T1:同时传送的可重构阵列的个数减一后,乘以任务传输到可重构阵列所花费的时间,即为所节省的时间;所述可重构阵列等待任务浪费的时间T2:当相邻N个可重构阵列的任务相同时,一个或者几个可重构阵列需要等待最后一个任务的到来,这样需要浪费一部分时间T2;从T1大于T2,得到判断的任务范围为N;从任务生成模块传输给任务解析模块的任务中,在相邻的N个任务范围内,对于不同的可重构阵列有相同的任务时,选择等待,并一起一次传输给相应的可重构阵列,否则依次传输任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310338040.2A CN103455367B (zh) | 2013-08-05 | 2013-08-05 | 用于实现可重构系统中多任务调度的管理单元和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310338040.2A CN103455367B (zh) | 2013-08-05 | 2013-08-05 | 用于实现可重构系统中多任务调度的管理单元和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103455367A true CN103455367A (zh) | 2013-12-18 |
CN103455367B CN103455367B (zh) | 2016-11-16 |
Family
ID=49737774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310338040.2A Active CN103455367B (zh) | 2013-08-05 | 2013-08-05 | 用于实现可重构系统中多任务调度的管理单元和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103455367B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008006A (zh) * | 2014-05-19 | 2014-08-27 | 江苏科技大学 | 基于虚拟分区的可重构系统的任务调度方法 |
CN103927270B (zh) * | 2014-02-24 | 2017-02-08 | 东南大学 | 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法 |
CN108363615A (zh) * | 2017-09-18 | 2018-08-03 | 清华大学无锡应用技术研究院 | 用于可重构处理系统的任务分配方法和系统 |
CN112596865A (zh) * | 2020-12-22 | 2021-04-02 | 航天信息股份有限公司企业服务分公司 | 基于工作流事务推送待办消息的系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451447B1 (en) * | 1998-08-07 | 2008-11-11 | Arc International Ip, Inc. | Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls |
US20090320025A1 (en) * | 2003-08-01 | 2009-12-24 | Idx Investment Corporation | Enterprise task manager |
CN102279753A (zh) * | 2011-09-08 | 2011-12-14 | 无锡东集电子有限责任公司 | 可重构系统配置管理的方法及用于可重构系统的配置管理单元 |
CN102968390A (zh) * | 2012-12-13 | 2013-03-13 | 东南大学 | 基于预先解码分析的配置信息缓存管理方法及系统 |
CN103034617A (zh) * | 2012-12-13 | 2013-04-10 | 东南大学 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
-
2013
- 2013-08-05 CN CN201310338040.2A patent/CN103455367B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451447B1 (en) * | 1998-08-07 | 2008-11-11 | Arc International Ip, Inc. | Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls |
US20090320025A1 (en) * | 2003-08-01 | 2009-12-24 | Idx Investment Corporation | Enterprise task manager |
CN102279753A (zh) * | 2011-09-08 | 2011-12-14 | 无锡东集电子有限责任公司 | 可重构系统配置管理的方法及用于可重构系统的配置管理单元 |
CN102968390A (zh) * | 2012-12-13 | 2013-03-13 | 东南大学 | 基于预先解码分析的配置信息缓存管理方法及系统 |
CN103034617A (zh) * | 2012-12-13 | 2013-04-10 | 东南大学 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927270B (zh) * | 2014-02-24 | 2017-02-08 | 东南大学 | 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法 |
CN104008006A (zh) * | 2014-05-19 | 2014-08-27 | 江苏科技大学 | 基于虚拟分区的可重构系统的任务调度方法 |
CN104008006B (zh) * | 2014-05-19 | 2017-04-05 | 江苏科技大学 | 基于虚拟分区的可重构系统的任务调度方法 |
CN108363615A (zh) * | 2017-09-18 | 2018-08-03 | 清华大学无锡应用技术研究院 | 用于可重构处理系统的任务分配方法和系统 |
CN112596865A (zh) * | 2020-12-22 | 2021-04-02 | 航天信息股份有限公司企业服务分公司 | 基于工作流事务推送待办消息的系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103455367B (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102968390B (zh) | 基于预先解码分析的配置信息缓存管理方法及系统 | |
CN110704360B (zh) | 一种基于异构fpga数据流的图计算优化方法 | |
CN101236601B (zh) | 图像识别加速装置及具有图像识别加速装置的微处理器芯片 | |
CN102279753B (zh) | 可重构系统配置管理的方法及用于可重构系统的配置管理单元 | |
CN104915322A (zh) | 一种卷积神经网络硬件加速方法及其axi总线ip核 | |
CN103927270B (zh) | 一种面向多个粗粒度动态可重构阵列的共享数据缓存装置及控制方法 | |
CN102279818B (zh) | 支持有限共享的向量数据访存控制方法及向量存储器 | |
CN105335331A (zh) | 一种基于大规模粗粒度可重构处理器的sha256实现方法及系统 | |
CN104933008A (zh) | 可重构系统和可重构阵列结构及其应用 | |
CN111860807B (zh) | 分形计算装置、方法、集成电路及板卡 | |
CN103455367A (zh) | 用于实现可重构系统中多任务调度的管理单元和方法 | |
US10659396B2 (en) | Joining data within a reconfigurable fabric | |
Biookaghazadeh et al. | Toward multi-fpga acceleration of the neural networks | |
US20180212894A1 (en) | Fork transfer of data between multiple agents within a reconfigurable fabric | |
CN111079908B (zh) | 片上网络数据处理方法、存储介质、计算机设备和装置 | |
CN107562549A (zh) | 基于片上总线和共享内存的异构众核asip架构 | |
CN103514140A (zh) | 用于实现可重构系统中配置信息多发射的重构控制器 | |
Zhang et al. | EPA: The effective pipeline architecture for CNN accelerator with high performance and computing efficiency based on FPGA | |
CN202183093U (zh) | 用于可重构系统的配置管理单元 | |
CN107678781B (zh) | 处理器以及用于在处理器上执行指令的方法 | |
CN111078286B (zh) | 数据通信方法、计算系统和存储介质 | |
CN202995712U (zh) | 基于预先解码分析的配置信息缓存管理系统 | |
CN102129495B (zh) | 一种降低可重构算子阵列结构功耗的方法 | |
CN111078625B (zh) | 片上网络处理系统和片上网络数据处理方法 | |
Yun et al. | Grande: Efficient near-data processing architecture for graph neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |