(57)【要約】【課題】ＳＤカード等の外付けメモリカードに格納したプログラムを実行するシステムの消費電力を低減する。【解決手段】ブートデバイスとしてＳＤカード４が選択されたとき、ＳＤ制御部３は、ＣＰＵ１のリード命令受信後に、クロック制御部９に対してＣＰＵ１のクロックを停止するように指示し、ＣＰＵ１のブートプログラムを含むセクタをリードし、セクタリード終了後にＣＰＵ１のクロックを再開するように指示する。【選択図】図１
2014106657.tif 000002
【特許請求の範囲】
【請求項１】
一または複数の実行手段が実行するプログラムを記憶する記憶手段と、前記一または複数の実行手段へ供給するクロックを制御する第１の制御手段と、前記実行手段のブートデバイスとして前記記憶手段が選択されたとき、前記記憶手段をセクタ単位でアクセスし、前記実行手段が実行するプログラムを含むセクタをアクセスする間、前記第１の制御手段に対して前記クロックの状態を所定の状態に指示する第２の制御手段を備えたことを特徴とする情報処理装置。
【請求項２】
前記第２の制御手段は、前記実行手段のリード命令受信後に前記第１の制御手段に対して前記クロックを停止するように指示し、前記プログラムを含むセクタをリードし、セクタリード終了後に前記第１の制御手段に対して前記クロックを再開するように指示することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記第２の制御手段は、前記実行手段のリード命令受信後に前記第１の制御手段に対して前記クロックとして周波数の低いクロックを供給するように指示し、前記プログラムを含むセクタをリードし、セクタリード終了後に前記第１の制御手段に対して前記クロックとして周波数の高いクロックを供給するように指示することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記第２の制御手段は、前記記憶手段からのリード結果を１セクタ以上記憶するランダムアクセス可能な記憶領域を、前記複数の実行手段に対応して設けたことを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記記憶領域は、前記実行手段からリード要求されたセクタのデータと次セクタのデータを記憶することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記記憶手段としてＳＤカードを使用し、前記ＳＤカードにブートプログラムを記憶したことを特徴とする請求項１または４記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電力を低減した情報処理装置に関する。
【背景技術】
【０００２】
ソフトウエアの更新、復旧や不具合解析を目的として、ＳＤカード等の外付けのメモリカードに格納したプログラムによりシステムを起動する場合がある。  ＳＤカード等のＮＡＮＤフラッシュメモリに記憶したデータにアクセスするためには、メモリカードの初期化処理を実施し、所定の手順でコマンドを発行する、等の制御が必要であるが、システム起動前には、これらの処理をソフトウエアで実行することはできない。
【０００３】
ＳＤカードからシステムを起動する方法として、ＳＤカードの初期化処理や、コマンド発行をハードウェアで自動化し、ＲＯＭやＮＯＲフラッシュメモリのように、ＳＤカードへのランダムアクセスを可能とする方法がある（例えば、特許文献１を参照）。このとき、ＳＤカード等のＮＡＮＤフラッシュメモリに記憶したデータはセクタ単位でのリードしかできないため、ランダムアクセスが発生するプログラムの実行速度が極端に遅くなるという問題が発生する。
ランダムアクセスを高速に実行する方法として、ＳＤカード等に格納したプログラムをＲＡＭにロードしてから実行する方法がある（例えば、特許文献２を参照）。
【０００４】
また、ＲＡＭを持たない、或いは、ＲＡＭの空き容量が少なく、ＳＤカード等に格納したプログラムをＲＡＭにロードできない場合には、１セクタ分のバッファＲＡＭを準備し、ＣＰＵが指定したデータを含むセクタのリード結果をバッファＲＡＭに記憶しておき、次回以降のＣＰＵ指定データがバッファＲＡＭ内に存在する場合には、セクタリードを再実行することなく、指定データをリード可能にする方法もある（例えば、特許文献３を参照）。
【０００５】
さらに、バッファＲＡＭを２セクタ分以上準備しておき、ＣＰＵアクセス中のバッファＲＡＭの次セクタの内容を、もう一方のバッファＲＡＭに記憶しておき、この動作を繰り返すことで、連続アドレスに格納されたデータの実行を高速にする方法もある（例えば、特許文献４を参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、ＳＤカードの制御をハードウェアで自動化し、ＣＰＵからのＳＤカードへのランダムアクセスを可能とする方法の場合、ＣＰＵが実行命令をフェッチするためには、ハードウェアによるＳＤカードのセクタリードが完了するまで待つ必要があり、このときの待ち時間にＣＰＵが消費する電力が無駄になっているという問題があった。
【０００７】
本発明は上記した課題に鑑みてなされたもので、
本発明の目的は、ＳＤカード等の外付けメモリカードに格納したプログラムを実行するシステムの消費電力を低減した情報処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、一または複数の実行手段が実行するプログラムを記憶する記憶手段と、前記一または複数の実行手段へ供給するクロックを制御する第１の制御手段と、前記実行手段のブートデバイスとして前記記憶手段が選択されたとき、前記記憶手段をセクタ単位でアクセスし、前記実行手段が実行するプログラムを含むセクタをアクセスする間、前記第１の制御手段に対して前記クロックの状態を所定の状態に指示する第２の制御手段を備えたことを最も主要な特徴とする。
【発明の効果】
【０００９】
本発明によれば、セクタ単位でアクセスする不揮発性メモリに格納したプログラムを実行する際の消費電力を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例の情報処理装置の構成を示す。
【図２】通常ブート時のメモリマップを示す。
【図３】ＳＤブート時のメモリマップを示す。
【図４】ＳＤ制御部の構成を示す。
【図５】本発明のクロックを制御するシーケンスを示す。
【発明を実施するための形態】
【００１１】
以下、発明の実施の形態について図面により詳細に説明する。本発明は、セクタ単位でアクセスする不揮発性メモリの制御をハードウェアで自動化し、ＣＰＵが不揮発性メモリに記憶したプログラムを実行するに際して、セクタ単位でアクセスする不揮発性メモリの制御を自動で実行するハードウェアを備え、このハードウェアがセクタリードを自動実行中の場合に、ＣＰＵの動作クロックを停止する、または、周波数を低下させる。
【実施例１】
【００１２】
図１は、本発明の実施例の情報処理装置の構成を示す。Ｍａｉｎ＿ＣＰＵ１は主にデータ処理を実行し、Ｓｕｂ−ＣＰＵ２は主に外部デバイスとのインタフェースを制御する。ＳＤ制御部３はＳＤカードの規格に準拠してＳＤカード４を制御する。また、ＳＤカード４に記憶した実行プログラムでシステム（情報処理装置）をブートする際には、ＣＰＵからの指示なしでＳＤカード４の制御コマンドを発行することができ、ＣＰＵから指定されたアドレスのデータを含むセクタをリードし、指定されたアドレスのデータのみをリード結果として返すことができる。さらに、ＳＤカード４からのセクタリード実行中にＣＰＵを待たせる場合には、クロック制御部９に対してＣＰＵへ供給されるクロックを停止させる信号（ｍａｉｎ＿ｓｔｏｐ、ｓｕｂ＿ｓｔｏｐ）を発行（指示）する。
【００１３】
クロック制御部９は、ＳＤ制御部３からＭａｉｎ−ＣＰＵ１へ供給されるクロックを停止させる信号（ｍａｉｎ＿ｓｔｏｐ）を受信し、ｍａｉｎ＿ｓｔｏｐがアサートした場合に、Ｍａｉｎ−ＣＰＵ１へ供給されるクロック（ｃｌｋ＿ｍａｉｎ）を停止する。また、ＳＤ制御部３からＳｕｂ−ＣＰＵ２へ供給されるクロックを停止させる信号（ｓｕｂ＿ｓｔｏｐ）を受信し、ｓｕｂ＿ｓｔｏｐがアサートした場合に、Ｓｕｂ−ＣＰＵ２へ供給されるクロック（ｃｌｋ＿ｓｕｂ）を停止する。
【００１４】
ＳＤカード４には、通常はデータを記憶しておくが、ＳＤカード４からブートする際には、Ｍａｉｎ−ＣＰＵ１とＳｕｂ−ＣＰＵ２の実行プログラム（ブートプログラム）を記憶しておくブートデバイスとして機能する。通常ブートとＳＤブートの切り替えは、外部入力信号（ｂｏｏｔ＿ｓｅｌ）で切り替え可能としている。ＲＯＭ５は通常ブート、通常動作で使用するＭａｉｎ−ＣＰＵ１とＳｕｂ−ＣＰＵ２の実行プログラムを記憶する。
【００１５】
アドレス変換部６は、通常ブート時とＳＤブート時のブート開始アドレスを変更し、ＳＤブート時にはＲＯＭ５へのアクセスはできなくなる。アドレス変換部７は、Ｍａｉｎ−ＣＰＵ１とＳｕｂ−ＣＰＵ２のブート開始アドレスの競合を回避するために、Ｓｕｂ−ＣＰＵ２のブート開始アドレスを変更し、Ｓｕｂ−ＣＰＵ２から見たアドレス空間のゼロ番地が、ＲＯＭ５内の別のアドレスに対応するようにしている。
【００１６】
ＲＡＭ８はＭａｉｎ−ＣＰＵ１とＳｕｂ−ＣＰＵ２のワーク用であり、演算結果等のデータを記憶し、また、ＳＤカード４からリードしたデータ、或は、ＳＤカード４にライトするデータを記憶しておく。ＳＤカード４のリード／ライトはセクタ単位（一般には５１２Ｂｙｔｅ）であるため、リード／ライト時にＣＰＵの負荷を小さくするために、ＳＤ制御部３とＲＡＭ８の間のデータ転送はＣＰＵを介さずに実行できるようにしている。本発明では、着脱可能な記憶媒体であるＳＤカードを使用することにより、プログラムの変更、更新を容易に実行できる。
【００１７】
図２は、通常ブート時（信号ｂｏｏｔ＿ｓｅｌがネゲート中）のメモリマップ（Ｍａｉｎ−ＣＰＵ１側から見た場合）を示す。
【００１８】
ＲＯＭ５をアドレスｈ００００＿００００〜ｈ０００１＿ＦＦＦＦに割り当て、Ｍａｉｎ−ＣＰＵ１用の実行プログラムをアドレスｈ００００＿００００〜ｈ００００＿ＦＦＦＦに記憶し、Ｓｕｂ−ＣＰＵ２用の実行プログラムをアドレスｈ０００１＿００００〜ｈ０００１＿ＦＦＦＦに記憶している。ＲＡＭ８はアドレスｈ１０００＿００００〜ｈ１０００＿０７ＦＦに割り当て、後述するＳＤコントローラ制御レジスタをｈ２０００＿００００〜に割り当てている。
【００１９】
通常ブート時には、Ｍａｉｎ−ＣＰＵ１とＳｕｂ−ＣＰＵ２はＣＰＵから見たアドレスｈ００００＿００００に格納した命令をフェッチするようになっている。そこで、アドレス変換部７の動作により、Ｓｕｂ−ＣＰＵ２側からはアドレスｈ０００１＿００００がゼロ番地（ｈ００００＿００００）に見えるようにすることで、Ｍａｉｎ−ＣＰＵ１とＳｕｂ−ＣＰＵ２のアドレス競合を回避している。
【００２０】
Ｍａｉｎ−ＣＰＵ１またはＳｕｂ−ＣＰＵ２からＳＤカード４のデータにアクセスする際には、ＳＤコントローラ制御レジスタに所定の設定をすることで、ＲＡＭ８の指定領域に、ＳＤカード４のデータを持ってくることができる。ライトの場合には、ＲＡＭ８の指定領域にライトしたいデータを置いておき、ＳＤコントローラ制御レジスタに所定の設定をすることで、ＳＤカード４にライトすることができる。本実施例では、リード／ライトは５１２Ｂｙｔｅ単位で実行する。
【００２１】
図３は、ＳＤブート時（信号ｂｏｏｔ＿ｓｅｌがアサート中）のメモリマップ（Ｍａｉｎ−ＣＰＵ１側から見た場合）を示す。
【００２２】
Ｍａｉｎ−ＣＰＵ１のブート開始アドレスｈ００００＿００００〜と、Ｓｕｂ−ＣＰＵ２のブート開始アドレスｈ０００１＿００００〜にはＳＤカード４に記憶した実行プログラムが見えるようになっている。ここで、ＳＤカード４は規格に準拠したファイルフォーマットを使用しており、ＣＰＵの実行プログラムはユーザーデータ領域に記憶している。このため、ＳＤ制御部３が、ＣＰＵからのリード要求アドレスとＳＤカード４の物理アドレスの対応を判別し、所望のセクタのリードを実行することで、Ｍａｉｎ−ＣＰＵ１側からは図３に示すメモリマップが見えるようにしている。ＲＡＭ８とＳＤコントローラ制御レジスタのアドレス割り当ては通常ブート時と同じである。
【００２３】
図４は、ＳＤカード４を制御するＳＤ制御部３の構成を示す。ＳＤコントローラ３１は、ＳＤカードの規格に準拠してＳＤカード４を制御する。ＳＤコントローラ制御レジスタ３１１は、ＳＤコントローラ３１に含まれ、Ｍａｉｎ−ＣＰＵ１またはＳｕｂ−ＣＰＵ２またはＳＤブート制御部３３からアクセスし、ＳＤコントローラ３１を動作させるためのパラメータ、コマンドを設定する。また、ＳＤコントローラ制御レジスタ３１１は、アドレス空間（ｈ２０００＿００００〜）に割り当てられている。
【００２４】
ＤＭＡコントローラ３２は、ＳＤコントローラ３１がＳＤカード４からリードしたセクタ単位（本実施例では５１２Ｂｙｔｅ）のデータを、ＳＤブート制御部３３または、ＲＡＭ８へ転送する。また、ＳＤカード４にライトする際には、ＲＡＭ８に記憶してあるライト用のセクタ単位（本実施例では５１２Ｂｙｔｅ）のデータを取得し、ＳＤコントローラ３１へ転送し、ＳＤコントローラ３１がＳＤカード４にライトする。
【００２５】
セレクタ３４は、信号ｂｏｏｔ＿ｓｅｌがネゲートの場合には、ＣＰＵとセレクタ３５の間のアクセスを有効にし、ＣＰＵとＳＤブート制御部３３の間のアクセスを無効にする。信号ｂｏｏｔ＿ｓｅｌがアサートの場合には、ＣＰＵとセレクタ３５の間のアクセスを無効にし、ＣＰＵとＳＤブート制御部３３の間のアクセスを有効にする。
【００２６】
セレクタ３５は、信号ｂｏｏｔ＿ｓｅｌがネゲートの場合には、セレクタ３４とＳＤコントローラ３１の間のアクセスを有効にし、ＳＤブート制御部３３とＳＤコントローラ３１の間のアクセスを無効にする。信号ｂｏｏｔ＿ｓｅｌがアサートの場合には、セレクタ３４とＳＤコントローラ３１の間のアクセスを無効にし、ＳＤブート制御部３３とＳＤコントローラ３１の間のアクセスを有効にする。
【００２７】
セレクタ３６は、信号ｂｏｏｔ＿ｓｅｌがネゲートの場合には、ＲＡＭ８とＤＭＡコントローラ３２の間のアクセスを有効にし、信号ｂｏｏｔ＿ｓｅｌがアサートの場合には、ＲＡＭ８とＤＭＡコントローラ３２の間のアクセスを無効にする。
【００２８】
セレクタ３７は、信号ｂｏｏｔ＿ｓｅｌがネゲートの場合には、セレクタ３６とＤＭＡコントローラ３２の間のアクセスを有効にし、ＳＤブート制御部３３とＤＭＡコントローラ３２の間のアクセスを無効にする。信号ｂｏｏｔ＿ｓｅｌがアサートの場合には、セレクタ３６とＤＭＡコントローラ３２の間のアクセスを無効にし、ＳＤブート制御部３３とＤＭＡコントローラ３２の間のアクセスを有効にする。
【００２９】
ＳＤブート制御部３３は、信号ｂｏｏｔ＿ｓｅｌがアサートの場合に動作し、Ｍａｉｎ−ＣＰＵ１またはＳｕｂ−ＣＰＵ２からのアクセスを契機に動作する。  ＳＤブート制御部３３が、Ｍａｉｎ−ＣＰＵ１用のアドレス空間（ｈ００００＿００００〜ｈ００００＿ＦＦＦＦ）へのリードアクセスを検出すると、Ｍａｉｎ−ＣＰＵ１の指定するデータがＳＤカード４のどのセクタに記憶してあるかを判別し、対象セクタをリードするために必要なパラメータ、指令をＳＤコントローラ制御レジスタ３１１に設定することで、ＳＤコントローラ３１が動作し、所望のデータを含むセクタをリードする。リードしたセクタデータ（５１２Ｂｙｔｅ）は、Ｍａｉｎ用ＲＡＭ（Ａ）３３１に記憶し、要求されたデータをＭａｉｎ−ＣＰＵ１へ送信する。
【００３０】
次に、Ｍａｉｎ−ＣＰＵ１用のアドレス空間へのリードアクセスを検出すると、ＣＰＵが要求するデータがＭａｉｎ用ＲＡＭ（Ａ）３３１に記憶してあるかを判別し、データが記憶してあれば、そのデータをＭａｉｎ−ＣＰＵ１へ送信する。このようなＣＰＵからのリードアクセスの検出／データ送信と並行して、ＳＤブート制御部３３は、Ｍａｉｎ用ＲＡＭ（Ａ）３３１に記憶したセクタの次セクタのデータをＳＤカード４からリードし、Ｍａｉｎ用ＲＡＭ（Ｂ）３３２に記憶しておく。もし、Ｍａｉｎ−ＣＰＵ１の要求するデータが、Ｍａｉｎ用ＲＡＭ（Ａ）３３１に記憶していなかった場合は、Ｍａｉｎ用ＲＡＭ（Ｂ）３３２に記憶してあるかを判別し、データが記憶してあれば、そのデータをＭａｉｎ−ＣＰＵ１へ送信する。また、送信と並行して、Ｍａｉｎ用ＲＡＭ（Ｂ）３３２に記憶したセクタの次セクタのデータをＳＤカード４からリードし、Ｍａｉｎ用ＲＡＭ（Ａ）３３１に記憶する。もし、Ｍａｉｎ−ＣＰＵ１の要求するデータが、Ｍａｉｎ用ＲＡＭ（Ａ）３３１にもＭａｉｎ用ＲＡＭ（Ｂ）３３２にも記憶していない場合は、ｍａｉｎ＿ｓｔｏｐ信号をアサートしてＭａｉｎ−ＣＰＵ１の動作を停止させる。その後、要求データがＳＤカード４のどのセクタに記憶してあるかを判別し、対象セクタをリードする。
【００３１】
リードしたセクタデータはＭａｉｎ用ＲＡＭ（Ａ）３３１に記憶し、ｍａｉｎ＿ｓｔｏｐ信号をネゲートしてＭａｉｎ−ＣＰＵ１の動作を再開させた後、要求されたデータをＭａｉｎ−ＣＰＵ１へ送信する。このような動作を繰り返し実行することにより、Ｍａｉｎ−ＣＰＵ１のリードがシーケンシャルアクセスであり、かつ、セクタリードに要する時間が５１２ＢｙｔｅのデータをＭａｉｎ＿ＣＰＵ１がリードする時間よりも短い場合は、セクタリードによるＭａｉｎ−ＣＰＵ１の実行遅延は発生しない。さらに、セクタリードが発生する場合にはＭａｉｎ−ＣＰＵ１へ供給されるクロックを停止させるため、ＳＤブート中の消費電力を削減することができる。
【００３２】
ＳＤブート制御部３３が、Ｓｕｂ−ＣＰＵ２用のアドレス空間（ｈ０００１＿００００〜ｈ０００１＿ＦＦＦＦ）へのリードアクセスを検出すると、Ｓｕｂ−ＣＰＵ２の指定するデータがＳＤカード４のどのセクタに記憶してあるかを判別し、対象セクタをリードするために必要なパラメータ、指令をＳＤコントローラ制御レジスタ３１１に設定することで、ＳＤコントローラ３１が動作し、所望のデータを含むセクタをリードする。リードしたセクタデータ（５１２Ｂｙｔｅ）は、Ｓｕｂ用ＲＡＭ（Ａ）３３３に記憶し、要求されたデータをＳｕｂ−ＣＰＵ２へ送信する。
【００３３】
次に、Ｓｕｂ−ＣＰＵ２用のアドレス空間へのリードアクセスを検出すると、ＣＰＵが要求するデータがＳｕｂ用ＲＡＭ（Ａ）３３３に記憶してあるかを判別し、データが記憶してあれば、そのデータをＳｕｂ−ＣＰＵ２へ送信する。このようなＣＰＵからのリードアクセスの検出／データ送信と並行して、ＳＤブート制御部３３は、Ｓｕｂ用ＲＡＭ（Ａ）３３３に記憶したセクタの次セクタのデータをＳＤカード４からリードし、Ｓｕｂ用ＲＡＭ（Ｂ）３３４に記憶しておく。もし、Ｓｕｂ−ＣＰＵ２の要求するデータが、Ｓｕｂ用ＲＡＭ（Ａ）３３３に記憶していなかった場合は、Ｓｕｂ用ＲＡＭ（Ｂ）３３４に記憶してあるかを判別し、データが記憶してあれば、そのデータをＳｕｂ−ＣＰＵ２へ送信する。また、送信と並行して、Ｓｕｂ用ＲＡＭ（Ｂ）３３４に記憶したセクタの次セクタのデータをＳＤカード４からリードし、Ｓｕｂ用ＲＡＭ（Ａ）３３３に記憶する。もし、Ｓｕｂ−ＣＰＵ２の要求するデータが、Ｓｕｂ用ＲＡＭ（Ａ）３３３にもＳｕｂ用ＲＡＭ（Ｂ）３３４にも記憶していない場合は、ｓｕｂ＿ｓｔｏｐ信号をアサートしてＳｕｂ−ＣＰＵ２の動作を停止させる。その後、要求データがＳＤカード４のどのセクタに記憶してあるかを判別し、対象セクタをリードする。リードしたセクタデータはＳｕｂ用ＲＡＭ（Ａ）３３３に記憶し、ｓｕｂ＿ｓｔｏｐ信号をネゲートしてＳｕｂ−ＣＰＵ２の動作を再開させた後、要求されたデータをＳｕｂ−ＣＰＵ２へ送信する。
【００３４】
このような動作を繰り返し実行することにより、Ｓｕｂ−ＣＰＵ２のリードがシーケンシャルアクセスであり、かつ、セクタリードに要する時間が５１２ＢｙｔｅのデータをＳｕｂ−ＣＰＵ２がリードする時間よりも短い場合は、セクタリードによるＳｕｂ−ＣＰＵ２の実行遅延は発生しない。さらに、セクタリードが発生する場合にはＳｕｂ−ＣＰＵ２へ供給されるクロックを停止させるため、ＳＤブート中の消費電力を削減することができる。
【００３５】
本発明のＳＤブート制御部３３には、不揮発性メモリデバイスからのリード結果を１セクタ以上記憶するランダムアクセス可能な記憶領域を、複数のＣＰＵに対応して設けられているので、複数のＣＰＵが、セクタ単位でリード、ライトを実行する不揮発性メモリデバイスからブートする場合に、プログラム実行速度の低下を抑制することができる。また、ランダムアクセス可能な記憶領域は、少なくとも２セクタ以上のデータを記憶可能であり、ＣＰＵからのリード要求があったセクタのデータと、リード要求があったセクタの次セクタのデータを記憶しているので、各ＣＰＵが連続アドレスに記憶された命令を順番に実行する限り、セクタリードによるプログラム実行の待ち時間が発生しなくなり、プログラム実行速度の低下を抑制することができる。
【００３６】
図５は、ＳＤ制御部３の内部ＲＡＭにＣＰＵの要求データが記憶されていなかった場合に、セクタリード実行中のＣＰＵのクロックを制御するシーケンスを説明する図である。
【００３７】
Ｓｕｂ−ＣＰＵ２がＳＤ制御部３に対してリード命令（丸付き数字１）を発行すると、ＳＤ制御部３はｓｕｂ＿ｓｔｏｐをアサートする（クロック停止信号アサート（丸付き数字２））。クロック制御部９はｓｕｂ＿ｓｔｏｐのアサートを検出すると、Ｓｕｂ−ＣＰＵ２のクロックｃｌｋ＿ｓｕｂを停止する（クロック供給を停止（丸付き数字３））。ｃｌｋ＿ｓｕｂの停止後、ＳＤ制御部３はセクタリード処理（丸付き数字４）を実行する。セクタリード処理中に、Ｍａｉｎ−ＣＰＵ１からのリード命令（丸付き数字５）を受信した場合には、ｍａｉｎ＿ｓｔｏｐをアサート（クロック停止信号アサート（丸付き数字６））し、Ｍａｉｎ−ＣＰＵ１からのリード命令（丸付き数字５）の内容を記憶しておくが、実際にＭａｉｎ−ＣＰＵ１からのリード命令（丸付き数字５）に対応するのは、Ｓｕｂ−ＣＰＵ２への応答が終了した後である。クロック制御部９がｍａｉｎ＿ｓｔｏｐのアサートを検出すると、Ｍａｉｎ−ＣＰＵ１のクロックｃｌｋ＿ｍａｉｎを停止する（クロック供給を停止（丸付き数字７））。
【００３８】
ＳＤ制御部３がＳＤカード４からのセクタリード結果（丸付き数字８）を受信すると、リード結果をＳｕｂ用ＲＡＭ（Ａ）３３３、または、Ｓｕｂ用ＲＡＭ（Ｂ）３３４に記憶し、ｓｕｂ＿ｓｔｏｐをネゲートする（クロック停止信号ネゲート（丸付き数字９））。クロック制御部９がｓｕｂ＿ｓｔｏｐのネゲートを検出すると、Ｓｕｂ−ＣＰＵ２のクロックｃｌｋ＿ｓｕｂの供給を再開する（クロック供給を再開（丸付き数字１０））。ｃｌｋ＿ｓｕｂの供給再開後、ＳＤ制御部３は、リード命令（丸付き数字１）に対する応答データ（リード結果（丸付き数字１１））をＳｕｂ−ＣＰＵ２へ送信する。ＳＤ制御部３は、リード命令（丸付き数字１）に対する応答処理が終了すると、受信済みのリード命令（丸付き数字５）に応答するために、セクタリード処理（丸付き数字１２）を実行する。ＳＤカード４からのセクタリード結果（丸付き数字１３）を受信すると、リード結果をＭａｉｎ用ＲＡＭ（Ａ）３３１、または、Ｍａｉｎ用ＲＡＭ（Ｂ）３３２に記憶し、ｍａｉｎ＿ｓｔｏｐをネゲートする（クロック停止信号ネゲート（丸付き数字１４））。
【００３９】
クロック制御部９がｍａｉｎ＿ｓｔｏｐのネゲートを検出すると、Ｍａｉｎ−ＣＰＵ１のクロックｃｌｋ＿ｍａｉｎの供給を再開する（クロック供給を再開（丸付き数字１５））。ｃｌｋ＿ｍａｉｎの供給再開後、ＳＤ制御部３は、リード命令（丸付き数字５）に対する応答データ（リード結果（丸付き数字１６））をＭａｉｎ−ＣＰＵ１へ送信する。上記制御により、ＳＤブート中の消費電力を削減することができる。
【００４０】
本実施例では、信号ｍａｉｎ＿ｓｔｏｐ、ｓｕｂ＿ｓｔｏｐにより、ＣＰＵへ供給されるクロックを停止しているが、本発明はこれに限定されない。例えば、ＣＰＵのクロックとして、周波数の高いクロック供給するか、周波数の低いクロックを供給するかを選択するクロック制御部を備え、ＣＰＵのリード命令受信後に、ＣＰＵのクロックとして周波数の低いクロックを供給し、ＣＰＵのリード命令データを含むセクタをリードし、セクタリード終了後にＣＰＵのクロックとして周波数の高いクロックを供給するようにしてもよい。これにより、供給クロックの周波数を低下させることでも消費電力削減効果を得ることができる。
【符号の説明】
【００４１】
１  Ｍａｉｎ−ＣＰＵ  
２  Ｓｕｂ−ＣＰＵ
３  ＳＤ制御部
４  ＳＤカード
５  ＲＯＭ
６、７  アドレス変換部
８  ＲＡＭ
９  クロック制御部
【先行技術文献】
【特許文献】
【００４２】
【特許文献１】特開２００４−１３３８８１号公報
【特許文献２】特開２００５−１０９４２号公報
【特許文献３】特開２００６−４３８７号公報
【特許文献４】特開２００４−２２０５７５号公報
【図１】
2014106657.tif 000003
【図２】
2014106657.tif 000004
【図３】
2014106657.tif 000005
【図４】
2014106657.tif 000006
【図５】
2014106657.tif 000007