CN1975704B - 可重构处理器或装置 - Google Patents
可重构处理器或装置 Download PDFInfo
- Publication number
- CN1975704B CN1975704B CN200610142901XA CN200610142901A CN1975704B CN 1975704 B CN1975704 B CN 1975704B CN 200610142901X A CN200610142901X A CN 200610142901XA CN 200610142901 A CN200610142901 A CN 200610142901A CN 1975704 B CN1975704 B CN 1975704B
- Authority
- CN
- China
- Prior art keywords
- data
- reconfigurable
- output
- input
- logic
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Stored Programmes (AREA)
Abstract
本发明所要解决的技术问题是实现现有的可重构处理器或装置不能实现的、可以进行没有所输入的数据损失且没有数据运算处理性能的劣化的逻辑变更的可重构处理器或装置。通过本申请的仅将输入的数据中运算所需的数据分配给可重构运算单元的方式、和在输入运算不需要的数据时利用在可重构运算单元中发生的无运算时间来变更可重构的运算单元的装载逻辑的方式,来实现所述处理器或装置。
Description
技术领域
本发明涉及可重构处理器和可重构装置。
背景技术
近年来,要求处理器不仅有高速运算总是实时地输入的数据的性能,还有可容易变更装载逻辑的高通用性。
例如,网络安全领域中使用的处理器要求有高速运算总是实时输入的通信数据的性能,并且,要求可频繁更新对通信数据的异常进行检测的算法和模式文件的通用性。
另外,视频处理领域中使用的处理器也需要有高速运算总是实时输入的图像数据的性能,并且,需要组合多个编码/解码、降频变换、著作权信息添加、分割、合成、格式转换等处理来对视频数据进行各种处理的通用性。
但是,存在在装载了专用电路的ASIC中不能得到可容易变更装载逻辑的高通用性的问题。另一方面,存在在通用处理器中不能得到实时数据的高速运算性能的问题。
因此,作为同时实现上述两个性能的处理器,开发了称作可重构处理器(Reconfigurable Processor:RP)的处理器,并且引人关注。大致进行分类,开发了AND-OR方式、查找表(Look UpTable:LUT)方式、运算器方式这三种方式。
AND-OR方式是使用AND-OR逻辑阵列来作为逻辑元素的方式。由于逻辑单位小,所以逻辑的高密度化成为可能(参考专利文献1)。
LUT方式是使用由同步随机访问存储器(SRAM)构成的LUT来作为逻辑元素的方式。通过在LUT预先记录每个输入信号的值来实现高度的随机逻辑(参考专利文献2)。
运算器方式是使用已预先指定了运算、重定时、存储器等功能的运算器来作为逻辑元素的方式。称作动态可重构处理器(DRP)。可以通过一个时钟来变更装载逻辑,具有高通用性(参考专利文献3)。
本处理器包括可重构电路,该可重构电路由具有运算、重定时、存储器等功能的逻辑元素和可在各逻辑元素之间自由连接的总线构成,根据逻辑元素间的连接来流水线(pipe line)式地进行数据处理。进一步,本可重构电路的装载逻辑通过变更逻辑元素之间的连接来自由重新构成。由此,本处理器具有高速处理性能,并且实现了高通用性。
但是,本处理器由于流水线式地进行数据运算,所以在进行可重构电路的装载逻辑的更新时,破坏了在电路内部流过的数据,存在输入数据丢失的问题。
因此,提出了不丢失输入数据地变更可重构电路的装载逻辑的方式。提出了通过用开关来切换当前用和备用的两个可重构电路来实现没有数据损失的装载逻辑的变更方式、和在输入缓存器上存储输入数据并在可重构电路内没有数据的时刻进行装载逻辑的变更的方式等(参考非专利文献1)。
【专利文献1】US4609986
【专利文献2】US4642487
【专利文献3】WO02/095946
【非专利文献1】甲斐英则、山田博希、“パケツト転送処理における無瞬断リコンフイギユレ一シヨン法の検討”、電子情報通信学会ソサイエテイ大会、B-6-150、2003年9月
近年来,网络安全领域和视频处理领域中使用的处理器不仅要求有高速运算总是实时输入的数据的性能,还要求可容易变更装载逻辑的高通用性。
但是,存在在装载了专用电路的ASIC中不能得到可容易变更装载逻辑的高通用性的问题。另一方面,存在在通用处理器中不能得到实时数据的高速运算性能的问题。
因此,开发了不仅具有输入数据的高速处理性能,还具有可容易变更装载逻辑的高通用性的可重构处理器(RP)。
但是,本处理器由于流水线式地进行数据处理,所以在进行装载逻辑的变更时,需要停止数据的输入,等待在内部流过的数据全部被处理及输出。因此,存在在停止数据的输入的期间不能进行处理并且输入数据丢失的问题。
因此,提出了不丢失输入数据地变更可重构电路的装载逻辑的方式。提出了通过用开关来切换当前用和备用的两个可重构电路来实现没有数据损失的装载逻辑的变更的方式、和在输入缓存器上存储输入数据并在可重构电路内没有数据的时刻进行装载逻辑的变更的方式等。
但是,这两个方式分别有如下这样的问题。
在通过开关来切换当前用和备用的两个可重构电路来实现没有数据损失的装载逻辑的变更的方式中,所需要的可重构电路为两倍。因此,有安装成本高的问题。
在用输入缓存器来存储输入数据并在可重构电路内没有数据的时刻进行装载逻辑的变更的方式中,由于在将输入数据存储到缓存器的期间,数据的输入和运算处理停止,所以存在进行装载逻辑的变更时的数据处理性能劣化的问题。
发明内容
因此,本申请的目的是提供一种可重构处理器和装置,用于解决上述问题,实现没有输入数据的损失且没有数据运算处理性能的劣化的逻辑变更。
本申请的可重构处理器或装置为了解决上述问题,具有以下装置。
本处理器或装置具有下述装置,即,具有可安装任意逻辑的一个或多个可重构运算单元,并且包括:
逻辑变更判断部,将输入到可重构处理器中的输入数据的格式长度与预先指定的值相比较,在超过的情况下或在一定期间没有数据输入的情况下,允许逻辑变更;
输入数据分割部,分割来自逻辑变更判断部的数据,来生成多个分割数据,并将该多个分割数据的一部分输出到所述可重构电路之一,将该多个分割数据的另一部分输出到重定时输出缓存器,将该多个分割数据的剩余部分输出到重定时选择缓存器;
一个或多个重定时选择缓存器,暂时存储输入到处理数据选择部的数据,并使定时一致地输出;
处理数据选择部,从来自所述重定时选择缓存器的数据和所述可重构电路的输出数据中,选择或结合一个或多个数据,输出其他可重构电路用的处理数据和除此之外的数据;
一个或多个重定时输出缓存器,暂时存储所述其他可重构电路所输出的数据、来自所述处理数据选择部的数据和所述多个分割数据的另一部分,并使定时一致地输出;
输出数据结合部,将从重定时输出缓存器中使定时一致地读出的数据结合,输出到处理器外部;以及
一个或多个配置控制部和对应每个所述控制部的一个或多个配置缓存器,所述配置控制部可将所述配置缓存器内预先存储的配置信息所指定的逻辑,安装在所述可重构电路上;
在从所述数据输入到处理器开始到输出到处理器外部为止的时间中的、所述可重构电路中不进行运算处理的时间中,变更在可重构电路上装载的逻辑。
进一步,在本处理器或装置中,可串联或并联地自由设置所述可重构运算单元之间的连接。
除上述之外的本申请要解决的问题、其解决手段可在本申请的“具体实施方式”栏和附图中明确。
实现了现有的可重构处理器或装置不能实现的可进行没有输入数据的损失且没有数据运算处理性能的劣化的逻辑变更的可重构处理器或装置。
所述处理器或装置通过本申请的仅将输入的数据中运算所需的数据分配给可重构运算单元的方式、和在输入运算不需要的数据时利用在可重构运算单元中发生的无运算时间来变更可重构运算单元的装载逻辑的方式来实现。
附图说明
图1是具有n个可重构电路的可重构处理器的框图;
图2是具有n个可重构处理器的可重构装置的框图;
图3是表示运算器型可重构电路的例子的框图;
图4是表示AND-OR/LUT型可重构电路的例子的框图;
图5是表示多CPU型可重构电路的例子的框图;
图6是表示具有2个可重构电路的可重构处理器的框图;
图7是表示具有2个可重构处理器的可重构装置的框图;
图8是装载了对异常流防御功能的可重构处理器的框图;
图9是装载了对异常流防御功能的可重构装置的框图;
图10是具有进行对异常流防御处理的可重构处理器装载部的对异常流防御装置的框图;
图11是具有进行对异常流防御处理的可重构处理器装载部和数据包传送部的通信装置的框图;
图12是具有进行对异常流防御处理的可重构处理器装载部、数据包传送部和开关部的通信装置的框图;
图13是在每个数据包传送部上具有进行对异常流防御处理的可重构处理器装载部、并具有开关部的通信装置的框图。
具体实施方式
【实施例1】
使用图1、3~5来说明本发明的详细动作。
图1表示本发明的可重构处理器100的框图。可重构处理器100具有:逻辑变更判断部139,对所输入的数据138的格式长度和预先指定的值进行比较,并对数据的无输入时间和预先指定的值进行比较;输入数据分割部110,分割与输入的数据138相同的数据140,并输出分割数据;逻辑的可重构电路130-i(i=1~n),可安装任意逻辑;处理数据选择部111-i(i=2~n),进行处理中的多个数据的选择和合成,并输出新的数据;重定时选择缓存器190-i-j(i=1~n-1,j=1~n)、191-i(i=1~n-1),对输入数据分割部110输出的分割数据141-1-i(i=1~n)、或处理数据选择部111-i输出的选择数据141-i-j(i=2~n,j=1~n)或可重构电路130-i输出的运算结果数据144-i(i=1~n-1)提供预先指定的延迟,并输出到处理数据选择部111-i;输出数据结合部112,进行处理完成后的数据的合成,并将最终数据151输出到处理器外部;重定时输出缓存器123-i(i=1~n)、122、124,使输入数据分割部110输出的分割数据152、或处理数据选择部n 111-n输出的选择数据141-n-j(j=1~n)、或可重构电路130-n输出的运算结果数据144-n的定时一致,并输出到输出数据结合部;配置控制部113-i(i=1~n),改写各可重构电路130-i的装载逻辑;和配置缓存器121-i-k(i=1~n,k=1~m),用于存储指定装载逻辑的配置信息。
图3~图5表示可重构电路的框图的例子。图3表示运算器型可重构电路300的例子,图4表示AND-OR/LUT型可重构电路400的例子,图5表示多CPU型可重构电路500的例子。
下面,进行图1、3~5的详细说明。
图1的可重构处理器100接收从处理器外部持续流入的数据138,在处理器内部进行各种处理,并将处理结果作为最终数据151输出到处理器外部。
逻辑变更判断部139接收从处理器外部以一定格式输入的数据138,并判断格式长度是否比预先指定的值大。在大的情况下,发送允许变更可重构电路的装载逻辑的指令179。或在数据的未输入时间超过了预定的期间时,发送允许变更可重构电路的装载逻辑的指令179。另外,输入的数据138在产生了预先指定的延迟后,作为数据140输出。
输入数据分割部110进行所输入的数据140的分割。分割后的数据有向可重构电路1 130-1输出的分割数据142-1、向处理数据选择部111-2输出的分割数据141-1-i(i=1~n)和向输出数据结合部112输出的分割数据152三种。分割定时通过预设的比特模式来指定,分割的范围由预设的比特范围和时钟范围来指定。例如,在实时数据140以每一个时钟35比特输入到可重构处理器100的情况下,分割的定时指定为从输入数据高位33~35比特的比特模式为“101”起数第7个时钟等,分割的范围指定为输入数据低位1~32比特三个时钟等。
可重构电路i 130-i(i=1~n)根据预先装载的逻辑来进行从电路外部输入的数据142-i(i=1~n)的处理,并将处理结果作为运算结果数据144-i(i=1~n)输出到电路外部。电路内部如图3~5所示,为通过多条总线来连接多个功能块的结构。
图3的运算器型可重构电路300具有运算器型的功能块。各功能块具有:EXE块311~315,具有8、16、32比特等比较大的比特输入输出,进行预先指定的四则运算等;CNT块321~325,具有计数功能;RAM块331~335,进行数据存储;DLE块341~345,使输入数据延迟指定时钟并输出;和IOB块351~355等,进行与电路外部的数据输入输出。各功能块的输出和输入可通过交叉型开关361~365、371~375来自由连接。
图4的AND-OR/LUT型可重构电路400具有AND-OR/LUT型的功能块。各功能块除了CLB块411~415、421~425、431~435、441~445之外,由进行与电路外部的数据输入输出的IOB块451~455等构成,所述CLB块411~415、421~425、431~435、441~445具有1、2、4比特等比较小的比特输入输出,并根据输入比特模式来输出预先指定的比特模式。各功能块的输入和输出可通过十字型开关461~465、471~475来自由连接。
图5的多CPU型可重构电路500具有CPU型的功能块。各功能块具有:CPU块511~515、521~525、531~535,具有8、16、32比特等比较大的比特输入输出,根据预先指定的指令来进行各种运算处理;RAM块531~535,进行数据存储;和IOB块551~555等,进行与电路外部的数据输入输出。各功能块的输出和输入可通过交叉型开关561~565、571~575来自由连接。
处理数据选择部i 111-i(i=2~n)在重定时选择缓存器中使定时一致地读入的多个数据154-i-j(i=1~n-1,j=1~n)、155-i(i=1~n-1)中,选择预先设置的一个或多个数据,并在基于预先设置的比特模式的定时,结合所选择的多个数据中的预先设置的比特范围和时钟范围,向处理器外部输出选择数据。输出的选择数据有向可重构电路i 130-i(i=1~n)输出的选择数据142-i(i=2~n)和除此之外输出的选择数据141-i-j(i=2~n,j=1~n)两种。另外,输入数据155-i作为选择数据141-i-j来原样输出。
重定时选择缓存器190-i-j(i=1~n-1,j=1~n)存储来自输入数据分割部110的分割数据141-1-j(j=1~n)或来自处理数据选择部i 111-i(i=2~n-1)的选择数据141-i-j(i=2~n-1,j=1~n)。重定时选择缓存器191-i(i=1~n-1)存储来自可重构电路i 130-i(i=1~n-1)的运算结果数据144-i(i=1~n-1)。所存储的数据通过处理数据选择部i 111-i(i=2~n)使定时一致后读出。
输出数据结合部112在从重定时输出缓存器使定时一致读入的多个数据153、145-i(i=1~n)、150中,选择预先设置的一个或多个数据,并在基于预先设置的比特模式的定时,结合所选择的多个数据中预先设置的比特范围和时钟范围,将最终数据151输出到处理器外部。
重定时输出缓存器122存储来自输入数据分割部110的分割数据152。输出缓存器124存储来自可重构电路n 130-n的运算结果数据144-n。重定时输出缓存器123-i(i=1~n)存储来自处理数据选择部n 111-n的选择数据141-n-j(j=1~n)。所存储的数据通过输出数据结合部112使定时一致后读出。
配置控制部113-i(i=1~n)在从处理器外部的通信部101接收到由可重构电路号和配置信息号构成的配置变更指令181-i(i=1~n)时,从各配置控制部113-I所具有的配置缓存器121-i-j(i=1~n,j=1~m)读出与配置变更指令181-i(i=1~n)内的配置信息号一致的配置信息161-i-j(i=1~n,j=1~m),并将配置信息161-i-j所指定的装载逻辑的改写指令162i-j(i=1~n,j=1~m)送到与可重构电路号一致的可重构电路i 130-i(i=1~n)。可重构电路i 130-i根据改写指令162i-j来改写装载逻辑。
另外,有时配置变更指令181-i(i=1~n)包含可写入时钟数。这时,配置控制部113-i(i=1~n)在接收了允许变更逻辑变更判断部139的装载逻辑的指令179开始,经过所述可写入时钟数后,输出装载逻辑的改写指令162-i-j。
可重构处理器100将从处理器外部的通信部101接收的分割定时和分割范围的信息180设置在输入数据分割部110,并将从处理器外部的通信部101接收的选择数据、结合定时和结合范围的信息184设置在输出数据结合部112,将从处理器外部的通信部101接收的选择数据、结合定时和结合范围的信息182-i(i=2~n)设置在处理数据选择部111-i(i=2~n),将从处理器外部的通信部101接收的指定格式长度和数据无输入持续时间的信息179设置在逻辑变更判断部139。
另外,可重构处理器100将从处理器外部的通信部101接收的配置信息160-i(i=1~n)存储在配置缓存器121-i-j上。
可重构处理器100内部的可重构电路i 130-i所内置的存储器132-i(i=1~n)从处理器外部的通信部101直接进行读写。读出时,从通信部101将由地址号构成的读出指令186-i(i=1~n)发送到存储器,并从存储器132-i返回读出数据186-i。写入时,从通信部101将由地址号和写入数据构成的写入指令186-i发送到存储器中。
另外,根据从终端102向通信部101的指令185,来进行通信部101和可重构处理器100之间的信息交换。
可重构处理器100由于具有以上记载的可重构电路i 130-i(i=1~n)、输入数据分割部110、重定时输出缓存器112、和输出数据结合部112,从而仅将输入的数据中的运算所需的数据分配给可重构电路,通过在输入了运算不需要的数据时不分配数据,而利用在可重构电路上产生的无运算时间,来实现变更可重构电路的装载逻辑的装置。由此,实现了现有的可重构处理器或装置所不能实现的、可以没有所输入的数据损失并且没有数据运算处理性能的劣化地进行逻辑变更的可重构处理器。
进一步,可重构处理器100由于具有处理数据选择部i 111-i、重定时选择缓存器190-i-j、191-i,所以可串联或并联地设置多个可重构电路之间的连接。
进一步,可重构处理器100通过具有如上记载的配置控制部113-i(i=1~n)和配置缓存器121-i-j(i=1~n,j=1~m),可将在配置缓存器内预先存储的配置信息所指定的逻辑安装在各可重构电路上。
进一步,可重构处理器100通过具有如上记载的存储器132-i(i=1~n),可以从处理器外部直接读写处理器内部的存储器。
【实施例2】
使用图2来说明本发明的详细动作。
图2表示本发明的可重构装置200的框图。可重构装置200具有:逻辑变更判断部239,比较所输入的数据238的格式长度和预先指定的值,以及比较数据的无输入时间和预先指定的值;输入数据分割部210,分割与所输入的数据238相同的数据240,并输出分割数据;可重构处理器230-i(i=1~n),可安装任意的逻辑;处理数据选择部211-i(i=2~n),进行处理中的多个数据的选择和合成,并输出新的数据;重定时选择缓存器290-i-j(i=1~n-1,j=1~n)、291-i(i=1~n-1),对输入数据分割部210输出的分割数据241-1-i(i=1~n)、或处理数据选择部211-i输出的选择数据241-i-j(i=2~n,j=1~n)、或可重构处理器230-i输出的运算结果数据244-i(i=1~n-1)提供预先指定的延迟,并输出到处理数据选择部211-i;输出数据结合部212,进行处理完成后的数据的合成,并将最终数据251输出到装置外部;重定时输出缓存器223-i(i=1~n)、222、224,使输入数据分割部210输出的分割数据252、或处理数据选择部n 211-n输出的选择数据241-n-j(j=1~n)、或可重构处理器230-n输出的运算结果数据244-n的定时一致,并输出到输出数据结合部;配置控制部213-i(i=1~n),改写各可重构处理器230-i的装载逻辑;和配置缓存器221-i-k(i=1~n,k=1~m),用于存储指定装载逻辑的配置信息。
下面,进行图2的详细说明。
图2的可重构处装置200接收从装置外部持续流入的数据238,在装置内部进行各种处理,并将处理结果作为最终数据251输出到装置外部。
逻辑变更判断部239从装置外部接收以一定格式输入的数据238,并判断格式长度是否比预先指定的值大。在大的情况下,发送允许变更可重构处理器的装载逻辑的指令279。或在数据的未输入时间超过了预定的期间时,发送允许变更可重构电路的装载逻辑的指令279。另外,所输入的数据238在产生了预先指定的延迟后,作为数据240输出。
输入数据分割部210进行所输入的数据240的分割。分割后的数据有向可重构处理器1 230-1输出的分割数据242-1、向处理数据选择部211-2输出的分割数据241-1-i(i=1~n)和向输出数据结合部212输出的分割数据252三种。分割定时通过预先设置的比特模式来指定,分割的范围通过预先设置的比特范围和时钟范围指定。例如,在实时数据240以每一个时钟35比特输入到可重构装置200的情况下,分割的定时指定为从输入数据高位33~35比特的比特模式为“101”起数第7个时钟等,分割的范围指定为输入数据低位1~32比特三个时钟等。
可重构处理器i 230-i(i=1~n)根据预先装载的逻辑来进行从处理器外部输入的数据242-i(i=1~n)的处理,并将处理结果作为运算结果数据244-i(i=1~n)输出到处理器外部。
处理数据选择部i 211-i(i=2~n)在从重定时选择缓存器使定时一致地读入的多个数据254-i-j(i=1~n,j=1~n)、255-i(i=1~n-1)中,选择预先设置的一个或多个数据,并在基于预先设置的比特模式的定时,结合所选择的多个数据中的预先设置的比特范围和时钟范围,来向装置外部输出选择数据。所输出的选择数据有向可重构处理器i 230-i(i=2~n)输出的选择数据242-i(i=2~n)、和除此之外输出的选择数据241-i-j(i=2~n,j=1~n)两种。另外,输入数据255-i作为选择数据241-(i+1)-i来原样输出。
重定时选择缓存器290-i-j(i=1~n-1,j=1~n)存储来自输入数据分割部210的分割数据241-1-j(j=1~n)或来自处理数据选择部i 211-i(i=2~n-1)的选择数据241-i-j(i=2~n-1,j=1~n)。重定时选择缓存器291-i(i=1~n-1)存储来自可重构处理器i 230-i(i=1~n-1)的运算结果数据244-i(i=1~n-1)。所存储的数据通过处理数据选择部i 211-i(i=2~n)使定时一致后读出。
输出数据结合部212在从重定时输出缓存器使定时一致地读入的多个数据253、245-i(i=1~n)、250中,选择预先设置的一个或多个数据,并在基于预先设置的比特模式的定时,结合所选择的多个数据中的预先设置的比特范围和时钟范围,并将最终数据251输出到装置外部。
重定时输出缓存器222存储来自输入数据分割部210的分割数据252。输出缓存器224存储来自可重构处理器n 230-n的运算结果数据244-n。重定时输出缓存器223-i(i=1~n)存储来自处理数据选择部n 211-n的选择数据241-n-j(j=1~n)。所存储的数据通过输出数据结合部212使定时一致后读出。
配置控制部213-i(i=1~n)在从装置外部的通信部201接收到由可重构处理器号和配置信息号构成的配置变更指令281-i(i=1~n)时,从各配置控制部213-I所具有的配置缓存器221-i-j(i=1~n,j=1~m)读出与配置变更指令281-i(i=1~n)内的配置信息号一致的配置信息261-i-j(i=1~n,j=1~m),并将配置信息261-i-j所指定的装载逻辑的改写指令262i-j(i=1~n,j=1~m)送到与可重构处理器号一致的可重构处理器i 230-i(i=1~n)。可重构处理器i 230-i根据改写指令262i-j来改写装载逻辑。
另外,有时配置变更指令281-i(i=1~n)包含可写入时钟数。这时,配置控制部213-i(i=1~n)在接收了允许变更逻辑变更判断部239的装载逻辑的指令279开始经过所述可写入时钟数后,输出装载逻辑的改写指令262-i-j。
可重构装置200将从装置外部的通信部201接收的分割定时和分割范围的信息280设置在输入数据分割部210上,并将从装置外部的通信部201接收的选择数据、结合定时和结合范围的信息284设置在输出数据结合部212,将从装置外部的通信部201接收的选择数据、结合定时和结合范围的信息282-i(i=2~n)设置在处理数据选择部211-i(i=2~n)上,将从装置外部的通信部201接收的指定格式长度和数据无输入持续时间的信息279设置在逻辑变更判断部239上。
另外,可重构装置200将从装置外部的通信部201接收的配置信息260-i(i=1~n)存储在配置缓存器221-i-j上。
可重构装置200内部的可重构处理器i 230-i所内置的存储器232-i(i=1~n)从装置外部的通信部201直接进行读写。读出时,从通信部201将由地址号构成的读出指令286-i(i=1~n)发送到存储器,并从存储器232-i返回读出数据286-i。写入时,从通信部201将由地址号和写入数据构成的写入指令286-i发送到存储器中。
另外,根据从终端202向通信部201的指令285,来进行通信部201和可重构装置200之间的信息交换。
可重构装置200通过具有以上记载的可重构处理器i 230-i(i=1~n)、输入数据分割部210、重定时输出缓存器212、输出数据结合部212,从而仅将输入的数据中的运算所需的数据分配给可重构处理器,在输入了运算不需要的数据时不分配数据,从而利用在可重构处理器产生的无运算时间,来实现变更可重构处理器的装载逻辑的装置。由此,实现了现有的可重构装置或装置不能实现的、可以没有所输入的数据损失并且没有数据运算处理性能的劣化地进行逻辑变更的可重构装置。
进一步,由于可重构装置200具有处理数据选择部i 211-i、重定时选择缓存器290-i-j、291-i,所以可串联或并联设置多个可重构处理器之间的连接。
进一步,可重构装置200通过具有如上记载的配置控制部213-i(i=1~n)和配置缓存器221-i-j(i=1~n,j=1~m),可将在配置缓存器内预先存储的配置信息所指定的逻辑安装在各可重构处理器上。
进一步,可重构装置200通过具有如上记载的存储器232-i(i=1~n),可以从装置外部直接读写装置内部的存储器。
【实施例3】
使用图6和图8来说明本发明的详细动作。
图6表示在图1的可重构处理器100中,n=2时的可重构处理器600的框图。图6的6XX所表示的块与图1的1XX所表示的块具有相同的功能(XX是任意的两位正整数)。
图8表示将图6的可重构处理器600在网络中用作对异常流防御用可重构处理器800的情况下的框图。在第一可重构电路1830-1上装载有按每个数据包来判断异常的种类的异常流判断电路834,在内部存储器832-1中装载有流统计表835。在第二可重构处理器2 830-2上装载有根据异常的种类的判断结果来按每个数据包进行通过还是丢弃的判断的异常流排除电路836,在内部存储器832-2中装载有会话表837。
下面,进行图6和图8的详细说明。
图6的可重构处理器600在输入数据分割部610中进行所输入的数据640的分割。在输入数据分割部610设置为输出向可重构电路1630-1的分割数据642-1和向处理数据选择部611-2的分割数据641-1-i(i=1,2),处理数据选择部611-2设置为将输入数据654-1-i(i=1,2)作为选择数据642-2输出,将输入数据655-1作为选择数据641-2-i(i=1,2)输出的情况下,并联设置两个可重构电路之间的连接。另一方面,在输入数据分割部610设置为仅输出向可重构电路1 630-1的分割数据642-1,处理数据选择部611设置为将输入数据655-1作为选择数据642-2输出的情况下,串联设置两个可重构电路之间的连接。
图8的对异常流防御用可重构处理器800是在图6的可重构处理器600上装载了对异常流防止功能的处理器。另外,所谓对异常流防御功能是指分析在通信网络中流过的数据包,检测作为通信故障的原因的P2P(Peer to Peer:对等计算)等过载通信和Worm、DoS(Denial of Service:拒绝服务)、DDoS(Distributed Denial ofService:分布式阻断服务)等以对PC(Personal Computer:个人计算机)、路由器或服务器等的攻击为目的的非法通信等的各种异常通信,来加以排除的功能。
逻辑变更判断部839在用于网络的情况下,判断数据包长度来作为格式长度。读取所接收的数据包内部的IP头字段内的数据包长度,并与预先设置的数据包长度相比较。例如,在预先指定的数据包长度是1000字节的情况下,在数据包长度1000字节以上的数据包到来时,输出允许变更可重构处理器的装载逻辑的指令879。
输入数据分割部810在接收到在网络中流过的数据包数据来作为数据840时,将数据包数据的一部分作为分割数据842-1,并向第一可重构电路1 830-1输出。另外,将数据包数据的一部分作为分割数据841-1-1,并向处理数据选择部811-2输出,将所有数据包数据作为分割数据852,输出到输出数据结合部812中。
向第一个可重构电路1 830-1输出的分割数据842-1例如包括在数据包内部的IP头或TCP/UDP头等中记载的发送源IP地址、目的地IP地址、发送源端口号、目的地端口号、TCP标志号、协议号、数据包长等信息。另一方面,向处理数据选择部811-2输出的分割数据841-1-1包括在数据包内部的IP头或TCP/UDP头等中记载的发送源IP地址、目的地IP地址、发送源端口号、目的地端口号、TCP标记号、协议号、数据包长度、序号、ACK号等信息。
第一可重构电路1 830-1所装载的异常流判断电路834分析从输入数据分割部810输出的数据包数据的一部分,并将分析结果作为流统计信息,存储在存储器832-1内部构筑的流统计表835中。流统计表835中存储的流统计信息包括发送源IP地址、目的地IP地址、发送源端口号、目的地端口号、TCP标记号等流定义和与流定义一致的数据包的累积数等。
异常流判断电路834基于在流统计表835中存储的流统计信息,判断接收的数据包是异常还是正常。进一步,在判断为异常的情况下,判断异常的种类。正常/异常的判断结果和异常种类的判断结果作为运算结果数据844-1向处理数据选择部811-2输出。
处理数据选择部811-2将所接收的数据包数据的一部分和正常/异常的判断结果和异常种类的判断结果作为选择数据842-2向第二可重构电路2 830-2输出。
第二可重构电路2 830-2所装载的异常流排除电路836根据从处理数据选择部811-2输出的正常/异常的判断结果和异常种类的判断结果,分析从处理数据选择部811-2输出的数据包数据的一部分,并将分析结果作为会话信息,存储在存储器832-2内部构筑的会话表837中。会话表837中存储的会话信息包括发送源IP地址、目的地IP地址、发送源端口号、目的地端口号等流定义和与流定义一致的数据包的累积数、有无连接请求数据包、有无响应请求数据包、有无响应数据包等。
异常流排除电路836基于在会话表837中存储的会话信息,来判断使接收的所有数据包数据通过或丢弃。将通过/丢弃的判断结果作为运算结果数据844-2输出。
输出数据结合部812中,仅在是通过的判断结果时所接收的运算结果数据844-2为所期待的比特排列时,输出从输入数据分割部810接收的所有数据包数据。由此,在判断为丢弃的情况,不进行数据包数据的输出。
对异常流防御用可重构处理器800通过具有装载如上所述的异常流判断电路834的可重构电路1 830-1和装载异常流排除电路836的可重构电路2 830-2来实现。可重构电路1 830-1所装载的异常流判断电路834和可重构电路2 830-2所装载的异常流排除电路836可使运算所需的数据最小化而分别接收。因此,例如,在从1500字节长度数据包的接收开始到终止的时间为150个时钟,异常流判断电路所需的数据(1500字节中20字节)的接收开始到终止的时间为2个时钟,输入数据后到输出判断结果的电路通过时间为100个时钟时,在重新构成电路1上产生了48个时钟的无运算时间。利用这种在长数据包输入时产生的无运算时间,来更新在重新构成电路1上装载的算法,可以实现吞吐量没有劣化的无中断算法更新。
【实施例4】
使用图7和图9来说明本发明的详细动作。
图7表示在图2的可重构装置200中,n=2的情况下的可重构装置700的框图。图7的7XX所表示的块与图2的2XX所表示的块具有相同的功能(XX是任意的两位正整数)。
图9表示将图7的可重构处理器700作为对异常流防御用可重构装置900的情况下的框图。在第一可重构电路1 930-1上装载有按每个数据包来判断异常的种类的异常流判断电路934,在内部存储器932-1中装载有流统计表935。在第二可重构处理器2 930-2上装载有根据异常的种类的判断结果来按每个数据包进行通过还是丢弃的判断的异常流排除电路936,在内部存储器932-2中装载有会话表937。
下面,进行图7和图9的详细说明。
图7的可重构装置700在输入数据分割部710中进行所输入的数据740的分割。在输入数据分割部710设置为输出向可重构处理器1730-1的分割数据742-1和向处理数据选择部711-2的分割数据741-1-i(i=1,2),处理数据选择部711-2设置为将输入数据754-1-i(i=1,2)作为选择数据742-2输出,将输入数据755-1作为选择数据741-2-i(i=1,2)输出的情况下,并联设置两个可重构处理器之间的连接。另一方面,在输入数据分割部710设置为仅输出向可重构处理器1 730-1的分割数据742-1,处理数据选择部711-2设置为将输入数据755-1作为选择数据742-2输出的情况下,串联设置两个可重构处理器之间的连接。
图9的对异常流防御用可重构装置900是在图7的可重构装置700中装载了对异常流防止功能的装置。
逻辑变更判断部939在用于网络的情况下,判断数据包长度来作为格式长度。读取所接收的数据包内部的IP头字段内的数据包长度,并与预先设置的数据包长度相比较。例如,在预先指定的数据包长度是1000字节的情况下,在数据包长度为1000字节以上的数据包到来时,输出允许变更可重构处理器的装载逻辑的指令979。
输入数据分割部910在接收到在网络中流过的数据包数据来作为数据940时,将数据包数据的一部分作为分割数据942-1,并向第一可重构处理器1 930-1输出。另外,将数据包数据的一部分作为分割数据941-1-1,并向处理数据选择部911-2输出,将所有数据包数据作为分割数据952,输出到输出数据结合部912中。
向第一个可重构处理器1 930-1输出的分割数据942-1例如包括在数据包内部的IP头或TCP/UDP头等中记载的发送源IP地址、目的地ID地址、发送源端口号、目的地端口号、TCP标志号、协议号、数据包长等信息。另一方面,向处理数据选择部911-2输出的分割数据941-1-1包括在数据包内部的IP头或TCP/UDP头等中记载的发送源IP地址、目的地IP地址、发送源端口号、目的地端口号、TCP标记号、协议号、数据包长度、序号、ACK号等信息。
第一可重构处理器1 930-1所装载的异常流判断电路934分析从输入数据分割部910输出的数据包数据的一部分,并将分析结果作为流统计信息,存储在存储器932-1内部构筑的流统计表935中。流统计表935中存储的流统计信息包括发送源IP地址、目的地IP地址、发送源端口号、目的地端口号、TCP标记号等流定义和与流定义一致的数据包的累积数等。
异常流判断电路934基于在流统计表935中存储的流统计信息,判断接收的数据包是异常还是正常。进一步,在判断为异常的情况下,判断异常的种类。正常/异常的判断结果和异常种类的判断结果作为运算结果数据944-1向处理数据选择部911-2输出。
处理数据选择部911-2将所接收的数据包数据的一部分和正常/异常的判断结果和异常种类的判断结果作为选择数据942-2向第二可重构处理器2930-2输出。
第二可重构处理器2 930-2所装载的异常流排除电路936根据从处理数据选择部911-2输出的正常/异常的判断结果和异常种类的判断结果,分析从处理数据选择部911-2输出的数据包数据的一部分,并将分析结果作为会话信息,存储在存储器932-2内部构筑的会话表937中。会话表937中存储的会话信息包括发送源IP地址、目的地IP地址、发送源端口号、目的地端口号等流定义和与流定义一致的数据包的累积数、有无连接请求数据包、有无响应请求数据包、有无响应数据包等。
异常流排除电路936基于在会话表937中存储的会话信息,判断使接收的所有数据包数据通过或丢弃。将通过/丢弃的判断结果作为运算结果数据944-2输出。
输出数据结合部912中,仅在为通过的判断结果时所接收的运算结果数据944-2为所期待的比特排列时,输出从输入数据分割部910接收的所有数据包数据。由此,在判断为丢弃的情况,不进行数据包数据的输出。
对异常流防御用可重构装置900通过具有装载如上所述的异常流判断电路934的可重构处理器1 930-1和装载异常流排除电路836的可重构处理器2 930-2来实现。可重构处理器1 930-1所装载的异常流判断电路934和可重构处理器2 930-2所装载的异常流排除电路936可使运算所需的数据最小化而分别接收。因此,例如,在从1500字节长度数据包的接收开始到终止的时间为150个时钟,异常流判断电路所需的数据(1500字节中20字节)的接收开始到终止的时间为2个时钟,输入数据后到输出判断结果的电路通过时间为100时钟时,在重新构成电路1上产生了48个时钟的无运算时间。通过这种在长数据包输入时产生的无运算时间来更新在重新构成电路1上装载的算法,可以实现吞吐量没有劣化的无中断算法更新。
【实施例5】
图10~图13是表示将内部包含本发明的对异常流防御用可重构处理器800或对异常流防御用可重构装置900的可重构处理器装载部用于通信用途的情况下的例子。
图10表示在可重构处理器装载部1020内部包含对异常流防御用可重构处理器800或对异常流防御用可重构装置900、并且具有两个通信数据输入输出部1010、1011的对异常流防御装置1000的框图。
图11表示在可重构处理器装载部1120内部包含对异常流防御用可重构处理器800或对异常流防御用可重构装置900、并且具有数据包传送部1130、通信数据输入输出部1132-k(k=1~m)的对异常流防御装置1100的框图。
图12表示在可重构处理器装载部1240内部包含对异常流防御用可重构处理器800或对异常流防御用可重构装置900、并且具有包含本可重构处理器装载部1240的对异常流防御部1220、开关部1210、数据包传送部1230-i(i=1~n)、通信数据输入输出部1232-i-k(i=1~n,k=1~m)的通信装置1200的框图。
图13表示在可重构处理器装载部1340-i(i=1~n)内部包含对异常流防御用可重构处理器800或对异常流防御用可重构装置900、并且具有包含本可重构处理器装载部1340-i的对异常流防御部1320-i(i=1~n)、开关部1310、数据包传送部1330-i(i=1~n)、通信数据输入输出部1332-i-k(i=1~n,k=1~m)的通信装置1300的框图。
下面,详细说明图10~13。
图10的对异常流防御装置1000具有两个通信数据输入输出部1010、1011。从各通信数据输入输出部1010、1011输入的数据包数据在可重构处理器装载部1020中进行对异常流防御处理,并从另一个通信数据输入输出部1010、1011输出已处理的数据包数据。
图11的通信装置1100具有一个或多个通信数据输入输出部1132-k(k=1~m)。从各通信数据输入输出部1132-k输入的数据包数据在对异常流防御部1120内部的可重构处理器装载部1140中进行对异常流防御处理,将已处理的数据包数据通过通信数据内部输入输出部1121-k(k=1~m)输出到数据包传送部1130中。数据包传送部1130根据所接收的数据包数据的目的地IP地址、或目的地MAC地址、或目的地MPLS标签号、或目的地VLAN号,向所决定的通信数据内部输入输出部1121-k发送所接收的数据包数据。对异常流防御部1120将经通信数据内部输入输出部1121-k接收的数据包输出到通信数据输出部1132-k。
图12的通信装置1200在每个数据包传送部1230-i(i=1~n)上具有通信数据输入输出部1232-i-k(i=1~n,k=1~m)。从各通信数据输入输出部1232-i-k向数据包传送部1230-i输入的数据包数据根据数据包数据的目的地IP地址、或目的地MAC地址、或目的地MPLS标签号、或目的地VLAN号,输出到输入端的数据包传送部1230-i所具有的通信数据输入输出部1232-i-k中,或经通信部数据内部输入输出部1231-i(i=1~n)和开关部1210,输出到其他数据包传送部1230-i或对异常流防御部1220中。输出到对异常流防御部1220的数据包在对异常流防御部1220内部的可重构处理器装载部1240中进行对异常流防御处理,已处理的数据包数据根据数据包数据的目的地IP地址、或目的地MAC地址、或MPLS标签号、或目的地VLAN号,经通信数据内部输入输出部1221和开关部1210,输出到其他的数据包传送部1230-i中。数据包传送部1230-i将所接收的数据包数据输出到根据从开关部1210接收的数据包数据的目的地IP地址、或目的地MAC地址、或目的地MPLS标签号、或目的地VLAN号所决定的通信数据输入输出部1232-i-k中。
图13的通信装置1300按照每个对异常流防御部1320-i(i=1~n)具有通信数据输入输出部1332-i-k(i=1~n,k=1~m)。从通信数据输入输出部1332-i-k输入的数据包数据在对异常流防御部1320-i内部的可重构处理器装载部1340-i中进行对异常流防御处理。已处理的数据包数据通过通信数据内部输入输出部1331-i-k(i=1~n,k=1~m)输出到数据包传送部1330-i(i=1~n)。输出到数据包传送部1330-i的数据包数据根据数据包数据的目的地IP地址、或目的地MAC地址、目的地MPLS标签号、或目的地VLAN号,输出到与输入目的地的数据包传送部1330-i相连的通信数据内部输入输出部1321-i-k,或经通信数据内部输入输出部1331-i(i=1~n)和开关部1310,输出到其他数据包传送部1330-i。数据包传送部1330-i将所接收的数据包数据发送到根据从开关部1310接收的数据包数据的目的地IP地址、或目的地MAC地址或目的地MPLS标签号、或目的地VLAN号所决定的通信数据内部输入输出部1321-i-k。对异常流防御部1320-i将经过通信数据内部输入输出部1321-i-k接收的数据包输出到通信数据输入输出部1332-i-k中。
Claims (8)
1.一种可重构处理器,具有可安装任意逻辑的一个或多个可重构电路,其特征在于,包括:
逻辑变更判断部,将输入到可重构处理器中的输入数据的格式长度与预先指定的值相比较,在超过的情况下或在一定期间没有数据输入的情况下,允许逻辑变更;
输入数据分割部,分割来自逻辑变更判断部的数据,来生成多个分割数据,并将该多个分割数据的一部分输出到所述可重构电路之一,将该多个分割数据的另一部分输出到重定时输出缓存器,将该多个分割数据的剩余部分输出到重定时选择缓存器;
一个或多个重定时选择缓存器,暂时存储输入到处理数据选择部的数据,并使定时一致地输出;
处理数据选择部,从来自所述重定时选择缓存器的数据和所述可重构电路的输出数据中,选择或结合一个或多个数据,输出其他可重构电路用的处理数据和除此之外的数据;
一个或多个重定时输出缓存器,暂时存储所述其他可重构电路所输出的数据、来自所述处理数据选择部的数据和所述多个分割数据的另一部分,并使定时一致地输出;
输出数据结合部,将从重定时输出缓存器中使定时一致地读出的数据结合,输出到处理器外部;以及
一个或多个配置控制部和对应每个所述控制部的一个或多个配置缓存器,所述配置控制部可将所述配置缓存器内预先存储的配置信息所指定的逻辑,安装在所述可重构电路上;
在从所述数据输入到处理器开始到输出到处理器外部为止的时间中的、所述可重构电路中不进行运算处理的时间中,变更在可重构电路上装载的逻辑。
2.根据权利要求1所述的可重构处理器,其特征在于,
可串联或并联地自由设置所述可重构电路之间的连接。
3.根据权利要求1所述的可重构处理器,其特征在于,
所述可重构电路具有可从所述处理器外部直接读写的存储器。
4.根据权利要求1所述的可重构处理器,其特征在于,
所述一个或多个可重构电路安装有
第一逻辑,该第一逻辑将在网络线路上流过的数据包的一部分或全部作为输入数据输入,按每个数据包判断异常的种类,并输出异常种类判断结果;以及
第二逻辑,该第二逻辑将数据包的一部分或全部和所述异常种类判断结果作为输入数据输入,按每个数据包判断是通过还是丢弃,并输出通过/丢弃判断结果。
5.一种可重构装置,具有可安装任意逻辑的一个或多个可重构处理器,其特征在于,包括:
逻辑变更判断部,将输入到可重构装置中的输入数据的格式长度与预先指定的值相比较,在超过的情况下或在一定期间没有数据输入的情况下,允许逻辑变更;
输入数据分割部,分割来自逻辑变更判断部的数据,来生成多个分割数据,并将该多个分割数据的一部分输出到所述可重构处理器之一,将该多个分割数据的另一部分输出到重定时输出缓存器,将该多个分割数据的剩余部分输出到重定时选择缓存器;
一个或多个重定时选择缓存器,暂时存储输入到处理数据选择部的数据,并使定时一致地输出;
处理数据选择部,从来自所述重定时选择缓存器的数据和所述可重构处理器的输出数据中,选择或结合一个或多个数据,输出其他可重构处理器用的处理数据和除此之外的数据;
一个或多个重定时输出缓存器,暂时存储所述其他可重构处理器所输出的数据、来自所述处理数据选择部的数据和所述多个分割数据的另一部分,并使定时一致地输出;
输出数据结合部,将从上述重定时输出缓存器中使定时一致地读出的数据结合,输出到装置外部;以及
一个或多个配置控制部和对应每个所述控制部的一个或多个配置缓存器,所述配置控制部可将所述配置缓存器内预先存储的配置信息所指定的逻辑,安装在所述可重构处理器上;
在从所述数据输入到该可重构装置开始到输出为止的时间中的、所述可重构处理器不进行运算处理的时间中,变更在可重构处理器上装载的逻辑。
6.根据权利要求5所述的可重构装置,其特征在于,
可串联或并联地自由设置所述可重构处理器之间的连接。
7.根据权利要求5所述的可重构装置,其特征在于,
所述可重构处理器具有可从所述装置外部直接读写的存储器。
8.根据权利要求5所述的可重构装置,其特征在于,
所述一个或多个可重构处理器安装有
第一逻辑,该第一逻辑将在网络线路上流过的数据包的一部分或全部作为输入数据输入,按每个数据包判断异常的种类,并输出异常种类判断结果;以及
第二逻辑,该第二逻辑将数据包的一部分或全部和所述异常种类判断结果作为输入数据输入,按每个数据包判断是通过还是丢弃,并输出通过/丢弃判断结果。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005317872A JP4720436B2 (ja) | 2005-11-01 | 2005-11-01 | リコンフィギュラブルプロセッサまたは装置 |
JP317872/2005 | 2005-11-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1975704A CN1975704A (zh) | 2007-06-06 |
CN1975704B true CN1975704B (zh) | 2010-06-16 |
Family
ID=37997984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200610142901XA Expired - Fee Related CN1975704B (zh) | 2005-11-01 | 2006-11-01 | 可重构处理器或装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7587578B2 (zh) |
JP (1) | JP4720436B2 (zh) |
CN (1) | CN1975704B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200821981A (en) * | 2006-11-13 | 2008-05-16 | Vivotek Inc | Reconfigurable image processor and application architecture |
US8180997B2 (en) * | 2007-07-05 | 2012-05-15 | Board Of Regents, University Of Texas System | Dynamically composing processor cores to form logical processors |
JP5170579B2 (ja) * | 2008-01-31 | 2013-03-27 | 富士ゼロックス株式会社 | 再構成可能なデバイス |
JP5251171B2 (ja) | 2008-03-06 | 2013-07-31 | 富士通セミコンダクター株式会社 | 論理回路装置 |
CN101782893B (zh) * | 2009-01-21 | 2014-12-24 | 上海芯豪微电子有限公司 | 可重构数据处理平台 |
JP5431003B2 (ja) * | 2009-04-03 | 2014-03-05 | スパンション エルエルシー | リコンフィギュラブル回路及びリコンフィギュラブル回路システム |
CN101625635B (zh) * | 2009-07-31 | 2011-11-30 | 清华大学 | 一种处理循环任务的方法、系统和设备 |
CN102122275A (zh) * | 2010-01-08 | 2011-07-13 | 上海芯豪微电子有限公司 | 一种可配置处理器 |
CN102323916B (zh) * | 2011-06-14 | 2013-05-22 | 清华大学 | 一种动态可重构处理器间一对一数据交互方法及装置 |
US9721319B2 (en) * | 2011-10-14 | 2017-08-01 | Mastercard International Incorporated | Tap and wireless payment methods and devices |
JP5882714B2 (ja) * | 2011-12-14 | 2016-03-09 | 東京計器株式会社 | リコンフィギュラブルプロセッサの制御方法及びリコンフィギュラブルプロセッサのコンフィギュレーション情報を生成する方法及びコンフィギュレーション情報生成ツール |
CN103034617B (zh) * | 2012-12-13 | 2015-09-30 | 深圳市同创国芯电子有限公司 | 用于实现可重构系统配置信息存储的缓存结构和管理方法 |
CN108255521B (zh) * | 2013-03-15 | 2022-05-31 | 英特尔公司 | 一种用于实现线路速度互连结构的方法 |
US10073773B2 (en) * | 2015-02-21 | 2018-09-11 | Wave Computing, Inc. | Instruction paging in reconfigurable fabric |
US10191747B2 (en) | 2015-06-26 | 2019-01-29 | Microsoft Technology Licensing, Llc | Locking operand values for groups of instructions executed atomically |
US9946548B2 (en) | 2015-06-26 | 2018-04-17 | Microsoft Technology Licensing, Llc | Age-based management of instruction blocks in a processor instruction window |
US10409606B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Verifying branch targets |
US10346168B2 (en) | 2015-06-26 | 2019-07-09 | Microsoft Technology Licensing, Llc | Decoupled processor instruction window and operand buffer |
US10175988B2 (en) | 2015-06-26 | 2019-01-08 | Microsoft Technology Licensing, Llc | Explicit instruction scheduler state information for a processor |
US10409599B2 (en) | 2015-06-26 | 2019-09-10 | Microsoft Technology Licensing, Llc | Decoding information about a group of instructions including a size of the group of instructions |
US9952867B2 (en) | 2015-06-26 | 2018-04-24 | Microsoft Technology Licensing, Llc | Mapping instruction blocks based on block size |
US10169044B2 (en) | 2015-06-26 | 2019-01-01 | Microsoft Technology Licensing, Llc | Processing an encoding format field to interpret header information regarding a group of instructions |
US11755484B2 (en) | 2015-06-26 | 2023-09-12 | Microsoft Technology Licensing, Llc | Instruction block allocation |
US10659396B2 (en) * | 2015-08-02 | 2020-05-19 | Wave Computing, Inc. | Joining data within a reconfigurable fabric |
US10768936B2 (en) | 2015-09-19 | 2020-09-08 | Microsoft Technology Licensing, Llc | Block-based processor including topology and control registers to indicate resource sharing and size of logical processor |
US11016770B2 (en) | 2015-09-19 | 2021-05-25 | Microsoft Technology Licensing, Llc | Distinct system registers for logical processors |
US11126433B2 (en) | 2015-09-19 | 2021-09-21 | Microsoft Technology Licensing, Llc | Block-based processor core composition register |
US11531552B2 (en) | 2017-02-06 | 2022-12-20 | Microsoft Technology Licensing, Llc | Executing multiple programs simultaneously on a processor core |
CN114168525B (zh) * | 2017-03-14 | 2023-12-19 | 珠海市芯动力科技有限公司 | 可重构并行处理 |
JP6810651B2 (ja) * | 2017-04-24 | 2021-01-06 | 日立オートモティブシステムズ株式会社 | 電子制御装置、論理回路の制御方法 |
CN112651496B (zh) * | 2020-12-30 | 2024-07-19 | 深圳大普微电子科技有限公司 | 一种处理激活函数的硬件电路及芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86101893A (zh) * | 1985-02-28 | 1986-11-05 | 佳能株式会社 | 数据通信设备 |
US20040003200A1 (en) * | 2002-06-28 | 2004-01-01 | May Philip E. | Interconnection device with integrated storage |
CN1568460A (zh) * | 2001-09-14 | 2005-01-19 | 英特尔公司 | 具有多硬件配置的可重构硬件体系统结构中的调度方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4609986A (en) * | 1984-06-14 | 1986-09-02 | Altera Corporation | Programmable logic array device using EPROM technology |
US4642487A (en) * | 1984-09-26 | 1987-02-10 | Xilinx, Inc. | Special interconnect for configurable logic array |
DE68929518T2 (de) * | 1988-10-05 | 2005-06-09 | Quickturn Design Systems, Inc., Mountain View | Verfahren zur Verwendung einer elektronisch wiederkonfigurierbaren Gatterfeld-Logik und dadurch hergestelltes Gerät |
JPH03263164A (ja) * | 1990-03-13 | 1991-11-22 | Kawasaki Steel Corp | データ並列処理方式 |
DE4211162C2 (de) * | 1992-03-31 | 1996-03-21 | Manfred Dipl Ing Zeiner | Hardware-Emulationssystem |
US5450603A (en) * | 1992-12-18 | 1995-09-12 | Xerox Corporation | SIMD architecture with transfer register or value source circuitry connected to bus |
GB9403030D0 (en) * | 1994-02-17 | 1994-04-06 | Austin Kenneth | Re-configurable application specific device |
US5646544A (en) * | 1995-06-05 | 1997-07-08 | International Business Machines Corporation | System and method for dynamically reconfiguring a programmable gate array |
JP3923574B2 (ja) * | 1996-12-02 | 2007-06-06 | 株式会社日立製作所 | 並列データ処理機能を備えた検査装置及び検査方法 |
US6483875B1 (en) * | 1997-06-19 | 2002-11-19 | Sony Corporation | Picture signal processing apparatus |
US6034538A (en) * | 1998-01-21 | 2000-03-07 | Lucent Technologies Inc. | Virtual logic system for reconfigurable hardware |
JP2000311156A (ja) * | 1999-04-27 | 2000-11-07 | Mitsubishi Electric Corp | 再構成可能並列計算機 |
JP3587095B2 (ja) * | 1999-08-25 | 2004-11-10 | 富士ゼロックス株式会社 | 情報処理装置 |
JP3561506B2 (ja) * | 2001-05-10 | 2004-09-02 | 東京エレクトロンデバイス株式会社 | 演算システム |
TWI234737B (en) * | 2001-05-24 | 2005-06-21 | Ip Flex Inc | Integrated circuit device |
JP3848104B2 (ja) * | 2001-05-29 | 2006-11-22 | 日本電信電話株式会社 | データ管理システム |
JP3704709B2 (ja) * | 2002-10-02 | 2005-10-12 | 日本電気株式会社 | データ再同期化装置 |
JP4011007B2 (ja) * | 2003-01-15 | 2007-11-21 | 三洋電機株式会社 | リコンフィギュラブル回路を備えた集積回路装置および処理装置 |
JP4359490B2 (ja) * | 2003-11-28 | 2009-11-04 | アイピーフレックス株式会社 | データ伝送方法 |
-
2005
- 2005-11-01 JP JP2005317872A patent/JP4720436B2/ja not_active Expired - Fee Related
-
2006
- 2006-10-31 US US11/589,961 patent/US7587578B2/en not_active Expired - Fee Related
- 2006-11-01 CN CN200610142901XA patent/CN1975704B/zh not_active Expired - Fee Related
-
2007
- 2007-03-19 US US11/723,333 patent/US7529910B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN86101893A (zh) * | 1985-02-28 | 1986-11-05 | 佳能株式会社 | 数据通信设备 |
CN1568460A (zh) * | 2001-09-14 | 2005-01-19 | 英特尔公司 | 具有多硬件配置的可重构硬件体系统结构中的调度方法 |
US20040003200A1 (en) * | 2002-06-28 | 2004-01-01 | May Philip E. | Interconnection device with integrated storage |
Also Published As
Publication number | Publication date |
---|---|
JP2007128124A (ja) | 2007-05-24 |
US20070101107A1 (en) | 2007-05-03 |
US20070162727A1 (en) | 2007-07-12 |
US7529910B2 (en) | 2009-05-05 |
JP4720436B2 (ja) | 2011-07-13 |
US7587578B2 (en) | 2009-09-08 |
CN1975704A (zh) | 2007-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1975704B (zh) | 可重构处理器或装置 | |
Xiong et al. | Do switches dream of machine learning? toward in-network classification | |
US20200280462A1 (en) | Access node for data centers | |
Pontarelli et al. | Traffic-aware design of a high-speed FPGA network intrusion detection system | |
EP3283974B1 (en) | Systems and methods for executing software threads using soft processors | |
US8661455B2 (en) | Performance event triggering through direct interthread communication on a network on chip | |
Leroy et al. | Spatial division multiplexing: a novel approach for guaranteed throughput on NoCs | |
US20090282222A1 (en) | Dynamic Virtual Software Pipelining On A Network On Chip | |
US7743236B2 (en) | Reconfigurable processor | |
CA2352755A1 (en) | Network management system | |
Li et al. | On data center network architectures for interconnecting dual-port servers | |
Latif et al. | PVS-NoC: Partial virtual channel sharing NoC architecture | |
Watanabe et al. | Accelerating NFV application using CPU-FPGA tightly coupled architecture | |
JP2009517908A (ja) | データ送信方法 | |
CN101803289A (zh) | 基于适合度的路由 | |
Pionteck et al. | A dynamically reconfigurable packet-switched network-on-chip | |
Zhou et al. | Frequent value compression in packet-based NoC architectures | |
JP3799041B2 (ja) | Vliwプロセッサ | |
Kumar | On packet switched networks for on-chip communication | |
US7349388B1 (en) | Buffered crossbar switch and its method of operation | |
US10523566B2 (en) | Memory device | |
Effiong et al. | Exploration of a scalable and power-efficient asynchronous Network-on-Chip with dynamic resource allocation | |
CN111552562B (zh) | 面向异构服务器的重构配置方法及装置 | |
Kachris et al. | Performance evaluation of an adaptive FPGA for network applications | |
MIDDE et al. | A Highly Speed Packet Classification Design Using Parallel Decision-Making Technique |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100616 Termination date: 20121101 |