(57)【要約】【課題】複数のプロセッサとＤＭＡコントローラを有する情報処理装置に関し、複数のプロセッサ間でのＤＭＡコントローラ制御パス使用権の調停を不要にし、ＤＭＡ転送の起動に要する時間の短縮化を図る。【解決手段】セレクタ制御レジスタ２３の格納値＝“０”、セレクタ制御レジスタ２４の格納値＝“１”とする場合には、プロセッサ８は、ＤＭＡコントローラ制御パス１１を利用し、プロセッサ９と競合することなく、セレクタ２１を介してＤＭＡコントローラ・チャネル１３にアクセスすることができ、プロセッサ９は、ＤＭＡコントローラ制御パス１２を利用し、プロセッサ８と競合することなく、セレクタ２２を介してＤＭＡコントローラ・チャネル１４にアクセスすることができる。【選択図】          図１
2006133968.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサと、
複数のチャネルを有するＤＭＡコントローラを有する情報処理装置であって、
前記複数のプロセッサが、競合することなく前記複数のチャネルにアクセスできるアクセス経路を有することを特徴とする情報処理装置。
【請求項２】
前記アクセス経路は、前記複数のプロセッサの各々に専用のＤＭＡコントローラ制御パスと、該ＤＭＡコントローラ制御パスを前記複数のチャネルのいずれかに選択的に接続するセレクタを有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記セレクタのセレクト動作を制御するセレクタ制御レジスタを有し、
前記セレクタ制御レジスタへの書き込みを前記複数のプロセッサ中の特定のプロセッサが行うようにされていることを特徴とする請求項２記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプロセッサとＤＭＡ（direct memory access）コントローラを有する情報処理装置に関する。
【背景技術】
【０００２】
図３は従来の情報処理装置の一例の概念図である。図３に示す従来の情報処理装置は、２個のプロセッサ（プロセッサ・エレメント）を内蔵するマルチプロセッサの例であり、図３中、１、２はプロセッサ、３はＤＭＡコントローラ、４はプロセッサ１、２がＤＭＡコントローラ３を制御するために使用するＤＭＡコントローラ制御パスである。
【０００３】
ＤＭＡコントローラ３において、５はプロセッサ１、２によるＤＭＡコントローラ制御パス４の使用を調停するＤＭＡコントローラ制御パス調停回路、６、７はプロセッサ１又は２の起動制御によりデータのＤＭＡ転送を制御するデータ転送制御部をなすＤＭＡコントローラ・チャネルである。
【０００４】
図４はプロセッサ１がＤＭＡコントローラ３にＤＭＡ転送を指示する場合の動作フローを示す図である。即ち、プロセッサ１がＤＭＡコントローラ３にＤＭＡ転送を指示する場合には、プロセッサ１は、ＤＭＡコントローラ制御パス４の使用可能時に、ＤＭＡコントローラ制御パス４の使用権を獲得し、ＤＭＡコントローラ・チャネル６又は７の起動制御を行うことになる。
【０００５】
そして、プロセッサ１によるＤＭＡコントローラ・チャネル６又は７の起動制御が終了すると、ＤＭＡコントローラ制御パス調停回路５によりＤＭＡコントローラ制御パス４が解放される。プロセッサ２がＤＭＡコントローラ３にＤＭＡ転送を指示する場合も同様である。
【０００６】
図５はプロセッサ１、２によるＤＭＡコントローラ制御パス４の使用が調停される場合の例を示す図である。本例は、プロセッサ１がＤＭＡコントローラ制御パス４の使用権をＤＭＡコントローラ制御パス調停回路５に要求し（Ｓ１）、ＤＭＡコントローラ制御パス４の使用権を獲得し（Ｓ２）、ＤＭＡコントローラ制御パス４を利用する前に、プロセッサ２がＤＭＡコントローラ制御パス４の使用権をＤＭＡコントローラ制御パス調停回路５に要求した（Ｓ３）場合を示している。
【０００７】
この場合には、プロセッサ２によるＤＭＡコントローラ制御パス４の使用権の獲得をＤＭＡコントローラ制御パス４の解放待ちとすることにより（Ｓ５）、プロセッサ１、２間の調停が行われ、プロセッサ１がＤＭＡコントローラ制御パス４を利用した（Ｓ４）後、ＤＭＡコントローラ制御パス４が解放され（Ｓ６）、プロセッサ２は、ＤＭＡコントローラ制御パス４の使用権を獲得し（Ｓ７）、ＤＭＡコントローラ制御パス４を利用することができ（Ｓ８）、その後、ＤＭＡコントローラ制御パス４が解放される（Ｓ９）。
【０００８】
図６はＤＭＡコントローラ３により行われるデータ転送例を示す図である。図６（Ａ）は大量データを一度で転送する場合、図６（Ｂ）は複数の少量データを転送する場合（転送元Ａ１から転送先Ａ２への転送、転送元Ｂ１から転送先Ｂ２への転送、転送先Ｃ１から転送先Ｃ２への転送）を示しており、図６（Ｂ）に示すデータ転送は映像処理や音声処理等のアプリケーション・プログラムにより要求される場合がある。
【特許文献１】特開平６−１４９７４９号公報
【特許文献２】特開昭６３−１２７３６０号公報
【特許文献３】特開平８−２２４４３号公報
【特許文献４】特開昭６１−２８５５６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
例えば、図６（Ｂ）に示すように、複数の少量データを転送する場合には、少量データの転送回数だけＤＭＡコントローラ３の起動制御が必要となり、図６（Ａ）に示すように大量データを一度に転送する場合に比べて、ＤＭＡコントローラ３の起動制御に要する時間の割合が大きくなる。このため、映像処理や音声処理等のアプリケーション・プログラムでは、ＤＭＡコントローラ３の起動制御に要する時間を短くすることが要求される。
【００１０】
しかしながら、図３に示す従来の情報処理装置においては、ＤＭＡコントローラ制御パス４がプロセッサ１、２で共有されており、プロセッサ１、２によるＤＭＡコントローラ制御パス４の使用権の獲得を調停する必要があり、ＤＭＡコントローラ３の起動制御に要する時間が増加するという問題点があった。
【００１１】
本発明は、かかる点に鑑み、複数のプロセッサ間でのＤＭＡコントローラ制御パス使用権の調停を不要にし、ＤＭＡ転送の起動に要する時間の短縮化を図ることができるようにした情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、複数のプロセッサと、複数のチャネルを有するＤＭＡコントローラを有する情報処理装置であって、前記複数のプロセッサが、競合することなく前記複数のチャネルにアクセスできるアクセス経路を有するというものである。
【発明の効果】
【００１３】
本発明によれば、複数のプロセッサが、競合することなくＤＭＡコントローラの複数のチャネルにアクセスできるアクセス経路を有するので、複数のプロセッサ間でのＤＭＡコントローラ制御パス使用権の調停を不要にし、ＤＭＡ転送の起動に要する時間の短縮化を図ることができる。
【発明を実施するための最良の形態】
【００１４】
図１は本発明の一実施形態の概念図である。本発明の一実施形態は、２個のプロセッサ（プロセッサ・エレメント）を内蔵するマルチプロセッサの例であり、図１中、８、９はプロセッサ、１０はＤＭＡコントローラ、１１はプロセッサ８用のＤＭＡコントローラ制御パス、１２はプロセッサ９用のＤＭＡコントローラ制御パスである。
【００１５】
１３、１４はプロセッサ８又はプロセッサ９の起動制御によりデータのＤＭＡ転送を制御するデータ転送制御部をなすＤＭＡコントローラ・チャネルである。１５〜２０は制御レジスタであり、１５、１６はプロセッサ８又はプロセッサ９が起動指示信号を書き込む起動用レジスタ、１７、１８はプロセッサ８又はプロセッサ９がデータ転送元アドレスを書き込む転送元レジスタ、１９、２０はプロセッサ８又はプロセッサ９がデータ転送先アドレスを書き込む転送先レジスタである。
【００１６】
２１はＤＭＡコントローラ制御パス１１又はＤＭＡコントローラ制御パス１２を選択的にＤＭＡコントローラ・チャネル１３に電気的に接続するセレクタ、２２はＤＭＡコントローラ制御パス１１又はＤＭＡコントローラ制御パス１２を選択的にＤＭＡコントローラ・チャネル１４に電気的に接続するセレクタである。
【００１７】
２３はセレクタ２１のセレクト動作を制御するセレクタ制御レジスタであり、セレクタ２１は、セレクタ制御レジスタ２３の格納値＝“０”の場合には、ＤＭＡコントローラ制御パス１１をＤＭＡコントローラ・チャネル１３に接続し、プロセッサ８によるＤＭＡコントローラ・チャネル１３の起動用レジスタ１５、転送元レジスタ１７、転送先レジスタ１９への書き込みを可能とする。
【００１８】
これに対して、セレクタ制御レジスタ２３の格納値＝“１”の場合には、セレクタ２１は、ＤＭＡコントローラ制御パス１２をＤＭＡコントローラ・チャネル１３に接続し、プロセッサ９によるＤＭＡコントローラ・チャネル１３の起動用レジスタ１５、転送元レジスタ１７、転送先レジスタ１９への書き込みを可能とする。本例では、プロセッサ８のみがセレクタ制御レジスタ２３に書き込み可能とされている。
【００１９】
２４はセレクタ２２のセレクト動作を制御するセレクタ制御レジスタであり、セレクタ２２は、セレクタ制御レジスタ２４の格納値＝“０”の場合には、ＤＭＡコントローラ制御パス１１をＤＭＡコントローラ・チャネル１４に接続し、プロセッサ８によるＤＭＡコントローラ・チャネル１４の起動用レジスタ１６、転送元レジスタ１８、転送先レジスタ２０への書き込みを可能とする。
【００２０】
これに対して、セレクタ制御レジスタ２４の格納値＝“１”の場合には、ＤＭＡコントローラ制御パス１２をＤＭＡコントローラ・チャネル１４に接続し、プロセッサ９によるＤＭＡコントローラ・チャネル１４の起動用レジスタ１６、転送元レジスタ１８、転送先レジスタ２０への書き込みを可能とする。本例では、プロセッサ８のみがセレクタ制御レジスタ２４に書き込み可能とされている。
【００２１】
このように構成された本発明の一実施形態においては、セレクタ制御レジスタ２３の格納値＝“０”、セレクタ制御レジスタ２４の格納値＝“１”とする場合には、例えば、図２（Ａ）に示すように、プロセッサ８はＤＭＡコントローラ制御パス１１を利用し（Ｐ１）、プロセッサ９と競合することなく、セレクタ２１を介してＤＭＡコントローラ・チャネル１３にアクセスすることができ、プロセッサ９はＤＭＡコントローラ制御パス１２を利用し（Ｐ２）、プロセッサ８と競合することなく、セレクタ２２を介してＤＭＡコントローラ・チャネル１４にアクセスすることができる。
【００２２】
即ち、この場合には、プロセッサ８は、ＤＭＡコントローラ・チャネル１３の起動用レジスタ１５、転送元レジスタ１７、転送先レジスタ１９に必要な書き込みを行うことにより、ＤＭＡコントローラ・チャネル１３を起動制御することができ、プロセッサ９は、ＤＭＡコントローラ・チャネル１４の起動用レジスタ１６、転送元レジスタ１８、転送先レジスタ２０に必要な書き込みを行うことにより、ＤＭＡコントローラ・チャネル１４を起動制御することができる。
【００２３】
また、セレクタ制御レジスタ２３の格納値＝“１”、セレクタ制御レジスタ２４の格納値＝“０”とする場合には、例えば、図２（Ｂ）に示すように、プロセッサ８はＤＭＡコントローラ制御パス１１を利用し（Ｑ１）、プロセッサ９と競合することなく、セレクタ２２を介してＤＭＡコントローラ・チャネル１４にアクセスすることができ、プロセッサ９はＤＭＡコントローラ制御パス１２を利用し（Ｑ２）、プロセッサ８と競合することなく、セレクタ２１を介してＤＭＡコントローラ・チャネル１３にアクセスすることができる。
【００２４】
即ち、この場合には、プロセッサ８は、ＤＭＡコントローラ・チャネル１４の起動用レジスタ１６、転送元レジスタ１８、転送先レジスタ２０に必要な書き込みを行うことにより、ＤＭＡコントローラ・チャネル１４を起動制御することができ、プロセッサ９は、ＤＭＡコントローラ・チャネル１３の起動用レジスタ１５、転送元レジスタ１７、転送先レジスタ１９に必要な書き込みを行うことにより、ＤＭＡコントローラ・チャネル１３を起動制御することができる。
【００２５】
以上のように、本発明の一実施形態によれば、２個のプロセッサ８、９が、競合することなくＤＭＡコントローラ１０内の２個のＤＭＡコントローラ・チャネル１３、１４の任意のＤＭＡコントローラ・チャネルにアクセスできるアクセス経路を有しているので、２個のプロセッサ８、９間でのＤＭＡコントローラ制御パス使用権の調停を不要にし、ＤＭＡ転送の起動に要する時間の短縮化を図ることができると共に、ＤＭＡコントローラ１０の起動制御以外の他の制御の高速化を図ることができる。
【００２６】
なお、本発明の一実施形態においては、２個のプロセッサ８、９と、２個のＤＭＡコントローラ・チャネル１３、１４を有するＤＭＡコントローラ１０を有する情報処理装置に本発明を適用した場合を例にして説明したが、本発明は、２個以上のプロセッサと、２個以上のＤＭＡコントローラ・チャネルを有するＤＭＡコントローラを有する情報処理装置に適用することができる。
【００２７】
また、特許文献１、２には、複数のプロセッサとＤＭＡコントローラを有する情報処理装置が記載されているが、ＤＭＡコントローラは本発明のように複数のチャネルを有するものではない。特許文献３には、複数のシングルチップマイコンとＤＭＡハンドラを有する情報処理装置が記載されているが、ＤＭＡハンドラは本発明のように複数のチャネルを有するものではない。特許文献４には、複数のチャネルを有するＤＭＡチャネルが記載されているが、複数のプロセッサが、競合することなく複数のチャネルにアクセスできるアクセス経路については記載されていない。したがって、本発明の構成は特許文献１〜４により示唆されるものではない。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態の概念図である。
【図２】本発明の一実施形態の動作例を示す図である。
【図３】従来の情報処理装置の一例の概念図である。
【図４】図３に示す従来の情報処理装置において、プロセッサがＤＭＡコントローラにＤＭＡ転送を指示する場合の動作フローを示す図である。
【図５】図３に示す従来の情報処理装置において、２個のプロセッサによるＤＭＡコントローラ制御パスの使用が調停される場合の例を示す図である。
【図６】図３に示す従来の情報処理装置が備えるＤＭＡコントローラにより行われるデータ転送例を示す図である。
【符号の説明】
【００２９】
１、２、８、９…プロセッサ
３、１０…ＤＭＡコントローラ
４、１１、１２…ＤＭＡコントローラ制御パス
５…ＤＭＡコントローラ制御パス調停回路
６、７、１３、１４…ＤＭＡコントローラ・チャネル
１５、１６…起動用レジスタ
１７、１８…転送元レジスタ
１９、２０…転送先レジスタ
２１、２２…セレクタ
２３、２４…セレクタ制御レジスタ
【図１】
2006133968.tif 000003
【図２】
2006133968.tif 000004
【図３】
2006133968.tif 000005
【図４】
2006133968.tif 000006
【図５】
2006133968.tif 000007
【図６】
2006133968.tif 000008