JPH11232079A - 情報処理システム - Google Patents
情報処理システムInfo
- Publication number
- JPH11232079A JPH11232079A JP10032673A JP3267398A JPH11232079A JP H11232079 A JPH11232079 A JP H11232079A JP 10032673 A JP10032673 A JP 10032673A JP 3267398 A JP3267398 A JP 3267398A JP H11232079 A JPH11232079 A JP H11232079A
- Authority
- JP
- Japan
- Prior art keywords
- programmable logic
- logic circuit
- combination
- hardware
- circuit
- 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
Links
Abstract
論理回路で処理される情報処理システムにおいて、アプ
リケーションプログラムを高速に処理することができる
プログラマブル論理回路の構成方法を提供する。 【解決手段】 処理を前記プログラマブル論理回路に再
構成する回路情報で記述したハードウエアモジュール
を、情報処理システム内記憶装置、または、ネットワー
ク上の記憶装置から取得して、プログラマブル論理回路
に再構成するものである。プログラム中で処理順序が連
続する複数のハードウェアモジュールの組み合わせを検
出し、その組み合わせよる結合回路が、プログラマブル
論理回路に同時に構成可能かを判定する。その判定の結
果、プログラマブル論理回路に同時に構成可能な、処理
順序が連続する複数のハードウェアモジュールを結合し
て1つの新ハードウェアモジュールを生成し、情報シス
テム内記憶装置に格納し、それによりプログラマブル論
理回路をコンフィギュレーションできるようにする。
Description
の一部分を、回路構成を再構成できるプログラマブル論
理回路で処理することが可能である情報処理システムに
関するものである。
積回路(ASIC)の分野において、製品の開発期間を
短縮するために、フィールドプログラマブルゲートアレ
イ(FPGA)やプログラマブルロジックデバイス(P
LD)などで構成されたプログラマブル論理回路が広く
使われている。
回路を記述する回路情報をこれらに読み込ませること
で、内部の論理回路と論理回路間の結線を自由に構成す
ることができる。このため、プログラマブル論理回路装
置を用いることで、従来は回路設計の終了後に数週間か
ら数か月を必要とした集積回路の作製時間が不要になる
というメリットがある。特に、米国特許第4,700,
187号の発明のような電気的に再構成可能なプログラ
マブル論理回路装置は、一度作製した回路を必要に応じ
て自由に何度でも変更できるという利点があり、プログ
ラマブル論理回路装置は、ますます広く使われるように
なってきている。
し、一つのプログラマブル論理回路装置では実現できな
い規模にまで回路規模が大きくなっている。
して、異なる時間に異なる論理回路を実現するためにプ
ログラマブル論理回路を処理の途中で再構成することが
提案されている。この方法を用いることにより、携帯情
報端末のように、装置が小型であるため、内蔵できる回
路規模に制約がある場合でも、様々な処理が比較的高速
に行えるという利点がある。
するときには、回路全体の回路情報を再度読み込ませる
ため、再構成に時間がかかるという欠点がある。さら
に、処理の途中で再構成することは、処理を一時中断
し、その時のデータをプログラマブル論理回路の外部の
記憶装置に待避させ、新たな回路情報を読み込んで再構
成し、再構成前のデータと再構成に伴う新しいデータを
入力するという余分な処理が必要で、データを出し入れ
する処理は冗長なものとになる。
社の「CONFIGURABLELOGIC」という名
のデータブックに記載されているプログラマブル論理回
路、および米国ザイリンクス社の「THE PROGR
AMMABLE LOGIC」という名のデータブック
に記載されているプログラマブル論理回路では、データ
を記憶するためのデータ記憶装置を有し、回路の動作中
でも外部の記憶装置から回路情報の一部を読み込んで部
分的に再構成を行うことで、再構成するための時間を最
小に留めるようにしている。
いて、高速かつ簡便に処理することができる計算機シス
テムが、特開平6−301522号公報に開示されてい
る。この計算機システムは、複数のプログラムを元に、
プログラマブル論理回路上にハードウエアを構成する例
である。これを、図17を参照しながら説明する。
算機で実行するソースプログラム1000は、回路構成
を変更できない固定部と、プログラマブル論理回路のよ
うに回路構成を変更できる可変部とで構成される。ライ
ブラリ1001には、固定部の構成に関する情報と、可
変部が構成することができる回路の情報が格納されてい
る。
1000を解析し、ライブラリ1001を参照しなが
ら、オブジェクトコードと、ハードウエア構成データに
変換する。例えば、コンパイラ1002は、ソースプロ
グラムのフロー解析を行い、関数の頻度を検出し、その
検出した頻度に基づいて、呼び出し回数の多い関数をハ
ードウエアで処理する関数として決定し、ハードウエア
構成データ1003を作成し、出力する。
アで処理すると決めた部分を所定の可変部で処理するこ
とを示すコードを生成する。そして、このコードを、残
りのソフトウエアで処理する部分に付加してオブジェク
トコード1004を作成し、出力する。計算機1005
は、固定部と、ハードウエア構成データにより構成され
た可変部とを用いて、オブジェクトコードに応じた処理
を実行する。
ル時に呼び出し回数の多い関数をハードウエア化するこ
とにより処理全体の高速化を図っている。
に、一般に、プログラマブル論理回路で実行する処理
は、ひとつのプログラム内で、一つの処理と定められ、
当該処理は、呼び出し回数の多い関数というように一元
的に決められるものであって、プログラマブル論理回路
で実行する処理による例えば関数演算が、ひとつのプロ
グラム内で複数になる場合は、その関数の呼び出しごと
に回路情報の再構成が必要である。
する処理を、関数の単位で決めて、プログラマブル論理
回路に再構成する場合には、次のような問題がある。
成する回路情報のサイズは、関数の処理内容によって、
小さいものから大きいものまで存在するが、呼び出す関
数が頻繁に変わる場合に、それが小さいサイズの回路の
連続でも、必ず、呼び出しのたびに、プログラマブル論
理回路を再構成する期間が生じ、プログラム全体の処理
速度の低下を招くという問題がある。
論理回路を利用して、すでに回路が構成されているプロ
グラマブル論理回路の空いている領域に、別の回路情報
を構成することもできる。しかし、この場合には、常に
プログラマブル論理回路上の空き状況を調べてから追加
再構成するか、全面再構成するかを決める処理が介在す
ることになり、やはりプログラム全体の処理速度の低下
を招く問題がある。
み、少なくとも処理の一部分が、プログラマブル論理回
路で処理される情報処理システムにおいて、アプリケー
ションプログラムを高速に処理することができるプログ
ラマブル論理回路の構成方法を提供することを目的とす
るものである。
め、この発明による情報処理システムは、アプリケーシ
ョンプログラムにより実行される複数の処理の少なくと
も一部分の処理を、プログラマブル論理回路で処理する
ものであって、前記処理を前記プログラマブル論理回路
に再構成する回路情報で記述したハードウエアモジュー
ルを、情報処理システム内記憶装置、または、ネットワ
ーク上の記憶装置から取得して、前記プログラマブル論
理回路に再構成するようにする情報処理システムにおい
て、前記アプリケーションプログラム中で処理順序が連
続する複数のハードウェアモジュールの組み合わせを検
出する検出手段と、前記検出手段で検出された処理順序
が連続する複数のハードウェアモジュールの組み合わせ
による結合回路が、前記プログラマブル論理回路に同時
に構成可能かを判定する判定手段と、前記判定手段で前
記プログラマブル論理回路に同時に構成可能な、前記処
理順序が連続する複数のハードウェアモジュールを結合
して1つの新ハードウェアモジュールを生成し、前記情
報システム内記憶装置に格納する結合ハードウエアモジ
ュール生成手段と、を備え、前記アプリケーションプロ
グラムの実行時に、実行しようとする処理の後続の処理
の組み合わせに応じて、前記結合ハードウエアモジュー
ルにより、前記プログラマブル論理回路を再構成するこ
とを特徴とする。
の情報処理システムにおいて、前記検出手段は、前記ア
プリケーションプログラム中で処理順序が連続する複数
のハードウェアモジュールの組み合わせの前記プログラ
ム中での出現頻度をも検出するものであり、前記判定手
段は、前記検出手段で検出された処理順序が連続する複
数のハードウェアモジュールの組み合わせのうち、前記
検出された出現頻度の高いものについて、その組み合わ
せによる結合回路が、前記プログラマブル論理回路に同
時に構成可能かを判定することを特徴とする。
いては、アプリケーションプログラム中で処理順序が連
続する複数のハードウェアモジュールの組み合わせであ
って、その結合が領域的にプログラマブル論理回路に再
構成可能な場合には、その複数のハードウェアモジュー
ルが結合されて1つの新ハードウェアモジュールが予め
生成され、システム内記憶装置に格納される。
行時には、連続する複数の処理の実行開始前に、その連
続する複数の処理に対応する新ハードウエアモジュール
がシステム内記憶装置から読み出されて、プログラマブ
ル論理回路に再構成される。
された新ハードウエアモジュールを用いる場合には、そ
の複数の処理についてのプログラマブル論理回路の再構
成は1回で良くなり、これにより、アプリケーションプ
ログラムにより実行される全体の処理の中での再構成回
数が少なくなり、処理時間の短縮化が図れる。
る複数の処理の組み合わせの出現頻度が多いもの、つま
り、繰り返し使用される組み合わせについて、新ハード
ウエアモジュールが生成されて、システム内記憶装置に
格納されて、アプリケーションプログラムの実行時に利
用されるので、再構成回数の削減効果が大きくなり、プ
ログラマブル論理回路を効率良く使用した処理ができ
る。
ステムの実施の形態を、図を参照しながら説明する。
が回路構成を再構成できるプログラマブル論理回路で処
理される情報処理システムの実施の形態の主要な概念構
成を図1に示す。
リケーションプログラム(以下の説明においては、単に
プログラムという場合もある)100は、当該プログラ
ムにより実行しようとする一連の処理を複数個の処理に
分離し、分離された各処理ごとにモジュールとして構成
したものである。このモジュールを、この明細書では処
理モジュールと称することとする。
ョンプログラム100は、その一部または全部の処理モ
ジュールを、プログラマブル論理回路400によるハー
ドウエア処理により行うように記述するものである。プ
ログラマブル論理回路400で処理を行わない処理モジ
ュールは、CPU500によるソフトウエア処理とされ
る。
情報で記述したモジュール(この明細書では、このモジ
ュールをハードウエアモジュールと称する)HMは、ネ
ットワーク上の記憶装置200あるいは当該情報処理シ
ステム内の記憶装置に保存して用意する。
に示すように、ヘッダ部HEDと、本体部PRGとから
なり、本体部PRGには、プログラムが記述されてい
る。そして、ヘッダ部HEDには、使用するハードウエ
アモジュールHMの識別符号が、その使用順に記述され
ている。また、各ハードウエアモジュールHMの識別符
号に対応して、各ハードウエアモジュールHMのファイ
ルサイズが記述されている。
ードウエアモジュールHMの識別符号とファイルサイズ
の情報は、識別符号記録手段600に記録される。
は、プログラム100中に記述されている識別符号ID
を用いて、ハードウエアモジュールHMを、情報処理シ
ステム内またはネットワーク上の記憶装置200から取
得する。そして、ハードウエアモジュール取得手段30
0は、取得したハードウエアモジュールHMによる回路
をプログラマブル論理回路400上に再構成する。
エアモジュール取得手段300は、アプリケーションプ
ログラム100中で処理順序が連続する複数のハードウ
ェアモジュールの組み合わせを検出する検出手段310
と、この検出手段310で検出された処理順序が連続す
る複数のハードウェアモジュールの組み合わせによる結
合回路が、プログラマブル論理回路400に同時に構成
可能かを判定する判定手段320と、この判定手段32
0でプログラマブル論理回路400に同時に構成可能
な、処理順序が連続する複数のハードウェアモジュール
を結合して1つの新ハードウェアモジュールを生成し、
情報システム内記憶装置200に格納する結合モジュー
ル生成手段330とを備える。
よび結合モジュール生成手段330は、ハードウエアモ
ジュール取得手段300において、プログラム実行前の
前処理として機能する。
ログラム100のヘッダ部HEDの識別符号IDの並び
順により、処理順序が連続する複数のハードウェアモジ
ュールの組み合わせを検出する。
された連続する複数のハードウェアモジュールの組み合
わせによる結合回路が、プログラマブル論理回路400
に同時に構成可能かを、ヘッダ部HEDのファイルサイ
ズと、プログラマブル論理回路400のコンフィギュレ
ーションメモリ領域とから判定する。
段320でプログラマブル論理回路に再構成可能なサイ
ズの結合モジュールのみを生成する。そして、結合モジ
ュール生成手段330は、生成した結合モジュールにつ
いて、新しい識別符号を付与し、その識別符号を識別符
号記録手段600に記録する。
300は、この前処理において生成された結合モジュー
ルをも用いて、識別符号記録手段に記録されている識別
符号に対応するハードウエアモジュールを、システム内
記憶装置またはネットワーク上の記憶装置200から取
得して、プログラマブル論理回路400の再構成を実行
する。そして、そのプログラマブル論理回路400に構
成された回路を用いられて、処理が実行される。
は、この発明の第1の実施の形態の情報処理システム1
0のハードウエア構成例を示すブロック図である。この
実施の形態の情報処理システム10においては、CPU
11のホストバス11Bに、チップセット12に含まれ
るメモリコントローラ(図示せず)を介して、例えばD
RAMで構成されるメインメモリ13が接続される。
12に含まれるホスト−PCIバスブリッジ(図示せ
ず)を介して、PCIバス14に接続される。PCIバ
ス14には、プログラマブル論理回路インターフェース
15を介してプログラマブル論理回路16と、ハードデ
ィスクインターフェース17を介してハードディスクド
ライブ18と、通信インターフェース19とが接続され
る。
ンターネットなどのネットワーク20を介して、プログ
ラマブル論理回路16に再構成される回路情報が格納さ
れている記憶装置(サーバ)21に接続される。
きされるハードディスクには、アプリケーションプログ
ラムが格納されている。また、アプリケーションプログ
ラムは、ネットワーク20上の記憶装置に格納されてい
る場合もある。
ドディスクやメインメモリ13には、ネットワーク20
上の記憶装置21から取得されたハードウエアモジュー
ルHMが格納される。また、前述したように生成された
結合モジュールも、ハードディスクドライブ18のハー
ドディスクやメインメモリ13に記憶される。すなわ
ち、ハードディスクドライブ18やメインメモリ13
は、システム内記憶装置を構成する。
ール取得手段300が、図3で示した情報処理システム
10のOSのひとつの機能としてソフトウエア的に実装
される。また、識別符号記録手段600は、ハードディ
スクドライブ18やメインメモリ13で構成される。
を図4に示す。プログラマブル論理回路16は、図5に
示すように、回路情報を格納するためのコンフィギュレ
ーションメモリ160と、論理セル161と、配線領域
162と、入出力端子163とで構成される。
論理セル161内および配線領域162内のSRAM、
DRAMなどの書き換え可能なメモリ素子で構成されて
いる。コンフィギュレーションメモリ160にアドレス
ADRが与えられて、新しい回路情報のデータDAが格
納されると、この回路情報に従って、論理セル161内
の回路構成と、論理セル161および入出力端子163
を相互に接続する配線領域162の接続状態が再構成さ
れる。この一連の動作をコンフィギュレーションと呼
ぶ。コンフィギュレーションメモリ160の一部分を書
き換えることで、プログラマブル論理回路が動作中であ
っても、回路を部分的に再構成することができる。
路16に再構成されて形成された回路素子164に、処
理すべきデータが入力され、また、その処理結果が出力
される。
明]図6は、この発明の実施の形態における基本的な処
理の流れを示すフローチャートである。
に先立ち、ハードウエアモジュール取得手段300は、
コンフィギュレーションデータ前処理のルーチンR10
0を実行する。
0内のヘッダ部HEDに記述されているハードウエアモ
ジュールHMの識別符号IDと、そのハードウェアモジ
ュールの回路規模を表すファイルサイズデータが読み込
まれ、当該アプリケーションプログラムで使用される、
プログラマブル論理回路16上に構成する必要のあるハ
ードウエアモジュールHMのすべてが、ハードウエアモ
ジュール取得手段300で認識される(ステップS10
1)。
ールHMの2つ以上の組合せを全て算出し、それぞれの
組合せのハードウェアモジュールのサイズデータの合計
と、プログラマブル論理回路に搭載し得る最大回路規模
とを比較して、その組み合わせのハードウエアモジュー
ルがプログラマブル論理回路に搭載可能かどうかを判断
する(ステップS102)。
ードウエアモジュールの組み合わせ、およびその結合後
のサイズがプログラマブル論理回路に搭載可能かどうか
の情報として、ステップS102で算出された結合可能
テーブルTBL1の例を示すものである。
ムで必要とするハードウェアモジュールHMの数がN個
とすると、連続する組合せは、2個のハードウエアモジ
ュールの組み合わせからN個のハードウエアモジュール
の組み合わせまで考えられる。なお、処理の目的に応じ
てハードウェアモジュールの実行順序が定型化している
場合は、検索するこれらの組み合わせの種類を限定して
もよい。
エアモジュール個数(図7の連続数)に対し、ハードウ
ェアモジュールの識別符号(図の例では、A,B,C,
D,…)を用いて組み合わせ名を表現している。そし
て、あらかじめプログラム100から取得したハードウ
ェアモジュールHMのデータサイズから、結合した場合
のデータサイズを算出し、その結合後のデータサイズ
と、プログラマブル論理回路上に搭載できる最大サイズ
とを比較して、その比較結果を、プログラマブル論理回
路に搭載できるか否かの情報として結合可能テーブルT
BL1に記載している。
いては、プログラマブル論理回路に搭載できるか否かの
情報としては、結合後のデータサイズが、プログラマブ
ル論理回路上に搭載できる最大サイズより小さいなら
ば、その組み合わせのハードウェアモジュールは同時に
プログラマブル論理回路上に搭載可能と判断して、図7
では「○」印で示すような判断情報を記録する。また、
結合後のデータサイズが、プログラマブル論理回路上に
搭載できる最大サイズより大きいならば、その組み合わ
せのハードウェアモジュールは同時にプログラマブル論
理回路上に搭載不可能と判断して、図7では「×」印で
示すような判断情報を記録する。
符号をA,B,C,D,Eの5種とし、AB,AC,A
BCの組み合わせは同時に搭載可能だが、AD,AE,
ABEといった組み合わせは同時に搭載できないと判断
されている。
処理が終了すると、次に、実行処理を行うアプリケーシ
ョンプログラム中で、プログラマブル論理回路によって
処理を行う部分の処理順序を解析し、ループの回数など
も含めて連続するハードウェアモジュール処理順序の組
み合わせを抽出して、その組み合わせの出現頻度を算出
する(ステップS103)。
を図8に示す。この図8の頻度テーブルTBL2は、プ
ログラム中から抽出された組み合わせを、頻度の高い順
に並び替えたものである。この図8の例では、例えば、
ABという順序の組み合わせ処理がアプリケーションプ
ログラム中で100回出現し、ACという順序の組み合
わせ処理がアプリケーションプログラム中で100回出
現していることを示している。
せから順に、先に算出したプログラマブル論理回路上に
同時に搭載可能なハードウェアモジュールの組み合わせ
と照合し、その組み合わせのハードウエアモジュールが
搭載可能なら、そのハードウェアモジュールの回路構成
データを結合し(ステップS104)、ひとつのコンフ
ィギュレーションデータとして情報処理システム内の記
憶装置に記憶し、新規な識別符号を与えてその識別符号
は識別符号記録手段600に記録する(ステップS10
5)。以上で、前処理のルーチンR100が終了する。
モジュールの結合処理ルーチンの詳細例を示すフローチ
ャートである。
ず、一連の繰り返し処理数をカウントする変数iが初期
化される(ステップS301)。次に、プログラムから
抽出した処理順序が連続するハードウエアモジュールの
組み合わせごとの出現頻度の情報として、ステップS1
03で算出した図8に示したような頻度テーブルTBL
2に基づき、そのi番目の頻度の組み合わせは結合可能
かどうかについて、ステップS102で算出した結合可
能テーブルTBL1と逐次照合を行う(ステップS30
2)。
処理を行う(ステップS303)。通常、プログラマブ
ル論理回路のコンフィギュレーションデータは、チップ
内部の論理セルの配置に対応して、アドレスとデータと
いう組み合わせの一連のストリームという形式であり、
ハードウェアモジュールの結合処理は、アドレスの相対
化を行い、それぞれのモジュールで使用する論理セルが
重複しないよう配置変更を行うことで施される。
に識別符号を与え、その結合ハードウエアモジュールの
データは、システム内記憶装置に記憶し、その識別符号
は識別符号記録手段600に記録されて、ハードウェア
モジュール取得手段300によって、その管理下に置か
れる。
な時は、結合処理を行わず、それぞれ単独のハードウェ
アモジュールとして利用することとする。
し(ステップS304)、i+1番目の頻度の組み合わ
せの結合の処理を、上述したi番目の処理と同様行い、
n番目の頻度の組み合わせまで処理を繰り返す。
アモジュールは結合され、新しいハードウェアモジュー
ルのセットを使ってのアプリケーションプログラムの実
行が開始される。
され、プログラマブル論理回路の処理が呼ばれると、ハ
ードウエアモジュール300は、コンフィギュレーショ
ン実行ルーチンR200の処理を開始する。
ーチン200においては、アプリケーションプログラム
により、プログラマブル論理回路で実行すべき処理モジ
ュールが呼ばれるごとに、ハードウエアモジュール取得
手段300は、プログラマブル論理回路上に、その処理
モジュールを実行するためのハードウエアモジュールに
よる回路が構成されているかを確認した上で、必要なハ
ードウエアモジュール(結合モジュールを含む)を取得
し、プログラマブル論理回路上に再構成する(ステップ
S201)。
の実行に先立ち、前述したように、実行処理を行うアプ
リケーションプログラム中で、プログラマブル論理回路
によって処理を行う部分の処理順序が解析されているの
で、プログラマブル論理回路で実行すべき処理モジュー
ルが呼ばれたときには、前記の予め解析されている、そ
の後の処理順序と、新規に生成された結合モジュールの
情報とをも参照して、その時に取得するハードウエアモ
ジュールを決定するようにする。この決定は、識別符号
により行う。
きには、単独のハードウエアモジュールを用いてコンフ
ィギュレーションを行って処理を実行するのはいうまで
もない。
プS201においては、ハードウエアモジュール取得手
段300は、識別符号記録手段600に記録されてい
る、先に、プログラム100から読み込まれた識別符
号、また、ハードウェアモジュールの結合によって新規
に生成した識別符号のうちの、前記決定された識別符号
に対応するハードウエアモジュールの回路情報を、シス
テム内の記憶装置またはネットワーク上の記憶装置から
取得する。そして、その取得したハードウエアモジュー
ルの回路情報を、プログラマブル論理回路のコンフィギ
ュレーションメモリに転送し、コンフィギュレーション
を実行して、コンフィギュレーションの完了をOS(C
PU)に通知する。
と、プログラマブル論理回路によるハードウエア処理の
シーケンスを実行する(ステップS202)。そして、
以上の処理をアプリケーション終了まで繰り返す(ステ
ップS203)。
は、プログラマブル論理回路で実行すべき処理モジュー
ルが呼ばれたときには、既に結合モジュールとしてプロ
グラマブル論理回路に構成されている場合もある。その
場合には、ハードウエアモジュール取得手段300は、
ハードウエアモジュールの取得およびコンフィギュレー
ションを実行することなく、コンフィギュレーションの
完了をOSに通知する。
0は、この発明の実施の形態におけるコンフィギュレー
ションと、ハードウェア実行シーケンスを示す模式図で
ある。図10(B)が、この発明の実施の形態の実行シ
ーケンスを示すものである。図10(A)は、結合した
ハードウエアモジュールを使用せずに、プログラム10
0に記述された個々のハードウエアモジュールのみで処
理を実行する場合の実行シーケンスを示すもので、これ
は、この発明の実施の形態の処理との比較例である。
ュールの処理順序を、A→B→A→B→C→D→A→C
→A→C→A→Cとしている。
ウェアモジュールAをプログラマブル論理回路にコンフ
ィギュレーションし、このハードウエアモジュールAを
用いて処理を実行する。
理Bのハードウェアモジュールを要求し、現状のプログ
ラマブル論理回路の構成状態で処理Bのハードウェアモ
ジュールが追加搭載可能かどうか、空き状況をチェック
する。ここでは、追加搭載構成可能と判断されるので、
処理Bのハードウェアモジュールをコンフィギュレーシ
ョンした後、再構成された回路を用いて処理を実行す
る。
ジュールは、既にプログラマブル論理回路に構成されて
いるので、コンフィギュレーションを行うことなく処理
の実行ができる。
ル処理要求が発生するたびに、プログラマブル論理回路
上に存在するハードウェアモジュール識別番号のチェッ
クおよび空き状況のチェックと、追加再構成か全面再構
成かを判断しながら処理が継続する。
は、図10(B)に示すように、A→B,A→B→C,
A→Cという処理が連続しており、かつ、同時に、それ
らの結合ハードウエアモジュールは、プログラマブル論
理回路上に搭載できることがわかるので、結合したコン
フィギュレーションデータを用いて連続する処理の最初
に1回だけコンフィギュレーションを行う。
況のチェックは、この発明の実施の形態では、ハードウ
ェアモジュールを結合する処理の段階で調べているた
め、コンフィギュレーションの直前に行う必要がない。
コンフィギュレーションデータは、各々の処理の時点
で、常に、プログラマブル論理回路上の空き状況を最小
にするよう結合してある。
ェアモジュールを使って処理する際は、対応するハード
ウェアモジュール部分のみ動作させて実行する。その他
のハードウェアモジュールはアイドル状態となってい
る。
形態を画像処理に適用した実施例を説明する。
は、単位画素から構成される画像ファイルの単一もしく
は複数画素に対して演算を行う。これは、ある画素(デ
ータxl,m )の近傍の画素(データpl,m )に、マスク
データfilterl,m を掛けて足し合わせ、係数Nを乗じた
ものを処理後の画素値xl,m として得る処理として、次
の式(1)のように表すことができる。ここで、マスク
データfilterl,m や係数Nの値を変えることにより、空
間フィルタは様々な処理を実行することが可能である。
ィルタを用いた画像処理を行う例である。まず、それら
画像フィルタについて説明する。
るLaplacianフィルタと呼ばれる画像フィルタ
に原画像を加えたマスクデータである。このフィルタ処
理を施すことにより、画像の輪郭強調を行うことができ
る。
ィルタ処理を実現するソフトウェアを記述したルーチン
SmXYZ001のプログラム例を示すものである。ま
た、図13は、図11のLaplacianフィルタ処
理を実現するハードウエアモジュールHmXYZ001
の回路例を示すものである。
理によって画像の輪郭強調を行うCプログラムの一例で
ある。演算を施す元の画像データp[l][m]に対し、for
文を用いた二重ループ構成によって、あらかじめ図11
に示すフィルタ係数を代入した配列filter[l][m]を乗算
し累積するものである。
cianフィルタの回路構成の一例である。まず、元の
画像データの演算する単位領域から、データストリーム
として、例えば、p[l][m],p[l-1][m],p[l][m-1],
p[l][m+1],p[l+1][m]を構成し、時系列的にハードウ
ェアモジュールの入力端INへ入力する。
ームを入力した時点で、画像データp[l][m],p[l-1]
[m],p[l][m-1],p[l][m+1],p[l+1][m]が、それぞ
れレジスタ44、43、42、41の出力端34,3
3,32,31および入力端INに現れている。そし
て、このとき、加算器45,46および47による演算
によって、加算器47の出力端38には、 p[l-1][m]+p[l][m-1]+p[l][m+1]+p[l+1][m] が出力されている。
力データが2ビット左シフトされることで、このシフト
レジスタ50の出力端37には、 4×p[l][m] が出力される。
タ50の出力端37のデータと、加算器47の出力端3
8のデータとの減算が行われ、この減算器48の出力端
39には、 4×p[l][m]−(p[l-1][m]+p[l][m-1]+p[l][m+1]
+p[l+1][m] が出力され、さらに加算器49により、この出力端39
の出力データに、レジスタ44の出力端34の出力デー
タp[l][m]が加算されることで、エッジ強調出力
がOUTに得られる。
画素の階調変換を行うフィルタを実現するソフトウェア
で記述したルーチンSmPQR001のプログラム例
と、ハードウェアモジュールHmPQR001の回路例
を示す。このフィルタ処理を施すことにより、画像の濃
度分布を変換してコントラストなどを補正することがで
きる。
例であり、次の式(2)で示す階調変換を用いている。
例では、ルックアップテーブル(LUT)方式を用いて
いる。すなわち、入力INに対し、テーブル60を参照
して、前記式(2)に対応する値OUTを出力する。
メモリ回路でテーブルデータをあらかじめ設定すること
で実現することができる。また、式(2)に従った入出
力の真理値表を作って、アンドゲート、オアゲート、イ
クスクルーシブオアゲートなどの基本的ロジックゲート
で、回路を構成することでテーブルを実現することもで
きる。
ら、画素データp[l][m]を、順次、入力データINとし
てハードウェアモジュールに転送し、この入力データに
対する出力データOUTをテーブル60を参照して求
め、出力するものである。
の画像フィルタを連続して処理することにより、画像の
コントラストを上げ色調補正をするという画像処理アプ
リケーションを実現する例のフローチャートを示す。
読み取りに必要な解像度と階調数で紙文書を読み取り、
画像データとして蓄積する(ステップS401)。画像
データは、例えば縦×横=L×M画素のRGB画像とす
る。この場合、画像データは、Rプレーン、Gプレー
ン、Bプレーンのそれぞれにおいて、処理が行われる。
述べたLaplacianフィルタにより、同じハード
ウェアモジュールでR1,G1,B1,R2,G2,B
2…の順でエッジ強調処理を行う(ステップS40
2)。
ィルタによって、L×M画素のそれぞれについて、Rプ
レーン、Gプレーン、Bプレーンのそれぞれにおいて、
階調補正を行う(ステップS403〜S411)。
に仕上げるために、通常、R,G,Bの各色ごとに異な
る階調変換カーブを使うので、異なるハードウェアモジ
ュールにより、やはり、R1,G1,B1,R2,G
2,B2…の順で各画素の階調変換処理を行う。
いものなので、各色の階調変換処理ハードウェアモジュ
ールは、3つが同時にプログラマブル論理回路に搭載可
能である。したがって、前述のようにして、予めハード
ウェアモジュールが結合された後、各画素の階調変換が
行われるものである。
ジュールにより処理が行われるため、R,G,B階調変
換用のハードウエアモジュールのコンフィギュレーショ
ンは、一回でよく、全ての画素の処理の処理を高速に終
了して、コントラストが高く色バランスのよい画像が、
高速に得られる。
のヘッダ部にハードウエアモジュールの識別符号と、そ
れぞれのサイズの情報を記述するようにしたが、アプリ
ケーションプログラムを解析することで、それらを検出
するようにしてもよい。
検出および結合処理は、アプリケーションプログラム上
に記述しておいてもよい。
ば、少なくとも処理の一部分が回路構成を再構成できる
プログラマブル論理回路で処理される情報処理システム
において、アプリケーションプログラム中で順序が連続
するハードウェアモジュール処理のうちプログラマブル
論理回路に同時に回路を再構成できるものを、ひとつの
コンフィギュレーションデータに結合することにより、
アプリケーション全体の処理時間のうち回路を再構成す
る時間を最小にすることができ、情報処理システムの最
高の処理能力を発揮することが可能となる。
の概念構成を示すブロック図である。
で用いるアプリケーションプログラムの一例を説明する
ための図である。
のハードウエア構成例を示す図である。
の図である。
の図である。
の主要な処理動作を説明するためのフローチャートであ
る。
を説明するために用いる図である。
を説明するために用いる図である。
ローチャートである。
体例の実行シーケンスを示す図である。
体例で用いるハードウエアモジュールの一つを説明する
ための図である。
エアで記述したときの例を示す図である。
マブル論理回路に構成される回路例を示す図である。
モジュールの他の一つを説明するための図である。
マブル論理回路に構成される回路例を示す図である。
の流れを示すフローチャートである。
めの図である。
Claims (2)
- 【請求項1】アプリケーションプログラムにより実行さ
れる複数の処理の少なくとも一部分の処理を、プログラ
マブル論理回路で処理するものであって、前記処理を前
記プログラマブル論理回路に再構成する回路情報で記述
したハードウエアモジュールを、情報処理システム内記
憶装置、または、ネットワーク上の記憶装置から取得し
て、前記プログラマブル論理回路に再構成するようにす
る情報処理システムにおいて、 前記アプリケーションプログラム中で処理順序が連続す
る複数のハードウェアモジュールの組み合わせを検出す
る検出手段と、 前記検出手段で検出された処理順序が連続する複数のハ
ードウェアモジュールの組み合わせによる結合回路が、
前記プログラマブル論理回路に同時に構成可能かを判定
する判定手段と、 前記判定手段で前記プログラマブル論理回路に同時に構
成可能な、前記処理順序が連続する複数のハードウェア
モジュールを結合して1つの新ハードウェアモジュール
を生成し、前記情報システム内記憶装置に格納する結合
ハードウエアモジュール生成手段と、 を備え、 前記アプリケーションプログラムの実行時に、実行しよ
うとする処理の後続の処理の組み合わせに応じて、前記
結合ハードウエアモジュールにより、前記プログラマブ
ル論理回路を再構成することを特徴とする情報処理シス
テム。 - 【請求項2】請求項1に記載の情報処理システムにおい
て、 前記検出手段は、前記アプリケーションプログラム中で
処理順序が連続する複数のハードウェアモジュールの組
み合わせの前記プログラム中での出現頻度をも検出する
ものであり、 前記判定手段は、前記検出手段で検出された処理順序が
連続する複数のハードウェアモジュールの組み合わせの
うち、前記検出された出現頻度の高いものについて、そ
の組み合わせによる結合回路が、前記プログラマブル論
理回路に同時に構成可能かを判定することを特徴とする
情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03267398A JP3558114B2 (ja) | 1998-02-16 | 1998-02-16 | 情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03267398A JP3558114B2 (ja) | 1998-02-16 | 1998-02-16 | 情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11232079A true JPH11232079A (ja) | 1999-08-27 |
JP3558114B2 JP3558114B2 (ja) | 2004-08-25 |
Family
ID=12365403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03267398A Expired - Fee Related JP3558114B2 (ja) | 1998-02-16 | 1998-02-16 | 情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3558114B2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001095099A1 (fr) * | 2000-06-06 | 2001-12-13 | Tadahiro Ohmi | Systeme et procede de gestion de circuits de traitement d'informations a fonction variable |
WO2003025737A1 (fr) * | 2001-08-29 | 2003-03-27 | Nti, Inc. | Appareil d'exploitation et systeme d'exploitation |
KR20030036076A (ko) * | 2001-10-31 | 2003-05-09 | 애질런트 테크놀로지스, 인크. | 고정 시스템의 하드웨어의 수정을 용이하게 하는 방법 및구조 |
JP2005521949A (ja) * | 2002-04-03 | 2005-07-21 | センター ナショナル デ ラ レシェルシェ サイエンティフィック(シーエヌアールエス) | 複数のコンフィギュレーションモードを含む論理計算アーキテクチャ |
JP2007057356A (ja) * | 2005-08-24 | 2007-03-08 | Toshiba Corp | 放射線測定装置 |
JP2007179358A (ja) * | 2005-12-28 | 2007-07-12 | Nec Corp | 情報処理装置及び再構成デバイスの利用方法 |
JP2007279984A (ja) * | 2006-04-05 | 2007-10-25 | Fuji Xerox Co Ltd | データ処理装置およびプログラム |
JP2009025953A (ja) * | 2007-07-18 | 2009-02-05 | Fuji Xerox Co Ltd | 演算処理装置及び演算処理プログラム |
US7941794B2 (en) | 2004-08-30 | 2011-05-10 | Sanyo Electric Co., Ltd. | Data flow graph processing method and processing apparatus provided with reconfigurable circuit |
-
1998
- 1998-02-16 JP JP03267398A patent/JP3558114B2/ja not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001095099A1 (fr) * | 2000-06-06 | 2001-12-13 | Tadahiro Ohmi | Systeme et procede de gestion de circuits de traitement d'informations a fonction variable |
US7424595B2 (en) | 2000-06-06 | 2008-09-09 | Tadahiro Ohmi | System for managing circuitry of variable function information processing circuit and method for managing circuitry of variable function information processing circuit |
WO2003025737A1 (fr) * | 2001-08-29 | 2003-03-27 | Nti, Inc. | Appareil d'exploitation et systeme d'exploitation |
KR20030036076A (ko) * | 2001-10-31 | 2003-05-09 | 애질런트 테크놀로지스, 인크. | 고정 시스템의 하드웨어의 수정을 용이하게 하는 방법 및구조 |
JP2005521949A (ja) * | 2002-04-03 | 2005-07-21 | センター ナショナル デ ラ レシェルシェ サイエンティフィック(シーエヌアールエス) | 複数のコンフィギュレーションモードを含む論理計算アーキテクチャ |
US7941794B2 (en) | 2004-08-30 | 2011-05-10 | Sanyo Electric Co., Ltd. | Data flow graph processing method and processing apparatus provided with reconfigurable circuit |
JP2007057356A (ja) * | 2005-08-24 | 2007-03-08 | Toshiba Corp | 放射線測定装置 |
JP2007179358A (ja) * | 2005-12-28 | 2007-07-12 | Nec Corp | 情報処理装置及び再構成デバイスの利用方法 |
JP2007279984A (ja) * | 2006-04-05 | 2007-10-25 | Fuji Xerox Co Ltd | データ処理装置およびプログラム |
JP2009025953A (ja) * | 2007-07-18 | 2009-02-05 | Fuji Xerox Co Ltd | 演算処理装置及び演算処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3558114B2 (ja) | 2004-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3809727B2 (ja) | 情報処理システム、回路情報管理方法および回路情報記憶装置 | |
US6995765B2 (en) | System, method, and computer program product for optimization of a scene graph | |
JP4833303B2 (ja) | 動作合成ツールにおける配列変換 | |
JP3877002B2 (ja) | 情報処理システムおよび情報処理方法 | |
US20060184912A1 (en) | Automatic design apparatus for semiconductor integrated circuits, method for automatically designing semiconductor integrated circuits, and computer program product for executing an application for an automatic design apparatus for semiconductor integrated circuits | |
JP3558114B2 (ja) | 情報処理システム | |
US20010016936A1 (en) | High- level synthesis method and storage medium storing the same | |
JP4705645B2 (ja) | 誤差拡散ベース画像処理 | |
JP2633024B2 (ja) | カラー画像処理装置 | |
JP2001320271A (ja) | プログラマブル論理回路への回路の再構成方法および情報処理システム | |
US8127259B2 (en) | Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium | |
JP3675255B2 (ja) | 情報処理装置 | |
JP2002269162A (ja) | 動作合成方法 | |
JP3738802B2 (ja) | 情報処理システム | |
JPH11112753A (ja) | 画像処理装置 | |
JP3747985B2 (ja) | 情報処理システム | |
JPH11232077A (ja) | 情報処理システム | |
CN108920695B (zh) | 一种数据查询方法、装置、设备及存储介质 | |
KR100879896B1 (ko) | 밴드 인터리브 포맷으로부터 밴드 분할 포맷으로의 포맷변환 장치 | |
US6717695B1 (en) | Method and circuit for the production of compressed or expanded images, and printer with such circuit | |
US8538185B1 (en) | Optimizing bounds checking in neighborhood processes | |
US8395630B2 (en) | Format conversion apparatus from band interleave format to band separate format | |
Pauwels et al. | Type-handling in bit-true silicon compilation for DSP | |
US7017033B2 (en) | Arithmetic apparatus and arithmetic method | |
JP3664954B2 (ja) | 遅延ライブラリ作成システムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040423 |
|
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: 20040428 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040511 |
|
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: 20080528 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090528 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120528 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130528 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140528 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |