JP4720436B2 - リコンフィギュラブルプロセッサまたは装置 - Google Patents

リコンフィギュラブルプロセッサまたは装置 Download PDF

Info

Publication number
JP4720436B2
JP4720436B2 JP2005317872A JP2005317872A JP4720436B2 JP 4720436 B2 JP4720436 B2 JP 4720436B2 JP 2005317872 A JP2005317872 A JP 2005317872A JP 2005317872 A JP2005317872 A JP 2005317872A JP 4720436 B2 JP4720436 B2 JP 4720436B2
Authority
JP
Japan
Prior art keywords
data
reconfigurable
input
output
unit
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
Application number
JP2005317872A
Other languages
English (en)
Other versions
JP2007128124A (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005317872A priority Critical patent/JP4720436B2/ja
Priority to US11/589,961 priority patent/US7587578B2/en
Priority to CN200610142901XA priority patent/CN1975704B/zh
Priority to US11/723,333 priority patent/US7529910B2/en
Publication of JP2007128124A publication Critical patent/JP2007128124A/ja
Application granted granted Critical
Publication of JP4720436B2 publication Critical patent/JP4720436B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures 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)

Description

本発明は、リコンフィギュラブルプロセッサとリコンフィギュラブル装置に関する。
近年、プロセッサに、リアルタイムで常時入力されるデータを高速演算する性能だけでなく、搭載論理を容易に変更できる高い汎用性が求められるようになった。
例えば、ネットワークセキュリティ分野で使用するプロセッサには、リアルタイムで常時入力される通信データを高速演算する性能と共に、通信データの異常を検出するアルゴリズムや、パターンファイルを頻繁に更新できる汎用性が要求されている。
また、映像処理分野で使用するプロセッサにも、リアルタイムで常時入力される映像データを高速演算する性能と共に、符号/複合化,ダウンコンバート,著作権情報付加,分割,合成,フォーマット変換等の処理を複数組み合わせて、映像データに対して幾通りもの処理を行う汎用性が必要とされている。
ところが、搭載論理を容易に変更できる高い汎用性は、専用回路を搭載したASICでは得られないという問題があった。その一方で、リアルタイムデータの高速演算性能は、汎用プロセッサでは得られないという問題があった。
そこで、上記の2つの性能を同時に実現するプロセッサとして、Reconfigurable Processor (RP)と呼ばれるプロセッサが開発され、注目を集めている。大きく分けて、AND-OR方式、Look Up Table(LUT)方式、演算器方式の3方式が開発されている。
AND-OR方式は、論理エレメントとして、AND-ORロジックアレイを使用する方式である。論理単位が小さいため、論理の高密度化が可能である(特許文献1参照)。
LUT方式は、論理エレメントとして、Synchronous Random Access Memory(SRAM)からなるLUTを使用する方式である。LUTに入力信号毎の値を予め記録することで高度なランダムロジックを実現する(特許文献2参照)。
演算器方式は、論理エレメントとして、演算,リタイミング,メモリなど機能が予め指定された演算器を使用する方式である。Dynamic Reconfigurable Processor(DRP)と呼ばれる。1クロックで搭載論理を変更することが出来、高い汎用性を持つ(特許文献3参照)。
本プロセッサは、演算,リタイミング,メモリ等の機能を備える論理エレメントと、各論理エレメント間を自由に接続可能なバスから構成されるリコンフィギュラブル回路を備え、論理エレメント間接続に従ってパイプライン式にデータ処理を行う。更に、本リコンフィギュラブル回路の搭載論理は、論理エレメント間接続の変更により自由に構成し直すことができる。これにより、本プロセッサは、高速処理性能と共に、高い汎用性を実現している。
しかし、本プロセッサは、パイプライン式にデータ演算を行っているため、リコンフィギュラブル回路の搭載論理の更新をする際、回路内部を流れていたデータが破壊され、入力データを失うという問題があった。
そこで、入力データを失うことなく、リコンフィギュラブル回路の搭載論理を変更する方式が提案されている。現用と予備の2つのリコンフィギュラブル回路をスイッチで切り替えることでデータ損失の無い搭載論理の変更を実現する方式や、入力バッファで入力データを蓄積して、リコンフィギュラブル回路内にデータが無くなった時点で搭載論理の変更を行う方式などが提案されている(非特許文献1参照)。
US4609986
US4642487 WO02/095946 甲斐英則、山田博希、"パケット転送処理における無瞬断リコンフィギュレーション法の検討"、電子情報通信学会ソサイエティ大会、B-6-150、Sept.2003
近年、ネットワークセキュリティ分野や映像処理分野で使用するプロセッサに、リアルタイムで常時入力されるデータを高速演算する性能だけでなく、搭載論理を容易に変更できる高い汎用性が求められるようになった。
ところが、搭載論理を容易に変更できる高い汎用性は、専用回路を搭載したASICでは得られないという問題があった。その一方で、リアルタイムデータの高速演算性能は、汎用プロセッサでは得られないという問題があった。
そこで、入力データの高速処理性能だけでなく、搭載論理を容易に変更できる高い汎用性を備えるReconfigurable Processor (RP)が開発された。
しかし、本プロセッサは、パイプライン式にデータ処理を行っているため、搭載論理の変更を行う際には、データの入力を停止し、内部を流れているデータが全て処理され、出力されるを待つ必要があった。そのため、データの入力を停止している間は処理を行えず、入力データを失うという問題があった。
そのため、入力データを失うことなく、リコンフィギュラブル回路の搭載論理を変更する方式が提案された。現用と予備の2つのリコンフィギュラブル回路をスイッチで切り替えることでデータ損失の無い搭載論理の変更を実現する方式や、入力バッファで入力データを蓄積して、リコンフィギュラブル回路内にデータが無くなった時点で搭載論理の変更を行う方式などが提案されている。
しかし、これらの2つ方式には、それぞれ以下のような問題があった。
現用と予備の2つのリコンフィギュラブル回路をスイッチで切り替えることでデータ損失の無い搭載論理の変更を実現する方式では、必要なリコンフィギュラブル回路が2倍となる。そのため、実装が高コストになるという問題があった。
入力バッファで入力データを蓄積して、リコンフィギュラブル回路内にデータが無くなった時点で搭載論理の変更を行う方式では、入力データをバッファに蓄積している間は、データの入力および演算処理が停止しているため、搭載論理の変更を行った時のデータ演算処理性能が劣化するという問題があった。
そこで、本願の目的は、以上の問題点を解決するために、入力されるデータの損失が無く、尚且つデータ演算処理性能の劣化が無い論理変更を実現するリコンフィギュラブルプロセッサ及び装置を提供することである。
本願のリコンフィギュラブルプロセッサまたは装置は、「発明が解決しようとする課題」の欄に述べた課題を解決するために、以下の手段を有する。
本プロセッサまたは装置は、任意の論理を実装可能な1つ乃至複数のリコンフィギュラブルな演算手段を備え、
前記プロセッサまたは装置に入力されるデータを分割して複数の分割データを作成し、該出力する入力データ分割部と、前記リコンフィギュラブルな演算手段及び前記入力データ分割部が出力するデータを一時的に蓄積してタイミングを揃えて出力する1つ乃至複数のリタイミング出力バッファと、リタイミング出力バッファからタイミングを揃えて読み出したデータを結合してプロセッサ外部に出力する出力データ結合部を備え、
リコンフィギュラブルな演算手段が演算処理を行わない時間に前記リコンフィギュラブルな演算手段に搭載する論理の変更を行う手段を備える。
更に、本プロセッサまたは装置は、入力されるデータを分割して複数の分割データを作成し、該複数の分割の一部を前記リコンフィギュラブルな演算手段に出力する入力データ分割部と、前記入力データ分割部及び前記リコンフィギュラブルな演算手段の出力データから1つ乃至複数のデータを選択または結合し、処理データを出力する処理データ選択部と、前記処理データ選択部に入力するデータを一時的に蓄積してタイミングを揃えて出力する1つ乃至複数のリタイミング選択バッファと、前記リコンフィギュラブルな演算手段または前記入力データ分割部または前記処理データ選択部の出力データを結合してプロセッサ外部に出力する出力データ結合部と、前記出力データ結合部に入力するデータを一時的に蓄積してタイミングを揃えて出力する1つ乃至複数のリタイミング出力バッファを備え、
前記リコンフィギュラブルな演算手段間の接続を直列または並列に自由に設定する手段を備える。
更に、本プロセッサまたは装置は、前記入力データ分割部の前段に、前記入力データのフォーマット長と予め指定した値を比較して、超過する場合や、一定期間データ入力が無い場合に論理変更を許可する論理変更判定部を備える手段を備える。
更に、本プロセッサまたは装置は、1つまたは複数のコンフィギュレーション制御部と、前記コンフィギュレーション制御部毎に1つまたは複数のコンフィギュレーションバッファを備え、
前記コンフィギュレーション制御部が、前記コンフィギュレーションバッファ内に予め蓄積されているコンフィギュレーション情報が指定する論理を前記リコンフィギュラブルな演算手段に実装する手段を備える。
上記以外の本願が解決しようとする課題、その解決手段は、本願の「発明を実施するための最良の形態」の欄および図面で明らかにされる。
従来のリコンフィギュラブルプロセッサまたは装置が実現できなかった、入力されるデータの損失が無く、尚且つデータ演算処理性能の劣化が無い論理変更を可能とするリコンフィギュラブルプロセッサまたは装置を実現する。
前記のプロセッサまたは装置は、本願の、入力されるデータのうち、演算に必要なデータだけをリコンフィギュラブルな演算手段に分配する方式と、演算に不必要なデータが入力されているときに、リコンフィギュラブルな演算手段に発生する無演算時間を利用して、リコンフィギュラブルな演算手段の搭載論理を変更する方式によって実現される。
図1,3〜5を用いて本発明の詳細動作について説明する。
図1には、本発明のリコンフィギュラブルプロセッサ100のブロック図を示す。リコンフィギュラブルプロセッサ100は、入力されるデータ138のフォーマット長と予め指定した値の比較や、データの無入力時間と予め指定した値の比較を行う論理変更判定部139と、入力されるデータ138と同じデータ140を分割して、分割データを出力する入力データ分割部110と、任意の論理を実装可能なリコンフィギュラブル回路130-i (i=1〜n)と、処理中の複数のデータの選択及び合成を行い、新たなデータを出力する処理データ選択部111-i (i=2〜n)と、入力データ分割部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に出力するリタイミング選択バッファ190-i-j (i=1〜n-1, j=1〜n),191-i (i=1〜n-1)と、処理が完了したデータの合成を行い、プロセッサ外部に最終データ151を出力する出力データ結合部112と、入力データ分割部110が出力した分割データ152、または処理データ選択部n 111-nが出力した選択データ141-n-j (j=1〜n)、またはリコンフィギュラブル回路130-nが出力した演算結果データ144-nのタイミングを揃えて、出力データ結合部に出力するリタイミング出力バッファ123-i (i=1〜n),122,124と、各リコンフィギュラブル回路130-iの搭載論理を書き換えるコンフィギュレーション制御部113-i (i=1〜n)と、搭載論理を指定するコンフィギュレーション情報を蓄積するためのコンフィギュレーションバッファ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の3種類がある。分割のタイミングは予めセットされたビットパターンによって指定され、分割の範囲は予めセットされたビット範囲及びクロック範囲で指定される。例えば、リアルタイムデータ140が1クロックあたり35ビットでリコンフィギュラブルプロセッサ100に入力される場合、分割のタイミングは、入力データ上位33〜35ビットのビットパターンが”101”となる時から数えて7クロック目などと指定され、分割の範囲は、入力データ下位1〜32ビット3クロック分などと指定される。
リコンフィギュラブル回路i 130-i (i=1〜n)は、回路外部から入力されるデータ142-i (i=1〜n)の処理を予め搭載した論理に従って行い、回路外部に処理結果を演算結果データ144-i (i=1〜n)として出力する。回路内部は、図3〜5に示すように、複数の機能ブロックを、複数のバスで接続した構造となっている。
図3の演算器型リコンフィギュラブル回路300は、演算器型の機能ブロックを備える。各機能ブロックは、8,16,32ビット等、比較的大きなビット入出力を持ち、予め指定された四則演算等を行うEXEブロック311〜315,カウンタ機能を持つCNTブロック321〜325,データ蓄積を行うRAMブロック331〜335,入力データを指定クロック遅延させて出力するDLEブロック341〜345,回路外部とのデータ入出力を行うIOBブロック351〜355等から構成される。各機能ブロックの出力と入力は、クロスバ型スイッチ361〜365,371〜375によって自由に接続することが可能である。
図4のAND-OR/LUT型リコンフィギュラブル回路400は、AND-OR/LUT型の機能ブロックを備える。各機能ブロックは、1,2,4ビット等、比較的小さなビット入出力を持ち、入力ビットパターンに応じて予め指定されたビットパターンを出力するCLBブロック411〜415,421〜425,431〜435,441〜445の他、回路外部とのデータ入出力を行うIOBブロック451〜455等から構成される。各機能ブロックの出力と入力は、クロスバ型スイッチ461〜465,471〜475によって自由に接続することが可能である。
図5のマルチCPU型リコンフィギュラブル回路500は、CPU型の機能ブロックを備える。各機能ブロックは、8,16,32ビット等、比較的大きなビット入出力を持ち、予め指定された命令に従って様々な演算処理を行うCPUブロック511〜515,521〜525,531〜535,データ蓄積を行う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)の中から、予めセットされた1つまたは複数のデータを選択し、予めセットされたビットパターンによるタイミングで、選択した複数のデータ中の予めセットされたビット範囲及びクロック範囲を結合して、プロセッサ外部に選択データを出力する。出力する選択データには、リコンフィギュラブル回路i 130-i (i=2〜n)向けに出力される選択データ142-i (i=2〜n)と、それ以外に出力される選択データ141-i-j (i=2〜n, j=1〜n)の2種類がある。なお、入力データ155-iは、選択データ141-(i+1)-iとしてそのまま出力される。
リタイミング選択バッファ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の中から、予めセットされた1つまたは複数のデータを選択し、予めセットされたビットパターンによるタイミングで、選択した複数のデータ中の予めセットされたビット範囲及びクロック範囲を結合して、プロセッサ外部に最終データ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がメモリに送信される。
なお、通信部101とリコンフィギュラブルプロセッサ100の間の情報のやりとりは、端末102から通信部101へのコマンド185に従って行われる。
リコンフィギュラブルプロセッサ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には、本発明のリコンフィギュラブル装置200のブロック図を示す。リコンフィギュラブル装置200は、入力されるデータ238のフォーマット長と予め指定した値の比較や、データの無入力時間と予め指定した値の比較を行う論理変更判定部239と、入力されるデータ238と同じデータ240を分割して、分割データを出力する入力データ分割部210と、任意の論理を実装可能なリコンフィギュラブルプロセッサ230-i (i=1〜n)と、処理中の複数のデータの選択及び合成を行い、新たなデータを出力する処理データ選択部211-i (i=2〜n)と、入力データ分割部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に出力するリタイミング選択バッファ290-i-j (i=1〜n-1, j=1〜n),291-i (i=1〜n-1)と、処理が完了したデータの合成を行い、装置外部に最終データ251を出力する出力データ結合部212と、入力データ分割部210が出力した分割データ252、または処理データ選択部n 211-nが出力した選択データ241-n-j (j=1〜n)、またはリコンフィギュラブルプロセッサ230-nが出力した演算結果データ244-nのタイミングを揃えて、出力データ結合部に出力するリタイミング出力バッファ223-i (i=1〜n),222,224と、各リコンフィギュラブルプロセッサ230-iの搭載論理を書き換えるコンフィギュレーション制御部213-i (i=1〜n)と、搭載論理を指定するコンフィギュレーション情報を蓄積するためのコンフィギュレーションバッファ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の3種類がある。分割のタイミングは予めセットされたビットパターンによって指定され、分割の範囲は予めセットされたビット範囲及びクロック範囲で指定される。例えば、リアルタイムデータ240が1クロックあたり35ビットでリコンフィギュラブル装置200に入力される場合、分割のタイミングは、入力データ上位33〜35ビットのビットパターンが”101”となる時から数えて7クロック目などと指定され、分割の範囲は、入力データ下位1〜32ビット3クロック分などと指定される。
リコンフィギュラブルプロセッサ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-1, j=1〜n),255-i (i=1〜n-1)の中から、予めセットされた1つまたは複数のデータを選択し、予めセットされたビットパターンによるタイミングで、選択した複数のデータ中の予めセットされたビット範囲及びクロック範囲を結合して、装置外部に選択データを出力する。出力する選択データには、リコンフィギュラブルプロセッサi 230-i (i=2〜n)向けに出力される選択データ242-i (i=2〜n)と、それ以外に出力される選択データ241-i-j (i=2〜n, j=1〜n)の2種類がある。なお、入力データ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の中から、予めセットされた1つまたは複数のデータを選択し、予めセットされたビットパターンによるタイミングで、選択した複数のデータ中の予めセットされたビット範囲及びクロック範囲を結合して、装置外部に最終データ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がメモリに送信される。
なお、通信部201とリコンフィギュラブル装置200の間の情報のやりとりは、端末202から通信部201へのコマンド285に従って行われる。
リコンフィギュラブル装置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)を備えることで、装置内部のメモリを、装置外部から直接読み書きすることが可能となる。
図6と図8を用いて本発明の詳細動作について説明する。
図6には、図1のリコンフィギュラブルプロセッサ100において、n=2とした場合のリコンフィギュラブルプロセッサ600のブロック図を表す。図6の6XXの示すブロックは、図1の1XXの示すブロックと同一の機能を持つ(XXは任意の2桁の正の整数)。
図8には、図6のリコンフィギュラブルプロセッサ600を、ネットワークにおいて、対異常フロー防御用リコンフィギュラブルプロセッサ800として使用する場合のブロック図を示す。1つ目のリコンフィギュラブル回路1 830-1には、パケット毎に異常の種別を判定する異常フロー判定回路834を搭載し、内蔵メモリ832-1には、フロー統計テーブル835を搭載する。2つ目のリコンフィギュラブル回路2 830-2には、異常の種別の判定結果に基づいて、パケット毎に通過させるか廃棄するかの判定を行う異常フロー排除回路836を搭載し、内蔵メモリ832-2には、セッションテーブル837を搭載する。
以下、図6と図8の詳細な説明を行う。
図6のリコンフィギュラブルプロセッサ600は、入力データ分割部610において、入力されるデータ640の分割を行う。入力データ分割部610が、リコンフィギュラブル回路1 630-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)として出力するようにセットした場合、2つのリコンフィギュラブル回路間の接続は並列に設定されたことになる。一方、入力データ分割部610が、リコンフィギュラブル回路1 630-1向けの分割データ642-1のみを出力するようにセットし、処理データ選択部611が、入力データ655-1を選択データ642-2として出力するようにセットした場合、2つのリコンフィギュラブル回路間の接続は直列に設定されたことになる。
図8の対異常フロー防御用リコンフィギュラブルプロセッサ800は、図6のリコンフィギュラブルプロセッサ600に対異常フロー防御機能を搭載したプロセッサである。なお、対異常フロー防御機能とは、通信ネットワークを流れるパケットを解析し、通信障害の原因となるP2P (Peer to Peer) などの過負荷通信や、Worm,DoS (Denial of Service),DDoS (Distributed Denial of Service) などのPC (Personal Computer)やルータやサーバの攻撃を目的とした不正通信などの、各種の異常通信を探知して、排除する機能のことである。
論理変更判定部839は、ネットワーク用途に使用する場合、フォーマット長としてパケット長を判定する。受信したパケット内部のIPヘッダフィールド内のパケット長を読み取り、予め指定したパケット長と比較する。例えば、予め指定したパケット長が1000Byteであった場合、パケット長1000Byte以上のパケットが来たとき、リコンフィギュラブルプロセッサの搭載論理の変更を許可する命令879を出力する。
入力データ分割部810は、ネットワークを流れるパケットデータをデータ840として受信すると、パケットデータの一部を分割データ842-1として、1つ目のリコンフィギュラブル回路1 830-1に向けて出力する。また、パケットデータの一部を分割データ841-1-1として、処理データ選択部811-2に向けて出力し、全パケットデータを分割データ852として、出力データ結合部812に出力する。
1つ目のリコンフィギュラブル回路1 830-1に向けて出力される分割データ842-1は、例えば、パケット内部のIPヘッダやTCP/UDPヘッダなどに記載されている送信元IPアドレス,宛先IPアドレス,送信元ポート番号,宛先ポート番号,TCPフラグ番号,プロトコル番号,パケット長などの情報から構成される。一方、処理データ選択部811-2に向けて出力される分割データ841-1-1は、パケット内部のIPヘッダやTCP/UDPヘッダなどに記載されている送信元IPアドレス,宛先IPアドレス,送信元ポート番号,宛先ポート番号,TCPフラグ番号,プロトコル番号,パケット長,シーケンス番号,ACK番号などの情報から構成される。
1つ目のリコンフィギュラブル回路1 830-1が搭載する異常フロー判定回路834は、入力データ分割部810から出力されたパケットデータの一部を解析し、解析結果をフロー統計情報として、メモリ832-1内部に構築されたフロー統計テーブル835に蓄積する。フロー統計テーブル835に蓄積されるフロー統計情報は、送信元IPアドレス,宛先IPアドレス,送信元ポート番号,宛先ポート番号,TCPフラグ番号などのフロー定義や、フロー定義に合致するパケットの積算数などから構成される。
異常フロー判定回路834は、フロー統計テーブル835に蓄積したフロー統計情報を基に、受信したパケットが、異常か正常かの判定を行う。更に、異常と判定した場合は、その異常の種類を判別する。正常/異常の判定結果及び異常種類の判別結果は、演算結果データ844-1として処理データ選択部811-2に向けて出力される。
処理データ選択部811-2は、受信したパケットデータの一部と、正常/異常の判定結果及び異常種類の判別結果を、選択データ842-2として、2つ目のリコンフィギュラブル回路2 830-2に向けて出力する。
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は、演算に必要なデータを、最小化して別々に受けとることができる。そのため、例えば、1500Byte長パケットの受信開始から終了までの時間が150クロックであり、異常フロー判定回路が必要とするデータ(1500Byteのうち20Byte)の受信開始から終了までの時間が2クロックで、データが入力されて判定結果が出力されるまでの回路通過時間が100クロックの時、再構成回路1には48クロックの無演算時間が生じる。このような、長パケット入力時に発生する無演算時間を利用して再構成回路1に搭載するアルゴリズムを更新することで、スループット無劣化の無瞬断アルゴリズム更新を実現できる。
図7と図9を用いて本発明の詳細動作について説明する。
図7には、図2のリコンフィギュラブル装置200において、n=2とした場合のリコンフィギュラブル装置700のブロック図を表す。図7の7XXの示すブロックは、図2の2XXの示すブロックと同一の機能を持つ(XXは任意の2桁の正の整数)。
図9には、図7のリコンフィギュラブル装置700を、対異常フロー防御用リコンフィギュラブル装置900として使用する場合のブロック図を示す。1つ目のリコンフィギュラブルプロセッサ1 930-1には、パケット毎に異常の種別を判定する異常フロー判定回路934を搭載し、内蔵メモリ932-1には、フロー統計テーブル935を搭載する。2つ目のリコンフィギュラブルプロセッサ2 930-2には、異常の種別の判定結果に基づいて、パケット毎に通過させるか廃棄するかの判定を行う異常フロー排除回路936を搭載し、内蔵メモリ932-2には、セッションテーブル937を搭載する。
以下、図7と図9の詳細な説明を行う。
図7のリコンフィギュラブル装置700は、入力データ分割部710において、入力されるデータ740の分割を行う。入力データ分割部710が、リコンフィギュラブルプロセッサ1 730-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)として出力するようにした場合、2つのリコンフィギュラブルプロセッサ間の接続は並列に設定されたことになる。一方、入力データ分割部710が、リコンフィギュラブルプロセッサ1 730-1向けの分割データ742-1のみを出力するようにし、処理データ選択部711-2が、入力データ755-1を選択データ742-2として出力するようにした場合、2つのリコンフィギュラブルプロセッサ間の接続は直列に設定されたことになる。
図9の対異常フロー防御用リコンフィギュラブル装置900は、図7のリコンフィギュラブル装置700に対異常フロー防御機能を搭載した装置である。
論理変更判定部939は、ネットワーク用途に使用する場合、フォーマット長としてパケット長を判定する。受信したパケット内部のIPヘッダフィールド内のパケット長を読み取り、予め指定したパケット長と比較する。例えば、予め指定したパケット長が1000Byteであった場合、パケット長1000Byte以上のパケットが来たとき、リコンフィギュラブルプロセッサの搭載論理の変更を許可する命令979を出力する。
入力データ分割部910は、ネットワークを流れるパケットデータをデータ940として受信すると、パケットデータの一部を分割データ942-1として、1つ目のリコンフィギュラブルプロセッサ1 930-1に向けて出力する。また、パケットデータの一部を分割データ941-1-1として、処理データ選択部911-2に向けて出力し、全パケットデータを分割データ952として、出力データ結合部912に出力する。
1つ目のリコンフィギュラブルプロセッサ1 930-1に向けて出力される分割データ942-1は、例えば、パケット内部のIPヘッダやTCP/UDPヘッダなどに記載されている送信元IPアドレス,宛先IPアドレス,送信元ポート番号,宛先ポート番号,TCPフラグ番号,プロトコル番号,パケット長などの情報から構成される。一方、処理データ選択部911-2に向けて出力される分割データ941-1-1は、パケット内部のIPヘッダやTCP/UDPヘッダなどに記載されている送信元IPアドレス,宛先IPアドレス,送信元ポート番号,宛先ポート番号,TCPフラグ番号,プロトコル番号,パケット長,シーケンス番号,ACK番号などの情報から構成される。
1つ目のリコンフィギュラブルプロセッサ1 930-1が搭載する異常フロー判定回路934は、入力データ分割部910から出力されたパケットデータの一部を解析し、解析結果をフロー統計情報として、メモリ932-1内部に構築されたフロー統計テーブル935に蓄積する。フロー統計テーブル935に蓄積されるフロー統計情報は、送信元IPアドレス,宛先IPアドレス,送信元ポート番号,宛先ポート番号,TCPフラグ番号などのフロー定義や、フロー定義に合致するパケットの積算数などから構成される。
異常フロー判定回路934は、フロー統計テーブル935に蓄積したフロー統計情報を基に、受信したパケットが、異常か正常かの判定を行う。更に、異常と判定した場合は、その異常の種類を判別する。正常/異常の判定結果及び異常種類の判別結果は、演算結果データ944-1として処理データ選択部911-2に向けて出力される。
処理データ選択部911-2は、受信したパケットデータの一部と、正常/異常の判定結果及び異常種類の判別結果を、選択データ942-2として、2つ目のリコンフィギュラブルプロセッサ2 930-2に向けて出力する。
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は、演算に必要なデータを、最小化して別々に受けとることができる。そのため、例えば、1500Byte長パケットの受信開始から終了までの時間が150クロックであり、異常フロー判定回路が必要とするデータ(1500Byteのうち20Byte)の受信開始から終了までの時間が2クロックで、データが入力されて判定結果が出力されるまでの回路通過時間が100クロックの時、再構成回路1には48クロックの無演算時間が生じる。このような、長パケット入力時に発生する無演算時間を利用して再構成回路1に搭載するアルゴリズムを更新することで、スループット無劣化の無瞬断アルゴリズム更新を実現できる。
図10〜13には、本発明の対異常フロー防御用リコンフィギュラブルプロセッサ800または対異常フロー防御用リコンフィギュラブル装置900を内部に含むリコンフィギュラブルプロセッサ搭載部を、通信用途に使用する場合の例を示す。
図10には、対異常フロー防御用リコンフィギュラブルプロセッサ800または対異常フロー防御用リコンフィギュラブル装置900を、リコンフィギュラブルプロセッサ搭載部1020内部に含み、2つの通信データ入出力部1010,1011を備える対異常フロー防御装置1000のブロック図を示す。
図11には、対異常フロー防御用リコンフィギュラブルプロセッサ800または対異常フロー防御用リコンフィギュラブル装置900を、リコンフィギュラブルプロセッサ搭載部1120内部に含み、パケット転送部1130と、通信データ入出力部1132-k (k=1〜m)を備える対異常フロー防御装置1100のブロック図を示す。
図12には、対異常フロー防御用リコンフィギュラブルプロセッサ800または対異常フロー防御用リコンフィギュラブル装置900を、リコンフィギュラブルプロセッサ搭載部1240内部に含み、本リコンフィギュラブルプロセッサ搭載部1240を含む対異常フロー防御部1220と、スイッチング部1210と、パケット転送部1230-i (i=1〜n)と、通信データ入出力部1232-i-k (i=1〜n, k=1〜m)を備える通信装置1200のブロック図を示す。
図13には、対異常フロー防御用リコンフィギュラブルプロセッサ800または対異常フロー防御用リコンフィギュラブル装置900を、リコンフィギュラブルプロセッサ搭載部1340-i (i=1〜n)内部に含み、本リコンフィギュラブルプロセッサ搭載部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は、2つの通信データ入出力部1010,1011を持つ。各通信データ入出力部1010,1011から入力したパケットデータは、リコンフィギュラブルプロセッサ搭載部1020で対異常フロー防御処理が行われ、もう一方の通信データ入出力部1010,1011から処理済みのパケットデータが出力される。
図11の通信装置1100は、1つまたは複数の通信データ入出力部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で対異常フロー防御処理が行われる。処理済みのパケットデータは、通信データ内部入出力部1321-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に出力する。
n個のリコンフィギュラブル回路を持つリコンフィギュラブルプロセッサのブロック図。 n個のリコンフィギュラブルプロセッサを持つリコンフィギュラブル装置のブロック図。 演算器型リコンフィギュラブル回路の例を示すブロック図。 AND-OR/LUT型リコンフィギュラブル回路の例を示すブロック図。 マルチCPU型リコンフィギュラブル回路の例を示すブロック図。 2個のリコンフィギュラブル回路を持つリコンフィギュラブルプロセッサのブロック図。 2個のリコンフィギュラブルプロセッサを持つリコンフィギュラブル装置のブロック図。 対異常フロー防御機能を搭載したリコンフィギュラブルプロセッサのブロック図。 対異常フロー防御機能を搭載したリコンフィギュラブル装置のブロック図。 対異常フロー防御処理を行うリコンフィギュラブルプロセッサ搭載部を備えた対異常フロー防御装置のブロック図。 対異常フロー防御処理を行うリコンフィギュラブルプロセッサ搭載部とパケット転送部を備えた通信装置のブロック図。 対異常フロー防御処理を行うリコンフィギュラブルプロセッサ搭載部とパケット転送部とスイッチング部を備えた通信装置のブロック図。 パケット転送部毎に対異常フロー防御処理を行うリコンフィギュラブルプロセッサ搭載部を備え、スイッチング部を備えた通信装置のブロック図。
符号の説明
100…リコンフィギュラブルプロセッサ、110…入力データ分割部、112…出力データ結合部、111-i (i=2〜n)…処理データ選択部、130-i (i=1〜n)…リコンフィギュラブル回路i、113-i (i=1〜n)…コンフィギュレーション制御部、190-i-j (i=1〜n-1, j=1〜n),191-i (i=1〜n-1)…リタイミング選択バッファ、122,123-i (i=1〜n),124…リタイミング出力バッファ、121-i-j (i=1〜n, j=1〜m)…コンフィギュレーションバッファ、200…リコンフィギュラブル装置。

