説明

情報処理装置、バスアドレス生成装置、動作合成装置、設計支援システム、動作記述、プログラム、及び方法

【課題】再構成デバイスの通信性能を、容易に向上させる。
【解決手段】情報処理装置は、バスラインに接続され、メモリをバッファとして用いて再構成デバイスへデータを送信する演算処理装置と、前記バスラインに接続され、前記バッファとして、前記演算処理装置により送信された前記データを一時的に保持するとともに、該データを保持する領域内のアドレスを示す第1のポインタを記憶するメモリと、回路を構成するための回路情報と共に、前記第1ポインタの値と同じ値の第2のポインタを記憶し、該第2のポインタの値に基づいて前記メモリに保持された前記データを読み出し、前記回路情報を基に構成した回路によって該データを処理する再構成デバイスと、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プロセッサと再構成デバイスとがデータを送受信する技術に関する。
【背景技術】
【0002】
情報処理装置は、その利用範囲が広がるにつれ、より高度な演算処理能力、あるいは、画像や動画のような大量のマルチメディアデータを高速に処理する能力が要求されている。このような要求を満たすための手法として、DSP(Digital Signal Processor)や、ASIC(Application Specific Integrated Circuit)など、特定の演算や処理を専用に実行するプロセッサや回路をホストプロセッサとは別に設けることが知られている。この手法によれば、ホストプロセッサの処理負荷を軽減できるので、情報処理装置全体の処理能力を向上させることができる。
【0003】
しかし、近年では、マルチメディアデータに対して様々な規格の圧縮・伸長処理や演算処理が必要とされる。また、ネットワークを介して各種のデータを送受信するための通信処理においても、様々なプロトコルに基づく処理が必要とされる。更に、セキュリティを確保するために、データの暗号化、復号処理が更に必要とされることもある。
【0004】
このため、これらの様々な処理に応じて、多数の専用のプロセッサや回路を情報処理装置に設けると、情報処理装置の回路規模やコストが膨大なものとなってしまう。
【0005】
そこで、情報処理装置に、特許文献1乃至6や非特許文献1に記載されているようなFPGA(Field Programmable Gate Array)やCPLD(Complex Programmable Logic Device)、あるいはDRP(Dynamically Reconfigurable Processor)などを設けて様々な処理に対応することが知られている。これらのプログラマブルデバイスを再構成デバイスという。再構成デバイスが回路構成を変化させて様々な処理を実行するので、情報処理装置は、この再構成デバイスの搭載により、低コストで、様々な処理要求に対応することができる。
【0006】
再構成デバイスは、一般に、コンフィギュレーション・コード、すなわち回路情報と、処理に必要な入力データ、初期値や、処理結果とを一時的に保持するための内部メモリを備える。この内部メモリは、複数の記憶素子から構成される。
【0007】
また、再構成デバイスを備える情報処理装置には、回路情報を再構成デバイス内の記憶素子に書き込むための書込装置が設けられる。
【0008】
書込装置は、情報処理装置内のMPU(Micro Processing Unit)やCPU(Central Processing Unit)等の制御に従って、回路情報を再構成デバイスの各記憶素子に書き込む。再構成デバイスは、記憶素子に書き込まれた回路情報に基づいて内部に回路を構成する。
【0009】
FPGAを対象とする書込装置は、コンフィギュレーション・ハードウェアやコンフィギュレーション・デバイスとも呼ばれるコンパクトフラッシュを内蔵する。また、情報処理装置は、JTAG(Joint Test Action Group)に準拠した書込みインターフェースなどを用いて、FPGAの一部を書き換えることができる。
【0010】
書込装置を用いて、FPGAやDRPなどの再構成デバイス内の記憶素子に保持されたデータを書き換えるためには、書き換える対象のデータに加えて、書き換える対象の記憶素子の位置を書込装置に入力する必要がある。
【0011】
例えば、DRPにおいては、DRP内の記憶素子のそれぞれにアドレスが割り当てられている。つまり、書込装置から見ると、DRPは記憶素子からなる巨大なメモリのように見える。このため、書込装置は、アドレスおよびデータの入力に応じて、そのアドレスに対応する記憶素子へ、そのデータを書き込むことができる。
【0012】
この書込装置のほか、MPUやCPUなどの演算処理装置は、バスラインに接続される。このバスラインには、共有メモリも接続される。演算処理装置と再構成デバイスは、同時に動作できるように、この共有メモリを介して、再構成デバイスやMPUが処理対象とするデータをやり取りする。
【0013】
共有メモリを介したデータのやり取りを効率的に行うために、共有メモリ上にリングバッファを形成する方法がよく知られている。
【0014】
演算処理装置と再構成デバイスとが、データを送受信する場合、データの送り手が、このリングバッファにデータを書き込み、データの受け手が、リングバッファからデータを読み出す。
【0015】
共有メモリには、データの書き込み位置を指すライトポインタと、データの読み出し位置を示すリードポインタとが格納される。これらのポインタは、共有メモリ上のアドレスを指す論理的位置情報である。
【0016】
データの送り手は、共有メモリにデータを書き込むごとに、ライトポインタを進める。データの受け手は、リードポインタが示すアドレスとライトポインタが示すアドレスとの間のデータを読み出し、リードポインタを進める。
【0017】
データの送り手は、ライトポインタがリードポインタを追い越しそうな場合、すなわちリングバッファが満杯(FULL)の状態である場合、書き込みを一時停止する。一方、データの受け手は、リードポインタがライトポインタを追い越しそうな場合、すなわちリングバッファが空(EMPTY)の場合、読み出しを一時停止する。
【先行技術文献】
【特許文献】
【0018】
【特許文献1】特開2000−138579号公報
【特許文献2】特開2000―224025号公報
【特許文献3】特開2000−232354号公報
【特許文献4】特開2000―232162号公報
【特許文献5】特開2003−076668号公報
【特許文献6】特開2005―242812号公報
【非特許文献】
【0019】
【非特許文献1】Hideharu Amano, Akiya Jouraku, Kenichiro Anjo, "A Dynamically Adaptive Hardware on Dynamically Reconfigurable Processor", IEICE Transactions, Vol. E86-B, No.12, pp. 3385-3391, 2003.
【発明の概要】
【発明が解決しようとする課題】
【0020】
しかしながら、特許文献1乃至6や非特許文献1に記載された再構成デバイスでは、MPU等の演算処理装置との間の通信速度を向上させることが困難であった。
【0021】
演算処理装置と再構成デバイスとがデータを送受信する場合、送受信のたびに、データの送り手と受け手とは、それぞれ、ライトポインタ、リードポインタの値を参照する必要がある。
【0022】
また、データの送り手または受け手は、ライトポインタまたはリードポインタが進みすぎて、データの送受信を一時停止した場合にも、それらのポインタを定期的に参照して変化があったか否かを確認する。
【0023】
このように、データの送り手または受け手が、リードポインタ、ライトポインタを参照する動作をポーリングという。
【0024】
再構成デバイスがポーリングを行うためには、共有メモリにバスラインを介してアクセスする必要がある。
【0025】
そして、ポーリングは一定間隔で行うため、ポインタに変化があった場合、その変化に対する再構成デバイスの応答が、ある程度遅れてしまう。
【0026】
再構成デバイスの応答の速度を向上するには、ポーリング間隔を短くすればよいが、そうすると再構成デバイスが繁雑にバスラインにアクセスすることとなる。アクセスが煩雑になると、バスラインへのアクセスには一定の回路リソースを要するため、バスラインの負荷が上昇してしまう。
【0027】
この結果、再構成デバイスにおいて、演算処理装置との間の通信速度を向上させることが困難であった。
【0028】
本発明は、再構成デバイスの通信性能を、容易に向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【0029】
上記目的を達成するために、本発明の情報処理装置は、バスラインに接続され、メモリをバッファとして用いて再構成デバイスへデータを送信する演算処理装置と、前記バスラインに接続され、前記バッファとして、前記演算処理装置により送信された前記データを一時的に保持するとともに、該データを保持する領域内のアドレスを示す第1のポインタを記憶するメモリと、回路を構成するための回路情報と共に、前記第1ポインタの値と同じ値の第2のポインタを記憶し、該第2のポインタの値に基づいて前記メモリに保持された前記データを読み出し、前記回路情報を基に構成した回路によって該データを処理する再構成デバイスと、を有する。
【0030】
本発明のバスアドレス生成装置は、バスラインに接続され、メモリをバッファとして用いて、記憶素子を有する再構成デバイスへデータを送信するとともに、該データが保持される該メモリ上の領域のアドレスを示すポインタの値を管理する演算処理装置が、該記憶素子にアクセスするためのバスアドレスを生成するバスアドレス生成装置であって、前記再構成デバイスにおける、前記ポインタの値が保存される前記記憶素子の位置を、前記再構成デバイスが構成する回路を示す回路情報から検出する位置検出手段と、前記演算処理装置及び前記再構成デバイスを有する前記情報処理装置の構成を示す構成情報に基づいて、前記位置検出手段により検出された位置の記憶素子に対応する前記バスアドレスを生成するバスアドレス生成手段と、を有する。
【0031】
本発明のバスアドレス動作合成装置は、本発明のバスアドレス生成装置と、前記再構成デバイスの動作を示す動作記述から、前記ポインタを識別するための識別情報を抽出する抽出装置と、前記動作記述から、前記回路情報を生成する動作合成装置と、を有し、前記位置検出手段は、前記抽出装置により抽出された前記識別情報ごとに、前記動作合成装置により生成された前記回路情報から、前記再構成デバイスにおける、該識別情報の示す前記ポインタの値が保存される記憶素子の位置を検出する。
【0032】
本発明の設計支援システムは、本発明のバスアドレス動作合成装置と、前記動作合成装置により生成された前記回路情報に基づいて、前記バスアドレス生成装置により生成された前記バスアドレスから前記記憶素子にアクセスして、該ポインタの値を該記憶素子に保存する手順を該演算処理装置に実行させるためのプログラムを生成するプログラム生成装置と、前記プログラム生成装置により生成されたプログラムを前記演算処理装置が実行可能な形式に変換するコンパイル装置と、を有する。
【0033】
本発明の動作記述は、回路を構成するための回路情報と共に、バッファとして使用されるメモリ上のデータが保持されるアドレスを示すポインタの値を記憶し、前記回路情報を基に構成した回路によって該データを処理する再構成デバイスに、前記ポインタの値に基づいて、前記メモリに保持されたデータを読み出すとともに、前記第1のポインタを更新する手順を実行させるための動作記述である。
【0034】
本発明のプログラムは、バスラインに接続され、メモリをバッファとして用いて、再構成デバイスへデータを送信する演算処理装置に、前記メモリ上の前記データが保持される領域のアドレスを示すポインタの値を前記再構成デバイスに保存する手順、を実行させるためのプログラムである。
【0035】
本発明のバスアドレス生成方法は、バスラインに接続され、メモリをバッファとして用いて、記憶素子を有する再構成デバイスへデータを送信するとともに、該データが保持される該メモリ上の領域のアドレスを示すポインタの値を管理する演算処理装置が、該記憶素子にアクセスするためのバスアドレスを生成するバスアドレス生成方法であって、位置検出手段が、前記再構成デバイスにおける、前記ポインタの値が保存される前記記憶素子の位置を、前記再構成デバイスが構成する回路を示す回路情報から検出し、バスアドレス生成手段が、前記演算処理装置及び前記再構成デバイスを有する前記情報処理装置の構成を示す構成情報に基づいて、前記位置検出手段により検出された位置の記憶素子に対応する前記バスアドレスを生成する、バスアドレス生成方法である。
【0036】
本発明のバスアドレス動作合成方法は、記憶素子を備えた再構成デバイスと、バスラインと、該バスラインに接続されたメモリと、該バスラインに接続され、該メモリをバッファとして用いて該再構成デバイスへデータを送信するとともに、該データが保持される該メモリ上の領域のアドレスを示すポインタの値を管理する演算処理装置とを有する情報処理装置において、抽出手段が、前記再構成デバイスの動作を記載した動作レベル記述から、前記ポインタを識別するための識別情報を抽出し、動作合成手段が、前記動作レベル記述から、再構成デバイスが構成する回路を示す回路情報を生成し、位置検出手段が、前記抽出手段により抽出された前記識別情報ごとに、前記動作合成手段により生成された前記回路情報から、該識別情報の示す前記ポインタの値を保存する前記記憶素子の位置を検出し、バスアドレス生成手段が、前記情報処理装置の構成を示す構成情報に基づいて、前記位置検出手段により検出された位置の記憶素子に対応する前記バスアドレスを生成する、バスアドレス動作合成方法である。
【0037】
本発明の設計支援方法は、記憶素子を備えた再構成デバイスと、バスラインと、該バスラインに接続されたメモリと、該バスラインに接続され、該メモリをバッファとして用いて該再構成デバイスへデータを送信するとともに、該データが保持される該メモリ上の領域のアドレスを示すポインタの値を管理する演算処理装置とを有する情報処理装置において、抽出手段が、前記再構成デバイスの動作を記載した動作レベル記述から、前記ポインタを識別するための識別情報を抽出し、動作合成手段が、前記動作レベル記述から、再構成デバイスが構成する回路を示す回路情報を生成し、位置検出手段が、前記抽出手段により抽出された前記識別情報ごとに、前記動作合成手段により生成された前記回路情報から、該識別情報の示す前記ポインタの値を保存する前記記憶素子の位置を検出し、バスアドレス生成手段が、前記情報処理装置の構成を示す構成情報に基づいて、前記位置検出手段により検出された位置の記憶素子に対応する前記バスアドレスを生成し、プログラム生成手段が、前記動作合成手段により生成された前記回路情報に基づいて、前記演算処理装置が、前記バスアドレス生成装置により生成された前記バスアドレスから前記記憶素子にアクセスして、前記ポインタの値を該記憶素子に保存する手順を該演算処理装置に実行させるためのプログラムを生成し、コンパイル手段が、前記プログラム生成手段により生成されたプログラムを前記演算処理装置が実行可能な形式に変換する、設計支援方法である。
【発明の効果】
【0038】
本発明によれば、情報処理装置において、再構成デバイスは、メモリに保存されたポインタの値と同じ値を記憶するので、再構成デバイスは、バスラインを介してメモリに対してポーリングを行わなくて済み、バスラインの負荷が減少する結果、再構成デバイスと演算処理装置との間の通信速度が向上する。
【図面の簡単な説明】
【0039】
【図1】本実施形態のターゲットシステムの一構成例を示すブロック図である。
【図2】本実施形態の連携動作設計支援システムの一構成例を示すブロック図である。
【図3】本実施形態のバスアドレス動作合成装置の一構成例を示すブロック図である。
【図4】本実施形態の動作レベル記述の一例を示す図である。
【図5】本実施形態のIDリストの一例を示す図である。
【図6】本実施形態のバスアドレスリストの一例を示す図である。
【図7】本実施形態の制御プログラムの一例を示す図である。
【図8】本実施形態のMPUプログラムの一例を示す図である。
【図9】本実施形態の連携動作設計支援システムの動作を示すシーケンス図である。
【図10】本実施形態のMPUの動作を示すフローチャートである。
【図11】本実施形態の書込処理を示すフローチャートである。
【図12】本実施形態の読出処理を示すフローチャートである。
【図13】本実施形態のターゲットシステムの動作を説明するための図である。
【図14】一般的なターゲットシステムの動作を説明するための図である。
【発明を実施するための形態】
【0040】
本発明を実施するための形態について図面を参照して詳細に説明する。本実施形態の情報処理装置と、その情報処理装置を対象として設計するための連携動作設計支援システムとのそれぞれの構成を順に説明する。なお、連携動作設計支援システムにとって情報処理装置は設計対象であることから、以下では、情報処理装置をターゲットシステムと称する。
【0041】
図1は、本実施形態のターゲットシステム1の一構成例を示すブロック図である。図1を参照すると、ターゲットシステム1は、MPU10、バスライン11、共有メモリ12、書込装置13、再構成デバイス14、およびバスアクセス装置15を有する。
【0042】
MPU10は、書込装置13を制御し、再構成デバイス14とデータを送受信する演算処理装置である。バスライン11には、MPU10、共有メモリ12、書込装置13、およびバスアクセス装置15が接続される。
【0043】
共有メモリ12には、リングバッファが形成され、そのリングバッファのポインタの値が保持される。この共有メモリ12には、再構成デバイスが処理対象とするデータや、再構成デバイスが処理した結果が一時的に保持される。
【0044】
書込装置13は、MPU10の制御に従って、回路情報を再構成デバイスの記憶素子141に書き込む。また、書込装置13は、回路情報のほか、リングバッファのポインタ値を再構成デバイスの記憶素子141に書き込む。
【0045】
再構成デバイス14は、FPGA、DRPなどの再構成デバイスである。再構成デバイス14内には、複数の記憶素子141が設けられる。
【0046】
記憶素子141は、再構成デバイスが処理対象とするデータや処理結果を一時的に保持する。また、記憶素子141は、共有メモリ12に保持されたポインタと同じ値のポインタとして使用される。
【0047】
再構成デバイス14は、記憶素子141に書き込まれた回路情報の示す回路を構成する。
【0048】
また、再構成デバイス14は、共有メモリ12をバッファとして、バスアクセス装置15を制御することにより、MPU10との間で、処理対象または処理結果のデータを送受信する。MPU10とデータを送受信する場合、再構成デバイス14は、記憶素子141に保持されたポインタ値を参照し、バスアクセス装置15を使用して、共有メモリ12、記憶素子141に保持されたポインタの値を更新する。
【0049】
バスアクセス装置15は、再構成デバイス14の制御に従って、バスライン11を介して共有メモリ12にアクセスする。
【0050】
次に、図1に示したMPU10に再構成デバイス14と連携動作させるための実行プログラムの設計を支援する連携動作設計支援システムの構成を説明する。図2は、連携動作設計支援システム2の一構成例を示すブロック図である。
【0051】
図2を参照すると、連携動作設計支援システム2は、バスアドレス動作合成装置20と、制御プログラム生成装置21と、コンパイル装置22とを有する。バスアドレス動作合成装置20は、ID抽出装置201と、動作合成装置202と、バスアドレス生成装置203とを有する。バスアドレス生成装置203は、位置検出部2031およびバスアドレス変換部2032を有する。
【0052】
ID抽出装置201には、図1における再構成デバイス14の動作を記述した動作レベル記述が入力される。この動作レベル記述は、例えば、C言語、C++言語、あるいはjava言語等のプログラミング言語で記述される。また、この動作レベル記述において、リングバッファのポインタとして用いられる変数に、所定のキーワードが付加される。動作レベル記述の記載内容の具体例については、図4で後述する。
【0053】
ID抽出装置201は、動作レベル記述から、キーワードが付加された変数の変数名を、リングバッファのポインタを特定するための識別情報(以下、「ID」という)として抽出する。ID抽出装置201は、抽出したIDのリストを位置検出部2031へ送信する。
【0054】
動作合成装置202には、動作レベル記述と、ターゲットシステム1の構成を示すターゲットシステム情報が入力される。ターゲットシステム情報は、再構成デバイス内の演算器の数や種類、相互接続部の構造、記憶素子の数や種類、バスアドレスのマップ等を示す情報である。
【0055】
動作合成装置202は、ターゲットシステム情報に基づいて、動作レベル記述から、動作合成、論理合成、および配置配線を行い、再構成デバイスの回路の構成、配置、配線を示す回路情報を生成する。この回路情報には、入力された動作レベル記述で使用されている各変数の保存場所が、再構成デバイスのどの場所、例えばレジスタやメモリ、といった記憶素子に割り当てられたかの情報が含まれている。動作合成装置202は、生成した回路情報を、位置検出部2031および制御プログラム生成装置21へ送信する。
【0056】
位置検出部2031は、ID抽出装置201で抽出されたIDのリストを使用して、動作合成装置202により生成された回路情報から、リングバッファのポインタとして使用される各々の記憶素子の、再構成デバイス内における位置を検出する。
【0057】
バスアドレス変換部2032には、位置検出部2031で検出された記憶素子の位置と、ターゲットシステム情報とが入力される。バスアドレス変換部2032には、ターゲットシステム情報に基づいて、位置検出部2031で検出された記憶素子の位置を、バスアドレスに変換する。バスアドレス変換部2032は、記憶素子の位置ごとに、その位置に対応するバスアドレスを記載したバスアドレスリストを制御プログラム生成装置21に送信する。
【0058】
ここで、バスアドレスとは、例えば、再構成デバイスの記憶素子が物理的に2次元配置されている場合の座標や記憶素子の位置を示すためのエンコードされたアドレス等、再構成デバイスの書き込み装置から回路情報を書き込むときに使用されるアドレスである。すなわち、バスアドレスは、MPUが、バスラインから、各記憶素子にアクセスするためのアドレスを意味する。
【0059】
制御プログラム生成装置21は、バスアドレス変換部2032により生成されたバスアドレスリストと、動作合成装置202により生成された回路情報とから、制御プログラムを作成する。
【0060】
制御プログラムは、MPUが再構成デバイスとデータを送受信したり、MPUがリングバッファを制御したりするためプログラムである。制御プログラムの詳細については、図8で後述する。制御プログラム生成装置21は、生成した制御プログラムをコンパイル装置22へ送信する。
【0061】
コンパイル装置22には、制御プログラム生成装置21により生成された制御プログラムと、MPUプログラムとが入力される。
【0062】
コンパイル装置22は、MPUプログラムおよび制御プログラムを、MPUが実行可能な形式(以下、「実行バイナリ」という)に変換して出力する。
【0063】
上述したように、連携動作設計支援システム2には、動作レベル記述、MPUプログラム、およびターゲットシステム情報が入力され、連携動作設計支援システム2内部で、IDリスト、回路情報、バスアドレスリスト、および制御プログラムが送受信される。そして、連携動作設計支援システム2は、実行バイナリを出力する。これらの入出力または送受信される情報は、所定の記憶装置(不図示)に格納される。この記憶装置は、連携動作設計支援システム2内部の各装置に設けられていてもよいし、外部に独立して設けられていてもよい。
【0064】
次に、図2に示したバスアドレス動作合成装置20の構成を説明する。
【0065】
図3は、バスアドレス動作合成装置20の一構成例を示すブロック図である。同図を参照すると、バスアドレス動作合成装置20は、CPU210、主記憶装置211と、記憶媒体212と、データ蓄積装置213と、メモリ制御インターフェース部214、215、216と、バス217と、I/Oインターフェース部218、219とを有する。
【0066】
I/Oインターフェース部218には、入力装置40が接続され、I/Oインターフェース部219には、出力装置50が接続される。
【0067】
CPU210は、記憶媒体212に記録されたプログラムを実行する。主記憶装置211は、CPU210の処理に必要な情報を一時的に保持する。
【0068】
記録媒体212には、磁気ディスク、半導体メモリ、光ディスクなどの記録媒体であり、バスアドレス動作合成装置20としての処理を実行させるためのプログラムが記録される。データ蓄積装置213には、動作レベル記述、IDリスト、回路情報、およびバスアドレスリストなどが格納される。このデータ蓄積装置213は、バスアドレス動作合成装置20内部でなく、外部に独立して設けられていてもよい。
【0069】
バスアドレス動作合成装置20は、CPU210が実行するプログラムに従って、ID抽出、動作合成、およびバスアドレス生成の処理をそれぞれ実行する。
【0070】
メモリ制御インターフェース部214、215、216は、それぞれ、主記憶装置211、記憶媒体212、およびデータ蓄積装置213に接続され、これらの装置と、バス217との間のデータ転送を制御する。
【0071】
バス217には、CPU210と、メモリ制御インターフェース部214、215、216と、I/Oインターフェース部218、219とが接続される。
【0072】
I/Oインターフェース部218、219は、それぞれ、入力装置40、出力装置50が、バス217に接続された各装置と通信するためのインターフェースである。
【0073】
入力装置40は、コマンドや、動作レベル記述、ターゲットシステム情報をバスアドレス動作合成装置20に入力する。出力装置50は、バスアドレスリストや回路情報などの処理結果を出力する。
【0074】
なお、図2に示したID抽出装置201、動作合成装置202およびバスアドレス生成装置203のそれぞれが図3に示すハードウェア構成であってもよい。この場合、それぞれの装置の機能に対応して処理対象のデータや実行するプログラムが装置毎に異なっている。
【0075】
また、処理対象のデータや実行するプログラムが異なることを除いて、図2に示した制御プログラム生成装置21およびコンパイル装置22のそれぞれは、図3のブロック図に示す構成と同様であるため、制御プログラム生成装置21およびコンパイル装置22の構成についての詳細な説明を省略する。
【0076】
図4は、バスアドレス動作合成装置20に入力される動作レベル記述の一例である。同図に示すように、リングバッファのポインタとして用いられる変数の定義文の後ろに、所定のキーワード(「ID=RINGBUFFER」)がコメントで付加されている。このキーワードは、その変数がリングバッファのポインタとして使用されることを示すものである。
【0077】
リングバッファのポインタとして、再構成デバイス内部における先頭ポインタ(ring_startp)、終端ポインタ(ring_endp)、リードポインタ(ring_rp)、およびライトポインタ(ring_wp)と、MPUが参照する共有メモリ上のリードポインタ(ring_rp_shared)とが定義される。
【0078】
ID抽出装置201は、キーワードが付加された変数の変数名を、IDとして抽出する。
【0079】
また、動作レベル記述には、再構成デバイスが、共有メモリからデータを読み出すための処理が記載される。この動作レベル記述から生成された回路情報に基づいて、再構成デバイスは、データを読み出すときに、リングバッファとして使用される記憶素子にアクセスして、再構成デバイス内に保存されたポインタの値を参照(ポーリング)し、データを取得できるか否かを判断する。ライトポインタ(ring_wp)がリードポインタ(ring_rp)に達している場合は、リングバッファが空であり、データを取得できない。再構成デバイスは、図4の符号301の行に示すように、ライトポインタ(ring_wp)とリードポインタ(ring_rp)とが異なるようになるまで、すなわちリングバッファが空になるまで待機する。
【0080】
ここで、再構成デバイスは、自身の記憶素子に保持されたポインタの値に対してポーリングするため、バスラインを介してポーリングする必要はない。
【0081】
データが取得できるのであれば、再構成デバイスは、リードポインタ(ring_rp)の値を更新し、バスアクセス装置を使用して共有メモリからデータを取得する。このことが図4の符号302に示す行に記述されている。
【0082】
再構成デバイスは、図4の303行に示すように、リードポインタ(ring_rp)が、リングバッファの終端ポインタに達していれば、そのリードポインタに、先頭ポインタを設定する。そして、再構成デバイスは、同図の304行に示すように、バスアクセス装置を使用して共有メモリ内のリードポインタ(ring_rp_shared)の値を更新する。
【0083】
図5は、ID抽出装置201が抽出したIDのリストの一例を示す図である。同図に示すように、リングバッファのポインタとして使用される変数の変数名がIDとして抽出される。
【0084】
図6は、バスアドレスリストの一例を示す図である。同図を参照すると、バスアドレスリストには、IDリストに記載された各IDについて、そのIDに対応するポインタとして使用される記憶素子へMPUがアクセスするためのバスアドレスが記載される。
【0085】
図6では、バスアドレスは変数ごとに1つしか記載されていないが、バスアドレスは、変数のビット幅の数だけ列挙されることもある。これは、例えば、1つの記憶素子で保持する情報量が1ビットであった場合は、変数のビット幅の数だけの記憶素子が必要であり、記憶素子の数だけバスアドレスが必要となるからである。
【0086】
上述したように、回路情報には、動作レベルで使用される各変数が、再構成デバイス内のどの記憶素子に割り当てられているかを示す情報を含むので、バスアドレス生成装置203は、この回路情報に基づいて、各IDを、バスアドレスに変換することができる。
【0087】
図7は、制御プログラムの一例を示す図である。制御プログラムは、ターゲットシステムのMPUで実行されるプログラムから呼び出される、リングバッファ制御関数の実体として生成される。
【0088】
図7の305の部分に示すように、制御プログラムには、MPUが、書込装置を使用して、再構成デバイス内の記憶素子に、リングバッファのポインタの値(以下、「ポインタ情報」という)を設定するための処理が記載される。この処理は、MPUが共有メモリを介して再構成デバイスとデータを送信する前に実行される。この処理において、MPUは、各バスアドレスから再構成デバイス内の記憶素子にアクセスして、各記憶素子に、共有メモリ上のリングバッファのポインタ情報を設定する。
【0089】
また、制御プログラムには、MPUが共有メモリに、再構成デバイスが処理対象とするデータを書き込むための処理が記載される。この処理は、MPUが、データを再構成デバイスに書き込むたびに実行される。
【0090】
この処理において、図7の307行に示すように、MPUは、データを書き込んだ場合のライトポインタを設定する(306)。例えば、データを書き込んだ場合のライトポインタとして、新たに「ring_wp2」を定義し、共有メモリ内のライトポインタ(ring_wp)に1を加えた値を「ring_wp2」に代入する。
【0091】
MPUは、データを書き込んだ場合のライトポインタ「ring_wp2」が、リングバッファの終端ポインタに達するのであれば、そのライトポインタに、先頭ポインタを設定する。
【0092】
図7の308行に示すように、MPUは、共有メモリにアクセスして、共有メモリ内に保存されたポインタの値を参照(ポーリング)し、データを書き込むことができるか否かを判断する。リードポインタ「ring_rp」がライトポインタ「ring_wp2」に達している場合は、リングバッファが満杯であり、データを書き込むことができない。MPUは、リードポインタ「ring_rp」とライトポインタ「ring_wp2」が異なるようになるまで、すなわち満杯でなくなるまで、定期的にポーリングを行って待機する。
【0093】
データを書き込めるのであれば、図7の309行に示すように、MPUは、ライトポインタ「ring_wp」に、ライトポインタ「ring_wp2」の値を代入することにより、共有メモリ内のライトポインタ「ring_wp」の値を更新する。同図の310行に示すように、MPUは、共有メモリにデータを書き込み、311行に示すように、書込装置を制御してバスアドレスから再構成デバイス内の記憶素子にアクセスすることにより、再構成デバイス内のライトポインタ「ring_wp」の値を更新する。
【0094】
図8は、本発明のMPUプログラムの一例である。このMPUプログラムには、図7で示した制御プログラムを読み出して実行する処理が記述される。なお、このMPUプログラムでは、MPUが書込装置を使用して、図4で示した動作レベル記述に対応する回路情報を再構成デバイスに書き込む処理は省略されている。
【0095】
図9を参照して、連携動作設計支援システム2の動作について説明する。同図は、連携動作設計支援システム2の動作を示すシーケンス図である。
【0096】
ID抽出装置201は、動作レベル記述から、キーワードが付加された変数の変数名をIDとして抽出する(ステップS1)。動作合成装置202は、ターゲットシステム情報に基づいて、動作レベル記述から回路情報を生成する(ステップS2)。
【0097】
バスアドレス生成装置203は、回路情報に基づいて、IDリストにおける各IDに対応するポインタとして使用される記憶素子の位置を検出する(ステップS3)。次いで、バスアドレス生成装置203は、IDごとに、MPUが記憶素子へアクセスするためのバスアドレスを生成する(ステップS4)。
【0098】
制御プログラム生成装置21は、回路情報に基づいて、MPUがリングバッファを制御するためのプログラムを生成する(ステップS5)。コンパイル装置22は、MPUプログラムおよび制御プログラムを変換して実行バイナリを生成する(ステップS6)。
【0099】
図10〜図12を参照して、ターゲットシステム1の動作について説明する。図10は、MPUの動作を示すフローチャートである。この動作は、実行バイナリがMPUにより実行された時に開始する。
【0100】
MPU10は、書込装置13を使用して、図4で示した動作記述に対応する回路情報を再構成デバイス14に書き込む(ステップT1)。次に、MPU10は、図7で示した制御プログラムに対応する動作を開始する。MPU10は、各バスアドレスから、再構成デバイス14内の各記憶素子141にアクセスして、それらの記憶素子にポインタ情報を設定する(ステップT2)。MPU10は、再構成デバイス14に書き込むデータがあるか否かを判断する(ステップT3)。書き込むデータがあれば(ステップT3:YES)、MPU10は書込処理を実行する(ステップT4)。ステップT4の後、MPU10は、ステップT2に戻る。書き込むデータがなければ(ステップT3:NO)、MPU10は動作を終了する。
【0101】
図10におけるステップT2〜T4の処理が、図7における制御プログラムに記述された処理に相当する。図10におけるステップT2の処理が、図7における305の部分に記述された処理に相当する。
【0102】
図11は、書込処理を示すフローチャートである。MPU10は、データを書き込んだ場合のライトポインタ「ring_wp2」を定義し、値を設定する(ステップT41)。
【0103】
MPUは、ライトポインタ「ring_wp2」が、データを書き込んだ場合にリングバッファの終端ポインタ「ring_endp」に達するか否かを判断する(ステップT42)。ライトポインタが終端ポインタ「ring_endp」に達するのであれば(ステップT42:YES)、MPUは、ライトポインタ「ring_wp2」に先頭ポインタを設定する(ステップT43)。
【0104】
ライトポインタが終端ポインタに達しない場合(ステップT42:NO)、またはステップT43の後、MPU10は、共有メモリにアクセスしてライトポインタ「ring_wp2」とリードポインタとの値が一致するか否かを判断する(ステップT44)。一致するのであれば(ステップT44:YES)、MPU10はステップT44に戻り、データの書き込みを一時停止し、定期的にポーリングする。
【0105】
ライトポインタとリードポインタとの値が一致しないのであれば(ステップT44:NO)、MPU10は、共有メモリ内のライトポインタ「ring_wp」の値を更新する(ステップT45)。MPU10は、共有メモリにデータを書き込み(ステップT46)、再構成デバイス内のライトポインタの値を更新する(ステップT47)。ステップT47の後、MPU10は、書込処理を終了する。
【0106】
図11におけるステップT41の処理が、図7における306行に記述された処理に相当する。図11におけるステップT42、T43の処理が、図7における307行に記述された処理に相当する。また、図11におけるステップT44の処理が、図7における308行に記述された処理に相当し、図11におけるステップT45の処理が、図7における309行に記述された処理に相当する。図11におけるステップT7の処理が、図7における310行に記述された処理に相当し、ステップT8の処理が、図7における311行に記述された処理に相当する。
【0107】
図12は、再構成デバイス14が実行する読出処理を示すフローチャートである。この読出処理は、再構成デバイス14が、共有メモリからデータを読み出すたびに実行される。
【0108】
再構成デバイスは、再構成デバイス14内部の記憶素子141にアクセスして、リードポインタとライトポインタとの値が一致するか否かを判断する(ステップU1)。一致すれば(ステップU1:YES)、再構成デバイス14は、ステップU1に戻り、不一致するまで、データの読み出しを一時停止する。
【0109】
リードポインタとライトポインタとの値が不一致すれば(ステップU1:NO)、再構成デバイス14は、リードポインタ「ring_rp」の値を更新し(ステップU2)、共有メモリからデータを取得する(ステップU3)。再構成デバイス14は、リードポインタ「ring_rp」が、リングバッファの終端ポインタに達しているか否かを判断する(ステップU4)。リードポインタ「ring_rp」が終端ポインタに達していれば(ステップU4:YES)、再構成デバイス14は、リードポインタ「ring_rp」に先頭ポインタを設定する(ステップU5)。
【0110】
リードポインタ「ring_rp」が終端ポインタに達していない場合(ステップU4:NO)、またはステップT5の後、再構成デバイス14は、バスアクセス装置15を使用して、共有メモリ内のリードポインタ「ring_rp_shared」の値を更新する(ステップU6)。
【0111】
図13を参照して、ターゲットシステム1全体の動作について説明する。同図は、ターゲットシステム1の動作を説明するための構成図である。同図における矢印は、MPU10または再構成デバイス14の、リングバッファのポインタに対する参照または更新を意味する。
【0112】
図13においては、MPU10は、再構成デバイス14内の各記憶素子141に、ポインタ情報を既に設定したものとする。MPU10は、共有メモリ12内の各ポインタを参照して、データを書き込めるか否かを判断する(ステップT44)。データが書き込めるのであれば、MPU10は、共有メモリ12にデータを追加する(ステップT46)。
【0113】
MPU10は、共有メモリ12内のライトバッファのポインタの値を更新するとともに(ステップT45)、再構成デバイス14内のライトポインタの値も更新する(ステップT47)。
【0114】
一方、再構成デバイス14は、再構成デバイス14内のポインタを参照して、データを取得できるか否かを判断する(ステップU1)。データが取得できるのであれば、共有メモリ12からデータを読み出す(ステップU3)。再構成デバイス14は、再構成デバイス14内のリードポインタの値を更新するとともに(ステップU2)、共有メモリ12内のリードポインタの値も更新する(ステップU5)。
【0115】
このように、再構成デバイス14は、ポーリングにおいて、バスラインを介して共有メモリ12にアクセスする必要がなくなるので、再構成デバイス14の応答速度が向上する。
【0116】
本実施形態の構成では、MPU10が、記憶素子にポインタ情報を設定する処理が追加されるが、このポインタ情報の設定は、処理全体で1回、行うだけなので、MPU10、再構成デバイス14間の通信速度に影響することはほとんどない。また、MPU10が、再構成デバイス14内のポインタを更新する処理も追加されるが、この更新処理は、実際に再構成デバイス14のポインタが更新されるまでMPU10が待つ必要はないので、ハードウェアのサポートで、この更新処理による速度低下の影響を小さくできる。
【0117】
まとめると、これらのMPU10の処理の増加によりわずかに通信速度が低下することがあるものの、この速度低下を再構成デバイス14がバスラインを介してポーリングを行わなくて済むことによる応答速度の向上が上回る。この結果、全体として、MPU10と再構成デバイス14との間のデータの送受信速度が向上する。
【0118】
ここで、MPU10及び再構成デバイス14で実行するリングバッファのポインタの値の更新では、2箇所のポインタの値を更新する必要があり、かつ同時に更新することはできないため、一時的に共有メモリ12及び再構成デバイス14内のリングバッファのポインタの値は異なることがある。しかしこの非同一性は、FULLフラグもしくはEMPTYフラグが解除されるタイミングが遅延するだけであり、リングバッファの動作としては全く問題ない。
【0119】
これに対して、図14に一般的なターゲットシステムの構成を示す。このターゲットシステムでは、リングバッファのポインタは共有メモリ内のみに保持される。このため、再構成デバイスは、ポーリングするたびに、バスラインを介して共有メモリにアクセスして、ポインタ値を参照しなければならない。このような構成では、バスラインに負荷がかかるため、再構成デバイス内でポーリングを行う本発明の構成と比較して、再構成デバイスの応答速度が低くなってしまう。
【0120】
なお、本実施形態では、連携動作設計支援システム2は、バスアドレス動作合成装置20、制御プログラム生成装置21、コンパイル装置22に、各機能を分散しているが、これらの装置の全部または2台の機能を1台の装置で実現する構成としてもよい。バスアドレス動作合成装置20内の各装置についても同様である。
【0121】
また、バスアドレス動作合成装置20内のID抽出装置201、動作合成装置202の少なくとも1つ以上を、バスアドレス動作合成装置20の外部に設ける構成としてもよい。
【0122】
本実施形態では、MPUから再構成デバイスへデータを受け渡す動作レベル記述、および制御プログラムを使用する構成としている。しかし、これらの動作レベル記述、および制御プログラムにおいて、再構成デバイスからMPUへデータを受け渡す処理を追加してもよい。
【0123】
具体的には、再構成デバイスがデータを共有メモリに書き込むたびに、共有メモリ内、再構成デバイス内のライトポインタの値を更新する処理を動作レベル記述に追加する。一方、MPUがデータを共有メモリから読み出すたびに、共有メモリ内、再構成デバイス内のリードポインタの値を更新する処理を制御プログラムに追加する。
【0124】
本実施形態では、図7の制御プログラムにおいて、MPUが、再構成デバイスにポインタの初期値を設定する構成としているが、図4の動作記述において、再構成デバイスが、MPUの代わりに、ポインタの初期値を自身に設定する構成としてもよい。
【0125】
本実施形態では、MPU10が本発明の演算処理装置に相当し、ターゲットシステム情報が本発明の構成情報に相当する。共有メモリ12に保存されるポインタが本発明の第1のポインタに相当し、再構成デバイス14に保存されるポインタが本発明の第2のポインタに相当する。バスアドレス変換部2032が本発明のバスアドレス生成手段に相当する。動作レベル記述が本発明の動作記述に相当し、制御プログラムが本発明のプログラムに相当する。変数に付加されるキーワードは、本発明の付加情報に相当する。
【0126】
以上説明したように、本実施形態によれば、情報処理装置において、演算処理装置は、メモリに保存されたポインタの値と同じ値を記憶するので、再構成デバイスは、バスラインを介してメモリに対してポーリングを行わなくて済み、バスラインの負荷が減少する結果、再構成デバイスと演算処理装置との間の通信速度が向上する。
【符号の説明】
【0127】
1 ターゲットシステム
2 連携動作設計支援システム
10 MPU
11 バスライン
12 共有メモリ
13 書込装置
14 再構成デバイス
15 バスアクセス装置
20 バスアドレス動作合成装置
21 制御プログラム生成装置
22 コンパイル装置
40 入力装置
50 出力装置
141 記憶素子
201 ID抽出装置
202 動作合成装置
203 バスアドレス生成装置
2031 位置検出部
2032 バスアドレス変換部
210 CPU
211 主記憶装置
212 記憶媒体
213 データ蓄積装置
214、215、216 メモリ制御インターフェース部
217 バス
218、219 I/Oインターフェース部
S1〜S6、T1〜T4、T41〜T47、U1〜U6 ステップ

