CN102393814B - 一种由软件方式生成动态可重构处理器配置信息的系统 - Google Patents

一种由软件方式生成动态可重构处理器配置信息的系统 Download PDF

Info

Publication number
CN102393814B
CN102393814B CN201110201224.5A CN201110201224A CN102393814B CN 102393814 B CN102393814 B CN 102393814B CN 201110201224 A CN201110201224 A CN 201110201224A CN 102393814 B CN102393814 B CN 102393814B
Authority
CN
China
Prior art keywords
configuration information
dynamic reconfigurable
reconfigurable processor
processor
generating process
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
Application number
CN201110201224.5A
Other languages
English (en)
Other versions
CN102393814A (zh
Inventor
刘雷波
王延升
朱敏
邹于佳
杨军
曹鹏
时龙兴
尹首一
魏少军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201110201224.5A priority Critical patent/CN102393814B/zh
Publication of CN102393814A publication Critical patent/CN102393814A/zh
Application granted granted Critical
Publication of CN102393814B publication Critical patent/CN102393814B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供一种由软件方式生成动态可重构处理器配置信息的系统,包括主处理器、配置信息生成处理器、动态可重构处理器和系统总线,各部分协调工作从而实现生成动态可重构处理器的配置信息,实现了在动态可重构处理器进行应用处理的功能。

Description

一种由软件方式生成动态可重构处理器配置信息的系统
技术领域
本发明涉及嵌入式系统领域中的动态可重构处理器技术领域,特别是涉及一种由软件方式生成动态可重构处理器配置信息的系统。
背景技术
动态可重构处理器是一种新生的处理器构架,其较之以往的单核处理器、专用芯片、现场可编程逻辑阵列有着显著的优势,是未来电路结构发展的一个方向。
首先,动态可重构处理器内往往含有多个算数逻辑单元,且数量巨大,称之为众核阵列。阵列内部配以灵活度高的路由单元,实现算数逻辑单元之间多样化的互联。因此,经路由单元连接后的众核阵列可实现对数据流的高速处理,较传统的单核以及少核处理器在性能上有着巨大的优势。同时,较固化的专用电路在灵活性上也有着巨大的优势。
其次,较传统的静态可重构电路---现场可编程逻辑阵列而言,动态可重构处理器有动态的特点,即在电路运行过程中可动态的切换电路的功能,而非以往静态可重构电路一沉不变的不改变电路功能,只是在电路运行之前烧写电路功能,对电路进行初始化。这样做的好处在于通过时分复用的方式减少了电路的规模,原因在于之前的电路结构的全映射现在变为分块映射,而块与块之间恰好采取了动态切换的方式。
目前的实际应用中往往需要生成配置信息,而现有技术通常不能满足实际应用的需求,因此,需要本领域技术人员迫切解决的一个技术问题就是:如何能够创新的提出有一种有效措施以克服现有技术存在的缺陷,实现用软件方式生成动态可重构处理器的配置信息,从而实现动态可重构处理器的功能。
发明内容
本发明所要解决的技术问题是提供一种由软件方式生成动态可重构处理器配置信息的系统,有效的实现用软件方式生成动态可重构处理器的配置信息,实现了动态可重构处理器的功能。
为了解决上述问题,本发明公开了一种由软件方式生成动态可重构处理器配置信息的系统,包括:
主处理器、配置信息生成处理器、动态可重构处理器和系统总线,其中,主处理器,用于负责运行应用的控制部分,通过系统总线向配置信息生成处理器发送配置信息生成所需参数,并通过向配置信息生成处理器传递参数,间接实现对动态可重构处理器的控制;
配置信息生成处理器,接收由主处理器发送过来的生成配置信息所需参数,在软件构架下通过计算进行分支选择,在判断出分支后,分支中的软件代码将所述由主处理器发送过来的生成配置信息所需参数组装成动态可重构处理器的配置信息,通过系统总线将生成的动态可重构处理器的配置信息发送到动态可重构处理器中,并通过向动态可重构处理器发送配置信息,直接实现对动态可重构处理器的控制;其中,动态可重构处理器的N个任务对应在软件构架中N个分支,软件在配置信息生成处理器上运行;所述配置信息中包括将执行的任务的编号;
动态可重构处理器,接收从配置信息生成处理器传送过来的配置信息,并根据配置信息配置为所需状态;
系统总线,负责整个系统中处理器间数据传输,包括主处理器通过系统总线向配置信息生成处理器传输数据,配置信息生成处理器通过系统总线向动态可重构处理器传输数据。
优选的,动态可重构处理器的所有任务都编写为对应的软件代码。
优选的,配置信息生成处理器根据由主处理器传递来的参数判断出可重构处理器将要执行哪一个任务,即将主处理器传递来的参数作为分支判断的输入,选择出某一个分支。
与现有技术相比,本发明具有以下优点:
本发明提供一种由软件方式生成动态可重构处理器配置信息的系统,包括主处理器、配置信息生成处理器、动态可重构处理器和系统总线,各部分协调工作从而实现生成动态可重构处理器的配置信息,实现了在动态可重构处理器进行应用处理的功能。
附图说明
图1是本发明具体实施方式中所述的一种典型的动态可重构处理器的示意图;
图2是本发明具体实施方式中所述的一种由软件方式生成动态可重构处理器配置信息的系统的结构示意图;
图3是本发明具体实施方式中所述的一种在上述由软件方式生成动态可重构处理器配置信息的系统的流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
一种典型的动态可重构处理器的结构示意图如图1所示,动态可重构处理器的运转流程可概括为如下步骤:
1.动态可重构处理器由外部数据读入装置将处理器外存储器内待处理的数据读入处理器内,分发至多个子单元处理内的外部数据缓存器。
2.多个子单元将数据从各自的外部数据缓存器读出,再进行处理。多个子单元同时处理,以达并行处理的效果。各子单元处理完后,将结果数据存于各自的内部数据缓存器。
3.外部数据写出装置将结果数据从各子单元的内部数据缓存器读出,并写出到处理器外部存储器。
除上述步骤外,还需说明的是:
1.子单元间的同步机制通过子单元间同步控制器来实现。
2.子单元间的数据交互通过由子单元A向子单元间数据交互暂存器写入数据,子单元B从子单元间数据交互暂存器读出此数据来实现。使用时还需结合子单元间的同步机制,即子单元A向子单元间数据交互暂存器写完数据后,子单元B才可开始读取子单元间数据交互暂存器。
动态可重构处理器可从数据流和配置流的角度去被描述。数据流的角度是指从对数据流的处理的角度出发,遍历数据流所经过的动态可重构处理器内的各模块,提出各模块所需的功能。从数据流的角度出发,动态可重构处理器在结构上可分为以下四个部分:
1.数据转移装置
a)数据转移装置用于将数据从数据存储装置读出,并写入另一数据存储装置,使数据在数据存储装置之间转移。最终实现将数据写入处理单元阵列,处理单元阵列运行完后,将处理单元阵列的结果数据读出。
b)数据转移装置分为6个:外部数据读入装置,子单元间数据交互装置,内外部数据转换装置,内部数据读入装置,内部数据写出装置,外部数据写出装置。按数据流的流动方向,具体说明如下。
c)外部数据读入装置:
i.用于将动态可重构处理器外待处理的数据读入动态可重构处理器内,缓存于外部数据缓存器。
d)子单元间数据交互装置:
i.用于将子单元间数据交换暂存器内存储的其他子单元的结果数据读出,并在一定程度上进行整合,最终将整合后的数据分发至当前子单元的内部数据存储器或直接分发至处理单元阵列,这取决于此外单元的结果数据是否可直接被处理单元阵列处理和此数据是否将多次被处理。
e)内外部数据转换装置:
i.用于将外部数据缓存器内缓存的外部数据分发至内部数据存储器或直接分发至处理单元阵列,这取决于此外部数据是否可直接被处理单元阵列处理和此数据是否将多次被处理。
f)内部数据读入装置
i.用于将内部数据存储器内存储的当前子单元的内部数据,并在一定程度上进行整合,最终将整合后的数据写入到处理单元阵列。
g)内部数据写出装置
i.用于将处理单元阵列的结果数据读出,再写入至处理单元阵列供紧接着运行处理单元阵列时使用,或写入至内部数据存储器将数据缓存起来,或写入子单元间数据交互暂存器供子单元间数据交互使用,或写入内部数据缓存器待输出至处理器外。
h)外部数据写出装置:
i.用于将缓存于内部数据缓存器的子单元的结果数据输出至处理器外。
2.数据存储装置
a)分为4个,具体说明如下。
b)外部数据缓存器:
i.用于将读入的外部数据缓存,待需要时被读出。
c)内部数据存储器
i.用于对处理单元阵列的结果数据进行暂存,待需要时被读出,还供在处理器内部使用。
d)内部数据缓存器
i.用于对处理单元阵列的结果数据进行缓存,待输出至处理器外。
e)子单元间数据交互暂存器
i.用于暂存子单元A的结果数据,待子单元B读出,以实现子单元间的数据交互。
3.运算单元
a)运算单元即处理单元阵列,详见图1。
b)处理单元是一个算术逻辑运算单元,可实现基本的算术运算功能和逻辑运算功能以及一些定制的算术逻辑运算功能。
c)处理单元之间通过路由单元连接,以实现处理单元之间的灵活且快速的数据传递。
d)整个处理单元阵列通过时序控制单元控制,以协调处理单元阵列的输入、运算、输出之间的时序关系。
e)处理单元阵列可实现对大批量数据进行循环操作的快速处理。
4.同步控制装置
a)同步控制装置即子单元间同步控制器。
b)其实现多个子单元(1个至N个,N为子单元个数)均完成其各自的指定任务后多个子单元(此处的多个可与之前的多个不一致)才可执行其各自任务序列中的下一个任务。
c)子单元间同步控制器实现了某综合任务在被划分为多个任务后,分发至多个子单元并行执行,多个子单元并行执行完多个任务后的同步。同步后才可开始下一综合任务的并行化执行。
参照图2,示出了本发明一种由软件方式生成动态可重构处理器配置信息的系统的结构示意图,所述系统包括:
1.主处理器
a)主处理器在软件方式生成动态可重构处理器配置信息的系统中负责运行应用的控制部分;
b)主处理器通过系统总线向配置信息生成处理器发送配置信息生成所需参数;
c)主处理器通过向配置信息生成处理器传递参数,间接实现对动态可重构处理器的控制。
2.配置信息生成处理器
a)配置信息生成处理器接收由主处理器发送过来的生成配置信息所需参数,并处理生成动态可重构处理器的配置信息;
b)配置信息生成处理器通过系统总线将生成的动态可重构处理器的配置信息发送到动态可重构处理器中;
c)配置信息生成处理器通过向动态可重构处理器发送配置信息,直接实现对动态可重构处理器的控制。
3.动态可重构处理器
a)接收从配置信息生成处理器传送过来的配置信息,动态可重构处理器根据配置信息配置为所需状态;
4.系统总线
a)系统总线负责整个系统构架中处理器间数据传输,其中包括主处理器通过系统总线向配置信息生成处理器传输数据,配置信息生成处理器通过系统总线向动态可重构处理器传输数据。
本发明提出了一种由软件方式生成动态可重构处理器配置信息的系统:
1.在由软件方式生成动态可重构处理器配置信息的软件构架中,动态可重构处理器的N个任务对应在软件构架中N个分支,软件在配置信息生成处理器上运行。软件构架将动态可重构处理器的所有任务都编写为对应的软件代码,其代码抽象如下:
Switch(a)
Case1:进行任务1;
Case2:进行任务2;
……
Casen:进行任务n;
2.配置信息生成处理器上的软件根据由主处理器传递来的参数判断出可重构处理器将要执行哪一个任务,即将主处理器传递来的参数作为分支判断的输入,选择出某一个分支。
3.在判断出分支后,分支的软件代码中将主处理器传递来的参数组装成动态可重构处理器的配置信息,并将配置信息传递给动态可重构处理器,其中包括动态可重构处理器将执行的任务的编号。
4.动态可重构处理器所执行的任务的底层配置信息存于可重构处理器内部,动态可重构处理器根据配置信息生成处理器传递来的配置信息(包含将执行任务的编号)索引出将处理的任务的底层配置信息,执行此任务。
本发明提出了一种在上述由软件方式生成动态可重构处理器配置信息的系统的流程示意图参见图3:
1.主处理器向配置信息生成处理器发送动态可重构处理器的配置信息生成参数;
2.配置信息生成处理器根据主处理器传送的配置信息生成参数在软件构架下通过计算进行分支选择;
3.配置信息生成处理器在分支代码中将主处理器传递来的参数组装成动态可重构处理器的配置信息,并通过系统总线传送给动态可重构处理器;
4.动态可重构处理器根据配置信息处理器传递来的配置信息配置动态可重构处理器并执行。
下面以一个动态可重构处理器配置信息生成过程为例,来说明基于本系统构架和软件构架下软件方式生成动态可重构处理器配置信息的流程。
假定本例中代码抽象如下:
Switch(a)
Case1:进行任务1;
Case2:进行任务2;
Case3:进行任务3;
配置信息生成流程如下:
1.主处理器向配置信息生成处理器发送动态可重构处理器的配置信息生成参数;
2.配置信息生成处理器根据主处理器传送的配置信息生成参数在软件构架下通过计算进行分支选择;
3.根据参数计算,配置信息生成处理器选择分支Case3;
4.配置信息生成处理器在分支代码中将主处理器传递来的参数组装成动态可重构处理器的配置信息(包含将执行任务的编号为3),通过系统总线传送给动态可重构处理器;
5.动态可重构处理器根据配置信息生成处理器传递来的配置信息(包含将执行任务的编号为3)索引出将处理的任务的底层配置信息,执行此任务。
以上对本发明所提供的一种由软件方式生成动态可重构处理器配置信息的系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (2)

