CN105511919B - 一种可重构系统的动态局部重构控制器及其控制方法 - Google Patents
一种可重构系统的动态局部重构控制器及其控制方法 Download PDFInfo
- Publication number
- CN105511919B CN105511919B CN201510890096.8A CN201510890096A CN105511919B CN 105511919 B CN105511919 B CN 105511919B CN 201510890096 A CN201510890096 A CN 201510890096A CN 105511919 B CN105511919 B CN 105511919B
- Authority
- CN
- China
- Prior art keywords
- computing array
- reconfigureable computing
- array row
- reconfigureable
- row
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Advance Control (AREA)
Abstract
本发明公开了一种可重构系统的动态局部重构控制器,包括可重构计算阵列行、可重构计算阵列行控制器、可重构计算阵列配置接口、流水线寄存器和流水线控制器。本发明还公开了一种可重构系统的动态局部重构控制器的控制方法。本发明能够减少可重构系统总的配置时间,提高可重构系统的计算性能。
Description
技术领域
本发明涉及嵌入式系统领域,特别是涉及一种可重构系统的动态局部重构控制器及其控制方法,可应用于可重构系统芯片设计中配置信息的动态重构。
背景技术
可重构系统能够在系统运行时通过动态配置改变其功能,同时保持较高计算性能,兼具高性能和高灵活的计算优势,在许多领域得到了广泛应用。面向计算任务日趋复杂的应用需求,可重构系统执行任务所需的配置信息的容量和复杂度日益增加,所需执行的计算任务日趋复杂,可重构系统的配置时间日益增加,影响可重构系统性能。
发明内容
发明目的:本发明的目的是提供一种能够减少可重构系统总的配置时间,提高可重构系统的计算性能的可重构系统的动态局部重构控制器及其控制方法。
技术方案:为达到此目的,本发明采用以下技术方案:
本发明所述的可重构系统的动态局部重构控制器,包括可重构计算阵列行、可重构计算阵列行控制器、可重构计算阵列配置接口、流水线寄存器和流水线控制器;其中:
可重构计算阵列行:作为最小配置单位;
可重构计算阵列行控制器:用于响应可重构计算阵列配置接口对当前可重构计算阵列行的配置完成标志信号位的置位或者复位,响应上一个可重构计算阵列行的流水线寄存器的计算完成标志信号位的置位或者复位,控制可重构计算阵列行的使能,向流水线控制器置位或者复位流水线请求暂停标志信号位,响应流水线控制器发出的流水线暂停标志信号位;
可重构计算阵列配置接口:用于实现对可重构计算阵列行的配置信息的切换,以及向可重构计算阵行控制器进行配置完成标志信号位的置位或者复位;
流水线寄存器:用于实现流水线暂停时对可重构计算阵列行的中间计算结果的保存,以及向可重构计算阵列行控制器进行计算完成标志信号位的置位或者复位;
流水线控制器:用于实现流水线的暂停,响应可重构计算阵列行控制器的流水线请求暂停标志信号位,向可重构计算阵列行控制器进行流水线暂停标志信号位的置位或者复位。
本发明所述的可重构系统的动态局部重构控制器的控制方法,包括如下的步骤:
S1:系统上电,重置;
S2:可重构计算阵列配置接口接收外部配置信息并发送给可重构计算阵列行;
S3:判断当前可重构计算阵列行是否为第一行:如果为第一行,则进行步骤S4;否则,则进行步骤S5;
S4:判断该可重构计算阵列行是否完成了配置信息切换:如果完成了配置信息切换,则使能该可重构计算阵列行并进行计算,计算的同时对下一个可重构计算阵列行进行配置信息切换,进行步骤S5;如果未完成配置信息切换,则继续配置该可重构计算阵列行,完成了配置信息切换后,使能该可重构计算阵列行并进行计算,计算的同时对下一个可重构计算阵列行进行配置信息切换,进行步骤S5;
S5:如果上一个可重构计算阵列行计算完毕但是当前可重构计算阵列行未完成配置信息切换,则流水线暂停,当前可重构计算阵列行继续切换配置信息,直到当前可重构计算阵列行已完成配置信息切换后进行步骤S6;如果当前可重构计算阵列行已完成配置信息切换但是上一个可重构计算阵列行未计算完毕,则上一个可重构计算阵列行继续计算,直到计算完毕后进行步骤S6;
S6:使能当前可重构计算阵列行,判断全部可重构计算阵列行是否计算完成:如果计算完成,则继续进行步骤S7,如果未计算完成,则回到步骤S2;
S7:判断是否需要切换数据流图:如果是,则回到步骤S2;否则,结束。
进一步,所述步骤S4中,当可重构计算阵列行完成了配置信息切换时,可重构计算阵列配置接口向该可重构计算阵列行的可重构计算阵列行控制器置位配置完成标志信号位,使配置完成标志信号位有效。
进一步,所述步骤S5中,当上一个可重构计算阵列行计算完毕时,上一个可重构计算阵列行的流水线寄存器向可重构计算阵列行控制器进行计算完成标志信号位的置位,使计算完成标志信号位有效。
进一步,所述步骤S5中,当前可重构计算阵列行未完成配置信息切换时,当前可重构计算阵列行的可重构计算阵列行控制器向流水线控制器置位流水线请求暂停标志信号位,使流水线请求暂停标志信号位有效,流水线控制器响应并向当前可重构计算阵列行的可重构计算阵列行控制器置位流水线暂停标志信号位,使流水线暂停标志信号位有效,从而使得流水线暂停。
有益效果:
(1)本发明以可重构计算阵列行作为最小配置单位,与以整个可重构计算阵列作为最小配置单位相比,本发明通过可重构计算阵列配置接口分行更新部分可重构计算阵列行的配置信息,而其他可重构计算阵列行的配置信息无需再次更新,从而减少了整个可重构系统所需更新的配置信息量,缩短了整个可重构系统所需的配置时间,提高了可重构系统的性能;
(2)与静态重构需要等到全部可重构计算阵列行完成配置才启动计算相比,本发明只需当前可重构计算阵列行完成了配置信息切换并且上一个可重构计算阵列行完成了计算即启动当前可重构计算阵列行的计算,无需等待其他可重构计算阵列行完成配置信息切换与计算,从而将配置信息切换的时间部分隐藏于整个可重构系统的计算时间内,缩短了配置信息切换引发的流水线暂停时间,提高了可重构系统的性能。
附图说明
图1为本发明的系统框图;
图2为本发明的方法流程图。
具体实施方式
下面结合具体实施方式对本发明的技术方案作进一步的介绍。
本发明公开了一种可重构系统的动态局部重构控制器,如图1所示,包括可重构计算阵列行、可重构计算阵列行控制器、可重构计算阵列配置接口、流水线寄存器和流水线控制器;其中:
可重构计算阵列行:作为最小配置单位;
可重构计算阵列行控制器:用于响应可重构计算阵列配置接口对当前可重构计算阵列行的配置完成标志信号位的置位或者复位,响应上一个可重构计算阵列行的流水线寄存器的计算完成标志信号位的置位或者复位,控制可重构计算阵列行的使能,向流水线控制器置位或者复位流水线请求暂停标志信号位,响应流水线控制器发出的流水线暂停标志信号位;
可重构计算阵列配置接口:用于实现对可重构计算阵列行的配置信息的切换,以及向可重构计算阵行控制器进行配置完成标志信号位的置位或者复位;
流水线寄存器:用于实现流水线暂停时对可重构计算阵列行的中间计算结果的保存,以及向可重构计算阵列行控制器进行计算完成标志信号位的置位或者复位;
流水线控制器:用于实现流水线的暂停,响应可重构计算阵列行控制器的流水线请求暂停标志信号位,向可重构计算阵列行控制器进行流水线暂停标志信号位的置位或者复位。
可重构计算阵列行通过可重构计算阵列配置接口接收外部配置信息,当当前可重构计算阵列行的配置信息切换完成时,可重构计算阵列配置接口向当前可重构计算阵列行的可重构计算阵列行控制器置位配置完成标志信号位,使配置完成标志信号位有效,如果上一个可重构计算阵列行计算完成且流水线没有暂停时,使能当前可重构计算阵列行和流水线寄存器,当前可重构计算阵列行通过流水线读取数据进行计算,在当前可重构计算阵列行进行计算的同时对下一个可重构计算阵列行切换配置信息,如果当前可重构计算阵列行计算完毕后下一个可重构计算阵列行的配置信息未切换完成,那么当前可重构计算阵列行的可重构计算阵列行控制器向流水线控制器置位流水线请求暂停标志信号位,使流水线请求暂停标志信号位有效,流水线控制器响应并向可重构计算阵列行控制器置位流水线暂停标志信号位,使流水线暂停标志信号位有效,流水线暂停,流水线寄存器暂存当前的中间结果,待下一个可重构计算阵列行的配置信息切换完成后,下一个可重构计算阵列行的可重构计算阵列配置接口置位配置完成标志信号位,使配置完成标志信号位有效,下一个可重构计算阵列行的可重构计算阵列行控制器复位流水线请求暂停标志信号位,使流水线请求暂停标志信号位无效,并且复位流水线暂停标志信号位,使流水线暂停标志信号位无效,继续进行计算。
本发明还公开了一种可重构系统的动态局部重构控制器的控制方法,如图2所示,包括如下的步骤:
S1:系统上电,重置;
S2:可重构计算阵列配置接口接收外部配置信息并发送给可重构计算阵列行;
S3:判断当前可重构计算阵列行是否为第一行:如果为第一行,则进行步骤S4;否则,则进行步骤S5;
S4:判断该可重构计算阵列行是否完成了配置信息切换:如果完成了配置信息切换,则使能该可重构计算阵列行并进行计算,计算的同时对下一个可重构计算阵列行进行配置信息切换,进行步骤S5;如果未完成配置信息切换,则继续配置该可重构计算阵列行,完成了配置信息切换后,使能该可重构计算阵列行并进行计算,计算的同时对下一个可重构计算阵列行进行配置信息切换,进行步骤S5;
S5:如果上一个可重构计算阵列行计算完毕但是当前可重构计算阵列行未完成配置信息切换,则流水线暂停,当前可重构计算阵列行继续切换配置信息,直到当前可重构计算阵列行已完成配置信息切换后进行步骤S6;如果当前可重构计算阵列行已完成配置信息切换但是上一个可重构计算阵列行未计算完毕,则上一个可重构计算阵列行继续计算,直到计算完毕后进行步骤S6;
S6:使能当前可重构计算阵列行,判断全部可重构计算阵列行是否计算完成:如果计算完成,则继续进行步骤S7,如果未计算完成,则回到步骤S2;
S7:判断是否需要切换数据流图:如果是,则回到步骤S2;否则,结束。
步骤S4中,当可重构计算阵列行完成了配置信息切换时,可重构计算阵列配置接口向该可重构计算阵列行的可重构计算阵列行控制器置位配置完成标志信号位,使配置完成标志信号位有效。
步骤S5中,当上一个可重构计算阵列行计算完毕时,上一个可重构计算阵列行的流水线寄存器向可重构计算阵列行控制器进行计算完成标志信号位的置位,使计算完成标志信号位有效。
步骤S5中,当前可重构计算阵列行未完成配置信息切换时,当前可重构计算阵列行的可重构计算阵列行控制器向流水线控制器置位流水线请求暂停标志信号位,使流水线请求暂停标志信号位有效,流水线控制器响应并向当前可重构计算阵列行的可重构计算阵列行控制器置位流水线暂停标志信号位,使流水线暂停标志信号位有效,从而使得流水线暂停。
本发明的可重构系统的动态局部重构控制器结构,以分组密码算法DES的实现为例,可以使配置时间缩短60%,可重构系统性能提升17%。
Claims (5)
1.一种可重构系统的动态局部重构控制器,其特征在于:包括可重构计算阵列行、可重构计算阵列行控制器、可重构计算阵列配置接口、流水线寄存器和流水线控制器;其中:
可重构计算阵列行:作为最小配置单位;
可重构计算阵列行控制器:用于响应可重构计算阵列配置接口对当前可重构计算阵列行的配置完成标志信号位的置位或者复位,响应上一个可重构计算阵列行的流水线寄存器的计算完成标志信号位的置位或者复位,控制可重构计算阵列行的使能,向流水线控制器置位或者复位流水线请求暂停标志信号位,响应流水线控制器发出的流水线暂停标志信号位;
可重构计算阵列配置接口:用于实现对可重构计算阵列行的配置信息的切换,以及向可重构计算阵行控制器进行配置完成标志信号位的置位或者复位;
流水线寄存器:用于实现流水线暂停时对可重构计算阵列行的中间计算结果的保存,以及向可重构计算阵列行控制器进行计算完成标志信号位的置位或者复位;
流水线控制器:用于实现流水线的暂停,响应可重构计算阵列行控制器的流水线请求暂停标志信号位,向可重构计算阵列行控制器进行流水线暂停标志信号位的置位或者复位。
2.一种可重构系统的动态局部重构控制器的控制方法,其特征在于:包括如下的步骤:
S1:系统上电,重置;
S2:可重构计算阵列配置接口接收外部配置信息并发送给可重构计算阵列行;
S3:判断当前可重构计算阵列行是否为第一行:如果为第一行,则进行步骤S4;否则,则进行步骤S5;
S4:判断该可重构计算阵列行是否完成了配置信息切换:如果完成了配置信息切换,则使能该可重构计算阵列行并进行计算,计算的同时对下一个可重构计算阵列行进行配置信息切换,进行步骤S5;如果未完成配置信息切换,则继续配置该可重构计算阵列行,完成了配置信息切换后,使能该可重构计算阵列行并进行计算,计算的同时对下一个可重构计算阵列行进行配置信息切换,进行步骤S5;
S5:如果上一个可重构计算阵列行计算完毕但是当前可重构计算阵列行未完成配置信息切换,则流水线暂停,当前可重构计算阵列行继续切换配置信息,直到当前可重构计算阵列行已完成配置信息切换后进行步骤S6;如果当前可重构计算阵列行已完成配置信息切换但是上一个可重构计算阵列行未计算完毕,则上一个可重构计算阵列行继续计算,直到计算完毕后进行步骤S6;
S6:使能当前可重构计算阵列行,判断全部可重构计算阵列行是否计算完成:如果计算完成,则继续进行步骤S7,如果未计算完成,则回到步骤S2;
S7:判断是否需要切换数据流图:如果是,则回到步骤S2;否则,结束。
3.根据权利要求2所述的可重构系统的动态局部重构控制器的控制方法,其特征在于:所述步骤S4中,当可重构计算阵列行完成了配置信息切换时,可重构计算阵列配置接口向该可重构计算阵列行的可重构计算阵列行控制器置位配置完成标志信号位,使配置完成标志信号位有效。
4.根据权利要求2所述的可重构系统的动态局部重构控制器的控制方法,其特征在于:所述步骤S5中,当上一个可重构计算阵列行计算完毕时,上一个可重构计算阵列行的流水线寄存器向可重构计算阵列行控制器进行计算完成标志信号位的置位,使计算完成标志信号位有效。
5.根据权利要求2所述的可重构系统的动态局部重构控制器的控制方法,其特征在于:所述步骤S5中,当前可重构计算阵列行未完成配置信息切换时,当前可重构计算阵列行的可重构计算阵列行控制器向流水线控制器置位流水线请求暂停标志信号位,使流水线请求暂停标志信号位有效,流水线控制器响应并向当前可重构计算阵列行的可重构计算阵列行控制器置位流水线暂停标志信号位,使流水线暂停标志信号位有效,从而使得流水线暂停。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510890096.8A CN105511919B (zh) | 2015-12-07 | 2015-12-07 | 一种可重构系统的动态局部重构控制器及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510890096.8A CN105511919B (zh) | 2015-12-07 | 2015-12-07 | 一种可重构系统的动态局部重构控制器及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105511919A CN105511919A (zh) | 2016-04-20 |
CN105511919B true CN105511919B (zh) | 2018-07-20 |
Family
ID=55719926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510890096.8A Active CN105511919B (zh) | 2015-12-07 | 2015-12-07 | 一种可重构系统的动态局部重构控制器及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105511919B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168708A (zh) * | 2017-05-15 | 2017-09-15 | 东南大学 | 一种可重构系统配置控制器及其流水调度方法 |
CN108628693B (zh) * | 2018-04-17 | 2019-10-25 | 清华大学 | 处理器调试方法和系统 |
CN114355171B (zh) * | 2022-03-15 | 2022-12-23 | 江苏清微智能科技有限公司 | 一种可重构芯片性能瓶颈检测平台、检测方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253921A (zh) * | 2011-06-14 | 2011-11-23 | 清华大学 | 一种动态可重构处理器 |
CN102411555A (zh) * | 2011-08-17 | 2012-04-11 | 清华大学 | 一种可伸缩式动态可重构阵列配置信息方法 |
CN103942181A (zh) * | 2014-03-31 | 2014-07-23 | 清华大学 | 用于生成动态可重构处理器的配置信息的方法、装置 |
CN104915213A (zh) * | 2015-06-19 | 2015-09-16 | 东南大学 | 一种可重构系统的局部重构控制器 |
-
2015
- 2015-12-07 CN CN201510890096.8A patent/CN105511919B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253921A (zh) * | 2011-06-14 | 2011-11-23 | 清华大学 | 一种动态可重构处理器 |
CN102411555A (zh) * | 2011-08-17 | 2012-04-11 | 清华大学 | 一种可伸缩式动态可重构阵列配置信息方法 |
CN103942181A (zh) * | 2014-03-31 | 2014-07-23 | 清华大学 | 用于生成动态可重构处理器的配置信息的方法、装置 |
CN104915213A (zh) * | 2015-06-19 | 2015-09-16 | 东南大学 | 一种可重构系统的局部重构控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN105511919A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102496402B1 (ko) | 사용자-레벨 포크 및 조인 프로세서, 방법, 시스템, 및 명령어 | |
US20180189063A1 (en) | Processors, methods, and systems with a configurable spatial accelerator | |
US20190121837A1 (en) | Apparatus and method for a masked multiply instruction to support neural network pruning operations | |
TWI544409B (zh) | 執行緒暫停處理器、方法、系統與指令 | |
CN105511919B (zh) | 一种可重构系统的动态局部重构控制器及其控制方法 | |
US9996386B2 (en) | Mid-thread pre-emption with software assisted context switch | |
US9378182B2 (en) | Vector move instruction controlled by read and write masks | |
CN106250103A (zh) | 一种卷积神经网络循环卷积计算数据重用的系统 | |
WO2011031361A1 (en) | Method, system and computer-accessible medium for providing a distributed predicate prediction | |
KR102187912B1 (ko) | 인터럽트들의 세트들을 구성하는 장치 및 방법 | |
JP2012003619A (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
JP5776688B2 (ja) | 情報処理装置及びタスク切り替え方法 | |
US10838734B2 (en) | Apparatus and method for processing structure of arrays (SoA) and array of structures (AoS) data | |
US20200097291A1 (en) | Apparatus and method for tile gather and tile scatter | |
US20170177344A1 (en) | Instructions and Logic for Blend and Permute Operation Sequences | |
JP5178346B2 (ja) | 半導体装置、および、半導体装置によるデータ処理方法 | |
EP3367236A1 (en) | Variable wavefront size | |
US20190286971A1 (en) | Reconfigurable prediction engine for general processor counting | |
US20190109590A1 (en) | Structures and operations of integrated circuits having network of configurable switches | |
CN108628693A (zh) | 处理器调试方法和系统 | |
CN111047504B (zh) | 一种基于SystemC的GPU子图像处理的TLM微结构 | |
CA2939834C (en) | Speculative history forwarding in overriding branch predictors, and related circuits, methods, and computer-readable media | |
CN105094750B (zh) | 一种多线程处理器的返回地址预测方法和装置 | |
GB2606315A (en) | Instruction-level context switch in SIMD processor | |
US20160147538A1 (en) | Processor with multiple execution pipelines |
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 |