(57)【要約】      （修正有）【課題】複数のプロセッサを有する携帯端末において、特定のプロセッサから他のプロセッサへのプログラム転送時間の短縮化を図り、省電力化と省スペース化を実現する。【解決手段】特定プロセッサ１０１は、特定プロセッサ１０１が実行する第１のブートプログラムと第１のメインプログラム及び他のプロセッサ１０４が実行する第２のブートプログラムと第２のメインプログラムを格納するメモリとしてＲＯＭ１０２を備える。携帯端末の起動時に、特定プロセッサ１０１はＲＯＭ１０２に格納されている第２のブートプログラムと第２のメインプログラムをプロセッサ間インタフェース回路１０７を経由しＲＡＭ１０５に送信して格納させ、他のプロセッサ１０４はＲＡＭ１０５に格納された第２のブートプログラムと第２のメインプログラムを実行することにより自プロセッサ１０４の起動を行う。【選択図】図１
2006202200.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサを備える携帯端末であって、
前記複数のプロセッサの内の特定プロセッサは、特定プロセッサが実行する第１のブートプログラムと第１のメインプログラム及び他のプロセッサが実行する第２のブートプログラムと第２のメインプログラムを格納するメモリとしてＲＯＭ（読み出し専用メモリ）を備え、
前記特定プロセッサ以外の他のプロセッサは、自プロセッサが実行する第２のブートプログラムと第２のメインプログラムを前記特定プロセッサから受信して格納するメモリとしてＲＡＭ（ラム）を備え、
前記携帯端末の起動時に、前記特定プロセッサは前記ＲＯＭに格納されている第２のブートプログラムと第２のメインプログラムを前記ＲＡＭに送信して格納させ、前記他のプロセッサは前記ＲＡＭに格納された第２のブートプログラムと第２のメインプログラムを実行することにより自プロセッサの起動を行う、ことを特徴とする携帯端末。
【請求項２】
前記携帯端末の起動時に、前記特定プロセッサは、前記第１のブートプログラムを実行させて前記ＲＯＭに格納されている第２のブートプログラムを前記ＲＡＭに送信して格納させ、前記他のプロセッサは、前記ＲＡＭに格納された前記第２のブートプログラムを実行させることにより、前記特定プロセッサの第１のブートプログラムの実行によって送信される第２のメインプログラムを受信して前記ＲＡＭに格納する、ことを特徴とする請求項１に記載の携帯端末。
【請求項３】
前記特定プロセッサの第１のブートプログラムの実行によって送信される前記第２のメインプログラムは、圧縮された形式のプログラムである、ことを特徴とする請求項２に記載の携帯端末。
【請求項４】
前記他のプロセッサは、前記ＲＡＭに格納された前記第２のブートプログラムを実行させることにより、前記特定プロセッサの第１のブートプログラムの実行によって送信される第２のメインプログラムを受信して前記ＲＡＭに格納した後、前記ＲＡＭに格納された圧縮された形式の第２のメインプログラムを解凍して、解凍された形式の第２のメインプログラムを前記ＲＡＭ内の所定の領域に展開する、ことを特徴とする請求項３に記載の携帯端末。
【請求項５】
前記他のプロセッサは、解凍された形式の前記第２のメインプログラムを前記ＲＡＭ内の所定の領域に展開した後、該解凍された形式の前記第２のメインプログラムを実行することにより自プロセッサでの処理を開始し、前記特定プロセッサは、前記ＲＯＭ内の第１のメインプログラムを実行することにより自プロセッサでの処理を開始する、ことを特徴とする請求項４に記載の携帯端末。
【請求項６】
複数のプロセッサを備えるマルチプロセッサシステムにおいて、
前記複数のプロセッサの内の特定プロセッサは、特定プロセッサが実行する第１のブートプログラムと第１のメインプログラム及び他のプロセッサが実行する第２のブートプログラムと第２のメインプログラムを格納するメモリとしてＲＯＭを備え、
前記特定プロセッサ以外の他のプロセッサは、自プロセッサが実行する第２のブートプログラムと第２のメインプログラムを前記特定プロセッサから受信して格納するメモリとしてＲＡＭを備え、
前記マルチプロセッサシステムの起動時に、前記特定プロセッサは前記ＲＯＭに格納されている第２のブートプログラムと第２のメインプログラムを前記ＲＡＭに送信して格納させ、前記他のプロセッサは前記ＲＡＭに格納された第２のブートプログラムと第２のメインプログラムを実行することにより自プロセッサの起動を行う、ことを特徴とするマルチプロセッサシステム。
【請求項７】
前記マルチプロセッサシステムの起動時に、前記特定プロセッサは、前記第１のブートプログラムを実行させて前記ＲＯＭに格納されている第２のブートプログラムを前記ＲＡＭに送信して格納させ、前記他のプロセッサは、前記ＲＡＭに格納された前記第２のブートプログラムを実行させることにより、前記特定プロセッサの第１のブートプログラムの実行によって送信される第２のメインプログラムを受信して前記ＲＡＭに格納する、ことを特徴とする請求項６に記載のマルチプロセッサシステム。
【請求項８】
前記特定プロセッサの第１のブートプログラムの実行によって送信される前記第２のメインプログラムは、圧縮された形式のプログラムである、ことを特徴とする請求項７に記載のマルチプロセッサシステム。
【請求項９】
前記他のプロセッサは、前記ＲＡＭに格納された前記第２のブートプログラムを実行させることにより、前記特定プロセッサの第１のブートプログラムの実行によって送信される第２のメインプログラムを受信して前記ＲＡＭに格納した後、前記ＲＡＭに格納された圧縮された形式の第２のメインプログラムを解凍して、解凍された形式の第２のメインプログラムを前記ＲＡＭ内の所定の領域に展開する、ことを特徴とする請求項８に記載のマルチプロセッサシステム。
【請求項１０】
前記他のプロセッサは、解凍された形式の前記第２のメインプログラムを前記ＲＡＭ内の所定の領域に展開した後、該解凍された形式の前記第２のメインプログラムを実行することにより自プロセッサでの処理を開始し、前記特定プロセッサは、前記ＲＯＭ内の第１のメインプログラムを実行することにより自プロセッサでの処理を開始する、ことを特徴とする請求項９に記載のマルチプロセッサシステム。
【請求項１１】
複数のプロセッサを備えるマルチプロセッサシステムの特定プロセッサに、
他のプロセッサが実行するブートプログラムを前記他のプロセッサが備えるＲＡＭに対して送信する処理と、
他のプロセッサが実行する圧縮された形式のメインプログラムを前記他のプロセッサが備える前記ＲＡＭに対して送信する処理、を実行させることを特徴とするプログラム。
【請求項１２】
複数のプロセッサを備えるマルチプロセッサシステムの特定プロセッサ以外の他のプロセッサに、
前記特定プロセッサから送信される圧縮された形式のメインプログラムを受信して自プロセッサが備えるＲＡＭに格納する処理と、
前記ＲＡＭに格納された前記圧縮された形式のメインプログラムを解凍して、解凍された形式のメインプログラムを前記ＲＡＭ内の所定の領域に展開する処理、を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯端末及びマルチプロセッサシステム並びにそのプログラムに関し、特に、複数のプロセッサを有する携帯端末において、特定のプロセッサから他のプロセッサへのプログラム転送時間の短縮化を図ると共に、携帯端末の省電力化と省スペース化を実現することを可能とする、携帯端末及びマルチプロセッサシステム並びにそのプログラムに関する。
【背景技術】
【０００２】
近年、携帯電話やＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ：パーソナルハンディホンシステム）端末、或いは、通信機能を有する携帯機器においては、その機能や性能が著しく向上してきている。このため、これらの携帯端末においては、プロセッサ（Ｐｒｏｃｅｓｓｏｒ）による高速化処理が必要となってきており、これを実現するために、通信機能やアプリケーション機能を各々のプロセッサが並列して処理するマルチプロセッサシステムが取り入れられるようになって来ている（例えば、特許文献１参照。）。
【０００３】
上述した特許文献１の「通信機能を有する携帯端末装置」には、無線通信機能を処理するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：中央処理装置）とアプリケーションを処理するＣＰＵなどの複数のＣＰＵを装備した携帯端末装置が記載されている。この携帯端末装置は複数のＣＰＵを搭載しているため、より高速の処理を行うことが出来るようになる、としている。
【０００４】
また、上述した携帯端末（携帯電話やＰＨＳ端末、或いは、通信機能を有する携帯機器を、以降、携帯端末と称することとする）においては、更なる機能／性能の向上が図られるようになってきている。このため、携帯端末に装備されるプログラムのコードサイズ増大に伴うメモリの大容量化や、プロセッサの処理速度高速化に伴うメモリアクセスの高速化が必要となってきている。
【０００５】
一般的に、携帯端末のプログラムは、電源供給が停止されてもプログラムを保持可能なＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：読み出し専用メモリ）に格納されている。そして、プロセッサはＲＯＭからプログラムの命令を読み出して実行するようになっている。ＲＯＭとしては、マスクＲＯＭ（ｍａｓｋｅｄ  ＲＯＭ）やフラッシュＲＯＭ（ｆｌａｓｈ  ＲＯＭ）などが使用されるが、これらは一般的にはアクセス速度は低速であり、かつ、メモリ容量単価は高いものである。これに対し、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）：エスディーラム）やＤＤＲ・ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  ＳＤＲＡＭ：ディディーアールＳＤＲＡＭ）などのＲＡＭは、高速アクセスが可能で、かつ、メモリ容量単価は安いものである。従って、メモリの大容量化やメモリアクセスの高速化に対応するためには、プログラムを格納するメモリはＲＯＭとし、このプログラムを実行する際には、ＲＯＭからＲＡＭにプログラムを転送した後、ＲＡＭ上のプログラムで実行するようなシステムが望まれるものとなる。ＲＡＭは、電源供給が停止されると、その記憶内容が消去されてしまうものであるため、当初のプログラムはＲＯＭに格納しておくことが必要である。
【０００６】
プログラムの一部（ブートローダ）をＲＡＭに読み込ませて実行させるマルチプロセッサシステムを提案しているものがある（例えば、特許文献２参照。）。
【０００７】
上述した特許文献２の「マルチプロセッサシステムの起動方式」においては、第１のＣＰＵについてのみ設けたＲＯＭのブートローダの実行により、他の第２のＣＰＵ及び第３のＣＰＵ用のブートローダが、ディスク装置から各ＣＰＵ用のＲＡＭに読み込まれる。そして、これらのＲＡＭ上のブートローダの実行により、第２及び第３のＣＰＵのブートが行われるようにしている。このことにより、ブートローダの格納に要するスペースを削減し、多数のＣＰＵを有するマルチプロセッサシステムにおいても、読み出し専用メモリを１つだけ実装すればよい、としている。
【０００８】
【特許文献１】特開２００３−１２５０７６号公報（第３−６頁、図１−７）
【特許文献２】特開平０５−２４２０５７号公報（第３−５頁、図１−６）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
上述した特許文献２のマルチプロセッサシステムにおいては、ブートローダだけをＲＡＭから読み出して実行するようにしている。しかしながら、メモリの大容量化やメモリアクセスの高速化に対応するためには、ブートローダだけでなく、アプリケーションプログラムをも含めた全てのプログラムをＲＯＭからＲＡＭに転送した後、ＲＡＭ上のプログラムを読み出して実行するようにするシステムが望まれるものとなる。
【００１０】
しかし、ＲＯＭからＲＡＭにプログラムを転送するにあたり、プログラムサイズが大きいと転送時間も大きくなってしまう。マルチプロセッサシステムを有する携帯端末においては、ＲＯＭからＲＡＭへのプログラム転送時間が大きくなると、それだけシステム起動時間が遅くなり、携帯端末としての商品性が損なわれる要因となってしまう。
【００１１】
プログラム転送時間を短縮するための一手法として、プログラムを圧縮して転送し、転送された側でこのプログラムを解凍して実行するものを採用することが考えられる。これを実現するためには、プログラムを転送された側に、圧縮プログラムを解凍する回路或いは解凍するプログラムが必要となる。特に、プログラムで解凍する場合には、プログラムを転送される側のプロセッサに、解凍プログラムを搭載する専用のＲＯＭが必要となってしまう。
【００１２】
携帯電話やＰＨＳ端末、或いは、通信機能を有する携帯機器などの携帯端末は、小型・軽量であることが必須の条件となっており、省スペース・省電力を求められるものであるため、部品の追加や回路の追加は、極力避ける事が必要である。
【００１３】
本発明は上述した事情を改善するために成されたものであり、従って、本発明の目的は、複数のプロセッサを有する携帯端末において、特定のプロセッサから他のプロセッサへのプログラム転送時間の短縮化を図ると共に、携帯端末の省電力化と省スペース化を実現することを可能とする、携帯端末及びマルチプロセッサシステム並びにそのプログラム、を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の携帯端末は、複数のプロセッサを備える携帯端末であって、
前記複数のプロセッサの内の特定プロセッサは、特定プロセッサが実行する第１のブートプログラムと第１のメインプログラム及び他のプロセッサが実行する第２のブートプログラムと第２のメインプログラムを格納するメモリとしてＲＯＭ（読み出し専用メモリ）を備え、
前記特定プロセッサ以外の他のプロセッサは、自プロセッサが実行する第２のブートプログラムと第２のメインプログラムを前記特定プロセッサから受信して格納するメモリとしてＲＡＭ（ラム）を備え、
前記携帯端末の起動時に、前記特定プロセッサは前記ＲＯＭに格納されている第２のブートプログラムと第２のメインプログラムを前記ＲＡＭに送信して格納させ、前記他のプロセッサは前記ＲＡＭに格納された第２のブートプログラムと第２のメインプログラムを実行することにより自プロセッサの起動を行う、ことを特徴とする。
【００１５】
また、前記携帯端末の起動時に、前記特定プロセッサは、前記第１のブートプログラムを実行させて前記ＲＯＭに格納されている第２のブートプログラムを前記ＲＡＭに送信して格納させ、前記他のプロセッサは、前記ＲＡＭに格納された前記第２のブートプログラムを実行させることにより、前記特定プロセッサの第１のブートプログラムの実行によって送信される第２のメインプログラムを受信して前記ＲＡＭに格納する、ことを特徴とする。
【００１６】
さらに、前記特定プロセッサの第１のブートプログラムの実行によって送信される前記第２のメインプログラムは、圧縮された形式のプログラムである、ことを特徴とする。
【００１７】
また、前記他のプロセッサは、前記ＲＡＭに格納された前記第２のブートプログラムを実行させることにより、前記特定プロセッサの第１のブートプログラムの実行によって送信される第２のメインプログラムを受信して前記ＲＡＭに格納した後、前記ＲＡＭに格納された圧縮された形式の第２のメインプログラムを解凍して、解凍された形式の第２のメインプログラムを前記ＲＡＭ内の所定の領域に展開する、ことを特徴とする。
【００１８】
さらに、前記他のプロセッサは、解凍された形式の前記第２のメインプログラムを前記ＲＡＭ内の所定の領域に展開した後、該解凍された形式の前記第２のメインプログラムを実行することにより自プロセッサでの処理を開始し、前記特定プロセッサは、前記ＲＯＭ内の第１のメインプログラムを実行することにより自プロセッサでの処理を開始する、ことを特徴とする。
【００１９】
本発明のマルチプロセッサシステムは、複数のプロセッサを備えるマルチプロセッサシステムにおいて、
前記複数のプロセッサの内の特定プロセッサは、特定プロセッサが実行する第１のブートプログラムと第１のメインプログラム及び他のプロセッサが実行する第２のブートプログラムと第２のメインプログラムを格納するメモリとしてＲＯＭを備え、
前記特定プロセッサ以外の他のプロセッサは、自プロセッサが実行する第２のブートプログラムと第２のメインプログラムを前記特定プロセッサから受信して格納するメモリとしてＲＡＭを備え、
前記マルチプロセッサシステムの起動時に、前記特定プロセッサは前記ＲＯＭに格納されている第２のブートプログラムと第２のメインプログラムを前記ＲＡＭに送信して格納させ、前記他のプロセッサは前記ＲＡＭに格納された第２のブートプログラムと第２のメインプログラムを実行することにより自プロセッサの起動を行う、ことを特徴とする。
【００２０】
また、前記マルチプロセッサシステムの起動時に、前記特定プロセッサは、前記第１のブートプログラムを実行させて前記ＲＯＭに格納されている第２のブートプログラムを前記ＲＡＭに送信して格納させ、前記他のプロセッサは、前記ＲＡＭに格納された前記第２のブートプログラムを実行させることにより、前記特定プロセッサの第１のブートプログラムの実行によって送信される第２のメインプログラムを受信して前記ＲＡＭに格納する、ことを特徴とする。
【００２１】
さらに、前記特定プロセッサの第１のブートプログラムの実行によって送信される前記第２のメインプログラムは、圧縮された形式のプログラムである、ことを特徴とする。
【００２２】
また、前記他のプロセッサは、前記ＲＡＭに格納された前記第２のブートプログラムを実行させることにより、前記特定プロセッサの第１のブートプログラムの実行によって送信される第２のメインプログラムを受信して前記ＲＡＭに格納した後、前記ＲＡＭに格納された圧縮された形式の第２のメインプログラムを解凍して、解凍された形式の第２のメインプログラムを前記ＲＡＭ内の所定の領域に展開する、ことを特徴とする。
【００２３】
さらに、前記他のプロセッサは、解凍された形式の前記第２のメインプログラムを前記ＲＡＭ内の所定の領域に展開した後、該解凍された形式の前記第２のメインプログラムを実行することにより自プロセッサでの処理を開始し、前記特定プロセッサは、前記ＲＯＭ内の第１のメインプログラムを実行することにより自プロセッサでの処理を開始する、ことを特徴とする。
【００２４】
本発明のプログラムは、複数のプロセッサを備えるマルチプロセッサシステムの特定プロセッサに、
他のプロセッサが実行するブートプログラムを前記他のプロセッサが備えるＲＡＭに対して送信する処理と、
他のプロセッサが実行する圧縮された形式のメインプログラムを前記他のプロセッサが備える前記ＲＡＭに対して送信する処理、を実行させることを特徴とする。
【００２５】
また、複数のプロセッサを備えるマルチプロセッサシステムの特定プロセッサ以外の他のプロセッサに、
前記特定プロセッサから送信される圧縮された形式のメインプログラムを受信して自プロセッサが備えるＲＡＭに格納する処理と、
前記ＲＡＭに格納された前記圧縮された形式のメインプログラムを解凍して、解凍された形式のメインプログラムを前記ＲＡＭ内の所定の領域に展開する処理、を実行させることを特徴とする。
【発明の効果】
【００２６】
本発明の携帯端末は、複数のプロセッサを有するシステムにおいて、特定のプロセッサに付随するＲＯＭだけに、システムの全てのプログラムを格納しておくようにしている。そして、システムの起動時に、特定のプロセッサに付随するＲＯＭ内のプログラムを、他のプロセッサに付随するＲＡＭに転送するようになっている。従って、他のプロセッサ側には自プロセッサ専用のＲＯＭを設ける必要が無く、システムの省電力化と省スペース化を実現することが可能となる。
【発明を実施するための最良の形態】
【００２７】
次に、本発明の実施の形態について図面を参照して説明する。
【００２８】
図１は、本発明のマルチプロセッサシステムの一実施形態を示すブロック図である。
【００２９】
図１に示すマルチプロセッサシステム１００は、プロセッサＡ１０１とプロセッサＢ１０４の２つのプロセッサから構成されている。プロセッサＡ１０１とプロセッサＢ１０４は、プロセッサ間インターフェース回路１０７で接続されており、相互にデータの送受が可能となっている。
【００３０】
プロセッサＡ１０１には、システムへの電源供給が停止してもデータを保持することが可能なメモリであるところのＲＯＭ１０２と、システムへの電源供給が停止した際にはデータが消去されてしまうメモリであるところのＲＡＭ＿Ａ１０３が接続されている。ＲＯＭ１０２とＲＡＭ＿Ａ１０３は、プロセッサＡ１０１によりデータの書き込み／読み出しが可能である。
【００３１】
プロセッサＢ１０４には、システムへの電源供給が停止した際にはデータが消去されてしまうメモリであるところのＲＡＭ＿Ｂ１０５が接続されている。ＲＡＭ＿Ｂ１０５は、プロセッサＢ１０４によりデータの書き込み／読み出しが可能である。又、プロセッサＢ１０４側にはメモリ書き込み制御回路１０６が備えられており、メモリ書き込み制御回路１０６の制御により、プロセッサ間インターフェース回路１０７経由でプロセッサＡ１０１から送られてくるデータをＲＡＭ＿Ｂ１０５へ書き込むことが可能となっている。メモリ書き込み制御回路１０６は、プロセッサＢ１０４が停止状態であっても、ＲＡＭ＿Ｂ１０５へのデータの書き込みを制御可能に構成されている。
【００３２】
また、プロセッサＢ１０４には、プロセッサＡ１０１からのリセット制御を受け付ける端子であるところのＲＥＳＥＴが設けられている。
【００３３】
なお、図１に示すマルチプロセッサシステム１００において、プロセッサＡ１０１が実行するプログラムは、ＲＯＭ１０２に格納されているものとする。また、プロセッサＢ１０４が実行するプログラムは、当初ＲＯＭ１０２に格納されており、システムの起動時に、ＲＯＭ１０２からＲＡＭ＿Ｂ１０５に転送される。そして、プロセッサＢ１０４は、ＲＡＭ＿Ｂ１０５上のプログラムで動作するようになっている。
【００３４】
次に、図２を参照して、ＲＯＭ１０２に格納されているプログラムについて説明する。
【００３５】
図２は、図１のマルチプロセッサシステムのプログラム格納状態の一例を示す図である。
【００３６】
図２において、ＲＯＭ１０２には、プロセッサＡ１０１が実行するプログラムであるところのメインプログラムＡと、プロセッサＡ１０１のブートストラップ（ｂｏｏｔｓｔｒａｐ：起動）処理を行うＢＯＯＴプログラムＡが格納されている。各プログラムのＲＯＭ１０２内への格納アドレスは何れでもよいが、通常、ブートストラップ処理は、プロセッサのリセットが解除された際に「０番地」からスタートするようになっている場合が多いため、図２におけるＢＯＯＴプログラムＡは、アドレス「００００ｈ」番地から格納するようにしている。なお、アドレスの添え字「ｈ」は、該アドレスが１６進数であることを示すものである。
【００３７】
また、ＲＯＭ１０２には、プロセッサＢ１０４が実行するメインプログラムＢを圧縮したものが格納されている。メインプログラムＢを圧縮したものを、図２においては、メインプログラムＢ（圧縮）と表記している。さらに、プロセッサＢ１０４のブートストラップ処理を行うＢＯＯＴプログラムＢが格納されている。
【００３８】
ＢＯＯＴプログラムＡは、ＢＯＯＴプログラムＢとメインプログラムＢ（圧縮）をプロセッサＢ１０４側に送信する機能を備えている。また、ＢＯＯＴプログラムＢは、プロセッサＢ１０４側に送信された後、メインプログラムＢ（圧縮）を受信すると共に、メインプログラムＢ（圧縮）を解凍して、ＲＡＭ＿Ｂ１０５へ展開する機能を備えている。
【００３９】
次に、図３、図４を参照して、図１に示した本実施形態の動作について説明する。
【００４０】
図３、図４は、それぞれ、図１の実施形態の動作を説明する第１の図、第２の図である。
【００４１】
図１に示すマルチプロセッサシステム１００において、電源供給開始又はリセットが解除される。すると、図３の状態１に示すように、プロセッサＡ１０１はＢＯＯＴプログラムＡを実行する（ステップＳ１１）。ＢＯＯＴプログラムＡは、ＲＯＭ１０２に格納されているＢＯＯＴプログラムＢを、プロセッサ間インターフェース回路１０７経由でプロセッサＢ１０４側に転送する（ステップＳ１２）。このとき、メモリ書き込み制御回路１０６の制御により、プロセッサ間インターフェース回路１０７経由で転送されるＢＯＯＴプログラムＢは、ＲＡＭ＿Ｂ１０５の「００００ｈ」番地以降に書き込まれる。ＲＡＭ＿Ｂ１０５の「００００ｈ」番地は、プロセッサＢ１０４がリセット解除後に実行するアドレスとなっている。
【００４２】
プロセッサＡ１０１は、ＲＡＭ＿Ｂ１０５へＢＯＯＴプログラムＢを転送した後、端子ＲＥＳＥＴを制御してプロセッサＢ１０４のリセットを解除する（ステップＳ１３）。
【００４３】
次に、図３の状態２に示すように、プロセッサＡ１０１のＢＯＯＴプログラムＡは、ＲＯＭ１０２に格納されているメインプログラムＢ（圧縮）を、プロセッサ間インターフェース回路１０７経由でプロセッサＢ１０４側へ転送する（ステップＳ２１）。このとき、リセットが解除されているプロセッサＢ１０４はＢＯＯＴプログラムＢを実行し（ステップＳ２２）、ＢＯＯＴプログラムＢはメインプログラムＢ（圧縮）を受信してＲＡＭ＿Ｂ１０５へ書き込む。ここで、メインプログラムＢ（圧縮）の転送は完了する（ステップＳ２３）。
【００４４】
メインプログラムＢ（圧縮）をＲＡＭ＿Ｂ１０５に格納したプロセッサＢ１０４のＢＯＯＴプログラムＢは、図４の状態３に示すように、ＲＡＭ＿Ｂ１０５上のメインプログラムＢ（圧縮）を解凍しながらＲＡＭ＿Ｂ１０５の所定の領域へ書き込む（ステップＳ３１）。ここで、メインプログラムＢ（圧縮）の解凍とＲＡＭ＿Ｂ１０５の所定の領域への転送は完了する（ステップＳ３２）。
【００４５】
プロセッサＢ１０４側のメインプログラムＢの解凍完了の後、図４の状態４に示すように、プロセッサＡ１０１はＲＯＭ１０２上のメインプログラムＡを実行し（ステップＳ４１）、プロセッサＢ１０４はＲＡＭ＿Ｂ１０５上のメインプログラムＢを実行する（ステップＳ４２）。このことにより、図１に示すマルチプロセッサシステム１００は、プロセッサＡ１０１とプロセッサＢ１０４が共に動作可能となり、マルチプロセッサシステムとしての所定の機能を実行出来るようになる。
【００４６】
なお、上述の実施形態においては、プロセッサを２つ備えるマルチプロセッサシステムとして説明した。しかしながら、更に多くの複数のプロセッサを備えるシステムとして容易に拡張可能となっている。例えば、上述の実施形態のプロセッサＢ（ＲＡＭ＿Ｂ、メモリ書き込み制御回路を含む）側の構成を、そのままプロセッサ間インターフェース回路を介して複数接続する事により、３つ以上のプロセッサを備えるマルチプロセッサシステムを構築可能となる。
【実施例】
【００４７】
次に、図１に示したマルチプロセッサシステム１００を、携帯端末に適用した実施例について説明する。
【００４８】
図５は、２つのプロセッサを有する携帯端末の実施例を示すブロック図である。
【００４９】
図５に示す携帯端末２００は、アプリケーション機能を有するアプリケーション部２０１と通信機能を有する通信部２１１に大別されている。
【００５０】
アプリケーション部２０１は、アプリケーション機能を司るＣＰＵであるところのアプリケーションプロセッサ２０２と、Ｆｌａｓｈ＿ＲＯＭ２０３と、ＳＤＲＡＭ＿Ａ２０４と、Ｐｅｒｉｐｈｅｒａｌ回路２０５とが、相互にバス接続或いは信号線接続されて構成されている。また、通信部２１１は、通信機能を司るＣＰＵであるところの通信プロセッサ２１２と、ＳＤＲＡＭ＿Ｂ２１３と、通信系回路２１４と、ＢＯＯＴ回路２１５と、ＤＭＡ回路２１６とが、相互にバス接続或いは信号線接続されて構成されている。
【００５１】
先ず、アプリケーション部２０１の構成要素について説明する。
【００５２】
アプリケーションプロセッサ２０２は、アプリケーション機能を司るＣＰＵにより構成されている。そして、アプリケーションプロセッサ２０２は、Ｆｌａｓｈ＿ＲＯＭ２０３と、ＳＤＲＡＭ＿Ａ２０４と、Ｐｅｒｉｐｈｅｒａｌ回路２０５とを制御するよう動作する。
【００５３】
Ｆｌａｓｈ＿ＲＯＭ２０３は、携帯端末２００への電源供給が停止してもデータを保持することが可能なメモリであるところのフラッシュＲＯＭにより構成されている。
【００５４】
ＳＤＲＡＭ＿Ａ２０４は、携帯端末２００への電源供給が停止した際にはデータが消去されてしまうメモリであるところのＳＤＲＡＭにより構成されている。
【００５５】
Ｐｅｒｉｐｈｅｒａｌ回路２０５は、携帯端末２００の、図示していないタイマーや、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶ディスプレイ）などで構成される表示部や、キーボードなどからなる操作部などの、周辺機器の制御を行う回路であり、周辺機器の制御を通してアプリケーション機能を実現するものである。
【００５６】
次に、通信部２１１の構成要素について説明する。
【００５７】
通信プロセッサ２１２は、通信機能を司るＣＰＵにより構成されている。
【００５８】
ＳＤＲＡＭ＿Ｂ２１３は、携帯端末２００への電源供給が停止した際にはデータが消去されてしまうメモリであるところのＳＤＲＡＭにより構成されている。
【００５９】
通信系回路２１４は、通信機能を実現する回路である。
【００６０】
ＢＯＯＴ回路２１５は、携帯端末２００のリセット解除時に、通信プロセッサ２１２のブートストラップ処理の開始を制御する回路であり、アプリケーション部２０１側から転送されるプログラムなどの受信制御を行うものである。
【００６１】
ＤＭＡ回路２１６は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ：ダイレクトメモリアクセス）方式でデータ転送を行う回路であり、特定のメモリ空間から他のメモリ空間へ直接、データを転送させる回路である。
【００６２】
図５に示す携帯端末２００は、更に、アプリケーション部２０１と通信部２１１が共有する回路として、プロセッサ間Ｉ／Ｆ回路２２２とＲＥＳＥＴ回路２２１とを備えている。
【００６３】
プロセッサ間Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）回路２２２は、アプリケーションプロセッサ２０２と通信プロセッサ２１２の双方にバス接続されており、プロセッサ間Ｉ／Ｆ回路２２２を通して、アプリケーションプロセッサ２０２と通信プロセッサ２１２が相互にデータを転送することが可能となっている。
【００６４】
ＲＥＳＥＴ回路２２１は、携帯端末２００へのリセットが発生した時、アプリケーションプロセッサ２０２と通信プロセッサ２１２の双方をリセットする回路である。なお、通信プロセッサ２１２には、ＲＥＳＥＴ回路２２１からのリセット制御を受け付ける端子であるところのＲＥＳＥＴが設けられている。
【００６５】
なお、図５に示す携帯端末２００において、アプリケーションプロセッサ２０２が実行するプログラムは、Ｆｌａｓｈ＿ＲＯＭ２０３に格納されているものとする。また、通信プロセッサ２１２が実行するプログラムは、当初Ｆｌａｓｈ＿ＲＯＭ２０３に格納されており、携帯端末２００の起動時に、Ｆｌａｓｈ＿ＲＯＭ２０３からＳＤＲＡＭ＿Ｂ２１３に転送される。そして、通信プロセッサ２１２は、ＳＤＲＡＭ＿Ｂ２１３上のプログラムで動作するようになっている。
【００６６】
次に、図６を参照して、Ｆｌａｓｈ＿ＲＯＭ２０３に格納されているプログラムについて説明する。
【００６７】
図６は、図５の携帯端末のプログラム格納状態の一例を示す図である。なお、図６におけるプログラムの名称は、図２のプログラム名称と同一にしてある。すなわち、アプリケーションプロセッサ２０２のブートプログラムをＢＯＯＴプログラムＡとし、メインプログラムをメインプログラムＡと称している。また、通信プロセッサ２１２のブートプログラムをＢＯＯＴプログラムＢとし、メインプログラムをメインプログラムＢと称している。
【００６８】
図６において、Ｆｌａｓｈ＿ＲＯＭ２０３には、アプリケーションプロセッサ２０２が実行するプログラムであるところのメインプログラムＡと、アプリケーションプロセッサ２０２のブートストラップ処理を行うＢＯＯＴプログラムＡが格納されている。なお、図６におけるＢＯＯＴプログラムＡは、アドレス「００００ｈ」番地から格納するようにしている。
【００６９】
また、Ｆｌａｓｈ＿ＲＯＭ２０３には、通信プロセッサ２１２が実行するメインプログラムＢを圧縮したものが格納されている。メインプログラムＢを圧縮したものを、図６においては、メインプログラムＢ（圧縮）と表記している。さらに、通信プロセッサ２１２のブートストラップ処理を行うＢＯＯＴプログラムＢが格納されている。
【００７０】
ＢＯＯＴプログラムＡは、ＢＯＯＴプログラムＢとメインプログラムＢ（圧縮）を通信プロセッサ２１２側に送信する機能を備えている。また、ＢＯＯＴプログラムＢは、通信プロセッサ２１２側に送信された後、メインプログラムＢ（圧縮）を受信すると共に、メインプログラムＢ（圧縮）を解凍して、ＳＤＲＡＭ＿Ｂ２１３へ展開する機能を備えている。
【００７１】
次に、図７、図８を参照して、図５に示した携帯端末２００の動作について説明する。
【００７２】
図７、図８は、それぞれ、図５の携帯端末の動作を説明する第１の図、第２の図である。
【００７３】
図５に示す携帯端末２００において、電源供給開始又はリセットが解除される。するとＲＥＳＥＴ回路２２１がリセット解除を検出し、アプリケーションプロセッサ２０２とＢＯＯＴ回路２１５のリセットを解除する。
【００７４】
リセットが解除されたアプリケーションプロセッサ２０２は、図７の状態５に示すように、Ｆｌａｓｈ＿ＲＯＭ２０３上のＢＯＯＴプログラムＡを実行する（ステップＳ５１）。ＢＯＯＴプログラムＡは、Ｆｌａｓｈ＿ＲＯＭ２０３に格納されているＢＯＯＴプログラムＢを、プロセッサ間Ｉ／Ｆ回路２２２経由で通信部２１１側に転送する処理を開始する（ステップＳ５２）。
【００７５】
一方、リセットが解除されたＢＯＯＴ回路２１５は、ＤＭＡ回路２１６へ指示を出し、プロセッサ間Ｉ／Ｆ回路２２２経由で転送されてくるＢＯＯＴプログラムＢを、通信プロセッサ２１２がリセット解除後に実行するＳＤＲＡＭ＿Ｂ２１３のアドレス（図７では「００００ｈ」番地から）へ転送する設定を行なう。
【００７６】
このことにより、アプリケーションプロセッサ２０２から転送されるＢＯＯＴプログラムＢは、ＤＭＡ回路２１６によりＳＤＲＡＭ＿Ｂ２１３へ書き込まれる。
【００７７】
アプリケーションプロセッサ２０２は、ＳＤＲＡＭ＿Ｂ２１３へＢＯＯＴプログラムＢを転送した後、端子ＲＥＳＥＴを制御して通信プロセッサ２１２のリセットを解除する（ステップＳ５３）。
【００７８】
次に、図７の状態６に示すように、アプリケーションプロセッサ２０２のＢＯＯＴプログラムＡは、Ｆｌａｓｈ＿ＲＯＭ２０３に格納されているメインプログラムＢ（圧縮）を、プロセッサ間Ｉ／Ｆ回路２２２経由で通信プロセッサ２１２側へ転送する（ステップＳ６１）。このとき、リセットが解除されている通信プロセッサ２１２はＢＯＯＴプログラムＢを実行し（ステップＳ６２）、ＢＯＯＴプログラムＢはメインプログラムＢ（圧縮）を受信してＳＤＲＡＭ＿Ｂ２１３へ書き込む。ここで、メインプログラムＢ（圧縮）の転送は完了する（ステップＳ６３）。
【００７９】
メインプログラムＢ（圧縮）をＳＤＲＡＭ＿Ｂ２１３に格納した通信プロセッサ２１２のＢＯＯＴプログラムＢは、図８の状態７に示すように、ＳＤＲＡＭ＿Ｂ２１３上のメインプログラムＢ（圧縮）を解凍しながらＳＤＲＡＭ＿Ｂ２１３の所定の領域へ書き込む（ステップＳ７１）。ここで、メインプログラムＢ（圧縮）の解凍とＳＤＲＡＭ＿Ｂ２１３の所定の領域への転送は完了する（ステップＳ７２）。
【００８０】
通信プロセッサ２１２側のメインプログラムＢの解凍完了の後、図８の状態８に示すように、アプリケーションプロセッサ２０２はＦｌａｓｈ＿ＲＯＭ２０３上のメインプログラムＡを実行し（ステップＳ８１）、通信プロセッサ２１２はＳＤＲＡＭ＿Ｂ２１３上のメインプログラムＢを実行する（ステップＳ８２）。このことにより、図５に示す携帯端末２００は、アプリケーションプロセッサ２０２と通信プロセッサ２１２が共に動作可能となり、マルチプロセッサを備える携帯端末としての所定の機能を実行出来るようになる。
【００８１】
以上説明したように、本実施形態のマルチプロセッサシステム或いは実施例として記述した携帯端末は、複数のプロセッサを有するシステムにおいて、特定のプロセッサに付随するＲＯＭだけに、システムの全てのプログラムを格納しておくようにしている。そして、システムの起動時に、特定のプロセッサに付随するＲＯＭ内のプログラムを、他のプロセッサに付随するＲＡＭに転送するようになっている。従って、他のプロセッサ側には自プロセッサ専用のＲＯＭを設ける必要が無く、システムの省電力化と省スペース化を実現可能となる。
【００８２】
また、ＲＯＭ内のプログラムは圧縮されたプログラムであり、圧縮されたプログラムを他のプロセッサに転送するようになっている。圧縮されたプログラムを転送するものであるため、特定のプロセッサから他のプロセッサへのプログラム転送時間の短縮化を図ることが可能となる。
【００８３】
さらに、他のプロセッサに転送された圧縮プログラムの解凍は、特定のプロセッサに付随するＲＯＭから転送された解凍プログラム（上述の実施形態或いは実施例においては、ブートプログラムが解凍機能を備えているものとして説明した。）で行うようになっている。従って、他のプロセッサ側には、解凍回路或いは解凍プログラムを搭載するＲＯＭなどを設ける必要が無く、システムの省電力化と省スペース化を実現することが可能となると共に、システムコストの増大を招かずにシステム構築を行うことが可能となる。
【図面の簡単な説明】
【００８４】
【図１】本発明のマルチプロセッサシステムの一実施形態を示すブロック図である。
【図２】図１のマルチプロセッサシステムのプログラム格納状態の一例を示す図である。
【図３】図１の実施形態の動作を説明する第１の図である。
【図４】図１の実施形態の動作を説明する第２の図である。
【図５】２つのプロセッサを有する携帯端末の実施例を示すブロック図である。
【図６】図５の携帯端末のプログラム格納状態の一例を示す図である。
【図７】図５の携帯端末の動作を説明する第１の図である。
【図８】図５の携帯端末の動作を説明する第２の図である。
【符号の説明】
【００８５】
１００    マルチプロセッサシステム
１０１    プロセッサＡ
１０２    ＲＯＭ
１０３    ＲＡＭ＿Ａ
１０４    プロセッサＢ
１０５    ＲＡＭ＿Ｂ
１０６    メモリ書き込み制御回路
１０７    プロセッサ間インターフェース回路
２００    携帯端末
２０１    アプリケーション部
２０２    アプリケーションプロセッサ
２０３    Ｆｌａｓｈ＿ＲＯＭ
２０４    ＳＤＲＡＭ＿Ａ
２１１    通信部
２１２    通信プロセッサ
２１３    ＳＤＲＡＭ＿Ｂ
２１４    通信系回路
２１５    ＢＯＯＴ回路
２１６    ＤＭＡ回路
２２１    ＲＥＳＥＴ回路
２２２    プロセッサ間Ｉ／Ｆ回路
【図１】
2006202200.tif 000003
【図２】
2006202200.tif 000004
【図３】
2006202200.tif 000005
【図４】
2006202200.tif 000006
【図５】
2006202200.tif 000007
【図６】
2006202200.tif 000008
【図７】
2006202200.tif 000009
【図８】
2006202200.tif 000010