Claims (10)

  1. 任意の論理を実装可能な複数のリコンフィギュラブル回路を備えるリコンフィギュラブルプロセッサであって、
    プロセッサに入力されるデータを分割して複数の分割データを作成し、該複数の分割データの一部を前記リコンフィギュラブル回路の一つに出力する入力データ分割部と、
    前記リコンフィギュラブル回路の一つが出力するデータ及び前記分割部が出力する残りの分割データを一時的に蓄積してタイミングを揃えて出力する1つ乃至複数のリタイミング出力バッファと、
    リタイミング出力バッファからタイミングを揃えて読み出したデータを結合してプロセッサ外部に出力する出力データ結合部と、
    前記データがプロセッサに入力されてからプロセッサ外部に出力するまでの時間のうち、前記リコンフィギュラブル回路で演算処理を行っていない時間にリコンフィギュラブル回路に搭載する論理の変更を行うコンフィギュレーション制御部と、
    前記入力データ分割部の前段に、前記入力データのフォーマット長と予め指定した値を比較して、超過する場合や、一定期間データ入力が無い場合に、論理変更を許可する論理変更判定部と、を有することを特徴とするリコンフィギュラブルプロセッサ。
  2. 任意の論理を実装可能な複数のリコンフィギュラブル回路を備えるリコンフィギュラブルプロセッサであって、
    プロセッサに入力されるデータを分割して複数の分割データを作成して、該複数の分割データの一部を一の前記リコンフィギュラブル回路に出力する入力データ分割部と、
    前記入力データ分割部が出力する残りの分割データ及び前記一のリコンフィギュラブル回路の出力データから1つ乃至複数のデータを選択または結合し、他の前記リコンフィギュラブル回路用の処理データを出力する処理データ選択部と、
    前記処理データ選択部に入力するバッファとデータを一時的に蓄積してタイミングを揃えて出力する1つ乃至複数のリタイミング選択バッファと、
    前記リコンフィギュラブル回路及び前記入力データ分割部及び前記処理データ選択部の出力データを結合してプロセッサ外部に出力する出力データ結合部と、
    前記出力データ結合部に入力するデータを一時的に蓄積してタイミングを揃えて出力する1つ乃至複数のリタイミング出力バッファと、
    前記リコンフィギュラブル回路間の接続を直列または並列に設定するコンフィギュレーション制御部と、
    前記入力データ分割部の前段に、前記入力データのフォーマット長と予め指定した値を比較して、超過する場合や、一定期間データ入力が無い場合に、前記リコンフィギュラブル回路間の接続の変更を許可する論理変更判定部と、有することを、特徴とするリコンフィギュラブルプロセッサ。
  3. 請求項1記載のリコンフィギュラブルプロセッサであって、
    前記複数のリコンフィギュラブ回路の各々に前記コンフィギュレーション制御部と、コンフィギュレーションバッファを備え、
    前記コンフィギュレーション制御部が、前記コンフィギュレーションバッファ内に予め蓄積されているコンフィギュレーション情報が指定する論理を各リコンフィギュラブル回路に実装可能なことを特徴とするリコンフィギュラブルプロセッサ。
  4. 請求項1記載のリコンフィギュラブルプロセッサであって、
    前記リコンフィギュラブル回路が前記プロセッサ外部から直接読み書き可能なメモリを備えることを特徴とするリコンフィギュラブルプロセッサ。
  5. 任意の論理を実装可能な複数のリコンフィギュラブルプロセッサを備えるリコンフィギュラブル装置であって、
    装置に入力されるデータを分割して複数の分割データを作成し、該複数の分割データの一部を前記リコンフィギュラブルプロセッサの一つに出力する入力データ分割部と、
    前記リコンフィギュラブルプロセッサの一つが出力するデータ及び前記分割部が出力する残りの分割データを一時的に蓄積してタイミングを揃えて出力する1つ乃至複数のリタイミング出力バッファと、
    前記リタイミング出力バッファからタイミングを揃えて読み出したデータを結合して装置外部に出力する出力データ結合部と、
    前記データが該リコンフィギュラブル装置に入力されてから出力されるまでの時間のうち、前記リコンフィギュラブルプロセッサが演算処理を行わない時間に、リコンフィギュラブルプロセッサに搭載する論理の変更を行うコンフィギュレーション制御部と、
    前記入力データ分割部の前段に、前記入力データのフォーマット長と予め指定した値を比較して、超過する場合又は、一定期間データ入力が無い場合に論理変更を許可する論理変更判定部と、を有することを特徴とするリコンフィギュラブル装置。
  6. 任意の論理を実装可能な複数のリコンフィギュラブルプロセッサを備えるリコンフィギュラブル装置であって、
    装置に入力されるデータを分割して複数の分割データを作成し、複数の前記分割データの一部を一の前記リコンフィギュラブルプロセッサに出力する入力データ分割部と、前記入力データ分割部が出力する残りの分割データ及び前記一のリコンフィギュラブルプロセッサの出力データから1つ乃至複数のデータを選択または結合し、他の前記リコンフィギ
    ュラブルプロセッサ用の処理データを出力する処理データ選択部と、前記処理データ選択部に入力するデータを一時的に蓄積してタイミングを揃えて出力する1つ乃至複数のリタイミング選択バッファと、前記リコンフィギュラブルプロセッサ及び前記入力データ分割部及び前記処理データ選択部の出力データを結合して装置外部に出力する出力データ結合部と、前記出力データ結合部に入力するデータを一時的に蓄積してタイミングを揃えて出力する1つ乃至複数のリタイミング出力バッファを備え、
    前記リコンフィギュラブルプロセッサ間の接続を直列または並列に設定する接続変更部と、
    前記入力データ分割部の前段に、前記入力データのフォーマット長と予め指定した値を比較して、超過する場合又は、一定期間データ入力が無い場合に、前記リコンフィギュラブルプロセッサ間の接続の変更を許可する論理変更判定部と、
    を有することを特徴とするリコンフィギュラブル装置。
  7. 請求項5記載のリコンフィギュラブル装置であって、
    前記複数のリコンフィギュラブルプロセッサの各々にリコンフィギュレーション制御部と、該リコンフィギュレーション制御部毎に1つまたは複数のコンフィギュレーションバ
    ッファを備え、
    前記リコンフィギュレーション制御部が、前記コンフィギュレーションバッファ内に予め蓄積されているコンフィギュレーション情報が指定する論理を各リコンフィギュラブルプロセッサに実装可能なことを特徴とするリコンフィギュラブル装置。
  8. 請求項5記載のリコンフィギュラブル装置であって、
    前記リコンフィギュラブルプロセッサが前記装置外部から直接読み書き可能なメモリを備えることを特徴とするリコンフィギュラブル装置。
  9. 請求項1記載のリコンフィギュラブルプロセッサであって、
    ネットワーク回線を流れるパケットの一部または全てを入力データとして入力し、パケット毎に異常の種類を判定して、異常種別判定結果を出力する論理を実装した1つまたは複数のリコンフィギュラブル回路と、パケットの一部または全てと前記異常種別判定結果を入力データとして入力し、パケット毎に通過または廃棄と判定して、通過/廃棄判定結
    果を出力する論理を実装した1つまたは複数のリコンフィギュラブル回路を備えることを特徴とするリコンフィギュラブルプロセッサ。
  10. 請求項5記載のリコンフィギュラブル装置であって、
    ネットワーク回線を流れるパケットの一部または全てを入力データとして入力し、パケット毎に異常の種類を判定して、異常種別判定結果を出力する論理を実装した1つまたは複数のリコンフィギュラブルプロセッサと、パケットの一部または全てと前記異常種別判定結果を入力データとして入力し、パケット毎に通過または廃棄と判定して、通過/廃棄
    判定結果を出力する論理を実装した1つまたは複数のリコンフィギュラブルプロセッサを備えることを特徴とするリコンフィギュラブル装置。