【特許請求の範囲】
【請求項1】
バスラインに接続され、メモリをバッファとして用いて再構成デバイスへデータを送信する演算処理装置と、
前記バスラインに接続され、前記バッファとして、前記演算処理装置により送信された前記データを一時的に保持するとともに、該データを保持する領域内のアドレスを示す第1のポインタを記憶するメモリと、
回路を構成するための回路情報と共に、前記第1ポインタの値と同じ値の第2のポインタを記憶し、該第2のポインタの値に基づいて前記メモリに保持された前記データを読み出し、前記回路情報を基に構成した回路によって該データを処理する再構成デバイスと、
を有する情報処理装置。
【請求項2】
前記第1のポインタ及び前記第2のポインタのそれぞれは、前記メモリにおけるデータを書き込むアドレスを示すライトポインタと、該メモリにおけるデータを読み出したアドレスを示すリードポインタとを含み、
前記再構成デバイスは、前記第2のポインタに含まれる前記リードポインタ及び前記ライトポインタを参照し、前記リードポインタの値が前記ライトポインタの値以下であれば、前記メモリに保持された前記データを読み出す、請求項1に記載の情報処理装置。
【請求項3】
前記演算処理装置は、前記データを前記メモリへ送信するたびに、前記第1のポインタに含まれるライトポインタ及び前記第2のポインタに含まれるライトポインタを更新し、
前記再構成デバイスは、前記メモリに保持された前記データを読み出すたびに、前記第1のポインタに含まれるリードポインタ及び前記第2のポインタに含まれるリードポインタを更新する、請求項2に記載の情報処理装置。
【請求項4】
前記情報処理装置は、
前記バスライン及び前記再構成デバイスに接続され、前記演算処理装置の制御に従ってデータを該再構成デバイスに書き込む書込装置を更に有し、
前記演算処理装置は、前記書込装置を制御することにより、前記再構成デバイスに、前記回路情報と前記第2のポインタとを保存する、請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記情報処理装置は、
前記バスライン及び前記再構成デバイスに接続され、前記再構成デバイスの制御に従って前記メモリからデータを読み出すバスアクセス装置を更に有し、
前記再構成デバイスは、前記バスアクセス装置を制御することにより、前記メモリに保持された前記データを読み出す、請求項1乃至4のいずれか1項に記載の情報処理装置。
【請求項6】
バスラインに接続され、メモリをバッファとして用いて、記憶素子を有する再構成デバイスへデータを送信するとともに、該データが保持される該メモリ上の領域のアドレスを示すポインタの値を管理する演算処理装置が、該記憶素子にアクセスするためのバスアドレスを生成するバスアドレス生成装置であって、
前記再構成デバイスにおける、前記ポインタの値が保存される前記記憶素子の位置を、前記再構成デバイスが構成する回路を示す回路情報から検出する位置検出手段と、
前記演算処理装置及び前記再構成デバイスを有する前記情報処理装置の構成を示す構成情報に基づいて、前記位置検出手段により検出された位置の記憶素子に対応する前記バスアドレスを生成するバスアドレス生成手段と、
を有するバスアドレス生成装置。
【請求項7】
請求項6に記載のバスアドレス生成装置と、
前記再構成デバイスの動作を示す動作記述から、前記ポインタを識別するための識別情報を抽出する抽出装置と、
前記動作記述から、前記回路情報を生成する動作合成装置と、
を有し、
前記位置検出手段は、前記抽出装置により抽出された前記識別情報ごとに、前記動作合成装置により生成された前記回路情報から、前記再構成デバイスにおける、該識別情報の示す前記ポインタの値が保存される記憶素子の位置を検出する、バスアドレス動作合成装置。
【請求項8】
前記動作記述は、前記ポインタとして使用される変数に、所定の付加情報が付加された動作記述であり、
前記抽出装置は、前記付加情報が付加された前記変数の変数名を前記識別情報として抽出する、請求項7に記載のバスアドレス動作合成装置。
【請求項9】
請求項8に記載のバスアドレス動作合成装置と、
前記動作合成装置により生成された前記回路情報に基づいて、前記バスアドレス生成装置により生成された前記バスアドレスから前記記憶素子にアクセスして、前記ポインタの値を該記憶素子に保存する手順を該演算処理装置に実行させるためのプログラムを生成するプログラム生成装置と、
前記プログラム生成装置により生成されたプログラムを前記演算処理装置が実行可能な形式に変換するコンパイル装置と、
を有する設計支援システム。
【請求項10】
回路を構成するための回路情報と共に、バッファとして使用されるメモリ上のデータが保持されるアドレスを示すポインタの値を記憶し、前記回路情報を基に構成した回路によって該データを処理する再構成デバイスに、
前記ポインタの値に基づいて、前記メモリに保持されたデータを読み出すとともに、前記第1のポインタを更新する手順を実行させるための動作記述。
【請求項11】
バスラインに接続され、メモリをバッファとして用いて、再構成デバイスへデータを送信する演算処理装置に、
前記メモリ上の前記データが保持される領域のアドレスを示すポインタの値を前記再構成デバイスに保存する手順、
を実行させるためのプログラム。
【請求項12】
バスラインに接続され、メモリをバッファとして用いて、記憶素子を有する再構成デバイスへデータを送信するとともに、該データが保持される該メモリ上の領域のアドレスを示すポインタの値を管理する演算処理装置が、該記憶素子にアクセスするためのバスアドレスを生成するバスアドレス生成方法であって、
位置検出手段が、前記再構成デバイスにおける、前記ポインタの値が保存される前記記憶素子の位置を、前記再構成デバイスが構成する回路を示す回路情報から検出し、
バスアドレス生成手段が、前記演算処理装置及び前記再構成デバイスを有する前記情報処理装置の構成を示す構成情報に基づいて、前記位置検出手段により検出された位置の記憶素子に対応する前記バスアドレスを生成する、バスアドレス生成方法。
【請求項13】
記憶素子を備えた再構成デバイスと、バスラインと、該バスラインに接続されたメモリと、該バスラインに接続され、該メモリをバッファとして用いて該再構成デバイスへデータを送信するとともに、該データが保持される該メモリ上の領域のアドレスを示すポインタの値を管理する演算処理装置とを有する情報処理装置において、
抽出手段が、前記再構成デバイスの動作を記載した動作レベル記述から、前記ポインタを識別するための識別情報を抽出し、
動作合成手段が、前記動作レベル記述から、再構成デバイスが構成する回路を示す回路情報を生成し、
位置検出手段が、前記抽出手段により抽出された前記識別情報ごとに、前記動作合成手段により生成された前記回路情報から、該識別情報の示す前記ポインタの値を保存する前記記憶素子の位置を検出し、
バスアドレス生成手段が、前記情報処理装置の構成を示す構成情報に基づいて、前記位置検出手段により検出された位置の記憶素子に対応する前記バスアドレスを生成する、バスアドレス動作合成方法。
【請求項14】
記憶素子を備えた再構成デバイスと、バスラインと、該バスラインに接続されたメモリと、該バスラインに接続され、該メモリをバッファとして用いて該再構成デバイスへデータを送信するとともに、該データが保持される該メモリ上の領域のアドレスを示すポインタの値を管理する演算処理装置とを有する情報処理装置において、
抽出手段が、前記再構成デバイスの動作を記載した動作レベル記述から、前記ポインタを識別するための識別情報を抽出し、
動作合成手段が、前記動作レベル記述から、再構成デバイスが構成する回路を示す回路情報を生成し、
位置検出手段が、前記抽出手段により抽出された前記識別情報ごとに、前記動作合成手段により生成された前記回路情報から、該識別情報の示す前記ポインタの値を保存する前記記憶素子の位置を検出し、
バスアドレス生成手段が、前記情報処理装置の構成を示す構成情報に基づいて、前記位置検出手段により検出された位置の記憶素子に対応する前記バスアドレスを生成し、
プログラム生成手段が、前記動作合成手段により生成された前記回路情報に基づいて、前記演算処理装置が、前記バスアドレス生成装置により生成された前記バスアドレスから前記記憶素子にアクセスして、前記ポインタの値を該記憶素子に保存する手順を該演算処理装置に実行させるためのプログラムを生成し、
コンパイル手段が、前記プログラム生成手段により生成されたプログラムを前記演算処理装置が実行可能な形式に変換する、設計支援方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2010−272021(P2010−272021A)
【公開日】平成22年12月2日(2010.12.2)
【国際特許分類】
【出願番号】特願2009−124599(P2009−124599)
【出願日】平成21年5月22日(2009.5.22)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
2.JAVA
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】