(57)【要約】  データ退避処理又はデータ復帰の際に消費される電力を低減可能なデータ退避システム及びデータ復帰システムを提供すること。  データ転送システムは、退避データを有する機能ブロックと、機能ブロックから転送された退避データを記憶する記憶部と、機能ブロックと記憶部とが接続された、特定ビット数のビット幅を有するバスと、データ退避処理時に退避期間クロックを機能ブロック及び記憶部に送り、データ復帰時に復帰期間クロックを機能ブロック及び記憶部に送る制御部とを備える。退避期間クロックに同期して、機能ブロックは、バスのビット幅数内の所定ビット数ずつ退避データをバスに送出し、記憶部は、バスを介して機能ブロックから順次送られた退避データを記憶する。復帰期間クロックに同期して、記憶部は、格納された退避データをバスのビット幅数ずつバスに送出し、機能ブロックは、バスから所定ビット数ずつ退避データを読み取る。
2008126418.tif 000002
【特許請求の範囲】
【請求項１】
退避データを有する少なくとも１つの機能ブロックと、
前記機能ブロックから転送された前記退避データを記憶する記憶部と、
前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、
前記機能ブロックから前記記憶部へ前記退避データを転送する際に退避期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備え、
前記機能ブロックは、
前記退避データを保持する第１のデータ保持部と、
前記退避期間クロックに同期して、前記第１のデータ保持部から前記バスのビット幅数内の所定ビット数ずつ退避データを読み取り、読み取った退避データを各機能ブロックに割り当てられた前記バスのラインに送出する第１の退避処理制御部と、を有し、
前記記憶部は、
前記バスを介して前記機能ブロックから転送された退避データを保持する第２のデータ保持部と、
前記退避期間クロックに同期して、前記バスから退避データを読み取り、読み取った退避データを前記第２のデータ保持部に格納する第２の退避処理制御部と、を有することを特徴とするデータ退避システム。
【請求項２】
請求項１に記載のデータ退避システムであって、
前記退避期間クロックの１クロック・サイクル毎に前記バスに送出する退避データの前記所定ビット数を、機能ブロック毎に設定するバス割当設定部を備えたことを特徴とするデータ退避システム。
【請求項３】
請求項２に記載のデータ退避システムであって、
前記第１の退避処理制御部は、前記第１のデータ保持部から読み取った退避データの前記バスへの送出が完了したか否かを示す退避完了フラグの状態を示す信号を前記バス割当設定部に送り、
前記バス割当設定部は、各機能ブロックの前記第１の退避処理制御部から送られた前記信号が示す前記退避完了フラグの状態に応じて、前記バスに送出する退避データの前記所定ビット数を機能ブロック毎に設定することを特徴とするデータ退避システム。
【請求項４】
請求項１に記載のデータ退避システムであって、
前記機能ブロックは、前記退避期間クロックの１クロック・サイクル毎に前記バスに送出する退避データの前記所定ビット数を前記第１の退避処理制御部に設定するバス割当設定部を有することを特徴とするデータ退避システム。
【請求項５】
請求項１に記載のデータ退避システムであって、
前記機能ブロックを複数備え、
前記複数の機能ブロックが複数のグループに分けられ、
前記制御部は、前記複数の機能ブロックのグループ毎に異なるタイミングで送出時間が重ならないよう前記退避期間クロックを送ることを特徴とするデータ退避システム。
【請求項６】
少なくとも１つの機能ブロックと、
前記機能ブロックが動作を再開するために必要な復帰データを記憶する記憶部と、
前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、
前記記憶部が記憶する前記復帰データを前記機能ブロックに転送する際に復帰期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備え、
前記記憶部は、
前記復帰データを保持する第１のデータ保持部と、
前記復帰期間クロックに同期して、前記第１のデータ保持部から前記復帰データを読み取り、読み取った復帰データを各機能ブロックに割り当てられた前記バスのラインに送出する第１の復帰処理制御部と、を有し、
前記機能ブロックは、
前記バスを介して前記記憶部から転送された復帰データを保持する第２のデータ保持部と、
前記復帰期間クロックに同期して、各機能ブロックに割り当てられた前記バスの所定ラインから所定ビット数ずつ復帰データを読み取り、読み取った復帰データを前記第２のデータ保持部に格納する第２の復帰処理制御部と、を有することを特徴とするデータ復帰システム。
【請求項７】
請求項６に記載のデータ復帰システムであって、
前記復帰期間クロックの１クロック・サイクル毎に前記バスから読み取る復帰データの前記所定ビット数を、機能ブロック毎に設定するバス割当設定部を備えたことを特徴とするデータ復帰システム。
【請求項８】
請求項７に記載のデータ復帰システムであって、
前記バス割当設定部は、前記復帰期間クロックの１クロック・サイクル毎に、前記バスから読み取る復帰データの前記所定ビット数を機能ブロック毎に設定することを特徴とするデータ復帰システム。
【請求項９】
請求項７に記載のデータ復帰システムであって、
前記第２の復帰処理制御部は、前記バスを介して前記記憶部から転送された前記復帰データの受領が完了したか否かを示す復帰完了フラグの状態を示す信号を前記バス割当設定部に送り、
前記バス割当設定部は、各機能ブロックの前記第２の復帰処理制御部から送られた前記信号が示す前記復帰完了フラグの状態に応じて、前記バスから読み取る復帰データの前記所定ビット数を機能ブロック毎に設定することを特徴とするデータ復帰システム。
【請求項１０】
請求項６に記載のデータ復帰システムであって、
前記機能ブロックは、前記復帰期間クロックの１クロック・サイクル毎に前記バスから読み取る復帰データの前記所定ビット数を前記第２の復帰処理制御部に設定するバス割当設定部を有することを特徴とするデータ復帰システム。
【請求項１１】
請求項６に記載のデータ復帰システムであって、
前記機能ブロックを複数備え、
前記複数の機能ブロックが複数のグループに分けられ、
前記制御部は、前記複数の機能ブロックのグループ毎に異なるタイミングで読取時間が重ならないよう前記復帰期間クロックを送ることを特徴とするデータ復帰システム。
【請求項１２】
退避データを有する少なくとも１つの機能ブロックと、
前記機能ブロックから転送された前記退避データを記憶する記憶部と、
前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、
前記機能ブロックから前記記憶部へ前記退避データを転送する際に退避期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備えたデータ退避システムが行うデータ退避方法であって、
前記制御部が、前記機能ブロック及び前記記憶部に前記退避期間クロックを送り、
前記機能ブロックが、前記退避期間クロックに同期して、前記バスのビット幅数内の所定ビット数ずつ退避データを各機能ブロックに割り当てられた前記バスのラインに送出し、
前記記憶部が、前記退避期間クロックに同期して、前記バスから退避データを読み取り、読み取った退避データを記憶することを特徴とするデータ退避方法。
【請求項１３】
少なくとも１つの機能ブロックと、
前記機能ブロックが動作を再開するために必要な復帰データを記憶する記憶部と、
前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、
前記記憶部が記憶する前記復帰データを前記機能ブロックに転送する際に復帰期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備えたデータ復帰システムが行うデータ復帰方法であって、
前記制御部が、前記機能ブロック及び前記記憶部に前記復帰期間クロックを送り、
前記記憶部が、前記復帰期間クロックに同期して、前記復帰データを各機能ブロックに割り当てられた前記バスのラインに送出し、
前記機能ブロックが、前記復帰期間クロックに同期して、各機能ブロックに割り当てられた前記バスの所定ラインから所定ビット数ずつ復帰データを読み取り、読み取った復帰データを記憶することを特徴とするデータ復帰方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ退避処理を行うデータ退避システム及びデータ退避方法、並びに、データ復帰処理を行うデータ復帰システム及びデータ復帰方法に関する。
【背景技術】
【０００２】
システムＬＳＩの消費電力を削減するために、動作が不要な機能モジュールへの電源供給を遮断する手法がある。この手法によれば、電源再供給後の正常動作を保証するために、機能モジュール内の必要なデータを一時的に退避させ、動作再開時にそのデータを再び機能モジュールへ復帰させる。このデータの退避と復帰は、一般的に、ＤＭＡコントローラ（ＤＭＡＣ）を用いて実施される。【０００３】
図１５は、ＤＭＡＣを用いてデータの退避及び復帰を行うシステムを示すブロック図である。図１５に示すシステムによれば、データを退避させる場合、ＣＰＵ１００２が予めＤＭＡＣ１００１の転送設定を行っておき、ＤＭＡＣ１００１が機能ブロックから退避させるデータを読み出してメモリ１０００へそのデータを書き込む。【０００４】
以上説明したデータ退避のために消費される電力削減のため、特許文献１に開示されているシステムＬＳＩは、データ退避時にクロック周波数を下げている。図１６は、特許文献１に開示されたシステムＬＳＩを示すブロック図である。図１６に示すシステムＬＳＩは、高速クロックを分周して低速クロックを生成する分周器２００５と、それらのクロックを選択するセレクタ２００６とを備える。当該システムＬＳＩは、通常モード時には高速クロックで動作するが、低消費電力モードに移行する際には高速クロックから低速クロックに切り替えて、低速クロックでデータの退避を行った後、電源供給を遮断する。また、通常モードに移行する際には電源供給を再開してデータの復帰を行った後、低速クロックから高速クロックに切り替える。このように、データの退避を低速クロックで行うことによって消費電力の削減を図っている。【０００５】
【特許文献１】特開２００６−３２３４６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記説明した図１６に示したシステムＬＳＩでは、データの退避が完了するまで機能ブロックへの電源供給を遮断することはできない。このため、低速クロックでデータ退避を行っているものの、データ退避のためのクロック速度の切り替えやデータ退避を行っている間の消費電力を根本から削減することはできない。また、データ退避に長い時間を要すると消費電力が増大する。さらに、データ退避が必要な機能ブロックの数が多いと消費電力が増大する。【０００７】
本発明の目的は、機能ブロックへの電源供給を遮断する際に行われるデータ退避処理の際に消費される電力を低減可能なデータ退避システム、及び機能ブロックへの電源供給を再開する際に行われるデータ復帰処理の際に消費される電力を低減可能なデータ復帰システム、並びにデータ退避方法及びデータ復帰方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、退避データを有する少なくとも１つの機能ブロックと、前記機能ブロックから転送された前記退避データを記憶する記憶部と、前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、前記機能ブロックから前記記憶部へ前記退避データを転送する際に退避期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備え、前記機能ブロックは、前記退避データを保持する第１のデータ保持部と、前記退避期間クロックに同期して、前記第１のデータ保持部から前記バスのビット幅数内の所定ビット数ずつ退避データを読み取り、読み取った退避データを各機能ブロックに割り当てられた前記バスのラインに送出する第１の退避処理制御部と、を有し、前記記憶部は、前記バスを介して前記機能ブロックから転送された退避データを保持する第２のデータ保持部と、前記退避期間クロックに同期して、前記バスから退避データを読み取り、読み取った退避データを前記第２のデータ保持部に格納する第２の退避処理制御部と、を有するデータ退避システムを提供する。【０００９】
また、本発明は、少なくとも１つの機能ブロックと、前記機能ブロックが動作を再開するために必要な復帰データを記憶する記憶部と、前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、前記記憶部が記憶する前記復帰データを前記機能ブロックに転送する際に復帰期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備え、前記記憶部は、前記復帰データを保持する第１のデータ保持部と、前記復帰期間クロックに同期して、前記第１のデータ保持部から前記復帰データを読み取り、読み取った復帰データを各機能ブロックに割り当てられた前記バスのラインに送出する第１の復帰処理制御部と、を有し、前記機能ブロックは、前記バスを介して前記記憶部から転送された復帰データを保持する第２のデータ保持部と、前記復帰期間クロックに同期して、各機能ブロックに割り当てられた前記バスの所定ラインから所定ビット数ずつ復帰データを読み取り、読み取った復帰データを前記第２のデータ保持部に格納する第２の復帰処理制御部と、を有するデータ復帰システムを提供する。【００１０】
また、本発明は、退避データを有する少なくとも１つの機能ブロックと、前記機能ブロックから転送された前記退避データを記憶する記憶部と、前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、前記機能ブロックから前記記憶部へ前記退避データを転送する際に退避期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備えたデータ退避システムが行うデータ退避方法であって、前記制御部が、前記機能ブロック及び前記記憶部に前記退避クロックを送り、前記機能ブロックが、前記退避期間クロックに同期して、前記バスのビット幅数内の所定ビット数ずつ退避データを各機能ブロックに割り当てられた前記バスのラインに送出し、前記記憶部が、前記退避期間クロックに同期して、前記バスから退避データを読み取り、読み取った退避データを記憶するデータ退避方法を提供する。【００１１】
さらに、本発明は、少なくとも１つの機能ブロックと、前記機能ブロックが動作を再開するために必要な復帰データを記憶する記憶部と、前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、前記記憶部が記憶する前記復帰データを前記機能ブロックに転送する際に復帰期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備えたデータ復帰システムが行うデータ復帰方法であって、前記制御部が、前記機能ブロック及び前記記憶部に前記復帰期間クロックを送り、前記記憶部が、前記復帰期間クロックに同期して、前記復帰データを各機能ブロックに割り当てられた前記バスのラインに送出し、前記機能ブロックが、前記復帰期間クロックに同期して、各機能ブロックに割り当てられた前記バスの所定ラインから所定ビット数ずつ復帰データを読み、読み取った復帰データを記憶するデータ復帰方法を提供する。
【発明の効果】
【００１２】
本発明に係るデータ退避システム及びデータ復帰システム、並びにデータ退避方法及びデータ復帰方法によれば、データ退避及びデータ復帰が迅速に行われるため、機能ブロックへの電源供給を遮断する際に行われるデータ退避処理、又は機能ブロックへの電源供給を再開する際に行われるデータ復帰の際に消費される電力を低減することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態のデータ転送システムを示すブロック図
【図２】第１の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャート
【図３】第２の実施形態のデータ転送システムを示すブロック図
【図４】第２の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャート
【図５】第３の実施形態のデータ転送システムを示すブロック図
【図６】第３の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャート
【図７】第４の実施形態のデータ退避システムを示すブロック図
【図８】第４の実施形態のデータ退避システムがデータ退避処理を行う際のタイムチャート
【図９】第５の実施形態のデータ復帰システムを示すブロック図
【図１０】第５の実施形態のデータ復帰システムがデータ復帰処理を行う際のタイムチャート
【図１１】第６の実施形態のデータ退避システムを示すブロック図
【図１２】第６の実施形態のデータ退避システムがデータ退避処理を行う際のタイムチャート
【図１３】第７の実施形態のデータ復帰システムを示すブロック図
【図１４】第７の実施形態のデータ復帰システムがデータ復帰処理を行う際のタイムチャート
【図１５】ＤＭＡＣを用いてデータの退避及び復帰を行うシステムを示すブロック図
【図１６】特許文献１に開示されたシステムＬＳＩを示すブロック図
【符号の説明】
【００１４】
１０，１１  クロック制御部
２０Ａ〜２０Ｄ，２１Ａ〜２１Ｄ  機能ブロック
２０１Ａ〜２０１Ｄ，２１１Ａ〜２１１Ｄ  データ保持部
２０２Ａ〜２０２Ｄ，２１２Ａ〜２１２Ｄ  退避処理制御部
２０３Ａ〜２０３Ｄ，２１３Ａ〜２１３Ｄ  復帰処理制御部
３  バス
４０  記憶部
４０１  退避処理制御部
４０２  復帰処理制御部
４０３  データ保持部
７  ビット幅設定部
１０１，２０１  クロック発生源
１０２  退避制御部
１０３，２０３  バス
１０７  退避処理設定部
１２０Ａ〜１２０Ｄ，２２０Ａ〜２２０Ｄ，３２０Ａ〜３２０Ｄ，４２０Ａ〜４２０Ｄ  機能ブロック
１２１Ａ〜１２１Ｄ，２２１Ａ〜２２１Ｄ，３２１Ａ〜３２１Ｄ，４２１Ａ〜４２１Ｄ  データ保持部
１２２Ａ〜１２２Ｄ，３２２Ａ〜３２２Ｄ  退避処理制御部
１２３Ａ〜１２３Ｄ  退避処理設定部
１４０，２４０  記憶部
１４１  退避処理制御部
１４２，２４２  データ保持部
２０２  復帰制御部
２０７  復帰処理設定部
２２２Ａ〜２２２Ｄ，４２２Ａ〜４２２Ｄ  復帰処理制御部
２２３Ａ〜２２３Ｄ  復帰処理設定部
２４１  復帰処理制御部１０００  メモリ
１００１  ＤＭＡＣ１００２  ＣＰＵ
１００３  バス
１００４Ａ〜１００４Ｄ  機能ブロック
２０００  ＲＯＭ
２００１  ＲＡＭ
２００２  ＣＰＵ
２００３  ＳＩＯ
２００４  外部記憶装置
２００５  分周器
２００６  ＳＥＬ
２００７  ＯＲ
２００８  割込検出回路
２００９  ＦＦ
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について、図面を参照して説明する。【００１６】
（第１の実施形態）
図１は、第１の実施形態のデータ転送システムを示すブロック図である。図１に示すように、システムＬＳＩ上に搭載された第１の実施形態のデータ転送システムは、クロック制御部１０と、機能ブロック２０Ａ〜２０Ｄと、バス３と、記憶部４０とを備える。機能ブロック２０Ａ〜２０Ｄは、それぞれ、データ保持部２０１Ａ〜２０１Ｄと、退避処理制御部２０２Ａ〜２０２Ｄと、復帰処理制御部２０３Ａ〜２０３Ｄとを有する。また、記憶部４０は、退避処理制御部４０１と、復帰処理制御部４０２と、データ保持部４０３とを有する。なお、図１に示した例では、記憶部４０はデータ保持部４０３を１つ有するが、複数のデータ保持部４０３を有しても良い。【００１７】
本実施形態では、制御部の一例として、クロック制御部１０を用いた場合を示す。また、第２のデータ保持部の一例として、機能ブロック２０Ａ〜２０Ｄがそれぞれ有するデータ保持部２０１Ａ〜２０１Ｄを用いた場合を示す。また、第１の退避処理制御部の一例として、機能ブロック２０Ａ〜２０Ｄがそれぞれ有する退避処理制御部２０２Ａ〜２０２Ｄを用いた場合を示す。また、第２の復帰処理制御部の一例として、機能ブロック２０Ａ〜２０Ｄがそれぞれ有する復帰処理制御部２０３Ａ〜２０３Ｄを用いた場合を示す。また、第１のデータ保持部の一例として、記憶部４０が有するデータ保持部４０３を用いた場合を示す。また、第２の退避処理制御部の一例として、記憶部４０が有する退避処理制御部４０１を用いた場合を示す。さらに、第１の復帰処理制御部の一例として、記憶部４０が有する復帰処理制御部４０２を用いた場合を示す。【００１８】
クロック制御部１０は、データ退避処理を行う際、機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に退避クロック６を送る。なお、本実施形態では、退避期間クロックの一例として退避クロック６が用いられている。また、クロック制御部１０は、データ復帰処理を行う際、機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に復帰クロック５を送る。なお、復帰期間クロックの一例として復帰クロック５が用いられている。【００１９】
機能ブロック２０Ａ〜２０Ｄが有するデータ保持部２０１Ａ〜２０１Ｄは、レジスタ等の記録媒体である。データ保持部２０１Ａ〜２０１Ｄには、動作が不要な機能ブロックへの電源供給を遮断する際に記憶部４０へ退避させる必要のあるデータ（以下「退避データ」という。）が格納されている。機能ブロック２０Ａ〜２０Ｄが有する退避処理制御部２０２Ａ〜２０２Ｄは、クロック制御部１０から退避クロック６が送られたとき、この退避クロック６に同期して、データ保持部２０１Ａ〜２０１Ｄから所定ビット数ずつ退避データを読み出して、バス３の各機能ブロックに割り当てられたラインに送出する。機能ブロック２０Ａ〜２０Ｄが有する復帰処理制御部２０３Ａ〜２０３Ｄは、クロック制御部１０から復帰クロック５が送られたとき、この復帰クロック５に同期して、バス３の各機能ブロックに割り当てられたラインから所定ビット数ずつ退避データを読み出してデータ保持部２０１Ａ〜２０１Ｄに書き込む。【００２０】
バス３は、機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に接続され、３２ビットのビット幅を有するデータ転送バスである。データ退避処理又はデータ復帰処理が行われる際、バス３の０〜７ビット目のラインの８ビットが機能ブロック２０Ａに割り当てられ、８〜１５ビット目のラインの８ビットが機能ブロック２０Ｂに割り当てられ、１６〜２３ビット目のラインの８ビットが機能ブロック２０Ｃに割り当てられ、２４〜３１ビット目のラインの８ビットが機能ブロック２０Ｄに割り当てられる。【００２１】
記憶部４０が有するデータ保持部４０３は、不揮発性の記録媒体である。データ保持部４０３には、バス３を介して機能ブロック２０Ａ〜２０Ｄから順次送られた３２ビットの退避データが格納される。記憶部４０が有する退避処理制御部４０１は、クロック制御部１０から退避クロック６が送られたとき、この退避クロック６に同期して、バス３上を転送された３２ビットの退避データをデータ保持部４０３に順次書き込む。記憶部４０が有する復帰処理制御部４０２は、クロック制御部１０から復帰クロック５が送られたとき、この復帰クロック５に同期して、退避処理制御部４０１によって書き込まれた退避データをデータ保持部４０３から３２ビットずつ読み出してバス３に送出する。【００２２】
図２は、第１の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャートである。以下、第１の実施形態のデータ転送システムが行うデータ退避処理について説明する。クロック制御部１０がデータ退避処理の実行を決定すると、クロック制御部１０は、機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に退避クロック６を送る。退避クロック６を検出した機能ブロック２０Ａ〜２０Ｄの退避処理制御部２０２Ａ〜２０２Ｄは、退避クロック６に同期して、データ保持部２０１Ａ〜２０１Ｄからそれぞれ８ビットの退避データを並行して順次読み出してバス３に送出する。退避クロック６を検出した記憶部４０の退避処理制御部４０１は、データ保持部４０３への書き込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、退避クロック６に同期して、バス３から順次受け取った３２ビットの退避データをデータ保持部４０３に書き込む。【００２３】
次に、第１の実施形態のデータ転送システムが行うデータ復帰処理について説明する。クロック制御部１０がデータ復帰処理の実行を決定すると、クロック制御部１０は、機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に復帰クロック５を送る。復帰クロック５を検出した記憶部４０の復帰処理制御部４０２は、データ保持部４０３からの読み出しを許可又は禁止するリードイネーブル信号をイネーブル（許可）に設定し、復帰クロック５に同期して、退避データをデータ保持部４０３から３２ビットずつ読み出してバス３に送出する。復帰クロック５を検出した機能ブロック２０Ａ〜２０Ｄの復帰処理制御部２０３Ａ〜２０３Ｄは、復帰クロック５に同期して、バス３上を転送されたデータを順次読み出してデータ保持部２０１Ａ〜２０１Ｄに書き込む。【００２４】
以上説明したように、本実施形態のデータ転送システムによれば、退避処理および復帰処理専用バスを新たに設けることなく、バス３に接続されている各機能ブロックに退避クロックおよび復帰クロックを送出している間、通常の転送で使用しているバス３を退避処理および復帰処理専用バスとさせ、バス３を介して各機能ブロックから退避データが記憶部４０に直接送られることによってデータ退避処理が行われ、同様に、バス３を介して記憶部４０から復帰のためのデータが各機能ブロックに直接送られることによってデータ復帰処理が行われる。このように、従来必要であった転送設定等の処理が行われることなく、かつ、機能ブロックと記憶部４０との間のデータ転送がＤＭＡＣ等の他のブロックを介することなく行われるため、従来と比較して、データ退避及びデータ復帰が迅速に行われる。データ退避及びデータ復帰が迅速に行われ、かつ、従来必要であった処理及び機能ブロックと記憶部４０との間のデータ転送が簡素化されたため、データ退避及びデータ復帰の際に消費される電力が低減する。【００２５】
また、本実施形態のデータ転送システムによれば、データ退避処理又はデータ復帰処理を行う機能ブロックが複数ある場合、各機能ブロックのデータ転送処理又はデータ復帰処理を並行して行うため、データ退避処理を行う機能ブロックを切り替えるといったオーバーヘッドがない。したがって、データ退避又はデータ復帰が迅速に行われる。このように、データ退避処理又はデータ復帰処理を行う機能ブロックが複数ある場合であってもデータ退避及びデータ復帰が迅速に行われるため、データ退避及びデータ復帰の際に消費される電力が低減する。【００２６】
（第２の実施形態）
図３は、第２の実施形態のデータ転送システムを示すブロック図である。第２の実施形態のデータ転送システムが第１の実施形態のデータ転送システムと異なる点は、ビット幅設定部７を備える点である。また、第２の実施形態のデータ転送システムは、機能ブロック２０Ａ〜２０Ｄの代わりに機能ブロック２１Ａ〜２１Ｄを備える。この点以外は第１の実施形態と同様であり、図３において、図１と共通する構成要素には同じ参照符号が付され、当該構成要素の説明は省略する。【００２７】
なお、本実施形態では、バス割当設定部の一例として、ビット幅設定部７が用いられた場合を示す。また、第１のデータ保持部及び第２のデータ保持部の一例として、機能ブロック２１Ａ〜２１Ｄがそれぞれ有するデータ保持部２１１Ａ〜２１１Ｄが用いられた場合を示す。また、第１の退避処理制御部の一例として、機能ブロック２１Ａ〜２１Ｄがそれぞれ有する退避処理制御部２１２Ａ〜２１２Ｄが用いられた場合を示す。また、第２の復帰処理制御部の一例として、機能ブロック２１Ａ〜２１Ｄがそれぞれ有する復帰処理制御部２１３Ａ〜２１３Ｄが用いられた場合を示す。【００２８】
ビット幅設定部７は、データ退避処理及びデータ復帰処理が行われる際に機能ブロック２１Ａ〜２１Ｄと記憶部４０との間でデータを転送するバス３上の、機能ブロック毎のビット幅の割り当てを設定する。すなわち、ビット幅設定部７は、各機能ブロックの退避処理制御部が退避クロック６の１クロック・サイクル毎にバス３に送出する退避データのビット数、及び各機能ブロックの復帰処理制御部が復帰クロック５の１クロック・サイクル毎にバス３から読み出す退避データのビット数を、機能ブロック毎に設定する。【００２９】
機能ブロック毎のビット幅の割り当てはビット幅設定情報によって一意に決定される。例えば、ビット幅設定情報「１」の場合は、バス３の０〜１５ビット目のラインの１６ビットが機能ブロック２１Ａに割り当てられ、１６〜２３ビット目のラインの８ビットが機能ブロック２１Ｂに割り当てられ、２４〜２８ビット目のラインの４ビットが機能ブロック２１Ｃに割り当てられ、２９〜３１ビット目のラインの４ビットが機能ブロック２１Ｄに割り当てられる。【００３０】
本実施形態の機能ブロック２１Ａ〜２１Ｄは、それぞれ、データ保持部２１１Ａ〜２１１Ｄと、退避処理制御部２１２Ａ〜２１２Ｄと、復帰処理制御部２１３Ａ〜２１３Ｄとを有する。データ保持部２１１Ａ〜２１１Ｄは、レジスタ等の記録媒体である。データ保持部２１１Ａ〜２１１Ｄには、電源供給を遮断する際に記憶部４０へ退避させる必要のあるデータ（退避データ）が格納されている。退避処理制御部２１２Ａ〜２１２Ｄは、クロック制御部１０から退避クロック６が送られたとき、ビット幅設定部７からビット幅設定情報を読み出し、退避クロック６に同期して、データ保持部２１１Ａ〜２１１Ｄからビット幅設定情報に応じたビット数ずつ退避データを読み出して、バス３の各機能ブロックに割り当てられたラインに送出する。復帰処理制御部２１３Ａ〜２１３Ｄは、クロック制御部１０から復帰クロック５が送られたとき、ビット幅設定部７からビット幅設定情報を読み出し、復帰クロック５に同期して、バス３の各機能ブロックに割り当てられたラインからビット幅設定情報に応じたビット数ずつ退避データを読み出してデータ保持部２１１Ａ〜２１１Ｄに書き込む。【００３１】
バス３は、機能ブロック２１Ａ〜２１Ｄ及び記憶部４０に接続されている３２ビット幅のデータ転送バスである。データ退避処理及びデータ復帰処理が行われる際、ビット幅設定部７によって設定されたビット幅設定情報に従って、３２ビット幅のバス３の一部が機能ブロック２１Ａ、機能ブロック２１Ｂ、機能ブロック２１Ｃ及び機能ブロック２１Ｄにそれぞれ割り当てられる。【００３２】
図４は、第２の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャートである。以下、第２の実施形態のデータ転送システムが行うデータ退避処理について説明する。データ退避処理が実行される前に、バス３の機能ブロック毎のビット幅の割り当てをビット幅設定部７に設定する。クロック制御部１０がデータ退避処理の実行を決定すると、クロック制御部１０は、機能ブロック２１Ａ〜２１Ｄ及び記憶部４０に退避クロック６を送る。退避クロック６を検出した機能ブロック２１Ａ〜２１Ｄの退避処理制御部２１２Ａ〜２１２Ｄは、ビット幅設定部７からビット幅設定情報を読み出し、退避クロック６に同期して、データ保持部２１１Ａ〜２１１Ｄからビット幅設定情報に応じたビット数の退避データを並行して順次読み出してバス３に送出する。図４（ａ）に示す例では、退避処理制御部２１２Ａ〜２１２Ｄは、データ保持部２１１Ａから１６ビット、データ保持部２１１Ｂから８ビット、データ保持部２１１Ｃから４ビット、データ保持部２１１Ｄから４ビットのデータを順次読み出す。退避クロック６を検出した記憶部４０の退避処理制御部４０１は、データ保持部４０３への書き込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、退避クロック６に同期して、バス３から順次受け取った３２ビットの退避データをデータ保持部４０３に書き込む。【００３３】
次に、第２の実施形態のデータ転送システムが行うデータ復帰処理について説明する。クロック制御部１０がデータ復帰処理の実行を決定すると、クロック制御部１０は、機能ブロック２１Ａ〜２１Ｄ及び記憶部４０に復帰クロック５を送る。復帰クロック５を検出した記憶部４０の復帰処理制御部４０２は、データ保持部４０３からの読み出しを許可又は禁止するリードイネーブル信号をイネーブル（許可）に設定し、復帰クロック５に同期して、退避データをデータ保持部４０３から３２ビットずつ読み出してバス３に送出する。復帰クロック５を検出した機能ブロック２１Ａ〜２１Ｄの復帰処理制御部２１３Ａ〜２１３Ｄは、ビット幅設定部７からビット幅設定情報を読み出し、復帰クロック５に同期して、バス３上を転送されたデータの内、ビット幅設定情報に応じたビット数のデータを順次それぞれ読み出してデータ保持部２１１Ａ〜２１１Ｄに書き込む。図４（ｂ）に示す例では、復帰処理制御部２１３Ａ〜２１３Ｄは、バス３の０〜１５ビット目の１６ビットのデータをデータ保持部２１１Ａに書き込み、１６〜２３ビット目の８ビットのデータをデータ保持部２１１Ｂに書き込み、２４〜２８ビット目の４ビットのデータをデータ保持部２１１Ｃに書き込み、２９〜３１ビット目の４ビットのデータをデータ保持部２１１Ｄに書き込む。【００３４】
以上説明したように、本実施形態のデータ転送システムによれば、各機能ブロックの退避データのデータサイズに応じて、各機能ブロックに割り当てるバス３上のビット幅を調整することができる。したがって、複数の機能ブロックの各退避データのデータサイズが異なる場合であっても、複数の機能ブロックのデータ退避及びデータ復帰に要する時間が最短となるよう設定できる。【００３５】
なお、本実施形態では、バス３上の機能ブロック毎のビット幅がビット幅設定情報としてビット幅設定部７に設定されるが（［００２４］参照）、ビット幅設定情報を用いないで機能ブロックごとにビット幅を直接設定しても良い。【００３６】
（第３の実施形態）
図５は、第３の実施形態のデータ転送システムを示すブロック図である。第３の実施形態のデータ転送システムが第１の実施形態のデータ転送システムと異なる点は、クロック制御部１０の代わりにクロック制御部１１を備える点である。この点以外は第１の実施形態と同様であるため、図５において、図１と共通する構成要素には同じ参照符号が付され、当該構成要素の説明は省略する。【００３７】
第１の実施形態のクロック制御部１０から機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に送られる退避クロック６及び復帰クロック５はそれぞれ共通であるが、第３の実施形態では、機能ブロック２０Ａ，２０Ｂに送られる退避クロック６０及び復帰クロック５０、機能ブロック２０Ｃ，２０Ｄに送られる退避クロック６１及び復帰クロック５１、並びに記憶部４０に送られる退避クロック６２及び復帰クロック５２はそれぞれ異なる。すなわち、本実施形態のクロック制御部１１は、データ退避処理を行う際、機能ブロック２０Ａ，２０Ｂに退避クロック６０を送り、機能ブロック２０Ｃ，２０Ｄに退避クロック６１を送り、記憶部４０に退避クロック６２を送る。なお、退避クロック６０の送出タイミングと退避クロック６１の送出タイミングは異なり、各退避クロックの送出時間は重ならない。但し、退避クロック６２は、退避クロック６０の送出時間及び退避クロック６１の送出時間の間送出される。また、クロック制御部１１は、データ復帰処理を行う際、機能ブロック２０Ａ，２０Ｂに復帰クロック５０を送り、機能ブロック２０Ｃ，２０Ｄに復帰クロック５１を送り、記憶部４０に復帰クロック５２を送る。なお、復帰クロック５０の送出タイミングと復帰クロック５１の送出タイミングは異なり、各復帰クロックの送出時間は重ならない。但し、復帰クロック５２は、復帰クロック５０の送出時間及び復帰クロック５１の送出時間の間送出される。【００３８】
機能ブロック２０Ａ〜２０Ｄ及び記憶部４０はそれぞれ送られた退避クロック又は復帰クロックに応じて第１の実施形態と同様に動作する。すなわち、機能ブロック２０Ａ，２０Ｂは、退避クロック６０又は復帰クロック５０を検出したときに第１の実施形態と同様の動作を行い、機能ブロック２０Ｃ，２０Ｄは、退避クロック６１又は復帰クロック５１を検出したときに第１の実施形態と同様の動作を行い、記憶部４０は退避クロック６２又は復帰クロック５２を検出したときに第１の実施形態と同様の動作を行う。【００３９】
本実施形態においてデータ退避処理又はデータ復帰処理を実施する際、バス３の０〜１５ビット目のラインの１６ビットが機能ブロック２０Ａと機能ブロック２０Ｃに、１６〜３１ビット目のラインの１６ビットが機能ブロック２０Ｂと機能ブロック２０Ｄにそれぞれ割り当てられる。【００４０】
図６は、第３の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャートである。以下、第３の実施形態のデータ転送システムが行うデータ退避処理について説明する。クロック制御部１１がデータ退避処理の実行を決定すると、クロック制御部１１は、機能ブロック２０Ａ，２０Ｂに退避クロック６０を送り、記憶部４０に退避クロック６２を送る。退避クロック６０を検出した機能ブロック２０Ａ，２０Ｂの退避処理制御部２０２Ａ，２０２Ｂは、退避クロック６０に同期して、データ保持部２０１Ａ，２０１Ｂからそれぞれ１６ビットの退避データを並行して順次読み出してバス３に送出する。退避クロック６２を検出した記憶部４０の退避処理制御部４０１は、データ保持部４０３への書き込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、退避クロック６２に同期して、バス３から順次受け取った３２ビットの退避データをデータ保持部４０３に書き込む。【００４１】
機能ブロック２０Ａ，２０Ｂのデータ退避完了後、クロック制御部１１は、機能ブロック２０Ａ，２０Ｂへの退避クロック６０の送出を停止し、その直後、機能ブロック２０Ｃ，２０Ｄに退避クロック６１を送る。なお、機能ブロック２０Ａ，２０Ｂへの退避クロック６０の送出は停止しても、記憶部４０への退避クロック６２の送出は続行される。退避クロック６１を検出した機能ブロック２０Ｃ，２０Ｄの退避処理制御部２０２Ｃ，２０２Ｄは、退避クロック６１に同期して、データ保持部２０１Ｃ，２０１Ｄからそれぞれ１６ビットの退避データを並行して順次読み出してバス３に送出する。記憶部４０の退避処理制御部４０１は退避クロック６２を検出したままであるため、ライトイネーブル信号をイネーブルにしたまま、退避クロック６２に同期して、バス３から順次受け取った３２ビットの退避データをデータ保持部４０３に書き込む。【００４２】
次に、第３の実施形態のデータ転送システムが行うデータ復帰処理について説明する。クロック制御部１１がデータ復帰処理の実行を決定すると、クロック制御部１１は、機能ブロック２０Ａ，２０Ｂに復帰クロック５０を送り、記憶部４０に復帰クロック５２を送る。復帰クロック５２を検出した記憶部４０の復帰処理制御部４０２は、データ保持部４０３からの読み出しを許可又は禁止するリードイネーブル信号をイネーブル（許可）に設定し、復帰クロック５２に同期して、退避データをデータ保持部４０３から３２ビットずつ読み出してバス３に送出する。復帰クロック５０を検出した機能ブロック２０Ａ，２０Ｂの復帰処理制御部２０３Ａ，２０３Ｂは、復帰クロック５０に同期して、バス３上を転送されたデータを順次読み出してデータ保持部２０１Ａ，２０１Ｂに１６ビットずつ書き込む。【００４３】
機能ブロック２０Ａ，２０Ｂのデータ復帰完了後、クロック制御部１１は、機能ブロック２０Ａ，２０Ｂへの復帰クロック５０の送出を停止し、その直後、機能ブロック２０Ｃ，２０Ｄに復帰クロック５１を送る。なお、機能ブロック２０Ａ，２０Ｂへの復帰クロック５０の送出は停止しても、記憶部４０への復帰クロック５２の送出は続行される。記憶部４０の退避処理制御部４０１は復帰クロック５２を検出したままであるため、リードイネーブル信号をイネーブルにしたまま、復帰クロック５２に同期して、退避データをデータ保持部４０３から３２ビットずつ読み出してバス３に送出する。復帰クロック５１を検出した機能ブロック２０Ｃ，２０Ｄの復帰処理制御部２０３Ｃ〜２０３Ｄは、復帰クロック５１に同期して、バス３上を転送されたデータを順次読み出してデータ保持部２０１Ｃ，２０１Ｄに１６ビットずつ書き込む。【００４４】
以上説明したように、本実施形態のデータ転送システムによれば、データ退避処理又はデータ復帰処理を行う機能ブロックが複数あり、かつ、各機能ブロックの１回当たりに送出する退避データの合計ビット数がバス３のビット幅を超える場合であっても、機能ブロック毎又は一部の複数の機能ブロック毎にデータ退避又はデータ復帰が行われる。各機能ブロックの退避処理制御部がバス３に送出するビット数又は復帰処理制御部がバス３から読み出すビット数が大きい場合であっても、機能ブロック毎又は一部の複数の機能ブロック毎にデータ退避又はデータ復帰を順次行うことができる。【００４５】
（第４の実施形態）
図７は、第４の実施形態のデータ退避システムを示すブロック図である。図７に示すように、システムＬＳＩ上に搭載された第４の実施形態のデータ退避システムは、クロック発生源１０１と、退避制御部１０２と、機能ブロック１２０Ａ〜１２０Ｄと、バス１０３と、記憶部１４０とを備える。機能ブロック１２０Ａ〜１２０Ｄは、それぞれ、データ保持部１２１Ａ〜１２１Ｄと、退避処理制御部１２２Ａ〜１２２Ｄと、退避処理設定部１２３Ａ〜１２３Ｄとを有する。また、記憶部１４０は、退避処理制御部１４１と、データ保持部１４２とを有する。なお、図７に示した例では、記憶部１４０はデータ保持部１４２を１つ有するが、複数のデータ保持部１４２を有しても良い。【００４６】
なお、本実施形態では、制御部の一例として、クロック発生源１０１及び退避制御部１０２が用いられた場合を示す。また、第１のデータ保持部の一例として、機能ブロック１２０Ａ〜１２０Ｄがそれぞれ有するデータ保持部１２１Ａ〜１２１Ｄが用いられた場合を示す。また、第１の退避処理制御部の一例として、機能ブロック１２０Ａ〜１２０Ｄがそれぞれ有する退避処理制御部１２２Ａ〜１２２Ｄが用いられた場合を示す。また、バス割当設定部の一例として、機能ブロック１２０Ａ〜１２０Ｄがそれぞれ有する退避処理設定部１２３Ａ〜１２３Ｄが用いられた場合を示す。また、第２のデータ保持部の一例として、記憶部１４０が有するデータ保持部１４２が用いられた場合を示す。また、第２の退避処理制御部の一例として、記憶部１４０が有する退避処理制御部１４１が用いられた場合を示す。【００４７】
クロック発生源１０１は、本実施形態のシステムが動作中、機能ブロック１２０Ａ〜１２０Ｄ及び記憶部１４０にクロック１０５を送る。また、退避制御部１０２は、データ退避処理を行う際、機能ブロック１２０Ａ〜１２０Ｄ及び記憶部１４０に退避イネーブル信号１０６を送る。なお、本実施形態では、退避期間クロックの一例として、退避制御部１０２から退避イネーブル信号１０６が出力されている間のクロック１０５が用いられている。【００４８】
機能ブロック１２０Ａ〜１２０Ｄが有するデータ保持部１２１Ａ〜１２１Ｄは、レジスタ等の記録媒体である。データ保持部１２１Ａ〜１２１Ｄには、動作が不要な機能ブロックへの電源供給を遮断する際に記憶部１４０へ退避させる必要のあるデータ（以下「退避データ」という。）が格納されている。機能ブロック１２０Ａ〜１２０Ｄが有する退避処理制御部１２２Ａ〜１２２Ｄは、退避制御部１０２から退避イネーブル信号１０６が送られている間、クロック発生源１０１から送られたクロック１０５に同期して、退避処理設定部１２３Ａ〜１２３Ｄから指示された所定ビット数の退避データをデータ保持部１２１Ａ〜１２１Ｄから読み出して、バス１０３の各機能ブロックに割り当てられたラインに送出する。機能ブロック１２０Ａ〜１２０Ｄが有する退避処理設定部１２３Ａ〜１２３Ｄは、クロック１０５の１クロック・サイクル毎に、バス１０３のビット幅の割り当てを退避処理制御部１２２Ａ〜１２２Ｄに設定する。【００４９】
バス１０３は、機能ブロック１２０Ａ〜１２０Ｄ及び記憶部１４０に接続され、３２ビットのビット幅を有するデータ転送バスである。【００５０】
記憶部１４０が有するデータ保持部１４２は、不揮発性の記録媒体である。データ保持部１４２には、バス１０３を介して機能ブロック１２０Ａ〜１２０Ｄから順次送られた３２ビットの退避データが格納される。記憶部１４０が有する退避処理制御部１４１は、退避制御部１０２から退避イネーブル信号１０６が送られている間、クロック発生源１０１から送られたクロック１０５に同期して、バス１０３上を転送された３２ビットの退避データをデータ保持部１４２に順次書き込む。【００５１】
図８は、第４の実施形態のデータ退避システムがデータ退避処理を行う際のタイムチャートである。以下、第４の実施形態のデータ退避システムが行うデータ退避処理について説明する。クロック発生源１０１はデータ退避システムが動作中は常にクロック１０５を出力する。退避制御部１０２がデータ退避処理の実行を決定すると、退避制御部１０２は、機能ブロック１２０Ａ〜１２０Ｄ及び記憶部１４０に退避イネーブル信号１０６を送る。退避イネーブル信号１０６を検出した機能ブロック１２０Ａ〜１２０Ｄの退避処理制御部１２２Ａ〜１２２Ｄは、クロック１０５に同期して、退避処理設定部１２３Ａ〜１２３Ｄによって１クロック・サイクル毎に設定されたビット数の退避データをデータ保持部１２１Ａ〜１２１Ｄから読み出してバス１０３に送出する。退避イネーブル信号１０６を検出した記憶部１４０の退避処理制御部１４１は、データ保持部１４２への書き込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、クロック１０５に同期して、バス１０３から順次受け取った３２ビットの退避データをデータ保持部１４２に書き込む。【００５２】
図８に示した例では、退避イネーブル信号１０６の送出後、退避処理設定部１２３Ａは、１、２クロック目にバス１０３の０〜７ビット目を、３クロック目にバス１０３の０〜１５ビット目を、４クロック目以降にバス１０３の０〜２３ビット目を機能ブロック１２０Ａに割り当てるよう退避処理制御部１２２Ａに設定する。また、退避処理設定部１２３Ｂは、１、２クロック目にバス１０３の８〜１５ビット目を機能ブロックＢに割り当てるよう退避処理制御部１２２Ｂに設定する。また、退避処理設定部１２３Ｃは、１〜３クロック目にバス１０３の１６〜２３ビット目を機能ブロックＣに割り当てるよう退避処理制御部１２２Ｃに設定する。また、退避処理設定部１２３Ｄは、１クロック目以降にバス１０３の２４〜３１ビット目を機能ブロックＤに割り当てるよう退避処理制御部１２２Ｄに設定する。【００５３】
以上説明したように、本実施形態のデータ退避システムによれば、各機能ブロックの退避データのデータサイズに応じて、各機能ブロックに割り当てるバス１０３のビット幅をクロック１０５の１クロック・サイクル毎に調整することができる。したがって、複数の機能ブロックの各退避データのデータサイズが異なる場合であっても、複数の機能ブロックのデータ退避に要する時間が最短となるよう設定できる。【００５４】
なお、本実施形態では、各機能ブロックに退避処理設定部を設け、機能ブロック毎にビット幅を直接設定しているが、各機能ブロックの退避処理設定部を１つにまとめて、機能ブロックとは別に設けても良い。この場合、機能ブロックに共通の退避処理設定部からは、１クロック・サイクル毎のバス１０３のビット幅の割り当てについて記述されたビット幅設定情報が各機能ブロックに送られる。【００５５】
（第５の実施形態）
図９は、第５の実施形態のデータ復帰システムを示すブロック図である。図９に示すように、システムＬＳＩ上に搭載された第５の実施形態のデータ復帰システムは、クロック発生源２０１と、復帰制御部２０２と、機能ブロック２２０Ａ〜２２０Ｄと、バス２０３と、記憶部２４０とを備える。機能ブロック２２０Ａ〜２２０Ｄは、それぞれ、データ保持部２２１Ａ〜２２１Ｄと、復帰処理制御部２２２Ａ〜２２２Ｄと、復帰処理設定部２２３Ａ〜２２３Ｄとを有する。また、記憶部２４０は、復帰処理制御部２４１と、データ保持部２４２とを有する。なお、図９に示した例では、記憶部２４０はデータ保持部２４２を１つ有するが、複数のデータ保持部２４２を有しても良い。【００５６】
なお、本実施形態では、制御部の一例として、クロック発生源２０１及び復帰制御部２０２が用いられた場合を示す。また、第２のデータ保持部の一例として、機能ブロック２２０Ａ〜２２０Ｄがそれぞれ有するデータ保持部２２１Ａ〜２２１Ｄが用いられた場合を示す。また、第２の復帰処理制御部の一例として、機能ブロック２２０Ａ〜２２０Ｄがそれぞれ有する復帰処理制御部２２２Ａ〜２２２Ｄが用いられた場合を示す。また、バス割当設定部の一例として、機能ブロック２２０Ａ〜２２０Ｄがそれぞれ有する復帰処理設定部２２３Ａ〜２２３Ｄが用いられた場合を示す。また、第１のデータ保持部の一例として、記憶部２４０が有するデータ保持部２４２が用いられた場合を示す。また、第１の復帰処理制御部の一例として、記憶部２４０が有する復帰処理制御部２４１が用いられた場合を示す。【００５７】
クロック発生源２０１は、本実施形態のシステムが動作中、機能ブロック２２０Ａ〜２２０Ｄ及び記憶部２４０にクロック２０５を送る。また、復帰制御部２０２は、データ復帰処理を行う際、機能ブロック２２０Ａ〜２２０Ｄ及び記憶部２４０に復帰イネーブル信号２０６を送る。なお、本実施形態では、復帰期間クロックの一例として、復帰制御部２０２から復帰イネーブル信号２０６が出力されている間のクロック２０５が用いられている。【００５８】
記憶部２４０が有するデータ保持部２４２は、不揮発性の記録媒体である。データ保持部２４２には、機能ブロック２２０Ａ〜２２０Ｄが動作を再開するために必要なデータ（以下「復帰データ」という。）が格納されている。記憶部２４０が有する復帰処理制御部２４１は、復帰制御部２０２から復帰イネーブル信号２０６が送られている間、クロック発生源２０１から送られたクロック２０５に同期して、バス２０３の各機能ブロックに割り当てられたラインに復帰データを送出する。【００５９】
バス２０３は、機能ブロック２２０Ａ〜２２０Ｄ及び記憶部２４０に接続され、３２ビットのビット幅を有するデータ転送バスである。【００６０】
機能ブロック２２０Ａ〜２２０Ｄが有するデータ保持部２２１Ａ〜２２１Ｄは、レジスタ等の記録媒体である。データ保持部２２１Ａ〜２２１Ｄには、バス２０３を介して記憶部２４０から順次送られた復帰データが格納される。機能ブロック２２０Ａ〜２２０Ｄが有する復帰処理制御部２２２Ａ〜２２２Ｄは、復帰制御部２０２から復帰イネーブル信号２０６が送られている間、クロック発生源２０１から送られたクロック２０５に同期して、復帰処理設定部２２３Ａ〜２２３Ｄから指示された所定ビット数の復帰データをバス２０３から読み取って、データ保持部２２１Ａ〜２２１Ｄに格納する。機能ブロック２２０Ａ〜２２０Ｄが有する復帰処理設定部２２３Ａ〜２２３Ｄは、クロック２０５の１クロック・サイクル毎に、バス２０３のビット幅の割り当てを復帰処理制御部２２２Ａ〜２２２Ｄに設定する。【００６１】
図１０は、第５の実施形態のデータ復帰システムがデータ復帰処理を行う際のタイムチャートである。以下、第５の実施形態のデータ復帰システムが行うデータ復帰処理について説明する。クロック発生源２０１はデータ復帰システムが動作中は常にクロック２０５を出力する。復帰制御部２０２がデータ復帰処理の実行を決定すると、復帰制御部２０２は、機能ブロック２２０Ａ〜２２０Ｄ及び記憶部２４０に復帰イネーブル信号２０６を送る。復帰イネーブル信号２０６を検出した記憶部２４０の復帰処理制御部２４１は、データ保持部２４２からの読み込みを許可又は禁止するリードイネーブル信号をイネーブル（許可）に設定し、クロック２０５に同期して、データ保持部２４２から読み取った３２ビットの復帰データをバス２０３に送出する。復帰イネーブル信号２０６を検出した機能ブロック２２０Ａ〜２２０Ｄの復帰処理制御部２２２Ａ〜２２２Ｄは、クロック２０５に同期して、復帰処理設定部２２３Ａ〜２２３Ｄによって１クロック・サイクル毎に設定されたビット数の復帰データをバス２０３から順次受け取って、データ保持部２２１Ａ〜２２１Ｄに格納する。【００６２】
図１０に示した例では、復帰イネーブル信号２０６の送出後、復帰処理設定部２２３Ａは、１、２クロック目にバス２０３の０〜７ビット目を、３クロック目にバス２０３の０〜１５ビット目を、４クロック目以降にバス２０３の０〜２３ビット目を機能ブロック２２０Ａに割り当てるよう復帰処理制御部２２２Ａに設定する。また、復帰処理設定部２２３Ｂは、１、２クロック目にバス２０３の８〜１５ビット目を機能ブロックＢに割り当てるよう復帰処理制御部２２２Ｂに設定する。また、復帰処理設定部２２３Ｃは、１〜３クロック目にバス２０３の１６〜２３ビット目を機能ブロックＣに割り当てるよう復帰処理制御部２２２Ｃに設定する。また、復帰処理設定部２２３Ｄは、１クロック目以降にバス２０３の２４〜３１ビット目を機能ブロックＤに割り当てるよう復帰処理制御部２２２Ｄに設定する。【００６３】
以上説明したように、本実施形態のデータ復帰システムによれば、各機能ブロックの復帰データのデータサイズに応じて、各機能ブロックに割り当てるバス２０３のビット幅をクロック２０５の１クロック・サイクル毎に調整することができる。したがって、複数の機能ブロックの各復帰データのデータサイズが異なる場合であっても、複数の機能ブロックのデータ復帰に要する時間が最短となるよう設定できる。【００６４】
なお、本実施形態では、各機能ブロックに復帰処理設定部を設け、機能ブロック毎にビット幅を直接設定しているが、各機能ブロックの復帰処理設定部を１つにまとめて、機能ブロックとは別に設けても良い。この場合、機能ブロックに共通の復帰処理設定部からは、１クロック・サイクル毎のバス２０３のビット幅の割り当てについて記述されたビット幅設定情報が各機能ブロックに送られる。【００６５】
（第６の実施形態）
図１１は、第６の実施形態のデータ退避システムを示すブロック図である。図１１に示すように、システムＬＳＩ上に搭載された第６の実施形態のデータ退避システムは、クロック発生源１０１と、退避制御部１０２と、退避処理設定部１０７と、機能ブロック３２０Ａ〜３２０Ｄと、バス１０３と、記憶部１４０とを備える。機能ブロック３２０Ａ〜３２０Ｄは、それぞれ、データ保持部３２１Ａ〜３２１Ｄと、退避処理制御部３２２Ａ〜３２２Ｄとを有する。また、記憶部１４０は、退避処理制御部１４１と、データ保持部１４２とを有する。なお、図１１に示した例では、記憶部１４０はデータ保持部１４２を１つ有するが、複数のデータ保持部１４２を有しても良い。【００６６】
なお、本実施形態では、制御部の一例として、クロック発生源１０１及び退避制御部１０２が用いられた場合を示す。また、バス割当設定部の一例として、退避処理設定部１０７が用いられた場合を示す。また、第１のデータ保持部の一例として、機能ブロック３２０Ａ〜３２０Ｄがそれぞれ有するデータ保持部３２１Ａ〜３２１Ｄが用いられた場合を示す。また、第１の退避処理制御部の一例として、機能ブロック３２０Ａ〜３２０Ｄがそれぞれ有する退避処理制御部３２２Ａ〜３２２Ｄが用いられた場合を示す。また、第２のデータ保持部の一例として、記憶部１４０が有するデータ保持部１４２が用いられた場合を示す。また、第２の退避処理制御部の一例として、記憶部１４０が有する退避処理制御部１４１が用いられた場合を示す。【００６７】
クロック発生源１０１は、本実施形態のシステムが動作中、機能ブロック３２０Ａ〜３２０Ｄ及び記憶部１４０にクロック１０５を送る。また、退避制御部１０２は、データ退避処理を行う際、機能ブロック３２０Ａ〜３２０Ｄ及び記憶部１４０に退避イネーブル信号１０６を送る。なお、本実施形態では、退避期間クロックの一例として、退避制御部１０２から退避イネーブル信号１０６が出力されている間のクロック１０５が用いられている。【００６８】
機能ブロック３２０Ａ〜３２０Ｄが有するデータ保持部３２１Ａ〜３２１Ｄは、レジスタ等の記録媒体である。データ保持部３２１Ａ〜３２１Ｄには、動作が不要な機能ブロックへの電源供給を遮断する際に記憶部１４０へ退避させる必要のあるデータ（以下「退避データ」という。）が格納されている。機能ブロック３２０Ａ〜３２０Ｄが有する退避処理制御部３２２Ａ〜３２２Ｄは、退避制御部１０２から退避イネーブル信号１０６が送られている間、クロック発生源１０１から送られたクロック１０５に同期して、退避処理設定部１０７から指示された所定ビット数の退避データをデータ保持部３２１Ａ〜３２１Ｄから読み出して、バス１０３の各機能ブロックに割り当てられたラインに送出する。また、退避処理制御部３２２Ａ〜３２２Ｄは、データ保持部３２１Ａ〜３２１Ｄにそれぞれ格納されていた退避データのバス１０３への送出が完了したとき、退避完了フラグを立てる。退避完了フラグの状態を示す信号は、退避処理設定部１０７に送られる。【００６９】
退避処理設定部１０７は、各機能ブロックに対するバス１０３のビット幅の割り当てを一元管理する。退避処理設定部１０７は、機能ブロック３２０Ａ〜３２０Ｄから送られた信号が示す退避完了フラグの状態に応じて、機能ブロック３２０Ａ〜３２０Ｄの退避処理制御部３２２Ａ〜３２２Ｄに対するバス１０３のビット幅の割り当ての設定を変更する。【００７０】
バス１０３は、機能ブロック３２０Ａ〜３２０Ｄ及び記憶部１４０に接続され、３２ビットのビット幅を有するデータ転送バスである。【００７１】
記憶部１４０が有するデータ保持部１４２は、不揮発性の記録媒体である。データ保持部１４２には、バス１０３を介して機能ブロック３２０Ａ〜３２０Ｄから順次送られた３２ビットの退避データが格納される。記憶部１４０が有する退避処理制御部１４１は、退避制御部１０２から退避イネーブル信号１０６が送られている間、クロック発生源１０１から送られたクロック１０５に同期して、バス１０３上を転送された３２ビットの退避データをデータ保持部１４２に順次書き込む。【００７２】
図１２は、第６の実施形態のデータ退避システムがデータ退避処理を行う際のタイムチャートである。以下、第６の実施形態のデータ退避システムが行うデータ退避処理について説明する。クロック発生源１０１はデータ退避システムが動作中は常にクロック１０５を出力する。退避制御部１０２がデータ退避処理の実行を決定すると、退避制御部１０２は、機能ブロック３２０Ａ〜３２０Ｄ及び記憶部１４０に退避イネーブル信号１０６を送る。退避イネーブル信号１０６を検出した機能ブロック３２０Ａ〜３２０Ｄの退避処理制御部３２２Ａ〜３２２Ｄは、クロック１０５に同期して、退避処理設定部１０７によって設定されたビット数の退避データをデータ保持部３２１Ａ〜３２１Ｄから読み出してバス１０３に送出する。また、退避処理制御部３２２Ａ〜３２２Ｄは、退避データのバス１０３への送出が完了したとき退避完了フラグを立てる。退避イネーブル信号１０６を検出した記憶部１４０の退避処理制御部１４１は、データ保持部１４２への書き込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、クロック１０５に同期して、バス１０３から順次受け取った３２ビットの退避データをデータ保持部１４２に書き込む。【００７３】
本実施形態では、退避イネーブル信号１０６の送出後、機能ブロック３２０Ａ〜３２０Ｄの退避完了フラグがどれも立っていない状態では、退避処理設定部１０７は、バス３の０〜７ビット目のラインの８ビットを機能ブロック３２０Ａに割り当て、８〜１５ビット目のラインの８ビットを機能ブロック３２０Ｂに割り当て、１６〜２３ビット目のラインの８ビットを機能ブロック３２０Ｃに割り当て、２４〜３１ビット目のラインの８ビットを機能ブロック３２０Ｄに割り当てる。退避処理設定部１０７は、退避完了フラグの状態に応じて、退避処理が完了した機能ブロックに割り当てているラインを退避処理が続行中の機能ブロックに割り当てる。図１２に示した例では、機能ブロック３２０Ｂ，３２０Ｃの退避データの送出が略同時に完了するため、その後、退避処理設定部１０７は、バス３の０〜１５ビット目のラインの１６ビットを機能ブロック３２０Ａに割り当て、１６〜３２ビット目のラインの１６ビットを機能ブロック３２０Ｄに割り当てる。【００７４】
以上説明したように、本実施形態のデータ退避システムによれば、各機能ブロックの退避データのデータサイズに応じて、各機能ブロックに割り当てるバス１０３のビット幅を退避完了フラグの状態に応じて調整することができる。したがって、複数の機能ブロックの各退避データのデータサイズが異なる場合であっても、複数の機能ブロックのデータ退避に要する時間が最短となるよう設定できる。【００７５】
（第７の実施形態）
図１３は、第７の実施形態のデータ復帰システムを示すブロック図である。図１３に示すように、システムＬＳＩ上に搭載された第７の実施形態のデータ復帰システムは、クロック発生源２０１と、復帰制御部２０２と、復帰処理設定部２０７と、機能ブロック４２０Ａ〜４２０Ｄと、バス２０３と、記憶部２４０とを備える。機能ブロック４２０Ａ〜４２０Ｄは、それぞれ、データ保持部４２１Ａ〜４２１Ｄと、復帰処理制御部４２２Ａ〜４２２Ｄとを有する。また、記憶部２４０は、復帰処理制御部２４１と、データ保持部２４２とを有する。なお、図１３に示した例では、記憶部２４０はデータ保持部２４２を１つ有するが、複数のデータ保持部２４２を有しても良い。【００７６】
なお、本実施形態では、制御部の一例として、クロック発生源２０１及び復帰制御部２０２が用いられた場合を示す。また、バス割当設定部の一例として、復帰処理設定部２０７が用いられた場合を示す。また、第２のデータ保持部の一例として、機能ブロック４２０Ａ〜４２０Ｄがそれぞれ有するデータ保持部４２１Ａ〜４２１Ｄが用いられた場合を示す。また、第２の復帰処理制御部の一例として、機能ブロック４２０Ａ〜４２０Ｄがそれぞれ有する復帰処理制御部４２２Ａ〜４２２Ｄが用いられた場合を示す。また、第１のデータ保持部の一例として、記憶部２４０が有するデータ保持部２４２が用いられた場合を示す。また、第１の復帰処理制御部の一例として、記憶部２４０が有する復帰処理制御部２４１が用いられた場合を示す。【００７７】
クロック発生源２０１は、本実施形態のシステムが動作中、機能ブロック４２０Ａ〜４２０Ｄ及び記憶部２４０にクロック２０５を送る。また、復帰制御部２０２は、データ復帰処理を行う際、機能ブロック４２０Ａ〜４２０Ｄ及び記憶部２４０に復帰イネーブル信号２０６を送る。なお、本実施形態では、復帰期間クロックの一例として、復帰制御部２０２から復帰イネーブル信号２０６が出力されている間のクロック２０５が用いられている。【００７８】
記憶部２４０が有するデータ保持部２４２は、不揮発性の記録媒体である。データ保持部２４２には、機能ブロック４２０Ａ〜４２０Ｄの動作を再開するために必要なデータ（以下「復帰データ」という。）が格納されている。記憶部２４０が有する復帰処理制御部２４１は、復帰制御部２０２から復帰イネーブル信号２０６が送られている間、クロック発生源２０１から送られたクロック２０５に同期して、バス２０３の各機能ブロックに割り当てられたラインに復帰データを送出する。【００７９】
バス２０３は、機能ブロック４２０Ａ〜４２０Ｄ及び記憶部２４０に接続され、３２ビットのビット幅を有するデータ転送バスである。【００８０】
機能ブロック４２０Ａ〜４２０Ｄが有するデータ保持部４２１Ａ〜４２１Ｄは、レジスタ等の記録媒体である。データ保持部４２１Ａ〜４２１Ｄには、バス２０３を介して記憶部２４０から順次送られた復帰データが格納される。機能ブロック４２０Ａ〜４２０Ｄが有する復帰処理制御部４２２Ａ〜４２２Ｄは、復帰制御部２０２から復帰イネーブル信号２０６が送られている間、クロック発生源２０１から送られたクロック２０５に同期して、復帰処理設定部２０７から指示された所定ビット数の復帰データをバス２０３から読み取って、データ保持部４２１Ａ〜４２１Ｄに格納する。また、復帰処理制御部４２２Ａ〜４２２Ｄは、記憶部２４０からバス２０３を介して転送された、該当する機能ブロックの復帰のために必要な復帰データの受領が完了したとき、復帰完了フラグを立てる。復帰完了フラグの状態を示す信号は、復帰処理設定部２０７に送られる。【００８１】
復帰処理設定部２０７は、各機能ブロックに対するバス２０３のビット幅の割り当てを一元管理する。復帰処理設定部２０７は、機能ブロック４２０Ａ〜４２０Ｄから送られる復帰完了フラグの状態に応じて、機能ブロック４２０Ａ〜４２０Ｄの復帰処理制御部４２２Ａ〜４２２Ｄに対するバス２０３のビット幅の割り当ての設定を変更する。【００８２】
図１４は、第７の実施形態のデータ復帰システムがデータ復帰処理を行う際のタイムチャートである。以下、第７の実施形態のデータ復帰システムが行うデータ復帰処理について説明する。クロック発生源２０１はデータ復帰システムが動作中は常にクロック２０５を出力する。復帰制御部２０２がデータ復帰処理の実行を決定すると、復帰制御部２０２は、機能ブロック４２０Ａ〜４２０Ｄ及び記憶部２４０に復帰イネーブル信号２０６を送る。復帰イネーブル信号２０６を検出した記憶部２４０の復帰処理制御部２４１は、データ保持部２４２からの読み込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、クロック２０５に同期して、データ保持部２４２から読み取った３２ビットの復帰データをバス２０３に送出する。復帰イネーブル信号２０６を検出した機能ブロック４２０Ａ〜４２０Ｄの復帰処理制御部４２２Ａ〜４２２Ｄは、クロック２０５に同期して、復帰処理設定部２０７によって設定されたビット数の復帰データをバス２０３から順次受け取って、データ保持部４２１Ａ〜４２１Ｄに格納する。なお、復帰処理制御部４２２Ａ〜４２２Ｄは、復帰データの受領が完了したとき復帰完了フラグを立てる。【００８３】
本実施形態では、復帰イネーブル信号２０６の送出後、機能ブロック４２０Ａ〜４２０Ｄの復帰完了フラグがどれも立っていない状態では、復帰処理設定部２０７は、バス３の０〜７ビット目のラインの８ビットを機能ブロック４２０Ａに割り当て、８〜１５ビット目のラインの８ビットを機能ブロック４２０Ｂに割り当て、１６〜２３ビット目のラインの８ビットを機能ブロック４２０Ｃに割り当て、２４〜３１ビット目のラインの８ビットを機能ブロック４２０Ｄに割り当てる。復帰処理設定部２０７は、復帰完了フラグの状態に応じて、復帰処理が完了した機能ブロックに割り当てているラインを復帰処理が続行中の機能ブロックに割り当てる。図１４に示した例では、機能ブロック４２０Ｂ，４２０Ｃの復帰データの受領が略同時に完了するため、その後、復帰処理設定部２０７は、バス３の０〜１５ビット目のラインの１６ビットを機能ブロック４２０Ａに割り当て、１６〜３２ビット目のラインの１６ビットを機能ブロック４２０Ｄに割り当てる。【００８４】
以上説明したように、本実施形態のデータ復帰システムによれば、各機能ブロックの復帰データのデータサイズに応じて、各機能ブロックに割り当てるバス２０３のビット幅を復帰完了フラグの状態に応じて調整することができる。したがって、複数の機能ブロックの各復帰データのデータサイズが異なる場合であっても、複数の機能ブロックのデータ復帰に要する時間が最短となるよう設定できる。【００８５】
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。【００８６】
本出願は、2007年4月11日出願の日本特許出願（特願2007−103955）に基づくものであり、その内容はここに参照として取り込まれる。
【産業上の利用可能性】
【００８７】
本発明に係るデータ退避システム及びデータ復帰システムは、機能ブロックへの電源供給を遮断したり復帰することによって消費電力を低減するシステムＬＳＩ等の省電力システム等として有用である。
【図１】
2008126418.tif 000003
【図２】
2008126418.tif 000004
【図３】
2008126418.tif 000005
【図４】
2008126418.tif 000006
【図５】
2008126418.tif 000007
【図６】
2008126418.tif 000008
【図７】
2008126418.tif 000009
【図８】
2008126418.tif 000010
【図９】
2008126418.tif 000011
【図１０】
2008126418.tif 000012
【図１１】
2008126418.tif 000013
【図１２】
2008126418.tif 000014
【図１３】
2008126418.tif 000015
【図１４】
2008126418.tif 000016
【図１５】
2008126418.tif 000017
【図１６】
2008126418.tif 000018
【手続補正書】
【提出日】平成21年9月14日(2009.9.14)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ退避処理を行うデータ退避システム及びデータ退避方法、並びに、データ復帰処理を行うデータ復帰システム及びデータ復帰方法に関する。
【背景技術】
【０００２】
システムＬＳＩの消費電力を削減するために、動作が不要な機能モジュールへの電源供給を遮断する手法がある。この手法によれば、電源再供給後の正常動作を保証するために、機能モジュール内の必要なデータを一時的に退避させ、動作再開時にそのデータを再び機能モジュールへ復帰させる。このデータの退避と復帰は、一般的に、ＤＭＡコントローラ（ＤＭＡＣ）を用いて実施される。
【０００３】
図１５は、ＤＭＡＣを用いてデータの退避及び復帰を行うシステムを示すブロック図である。図１５に示すシステムによれば、データを退避させる場合、ＣＰＵ１００２が予めＤＭＡＣ１００１の転送設定を行っておき、ＤＭＡＣ１００１が機能ブロックから退避させるデータを読み出してメモリ１０００へそのデータを書き込む。
【０００４】
以上説明したデータ退避のために消費される電力削減のため、特許文献１に開示されているシステムＬＳＩは、データ退避時にクロック周波数を下げている。図１６は、特許文献１に開示されたシステムＬＳＩを示すブロック図である。図１６に示すシステムＬＳＩは、高速クロックを分周して低速クロックを生成する分周器２００５と、それらのクロックを選択するセレクタ２００６とを備える。当該システムＬＳＩは、通常モード時には高速クロックで動作するが、低消費電力モードに移行する際には高速クロックから低速クロックに切り替えて、低速クロックでデータの退避を行った後、電源供給を遮断する。また、通常モードに移行する際には電源供給を再開してデータの復帰を行った後、低速クロックから高速クロックに切り替える。このように、データの退避を低速クロックで行うことによって消費電力の削減を図っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３２３４６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記説明した図１６に示したシステムＬＳＩでは、データの退避が完了するまで機能ブロックへの電源供給を遮断することはできない。このため、低速クロックでデータ退避を行っているものの、データ退避のためのクロック速度の切り替えやデータ退避を行っている間の消費電力を根本から削減することはできない。また、データ退避に長い時間を要すると消費電力が増大する。さらに、データ退避が必要な機能ブロックの数が多いと消費電力が増大する。
【０００７】
本発明の目的は、機能ブロックへの電源供給を遮断する際に行われるデータ退避処理の際に消費される電力を低減可能なデータ退避システム、及び機能ブロックへの電源供給を再開する際に行われるデータ復帰処理の際に消費される電力を低減可能なデータ復帰システム、並びにデータ退避方法及びデータ復帰方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、退避データを有する少なくとも１つの機能ブロックと、前記機能ブロックから転送された前記退避データを記憶する記憶部と、前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、前記機能ブロックから前記記憶部へ前記退避データを転送する際に退避期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備え、前記機能ブロックは、前記退避データを保持する第１のデータ保持部と、前記退避期間クロックに同期して、前記第１のデータ保持部から前記バスのビット幅数内の所定ビット数ずつ退避データを読み取り、読み取った退避データを各機能ブロックに割り当てられた前記バスのラインに送出する第１の退避処理制御部と、を有し、前記記憶部は、前記バスを介して前記機能ブロックから転送された退避データを保持する第２のデータ保持部と、前記退避期間クロックに同期して、前記バスから退避データを読み取り、読み取った退避データを前記第２のデータ保持部に格納する第２の退避処理制御部と、を有するデータ退避システムを提供する。
【０００９】
また、本発明は、少なくとも１つの機能ブロックと、前記機能ブロックが動作を再開するために必要な復帰データを記憶する記憶部と、前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、前記記憶部が記憶する前記復帰データを前記機能ブロックに転送する際に復帰期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備え、前記記憶部は、前記復帰データを保持する第１のデータ保持部と、前記復帰期間クロックに同期して、前記第１のデータ保持部から前記復帰データを読み取り、読み取った復帰データを各機能ブロックに割り当てられた前記バスのラインに送出する第１の復帰処理制御部と、を有し、前記機能ブロックは、前記バスを介して前記記憶部から転送された復帰データを保持する第２のデータ保持部と、前記復帰期間クロックに同期して、各機能ブロックに割り当てられた前記バスの所定ラインから所定ビット数ずつ復帰データを読み取り、読み取った復帰データを前記第２のデータ保持部に格納する第２の復帰処理制御部と、を有するデータ復帰システムを提供する。
【００１０】
また、本発明は、退避データを有する少なくとも１つの機能ブロックと、前記機能ブロックから転送された前記退避データを記憶する記憶部と、前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、前記機能ブロックから前記記憶部へ前記退避データを転送する際に退避期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備えたデータ退避システムが行うデータ退避方法であって、前記制御部が、前記機能ブロック及び前記記憶部に前記退避クロックを送り、前記機能ブロックが、前記退避期間クロックに同期して、前記バスのビット幅数内の所定ビット数ずつ退避データを各機能ブロックに割り当てられた前記バスのラインに送出し、前記記憶部が、前記退避期間クロックに同期して、前記バスから退避データを読み取り、読み取った退避データを記憶するデータ退避方法を提供する。
【００１１】
さらに、本発明は、少なくとも１つの機能ブロックと、前記機能ブロックが動作を再開するために必要な復帰データを記憶する記憶部と、前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、前記記憶部が記憶する前記復帰データを前記機能ブロックに転送する際に復帰期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備えたデータ復帰システムが行うデータ復帰方法であって、前記制御部が、前記機能ブロック及び前記記憶部に前記復帰期間クロックを送り、前記記憶部が、前記復帰期間クロックに同期して、前記復帰データを各機能ブロックに割り当てられた前記バスのラインに送出し、前記機能ブロックが、前記復帰期間クロックに同期して、各機能ブロックに割り当てられた前記バスの所定ラインから所定ビット数ずつ復帰データを読み、読み取った復帰データを記憶するデータ復帰方法を提供する。
【発明の効果】
【００１２】
本発明に係るデータ退避システム及びデータ復帰システム、並びにデータ退避方法及びデータ復帰方法によれば、データ退避及びデータ復帰が迅速に行われるため、機能ブロックへの電源供給を遮断する際に行われるデータ退避処理、又は機能ブロックへの電源供給を再開する際に行われるデータ復帰の際に消費される電力を低減することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態のデータ転送システムを示すブロック図
【図２】第１の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャート
【図３】第２の実施形態のデータ転送システムを示すブロック図
【図４】第２の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャート
【図５】第３の実施形態のデータ転送システムを示すブロック図
【図６】第３の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャート
【図７】第４の実施形態のデータ退避システムを示すブロック図
【図８】第４の実施形態のデータ退避システムがデータ退避処理を行う際のタイムチャート
【図９】第５の実施形態のデータ復帰システムを示すブロック図
【図１０】第５の実施形態のデータ復帰システムがデータ復帰処理を行う際のタイムチャート
【図１１】第６の実施形態のデータ退避システムを示すブロック図
【図１２】第６の実施形態のデータ退避システムがデータ退避処理を行う際のタイムチャート
【図１３】第７の実施形態のデータ復帰システムを示すブロック図
【図１４】第７の実施形態のデータ復帰システムがデータ復帰処理を行う際のタイムチャート
【図１５】ＤＭＡＣを用いてデータの退避及び復帰を行うシステムを示すブロック図
【図１６】特許文献１に開示されたシステムＬＳＩを示すブロック図
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照して説明する。
【００１５】
（第１の実施形態）
図１は、第１の実施形態のデータ転送システムを示すブロック図である。図１に示すように、システムＬＳＩ上に搭載された第１の実施形態のデータ転送システムは、クロック制御部１０と、機能ブロック２０Ａ〜２０Ｄと、バス３と、記憶部４０とを備える。機能ブロック２０Ａ〜２０Ｄは、それぞれ、データ保持部２０１Ａ〜２０１Ｄと、退避処理制御部２０２Ａ〜２０２Ｄと、復帰処理制御部２０３Ａ〜２０３Ｄとを有する。また、記憶部４０は、退避処理制御部４０１と、復帰処理制御部４０２と、データ保持部４０３とを有する。なお、図１に示した例では、記憶部４０はデータ保持部４０３を１つ有するが、複数のデータ保持部４０３を有しても良い。
【００１６】
本実施形態では、制御部の一例として、クロック制御部１０を用いた場合を示す。また、第２のデータ保持部の一例として、機能ブロック２０Ａ〜２０Ｄがそれぞれ有するデータ保持部２０１Ａ〜２０１Ｄを用いた場合を示す。また、第１の退避処理制御部の一例として、機能ブロック２０Ａ〜２０Ｄがそれぞれ有する退避処理制御部２０２Ａ〜２０２Ｄを用いた場合を示す。また、第２の復帰処理制御部の一例として、機能ブロック２０Ａ〜２０Ｄがそれぞれ有する復帰処理制御部２０３Ａ〜２０３Ｄを用いた場合を示す。また、第１のデータ保持部の一例として、記憶部４０が有するデータ保持部４０３を用いた場合を示す。また、第２の退避処理制御部の一例として、記憶部４０が有する退避処理制御部４０１を用いた場合を示す。さらに、第１の復帰処理制御部の一例として、記憶部４０が有する復帰処理制御部４０２を用いた場合を示す。
【００１７】
クロック制御部１０は、データ退避処理を行う際、機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に退避クロック６を送る。なお、本実施形態では、退避期間クロックの一例として退避クロック６が用いられている。また、クロック制御部１０は、データ復帰処理を行う際、機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に復帰クロック５を送る。なお、復帰期間クロックの一例として復帰クロック５が用いられている。
【００１８】
機能ブロック２０Ａ〜２０Ｄが有するデータ保持部２０１Ａ〜２０１Ｄは、レジスタ等の記録媒体である。データ保持部２０１Ａ〜２０１Ｄには、動作が不要な機能ブロックへの電源供給を遮断する際に記憶部４０へ退避させる必要のあるデータ（以下「退避データ」という。）が格納されている。機能ブロック２０Ａ〜２０Ｄが有する退避処理制御部２０２Ａ〜２０２Ｄは、クロック制御部１０から退避クロック６が送られたとき、この退避クロック６に同期して、データ保持部２０１Ａ〜２０１Ｄから所定ビット数ずつ退避データを読み出して、バス３の各機能ブロックに割り当てられたラインに送出する。機能ブロック２０Ａ〜２０Ｄが有する復帰処理制御部２０３Ａ〜２０３Ｄは、クロック制御部１０から復帰クロック５が送られたとき、この復帰クロック５に同期して、バス３の各機能ブロックに割り当てられたラインから所定ビット数ずつ退避データを読み出してデータ保持部２０１Ａ〜２０１Ｄに書き込む。
【００１９】
バス３は、機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に接続され、３２ビットのビット幅を有するデータ転送バスである。データ退避処理又はデータ復帰処理が行われる際、バス３の０〜７ビット目のラインの８ビットが機能ブロック２０Ａに割り当てられ、８〜１５ビット目のラインの８ビットが機能ブロック２０Ｂに割り当てられ、１６〜２３ビット目のラインの８ビットが機能ブロック２０Ｃに割り当てられ、２４〜３１ビット目のラインの８ビットが機能ブロック２０Ｄに割り当てられる。
【００２０】
記憶部４０が有するデータ保持部４０３は、不揮発性の記録媒体である。データ保持部４０３には、バス３を介して機能ブロック２０Ａ〜２０Ｄから順次送られた３２ビットの退避データが格納される。記憶部４０が有する退避処理制御部４０１は、クロック制御部１０から退避クロック６が送られたとき、この退避クロック６に同期して、バス３上を転送された３２ビットの退避データをデータ保持部４０３に順次書き込む。記憶部４０が有する復帰処理制御部４０２は、クロック制御部１０から復帰クロック５が送られたとき、この復帰クロック５に同期して、退避処理制御部４０１によって書き込まれた退避データをデータ保持部４０３から３２ビットずつ読み出してバス３に送出する。
【００２１】
図２は、第１の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャートである。以下、第１の実施形態のデータ転送システムが行うデータ退避処理について説明する。クロック制御部１０がデータ退避処理の実行を決定すると、クロック制御部１０は、機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に退避クロック６を送る。退避クロック６を検出した機能ブロック２０Ａ〜２０Ｄの退避処理制御部２０２Ａ〜２０２Ｄは、退避クロック６に同期して、データ保持部２０１Ａ〜２０１Ｄからそれぞれ８ビットの退避データを並行して順次読み出してバス３に送出する。退避クロック６を検出した記憶部４０の退避処理制御部４０１は、データ保持部４０３への書き込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、退避クロック６に同期して、バス３から順次受け取った３２ビットの退避データをデータ保持部４０３に書き込む。
【００２２】
次に、第１の実施形態のデータ転送システムが行うデータ復帰処理について説明する。クロック制御部１０がデータ復帰処理の実行を決定すると、クロック制御部１０は、機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に復帰クロック５を送る。復帰クロック５を検出した記憶部４０の復帰処理制御部４０２は、データ保持部４０３からの読み出しを許可又は禁止するリードイネーブル信号をイネーブル（許可）に設定し、復帰クロック５に同期して、退避データをデータ保持部４０３から３２ビットずつ読み出してバス３に送出する。復帰クロック５を検出した機能ブロック２０Ａ〜２０Ｄの復帰処理制御部２０３Ａ〜２０３Ｄは、復帰クロック５に同期して、バス３上を転送されたデータを順次読み出してデータ保持部２０１Ａ〜２０１Ｄに書き込む。
【００２３】
以上説明したように、本実施形態のデータ転送システムによれば、退避処理および復帰処理専用バスを新たに設けることなく、バス３に接続されている各機能ブロックに退避クロックおよび復帰クロックを送出している間、通常の転送で使用しているバス３を退避処理および復帰処理専用バスとさせ、バス３を介して各機能ブロックから退避データが記憶部４０に直接送られることによってデータ退避処理が行われ、同様に、バス３を介して記憶部４０から復帰のためのデータが各機能ブロックに直接送られることによってデータ復帰処理が行われる。このように、従来必要であった転送設定等の処理が行われることなく、かつ、機能ブロックと記憶部４０との間のデータ転送がＤＭＡＣ等の他のブロックを介することなく行われるため、従来と比較して、データ退避及びデータ復帰が迅速に行われる。データ退避及びデータ復帰が迅速に行われ、かつ、従来必要であった処理及び機能ブロックと記憶部４０との間のデータ転送が簡素化されたため、データ退避及びデータ復帰の際に消費される電力が低減する。
【００２４】
また、本実施形態のデータ転送システムによれば、データ退避処理又はデータ復帰処理を行う機能ブロックが複数ある場合、各機能ブロックのデータ転送処理又はデータ復帰処理を並行して行うため、データ退避処理を行う機能ブロックを切り替えるといったオーバーヘッドがない。したがって、データ退避又はデータ復帰が迅速に行われる。このように、データ退避処理又はデータ復帰処理を行う機能ブロックが複数ある場合であってもデータ退避及びデータ復帰が迅速に行われるため、データ退避及びデータ復帰の際に消費される電力が低減する。
【００２５】
（第２の実施形態）
図３は、第２の実施形態のデータ転送システムを示すブロック図である。第２の実施形態のデータ転送システムが第１の実施形態のデータ転送システムと異なる点は、ビット幅設定部７を備える点である。また、第２の実施形態のデータ転送システムは、機能ブロック２０Ａ〜２０Ｄの代わりに機能ブロック２１Ａ〜２１Ｄを備える。この点以外は第１の実施形態と同様であり、図３において、図１と共通する構成要素には同じ参照符号が付され、当該構成要素の説明は省略する。
【００２６】
なお、本実施形態では、バス割当設定部の一例として、ビット幅設定部７が用いられた場合を示す。また、第１のデータ保持部及び第２のデータ保持部の一例として、機能ブロック２１Ａ〜２１Ｄがそれぞれ有するデータ保持部２１１Ａ〜２１１Ｄが用いられた場合を示す。また、第１の退避処理制御部の一例として、機能ブロック２１Ａ〜２１Ｄがそれぞれ有する退避処理制御部２１２Ａ〜２１２Ｄが用いられた場合を示す。また、第２の復帰処理制御部の一例として、機能ブロック２１Ａ〜２１Ｄがそれぞれ有する復帰処理制御部２１３Ａ〜２１３Ｄが用いられた場合を示す。
【００２７】
ビット幅設定部７は、データ退避処理及びデータ復帰処理が行われる際に機能ブロック２１Ａ〜２１Ｄと記憶部４０との間でデータを転送するバス３上の、機能ブロック毎のビット幅の割り当てを設定する。すなわち、ビット幅設定部７は、各機能ブロックの退避処理制御部が退避クロック６の１クロック・サイクル毎にバス３に送出する退避データのビット数、及び各機能ブロックの復帰処理制御部が復帰クロック５の１クロック・サイクル毎にバス３から読み出す退避データのビット数を、機能ブロック毎に設定する。
【００２８】
機能ブロック毎のビット幅の割り当てはビット幅設定情報によって一意に決定される。例えば、ビット幅設定情報「１」の場合は、バス３の０〜１５ビット目のラインの１６ビットが機能ブロック２１Ａに割り当てられ、１６〜２３ビット目のラインの８ビットが機能ブロック２１Ｂに割り当てられ、２４〜２８ビット目のラインの４ビットが機能ブロック２１Ｃに割り当てられ、２９〜３１ビット目のラインの４ビットが機能ブロック２１Ｄに割り当てられる。
【００２９】
本実施形態の機能ブロック２１Ａ〜２１Ｄは、それぞれ、データ保持部２１１Ａ〜２１１Ｄと、退避処理制御部２１２Ａ〜２１２Ｄと、復帰処理制御部２１３Ａ〜２１３Ｄとを有する。データ保持部２１１Ａ〜２１１Ｄは、レジスタ等の記録媒体である。データ保持部２１１Ａ〜２１１Ｄには、電源供給を遮断する際に記憶部４０へ退避させる必要のあるデータ（退避データ）が格納されている。退避処理制御部２１２Ａ〜２１２Ｄは、クロック制御部１０から退避クロック６が送られたとき、ビット幅設定部７からビット幅設定情報を読み出し、退避クロック６に同期して、データ保持部２１１Ａ〜２１１Ｄからビット幅設定情報に応じたビット数ずつ退避データを読み出して、バス３の各機能ブロックに割り当てられたラインに送出する。復帰処理制御部２１３Ａ〜２１３Ｄは、クロック制御部１０から復帰クロック５が送られたとき、ビット幅設定部７からビット幅設定情報を読み出し、復帰クロック５に同期して、バス３の各機能ブロックに割り当てられたラインからビット幅設定情報に応じたビット数ずつ退避データを読み出してデータ保持部２１１Ａ〜２１１Ｄに書き込む。
【００３０】
バス３は、機能ブロック２１Ａ〜２１Ｄ及び記憶部４０に接続されている３２ビット幅のデータ転送バスである。データ退避処理及びデータ復帰処理が行われる際、ビット幅設定部７によって設定されたビット幅設定情報に従って、３２ビット幅のバス３の一部が機能ブロック２１Ａ、機能ブロック２１Ｂ、機能ブロック２１Ｃ及び機能ブロック２１Ｄにそれぞれ割り当てられる。
【００３１】
図４は、第２の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャートである。以下、第２の実施形態のデータ転送システムが行うデータ退避処理について説明する。データ退避処理が実行される前に、バス３の機能ブロック毎のビット幅の割り当てをビット幅設定部７に設定する。クロック制御部１０がデータ退避処理の実行を決定すると、クロック制御部１０は、機能ブロック２１Ａ〜２１Ｄ及び記憶部４０に退避クロック６を送る。退避クロック６を検出した機能ブロック２１Ａ〜２１Ｄの退避処理制御部２１２Ａ〜２１２Ｄは、ビット幅設定部７からビット幅設定情報を読み出し、退避クロック６に同期して、データ保持部２１１Ａ〜２１１Ｄからビット幅設定情報に応じたビット数の退避データを並行して順次読み出してバス３に送出する。図４（ａ）に示す例では、退避処理制御部２１２Ａ〜２１２Ｄは、データ保持部２１１Ａから１６ビット、データ保持部２１１Ｂから８ビット、データ保持部２１１Ｃから４ビット、データ保持部２１１Ｄから４ビットのデータを順次読み出す。退避クロック６を検出した記憶部４０の退避処理制御部４０１は、データ保持部４０３への書き込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、退避クロック６に同期して、バス３から順次受け取った３２ビットの退避データをデータ保持部４０３に書き込む。
【００３２】
次に、第２の実施形態のデータ転送システムが行うデータ復帰処理について説明する。クロック制御部１０がデータ復帰処理の実行を決定すると、クロック制御部１０は、機能ブロック２１Ａ〜２１Ｄ及び記憶部４０に復帰クロック５を送る。復帰クロック５を検出した記憶部４０の復帰処理制御部４０２は、データ保持部４０３からの読み出しを許可又は禁止するリードイネーブル信号をイネーブル（許可）に設定し、復帰クロック５に同期して、退避データをデータ保持部４０３から３２ビットずつ読み出してバス３に送出する。復帰クロック５を検出した機能ブロック２１Ａ〜２１Ｄの復帰処理制御部２１３Ａ〜２１３Ｄは、ビット幅設定部７からビット幅設定情報を読み出し、復帰クロック５に同期して、バス３上を転送されたデータの内、ビット幅設定情報に応じたビット数のデータを順次それぞれ読み出してデータ保持部２１１Ａ〜２１１Ｄに書き込む。図４（ｂ）に示す例では、復帰処理制御部２１３Ａ〜２１３Ｄは、バス３の０〜１５ビット目の１６ビットのデータをデータ保持部２１１Ａに書き込み、１６〜２３ビット目の８ビットのデータをデータ保持部２１１Ｂに書き込み、２４〜２８ビット目の４ビットのデータをデータ保持部２１１Ｃに書き込み、２９〜３１ビット目の４ビットのデータをデータ保持部２１１Ｄに書き込む。
【００３３】
以上説明したように、本実施形態のデータ転送システムによれば、各機能ブロックの退避データのデータサイズに応じて、各機能ブロックに割り当てるバス３上のビット幅を調整することができる。したがって、複数の機能ブロックの各退避データのデータサイズが異なる場合であっても、複数の機能ブロックのデータ退避及びデータ復帰に要する時間が最短となるよう設定できる。
【００３４】
なお、本実施形態では、バス３上の機能ブロック毎のビット幅がビット幅設定情報としてビット幅設定部７に設定されるが（［００２４］参照）、ビット幅設定情報を用いないで機能ブロックごとにビット幅を直接設定しても良い。
【００３５】
（第３の実施形態）
図５は、第３の実施形態のデータ転送システムを示すブロック図である。第３の実施形態のデータ転送システムが第１の実施形態のデータ転送システムと異なる点は、クロック制御部１０の代わりにクロック制御部１１を備える点である。この点以外は第１の実施形態と同様であるため、図５において、図１と共通する構成要素には同じ参照符号が付され、当該構成要素の説明は省略する。
【００３６】
第１の実施形態のクロック制御部１０から機能ブロック２０Ａ〜２０Ｄ及び記憶部４０に送られる退避クロック６及び復帰クロック５はそれぞれ共通であるが、第３の実施形態では、機能ブロック２０Ａ，２０Ｂに送られる退避クロック６０及び復帰クロック５０、機能ブロック２０Ｃ，２０Ｄに送られる退避クロック６１及び復帰クロック５１、並びに記憶部４０に送られる退避クロック６２及び復帰クロック５２はそれぞれ異なる。すなわち、本実施形態のクロック制御部１１は、データ退避処理を行う際、機能ブロック２０Ａ，２０Ｂに退避クロック６０を送り、機能ブロック２０Ｃ，２０Ｄに退避クロック６１を送り、記憶部４０に退避クロック６２を送る。なお、退避クロック６０の送出タイミングと退避クロック６１の送出タイミングは異なり、各退避クロックの送出時間は重ならない。但し、退避クロック６２は、退避クロック６０の送出時間及び退避クロック６１の送出時間の間送出される。また、クロック制御部１１は、データ復帰処理を行う際、機能ブロック２０Ａ，２０Ｂに復帰クロック５０を送り、機能ブロック２０Ｃ，２０Ｄに復帰クロック５１を送り、記憶部４０に復帰クロック５２を送る。なお、復帰クロック５０の送出タイミングと復帰クロック５１の送出タイミングは異なり、各復帰クロックの送出時間は重ならない。但し、復帰クロック５２は、復帰クロック５０の送出時間及び復帰クロック５１の送出時間の間送出される。
【００３７】
機能ブロック２０Ａ〜２０Ｄ及び記憶部４０はそれぞれ送られた退避クロック又は復帰クロックに応じて第１の実施形態と同様に動作する。すなわち、機能ブロック２０Ａ，２０Ｂは、退避クロック６０又は復帰クロック５０を検出したときに第１の実施形態と同様の動作を行い、機能ブロック２０Ｃ，２０Ｄは、退避クロック６１又は復帰クロック５１を検出したときに第１の実施形態と同様の動作を行い、記憶部４０は退避クロック６２又は復帰クロック５２を検出したときに第１の実施形態と同様の動作を行う。
【００３８】
本実施形態においてデータ退避処理又はデータ復帰処理を実施する際、バス３の０〜１５ビット目のラインの１６ビットが機能ブロック２０Ａと機能ブロック２０Ｃに、１６〜３１ビット目のラインの１６ビットが機能ブロック２０Ｂと機能ブロック２０Ｄにそれぞれ割り当てられる。
【００３９】
図６は、第３の実施形態のデータ転送システムが（ａ）データ退避処理及び（ｂ）データ復帰処理を行う際のタイムチャートである。以下、第３の実施形態のデータ転送システムが行うデータ退避処理について説明する。クロック制御部１１がデータ退避処理の実行を決定すると、クロック制御部１１は、機能ブロック２０Ａ，２０Ｂに退避クロック６０を送り、記憶部４０に退避クロック６２を送る。退避クロック６０を検出した機能ブロック２０Ａ，２０Ｂの退避処理制御部２０２Ａ，２０２Ｂは、退避クロック６０に同期して、データ保持部２０１Ａ，２０１Ｂからそれぞれ１６ビットの退避データを並行して順次読み出してバス３に送出する。退避クロック６２を検出した記憶部４０の退避処理制御部４０１は、データ保持部４０３への書き込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、退避クロック６２に同期して、バス３から順次受け取った３２ビットの退避データをデータ保持部４０３に書き込む。
【００４０】
機能ブロック２０Ａ，２０Ｂのデータ退避完了後、クロック制御部１１は、機能ブロック２０Ａ，２０Ｂへの退避クロック６０の送出を停止し、その直後、機能ブロック２０Ｃ，２０Ｄに退避クロック６１を送る。なお、機能ブロック２０Ａ，２０Ｂへの退避クロック６０の送出は停止しても、記憶部４０への退避クロック６２の送出は続行される。退避クロック６１を検出した機能ブロック２０Ｃ，２０Ｄの退避処理制御部２０２Ｃ，２０２Ｄは、退避クロック６１に同期して、データ保持部２０１Ｃ，２０１Ｄからそれぞれ１６ビットの退避データを並行して順次読み出してバス３に送出する。記憶部４０の退避処理制御部４０１は退避クロック６２を検出したままであるため、ライトイネーブル信号をイネーブルにしたまま、退避クロック６２に同期して、バス３から順次受け取った３２ビットの退避データをデータ保持部４０３に書き込む。
【００４１】
次に、第３の実施形態のデータ転送システムが行うデータ復帰処理について説明する。クロック制御部１１がデータ復帰処理の実行を決定すると、クロック制御部１１は、機能ブロック２０Ａ，２０Ｂに復帰クロック５０を送り、記憶部４０に復帰クロック５２を送る。復帰クロック５２を検出した記憶部４０の復帰処理制御部４０２は、データ保持部４０３からの読み出しを許可又は禁止するリードイネーブル信号をイネーブル（許可）に設定し、復帰クロック５２に同期して、退避データをデータ保持部４０３から３２ビットずつ読み出してバス３に送出する。復帰クロック５０を検出した機能ブロック２０Ａ，２０Ｂの復帰処理制御部２０３Ａ，２０３Ｂは、復帰クロック５０に同期して、バス３上を転送されたデータを順次読み出してデータ保持部２０１Ａ，２０１Ｂに１６ビットずつ書き込む。
【００４２】
機能ブロック２０Ａ，２０Ｂのデータ復帰完了後、クロック制御部１１は、機能ブロック２０Ａ，２０Ｂへの復帰クロック５０の送出を停止し、その直後、機能ブロック２０Ｃ，２０Ｄに復帰クロック５１を送る。なお、機能ブロック２０Ａ，２０Ｂへの復帰クロック５０の送出は停止しても、記憶部４０への復帰クロック５２の送出は続行される。記憶部４０の退避処理制御部４０１は復帰クロック５２を検出したままであるため、リードイネーブル信号をイネーブルにしたまま、復帰クロック５２に同期して、退避データをデータ保持部４０３から３２ビットずつ読み出してバス３に送出する。復帰クロック５１を検出した機能ブロック２０Ｃ，２０Ｄの復帰処理制御部２０３Ｃ〜２０３Ｄは、復帰クロック５１に同期して、バス３上を転送されたデータを順次読み出してデータ保持部２０１Ｃ，２０１Ｄに１６ビットずつ書き込む。
【００４３】
以上説明したように、本実施形態のデータ転送システムによれば、データ退避処理又はデータ復帰処理を行う機能ブロックが複数あり、かつ、各機能ブロックの１回当たりに送出する退避データの合計ビット数がバス３のビット幅を超える場合であっても、機能ブロック毎又は一部の複数の機能ブロック毎にデータ退避又はデータ復帰が行われる。各機能ブロックの退避処理制御部がバス３に送出するビット数又は復帰処理制御部がバス３から読み出すビット数が大きい場合であっても、機能ブロック毎又は一部の複数の機能ブロック毎にデータ退避又はデータ復帰を順次行うことができる。
【００４４】
（第４の実施形態）
図７は、第４の実施形態のデータ退避システムを示すブロック図である。図７に示すように、システムＬＳＩ上に搭載された第４の実施形態のデータ退避システムは、クロック発生源１０１と、退避制御部１０２と、機能ブロック１２０Ａ〜１２０Ｄと、バス１０３と、記憶部１４０とを備える。機能ブロック１２０Ａ〜１２０Ｄは、それぞれ、データ保持部１２１Ａ〜１２１Ｄと、退避処理制御部１２２Ａ〜１２２Ｄと、退避処理設定部１２３Ａ〜１２３Ｄとを有する。また、記憶部１４０は、退避処理制御部１４１と、データ保持部１４２とを有する。なお、図７に示した例では、記憶部１４０はデータ保持部１４２を１つ有するが、複数のデータ保持部１４２を有しても良い。
【００４５】
なお、本実施形態では、制御部の一例として、クロック発生源１０１及び退避制御部１０２が用いられた場合を示す。また、第１のデータ保持部の一例として、機能ブロック１２０Ａ〜１２０Ｄがそれぞれ有するデータ保持部１２１Ａ〜１２１Ｄが用いられた場合を示す。また、第１の退避処理制御部の一例として、機能ブロック１２０Ａ〜１２０Ｄがそれぞれ有する退避処理制御部１２２Ａ〜１２２Ｄが用いられた場合を示す。また、バス割当設定部の一例として、機能ブロック１２０Ａ〜１２０Ｄがそれぞれ有する退避処理設定部１２３Ａ〜１２３Ｄが用いられた場合を示す。また、第２のデータ保持部の一例として、記憶部１４０が有するデータ保持部１４２が用いられた場合を示す。また、第２の退避処理制御部の一例として、記憶部１４０が有する退避処理制御部１４１が用いられた場合を示す。
【００４６】
クロック発生源１０１は、本実施形態のシステムが動作中、機能ブロック１２０Ａ〜１２０Ｄ及び記憶部１４０にクロック１０５を送る。また、退避制御部１０２は、データ退避処理を行う際、機能ブロック１２０Ａ〜１２０Ｄ及び記憶部１４０に退避イネーブル信号１０６を送る。なお、本実施形態では、退避期間クロックの一例として、退避制御部１０２から退避イネーブル信号１０６が出力されている間のクロック１０５が用いられている。
【００４７】
機能ブロック１２０Ａ〜１２０Ｄが有するデータ保持部１２１Ａ〜１２１Ｄは、レジスタ等の記録媒体である。データ保持部１２１Ａ〜１２１Ｄには、動作が不要な機能ブロックへの電源供給を遮断する際に記憶部１４０へ退避させる必要のあるデータ（以下「退避データ」という。）が格納されている。機能ブロック１２０Ａ〜１２０Ｄが有する退避処理制御部１２２Ａ〜１２２Ｄは、退避制御部１０２から退避イネーブル信号１０６が送られている間、クロック発生源１０１から送られたクロック１０５に同期して、退避処理設定部１２３Ａ〜１２３Ｄから指示された所定ビット数の退避データをデータ保持部１２１Ａ〜１２１Ｄから読み出して、バス１０３の各機能ブロックに割り当てられたラインに送出する。機能ブロック１２０Ａ〜１２０Ｄが有する退避処理設定部１２３Ａ〜１２３Ｄは、クロック１０５の１クロック・サイクル毎に、バス１０３のビット幅の割り当てを退避処理制御部１２２Ａ〜１２２Ｄに設定する。
【００４８】
バス１０３は、機能ブロック１２０Ａ〜１２０Ｄ及び記憶部１４０に接続され、３２ビットのビット幅を有するデータ転送バスである。
【００４９】
記憶部１４０が有するデータ保持部１４２は、不揮発性の記録媒体である。データ保持部１４２には、バス１０３を介して機能ブロック１２０Ａ〜１２０Ｄから順次送られた３２ビットの退避データが格納される。記憶部１４０が有する退避処理制御部１４１は、退避制御部１０２から退避イネーブル信号１０６が送られている間、クロック発生源１０１から送られたクロック１０５に同期して、バス１０３上を転送された３２ビットの退避データをデータ保持部１４２に順次書き込む。
【００５０】
図８は、第４の実施形態のデータ退避システムがデータ退避処理を行う際のタイムチャートである。以下、第４の実施形態のデータ退避システムが行うデータ退避処理について説明する。クロック発生源１０１はデータ退避システムが動作中は常にクロック１０５を出力する。退避制御部１０２がデータ退避処理の実行を決定すると、退避制御部１０２は、機能ブロック１２０Ａ〜１２０Ｄ及び記憶部１４０に退避イネーブル信号１０６を送る。退避イネーブル信号１０６を検出した機能ブロック１２０Ａ〜１２０Ｄの退避処理制御部１２２Ａ〜１２２Ｄは、クロック１０５に同期して、退避処理設定部１２３Ａ〜１２３Ｄによって１クロック・サイクル毎に設定されたビット数の退避データをデータ保持部１２１Ａ〜１２１Ｄから読み出してバス１０３に送出する。退避イネーブル信号１０６を検出した記憶部１４０の退避処理制御部１４１は、データ保持部１４２への書き込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、クロック１０５に同期して、バス１０３から順次受け取った３２ビットの退避データをデータ保持部１４２に書き込む。
【００５１】
図８に示した例では、退避イネーブル信号１０６の送出後、退避処理設定部１２３Ａは、１、２クロック目にバス１０３の０〜７ビット目を、３クロック目にバス１０３の０〜１５ビット目を、４クロック目以降にバス１０３の０〜２３ビット目を機能ブロック１２０Ａに割り当てるよう退避処理制御部１２２Ａに設定する。また、退避処理設定部１２３Ｂは、１、２クロック目にバス１０３の８〜１５ビット目を機能ブロックＢに割り当てるよう退避処理制御部１２２Ｂに設定する。また、退避処理設定部１２３Ｃは、１〜３クロック目にバス１０３の１６〜２３ビット目を機能ブロックＣに割り当てるよう退避処理制御部１２２Ｃに設定する。また、退避処理設定部１２３Ｄは、１クロック目以降にバス１０３の２４〜３１ビット目を機能ブロックＤに割り当てるよう退避処理制御部１２２Ｄに設定する。
【００５２】
以上説明したように、本実施形態のデータ退避システムによれば、各機能ブロックの退避データのデータサイズに応じて、各機能ブロックに割り当てるバス１０３のビット幅をクロック１０５の１クロック・サイクル毎に調整することができる。したがって、複数の機能ブロックの各退避データのデータサイズが異なる場合であっても、複数の機能ブロックのデータ退避に要する時間が最短となるよう設定できる。
【００５３】
なお、本実施形態では、各機能ブロックに退避処理設定部を設け、機能ブロック毎にビット幅を直接設定しているが、各機能ブロックの退避処理設定部を１つにまとめて、機能ブロックとは別に設けても良い。この場合、機能ブロックに共通の退避処理設定部からは、１クロック・サイクル毎のバス１０３のビット幅の割り当てについて記述されたビット幅設定情報が各機能ブロックに送られる。
【００５４】
（第５の実施形態）
図９は、第５の実施形態のデータ復帰システムを示すブロック図である。図９に示すように、システムＬＳＩ上に搭載された第５の実施形態のデータ復帰システムは、クロック発生源２０１と、復帰制御部２０２と、機能ブロック２２０Ａ〜２２０Ｄと、バス２０３と、記憶部２４０とを備える。機能ブロック２２０Ａ〜２２０Ｄは、それぞれ、データ保持部２２１Ａ〜２２１Ｄと、復帰処理制御部２２２Ａ〜２２２Ｄと、復帰処理設定部２２３Ａ〜２２３Ｄとを有する。また、記憶部２４０は、復帰処理制御部２４１と、データ保持部２４２とを有する。なお、図９に示した例では、記憶部２４０はデータ保持部２４２を１つ有するが、複数のデータ保持部２４２を有しても良い。
【００５５】
なお、本実施形態では、制御部の一例として、クロック発生源２０１及び復帰制御部２０２が用いられた場合を示す。また、第２のデータ保持部の一例として、機能ブロック２２０Ａ〜２２０Ｄがそれぞれ有するデータ保持部２２１Ａ〜２２１Ｄが用いられた場合を示す。また、第２の復帰処理制御部の一例として、機能ブロック２２０Ａ〜２２０Ｄがそれぞれ有する復帰処理制御部２２２Ａ〜２２２Ｄが用いられた場合を示す。また、バス割当設定部の一例として、機能ブロック２２０Ａ〜２２０Ｄがそれぞれ有する復帰処理設定部２２３Ａ〜２２３Ｄが用いられた場合を示す。また、第１のデータ保持部の一例として、記憶部２４０が有するデータ保持部２４２が用いられた場合を示す。また、第１の復帰処理制御部の一例として、記憶部２４０が有する復帰処理制御部２４１が用いられた場合を示す。
【００５６】
クロック発生源２０１は、本実施形態のシステムが動作中、機能ブロック２２０Ａ〜２２０Ｄ及び記憶部２４０にクロック２０５を送る。また、復帰制御部２０２は、データ復帰処理を行う際、機能ブロック２２０Ａ〜２２０Ｄ及び記憶部２４０に復帰イネーブル信号２０６を送る。なお、本実施形態では、復帰期間クロックの一例として、復帰制御部２０２から復帰イネーブル信号２０６が出力されている間のクロック２０５が用いられている。
【００５７】
記憶部２４０が有するデータ保持部２４２は、不揮発性の記録媒体である。データ保持部２４２には、機能ブロック２２０Ａ〜２２０Ｄが動作を再開するために必要なデータ（以下「復帰データ」という。）が格納されている。記憶部２４０が有する復帰処理制御部２４１は、復帰制御部２０２から復帰イネーブル信号２０６が送られている間、クロック発生源２０１から送られたクロック２０５に同期して、バス２０３の各機能ブロックに割り当てられたラインに復帰データを送出する。
【００５８】
バス２０３は、機能ブロック２２０Ａ〜２２０Ｄ及び記憶部２４０に接続され、３２ビットのビット幅を有するデータ転送バスである。
【００５９】
機能ブロック２２０Ａ〜２２０Ｄが有するデータ保持部２２１Ａ〜２２１Ｄは、レジスタ等の記録媒体である。データ保持部２２１Ａ〜２２１Ｄには、バス２０３を介して記憶部２４０から順次送られた復帰データが格納される。機能ブロック２２０Ａ〜２２０Ｄが有する復帰処理制御部２２２Ａ〜２２２Ｄは、復帰制御部２０２から復帰イネーブル信号２０６が送られている間、クロック発生源２０１から送られたクロック２０５に同期して、復帰処理設定部２２３Ａ〜２２３Ｄから指示された所定ビット数の復帰データをバス２０３から読み取って、データ保持部２２１Ａ〜２２１Ｄに格納する。機能ブロック２２０Ａ〜２２０Ｄが有する復帰処理設定部２２３Ａ〜２２３Ｄは、クロック２０５の１クロック・サイクル毎に、バス２０３のビット幅の割り当てを復帰処理制御部２２２Ａ〜２２２Ｄに設定する。
【００６０】
図１０は、第５の実施形態のデータ復帰システムがデータ復帰処理を行う際のタイムチャートである。以下、第５の実施形態のデータ復帰システムが行うデータ復帰処理について説明する。クロック発生源２０１はデータ復帰システムが動作中は常にクロック２０５を出力する。復帰制御部２０２がデータ復帰処理の実行を決定すると、復帰制御部２０２は、機能ブロック２２０Ａ〜２２０Ｄ及び記憶部２４０に復帰イネーブル信号２０６を送る。復帰イネーブル信号２０６を検出した記憶部２４０の復帰処理制御部２４１は、データ保持部２４２からの読み込みを許可又は禁止するリードイネーブル信号をイネーブル（許可）に設定し、クロック２０５に同期して、データ保持部２４２から読み取った３２ビットの復帰データをバス２０３に送出する。復帰イネーブル信号２０６を検出した機能ブロック２２０Ａ〜２２０Ｄの復帰処理制御部２２２Ａ〜２２２Ｄは、クロック２０５に同期して、復帰処理設定部２２３Ａ〜２２３Ｄによって１クロック・サイクル毎に設定されたビット数の復帰データをバス２０３から順次受け取って、データ保持部２２１Ａ〜２２１Ｄに格納する。
【００６１】
図１０に示した例では、復帰イネーブル信号２０６の送出後、復帰処理設定部２２３Ａは、１、２クロック目にバス２０３の０〜７ビット目を、３クロック目にバス２０３の０〜１５ビット目を、４クロック目以降にバス２０３の０〜２３ビット目を機能ブロック２２０Ａに割り当てるよう復帰処理制御部２２２Ａに設定する。また、復帰処理設定部２２３Ｂは、１、２クロック目にバス２０３の８〜１５ビット目を機能ブロックＢに割り当てるよう復帰処理制御部２２２Ｂに設定する。また、復帰処理設定部２２３Ｃは、１〜３クロック目にバス２０３の１６〜２３ビット目を機能ブロックＣに割り当てるよう復帰処理制御部２２２Ｃに設定する。また、復帰処理設定部２２３Ｄは、１クロック目以降にバス２０３の２４〜３１ビット目を機能ブロックＤに割り当てるよう復帰処理制御部２２２Ｄに設定する。
【００６２】
以上説明したように、本実施形態のデータ復帰システムによれば、各機能ブロックの復帰データのデータサイズに応じて、各機能ブロックに割り当てるバス２０３のビット幅をクロック２０５の１クロック・サイクル毎に調整することができる。したがって、複数の機能ブロックの各復帰データのデータサイズが異なる場合であっても、複数の機能ブロックのデータ復帰に要する時間が最短となるよう設定できる。
【００６３】
なお、本実施形態では、各機能ブロックに復帰処理設定部を設け、機能ブロック毎にビット幅を直接設定しているが、各機能ブロックの復帰処理設定部を１つにまとめて、機能ブロックとは別に設けても良い。この場合、機能ブロックに共通の復帰処理設定部からは、１クロック・サイクル毎のバス２０３のビット幅の割り当てについて記述されたビット幅設定情報が各機能ブロックに送られる。
【００６４】
（第６の実施形態）
図１１は、第６の実施形態のデータ退避システムを示すブロック図である。図１１に示すように、システムＬＳＩ上に搭載された第６の実施形態のデータ退避システムは、クロック発生源１０１と、退避制御部１０２と、退避処理設定部１０７と、機能ブロック３２０Ａ〜３２０Ｄと、バス１０３と、記憶部１４０とを備える。機能ブロック３２０Ａ〜３２０Ｄは、それぞれ、データ保持部３２１Ａ〜３２１Ｄと、退避処理制御部３２２Ａ〜３２２Ｄとを有する。また、記憶部１４０は、退避処理制御部１４１と、データ保持部１４２とを有する。なお、図１１に示した例では、記憶部１４０はデータ保持部１４２を１つ有するが、複数のデータ保持部１４２を有しても良い。
【００６５】
なお、本実施形態では、制御部の一例として、クロック発生源１０１及び退避制御部１０２が用いられた場合を示す。また、バス割当設定部の一例として、退避処理設定部１０７が用いられた場合を示す。また、第１のデータ保持部の一例として、機能ブロック３２０Ａ〜３２０Ｄがそれぞれ有するデータ保持部３２１Ａ〜３２１Ｄが用いられた場合を示す。また、第１の退避処理制御部の一例として、機能ブロック３２０Ａ〜３２０Ｄがそれぞれ有する退避処理制御部３２２Ａ〜３２２Ｄが用いられた場合を示す。また、第２のデータ保持部の一例として、記憶部１４０が有するデータ保持部１４２が用いられた場合を示す。また、第２の退避処理制御部の一例として、記憶部１４０が有する退避処理制御部１４１が用いられた場合を示す。
【００６６】
クロック発生源１０１は、本実施形態のシステムが動作中、機能ブロック３２０Ａ〜３２０Ｄ及び記憶部１４０にクロック１０５を送る。また、退避制御部１０２は、データ退避処理を行う際、機能ブロック３２０Ａ〜３２０Ｄ及び記憶部１４０に退避イネーブル信号１０６を送る。なお、本実施形態では、退避期間クロックの一例として、退避制御部１０２から退避イネーブル信号１０６が出力されている間のクロック１０５が用いられている。
【００６７】
機能ブロック３２０Ａ〜３２０Ｄが有するデータ保持部３２１Ａ〜３２１Ｄは、レジスタ等の記録媒体である。データ保持部３２１Ａ〜３２１Ｄには、動作が不要な機能ブロックへの電源供給を遮断する際に記憶部１４０へ退避させる必要のあるデータ（以下「退避データ」という。）が格納されている。機能ブロック３２０Ａ〜３２０Ｄが有する退避処理制御部３２２Ａ〜３２２Ｄは、退避制御部１０２から退避イネーブル信号１０６が送られている間、クロック発生源１０１から送られたクロック１０５に同期して、退避処理設定部１０７から指示された所定ビット数の退避データをデータ保持部３２１Ａ〜３２１Ｄから読み出して、バス１０３の各機能ブロックに割り当てられたラインに送出する。また、退避処理制御部３２２Ａ〜３２２Ｄは、データ保持部３２１Ａ〜３２１Ｄにそれぞれ格納されていた退避データのバス１０３への送出が完了したとき、退避完了フラグを立てる。退避完了フラグの状態を示す信号は、退避処理設定部１０７に送られる。
【００６８】
退避処理設定部１０７は、各機能ブロックに対するバス１０３のビット幅の割り当てを一元管理する。退避処理設定部１０７は、機能ブロック３２０Ａ〜３２０Ｄから送られた信号が示す退避完了フラグの状態に応じて、機能ブロック３２０Ａ〜３２０Ｄの退避処理制御部３２２Ａ〜３２２Ｄに対するバス１０３のビット幅の割り当ての設定を変更する。
【００６９】
バス１０３は、機能ブロック３２０Ａ〜３２０Ｄ及び記憶部１４０に接続され、３２ビットのビット幅を有するデータ転送バスである。
【００７０】
記憶部１４０が有するデータ保持部１４２は、不揮発性の記録媒体である。データ保持部１４２には、バス１０３を介して機能ブロック３２０Ａ〜３２０Ｄから順次送られた３２ビットの退避データが格納される。記憶部１４０が有する退避処理制御部１４１は、退避制御部１０２から退避イネーブル信号１０６が送られている間、クロック発生源１０１から送られたクロック１０５に同期して、バス１０３上を転送された３２ビットの退避データをデータ保持部１４２に順次書き込む。
【００７１】
図１２は、第６の実施形態のデータ退避システムがデータ退避処理を行う際のタイムチャートである。以下、第６の実施形態のデータ退避システムが行うデータ退避処理について説明する。クロック発生源１０１はデータ退避システムが動作中は常にクロック１０５を出力する。退避制御部１０２がデータ退避処理の実行を決定すると、退避制御部１０２は、機能ブロック３２０Ａ〜３２０Ｄ及び記憶部１４０に退避イネーブル信号１０６を送る。退避イネーブル信号１０６を検出した機能ブロック３２０Ａ〜３２０Ｄの退避処理制御部３２２Ａ〜３２２Ｄは、クロック１０５に同期して、退避処理設定部１０７によって設定されたビット数の退避データをデータ保持部３２１Ａ〜３２１Ｄから読み出してバス１０３に送出する。また、退避処理制御部３２２Ａ〜３２２Ｄは、退避データのバス１０３への送出が完了したとき退避完了フラグを立てる。退避イネーブル信号１０６を検出した記憶部１４０の退避処理制御部１４１は、データ保持部１４２への書き込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、クロック１０５に同期して、バス１０３から順次受け取った３２ビットの退避データをデータ保持部１４２に書き込む。
【００７２】
本実施形態では、退避イネーブル信号１０６の送出後、機能ブロック３２０Ａ〜３２０Ｄの退避完了フラグがどれも立っていない状態では、退避処理設定部１０７は、バス３の０〜７ビット目のラインの８ビットを機能ブロック３２０Ａに割り当て、８〜１５ビット目のラインの８ビットを機能ブロック３２０Ｂに割り当て、１６〜２３ビット目のラインの８ビットを機能ブロック３２０Ｃに割り当て、２４〜３１ビット目のラインの８ビットを機能ブロック３２０Ｄに割り当てる。退避処理設定部１０７は、退避完了フラグの状態に応じて、退避処理が完了した機能ブロックに割り当てているラインを退避処理が続行中の機能ブロックに割り当てる。図１２に示した例では、機能ブロック３２０Ｂ，３２０Ｃの退避データの送出が略同時に完了するため、その後、退避処理設定部１０７は、バス３の０〜１５ビット目のラインの１６ビットを機能ブロック３２０Ａに割り当て、１６〜３２ビット目のラインの１６ビットを機能ブロック３２０Ｄに割り当てる。
【００７３】
以上説明したように、本実施形態のデータ退避システムによれば、各機能ブロックの退避データのデータサイズに応じて、各機能ブロックに割り当てるバス１０３のビット幅を退避完了フラグの状態に応じて調整することができる。したがって、複数の機能ブロックの各退避データのデータサイズが異なる場合であっても、複数の機能ブロックのデータ退避に要する時間が最短となるよう設定できる。
【００７４】
（第７の実施形態）
図１３は、第７の実施形態のデータ復帰システムを示すブロック図である。図１３に示すように、システムＬＳＩ上に搭載された第７の実施形態のデータ復帰システムは、クロック発生源２０１と、復帰制御部２０２と、復帰処理設定部２０７と、機能ブロック４２０Ａ〜４２０Ｄと、バス２０３と、記憶部２４０とを備える。機能ブロック４２０Ａ〜４２０Ｄは、それぞれ、データ保持部４２１Ａ〜４２１Ｄと、復帰処理制御部４２２Ａ〜４２２Ｄとを有する。また、記憶部２４０は、復帰処理制御部２４１と、データ保持部２４２とを有する。なお、図１３に示した例では、記憶部２４０はデータ保持部２４２を１つ有するが、複数のデータ保持部２４２を有しても良い。
【００７５】
なお、本実施形態では、制御部の一例として、クロック発生源２０１及び復帰制御部２０２が用いられた場合を示す。また、バス割当設定部の一例として、復帰処理設定部２０７が用いられた場合を示す。また、第２のデータ保持部の一例として、機能ブロック４２０Ａ〜４２０Ｄがそれぞれ有するデータ保持部４２１Ａ〜４２１Ｄが用いられた場合を示す。また、第２の復帰処理制御部の一例として、機能ブロック４２０Ａ〜４２０Ｄがそれぞれ有する復帰処理制御部４２２Ａ〜４２２Ｄが用いられた場合を示す。また、第１のデータ保持部の一例として、記憶部２４０が有するデータ保持部２４２が用いられた場合を示す。また、第１の復帰処理制御部の一例として、記憶部２４０が有する復帰処理制御部２４１が用いられた場合を示す。
【００７６】
クロック発生源２０１は、本実施形態のシステムが動作中、機能ブロック４２０Ａ〜４２０Ｄ及び記憶部２４０にクロック２０５を送る。また、復帰制御部２０２は、データ復帰処理を行う際、機能ブロック４２０Ａ〜４２０Ｄ及び記憶部２４０に復帰イネーブル信号２０６を送る。なお、本実施形態では、復帰期間クロックの一例として、復帰制御部２０２から復帰イネーブル信号２０６が出力されている間のクロック２０５が用いられている。
【００７７】
記憶部２４０が有するデータ保持部２４２は、不揮発性の記録媒体である。データ保持部２４２には、機能ブロック４２０Ａ〜４２０Ｄの動作を再開するために必要なデータ（以下「復帰データ」という。）が格納されている。記憶部２４０が有する復帰処理制御部２４１は、復帰制御部２０２から復帰イネーブル信号２０６が送られている間、クロック発生源２０１から送られたクロック２０５に同期して、バス２０３の各機能ブロックに割り当てられたラインに復帰データを送出する。
【００７８】
バス２０３は、機能ブロック４２０Ａ〜４２０Ｄ及び記憶部２４０に接続され、３２ビットのビット幅を有するデータ転送バスである。
【００７９】
機能ブロック４２０Ａ〜４２０Ｄが有するデータ保持部４２１Ａ〜４２１Ｄは、レジスタ等の記録媒体である。データ保持部４２１Ａ〜４２１Ｄには、バス２０３を介して記憶部２４０から順次送られた復帰データが格納される。機能ブロック４２０Ａ〜４２０Ｄが有する復帰処理制御部４２２Ａ〜４２２Ｄは、復帰制御部２０２から復帰イネーブル信号２０６が送られている間、クロック発生源２０１から送られたクロック２０５に同期して、復帰処理設定部２０７から指示された所定ビット数の復帰データをバス２０３から読み取って、データ保持部４２１Ａ〜４２１Ｄに格納する。また、復帰処理制御部４２２Ａ〜４２２Ｄは、記憶部２４０からバス２０３を介して転送された、該当する機能ブロックの復帰のために必要な復帰データの受領が完了したとき、復帰完了フラグを立てる。復帰完了フラグの状態を示す信号は、復帰処理設定部２０７に送られる。
【００８０】
復帰処理設定部２０７は、各機能ブロックに対するバス２０３のビット幅の割り当てを一元管理する。復帰処理設定部２０７は、機能ブロック４２０Ａ〜４２０Ｄから送られる復帰完了フラグの状態に応じて、機能ブロック４２０Ａ〜４２０Ｄの復帰処理制御部４２２Ａ〜４２２Ｄに対するバス２０３のビット幅の割り当ての設定を変更する。
【００８１】
図１４は、第７の実施形態のデータ復帰システムがデータ復帰処理を行う際のタイムチャートである。以下、第７の実施形態のデータ復帰システムが行うデータ復帰処理について説明する。クロック発生源２０１はデータ復帰システムが動作中は常にクロック２０５を出力する。復帰制御部２０２がデータ復帰処理の実行を決定すると、復帰制御部２０２は、機能ブロック４２０Ａ〜４２０Ｄ及び記憶部２４０に復帰イネーブル信号２０６を送る。復帰イネーブル信号２０６を検出した記憶部２４０の復帰処理制御部２４１は、データ保持部２４２からの読み込みを許可又は禁止するライトイネーブル信号をイネーブル（許可）に設定し、クロック２０５に同期して、データ保持部２４２から読み取った３２ビットの復帰データをバス２０３に送出する。復帰イネーブル信号２０６を検出した機能ブロック４２０Ａ〜４２０Ｄの復帰処理制御部４２２Ａ〜４２２Ｄは、クロック２０５に同期して、復帰処理設定部２０７によって設定されたビット数の復帰データをバス２０３から順次受け取って、データ保持部４２１Ａ〜４２１Ｄに格納する。なお、復帰処理制御部４２２Ａ〜４２２Ｄは、復帰データの受領が完了したとき復帰完了フラグを立てる。
【００８２】
本実施形態では、復帰イネーブル信号２０６の送出後、機能ブロック４２０Ａ〜４２０Ｄの復帰完了フラグがどれも立っていない状態では、復帰処理設定部２０７は、バス３の０〜７ビット目のラインの８ビットを機能ブロック４２０Ａに割り当て、８〜１５ビット目のラインの８ビットを機能ブロック４２０Ｂに割り当て、１６〜２３ビット目のラインの８ビットを機能ブロック４２０Ｃに割り当て、２４〜３１ビット目のラインの８ビットを機能ブロック４２０Ｄに割り当てる。復帰処理設定部２０７は、復帰完了フラグの状態に応じて、復帰処理が完了した機能ブロックに割り当てているラインを復帰処理が続行中の機能ブロックに割り当てる。図１４に示した例では、機能ブロック４２０Ｂ，４２０Ｃの復帰データの受領が略同時に完了するため、その後、復帰処理設定部２０７は、バス３の０〜１５ビット目のラインの１６ビットを機能ブロック４２０Ａに割り当て、１６〜３２ビット目のラインの１６ビットを機能ブロック４２０Ｄに割り当てる。
【００８３】
以上説明したように、本実施形態のデータ復帰システムによれば、各機能ブロックの復帰データのデータサイズに応じて、各機能ブロックに割り当てるバス２０３のビット幅を復帰完了フラグの状態に応じて調整することができる。したがって、複数の機能ブロックの各復帰データのデータサイズが異なる場合であっても、複数の機能ブロックのデータ復帰に要する時間が最短となるよう設定できる。
【００８４】
本発明を詳細にまた特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく様々な変更や修正を加えることができることは当業者にとって明らかである。
【００８５】
本出願は、2007年4月11日出願の日本特許出願（特願2007−103955）に基づくものであり、その内容はここに参照として取り込まれる。
【産業上の利用可能性】
【００８６】
本発明に係るデータ退避システム及びデータ復帰システムは、機能ブロックへの電源供給を遮断したり復帰することによって消費電力を低減するシステムＬＳＩ等の省電力システム等として有用である。
【符号の説明】
【００８７】
１０，１１  クロック制御部
２０Ａ〜２０Ｄ，２１Ａ〜２１Ｄ  機能ブロック
２０１Ａ〜２０１Ｄ，２１１Ａ〜２１１Ｄ  データ保持部
２０２Ａ〜２０２Ｄ，２１２Ａ〜２１２Ｄ  退避処理制御部
２０３Ａ〜２０３Ｄ，２１３Ａ〜２１３Ｄ  復帰処理制御部
３  バス
４０  記憶部
４０１  退避処理制御部
４０２  復帰処理制御部
４０３  データ保持部
７  ビット幅設定部
１０１，２０１  クロック発生源
１０２  退避制御部
１０３，２０３  バス
１０７  退避処理設定部
１２０Ａ〜１２０Ｄ，２２０Ａ〜２２０Ｄ，３２０Ａ〜３２０Ｄ，４２０Ａ〜４２０Ｄ  機能ブロック
１２１Ａ〜１２１Ｄ，２２１Ａ〜２２１Ｄ，３２１Ａ〜３２１Ｄ，４２１Ａ〜４２１Ｄ  データ保持部
１２２Ａ〜１２２Ｄ，３２２Ａ〜３２２Ｄ  退避処理制御部
１２３Ａ〜１２３Ｄ  退避処理設定部
１４０，２４０  記憶部
１４１  退避処理制御部
１４２，２４２  データ保持部
２０２  復帰制御部
２０７  復帰処理設定部
２２２Ａ〜２２２Ｄ，４２２Ａ〜４２２Ｄ  復帰処理制御部
２２３Ａ〜２２３Ｄ  復帰処理設定部
２４１  復帰処理制御部
１０００  メモリ
１００１  ＤＭＡＣ
１００２  ＣＰＵ
１００３  バス
１００４Ａ〜１００４Ｄ  機能ブロック
２０００  ＲＯＭ
２００１  ＲＡＭ
２００２  ＣＰＵ
２００３  ＳＩＯ
２００４  外部記憶装置
２００５  分周器
２００６  ＳＥＬ
２００７  ＯＲ
２００８  割込検出回路
２００９  ＦＦ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
退避データを有する少なくとも１つの機能ブロックと、
前記機能ブロックから転送された前記退避データを記憶する記憶部と、
前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、
前記機能ブロックから前記記憶部へ前記退避データを転送する際に退避期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備え、
前記機能ブロックは、
前記退避データを保持する第１のデータ保持部と、
前記退避期間クロックに同期して、前記第１のデータ保持部から前記バスのビット幅数内の所定ビット数ずつ退避データを読み取り、読み取った退避データを各機能ブロックに割り当てられた前記バスのラインに送出する第１の退避処理制御部と、を有し、
前記記憶部は、
前記バスを介して前記機能ブロックから転送された退避データを保持する第２のデータ保持部と、
前記退避期間クロックに同期して、前記バスから退避データを読み取り、読み取った退避データを前記第２のデータ保持部に格納する第２の退避処理制御部と、を有することを特徴とするデータ退避システム。
【請求項２】
請求項１に記載のデータ退避システムであって、
前記退避期間クロックの１クロック・サイクル毎に前記バスに送出する退避データの前記所定ビット数を、機能ブロック毎に設定するバス割当設定部を備えたことを特徴とするデータ退避システム。
【請求項３】
請求項２に記載のデータ退避システムであって、
前記第１の退避処理制御部は、前記第１のデータ保持部から読み取った退避データの前記バスへの送出が完了したか否かを示す退避完了フラグの状態を示す信号を前記バス割当設定部に送り、
前記バス割当設定部は、各機能ブロックの前記第１の退避処理制御部から送られた前記信号が示す前記退避完了フラグの状態に応じて、前記バスに送出する退避データの前記所定ビット数を機能ブロック毎に設定することを特徴とするデータ退避システム。
【請求項４】
請求項１に記載のデータ退避システムであって、
前記機能ブロックは、前記退避期間クロックの１クロック・サイクル毎に前記バスに送出する退避データの前記所定ビット数を前記第１の退避処理制御部に設定するバス割当設定部を有することを特徴とするデータ退避システム。
【請求項５】
請求項１に記載のデータ退避システムであって、
前記機能ブロックを複数備え、
前記複数の機能ブロックが複数のグループに分けられ、
前記制御部は、前記複数の機能ブロックのグループ毎に異なるタイミングで送出時間が重ならないよう前記退避期間クロックを送ることを特徴とするデータ退避システム。
【請求項６】
少なくとも１つの機能ブロックと、
前記機能ブロックが動作を再開するために必要な復帰データを記憶する記憶部と、
前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、
前記記憶部が記憶する前記復帰データを前記機能ブロックに転送する際に復帰期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備え、
前記記憶部は、
前記復帰データを保持する第１のデータ保持部と、
前記復帰期間クロックに同期して、前記第１のデータ保持部から前記復帰データを読み取り、読み取った復帰データを各機能ブロックに割り当てられた前記バスのラインに送出する第１の復帰処理制御部と、を有し、
前記機能ブロックは、
前記バスを介して前記記憶部から転送された復帰データを保持する第２のデータ保持部と、
前記復帰期間クロックに同期して、各機能ブロックに割り当てられた前記バスの所定ラインから所定ビット数ずつ復帰データを読み取り、読み取った復帰データを前記第２のデータ保持部に格納する第２の復帰処理制御部と、を有することを特徴とするデータ復帰システム。
【請求項７】
請求項６に記載のデータ復帰システムであって、
前記復帰期間クロックの１クロック・サイクル毎に前記バスから読み取る復帰データの前記所定ビット数を、機能ブロック毎に設定するバス割当設定部を備えたことを特徴とするデータ復帰システム。
【請求項８】
請求項７に記載のデータ復帰システムであって、
前記バス割当設定部は、前記復帰期間クロックの１クロック・サイクル毎に、前記バスから読み取る復帰データの前記所定ビット数を機能ブロック毎に設定することを特徴とするデータ復帰システム。
【請求項９】
請求項７に記載のデータ復帰システムであって、
前記第２の復帰処理制御部は、前記バスを介して前記記憶部から転送された前記復帰データの受領が完了したか否かを示す復帰完了フラグの状態を示す信号を前記バス割当設定部に送り、
前記バス割当設定部は、各機能ブロックの前記第２の復帰処理制御部から送られた前記信号が示す前記復帰完了フラグの状態に応じて、前記バスから読み取る復帰データの前記所定ビット数を機能ブロック毎に設定することを特徴とするデータ復帰システム。
【請求項１０】
請求項６に記載のデータ復帰システムであって、
前記機能ブロックは、前記復帰期間クロックの１クロック・サイクル毎に前記バスから読み取る復帰データの前記所定ビット数を前記第２の復帰処理制御部に設定するバス割当設定部を有することを特徴とするデータ復帰システム。
【請求項１１】
請求項６に記載のデータ復帰システムであって、
前記機能ブロックを複数備え、
前記複数の機能ブロックが複数のグループに分けられ、
前記制御部は、前記複数の機能ブロックのグループ毎に異なるタイミングで読取時間が重ならないよう前記復帰期間クロックを送ることを特徴とするデータ復帰システム。
【請求項１２】
退避データを有する少なくとも１つの機能ブロックと、
前記機能ブロックから転送された前記退避データを記憶する記憶部と、
前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、
前記機能ブロックから前記記憶部へ前記退避データを転送する際に退避期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備えたデータ退避システムが行うデータ退避方法であって、
前記制御部が、前記機能ブロック及び前記記憶部に前記退避期間クロックを送り、
前記機能ブロックが、前記退避期間クロックに同期して、前記バスのビット幅数内の所定ビット数ずつ退避データを各機能ブロックに割り当てられた前記バスのラインに送出し、
前記記憶部が、前記退避期間クロックに同期して、前記バスから退避データを読み取り、読み取った退避データを記憶することを特徴とするデータ退避方法。
【請求項１３】
少なくとも１つの機能ブロックと、
前記機能ブロックが動作を再開するために必要な復帰データを記憶する記憶部と、
前記機能ブロックと前記記憶部とが接続された、特定ビット数のビット幅を有するバスと、
前記記憶部が記憶する前記復帰データを前記機能ブロックに転送する際に復帰期間クロックを前記機能ブロック及び前記記憶部に送る制御部と、を備えたデータ復帰システムが行うデータ復帰方法であって、
前記制御部が、前記機能ブロック及び前記記憶部に前記復帰期間クロックを送り、
前記記憶部が、前記復帰期間クロックに同期して、前記復帰データを各機能ブロックに割り当てられた前記バスのラインに送出し、
前記機能ブロックが、前記復帰期間クロックに同期して、各機能ブロックに割り当てられた前記バスの所定ラインから所定ビット数ずつ復帰データを読み取り、読み取った復帰データを記憶することを特徴とするデータ復帰方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008126418.tif 000019
【図２】
2008126418.tif 000020
【図３】
2008126418.tif 000021
【図４】
2008126418.tif 000022
【図５】
2008126418.tif 000023
【図６】
2008126418.tif 000024
【図７】
2008126418.tif 000025
【図８】
2008126418.tif 000026
【図９】
2008126418.tif 000027
【図１０】
2008126418.tif 000028
【図１１】
2008126418.tif 000029
【図１２】
2008126418.tif 000030
【図１３】
2008126418.tif 000031
【図１４】
2008126418.tif 000032
【図１５】
2008126418.tif 000033
【図１６】
2008126418.tif 000034
【国際調査報告】
2008126418.tif 000035
2008126418.tif 000036