JP2005317872A 2005-11-01 2005-11-01 リコンフィギュラブルプロセッサまたは装置 Expired - Fee Related JP4720436B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005317872A JP4720436B2 (ja) 2005-11-01 2005-11-01 リコンフィギュラブルプロセッサまたは装置
US11/589,961 US7587578B2 (en) 2005-11-01 2006-10-31 Processing only those that need processing among divided portions of input data and binding with unprocessed portions while allowing reconfiguration of processing logic device for next input
CN200610142901XA CN1975704B (zh) 2005-11-01 2006-11-01 可重构处理器或装置
US11/723,333 US7529910B2 (en) 2005-11-01 2007-03-19 Series and parallel operation of reconfigurable circuits with selection and timing buffers assembly for processing and binding divided data portions in matched timing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005317872A JP4720436B2 (ja) 2005-11-01 2005-11-01 リコンフィギュラブルプロセッサまたは装置

Publications (2)

Publication Number Publication Date
JP2007128124A JP2007128124A (ja) 2007-05-24
JP4720436B2 true JP4720436B2 (ja) 2011-07-13

Family

ID=37997984

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005317872A Expired - Fee Related JP4720436B2 (ja) 2005-11-01 2005-11-01 リコンフィギュラブルプロセッサまたは装置

Country Status (3)

