(57)【要約】【課題】スレーブ接続されたプロセッサを主体的に動作させる。【解決手段】データ処理装置７０には、ＣＰＵ１、プロセッサ２、ＤＭＡコントローラ３、主メモリ４、インターフェース５、及びシステムバス６が設けられる。プロセッサ２は、システムバス６に対してスレーブ接続されるスレーブデバイスである。プロセッサ２には、バスインターフェース回路２１、データメモリ２２、及び命令メモリ２３が設けられる。バスインターフェース回路２１のコマンド有効レジスタ４４とＤＭＡコントローラ３の転送コマンド生成回路３１とは、信号線で接続され、この信号線を介して外部リソース要求信号Ｓ１がバスインターフェース回路２１のコマンドレジスタ２４から転送コマンド生成回路３１へ直接伝送される。ＤＭＡコントローラ３は、外部リソース要求信号Ｓ１に基づいてプロセッサ２からの要求に対応したＤＭＡ転送を実行する。【選択図】図１
2009199344.tif 000002
【特許請求の範囲】
【請求項１】
システムバスと、
前記システムバス上のリソースに対応するＤＭＡ要求コマンドを保持し、前記システムバスからスレーブアクセスすることができるコマンドレジスタを有し、前記システムバスに対してスレーブ接続されるプロセッサと、
前記プロセッサの前記ＤＭＡ要求コマンドを読み出し、前記ＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記プロセッサのバススレーブインターフェースの間でＤＭＡ転送制御を行い、前記システムバスに対してバスマスタ接続されるＤＭＡコントローラと、
を具備し、前記ＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記プロセッサの間でデータ転送が行われることを特徴とするデータ処理装置。
【請求項２】
システムバスと、
前記システムバス上のリソースに対応する第１のＤＭＡ要求コマンドを保持し、前記システムバスからスレーブアクセスすることができる第１のコマンドレジスタを有し、前記システムバスに対してスレーブ接続される第１のプロセッサと、
前記システムバス上のリソースに対応する第２のＤＭＡ要求コマンドを保持し、前記システムバスからスレーブアクセスすることができる第２のコマンドレジスタを有し、前記システムバスに対してスレーブ接続される第２のプロセッサと、
前記第１のＤＭＡ要求コマンドの要求が発生した場合、前記第１のプロセッサの前記第１のＤＭＡ要求コマンドを読み出し、前記第１のＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記第１のプロセッサの第１のバススレーブインターフェースの間でＤＭＡ転送制御を行い、
前記第２のＤＭＡ要求コマンドの要求が発生した場合、前記第２のプロセッサの前記ＤＭＡコマンドを読み出し、前記第２のＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記第２のプロセッサの第２のバススレーブインターフェースの間でＤＭＡ転送制御を行い、前記システムバスに対してバスマスタ接続されるＤＭＡコントローラと、
を具備し、前記第１のＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記第１のプロセッサの間でデータ転送が行われ、前記第２のＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記第２のプロセッサの間でデータ転送が行われることを特徴とするデータ処理装置。
【請求項３】
前記ＤＭＡコントローラは、ＤＭＡ転送を制御する転送制御回路と、前記第１のＤＭＡ要求コマンドを入力して第１の転送コマンドを生成する第１の転送コマンド生成回路と、前記第２のＤＭＡ要求コマンドを入力して第２の転送コマンドを生成する第２の転送コマンド生成回路とを有することを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記プロセッサと前記ＤＭＡコントローラの間には前記ＤＭＡ要求コマンドに有効なコマンドを前記ＤＭＡコントローラに直接伝送する信号線が設けられることを特徴とする請求項１乃至３のいずれか１項に記載のデータ処理装置。
【請求項５】
前記ＤＭＡコントローラは、前記プロセッサ上のバスアクセス要求に対して、定期的に順番にポーリング読み出しを行うことを特徴とする請求項１乃至３のいずれか１項に記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置に関する。
【背景技術】
【０００２】
従来、複数のバスマスタ接続されるプロセッサが分担協力してデータ処理を行うデータ処理モジュールとしてのマルチプロセッサシステムが多数存在する。このシステムでは、システム全体を統括制御するコアプロセッサ或いはＣＰＵ（Central  Processing  Unit）と、特定な分野（例えば、グラフィック処理やサウンド処理など）の演算処理を行う複数のサブプロセッサとが設けられる（例えば、特許文献１参照。）。
【０００３】
特許文献１などに記載されるデータ処理装置では、特定分野の演算処理を担当し、バスマスタ接続されるサブプロセッサの数が、例えば数十個のオーダーになるとシステム構成が非常に煩雑になるという問題点がある。
【０００４】
また、システム構成の煩雑さを解消する目的で、バスマスタ接続されるサブプロセッサのバスマスタ機能を削除し、スレーブ接続だけでサブプロセッサをシステムバスと接続し、ＤＭＡ（Direct  Memory  Access）コントローラによりスレーブアクセスを通して予め命令を転送し、その範囲で動作させる方式などがある。しかしながら、この方式では、処理が収まらない場合、コアプロセッサアの手助けのもとで命令メモリの張替え（オーバーレイ）処理などが必要となり、コアプロセッサの負担が増大するという問題点が発生する。そして、外部のリソースに対して、主体的かつ汎用的なアクセス手段が全くなくなるので、デバックの際に得られる情報が限定され、追加に必要なシステムバス上のリソースがある場合でもアクセス手段がないなどという制約が発生するという問題点がある。
【特許文献１】特開２００４−１３９０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、スレーブ接続されたプロセッサを主体的に動作させることができるデータ処理装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様のデータ処理装置は、システムバスと、前記システムバス上のリソースに対応するＤＭＡ要求コマンドを保持し、前記システムバスからスレーブアクセスすることができるコマンドレジスタを有し、前記システムバスに対してスレーブ接続されるプロセッサと、前記プロセッサの前記ＤＭＡ要求コマンドを読み出し、前記ＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記プロセッサのバススレーブインターフェースの間でＤＭＡ転送制御を行い、前記システムバスに対してバスマスタ接続されるＤＭＡコントローラとを具備し、前記ＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記プロセッサの間でデータ転送が行われることを特徴とする。
【０００７】
更に、本発明の他態様のデータ処理装置は、システムバスと、前記システムバス上のリソースに対応する第１のＤＭＡ要求コマンドを保持し、前記システムバスからスレーブアクセスすることができる第１のコマンドレジスタを有し、前記システムバスに対してスレーブ接続される第１のプロセッサと、前記システムバス上のリソースに対応する第２のＤＭＡ要求コマンドを保持し、前記システムバスからスレーブアクセスすることができる第２のコマンドレジスタを有し、前記システムバスに対してスレーブ接続される第２のプロセッサと、前記第１のＤＭＡ要求コマンドの要求が発生した場合、前記第１のプロセッサの前記第１のＤＭＡ要求コマンドを読み出し、前記第１のＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記第１のプロセッサの第１のバススレーブインターフェースの間でＤＭＡ転送制御を行い、前記第２のＤＭＡ要求コマンドの要求が発生した場合、前記第２のプロセッサの前記ＤＭＡコマンドを読み出し、前記第２のＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記第２のプロセッサの第２のバススレーブインターフェースの間でＤＭＡ転送制御を行い、前記システムバスに対してバスマスタ接続されるＤＭＡコントローラとを具備し、前記第１のＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記第１のプロセッサの間でデータ転送が行われ、前記第２のＤＭＡ要求コマンドに基づいて前記システムバス上のリソースと前記第２のプロセッサの間でデータ転送が行われることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、スレーブ接続されたプロセッサを主体的に動作させることができるデータ処理装置を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下本発明の実施例について図面を参照しながら説明する。
【実施例１】
【００１０】
まず、本発明の実施例１に係るデータ処理装置について、図面を参照して説明する。図１はデータ処理装置を示すブロック図、図２はプロセッサのバスインターフェース回路を示すブロック図、図３はＤＭＡコントローラを示すブロック図である。本実施例では、プロセッサをスレーブデバイスとして使用している。
【００１１】
図１に示すように、データ処理装置７０には、ＣＰＵ１、プロセッサ２、ＤＭＡコントローラ３、主メモリ４、インターフェース５、及びシステムバス６が設けられる。データ処理モジュールとしてのデータ処理装置７０は、例えば、映像情報、音声情報、オーディオ情報などのメディア情報をデータ処理する。
【００１２】
ＣＰＵ（Central  Processing  Unit）１は、システムバス６に対してバスマスタ接続され、データ処理装置７０全体を統括制御するバスマスタデバイスである。システムバス６は、アドレスバス、データバス、及び制御バスなど複数のバスを内蔵する。
【００１３】
主メモリ４は、システムバス６に対してスレーブ接続され、システムバス６を介してデータ処理装置７０内で生成された情報やデータ処理装置７０の外部から送信される情報などを格納するスレーブデバイスである。ここで、主メモリ４にＤＲＡＭ（Dynamic  Random  Access  Memory）を用いているが、ＳＲＡＭ（Static  Random  Access  Memory）やＤＲＡＭ／ＳＲＡＭ混載などを用いてもよい。ここでは、主メモリ４をデータ処理装置７０に搭載しているが、データ処理装置７０の外部に設けてもよい。
【００１４】
インターフェース５は、システムバス６に対してスレーブ接続され、システムバス６を介してデータ処理装置７０内で生成された情報を外部の機器に出力し、外部の機器から情報を入力するスレーブデバイスである。
【００１５】
プロセッサ２は、システムバス６に対してスレーブ接続されるスレーブデバイスである。プロセッサは、マイクロプロセッサ、或いはＤＳＰなどとも呼称される。
【００１６】
プロセッサ２には、バスインターフェース回路２１、データメモリ２２、及び命令メモリ２３が設けられる。バスインターフェース回路２１に設けられるコマンドレジスタ２４とＤＭＡ（Direct  Memory  Access）コントローラ３に設けられる転送コマンド生成回路３１とは、信号線で接続され、この信号線を介して外部リソース要求信号Ｓ１がコマンドレジスタ２４から転送コマンド生成回路３１へ直接伝送される。
【００１７】
バスインターフェース回路２１には、図２に示すように、コマンドレジスタ２４、コマンド生成回路２５、及びアドレスデコーダ２６が設けられる。バスインターフェース回路２１は、システムバス６を介して書き込みデータや要求アドレスが入力され、読み出されたデータがバススレーブインターフェース２７を介してシステムバス６に出力される。
【００１８】
アドレスデコーダ２６は、システムバス６を介して入力される要求アドレスを入力し、アドレスをデコード処理する。
【００１９】
コマンド生成回路２５は、システムバス６を介して入力される書き込みデータと、プロセッサ２内部の命令フェッチ要求及びロードストア要求とにより、要求コマンドを生成する。
【００２０】
コマンドレジスタ２４には、アドレスレジスタ４１、サイズレジスタ４２、データレジスタ４３、及びコマンド有効レジスタ４４が設けられる。コマンドレジスタ２４は、コマンド生成回路２５から出力される要求コマンドと、システムバス６を介して入力される書き込みデータとが入力される。
【００２１】
コマンドレジスタ２４は、プロセッサ２がシステムバス６上にリソースを必要とする場合（例えば、外部に対する命令フェッチやロードストア命令の実行などが発行された場合）、そのときに必要な外部リソースのシステムバス６上の（１）メモリアドレス、（２）転送サイズ、（３）それらを転送する先のアドレスを保持する。なお、転送先アドレスをＤＭＡコントローラ３側に設けてもよい。
【００２２】
具体的には、プロセッサ２の内部から命令フェッチ要求が発生した場合、コマンドレジスタ２４のコマンド有効レジスタ４４からＤＭＡ要求コマンドを有する外部リソース要求信号Ｓ１がＤＭＡコントローラ３の転送コマンド生成回路３１に出力される。コマンド有効レジスタ４４と転送コマンド生成回路３１との間には、外部リソース要求信号Ｓ１を直接伝送する信号線が設けられる。そして、外部リソース要求信号Ｓ１によりＤＭＡコントローラ３が動作して、バスマスタ機能を有するＤＭＡコントローラ３により、アドレスレジスタ４１、サイズレジスタ４２、データレジスタ４３、及びアドレスデコーダ２６から読み出されたデータがバススレーブインターフェース２７を介してシステムバス６に出力される。
【００２３】
ＤＭＡコントローラ３は、システムバス６に対してバスマスタ接続されるバスマスタデバイスである。ＤＭＡコントローラ３には、図３に示すように、転送コマンド生成回路３１と転送制御回路３２が設けられる。転送制御回路３２は転送制御を行う。転送コマンド生成回路３１はＤＭＡ要求コマンドを有する外部リソース要求信号Ｓ１が入力され、転送コマンドを生成する。ＤＭＡコントローラ３から出力される信号はバスマスタインターフェース３３を介してシステムバス６に出力される。
【００２４】
転送コマンド生成回路３１には、転送元アドレスレジスタ５１ａ、転送サイズレジスタ５２ａ、転送先アドレスレジスタ５３ａ、及び起動コマンドレジスタ５４ａが設けられる。転送制御回路３２には、転送元アドレスレジスタ５１ｂ、転送サイズレジスタ５２ｂ、転送先アドレスレジスタ５３ｂ、及び起動コマンドレジスタ５４ｂが設けられる。
【００２５】
ＤＭＡコントローラ３は、プロセッサ２から外部リソース要求信号Ｓ１を読み出して、外部リソース要求信号Ｓ１に基づいてプロセッサ２からコマンドを読み出して読み出された情報をＤＭＡコントローラ３上の転送元アドレスレジスタ、転送先アドレスレジスタ、転送サイズレジスタにそれぞれセットし、プロセッサ２からの要求に対応したＤＭＡ転送を実行する。
【００２６】
次に、データ処理装置の動作について図４を参照して説明する。図４はデータ処理装置の動作を示すフローチャートである。ここで、データ処理装置７０の動作とは、例えばシステムバス６上のリソースに対して、命令フェッチ要求が発生した場合のバス転送である。
【００２７】
図４に示すように、まず、システムバス６上のリソースがプロセッサ２に入力されると、プロセッサ２は命令フェッチ要求を発生する。ここで、命令フェッチアドレスが、例えば０ｘ００００００１０番地の場合、命令フェッチのサイズが８バイトとなる。プロセッサ２にマップされたアドレスが０ｘ００００００００番地の場合、バスインターフェース回路２１内部で、転送元アドレスが０ｘ００００００１０、転送サイズが８バイト、転送先アドレスが０ｘ００００００００に変換されてコマンドレジスタ２４に保持される（ステップＳ１）。
【００２８】
次に、命令フェッチ要求作成後、プロセッサ２は、外部に対してバス要求を保持していることを示すためにコマンドレジスタ２４のコマンド有効レジスタ４４に有効であることを書き込む。並行して、外部に対してバス要求を保持していることを示す信号であるＤＭＡ要求コマンドを有する外部リソース要求信号Ｓ１をＤＭＡコントローラ３の転送コマンド生成回路３１に出力する（ステップＳ２）。
【００２９】
続いて、ＤＭＡコントローラ３は、外部リソース要求信号Ｓ１を受信（プロセッサ２から外部リソース要求信号Ｓ１を読み出す）し、プロセッサ２がシステムバス６上のリソースを要求していると判断する。ＤＭＡコントローラ３は、実際のＤＭＡ転送を実行するためにＤＭＡコントローラ３のバスマスタ機能を用いて、システムバス６を介してプロセッサ２の複数のコマンドレジスタにスレーブアクセスを行い、コマンド内容を読み出す。読み出したことをプロセッサ２にアナウンスする（ステップＳ１１）。
【００３０】
そして、プロセッサ２は、ＤＭＡコントローラ３がコマンド内容を読み出したこと認識すると命令フェッチ要求を取り下げる（ステップＳ３）。
【００３１】
次に、ＤＭＡコントローラ３は、読み出した転送内容をＤＭＡ転送コマンドとしてセットする。ここで、転送元アドレスが０ｘ００００００１０、転送サイズが８バイト、転送先アドレスが０ｘ００００００００である（ステップＳ１２）。
【００３２】
続いて、ＤＭＡコントローラ３は、セットされたＤＭＡ転送コマンドに基づいてＤＭＡ転送を実施する（ステップＳ１３）。
【００３３】
そして、プロセッサ２は、ＤＭＡ転送により、希望したデータが転送されるのでプロセッサ２内部のフェッチされたデータとして、命令フェッチ要求元のプロセッサ２内部のユニットに命令として受け渡す（ステップＳ４）。
【００３４】
上記ステップにより、プロセッサ２から外部メモリリソースに対する命令フェッチ動作が完了し、プロセッサ２のバスインターフェース回路２１とＤＭＡコントローラ３は次に要求を待つ状態となる。
【００３５】
データ処理装置７０では、システムバス６に対してスレーブ接続され、比較的回路規模が小さなサブプロセッサであるプロセッサ２に外部のリソースへのアクセス手段を設けている。このアクセス手段によりプロセッサ２を主体的に動作させることが可能となる。ここで言う主体的動作とは、ＣＰＵ１などの手助けを必要としない動作である。
【００３６】
この結果、プログラムを外部の主メモリ４のリソース上に配置し、主メモリ４上の命令を直接実行することができる。システムバス６上にメモリマップされた外部リソースに対してロードストアすることができる。
【００３７】
上述したように、本実施例のデータ処理装置では、ＣＰＵ１、プロセッサ２、ＤＭＡコントローラ３、主メモリ４、インターフェース５、及びシステムバス６が設けられる。プロセッサ２は、システムバス６に対してスレーブ接続されるスレーブデバイスである。プロセッサ２には、バスインターフェース回路２１、データメモリ２２、及び命令メモリ２３が設けられる。バスインターフェース回路２１のコマンド有効レジスタ４４とＤＭＡコントローラ３の転送コマンド生成回路３１とは、信号線で接続され、この信号線を介してＤＭＡ要求コマンドを有する外部リソース要求信号Ｓ１がバスインターフェース回路２１のコマンドレジスタ２４から転送コマンド生成回路３１へ直接伝送される。ＤＭＡコントローラ３は、外部リソース要求信号Ｓ１に基づいて、システムバス６上のリソースとプロセッサ２のバススレーブインターフェース２７の間でＤＭＡ転送制御を行い、プロセッサ２からの要求に対応したＤＭＡ転送を実行する。
【００３８】
このため、スレーブ接続のプロセッサ２は、ＣＰＵ１の手助けがなくても主体的に動作でき、主メモリ４上の命令を直接実行することができる。また、システムバス６上にメモリマップされた外部リソースに対してロードストアすることができる。したがって、ＣＰＵ１の負担を軽減することができる。
【００３９】
なお、本実施例では、システムバス６にバスマスタ接続され、データ処理装置７０全体を統括するＣＰＵ１をバスマスタデバイスとしているが、ＣＰＵ１の代わりにデータ処理装置７０全体を統括制御し、システムバス６にバスマスタ接続されコアプロセッサを設けてもよい。
【実施例２】
【００４０】
次に、本発明の実施例２に係るデータ処理装置について、図面を参照して説明する。図５はデータ処理装置を示すブロック図、図６はプロセッサのバスインターフェース回路を示すブロック図、図７はＤＭＡコントローラを示すブロック図である。本実施例では、ＤＭＡコントローラによりポーリング読み出しが行われる。
【００４１】
以下、実施例１と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００４２】
図５に示すように、データ処理装置７１には、ＣＰＵ１、プロセッサ２ａ、ＤＭＡコントローラ３ａ、主メモリ４、インターフェース５、及びシステムバス６が設けられる。データ処理モジュールとしてのデータ処理装置７１は、例えば、映像情報、音声情報、オーディオ情報などのメディア情報をデータ処理する。
【００４３】
プロセッサ２ａは、システムバス６に対してスレーブ接続されるスレーブデバイスである。プロセッサ２ａには、バスインターフェース回路２１ａ、データメモリ２２、及び命令メモリ２３が設けられる。
【００４４】
バスインターフェース回路２１ａには、図６に示すように、コマンドレジスタ２４ａ、コマンド生成回路２５、及びアドレスデコーダ２６が設けられる。バスインターフェース回路２１ａは、システムバス６を介して書き込みデータや要求アドレスが入力され、読み出されたデータがバススレーブインターフェース２７を介してシステムバス６に出力される。ここで、本実施例では、バスインターフェース回路２１ａのコマンドレジスタ２４ａとＤＭＡコントローラ３ａの転送コマンド生成回路３１ａの間に、実施例１のような直接信号を伝送する信号線が設けられていない。
【００４５】
コマンドレジスタ２４ａは、プロセッサ２ａがシステムバス６上にリソースを必要とする場合（例えば、外部に対する命令フェッチやロードストア命令の実行などが発行された場合）、そのときに必要な外部リソースのシステムバス６上の（１）メモリアドレス、（２）転送サイズ、（３）それらを転送する先のアドレスを保持する。
【００４６】
ＤＭＡコントローラ３ａは、システムバス６に対してバスマスタ接続されるバスマスタデバイスである。ＤＭＡコントローラ３ａは、実施例１の外部リソース要求信号Ｓ１がない場合でも、一定の間隔で、順番にプロセッサ２ａのコマンドレジスタを読み出す（ポーリング読み出し）ことができる。
【００４７】
ＤＭＡコントローラ３ａには、図７に示すように、転送コマンド生成回路３１ａと転送制御回路３２が設けられる。転送コマンド生成回路３１は転送コマンドを生成する。転送制御回路３２は転送制御を行う。ＤＭＡコントローラ３ａから出力される信号は、バスマスタインターフェース３３を介してシステムバス６に出力される。
【００４８】
転送コマンド生成回路３１ａには、転送元アドレスレジスタ５１ａ、転送サイズレジスタ５２ａ、転送先アドレスレジスタ５３ａ、起動コマンドレジスタ５４ａ、及びポーリング読み出し回路５５が設けられる。ポーリング読み出し回路５５は、一定の間隔で、順番にプロセッサ２ａのコマンドレジスタを読み出す（ポーリング読み出し）。
【００４９】
ＤＭＡコントローラ３は、プロセッサ２ａのコマンドレジスタ２４ａにコマンドが書き込まれるまで読み出しを実行し、読み出された情報をＤＭＡコントローラ３ａ上の転送元アドレスレジスタ、転送先アドレスレジスタ、転送サイズレジスタにそれぞれセットし、プロセッサ２ａからの要求に対応したＤＭＡ転送を実行する。
【００５０】
次に、データ処理装置の動作について図８を参照して説明する。図８はデータ処理装置の動作を示すフローチャートである。
【００５１】
図８に示すように、まず、ＤＭＡコントローラ３ａは、プロセッサ２ａのコマンドレジスタ２４ａに所望のコマンドが書かれるまで、一定の間隔で、順番に読み出す（ステップＳ２１）。
【００５２】
次に、システムバス６上のリソースがプロセッサ２ａに入力されると、プロセッサ２は命令フェッチ要求を発生する。ここで、命令フェッチアドレスが、例えば０ｘ００００００１０番地の場合、命令フェッチのサイズが８バイトとなる。プロセッサ２にマップされたアドレスが０ｘ００００００００番地の場合、バスインターフェース回路２１内部で、転送元アドレスが０ｘ００００００１０、転送サイズが８バイト、転送先アドレスが０ｘ００００００００に変換されてコマンドレジスタ２４に保持される（ステップＳ１）。
【００５３】
続いて、命令フェッチ要求作成後、プロセッサ２ａは、命令フェッチ要求情報をコマンドレジスタ２４ａにセットする。この情報は、システムバス６を介してＤＭＡコントローラ３ａに通知される（ステップＳ５）。
【００５４】
そして、ＤＭＡコントローラ３ａは、プロセッサ２ａが要求を保持していることを認識する。ＤＭＡコントローラ３ａは、実際のＤＭＡ転送を実行するためにＤＭＡコントローラ３のバスマスタ機能を用いて、システムバス６を介してコマンド内容を読み出す。（ステップＳ１１）。
【００５５】
次に、ＤＭＡコントローラ３ａは、プロセッサ２ａのコマンドレジスタ２４ａのコマンド内容をクリアする（ステップＳ２２）。
【００５６】
これ以降（ステップＳ１２以降）は、実施例１と同様な手順なので説明を省略する。
【００５７】
データ処理装置７１では、ＤＭＡコントローラ３ａにポーリング読み出し回路５５を設け、一定の間隔で、順番にコマンドレジスタ２４ａを読み出ている。
【００５８】
この結果、比較的回路規模の小さなサブプロセッサであるプロセッサ２ａを主体的に動作させることができる。プログラムを外部の主メモリ４のリソース上に配置し、主メモリ４上の命令を直接実行することができる。システムバス６上にメモリマップされた外部リソースに対してロードストアすることができる。
【００５９】
上述したように、本実施例のデータ処理装置では、ＣＰＵ１、プロセッサ２ａ、ＤＭＡコントローラ３ａ、主メモリ４、インターフェース５、及びシステムバス６が設けられる。プロセッサ２ａは、システムバス６に対してスレーブ接続されるスレーブデバイスである。プロセッサ２ａには、バスインターフェース回路２１ａ、データメモリ２２、及び命令メモリ２３が設けられる。ＤＭＡコントローラ３ａには、一定の間隔で、順番にプロセッサ２ａのコマンドレジスタをポーリング読み出しするポーリング読み出し回路５５が設けられる。ＤＭＡコントローラ３ａは、ポーリング読み出しされた情報に基づいて、システムバス６上のリソースとプロセッサ２ａのバススレーブインターフェース２７の間でＤＭＡ転送制御を行い、プロセッサ２ａからの要求に対応したＤＭＡ転送を実行する。
【００６０】
このため、スレーブ接続のプロセッサ２ａは、ＣＰＵ１の手助けがなくても主体的に動作でき、主メモリ４上の命令を直接実行することができる。また、システムバス６上にメモリマップされた外部リソースに対してロードストアすることができる。したがって、ＣＰＵ１の負担を軽減することができる。
【実施例３】
【００６１】
次に、本発明の実施例３に係るデータ処理装置について、図面を参照して説明する。図９はデータ処理装置を示すブロック図、図１０はＤＭＡコントローラを示すブロック図である。本実施例では、スレーブ接続のプロセッサを複数設けている。
【００６２】
以下、実施例１と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００６３】
データ処理装置７２には、ＣＰＵ１、プロセッサ１１、プロセッサ１２、プロセッサ１３、ＤＭＡコントローラ１４、主メモリ４、インターフェース５、及びシステムバス６が設けられる。データ処理モジュールとしてのデータ処理装置７２は、例えば、映像情報、音声情報、オーディオ情報などのメディア情報をデータ処理する。
【００６４】
プロセッサ１１乃至１３は、システムバス６に対してスレーブ接続されるスレーブデバイスである。プロセッサ１１乃至１３には、実施例１と同様に、それぞれ図示しないデータメモリ及び命令メモリが設けられているがここでは説明を省略する。
【００６５】
プロセッサ１１には、バスインターフェース回路２１１が設けられる。バスインターフェース回路２１１に設けられるコマンドレジスタ２４１の図示しないコマンド有効レジスタとＤＭＡコントローラ１４に設けられる転送コマンド生成回路３１１とは、信号線で接続され、この信号線を介して外部リソース要求信号Ｓ１１がコマンドレジスタ２４１から転送コマンド生成回路３１１へ直接伝送される。
【００６６】
プロセッサ１２には、バスインターフェース回路２１２が設けられる。バスインターフェース回路２１２に設けられるコマンドレジスタ２４２の図示しないコマンド有効レジスタとＤＭＡコントローラ１４に設けられる転送コマンド生成回路３１２とは、信号線で接続され、この信号線を介して外部リソース要求信号Ｓ１２がコマンドレジスタ２４２から転送コマンド生成回路３１２へ直接伝送される。
【００６７】
プロセッサ１３には、バスインターフェース回路２１３が設けられる。バスインターフェース回路２１３に設けられるコマンドレジスタ２４３の図示しないコマンド有効レジスタとＤＭＡコントローラ１４に設けられる転送コマンド生成回路３１３とは、信号線で接続され、この信号線を介して外部リソース要求信号Ｓ１３がコマンドレジスタ２４３から転送コマンド生成回路３１３へ直接伝送される。
【００６８】
ＤＭＡコントローラ１４は、システムバス６に対してバスマスタ接続されるバスマスタデバイスである。ＤＭＡコントローラ１４には、図１０に示すように、転送コマンド生成回路３１１、転送コマンド生成回路３１２、転送コマンド生成回路３１３、及び転送制御回路３２１が設けられる。
【００６９】
転送制御回路３２１は転送制御を行う。転送コマンド生成回路３１１は、プロセッサ１１からＤＭＡ要求コマンドを有する外部リソース要求信号Ｓ１１が入力され、転送コマンドを生成する。転送コマンド生成回路３１２は、プロセッサ１２からＤＭＡ要求コマンドを有する外部リソース要求信号Ｓ１２が入力され、転送コマンドを生成する。転送コマンド生成回路３１３は、プロセッサ１３からＤＭＡ要求コマンドを有する外部リソース要求信号Ｓ１３が入力され、転送コマンドを生成する。
【００７０】
転送制御回路３２１には、転送元アドレスレジスタ５１１ｂ、転送サイズレジスタ５２１ｂ、転送先アドレスレジスタ５３１ｂ、及び起動コマンドレジスタ５４１ｂが設けられる。
【００７１】
転送コマンド生成回路３１１には、転送元アドレスレジスタ５１１ａ、転送サイズレジスタ５２１ａ、転送先アドレスレジスタ５３１ａ、及び起動コマンドレジスタ５４１ａが設けられる。転送コマンド生成回路３１２には、転送元アドレスレジスタ５１２ａ、転送サイズレジスタ５２２ａ、転送先アドレスレジスタ５３２ａ、及び起動コマンドレジスタ５４２ａが設けられる。転送コマンド生成回路３１３には、転送元アドレスレジスタ５１３ａ、転送サイズレジスタ５２３ａ、転送先アドレスレジスタ５３３ａ、及び起動コマンドレジスタ５４３ａが設けられる。
【００７２】
ＤＭＡコントローラ１４は、システムバス６上にプロセッサ１１に対してリソース要求が発生した場合、プロセッサ１１から外部リソース要求信号Ｓ１１を読み出し、外部リソース要求信号Ｓ１１に基づいてプロセッサ１１からコマンドを読み出して読み出された情報をＤＭＡコントローラ１４上の転送元アドレスレジスタ、転送先アドレスレジスタ、転送サイズレジスタにそれぞれセットし、プロセッサ１１からの要求に対応したＤＭＡ転送を実行する。
【００７３】
また、ＤＭＡコントローラ１４は、システムバス６上にプロセッサ１２に対してリソース要求が発生した場合、プロセッサ１２から外部リソース要求信号Ｓ１２を読み出し、外部リソース要求信号Ｓ１２に基づいてプロセッサ１２からコマンドを読み出して読み出された情報をＤＭＡコントローラ１４上の転送元アドレスレジスタ、転送先アドレスレジスタ、転送サイズレジスタにそれぞれセットし、プロセッサ１２からの要求に対応したＤＭＡ転送を実行する。
【００７４】
また、ＤＭＡコントローラ１４は、システムバス６上にプロセッサ１３に対してリソース要求が発生した場合、プロセッサ１３から外部リソース要求信号Ｓ１３を読み出し、外部リソース要求信号Ｓ１３に基づいてプロセッサ１３からコマンドを読み出して読み出された情報をＤＭＡコントローラ１４上の転送元アドレスレジスタ、転送先アドレスレジスタ、転送サイズレジスタにそれぞれセットし、プロセッサ１３からの要求に対応したＤＭＡ転送を実行する。
【００７５】
データ処理装置７２では、システムバス６に対してスレーブ接続され、比較的回路規模が小さなサブプロセッサであるプロセッサ１１乃至１３に外部のリソースへのアクセス手段をそれぞれ設けている。このアクセス手段によりプロセッサ１１乃至１３をそれぞれ主体的に動作させることが可能となる。
【００７６】
この結果、プログラムを外部の主メモリ４のリソース上に配置し、主メモリ４上の命令を直接実行することができる。システムバス６上にメモリマップされた外部リソースに対してロードストアすることができる。
【００７７】
上述したように、本実施例のデータ処理装置では、ＣＰＵ１、プロセッサ１１、プロセッサ１２、プロセッサ１３、ＤＭＡコントローラ１４、主メモリ４、インターフェース５、及びシステムバス６が設けられる。プロセッサ１１乃至１３は、システムバス６に対してスレーブ接続されるスレーブデバイスである。プロセッサ１１に設けられるバスインターフェース回路２１１のコマンド有効レジスタとＤＭＡコントローラ１４の転送コマンド生成回路３１１とは、信号線で接続され、この信号線を介してＤＭＡ要求コマンドを有する外部リソース要求信号Ｓ１１がバスインターフェース回路２１１のコマンドレジスタ２４１から転送コマンド生成回路３１１へ直接伝送される。プロセッサ１２に設けられるバスインターフェース回路２１２のコマンド有効レジスタとＤＭＡコントローラ１４の転送コマンド生成回路３１２とは、信号線で接続され、この信号線を介してＤＭＡ要求コマンドを有する外部リソース要求信号Ｓ１２がバスインターフェース回路２１１のコマンドレジスタ２４２から転送コマンド生成回路３１２へ直接伝送される。プロセッサ１３に設けられるバスインターフェース回路２１３のコマンド有効レジスタとＤＭＡコントローラ１４の転送コマンド生成回路３１３とは、信号線で接続され、この信号線を介してＤＭＡ要求コマンドを有する外部リソース要求信号Ｓ１３がバスインターフェース回路２１３のコマンドレジスタ２４３から転送コマンド生成回路３１３へ直接伝送される。ＤＭＡコントローラ１４は、外部リソース要求信号Ｓ１１に基づいて、システムバス６上のリソースとプロセッサ１１のバススレーブインターフェースの間でＤＭＡ転送制御を行い、プロセッサ１１からの要求に対応したＤＭＡ転送を実行し、外部リソース要求信号Ｓ１２に基づいて、システムバス６上のリソースとプロセッサ１２のバススレーブインターフェースの間でＤＭＡ転送制御を行い、プロセッサ１２からの要求に対応したＤＭＡ転送を実行し、外部リソース要求信号Ｓ１３に基づいて、システムバス６上のリソースとプロセッサ１３のバススレーブインターフェースの間でＤＭＡ転送制御を行い、プロセッサ１３からの要求に対応したＤＭＡ転送を実行する。
【００７８】
このため、スレーブ接続のプロセッサ１１乃至１３は、ＣＰＵ１の手助けがなくても主体的に動作でき、主メモリ４上の命令を直接実行することができる。また、システムバス６上にメモリマップされた外部リソースに対してロードストアすることができる。したがって、ＣＰＵ１の負担を軽減することができる。更に、スレーブ接続のプロセッサが３個あっても、ＤＭＡ転送を実行するＤＭＡコントローラを１個で対応することができ、システムバス６にバスマスタ接続されるバスマスタデバイスの数を削減することができる。
【００７９】
本発明は、上記実施例に限定されるものではなく、発明の趣旨を逸脱しない範囲で、種々、変更してもよい。
【００８０】
例えば、実施例では、アドレスバス、データバス、及び制御バスなど複数のバスをシステムバス６上に設けているが、例えば主バスとローカルバスに分離し、バスマスタデバイスであるＣＰＵ及びＤＭＡコントローラを主バスに接続し、スレーブデバイスであるサブプロセッサ、メモリ、インターフェースなどをローカルバスに接続（ＤＭＡコントローラもローカルバスに接続）させてもよい。また、実施例３では、スレーブ接続されるプロセッサを３個設けているが、これに限定されるものではなく、２個或いは４個以上設けてもよい。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施例１に係るデータ処理装置を示すブロック図。
【図２】本発明の実施例１に係るプロセッサのバスインターフェース回路を示すブロック図。
【図３】本発明の実施例１に係るＤＭＡコントローラを示すブロック図。
【図４】本発明の実施例１に係るデータ処理装置の動作を示すフローチャート。
【図５】本発明の実施例２に係るデータ処理装置を示すブロック図。
【図６】本発明の実施例２に係るプロセッサのバスインターフェース回路を示すブロック図。
【図７】本発明の実施例２に係るＤＭＡコントローラを示すブロック図。
【図８】本発明の実施例２に係るデータ処理装置の動作を示すフローチャート。
【図９】本発明の実施例３に係るデータ処理装置を示すブロック図。
【図１０】本発明の実施例３に係るＤＭＡコントローラを示すブロック図。
【符号の説明】
【００８２】
１  ＣＰＵ
２、２ａ、１１、１２、１３  プロセッサ
３、３ａ、１４  ＤＭＡコントローラ
４  主メモリ
５  インターフェース
６  システムバス
２１、２１ａ、２１１、２１２、２１３  バスインターフェース回路
２２  データメモリ
２３  命令メモリ
２４、２４ａ、２４１、２４２、２４３  コマンドレジスタ
２５  コマンド生成回路
２６  アドレスデコーダ
２７  バススレーブインターフェース
３１、３１ａ、３１１、３１２、３１３  転送コマンド生成回路
３２  転送制御回路
３３  バスマスタインターフェース
４１  アドレスレジスタ
４２  サイズレジスタ
４３  データレジスタ
４４  コマンド有効レジスタ
５１ａ、５１ｂ、５１１ａ、５１１ｂ、５１２ａ、５１３ａ  転送元アドレスレジスタ
５２ａ、５２ｂ、５２１ａ、５２１ｂ、５２２ａ、５２３ａ  転送サイズレジスタ
５３ａ、５３ｂ、５３１ａ、５３１ｂ、５３２ａ、５３３ａ  転送先アドレスレジスタ
５４ａ、５４ｂ、５４１ａ、５４１ｂ、５４２ａ、５４３ａ  起動コマンドレジスタ
５５  ポーリング読み出し回路
７０、７１、７２  データ処理装置
Ｓ１、Ｓ１１、Ｓ１２、Ｓ１３  外部リソース要求信号
【図１】
2009199344.tif 000003
【図２】
2009199344.tif 000004
【図３】
2009199344.tif 000005
【図４】
2009199344.tif 000006
【図５】
2009199344.tif 000007
【図６】
2009199344.tif 000008
【図７】
2009199344.tif 000009
【図８】
2009199344.tif 000010
【図９】
2009199344.tif 000011
【図１０】
2009199344.tif 000012