JPH11232309A - 情報処理システム - Google Patents

情報処理システム

Info

Publication number
JPH11232309A
JPH11232309A JP10028136A JP2813698A JPH11232309A JP H11232309 A JPH11232309 A JP H11232309A JP 10028136 A JP10028136 A JP 10028136A JP 2813698 A JP2813698 A JP 2813698A JP H11232309 A JPH11232309 A JP H11232309A
Authority
JP
Japan
Prior art keywords
processing
module
program
hardware
storage device
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.)
Granted
Application number
JP10028136A
Other languages
English (en)
Other versions
JP3738802B2 (ja
Inventor
Hiroyuki Miyake
弘之 三宅
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=12240365&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH11232309(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP02813698A priority Critical patent/JP3738802B2/ja
Publication of JPH11232309A publication Critical patent/JPH11232309A/ja
Application granted granted Critical
Publication of JP3738802B2 publication Critical patent/JP3738802B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 複数個の処理モジュールからなる一連の処理
の実行に当たって、必要な情報を効率よくネットワーク
から取得して、各処理モジュールをソフトウエアとハー
ドウエアとを組み合わせて効率良く実行する。 【解決手段】 アプリケーションプログラム100を、
プログラム言語で処理を記述した複数個のソフトウエア
モジュールSMで構成する。プログラム内のソフトウエ
アモジュールが行う処理と同じ処理をプログラマブル論
理回路400に再構成する回路情報で記述したハードウ
エアモジュールHMを、ネットワーク上の転送処理能力
の高い記憶装置を選択して取得する。プログラムに記述
された処理モジュールを、ソフトウエアモジュールと、
ハードウエアモジュールのどちらで実行するかを、プロ
グラムの実行前、あるいは実行時に決める実行モジュー
ル決定手段600を設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、少なくとも処理
の一部分を、回路構成を再構成できるプログラマブル論
理回路で処理することが可能である情報処理システムに
関するものであり、特に、情報処理システムで効率の良
い処理が実行できるようにする発明に関する。
【0002】
【従来の技術】デジタル回路装置、特に特定用途向け集
積回路(ASIC)の分野において、製品の開発期間を
短縮するために、フィールドプログラマブルゲートアレ
イ(FPGA)やプログラマブルロジックデバイス(P
LD)などで構成されたプログラマブル論理回路が広く
使われている。
【0003】これらのプログラマブル論理回路は、論理
回路を記述する回路情報をこれらに読み込ませること
で、内部の論理回路と論理回路間の結線を自由に構成す
ることができる。このため、プログラマブル論理回路装
置を用いることで、従来は回路設計の終了後に数週間か
ら数か月を必要とした集積回路の作製時間が不要になる
というメリットがある。特に、米国特許第4,700,
187号の発明のような電気的に再構成可能なプログラ
マブル論理回路装置は、一度作製した回路を必要に応じ
て自由に何度でも変更できるという利点があり、プログ
ラマブル論理回路装置は、ますます広く使われるように
なってきている。
【0004】ところで、最近の論理回路は複雑さが増
し、一つのプログラマブル論理回路装置では実現できな
い規模にまで回路規模が大きくなっている。
【0005】この問題を解決するためのひとつの方法と
して、異なる時間に異なる論理回路を実現するためにプ
ログラマブル論理回路を処理の途中で再構成することが
提案されている。この方法を用いることにより、携帯情
報端末のように、装置が小型であるため、内蔵できる回
路規模に制約がある場合でも、様々な処理が比較的高速
に行えるという利点がある。
【0006】しかし、プログラマブル論理回路を再構成
するときには、回路全体の回路情報を再度読み込ませる
ため、再構成に時間がかかるという欠点がある。さら
に、処理の途中で再構成することは、処理を一時中断
し、その時のデータをプログラマブル論理回路の外部の
記憶装置に待避させ、新たな回路情報を読み込んで再構
成し、再構成前のデータと再構成に伴う新しいデータを
入力するという余分な処理が必要で、データを出し入れ
する処理は冗長なものとになる。
【0007】この問題を解決するために、米国アトメル
社の「CONFIGURABLELOGIC」という名
のデータブックに記載されているプログラマブル論理回
路、および米国ザイリンクス社の「THE PROGR
AMMABLE LOGIC」という名のデータブック
に記載されているプログラマブル論理回路では、データ
を記憶するためのデータ記憶装置を有し、回路の動作中
でも外部の記憶装置から回路情報の一部を読み込んで部
分的に再構成を行うことで、再構成するための時間を最
小に留めるようにしている。
【0008】このようなプログラマブル論理回路を情報
処理システムに用いるときの問題は、処理を、プログラ
マブル論理回路で行う処理と、マイクロプロセッサなど
の回路構成を変更できない固定的な論理回路装置で行う
処理とで、分離する技術が確立していないことである。
【0009】この問題を解決する方法のひとつとして、
特開平6−301522号公報に開示される計算機の例
がある。これを、従来例1として、図20を参照しなが
ら説明する。
【0010】すなわち、図20の従来例1においては、
計算機で実行するソースプログラム1000は、回路構
成を変更できない固定部と、プログラマブル論理回路の
ように回路構成を変更できる可変部とで構成される。ラ
イブラリ1001には、固定部の構成に関する情報と、
可変部が構成することができる回路の情報が格納されて
いる。
【0011】コンパイラ1002は、ソースプログラム
1000を解析し、ライブラリ1001を参照しなが
ら、オブジェクトコードと、ハードウエア構成データに
変換する。例えば、コンパイラ1002は、ソースプロ
グラムのフロー解析を行い、関数の頻度を検出し、その
検出した頻度に基づいて、呼び出し回数の多い関数をハ
ードウエアで処理する関数として決定し、ハードウエア
構成データ1003を作成し、出力する。
【0012】次に、コンパイラ1002は、ハードウエ
アで処理すると決めた部分を所定の可変部で処理するこ
とを示すコードを生成する。そして、このコードを、残
りのソフトウエアで処理する部分に付加してオブジェク
トコード1004を作成し、出力する。計算機1005
は、固定部と、ハードウエア構成データにより構成され
た可変部とを用いて、オブジェクトコードに応じた処理
を実行する。
【0013】このようにして、従来例1では、コンパイ
ル時に呼び出し回数の多い関数をハードウエア化するこ
とにより処理全体の高速化を図っている。
【0014】次に、前記問題を解決する従来例2とし
て、特開平5−150943号公報に開示されるコンピ
ュータ装置の場合を説明する。この従来例2において
は、プログラマブル論理回路で行う処理と、固定的な論
理回路装置で行う処理とに分離された処理を、アプリケ
ーションプログラムとして、情報処理システムとしての
コンピュータ装置で実行する。
【0015】この従来例2のコンピュータ装置は、CP
U、メモリ、プログラマブル論理回路、ハードディスク
などの外部記憶装置、およびその他の入出力インターフ
ェースで構成される。
【0016】外部記憶装置には、プログラマブル論理回
路の回路データと、アプリケーションプログラムが記憶
してある。メモリには、外部記憶装置からアプリケーシ
ョンプログラムをロードするイニシャルローディングプ
ログラムが記憶してある。
【0017】CPUは、これらのプログラムを実行する
とともに、プログラマブル論理回路に回路データを書き
込む。プログラマブル論理回路は、CPUのバスライン
に接続され、バスライン上の信号を入力し、論理処理を
施してバスラインへ信号を返す。この従来例2における
処理手順を、図21に示す。
【0018】まず、実行すべきプログラムファイルを指
定する(ステップS1)。次に、指定したプログラムフ
ァイルに回路データが含まれるか否か判別し(ステップ
S2)、含まれる場合は、回路データ書き込みプログラ
ムをロードして実行し(ステップS3)、続いて回路デ
ータをロードして(ステップS4)、その回路データを
プログラマブル論理回路に書き込む(ステップS5)。
その後、アプリケーションプログラムをロードし(ステ
ップS6)、実行する(ステップS7)。
【0019】指定したプログラムファイルに回路データ
が含まれていない場合には、ステップS2からステップ
S6に飛び、そのまま、アプリケーションプログラムを
ロードし、実行する。
【0020】以上のように、この従来例2の場合、プロ
グラマブル論理回路上の機能を用いる命令実行時に、回
路が所定の論理処理を行う。これにより、アプリケーシ
ョンごとに特殊なハードウエアを設けることなく、必要
に応じた論理回路を構成して処理の高速化を図ることが
できる。
【0021】以上に述べた処理の一部分をプログラマブ
ル論理回路で処理する情報処理システムは、ネットワー
クに接続して利用することができる。その場合の例のひ
とつとして、特開平9−74556号公報に開示される
画像再生装置を、従来例3として次に示す。
【0022】この画像再生装置は、図22に示すよう
に、処理系をプログラマブル論理回路により再構成する
ことが可能な動画像復号部1100と、動画像復号部1
100を再構成するためのプログラムと符号化された動
画像データとをネットワークNTからダウンロードする
ための受信部1200と、受信データがプログラムか動
画像データかによって伝送先を切り換える切り換え手段
1300と、該プログラムを動画像復号部1100の構
成に変更できる形式に変換するプログラム変換部140
0と、受信部1200と切り換え手段1300とプログ
ラム変換部1400と動画像復号部1100の制御を行
うための制御部1500とからなる。
【0023】動画像復号部1100は、量子化された画
像データを逆量子化するものであってその逆量子化処理
内容を変更できる逆量子化部1101と、変換された画
像データを逆変換するものであってその逆変換処理内容
を変更できる逆変換部1102とを備える。
【0024】プログラム変換部1400は、前記プログ
ラムを、動画像復号部1100の構成を変更できる形式
に変換する第1プログラム部分(ハードウエア処理部
分)と、動画像再生時において制御部1500が行う第
2プログラム部分(ソフトウエア処理部分)とに分割す
る分割部1401と、第1プログラム部分を動画像復号
部1100の構成を変更できる形式に変換する第1の変
換部(ハードウエアコンパイラ)1402と、第2プロ
グラム部分を制御部1500が解読して処理を実行でき
る形式に変換する第2の変換部(ソフトウエアコンパイ
ラ)1403とを備える。
【0025】この画像再生装置は、ネットワークNTか
ら、動画像再生用のプログラムと符号化された動画像デ
ータとを受信し、次にように動作する。
【0026】まず、論理記述言語で記述された再生アル
ゴリズムプログラムを受信部1200で受信する。受信
データは、伝送切り換え手段1300を通じてプログラ
ム変換部1400に伝送され、分割部1401でハード
ウエア処理部分とソフトウエア処理部分とに分割され
る。
【0027】ハードウエア処理部分は、第1の変換部1
402に渡され、プログラマブル論理回路(FPGA)
を書き換えることができる形式(ビットストリーム)に
変換され、逆量子化部1101と逆変換部1102とを
制御部1500からの制御によって書き換える。また、
ソフトウエア処理部分は、第2の変換部1403に渡さ
れ、プロセッサで処理できる形式に変換された後、制御
部1500に渡される。
【0028】このように構成された図22の画像再生装
置に、ネットワークNTから動画像データが送られる
と、受信部1200で受信し、切り換え手段1300に
よって動画像復号部1100に伝送され、復号データと
して出力される。
【0029】以上のようにして、逆量子化部1101と
逆変換部1102とを、回路構成が変更可能な素子で構
成することにより、異なるアルゴリズムによって再生さ
れる画像データにも対応することができ、動画像復号部
のハードウエアが最適な処理能力を有するようにしてい
る。
【0030】
【発明が解決しようとする課題】しかしながら、以上説
明した、処理の一部分をプログラマブル論理回路で処理
する情報処理システムに関する従来例1〜3は、次のよ
うな問題がある。
【0031】従来例1では、プログラマブル論理回路で
実行する処理は、ひとつのプログラム内で、呼び出し回
数の多い関数というように一元的に決めている。このた
め、情報処理システムが複数のプログラムを用いて複数
の処理を一連の処理として一度に行うときには、プログ
ラマブル論理回路を用いた処理を効率的に利用できない
欠点がある。
【0032】例えば、ひとつのプログラム内での呼び出
し回数は少ないが、一連の処理として順次に実行される
処理全体で共通に数多く呼び出される関数が存在する場
合には、プログラマブル論理回路で処理を実行した方が
効率的に良い。しかし、従来例1では、一つのプログラ
ム内で呼び出し回数の少ない当該関数の処理をプログラ
マブル論理回路で実行するようには決定することができ
ない。
【0033】また、関数によっては、対応する回路情報
のサイズが大きいため、プログラマブル論理回路に、回
路情報を再構成する時間が長くかかり、たとえ呼び出し
回数が多くともソフトウエア処理のほうが処理時間が短
い場合もあるが、従来例1では、そのような関数処理で
あっても、呼び出し回数が多いことからプログラマブル
論理回路による処理と決定してしまうことになる。
【0034】また、従来例2では、アプリケーション毎
にハードウエアで処理する部分が予め定められ、そのハ
ードウエアでの処理部分を、プログラム開始前にプログ
ラマブル論理回路に実装している。このため、ハードウ
エア処理を必要としないソフトウエア処理も回路構成が
終了するまで開始されないという問題がある。
【0035】特に、回路データのサイズが大きいためプ
ログラマブル論理回路への書き込み時間が長いときに
は、ハードウエア処理よりも処理速度の遅いソフトウエ
アで処理したほうが、全体の処理時間が短い場合もあ
る。
【0036】すなわち、従来例2の場合には、個々のハ
ードウエア処理とソフトウエア処理の処理時間だけに注
目し、プログラマブル論理回路の再構成時間も含めた処
理時間全体の短縮を考慮していないことに問題がある。
また、個々のプログラム毎にプログラマブル論理回路を
再構成しているので、複数のプログラムを実行するとき
に共通に用いられる回路も重複して構成されてしまい、
非効率であるという問題もある。
【0037】従来例3では、ネットワークから論理記述
言語で記述されたプログラムをダウンロードするので、
画像再生装置内でそのプログラムを回路情報に変換する
処理に時間がかかるという問題がある。
【0038】すなわち、論理記述言語から回路情報に変
換する処理は、論理記述言語からネットリストに変換
し、それをデバイスに合わせてテクノロジーマッピング
を行い、配置配線のレイアウト処理を施し、さらに、そ
の結果を回路情報に変換する必要がある。特に、配置配
線の処理はアルゴリズムが複雑で、時間がかかることが
知られている。
【0039】つまり、従来例3では、ネットワーク上の
サーバに格納されていてクライアントが共有するプログ
ラムに、互換性を持たせる目的で、論理記述言語のよう
な抽象度の高い記述方法を用いるために、クライアント
での前処理量が大きくなり、ハードウエア処理による処
理時間の短縮を損なうほどに全体の処理時間が長くなる
問題がある。
【0040】また、従来例3では、プログラムをネット
ワークから取得しているが、ネットワークでの伝送は、
途中で通信が切断し、プログラムをダウンロードできな
いことも起こり得るため、信頼性の点で問題がある。
【0041】さらに、ネットワーク上の伝送は、情報処
理システム内部のバスの伝送に比較すると伝送速度が遅
い。また、ネットワークやサーバーの負荷が一定ではな
く、混む場合は、転送速度が非常に遅くなるなどの問題
がある。
【0042】例えば、プログラマブル論理回路に再構成
する回路情報をネットワークから取得する場合を例に取
ると、ソフトウエア処理では時間のかかる処理を、プロ
グラマブル論理回路によるハードウエア処理に置き換え
て高速化しようとしても、そのハードウエア処理の時間
を、ネットワークからプログラムをダウンロードする最
初のステップから処理の終了までの時間と考えると、ネ
ットワークからの転送速度の不安定性による処理時間の
増大の問題は無視できなくなる。
【0043】また、プログラマブル論理回路によるハー
ドウエア処理において、ネットワーク転送時間と、回路
情報のプログラマブル論理回路への再構成時間は、本来
のハードウエアによる処理時間に対し、オーバーヘッド
となり、これが小さいほど望ましいが、ネットワーク転
送の速度が、回路情報のプログラマブル論理回路への再
構成速度よりも大幅に遅い場合には、回路情報のファイ
ルサイズが大きいほど、オーバーヘッドのうちで、ネッ
トワーク転送の部分が大きくなるという問題もある。
【0044】以上のように、以上の従来例1〜3に共通
した課題として、回路情報を取得する時間も含めたプロ
グラマブル論理回路の再構成時間と、一連の処理として
実行される複数のプログラムで共通して用いられる処理
を考慮しないで、処理をハードウエア処理とソフトウエ
ア処理に一元的に分離していることが挙げられる。
【0045】また、ネットワークを通じて必要な情報を
取得する場合の問題も、全体の処理時間や効率化の点で
解決しなければならない課題である。
【0046】この発明は、プログラマブル論理回路を利
用して一部の処理を実行できる情報処理システムにおい
て、ソフトウエアとハードウエアとを組み合わせて処理
を行う場合の処理速度など処理の効率化の問題を解決す
るとともに、必要な情報を、ネットワークから取得する
ときの上述のような問題点を解決することを目的とす
る。
【0047】
【課題を解決するための手段】上記課題を解決するた
め、請求項1の発明による情報処理システムは、一連の
処理が複数の処理モジュールに分割され、各処理モジュ
ールが、プログラム言語で処理を記述したソフトウエア
モジュールで構成されるプログラムで記述される前記一
連の処理を実行するものであり、かつ、前記一連の処理
の一部分が、プログラマブル論理回路で処理可能である
情報処理システムであって、前記プログラム内のソフト
ウエアモジュールが行う処理と同じ処理を、前記プログ
ラマブル論理回路に再構成する回路情報で記述したハー
ドウエアモジュールを、ネットワーク上の記憶装置から
入手して、前記プログラマブル論理回路を再構成するハ
ードウエアモジュール取得手段と、前記プログラムに記
述された処理モジュールを、前記ソフトウエアモジュー
ルと、前記ハードウエアモジュールのどちらで実行する
かを、前記プログラムの実行前または実行時に決める実
行モジュール決定手段と、を備え、前記ソフトウエアモ
ジュールが行う処理と同じ処理を行う前記ハードウエア
モジュールを示す識別符号が、前記プログラム内に記述
されており、前記ハードウエアモジュール取得手段は、
前記プログラム内に記述されている前記識別符号に対応
するハードウエアモジュールを、前記ネットワーク上の
記憶装置から入手するものであって、前記ネットワーク
上の複数の記憶装置から前記識別符号に対応するハード
ウエアモジュールを格納する記憶装置を検索し、該当す
る複数の記憶装置の中から前記ハードウエアモジュール
の転送速度が最も速い記憶装置を選択する検索手段と、
前記検索手段で選択された記憶装置からの前記ハードウ
エアモジュールの取得およびプログラマブル論理回路の
再構成を実行する取得実行手段と、を有することを特徴
とする。
【0048】また、請求項2の発明の情報処理システム
は、一連の処理が複数の処理モジュールに分割され、各
処理モジュールが、プログラマブル論理回路に構成する
回路情報で処理を記述したハードウエアモジュールで構
成されるプログラムで記述される前記一連の処理を実行
するものであり、かつ、前記一連の処理の一部分が、前
記プログラマブル論理回路で処理可能である情報処理シ
ステムであって、前記プログラム内のハードウエアモジ
ュールが行う処理と同じ処理をプログラム言語で記述し
たソフトウエアモジュールを記憶する記憶装置部と、前
記記憶装置部から前記ソフトウエアモジュールを入手し
て、実行プログラム用記憶部に格納するソフトウエアモ
ジュール取得手段と、前記プログラムに記述された処理
モジュールを、前記ソフトウエアモジュールと、前記ハ
ードウエアモジュールのどちらで実行するかを、前記プ
ログラムの実行前または実行時に決める実行モジュール
決定手段と、を備え、前記ハードウエアモジュールが行
う処理と同じ処理を行うソフトウエアモジュールを示す
識別符号が、プログラム内に記述されており、前記ソフ
トウエアモジュール取得手段は、前記識別符号に対応す
るソフトウエアモジュールを入手して、前記実行プログ
ラム用記憶部に格納するものであって、前記ネットワー
ク上の複数の記憶装置から前記識別符号に対応するソフ
トウエアモジュールを格納する記憶装置を検索し、該当
する複数の記憶装置の中から前記ソフトウエアモジュー
ルの転送速度が最も速い記憶装置を選択する検索手段
と、前記検索手段で選択された記憶装置からの前記ソフ
トウエアモジュールの取得を実行する取得実行手段と、
を有することを特徴とする。
【0049】また、請求項3の発明は、請求項1または
請求項2に記載の情報処理システムにおいて、前記取得
実行手段は、前記ハードウエアモジュールあるいは前記
ソフトウエアモジュールの前記ネットワークからの転送
を実行して、その単位時間当たりの転送量が、予め定め
た期待値よりも小さいときには、前記転送速度が次位の
記憶装置から、前記ハードウエアモジュールあるいは前
記ソフトウエアモジュールを取得するように変更するこ
とを特徴とする。
【0050】また、請求項4の発明の情報処理システム
は、一連の処理が複数の処理モジュールに分割され、各
処理モジュールが、プログラム言語で処理を記述したソ
フトウエアモジュールで構成されるプログラムで記述さ
れる前記一連の処理を実行するものであり、かつ、前記
一連の処理の一部分が、プログラマブル論理回路で処理
可能である情報処理システムであって、前記プログラム
内のソフトウエアモジュールが行う処理と同じ処理を、
前記プログラマブル論理回路に再構成する回路情報で記
述したハードウエアモジュールを、ネットワーク上の記
憶装置から入手して、前記プログラマブル論理回路を再
構成するハードウエアモジュール取得手段と、前記プロ
グラムに記述された処理モジュールを、前記ソフトウエ
アモジュールと、前記ハードウエアモジュールのどちら
で実行するかを、前記プログラムの実行前または実行時
に決める実行モジュール決定手段と、を備え、前記ソフ
トウエアモジュールが行う処理と同じ処理を行う前記ハ
ードウエアモジュールを示す識別符号が、前記プログラ
ム内に記述されており、前記ハードウエアモジュール取
得手段は、前記プログラム内に記述されている前記識別
符号に対応する前記ハードウエアモジュールを、前記プ
ログラムによる処理の実行順に、前記ネットワーク上の
記憶装置から入手して、前記プログラマブル論理回路に
再構成する取得実行手段と、前記取得実行手段での処理
と並行して、前記ネットワーク上の記憶装置から前記識
別符号に対応する他のハードウエアモジュールを取得し
て、システム内の記憶装置に格納する並行取得手段と、
前記並行取得手段で取得した前記ハードウエアモジュー
ルの回路情報により前記プログラマブル論理回路を再構
成する手段と、を備えることを特徴とする。
【0051】また、請求項5の発明の情報処理システム
は、一連の処理が複数の処理モジュールに分割され、各
処理モジュールが、プログラマブル論理回路に構成する
回路情報で処理を記述したハードウエアモジュールで構
成されるプログラムで記述される前記一連の処理を実行
するものであり、かつ、前記一連の処理の一部分が、前
記プログラマブル論理回路で処理可能である情報処理シ
ステムであって、前記プログラム内のハードウエアモジ
ュールが行う処理と同じ処理をプログラム言語で記述し
たソフトウエアモジュールを記憶する記憶装置部と、前
記記憶装置部から前記ソフトウエアモジュールを入手し
て、実行プログラム用記憶部に格納するソフトウエアモ
ジュール取得手段と、前記プログラムに記述された処理
モジュールを、前記ソフトウエアモジュールと、前記ハ
ードウエアモジュールのどちらで実行するかを、前記プ
ログラムの実行前または実行時に決める実行モジュール
決定手段と、を備え、前記ハードウエアモジュールが行
う処理と同じ処理を行うソフトウエアモジュールを示す
識別符号が、前記プログラム内に記述されており、前記
ソフトウエアモジュール取得手段は、前記識別符号に対
応するソフトウエアモジュールを入手して、前記実行プ
ログラム用記憶部に格納するものであって、前記プログ
ラム内に記述されている前記識別符号に対応する前記ソ
フトウエアモジュールを、前記プログラムによる処理の
実行順に、前記ネットワーク上の記憶装置から入手し
て、前記実行プログラム用記憶部に格納する実行ソフト
ウエアモジュール格納手段と、前記実行ソフトウエアモ
ジュール格納手段での処理と並行して、前記ネットワー
ク上の記憶装置から前記識別符号に対応する他のソフト
ウエアモジュールを取得して、システム内の記憶装置に
格納する並行取得手段と、前記並行取得手段で取得した
前記ソフトウエアモジュールを、前記実行ソフトウエア
モジュール格納手段に格納する手段と、さらに、請求項
6の発明は、請求項4または請求項5に記載の情報処理
システムにおいて、前記プログラム内には、前記識別符
号に対応して、それぞれの識別符号に対応するハードウ
エアモジュールあるいはソフトウエアモジュールのファ
イルサイズが記述されており、前記並行取得手段では、
前記プログラム内に記述される識別符号に対応するハー
ドウエアモジュールあるいはソフトウエアモジュールの
うちの、前記ファイルサイズの大きいものから順に取得
することを特徴とする。
【0052】
【作用】上述の構成の各請求項の発明による情報処理シ
ステムにおいては、予め、ソフトウエアモジュールまた
はハードウエアモジュールの一方がプログラム内に記述
され、ソフトウエアモジュールあるいはハードウエアモ
ジュールの他方が、ネットワーク上の複数の記憶装置部
に記憶されている。
【0053】このネットワーク上の記憶装置部に記憶さ
れているハードウエア(またはソフトウエア)モジュー
ルは、ハードウエア(またはソフトウエア)取得手段に
より取得され、プログラマブル論理回路に回路情報が再
構成(または記憶部に記憶)される。
【0054】実行モジュール決定手段は、プログラムの
実行時またはプログラム実行前に、ソフトウエアモジュ
ールとハードウエアモジュールのどちらで処理単位を実
行するかを決定する。
【0055】従来のように、アプリケーションプログラ
ムにおいて、ソフトウエア処理部分と、ハードウエア処
理部分とを事前に固定的に決定するものではないので、
その実行モジュールの決定時点における、プログラマブ
ル論理回路の再構成時間も考慮に入れた種々の条件に基
づいて、プログラムに記述された処理全体として効率の
よい実行モジュールを選択するように決定することがで
きる。
【0056】そして、上記の構成の請求項1の発明によ
れば、ハードウエアモジュールは、ネットワーク上の複
数の記憶装置から、識別符号に対応するハードウエアモ
ジュールを格納する記憶装置を検索し、該当する複数の
記憶装置の中でハードウエアモジュールの転送速度が最
も速い記憶装置から取得する。したがって、処理時間に
対してのオーバーヘッドとしてのネットワーク転送時間
を最小限にすることができて、全体としての処理の効率
化を図ることができる。
【0057】同様に、請求項2の発明においても、ソフ
トウエアモジュールは、ネットワーク上の複数の記憶装
置から識別符号に対応するソフトウエアモジュールを格
納する記憶装置を検索し、該当する複数の記憶装置の中
でソフトウエアモジュールの転送速度が最も速い記憶装
置から取得する。したがって、処理時間に対してのオー
バーヘッドとしてのネットワーク転送時間を最小限にす
ることができて、全体としての処理の効率化を図ること
ができる。
【0058】また、請求項3の発明においては、請求項
1または請求項2において、転送速度が速いとして決定
した記憶装置からの転送を実行して、その単位時間当た
りの転送量が、予め定めた期待値よりも小さいときに
は、前記転送速度が次位の記憶装置から、前記ハードウ
エアモジュールあるいは前記ソフトウエアモジュールを
取得するように変更する。
【0059】これは、転送速度が速いとして登録された
記憶装置への情報取得要求が複数個、重なった場合に
は、その複数個の要求に答えるために、時分割処理など
の方法で、各要求先にデータを配信するようにするた
め、実際の転送時間が長くなることに対応するものであ
る。
【0060】また、請求項4においては、プログラム内
に記述されている識別符号に対応するハードウエアモジ
ュールを、プログラムによる処理の実行順に、ネットワ
ーク上の記憶装置から入手して、プログラマブル論理回
路に再構成する処理と並行して、他のハードウエアモジ
ュールを取得して、システム内の記憶装置に転送して格
納する処理を行う。
【0061】また、請求項5においては、プログラム内
に記述されている識別符号に対応するソフトウエアモジ
ュールを、プログラムによる処理の実行順に、ネットワ
ーク上の記憶装置から入手して、実行プログラム用記憶
部に格納する処理と並行して、他のソフトウエアモジュ
ールをネットワーク上の記憶装置から取得して、システ
ム内の記憶装置に格納する処理を行う。
【0062】したがって、この並行処理により、実際の
処理に対してのオーバーヘッドを少なくして、全体とし
ての処理時間の短縮を図ることができる。
【0063】請求項6の発明においては、特に、並行し
て行う取り込み処理は、ファイルサイズの大きいものか
ら順に取得する。したがって、よりオーバーヘッドの影
響を少なくして効率の良い取り込みが行え、全体として
の処理時間の短縮化が期待できる。
【0064】
【発明の実施の形態】以下、この発明による情報処理シ
ステムの実施の形態を、図を参照しながら説明する。
【0065】[第1の実施の形態]この発明による、少
なくとも処理の一部分が回路構成を再構成できるプログ
ラマブル論理回路で処理される情報処理システムの第1
の実施の形態の主要な概念構成を図1に示す。
【0066】この実施の形態において、対象とするアプ
リケーションプログラム(以下の説明においては、単に
プログラムという場合もある)100は、当該プログラ
ムにより実行しようとする一連の処理を複数個の処理に
分離し、分離された各処理ごとにモジュールとして構成
したものである。このモジュールを、この明細書では処
理モジュールと称することとする。
【0067】この第1の実施の形態では、プログラム1
00を構成する各処理モジュールは、CPUが処理を実
行するように、処理がプログラム言語で記述されたソフ
トウエアプログラムで構成される。この処理モジュール
単位のソフトウエアプログラムを、この明細書では、ソ
フトウエアモジュールと称することとする。したがっ
て、この実施の形態の場合、アプリケーションプログラ
ム100は、複数個のソフトウエアモジュールSMの集
合からなる。
【0068】この実施の形態においては、ソフトウエア
モジュールSMのそれぞれが行う処理と同じ処理をプロ
グラマブル論理回路に再構成する回路情報で記述したモ
ジュール(この明細書では、このモジュールをハードウ
エアモジュールと称する)HMを、ネットワーク上の記
憶装置200に保存して用意する。この場合、記憶装置
200は、ネットワーク上の複数の記憶装置(サーバ
ー)により構成されるものである。
【0069】この例の場合、プログラム100は、図2
に示すように、ヘッダ部HEDと、本体部PRGとから
なり、本体部PRGが前述したように複数個のソフトウ
エアモジュールSMの集合で構成されている。そして、
ヘッダ部HEDには、各ソフトウエアモジュールSMと
同じ処理をプログラマブル論理回路に再構成する回路情
報で記述した、対応するハードウエアモジュールHMの
識別符号IDが記述されている。
【0070】この場合、プログラム100には、同じ処
理を行うソフトウエアモジュールSMとハードウエアモ
ジュールHMとの対応が付くように識別符号IDが記述
されている。例えば、この例では、本体部PRGの複数
個のソフトウエアモジュールSMのプログラム上の処理
実行順に従った順番で、各ソフトウエアモジュールSM
に対応するハードウエアモジュールHMの識別符号ID
が、ヘッダ部HEDに記述される。したがって、繰り返
し使用されるモジュールは、重複して繰り返し記述され
る。
【0071】ハードウエアモジュール取得手段300
は、プログラム100中に記述されている識別符号ID
を用いて、ソフトウエアモジュールSMが実行する処理
と同じ処理を実行するハードウエアモジュールHMを、
ネットワーク上の記憶装置200から取得する。そし
て、ハードウエアモジュール取得手段300は、取得し
たハードウエアモジュールHMによる回路をプログラマ
ブル論理回路400上に再構成する。
【0072】ハードウエアモジュール取得手段300
は、ハードウエアモジュールHMの取得に先立ち、ネッ
トワーク上の複数の記憶装置(サーバー)の転送処理能
力に関する情報を収集するとともに、いずれの記憶装置
に、いずれのハードウエアモジュールHMが格納されて
いるかの情報も収集し、それをサーバーリストとして検
索手段310に保持している。
【0073】このときの記憶装置の検索範囲は、例えば
アプリケーションの規模に応じて、例えば、規模が小さ
ければ、LAN程度、大きいときには、インターネット
上、というように定めておく。
【0074】そして、ハードウエアモジュール取得手段
300は、ハードウエアモジュールHMの取得の実行
時、まず、検索手段310で取得しようとするハードウ
エアモジュールHMがネットワークのいずれの記憶装置
に格納されているかを前記サーバーリストを参照して検
索し、その検索の結果、複数の記憶装置が検索されたと
きには、そのうちの最も転送処理能力の高いものから当
該ハードウエアモジュールの情報を取得するように選択
する。
【0075】ハードウエアモジュール300の取得実行
手段320は、この検索手段310で選択された記憶装
置から、ネットワークを通じてハードウエアモジュール
HMの取得を行うようにする。また、この実施の形態で
は、取得実行手段320は、その選択した記憶装置にア
クセスが集中して、転送能力が落ちている場合には、最
初の単位時間における転送量をモニターして、当該単位
時間における転送量が所定のしきい値より小さければ、
他の記憶装置に切り換えるようにすることができるよう
にも構成されている。
【0076】プログラム100のソフトウエアモジュー
ルSMによるソフトウエア処理は、CPU500が実行
する。
【0077】実際のアプリケーションプログラム100
の処理は、処理モジュールごとに、実行モジュール決定
手段600により、ソフトウエアモジュールSMまたは
ハードウエアモジュールHMのいずれで実行するかが選
択されて、実行される。この実施の形態では、実行モジ
ュール決定手段600は、選択条件設定手段700に設
定されている実行モジュール選択条件に基づいて、どち
らのモジュールで処理モジュールを実行するかを決定す
る。
【0078】選択条件設定手段700には、予め、例え
ばソフトウエアやハードウエアによる処理時間、メモリ
消費量、プログラマブル論理回路の再構成時間などの種
々の選択条件項目を想定し、その一つの条件項目あるい
は複数個の条件項目を組み合わせて、実行モジュール選
択条件を設定することができる。
【0079】なお、選択条件設定手段700は、実行モ
ジュール選択条件をユーザにより設定変更可能なように
設けられるものである。したがって、実行モジュール決
定手段600に対して、予め、特定の実行モジュール選
択条件が定められて、その選択条件を変えることなく、
その選択条件に従って実行モジュールを決定する場合に
は、この選択条件設定手段700は、実行モジュール決
定手段600に包含されていることになるので、その場
合には、特に設ける必要がなくなる。
【0080】実行モジュール決定手段600での実行モ
ジュールの決定は、プログラム実行前に行う場合と、プ
ログラム実行時に行う場合の2通りがある。この第1の
実施の形態では、プログラム実行時であって、各処理モ
ジュールの実行開始時に、実行モジュールの決定を行
う。
【0081】[第1の実施の形態のハードウエア構成
例]図3は、この発明の第1の実施の形態の情報処理シ
ステム10のハードウエア構成例を示すブロック図であ
る。この実施の形態の情報処理システム10において
は、CPU11のホストバス11Bに、チップセット1
2に含まれるメモリコントローラ(図示せず)を介し
て、例えばDRAMで構成されるメインメモリ13が接
続される。
【0082】ホストバス11Bは、また、チップセット
12に含まれるホスト−PCIバスブリッジ(図示せ
ず)を介して、PCIバス14に接続される。PCIバ
ス14には、プログラマブル論理回路インターフェース
15を介してプログラマブル論理回路16と、ハードデ
ィスクインターフェース17を介してハードディスクド
ライブ18と、通信インターフェース19とが接続され
る。
【0083】通信インターフェース19は、LANやイ
ンターネットなどのネットワーク20を介して、プログ
ラマブル論理回路16に再構成される回路情報が格納さ
れている複数個の記憶装置(サーバ)21、22、23
に接続される。
【0084】ハードディスクドライブ18により読み書
きされるハードディスクには、アプリケーションプログ
ラムが格納されている。また、アプリケーションプログ
ラムは、ネットワーク20上の記憶装置に格納されてい
る場合もある。
【0085】また、ハードディスクドライブ18のハー
ドディスクやメインメモリ13には、ネットワーク20
上の記憶装置21〜23から取得されたハードウエアモ
ジュールHMが、一時格納される場合もある。また、プ
ログラマブル論理回路16が、ローカルメモリを備え、
そのローカルメモリにネットワークから取得してハード
ウエアモジュールHMの回路情報を格納しておくように
してもよい。
【0086】これら情報処理システム内の記憶装置に格
納されたハードウエアモジュールHMの情報は、例え
ば、当該ハードウエアモジュールの繰り返し使用時であ
って、プログラマブル論理回路16に、例えば上書きさ
れるなどして構成されていない場合に、利用される。す
なわち、ネットワークからハードウエアモジュールHM
を入手することなく、このシステム内の記憶装置からプ
ログラマブル論理回路16にハードウエアモジュールH
Mの回路情報を転送して、再構成する。この場合には、
ネットワーク20からの転送に比べて、システム内のバ
ス転送であるので、高速に行うことができる。
【0087】この実施の形態では、ハードウエアモジュ
ール取得手段300と、実行モジュール決定手段600
が、図3で示した情報処理システム10のOSのひとつ
の機能としてソフトウエア的に実装される。
【0088】次に、プログラマブル論理回路16の構造
を図4に示す。プログラマブル論理回路16は、図5に
示すように、回路情報を格納するためのコンフィギュレ
ーションメモリ160と、論理セル161と、配線領域
162と、入出力端子163とで構成される。
【0089】コンフィギュレーションメモリ160は、
論理セル161内および配線領域162内のSRAM、
DRAMなどの書き換え可能なメモリ素子で構成されて
いる。コンフィギュレーションメモリ160にアドレス
ADRが与えられて、新しい回路情報のデータDAが格
納されると、この回路情報に従って、論理セル161内
の回路構成と、論理セル161および入出力端子163
を相互に接続する配線領域162の接続状態が再構成さ
れる。この一連の動作をコンフィギュレーションと呼
ぶ。コンフィギュレーションメモリ160の一部分を書
き換えることで、プログラマブル論理回路が動作中であ
っても、回路を部分的に再構成することができる。
【0090】図5に示すように、プログラマブル論理回
路16に再構成されて形成された回路素子164に、処
理すべきデータが入力され、また、その処理結果が出力
される。
【0091】[第1の実施の形態による処理の説明]図
6は、この発明の第1の実施の形態における基本的な処
理の流れを示すフローチャートである。前述したよう
に、この例では、実行モジュール決定手段600での決
定時点は、プログラム実行時であって、どちらのモジュ
ールを使用するかの決定は、各処理モジュールの実行開
始の際に行う。
【0092】また、前述したように、この実施の形態で
は、図1のハードウエア取得手段300と実行モジュー
ル決定手段600とが、図3の情報処理システム10の
OSのひとつの機能としてソフトウエア的に実装されて
おり、アプリケーションプログラム100の開始によ
り、当該OSにより処理が実行される。
【0093】以下に説明する例においては、図1の選択
条件設定手段700は設けられず、実行モジュール決定
手段600内に含まれているものとする。そして、この
第1の実施の形態では、コンフィギュレーションが完了
したプログラマブル論理回路によるハードウエア処理
は、一般に、対応するソフトウエア処理よりも高速処理
が可能であることから、実行モジュール選択条件とし
て、「実行する処理モジュールに対応するハードウエア
モジュールのプログラマブル論理回路16への再構成が
終了しているか否かを判別し、再構成が終了していると
きには、その処理モジュールをハードウエアモジュール
により再構成されたプログラマブル論理回路で実行す
る」という条件が設定されている。
【0094】アプリケーションプログラム100の実行
に先立ち、予め、CPU11は、通信インターフェース
19を通じてネットワーク20上の複数の記憶装置21
〜23にアクセスし、これらのネットワーク20上の記
憶装置21〜23のそれぞれの転送処理能力に関する情
報を収集するとともに、記憶装置21〜23のそれぞれ
に、いずれのハードウエアモジュールが格納されている
かの情報も収集し、それを、例えばテーブル化するなど
して、サーバーリストとして、メインメモリ13あるい
はハードディスクドライブ18のハードディスクに保持
しておくようにする。
【0095】そして、実際のアプリケーションプログラ
ムの実行に際し、それに先立ち、まず、図2に示したよ
うにプログラム100内のヘッダ部HEDに記述されて
いるハードウエアモジュールHMの識別符号IDが読み
込まれ、当該アプリケーションプログラムで使用され
る、プログラマブル論理回路16上に構成するハードウ
エアモジュールHMが、ハードウエアモジュール取得手
段300で認識される(ステップS11)。
【0096】次に、アプリケーションプログラムの実行
となり、2つのルーチンが並行して実行される。ひとつ
は、ハードウエアモジュール取得手段300によるプロ
グラマブル論理回路16へのコンフィギュレーションの
実行で、もうひとつは、実行モジュール決定手段600
によるプログラムで実行される、処理モジュールごとの
ソフトウエアモジュールSMまたはハードウエアモジュ
ールHMの決定およびその処理モジュールの実行であ
る。
【0097】ハードウエアモジュール取得手段300
は、先に読み込まれた識別符号IDの最初の識別符号I
Dに対応するハードウエアモジュールHMの回路情報が
ネットワーク20上のいずれの記憶装置に存在するか
を、前述したようにして、予め情報を収集して作成して
おいた前記サーバーリストを用いて検索する。そして、
当該識別符号で示されるハードウエアモジュールHM
が、ネットワーク20上の複数個の記憶装置に格納され
ていると判別されたときには、それらの記憶装置の転送
処理能力を参照して、最も転送処理能力の高い記憶装置
を、当該ハードウエアモジュールHMの取得先として選
択決定する(ステップS12)。
【0098】そして、選択決定したネットワーク20上
の記憶装置からハードウエアモジュールを取得し、プロ
グラマブル論理回路16のコンフィギュレーションメモ
リ160に転送し、コンフィギュレーションを実行し
て、実行モジュール決定手段600からの問い合わせに
対し、コンフィギュレーションの成否を答える(ステッ
プS13)。
【0099】そして、ハードウエアモジュール取得手段
300は、最初のハードウエアモジュールHMのコンフ
ィギュレーションが完了すると、次のハードウエアモジ
ュールHMがあるか否か判断し(ステップS14)、次
のハードウエアモジュールHMがあれば、ステップS1
2に戻って、その識別符号IDに対応するハードウエア
モジュールHMの回路情報を格納するネットワーク20
上の記憶装置であって、転送処理能力の高いものを選択
決定して、その選択決定した記憶装置から、ハードウエ
アモジュールHMを取得し、プログラマブル論理回路1
6のコンフィギュレーションメモリ160に転送し、コ
ンフィギュレーションを実行する。
【0100】ハードウエアモジュール取得手段300
は、先に読み込んだ識別符号IDのすべてのハードウエ
アモジュールHMについて、上述の処理を実行して、そ
のコンフィギュレーションを行うようにする。
【0101】実行モジュール決定手段600は、実行し
ようとする処理モジュールに対応するハードウエアモジ
ュールHMのコンフィギュレーションが完了しているか
否か、ハードウエアモジュール取得手段300に問い合
わせて判断し(ステップS15)、当該対応するハード
ウエアモジュールHMのコンフィギュレーションが完了
していれば、ハードウエアモジュールHMによる処理を
行い(ステップS16)、コンフィギュレーションが完
了していなければ、対応するソフトウエアモジュールS
Mによる処理を実行する(ステップS17)。
【0102】そして、当該処理モジュールの処理が終了
すると、次の処理モジュールがあるか否か判断し(ステ
ップS18)、次の処理モジュールがあれば、ステップ
S15に戻り、次の処理モジュールがなければ、このア
プリケーションによる処理を終了する。
【0103】ここで、ハードウエアモジュール取得手段
300と、実行モジュール決定手段600との間でのコ
ミュニケーションは、図3のシステム10においては、
具体的には、次のようにしてなされる。
【0104】すなわち、ハードウエアモジュールHMが
プログラマブル論理回路16上にコンフィギュレーショ
ンされると、PCIバス14を介してCPU11上で稼
動するOSに検知され、そのOSの一部として機能して
いるハードウエアモジュール取得手段300から、実行
モジュール決定手段600に通知される。
【0105】また、プログラムの処理状況がCPU11
上で稼動するOSで検知され、このOSの一部として機
能している実行モジュール決定手段600から、ハード
ウエアモジュール取得手段300に対して、ハードウエ
アモジュールHMの回路情報の転送およびコンフィギュ
レーションの開始や中断が指示される。
【0106】以上のようにして、この実施の形態では、
処理モジュールの実行をするときに、対応するハードウ
エアモジュールHMが、プログラマブル論理回路16に
再構成されていれば、当該処理モジュールの処理は、ハ
ードウエアモジュールで実行するようにする。
【0107】前述もしたように、通常、プログラマブル
論理回路へのコンフィギュレーションのための時間を考
慮しなければ、ハードウエアで処理した方が高速処理が
可能である。したがって、上述のように、コンフィギュ
レーションが完了した時点から、そのコンフィギュレー
ションが完了したハードウエアモジュールで処理を実行
することで、アプリケーションプログラムによる一連の
処理を高速に行うことができるようになる。
【0108】そして、この実施の形態では、ハードウエ
アモジュールHMの回路情報は、ネットワーク上の最も
転送処理能力が高い記憶装置から取得するようにしたの
で、コンフィギュレーション時間のオーバヘッドとして
のネットワークからの転送時間は、最小とすることがで
きる。
【0109】[処理の具体例(第1の実施例)]次に、
図7、図8、図9および図10のフローチャートを用い
て、第1の実施の形態の処理の具体例である第1の実施
例を、以下に説明する。
【0110】図7は、この第1の実施例における、図6
のフローチャートに対応する詳細な処理の流れの全体を
示したフローチャートである。図8は、図7におけるハ
ードウエアモジュールHMのコンフィギュレーションの
ルーチンR40のステップS22の詳細なフローチャー
トを示している。また、図9は、図8におけるネットワ
ークからの転送のルーチンR60のステップS43の詳
細なフローチャート、さらに、図10は、図7のソフト
ウエアモジュールSMまたはハードウエアモジュールH
Mによる処理ルーチンR50のステップS32の詳細な
フローチャートを示している。
【0111】図7において、ソフトウエアモジュールS
MまたはハードウエアモジュールHMによる処理のルー
チンR30と、ハードウエアモジュールHMのコンフィ
ギュレーションのルーチンR20は並行して実行され
る。
【0112】ここで、この第1の実施例では、ソフトウ
エアモジュールSMまたはハードウエアモジュールHM
による処理モジュールをM種類行い、これらのM種類の
処理モジュールからなる一連の処理を、N回繰り返すも
のとする。
【0113】図7に示すように、アプリケーションプロ
グラムの実行に先立ち、ハードウエアモジュールHMの
識別符号がアプリケーションプログラムのヘッダ部HE
Dから読み取られる(ステップS11)。このあと、ハ
ードウエアモジュールHMのコンフィギュレーションを
行うルーチンR20と、ソフトウエアモジュールSMま
たはハードウエアモジュールHMによる処理を行うルー
チンR30とが並行して実行される。
【0114】ルーチンR20においては、まず、M種類
のハードウエアモジュールの、何番めまでのハードウエ
アモジュールHMがコンフィギュレーションされたかを
示す変数iを初期化し(ステップS21)、その後、ハ
ードウエアモジュールHMのコンフィギュレーションの
処理ルーチンR40を実行するステップS22に進む。
【0115】このステップS22のコンフィギュレーシ
ョンの処理ルーチンR40においては、図8に示すよう
に、i番目のハードウエアモジュールHMが、プログラ
マブル論理回路16上に存在するかどうかを確認し(ス
テップS41)、存在すれば、既にプログラマブル論理
回路16上に構成されていることをOSに通知する(ス
テップS45)。
【0116】i番目のハードウエアモジュールHMが、
プログラマブル論理回路16上に存在しなければ、その
i番目のハードウエアモジュールHMが、情報処理シス
テム10内の記憶装置(ハードディスクドライブ18あ
るいはメインメモリ13など)に存在するか否か確認す
る(ステップS42)。
【0117】i番目のハードウエアモジュールHMが、
システム10内の記憶装置に存在すれば、ステップS4
4に進んで、コンフィギュレーションを行う。また、シ
ステム内の記憶装置に存在していなければ、ステップS
43において、ネットワーク20からの転送の処理ルー
チンR60を実行し、前述したようにして、ネットワー
ク20上の記憶装置21〜23を検索して選択決定した
記憶装置からハードウエアモジュールHSの回路情報を
取得し、その後、ステップS44に進んで、コンフィギ
ュレーションを実行する。
【0118】ステップS43のネットワーク回路の転送
のルーチンR60においては、図9に示すように、取得
要求が生じているハードウエアモジュールHMの識別符
号と、前記サーバーリストから、当該ハードウエアモジ
ュールHMの情報を格納しており、転送処理能力が高い
優先サーバーである記憶装置を選択決定し(ステップS
61)、転送を開始する(ステップS62)。
【0119】そして、転送開始直後の単位時間、例えば
数十ナノ秒の間に転送されてきたデータ量を、予め定め
た期待値と比較して、大きければ、そのまま転送を続行
し(ステップS64)、小さければ、次に転送処理能力
が高い記憶装置に変更して(ステップS61)、転送を
開始させる。
【0120】なお、識別符号に対応するハードウエアモ
ジュールHMを格納する記憶装置が見つからなかったと
きには、ネットワーク20からの転送は中止し、ソフト
ウエアモジュールSMによる処理を行う。
【0121】そして、図8に戻って、ステップS43の
転送およびステップS44のハードウエアモジュールH
Mの構成が終了した時点で、ステップS45に移り、コ
ンフィギュレーションの終了をOSに通知し、図7に戻
って変数iをカウントアップする(ステップS23)。
【0122】ハードウエアモジュールHMのコンフィギ
ュレーションが完了する前に、このハードウエアモジュ
ールHMに対応する処理が開始される場合には、ソフト
ウエアモジュールSMまたはハードウエアモジュールH
Mによる処理を行うルーチンR30で、ソフトウエアモ
ジュールSMによる処理が行われるが、ハードウエアモ
ジュールHMのコンフィギュレーションは続行される。
【0123】そして、M種類のハードウエアモジュール
HMのすべてを、コンフィギュレーションする途中で、
アプリケーションプログラム100により実行される一
連の繰り返し処理数をカウントする変数jが、j>Nと
なったと判別され(ステップS24)、アプリケーショ
ンが終了する場合には、M種類のハードウエアモジュー
ルHMのうちの一部は、コンフィギュレーションされな
い。
【0124】しかし、情報処理システム10内の記憶装
置に余裕があれば、ネットワーク20上の記憶装置から
回路情報を取得することを続行することもできる。その
ようにすれば、同種のアプリケーションが、その後に実
行されるときに、ネットワーク20からの回路情報のシ
ステム内の記憶装置への取り込みが完了しており、その
分のアクセス時間を短縮することができる。また、後
で、ネットワーク20から取得しようとしたときに、ネ
ットワーク20に障害が生じていて、必要なハードウエ
アモジュールHMが取得できない事態になっても、その
影響が最小限に押さえられる。
【0125】次に、コンフィギュレーションするべきハ
ードウエアモジュールHMが残っているかを確認するた
めに、変数iと変数Mを比較する(ステップS25)。
変数iが、変数Mと等しいか小さければ、次のハードウ
エアモジュールHMのコンフィギュレーションを開始
し、変数iが変数Mよりも大きければ、すべてのハード
ウエアモジュールHMがプログラマブル論理回路16上
に構成されたことがわかり、図8のコンフィギュレーシ
ョン処理を終了する。
【0126】次に、図7において、ルーチン20と並行
して実行されるルーチンR30では、まず、一連の繰り
返し処理数をカウントする変数jが初期化され(ステッ
プS31)、その後、ソフトウエアモジュールSMまた
はハードウエアモジュールHMによる処理を実行するル
ーチンR50のステップS32に移る。
【0127】このステップS32のルーチンR50にお
いては、図10に示すように、まず、M種の処理モジュ
ールの何番めの処理モジュールによる処理であるかをカ
ウントする変数kが初期化される(ステップS51)。
【0128】次に、k番目のハードウエアモジュールH
Mが、プログラマブル論理回路16上に構成されたかど
うかを確認するために、このルーチンR50で、M種の
ハードウエアモジュールHMのうちの何番目までのコン
フィギュレーションが終了したかを示す変数iと、前記
処理を実行しようとする処理モジュールがM種の処理モ
ジュールの何番目であるかを示す変数kとの比較を行な
う(ステップS52)。
【0129】変数kが変数iより小さければ、プログラ
マブル論理回路16上に、k番目の処理モジュールに対
応するハードウエアモジュールHMの構成が終了してい
ることがわかるので、ハードウエアモジュールHMで処
理を実行する(ステップS53)。
【0130】変数kが、変数iに等しいか、変数iより
大きければ、まだ、k番目の処理モジュールに対応する
ハードウエアモジュールHMが、プログラマブル論理回
路16上に構成されていないので、ソフトウエアモジュ
ールSMで処理を実行する(ステップS54)。
【0131】次に、処理モジュールが何番目のものであ
るかを示す変数kをカウントアップし(ステップS5
5)、次のk+1番目の処理モジュールについて、その
前のk番目の処理モジュールと同様にしてステップS5
2からステップS55のステップを実行し、それを、最
後のM番目の処理モジュールまで繰り返す(ステップS
56)。そして、最後のM番目の処理モジュールについ
ての処理が終了したときには、図7のルーチンに戻る。
【0132】図7においては、繰り返しの変数jをカウ
ントアップし(ステップS33)、次の繰り返し処理が
開始される。繰り返し処理をN回行うとアプリケーショ
ンは終了する(ステップS34)。
【0133】以上説明したように、第1の実施例におい
ては、M種の処理モジュールのN回の繰り返しを行う処
理のアプリケーションプログラムにおいて、最初は、ソ
フトウエアモジュールSMによる処理が実行されるが、
繰り返し処理の間に、M種のハードウエアモジュールH
Mのコンフィギュレーションが、徐々に完了し、その完
了したハードウエアモジュールHMが順次に使用され
る。したがって、繰り返し処理の繰り返しの回数が増加
するにつれて、コンフィギュレーションが完了するハー
ドウエアモジュールHMの数も増加し、処理速度が徐々
に上がり、全体としての処理時間は、短縮化されるもの
である。
【0134】[第2の実施の形態]この発明による情報
処理システムの第2の実施の形態の主要な概念図を図1
1に示す。図11に示すように、この第2の実施の形態
においては、ハードウエアモジュール取得手段300
は、検索手段310、取得実行手段320に加えて、並
行取得手段330を備える。
【0135】また、この第2の実施の形態では、ハード
ウエアモジュール取得手段300により、ネットワーク
から取得し、プログラマブル論理回路に再構成したハー
ドウエアモジュールHMの識別情報を、識別情報記録手
段800に記録しておく。さらに、ネットワークから取
得してプログラマブル論理回路に再構成したハードウエ
アモジュールHMの回路情報は、情報処理システム内の
ハードディスクドライブなどの記憶装置に保存してお
く。
【0136】その他は第1の実施の形態と同様に構成す
る。
【0137】取得実行手段320は、プログラム100
内のヘッダ部HEDに記述されている識別符号IDに対
応するハードウエアモジュールを、プログラム100に
よる処理の実行順に、ネットワーク20上の記憶装置か
ら入手して、プログラマブル論理回路400に再構成す
る。これは、第1の実施の形態と全く同様であり、その
実施の形態においても、検索手段310により、ネット
ワーク20上の転送処理能力が高い記憶装置からハード
ウエアモジュールを取得してプログラマブル論理回路4
00に再構成するようにする。
【0138】並行取得手段330は、取得実行手段32
0での処理と並行して、いまだ、情報処理システム内の
記憶装置にネットワークから取り込んでいないハードウ
エアモジュールHMの情報を、ネットワークからシステ
ム内の記憶装置に取り込むようにする処理を行う。情報
処理システム内の記憶装置に取り込んでいるか否かは、
識別符号記録装置800に記録されている識別符号を参
照することで知ることができる。
【0139】そして、この第2の実施の形態の場合に
は、並行取得手段330は、ファイルサイズの大きいハ
ードウエアモジュールHMを優先して、順次、ネットワ
ークから取得するようにする。このため、この第2の実
施の形態の場合のプログラム100のヘッダ部HEDに
は、図12に示すように、各ハードウエアモジュールH
Mの識別符号に対応して、それらのハードウエアモジュ
ールHMのファイルサイズが記述されている。
【0140】なお、識別符号記録手段800には、ハー
ドウエアモジュール取得手段300により取得されて、
プログラマブル論理回路に再構成されたハードウエアモ
ジュールの識別符号が記録されているので、その記録内
容を調べることで、プログラム100内で同じハードウ
エアモジュールHMが繰り返し使用される場合に、重ね
て、プログラマブル論理回路400のコンフィギュレー
ションが実行されることが防止される。これにより、コ
ンフィギュレーション時間を節約して、効率的な処理が
行える。
【0141】また、識別符号記録手段800に識別符号
が記録されているハードウエアモジュールHMであって
も、プログラマブル論理回路400が、回路情報により
上書きされてしまい、プログラマブル論理回路400上
には、存在していない場合もあるが、この実施の形態で
は、識別符号記録手段800に識別符号が記録されてい
れば、システム内の記憶装置には、その回路情報が記録
されているので、このシステム内の記憶装置からハード
ウエアモジュールHMを読み出して、プログラマブル論
理回路400にコンフィギュレーションするようにする
ことで、ネットワークから転送して取得を行うことな
く、迅速なコンフィギュレーションが可能になる。
【0142】この第2の実施の形態のハードウエア構成
は、ハードウエアモジュール取得手段300を、情報処
理システム内のOSの一つとし、識別符号記録手段80
0を、次に説明するように構成することにより、図3に
示した第1の実施の形態を実現する情報処理システム1
0と同じハードウエア構成で実現できる。
【0143】すなわち、ハードウエアモジュールHMの
コンフィギュレーションが終了し、図8のステップS4
5に示すように、コンフィギュレーションの終了がOS
に通知されたとき、コンフィギュレーションが終了した
ハードウエアモジュールHMの識別符号を、システム1
0内の記憶装置、例えば、図3のハードディスクドライ
ブ18やメインメモリ13に記録することにより、識別
符号記録手段800を実現する。
【0144】[処理の具体例]図13は、この第2の実
施の形態の処理の流れを示すフローチャートである。図
13における処理は、図7に示した処理と並列に処理を
実行する並行ネットワーク転送処理(ルーチンR70)
を加えたものである。この並行ネットワーク転送処理
は、ハードウエアモジュール取得手段300の前記並行
取得手段330により実行される。
【0145】図13に示す3つの処理ルーチンR30,
R20,R70のうち、左2つの処理ルーチンR30,
R20,は、図7を用いて説明した第1の実施の形態の
場合のそれらと全く同様であって、それぞれ、ソフトウ
エアモジュールSMまたはハードウエアモジュールHM
による処理を実行するルーチンである。
【0146】そして、図13の右の処理ルーチンR70
は、前記並行ネットワーク転送処理ルーチンであり、前
記ルーチンR20およびR30と並列に処理が実行され
る。前記ルーチンR20,R30は前述した通りである
ので、ここでは、主として、並行ネットワーク転送処理
のルーチンR70について説明する。
【0147】アプリケーションプログラム100が開始
されるとき、それに先立ち、まず、ハードウエアモジュ
ールHMの識別符号IDおよびそれぞれのファイルサイ
ズがアプリケーションプログラム100のヘッダ部HE
Dから読み取られる(ステップS11)。このあと、ソ
フトウエアモジュールSMまたはハードウエアモジュー
ルHMによる処理を行う第1のルーチンR30と、ハー
ドウエアモジュールHMのコンフィギュレーションを行
う第2のルーチンR20と、ハードウエアモジュールH
Mをネットワークからシステム内の記憶装置に転送する
第3のルーチンR70とが並行して実行される。
【0148】第2のルーチンR20でも、ハードウエア
モジュールHMのネットワークからの取得は行われる
が、第3のルーチンR70では、これとは別途に転送に
時間のかかるファイルサイズの大きなハードウエアモジ
ュールHMを、予め、システム内の記憶装置に転送して
おくものである。
【0149】第3のルーチンR70では、読み込んだハ
ードウエアモジュールHMの識別符号について、情報処
理システム内の記憶装置18、13を検索して、システ
ム内の記憶装置に無いハードウエアモジュールHMを抜
き出す(ステップS71)。そして、これらのハードウ
エアモジュールHMを、ヘッダ部HEDに記述されたフ
ァイルサイズをもとに、サイズの大きさによるソーティ
ングを行う(ステップS72)。そして、ソーティング
結果により、ファイルサイズの大きいハードウエアモジ
ュールHMから順に、ネットワーク上の記憶装置から情
報処理システム内の記憶装置に転送する。
【0150】この場合の転送の方式は、前述した方法と
同様に、転送処理能力の高い記憶装置を検索して、その
記憶装置から優先して転送を行うようにする。そして、
転送開始から、所定の単位時間の間の実際の転送量を算
出し、その転送量が、予め定めた期待値より小さいよう
な場合には、次に転送処理能力の高い記憶装置から転送
を行う。ただし、すべての記憶装置において、前記算出
した転送量が所定の最低データ量よりも小さいような場
合には、最初に試した記憶装置から転送を行う。
【0151】以上のようにすれば、ルーチンR20でプ
ログラム順にハードウエアモジュールHMを取得してコ
ンフィギュレーションをしているときに、ルーチンR7
0が並行して実行されて、他のハードウエアモジュール
HMのシステム内の記憶装置への取り込みが実行される
ので、ルーチンR20で、次のハードウエアモジュール
の取得およびコンフィギュレーションの処理を開始する
ときに、既に、そのハードウエアモジュールがシステム
内の記憶装置に取り込まれていて、ネットワークからの
取得が不要で、システム内の記憶装置からのコンフィギ
ュレーションのみで済むようになる。
【0152】したがって、ネットワークからハードウエ
アモジュールを取得するという、プログラマブル論理回
路のコンフィギュレーションにとってのオーバーヘッド
が小さくなり、高速のコンフィギュレーションが可能に
なる。
【0153】[処理の具体例(第2の実施例)]次に、
この第2の実施の形態の場合の処理の具体例(第2の実
施例)として、画像処理の場合を例にとって、以下に説
明する。
【0154】この第2の実施例では、線形変換処理、ノ
イズ除去処理および輪郭強調処理の3種の処理を、3種
の画像フィルタを用いて画像データについて行うことに
より、不鮮明な画像を鮮明にする画像処理を行うように
する。
【0155】このアプリケーションプログラムAPの構
造を、図14を用いて説明する。このアプリケーション
プログラムAPで利用するソフトウェアモジュールSM
と、ハードウェアモジュールHMとを関連付ける識別符
号IDのリストが、アプリケーションプログラムAPの
ヘッダ部HEDに付加されている。
【0156】プログラム内では、ハードウェアモジュー
ルSMとソフトウェアモジュールHMとが、二重化され
た処理として呼び出される。
【0157】利用する処理モジュールは、Gaussi
anフィルタを使ったノイズ除去処理ABC001と、
Laplacianフィルタを使った輪郭強調処理XY
Z001と、線形変換処理PQR001の3つとされ
る。ヘッダ部HEDには、これらの処理に対応するハー
ドウエアモジュールHMの識別符号HmABC001,
HmXYZ001,HmPQR001が記載されてい
る。
【0158】さらに、ヘッダ部HEDのハードウエアモ
ジュール識別符号HmABC001,HmXYZ00
1,HmPQR001のそれぞれには、この例では、そ
のファイルサイズをランク付けした符号がつく。使用す
るプログラマブル論理回路によって上限のファイルサイ
ズが決まるが、この例では、このファイルサイズを5段
階程度に小さいものから順にA,B,…,Eというラン
ク付けをする。
【0159】例えば最小のランクAのファイルサイズの
ノイズ除去処理ABC001のハードウエアモジュール
は、HmABC001Aとなる。同様にして、この例で
は、HmXYZ001B,HmPQR001Bと記述さ
れている。なお、対応するソフトウエアモジュールに
は、Smという接頭の符号を付与することとする。
【0160】ソフトウェアモジュールSMとハードウェ
アモジュールHMとは同一の引数および戻り値を持って
互換性が完全に保たれており、アプリケーションプログ
ラムAPからは同じ処理モジュールに見えるように構成
されている。
【0161】次に、この画像処理の動作を図15および
その続きである図16、図17に示したフローチャート
に示す。この図15、図16および図17のフローチャ
ートは、前述の図13および図7〜図10を用いて説明
した処理動作に対応しており、対応する各ステップに
は、同一ステップ番号を付してある。
【0162】図18は、この画像処理動作のタイミング
チャートを示すものである。図15〜図17のフローチ
ャートと、この図18のタイミングチャートを用いて、
この第2の実施例の画像処理動作を以下に説明する。な
お、図18では、処理aが線形変換PQR001、処理
bがGaussianフィルタを使ったノイズ除去処理
ABC001、処理cがLaplacianフィルタを
使った輪郭強調処理XYZ001をそれぞれ示してい
る。
【0163】また、使用する処理モジュールは、線形変
換PQR001、ノイズ除去処理ABC001、輪郭強
調処理XYZ001の3種類なので、図7〜図10にお
ける処理モジュール数Mは3となる。また、画像のR
(赤データ)、G(緑データ)、B(青データ)の各プ
レーンに対して、処理aから処理cまでを繰り返し実行
するので、図7〜図10における繰り返し数Nは3とな
る。
【0164】図18において、時点t0で、アプリケーシ
ョンプログラムが起動すると、プログラムAPの初期化
処理や処理画像の準備などが行われる。同時にアプリケ
ーションプログラムAPのヘッダ部HEDにある識別符
号IDを読み込み(ステップS11)、そこに記載され
ているハードウェアモジュールHMの回路情報を取得し
て、プログラマブル論理回路上にコンフィギュレーショ
ンする処理ルーチンR20を、時点t1から開始する。こ
の処理ルーチンR20は、プログラム順(ヘッダ部HE
Dに記述されている識別符号順)にハードウエアモジュ
ールHMを取得して取り込む。
【0165】プログラム起動時には、最初のハードウエ
アモジュールHmPQR001Bは、プログラマブル論
理回路上にコンフィギュレーションされていないので、
まず、システム内の記憶装置を検索して、ハードウエア
HmPQR001Bが存在すれば、その記憶装置からダ
ウンロードする。もしもシステム内の記憶装置に存在し
ない場合には、ネットワークから転送してくることにな
る。
【0166】同時に時間t1において、並行ネットワーク
転送処理ルーチンR70の前処理が始まる。この前処理
においては、システム内部のハードディスクやローカル
メモリなどの記憶装置を検索して、HmPQR001以
外の読み込んだ識別符号と一致するハードウエアモジュ
ールが存在するかを調べる(ステップS71)。そし
て、システム内の記憶装置に存在しないハードウエアモ
ジュールは、識別符号末尾にあるファイルサイズのラン
クの大きいものから順にソートして(ステップS7
2)、そのファイルサイズの大きい順にハードウエアモ
ジュールの情報をネットワーク20上の記憶装置からシ
ステム内部の記憶装置に転送を開始する(時点t2)。
【0167】図18では、処理bを行うハードウエアモ
ジュールHmABC001Aと、処理cを行うハードウ
エアモジュールHmXYZ001Bとがシステム内部に
存在しないが、末尾のファイルサイズのランクを示す情
報が、BのものがAよりもファイルサイズが大きいの
で、ハードウエアモジュールHmXYZ001Bの転送
が開始される。
【0168】該当するハードウエアモジュールHMを格
納するネットワーク上の記憶装置が複数ある場合は、転
送能力の高い記憶装置に決定し(ステップS732)、
ネットワークからのハードウエアモジュールHMのデー
タのシステム内の記憶装置への転送を開始する(ステッ
プS733)。この開始直後の単位時間当たりの転送量
と予め定めた期待値とを比較し(ステップS734)、
転送量が期待値を越えていればそのまま転送を続行し
(ステップS735)、越えていなければ、ステップS
731に戻り、他の記憶装置に接続を切り換えて同様に
転送量を評価する。複数ある記憶装置のすべてで転送量
が期待値を越えていなければそれまでに試行した記憶装
置で最も速い記憶装置に接続を切り換えて転送を行う。
【0169】ハードウエアモジュールHMのデータのシ
ステム内の記憶装置への転送が完了すれば、OSにそれ
を通知し(ステップS736)、必要な、すべてのハー
ドウエアモジュールHMのシステム内への取り込みが完
了したら、転送処理の終了をOSに通知する(ステップ
S737)。
【0170】一方、ソフトウエアモジュールSMまたは
ハードウエアモジュールHMによる処理のルーチンR3
0においては、図15において、繰り返し数をカウント
するための変数jが初期化されてj=1となり(ステッ
プS31)、画像のRプレーンに対する処理を開始す
る。次に何番めのモジュールデータについての処理かを
示す変数kを初期化してk=1とする(ステップS5
1)。
【0171】図18において、処理a(PQR001)
を実行する直前の時点t3で、OSにコンフィギュレーシ
ョン完了を問い合わせる(ステップS52)。完了して
いない場合( k≧i) 、アプリケーションプログラムA
Pは、ソフトウェアモジュールSmPQR001Bを使
って処理を実行する(ステップS53)。
【0172】以降、処理bおよび処理cの直前の時点t
7、t9でも同様の問い合わせを、OSに対し行う。しか
し、この例では、図18のタイミングチャートに示すよ
うに、対応するハードウエアモジュールHmABC00
1A,HmXYZ001Bのコンフィギュレーションが
完了していないので、それぞれソフトウエアモジュール
SmABC001,SmXYZ001を用いて処理を実
行して、繰り返し処理の1回目が終了する。
【0173】一方、図18に示すように、処理aのハー
ドウェアモジュールHmPQR001Bのプログラマブ
ル論理回路上へのコンフィギュレーションは、時間t4で
完了しており、OSに対しコンフィギュレーションの完
了が通知される(ステップS45)。
【0174】続いて処理bのハードウェアモジュールH
mABC001Aのプログラマブル論理回路上へのコン
フィギュレーションが行われるが、このモジュールは、
このときシステム内部の記憶装置には存在しないので、
ネットワーク上の記憶装置から転送してコンフィギュレ
ーションを行う。
【0175】ネットワーク上の記憶装置からの転送手順
は、上記のハードウエアモジュールHmXYZ001B
の場合と同様であるが、ネットワーク上の複数の記憶装
置のすべてで転送量が期待値を越えていなければ転送を
中断して、コンフィギュレーションも行わず、ソフトウ
エアモジュールSMによる処理を行うようにする。
【0176】この例では、ハードウェアモジュールHm
ABC001Aの転送は、時間t10に完了し、続けてコ
ンフィギュレーションが行われ、時点t12 に完了する。
【0177】また、並行ネットワーク転送処理によるい
わゆるバックグランド処理で、転送を続けていた、ハー
ドウエアモジュールHmXYZ001Bの転送処理が、
時点t13 に完了し、続けてコンフィギュレーションが行
われ、そのコンフィギュレーションが、時点t15 で完了
する。
【0178】上述した繰り返し処理の1回目が終了した
後に、画像のGプレーンを処理する繰り返し処理の2回
目が始まり(j=2)、再び、処理aの直前の時点t14
までプログラムが進行すると、再び、OSにコンフィギ
ュレーション完了を問い合わせる(ステップS52)。
コンフィギュレーション完了(k<i)の返答がある
と、今度は、処理データをハードウェアモジュールHm
PQR001Bに渡し、ハードウェアで処理した後、時
点t16 で、ハードウエアで処理した結果のみをプログラ
ムへ戻す(ステップS54)。
【0179】そして、処理bの直前の時点t17 で、OS
に対し問い合わせを行うと(ステップS52)、対応す
るハードウエアモジュールHmABC001Aのコンフ
ィギュレーションが完了しているので、このハードウエ
アモジュールHmABC001Aで処理を行う(ステッ
プS53)。
【0180】また、処理cの直前の時点t19 でもOSに
対し問い合わせを行うと(ステップS52)、対応する
ハードウエアモジュールHmXYZ001Bのコンフィ
ギュレーションが完了しているので、ハードウエアモジ
ュールHmXYZ001Bで処理を行って(ステップS
54)、繰り返し処理の2回目が終了する。
【0181】繰り返し処理の2回目が終了した後に、画
像のBプレーンを処理する繰り返し処理の3回目が始ま
る(j=3)。このときには、各処理の直前の時点でO
Sにコンフィギュレーションを問い合わすと、対応する
ハードウエアモジュールHmPQR001B,HmAB
C001A,HmXYZ001Bの全てがプログラマブ
ル論理回路上にコンフィギュレーションされているの
で、処理a,b,cは、全て、ハードウェアモジュール
HmPQR001B,HmABC001A,HmXYZ
001Bにて処理が実行され、くり返し処理の3回目が
終了し、アプリケーションも終了する(時点t26)。
【0182】以上のようにして、この第2の実施の形態
においても、ソフトウエアモジュールによる処理を実行
しながら、ハードウエアモジュールのプログラマブル論
理回路16へのコンフィギュレーションを並行して行
い、コンフィギュレーションが完了したものについて
は、プログラマブル論理回路16によるハードウエア処
理を行うようにしたので、コンフィギュレーションの時
間を考慮することなく、効率的にソフトウエア処理と、
ハードウエア処理とを行って、全体としての処理時間の
短縮化を図ることができる。
【0183】[第3の実施の形態]以上の第1および第
2の実施の形態は、各処理モジュールをソフトウエアモ
ジュールSMで行うか、ハードウエアモジュールHMで
行うかを、アプリケーションプログラムの実行時に決定
するようにしたが、前述もしたように、アプリケーショ
ンプログラムの実行前に行うようにすることもできる。
【0184】この第3の実施の形態は、図1または図1
1において、実行モジュール決定手段600での実行モ
ジュールの決定を、アプリケーションプログラムの実行
前に行うようにする場合である。
【0185】この第3の実施の形態の場合、アプリケー
ションプログラムのヘッダ部HEDには、各ソフトウエ
アモジュールSMの識別符号と、ハードウエアモジュー
ルHMの識別符号とが、対応して記述されるとともに、
それぞれのモジュールの能力などに関する情報、例え
ば、それぞれの処理にかかる時間、ソフトウエアモジュ
ールのメモリ使用量、ハードウエアモジュールのプログ
ラマブル論理回路セル使用量などが、記述されている。
【0186】この第3の実施の形態の情報処理システム
は、アプリケーションプログラムの実行前に、このヘッ
ダ部HEDの情報を取得する。そして、前記のソフトウ
エアモジュールSMおよびハードウエアモジュールHM
についての能力等に関する情報を、情報処理システムの
ディスプレイの画面に表示する。
【0187】ユーザは、期待する処理時間、情報処理装
置が備えているメモリ量、プログラマブル論理回路が備
えているセル数を考慮して、各処理モジュールをどちら
のモジュールで行うかを、キー操作部を用いて指示す
る。
【0188】実行モジュール決定手段600は、この指
示により、各処理モジュールを、ソフトウエアモジュー
ルと、ハードウエアモジュールのいずれで実行するかの
情報を格納する。そして、実行モジュール決定手段60
0は、各処理モジュールの実行時に、設定されたモジュ
ールで処理を実行するように制御する。
【0189】なお、この第3の実施の形態の場合には、
ハードウエアモジュール取得手段300で検索し、取得
するハードウエアモジュールHMは、プログラムのヘッ
ダ部HEDに識別符号が記述されているすべてのハード
ウエアモジュールHMではなく、事前に選択されたハー
ドウエアモジュールHMのみでよい。
【0190】このように、この第3の実施の形態の場合
には、プログラム開始前に、各処理モジュールの実行に
ついて、ソフトウエアモジュールとハードウエアモジュ
ールのいずれを使用するかを、ユーザが自由に選択指示
することができる。したがって、処理速度だけでなく、
メモリ使用量などを考慮した適切な処理を行うようにす
ることができる。
【0191】[第4の実施の形態]以上に示した第1の
実施の形態、第2の実施の形態および第3の実施の形態
では、アプリケーションプログラムが、ソフトウエアモ
ジュールの集合で構成され、ソフトウエアモジュールと
同じ処理を行うハードウエアモジュールを、プログラム
のヘッダ部HEDの識別符号により取得し、プログラム
の実行前またはプログラム実行時に、実行モジュールを
決定した。
【0192】しかし、この逆に、アプリケーションプロ
グラムが、ハードウエアモジュールの集合で構成され、
ハードウエアモジュールと同じ処理を行うソフトウエア
モジュールを、プログラムのヘッダ部HEDの識別符号
によりシステム内の記憶装置やネットワーク上の記憶装
置から取得する場合も、ソフトウエアモジュールとハー
ドウエアモジュールとを置き換えるだけで、前述した第
1の実施の形態、第2の実施の形態、第3の実施の形態
と、同様な処理を行うことができる。
【0193】なぜならば、両方のモジュールを取得した
後では、実行モジュールを決定する手順は同じであり、
実行プログラム用記憶部としての主記憶装置である、例
えばメインメモリ13に格納されているソフトウエアモ
ジュールを、再び取得する必要はないし、アプリケーシ
ョンの開始前にソフトウエアモジュールを、主記憶装置
に格納することができるからである。
【0194】この第4の実施の形態の場合の、ブロック
図を、図19に示す。この図19は、第2の実施の形態
に対応したものであり、第1の実施の形態に対応する構
成の場合には、識別情報記憶手段800が存在しない。
【0195】この場合には、アプリケーションプログラ
ム110に記述されているハードウエアモジュールHM
は、プログラマブル論理回路400に転送されて、再構
成される。
【0196】また、前述の実施の形態のハードウエアモ
ジュール取得手段300に対応するソフトウエアモジュ
ール取得手段330は、前述の実施の形態と同様にし
て、ネットワーク上の記憶装置の処理能力を考慮した転
送を行い、取得したソフトウエアモジュールを、実行プ
ログラム記憶手段550に格納し、CPU500で実行
するようにする。この実行プログラム記憶手段440
は、前述したように、情報処理システムでは、ハードデ
ィスクドライブ18やメインメモリ13で構成される。
【0197】[実施の形態の効果]以上説明したよう
に、第1の実施の形態、第2の実施の形態、第3の実施
の形態および第4の実施の形態では、少なくとも処理の
一部分が回路構成を再構成できるプログラマブル論理回
路で処理される情報処理システムにおいて、ソフトウエ
アモジュールによるアプリケーションプログラムの実行
と並行して、ソフトウエアモジュールと同じ処理を行う
ハードウエアモジュールのコンフィギュレーションを行
うことにより、プログラム論理回路の再構成時間を考慮
した最善のソフトウエアモジュールとハードウエアモジ
ュールの組み合わせでプログラムを実行することがで
き、情報処理システムの最高の処理能力を発揮すること
が可能となる。
【0198】したがって、従来のように、アプリケーシ
ョンプログラムにおいてソフトウエアモジュールとハー
ドウエアモジュールとで、処理する部分を事前に固定的
に決定する必要が無い。
【0199】また、ハードウエアモジュールの情報ある
いはソフトウエアモジュールの情報をネットワークから
取得するときには、ネットワーク上の複数の記憶装置
(サーバー)のうちの転送処理能力の高いものを選択し
て情報の取得を実行するようにしたので、ネットワーク
からの情報の取得を高速に行えるために、全体としての
処理速度の向上を図ることができる。
【0200】また、第2の実施の形態および第4の実施
の形態では、プログラム順にネットワークからハードウ
エアモジュールまたはソフトウエアモジュールを取得す
るルーチンと並行して、ファイルサイズの大きいもの順
に、いまだ、取得していないハードウエアモジュールま
たはソフトウエアモジュールを取得して、システム内の
記憶装置に取り込んでおくようにしたので、全体として
の処理速度の向上を図ることができる。
【0201】また、第1の実施の形態、第2の実施の形
態および第3の実施の形態によれば、ネットワーク上の
記憶装置にハードウエアモジュールが格納され、処理の
途中でネットワーク通信が切断されることがあっても、
処理を中断することなく、ソフトウエアモジュールによ
り処理を継続することが可能となる。
【0202】同様に、第4の実施の形態によれば、ネッ
トワーク上の記憶装置にソフトウエアモジュールが格納
され、処理の途中でネットワーク通信が切断されること
があっても、処理を中断することなく、ハードウエアモ
ジュールにより処理を継続することが可能となる。
【0203】また、第3の実施の形態の場合には、プロ
グラムを開始する前に、処理を行うモジュールを指示す
ることで、情報処理装置の状態や、ユーザの好みに応じ
た処理を行うことができる。
【0204】なお、以上の実施の形態では、複数存在す
るネットワーク上の記憶装置のうち、識別符号で示され
る回路情報が格納されている記憶装置で最も転送能力の
高い記憶装置を選択するのに、検索した記憶装置のリス
トに基づいて行うようにしたが、LANコントローラー
や、サーバーコントローラーなどでこの処理を行うこと
も可能である。
【0205】また、ネットワークから転送してくるシス
テム内の記憶装置は、ハードディスク装置を例としてい
るが、CPUバス上のメモリやプログラマブル論理回路
のローカルメモリでも、同等あるいはそれ以上の効果が
得られる。
【0206】
【発明の効果】以上説明したように、この発明によれ
ば、少なくとも処理の一部分が回路構成を再構成できる
プログラマブル論理回路で処理される情報処理システム
において、ソフトウエアで処理を実行するか、プログラ
マブル論理回路によるハードウエアで処理を実行するか
を、柔軟に決定することができ、従来のように、アプリ
ケーションプログラムにおいて、ソフトウエアモジュー
ルとハードウエアモジュールとで、処理する部分を事前
に固定的に決定する必要が無い。
【0207】そして、請求項1または請求項2の発明で
は、ネットワーク上の複数の記憶装置から識別符号に対
応するハードウエアモジュールまたはソフトウエアモジ
ュールを格納する記憶装置を検索し、該当する複数の記
憶装置の中でハードウエアモジュールまたはソフトウエ
アモジュールの転送速度が最も速い記憶装置を選択する
手段を有しているので、その時点で最速の記憶装置から
ハードウエアモジュールまたはソフトウエアモジュール
を入手することができ、転送時間の短縮が可能となり、
ひいてはプログラム全体の処理時間の短縮が可能とな
る。
【0208】また、請求項3の発明では、記憶装置の転
送処理能力が高いときであっても、当該記憶装置にアク
セス要求が集中することによる実際の転送時間が長くな
ることに対処して、実際的に、転送時間を、より短くす
ることができる。
【0209】また、請求項4または請求項5の発明によ
れば、プログラムの実行順にハードウエアモジュールま
たはソフトウエアモジュールを入手するプロセスと並行
して、情報処理システム内にないハードウエアモジュー
ルまたはソフトウエアモジュールをシステム内の記憶装
置に取り込むことにより、ネットワークから取得するオ
ーバーヘッドの時間を最小にすることが可能になる。
【0210】また、請求項6の発明によれば、並行して
ネットワークからハードウエアモジュールまたはソフト
ウエアモジュールを取り込むときに、ファイルサイズの
大きいものから順に入手するようにしているので、実行
順に入手する場合にはファイルサイズが大きいため、ネ
ットワークからの転送時間がかかってしまうハードウエ
アまたはソフトウエアモジュールを、効率よく情報処理
システム内の記憶装置に取り込んで、処理にとってのオ
ーバーヘッドの時間をさらに短縮することが可能であ
る。
【0211】特に、実行時までにコンフィギュレーショ
ンを行うことが困難なハードウエアモジュールのデータ
でも、実行時までに、プログラム実行順と並行してネッ
トワーク上の記憶装置からシステム内の記憶装置に転送
しておくことができるため、実行時には転送速度の安定
しているシステム内のバスのみを介して転送することが
可能となり、ハードウエアモジュールで処理モジュール
を実行する回数が増えることが期待でき、プログラム全
体の処理時間の短縮が可能となる。
【図面の簡単な説明】
【図1】この発明による情報処理システムの第1の実施
の形態の概念構成を示すブロック図である。
【図2】この発明による情報処理システムの第1の実施
の形態で用いるアプリケーションプログラムの一例を説
明するための図である。
【図3】この発明による情報処理システムの第1の実施
の形態のハードウエア構成例を示す図である。
【図4】プログラマブル論理回路の一例を説明するため
の図である。
【図5】プログラマブル論理回路の一例を説明するため
の図である。
【図6】この発明による情報処理システムの第1の実施
の形態の主要な処理動作を説明するためのフローチャー
トである。
【図7】この発明による情報処理システムの第1の実施
の形態の処理の具体例(第1の実施例)を説明するため
のフローチャートである。
【図8】図7の一部の処理ルーチンを説明するためのフ
ローチャートである。
【図9】図7の一部の処理ルーチンを説明するためのフ
ローチャートである。
【図10】図7の一部の処理ルーチンを説明するための
フローチャートである。
【図11】この発明による情報処理システムの第2の実
施の形態の概念構成を示すブロック図である。
【図12】この発明による情報処理システムの第2の実
施の形態で用いるアプリケーションプログラムの一例を
説明するための図である。
【図13】第2の実施の形態における処理の流れを説明
するためのフローチャートである。
【図14】第2の実施の形態における処理の具体例で用
いるアプリケーションプログラムの一例を説明するため
の図である。
【図15】第2の実施の形態における処理の具体例の処
理の流れを説明するためのフローチャートである。
【図16】図15のフローチャートの一部のフローチャ
ートである。
【図17】図16のフローチャートの一部のフローチャ
ートである。
【図18】第2の実施の形態における処理の具体例の処
理の流れを説明するためのタイミングチャートである。
【図19】この発明による情報処理システムの第2の実
施の形態の概念構成を示すブロック図である。
【図20】従来の情報処理システムの一例を説明するた
めの図である。
【図21】従来の情報処理システムの他の一例を説明す
るための図である。
【図22】従来の情報処理システムの、さらに他の一例
を説明するための図である。
【符号の説明】
10 情報処理システム 11 CPU 12 チップセット 13 メインメモリ 14 バス 15 プログラマブル論理回路インターフェース 16 プログラマブル論理回路 17 ハードディスクインターフェース 18 ハードディスクドライブ 19 通信インターフェース 20 ネットワーク 21、22、23 ネットワーク上の記憶装置 100 アプリケーションプログラム 160 コンフィギュレーションメモリ 200 ネットワーク上の記憶装置 300 ハードウエアモジュール取得手段 330 ソフトウエアモジュール取得手段 400 プログラマブル論理回路 440 実行プログラム記憶手段 500 CPU 600 実行モジュール決定手段 700 選択条件設定手段 800 識別符号記憶手段

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】一連の処理が複数の処理モジュールに分割
    され、各処理モジュールが、プログラム言語で処理を記
    述したソフトウエアモジュールで構成されるプログラム
    で記述される前記一連の処理を実行するものであり、か
    つ、前記一連の処理の一部分が、プログラマブル論理回
    路で処理可能である情報処理システムであって、 前記プログラム内のソフトウエアモジュールが行う処理
    と同じ処理を、前記プログラマブル論理回路に再構成す
    る回路情報で記述したハードウエアモジュールを、ネッ
    トワーク上の記憶装置から入手して、前記プログラマブ
    ル論理回路を再構成するハードウエアモジュール取得手
    段と、 前記プログラムに記述された処理モジュールを、前記ソ
    フトウエアモジュールと、前記ハードウエアモジュール
    のどちらで実行するかを、前記プログラムの実行前また
    は実行時に決める実行モジュール決定手段と、 を備え、 前記ソフトウエアモジュールが行う処理と同じ処理を行
    う前記ハードウエアモジュールを示す識別符号が、前記
    プログラム内に記述されており、 前記ハードウエアモジュール取得手段は、 前記プログラム内に記述されている前記識別符号に対応
    するハードウエアモジュールを、前記ネットワーク上の
    記憶装置から入手するものであって、 前記ネットワーク上の複数の記憶装置から前記識別符号
    に対応するハードウエアモジュールを格納する記憶装置
    を検索し、該当する複数の記憶装置の中から前記ハード
    ウエアモジュールの転送速度が最も速い記憶装置を選択
    する検索手段と、 前記検索手段で選択された記憶装置からの前記ハードウ
    エアモジュールの取得およびプログラマブル論理回路の
    再構成を実行する取得実行手段と、 を有することを特徴とする情報処理システム。
  2. 【請求項2】一連の処理が複数の処理モジュールに分割
    され、各処理モジュールが、プログラマブル論理回路に
    構成する回路情報で処理を記述したハードウエアモジュ
    ールで構成されるプログラムで記述される前記一連の処
    理を実行するものであり、かつ、前記一連の処理の一部
    分が、前記プログラマブル論理回路で処理可能である情
    報処理システムであって、 前記プログラム内のハードウエアモジュールが行う処理
    と同じ処理をプログラム言語で記述したソフトウエアモ
    ジュールを、ネットワーク上の記憶装置から入手して、
    実行プログラム用記憶部に格納するソフトウエアモジュ
    ール取得手段と、 前記プログラムに記述された処理モジュールを、前記ソ
    フトウエアモジュールと、前記ハードウエアモジュール
    のどちらで実行するかを、前記プログラムの実行前また
    は実行時に決める実行モジュール決定手段と、 を備え、 前記ハードウエアモジュールが行う処理と同じ処理を行
    うソフトウエアモジュールを示す識別符号が、前記プロ
    グラム内に記述されており、 前記ソフトウエアモジュール取得手段は、 前記識別符号に対応するソフトウエアモジュールを入手
    して、前記実行プログラム用記憶部に格納するものであ
    って、 前記ネットワーク上の複数の記憶装置から前記識別符号
    に対応するソフトウエアモジュールを格納する記憶装置
    を検索し、該当する複数の記憶装置の中から前記ソフト
    ウエアモジュールの転送速度が最も速い記憶装置を選択
    する検索手段と、 前記検索手段で選択された記憶装置からの前記ソフトウ
    エアモジュールの取得を実行する取得実行手段と、 を有することを特徴とする情報処理システム。
  3. 【請求項3】請求項1または請求項2に記載の情報処理
    システムにおいて、 前記取得実行手段は、前記ハードウエアモジュールある
    いは前記ソフトウエアモジュールの前記ネットワークか
    らの転送を実行して、その単位時間当たりの転送量が、
    予め定めた期待値よりも小さいときには、前記転送速度
    が次位の記憶装置から、前記ハードウエアモジュールあ
    るいは前記ソフトウエアモジュールを取得するように変
    更することを特徴とする情報処理システム。
  4. 【請求項4】一連の処理が複数の処理モジュールに分割
    され、各処理モジュールが、プログラム言語で処理を記
    述したソフトウエアモジュールで構成されるプログラム
    で記述される前記一連の処理を実行するものであり、か
    つ、前記一連の処理の一部分が、プログラマブル論理回
    路で処理可能である情報処理システムであって、 前記プログラム内のソフトウエアモジュールが行う処理
    と同じ処理を、前記プログラマブル論理回路に再構成す
    る回路情報で記述したハードウエアモジュールを、ネッ
    トワーク上の記憶装置から入手して、前記プログラマブ
    ル論理回路を再構成するハードウエアモジュール取得手
    段と、 前記プログラムに記述された処理モジュールを、前記ソ
    フトウエアモジュールと、前記ハードウエアモジュール
    のどちらで実行するかを、前記プログラムの実行前また
    は実行時に決める実行モジュール決定手段と、 を備え、 前記ソフトウエアモジュールが行う処理と同じ処理を行
    う前記ハードウエアモジュールを示す識別符号が、前記
    プログラム内に記述されており、 前記ハードウエアモジュール取得手段は、 前記プログラム内に記述されている前記識別符号に対応
    する前記ハードウエアモジュールを、前記プログラムに
    よる処理の実行順に、前記ネットワーク上の記憶装置か
    ら入手して、前記プログラマブル論理回路に再構成する
    取得実行手段と、 前記取得実行手段での処理と並行して、前記ネットワー
    ク上の記憶装置から前記識別符号に対応する他のハード
    ウエアモジュールを取得して、システム内の記憶装置に
    格納する並行取得手段と、 前記並行取得手段で取得した前記ハードウエアモジュー
    ルの回路情報により前記プログラマブル論理回路を再構
    成する手段と、 を備えることを特徴とする情報処理システム。
  5. 【請求項5】一連の処理が複数の処理モジュールに分割
    され、各処理モジュールが、プログラマブル論理回路に
    構成する回路情報で処理を記述したハードウエアモジュ
    ールで構成されるプログラムで記述される前記一連の処
    理を実行するものであり、かつ、前記一連の処理の一部
    分が、前記プログラマブル論理回路で処理可能である情
    報処理システムであって、 前記プログラム内のハードウエアモジュールが行う処理
    と同じ処理をプログラム言語で記述したソフトウエアモ
    ジュールを、ネットワーク上の記憶装置から入手して、
    実行プログラム用記憶部に格納するソフトウエアモジュ
    ール取得手段と、 前記プログラムに記述された処理モジュールを、前記ソ
    フトウエアモジュールと、前記ハードウエアモジュール
    のどちらで実行するかを、前記プログラムの実行前また
    は実行時に決める実行モジュール決定手段と、 を備え、 前記ハードウエアモジュールが行う処理と同じ処理を行
    うソフトウエアモジュールを示す識別符号が、前記プロ
    グラム内に記述されており、 前記ソフトウエアモジュール取得手段は、 前記識別符号に対応するソフトウエアモジュールを入手
    して、前記実行プログラム用記憶部に格納するものであ
    って、 前記プログラム内に記述されている前記識別符号に対応
    する前記ソフトウエアモジュールを、前記プログラムに
    よる処理の実行順に、前記ネットワーク上の記憶装置か
    ら入手して、前記実行プログラム用記憶部に格納する実
    行ソフトウエアモジュール格納手段と、 前記実行ソフトウエアモジュール格納手段での処理と並
    行して、前記ネットワーク上の記憶装置から前記識別符
    号に対応する他のソフトウエアモジュールを取得して、
    システム内の記憶装置に格納する並行取得手段と、 前記並行取得手段で取得した前記ソフトウエアモジュー
    ルを、前記実行ソフトウエアモジュール格納手段に格納
    する手段と、 を備えることを特徴とする情報処理システム。
  6. 【請求項6】請求項4または請求項5に記載の情報処理
    システムにおいて、 前記プログラム内には、前記識別符号に対応して、それ
    ぞれの識別符号に対応するハードウエアモジュールある
    いはソフトウエアモジュールのファイルサイズが記述さ
    れており、 前記並行取得手段では、前記プログラム内に記述される
    識別符号に対応するハードウエアモジュールあるいはソ
    フトウエアモジュールのうちの、前記ファイルサイズの
    大きいものから順に取得することを特徴とする情報処理
    システム。
JP02813698A 1998-02-10 1998-02-10 情報処理システム Expired - Fee Related JP3738802B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02813698A JP3738802B2 (ja) 1998-02-10 1998-02-10 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02813698A JP3738802B2 (ja) 1998-02-10 1998-02-10 情報処理システム

Publications (2)

Publication Number Publication Date
JPH11232309A true JPH11232309A (ja) 1999-08-27
JP3738802B2 JP3738802B2 (ja) 2006-01-25

Family

ID=12240365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02813698A Expired - Fee Related JP3738802B2 (ja) 1998-02-10 1998-02-10 情報処理システム

Country Status (1)

Country Link
JP (1) JP3738802B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300566A (ja) * 2001-03-30 2002-10-11 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US7130931B2 (en) * 2003-06-18 2006-10-31 International Business Machines Corporation Method, system, and article of manufacture for selecting replication volumes
JP2008271538A (ja) * 2007-03-27 2008-11-06 National Institute Of Advanced Industrial & Technology パケットデータ比較器及びそれを用いたウイルスフィルタ、ウイルスチェッカ、ネットワークシステム
JP2017102923A (ja) * 2015-11-30 2017-06-08 三星電子株式会社Samsung Electronics Co.,Ltd. 加速器コントローラ及びその加速器ロジックローディング方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011198060A (ja) * 2010-03-19 2011-10-06 Hitachi Ltd ハードソフト連携フィルタリング処理システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002300566A (ja) * 2001-03-30 2002-10-11 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP4665330B2 (ja) * 2001-03-30 2011-04-06 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
US7130931B2 (en) * 2003-06-18 2006-10-31 International Business Machines Corporation Method, system, and article of manufacture for selecting replication volumes
JP2008271538A (ja) * 2007-03-27 2008-11-06 National Institute Of Advanced Industrial & Technology パケットデータ比較器及びそれを用いたウイルスフィルタ、ウイルスチェッカ、ネットワークシステム
JP2017102923A (ja) * 2015-11-30 2017-06-08 三星電子株式会社Samsung Electronics Co.,Ltd. 加速器コントローラ及びその加速器ロジックローディング方法

Also Published As

Publication number Publication date
JP3738802B2 (ja) 2006-01-25

Similar Documents

Publication Publication Date Title
US11977977B2 (en) Methods and systems for data analysis in a state machine
US11741014B2 (en) Methods and systems for handling data received by a state machine engine
US11928590B2 (en) Methods and systems for power management in a pattern recognition processing system
US10372653B2 (en) Apparatuses for providing data received by a state machine engine
EP2891053B1 (en) Results generation for state machine engines
US8680888B2 (en) Methods and systems for routing in a state machine
US10489062B2 (en) Methods and systems for using state vector data in a state machine engine
JP4212676B2 (ja) 情報処理システムおよび情報処理方法
US20200401553A1 (en) Devices for time division multiplexing of state machine engine signals
JP3877002B2 (ja) 情報処理システムおよび情報処理方法
JP3738802B2 (ja) 情報処理システム
JP3747985B2 (ja) 情報処理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050929

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051012

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051025

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091111

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101111

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111111

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111111

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121111

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121111

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131111

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees