JP2007207136A - データ処理装置、データ処理方法、及びデータ処理プログラム - Google Patents

データ処理装置、データ処理方法、及びデータ処理プログラム Download PDF

Info

Publication number
JP2007207136A
JP2007207136A JP2006027892A JP2006027892A JP2007207136A JP 2007207136 A JP2007207136 A JP 2007207136A JP 2006027892 A JP2006027892 A JP 2006027892A JP 2006027892 A JP2006027892 A JP 2006027892A JP 2007207136 A JP2007207136 A JP 2007207136A
Authority
JP
Japan
Prior art keywords
configuration
data processing
dynamic reconfiguration
processing
memory
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.)
Pending
Application number
JP2006027892A
Other languages
English (en)
Inventor
Takeo Hayashi
偉夫 林
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006027892A priority Critical patent/JP2007207136A/ja
Priority to US11/701,385 priority patent/US7822945B2/en
Publication of JP2007207136A publication Critical patent/JP2007207136A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Advance Control (AREA)
  • Microcomputers (AREA)

Abstract

【課題】少ないハードウェア資源でプロセッサ処理を高速化することが可能なデータ処理装置及びデータ処理方法を提供することにある。
【解決手段】本発明によるデータ処理装置は、与えられた処理を実行するプロセッサ部100と、バス113を介してプロセッサ部100に接続される動的再構成デバイス107とを具備し、プロセッサ部100は、与えられた処理が動的再構成デバイス107で実行可能かを判定し、実行可能である場合、動的再構成デバイス107に処理の実行要求を発行し、動的再構成デバイス107は、実行要求に応答して構成を変更し、処理を実行する。
【選択図】図1

Description

