(57)【要約】【課題】データ圧縮の効果をより効率的に得るデータ転送方法及びデータ転送装置を提供する。【解決手段】本発明のデバッグ装置１０６（データ転送装置）は、転送対象データの全部または一部分についてデータ圧縮が転送時間の短縮に有効であるか否かを判定する圧縮効果判定部２０４と、圧縮効果判定部２０４によって有効と判定された場合に、判定対象のデータを圧縮する圧縮部２０５と、圧縮部２０５によって圧縮されたデータを通信路を介して第２の演算処理装置に送信し、圧縮効果判定部２０４によって有効でないと判定された判定対象データを圧縮せずに通信路を介して第２の演算処理装置に送信する。【選択図】図２
2008176420.tif 000002
【特許請求の範囲】
【請求項１】
通信路を介して演算処理装置にデータを転送するデータ転送方法であって、
転送対象データの全部または一部分についてデータ圧縮が転送時間の短縮に有効であるか否かを判定する圧縮効果判定ステップと、
前記圧縮効果判定ステップにおいて有効と判定された場合に、前記圧縮効果判定ステップにおける判定対象データを圧縮する圧縮ステップと、
前記圧縮ステップにおいて圧縮されたデータを通信路を介して前記演算処理装置に送信する第１の送信ステップと、
前記圧縮効果判定ステップにおいて有効でないと判定された場合に、前記圧縮効果判定ステップにおける判定対象データを圧縮せずに通信路を介して前記演算処理装置に送信する第２の送信ステップと
を有するデータ転送方法。
【請求項２】
請求項１記載の圧縮効果判定ステップは、
前記転送対象データを構成する部分データ毎に、その種別を示すデータ種別情報を取得するデータ種別情報取得ステップと、
前記データ種別情報取得ステップで取得した前記データ種別情報から当該部分データのデータ圧縮が転送時間の短縮に有効であるか否かを判定するデータ別圧縮効果判定ステップと
を有する請求項１記載のデータ転送方法。
【請求項３】
請求項２記載のデータ種別情報取得ステップは、
前記演算処理装置上で実行可能なプログラムを含む実行形式ファイルを前記転送対象データとして読み出す読み出しステップと、
前記実行形式ファイルに含まれるセクション情報を、前記部分データのデータ種別情報として取得するセクション情報取得ステップと
を有する請求項２記載のデータ転送方法。
【請求項４】
請求項２記載のデータ種別情報取得ステップにおいて、
前記転送対象データの格納先となる前記演算処理装置の記憶領域の配置情報を前記データ種別情報として取得する
ことを特徴とする請求項２記載のデータ転送方法。
【請求項５】
請求項２記載のデータ種別情報取得ステップは、
前記第２の演算処理装置上で実行可能なプログラムを含む実行形式ファイルを読み出す実行形式読み出しステップと、
前記実行形式ファイルにセクション情報が含まれるか否かを判定するセクション情報有無確認ステップと、
前記セクション情報有無確認ステップの結果、セクション情報が実行形式ファイルに含まれると確認された場合には、実行形式ファイルに含まれるプログラムのセクション情報をデータ種別情報として取得するセクション情報取得ステップと
前記セクション情報有無確認ステップの結果、セクション情報が実行形式ファイルに含まれないと確認された場合には、前記転送対象データの格納先となる前記演算処理装置の記憶領域の配置情報をデータ種別情報として取得する記憶領域配置情報取得ステップと
を有する請求項２記載のデータ転送方法。
【請求項６】
請求項２記載の圧縮効果判定ステップは、
データ種別が前記第２の演算処理装置で実行される命令であるか否かを判定する命令判定ステップと、
前記命令判定ステップでデータ種別が命令と判定された場合、第１のアルゴリズムによってデータ圧縮が転送時間の短縮に有効であるか否かを判定する第１判定ステップと、
前記命令判定ステップでデータ種別が命令でないと判定された場合、第２のアルゴリズムによってデータ圧縮が転送時間の短縮に有効であるか否か判定する第２判定ステップと
を有する請求項２記載のデータ転送方法。
【請求項７】
請求項６記載の第１の判定ステップにおいて、
常にデータ圧縮が転送時間の短縮に有効であると判定することを特徴とする請求項６記載のデータ転送方法。
【請求項８】
請求項１記載の圧縮効果判定ステップは、
圧縮効果判定ステップを実施する演算器の処理性能が閾値よりも高いか否かを判定する演算性能判定ステップと、
前記演算性能判定ステップで処理性能が閾値よりも高いと判定された場合、データ圧縮が転送時間の短縮に有効であるか否かを判定する第１の判定ステップと、
前記演算性能判定ステップで演算性能が低いと判定された場合、第１の判定ステップより計算量が少ない方法で、データ圧縮が転送時間の短縮に有効であるか否かを判定する第２の判定ステップと、
を有することを特徴とする請求項１記載のデータ転送方法。
【請求項９】
請求項１ないし８の何れか１項に記載のデータ転送方法を実行させる
ことを特徴とするコンピュータ読み取り可能なプログラム。
【請求項１０】
通信路を介して演算処理装置にデータを送信するデータ転送装置であって、
転送対象データの全部または一部分についてデータ圧縮が転送時間の短縮に有効であるか否かを判定する圧縮効果判定手段と、
前記圧縮効果判定手段によって有効と判定された場合に、前記圧縮効果判定手段による判定対象データを圧縮する圧縮手段と、
前記圧縮手段によって圧縮されたデータを通信路を介して前記演算処理装置に送信し、
前記圧縮効果判定手段によって有効でないと判定された判定対象データを圧縮せずに通信路を介して前記演算処理装置に送信する送信手段と
を備えるデータ転送装置。
【請求項１１】
請求項１０記載のデータ転送装置を備え、
デバッグ対象としての前記演算処理装置に転送対象データを送信する
ことを特徴とするデバッグ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信路を介して演算処理装置にデータを送信する方法および装置に関し、特に、デバッグ対象としての演算処理装置に転送対象データを送信するデバッグ装置に関する。
【背景技術】
【０００２】
近年、機器組込みシステムのソフトウェア開発において、ＪＴＡＧ（Joint Test Action Group）デバッガなどの開発支援ツールが広く利用されている。これらの開発支援ツールにおいては、ソフトウェア開発者が効率よくデバッグ作業を行うために、実行形式ファイルをホストコンピュータからターゲットまで高速に転送することが望まれる。特に、近年においては、システムの複雑化に伴い、ターゲットとなる機器組込みシステムに組み込まれるプログラム量が増大しているため、ホストコンピュータから機器組込みシステムへのデータ転送の高速化は必要不可欠である。
【０００３】
データ転送の高速化を実現する方法として、転送データを圧縮する方法が一般的であるが、従来のデバッグシステムにおけるデータ転送においては、転送される実行形式ファイルのデータ量の小ささや圧縮率の悪さなどから実行形式ファイルの圧縮については考慮されていない場合が多かった。このため、従来のデバッガにおけるデータ転送方法では、実行形式ファイルのデータ量が大きくなるに従って、データ転送時間が増大し、デバッグ作業に支障をきたすという問題があった。
【０００４】
前記問題に対し、データ圧縮によりデータ転送時間の短縮を行うデバッグ装置の一例が、特許文献１に開示されている。特許文献１に開示された技術では、ホストコンピュータとエミュレータとをＬＡＮインターフェースで接続したデバッグ装置において、データを圧縮する圧縮装置とデータの送受信を制御する通信装置がデバッグ装置に設けられている。圧縮装置により圧縮されたデータは通信装置によりエミュレータに転送される。これにより、デバッグ装置・エミュレータ間のデータ転送の高速化を可能としている。このように、特許文献１に開示されている技術は、データ圧縮により転送データ量を削減することでデータ転送時間を短縮出来る点で優れている。
【特許文献１】特開２００３−２０８３３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術によれば、データ圧縮に要する時間がデータ圧縮によるデータ転送短縮時間を上回る場合、結局のところ圧縮に要する時間とデータ転送時間との合計は短縮されるとは限らないという問題がある。
【０００６】
図１１は、ＣＰＵの処理能力と圧縮率とに応じて異なるデータ圧縮時間とデータ転送時間とを示す説明図である。同図（ａ）は、非圧縮でデータを転送する場合を示す。この場合、転送時間を１．０（任意単位）とする。この転送時間はＣＰＵの処理能力と圧縮率には無関係である。同図（ｂ）は、ＣＰＵの処理能力が高く、かつ圧縮率が高い場合を示す。この場合は、データ圧縮による効果つまり、圧縮時間と転送時間との合計を非圧縮データの転送時間よりも短縮することができる。
【０００７】
これに対して、同図（ｃ）〜（ｅ）ではＣＰＵの処理能力および圧縮率の少なくとも一方がやや極端に低い場合を示している。これらの場合は、データ圧縮による効果を得ることができずに、同図（ａ）の非圧縮データの転送時間よりも圧縮時間と転送時間との合計の方が却って大きくなるという問題がある。
【０００８】
そこで本発明は上記課題に鑑み、データ圧縮の効果をより効率的に得るデータ転送方法及びデータ転送装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記従来の問題点を解決するために、本発明のデータ転送方法は、通信路を介して演算処理装置にデータを転送するデータ転送方法であって、転送対象データの全部または一部分についてデータ圧縮が転送時間の短縮に有効であるか否かを判定する圧縮効果判定ステップと、前記圧縮効果判定ステップにおいて有効と判定された場合に、前記圧縮効果判定ステップにおける判定対象データを圧縮する圧縮ステップと、前記圧縮ステップにおいて圧縮されたデータを通信路を介して前記演算処理装置に送信する第１の送信ステップと、前記圧縮効果判定ステップにおいて有効でないと判定された場合に、前記圧縮効果判定ステップにおける判定対象データを圧縮せずに通信路を介して前記演算処理装置に送信する第２の送信ステップとを有する。
【００１０】
この構成によれば、転送対象データのうちデータ圧縮が転送時間の短縮に有効であると判定されたデータは圧縮されてから演算処理装置に送信されるのでデータ圧縮効果を得ることができ、さらに有効でないと判定されたデータは、圧縮されないで演算処理装置に送信されるので、圧縮時間と転送時間との合計の方が却って大きくなることを回避することができ、データ圧縮の効果をより効率的に得ることができる。このように、転送対象データ全体を圧縮するデータ転送方法と比較して、圧縮データの転送によるデータ転送時間短縮の効果を得ることが可能である。
【００１１】
ここで、前記圧縮効果判定ステップは、前記転送対象データを構成する部分データ毎に、その種別を示すデータ種別情報を取得するデータ種別情報取得ステップと、前記データ種別情報取得ステップで取得した前記データ種別情報から当該部分データのデータ圧縮が転送時間の短縮に有効であるか否かを判定するデータ別圧縮効果判定ステップとを有するようにしてもよい。
【００１２】
この構成によれば、転送対象データにおけるデータ出現パターンはデータ種別に大きく依存するため、部分データ毎にデータ種別に即した圧縮効果判定方法を選択することができるため、効率的に圧縮効果を判定することができ、その結果、圧縮効果判定の処理時間を短縮することが可能となる。
【００１３】
ここで、前記データ種別情報取得ステップは、前記演算処理装置上で実行可能なプログラムを含む実行形式ファイルを前記転送対象データとして読み出す読み出しステップと、前記実行形式ファイルに含まれるセクション情報を、前記部分データのデータ種別情報として取得するセクション情報取得ステップとを有するようにしてもよい。
【００１４】
この構成によれば、転送対象データに対して特別な付加情報を用意せずとも、既存のデータを用いてデータ種別を判定することが可能となり、データ種別判定にかかる手間を削減できる。
【００１５】
ここで、前記データ種別情報取得ステップにおいて、前記転送対象データの格納先となる前記演算処理装置の記憶領域の配置情報を前記データ種別情報として取得するようにしてもよい。
【００１６】
この構成によれば、それらの記憶領域に関する情報を参照することにより、容易にデータ種別を判断することが可能となる。その結果、転送対象データに対して特別な付加情報を用意せずとも、データ種別を判定することが可能となり、データ種別判定にかかる時間を短縮することができる。
【００１７】
ここで、前記データ種別情報取得ステップは、前記第２の演算処理装置上で実行可能なプログラムを含む実行形式ファイルを読み出す実行形式読み出しステップと、前記実行形式ファイルにセクション情報が含まれるか否かを判定するセクション情報有無確認ステップと、前記セクション情報有無確認ステップの結果、セクション情報が実行形式ファイルに含まれると確認された場合には、実行形式ファイルに含まれるプログラムのセクション情報をデータ種別情報として取得するセクション情報取得ステップと、前記セクション情報有無確認ステップの結果、セクション情報が実行形式ファイルに含まれないと確認された場合には、前記転送対象データの格納先となる前記演算処理装置の記憶領域の配置情報をデータ種別情報として取得する記憶領域配置情報取得ステップとを有するようにしてもよい。
【００１８】
この構成によれば、実行形式ファイルにセクション情報が含まれている場合には、データ種別情報として記憶領域配置情報に比べてセクション情報を優先して使用することができ、その結果、前記圧縮効果判定ステップにおいて精度の高い圧縮効果の判定が可能となる。
【００１９】
ここで、前記圧縮効果判定ステップは、データ種別が前記第２の演算処理装置で実行される命令であるか否かを判定する命令判定ステップと、前記命令判定ステップでデータ種別が命令と判定された場合、第１のアルゴリズムによってデータ圧縮が転送時間の短縮に有効であるか否かを判定する第１判定ステップと、前記命令判定ステップでデータ種別が命令でないと判定された場合、第２のアルゴリズムによってデータ圧縮が転送時間の短縮に有効であるか否か判定する第２判定ステップとを有するようにしてもよい。
【００２０】
この構成によれば、データ種別が前記第２の演算処理装置で実行される命令である場合には、命令用の圧縮効果判定アルゴリズムを優先的に使用することにより効率的に圧縮効果を計測することが可能となる。なぜなら、前記実行形式ファイルに含まれるデータ種別のうち、命令は、プログラムのループ処理など出現するパターンに規則性が有り、ランダムデータの圧縮効果を計測する場合とは異なるアルゴリズムを用いることにより、より効率的に圧縮効果を判定できる。
【００２１】
ここで、前記第１の判定ステップにおいて、常にデータ圧縮が転送時間の短縮に有効であると判定するようにしてもよい。
【００２２】
この構成によれば、前記第１の判定ステップにおいて、命令領域を無条件に圧縮効果の高い部分とみなすことにより圧縮効果の判定を単純化できるため、判定時間を削減することができる。一般に演算器の命令は一部のビットパターンがプログラムでは使用されない未定義命令とされている。故に命令で構成されるデータは完全なランダムデータに比べて、未定義命令の分だけ情報エントロピーが低下し、常に高い圧縮効果を期待できる。
【００２３】
ここで、圧縮効果判定ステップは、圧縮効果判定ステップを実施する演算器の処理性能が閾値よりも高いか否かを判定する演算性能判定ステップと、前記演算性能判定ステップで処理性能が閾値よりも高いと判定された場合、データ圧縮が転送時間の短縮に有効であるか否かを判定する第１の判定ステップと、前記演算性能判定ステップで演算性能が低いと判定された場合、第１の判定ステップより計算量が少ない方法で、データ圧縮が転送時間の短縮に有効であるか否かを判定する第２の判定ステップと、を有するようにしてもよい。
【００２４】
この構成によれば、演算器の処理性能に応じて異なる判定を行う。つまり、前記演算器の処理性能が高いと判定された場合には、通常の圧縮効果計測方法を用いることで判定の精度を保ち、演算器の処理性能が低いと判定された場合には精度は低いが負荷の少ない圧縮効果計測方法を用いて判定に要する時間を削減することができ、圧縮効果の判定によって転送時間が悪化するリスクを削減することができる。
【００２５】
また、本発明のプログラム、データ転送装置およびデバッグ装置も上記と同様に構成され、同様の効果を奏する。
【発明の効果】
【００２６】
以上のように、本発明によれば、転送対象データ全体を圧縮するデータ転送方法と比較して、圧縮時間によるデータ転送時間の悪化を防ぎ、圧縮データの転送によるデータ転送時間短縮の効果を得ることが可能である。
【００２７】
また、データ種別に応じた効率的な判定方法の選択によって判定の時間を削減することにより、判定の時間によるデータ転送時間の悪化を防ぐことが可能になる。
【００２８】
また、圧縮効果を判定する演算器の性能に応じて判定方法を選択することにより、演算器の処理能力の差異による悪影響を防ぐことが可能になる。
【００２９】
以上で述べた効果により、本発明に記載するデータ転送方法では、データ圧縮によるデータ転送時間短縮の効果を維持しながら、圧縮に要する時間を含めたデータ転送時間を短縮することが可能となる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態について、図を用いて説明する。
図１は機器組込みシステムのソフトウェア開発に用いられるデバッグシステムの実施形態を示すブロック図であって、１０１は第１の演算処理装置、１０２はソースプログラム、１０３はプログラム変換装置、１０４は実行形式ファイル、１０５はセクション情報、１０６はデバッグ装置、１０７は第２の演算処理装置、１０８は第２の演算処理装置１０７のＣＰＵ、１０９は第２の演算処理装置１０７のメモリである。
【００３１】
同図において、第１の演算処理装置１０１は、デバッグを行うための命令を入力し、その結果を出力するシステムであり、プログラム変換装置１０３やデバッグ装置１０６が設けられており、第２の演算処理装置１０７のために開発されたソースプログラム１０２がプログラム変換装置１０３でコンパイルされ、第２の演算処理装置１０７で使用するための実行形式ファイル１０４が生成される。
【００３２】
また、第２の演算処理装置１０７は、デバッグ対象のシステムであり、これで使用されるプログラムを格納するためのメモリ１０９やこのプログラムを実行して第２の演算処理装置１０７内の各部の制御や処理を行なうＣＰＵ１０８などを備えており、第１の演算処理装置１０１から第２の演算処理装置１０７のメモリへのロードを行い、デバッグ装置１０６でＣＰＵ１０８で実行される実行形式ファイル１０４のデバッグを行う。以上が、本発明を実施するデバッグシステムの例であり、本発明は前記の第１の演算処理装置１０１から第２の演算処理装置１０７の実行形式ファイル１０４のデータ転送時間を短縮させるもので、以下に図２を用いて詳細を説明する。
【００３３】
図２に示すように、データ転送装置は、本発明におけるデータ転送方法を実施するプログラムであるデバッグ装置１０６を含む。
【００３４】
デバッグ装置１０６は、デバッグ対象となる実行形式ファイル１０４を読み出す実行形式ファイル読込み部２０１と、セクション情報作成部２０２と、セクション情報テーブル２０３、圧縮効果を判定する圧縮効果判定部２０４と、データを圧縮する圧縮部２０５と、データを第２の演算処理装置１０７に送信する出力部２０６から構成される。
【００３５】
このデバッグ装置１０６で実施されるデータ転送方法の概略を、図６を用いて説明する。
【００３６】
図６記載のデータ転送方法は、前記セクション情報作成部２０２で実施されるセクション情報有無判定ステップＳ１０１と、セクション情報読み出しステップＳ１０２と、セクション情報作成ステップＳ１０３と、前記圧縮効果判定部２０４と、前記圧縮部２０５と、前記出力部２０６から構成されるデータ転送ステップＳ１０４からなる。
【００３７】
以下、前記セクション情報作成部２０２で実施する各ステップを説明する。
セクション情報有無判定ステップＳ１０１は、デバッグ装置１０６より読込んだ実行形式ファイル１０４から付加情報であるセクション情報１０５の有無を判定する。セクション情報１０５が有ればセクション情報読み出しステップＳ１０２へ移り、セクション情報１０５がなければセクション情報作成ステップＳ１０３へ移る。
【００３８】
セクション情報読み出しステップＳ１０２は、デバッグ装置１０６より読込んだ実行形式ファイル１０４から付加情報であるセクション情報１０５を抽出する。そして、読み出したセクション情報１０５をセクション情報テーブル２０３に格納する。
【００３９】
ここで、セクション情報有無判定ステップＳ１０１と、セクション情報読み出しステップＳ１０２を具体的に説明する。
【００４０】
実行形式ファイル１０４に付加されるセクション情報１０５は、一般的にＥＬＦ（Ｅｘｅｃｕｔａｂｌｅ  ａｎｄ  Ｌｉｎｋｉｎｇ  Ｆｏｒｍａｔ）と呼ばれる実行形式フォーマットにより解析する。セクション情報有無判定ステップＳ１０１では前記セクション情報の有無を確認、すなわちＥＬＦフォーマットであるかどうかで判断するわけだが、ＥＬＦフォーマットの確認方法は先頭アドレスのマジックナンバーを読取る等、既存技術であるため詳細説明は省略する。セクション情報読み出しステップＳ１０２は、前記セクション情報有無判定ステップＳ１０１と同様ＥＬＦフォーマットを解析し、セクション情報を取得する。その解析方法は既存技術であるため詳細な説明は省略する。解析した結果より、データ種別、データ開始アドレス、データサイズをセクション情報テーブル２０３に格納する。
【００４１】
次に、セクション情報作成ステップＳ１０３の詳細を図７を用いて説明する。
図７記載のセクション情報作成ステップＳ１０３は、先頭ブロック読み出しステップＳ２０１、読み出しデータ領域確認ステップＳ２０２、読み出しデータ分割ステップＳ２０３、セクション情報作成ステップＳ２０４、セクション情報作成完了確認ステップＳ２０５、次ブロック読み出しステップＳ２０６からなる。
【００４２】
以下、前記セクション情報作成Ｓ１０３を構成する各ステップを説明する。
先頭ブロック読み出しステップＳ２０１は、デバッグ装置１０６より読込んだ実行形式ファイル１０４の先頭ブロックを読み出す。
【００４３】
読み出しデータ領域確認ステップＳ２０２は、先頭ブロック読み出しステップＳ２０１もしくは、次ブロック読み出しステップＳ２０６より、読み出したデータが複数の記憶領域に跨るか否かを判定する。複数の記憶領域に跨る場合は、読み出しデータ分割ステップＳ２０３へ移り、複数の記憶領域に跨らない場合は、セクション情報作成ステップＳ２０４へ移る。
【００４４】
読み出しデータ分割ステップＳ２０３は、２つ目以降の記憶領域に配置されているデータを別ブロックとして分割する。
【００４５】
セクション情報作成ステップＳ２０４は、読み出したデータの記憶領域種別、先頭アドレス、データサイズから、図５の例に示す、データ種別、データ開始アドレス、データサイズの情報を格納するデータセクション情報５０１を作成する。
【００４６】
セクション情報作成完了ステップＳ２０５は、実行形式ファイル１０４すべてのブロックのセクション情報５０１を作成したか否かの判定を行う。すべてのブロックに対してセクション情報５０１が作成されていない場合は、次ブロック読み出しステップＳ２０６へ移り、すべてのブロックに対してセクション情報５０１の作成が完了していたならセクション情報作成ステップＳ２０５は終了する。
【００４７】
次ブロック読み出しステップＳ２０６は、セクション情報作成ステップＳ２０４より処理が完了したブロックの次のブロックを読み出す。
【００４８】
ここで図を用いて、読み出しデータ分割ステップＳ２０３を具体的に説明する。
図３に一例を示す。
【００４９】
実行形式ファイル１０４に含まれる転送対象データというものは、全てが連続したアドレスに配置されるわけではなく、図３記載のように、複数のブロックに分けられて配置される。図３には、実行形式ファイル１０４に含まれるデータが２つのブロックに分割されて配置されることを示している。ブロック３０１の最終アドレスとブロック３０２の先頭アドレスは連続していない。
【００５０】
また、ブロック３０１及びブロック３０２が配置される記憶領域はアドレスにより分割され、それぞれ異なる属性を持つ。
【００５１】
ここで言う異なる属性とは、一般的に言う、命令メモリ領域やデータメモリ領域のことを指す。
【００５２】
図３記載のブロック３０１のように複数の記憶領域に跨るブロックがある場合、記憶領域３０３のデータ以外を、別ブロックとして分割する。
【００５３】
分割した後の状態を図４に示す。
連続した領域ブロック３０１は記憶領域３０３に属するブロック４０１と、それ以外の記憶領域に属するブロック４０２とに分割される。
【００５４】
分割後のブロック４０１に関しては、前記読み出しデータ分割ステップＳ２０３を行わないときと同様、セクション情報作成ステップＳ２０４へ移る。
【００５５】
前記データ転送ステップＳ１０４の詳細を図８を用いて説明する。
前記データ転送ステップＳ１０４は、初期転送セクション設定ステップＳ３０１と、転送セクションデータ読込みステップＳ３０２と、前記圧縮効果判定部２０４で実施される圧縮効果判定ステップＳ３０３と、圧縮効果判定結果確認ステップＳ３０４と、前記圧縮部２０５で実施される圧縮ステップＳ３０５と、前記出力部２０６実施されるデータ出力ステップＳ３０６と、転送完了確認ステップＳ３０７、次転送セクション設定ステップＳ３０８からなる。
【００５６】
以下、前記データ転送ステップＳ１０４を構成する各ステップを説明する。
初期転送セクション設定ステップＳ３０１は、セクション情報テーブル２０３の先頭セクション情報５０１を転送対象とする。
【００５７】
転送セクションデータ読込みステップＳ３０２は転送対象のセクションのデータを実行形式ファイル１０４から読み出す。
【００５８】
圧縮効果判定ステップＳ３０３は、初期転送セクション設定ステップＳ３０１もしくは、次転送セクション設定ステップＳ３０８より設定された転送対象のセクションに対して、圧縮効果の判定を行う。
【００５９】
圧縮効果判定結果確認ステップＳ３０４は、圧縮効果判定ステップＳ３０３より判定された圧縮効果が高ければ、圧縮ステップＳ３０５へ移り、圧縮効果が低ければ、出力ステップＳ３０６へ移る。
【００６０】
圧縮ステップＳ３０５は、前記圧縮効果判定ステップＳ３０３より圧縮効果の高いとされたセクションのデータの圧縮を行う。
【００６１】
ここで、圧縮ステップＳ３０５を具体的に説明する。
本発明の圧縮ステップＳ３０５は、既存の圧縮方法、例えば連長圧縮法（ランレングス圧縮）を用いた場合、圧縮効果判定部２０４による情報で、圧縮効果の高いとみなされた領域のバイナリデータ、例えば、ＡＡＡＡＡＢＢＢＢＢＢＢＢＢＦＦＦＦＦＦＦを受け取るとＡ５Ｂ９Ｆ７に圧縮し、出力部２０６へ出力される。圧縮法としては、このほかにもＨｕｆｆｍａｎ法、算術圧縮、ＬＺ法などがある。
【００６２】
出力ステップＳ３０６は、前記圧縮ステップＳ３０５より圧縮されたデータもしくは、前記圧縮効果判定ステップＳ３０３より圧縮効果が低いと判定された非圧縮のデータを第２の演算処理装置１０７へ出力する。
【００６３】
転送完了確認ステップＳ３０７は、セクション情報テーブル２０３に格納されているすべてのセクションに対して、転送が完了したか否かを判定する。すべてのセクションに対して、転送が完了していなければ、次転送セクション設定ステップＳ３０８へ移り、同様の処理を繰り返し、転送が完了していれば、データ転送ステップＳ１０４は終了し、データ転送は終了する。
【００６４】
次に、前記圧縮効果判定部２０４で実施する圧縮効果判定ステップＳ３０３の詳細を図９を用いて説明する。
【００６５】
図９記載の圧縮効果判定ステップＳ３０３は、性能評価ステップＳ４０１と、データ種別情報取得ステップＳ４０２、データ別圧縮効果判定ステップＳ４０３と、情報量大小判定ステップＳ４０５と、圧縮効果高設定ステップＳ４０７と、圧縮効果低設定ステップＳ４０６と、データ情報量算出ステップＳ４０４からなる。
【００６６】
以下、前記圧縮効果判定ステップＳ３０３を構成する各ステップを説明する。
性能評価ステップＳ４０１は、第１の演算処理装置１０１の性能を高いか否かで評価する。性能が高ければデータ情報量算出ステップＳ４０４へ移り、性能が低ければ、データ種別情報取得ステップＳ４０３へ移る。
【００６７】
データ種別情報取得ステップＳ４０２は、セクション情報テーブル２０３より転送対象となっているデータのデータ種別を取得する。
【００６８】
データ別圧縮効果判定ステップＳ４０３は、前記データ種別情報取得ステップＳ４０２により取得したデータ種別が命令ならば、圧縮効果高設定ステップＳ４０７へ移り、データ種別が非命令ならば、圧縮効果低設定ステップＳ４０６へ移る。
【００６９】
圧縮効果高設定ステップＳ４０７は、転送対象となっているデータを圧縮効果が高いと設定する。
【００７０】
圧縮効果低設定ステップＳ４０６は、転送対象となっているデータを圧縮効果が低いと設定する。
【００７１】
データ情報量算出ステップＳ４０４は、転送対象となっているデータの情報量を演算により算出する。
【００７２】
情報量大小判定ステップＳ４０５は、データの情報量が少ない場合は、前記圧縮高設定ステップＳ４０７へ移り、データの情報量が多い場合は、前記圧縮低設定Ｓ４０６ステップへ移る。
【００７３】
ここで、性能評価ステップＳ４０１を具体的に説明する。
性能評価ステップＳ４０１で行う、性能評価は、ＳＰＥＣｉｎｔや、ＳＰＥＣｆｐ等、既存技術により行えるため詳細説明は省略する。性能評価ステップＳ４０１性能評価に対する閾値を予め設定しておき、閾値より高ければ第１の演算処理装置１０１の性能は高いとし、閾値より低ければ、第１の演算処理装置１０１の性能は低いとする。
【００７４】
前記出力部２０６で実施する出力ステップの詳細を図１０を用いて説明する。
図１０記載の出力ステップＳ３０６は、転送データ生成ステップＳ５０１と、データ転送ステップＳ５０２からなる。
【００７５】
以下、前記出力ステップＳ３０６を構成する各ステップを説明する。
転送データ生成ステップＳ５０１は、転送対象となっているデータの圧縮状態、非圧縮状態に応じて、付加情報のヘッダをつける。
【００７６】
データ転送ステップS５０２は、転送データ生成ステップＳ５０１より生成されたデータを第２の演算処理装置１０７へ出力する。
【００７７】
ここで、転送データ生成ステップＳ５０１を具体的に説明する。
転送対象データは、前記圧縮ステップＳ３０５によって圧縮状態もしくは、圧縮効果が低いとされて、非圧縮状態で出力ステップＳ３０６に移る。この時、第２の演算処理装置１０７は、ダウンロードされてきたデータに対して、伸張を行うか否かの判断が行えるようにするために、転送データ生成ステップＳ５０１によって転送対象データにヘッダを付加する。ここでは例として、１ｂｉｔの情報を先頭にヘッダとして付加し、圧縮されていたら先頭に１、非圧縮ならば先頭に０を付加することで第２の演算処理装置１０７は判断をする。
【００７８】
前記のように構成することで、効果的にデータ転送時間を短縮するデータ転送方法及びデータ転送装置を実現することができる。
【産業上の利用可能性】
【００７９】
本発明にかかるデータ転送方法及びデータ転送装置は、大容量のデータ転送を必要としている演算処理装置に対して適用可能である。
【００８０】
効果的に圧縮を行うことで、データ転送時間を短縮するデータ転送方法及びデータ転送装置の特徴は、演算処理装置間のデータ転送を必要とするソフトウェア開発において有用になる。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施形態におけるデバッグシステムの構成を示すブロック図
【図２】本発明の実施形態におけるデータ転送装置の構成を示すブロック図
【図３】本発明の実施形態における複数の記憶領域に跨るブロックの一例を示す図
【図４】本発明の実施形態における複数の記憶領域に跨るブロックの分割後の一例を示す図
【図５】本発明の実施形態におけるセクション情報の一例を示す図
【図６】本発明の実施形態におけるデータ転送装置で実施されるデータ転送方法の概略を示すフローチャート
【図７】本発明の実施形態におけるセクション情報作成部で実施されるセクション情報作成ステップを示すフローチャート
【図８】本発明の実施形態におけるデータ転送ステップを示すフローチャート
【図９】本発明の実施形態における圧縮効果判定部で実施される圧縮効果判定ステップを示すフローチャート
【図１０】本発明の実施形態における出力部で実施される出力ステップを示すフローチャート
【図１１】ＣＰＵの処理能力と圧縮率とに応じて異なるデータ圧縮時間とデータ転送時間とを示す説明図
【符号の説明】
【００８２】
１０１  第１の演算処理装置
１０２  ソースプログラム
１０３  プログラム変換装置
１０４  実行形式ファイル
１０５  セクション情報
１０６  デバッグ装置
１０７  第２の演算処理装置
１０８  ＣＰＵ
１０９  メモリ
２０１  実行形式ファイル読込み部
２０２  セクション情報作成部
２０３  セクション情報テーブル
２０４  圧縮効果判定部
２０５  圧縮部
２０６  出力部
３０１  ブロック
３０２  ブロック
３０３  記憶領域
３０４  記憶領域
３０５  記憶領域
３０６  記憶領域
４０１  ブロック
４０２  ブロック
５０１  セクション情報
【図１】
2008176420.tif 000003
【図２】
2008176420.tif 000004
【図３】
2008176420.tif 000005
【図４】
2008176420.tif 000006
【図５】
2008176420.tif 000007
【図６】
2008176420.tif 000008
【図７】
2008176420.tif 000009
【図８】
2008176420.tif 000010
【図９】
2008176420.tif 000011
【図１０】
2008176420.tif 000012
【図１１】
2008176420.tif 000013