1.一种由软件方式生成动态可重构处理器配置信息的系统,其特征在于,包括:
主处理器、配置信息生成处理器、动态可重构处理器和系统总线,其中,主处理器,用于负责运行应用的控制部分,通过系统总线向配置信息生成处理器发送配置信息生成所需参数,并通过向配置信息生成处理器传递参数,间接实现对动态可重构处理器的控制;
配置信息生成处理器,接收由主处理器发送过来的生成配置信息所需参数,在软件构架下通过计算进行分支选择,在判断出分支后,分支中的软件代码将所述由主处理器发送过来的生成配置信息所需参数组装成动态可重构处理器的配置信息,通过系统总线将生成的动态可重构处理器的配置信息发送到动态可重构处理器中,并通过向动态可重构处理器发送配置信息,直接实现对动态可重构处理器的控制;其中,动态可重构处理器的N个任务对应在软件构架中N个分支,软件在配置信息生成处理器上运行;所述配置信息中包括将执行的任务的编号;其中,N为大于等于1的整数;
动态可重构处理器,接收从配置信息生成处理器传送过来的配置信息,并根据配置信息配置为所需状态;
系统总线,负责整个系统中处理器间数据传输,包括主处理器通过系统总线向配置信息生成处理器传输数据,配置信息生成处理器通过系统总线向动态可重构处理器传输数据;
其中,配置信息生成处理器根据由主处理器传递来的参数判断出可重构处理器将要执行哪一个任务,即将主处理器传递来的参数作为分支判断的输入,选择出某一个分支。
2.如权利要求1所述的系统,其特征在于:
动态可重构处理器的所有任务都编写为对应的软件代码。
CN201110201224.5A 2011-07-18 2011-07-18 一种由软件方式生成动态可重构处理器配置信息的系统 Active CN102393814B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110201224.5A CN102393814B (zh) 2011-07-18 2011-07-18 一种由软件方式生成动态可重构处理器配置信息的系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110201224.5A CN102393814B (zh) 2011-07-18 2011-07-18 一种由软件方式生成动态可重构处理器配置信息的系统