Country Link
US (2) US7587578B2 (ja)
JP (1) JP4720436B2 (ja)
CN (1) CN1975704B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
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
US20110047353A1 (en) * 2008-01-31 2011-02-24 Fuji Xerox Co., Ltd. Reconfigurable device
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 深圳市同创国芯电子有限公司 用于实现可重构***配置信息存储的缓存结构和管理方法
WO2014151773A1 (en) * 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a line speed interconnect structure
US10073773B2 (en) * 2015-02-21 2018-09-11 Wave Computing, Inc. Instruction paging in reconfigurable fabric
US10346168B2 (en) 2015-06-26 2019-07-09 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
US9952867B2 (en) 2015-06-26 2018-04-24 Microsoft Technology Licensing, Llc Mapping instruction blocks based on block size
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
US10175988B2 (en) 2015-06-26 2019-01-08 Microsoft Technology Licensing, Llc Explicit instruction scheduler state information for a processor
US9946548B2 (en) 2015-06-26 2018-04-17 Microsoft Technology Licensing, Llc Age-based management of instruction blocks in a processor instruction window
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
US10191747B2 (en) 2015-06-26 2019-01-29 Microsoft Technology Licensing, Llc Locking operand values for groups of instructions executed atomically
US10409606B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Verifying branch targets
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
US11126433B2 (en) 2015-09-19 2021-09-21 Microsoft Technology Licensing, Llc Block-based processor core composition register
US11016770B2 (en) 2015-09-19 2021-05-25 Microsoft Technology Licensing, Llc Distinct system registers for logical processors
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
US11531552B2 (en) 2017-02-06 2022-12-20 Microsoft Technology Licensing, Llc Executing multiple programs simultaneously on a processor core
WO2018169911A1 (en) 2017-03-14 2018-09-20 Yuan Li Reconfigurable parallel processing
JP6810651B2 (ja) * 2017-04-24 2021-01-06 日立オートモティブシステムズ株式会社 電子制御装置、論理回路の制御方法
CN112651496A (zh) * 2020-12-30 2021-04-13 深圳大普微电子科技有限公司 一种处理激活函数的硬件电路及芯片

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03263164A (ja) * 1990-03-13 1991-11-22 Kawasaki Steel Corp データ並列処理方式
JPH04502985A (ja) * 1988-10-05 1992-05-28 クイックターン デザイン システムズ インコーポレイテッド 複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法
JPH0613592A (ja) * 1992-03-31 1994-01-21 Krohne Ag Asic原型作製器
JPH06223209A (ja) * 1992-12-18 1994-08-12 Xerox Corp 処理装置との間にデータ転送のためのバスを有するsimdアーキテクチャ
JPH08101761A (ja) * 1994-02-17 1996-04-16 Pilkington Germany Number 2 Ltd 再構成可能な応用特定装置
JPH08330945A (ja) * 1995-06-05 1996-12-13 Internatl Business Mach Corp <Ibm> プログラム可能ゲート・アレイの動的再構成システム
JPH10162130A (ja) * 1996-12-02 1998-06-19 Hitachi Ltd 並列データ処理装置および方法
JP2000040745A (ja) * 1998-01-21 2000-02-08 Lucent Technol Inc ハ―ドウェアのセットを再構成する方法および再構成可能ハ―ドウェア装置
JP2000311156A (ja) * 1999-04-27 2000-11-07 Mitsubishi Electric Corp 再構成可能並列計算機
JP2001068993A (ja) * 1999-08-25 2001-03-16 Fuji Xerox Co Ltd 情報処理システム
JP2002351851A (ja) * 2001-05-29 2002-12-06 Nippon Telegr & Teleph Corp <Ntt> データ管理システム
JP2003029969A (ja) * 2001-05-10 2003-01-31 Tokyo Electron Device Ltd 演算システム
JP2004310730A (ja) * 2003-01-15 2004-11-04 Sanyo Electric Co Ltd リコンフィギュラブル回路を備えた集積回路装置、処理装置およびそれらを利用した処理方法
JP2005165435A (ja) * 2003-11-28 2005-06-23 Ip Flex Kk データ伝送方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
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
CN86101893A (zh) * 1985-02-28 1986-11-05 佳能株式会社 数据通信设备
US6483875B1 (en) * 1997-06-19 2002-11-19 Sony Corporation Picture signal processing apparatus
TWI234737B (en) 2001-05-24 2005-06-21 Ip Flex Inc Integrated circuit device
US20030056091A1 (en) * 2001-09-14 2003-03-20 Greenberg Craig B. Method of scheduling in a reconfigurable hardware architecture with multiple hardware configurations
US6850536B2 (en) * 2002-06-28 2005-02-01 Motorola, Inc. Interconnection device with integrated storage
JP3704709B2 (ja) * 2002-10-02 2005-10-12 日本電気株式会社 データ再同期化装置

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04502985A (ja) * 1988-10-05 1992-05-28 クイックターン デザイン システムズ インコーポレイテッド 複数の電気的に再構成可能なゲートアレイを用いて論理構成を構築する方法
JPH03263164A (ja) * 1990-03-13 1991-11-22 Kawasaki Steel Corp データ並列処理方式
JPH0613592A (ja) * 1992-03-31 1994-01-21 Krohne Ag Asic原型作製器
JPH06223209A (ja) * 1992-12-18 1994-08-12 Xerox Corp 処理装置との間にデータ転送のためのバスを有するsimdアーキテクチャ
JPH08101761A (ja) * 1994-02-17 1996-04-16 Pilkington Germany Number 2 Ltd 再構成可能な応用特定装置
JPH08330945A (ja) * 1995-06-05 1996-12-13 Internatl Business Mach Corp <Ibm> プログラム可能ゲート・アレイの動的再構成システム
JPH10162130A (ja) * 1996-12-02 1998-06-19 Hitachi Ltd 並列データ処理装置および方法
JP2000040745A (ja) * 1998-01-21 2000-02-08 Lucent Technol Inc ハ―ドウェアのセットを再構成する方法および再構成可能ハ―ドウェア装置
JP2000311156A (ja) * 1999-04-27 2000-11-07 Mitsubishi Electric Corp 再構成可能並列計算機
JP2001068993A (ja) * 1999-08-25 2001-03-16 Fuji Xerox Co Ltd 情報処理システム
JP2003029969A (ja) * 2001-05-10 2003-01-31 Tokyo Electron Device Ltd 演算システム
JP2002351851A (ja) * 2001-05-29 2002-12-06 Nippon Telegr & Teleph Corp <Ntt> データ管理システム
JP2004310730A (ja) * 2003-01-15 2004-11-04 Sanyo Electric Co Ltd リコンフィギュラブル回路を備えた集積回路装置、処理装置およびそれらを利用した処理方法
JP2005165435A (ja) * 2003-11-28 2005-06-23 Ip Flex Kk データ伝送方法

