(57)【要約】【課題】起動時間を短縮するコンピュータシステムを提供する。【解決手段】ブートプログラムが格納されたＲＯＭ（Read Only Memory）１２０と、ＲＡＭ（Random Access Memory）１１０と、ＲＯＭ１２０からデータの読み出しを行うＲＯＭコントローラ１０３と、ＲＡＭ１１０へのデータ書き込み及び読み出しを行うＲＡＭコントローラ１０２と、ＲＯＭ１２０からＲＡＭ１１０へのデータのＤＭＡ（Direct Memory Access）転送制御を行うＤＭＡコントローラ１０４と、制御レジスタ１０５を含む中央演算装置１０１と、を備え、電源供給に伴い制御レジスタ１０５にアドレス値がセットされ、前記アドレス値に基づくＲＯＭ１２０からＲＡＭ１１０への前記ブートプログラムのＤＭＡ転送と、中央演算装置１０１によるＲＯＭ１２０のリセットベクタに格納されたプログラムの実行とが並列に行われる。【選択図】図１
2009093270.tif 000002
【特許請求の範囲】
【請求項１】
ブートプログラムが格納されたＲＯＭ（Read Only Memory）と、
ＲＡＭ（Random Access Memory）と、
前記ＲＯＭからデータの読み出しを行うＲＯＭコントローラと、
前記ＲＡＭへのデータ書き込み及び読み出しを行うＲＡＭコントローラと、
前記ＲＯＭコントローラ及び前記ＲＡＭコントローラに接続され、前記ＲＯＭから前記ＲＡＭへのデータのＤＭＡ（Direct Memory Access）転送制御を行うＤＭＡコントローラと、
前記ＲＯＭコントローラ、前記ＲＡＭコントローラ及び前記ＤＭＡコントローラに接続され、制御レジスタを含む中央演算装置と、
を備え、
電源供給に伴い前記制御レジスタにアドレス値がセットされ、前記アドレス値に基づく前記ＲＯＭコントローラ、前記ＤＭＡコントローラ及び前記ＲＡＭコントローラによる前記ＲＯＭから前記ＲＡＭへの前記ブートプログラムの転送と、前記中央演算装置による前記ＲＯＭの所定アドレスに格納されたプログラムの実行とが並列に行われるコンピュータシステム。
【請求項２】
前記ＲＯＭはさらにアプリケーションを格納し、前記ブートプログラムの転送後、前記中央演算装置による前記ＲＡＭにおける前記ＲＯＭから転送された前記ブートプログラムの実行と、前記ＲＯＭコントローラ、前記ＤＭＡコントローラ及び前記ＲＡＭコントローラによる前記ＲＯＭから前記ＲＡＭへの前記アプリケーションの転送とが並列に行われることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
ブートプログラム及びアプリケーションが格納されたＲＯＭ（Read Only Memory）と、
ＲＡＭ（Random Access Memory）と、
前記ＲＯＭからデータの読み出しを行うＲＯＭコントローラと、
前記ＲＡＭへのデータ書き込み及び読み出しを行うＲＡＭコントローラと、
前記ＲＯＭコントローラ及び前記ＲＡＭコントローラに接続され、前記ＲＯＭから前記ＲＡＭへのデータのＤＭＡ（Direct Memory Access）転送制御を行うＤＭＡコントローラと、
前記ＲＯＭコントローラ、前記ＲＡＭコントローラ及び前記ＤＭＡコントローラに接続された中央演算装置と、
前記ＲＯＭコントローラ、前記ＲＡＭコントローラ、前記ＤＭＡコントローラ及び前記中央演算装置に接続され、アドレス値が格納されたフラッシュメモリと、
を備え、
電源供給に伴い前記フラッシュメモリから読み出された前記アドレス値に基づく前記ＲＯＭコントローラ、前記ＤＭＡコントローラ及び前記ＲＡＭコントローラによる前記ＲＯＭから前記ＲＡＭへの前記ブートプログラムの転送と、前記中央演算装置による前記ＲＯＭの所定アドレスに格納されたプログラムの実行とが並列に行われ、前記中央演算装置による前記ＲＡＭにおける前記ＲＯＭから転送された前記ブートプログラムの実行と、前記ＲＯＭコントローラ、前記ＤＭＡコントローラ及び前記ＲＡＭコントローラによる前記ＲＯＭから前記ＲＡＭへの前記アプリケーションの転送とが並列に行われるコンピュータシステム。
【請求項４】
電源供給に伴う接続ピンの電圧変化に基づいて固定値を生成し、
前記固定値を中央演算装置内の制御レジスタにアドレス値としてセットし、
前記アドレス値を用いたＲＯＭ（Read Only Memory）コントローラ、ＲＡＭ（Random Access Memory）コントローラ、及びＤＭＡ（Direct Memory Access）コントローラによるＲＯＭに格納されているブートプログラムのＲＡＭへのＤＭＡ転送と、前記中央演算装置による前記ＲＯＭの所定アドレスに格納されたプログラムの実行とを並行して行うコンピュータシステムの起動方法。
【請求項５】
前記ブートプログラムの転送後に、さらに前記中央演算装置による前記ＲＡＭ上からの前記ブートプログラムの実行と、前記ＲＯＭコントローラ、前記ＤＭＡコントローラ及び前記ＲＡＭコントローラによる前記ＲＯＭに格納されるアプリケーションの前記ＲＡＭへのＤＭＡ転送とを並行して行うことを特徴とする請求項４に記載のコンピュータシステムの起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム及びその起動方法に関するものである。
【背景技術】
【０００２】
デジタル情報機器は電源投入時に、ＣＰＵ（Central Processing Unit）がＲＯＭ（Read Only Memory）からブートローダを読み出してＲＡＭ（Random Access Memory）へ転送し、ＲＡＭに格納されたブートローダを実行してＯＳ（Operating System）をＲＡＭへ転送するブート処理が行われる。これらの動作はシーケンス動作になっているため、転送サイズが大きい場合などは起動に時間がかかる。
【０００３】
このような問題を解決するために、初期化動作（システムリセット処理）とは独立した系統で動作するメモリアクセスコントローラ（ＤＭＡＣ）を持ち、ＤＭＡＣがＲＯＭとＲＡＭの間のデータ転送をシステムリセット期間中に行って起動時間を短縮した装置が提案されている（例えば、特許文献１参照）。
【０００４】
しかし、上記のような従来の起動方法では、ＲＯＭからＲＡＭへ転送されるデータの転送元／転送先アドレスや転送サイズ等の情報をＤＭＡＣへ設定するために時間がかかり、ユーザの起動待ち時間短縮の妨げになるという問題を有していた。
【特許文献１】特開２００３−３３７７４６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は起動時間を短縮するコンピュータシステム及びその起動方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様によるコンピュータシステムは、ブートプログラムが格納されたＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）と、前記ＲＯＭからデータの読み出しを行うＲＯＭコントローラと、前記ＲＡＭへのデータ書き込み及び読み出しを行うＲＡＭコントローラと、前記ＲＯＭコントローラ及び前記ＲＡＭコントローラに接続され、前記ＲＯＭから前記ＲＡＭへのデータのＤＭＡ（Direct Memory Access）転送制御を行うＤＭＡコントローラと、前記ＲＯＭコントローラ、前記ＲＡＭコントローラ及び前記ＤＭＡコントローラに接続され、制御レジスタを含む中央演算装置と、を備え、電源供給に伴い前記制御レジスタにアドレス値がセットされ、前記アドレス値に基づく前記ＲＯＭコントローラ、前記ＤＭＡコントローラ及び前記ＲＡＭコントローラによる前記ＲＯＭから前記ＲＡＭへの前記ブートプログラムの転送と、前記中央演算装置による前記ＲＯＭの所定アドレスに格納されたプログラムの実行とが並列に行われるものである。
【０００７】
また、本発明の一態様によるコンピュータシステムは、ブートプログラム及びアプリケーションが格納されたＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）と、前記ＲＯＭからデータの読み出しを行うＲＯＭコントローラと、前記ＲＡＭへのデータ書き込み及び読み出しを行うＲＡＭコントローラと、前記ＲＯＭコントローラ及び前記ＲＡＭコントローラに接続され、前記ＲＯＭから前記ＲＡＭへのデータのＤＭＡ（Direct Memory Access）転送制御を行うＤＭＡコントローラと、前記ＲＯＭコントローラ、前記ＲＡＭコントローラ及び前記ＤＭＡコントローラに接続された中央演算装置と、前記ＲＯＭコントローラ、前記ＲＡＭコントローラ、前記ＤＭＡコントローラ及び前記中央演算装置に接続され、アドレス値が格納されたフラッシュメモリと、を備え、電源供給に伴い前記フラッシュメモリから読み出された前記アドレス値に基づく前記ＲＯＭコントローラ、前記ＤＭＡコントローラ及び前記ＲＡＭコントローラによる前記ＲＯＭから前記ＲＡＭへの前記ブートプログラムの転送と、前記中央演算装置による前記ＲＯＭの所定アドレスに格納されたプログラムの実行とが並列に行われ、前記中央演算装置による前記ＲＡＭにおける前記ＲＯＭから転送された前記ブートプログラムの実行と、前記ＲＯＭコントローラ、前記ＤＭＡコントローラ及び前記ＲＡＭコントローラによる前記ＲＯＭから前記ＲＡＭへの前記アプリケーションの転送とが並列に行われるものである。
【０００８】
本発明の一態様によるコンピュータシステムの起動方法は、電源供給に伴う接続ピンの電圧変化に基づいて固定値を生成し、前記固定値を中央演算装置内の制御レジスタにアドレス値としてセットし、前記アドレス値を用いたＲＯＭ（Read Only Memory）コントローラ、ＲＡＭ（Random Access Memory）コントローラ、及びＤＭＡ（Direct Memory Access）コントローラによるＲＯＭに格納されているブートプログラムのＲＡＭへのＤＭＡ転送と、前記中央演算装置による前記ＲＯＭの所定アドレスに格納されたプログラムの実行とを並行して行うものである。
【発明の効果】
【０００９】
本発明によれば、起動時間を短縮できる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１１】
図１に本発明の実施形態に係るコンピュータシステムの概略構成を示す。コンピュータシステムはマイクロプロセッサ１００、ＲＡＭ（Random Access Memory）１１０、ＲＯＭ（Read Only Memory）１２０を備える。マイクロプロセッサ１００はＣＰＵ（Central Processing Unit：中央演算装置）１０１、ＲＡＭコントローラ１０２、ＲＯＭコントローラ１０３、ＤＭＡ（Direct Memory Access）コントローラ１０４を有する。ＣＰＵ１０１は制御レジスタ１０５を含む。
【００１２】
ＲＯＭ１２０はブートプログラム及びＯＳを格納する。ＲＡＭコントローラ１０２はＲＡＭ１１０へのデータ書き込み及びデータ読み出しを行う。ＲＯＭコントローラ１０３はＲＯＭ１２０からデータの読み出しを行う。
【００１３】
ＤＭＡコントローラ１０４はＤＭＡ転送を制御する機能を有する。ＤＭＡ転送とは、データをＲＯＭ１２０からＲＡＭ１１０へＣＰＵ１０１を介さずに直接転送するデータ転送方式である。
【００１４】
マイクロプロセッサ１００を含むＬＳＩ（Large Scale Integration：大規模集積回路 ）は複数のピンを介して基板に搭載される（共に図示せず）。所定のピンに抵抗等を接続し、電源投入による立ち上がり時の電位変化を用いて固定値を生成し、その固定値を制御レジスタ１０５にセットされるようにする。この固定値はデータの転送元／転送先アドレス、転送サイズ、転送方式等を含むアドレス情報である。これにより電源投入後、すぐに制御レジスタ１０５にアドレス情報がセットされ、コントローラ１０２〜１０４はこのアドレス情報を参照してデータの読み出し、書き込みを行うことができるようになる。
【００１５】
電源投入後、ＲＯＭ１２０に格納されたブートプログラムがＲＯＭコントローラ１０３により読み出され、ＲＡＭコントローラ１０２によりＲＡＭ１１０へ書き込まれる。このブートプログラムの転送はＤＭＡコントローラ１０４を用いたＤＭＡ転送である。従って、ブートプログラムの転送と並行して、ＣＰＵ１０１はＲＯＭ１２０のリセットベクタ（ＭＩＰＳの場合は0xbfc0_0000番地）と呼ばれる所定アドレスに記憶されているプログラムを実行し、リセット例外の要因分析等を行うことができる。
【００１６】
ブートプログラムの転送終了後、ＤＭＡコントローラ１０４がＣＰＵ１０１の制御レジスタ１０５にフラグを立てる等により転送終了が認識される。その後、ＣＰＵ１０１がＲＡＭ１１０上からブートプログラムを実行する。
【００１７】
ブートプログラムの実行によりＲＯＭ１２０からＲＡＭ１１０へのＯＳの転送、キャッシュやタイマ等のデバイス初期化処理が行われる。その後、実行するアプリケーションがＲＯＭ１２０からＲＡＭ１１０へ転送され、転送後ＣＰＵ１０１がＲＡＭ１１０上からアプリケーションを実行する。
【００１８】
ここで、アプリケーションの転送とブートプログラムの実行を並行して行うようにしても良い。アプリケーションの転送終了後、ＤＭＡコントローラ１０４がＣＰＵ１０１の制御レジスタ１０５にフラグを立てる等により転送終了が認識される。
【００１９】
図２に示すフローチャートを用いて本実施形態によるコンピュータシステムの起動方法を説明する。
（ステップＳ２０１）システムの電源がオンされる。
（ステップＳ２０２）ブートコンフィグレーションの設定により、制御レジスタ１０５にアドレス情報がセットされる。
（ステップＳ２０３）ＲＯＭ１２０のリセットベクタに記憶されているプログラムが実行される。
（ステップＳ２０４）ＤＭＡコントローラ１０４が起動する。
（ステップＳ２０５）ＲＯＭ１２０に格納されたブートプログラムがＲＡＭ１１０へＤＭＡ転送される。
（ステップＳ２０６）転送が終了したか判定される。
（ステップＳ２０７）ＣＰＵ１０１がＲＡＭ１１０上からブートプログラムを実行する。
（ステップＳ２０８）アプリケーションをＲＯＭ１２０からＲＡＭ１１０へ転送する。
（ステップＳ２０９）転送が終了したか判定される。
（ステップＳ２１０）ＣＰＵ１０１がＲＡＭ１１０上からアプリケーションを実行し、システムが起動する。
【００２０】
本実施形態によるコンピュータシステムは、電源投入後即時、制御レジスタ１０５にアドレス値が設定され、ＤＭＡコントローラ１０４によりデータ（ブートプログラム）のＤＭＡ転送を行うことができる。これにより、リセットベクタに記憶されたプログラムの実行（ステップＳ２０３）とブートプログラムの転送（ステップＳ２０４、２０５）とを並列実行することができ、コンピュータシステムの起動時間を短縮することができる。
【００２１】
また、ブートプログラムの実行（ステップＳ２０７）とアプリケーションの転送（ステップＳ２０８）を並列実行することでさらに起動時間を短縮することができる。
【００２２】
このように本実施形態によるコンピュータシステムによりシステム起動時間を短縮することができる。
【００２３】
上述した実施の形態は一例であって限定的なものではないと考えられるべきである。例えば上記実施形態ではＤＭＡコントローラ１０４がマイクロプロセッサ１００に内蔵されていたが、図３に示すように外付けのＩＣとして構成するようにしても良い。これにより制御レジスタ１０５に設定される情報をプログラマブルに設定することができる。
【００２４】
また、図４に示すように、ＲＡＭコントローラ１０２、ＲＯＭコントローラ１０３、ＤＭＡコントローラ１０４によるＤＭＡ転送に必要な情報（アドレス情報等）を格納したフラッシュメモリ４０１をマイクロプロセッサ１００に内蔵し、ＣＰＵ１０１起動時にこれらの値を読み出して、ブートプログラムのＤＭＡ転送を行うようにしても良い。
【００２５】
また、ブートプログラムの転送時（ステップＳ２０５）、転送に影響しないプログラムについては、ＲＯＭ１２０のリセットベクタに記憶されたプログラムの実行（ステップＳ２０３）後、ブートプログラムの転送と並行して、ＣＰＵ１０１がＲＯＭ１２０から直接読み込んで実行するようにしても良い。これにより起動時間をさらに短縮することができる。
【００２６】
本発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態によるコンピュータシステムの概略構成図である。
【図２】同実施形態によるコンピュータシステムの起動方法のフローチャートである。
【図３】変形例によるコンピュータシステムの概略構成図である。
【図４】変形例によるコンピュータシステムの概略構成図である。
【符号の説明】
【００２８】
１００  マイクロプロセッサ
１０１  ＣＰＵ
１０２  ＲＡＭコントローラ
１０３  ＲＯＭコントローラ
１０４  ＤＭＡコントローラ
１０５  制御レジスタ
１１０  ＲＡＭ
１２０  ＲＯＭ
【図１】
2009093270.tif 000003
【図２】
2009093270.tif 000004
【図３】
2009093270.tif 000005
【図４】
2009093270.tif 000006