本発明は、プロセッサ処理に関し、特に再構成可能なロジック回路を用いてデータ処理を実行するプロセッサ処理に関する。
近年、ネットワーク速度の高速化にともない、プロセッサの性能がボトルネックになっている。このような問題を解決するものとして、従来はプロセッサの処理であった暗号処理やプロトコルスタックの処理をハードウェアにオフロードして、処理の高速化を実現する手段が広く知られている。例えば暗号・復号処理においては、暗号・復号処理を行う専用ハードウェアをプロセッサのバスに接続して、ソフトウェア処理において暗号・復号処理の部分は専用ハードウェアを呼び出して処理を実行する方法がある(非特許文献1)。又、プロセッサの内部に暗号・復号処理を行う専用回路を内蔵する方法もある(非特許文献2参照)。
しかしながら、高速化を実現するためにオフロードされたハードウェアブロックは、その機能を変更することができないため、実現できる機能が限定される。このため、ハードウェアで高速化できる処理が限られ、さまざまな処理への対応ができない。又、プロセッサに入力されるデータの種別によっては、高速化したい処理の対象が異なる場合があり、その場合は単一機能を実現するハードウェアでは効果が得られず、必ずしも処理の高速化が図られるとは限らない。
このため、オフロードされたハードウェア回路を動作中に変更し、様々な処理を実行する動的再構成(リコンフィギアブル)回路が知られている。
公知例として、特開2003−208305号公報に、回路の動的再構成に要する時間が処理性能に及ぼす影響を小さく抑えたデータ処理装置が記載されている(特許文献1参照)。
特許文献1に記載のデータ処理装置は、データ処理において、CPUによる第1のメモリ及び第3のメモリを用いた処理と並行して、制御部が再構成情報用メモリの内容に従って再構成可能ロジック回路を構成する処理を行い、再構成可能ロジック回路の構成が終了した後に、CPUに代わって再構成可能ロジック回路が第2のメモリ及び第3のメモリを用いて処理を行う。
しかしながら、再構成情報用メモリ領域は限られており、再構成して実行したい処理が多数ある場合、再構成情報用メモリを拡張するか外部メモリを使用して再構成に必要な再構成情報(コンフィグデータ)を保持する必要がある。再構成情報用メモリを拡張すると回路面積が大きくなり、コストが増大する。又、外部メモリ内のコンフィグデータを利用して構成を変更するとコンフィグデータの転送に時間がかかり、処理時間に大きくなって処理性能が低下する。
以下に本発明に関連する技術が示される。
特開2003−208305号公報に、情報処理システムの起動時に外部記憶装置内の構成情報及びマイクロ命令を主記憶装置に移動し、その構成情報に基づき起動処理を実行する障害回避情報処理システムが記載されている(特許文献2参照)。
特開平4−042342号公報に、複数のデータ転送モジュールからのバス使用要求信号を保持し、複数のデータ転送モジュールのバス使用要求の優先度を決定し、その優先度に基づき使用を許可するバス調停回路が記載されている(特許文献3参照)。
特開平11−085608号公報に、メモリをいくつかのグループに分け、メモリを割り当てる優先順位を各グループにつけ、メモリの割り当て要求に応答して優先順位の高いグループから領域を割り当てる計算機システムが記載されている(特許文献4参照)。
"製品ラインアップ_64ビットVRシリーズ"[online]、NECエレクトロニクス株式会社、[平成17年7月28日検索]、インターネット<URL:http://www.necel.com/micro/product/vr/vr4133/index.htm> "AES暗号エンジン"[online]、株式会社テクノクリエート、[平成17年7月28日検索]、インターネット<URL:http://www.techno-create.com/hot/aes.html> 特開2003−208305号公報 特開2001−067212号公報 特開平4−042342号公報 特開平11−085608号公報
本発明の目的は、少ないハードウェア資源でプロセッサ処理を高速化することが可能なデータ処理装置、データ処理方法、及びデータ処理プログラムを提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を括弧付きで用いて、[課題を解決するための手段]を説明する。この番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明によるデータ処理装置は、与えられた処理を実行するプロセッサ部(100、200)と、バス(113)を介してプロセッサ部(100、200)に接続される動的再構成デバイス(107)とを具備する。プロセッサ部(100、200)は、与えられた処理が動的再構成デバイス(107)で実行可能かを判定し、実行可能である場合、動的再構成デバイス(107)に処理の実行要求を発行し、動的再構成デバイス(107)は、実行要求に応答して構成を変更し、処理を実行する。
このように、バス(113)を介して接続される動的再構成デバイス(107)において処理が可能な場合のみ動的再構成デバイス(107)で処理を実行し、不可能な場合は、プロセッサ部(100、200)内の処理部(101−1〜n)において処理を実行するため、プロセッサ部(100、200)における処理の負担が軽減される。
動的再構成デバイス(107)は、構成を変更するためのコンフィグ情報を格納する内部コンフィグメモリ(109)を有している。プロセッサ部(100、200)は、内部コンフィグメモリ(109)内に、与えられた処理に対応するコンフィグ情報が格納されている場合、与えられた処理が動的再構成デバイス(107)で実行可能であると判定する。動的再構成デバイス(107)は、外部装置内、例えば外部コンフィグメモリ(111)内のコンフィグ情報を使用して構成を変更して処理するよりも、内部コンフィグメモリ(109)内のコンフィグ情報を使用して構成を変更して処理を実行する方が、処理速度は速い。従って、プロセッサ部(100、200)は、内部コンフィグメモリ(109)内に実行すべき処理に対応するコンフィグ情報がある時に、当該処理の実行要求を動的再構成デバイス(107)に発行することで、処理速度の向上が期待できる。
又、バス(113)に接続される外部コンフィグメモリ(111)とコンフィグ制御部(105、205)とを更に具備することが好ましい。コンフィグ制御部(105、205)は、外部コンフィグメモリ(111)内のコンフィグ情報に付与された優先度(301)に応じて、外部コンフィグメモリ(111)内のコンフィグ情報を内部コンフィグメモリ(109)に転送する。このため、優先度の高い(所定の優先度より高い)コンフィグのみを内部コンフィグメモリ(109)に格納することができる。
更に、前記コンフィグ制御部(105、205)は、コンフィグ情報に対応する処理の呼び出し回数に応じて、外部コンフィグメモリ(111)内のコンフィグ情報を内部コンフィグメモリ(109)に転送することが好ましい。このため、実行頻度の高い処理に対応するコンフィグ情報を内部コンフィグメモリ(109)に格納しておくことができる。すなわち、実行頻度の高い処理を、動的構成デバイス(107)に実行させることができ、プロセッサ部の負担を軽減することができる。
更に、バス(113)に接続され、バス(113)をモニタして動的再構成デバイス(117)へのアクセスを監視するバスモニタ部(204)を備えることが好ましい。この際、プロセッサ部(100、200)は、バスモニタ部(204)の監視結果に基づいて、内部コンフィグメモリ(109)内に、与えられた処理に対応するコンフィグ情報が格納されているか否かを判定する。このように、コンフィグ情報の転送状況をプロセッサ部(100、200)の外部で行うことで、更にプロセッサ部(100、200)の負担を軽減することができる。
本発明によるデータ処理装置は、このような構成により、プロセッサ部(100、200)において処理を実行しつつ、動的再構成デバイス(107)の構成を切り替えながら処理を実行することができる。
本発明によるデータ処理装置、データ処理方法、及びデータ処理プログラムによれば、少ないハードウェア資源でプロセッサ処理を高速化することが可能となる。
以下、添付図面を参照して、本発明にデータ処理装置の実施の形態が説明される。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示している。
(第1の実施の形態)
(構成)
図1は、本発明によるデータ処理装置の第1の実施の形態における構成を示すブロック図である。図1を参照して、本発明によるデータ処理装置は、処理対象となるデータの入出力処理を行う入出力処理部104と、入力されたデータの処理を実行するためのプロセッサ部100と、回路構成を数十ナノ秒のオーダで切り替えながら実行することが可能な動的再構成回路を含む動的再構成デバイス107と、動的再構成回路の構成を変更するための設定情報(コンフィグ)を格納しておくための外部コンフィグメモリ111と、外部コンフィグメモリ111の内容を動的再構成デバイス107へ転送するためのコンフィグ制御部105とを備える。これらの各デバイスはバス113によって相互に接続される。バスとしては、プロセッサのローカルバスや標準規格であるPCI(Peripheral Components Interconnect bus)などがある。入出力処理部104は、例えばネットワーク装置におけるイーサネット(登録商標)デバイスなどが使用される。
プロセッサ部100は、動的再構成デバイス107で実行できない処理を実行する第1処理部101−1〜第n処理部101−nと、外部コンフィグメモリ111内のコンフィグの使用履歴(動的再構成デバイス107における処理履歴)や使用優先度、動的再構成デバイス107におけるコンフィグの使用現況等を管理するコンフィグ管理部103と、入出力処理部104から入力されたデータを処理する際、動的再構成デバイス107で処理可能かどうかをコンフィグ管理部103が有する管理情報を基に判断するオフロード処理判定部102とを備える。
動的再構成デバイス107は、回路構成を変更することで処理内容を切り替えることが可能な動的再構成ブロック108と、動的再構成ブロック108の回路構成を変更するための設定情報(コンフィグ)を格納しておくための内部コンフィグメモリ109とから構成される。動的再構成ブロック108は、プロセッサ部100から指定された内部コンフィグメモリ109内のコンフィグに基づき回路構成を変更する再構成制御部(図示なし)と再構成制御部によって回路構成が変更される動的再構成回路(図示なし)とを備える。内部コンフィグメモリ109は、処理1に対応する第1のコンフィグを格納する第1のコンフィグ領域110−1〜処理mに対応する第mのコンフィグを格納する第mのコンフィグ領域110−mを有し、最大m個のコンフィグがそれぞれの処理に対応付けられて格納される。この際、処理内容を識別する識別子に対応付けられて格納されることが好ましい。又、内部コンフィグメモリ109に格納されるコンフィグについては動的再構成ブロック108を数十ナノ秒のオーダで切り替えることが可能である。
外部コンフィグメモリ111には、n(>m)個のコンフィグを格納できる領域を有しており、各領域には、動的再構成デバイス107で実行可能なn個の処理の各々に対応する第1のコンフィグ112−1〜第nのコンフィグ112−nが格納されている。この際、処理内容を識別するコンフィグ内容(あるいは、コンフィグを識別する識別子)に対応付けられて格納されていることが好ましい。コンフィグ制御部105は、プロセッサ部100内のコンフィグ管理部103からの転送要求に応答し、コンフィグ管理テーブル300に記録されている利用頻度に基づき外部コンフィグメモリ111内のコンフィグを内部コンフィグメモリ109に転送する。コンフィグ制御部105は、例えばDMAC(Direct Memory Access Controller)が利用できる。
コンフィグ管理部103は、コンフィグの管理情報として、各処理に対応するコンフィグの外部コンフィグメモリ111から内部コンフィグメモリ109への転送状況、使用回数、及び優先度等の処理状況(処理履歴)を管理する処理管理テーブル300と、内部コンフィグメモリ109内のコンフィグ領域の使用状況を管理するためのコンフィグメモリ管理テーブル304とを有している。
図3(a)は、本発明に係る処理管理テーブル300の構成図である。図3(a)を参照して、処理管理テーブル300は、外部コンフィグメモリ111内の第1の処理から第nの処理について、処理を動的再構成デバイス107で実行するための優先度301と、動的再構成デバイス107の内部コンフィグメモリ109にコンフィグが格納されているかどうかを示す転送状況302と、プロセッサ部100からの処理の呼び出し回数303が記録される。
図3(b)は、本発明に係るコンフィグメモリ管理テーブル304の構成図である。図3(b)を参照して、コンフィグメモリ管理テーブル304は、動的再構成デバイス107の内部コンフィグメモリ109におけるコンフィグ領域110の使用/未使用の情報305と、使用しているコンフィグ領域に格納されているコンフィグに対応する処理の内容が判断できる情報(コンフィグ内容)306が記録される。このコンフィグ内容306はコンフィグを識別する識別子でもよいし、この識別子に対応付けられた情報でもよい。
(動作)
図4及び図5を参照して、本発明によるデータ処理装置の実施の形態におけるデータ処理及びコンフィグ管理処理の動作が説明される。本説明では、受信したデータに対して、第1の処理および第2の処理を実行する場合について説明される。
(データ処理動作)
図4は、本発明によるデータ処理装置のデータ処理の動作を示すフロー図である。図4を参照して、入出力処理部104で受信したデータは、メモリ106に格納される。入出力処理部104は、プロセッサ部100にデータを受信したことが通知する(ステップS400)。
プロセッサ部100は、内部に備えるプログラムカウンタ(図示なし)に応答して、受信したデータに対し第1の処理を実行するための指令(呼び出し指令)をオフロード処理判定部102に発行する(ステップS401)。呼び出し指令を受け付けたオフロード処理判定部102は、コンフィグ管理部103で管理している処理管理テーブル300を参照して、動的再構成デバイス107で第1の処理が実行可能かどうかを判断する(ステップS402)。詳細には、処理管理テーブル300の第1の処理に対応する転送状況302を参照して、第1の処理に対応するコンフィグが動的再構成デバイス107の内部コンフィグメモリ109に転送されているか否かを確認する。
ステップS402において、第1の処理に対応する転送状況302が“転送中”、すなわち動的再構成デバイス107で第1の処理が実行可能である場合(ステップS402Yes)、内部コンフィグメモリ109の第1の処理に対応するコンフィグを動的再構成ブロック108に適用して第1の処理を実行する(ステップS403)。詳細には、オフロード処理判定部102は、第1の処理に対応するコンフィグの識別子とともに第1の処理の実行指令を動的再構成デバイス107に発行する。実行指令とコンフィグの識別子を受け取った動的再構成デバイス107の動的再構成ブロック108は、識別子に対応するコンフィグを内部コンフィグメモリ109から抽出し、これを用いて動的再構成回路を再構成し、メモリ106にあるデータに対し第1の処理を実行する。動的再構成デバイス107は、第1の処理を終了すると、実行結果をメモリ106に格納し、処理完了をプロセッサ部100に通知する。
動的再構成デバイス107から、第1の処理に関する処理完了の通知を受け付けると、プロセッサ部100のコンフィグ管理部103は、処理管理テーブル300の呼び出し回数303を更新する(第1の処理に対する呼び出し回数を1つ増加する)(ステップS404)。
ステップS402において、第1の処理に対応する転送状況302が“転送していない”、すなわち動的再構成デバイス107で第1の処理が実行可能でない場合(ステップS402No)、プロセッサ部100の第1の処理に対応する第1処理部101−1で処理を実行する(ステップS405)。第1処理部101−1は第1の処理を終了すると、実行結果をメモリ106に格納し、処理完了をコンフィグ管理部103に通知する。
第1処理部101−1から、第1の処理に関する処理完了の通知を受け付けると、コンフィグ管理部103は、処理管理テーブル300の呼び出し回数303を更新する(第1の処理に対する呼び出し回数を1つ増加する)(ステップS404)。
プロセッサ部100は、受信したデータに対する処理がすべて終了したかを判定する(ステップS407)。ここでは、第2の処理を行う必要があるため、プロセッサ部100は、内部に備えるプログラムカウンタ(図示なし)に応答して、受信したデータに対し第2の処理を実行するための指令(呼び出し指令)をオフロード処理判定部102に発行する(ステップS401)。第2の処理に関するフローは、第1の処理に関するフローと同様であるため省略される。ステップS407において、実行すべき処理がない場合、受信したデータに対する処理を終了し、処理結果を入出力装置から外部装置へ送信する(ステップS408)
以上のように、本発明によるデータ処理装置は、プロセッサ部100に入力されたデータに対して実行される各処理毎に動的再構成デバイス107で処理可能かどうかを判定する。そして、動的再構成デバイス107が保有するコンフィグを用いて構成を変更して処理できる場合に限り、動的再構成デバイス107で当該処理を実行させる。すなわち、動的再構成デバイス107内にあるコンフィグを使用して動的再構成ブロック106の構成を変更して処理が行うため、外部にあるコンフィグを使用して構成するよりも高速に処理を実行することができる。
又、プロセッサ部100又は動的再構成デバイスで実行された処理は、どちらで実行されても呼び出し回数303として履歴に残されるため、コンフィグ管理部103は、使用頻度の高い処理を把握することができる。
(コンフィグ管理・転送処理動作)
動的再構成デバイス107は、内部のコンフィグメモリ109の構成に変更する場合は、高速に変更可能であるが、外部コンフィグメモリ111の構成に変更する場合は、切り替えが遅くなる。このため、コンフィグ管理部103は、高速に処理を行いたい処理に対応するコンフィグを内部コンフィグメモリ109に格納しておくようにするために、処理管理テーブル300内の情報に基づきコンフィグメモリ管理テーブル304を更新して管理し、コンフィグの転送の制御を行う。
図5は、本発明によるデータ処理装置のコンフィグ管理・転送処理の動作を示すフロー図である。図5を参照して、コンフィグ管理部103によるコンフィグ管理・転送処理の動作が説明される。
コンフィグ管理部103は、処理管理テーブル300の呼び出し回数303を参照して、規定回数以上の呼び出しがある処理があるかどうかを監視する(ステップS500)。この監視は、一定時間毎に実施されても良いし、データ処理の実行の都度行われても良い。
ステップS500において、処理管理テーブル300に規定回数以上の呼び出し回数を有する処理が記録されていない場合、処理管理テーブル300で管理している全ての処理の中から動的再構成デバイス107で実行すべき処理に対応するコンフィグを、転送候補のコンフィグとして選択する(ステップS514)。例えば、優先度が高く(優先度が閾値以上、あるいは、優先度の最も高い)、呼び出し回数が多い(呼び出し回数が最も高い)処理に対応するコンフィグを転送候補のコンフィグとして選択する。次に動的再構成デバイス107の内部コンフィグメモリ109の利用状況をコンフィグメモリ管理テーブル304を参照して確認する(ステップS516)。詳細には、内部コンフィグメモリ109の第1のコンフィグ領域110−1〜第mのコンフィグ領域110−mに対する使用/未使用を示すフラグ305を参照して各領域にコンフィグが格納されているかどうかを判定する。未使用の領域がある場合(ステップS516Yes)、コンフィグ管理部103はコンフィグ制御部105に対し、未使用のコンフィグ領域を指定して、コンフィグの転送要求を発行する。この際、転送候補のコンフィグを識別する識別子をコンフィグ制御部105に送信する。コンフィグ制御部105は、転送要求に応答し、転送候補のコンフィグの識別子に対応するコンフィグを外部コンフィグメモリ111から抽出し、指定されたコンフィグ領域に転送、格納する(ステップS518)。ステップS516において未使用の領域がない場合(ステップS516No)、コンフィグ管理処理を終了する。
ステップS500において、処理管理テーブル300に規定回数以上の呼び出し回数を有する処理が記録されている場合、その処理に対応するコンフィグを転送候補のコンフィグとして選択する(ステップS502)。規定回数以上の呼び出し回数を有する処理に対応するコンフィグが複数ある場合は、転送候補のコンフィグを複数選択しても構わない。次に、動的再構成デバイス107の内部コンフィグメモリ109の利用状況をコンフィグメモリ管理テーブル304を参照して確認する(ステップS506)。詳細には、内部コンフィグメモリ109の第1のコンフィグ領域110−1〜第mのコンフィグ領域110−mに対する使用/未使用を示すフラグ305を参照して各領域にコンフィグが格納されているかどうかを判定する。未使用の領域がある場合(ステップS504Yes)、コンフィグ管理部103は、コンフィグ制御部105に対し、未使用のコンフィグ領域を指定して、コンフィグの転送要求を発行する。この際、転送候補のコンフィグを識別する識別子をコンフィグ制御部105に送信する。コンフィグ制御部105は、転送要求に応答し、転送候補のコンフィグの識別子に対応するコンフィグを外部コンフィグメモリ111から抽出し、指定されたコンフィグ領域に転送、格納する(ステップS506)。
ステップS504において、内部コンフィグメモリ109内に未使用の領域がない場合(ステップS504No)、あるいは、ステップ504Yesにおいて、転送先に指定されたコンフィグ領域の数が、転送候補のコンフィグの数より少ない場合、コンフィグ管理部103は、内部コンフィグメモリ109内の書き換え可能な領域を指定し、転送候補のコンフィグをその領域に転送させる。コンフィグ管理部103は、処理管理テーブル300を参照して、動的再構成デバイス107において処理可能で(転送状況302で確認)、優先度301及び呼び出し回数303を参照して書き換え可能なコンフィグを選択する(ステップS508)。例えば優先度が低く、呼び出し回数がある値以下のコンフィグを書き換え可能として判定する。コンフィグ管理部103は、書き換え可能と判定したコンフィグの識別子を書き換え要求とともにコンフィグ制御部105に発行する。コンフィグ制御部105は、書き換え要求に応答して、書き換え可能なコンフィグが格納されているコンフィグ領域110に転送候補のコンフィグを転送して書き換える(ステップS510)。詳細には、コンフィグ制御部105は、コンフィグメモリ管理テーブル304を参照し、書き換え可能と判定したコンフィグの識別子に対応する(又は一致する)コンフィグ内容306から、書き換え可能なコンフィグが格納されているコンフィグ領域を検索する。そして、転送候補のコンフィグの識別子と一致するコンフィグを外部コンフィグメモリ111から抽出して、書き換え可能なコンフィグが格納されているコンフィグ領域110に転送してコンフィグを書き換える。
ステップS506、S510、S518において、外部コンフィグメモリ111から内部コンフィグメモリ109にコンフィグを転送すると、コンフィグ管理部103は、処理管理テーブル300の転送状況302を動的再構成デバイス107で処理可能であることを示すように変更し呼び出し回数303をクリアする。詳細には、コンフィグ管理部103は、転送したコンフィグの識別子に対応する処理の転送状況302のフラグを“転送”にし、呼び出し回数303を0にする。又、コンフィグメモリ管理テーブル304の、該当する領域の使用/未使用情報305を使用状態に変更し、コンフィグ内容306に、転送したコンフィグに対応する処理の内容(又はコンフィグの識別子)を格納して更新する(ステップS512)。
以上のように、本発明に係るプロセッサ部100内のコンフィグ管理部103によって、動的再構成デバイス107に転送されたコンフィグを管理することができる。又、優先度や使用頻度の高いコンフィグを優先的に動的再構成デバイス107に転送しておくことができるため、外部コンフィグメモリ111からコンフィグを読み込んで使用する頻度が少なくなり、動的再構成デバイス107における処理速度を向上することができる。
(第2の実施の形態)
次に、図2を参照して、本発明によるデータ処理装置の第2の実施の形態が説明される。
(構成)
図2は、本発明によるデータ処理装置の第2の実施の形態における構成を示すブロック図である。第2の実施の形態におけるデータ処理装置の構成は、第1の実施の形態におけるコンフィグ管理部103がプロセッサ部の外部に設けられた構成である。すなわち、第2の実施の形態におけるデータ処理部は、コンフィグの転送に係るコンフィグ管理処理及びコンフィグ転送制御処理をプロセッサ部の外部で実施する。図2を参照して、第2の実施の形態におけるデータ処理装置は、処理対象となるデータの入出力処理を行う入出力処理部104と、入力されたデータの処理を実行するためのプロセッサ部200と、回路構成を数十ナノ秒のオーダで切り替えながら実行することが可能な動的再構成回路を含む動的再構成デバイス107と、動的再構成回路の構成を変更するための設定情報(コンフィグ)を格納しておくための外部コンフィグメモリ111と、外部コンフィグメモリ111の内容を動的再構成デバイス107へ転送するためのコンフィグ管理及び転送制御を行うコンフィグ制御ブロック202とを備える。これらの各デバイスはバス113によって相互に接続される。ここで、第1の実施の形態と同一符号の構成は、第1の実施の形態で説明された動作及び構成であるので説明は省略される。
プロセッサ部200は、動的再構成デバイス107で実行できない処理を実行する第1処理部101−1〜第n処理部101−nと、入出力処理部104から入力されたデータを処理する際、動的再構成デバイス107で処理可能かどうかを、コンフィグ制御ブロック202から得られた管理情報を基に判断するオフロード処理判定部201とを備える。
コンフィグ制御ブロック202は、コンフィグメモリ111内のコンフィグの使用履歴(動的再構成デバイス107における処理履歴)や使用優先度、動的再構成デバイス107におけるコンフィグの使用現況等を管理するコンフィグ管理部203と、バス113をモニタして動的再構成デバイス107におけるコンフィグの呼び出し状況を監視するバスモニタ部204と、コンフィグ管理部203とプロセッサ部200(オフロード処理判定部201)からの情報をもとに、コンフィグの転送を判断し、必要であれば転送処理を行うコンフィグ制御部205とを具備する。
(動作)
(データ処理動作)
図4を参照して、第2の実施の形態におけるデータ処理は、第1の実施の形態におけるステップS402において、オフロード処理判定部201が動的再構成デバイス107で処理可能かどうかを判断する場合に、コンフィグ制御ブロック202へ問い合わせを行う点を除いて、第1の実施の形態と同様である。詳細には、オフロード処理判定部201から問い合わせを受けたコンフィグ制御ブロック202のコンフィグ管理部203は、処理管理テーブル300の指定された処理に対応する転送状況302をオフロード処理判定部201に送信する。オフロード処理判定部201はこの転送状況302を参照して当該処理を動的再構成デバイス107で実行可能かどうかを判断する。
(コンフィグ管理・転送処理動作)
図5を参照して、第2の実施の形態におけるコンフィグ管理・転送処理は、第1の実施の形態におけるステップS512において、コンフィグ管理部203が処理管理テーブル300を更新する際の動作が異なる点を除き、第1の実施の形態と同様である。詳細には、コンフィグ管理部203が処理管理テーブル300の呼び出し回数303を更新する際、プロセッサ部200において処理が実行された場合、処理の呼び出し情報はプロセッサ部200からの通知に基づき更新し、動的再構成デバイス107で処理が実行された場合、処理の呼び出し情報は、バスモニタ機能204で収集した情報に基づき更新を行う。
このように、第2の実施の形態におけるデータ処理装置は、コンフィグの管理ブロックをプロセッサの外部に設けることにより、従来プロセッサ処理で行っていたコンフィグ管理処理を外部で行うことが可能となり、プロセッサの負荷を低減できるという効果が得られる。
以上のように、本発明によるデータ処理装置は、動的再構成デバイスを切り替えながら処理を実行し、さらには処理の呼び出し頻度や優先度に応じて外部コンフィグメモリから動的再構成デバイスのコンフィグメモリにコンフィグを転送する。このため、入力されたデータの処理において少ないハードウェア資源で処理の高速化をはかることが可能となる。又、処理の呼び出し頻度や優先度に応じて外部コンフィグメモリから動的再構成デバイスのコンフィグメモリにコンフィグを転送するための仕組みをプロセッサの外部に設けたため、プロセッサの負荷を低減することができる。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
図1は、本発明によるデータ処理装置の第1の実施の形態における構成を示すブロック図である。 図2は、本発明によるデータ処理装置の第2の実施の形態における構成を示すブロック図である。 図3(a)は、本発明に係る処理管理テーブルの構成の一例である。図3(b)は、本発明に係るコンフィグメモリ管理テーブルの構成の一例である。 図4は、本発明によるデータ処理装置におけるデータ処理の動作を示すフローである。 図5は、本発明によるデータ処理装置におけるコンフィグ管理・転送処理の動作を示すフローである。
符号の説明
100、200:プロセッサ部
101−1〜101−n:第1〜第n処理部
102、201:オフロード処理判定部
103、203:コンフィグ管理部
104:入出力処理部
105、205:コンフィグ制御部
106:メモリ
107:動的再構成デバイス
108:動的再構成ブロック
109:コンフィグメモリ
110−1〜110−m:第1〜第mのコンフィグ領域
111:外部コンフィグメモリ
112−1〜112−n:第1〜第nの処理のコンフィグ
204:バスモニタ機能
300:処理管理テーブル
301:優先度
302:転送状況
303:呼び出し回数
304:コンフィグメモリ管理テーブル
305:使用/未使用情報
306:コンフィグ内容