Publications (2)

Publication Number Publication Date
CN102393814A CN102393814A (zh) 2012-03-28
CN102393814B true CN102393814B (zh) 2016-01-13

Family

ID=45861143

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110201224.5A Active CN102393814B (zh) 2011-07-18 2011-07-18 一种由软件方式生成动态可重构处理器配置信息的系统

Country Status (1)

Country Link
CN (1) CN102393814B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9575778B2 (en) * 2014-05-20 2017-02-21 Via Alliance Semiconductor Co., Ltd. Dynamically configurable system based on cloud-collaborative experimentation
CN107679012A (zh) * 2017-09-27 2018-02-09 清华大学无锡应用技术研究院 用于可重构处理系统的配置的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887165A (en) * 1996-06-21 1999-03-23 Mirage Technologies, Inc. Dynamically reconfigurable hardware system for real-time control of processes
CN101111834A (zh) * 2004-11-30 2008-01-23 东京毅力科创株式会社 动态可重配置处理器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080263323A1 (en) * 2007-04-13 2008-10-23 Mould Nick A Reconfigurable Computing Architectures: Dynamic and Steering Vector Methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887165A (en) * 1996-06-21 1999-03-23 Mirage Technologies, Inc. Dynamically reconfigurable hardware system for real-time control of processes
CN101111834A (zh) * 2004-11-30 2008-01-23 东京毅力科创株式会社 动态可重配置处理器

