(57)【要約】      （修正有）【課題】小型化、低価格化及び低消費電力化が可能な複数ＣＰＵの起動回路を提供する。【解決手段】ＣＰＵ起動回路１００は、ＣＰＵ１と、ＣＰＵ２と、不揮発メモリと、不揮発メモリからコピーされた第１のプログラムが格納され、ＣＰＵ１と接続された揮発メモリ１と、不揮発メモリからコピーされた第２のプログラムが格納される揮発メモリ２と、ＣＰＵ１の指示に基づいてＣＰＵ１とＣＰＵ２との一方のみを、揮発メモリ２に接続するスイッチ２５と、を備え、ＣＰＵ１は、ＣＰＵ１と揮発メモリ２とがスイッチ２５により接続された状態で第２のプログラムを不揮発メモリから揮発メモリ２にコピーして格納し、ＣＰＵ２は、ＣＰＵ２と揮発メモリ２とがスイッチ２５により接続された状態で、ＣＰＵ１からの指示に基づいて、第２のプログラムをスタートさせる。【選択図】図１
2015179411.tif 000002
【特許請求の範囲】
【請求項１】
第１のＣＰＵ（central processing unit）と、
第２のＣＰＵと、
前記第１のＣＰＵで実行される第１のプログラム及び前記第２のＣＰＵで実行される第２のプログラムが格納される不揮発メモリと、
前記不揮発メモリからコピーされた前記第１のプログラムが格納され、前記第１のＣＰＵと接続された第１の揮発メモリと、
前記不揮発メモリからコピーされた前記第２のプログラムが格納される第２の揮発メモリと、
前記第１のＣＰＵの指示に基づいて前記第１のＣＰＵと前記第２のＣＰＵとの一方のみを、前記第２の揮発メモリに接続する第１のスイッチと、を備え、
前記第１のＣＰＵは、前記第１のＣＰＵと前記第２の揮発メモリとが前記第１のスイッチにより接続された状態で前記第２のプログラムを前記不揮発メモリから前記第２の揮発メモリにコピーして格納し、
前記第２のＣＰＵは、前記第２のＣＰＵと前記第２の揮発メモリとが前記第１のスイッチにより接続された状態で、前記第１のＣＰＵからの指示に基づいて、前記第２のプログラムをスタートさせる、
複数ＣＰＵの起動回路。
【請求項２】
前記第１のプログラムは、第１のブートプログラム、第２のブートプログラム、及び、第１のファームウエアを含み、
前記第２のプログラムは、第２のファームウエアを含み、
前記第１のＣＰＵは、
前記第１のブートプログラムによって、前記不揮発メモリから前記第１のファームウエア及び前記第２のブートプログラムを前記第１の揮発メモリにコピーして格納し、
前記スイッチを用いて前記第１のＣＰＵと前記第２の揮発メモリとを接続した後に、前記第２のブートプログラムによって前記不揮発メモリから前記第２のファームウエアを前記第２の揮発メモリにコピーして格納し、
前記第２のファームウエアを前記第２の揮発メモリにコピーした後に、前記スイッチを用いて前記第２のＣＰＵと前記第２の揮発メモリとを接続し、
前記第２のファームウエアをスタートさせる指示を前記第２のＣＰＵに送信する、
ことを特徴とする請求項１に記載された複数ＣＰＵの起動回路。
【請求項３】
前記第２のブートプログラムは、前記第１のファームウエアに含まれていることを特徴とする、請求項２に記載された複数ＣＰＵの起動回路
【請求項４】
さらに、
第３のＣＰＵと、
前記第３のＣＰＵで実行される第３のプログラムが格納される第３の揮発メモリと、
前記第１のＣＰＵの指示に基づいて前記第１のＣＰＵと前記第３のＣＰＵとの一方のみを、前記第３の揮発メモリに接続する第２のスイッチと、を備え、
前記不揮発メモリは、さらに、前記第３のプログラムを格納し、
前記第１のＣＰＵは、前記第１のＣＰＵと前記第３の揮発メモリとが前記第２のスイッチにより接続された状態で、前記第３のプログラムを前記不揮発メモリから前記第３の揮発メモリにコピーして格納し、
前記第３のＣＰＵは、前記第３のＣＰＵと前記第３の揮発メモリとが前記第２のスイッチにより接続された状態で、前記第１のＣＰＵからの指示に基づいて、前記第３のプログラムをスタートさせる、
請求項１乃至３のいずれかに記載された複数ＣＰＵの起動回路。
【請求項５】
第１のＣＰＵ（central processing unit）に接続された不揮発メモリから、前記第１のＣＰＵで実行される第１のプログラムをコピーして前記第１のＣＰＵに接続された第１の揮発メモリに格納し、
第２のＣＰＵに接続された第２の揮発メモリと前記第１のＣＰＵとを、スイッチを用いて接続し、
前記第２のＣＰＵで実行される第２のプログラムを前記不揮発メモリからコピーして前記第２の揮発メモリに格納し、
前記第２の揮発メモリと前記第２のＣＰＵとを、前記スイッチを用いて接続し、
前記第２のＣＰＵに、前記第２のプログラムをスタートさせる指示を送信する、
複数ＣＰＵの起動方法。
【請求項６】
第１のＣＰＵ（central processing unit）と第２のＣＰＵとを備えるＣＰＵ起動回路で用いられるプログラムであって、前記第１のＣＰＵに、
前記第１のＣＰＵに接続された不揮発メモリから、前記第１のＣＰＵで実行される第１のプログラムをコピーして前記第１のＣＰＵに接続された第１の揮発メモリに格納する手順、
前記第２のＣＰＵに接続された第２の揮発メモリと前記第１のＣＰＵとを、スイッチを用いて接続する手順、
前記第２のＣＰＵで実行される第２のプログラムを前記不揮発メモリからコピーして前記第２の揮発メモリに格納する手順、
前記第２の揮発メモリと前記第２のＣＰＵとを、前記スイッチを用いて接続する手順、
前記第２のＣＰＵに、前記第２のプログラムをスタートさせる指示を送信する手順、
を実行させるための、複数ＣＰＵの起動回路のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数ＣＰＵの起動回路、複数ＣＰＵの起動方法及び複数ＣＰＵの起動回路のプログラムに関する。
【背景技術】
【０００２】
複数のＣＰＵ（Central Processing Unit、中央処理装置）が使用されたコンピュータでは、一般に、全てのＣＰＵを起動するためには、それぞれのＣＰＵに不揮発メモリ及び揮発メモリが必要となる。
【０００３】
図４は、本発明に関連する、ＣＰＵ起動回路（９００）の構成を示すブロック図である。図４において、ＣＰＵ起動回路（９００）は、ＣＰＵ１（９１）、ＣＰＵ２（９２）、揮発メモリ１（９０）、揮発メモリ２（９３）、不揮発メモリ１（９４）及び不揮発メモリ２（９５）を備える。ＣＰＵ１（９１）は、外部システム（３）からのスタート信号（１０４）の受信を契機に起動する。図４のＣＰＵ起動回路（９００）の動作について、図５を参照して説明する。
【０００４】
図５は、ＣＰＵ起動回路（９００）の起動手順を示すフローチャートである。起動手順の開始時には、ＣＰＵ１（９１）は、外部システム（３）からスタート信号（１０４）を受信する（図５のステップＳ１１１）。スタート信号（１０４）を受信したＣＰＵ１（９１）は、不揮発メモリ１（９４）に記憶されているブートローダ（boot loader、BL）１（９６Ａ）を揮発メモリ１のｎ番地（ｎは整数）に、ブートローダ１（９８）としてコピーする（Ｓ１１２）。ｎ番地は、ＣＰＵ１（９１）が、揮発メモリ１（９０）上でブートローダ１（９８）をスタートさせるアドレスである。
【０００５】
ＣＰＵ１（９１）のスタートアドレス（ｎ番地）にコピーされたブートローダ１（９８）は、ＣＰＵ１（９１）上でスタートする（Ｓ１１３）。ブートローダ１（９８）は、ファームウエア（firmware、FW）１（９６）を不揮発メモリ１（９４）から揮発メモリ１（９０）のｎ１番地にファームウエア１（９９）としてコピーする（Ｓ１１４）。ｎ１番地は、ファームウエア１（９９）が、ＣＰＵ１（９１）上でスタートする番地である。揮発メモリ１（９０）のｎ１番地にコピーされたファームウエア１（９９）は、ＣＰＵ１（９１）上でスタートする（Ｓ１１５）。
【０００６】
ファームウエア１（９９）の機能により、ＣＰＵ１（９１）は、ＣＰＵ２（９２）に、ＣＰＵ２スタート信号（１０５）を送る（Ｓ１１６）。ＣＰＵ２スタート信号（１０５）を受信したＣＰＵ２（９２）は、不揮発メモリ２（９５）に記憶されているブートローダ２（１００Ａ）を揮発メモリ２（９３）のｍ番地（ｍは整数）にブートローダ２（１０２）としてコピーする（Ｓ１１７）。ｍ番地は、ＣＰＵ２（９２）が、揮発メモリ２（９３）上でブートローダ２（１０２）をスタートさせるアドレスである。ｍ番地にコピーされたブートローダ２（１０２）は、ＣＰＵ２（９２）上でスタートする（Ｓ１１８）。ブートローダ２（１０２）は、不揮発メモリ２（９５）内のファームウエア２（１００）を不揮発メモリ２（９５）から揮発メモリ２（９３）のｍ１番地にコピーする（Ｓ１１９）。ｍ１番地は、ファームウエア２（１０３）が、ＣＰＵ２（９２）上でスタートするアドレスである。揮発メモリ２（９３）のｍ１番地にコピーされたファームウエア２（１０３）は、ＣＰＵ２（９２）上でスタートする（Ｓ１２０）。以上の手順で、２個のＣＰＵが起動する（Ｓ１１９）。
【０００７】
このように、ＣＰＵ起動回路（９００）は、ＣＰＵ１（９１）に直結された不揮発メモリ１（９４）、及び、ＣＰＵ２（９２）に直結された不揮発メモリ２（９５）が必要である。従って、ＣＰＵ起動回路（９００）は、ＣＰＵごとに不揮発メモリが必要であるため、部品点数の削減による製品の低価格化、及び、部品の実装面積の削減による製品の小型化が困難であるという課題があった。例えば、ＭＳＡ（Multi Source Agreement）によって製品の寸法の上限が規定されている場合がある。しかし、製品に実装される部品が多いと、ＭＳＡの規定を遵守することが困難な場合があり、部品の実装面積はできるだけ小さいことが好ましい。なお、ＭＳＡとは、部品の製造者の間で定められた、寸法やピン配置などの共通の仕様である。
【０００８】
このような課題を解決するための技術として、特許文献１には、２個のプロセッサＡ、Ｂで用いられるそれぞれのブートプログラム及びメインプログラムが１個のＲＯＭ（read only memory）に記憶されている、マルチプロセッサシステムが記載されている。そして、特許文献１に記載されたマルチプロセッサシステムは、起動時に、プロセッサＡにより、プロセッサＢ用のブートプログラムＢ及びメインプログラムＢの両方が、プロセッサ間インタフェース回路を通して、プロセッサＢのＲＡＭ（random access memory）に転送される。そして、プロセッサＢは、プロセッサＢのＲＡＭ（ＲＡＭ＿Ｂ）に転送されたブートプログラムＢ及びメインプログラムＢによって起動する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−２０２２００号公報（［００３６］−［００３７］段落）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献１に記載されたマルチプロセッサシステムでは、プロセッサＢに接続されたＲＡＭ（ＲＡＭ＿Ｂ）には、プロセッサＡとプロセッサＢとの両方が接続されている。このため、特許文献１に記載されたマルチプロセッサシステムは、プロセッサＡによるＲＡＭ＿ＢへのアクセスとプロセッサＢによるＲＡＭ＿Ｂへのアクセスとを調停するための、プロセッサ間インタフェース回路を必要とする。従って、プロセッサ間インタフェース回路を搭載することにより、特許文献１に記載されたマルチプロセッサシステムは、部品点数が増加し部品実装面積が拡大するため、小型化、低価格化及び低消費電力化が困難であるという課題があった。
（発明の目的）
本発明は、小型化、低価格化及び低消費電力化が可能な複数ＣＰＵの起動回路、複数ＣＰＵの起動方法及び複数ＣＰＵの起動回路のプログラムを実現することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の複数ＣＰＵの起動回路は、第1のＣＰＵと、第２のＣＰＵと、前記第1のＣＰＵで実行される第1のプログラム及び前記第２のＣＰＵで実行される第２のプログラムが格納される不揮発メモリと、前記不揮発メモリからコピーされた前記第1のプログラムが格納され、前記第1のＣＰＵと接続された第1の揮発メモリと、前記不揮発メモリからコピーされた前記第２のプログラムが格納される第２の揮発メモリと、前記第1のＣＰＵの指示に基づいて前記第１のＣＰＵと前記第２のＣＰＵとの一方のみを、前記第２の揮発メモリに接続する第1のスイッチと、を備え、前記第１のＣＰＵは、前記第１のＣＰＵと前記第２の揮発メモリとが前記第1のスイッチにより接続された状態で前記第２のプログラムを前記不揮発メモリから前記第２の揮発メモリにコピーして格納し、前記第２のＣＰＵは、前記第２のＣＰＵと前記第２の揮発メモリとが前記第1のスイッチにより接続された状態で、前記第1のＣＰＵからの指示に基づいて、前記第２のプログラムをスタートさせる、ことを特徴とする。
【００１２】
本発明の複数ＣＰＵの起動方法は、第1のＣＰＵに接続された不揮発メモリから、前記第1のＣＰＵで実行される第1のプログラムをコピーして前記第1のＣＰＵに接続された第1の揮発メモリに格納し、第２のＣＰＵに接続された第２の揮発メモリと前記第１のＣＰＵとを、スイッチを用いて接続し、前記第２のＣＰＵで実行される第２のプログラムを前記不揮発メモリからコピーして前記第２の揮発メモリに格納し、前記第２の揮発メモリと前記第２のＣＰＵとを、前記スイッチを用いて接続し、前記第２のＣＰＵに、前記第２のプログラムをスタートさせる指示を送信する、ことを特徴とする。
【００１３】
本発明のＣＰＵ起動回路のプログラムは、第1のＣＰＵと第２のＣＰＵとを備えるＣＰＵ起動回路で用いられるプログラムであって、前記第1のＣＰＵに、前記第1のＣＰＵに接続された不揮発メモリから、前記第1のＣＰＵで実行される第1のプログラムをコピーして前記第1のＣＰＵに接続された第1の揮発メモリに格納する手順、前記第２のＣＰＵに接続された第２の揮発メモリと前記第１のＣＰＵとを、スイッチを用いて接続する手順、前記第２のＣＰＵで実行される第２のプログラムを前記不揮発メモリからコピーして前記第２の揮発メモリに格納する手順、前記第２の揮発メモリと前記第２のＣＰＵとを、前記スイッチを用いて接続する手順、前記第２のＣＰＵに、前記第２のプログラムをスタートさせる指示を送信する手順、を実行させる。
【発明の効果】
【００１４】
本発明は、小型化、低価格化及び低消費電力化が可能な複数ＣＰＵの起動回路、複数ＣＰＵの起動方法及び複数ＣＰＵの起動回路のプログラムを実現する。
【図面の簡単な説明】
【００１５】
【図１】第1の実施形態のＣＰＵ起動回路の構成を示すブロック図である。
【図２】第1の実施形態における、ＣＰＵ起動回路の動作を示すフローチャートの例である。
【図３】第２の実施形態のＣＰＵ起動回路の構成を示すブロック図である。
【図４】本発明に関連する、ＣＰＵ起動回路の構成を示すブロック図である。
【図５】本発明に関連する、ＣＰＵ起動回路の起動手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下の実施形態で説明するＣＰＵ起動回路では、２個のＣＰＵ（ＣＰＵ１及びＣＰＵ２）のうち最初に起動するＣＰＵ１で実行されるファームウエア１は、次に起動するＣＰＵ２のブートローダの機能を含む。さらに、ＣＰＵ起動回路は、ＣＰＵ２で実行されるプログラムが格納される揮発メモリ２をＣＰＵ１とＣＰＵ２との一方とのみ接続するためのスイッチを備える。
【００１７】
このような構成を備えるＣＰＵ起動回路は、ファームウエア１がＣＰＵ２のブートローダの機能を具備すること、及び、揮発メモリ２の接続先を切り替えるスイッチを具備することで、ＣＰＵ２に接続された不揮発メモリを不要とすることができる。
【００１８】
（第1の実施形態）
図１は、本発明の第1の実施形態のＣＰＵ起動回路１００の構成を示すブロック図である。ＣＰＵ起動回路１００では、２個のＣＰＵが順次起動する。ＣＰＵ起動回路１００は、ＣＰＵ１（１１）、ＣＰＵ２（１２）、揮発メモリ１（１０）、揮発メモリ２（１３）、不揮発メモリ（１４）及びスイッチ（２５）を備える。
【００１９】
外部システム（１）は、ＣＰＵ起動回路（１００）の動作の開始時に、ＣＰＵ１スタート信号（２１）をＣＰＵ１（１１）に送る。ＣＰＵ１スタート信号（２１）は、ＣＰＵ１（１１）をスタートさせるための信号である。不揮発メモリ（１４）は、電源が供給されていなくとも記憶内容が失われないメモリであり、例えば、ＰＲＯＭ（programmable read only memory）などのＲＯＭである。揮発メモリ１（１０）及び揮発メモリ２（１３）は、電源が供給されない場合には記憶内容が失われるメモリであり、例えば、ＤＲＡＭ（dynamic random access memory）などのＲＡＭである。
【００２０】
不揮発メモリ（１４）は、ブートローダ１（１５Ａ）、ファームウエア１（１５）及びファームウエア２（１６）を記憶する。ブートローダ１（１５Ａ）は、ファームウエア１を揮発メモリ１の所定のアドレスにコピーするためのプログラムである。ファームウエア１（１５）は、ＣＰＵ１（１１）で実行されるプログラムである。ファームウエア２（１６）は、ＣＰＵ２（１２）で実行されるプログラムである。ファームウエア１（１５）は、ファームウエア２（１６）を揮発メモリ２の所定のアドレスにコピーする機能をも備える。すなわち、ファームウエア１は、ＣＰＵ２（１２）のブートローダの機能を含む。
【００２１】
スイッチ（２５）は、ＣＰＵ１（１１）から出力されたスイッチ制御信号（２３）の指示により、揮発メモリ２（１３）が接続されるＣＰＵを切り替える。スイッチ（２５）は、揮発メモリ２（１３）を、ＣＰＵ１（１１）とＣＰＵ２（１２）との一方のみと接続する。
【００２２】
ＣＰＵ１（１１）は、ＣＰＵ１スタート信号（２１）の受信を契機に、不揮発メモリ（１４）から揮発メモリ１（１０）のｎ番地にブートローダ１（１５Ａ）をコピーする。ブートローダ１（１５Ａ）は、揮発メモリ１（１０）にブートローダ１（１８）として記憶される。ｎ番地は、ＣＰＵ１（１１）が、揮発メモリ１（１０）上でブートローダ１（１８）をスタートさせるアドレスである。揮発メモリ１（１０）のｎ番地からスタートしたブートローダ１（１８）は、不揮発メモリ１（１４）に格納されているファームウエア１（１５）を揮発メモリ１（１０）のｎ１番地にファームウエア１（１９）としてコピーする。ｎ１番地は、ＣＰＵ１（１１）が、ファームウエア１（１９）をスタートさせる、揮発メモリ１（１０）のアドレスである。
【００２３】
ファームウエア１（１９）は、ＣＰＵ１（１１）に、ＣＰＵ１（１１）及びＣＰＵ２（１２）の一方と、揮発メモリ２（１３）とを接続するようにスイッチ（２５）を制御させる機能を備える。また、ファームウエア１（１９）が備えるＣＰＵ２（１２）のブートローダの機能により、不揮発メモリ１（１４）のファームウエア２（１６）は、揮発メモリ２（１３）のｍ番地にコピーされる。ＣＰＵ１（１１）は、ファームウエア１（１９）の機能により、ＣＰＵ２スタート信号（２２）をＣＰＵ２（１２）に送信する。ＣＰＵ２（１２）はＣＰＵ２スタート信号（２２）の受信を契機に揮発メモリ２（１３）のｍ番地からファームウエア２をスタートさせる。
【００２４】
次に、図２に示すフローチャートを使用して、ＣＰＵ起動回路（１００）の動作を説明する。図２は、第1の実施形態における、ＣＰＵ起動回路（１００）の動作を示すフローチャートの例である。
【００２５】
図２を参照すると、外部システム（１）からＣＰＵ１（１１）がＣＰＵ１スタート信号（２１）を受信する（図２のステップＳ３１）。ブートローダ１（１５Ａ）は、まず、ブートローダ１（１５Ａ）自身を揮発メモリ１（１０）のｎ番地にコピーし（Ｓ３２）、ブートローダ１（１８）としてＣＰＵ１（１１）の起動番地（ｎ番地）からスタートする（Ｓ３３）。
【００２６】
ブートローダ１（１８）は、ファームウエア１（１５）を、不揮発メモリ１（１４）から揮発メモリ１（１０）のｎ１番地にコピーする（Ｓ３４）。揮発メモリ１（１０）にコピーされたファームウエア１（１９）がＣＰＵ１（１１）上でスタートする（Ｓ３５）と、ＣＰＵ１（１１）は、ＣＰＵ１（１１）と揮発メモリ２（１３）とが接続されるようにスイッチ（２５）を制御する（Ｓ３６）。
【００２７】
ＣＰＵ１（１１）上でスタートしたファームウエア１（１９）は、ＣＰＵ２（１２）のブートローダの機能を備えている。この機能により、ファームウエア１（１９）は、不揮発メモリ１（１４）に記憶されたファームウエア２（１６）を不揮発メモリ（１４）から揮発メモリ２（１３）のｍ番地にコピーする（Ｓ３７）。揮発メモリ２（１３）へのファームウエア２のコピーが終了すると、ＣＰＵ１（１１）は、ＣＰＵ２（１２）と揮発メモリ２（１３）とが接続されるように、スイッチ（２５）を制御する（Ｓ３８）。
【００２８】
ＣＰＵ２（１２）と揮発メモリ２（１３）とが接続されると、ファームウエア１（１９）の機能により、ＣＰＵ１（１１）は、ＣＰＵ２（１２）にＣＰＵ２スタート信号（２２）を送る（Ｓ３９）。ＣＰＵ２（１２）がＣＰＵ２スタート信号（２２）を受信することにより、ファームウエア２（２０）が、ＣＰＵ２（１３）上で起動する（Ｓ４０）。
【００２９】
上述の手順により、ＣＰＵ１（１１）及びＣＰＵ２（１２）が起動する。なお、以上の手順ではファームウエア１（１９）にＣＰＵ２（１２）のブートローダの機能が含まれているとして説明した。しかし、ＣＰＵ２（１２）のブートローダは、ファームウエア１（１９）とは独立したプログラムでもよい。この場合、ブートローダ１（１８）は、ステップＳ３４においてファームウエア１（１５）を不揮発メモリ１（１４）から揮発メモリ１（１０）のｎ１番地にコピーするとともに、ＣＰＵ２（１２）のブートローダをも揮発メモリ１（１０）にコピーする。そして、例えば、ファームウエア１（１９）からの呼び出しによりＣＰＵ２（１２）のブートローダが実行される。
【００３０】
以上説明したように、ＣＰＵ起動回路（１００）の起動に必要なブートローダ１（１５Ａ）、ファームウエア１（１５）及びファームウエア２（１６）はＣＰＵ１（１１）と接続された不揮発メモリ１４に格納されている。ファームウエア１（１５）は、ＣＰＵ２（１２）のブートローダの機能を備える。そして、ファームウエア２（１６）は、ファームウエア１（１５）が備える、当該ブートローダの機能により、スイッチ（２５）を経由して揮発メモリ２（１３）にコピーされる。
【００３１】
ファームウエア２（１６）が揮発メモリ２（１３）にコピーされると、スイッチ（２５）によって、揮発メモリ２（１３）がＣＰＵ２（１２）と接続される。その後、ファームウエア１（１９）が、ＣＰＵ２（１２）のスタート信号をＣＰＵ１（１１）に送信させることで、揮発メモリ２（１３）にコピーされたファームウエア２（２０）がスタートする。従って、ＣＰＵ２（１２）は、ＣＰＵ２（１２）と接続された不揮発メモリ（すなわち、図４の不揮発メモリ２（９５））を備えることなく、不揮発メモリ（１４）から揮発メモリ２（１３）にコピーされたファームウエア２（２０）をスタートさせることができる。
【００３２】
このような特徴を備えるＣＰＵ起動回路（１００）は、ＣＰＵ起動回路の小型化、低価格化に加えて低消費電力化が可能である。その第1の理由は、２個のＣＰＵを起動する場合に、通常はＣＰＵごとに必要とされた不揮発メモリの数が１個で済むからである。
【００３３】
第２の理由は、ＣＰＵ起動回路（１００）は、複数のＣＰＵによる揮発メモリへのアクセスを調停するための、プロセッサ間インタフェース回路を必要としないからである。なぜならば、揮発メモリ２（１３）は、スイッチ（２５）により、ＣＰＵ１（１１）及びＣＰＵ２（１２）の一方のみと接続されるため、揮発メモリ２（１３）には、ＣＰＵ１（１１）とＣＰＵ２（１２）とが同時に接続されることがないからである。その結果、ＣＰＵ起動回路（１００）は、アクセスを調停するためのプロセッサ間インタフェース回路を必要としない。さらに、プロセッサ間インタフェース回路が不要であることにより、ＣＰＵ起動回路（１００）は、消費電力が低減されるという効果も奏する。すなわち、ＣＰＵ起動回路（１００）は、小型化、低価格化に加えて低消費電力化が可能である。
【００３４】
ＣＰＵ起動回路（１００）では、ＣＰＵ２（１２）のブートローダは揮発メモリ１（１０）上のファームウエア１に含まれており、揮発メモリ２（１３）にはロードされない。従って、ＣＰＵ２（１２）のブートローダが揮発メモリ２（１３）上で実行される構成と比較して、ＣＰＵ起動回路（１００）では、ＣＰＵ２（１２）の起動時の揮発メモリ２（１３）へのプログラムの転送時間が短縮される。さらに、この場合、ＣＰＵ起動回路（１００）では、揮発メモリ２（１３）のメモリ消費量が低減される。
【００３５】
（第1の実施形態の最小構成）
第1の実施形態で説明したＣＰＵ起動回路の効果は、以下の最小構成によっても得られる。すなわち、ＣＰＵ起動回路は、ＣＰＵ１（１１）と、ＣＰＵ２（１２）と、不揮発メモリ（１４）と、揮発メモリ（１０、１３）と、スイッチ（２５）とを備える。
【００３６】
不揮発メモリ（１４）には、ＣＰＵ１（１１）実行される第1のプログラム（ブートローダ１及びファームウエア１）及びＣＰＵ２（１２）で実行される第２のプログラム（ファームウエア２）が格納される。揮発メモリ１（１０）は、ＣＰＵ１（１１）と接続される。揮発メモリ１（１０）には、不揮発メモリ（１４）からコピーされた第1のプログラムが格納される。揮発メモリ２（１３）には、不揮発メモリ（１４）からコピーされた第２のプログラムが格納される。スイッチ（２５）は、ＣＰＵ１（１１）の指示に基づいて、ＣＰＵ１（１１）とＣＰＵ２（１２）との一方のみを、揮発メモリ２（１３）に接続する。
【００３７】
最小構成のＣＰＵ起動回路において、ＣＰＵ１（１１）は、ＣＰＵ１（１１）と揮発メモリ２（１３）とがスイッチ（２５）により接続された状態で、第２のプログラムを不揮発メモリ（１４）から揮発メモリ２（１３）にコピーする。そして、ＣＰＵ２（１２）と揮発メモリ２（１３）とがスイッチ（２５）により接続された状態で、ＣＰＵ２（１２）は、ＣＰＵ１（１１）からの指示に基づいて、第２のプログラムをスタートさせる。
【００３８】
このような構成を備える最小構成のＣＰＵ起動回路も、必要な不揮発メモリ１４は１個であり、また、不揮発メモリ２（１３）へのアクセスを調停するためのプロセッサ間インタフェース回路を必要としない。従って、最小構成のＣＰＵ起動回路も、ＣＰＵ起動回路の小型化、低価格化に加えて低消費電力化が可能である。
【００３９】
（第２の実施形態）
図３は、本発明の第２の実施形態のＣＰＵ起動回路（２００）の構成を示すブロック図である。図３に示したＣＰＵ起動回路（２００）の構成は、図１に示したＣＰＵ起動回路（１００）の構成と比較して、ＣＰＵ３（１２Ａ）、スイッチ（２５Ａ）及び揮発メモリ３（１３Ａ）をさらに備える点で相違する。また、不揮発メモリ（１４）には、第1の実施形態で説明したブートローダ１（１５Ａ）、ファームウエア１（１５）及びファームウエア２（１６）に加えて、ファームウエア３（１６Ａ）が記憶されている。
【００４０】
ＣＰＵ起動回路（２００）の、ＣＰＵ１（１１）及びＣＰＵ２（１２）の起動手順は、第1の実施形態と同様である。以下の説明では、図１で説明した各要素には同一の参照符号を付して、図１との相違点について説明する。
【００４１】
図２で説明した手順によりＣＰＵ１（１１）及びＣＰＵ２（１２）の起動が完了すると、ＣＰＵ１（１１）は、揮発メモリ３（１３Ａ）とＣＰＵ１（１１）とが接続されるように、スイッチ制御信号（２３）によってスイッチ（２５Ａ）を制御する。そして、ＣＰＵ１（１１）は、不揮発メモリ（１４）からファームウエア３（１６Ａ）を揮発メモリ３（１３Ａ）にコピーして、ファームウエア３（２０Ａ）とする。ファームウエア３（１６Ａ）を揮発メモリ３（１３Ａ）にコピーする機能は、ファームウエア１（１９）によって提供される。
【００４２】
ファームウエア３（１６Ａ）のコピーが完了すると、ＣＰＵ１（１１）は、揮発メモリ３（１３Ａ）とＣＰＵ３（１２Ａ）とが接続されるように、スイッチ（２５Ａ）を制御する。その後、ＣＰＵ１（１１）がＣＰＵ３スタート信号（２２Ａ）をＣＰＵ３（１２Ａ）に送信すると、ＣＰＵ３（１２Ａ）がファームウエア３により起動する。
【００４３】
このような手順により、図３に示したＣＰＵ起動回路（２００）は、３個のＣＰＵを順次起動することができる。そして、ＣＰＵ起動回路（２００）は、第1の実施形態のＣＰＵ起動回路（１００）と同様に、必要な不揮発メモリ１４は１個であり、また、不揮発メモリ２（１３）へのアクセスを調停するためのプロセッサ間インタフェース回路を必要としない。従って、第２の実施形態のＣＰＵ起動回路（２００）も、ＣＰＵ起動回路の小型化、低価格化に加えて低消費電力化が可能である。
【００４４】
（第２の実施形態の変形例）
第２の実施形態では、３個のＣＰＵを備えるＣＰＵ起動回路（２００）について説明した。しかし、図３の構成にならって、さらに他のＣＰＵ及び揮発メモリをＣＰＵ２（１２）及びＣＰＵ３（１２Ａ）と並列に接続することで、４個以上のＣＰＵの起動回路を構成することも可能である。
【００４５】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００４６】
１、３    外部システム
１００、９００    ＣＰＵ起動回路
１０、９０    揮発メモリ１
１１、９１    ＣＰＵ１
１２、９２    ＣＰＵ２
１２Ａ    ＣＰＵ３
１３、９３    揮発メモリ２
１３Ａ    揮発メモリ３
１４    不揮発メモリ
１５、１９、９６、９９    ファームウエア１（ＦＷ１）
１５Ａ、１８、９６Ａ、９８    ブートローダ１（ＢＬ１）
１６、２０、１００、１０３    ファームウエア２（ＦＷ２）
１６Ａ    ファームウエア３（ＦＷ３）
１００Ａ、１０２    ブートローダ２（ＢＬ２）
２１、１０４    ＣＰＵ１スタート信号
２２、１０５    ＣＰＵ２スタート信号
２２Ａ    ＣＰＵ３スタート信号
２３    スイッチ制御信号
２５、２５Ａ    スイッチ
９４    不揮発メモリ１
９５    不揮発メモリ２
【図１】
2015179411.tif 000003
【図２】
2015179411.tif 000004
【図３】
2015179411.tif 000005
【図４】
2015179411.tif 000006
【図５】
2015179411.tif 000007