Claims (11)

  1. 与えられた処理を実行するプロセッサ部と、
    バスを介して前記プロセッサ部に接続される動的再構成デバイスとを具備し、
    前記プロセッサ部は、与えられた処理が前記動的再構成デバイスで実行可能かを判定し、実行可能である場合、前記動的再構成デバイスに前記処理の実行要求を発行し、
    前記動的再構成デバイスは、前記実行要求に応答して構成を変更し、前記処理を実行する
    データ処理装置。
  2. 請求項1に記載のデータ処理装置において、
    前記動的再構成デバイスは、構成を変更するためのコンフィグ情報を格納する内部コンフィグメモリを有し、
    前記プロセッサ部は、前記内部コンフィグメモリ内に、与えられた処理に対応するコンフィグ情報が格納されている場合、前記処理が前記動的再構成デバイスで実行可能であると判定する
    データ処理装置。
  3. 請求項2に記載のデータ処理装置において、
    前記バスに接続される外部コンフィグメモリとコンフィグ制御部とを更に具備し、
    前記コンフィグ制御部は、前記外部コンフィグメモリ内のコンフィグ情報に付与された優先度に応じて、前記外部コンフィグメモリ内のコンフィグ情報を前記内部コンフィグメモリに転送する
    データ処理装置。
  4. 請求項2又は3に記載のデータ処理装置において、
    前記コンフィグ制御部は、コンフィグ情報に対応する処理の呼び出し回数に応じて、前記外部コンフィグメモリ内のコンフィグ情報を前記内部コンフィグメモリに転送する
    データ処理装置。
  5. 請求項2から4いずれか1項に記載のデータ処理装置において、
    前記バスに接続され、前記バスをモニタして前記動的再構成デバイスへのアクセスを監視するバスモニタ部を更に備え、
    前記プロセッサ部は、前記バスモニタ部の監視結果に基づいて、前記内部コンフィグメモリ内に、与えられた処理に対応するコンフィグ情報が格納されているか否かを判定する
    データ処理装置。
  6. プロセッサ部が、入力されたデータをメモリに格納するステップと、
    プロセッサ部が、前記データに対して与えられた処理が、バスを介して前記プロセッサ部に接続される動的再構成デバイスにおいて実行可能かを判定するステップと、
    前記動的再構成デバイスで前記処理が実行可能である場合、前記プロセッサ部が、前記動的再構成デバイスに対し前記データに対して前記処理を実行するための要求を発行するステップと、
    前記動的再構成デバイスが、前記実行要求に応答して構成を変更し、前記処理を実行するステップとを具備する
    データ処理方法。
  7. 請求項6に記載のデータ処理方法において、
    プロセッサ部が、前記データに対して与えられた処理が動的再構成デバイスで実行可能かを判定するステップは、
    前記プロセッサ部が、前記動的再構成デバイス内に、前記与えられた処理を実行する構成に変更するためのコンフィグ情報が格納されているかどうかを判定するステップを含む
    データ処理方法。
  8. 請求項7に記載のデータ処理方法において、
    コンフィグ制御部が、前記バスを介して前記プロセッサ部に接続される外部コンフィグメモリ内に格納されたコンフィグ情報に付与された優先度に応じて、前記外部コンフィグメモリ内のコンフィグ情報を前記動的再構成デバイスに転送するステップを更に備える
    データ処理方法。
  9. 請求項7又は8に記載のデータ処理方法において、
    前記コンフィグ制御部が、コンフィグ情報に対応する処理の呼び出し回数に応じて、前記外部コンフィグメモリ内のコンフィグ情報を前記動的再構成デバイスに転送する
    データ処理方法。
  10. 請求項7から9いずれか1項に記載のデータ処理方法において、
    前記バスに接続されたバスモニタ部が、前記バスをモニタして前記動的再構成デバイスへのアクセスを監視するステップを更に備え、
    前記プロセッサ部が、前記バスモニタ部の監視結果に基づいて、前記動的再構成デバイス内に、前記与えられた処理に対応するコンフィグ情報が格納されているか否かを判定するステップを備える
    データ処理方法。
  11. 請求項6から10に記載のデータ処理方法をコンピュータに実行させる
    データ処理プログラム。
