(57)【要約】【課題】  プロセッサによる処理効率の低下を防止しつつ、プロセッサによる消費電力を低減すること。【解決手段】  ＤＭＡ処理が実行されているときに、プロセッサ２がＤＭＡコントローラ４の動作状態を問い合わせると、プロセッサ２へのクロック信号の供給をクロック制御部５に停止させて、プロセッサ２によるＤＭＡコントローラ４の動作状態の問い合わせに関する動作を禁止するようにした。このような構成によれば、ＤＭＡコントローラ４でＤＭＡ処理が実行されたとしても、プロセッサ２がＤＭＡコントローラ４の動作状態を問い合わせるまで、つまり状態通知レジスタ読み出し要求信号を出力するまでは、プロセッサ２でそれまでの処理を継続することができ、またプロセッサ２から状態通知レジスタ読み出し要求信号が出力されると、プロセッサ２へのクロック信号の供給が停止される。【選択図】  図１
2005158036.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを介さずに所定処理を実行可能な機能部と、その所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を抑制する抑制部とを備えたことを特徴とするプロセッサ制御回路。
【請求項２】
前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を遅延させることを特徴とする請求項１に記載のプロセッサ制御回路。
【請求項３】
前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサに供給するクロック信号の周波数を低くすることを特徴とする請求項１に記載のプロセッサ制御回路。
【請求項４】
前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサへのクロック信号の供給を停止することを特徴とする請求項１に記載のプロセッサ制御回路。
【請求項５】
前記抑制部は、前記クロック信号の供給が停止されているときに、前記クロック信号の供給を一時的に再開可能としたことを特徴とする請求項４に記載のプロセッサ制御回路。
【請求項６】
前記機能部は、ＤＭＡ処理を実行可能であり、前記抑制部は、前記クロック信号の供給が停止されているときには、所定長のデータがＤＭＡ転送されるたびに前記クロック信号の供給を一時的に再開することを特徴とする請求項５に記載のプロセッサ制御回路。
【請求項７】
前記機能部は、該機能部の動作状態を示す実行状態情報を記憶する状態記憶部を備え、前記プロセッサによって該実行状態情報を読み出すことによる前記動作状態の問い合わせが行われると、前記実行状態情報の読み出しが完了したことを示す読み出し完了信号を前記プロセッサに出力することによって、前記機能部における所定処理が終了したことを通知することを特徴とする請求項１から６のいずれか１項に記載のプロセッサ制御回路。
【請求項８】
所定の演算処理を実行するプロセッサと、該プロセッサを介さずに所定処理を実行可能な機能部と、その所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を抑制する抑制部とを備えたことを特徴とする情報処理装置。
【請求項９】
前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を遅延させることを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサに供給するクロック信号の周波数を低くすることを特徴とする請求項８に記載の情報処理装置。
【請求項１１】
前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサへのクロック信号の供給を停止することを特徴とする請求項８に記載の情報処理装置。
【請求項１２】
前記抑制部は、前記クロック信号の供給が停止されているときに、前記クロック信号の供給を一時的に再開可能としたことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記機能部は、ＤＭＡ処理を実行可能であり、前記抑制部は、前記クロック信号の供給が停止されているときには、所定長のデータがＤＭＡ転送されるたびに前記クロック信号の供給を一時的に再開することを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記機能部は、該機能部の動作状態に関する検出条件を示す検出条件情報を記憶する検出条件記憶部を備え、
前記プロセッサは、動作状態の検出における所定条件が設定された前記検出条件情報を前記検出条件記憶部に書き込むことにより、前記動作状態の問い合わせを行い、
前記機能部は、前記動作状態が前記検出条件情報の示す条件を充足した場合に、前記検出条件情報の書き込みが完了したことを示す書き込み完了信号を前記プロセッサに出力することによって、前記機能部における所定処理が終了したことを通知することを特徴とする請求項８から１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記機能部は、前記所定処理を複数実行可能であり、
前記プロセッサは、前記所定処理それぞれを特定する情報と、複数の前記所定処理の間に設定された動作状態の検出条件とを含む前記検出条件情報を前記検出条件記憶部に書き込み、
前記機能部は、前記検出条件情報に示される所定処理間において動作状態が検出条件と一致した場合に、前記書き込み完了信号を前記プロセッサに出力することを特徴とする請求項１４に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサを介さない所定処理の実行中に、プロセッサの動作状態を制御するプロセッサ制御回路およびプロセッサを介さずに所定処理を実行する情報処理装置に関する。
【背景技術】
【０００２】
従来、この種の技術としては、ＤＭＡ(Direct Memory Access)コントローラによるＤＭＡ処理モードの実行時、つまりＩ／ＯユニットとメモリとによるＤＭＡ処理中に、プロセッサへのクロック信号の供給を停止し、消費電力を低減する技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開平８−８３１３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来技術にあっては、ＤＭＡ処理中は、常に、プロセッサへのクロック信号の供給を停止するようになっているため、ＤＭＡ処理中にプロセッサによって処理を行うことができず、プロセッサによる処理効率が低下してしまう恐れがあった。
本発明は、上記従来の技術の未解決の課題を解決することを目的とするものであって、プロセッサによる処理効率の低下を防止しつつ、プロセッサによる消費電力を低減することができるプロセッサ制御回路および情報処理装置を提供することを課題とする。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、第１の発明であるプロセッサ制御回路は、プロセッサを介さずに所定処理を実行可能な機能部と、その所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を抑制する抑制部とを備えたことを特徴とする。
【０００５】
なお、機能部の動作状態の問い合わせに関する動作を抑制する方法としては、問い合わせの頻度を低くする方法や、問い合わせを禁止する方法等を挙げることができる。
また、第２の発明であるプロセッサ制御回路は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を遅延させることを特徴とする。
【０００６】
さらに、第３の発明であるプロセッサ制御回路は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサに供給するクロック信号の周波数を低くすることを特徴とする。
この第１〜第３の発明によれば、機能部で所定処理が実行されたとしても、プロセッサが機能部の動作状態を問い合わせるまでは、プロセッサでそれまでの処理を継続することができ、またプロセッサによって機能部の動作状態の問い合わせがされると、プロセッサによる機能部の動作状態の問い合わせが抑制されるようにしたため、プロセッサによる処理効率の低下を防止しつつ、プロセッサによる消費電力を低減することができる。
【０００７】
また、第４の発明であるプロセッサ制御回路は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサへのクロック信号の供給を停止することを特徴とする。
この第４の発明によれば、プロセッサの内部を構成するトランジスタのスイッチング動作が停止され、プロセッサによる消費電力をより低減することができる。
【０００８】
また、第５の発明であるプロセッサ制御回路は、前記抑制部は、前記クロック信号の供給が停止されているときに、前記クロック信号の供給を一時的に再開可能としたことを特徴とする。
さらに、第６の発明であるプロセッサ制御回路は、前記機能部は、ＤＭＡ処理を実行可能であり、前記抑制部は、前記クロック信号の供給が停止されているときには、所定長のデータがＤＭＡ転送されるたびに前記クロック信号の供給を一時的に再開することを特徴とする。
【０００９】
これら第５及び第６の発明によれば、例えば、ＤＭＡ処理中に、プロセッサへのクロック信号の供給が停止されても、そのＤＭＡ処理が終了するまえ、つまりＤＭＡ処理中にクロック信号の供給を一時的に再開することができる。
また、第７の発明であるプロセッサ制御回路は、前記機能部は、該機能部の動作状態を示す実行状態情報を記憶する状態記憶部を備え、前記プロセッサによって該実行状態情報を読み出すことによる前記動作状態の問い合わせが行われると、前記実行状態情報の読み出しが完了したことを示す読み出し完了信号を前記プロセッサに出力することによって、前記機能部における所定処理が終了したことを通知することを特徴とする。
【００１０】
この第７の発明によれば、プロセッサによる実行状態情報の読み出し動作によって、前記動作状態の問い合わせを行うことができるため、所定処理の実行状態を検出する処理のためのプログラミングを容易なものとすることができる。
また、上記課題を解決するために、第８の発明である情報処理装置は、所定の演算処理を実行するプロセッサと、該プロセッサを介さずに所定処理を実行可能な機能部と、その所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を抑制する抑制部とを備えたことを特徴とする。
【００１１】
なお、機能部の動作状態の問い合わせに関する動作を抑制する方法としては、第１の発明と同様に、問い合わせの頻度を低くする方法や、問い合わせを禁止する方法等を挙げることができる。
また、第９の発明である情報処理装置は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサによる前記機能部の動作状態の問い合わせに関する動作を遅延させることを特徴とする。
【００１２】
さらに、第１０の発明である情報処理装置は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサに供給するクロック信号の周波数を低くすることを特徴とする。
この第８〜第１０の発明によれば、機能部で所定処理が実行されたとしても、プロセッサが機能部の動作状態を問い合わせるまでは、プロセッサでそれまでの処理を継続することができ、またプロセッサによって機能部の動作状態の問い合わせがされると、プロセッサによる機能部の動作状態の問い合わせが抑制されるようにしたため、プロセッサによる処理効率の低下を防止しつつ、プロセッサによる消費電力を低減することができる。
【００１３】
また、第１１の発明である情報処理装置は、前記抑制部は、前記所定処理の実行中に前記プロセッサが前記機能部の動作状態を問い合わせると前記所定処理が終了するまで前記プロセッサへのクロック信号の供給を停止することを特徴とする。
この第１１の発明によれば、プロセッサの内部を構成するトランジスタのスイッチング動作が停止され、プロセッサによる消費電力をより低減することができる。
【００１４】
また、第１２の発明である情報処理装置は、前記抑制部は、前記クロック信号の供給が停止されているときに、前記クロック信号の供給を一時的に再開可能としたことを特徴とする。
また、第１３の発明である情報処理装置は、前記機能部は、ＤＭＡ処理を実行可能であり、前記抑制部は、前記クロック信号の供給が停止されているときには、所定長のデータがＤＭＡ転送されるたびに前記クロック信号の供給を一時的に再開することを特徴とする。
【００１５】
これら第１２及び第１３の発明によれば、例えば、ＤＭＡ処理中に、プロセッサへのクロック信号の供給が停止されても、そのＤＭＡ処理が終了するまえ、つまりＤＭＡ処理中にクロック信号の供給を一時的に再開することができる。
また、第１４の発明である情報処理装置は、前記機能部は、該機能部の動作状態に関する検出条件を示す検出条件情報を記憶する検出条件記憶部を備え、前記プロセッサは、動作状態の検出における所定条件が設定された前記検出条件情報を前記検出条件記憶部に書き込むことにより、前記動作状態の問い合わせを行い、前記機能部は、前記動作状態が前記検出条件情報の示す条件を充足した場合に、前記検出条件情報の書き込みが完了したことを示す書き込み完了信号を前記プロセッサに出力することによって、前記機能部における所定処理が終了したことを通知することを特徴とする。
【００１６】
さらに、第１５の発明である情報処理装置は、前記機能部は、前記所定処理を複数実行可能であり、前記プロセッサは、前記所定処理それぞれを特定する情報と、複数の前記所定処理の間に設定された動作状態の検出条件とを含む前記検出条件情報を前記検出条件記憶部に書き込み、前記機能部は、前記検出条件情報に示される所定処理間において動作状態が検出条件と一致した場合に、前記書き込み完了信号を前記プロセッサに出力することを特徴とする。
【００１７】
これら第１４及び第１５の発明によれば、プロセッサが前記機能部の動作状態を問い合わせる際に、その動作状態に関する検出条件を示す検出条件情報が前記検出条件記憶部に書き込まれる。そのため、ＤＭＡのチャネルが複数ある場合等、前記機能部において所定処理が複数実行される場合に、それらの間における複雑な条件を設定して動作状態を問い合わせることができるため、ソフトウェアの効率的な実行制御を行うことが可能となる。
【００１８】
このように、本発明によれば、プロセッサによる処理効率の低下を防止しつつ、プロセッサによる消費電力を低減することができるプロセッサ制御回路および情報処理装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態を図面に基づいて説明する。
（第１の実施の形態）
初めに、本発明のプロセッサ制御回路の実施形態を説明する。
図１は、本発明の第１の実施の形態におけるプロセッサ制御回路を備えた情報処理装置１の概略構成を示すブロック図である。この図１に示すように、情報処理装置１は、プロセッサ２、ＲＡＭ(Random Access Memory)３、状態通知レジスタ７を有するＤＭＡ(D irect Memory Access)コントローラ４、及びクロック制御部５で構成され、クロック制御部５を除く各部は、データバス６で互いにデータ授受可能に接続されている。
【００２０】
これらのうちプロセッサ２は、図示しない記憶装置に格納されている基本制御プログラムやアプリケーションプログラム等の各種プログラム及びデータを読み込み、それら各種プログラム及びデータをＲＡＭ３内に設けられるワークエリアに展開実行する。そして、情報処理装置１が備える各部の制御や演算処理等といった、各種処理を実行する。
さらに、プロセッサ２は、図２のフローチャートに示すように、ＤＭＡ処理のためのパラメータ（ＤＭＡパラメータ）を設定し（ステップＳ１０１）、ＤＭＡコントローラ４にＤＭＡ処理を開始させるＤＭＡスタートコマンドを出力する（ステップＳ１０２）。そして、ＤＭＡの動作状態を取得するために、状態通知レジスタ読み出し要求信号をＤＭＡコントローラ４に出力する。その後、ＤＭＡコントローラ４からＤＭＡ処理中でないことを示すＤＭＡ実行状態フラグが読み出されると、状態通知レジスタ読み出し要求信号の出力を停止し、状態通知レジスタの読み出しが完了する（ステップＳ１０３）。なお、プロセッサ２は、状態通知レジスタ読み出し要求信号の出力中にクロック信号の供給が停止されても、状態通知レジスタ読み出し要求信号の出力を継続するようになっている。
【００２１】
また、ＲＡＭ３は、プロセッサ２が各種プログラムに従って上記処理を実行するときに、各種プログラムを展開するワークエリアを形成するとともに、プロセッサ２により実行される各種処理に係るデータを展開するためのメモリ領域を形成する。
さらに、ＤＭＡコントローラ４は、プロセッサ２からＤＭＡスタートコマンドが出力されるとＤＭＡ処理を開始する。
【００２２】
また、ＤＭＡコントローラ４は、プロセッサ２から状態通知レジスタ読み出し要求信号が入力されると、ＤＭＡ処理中であるか否かを判定し、ＤＭＡ処理中でない場合には状態通知レジスタ７に格納されているＤＭＡ処理中でないことを示すＤＭＡ実行状態フラグをプロセッサ２に読み出させ、ＤＭＡ処理中である場合にはプロセッサ２に対するクロック信号の供給が停止された状態とさせるＷＡＩＴ信号をクロック制御部５に出力する。
【００２３】
さらに、クロック制御部５は、ＤＭＡコントローラ４からＷＡＩＴ信号が出力されているか否かを判定し、ＷＡＩＴ信号が出力されていない場合にはプロセッサ２にクロック信号を供給し、ＷＡＩＴ信号が出力されている場合にはクロック信号の供給を停止する。
次に、本実施形態の情報処理装置１の動作を詳細に説明する。
まず、図３に示すように、サイクル「２」で、ＤＭＡコントローラ４にＤＭＡの開始を要求するＤＭＡ要求信号が出力されたとする。すると、サイクル「３」で、ＤＭＡコントローラ４からＤＭＡ転送処理中であることを通知する信号を出力する。プロセッサ２で所定の処理が実行され、図２に示すように、まずそのステップＳ１０１で、ＤＭＡパラメータが設定され、ステップＳ１０２で、図３（ｂ）に示すように、ＤＭＡスタートコマンドがＤＭＡコントローラ４に出力される。そして、サイクル「３」で、図３（ｃ）に示すように、ＤＭＡコントローラの動作状態が「動作中」とされ、ＤＭＡコントローラ４によってＤＭＡ処理が開始される。
【００２４】
また、ＤＭＡ処理が継続されるうちに、サイクル「４」〜「６」を経て、サイクル「７」で、図３（ｄ）に示すように、プロセッサ２からＤＭＡコントローラ４に状態通知レジスタ読み出し要求信号が出力される。すると、サイクル「８」で、図３（ｆ）に示すように、ＤＭＡコントローラ４からクロック制御部５にハイレベルのＷＡＩＴ信号が出力され、サイクル「９」で、図３（ｈ）に示すように、クロック制御部５によってプロセッサ２に供給していた動作クロック信号が停止される。
【００２５】
さらに、サイクル「１０」〜「１３」を経て、サイクル「１４」で、図３（ｃ）に示すように、ＤＭＡコントローラ４の動作状態がローレベルとされ、ＤＭＡ処理が終了したとする。
すると、サイクル「１５」で、ＤＭＡコントローラ４によって、ＤＭＡ処理中でないことを示すＤＭＡ実行状態フラグがプロセッサ２に読み出され、ＷＡＩＴ信号が停止状態とされ、クロック制御部５からプロセッサ２にクロック信号の供給が再開され、前記ＤＭＡ実行状態フラグが読み出されると状態通知レジスタ読み出し要求信号が停止され、サイクル「１６」で、プロセッサ２の処理が再開される。
【００２６】
このように、本実施形態の情報処理装置１によれば、ＤＭＡコントローラ４でＤＭＡ処理が実行されたとしても、プロセッサ２がＤＭＡコントローラ４の動作状態を問い合わせるまで、つまり状態通知レジスタ読み出し要求信号を出力するまでは、プロセッサ２でそれまでの処理を継続することができ、またプロセッサ２から状態通知レジスタ読み出し要求信号が出力されると、プロセッサ２へのクロック信号の供給が停止されるようにしたため、プロセッサ２による処理効率の低下を防止しつつ、プロセッサ２による消費電力を低減することができる。
【００２７】
また、ＤＭＡ処理が終了するまでクロック信号の供給を停止するようにしたため、ＤＭＡ処理の実行中に、ＤＭＡコントローラ４の動作状態の問い合わせが何度も実行されてしまうことを防止でき、プロセッサ２による消費電力をより低減することができる。
ちなみに、図１５に示すように、ＤＭＡ処理が実行されているときにプロセッサ２に自身の動作を停止させる従来の方法では、ＤＭＡ処理の実行中に、ＤＭＡコントローラ４の動作状態の問い合わせをプロセッサ２自身に何度も実行させなければならず、プロセッサ２による消費電力が大きくなってしまう。
【００２８】
また、本実施形態の情報処理装置１によれば、プロセッサ２が状態通知レジスタ７を読み出す動作によってＤＭＡコントローラ４の動作状態を問い合わせることができるため、ＤＭＡの実行状態を検出する処理のためのプログラミングを容易なものとすることができる。
【００２９】
（第２の実施の形態）
次に、本発明のプロセッサ制御回路の第２の実施の形態について説明する。
この実施形態は、プロセッサ２へのクロック信号の供給が停止されているときには、所定長のデータがＤＭＡ転送されるたびにクロック信号の供給を一時的に再開するようにした点が前記第１の実施の形態とは異なる。具体的には、図４に示すように、ＤＭＡ転送するデータ長を設定する転送データ長設定部８がＤＭＡコントローラ４に設けられ、ＤＭＡコントローラ４に、そのデータ長がデータ転送されるたびに、ＤＭＡ実行状態フラグをプロセッサ２に読み出させるようにした。また、前記第１実施形態のプロセッサ２で行われる図２の処理に代えて、図５のステップＳ２０１〜Ｓ２０７の制御処理が行われる。なお、この実施形態は、前記第１実施形態と同等の構成を多く含んでおり、同等の構成には同等の符号を付して、その詳細な説明を省略する。
【００３０】
まずそのステップＳ２０１では、ＤＭＡパラメータを設定する。
次にステップＳ２０２に移行して、連続してＤＭＡ転送するデータ長、つまりプロセッサ２へのクロック信号の供給を一時的に再開するためのデータ長を転送データ長設定部８に設定させる。
次にステップＳ２０３に移行して、ＤＭＡコントローラ４にＤＭＡスタートコマンドを出力する。
【００３１】
次にステップＳ２０４に移行して、状態通知レジスタ読み出し要求信号をＤＭＡコントローラ４に出力する。
次にステップＳ２０５に移行して、転送データ長設定部８で設定されたデータ長がＤＭＡ転送されたのちに、状態通知レジスタ７からＤＭＡの転送状態を読み出し、ＤＭＡ転送処理が終了している場合には図５の制御フローを終了し、ＤＭＡ転送が終了していない場合には、プロセッサ２において所定処理を実行する必要があるか否かを判定する（ステップＳ２０６）。所定処理実行が必要ない場合には、ステップＳ２０４に制御が戻り、所定処理実行が必要な場合にはステップＳ２０７において処理を行う。そして、ステップＳ２０７の所定処理の実行が完了した時点でステップＳ２０４に移行する。
【００３２】
次に、本実施形態の情報処理装置１の動作を詳細に説明する。
まず、図６に示すように、サイクル「１」で、ＤＭＡコントローラ４にＤＭＡの開始を要求するＤＭＡ要求信号が出力されたとする。すると、サイクル「２」で、ＤＭＡコントローラ４からＤＭＡ転送処理中であることを通知する信号を出力する。プロセッサ２で所定の処理が実行され、図５に示すように、まずそのステップＳ２０１で、ＤＭＡパラメータが設定され、ステップＳ２０２で、連続してＤＭＡ転送するデータ長が転送データ長設定部８で設定され、ステップＳ２０３で、図６（ｂ）に示すように、ハイレベルのＤＭＡスタートコマンドがＤＭＡコントローラ４に出力され、ＤＭＡコントローラ４によってＤＭＡ処理が開始される。
【００３３】
また、ＤＭＡ処理が継続されるうちに、サイクル「３」を経て、サイクル「４」で、プロセッサ２から、図６（ｄ）に示すように、ステップＳ２０４によって、プロセッサ２からＤＭＡコントローラ４にハイレベルの状態通知レジスタ読み出し要求信号が出力されたとする。すると、サイクル「５」で、図６（ｆ）に示すように、ＤＭＡコントローラ４からクロック制御部５にハイレベルのＷＡＩＴ信号が出力され、サイクル「６」で、図６（ｈ）に示すように、クロック制御部５によってプロセッサ２に供給していた動作クロック信号が停止される。
【００３４】
さらに、サイクル「７」を経て、サイクル「８」で、図６（ｃ）に示すように、転送データ長設定部８で設定されたデータ長がＤＭＡ転送され、ＤＭＡコントローラの動作状態がローレベルとされたとする。すると、ＤＭＡコントローラ４によって、ＤＭＡ実行状態フラグがプロセッサ２に読み出され、ＷＡＩＴ信号が停止状態とされ、クロック制御部５からプロセッサ２にクロック信号の供給が一時的に再開され、前記ＤＭＡ実行状態フラグが読み出されると状態通知レジスタ読み出し要求信号が停止され、ＤＭＡ転送が終了していないのでステップＳ２０５の判定が「Ｎｏ」となり、またステップＳ２０６の判定が「Ｙｅｓ」となると、ステップＳ２０７で所定処理を実行する。サイクル「９」で、ステップＳ２０４によって、プロセッサ２からＤＭＡコントローラ４にハイレベルの状態通知レジスタ読み出し要求信号が再び出力される。
【００３５】
このように、本実施形態にあっては、ＤＭＡ処理中に、プロセッサ２へのクロック信号の供給が停止されても、そのＤＭＡ処理が終了する前、つまりＤＭＡ処理中にクロック信号の供給を一時的に再開することができる。
なお、上記実施形態では、ＤＭＡコントローラ４が機能部を構成し、クロック制御部５が抑制部を構成し、状態通知レジスタ７が状態記憶部を構成する。
【００３６】
また、上記実施形態は、本発明に係るプロセッサ制御回路の一例を示したものであり、その構成等を限定するものではない。
例えば、上記実施形態では、プロセッサ２から状態通知レジスタ読み出し要求信号が出力されると、プロセッサ２へのクロック信号の供給を停止する例を示したが、これに限られるものではなく、例えば、プロセッサ２に供給するクロック信号の周波数を低くし、状態通知レジスタ７の読み出しの頻度が低くなるようにしてもよい。
【００３７】
また、プロセッサ２へのクロック信号の供給を停止し、プロセッサ２の機能を完全に停止する（ＷＡＩＴ状態とする）例を示したが、これに限られるものではなく、例えば、プロセッサ２へのクロック信号の供給を停止しつつ、外部からの割り込みによって割り込み処理プログラムを起動可能とする（スリープ状態とする）ようにしてもよい。
さらに、クロック制御部５によって、プロセッサ２へのクロック信号の供給状態を制御する例を示したが、これに限られるものではなく、例えば、ＤＭＡ処理が終了するまで、単に、プロセッサ２によるＤＭＡコントローラ４の動作状態の問い合わせに関する動作を遅延させるようにしてもよい。そのようにすれば、プロセッサ２によってＤＭＡ処理中にポーリングを行う方法に比べ、プロセッサ２によって実行するプログラムを簡潔なものとすることができ、プロセッサ２による処理効率を向上させることができる。
【００３８】
（第３の実施の形態）
次に、本発明の情報処理装置の実施形態を説明する。
この実施形態は、第１の実施形態においてプロセッサ２がＤＭＡコントローラ４の動作状態を問い合わせる際に、状態通知レジスタ７を読み出すのに対し、後述するプロセッサ１０２がＤＭＡコントローラ１０４の動作状態を問い合わせる際に、条件設定レジスタ１０７に所定情報（後述する検出条件情報）を書き込む点が前記第１の実施の形態とは異なる。
【００３９】
図７は、本発明の第３の実施の形態における情報処理装置１００の概略構成を示すブロック図である。この図７に示すように、情報処理装置１００は、プロセッサ１０２、ＲＡＭ１０３、条件設定レジスタ１０７を有するＤＭＡコントローラ１０４、及びクロック制御部１０５で構成され、クロック制御部１０５を除く各部は、データバス１０６で互いにデータ授受可能に接続されている。
【００４０】
これらのうちプロセッサ１０２は、図示しない記憶装置に格納されている基本制御プログラムやアプリケーションプログラム等の各種プログラム及びデータを読み込み、それら各種プログラム及びデータをＲＡＭ１０３内に設けられるワークエリアに展開実行する。そして、情報処理装置１００が備える各部の制御や演算処理等といった、各種処理を実行する。
【００４１】
さらに、プロセッサ１０２は、図８のフローチャートに示すように、ＤＭＡ処理のためのパラメータ（ＤＭＡパラメータ）を設定し（ステップＳ３０１）、ＤＭＡコントローラ１０４にＤＭＡ処理を開始させるＤＭＡスタートコマンドを出力する（ステップＳ３０２）。そして、ＤＭＡの動作状態を取得するために、条件設定レジスタ書き込み要求信号および検出条件情報（書き込みデータ）をＤＭＡコントローラ１０４に出力する。その後、ＤＭＡコントローラ１０４から条件設定レジスタ１０７への書き込みが完了したことを示す書き込み完了信号が出力されると、条件設定レジスタ１０７への書き込みが完了する（ステップＳ３０３）。
【００４２】
ここで、検出条件情報について説明する。
本実施の形態において、ＤＭＡコントローラ１０４には複数のチャネルが用意され複数のハードウェアモジュールにおけるＤＭＡを実行可能である。そのため、同時に複数のＤＭＡ転送が行われる場合等には、図９に示すように、ＤＭＡの動作状態を示すステートマシンが複数動作している状態となる。検出条件情報は、これら複数のステートマシンＳＭ０〜ＳＭｎにおける動作状態を検出する際の検出条件を示している。
【００４３】
図１０は、検出条件情報のデータ構成例を示す図である。
図１０において、検出条件情報は、８ビットのデータによって構成されており、下位４ビットは、４つのステートマシンＳＭ０〜ＳＭ３それぞれの指定状態（ＤＭＡ転送状態の確認対象であることを示す“１”およびＤＭＡ転送の確認対象でないことを示す“０”）を示すビットデータ（以下、「確認対象設定データ」と言う。）、上位４ビットは、下位４ビットのビットデータについて設定された検出条件（ビットデータに対してＡＮＤ条件が設定されていることを示す“１０００”およびビットデータに対してＯＲ条件が設定されていることを示す“１１００”）を示すビットデータ（以下、「条件設定データ」と言う。）である。
【００４４】
即ち、検出条件情報の条件設定データ（上位４ビット）が“１０００”である場合には、確認対象設定データ（下位４ビット）において“１”が設定されているステートマシン（ハードウェアモジュール）の全てがＤＭＡ転送中でなければ、ＤＭＡコントローラ１０４から書き込み完了信号が出力される。また、検出条件情報の上位４ビットが“１１００”である場合には、確認対象設定データ（下位４ビット）において“１”が設定されているステートマシン（ハードウェアモジュール）のいずれかがＤＭＡ転送中でなければ、ＤＭＡコントローラ１０４から書き込み完了信号が出力される。
【００４５】
図７に戻り、ＲＡＭ１０３は、プロセッサ１０２が各種プログラムに従って上記処理を実行するときに、各種プログラムを展開するワークエリアを形成するとともに、プロセッサ１０２により実行される各種処理に係るデータを展開するためのメモリ領域を形成する。
ＤＭＡコントローラ１０４は、プロセッサ１０２からＤＭＡスタートコマンドが出力されるとＤＭＡ処理を開始する。
【００４６】
また、ＤＭＡコントローラ１０４は、ＤＭＡ処理の状態を管理する状態通知部１０４ａを備えている。そして、状態通知部１０４ａは、プロセッサ１０２から条件設定レジスタ書き込み要求信号および検出条件情報がＤＭＡコントローラ１０４に入力されると、検出条件情報に基づいて、ＤＭＡ処理の状態、即ち、複数のＤＭＡチャネルにおけるステートマシンの動作状態を判定する。そして、状態通知部１０４ａは、各ステートマシンの動作状態が検出条件情報に示される検出条件に適合する場合には、条件設定レジスタ１０７に対する書き込みが完了したことを示す書き込み完了信号をプロセッサ１０２に出力し、各ステートマシンの動作状態が検出条件情報に示される検出条件に適合しない場合には、ＷＡＩＴ信号をクロック制御部１０５に出力する。
【００４７】
図１１は、状態通知部１０４ａの概略構成を示すブロック図である。
図１１において、状態通知部１０４ａは、上述の条件設定レジスタ１０７と、ＡＮＤ回路１０４ｂと、ＯＲ回路１０４ｃと、選択回路１０４ｄとを備えている。
ＡＮＤ回路１０４ｂには、ＤＭＡ転送を行っているハードウェアモジュールにおけるステートマシンそれぞれから、ＤＭＡ転送中であるか否かを示す信号（busy_ready信号）が入力される。なお、このbusy_ready信号は、ＤＭＡ転送中である場合には“１”とされ、ＤＭＡ転送中でない場合には“０”とされる。また、ＡＮＤ回路１０４ｂには、条件設定レジスタ１０７が記憶しているビットデータ（確認対象設定データ）が入力される。
【００４８】
そして、ＡＮＤ回路１０４ｂは、各ハードウェアモジュールのbusy_ready信号を基に、確認対象設定データにおいて“１”が設定されているハードウェアモジュール（ステートマシン）の動作状態を確認し、確認対象設定データにおいて“１”が設定されているハードウェアモジュールから入力されるbusy_ready信号の全てが“０”である場合（いずれもＤＭＡ転送中でないことを示す場合）には、ＡＮＤ回路１０４ｂにおける検出条件が充足されたことを示すＡＮＤ条件結果（ここでは“１”とする）を選択回路１０４ｄに出力する。一方、確認対象設定データにおいて“１”が設定されているハードウェアモジュールから入力されるbusy_ready信号の全ては“０”でない場合（いずれかがＤＭＡ転送中であることを示す場合）には、ＡＮＤ回路１０４ｂにおける検出条件が充足されていないことを示すＡＮＤ条件結果（ここでは“０”とする）を選択回路１０４ｄに出力する。
【００４９】
ＯＲ回路１０４ｃには、ＡＮＤ回路１０４ｂと同様に、ＤＭＡ転送を行っているハードウェアモジュールにおけるステートマシンそれぞれから、ＤＭＡ転送中であるか否かを示す信号（busy_ready信号）が入力される。また、ＯＲ回路１０４ｃには、条件設定レジスタ１０７が記憶しているビットデータ（確認対象設定データ）が入力される。
そして、ＯＲ回路１０４ｃは、各ハードウェアモジュールのbusy_ready信号を基に、確認対象設定データにおいて“１”が設定されているハードウェアモジュール（ステートマシン）の動作状態を確認し、確認対象設定データにおいて“１”が設定されているハードウェアモジュールから入力されるbusy_ready信号のいずれかが“０”である場合（いずれかがＤＭＡ転送中でないことを示す場合）には、ＯＲ回路１０４ｃにおける検出条件が充足されたことを示すＯＲ条件結果（ここでは“１”とする）を選択回路１０４ｄに出力する。一方、確認対象設定データにおいて“１”が設定されているハードウェアモジュールから入力されるbusy_ready信号の全てが“１”である場合（いずれもＤＭＡ転送中であることを示す場合）には、ＯＲ回路１０４ｃにおける検出条件が充足されていないことを示すＯＲ条件結果（ここでは“０”とする）を選択回路１０４ｄに出力する。
【００５０】
選択回路１０４ｄには、プロセッサ１０２から入力された検出条件情報における条件設定データが入力される。
また、選択回路１０４ｄには、ＡＮＤ回路１０４ｂからＡＮＤ条件結果が入力されると共に、ＯＲ回路１０４ｃからＯＲ条件結果が入力される。
そして、選択回路１０４ｄは、条件設定データによって示される検出条件（即ち、ＡＮＤ条件あるいはＯＲ条件）に応じて、ＡＮＤ条件結果とＯＲ条件結果とのいずれかを選択し、選択結果をプロセッサ１０２に出力する。この選択結果は、条件が充足されたことを示すＡＮＤ条件結果あるいはＯＲ条件結果である場合には書き込み完了信号となり、条件が充足されていないことを示すＡＮＤ条件結果あるいはＯＲ条件結果である場合にはプロセッサ１０２に対するＷＡＩＴ信号となる。
【００５１】
図７に戻り、クロック制御部１０５は、ＤＭＡコントローラ１０４からＷＡＩＴ信号が出力されているか否かを判定し、ＷＡＩＴ信号が出力されていない場合にはプロセッサ１０２にクロック信号を供給し、ＷＡＩＴ信号が出力されている場合にはクロック信号の供給を停止する。
次に、本実施形態の情報処理装置１００の動作を詳細に説明する。
【００５２】
まず、図１２に示すようにサイクル「２」で、ＤＭＡコントローラ１０４にＤＭＡの開始を要求するＤＭＡ要求信号が出力されたとする。
すると、サイクル「３」で、ＤＭＡコントローラ１０４からＤＭＡ転送処理中であることを通知する信号が出力される。プロセッサ１０２で所定の処理が実行され、図８に示すように、まずそのステップＳ３０１で、ＤＭＡパラメータが設定され、ステップＳ３０２で、図１２（ｂ）に示すように、ＤＭＡスタートコマンドがＤＭＡコントローラ１０４に出力される。そして、サイクル「３」で、図１２（ｃ）に示すように、ＤＭＡコントローラの動作状態が「動作中」とされ、ＤＭＡコントローラ１０４によってＤＭＡ処理が開始される。
【００５３】
また、ＤＭＡ処理が継続されるうちに、サイクル「４」〜「６」を経て、サイクル「７」で、図１２（ｄ）に示すように、プロセッサ１０２からＤＭＡコントローラ１０４に条件設定レジスタ書き込み要求信号および書き込みデータ（検出条件情報）が出力される。
すると、サイクル「８」で、図１２（ｆ）に示すように、ＤＭＡコントローラ１０４からクロック制御部１０５にハイレベルのＷＡＩＴ信号が出力され、サイクル「９」で、図１２（ｈ）に示すように、クロック制御部１０５によってプロセッサ１０２に供給していた動作クロック信号が停止される。
【００５４】
さらに、サイクル「１０」〜「１３」を経て、サイクル「１４」で、図１２（ｃ）に示すように、ＤＭＡコントローラ１０４の動作状態がローレベルとされ、ＤＭＡ処理が終了したとする。
すると、サイクル「１５」で、ＤＭＡコントローラ１０４によって、ＤＭＡ処理中でないことを示す書き込み完了信号がプロセッサ１０２に出力され、ＷＡＩＴ信号が停止状態とされる。また、クロック制御部１０５からプロセッサ１０２にクロック信号の供給が再開され、前記書き込み完了信号が出力されると条件設定レジスタ書き込み要求信号が停止され、サイクル「１６」で、プロセッサ１０２の処理が再開される。
【００５５】
このように、本実施形態の情報処理装置１００によれば、ＤＭＡコントローラ１０４でＤＭＡ処理が実行されたとしても、プロセッサ１０２がＤＭＡコントローラ１０４の動作状態を問い合わせるまで、つまり条件設定レジスタ書き込み要求信号を出力するまでは、プロセッサ１０２でそれまでの処理を継続することができ、またプロセッサ１０２から条件設定レジスタ書き込み要求信号が出力されると、プロセッサ１０２へのクロック信号の供給が停止されるようにしたため、プロセッサ１０２による処理効率の低下を防止しつつ、プロセッサ１０２による消費電力を低減することができる。
【００５６】
また、ＤＭＡ処理が終了するまでクロック信号の供給を停止するようにしたため、ＤＭＡ処理の実行中に、ＤＭＡコントローラ１０４の動作状態の問い合わせが何度も実行されてしまうことを防止でき、プロセッサ１０２による消費電力をより低減することができる。
さらに、プロセッサ１０２が条件設定レジスタ書き込み要求信号を出力する際に、ＤＭＡコントローラ１０４の動作状態に対する検出条件を示す検出条件情報が書き込みデータとして出力される。そのため、ＤＭＡのチャネルが複数ある場合に、それらのチャネルにおける複雑な条件を設定してＤＭＡコントローラ１０４の動作状態を問い合わせることができるため、上記の効果に加え、ソフトウェアの効率的な実行制御を行うことが可能となる。具体的には、プログラムにおける条件判断の回数を軽減することができるため、実行速度の向上を図ることが可能となる。また、ＤＭＡコントローラに対するポーリングのために条件判断を繰り返す従来の方法に比し、無用な消費電力を削減することが可能となる。さらに、ＤＭＡコントローラ１０４における種々の条件を検出する処理が、書き込み要求信号および検出条件情報（書き込みデータ）の出力のみで実行できるため、このような処理を実現するためのプログラムの作成が容易なものとなる。
【００５７】
なお、本実施形態において、ＤＭＡコントローラ１０４は、検出条件情報に示されるＡＮＤ条件あるいはＯＲ条件を判定するものとして説明したが、ＡＮＤ条件およびＯＲ条件以外の条件（ＸＯＲ条件等）を設定することも可能であるとともに、ＤＭＡコントローラ１０４がＡＮＤ条件あるいはＯＲ条件等のいずれか１つのみを判定することとしても良い。ＤＭＡコントローラ１０４において１つの固定的な条件のみが判定される場合、検出条件情報の上位４ビットのビットデータが不要となり、プロセッサ１０２による書き込みデータが削減されると共に、状態通知部１０４ａの構成を、例えば図１３および図１４に示すように簡略なものとすることができる。
【００５８】
また、本実施形態において、プロセッサ１０２によって条件設定レジスタ書き込み要求信号が出力された場合、ＤＭＡコントローラ１０４から書き込み完了信号が出力されるまで、プロセッサ１０２に対するクロックの供給が継続して停止されるものとして説明したが、第２の実施の形態に示すように、所定長のデータがＤＭＡ転送されるたびにクロック信号の供給を一時的に再開するようにしても良い。
【００５９】
また、上記実施形態では、プロセッサ１０２が特許請求の範囲におけるプロセッサを構成し、ＤＭＡコントローラ１０４が機能部を構成し、クロック制御部１０５が抑制部を構成し、条件設定レジスタ１０７が検出条件記憶部を構成する。
【図面の簡単な説明】
【００６０】
【図１】本発明のプロセッサ制御回路の第１実施形態を示す概略構成図である。
【図２】図１のプロセッサで実行される演算処理のフローチャートである。
【図３】図１の情報処理装置の動作を示すタイミングチャートである。
【図４】本発明のプロセッサ制御回路の第２実施形態を示す概略構成図である。
【図５】図４のプロセッサで実行される演算処理のフローチャートである。
【図６】図４の情報処理装置の動作を示すタイミングチャートである。
【図７】本発明の第３の実施の形態における情報処理装置１００の概略構成を示すブロック図である。
【図８】図７のプロセッサで実行される演算処理のフローチャートである。
【図９】ＤＭＡの動作状態を示すステートマシンが複数動作している状態を示すフローチャートである。
【図１０】検出条件情報のデータ構成例を示す図である。
【図１１】状態通知部１０４ａの概略構成を示すブロック図である。
【図１２】図７の情報処理装置の動作を示すタイミングチャートである。
【図１３】ＡＮＤ条件のみを判定する場合の状態通知部１０４ａの構成例を示す図である。
【図１４】ＯＲ条件のみを判定する場合の状態通知部１０４ａの構成例を示す図である。
【図１５】従来のプロセッサで実行される演算処理のフローチャートである。
【符号の説明】
【００６１】
１，１００は情報処理装置、２，１０２はプロセッサ、３，１０３はＲＡＭ、４，１０４はＤＭＡコントローラ、５，１０５はクロック制御部、６，１０６はデータバス、７は状態通知レジスタ、１０７は条件設定レジスタ、８は転送データ長設定部
【図１】
2005158036.tif 000003
【図２】
2005158036.tif 000004
【図３】
2005158036.tif 000005
【図４】
2005158036.tif 000006
【図５】
2005158036.tif 000007
【図６】
2005158036.tif 000008
【図７】
2005158036.tif 000009
【図８】
2005158036.tif 000010
【図９】
2005158036.tif 000011
【図１０】
2005158036.tif 000012
【図１１】
2005158036.tif 000013
【図１２】
2005158036.tif 000014
【図１３】
2005158036.tif 000015
【図１４】
2005158036.tif 000016
【図１５】
2005158036.tif 000017