Also Published As

Publication number Publication date
CN102393814A (zh) 2012-03-28

Similar Documents

Publication Publication Date Title
CN102541809B (zh) 一种动态可重构处理器
CN1434380A (zh) 图像处理装置和方法以及用于该装置的编译程序
CN102306141B (zh) 一种描述动态可重构阵列配置信息的方法
CN1229741C (zh) 借助并行定序器的数字电路实现
CN101625635B (zh) 一种处理循环任务的方法、系统和设备
CN111433758A (zh) 可编程运算与控制芯片、设计方法及其装置
JP2002503839A (ja) プログラマブルハードウェアアーキテクチャを用いた特定用途向け集積回路を生成する方法
JP2013506911A (ja) 多重プロセッサ式のプログラマブルロジックコントローラ及びこれを動作させるための方法
CN100452018C (zh) 数据驱动处理方法和相关数据驱动处理器
JP7008983B2 (ja) テンソルデータにアクセスするための方法および装置
EP3975061A1 (en) Neural network processor, chip and electronic device
CN104111912A (zh) 用于支持处理器的多模式的设备和方法
CN104915213A (zh) 一种可重构系统的局部重构控制器
CN106648758A (zh) 一种多核处理器boot启动系统及方法
CN102393814B (zh) 一种由软件方式生成动态可重构处理器配置信息的系统
CN102236632B (zh) 一种层次化描述动态可重构处理器配置信息的方法
CN102184090B (zh) 一种动态可重构处理器及其固定数的调用方法
CN105095149A (zh) 一种片上系统参数的批处理方法和装置
CN102200961B (zh) 一种动态可重构处理器内子单元的扩展方法
CN109685209B (zh) 一种加快神经网络运算速度的装置和方法
CN102323918B (zh) 一种动态可重构处理单元阵列扩展的方法
CN102446086A (zh) 一种可参量化专用指令集处理器设计平台
CN102207850A (zh) 一种动态可重构处理器中层次化执行配置流的方法
CN102566969B (zh) 一种在sopc系统中提高软硬件交互的方法
US20160162290A1 (en) Processor with Polymorphic Instruction Set Architecture

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