JP2006027892A 2006-02-06 2006-02-06 データ処理装置、データ処理方法、及びデータ処理プログラム Pending JP2007207136A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006027892A JP2007207136A (ja) 2006-02-06 2006-02-06 データ処理装置、データ処理方法、及びデータ処理プログラム
US11/701,385 US7822945B2 (en) 2006-02-06 2007-02-02 Configuration managing device for a reconfigurable circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006027892A JP2007207136A (ja) 2006-02-06 2006-02-06 データ処理装置、データ処理方法、及びデータ処理プログラム

Publications (1)

Publication Number Publication Date
JP2007207136A true JP2007207136A (ja) 2007-08-16

Family

ID=38335445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006027892A Pending JP2007207136A (ja) 2006-02-06 2006-02-06 データ処理装置、データ処理方法、及びデータ処理プログラム

Country Status (2)

Country Link
US (1) US7822945B2 (ja)
JP (1) JP2007207136A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087098A1 (ja) * 2009-01-30 2010-08-05 日本電気株式会社 並列演算装置、情報処理システム、並列演算方法、および情報処理装置
JP2010250411A (ja) * 2009-04-13 2010-11-04 Hitachi Ltd 計算機システム及び管理方法
JP2010287159A (ja) * 2009-06-15 2010-12-24 Fujitsu Ltd 信号処理システム、信号処理モジュール、及びこれらの動作方法
JP2011511544A (ja) * 2008-02-01 2011-04-07 サントル ナシオナル ドゥ ラ ルシェルシェサイアンティフィク(セエヌエールエス) 電子回路の要素セットを再構成するための方法、対応する再構成システム及び対応するデータ送信方法
JP2012181824A (ja) * 2011-02-08 2012-09-20 Canon Inc 再構成デバイス、処理割当て方法及びプログラム
JP2013218527A (ja) * 2012-04-09 2013-10-24 Mitsubishi Electric Corp グラフィックス描画装置
JP2013251889A (ja) * 2012-04-30 2013-12-12 Semiconductor Energy Lab Co Ltd 半導体装置
JP2014509106A (ja) * 2011-01-13 2014-04-10 ザイリンクス インコーポレイテッド 集積回路におけるプロセッサシステムの拡張
US9438238B2 (en) 2013-08-16 2016-09-06 Fuji Xerox Co., Ltd. Data processing apparatus, data processing method, and non-transitory computer readable medium having reconfiguration inhibiting function
JP2018132981A (ja) * 2017-02-16 2018-08-23 日本電気株式会社 アクセラレータを有する情報処理装置および情報処理方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6428309B2 (ja) * 2015-01-27 2018-11-28 富士通株式会社 演算処理システムおよび演算処理システムの制御方法
KR102559581B1 (ko) * 2018-05-23 2023-07-25 삼성전자주식회사 재구성 가능 로직을 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US12608222B2 (en) * 2022-04-13 2026-04-21 Sambanova Systems, Inc System for the remote execution of applications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175183A (ja) * 2000-12-06 2002-06-21 Matsushita Electric Ind Co Ltd 半導体集積回路
JP2003208305A (ja) * 2002-01-10 2003-07-25 Matsushita Electric Ind Co Ltd データ処理装置
JP2003524969A (ja) * 2000-02-15 2003-08-19 インテル・コーポレーション コンピュータのための再構成可能なロジック
JP2004070869A (ja) * 2002-08-09 2004-03-04 Sony Corp 演算システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206951A (en) 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
JPH0442342A (ja) 1990-06-07 1992-02-12 Koufu Nippon Denki Kk バス調停回路
JPH0816530A (ja) * 1994-07-04 1996-01-19 Kurieiteibu Design:Kk コプロセサシステムおよび補助演算機能付外部メモリ装置
JP3484941B2 (ja) 1997-09-05 2004-01-06 株式会社日立製作所 計算機システムにおけるメモリの利用方法
US6055650A (en) * 1998-04-06 2000-04-25 Advanced Micro Devices, Inc. Processor configured to detect program phase changes and to adapt thereto
EP1351154A2 (en) 1998-11-20 2003-10-08 Altera Corporation Reconfigurable programmable logic device computer system
US6209077B1 (en) 1998-12-21 2001-03-27 Sandia Corporation General purpose programmable accelerator board
GB9909196D0 (en) * 1999-04-21 1999-06-16 Texas Instruments Ltd Transfer controller with hub and ports architecture
JP2001067212A (ja) 1999-08-27 2001-03-16 Hitachi Ltd 障害回避情報処理システム
WO2001090887A1 (fr) 2000-05-25 2001-11-29 Fujitsu Limited Procede de traitement de programme permettant un traitement haute vitesse au moyen d'un materiel a reconfiguration dynamique et programme permettant d'executer ce procede de traitement
US20030028673A1 (en) 2001-08-01 2003-02-06 Intel Corporation System and method for compressing and decompressing browser cache in portable, handheld and wireless communication devices
JP2004005110A (ja) 2002-05-31 2004-01-08 Toshiba Corp 情報機器、ランチャプログラム
US20040216122A1 (en) 2002-07-23 2004-10-28 Charles Gram Method for routing data through multiple applications
JP3736509B2 (ja) * 2002-08-02 2006-01-18 ソニー株式会社 演算装置及びその演算方法
JP2004343559A (ja) 2003-05-16 2004-12-02 Ip Flex Kk 再構成可能な集積回路ユニットを有するデータ処理装置
JP2004362446A (ja) 2003-06-06 2004-12-24 Mitsubishi Electric Corp 計算機及び計算方法
JP4978006B2 (ja) * 2006-01-05 2012-07-18 日本電気株式会社 データ処理装置及びデータ処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003524969A (ja) * 2000-02-15 2003-08-19 インテル・コーポレーション コンピュータのための再構成可能なロジック
JP2002175183A (ja) * 2000-12-06 2002-06-21 Matsushita Electric Ind Co Ltd 半導体集積回路
JP2003208305A (ja) * 2002-01-10 2003-07-25 Matsushita Electric Ind Co Ltd データ処理装置
JP2004070869A (ja) * 2002-08-09 2004-03-04 Sony Corp 演算システム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011511544A (ja) * 2008-02-01 2011-04-07 サントル ナシオナル ドゥ ラ ルシェルシェサイアンティフィク(セエヌエールエス) 電子回路の要素セットを再構成するための方法、対応する再構成システム及び対応するデータ送信方法
WO2010087098A1 (ja) * 2009-01-30 2010-08-05 日本電気株式会社 並列演算装置、情報処理システム、並列演算方法、および情報処理装置
US9021234B2 (en) 2009-01-30 2015-04-28 Nec Corporation Indirect designation of physical configuration number as logical configuration number based on correlation information, within parallel computing
JP2010250411A (ja) * 2009-04-13 2010-11-04 Hitachi Ltd 計算機システム及び管理方法
JP2010287159A (ja) * 2009-06-15 2010-12-24 Fujitsu Ltd 信号処理システム、信号処理モジュール、及びこれらの動作方法
JP2014509106A (ja) * 2011-01-13 2014-04-10 ザイリンクス インコーポレイテッド 集積回路におけるプロセッサシステムの拡張
JP2012181824A (ja) * 2011-02-08 2012-09-20 Canon Inc 再構成デバイス、処理割当て方法及びプログラム
JP2013218527A (ja) * 2012-04-09 2013-10-24 Mitsubishi Electric Corp グラフィックス描画装置
JP2013251889A (ja) * 2012-04-30 2013-12-12 Semiconductor Energy Lab Co Ltd 半導体装置
US9438238B2 (en) 2013-08-16 2016-09-06 Fuji Xerox Co., Ltd. Data processing apparatus, data processing method, and non-transitory computer readable medium having reconfiguration inhibiting function
JP2018132981A (ja) * 2017-02-16 2018-08-23 日本電気株式会社 アクセラレータを有する情報処理装置および情報処理方法