Also Published As

Publication number Publication date
US7587578B2 (en) 2009-09-08
JP2007128124A (ja) 2007-05-24
US20070162727A1 (en) 2007-07-12
CN1975704A (zh) 2007-06-06
US20070101107A1 (en) 2007-05-03
US7529910B2 (en) 2009-05-05
CN1975704B (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
JP4720436B2 (ja) リコンフィギュラブルプロセッサまたは装置
US11323350B2 (en) Methods and apparatus for tracking data flow based on flow state values
US9716661B2 (en) Methods and apparatus for path selection within a network based on flow duration
CA2375397C (en) Packet processing unit
US7738454B1 (en) Methods and apparatus related to packet classification based on range values
EP1215842B1 (en) Methods and apparatus for implementing a cryptography engine
US7859877B2 (en) Apparatus to detect patterns in data
US20070195951A1 (en) Pipeline for high-throughput encrypt functions
US20030135691A1 (en) Input data selection for content addressable memory
US9083641B2 (en) Method and apparatus for improving packet processing performance using multiple contexts
US20090030895A1 (en) Method And Apparatus For Detecting Predefined Signatures In Packet Payload
JPWO2008149415A1 (ja) パケットスイッチ装置
Matoušek et al. High-speed regular expression matching with pipelined automata
JP3940714B2 (ja) 演算装置、および、暗号・復号演算装置
US7889530B2 (en) Reconfigurable content-addressable memory
US8243760B2 (en) Scheduler using a plurality of slow timers
EP2237246B1 (en) Encrypting device, encrypting method and program
Sridevi Sathya Priya et al. High throughput AES algorithm using parallel subbytes and mixcolumn
US8122190B1 (en) Method and system for reconfigurable memory-based permutation implementation
US9098262B2 (en) Efficient arithimetic logic units
Kachris et al. Performance evaluation of an adaptive FPGA for network applications
Sugier Optimizing the pipelined DES cracker implemented in contemporary popular-grade FPGA devices
RU2784018C1 (ru) Способ фильтрации данных пакетов в сетевых пакетных коммутаторах
Chao et al. CYSEP-a cyber-security processor for 10 Gbps networks and beyond
WO2021210056A1 (ja) トラフィックモニタリング装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101102

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110218

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110321

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees