(57)【要約】【課題】ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの不具合の検出を容易におこなわせること。【解決手段】ダイレクトメモリアクセス制御装置１１０は、制御回路１１１、ＤＭＡＣ（第１のＤＭＡコントローラ）１１６、セレクタ１１７、バッファ（記憶手段）１１８、ＤＭＡＣ（第２のＤＭＡコントローラ）１１９を備えて構成されている。制御回路１１１は、ダイレクトメモリアクセス制御装置１１０全体を制御する。ＤＭＡＣ１１６は、制御回路１１１の制御により、転送データを転送する。セレクタ１１７は、制御回路１１１の制御により、ＤＭＡＣ１１６によって転送される転送データのうち、ミラーリング対象データを選択する。バッファ１１８は、セレクタ１１７によって選択されたミラーリング対象データを記憶する。ＤＭＡＣ１１９は、バッファ１１８に記憶されたミラーリング対象データをメモリ１０３へ転送する。【選択図】図１
2008210108.tif 000002
【特許請求の範囲】
【請求項１】
転送元のメモリから読み取った転送データを、転送先のメモリへ転送する第１のＤＭＡコントローラと、
前記第１のＤＭＡコントローラによって前記転送先のメモリへ転送される転送データの複写データを、前記転送先のメモリのうち前記転送データとは異なる領域へ転送する第２のＤＭＡコントローラと、
を備えることを特徴とするダイレクトメモリアクセス制御装置。
【請求項２】
前記第１のＤＭＡコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、前記転送データとは異なる領域への転送対象データを選択するセレクタを備え、
前記第２のＤＭＡコントローラは、
前記セレクタによって選択された転送対象データを、前記転送データとは異なる領域へ転送することを特徴とする請求項１に記載のダイレクトメモリアクセス制御装置。
【請求項３】
前記セレクタは、前記第１のＤＭＡコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つを、前記転送データとは異なる領域への転送対象データとして選択することを特徴とする請求項２に記載のダイレクトメモリアクセス制御装置。
【請求項４】
前記第１のＤＭＡコントローラによって前記転送先のメモリへ転送される転送データの転送データ数を計測する計測手段を備え、
前記セレクタは、
前記計測手段によって計測された転送データ数に基づいて、前記第１のＤＭＡコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、前記転送データとは異なる領域への転送対象データを、所定の周期で、所定の回数選択することを特徴とする請求項２または３に記載のダイレクトメモリアクセス制御装置。
【請求項５】
請求項１〜４に記載のダイレクトメモリアクセス制御装置の設計データを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ダイレクトメモリアクセスにおける転送データを制御するダイレクトメモリアクセス制御装置および記録媒体に関する。
【背景技術】
【０００２】
従来より、デバイス−メモリ間のデータ転送においては、ＣＰＵを介さずに、直接、デバイスとメモリとの間のデータ転送をおこなうことによってＣＰＵの処理効率を向上させるダイレクトメモリアクセス（以下、「ＤＭＡ」という）が利用されている。そして、近年における多くのコンピュータ装置においては、デバイス−メモリ間のデータ転送を制御するダイレクトメモリアクセス制御装置（ＤＭＡＣ）が設けられ、上記ＤＭＡを実現することができる構成となっている。
【０００３】
このようなコンピュータ装置においては、ＤＭＡによってメモリに転送されたデータと、あらかじめメモリ上に設定されているデータとを比較することによって、ソフトウェアおよびハードウェアの不具合を検出して、ソフトウェアおよびハードウェアの品質を向上させることができるものとされている（たとえば、下記特許文献１参照。）。
【０００４】
【特許文献１】特開２００２−２５１２９６号公報
【０００５】
ここで、従来技術によるダイレクトメモリアクセス制御装置およびこれを用いたＤＭＡ制御方法について説明する。まず、従来技術によるダイレクトメモリアクセス制御装置の回路構成について説明する。図５は、従来技術によるダイレクトメモリアクセス制御装置の回路構成の一例を示す説明図である。
【０００６】
図５に示すように、情報処理装置５００は、ＣＰＵ５０１と、デバイス５０２と、メモリ５０３と、ダイレクトメモリアクセス制御装置５１０と、を備えて構成されており、各構成部はバス５０４によって接続されている。
【０００７】
このように構成された情報処理装置５００によるＤＭＡ処理において、ＣＰＵ５０１は、ＤＭＡ設定情報をダイレクトメモリアクセス制御装置５１０に送信する機能を有する。ここで、ＤＭＡ設定情報は、転送対象とするデータ（以下、「転送対象データ」という）に関する、転送元データ領域のアドレス、転送先データ領域のアドレス、転送時のアドレス更新方法、転送データ数などの情報を含む。
【０００８】
また、デバイス５０２は、要求するデータに関するＤＭＡ要求信号をＤＭＡＣ５１３へ送信する。デバイス５０２としては、たとえば拡張カードなどが挙げられる。
【０００９】
また、メモリ５０３は、転送元データ領域および転送先データ領域が設けられている。転送元データ領域には、ＤＭＡ要求信号に基づいてダイレクトメモリアクセス制御装置５１０に送信される転送対象データが記録されている。転送先データ領域には、ＤＭＡ要求信号に基づいてダイレクトメモリアクセス制御装置５１０から送信された転送対象データが記録される。
【００１０】
そして、ダイレクトメモリアクセス制御装置５１０は、ダイレクトメモリアクセス制御装置５１０全体を制御する制御回路５１１、ＤＭＡコントローラ（以下、「ＤＭＡＣ」という）５１３、複数のＤＭＡチャネルを調停するアービタ５１４を備えて構成されている。また、制御回路５１１は、ＤＭＡ設定情報を記憶する記憶部５１２を備えて構成されている。
【００１１】
続いて、従来技術によるダイレクトメモリアクセス制御装置によるＤＭＡ制御処理の手順について説明する。図６は、従来技術によるダイレクトメモリアクセス制御装置によるＤＭＡ制御処理の手順の一例を示すフローチャートである。
【００１２】
まず、ＣＰＵ５０１からダイレクトメモリアクセス制御装置５１０にＤＭＡ設定情報が送信され、記憶部５１２にＤＭＡ設定情報が設定される（ステップＳ６０１）。
【００１３】
そして、ＣＰＵ５０１からダイレクトメモリアクセス制御装置５１０にデータ転送開始信号が送信されることにより、ＤＭＡＣ５１３によって、記憶部５１２に設定されたＤＭＡ設定情報に基づくデータ転送が開始される（ステップＳ６０２）。これにより、ＤＭＡＣ５１３は、メモリ５０３（転送元データ領域）から転送対象データを読み取り（ステップＳ６０３）、ステップＳ６０３で読み取った転送対象データをＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）ルールに従い、メモリ５０３（転送先データ領域）へ転送する（ステップＳ６０４）。
【００１４】
さらに、制御回路５１１によって、転送対象データが全て転送されたか否かを判断する（ステップＳ６０５）。ステップＳ６０５において、転送対象データが全て転送されていないと判断した場合（ステップＳ６０５：Ｎｏ）は、ステップＳ６０５で転送対象データが全て転送されたと判断されるまで、ステップＳ６０３〜ステップＳ６０５が繰り返しおこなわれる。一方、ステップＳ６０５において、転送対象データが全て転送されたと判断した場合（ステップＳ６０５：Ｙｅｓ）は、一連の処理を終了する。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、上記特許文献１に記載の従来技術にあっては、データ転送時における通信記録（ロギング）をおこなっていないため、メモリへのデータアクセスタイミングやそのときのデータアクセス内容などを検証することができない。たとえＩＣＥ（Ｉｎ−Ｃｉｒｃｕｉｔ  Ｅｍｕｌａｔｏｒ）を使用したとしても、ＣＰＵを介したデータ転送をおこなっていないため、上記検証をおこなうことができない。このため、上記特許文献１に記載の従来技術にあっては、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの不具合を検出することができずに、結果的に、ソフトウェアおよびハードウェアの品質低下を招いていた。
【００１６】
この発明は、上述した従来技術による問題点を解消するため、ＤＭＡを利用したデータ転送時における通信記録を出力することによって、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの不具合の検出を容易におこなわせることができ、結果的に、ソフトウェアおよびハードウェアの品質向上を図ることができるダイレクトメモリアクセス制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するため、第１の発明にかかるダイレクトメモリアクセス制御装置は、転送元のメモリから読み取った転送データを、転送先のメモリへ転送し、転送先のメモリへ転送される転送データの複写データを、転送先のメモリのうち転送データとは異なる領域へ転送することを特徴とする。
【００１８】
この発明によれば、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリに記録することができる。
【００１９】
また、上記に記載の発明において、転送先のメモリへ転送される転送データの複写データのうち、転送データとは異なる領域への転送対象データを選択し、選択された転送対象データを、転送データとは異なる領域へ転送することとしてもよい。
【００２０】
この発明によれば、ユーザが任意に選択した、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否の判断に必要なデータのみを、メモリに記録することができる。
【００２１】
また、上記に記載の発明において、転送先のメモリへ転送される転送データの複写データのうち、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つを、転送データとは異なる領域への転送対象データとして選択することとしてもよい。
【００２２】
この発明によれば、ユーザが任意に選択した、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否の判断に十分な、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つのデータを、メモリに記録することができる。
【００２３】
また、上記に記載の発明において、転送先のメモリへ転送される転送データの転送データ数を計測し、計測された転送データ数に基づいて、転送先のメモリへ転送される転送データの複写データのうち、転送データとは異なる領域への転送対象データを、所定の周期で、所定の回数選択することとしてもよい。
【００２４】
この発明によれば、ユーザが任意に選択した、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正の判断に十分な、所定の周期かつ所定の回数のデータを、メモリに記録することができる。
【００２５】
また、上記に記載の発明において、選択された転送対象データを記憶し、記憶された転送対象データを、転送データとは異なる領域へ転送することとしてもよい。
【００２６】
この発明によれば、第１のＤＭＡコントローラによるデータ転送タイミングに影響されることなく、任意のタイミングで、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリに記録することができる。
【００２７】
また、上記に記載の発明において、複数のＤＭＡコントローラの中から、第１のＤＭＡコントローラとして用いるＤＭＡコントローラおよび第２のＤＭＡコントローラとして用いるＤＭＡコントローラをそれぞれ選択することとしてもよい。
【００２８】
この発明によれば、特別な装置を用いることなく、既存の装置（ＤＭＡコントローラ）を使用して、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリに記録することができる。
【００２９】
また、上記に記載の発明において、複数のデータ転送形式の中から、第１のＤＭＡコントローラによるデータ転送に用いるデータ転送形式および第２のＤＭＡコントローラによるデータ転送に用いるデータ転送形式をそれぞれ選択することとしてもよい。
【００３０】
この発明によれば、ＤＭＡコントローラごとに、他のＤＭＡコントローラのデータ転送形式に影響されることなく、独立して、データ転送形式を設定することができる。
【００３１】
また、上記に記載の発明において、転送先のメモリへのデータ転送をおこなうＤＭＡチャネルごとに、転送先のメモリへのバスの割り当てを調停することとしてもよい。
【００３２】
この発明によれば、各ＤＭＡチャネル、特に第２のＤＭＡコントローラによるＤＭＡチャネルに対するバス取得の機会を均一化することができる。
【００３３】
また、第２の発明にかかる記録媒体は、上記発明の設計データをコンピュータ読み取り可能に記録したことを特徴とする。
【００３４】
この発明によれば、上記発明の設計データをコンピュータに読み取らせ、設計データの編集や、上記発明のシミュレーションなどをコンピュータにより実行することができる。
【発明の効果】
【００３５】
本発明にかかるダイレクトメモリアクセス制御装置および記録媒体によれば、ＤＭＡを利用したデータ転送時における通信記録を出力し、出力された通信記録によって、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの不具合の検出を容易におこなわせることができ、結果的に、ソフトウェアおよびハードウェアの品質向上を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３６】
以下に添付図面を参照して、この発明にかかるダイレクトメモリアクセス制御装置および記録媒体の好適な実施の形態を詳細に説明する。
【００３７】
（実施の形態）
（ダイレクトメモリアクセス制御装置の回路構成）
まず、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置の回路構成について説明する。図１は、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置の回路構成を示す説明図である。
【００３８】
図１に示すように、情報処理装置１００は、ＣＰＵ１０１と、デバイス１０２と、メモリ１０３と、ダイレクトメモリアクセス制御装置１１０と、を備えて構成されており、各構成部はバス１０４によって接続されている。
【００３９】
このように構成された情報処理装置１００によるＤＭＡ処理において、ＣＰＵ１０１は、デバイス１０２から送信されたＤＭＡ要求信号を受信して、受信したＤＭＡ要求信号に基づくＤＭＡ設定情報およびミラーリングに関する設定情報（以下、「ミラーリング設定情報」という）をダイレクトメモリアクセス制御装置１１０に送信する機能を有する。ここで、ＤＭＡ設定情報は、転送元データ領域のアドレス、転送先データ領域のアドレス、転送時のアドレス更新方法、転送データ数などの情報を含む。
【００４０】
一方、ミラーリング設定情報は、転送対象データの転送に使用するＤＭＡチャンネル（第１のＤＭＡチャネル）、メモリ１０３（デバッグデータ領域）への転送データ（転送対象データの複製データ（以下、「ミラーリング対象データ」という））の転送に使用するＤＭＡチャンネル（第２のＤＭＡチャネル）、ミラーリング対象データの選択条件（ミラーリング対象データ項目、ミラーリング頻度）、複数のＤＭＡチャネルの調停（アービトレーション）方法、などの情報を含む。
【００４１】
ここで、転送対象データの転送に使用するＤＭＡチャンネル（第１のＤＭＡチャネル）のデータ転送形式と、ミラーリング対象データの転送に使用するＤＭＡチャンネル（第２のＤＭＡチャネル）のデータ転送形式とを、それぞれ独立して設定することができる。たとえば、データ転送形式としては、ＤＡ（Ｄｕａｌ  Ａｄｄｒｅｓｓｉｎｇ）モード、ＤＣＡ（Ｄｅｓｔｉｎａｔｉｏｎ  Ｃｉｒｃｕｌａｒ  Ａｄｄｒｅｓｓｉｎｇ）モード、ＳＣＡ（Ｓｏｕｒｃｅ  Ｃｉｒｃｕｌａｒ  Ａｄｄｒｅｓｓｉｎｇ）モードのいずれかを設定することができる。
【００４２】
また、デバイス１０２は、転送対象データのＤＭＡ要求信号をＤＭＡＣ１１６又はＤＭＡＣ１１９へ送信する。デバイス１０２としては、たとえば拡張カードなどが挙げられる。
【００４３】
また、メモリ１０３は、転送元データ領域（転送元のメモリ）、転送先データ領域（転送先のメモリ）、およびデバッグデータ領域（転送先のメモリのうち転送データとは異なる領域）が設けられている。転送元データ領域には、ＤＭＡ要求信号に基づいてダイレクトメモリアクセス制御装置１１０に送信される転送対象データが記録されている。転送先データ領域には、ＤＭＡ要求信号に基づいてダイレクトメモリアクセス制御装置１１０から送信された転送対象データが記録される。
【００４４】
デバッグデータ領域には、ダイレクトメモリアクセス制御装置１１０から送信された転送対象データ（転送先データ領域に記録された転送対象データ）のミラーリングデータが記録される。なお、メモリ１０３は、物理的に複数のメモリ１０３によって構成されていてもよい。たとえば転送元データ領域が設けられたメモリ１０３と、転送元データ領域が設けられたメモリ１０３と、デバッグデータ領域が設けられたメモリ１０３とが、物理的に別のものであってもよい。
【００４５】
そして、ダイレクトメモリアクセス制御装置１１０は、制御回路１１１、ＤＭＡＣ（第１のＤＭＡコントローラ）１１６、セレクタ１１７、バッファ（記憶手段）１１８、ＤＭＡＣ（第２のＤＭＡコントローラ）１１９、アービタ（調停手段）１２０を備えて構成されている。
【００４６】
制御回路１１１は、ダイレクトメモリアクセス制御装置１１０全体を制御する。また、制御回路１１１は、記憶部１１２、計測部（計測手段）１１３、および選択部１１４を備える。このうち、記憶部１１２は、ＤＭＡ設定情報およびミラーリング設定情報を記憶する。また、計測部１１３は、ＤＭＡＣ１１６によって転送される転送対象データ数を計測する。
【００４７】
また、制御回路１１１のうち、選択部１１４は、記憶部１１２に記憶されたＤＭＡ設定情報に基づいて、複数のＤＭＡコントローラの中から、第１のＤＭＡコントローラとして用いるＤＭＡコントローラおよび第２のＤＭＡコントローラとして用いるＤＭＡコントローラをそれぞれ選択する。
【００４８】
ＤＭＡＣ１１６は、制御回路１１１の制御により、記憶部１１２に記憶されたＤＭＡ設定情報に基づいて、転送対象データを転送する。具体的には、メモリ１０３（転送元データ領域）から転送対象データを読み取る。そして、読み取った転送対象データを、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）ルールに従って出力することにより、アービタ１２０を介してメモリ１０３（転送先データ領域）に書き込む。ここで、メモリ１０３（転送先データ領域）へのデータ転送形式は、たとえば、記憶部１１２に記憶されたミラーリング設定情報に基づいて決定される。
【００４９】
なお、ＤＭＡＣ１１６は、転送対象データを転送するＤＭＡＣとして機能するだけでなく、ＤＭＡＣ１１９と同様に、ミラーリング対象データを転送するＤＭＡＣとして機能させることができる。ＤＭＡＣ１１９を転送対象データの転送用とするか、それともミラーリング対象データの転送用とするかは、たとえば、記憶部１１２に記憶されたミラーリング設定情報などの設定によって、切り替えることができる。
【００５０】
セレクタ１１７は、制御回路１１１の制御により、記憶部１１２に記憶されたミラーリング設定情報に基づいて、ＤＭＡＣ１１６によってメモリ１０３（転送先データ領域）に対して転送される転送対象データの中から、ミラーリング対象データを選択する。具体的には、記憶部１１２に記憶されたミラーリング設定情報に基づいて、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つのデータをミラーリング対象データとして選択する。また、セレクタ１１７は、計測部１１３によって計測された転送対象データの転送データ数と、記憶部１１２に記憶されたミラーリング設定情報と、に基づいて、所定の周期かつ所定の回数、ミラーリング対象データの選択をおこなう。
【００５１】
バッファ１１８は、セレクタ１１７によって選択されたミラーリング対象データを一時的に記憶する。
【００５２】
ＤＭＡＣ１１９は、制御回路１１１の制御により、記憶部１１２に記憶されたＤＭＡ設定情報に基づいて、ミラーリング対象データを転送する。具体的には、バッファ１１８からミラーリング対象データを読み取る。そして、読み取ったミラーリング対象データを、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）ルールに従って出力することにより、アービタ１２０を介してメモリ１０３（デバッグデータ領域）に書き込む。
【００５３】
ここで、メモリ１０３（デバッグデータ領域）へのデータ転送形式は、たとえば、記憶部１１２に記憶されたミラーリング設定情報に基づいて決定される。また、ミラーリング設定情報には、他のＤＭＡＣと独立してデータ転送形式を設定することができるため、たとえば、ＤＭＡＣ１１９は、ＤＭＡＣ１１６によるメモリ１０３（転送先データ領域）へのデータ転送形式と異なる形式のデータ転送形式を用いることができる。
【００５４】
なお、ＤＭＡＣ１１９は、ミラーリング対象データを転送するＤＭＡＣとして機能するだけでなく、ＤＭＡＣ１１６と同様に、単に転送対象データを転送するＤＭＡＣとして機能させることができる。ＤＭＡＣ１１９を転送対象データの転送用とするか、それともミラーリング対象データの転送用とするかは、たとえば、記憶部１１２に記憶されたミラーリング設定情報などの設定によって、切り替えることができる。
【００５５】
アービタ１２０は、メモリ１０３へのデータ転送を要求する複数のＤＭＡチャネルの中から、メモリ１０３へのバス１０４を割り当てるＤＭＡチャネルを調停する。この、アービタ１２０は、ミラーリングがおこなわれているときと、そうでないときとで、使用する調停方法を切り替えることができる。このとき、ミラーリングがおこなわれているときに用いられる調停方法は、記憶部１１２に記憶されたミラーリング設定情報に基づいて決定される。これにより、たとえば、ミラーリングがおこなわれていないとき（既定の状態）において、あるＤＭＡチャネルによる転送を優先する動作をさせて、ミラーリングがおこなわれているときにおいては、各ＤＭＡチャネルが均一に転送をおこなうラウンドロビン動作をさせることができる。
【００５６】
（ミラーリング設定情報の一例）
つぎに、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置に用いられるミラーリング設定情報の一例について説明する。図２は、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置に用いられるミラーリング設定情報の一例を示す説明図である。
【００５７】
たとえば、図２に示すミラーリング設定情報において「ミラー元ＤＭＡチャンネル」には、ダイレクトメモリアクセス制御装置１１０に設けられた複数のＤＭＡチャンネル（ＤＭＡＣ）のうち、転送時に使用するＤＭＡチャンネルとして「チャンネル１」（たとえば図１に示したＤＭＡＣ１１６）が設定されている。また、「ミラーリングＤＭＡチャンネル」には、ミラーリング時に使用するＤＭＡチャンネルとして「チャンネル４」（たとえば図１に示したＤＭＡＣ１１９）が設定されている。ここでは、その他のＤＭＡチャンネル（たとえば「チャンネル２」や、「チャンネル３」）を転送時またはミラーリング時に使用するＤＭＡチャンネルとして設定することもできる。
【００５８】
また、図２に示すミラーリング設定情報において「ミラー対象データ（ミラーリング対象データ）」には、転送対象データを構成するデータ項目のうち、ミラーリング対象データとするデータ項目として、「転送先アドレス」が設定されている。ここでは、「転送元アドレス」や、「転送データ」など、その他のデータ項目をミラーリング対象とするデータ項目として設定することもできる。また、複数のデータ項目を設定することもできる。
【００５９】
また、図２に示すミラーリング設定情報において「ミラーリング頻度」には、ミラーリング頻度として、「１回目」が設定されている。ここでは、「毎回」や、「ｎ回毎（ｎは任意または所定の値）」など、その他の頻度をミラーリング頻度として設定することもできる。
【００６０】
さらに、図２に示すミラーリング設定情報において「バス調停」には、複数のＤＭＡチャネルの調停（アービトレーション）方法として、「強制ラウンドロビン」が設定されている。ここでは、「チャンネルｎを優先」や「変更なし」（既定の優先度設定を用いる）などその他の方法をＤＭＡチャネルの調停方法として設定することもできる。
【００６１】
たとえば、図２に示したミラーリング設定情報の設定では、１回のデータ転送に対して、１回だけ、転送元アドレスがミラーリング対象データとして、セレクタ１１７によって選択され、メモリ１０３（デバッグデータ領域）に記録される。これにより、たとえばユーザは、意図したデータパターンの固定データが転送されているか否かを検証することができる。また、メモリ１０３（デバッグデータ領域）への無駄なデータの大量な書き込みを防ぐことができる。
【００６２】
また、たとえば、ミラーリング対象データを「転送先アドレス」とし、ミラーリング頻度を「３２回毎」とすることにより、外部デバイスの３２ｗｏｒｄの固定領域から、メモリ１０３にデータを転送する場合において、どのような順番で、どのデータが転送されたかを検証することができる。
【００６３】
また、たとえば、ミラーリング対象データを「転送データ」とし、ミラーリング頻度を「毎回」とすることにより、メモリ１０３から外部デバイスに対してデータを転送する場合において、読み取りできない領域に転送された転送データの内容を、読み取り可能な領域にミラーリングされたデータによって検証することができる。
【００６４】
（ＤＭＡ制御処理の手順）
続いて、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置によるＤＭＡ制御処理の手順について説明する。図３は、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置によるＤＭＡ制御処理の手順の一例を示すフローチャートである。
【００６５】
なお、あらかじめ、ミラーリング設定情報が記憶部１１２に設定されているものとする。また、選択部１１４によって、複数のＤＭＡコントローラの中から、第１のＤＭＡコントローラとしてＤＭＡＣ１１６が、第２のＤＭＡコントローラとしてＤＭＡＣ１１９が選択されているものとする。さらに、第１のＤＭＡコントローラ（ＤＭＡＣ１１６）によるデータ転送形式と、第２のＤＭＡコントローラ（ＤＭＡＣ１１９）によるデータ転送形式とがそれぞれ選択されていることとする。
【００６６】
まず、デバイス１０２からＣＰＵ１０１に、ＤＭＡ要求信号が送信されることにより、ＣＰＵ１０１からダイレクトメモリアクセス制御装置１１０にＤＭＡ設定情報が送信され、記憶部１１２にＤＭＡ設定情報が設定される（ステップＳ３０１）。
【００６７】
そして、ＣＰＵ１０１からダイレクトメモリアクセス制御装置１１０にデータ転送開始信号が送信されることにより、ＤＭＡＣ１１６によって、記憶部１１２に設定されたＤＭＡ設定情報に基づくデータ転送が開始される（ステップＳ３０２）。これにより、ＤＭＡＣ１１６は、メモリ１０３（転送元データ領域）から転送対象データを読み取り（ステップＳ３０３）、ステップＳ３０３で読み取った転送対象データをＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）ルールに従い、アービタ１２０を介してメモリ１０３（転送先データ領域）へ転送する（ステップＳ３０４）。このとき、アービタ１２０によって、当該ＤＭＡのバス１０４への割り当てが調停される。
【００６８】
つぎに、セレクタ１１７によって、記憶部１１２に記憶されたミラーリング設定情報に基づいて、ステップＳ３０４でメモリ１０３（転送先データ領域）に対して転送された転送対象データの中から、ミラーリング対象データを選択する（ステップＳ３０５）。そして、バッファ１１８によって、ステップＳ３０５で選択されたミラーリング対象データを記憶する（ステップＳ３０６）。
【００６９】
続いて、ＤＭＡＣ１１９によって、バッファ１１８からミラーリング対象データを読み取る（ステップＳ３０７）。そして、ＤＭＡＣ１１９によって、記憶部１１２に記憶されたＤＭＡ設定情報に基づいて、ステップＳ３０７で読み取ったミラーリング対象データを、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）ルールに従い、アービタ１２０を介してメモリ１０３（デバッグデータ領域）へ転送する（ステップＳ３０８）。このとき、アービタ１２０によって、当該ＤＭＡのバス１０４への割り当てが調停される。
【００７０】
さらに、制御回路１１１によって、転送対象データが全て転送されたか否かを判断する（ステップＳ３０９）。ステップＳ３０９において、転送対象データが全て転送されていないと判断した場合（ステップＳ３０９：Ｎｏ）は、ステップＳ３０９で転送対象データが全て転送されたと判断されるまで、ステップＳ３０３〜ステップＳ３０９が繰り返しおこなわれる。一方、ステップＳ３０９において、転送対象データが全て転送されたと判断した場合（ステップＳ３０９：Ｙｅｓ）は、一連の処理を終了する。
【００７１】
（転送データのデータ転送形式の一例）
続いて、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置による転送データのデータ転送形式の一例について説明する。図４は、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置による転送データのデータ転送形式の一例を示す説明図である。
【００７２】
図４に示すように、ＤＡモードでは、転送元データ領域のサイズと同じサイズの転送先データ領域へ転送データを書き込むことができる。
【００７３】
また、ＤＣＡモードでは、転送元データ領域のサイズよりも小さいサイズの転送先データ領域へ転送データを書き込むことができる。このとき、転送先データ領域の終端まで書き込まれると、再び転送先データ領域の先頭から書き込みがおこなわれる。これが繰り返されることで、全ての転送データが書き込まれる。
【００７４】
そして、ＳＣＡモードでは、転送元データ領域のサイズよりも大きいサイズの転送先データ領域へ転送データを書き込むことができる。このとき、転送元データ領域の終端まで読み込まれると、再び転送元データ領域の先頭から読み込みがおこなわれる。これが繰り返されることで、転送先データ領域の全てに転送データが書き込まれる。
【００７５】
以上説明したように、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置１１０は、メモリ１０３（転送元データ領域）から読み取った転送対象データを、メモリ１０３（転送先データ領域）へ転送するＤＭＡＣ１１６と、転送対象データの複写データ（ミラーリング対象データ）を、メモリ１０３（デバッグデータ領域）へ転送する第２のＤＭＡコントローラと、を備えたことにより、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリ１０３（デバッグデータ領域）に記録することができる。これにより、たとえばユーザは、メモリ１０３（デバッグデータ領域）に記録されたデータによるソフトウェアおよびハードウェアの検証を容易におこなうことができる。この結果、ソフトウェアおよびハードウェアの品質向上を図ることができる。
【００７６】
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置１１０は、転送対象データの複写データのうち、ミラーリング対象データを選択するセレクタ１１７を備えたことにより、ユーザが任意に選択した、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否の判断に必要なデータのみを、メモリ１０３（デバッグデータ領域）に記録することができる。これにより、たとえばユーザは、メモリ１０３（デバッグデータ領域）に記録されたデータによるソフトウェアおよびハードウェアの検証を容易におこなうことができるだけでなく、メモリ１０３の資源を有効に利用することができる。この結果、ソフトウェアおよびハードウェアの小型化および品質向上を図ることができるだけでなく、ダイレクトメモリアクセス制御装置１１０や、ダイレクトメモリアクセス制御装置１１０を備えた装置の小型化およびコスト削減を図ることができる。
【００７７】
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置１１０は、転送対象データの複写データのうち、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つを選択するセレクタ１１７を備えたことにより、ユーザが任意に選択した、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否の判断に十分な、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つのデータを、メモリ１０３（デバッグデータ領域）に記録することができる。これにより、たとえばユーザは、メモリ１０３（デバッグデータ領域）に記録されたデータによるソフトウェアおよびハードウェアの検証を容易におこなうことができるだけでなく、メモリ１０３の資源を有効に利用することができる。この結果、ソフトウェアおよびハードウェアの小型化および品質向上を図ることができるだけでなく、ダイレクトメモリアクセス制御装置１１０や、ダイレクトメモリアクセス制御装置１１０を備えた装置の小型化およびコスト削減を図ることができる。
【００７８】
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置１１０は、転送対象データの転送データ数を計測する計測部１１３と、計測部１１３によって計測された転送データ数に基づいて、転送対象データのうち、メモリ１０３（デバッグデータ領域）への転送対象データを、所定の周期で、所定の回数選択するセレクタ１１７と、を備えたことにより、ユーザが任意に選択した、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否の判断に十分な、所定の周期かつ所定の回数のデータを、メモリ１０３（デバッグデータ領域）に記録することができる。これにより、たとえばユーザは、メモリ１０３（デバッグデータ領域）に記録されたデータによるソフトウェアおよびハードウェアの検証を容易におこなうことができるだけでなく、メモリ１０３の資源を有効に利用することができる。この結果、ソフトウェアおよびハードウェアの小型化および品質向上を図ることができるだけでなく、ダイレクトメモリアクセス制御装置１１０や、ダイレクトメモリアクセス制御装置１１０を備えた装置の小型化およびコスト削減を図ることができる。
【００７９】
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置１１０は、セレクタ１１７によって選択された転送対象データを一時的に記憶するバッファ１１８を備えたことにより、ＤＭＡＣ１１６によるデータ転送タイミングに影響されることなく、任意のタイミングで、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリ１０３（デバッグデータ領域）に記録することができる。これにより、メモリ１０３（デバッグデータ領域）に転送データを転送する際のデータ転送タイミング設計を柔軟におこなうことができるため、ダイレクトメモリアクセス制御装置１１０の開発期間の短期間化を図ることができるだけでなく、ダイレクトメモリアクセス制御装置１１０や、ダイレクトメモリアクセス制御装置１１０を備えた装置の小型化およびコスト削減を図ることができる。
【００８０】
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置１１０は、複数のＤＭＡコントローラの中から、第１のＤＭＡコントローラとして用いるＤＭＡコントローラおよび第２のＤＭＡコントローラとして用いるＤＭＡコントローラをそれぞれ選択することが可能な構成としたことにより、特別な装置を設けることなく、既存の装置（ＤＭＡコントローラ）を使用して、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリ１０３（デバッグデータ領域）に記録することができる。この結果、ダイレクトメモリアクセス制御装置１１０の構成を簡素化することができ、ダイレクトメモリアクセス制御装置１１０の開発期間を短期間化することができるだけでなくダイレクトメモリアクセス制御装置１１０の小型化およびコスト削減を図ることができる。
【００８１】
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置１１０は、第１のＤＭＡコントローラによるデータ転送形式と、第２のＤＭＡコントローラによるデータ転送形式とをそれぞれ選択することが可能な構成としたことにより、ＤＭＡコントローラごとに、他のＤＭＡコントローラのデータ転送形式に影響されることなく、独立して、データ転送形式を設定することができる。これにより、各ＤＭＡコントローラの設定を変更したり、各ＤＭＡコントローラの動作に影響をおよぼしたりすることなく、ＤＭＡを利用したデータ転送時におけるソフトウェアおよびハードウェアの正否を判断する際の判断材料として利用することが可能なデータをメモリ１０３（デバッグデータ領域）に記録することができる。この結果、ダイレクトメモリアクセス制御装置１１０の構成を簡素化することができ、ダイレクトメモリアクセス制御装置１１０の開発期間を短期間化することができるだけでなく、ダイレクトメモリアクセス制御装置１１０の小型化およびコスト削減を図ることができる。
【００８２】
また、この発明の実施の形態にかかるダイレクトメモリアクセス制御装置１１０は、メモリ１０３へのデータ転送をおこなうＤＭＡチャネルごとに、メモリ１０３へのバス１０４の割り当てを調停するアービタ１２０を備えたことにより、各ＤＭＡチャネル、特にＤＭＡＣ１１９によるＤＭＡチャネルに対するバス取得の機会を均一化することができる。これにより、たとえば、ＤＭＡＣによって読み取られるミラーリング対象データを記憶するバッファ１１８の記録容量を小型化することができる。この結果、ダイレクトメモリアクセス制御装置１１０の小型化およびコスト削減を図ることができる。
【００８３】
また、本実施の形態で説明したダイレクトメモリアクセス制御装置１１０に関する設計データを記録した記録媒体を用意してもよい。ここで、ダイレクトメモリアクセス制御装置１１０に関する設計データとは、ダイレクトメモリアクセス制御装置１１０を、ＨＤＬで記述されたＲＴＬ記述や、論理合成後のネットリストにより表現したコンピュータ読み取り可能な電子データである。このような設計データを、テストツールがインストールされたコンピュータ装置上で展開することにより、製造前においてシミュレーションテストなどを実行することができる。
【００８４】
また、このような設計データをＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）に書き込み可能に加工した上でＰＬＤにダウンロードすることにより、上述したダイレクトメモリアクセス制御装置１１０を製造することもできる。
【００８５】
（付記１）転送元のメモリから読み取った転送データを、転送先のメモリへ転送する第１のＤＭＡコントローラと、
前記第１のＤＭＡコントローラによって前記転送先のメモリへ転送される転送データの複写データを、前記転送先のメモリのうち前記転送データとは異なる領域へ転送する第２のＤＭＡコントローラと、
を備えることを特徴とするダイレクトメモリアクセス制御装置。
【００８６】
（付記２）前記第１のＤＭＡコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、前記転送データとは異なる領域への転送対象データを選択するセレクタを備え、
前記第２のＤＭＡコントローラは、
前記セレクタによって選択された転送対象データを、前記転送データとは異なる領域へ転送することを特徴とする付記１に記載のダイレクトメモリアクセス制御装置。
【００８７】
（付記３）前記セレクタは、前記第１のＤＭＡコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、転送元アドレス、転送先アドレス、転送データの少なくともいずれか一つを、前記転送データとは異なる領域への転送対象データとして選択することを特徴とする付記２に記載のダイレクトメモリアクセス制御装置。
【００８８】
（付記４）前記第１のＤＭＡコントローラによって前記転送先のメモリへ転送される転送データの転送データ数を計測する計測手段を備え、
前記セレクタは、
前記計測手段によって計測された転送データ数に基づいて、前記第１のＤＭＡコントローラによって前記転送先のメモリへ転送される転送データの複写データのうち、前記転送データとは異なる領域への転送対象データを、所定の周期で、所定の回数選択することを特徴とする付記２または３に記載のダイレクトメモリアクセス制御装置。
【００８９】
（付記５）前記セレクタによって選択された転送対象データを記憶する記憶手段を備え、
前記第２のＤＭＡコントローラは、
前記記憶手段に記憶された転送対象データを、前記転送データとは異なる領域へ転送することを特徴とする付記２〜４のいずれか一つに記載のダイレクトメモリアクセス制御装置。
【００９０】
（付記６）複数のＤＭＡコントローラの中から、前記第１のＤＭＡコントローラとして用いるＤＭＡコントローラおよび前記第２のＤＭＡコントローラとして用いるＤＭＡコントローラをそれぞれ選択する選択手段をさらに備えたことを特徴とする付記１〜５のいずれか一つに記載のダイレクトメモリアクセス制御装置。
【００９１】
（付記７）複数のデータ転送形式の中から、前記第１のＤＭＡコントローラによるデータ転送に用いるデータ転送形式および前記第２のＤＭＡコントローラによるデータ転送に用いるデータ転送形式をそれぞれ選択するデータ転送形式選択手段をさらに備えたことを特徴とする付記１〜６のいずれか一つに記載のダイレクトメモリアクセス制御装置。
【００９２】
（付記８）前記転送先のメモリへのデータ転送をおこなうＤＭＡチャネルごとに、前記転送先のメモリへのバスの割り当てを調停する調停手段を備えたことを特徴とする付記１〜７のいずれか一つに記載のダイレクトメモリアクセス制御装置。
【００９３】
（付記９）付記１〜８に記載のダイレクトメモリアクセス制御装置の設計データを記録したコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【００９４】
以上のように、本発明にかかるダイレクトメモリアクセス制御装置および記録媒体は、ＤＭＡ機能を備えた半導体集積回路による、ハードウェア検証およびソフトウェア検証に有用であり、特に、より高い故障検出率が要求されるハードウェア検証およびソフトウェア検証に適している。
【図面の簡単な説明】
【００９５】
【図１】この発明の実施の形態にかかるダイレクトメモリアクセス制御装置の回路構成を示す説明図である。
【図２】この発明の実施の形態にかかるダイレクトメモリアクセス制御装置に用いられるミラーリング設定情報の一例を示す説明図である。
【図３】この発明の実施の形態にかかるダイレクトメモリアクセス制御装置によるＤＭＡ制御処理の手順の一例を示すフローチャートである。
【図４】この発明の実施の形態にかかるダイレクトメモリアクセス制御装置による転送データのデータ転送形式の一例を示す説明図である。
【図５】従来技術によるダイレクトメモリアクセス制御装置の回路構成の一例を示す説明図である。
【図６】従来技術によるダイレクトメモリアクセス制御装置によるＤＭＡ制御処理の手順の一例を示すフローチャートである。
【符号の説明】
【００９６】
１００  情報処理装置
１０１  ＣＰＵ
１０２  デバイス
１０３  メモリ
１０４  バス
１１０  ダイレクトメモリアクセス制御装置
１１１  制御回路
１１２  記憶部
１１３  計測部
１１４  選択部
１１６  ＤＭＡＣ（第１のＤＭＡコントローラ）
１１７  セレクタ
１１８  バッファ（記憶手段）
１１９  ＤＭＡＣ（第２のＤＭＡコントローラ）
１２０  アービタ
５００  情報処理装置
５０１  ＣＰＵ
５０２  デバイス
５０３  メモリ
５１０  ダイレクトメモリアクセス制御装置
５１１  制御回路
５１２  記憶部
５１３  ＤＭＡＣ
５１４  アービタ
【図１】
2008210108.tif 000003
【図２】
2008210108.tif 000004
【図３】
2008210108.tif 000005
【図４】
2008210108.tif 000006
【図５】
2008210108.tif 000007
【図６】
2008210108.tif 000008