Also Published As

Publication number Publication date
US20070186218A1 (en) 2007-08-09
US7822945B2 (en) 2010-10-26

Similar Documents

Publication Publication Date Title
JP6022650B2 (ja) バーチャルマシンの間でサービスチェーンフローパケットを経路指定するための技術
US11200486B2 (en) Convolutional neural networks on hardware accelerators
US10452971B2 (en) Deep neural network partitioning on servers
EP3283974B1 (en) Systems and methods for executing software threads using soft processors
EP2157511B1 (fr) Procédé d'acheminement d'un signal d'interruption directement vers une unité de traitement virtuelle dans un système à une ou plusieurs unités de traitement physiques
US20160154752A1 (en) Dynamic thread status retrieval using inter-thread communication
JP2022549527A (ja) データ処理方法、装置、分散型データフロープログラミングフレームワーク及び関連コンポーネント
CN112217746A (zh) 云计算系统中报文处理的方法、主机和系统
JP2007207136A (ja) データ処理装置、データ処理方法、及びデータ処理プログラム
CN112181585A (zh) 虚拟机的资源分配方法及装置
WO2011148563A1 (ja) 情報処理システム
JP2016220126A (ja) ネットワーク処理システム、ネットワークシステムの管理方法及び通信装置
JP2016115065A (ja) 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム
JP5754504B2 (ja) 管理装置、情報処理装置、情報処理システム及びデータ転送方法
CN117290049A (zh) 动态容器层切换
JP5420477B2 (ja) 情報サービスシステム
JP2014186411A (ja) 管理装置、情報処理システム、情報処理方法、及びプログラム
US10353857B2 (en) Parallel processing apparatus and method for controlling communication
US9753769B2 (en) Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof
CN111143051B (zh) 通过异构资源执行人工神经网络来执行任务的系统和方法
US8346988B2 (en) Techniques for dynamically sharing a fabric to facilitate off-chip communication for multiple on-chip units
JP7313123B2 (ja) 演算システムおよび演算方法
JP6657910B2 (ja) 帯域設定方法、帯域設定プログラム、情報処理装置及び情報処理システム
KR20160073867A (ko) 네트워크 인터페이스 가상화 장치, 방법 및 이를 실행하기 위한 컴퓨터 프로그램
EP2998864B1 (en) Method, device and system for deciding on a distribution path of a task

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110324