(57)【要約】【課題】並列にＤＭＡ処理を行え、かつ回路規模の増加を抑制できる情報処理装置を提供する。【解決手段】本発明に係る情報処理装置は、ＣＰＵ１０２及びＣＰＵ１０３からの設定に応じてダイレクトメモリアクセスを行う情報処理装置１０１であって、ＣＰＵ１０２により第１データ転送動作が設定される設定レジスタ１１０と、ＣＰＵ１０３により第２データ転送動作が設定される設定レジスタ１１１と、第１データ転送動作及び第２データ転送動作を行うＤＭＡコントローラ１１２とを備え、ＤＭＡコントローラ１１２は、第１データ転送動作と第２データ転送動作とが競合した場合、第１データ転送動作と第２データ転送動作とを時分割に行う。【選択図】図１
2009104529.tif 000002
【特許請求の範囲】
【請求項１】
第１ＣＰＵ及び第２ＣＰＵからの設定に応じてダイレクトメモリアクセスを行う情報処理装置であって、
前記第１ＣＰＵにより第１データ転送動作が設定される第１設定レジスタと、
前記第２ＣＰＵにより第２データ転送動作が設定される第２設定レジスタと、
前記第１データ転送動作及び前記第２データ転送動作を行うＤＭＡコントローラとを備え、
前記ＤＭＡコントローラは、前記第１データ転送動作と前記第２データ転送動作とが競合した場合、前記第１データ転送動作と前記第２データ転送動作とを予め定められた時間の割合で時分割に行う
ことを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、さらに、
前記第１ＣＰＵ及び前記第２ＣＰＵの少なくとも一方により、前記時間の割合が設定される第３設定レジスタを備え、
前記ＤＭＡコントローラは、前記第１転送動作と前記第２データ転送動作とが競合した場合、前記第１データ転送動作と、前記第２データ転送動作とを前記第３設定レジスタに設定された時間の割合で時分割に行う
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記ＤＭＡコントローラは、
前記第１データ転送動作及び前記第２データ転送動作のうち一方を選択するレジスタ選択部と、
前記レジスタ選択部により選択された前記第１データ転送動作又は前記第２データ転送動作が行われるように、データ転送に用いられるバスを制御するバス制御部とを備え、
前記レジスタ選択部は、前記第１データ転送動作と前記第２データ転送動作とが競合した場合、前記第１データ転送動作と前記第２データ転送動作とを前記時間の割合で交互に選択する
ことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記第１データ転送動作に必要な転送速度は、前記第２データ転送動作に必要な転送速度より速く、
前記時分の割合において、前記第１データ転送動作に割り当てられる時間は、前記第２データ転送動作に割り当てられる時間より長い
ことを特徴とする請求項１、２又は３記載の情報処理装置。
【請求項５】
音声付の動画像を撮影し記録する音声付動画記録装置であって、
第１ＣＰＵと、
第２ＣＰＵと、
メモリと、
当該音声付動画記録装置に着脱可能な記録媒体と、
前記第１ＣＰＵ及び前記第２ＣＰＵからの設定に応じてダイレクトメモリアクセスを行う情報処理装置と、
被写体像を撮像しアナログ撮像信号を生成する撮像素子と、
前記アナログ撮像信号をデジタル撮像信号に変換するアナログフロントエンドと、
前記デジタル撮像信号を圧縮することで、画像圧縮符号データに変換する画像圧縮処理部と、
外部からの音を集音してアナログ音声信号に変換する集音マイクと、
前記アナログ音声信号をデジタル音声信号に変換する音声処理部とを備え、
前記音声処理部は、
前記デジタル音声信号を格納するバッファを備え、
前記情報処理装置は、
前記第１ＣＰＵにより第１データ転送動作が設定される第１設定レジスタと、
前記第２ＣＰＵにより第２データ転送動作が設定される第２設定レジスタと、
前記第１データ転送動作及び前記第２データ転送動作を行うＤＭＡコントローラとを備え、
前記ＤＭＡコントローラは、前記第１データ転送動作と前記第２データ転送動作とが競合した場合、前記第１データ転送動作と前記第２データ転送動作とを予め定められた時間の割合で時分割に行い、
前記第２ＣＰＵは、前記第２設定レジスタに前記第１データ転送動作として前記バッファから前記メモリへの前記デジタル音声信号のデータ転送動作を設定し、
前記第２ＣＰＵは、前記メモリに格納された前記デジタル音声信号を圧縮することで音声圧縮符号データに変換した後、前記メモリに格納し、
前記第１ＣＰＵは、前記第１設定レジスタに前記第２データ転送動作として前記メモリから前記記録媒体への前記画像圧縮符号データ及び前記音声圧縮符号データの転送動作を設定し、
前記ＤＭＡコントローラは、前記メモリから前記記録媒体へのデータ転送動作と、前記バッファから前記メモリへのデータ転送動作が競合した場合、前記メモリから前記記録媒体へのデータ転送動作が行われる時間の割合が、前記バッファから前記メモリへのデータ転送動作が行われる時間の割合よりも高くなるように、時分割でデータ転送を行う
ことを特徴とする音声付動画記録装置。
【請求項６】
第１ＣＰＵ及び第２ＣＰＵからの設定に応じてダイレクトメモリアクセスを行い、前記第１ＣＰＵにより第１データ転送動作が設定される第１設定レジスタと、前記第２ＣＰＵにより第２データ転送動作が設定される第２設定レジスタとを備える情報処理装置における情報処理方法であって、
前記第１データ転送動作と前記第２データ転送動作とが競合した場合、前記第１データ転送動作と前記第２データ転送動作とを予め定められた時間の割合で時分割に行う
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、音声付動画記録装置及び情報処理方法に関し、特に、複数のＣＰＵからの設定に応じてダイレクトメモリアクセスを行う情報処理装置に関する。
【背景技術】
【０００２】
近年、ＡＶ機器は高機能化が進み、それに伴い、ＡＶ機器の機能を管理するＣＰＵを複数備える情報処理装置が実現されている。このような情報処理装置では、機能毎の処理を各ＣＰＵに分割して処理させることで、高機能化及び高速化が実現される。
【０００３】
また、処理の高速化、及びＣＰＵの処理量低減を目的に、情報処理装置は、ダイレクトメモリアクセス（以下、ＤＭＡと記す。）機能を有する。情報処理装置は、ＤＭＡを実行するＤＭＡコントローラを備えることにより、ＣＰＵに負荷をかけずにデータを転送できる。
【０００４】
ＤＭＡでは、転送元アドレス、転送先アドレス、データ転送数、及び起動トリガ選択をＤＭＡコントローラに設定する必要がある。
【０００５】
しかしながら、複数のＣＰＵを備えるシステムの場合、ＤＭＡ設定の重複を避ける必要がある。
【０００６】
従来の情報処理装置では、ＤＭＡ設定の重複を避けるために以下の２つの方法が用いられている。
【０００７】
第１の方法では、各ＣＰＵは互いに何らかの方法で通信することで、他のＣＰＵのＤＭＡ利用状況を把握する。各ＣＰＵは、ＤＭＡリソースをシェアリングすることによって、ＤＭＡを管理する。例えば、レジスタを用いることで、ＣＰＵがＤＭＡステータスを把握する技術が知られている（例えば、特許文献１参照。）。
【０００８】
第２の方法は、各ＣＰＵそれぞれに独立したＤＭＡ機能を設けることで、ＤＭＡリソースのシェアリング自体を不要にする方法である。例えば、バス選択レジスタを用いることで、バス自体を分割して、ＣＰＵによる設定の重複をさける技術が知られている（例えば、特許文献２参照。）。
【特許文献１】特開平８−１１５２９９号公報
【特許文献２】特開２００６−１３３９６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、第１の方法では、ＣＰＵは、互いのＤＭＡ利用情報を把握する必要があるので、起動までの時間が遅れることが予想される。つまり、第１の方法は、高速なＤＭＡが要求される場合に適さない。
【００１０】
具体的には、特許文献１記載の技術では、設定の重複はさけられるが、その間設定できなかったＣＰＵはＤＭＡ処理が終了するまで待たされる。つまり、特許文献１記載の情報処理装置は、各ＣＰＵからのＤＭＡへの要求を並列に処理できない。よって、待たされているＣＰＵが設定しようとしているＤＭＡ処理が、高速なデータ転送を必要としていた場合、システムが破綻する恐れがある。このため、待たされる時間を考慮したソフト設計を行う必要があるので、ソフトが複雑化する恐れがある。
【００１１】
また、第２の方法では、設定の重複もなく、かつ並列なＤＭＡ処理も行うことが出来るので、システム的には一番良い。具体的には、特許文献２記載の情報処理装置では、レジスタを用いることで、設定するバスを分割する。これにより、特許文献２記載の情報処理装置は、ＤＭＡ設定の重複を避けられる。また、特許文献２記載の情報処理装置は、各ＣＰＵのＤＭＡ処理の要求を並列に処理できる。しかしながら、このシステム思想では、今後ＣＰＵの搭載数が増加するとともに同時に必要となるＤＭＡ機能も増加し、回路規模が増加するというデメリットがある。
【００１２】
つまり、従来の情報処理装置は、並列にＤＭＡ処理を行うことと、回路規模の増加の抑制とを両立できないという問題がある。
【００１３】
そこで、本発明は、並列にＤＭＡ処理を行え、かつ回路規模の増加を抑制できる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明に係る情報処理装置は、第１ＣＰＵ及び第２ＣＰＵからの設定に応じてダイレクトメモリアクセスを行う情報処理装置であって、前記第１ＣＰＵにより第１データ転送動作が設定される第１設定レジスタと、前記第２ＣＰＵにより第２データ転送動作が設定される第２設定レジスタと、前記第１データ転送動作及び前記第２データ転送動作を行うＤＭＡコントローラとを備え、前記ＤＭＡコントローラは、前記第１データ転送動作と前記第２データ転送動作とが競合した場合、前記第１データ転送動作と前記第２データ転送動作とを予め定められた時間の割合で時分割に行う。
【００１５】
この構成によれば、本発明に係る情報処理装置は、第１ＣＰＵ及び第２ＣＰＵから設定されたデータ転送を１つのＤＭＡコントローラにより行うことができる。よって、本発明に係る情報処理装置は、回路規模の増加を抑制できる。
【００１６】
さらに、本発明に係る情報処理装置は、第１ＣＰＵと第２ＣＰＵとが同時にＤＭＡ機能を使用する場合には、ＤＭＡ機能を第１設定レジスタ及び第２設定レジスタに設定された転送動作でシェアリングしながら並列に処理できる。これにより、第１ＣＰＵ及び第２ＣＰＵは、ＤＭＡのリソースを管理する必要がないので、第１ＣＰＵ及び第２ＣＰＵの処理量を低減できる。
【００１７】
また、前記情報処理装置は、さらに、前記第１ＣＰＵ及び前記第２ＣＰＵの少なくとも一方により、前記時間の割合が設定される第３設定レジスタを備え、前記ＤＭＡコントローラは、前記第１転送動作と前記第２データ転送動作とが競合した場合、前記第１データ転送動作と、前記第２データ転送動作とを前記第３設定レジスタに設定された時間の割合で時分割に行ってもよい。
【００１８】
この構成によれば、シェアリングの割合を変更できるので１つのＤＭＡコントローラで、第１ＣＰＵ及び第２ＣＰＵからのＤＭＡ設定の様々な要求転送速度に対応できる。
【００１９】
また、前記ＤＭＡコントローラは、前記第１データ転送動作及び前記第２データ転送動作のうち一方を選択するレジスタ選択部と、前記レジスタ選択部により選択された前記第１データ転送動作又は前記第２データ転送動作が行われるように、データ転送に用いられるバスを制御するバス制御部とを備え、前記レジスタ選択部は、前記第１データ転送動作と前記第２データ転送動作とが競合した場合、前記第１データ転送動作と前記第２データ転送動作とを前記時間の割合で交互に選択してもよい。
【００２０】
この構成によれば、本発明に係る情報処理装置は、レジスタ選択部により第１設定レジスタ及び第２設定レジスタに設定されたデータ転送動作のいずれかを選択することで、単一のバス制御部により２つの転送動作をシェアリングしながら並列に処理できる。
【００２１】
また、前記第１データ転送動作に必要な転送速度は、前記第２データ転送動作に必要な転送速度より速く、前記時分の割合において、前記第１データ転送動作に割り当てられる時間は、前記第２データ転送動作に割り当てられる時間より長くてもよい。
【００２２】
この構成によれば、シェアリングする割合を第１ＣＰＵ及び第２ＣＰＵによるＤＭＡ設定の要求転送速度に最適化することで、第１ＣＰＵ及び第２ＣＰＵにより設定させたＤＭＡ設定の２つのデータ転送を、要求転送速度を満たしながら並列に処理できる。例えば、第１ＣＰＵ及び第２ＣＰＵのＤＭＡ設定のうちどちらかに、高速な転送速度が必要な場合、低速な転送要求と組み合わせシェアリングすることで、要求転送速度を満たしながら２つのデータ転送を並列に処理できる。
【００２３】
また、本発明に係る音声付動画記録装置は、音声付の動画像を撮影し記録する音声付動画記録装置であって、第１ＣＰＵと、第２ＣＰＵと、メモリと、当該音声付動画記録装置に着脱可能な記録媒体と、前記第１ＣＰＵ及び前記第２ＣＰＵからの設定に応じてダイレクトメモリアクセスを行う情報処理装置と、被写体像を撮像しアナログ撮像信号を生成する撮像素子と、前記アナログ撮像信号をデジタル撮像信号に変換するアナログフロントエンドと、前記デジタル撮像信号を圧縮することで、画像圧縮符号データに変換する画像圧縮処理部と、外部からの音を集音してアナログ音声信号に変換する集音マイクと、前記アナログ音声信号をデジタル音声信号に変換する音声処理部とを備え、前記音声処理部は、前記デジタル音声信号を格納するバッファを備え、前記情報処理装置は、前記第１ＣＰＵにより第１データ転送動作が設定される第１設定レジスタと、前記第２ＣＰＵにより第２データ転送動作が設定される第２設定レジスタと、前記第１データ転送動作及び前記第２データ転送動作を行うＤＭＡコントローラとを備え、前記ＤＭＡコントローラは、前記第１データ転送動作と前記第２データ転送動作とが競合した場合、前記第１データ転送動作と前記第２データ転送動作とを予め定められた時間の割合で時分割に行い、前記第２ＣＰＵは、前記第２設定レジスタに前記第１データ転送動作として前記バッファから前記メモリへの前記デジタル音声信号のデータ転送動作を設定し、前記第２ＣＰＵは、前記メモリに格納された前記デジタル音声信号を圧縮することで音声圧縮符号データに変換した後、前記メモリに格納し、前記第１ＣＰＵは、前記第１設定レジスタに前記第２データ転送動作として前記メモリから前記記録媒体への前記画像圧縮符号データ及び前記音声圧縮符号データの転送動作を設定し、前記ＤＭＡコントローラは、前記メモリから前記記録媒体へのデータ転送動作と、前記バッファから前記メモリへのデータ転送動作が競合した場合、前記メモリから前記記録媒体へのデータ転送動作が行われる時間の割合が、前記バッファから前記メモリへのデータ転送動作が行われる時間の割合よりも高くなるように、時分割でデータ転送を行う。
【００２４】
この構成によれば、本発明に係る音声付動画記録装置は、第１ＣＰＵ及び第２ＣＰＵから設定されたデータ転送を１つのＤＭＡコントローラにより行うことができる。
【００２５】
さらに、本発明に係る音声付動画記録装置は、メモリから記録媒体へのデータ転送と、音声処理部が備えるバッファからメモリへのデータ転送とが同時に発生した場合には、ＤＭＡ機能を第１設定レジスタ及び第２設定レジスタに設定された転送動作でシェアリングしながら並列に処理できる。これにより、第１ＣＰＵ及び第２ＣＰＵは、ＤＭＡのリソースを管理する必要がないので、第１ＣＰＵ及び第２ＣＰＵの処理量を低減できる。
【００２６】
さらに、本発明に係る音声付動画記録装置は、メモリから記録媒体へのデータ転送の時間の割合を、音声処理部が備えるバッファからメモリへのデータ転送の時間の割合よりも高くすることで、高速なデータ転送が要求されるメモリから記録媒体へのデータ転送を高速に行える。
【００２７】
また、本発明に係る情報処理方法は、第１ＣＰＵ及び第２ＣＰＵからの設定に応じてダイレクトメモリアクセスを行い、前記第１ＣＰＵにより第１データ転送動作が設定される第１設定レジスタと、前記第２ＣＰＵにより第２データ転送動作が設定される第２設定レジスタとを備える情報処理装置における情報処理方法であって、前記第１データ転送動作と前記第２データ転送動作とが競合した場合、前記第１データ転送動作と前記第２データ転送動作とを予め定められた時間の割合で時分割に行う。
【００２８】
これによれば、本発明に係る情報処理方法は、第１ＣＰＵ及び第２ＣＰＵから設定されたデータ転送を１つのＤＭＡコントローラにより行うことができる。よって、本発明に係る情報処理方法は、回路規模の増加を抑制できる。
【００２９】
さらに、本発明に係る情報処理方法は、第１ＣＰＵと第２ＣＰＵとが同時にＤＭＡ機能を使用する場合には、ＤＭＡ機能を第１設定レジスタ及び第２設定レジスタに設定された転送動作でシェアリングしながら並列に処理できる。これにより、第１ＣＰＵ及び第２ＣＰＵは、ＤＭＡのリソースを管理する必要がないので、第１ＣＰＵ及び第２ＣＰＵの処理量を低減できる。
【００３０】
なお、本発明は、このような情報処理装置及び情報処理方法として実現できるだけでなく、情報処理方法に含まれる特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体及びインターネット等の伝送媒体を介して流通させることができるのは言うまでもない。
【発明の効果】
【００３１】
以上より、本発明は、並列にＤＭＡ処理を行え、かつ回路規模の増加を抑制できる情報処理装置を提供できる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明に係る情報処理装置の実施の形態について、図面を参照しながら詳細に説明する。なお、以下で説明する実施の形態はあくまで一例であり、後述する実施の形態２及び実施の形態３を含め、様々な改変を行うことが可能である。
【００３３】
（実施の形態１）
本発明の実施の形態１に係る情報処理装置は、２つのＣＰＵからのＤＭＡ設定に基づきＤＭＡ転送を行う。また、本発明の実施の形態１に係る情報処理装置は、２つのＣＰＵからのＤＭＡ転送が同時に発生した場合には、転送をシェアリングすることで並列にＤＭＡ転送を行う。
【００３４】
まず、本発明の実施の形態１に係る情報処理装置の構成を説明する。
図１は、本発明の実施の形態１に係る情報処理装置を備える情報処理システムの構成を示す図である。
【００３５】
図１に示す情報処理システム１００において、転送をシェアリングする割合は固定されている。情報処理システム１００は、情報処理装置１０１と、ＣＰＵ１０２及び１０３と、ターゲット１０４、１０５、１０６及び１０７と、データ転送バス１０８とを備える。
【００３６】
情報処理装置１０１は、ＣＰＵ１０２及び１０３からの設定に応じてＤＭＡ転送を行う。
【００３７】
ＣＰＵ１０２及び１０３は、情報処理装置１０１に対して、ＤＭＡ転送設定を行う。
ターゲット１０４、１０５、１０６及び１０７は、情報処理装置１０１によりＤＭＡ転送が行われる際の、転送元及び転送先となるＲＡＭ及びＩ／Ｏデバイス等である。
【００３８】
情報処理装置１０１は、設定レジスタ１１０及び１１１と、ＤＭＡコントローラ１１２とを備える。
【００３９】
設定レジスタ１１０は、ＣＰＵ１０２によりデータ転送動作が設定される、ＣＰＵ１０２用のＤＭＡ転送設定レジスタである。設定レジスタ１１０は、ＣＰＵ１０２からのアクセスのみを受け入れ、ＣＰＵ１０２により設定された設定情報１２０を格納する。設定情報１２０は、転送元アドレス情報、転送先アドレス情報、転送データサイズ情報、及び転送起動要因情報を含む。
【００４０】
転送元アドレス情報は、ＤＭＡ転送におけるデータ転送元の機器のアドレスを示す情報である。転送先アドレス情報は、ＤＭＡ転送におけるデータ転送先の機器のアドレスを示す情報である。転送データサイズ情報は、ＤＭＡ転送されるデータのデータサイズを示す情報である。転送起動要因情報は、ＤＭＡ転送を開始するトリガを示す情報である。
【００４１】
設定レジスタ１１１は、ＣＰＵ１０３によりデータ転送動作が設定される、ＣＰＵ１０３用のＤＭＡ転送設定レジスタである。設定レジスタ１１１は、ＣＰＵ１０３からのアクセスのみを受け入れ、ＣＰＵ１０３により設定された設定情報１２１を格納する。設定情報１２１は、転送元アドレス情報、転送先アドレス情報、転送データサイズ情報、及び転送起動要因情報を含む。
【００４２】
ＤＭＡコントローラ１１２は、設定レジスタ１１０及び１１１に設定された設定情報１２０及び１２１に基づきＤＭＡ転送を行う。具体的には、ＤＭＡコントローラ１１２は、設定情報１２０又は１２１に含まれる転送元アドレス情報に示されるターゲット１０４〜１０７から、転送先アドレス情報に示されるターゲット１０４〜１０７へ、転送データサイズ情報に示されるデータサイズ分のデータを転送する。また、ＤＭＡコントローラ１１２は、設定情報１２０又は１２１に含まれる転送起動要因情報に示される起動要因（トリガ）が生じたタイミングでデータ転送を開始する。
【００４３】
ＤＭＡコントローラ１１２は、設定情報１２０に含まれる転送データサイズ情報に対応するデータサイズ分のデータ転送が終了した時に、転送終了信号１２２をＣＰＵ１０２に出力する。ＤＭＡコントローラ１１２は、設定情報１２１に含まれる転送データサイズ情報に対応するデータサイズ分のデータ転送が終了した時に、転送終了信号１２３をＣＰＵ１０３に出力する。
【００４４】
また、ＤＭＡコントローラ１１２は、設定レジスタ１１０及び１１１に設定されたデータ転送が競合した場合には、設定レジスタ１１０に設定されたデータ転送と、設定レジスタ１１１に設定されたデータ転送とを１：１の時間の割合でシェアリングしながら時分割に行う。
【００４５】
データ転送バス１０８は、ＤＭＡコントローラ１１２とターゲット１０４〜１０７との間のデータ転送に用いられるＤＭＡデータ転送バスである。
【００４６】
次に、ＤＭＡコントローラ１１２の詳細な構成を説明する。
図２は、ＤＭＡコントローラ１１２の構成を示す図である。
【００４７】
図２に示すように、ＤＭＡコントローラ１１２は、起動要因検出回路１３０と、論理積回路１３１と、ＤＭＡ選択回路１３２と、レジスタ選択回路１３３と、バスコントローラ１３４とを備える。
【００４８】
設定レジスタ１１０は、設定情報１２０を示す設定情報信号１４０を出力する。設定レジスタ１１１は、設定情報１２１を示す設定情報信号１４１を出力する。
【００４９】
起動要因検出回路１３０は、設定情報信号１４０及び１４１に含まれる転送起動要因情報に該当する起動要因を検出する。起動要因検出回路１３０は、設定情報信号１４０に含まれる起動要因情報に該当する起動要因を検出した場合にアクティブ（Ｈ）となるＤＭＡ状態信号１４２を生成する。また、起動要因検出回路１３０は、設定情報信号１４１に含まれる起動要因情報に該当する起動要因を検出した場合にアクティブ（Ｈ）となるＤＭＡ状態信号１４３を生成する。
【００５０】
論理積回路１３１は、ＤＭＡ状態信号１４２及び１４３が共にアクティブ（Ｈ）の場合に、アクティブ（Ｈ）となり、ＤＭＡ状態信号１４２及び１４３の少なくとも一方が非アクティブ（Ｌ）の場合に、非アクティブ（Ｌ）となる動作状態信号１４４を生成する。
【００５１】
ＤＭＡ選択回路１３２は、動作状態信号１４４がアクティブ（Ｈ）のときに、設定情報１２０と設定情報１２１とのいずれかを選択する。具体的には、ＤＭＡ選択回路１３２は、設定情報１２０と設定情報１２１とを、時間的に１：１の割合で交互に選択する。
【００５２】
ＤＭＡ選択回路１３２は、設定情報１２０と設定情報１２１とのいずれを選択したかを示すＤＭＡ選択情報信号１４５を生成する。ＤＭＡ選択情報信号１４５は、ＣＰＵ１０２によるＤＭＡ設定である設定情報１２０が選択された場合には「Ｈ」であり、ＣＰＵ１０３によるＤＭＡ設定である設定情報１２１が選択された場合には「Ｌ」である。
【００５３】
レジスタ選択回路１３３は、ＤＭＡ状態信号１４２及び１４３と、動作状態信号１４４と、ＤＭＡ選択情報信号１４５とに基づき、設定情報信号１４０及び１４１のどちらの情報を選択するかを決定する。
【００５４】
具体的には、レジスタ選択回路１３３は、動作状態信号１４４が非アクティブ（Ｌ）の場合には、ＤＭＡ状態信号１４２及び１４３に応じて、設定情報信号１４０又は１４１を選択する。レジスタ選択回路１３３は、ＤＭＡ状態信号１４２がアクティブ（Ｈ）の場合には設定情報信号１４０を選択し、ＤＭＡ状態信号１４３がアクティブ（Ｈ）の場合には設定情報信号１４１を選択する。
【００５５】
また、レジスタ選択回路１３３は、動作状態信号１４４がアクティブ（Ｈ）の場合には、ＤＭＡ選択情報信号１４５の論理に応じて、設定情報信号１４０又は１４１を選択する。レジスタ選択回路１３３は、ＤＭＡ選択情報信号１４５が「Ｈ」の場合には設定情報信号１４０を選択し、ＤＭＡ選択情報信号１４５が「Ｌ」の場合には設定情報信号１４１を選択する。
【００５６】
レジスタ選択回路１３３は、設定情報信号１４０及び１４１のうちいずれを選択するかを示す選択レジスタ情報信号１４６を生成する。
【００５７】
バスコントローラ１３４は、選択レジスタ情報信号１４６に基づき、ＤＭＡ転送するためのバスの制御を行う。つまり、バスコントローラ１３４は、レジスタ選択回路１３３により選択された設定情報信号１４０又は１４１に示されるデータ転送動作が行われるように、データ転送バス１０８を制御する。バスコントローラ１３４は、転送元のターゲットから転送先のターゲットへデータ転送するたびに、選択レジスタ情報信号１４６を確認し、転送制御を行う。バスコントローラ１３４は、自身の動作状態を示す、バスコントローラ状態信号１４７を生成する。
【００５８】
ＤＭＡ選択回路１３２は、動作状態信号１４４がアクティブ（Ｈ）のときに、バスコントローラ状態信号１４７を参照し、現在行われている設定情報１２０又は１２１のデータ転送と異なる設定情報１２０又は１２１を選択することで、設定情報１２０と設定情報１２１とを交互に選択する。
【００５９】
次に、情報処理装置１０１の動作を説明する。
図３は、情報処理装置１０１の動作の流れを示すフローチャートである。
【００６０】
まず、基本的なＤＭＡコントローラ１１２の動作、つまりＣＰＵ１０２、又はＣＰＵ１０３のどちらかのみが、ＤＭＡ転送設定を行った場合について説明する。ここでは、ＣＰＵ１０２によりＤＭＡ転送設定が行われた場合について、説明する。
【００６１】
ＤＭＡコントローラ１１２は、ＣＰＵ１０２により設定レジスタ１１０に設定情報１２０が設定された後に、設定された設定情報１２０に含まれる転送起動要因情報に示される起動要因を検出する（Ｓ１０１）。起動要因が発生すると（Ｓ１０１でＹｅｓ）、ＤＭＡコントローラ１１２は、ＤＭＡ転送を開始する（Ｓ１０２）。
【００６２】
ＤＭＡコントローラ１１２は、ＤＭＡ転送動作を開始すると、設定情報１２０に含まれる転送元アドレスを発行して、転送元アドレスに割り当てられているターゲットからデータを読み出す。次に、ＤＭＡコントローラ１１２は、転送先アドレスを発行して、転送先アドレスに割り当てられているターゲットに対して、読み出したデータを転送する。
【００６３】
ＤＭＡコントローラ１１２は、この一連の流れを繰り返し、設定されている転送データサイズを転送し終えると（Ｓ１０４でＹｅｓ）、転送終了信号１２２を出力して、動作を終了する。
【００６４】
なお、ＣＰＵ１０３によりＤＭＡ転送設定が行われる場合の動作も同様である。
次に、図４を用いて、ＣＰＵ１０２及び１０３の両方がＤＭＡ転送設定を行った場合について説明する。
【００６５】
図４は、情報処理装置１０１の動作の一例を示す図である。
図４に示す起動要因１５０は、ＣＰＵ１０２により設定された設定情報１２０に含まれる転送起動要因情報に示される起動要因を示す。起動要因１５１は、ＣＰＵ１０３により設定された設定情報１２１に含まれる転送起動要因情報に示される起動要因を示す。起動要因１５０及び１５１が「Ｈ」の場合、該起動要因が発生したことを示す。
【００６６】
ＤＭＡ状態信号１４２は、ＤＭＡコントローラ１１２が、設定情報１２０を元に動作しているかどうかを表す。ＤＭＡ状態信号１４２は、設定情報１２０に含まれる起動要因情報に示される起動要因が発生してから、転送終了信号１２２が出力されまでの期間でアクティブ（Ｈ）となり、それ以外の期間でアイドル状態（Ｌ）となる。
【００６７】
ＤＭＡ状態信号１４３は、ＤＭＡコントローラ１１２が、設定情報１２１を元に動作しているかどうかを表す。ＤＭＡ状態信号１４３は、設定情報１２１に含まれる起動要因情報に示される起動要因が発生してから、転送終了信号１２３が出力されまでの期間でアクティブ（Ｈ）となり、それ以外の期間でアイドル状態（Ｌ）となる。
【００６８】
本実施例においては、設定情報１２０に含まれる転送元アドレス情報には、ターゲット１０４のアドレスが設定されており、転送先アドレス情報にはターゲット１０５のアドレスが設定されているとする。また、設定情報１２１に含まれる転送元アドレス情報には、ターゲット１０６のアドレスが設定されており、転送先アドレス情報にはターゲット１０７のアドレスが設定されているとする。
【００６９】
（転送期間Ｔ１の動作）
転送期間Ｔ１では、ＤＭＡコントローラ１１２は、設定情報１２０のみを元に動作する。時刻ｔ０において、起動要因１５０が発生し、ＤＭＡ状態信号１４２がアクティブになる。また、ＤＭＡ状態信号１４３はアイドル状態である。
【００７０】
この場合、ＤＭＡコントローラ１１２は、ターゲット１０４からターゲット１０５へのデータ転送のみを行う。よって、ＤＭＡコントローラ１１２は、転送能力を最大限に発揮している。
【００７１】
以下に、情報処理装置１０１による転送期間Ｔ１の詳細な動作を説明する。
まず、起動要因検出回路１３０は、設定情報信号１４０及び１４１に含まれる起動要因情報に示される起動要因１５０及び１５１を検出する（Ｓ１０１）。時刻ｔ０で起動要因１５０が発生すると（Ｓ１０１でＹｅｓ）、起動要因検出回路１３０は、ＤＭＡ状態信号１４２をアクティブ（Ｈ）にする。
【００７２】
また、起動要因検出回路１３０は起動要因１５１が発生していないので、ＤＭＡ状態信号１４３を「Ｌ」とする。論理積回路１３１は、ＤＭＡ状態信号１４２が「Ｈ」であり、ＤＭＡ状態信号１４３が「Ｌ」なので、動作状態信号１４４を「Ｌ」にする。
【００７３】
レジスタ選択回路１３３は、動作状態信号１４４が「Ｌ」であり、かつＤＭＡ状態信号１４２及び１４３のうちＤＭＡ状態信号１４２のみがアクティブ（Ｈ）なので、設定情報１２０のみが有効と判断する。レジスタ選択回路１３３は、設定情報信号１４０を選択して、選択レジスタ情報信号１４６として、バスコントローラ１３４に出力する。
【００７４】
バスコントローラ１３４は、選択レジスタ情報信号１４６を参照することで、設定情報１２０に基づきＤＭＡ転送動作を行う。すなわち、バスコントローラ１３４は、ターゲット１０４からターゲット１０５へのＤＭＡ転送のみを行う（Ｓ１０２）。
【００７５】
転送期間Ｔ１においては、起動要因１５１は検出されず（Ｓ１０３でＮｏ）、かつ設定情報１２０に含まれる転送データサイズ情報に示されるデータサイズ分のデータ転送が終了しない（Ｓ１０４でＮｏ）。これにより、選択レジスタ情報信号１４６は変化しないので、バスコントローラ１３４は、ターゲット１０４からターゲット１０５への転送を繰り返す（Ｓ１０２）。
【００７６】
（転送期間Ｔ２の動作）
ＤＭＡ状態信号１４２がアクティブ中の時刻ｔ１で起動要因１５１が発生する。これにより、転送期間Ｔ２では、ＤＭＡ状態信号１４２及び１４３が両方ともアクティブとなる。
【００７７】
この場合、ＤＭＡコントローラ１１２は、ターゲット１０４からターゲット１０５への転送と、ターゲット１０６からターゲット１０７への転送をシェアリングしながら時分割に行う。本実施例では、ＣＰＵ１０２からのＤＭＡ転送設定とＣＰＵ１０３からのＤＭＡ転送設定とのシェアリングの割合は１：１に固定されているので、ＤＭＡコントローラ１１２は、ターゲット１０４からターゲット１０５へのデータ転送とターゲット１０６からターゲット１０７への転送を交互に行う。
【００７８】
以下に、情報処理装置１０１による転送期間Ｔ２の詳細な動作を説明する。
時刻ｔ１で起動要因１５１が発生すると（Ｓ１０３でＹｅｓ）、起動要因検出回路１３０はＤＭＡ状態信号１４３をアクティブ（Ｈ）にする。
【００７９】
このとき、ＤＭＡ状態信号１４２もアクティブ（Ｈ）なので、論理積回路１３１は、動作状態信号１４４をアクティブ（Ｈ）にする。
【００８０】
ＤＭＡ選択回路１３２は、動作状態信号１４４がアクティブ（Ｈ）のときに動作を行い、バスコントローラ状態信号１４７に応じて、次の転送元ターゲットにアクセスするまえに、ＣＰＵ１０２によるＤＭＡ設定とＣＰＵ１０３によるＤＭＡ設定とのどちらを選択するかを決定する。ＤＭＡ選択回路１３２は、ＣＰＵ１０２でのＤＭＡ設定が選択された場合は「Ｌ」、ＣＰＵ１０３でのＤＭＡ設定が選択された場合は「Ｈ」をＤＭＡ選択情報信号１４５に反映させる。
【００８１】
本実施例では、ＣＰＵ１０２からのＤＭＡ転送設定とＣＰＵ１０３からのＤＭＡ転送設定とのシェアリングの割合は１：１に固定されているので、ＤＭＡ選択回路１３２は、ＣＰＵ１０２によるＤＭＡ設定とＣＰＵ１０３によるＤＭＡ設定とを交互に選択する。
【００８２】
つまり、ＤＭＡ選択回路１３２は、ＤＭＡ選択情報信号１４５を「Ｌ、Ｈ、Ｌ、Ｈ・・・」と交互に変化させる。
【００８３】
レジスタ選択回路１３３は、動作状態信号１４４がアクティブ（Ｈ）なので、ＤＭＡ選択情報信号１４５を参照し、設定情報信号１４０と設定情報信号１４１とのどちらかを選択する。
【００８４】
具体的には、レジスタ選択回路１３３は、ＤＭＡ選択情報信号１４５が「Ｌ」の場合は、設定情報信号１４０を選択し、ＤＭＡ選択情報信号１４５が「Ｈ」の場合は、設定情報信号１４１を選択して、選択レジスタ情報信号１４６として、バスコントローラ１３４に出力する。
【００８５】
ＤＭＡ選択情報信号１４５は、「Ｌ、Ｈ、Ｌ、Ｈ・・・」と交互に変化するので、レジスタ選択回路１３３は、選択レジスタ情報信号１４６を同様に「Ｌ、Ｈ、Ｌ、Ｈ・・・」と変化させる。つまり、レジスタ選択回路１３３は、ＣＰＵ１０２によるＤＭＡ設定とＣＰＵ１０３によるＤＭＡ設定とが競合した場合、ＣＰＵ１０２によるＤＭＡ設定とＣＰＵ１０３によるＤＭＡ設定とを１：１の時間の割合で交互に選択する。
【００８６】
バスコントローラ１３４は、選択レジスタ情報信号１４６に従い、設定情報１２０及び１２１に設定された転送動作を時分割に交互に行う（Ｓ１０５）。
【００８７】
転送期間Ｔ２において、設定情報１２０及び１２１に含まれる転送データサイズ情報に対応するデータサイズ分のデータ転送が終了しないので（Ｓ１０６でＮｏ）、バスコントローラ１３４はターゲット１０４からターゲット１０５への転送とターゲット１０６からターゲット１０７への転送を交互に繰り返す（Ｓ１０５）。
【００８８】
（転送期間Ｔ３の動作）
時刻ｔ２で、設定情報１２０に含まれる転送データサイズ情報に示されるデータサイズ分のデータ転送が完了する。ＤＭＡコントローラ１１２は、転送終了信号１２２を発生し、ＤＭＡ状態信号１４２がアイドル状態となる。よって、転送期間Ｔ３では、ＤＭＡコントローラ１１２は、設定情報１２１のみを元に転送動作を行う。
【００８９】
この場合、ＤＭＡコントローラ１１２はターゲット１０６からターゲット１０７へのデータ転送のみしか行わないので、ＤＭＡコントローラ１１２の転送能力を最大限に発揮している。
【００９０】
以下に、情報処理装置１０１による転送期間Ｔ３の詳細な動作を説明する。
時刻ｔ２で設定情報１２０に含まれる転送データサイズ情報に示されるデータサイズ分のデータ転送が完了する（Ｓ１０６でＹｅｓ）。ＤＭＡコントローラ１１２は、転送終了信号１２２を発生する。また、起動要因検出回路１３０はＤＭＡ状態信号１４２を「Ｌ」にネゲートする。また、ＤＭＡ状態信号１４２が「Ｌ」なので、論理積回路１３１は、動作状態信号１４４を「Ｌ」にする。
【００９１】
レジスタ選択回路１３３は、動作状態信号１４４が「Ｌ」であり、かつＤＭＡ状態信号１４２及び１４３のうちＤＭＡ状態信号１４３のみがアクティブ（Ｈ）なので、設定情報１２１のみが有効と判断する。レジスタ選択回路１３３は、設定情報信号１４１を選択して、選択レジスタ情報信号１４６として、バスコントローラ１３４に出力する。
【００９２】
バスコントローラ１３４は、選択レジスタ情報信号１４６を参照することで、設定情報１２１に基づきＤＭＡ転送動作を行う。すなわち、バスコントローラ１３４は、ターゲット１０６からターゲット１０７へのＤＭＡ転送のみを行う（Ｓ１０２）。
【００９３】
転送期間Ｔ３において、起動要因１５１は検出されず（Ｓ１０３でＮｏ）、設定情報１２０に含まれる転送データサイズ情報に対応するデータサイズ分のデータ転送が終了しない（Ｓ１０４でＮｏ）。よって、選択レジスタ情報信号１４６は変化しないので、バスコントローラ１３４は、ターゲット１０６からターゲット１０７への転送を繰り返す（Ｓ１０２）。
【００９４】
時刻ｔ３で設定情報１２１に含まれる転送データサイズ情報に示されるデータサイズ分のデータ転送が完了する（Ｓ１０４でＹｅｓ）。ＤＭＡコントローラ１１２は、転送終了信号１２３を発生する。また、ＤＭＡ状態信号１４３がアイドル状態となる。
【００９５】
なお、本実施の形態におけるＤＭＡコントローラ１１２において、ＣＰＵ１０２からのＤＭＡ転送設定とＣＰＵ１０３からのＤＭＡ転送設定を１：１の割合でシェアリングするように固定してあるが、シェアリングする割合はどのように固定してもよい。
【００９６】
以上より、本発明に係る情報処理装置１０１は、ＣＰＵ１０２及び１０３から設定されたデータ転送を１つのＤＭＡコントローラ１１２により行うことができる。よって、情報処理装置１０１は、ＣＰＵの搭載数が増加した場合の回路規模の増加を抑制できる。
【００９７】
さらに、情報処理装置１０１は、ＣＰＵ１０２と１０３とが同時にＤＭＡ機能を使用する場合には、ＤＭＡ機能を設定レジスタ１１０及び１１１に設定された転送動作でシェアリングしながら並列に処理できる。これにより、ＣＰＵ１０２及び１０３は、ＤＭＡのリソースを管理する必要がないので、ＣＰＵの処理量を低減できる。つまり、ＣＰＵ１０２及び１０３はそれぞれ、ＤＭＡ機能のリソース状況を気にせずに、擬似的ではあるが、単独でＤＭＡ機能を使用することができる。
【００９８】
なお、情報処理装置１０１において、両方のＤＭＡ設定が同時に動作した場合は、ＣＰＵ１０２及びＣＰＵ１０３が使用するＤＭＡ機能は、転送速度がシェアリングされるので半分のスピードになる。
【００９９】
ここで、ＤＭＡは、転送元から転送先までを高速に転送できるという効果のほかに、一旦、起動要因が発生すれば、自動的に転送元から転送先まで設定したデータサイズ分だけデータ転送を行う。よって、ＣＰＵは、ＤＭＡの転送終了信号を割り込みとして認識するようにすれば、ＤＭＡの転送中は他の処理ができる。これにより、ＣＰＵの処理量を削減できるという効果もある。
【０１００】
よって、高速な転送が必要な場合はもとより、低速なデータ転送が必要な場合にも、ＣＰＵの処理負荷を削減するために、ＤＭＡ機能を用いることがある。
【０１０１】
また、ＤＭＡは、動作周波数の増加に伴い、転送スピードも飛躍的にアップしている。よって、低速なデータ転送を行う際はＤＭＡの転送能力をすべて使用しているわけではない。
【０１０２】
また、ＡＶ機器等が備える従来の情報処理装置では、高速なデータ転送を必要とする機能と、低速でもかまわないデータ転送を必要とする機能が入り混じっているなか、効率的にＤＭＡ機能を用いているわけではない。
【０１０３】
すなわち、本発明に係る情報処理装置１０１は、転送速度が半分になることを予想して、ある程度転送スピードを求めない、つまり転送速度が半分になっても影響のないデータ転送を組み合わせて用いることが望ましい。
【０１０４】
しかしながら、高速な転送速度が求められる場合もあり、速度が半分になってしまうと成り立たない場合もある。この場合、システム的に用途が決まっているならば、適したシェアリングの割合で固定すればよい。例えばシェアリングの割合を７：３にするなどして、ある程度転送スピードを求めるものと、ある程度転送スピードを求めないものとの組み合わせで用いるような場面が想定される。
【０１０５】
つまり、設定レジスタ１１０に設定されるデータ転送動作に必要な転送速度が、設定レジスタ１１１に設定されるデータ転送動作に必要な転送速度より速い場合には、シェアリングの割合において、設定レジスタ１１０に設定されるデータ転送動作に割り当てられる時間を、設定レジスタ１１１に設定されるデータ転送動作に割り当てられる時間より長くすればよい。このように、情報処理装置１０１は、シェアリングする割合をＣＰＵ１０２及び１０３によるＤＭＡ設定の要求転送速度に最適化することで、要求転送速度を満たしながら２つのデータ転送を並列に処理できる。
【０１０６】
このように、本発明に係る情報処理装置１０１は、特に、高速なデータ転送を必要とする機能と、低速でもかまわないデータ転送を必要とする機能が入り混じっているシステムにおいて、有効性を発揮する。さらに、情報処理装置１０１は、ＣＰＵ間の通信によるＤＭＡのリソース管理を必要とせず、各ＣＰＵのＤＭＡ要求処理を並列に処理できる。
【０１０７】
（実施の形態２）
本発明の実施の形態２に係る情報処理装置は、実施の形態１に係る情報処理装置の構成に加えて、さらに、ＤＭＡ転送をシェアリングする割合を設定可能とする構成を有する。
【０１０８】
まず、実施の形態２に係る情報処理装置の構成を説明する。
図５は、本発明の実施の形態２に係る情報処理装置を備える情報処理システムの構成を示す図である。なお、図１と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１０９】
図５に示す情報処理システム２００は、情報処理装置２０１と、ＣＰＵ１０２及び１０３と、ターゲット１０４、１０５、１０６及び１０７と、データ転送バス１０８とを備える。
【０１１０】
情報処理装置２０１は、ＣＰＵ１０２及び１０３からの設定に応じてＤＭＡ転送を行う。情報処理装置２０１は、設定レジスタ１１０及び１１１と、ＤＭＡコントローラ２１２と、シェアリング設定レジスタ２１３とを備える。
【０１１１】
シェアリング設定レジスタ２１３は、シェアリング情報２２３を格納する。シェアリング情報２２３は、同時に２つのＤＭＡ転送を行う場合の、ＤＭＡコントローラ２１２によるシェアリングの割合を示す情報である。シェアリング設定レジスタ２１３は、ＣＰＵ１０２のみからアクセス可能であり、シェアリング情報２２３は、ＣＰＵ１０２により設定される。
【０１１２】
ＤＭＡコントローラ２１２は、設定レジスタ１１０及び１１１に設定されたデータ転送が競合した場合には、設定レジスタ１１０に設定されたデータ転送と、設定レジスタ１１１に設定されたデータ転送とをシェアリング情報２２３に示される割合でシェアリングしながら時分割に行う。
【０１１３】
なお、本実施例では、シェアリング設定レジスタ２１３はＣＰＵ１０２のみからアクセス可能であるが、ＣＰＵ１０３のみからアクセス可能でもよいし、ＣＰＵ１０２及び１０３の両方からアクセス可能であってもよい。
【０１１４】
次に、ＤＭＡコントローラ２１２の詳細な構成を説明する。
図６は、ＤＭＡコントローラ２１２の構成を示す図である。
【０１１５】
図６に示すように、ＤＭＡコントローラ２１２は、起動要因検出回路１３０と、論理積回路１３１と、ＤＭＡ選択回路２３２と、レジスタ選択回路１３３と、バスコントローラ１３４とを備える。なお、図２と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【０１１６】
ＤＭＡ選択回路２３２は、動作状態信号１４４がアクティブ（Ｈ）のときに、設定情報１２０と設定情報１２１とのいずれかを選択する。具体的には、ＤＭＡ選択回路１３２は、設定情報１２０と設定情報１２１とを、シェアリング情報２２３に示されるシェアリングの時間的な割合で選択する。ＤＭＡ選択回路１３２は、設定情報１２０と設定情報１２１とのいずれを選択したかを示すＤＭＡ選択情報信号１４５を生成する。
【０１１７】
次に、情報処理装置２０１の動作を説明する。なお、実施の形態１と同様の動作については、説明を省略する。また、情報処理装置２０１の処理の流れは図３と同様である。
【０１１８】
図７を用いて、ＣＰＵ１０２及び１０３の両方がＤＭＡ転送設定を行った場合について説明する。
【０１１９】
図７は、情報処理装置２０１の動作を示す図である。なお、図４と同様の要素には同一の符号を付している。また、転送期間Ｔ１及びＴ３における情報処理装置２０１の動作は、実施の形態１と同様であり説明は省略する。
【０１２０】
図７に示す動作例では、ＣＰＵ１０２によって、シェアリング設定レジスタ２１３に、ＣＰＵ１０２からのＤＭＡ転送設定とＣＰＵ１０３からのＤＭＡ転送設定とを７：３の割合でシェアリングすることを示すシェアリング情報２２３が設定されているとする。
【０１２１】
（転送期間Ｔ２の動作）
ＤＭＡ状態信号１４２がアクティブ中の時刻ｔ１で起動要因１５１が発生する。これにより、転送期間Ｔ２では、ＤＭＡ状態信号１４２及び１４３が両方ともアクティブとなる。
【０１２２】
この場合、ＤＭＡコントローラ１１２は、ターゲット１０４からターゲット１０５への転送と、ターゲット１０６からターゲット１０７への転送をシェアリングしながら時分割でＤＭＡ転送を行う。本実施例では、情報処理装置２０１は、ＣＰＵ１０２からのＤＭＡ転送設定とＣＰＵ１０３からのＤＭＡ転送設定とを７：３の割合でシェアリングしながら転送を行う。つまり、ターゲット間の転送１０回のうち、ターゲット１０４からターゲット１０５へのデータ転送が７回であり、ターゲット１０６からターゲット１０７への転送が３回である。
【０１２３】
以下に、情報処理装置２０１による転送期間Ｔ２の詳細な動作を説明する。
時刻ｔ１で起動要因１５１が発生すると（Ｓ１０３でＹｅｓ）、起動要因検出回路１３０はＤＭＡ状態信号１４３をアクティブ（Ｈ）にする。
【０１２４】
このとき、ＤＭＡ状態信号１４２もアクティブ（Ｈ）なので、論理積回路１３１は、動作状態信号１４４をアクティブ（Ｈ）にする。
【０１２５】
ＤＭＡ選択回路１３２は、動作状態信号１４４がアクティブ（Ｈ）のときに動作を行い、バスコントローラ状態信号１４７に応じて、次の転送元ターゲットにアクセスするまえに、ＣＰＵ１０２によるＤＭＡ設定とＣＰＵ１０３によるＤＭＡ設定とのどちらを選択するかを決定する。ＤＭＡ選択回路１３２は、ＣＰＵ１０２でのＤＭＡ設定が選択された場合は「Ｌ」、ＣＰＵ１０３でのＤＭＡ設定が選択された場合は「Ｈ」をＤＭＡ選択情報信号１４５に反映させる。
【０１２６】
本実施例では、シェアリング情報２２３に、ＣＰＵ１０２からのＤＭＡ転送設定とＣＰＵ１０３からのＤＭＡ転送設定とを７：３の割合でシェアリングするように設定されているので、ＤＭＡ選択回路２３２は、ＣＰＵ１０２によるＤＭＡ設定とＣＰＵ１０３によるＤＭＡ設定とを７：３の割合で選択する。
【０１２７】
本実施例ではＤＭＡ選択回路２３２は、１０回のアクセスを１単位とし、各単位でＤＭＡ選択情報信号１４５を「Ｌ、Ｌ、Ｈ、Ｌ、Ｌ、Ｈ、Ｌ、Ｌ、Ｈ、Ｌ」と変化させる。ＤＭＡ選択回路２３２は、上記変化を繰り返すＤＭＡ選択情報信号１４５を生成する。
【０１２８】
レジスタ選択回路１３３は、動作状態信号１４４がアクティブ（Ｈ）なので、ＤＭＡ選択情報信号１４５を参照し、設定情報信号１４０と設定情報信号１４１とのどちらかを選択する。
【０１２９】
具体的には、レジスタ選択回路１３３は、ＤＭＡ選択情報信号１４５が「Ｌ」の場合は、設定情報信号１４０を選択し、ＤＭＡ選択情報信号１４５が「Ｈ」の場合は、設定情報信号１４１を選択して、選択レジスタ情報信号１４６として、バスコントローラ１３４に出力する。
【０１３０】
ＤＭＡ選択情報信号１４５は、「Ｌ、Ｌ、Ｈ、Ｌ、Ｌ、Ｈ、Ｌ、Ｌ、Ｈ、Ｌ」という１０回のアクセスを一単位とし、それが繰り返される。
【０１３１】
レジスタ選択回路１３３は、選択レジスタ情報信号１４６を同様に「Ｌ、Ｌ、Ｈ、Ｌ、Ｌ、Ｈ、Ｌ、Ｌ、Ｈ、Ｌ」と変化させる。つまり、レジスタ選択回路１３３は、ＣＰＵ１０２によるＤＭＡ設定とＣＰＵ１０３によるＤＭＡ設定とが競合した場合、ＣＰＵ１０２によるＤＭＡ設定とＣＰＵ１０３によるＤＭＡ設定とを７：３の時間の割合で交互に選択する。
【０１３２】
バスコントローラ１３４は、選択レジスタ情報信号１４６に従い、設定情報１２０及び１２１に設定された転送動作を時分割に７：３の割合で行う（Ｓ１０５）。
【０１３３】
転送期間Ｔ２において、設定情報１２０及び１２１に含まれる転送データサイズ情報に対応するデータサイズ分のデータ転送が終了しないので（Ｓ１０６でＮｏ）、バスコントローラ１３４はターゲット１０４からターゲット１０５への転送とターゲット１０６からターゲット１０７への転送を７：３の割合で繰り返す（Ｓ１０５）。
【０１３４】
以上より、本発明の実施の形態２に係る情報処理装置２０１は、上述した実施の形態１に係る情報処理装置１０１と同様に、ＣＰＵ１０２及び１０３から設定されたデータ転送を１つのＤＭＡコントローラ１１２により行うことができる。よって、情報処理装置２０１は、ＣＰＵの搭載数が増加した場合の回路規模の増加を抑制できる。
【０１３５】
さらに、情報処理装置２０１は、ＣＰＵ１０２と１０３とが同時にＤＭＡ機能を使用する場合には、ＤＭＡ機能を設定レジスタ１１０及び１１１に設定された転送動作でシェアリングしながら並列に処理できる。これにより、ＣＰＵ１０２及び１０３は、ＤＭＡのリソースを管理する必要がないので、ＣＰＵの処理量を低減できる。つまり、ＣＰＵ１０２及び１０３はそれぞれ、ＤＭＡ機能のリソース状況を気にせずに、擬似的ではあるが、単独でＤＭＡ機能を使用することができる。
【０１３６】
さらに、上述した実施の形態１に係る情報処理装置１０１の機能に加え、情報処理装置２０１は、ＣＰＵ１０２が使用するＤＭＡ機能とＣＰＵ１０３が使用するＤＭＡ機能との転送スピードの割合を変更することができる。これにより、情報処理装置２０１は、システム的な自由度を向上できる。
【０１３７】
例えば、ある時は、スピードの割合を５：５と半分にして、ある程度転送スピードを求めない、つまり転送速度が半分になっても影響のない転送の組み合わせで用い、またあるときはスピードの割合を７：３にするなどして、ある程度転送スピードを求めるものと、ある程度転送スピードを求めないものとの組み合わせで用いるような場面が想定される。
【０１３８】
つまり、設定レジスタ１１０に設定されるデータ転送動作に必要な転送速度が、設定レジスタ１１１に設定されるデータ転送動作に必要な転送速度より速い場合には、シェアリング設定レジスタ２１３に設定されるシェアリングの割合において、設定レジスタ１１０に設定されるデータ転送動作に割り当てられる時間を、設定レジスタ１１１に設定されるデータ転送動作に割り当てられる時間より長くすればよい。このように、情報処理装置２０１は、シェアリングする割合をＣＰＵ１０２及び１０３によるＤＭＡ設定の要求転送速度に最適化することで、要求転送速度を満たしながら並列に処理できる。
【０１３９】
（実施の形態３）
本発明の実施の形態３では、上述した情報処理装置１０１を用いた撮像装置について説明する。
【０１４０】
まず、本発明の実施の形態３に係る撮像装置の構成を説明する。
図８は、本発明の実施の形態３に係る撮像装置の構成を示す図である。
【０１４１】
図８に示す撮像装置３００は、音声付の動画像を撮影し記録する音声付動画記録装置である。例えば、撮像装置３００は、デジタルビデオカメラ、デジタルカメラ、又は携帯電話機器等である。また、撮像装置３００は、静止画撮影モードと、動画撮影モードとを切り替えて使用できる。
【０１４２】
撮像装置３００は、情報処理装置１０１と、ＣＰＵ１０２及び１０３と、撮像素子３０１と、アナログフロントエンド（ＡＦＥ）３０２と、画像処理部３０３と、メモリ３０４と、画像圧縮処理部３０５と、集音マイク３０６と、音声処理部３０７と、メモリーカードＩ／Ｆ３０８と、メモリーカード３０９とを備える。
【０１４３】
撮像素子３０１は、被写体像を撮像し、アナログ撮像信号（画像データ）を生成する。
ＡＦＥ３０２は、撮像素子３０１により生成されたアナログ撮像信号をデジタル撮像信号に変換する。
【０１４４】
画像処理部３０３は、ＡＦＥ３０２により変換されたデジタル撮像信号を、輝度信号及び色差信号を含むＹＣ画像データに変換する。
【０１４５】
メモリ３０４は、各処理部のワークメモリとして機能する。具体的には、メモリ３０４は、画像処理部３０３において変換されたＹＣ画像データ、及び後述するデジタル音声信号、画像圧縮符号データ、及び音声圧縮符号データ等を一時的に格納する記憶部である。
【０１４６】
画像圧縮処理部３０５は、画像処理部３０３において変換されたＹＣ画像データを圧縮することで、画像圧縮符号データに変換する。
【０１４７】
集音マイク３０６は、外部からの音を集音してアナログ音声信号に変換する。
音声処理部３０７は、集音マイク３０６により変換されたアナログ音声信号を一定間隔でサンプリングすることで、デジタル音声信号に変換する。音声処理部３０７は、バッファ３１０を備える。音声処理部３０７は、変換したデジタル音声信号を、バッファ３１０に格納した後に、デジタル音声変換終了信号を出力する。
【０１４８】
情報処理装置１０１は、上述した実施の形態１に係る情報処理装置１０１であり、ＣＰＵ１０２及び１０３からの設定に応じてＤＭＡを行う。
【０１４９】
メモリーカードＩ／Ｆ３０８は、撮像装置３００に着脱可能なメモリーカード３０９へのアクセスを行う入出力インターフェースである。
【０１５０】
メモリーカード３０９は、画像圧縮符号データ、及び後述する音声圧縮符号データを格納する撮像装置３００に着脱可能な記録媒体である。
【０１５１】
ＣＰＵ１０３は、主に撮像装置３００の音声制御を行う。ＣＰＵ１０３は、音声データの取り込み制御からデジタル音声信号を圧縮して、音声圧縮符号データに変換する制御を行う。具体的には、ＣＰＵ１０３は、設定レジスタ１１１に音声処理部３０７が備えるバッファ３１０からメモリ３０４へのデジタル音声信号のデータ転送動作を設定する。また、ＣＰＵ１０３は、メモリ３０４に格納されたデジタル音声信号を圧縮することで音声圧縮符号データに変換した後、再度メモリ３０４に格納する。
【０１５２】
ＣＰＵ１０２は、主に撮像装置３００の全体的な制御を行うＣＰＵである。また、ＣＰＵ１０２は、メモリ３０４に格納される画像圧縮符号データと音声圧縮符号データとを結合し音声画像圧縮符号データを生成した後、再度メモリ３０４に格納する。また、ＣＰＵ１０２は、設定レジスタ１１０にメモリ３０４からメモリーカード３０９への音声画像圧縮符号データの転送動作を設定する。
【０１５３】
また、ＤＭＡコントローラ１１２は、メモリ３０４からメモリーカード３０９へのデータ転送と、バッファ３１０からメモリ３０４へのデータ転送とが競合した場合、メモリ３０４からメモリーカード３０９へのデータ転送が行われる時間の割合が、バッファ３１０からメモリ３０４へのデータ転送が行われる時間の割合よりも高くなるように、時分割でデータ転送を行う。
【０１５４】
次に、撮像装置３００の動作を説明する。
以下、静止画撮影モードと、動画撮影モードとの２つのモードにおける撮像装置３００の動作を説明する。
【０１５５】
（静止画撮影モード）
静止画撮影モードにおいて、ユーザーがシャッタ等を押すと、ＣＰＵ１０２は各処理部に対して静止画撮影の動作を指示する。
【０１５６】
まず、撮像素子３０１は被写体を撮像し、静止画の画像データを生成する。撮像素子３０１によって撮影された画像データは、ＡＦＥ３０２によりデジタル撮像信号に変換される。画像処理部３０３は、変換されたデジタル撮像信号を静止画に適した画像処理を施した後、ＹＣ画像データに変換する。変換されたＹＣ画像データは、メモリ３０４に格納される。
【０１５７】
画像圧縮処理部３０５は、メモリ３０４に格納されたＹＣ画像データを画像圧縮符号データに変換した後、再度メモリ３０４に格納する。
【０１５８】
ＣＰＵ１０２は、メモリ３０４に格納された画像圧縮符号データに対して、ヘッダ情報等を付加して形式的な画像圧縮符号データを形成する。
【０１５９】
情報処理装置１０１は、情報処理装置１０１を用いて、ヘッダ情報等が付加された画像圧縮符号データをメモリーカードＩ／Ｆ３０８を介して、メモリーカード３０９に転送する。
【０１６０】
具体的には、ＣＰＵ１０２は、情報処理装置１０１の設定レジスタ１１０に、転送元アドレス情報としてメモリ３０４に格納されている画像圧縮符号データの先頭が格納されているアドレスを設定し、転送先アドレス情報としてメモリーカードＩ／Ｆ３０８を設定し、転送データサイズ情報として、画像圧縮符号データのデータサイズを設定した上で、情報処理装置１０１の起動を行う。
【０１６１】
情報処理装置１０１は、ＣＰＵ１０２からの設定のみしか行われていないので、単独的にＣＰＵ１０２からの設定でデータ転送を行い、情報処理装置１０１が有する転送能力を最大限発揮して、メモリ３０４に格納さている画像圧縮符号データをメモリーカードＩ／Ｆ３０８を介してメモリーカード３０９に高速に転送する。
【０１６２】
設定レジスタ１１０に設定された転送サイズ分のデータ転送が終了すると、情報処理装置１０１は転送終了信号１２２を発生する。ＣＰＵ１０２は転送終了信号１２２を受け取った後、静止画撮影モードを終了する。
【０１６３】
（動画撮影モード）
動画撮影モードにおいて、ユーザーがシャッタ等を押すと、ＣＰＵ１０２は各処理部に対して動画撮影による動作を指示する。
【０１６４】
まず、撮像素子３０１は、被写体を撮像し、動画の画像データを生成する。撮像素子３０１によって撮影された画像データは、ＡＦＥ３０２によりデジタル撮像信号に変換される。画像処理部３０３は、変換されたデジタル撮像信号を動画に適した画像処理を施した後、ＹＣ画像データに変換する。変換されたＹＣ画像データは、メモリ３０４に格納される。
【０１６５】
上記処理と平行して、ＣＰＵ１０３は音声取り込み処理を行う。
まず、集音マイク３０６は音声を取り込み、アナログ音声信号を生成する。音声処理部３０７は、集音マイク３０６によって取り込まれたアナログ音声信号を、一定間隔でサンプリングすることで、デジタル音声信号に変換する。音声処理部３０７は、変換したデジタル音声信号を当該音声処理部３０７が備えるバッファ３１０に一時的に格納する。バッファ３１０に格納されたデジタル音声信号は、メモリ３０４に転送される。
【０１６６】
本実施例では、ＣＰＵ１０３は、情報処理装置１０１を使用して、デジタル音声信号をメモリ３０４に転送し、格納する。
【０１６７】
具体的には、ＣＰＵ１０３は、情報処理装置１０１の設定レジスタ１１１に、転送元アドレス情報として音声処理部３０７のアドレスを設定し、転送先アドレス情報としてメモリ３０４内のデジタル音声信号を格納する最初のアドレスを設定する。
【０１６８】
また、ＣＰＵ１０３は、転送起動要因情報としてデジタル音声変換終了信号を設定し、転送データサイズ情報として、デジタル音声変換終了信号が出力された際に音声処理部３０７が備えるバッファ３１０に格納されているデジタル音声信号のデータサイズを設定する。
【０１６９】
このようにすることで、定期的な転送処理を情報処理装置１０１に行わせることができる。よって、ＣＰＵ１０３の処理負荷を低減することができる。これにより、ＣＰＵ１０３は、後述するデジタル音声データの圧縮等の処理に集中できる。
【０１７０】
ＣＰＵ１０３は、メモリ３０４に格納されたデジタル音声データに対して圧縮処理を行うことで音声圧縮符号データに変換する。ＣＰＵ１０３は、変換した音声圧縮符号データを再度メモリ３０４に格納する。
【０１７１】
ＣＰＵ１０２は、画像圧縮符号データと音声圧縮符号データをマージした上、ヘッダ情報等を付加して形式的な音声画像圧縮符号データを生成する。ＣＰＵ１０２は、情報処理装置１０１を用い、生成した音声画像圧縮符号データを、メモリーカードＩ／Ｆ３０８を介して、メモリーカード３０９に転送する。
【０１７２】
具体的には、ＣＰＵ１０２は、情報処理装置１０１の設定レジスタ１１１に、転送元アドレス情報としてメモリ３０４の音声画像圧縮符号データの先頭が格納されているアドレスを指定し、転送先アドレス情報としてメモリーカードＩ／Ｆ３０８を設定し、転送データサイズ情報として画像圧縮符号データのデータサイズを設定した上で、情報処理装置１０１の起動を行う。
【０１７３】
動画撮影モードでは、画像データと音声データとが連続的に取り込まれるため、情報処理装置１０１において、設定レジスタ１１０に設定された転送と、設定レジスタ１１１に設定された転送が、並列かつ非同期で行われる。
【０１７４】
よって、設定レジスタ１１０に設定されているメモリ３０４からメモリーカードＩ／Ｆ３０８への転送と、設定レジスタ１１１に設定されている音声処理部３０７からメモリ３０４への転送とが情報処理装置１０１によってシェアリングされて並列に転送される場面が生じる。
【０１７５】
本実施例では、ＣＰＵ１０２からのＤＭＡ転送設定は音声データの転送であり、ＣＰＵ１０３からのＤＭＡ転送設定はメモリーカードへのデータ転送である。
【０１７６】
音声データは、比較的データ数が少なく転送レートをさほど必要としないのに対して、メモリーカード３０９へのデータ転送はデータ量が大きいので、比較的高速な転送速度が求められる。
【０１７７】
そのため、ＣＰＵ１０２からのＤＭＡ転送設定とＣＰＵ１０３からのＤＭＡ転送設定とのシェアリング割合は、ＣＰＵ１０２からのＤＭＡ転送設定の割合を大きくとるほうが望ましい。
【０１７８】
本実施例において、情報処理装置１０１が最大２０ＭＢ／ｓの転送能力があった場合、ＣＰＵ１０２からのＤＭＡ転送設定とＣＰＵ１０３からのＤＭＡ転送設定を９：１の割合でシェアリングするように設定すると、メモリーカード３０９への転送は１８ＭＢ／ｓが保障され、音声データ取り込みは２ＭＢ／ｓが保障される。よって、ある程度適した割合の設定となる。
【０１７９】
このように、本発明に係る撮像装置３００においては、高速な転送が必要なメモリーカード３０９への転送と低速な転送でも可能な音声データ取り込み転送を１つのＤＭＡ回路（情報処理装置１０１）で実現させ、尚且つＣＰＵ１０２とＣＰＵ１０３とは、ＤＭＡの二重設定等を気にすることなく、単独で共用しているＤＭＡを使用することができる。
【０１８０】
なお、上記説明では、撮像装置３００は、情報処理装置１０１を備えるとしたが、本発明の実施の形態２に係る情報処理装置２０１を備えてもよい。
【０１８１】
以上、本発明の実施の形態に係る情報処理装置及び撮像装置について説明したが、本発明は、この実施の形態に限定されるものではない。
【０１８２】
例えば、上記実施形態１〜３では、情報処理装置１０１及び２０１は、２つのＣＰＵから設定によりＤＭＡ転送を行うとしたが、３以上のＣＰＵからの設定によりＤＭＡ転送を行う構成であってもよい。
【産業上の利用可能性】
【０１８３】
本発明は、複数のＣＰＵが搭載され、且つ、ＤＭＡ機能が複数のＣＰＵの共通リソースとして搭載されたシステムにおける、ＤＭＡ転送を制御する情報処理装置に適用できる。また、本発明は、当該情報処理装置を備えるデジタルビデオカメラ、デジタルカメラ、又は携帯電話機器等の撮像装置に適用できる。
【図面の簡単な説明】
【０１８４】
【図１】本発明の実施の形態１に係る情報処理装置を備える情報処理システムの構成を示す図である。
【図２】本発明の実施の形態１に係る情報処理装置の構成を示す図である。
【図３】本発明の実施の形態１に係る情報処理装置の動作の流れを示すフローチャートである。
【図４】本発明の実施の形態１に係る情報処理装置の動作例を示す図である。
【図５】本発明の実施の形態２に係る情報処理装置を備える情報処理システムの構成を示す図である。
【図６】本発明の実施の形態２に係る情報処理装置の構成を示す図である。
【図７】本発明の実施の形態２に係る情報処理装置の動作例を示す図である。
【図８】本発明の実施の形態３に係る撮像装置の構成を示す図である。
【符号の説明】
【０１８５】
１００、２００  情報処理システム
１０１、２０１  情報処理装置
１０２、１０３  ＣＰＵ
１０４、１０５、１０６、１０７  ターゲット
１０８  データ転送バス
１１０、１１１  設定レジスタ
１１２、２１２  ＤＭＡコントローラ
１２０、１２１  設定情報
１２２、１２３  転送終了信号
１３０  起動要因検出回路
１３１  論理積回路
１３２、２３２  ＤＭＡ選択回路
１３３  レジスタ選択回路
１３４  バスコントローラ
１４０、１４１  設定情報信号
１４２、１４３  ＤＭＡ状態信号
１４４  動作状態信号
１４５  ＤＭＡ選択情報信号
１４６  選択レジスタ情報信号
１４７  バスコントローラ状態信号
１５０、１５１  起動要因
２１３  シェアリング設定レジスタ
２２３  シェアリング情報
３００  撮像装置
３０１  撮像素子
３０２  ＡＦＥ
３０３  画像処理部
３０４  メモリ
３０５  画像圧縮処理部
３０６  集音マイク
３０７  音声処理部
３０８  メモリーカードＩ／Ｆ
３０９  メモリーカード
３１０  バッファ
【図１】
2009104529.tif 000003
【図２】
2009104529.tif 000004
【図３】
2009104529.tif 000005
【図４】
2009104529.tif 000006
【図５】
2009104529.tif 000007
【図６】
2009104529.tif 000008
【図７】
2009104529.tif 000009
【図８】
2009104529.tif 000010