(57)【要約】【課題】起動時間を短縮できる情報処理装置及び情報処理装置の起動方法を提供する。【解決手段】情報処理装置は、ＰＬＬを備え、低速の第１のクロック信号と第１のリセット信号とが入力し、前記第１のリセット信号の入力後、前記ＰＬＬの安定化期間経過後に、前記第１のクロック信号より高速の第２のクロック信号を出力するクロック生成部と、前記第２のクロック信号に基づいて、入力するデータを処理するデータ処理部と、内部メモリを備え、前記クロック生成部の前記ＰＬＬの安定化期間に、前記データ処理部に処理させる前記データの少なくとも一部を、外部メモリから前記内部メモリにロードするデータロード部と、を備える。【選択図】図２
2011113257.tif 000002
【特許請求の範囲】
【請求項１】
ＰＬＬを備え、低速の第１のクロック信号と第１のリセット信号とが入力し、前記第１のリセット信号の入力後、前記ＰＬＬの安定化期間経過後に、前記第１のクロック信号より高速の第２のクロック信号を出力するクロック生成部と、
前記第２のクロック信号に基づいて、入力するデータを処理するデータ処理部と、
内部メモリを備え、前記クロック生成部の前記ＰＬＬの安定化期間に、前記データ処理部に処理させる前記データの少なくとも一部を、外部メモリから前記内部メモリにロードするデータロード部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記データロード部は、前記第１のクロック信号又は前記第２のクロック信号に基づいて動作可能であり、前記データ処理部が前記内部メモリにアクセスする場合には、前記第２のクロック信号に基づいて動作することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データロード部は、アドレス判定部を備え、
前記アドレス判定部は、前記データ処理部から入力するアドレスを判定し、前記アドレスで指定されるデータが前記内部メモリに格納されている場合には、このデータを前記データ処理部に出力することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記データロード部は、メモリステータス制御部を備え、
前記メモリステータス制御部は、前記ＰＬＬの安定化期間に、前記外部メモリのアクセスモードを変更することが可能であることを特徴とする請求項１乃至３いずれか１項に記載の情報処理装置。
【請求項５】
ＰＬＬを備え、低速の第１のクロック信号と第１のリセット信号とが入力し、前記第１のリセット信号の入力後、前記ＰＬＬの安定化期間経過後に、前記第１のクロック信号より高速の第２のクロック信号を出力するクロック生成部と、
前記第１のクロック信号が入力し、外部から入力する動作用プログラムに基づき、前記クロック生成部の動作開始を制御するサブ制御部と、
内部メモリを備え、前記第１のリセット信号が前記クロック生成部に入力する前に、外部メモリから前記内部メモリに前記動作用プログラムをロードするデータロード部と、
前記第２のクロック信号に基づいて、入力するデータを処理するデータ処理部と、
を備え、
前記サブ制御部は、前記内部メモリにロードされた前記動作用プログラムにアクセスし、前記動作用プログラムを実行した後に、前記クロック生成部に前記第１のリセット信号を出力し、
前記データロード部は、前記動作用プログラムのロード後から、前記クロック生成部の前記ＰＬＬの安定化期間経過までに、前記データ処理部に処理させる前記データの少なくとも一部を、前記外部メモリから前記内部メモリにロードする
ことを特徴とする情報処理装置。
【請求項６】
前記サブ制御部と前記データロード部とには、第１の電源が供給され、
前記データ処理部と前記クロック生成部とには、第２の電源が供給され、
前記サブ制御部は、前記第２の電源の供給を制御することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
ＰＬＬを備えるクロック生成部により、低速の第１のクロック信号と第１のリセット信号とを入力し、前記第１のリセット信号の入力後、前記ＰＬＬの安定化期間経過後に、前記第１のクロック信号より高速の第２のクロック信号を出力し、
データ処理部により、前記第２のクロック信号に基づいて、入力するデータを処理し、
内部メモリを備えるデータロード部により、前記クロック生成部の前記ＰＬＬの安定化期間に、前記データ処理部に処理させる前記データの少なくとも一部を、外部メモリから前記内部メモリにロードする
ことを特徴とする情報処理装置の起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理装置の起動方法に関する。
【背景技術】
【０００２】
従来の情報処理装置の起動方法は、電源投入後、ＰＬＬ（Phase Locked Loop）安定化期間を経てホストＣＰＵ（Central Processing Unit）のリセットが解除され、ホストＣＰＵは外部の低速メモリ（フラッシュメモリ等）へアクセスを行って起動するものである。その後、ホストＣＰＵは、外部の低速メモリの内容を外部の高速メモリ（ＤＲＡＭ（Dynamic Random Access Memory）等）に展開し、その後は外部の高速メモリにアクセスすることにより実行時間を短縮している。しかし、ＰＬＬ安定化期間及び外部の低速メモリへのアクセス期間が長いため、起動時間が長いという問題がある。
【０００３】
なお、情報処理装置は、例えば、特許文献１に記載される装置が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−７３２０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、起動時間を短縮できる情報処理装置及び情報処理装置の起動方法を提供することにある。
【課題を解決するための手段】
【０００６】
本願発明の一態様によれば、ＰＬＬを備え、低速の第１のクロック信号と第１のリセット信号とが入力し、前記第１のリセット信号の入力後、前記ＰＬＬの安定化期間経過後に、前記第１のクロック信号より高速の第２のクロック信号を出力するクロック生成部と、前記第２のクロック信号に基づいて、入力するデータを処理するデータ処理部と、内部メモリを備え、前記クロック生成部の前記ＰＬＬの安定化期間に、前記データ処理部に処理させる前記データの少なくとも一部を、外部メモリから前記内部メモリにロードするデータロード部と、を備えることを特徴とする情報処理装置が提供される。
【０００７】
また、本願発明の他の一態様によれば、ＰＬＬを備え、低速の第１のクロック信号と第１のリセット信号とが入力し、前記第１のリセット信号の入力後、前記ＰＬＬの安定化期間経過後に、前記第１のクロック信号より高速の第２のクロック信号を出力するクロック生成部と、前記第１のクロック信号が入力し、外部から入力する動作用プログラムに基づき、前記クロック生成部の動作開始を制御するサブ制御部と、内部メモリを備え、前記第１のリセット信号が前記クロック生成部に入力する前に、外部メモリから前記内部メモリに前記動作用プログラムをロードするデータロード部と、前記第２のクロック信号に基づいて、入力するデータを処理するデータ処理部と、を備え、前記サブ制御部は、前記内部メモリにロードされた前記動作用プログラムにアクセスし、前記動作用プログラムを実行した後に、前記クロック生成部に前記第１のリセット信号を出力し、前記データロード部は、前記動作用プログラムのロード後から、前記クロック生成部の前記ＰＬＬの安定化期間経過までに、前記データ処理部に処理させる前記データの少なくとも一部を、前記外部メモリから前記内部メモリにロードすることを特徴とする情報処理装置が提供される。
【０００８】
また、本願発明の他の一態様によれば、ＰＬＬを備えるクロック生成部により、低速の第１のクロック信号と第１のリセット信号とを入力し、前記第１のリセット信号の入力後、前記ＰＬＬの安定化期間経過後に、前記第１のクロックより高速の第２のクロック信号を出力し、データ処理部により、前記第２のクロック信号に基づいて、入力するデータを処理し、内部メモリを備えるデータロード部により、前記クロック生成部の前記ＰＬＬの安定化期間に、前記データ処理部に処理させる前記データの少なくとも一部を、外部メモリから前記内部メモリにロードすることを特徴とする情報処理装置の起動方法が提供される。
【発明の効果】
【０００９】
本発明によれば、起動時間を短縮できる情報処理装置及び情報処理装置の起動方法を提供できる。
【図面の簡単な説明】
【００１０】
【図１】第１の比較例に係る情報処理装置の起動時のタイミングチャートである。
【図２】本発明の第１の実施形態に係る情報処理装置のシステム構成図である。
【図３】本発明の第１の実施形態に係る情報処理装置の起動時のタイミングチャートである。
【図４】本発明の第１の実施形態に係るプログラムローダーの構成図である。
【図５】本発明の第２の実施形態に係るプログラムローダーの構成図である。
【図６】第２の比較例に係る情報処理装置の起動時のタイミングチャートである。
【図７】本発明の第３の実施形態に係る情報処理装置のシステム構成図である。
【図８】本発明の第３の実施形態に係る情報処理装置の起動時のタイミングチャートである。
【発明を実施するための形態】
【００１１】
以下に、図面を参照して本発明の実施形態について説明する。これらの実施形態は、本発明を限定するものではない。
【００１２】
以下の実施形態は、例えば、デジタルテレビ用のＳｏＣ（System On Chip）等に適用できる。
【００１３】
本発明の第１の実施形態についての説明に先立ち、発明者が知得する第１の比較例の情報処理装置（ＰＬＬ内蔵タイプ）について説明する。
【００１４】
この情報処理装置は、クロック生成部と、ホストＣＰＵとを備える。クロック生成部は、情報処理装置の外部から低速クロックＣＬＫ１と装置リセットＲＳＴ１とを入力し、高速クロックＣＬＫ２とリセットＲＳＴ２とを、ホストＣＰＵに出力する。低速クロックＣＬＫ１は外部の発振子から入力される。クロック生成部は、入力された低速クロックＣＬＫ１を逓倍して高速クロックＣＬＫ２を出力するＰＬＬを有する。ホストＣＰＵは、アクセスタイムが遅い外部の低速メモリと、アクセスタイムが速い外部の高速メモリとに接続されている。
【００１５】
図１は、第１の比較例に係る情報処理装置の起動時のタイミングチャートである。以下に起動シーケンスを説明する。
【００１６】
まず、装置電源Ｐを投入した（時刻ｔ１）後、発振子安定期間Ｔ１が経過して外部の発振子が安定した後に、装置リセットＲＳＴ１を解除する（時刻ｔ２）。
【００１７】
装置リセットＲＳＴ１解除後、ＰＬＬは動作を開始する。ＰＬＬ安定化期間Ｔ２を経て高速クロックＣＬＫ２が安定した（時刻ｔ３）後、クロック生成部はホストＣＰＵへのリセットＲＳＴ２を解除する（時刻ｔ４）。リセットＲＳＴ２の解除は、例えば、装置リセットＲＳＴ１解除から所定時間経過後に行う。
【００１８】
ホストＣＰＵは、リセットＲＳＴ２の解除後、外部の低速メモリに対してフェッチ（Ｆｅｔｃｈ）動作を行うことにより、ブート（Ｂｏｏｔ）動作（動作Ａ１）を行う。ブート動作では、例えば、外部の高速メモリの設定等を行う。この時、ホストＣＰＵは、ＰＬＬからの高速クロックＣＬＫ２に基づいて動作する。
【００１９】
ホストＣＰＵは、ブート動作後に、外部の低速メモリに格納されている所定のデータ（命令）を外部の高速メモリに転送する（動作Ｂ１）。その後、時刻ｔ５から、ホストＣＰＵは、外部の高速メモリや低速メモリに対してフェッチ動作を行い、所定の命令を実行する（動作Ｃ１）。ここでは、例えば、画像処理や通信処理等の所定の処理が行われる。
【００２０】
上記動作において、ＰＬＬ安定化期間Ｔ２が、例えば、約４００μｓ掛かっている。また、低速メモリからのフェッチ期間（動作Ａ１と動作Ｂ１の期間）が、例えば、数秒掛かっている。
【００２１】
（第１の実施形態）
この実施形態では、ホストＣＰＵが起動する前のＰＬＬ安定化期間に、プログラムローダーが、ＰＬＬを介さない発振子からの低速クロックに基づき、低速メモリからデータを取り込み内部の高速なＳＲＡＭ（Static Random Access Memory）に格納し、ＰＬＬが安定した後、ホストＣＰＵはこのＳＲＡＭにフェッチして起動するようにしている。
【００２２】
まず、情報処理装置の全体の構成と動作について説明し、その後、プログラムローダーについて詳細に説明する。
【００２３】
図２は、第１の実施形態に係る情報処理装置のシステム構成図である。情報処理装置１０は、クロック生成部（ＣＬＧ）１１と、ホストＣＰＵ（データ処理部）１２と、プログラムローダー（データロード部）１３と、を備える。
【００２４】
クロック生成部１１は、外部の発振子からの低速クロックＣＬＫ１（第１のクロック信号：例えば、周波数２７ＭＨｚ）と、装置リセットＲＳＴ１（第１のリセット信号）とを入力する。また、クロック生成部１１は、高速クロックＣＬＫ２（第２のクロック信号：例えば、周波数１０６６ＭＨｚ）をホストＣＰＵ１２とプログラムローダー１３とに出力し、リセットＲＳＴ２をプログラムローダー１３に出力する。クロック生成部１１は、入力された低速クロックＣＬＫ１を逓倍して高速クロックＣＬＫ２を出力するＰＬＬ１４を有する。
【００２５】
ホストＣＰＵ１２は、プログラムローダー１３を介して、外部の低速メモリ２０（例えば、フラッシュメモリ等の不揮発性メモリ）と、外部の高速メモリ３０（例えば、ＤＲＡＭ又はＳＲＡＭ等の揮発性メモリ）とに接続されている。低速メモリ２０は所定のデータ（ＣＰＵ用データ）を格納している。ホストＣＰＵ１２は、低速メモリ２０のデータに基づいて、起動後に所定の処理を行う。以下、外部の低速メモリ２０と外部の高速メモリ３０を、外部メモリとも称す。低速メモリの動作クロックは、例えば、４０ＭＨｚであり、高速メモリの動作クロックは、例えば、６００ＭＨｚである。
【００２６】
プログラムローダー１３は低速メモリ２０よりも高速なＳＲＡＭ１５（内部メモリ）を有する。プログラムローダー１３は、ホストＣＰＵ１２から外部メモリにアクセスするためのバス上に接続されている。プログラムローダー１３は、低速クロックＣＬＫ１と装置リセットＲＳＴ１とを入力し、リセットＲＳＴ４をホストＣＰＵ１２に出力する。
【００２７】
図３は、第１の実施形態に係る情報処理装置のタイミングチャートである。起動シーケンスを以下に説明する。
【００２８】
まず、第１の比較例と同様に、装置電源Ｐを投入した（時刻ｔ１）後、発振子安定期間Ｔ１が経過して発振子が安定した後に、装置リセットＲＳＴ１を解除する（時刻ｔ２）。これにより、クロック生成部１１とプログラムローダー１３のリセットが解除される。
【００２９】
リセットが解除されたクロック生成部１１内のＰＬＬ１４は動作を開始する。
【００３０】
また、リセットが解除されたプログラムローダー１３は、ＰＬＬ１４を介さない発振子からの低速クロックＣＬＫ１に基づいて、低速メモリ２０にアクセスして少なくとも一部のデータを読み出し、読み出したデータを内部の高速なＳＲＡＭ１５に格納する（動作Ｄ）。この動作は、少なくとも、ＰＬＬ１４が動作開始してから高速クロックＣＬＫ２が安定するまでのＰＬＬ安定化期間Ｔ２に行われる。
【００３１】
プログラムローダー１３は、所定のデータの読み込みが終了すると、外部メモリへのアクセスバスをホストＣＰＵ１２に開放する（図示なし）。
【００３２】
ＰＬＬ安定化期間Ｔ２が経過した後、クロック生成部１１がリセットＲＳＴ２を解除する（時刻ｔ３）。リセットＲＳＴ２の解除は、例えば、装置リセットＲＳＴ１解除から所定時間経過後に行う。リセットＲＳＴ２はプログラムローダー１３に入力されており、リセットＲＳＴ２が解除され、且つ、プログラムローダー１３における所定のデータの読み込みが終了すると、プログラムローダー１３はホストＣＰＵ１２のリセットＲＳＴ４を解除する（時刻ｔ４）。また、この時、プログラムローダー１３の動作クロックは高速クロックＣＬＫ２に切り替わる。
【００３３】
ホストＣＰＵ１２は、リセットＲＳＴ４の解除後、プログラムローダー１３のＳＲＡＭ１５にアクセスし、フェッチ動作を行うことにより、ブート動作（動作Ａ２：起動）を行う。この時、ホストＣＰＵ１２は、ＰＬＬ１４からの高速クロックＣＬＫ２に基づいて動作する。
【００３４】
その後、ホストＣＰＵ１２は、ＳＲＡＭ１５から高速メモリ３０にデータを展開する（動作Ｂ２）。この動作は、ホストＣＰＵ１２が起動した後の通常動作時に、ＳＲＡＭ１５の内容が起動時の内容から変更されても良いように行われる。
【００３５】
なお、ＳＲＡＭ１５のアドレスの範囲や内容が変更されないように構成した場合には、上記動作Ｂ２は必要ない。
【００３６】
その後、時刻ｔ５ａから、ホストＣＰＵ１２は、外部の高速メモリ３０や低速メモリ２０やＳＲＡＭ１５に対してフェッチ動作を行い、所定の命令を実行する（動作Ｃ２：通常動作）。
【００３７】
通常動作時には、プログラムローダー１３のＳＲＡＭ１５はＬ２（２次）キャッシュとして機能する。この点については後述する。
【００３８】
以上の起動シーケンスにより、時刻ｔ１から時刻ｔ４までの時間は第１の比較例とほぼ同じで、ホストＣＰＵ１２のリセットＲＳＴ４が解除された時刻ｔ４から、高速メモリ３０等へのアクセスを開始する時刻ｔ５ａまでの時間を、第１の比較例よりも短縮することができる。
【００３９】
つまり、例えば、第１の比較例では動作Ａ１と動作Ｂ１の期間が数秒掛かっていたが、この実施形態では動作Ａ２と動作Ｂ２の期間を第１の比較例よりも約１秒短縮できる。よって、時刻ｔ１から時刻ｔ５ａまでの起動時間を短縮できる。
【００４０】
また、外部の低速メモリ２０がアクセスの種類（アクセスモード）をメモリ内部のレジスタにより変更可能なメモリである場合、ホストＣＰＵ１２が動作する前（時刻ｔ４前）に、プログラムローダー１３が自動的に低速メモリ２０の内部のレジスタを書き換えておくことにより、このレジスタの書き込み時間を隠蔽することが可能となる。つまり、レジスタの書き込み時間によって起動時間等が長くならないようにできる。なお、このようなメモリとして、例えば、Ｄｕａｌ／Ｑｕａｄなどのアクセスの種類を変更可能なＳＰＩ（シリアル・ペリフェラル・インターフェース）フラッシュメモリが考えられる。
【００４１】
次に、プログラムローダー１３について、より詳細に説明する。
【００４２】
図４は、第１の実施形態に係るプログラムローダーの構成図である。プログラムローダー１３は、ＳＲＡＭ１５と、低速メモリアクセス制御部１６と、アドレス判定部１７と、クロック切り替え部１８と、バス切り替え部１９とを備える。低速メモリアクセス制御部１６は、プログラムロード制御部１６ａと、メモリステータス制御部１６ｂとを有する。プログラムロード制御部１６ａは、外部の低速メモリ３０から決められた領域のデータを読み出し、読み出したデータをＳＲＡＭ１５に書き込む。メモリステータス制御部１６ｂは、ホストＣＰＵ１２が起動を行う前に低速メモリ２０のアクセスモードを変更可能なものである。アドレス判定部１７は、通常動作時にホストＣＰＵ１２がＳＲＡＭ１５にアクセスするアドレスを設定可能なレジスタを有する。クロック切り替え部１８は、ホストＣＰＵ１２がＳＲＡＭ１５にアクセスする時には、プログラムローダー１３が高速クロックＣＬＫ２に基づいて動作するようにする。
【００４３】
次に、プログラムローダー１３の動作を、図３の時刻ｔ２以降について詳細に説明する。
【００４４】
装置リセットＲＳＴ１解除後は、低速メモリアクセス制御部１６からの選択信号Ｓａにより、クロック切り替え部１８において“発振子からの低速クロックＣＬＫ１”が選択され、ＳＲＡＭ１５と、低速メモリアクセス制御部１６と、アドレス判定部１７とに供給される。また、選択信号Ｓｂにより、バス切り替え部１９において低速メモリアクセス制御部１６と外部メモリへのバスＢＵＳｄが接続される。
【００４５】
これにより、装置リセットＲＳＴ１解除後、低速クロックＣＬＫ１に基づいて、低速メモリアクセス制御部１６のプログラムロード制御部１６ａは、外部メモリへのバスＢＵＳｄを介してアドレスを指定し、外部メモリからのバスＢＵＳｃを介して低速メモリ２０から特定のアドレス部分のデータをロードし、ＳＲＡＭ１５に格納する（図３の動作Ｄ）。
【００４６】
決められた領域のデータをロード後、メモリステータス制御部１６ｂは、外部メモリへのバスＢＵＳｄを介して低速メモリ２０のレジスタを設定する。
【００４７】
その後、低速メモリアクセス制御部１６は、選択信号Ｓｂを切り替えることで、外部メモリへのバスＢＵＳｄをホストＣＰＵ１２に解放する。
【００４８】
クロック生成部１１からのリセットＲＳＴ２が解除されると（図３の時刻ｔ３）、低速メモリアクセス制御部１６は、自身のステータス（所定のデータの読み込みが終了したか否か）を確認し、読み込みが終了していればホストＣＰＵ１２へのリセットＲＳＴ４を解除する（図３の時刻ｔ４）。この時、アドレス判定部１７のリセットも解除される。また、この際、低速メモリアクセス制御部１６は選択信号Ｓａを切り替えて、ＳＲＡＭ１５、低速メモリアクセス制御部１６及びアドレス判定部１７は、クロック生成部１１（ＰＬＬ１４）からの高速クロックＣＬＫ２で動作するようになる。
【００４９】
リセットＲＳＴ４解除後のホストＣＰＵ１２のアクセスは、アドレス判定部１７により判定される。つまり、ホストＣＰＵ１２からのバスＢＵＳａを介して入力されたアドレスを、アドレス判定部１７が判定し、判定結果に応じてＳＲＡＭ１５又は外部メモリにアクセスする。アドレスがＳＲＡＭ領域に含まれると判定された場合、ホストＣＰＵ１２はバスＢＵＳｅを介してＳＲＡＭ１５にアクセスを行い、バスＢＵＳｆとホストＣＰＵ１２へのバスＢＵＳｂを介してデータを受け取る。そうでない場合、外部メモリへのバスＢＵＳｄを介して、アドレスに応じて外部の低速メモリ２０又は高速メモリ３０にアクセスを行う。アドレス判定部１７のレジスタには、図３の動作ＤでＳＲＡＭ１５に格納されたデータのアドレスが初期設定されている。
【００５０】
例えば、高速メモリ３０にはアドレス０ｘ００００＿００００〜０ｘ０ｆｆｆ＿ｆｆｆｆが割り当てられており、低速メモリ２０にはアドレス０ｘ１０００＿００００〜０ｘ１ｆｆｆ＿ｆｆｆｆが割り当てられており、ＳＲＡＭ１５の範囲を０ｘ００００＿００００〜０ｘ００００＿１０００とした場合を考える。
【００５１】
ホストＣＰＵ１２がアドレス０ｘ００００＿０１００にアクセスした場合、ＳＲＡＭ領域であると判定されてＳＲＡＭ１５にアクセスする。
【００５２】
ホストＣＰＵ１２がアドレス０ｘ０１００＿００００にアクセスした場合、ＳＲＡＭ領域ではないと判定されて高速メモリ３０にアクセスする。
【００５３】
ホストＣＰＵ１２がアドレス０ｘ１１００＿００００にアクセスした場合、ＳＲＡＭ領域ではないと判定されて低速メモリ２０にアクセスする。
【００５４】
なお、ホストＣＰＵ１２がアクセスするＳＲＡＭ１５の範囲は、アドレス判定部１７のレジスタを変更することにより変更できる。
【００５５】
また、ここでは、３２ビットのアドレス値を「０ｘ上位１６ビット＿下位１６ビット」と１６進数を用いて表記している。「０ｘ」は１６進数表記を意味する記号である。「＿」は１６ビットの区切りを表す記号である。
【００５６】
これにより、通常動作時において、入力されたアドレスがＳＲＡＭ領域であると判定されてホストＣＰＵ１２がＳＲＡＭ１５にアクセスを行う場合、ＳＲＡＭ１５は固定のアドレス範囲に限定されたＬ２キャッシュとして機能する。
【００５７】
次に、起動時にロードするデータの容量よりもＳＲＡＭ１５の領域が大きい場合、もしくは、アドレス判定部１７のレジスタを変更して該当アドレスを変更する場合について説明する。
【００５８】
ホストＣＰＵ１２のアクセスまでは前述の動作と同様である。ここで、ホストＣＰＵ１２がアクセスするアドレスがＳＲＡＭ領域と判定されなかった場合、外部メモリへのアクセスを実施後、アドレス判定部１７はホストＣＰＵ１２にデータを返すとともにＳＲＡＭ１５に書き込む。また、ホストＣＰＵ１２は、アドレス判定部１７のレジスタを、上記アドレスを含むように変更する。
【００５９】
この動作により、再びホストＣＰＵ１２が上記アドレスにアクセスする際にはＳＲＡＭ１５にアクセスできるので、通常動作時における外部メモリへのアクセス回数を減らすことが可能となる。
【００６０】
以上で説明した様に、本実施形態によれば、ホストＣＰＵ１２が起動する前のＰＬＬ安定化期間に、ＰＬＬ１４を介さない低速クロックＣＬＫ１に基づき、低速メモリ２０からデータを取り込みＳＲＡＭ１５に格納して、ＰＬＬ１４が安定した後、そのＳＲＡＭ１５にフェッチしてホストＣＰＵ１２を起動するようにしたので、ホストＣＰＵ１２は低速メモリ２０へアクセスせずに起動できる。つまり、ＰＬＬ安定化期間に通常の技術者が用いない低速クロックＣＬＫ１を用いてデータをＳＲＡＭ１５に格納するようにしたので、ＰＬＬ安定化期間を有効に活用できる。これにより、装置電源Ｐを投入してからホストＣＰＵ１２が起動を開始するまでの時間は第１の比較例と同等でありながら、ホストＣＰＵ１２は高速なＳＲＡＭ１５にアクセスして起動できる。よって、情報処理装置１０の起動時間を短縮することが可能となる。
【００６１】
また、クロック切り替え部１８を有することにより、ホストＣＰＵ１２は、ＰＬＬ１４で逓倍した高速クロックＣＬＫ２で動作するプログラムローダー１３に対してアクセス可能となるので、情報処理装置１０の起動時間をより短縮することが可能となる。
【００６２】
また、アドレス判定部１７を有することにより、通常動作時にＳＲＡＭ１５がＬ２キャッシュとして動作することが可能なので、処理速度の向上が見込まれる。さらには、ＳＲＡＭ１５を実装することによる面積の増加を隠蔽可能である。
【００６３】
さらに、メモリステータス制御部１６ｂを有することにより、外部の低速メモリ２０のレジスタを書き換える際の書き込み時間を隠蔽できるので、情報処理装置１０の起動時間を短縮することが可能となる。
【００６４】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。この実施形態では、プログラムローダーのアドレス判定部がＴＡＧ（タグ）部を備える点が第１の実施形態と異なる。
【００６５】
図５は、本発明の第２の実施形態に係るプログラムローダーの構成図である。アドレス判定部１７ａはＴＡＧ部５０を備える。ＴＡＧ部５０は、外部メモリからＳＲＡＭ１５に書き込んだデータのアドレスを逐次更新して記憶する。アドレス判定部１７ａは、ＳＲＡＭ１５へのアクセスを、ＴＡＧ部５０のアドレスで判定する。その他の構成は、図４と同一であるため、同一の要素に同一の符号を付して説明を省略する。
【００６６】
第１の実施形態では、プログラムローダー１３のＳＲＡＭ１５に格納されるデータは、レジスタによって決められたある固定のアドレス範囲に限定される。
【００６７】
これに対して、本実施形態によれば、アドレス判定部１７ａにＴＡＧ部５０を備えるようにしたので、通常動作時に、ＳＲＡＭ１５は固定のアドレス範囲に限定されないＬ２キャッシュとして動作することが可能であり、第１の実施形態よりも処理速度を向上できる。さらには、ＳＲＡＭ１５を実装することによる面積の増加を隠蔽可能である。
【００６８】
次に、本発明の第３の実施形態についての説明に先立ち、発明者が知得する第２の比較例の情報処理装置（ＰＬＬ＋サブマイコン内蔵タイプ）について説明する。
【００６９】
この情報処理装置は、サブマイコン（ＭＣＵ（Micro Controller Unit））と、クロック生成部と、ホストＣＰＵと、を備える。
【００７０】
サブマイコンは、サブマイコン用ＣＰＵと、サブマイコン用ＳＲＡＭとを有する。サブマイコンは、装置電源Ｐ１が供給され、外部から低速クロックＣＬＫ１と装置リセットＲＳＴ１とが入力され、リセットＲＳＴ３を出力する。
【００７１】
クロック生成部は、外部から低速クロックＣＬＫ１を入力し、サブマイコンからリセットＲＳＴ３を入力し、高速クロックＣＬＫ２とリセットＲＳＴ２とを、ホストＣＰＵに出力する。クロック生成部は、入力された低速クロックＣＬＫ１を逓倍して高速クロックＣＬＫ２を出力するＰＬＬを有する。
【００７２】
サブマイコン用ＳＲＡＭとホストＣＰＵは、外部の低速メモリと、外部の高速メモリとに接続されている。外部の低速メモリは、サブマイコン用プログラムとホストＣＰＵ用データとを格納している。クロック生成部とホストＣＰＵは、ホストＣＰＵ側電源Ｐ２が供給される。
【００７３】
サブマイコンは、ホストＣＰＵを含むシステムにおける電源管理やリセットの管理等を行う。また、サブマイコンは、命令ごとに外部の低速メモリにフェッチを行わずに、内蔵のサブマイコン用ＳＲＡＭに予めプログラムをロードする機構を有する。
【００７４】
図６は、第２の比較例に係る情報処理装置の起動時のタイミングチャートである。起動シーケンスを以下に説明する。
【００７５】
サブマイコンに装置電源Ｐ１を投入（時刻ｔ１１）後、発振子安定期間Ｔ１が経過して発振子が安定した後に、サブマイコンへの装置リセットＲＳＴ１を解除する（時刻ｔ１２）。
【００７６】
サブマイコンは、装置リセットＲＳＴ１解除後に外部の低速メモリにアクセスを行い、サブマイコン用プログラムをロードする（動作Ｅ）。プログラムロード終了後にサブマイコン用ＣＰＵのリセットが解除される（時刻ｔ１３）。これにより、サブマイコンはロードしたプログラムに基づいて自身の初期化シーケンスを行い、内部のレジスタ等を初期化する（動作Ｆ）。
【００７７】
初期化シーケンス後、サブマイコンは、ロードしたプログラムに基づいて外部の電源制御回路（図示なし）を制御してホストＣＰＵ側電源Ｐ２を投入し（時刻ｔ１４）、その後、ホストＣＰＵ側のリセットＲＳＴ３を解除する（時刻ｔ１５）。リセットＲＳＴ３解除後、クロック生成部は動作を開始し、ＰＬＬ安定化期間Ｔ２を経て高速クロックＣＬＫ２が安定した（時刻ｔ１６）後、ホストＣＰＵへのリセットＲＳＴ２を解除する（時刻ｔ１７）。
【００７８】
リセットＲＳＴ２解除後の動作は、第１の比較例と同様である。つまり、ホストＣＰＵ１２は、外部の低速メモリのフェッチによるブート動作（動作Ａ１）後に、外部の低速メモリにあるデータを外部の高速メモリに転送し（動作Ｂ１）、その後、時刻ｔ１８から外部の高速メモリや低速メモリに対してフェッチ動作を行い、所定の命令を実行する（動作Ｃ１）。
【００７９】
上記動作において、サブマイコンの初期化シーケンス動作（動作Ｆ）の期間と、ＰＬＬ安定化期間Ｔ２とが、合わせて約５００μｓ掛かっている。
【００８０】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。この実施形態では、ホストＣＰＵ側の電源等を制御するサブマイコンを備え、ＰＬＬ安定化期間に加えてサブマイコンの初期化シーケンス動作の期間とホストＣＰＵ側の電源立ち上げ期間にも、低速メモリからデータを取り込み内部の高速なＳＲＡＭに格納するようにした点が第１の実施形態と異なる。
【００８１】
図７は、本発明の第３の実施形態に係る情報処理装置のシステム構成図である。情報処理装置１０ａは、サブマイコン４０（サブ制御部）と、クロック生成部１１と、ホストＣＰＵ１２と、プログラムローダー１３とを備える。
【００８２】
サブマイコン４０は、外部から低速クロックＣＬＫ１（第１のクロック信号）と装置リセットＲＳＴ１とを入力し、リセットＲＳＴ３（第１のリセット信号）を出力する。サブマイコン４０は、サブマイコン用ＣＰＵ４１を有する。
【００８３】
クロック生成部１１は、低速クロックＣＬＫ１と、リセットＲＳＴ３とを入力し、高速クロックＣＬＫ２（第２のクロック信号）をホストＣＰＵ１２とプログラムローダー１３とに出力し、リセットＲＳＴ２をプログラムローダー１３に出力する。
【００８４】
サブマイコン４０とプログラムローダー１３は、装置電源（第１の電源）Ｐ１が供給される。クロック生成部１１とホストＣＰＵ１２は、ホストＣＰＵ側電源（第２の電源）Ｐ２が供給される。
【００８５】
その他の構成は図２と同一であるため、同一の要素に同一の符号を付して説明を省略する。ただし、低速メモリ２０は、サブマイコン用プログラム（動作用プログラム）とデータ（ホストＣＰＵ用データ）とを格納している。第２の比較例と同様に、サブマイコン４０は、このサブマイコン用プログラムに基づいて、初期化後にＰＬＬ１４等の動作開始等を制御する。
【００８６】
また、プログラムローダー１３の構成は図４と同様であるため、詳細な説明は省略する。図４におけるホストＣＰＵ１２からのバスＢＵＳａとホストＣＰＵ１２へのバスＢＵＳｂは、サブマイコン４０にも接続される。これにより、リセットＲＳＴ４解除後のサブマイコン４０又はホストＣＰＵ１２のアクセスは、アドレス判定部１７により判定される。
【００８７】
図８は、本発明の第３の実施形態に係る情報処理装置の起動時のタイミングチャートである。起動シーケンスを以下に説明する。
【００８８】
サブマイコン４０に装置電源Ｐ１を投入（時刻ｔ１１）後、発振子安定期間Ｔ１が経過して発振子が安定した後に、サブマイコン４０とプログラムローダー１３への装置リセットＲＳＴ１を解除する（時刻ｔ１２）。
【００８９】
プログラムローダー１３は、リセット解除後に、低速クロックＣＬＫ１に基づいて低速メモリ２０へのアクセスを行い、サブマイコン用プログラムをロードしてＳＲＡＭ１５に格納する（動作Ｇ）。プログラムローダー１３は、プログラムロード終了後にサブマイコン用ＣＰＵ４１のリセットを解除する（時刻ｔ１３）。また、プログラムローダー１３は、低速クロックＣＬＫ１に基づいて、引き続き低速メモリ２０へのアクセスを実施し、ホストＣＰＵ１２で用いられるデータを内部のＳＲＡＭ１５に格納する（動作Ｄ）。
【００９０】
サブマイコン４０は、低速クロックＣＬＫ１に基づいて、サブマイコン用プログラムを格納したＳＲＡＭ１５にアクセスして自身の初期化シーケンスを行う（動作Ｆ：初期化）。
【００９１】
サブマイコン４０は、初期化シーケンス後、サブマイコン用プログラムを格納したＳＲＡＭ１５にアクセスして、外部の電源制御回路（図示なし）を制御してホストＣＰＵ側電源Ｐ２を投入し（時刻ｔ１４）、その後、ホストＣＰＵ側のリセットＲＳＴ３を解除する（時刻ｔ１５）。
【００９２】
リセットＲＳＴ３解除後に、クロック生成部１１は動作を開始し、ＰＬＬ安定化期間Ｔ２を経てリセットＲＳＴ２を解除する（時刻ｔ１６）。リセットＲＳＴ２はプログラムローダー１３に入力されており、リセットＲＳＴ２が解除され、且つ、プログラムローダー１３における所定のデータの読み込み（動作Ｄ）が終了すると、プログラムローダー１３はホストＣＰＵ１２へのリセットＲＳＴ４を解除する（時刻ｔ１７）。この時、プログラムローダー１３の動作クロックは、高速クロックＣＬＫ２に切り替わる。
【００９３】
ホストＣＰＵ１２は、プログラムローダー１３が有するＳＲＡＭ１５からデータを読み出して起動する（動作Ａ２）。これにより、そのＳＲＡＭ１５に格納されている分のデータを外部の低速メモリ２０に読みにいく必要がない。
【００９４】
その後、第１の実施形態と同様に、ホストＣＰＵ１２は、ＳＲＡＭ１５から高速メモリ３０にデータを展開する（動作Ｂ２）。
【００９５】
その後、時刻ｔ１８ａから、ホストＣＰＵ１２は、外部の高速メモリ３０や低速メモリ２０やＳＲＡＭ１５に対してフェッチ動作を行い、所定の命令を実行する（動作Ｃ２）。
【００９６】
以上の起動シーケンスにより、時刻ｔ１１から時刻ｔ１７までの時間は第２の比較例とほぼ同じで、ホストＣＰＵ１２のリセットＲＳＴ４が解除された時刻ｔ１７から、高速メモリ３０等へのアクセスを開始する時刻ｔ１８ａまでの時間を、第２の比較例よりも短縮することができる。
【００９７】
また、第１及び第２の実施形態と同様に、通常動作時には、プログラムローダー１３はＬ２キャッシュとして機能する。
【００９８】
以上で説明した様に、本実施形態によれば、第１の実施形態と同様に、ホストＣＰＵ１２は、プログラムローダー１３のＳＲＡＭ１５からデータを読み出すことにより、ＳＲＡＭ１５に格納されている分のデータを外部の低速メモリ２０に読みにいく必要がないので、起動時間を短縮することができる。
【００９９】
また、プログラムローダー１３にサブマイコン４０と同じ装置電源Ｐ１を供給し、サブマイコン４０と同時に動作可能にしたので、サブマイコン４０の初期化シーケンス期間、ホストＣＰＵ側電源Ｐ２の立ち上げ期間にも、ＳＲＡＭ１５は低速メモリ２０からデータを格納できる。そのため、これらの期間を隠蔽可能となり、情報処理装置１０ａの起動時間を短縮することが可能となる。また、ＳＲＡＭ１５が低速メモリ２０からデータを読み出す期間（動作Ｄの期間）は第１の実施形態よりも長いため、より多くのデータを格納できる。
【０１００】
なお、本実施形態においても、第２の実施形態のＴＡＧ部５０を備えるようにしても良い。
【０１０１】
以上、本発明の実施形態を詳述してきたが、具体的な構成は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々に変形して実施することができる。
【符号の説明】
【０１０２】
１０，１０ａ  情報処理装置
１１  クロック生成部
１２  ホストＣＰＵ
１３  プログラムローダー
１４  ＰＬＬ
１５  ＳＲＡＭ
１６  低速メモリアクセス制御部
１６ａ  プログラムロード制御部
１６ｂ  メモリステータス制御部
１７，１７ａ  アドレス判定部
１８  クロック切り替え部
１９  バス切り替え部
２０  低速メモリ
３０  高速メモリ
５０  ＴＡＧ部
【図１】
2011113257.tif 000003
【図２】
2011113257.tif 000004
【図３】
2011113257.tif 000005
【図４】
2011113257.tif 000006
【図５】
2011113257.tif 000007
【図６】
2011113257.tif 000008
【図７】
2011113257.tif 000009
【図８】
2011113257.tif 000010