JP5458574B2 - マルチプロセッサシステム、マルチプロセッサシステムを使用した携帯端末 - Google Patents

マルチプロセッサシステム、マルチプロセッサシステムを使用した携帯端末 Download PDF

Info

Publication number
JP5458574B2
JP5458574B2 JP2008522507A JP2008522507A JP5458574B2 JP 5458574 B2 JP5458574 B2 JP 5458574B2 JP 2008522507 A JP2008522507 A JP 2008522507A JP 2008522507 A JP2008522507 A JP 2008522507A JP 5458574 B2 JP5458574 B2 JP 5458574B2
Authority
JP
Japan
Prior art keywords
processor
memory
program
mode
transfer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008522507A
Other languages
English (en)
Other versions
JPWO2008001671A1 (ja
Inventor
昌幸 串田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008522507A priority Critical patent/JP5458574B2/ja
Publication of JPWO2008001671A1 publication Critical patent/JPWO2008001671A1/ja
Application granted granted Critical
Publication of JP5458574B2 publication Critical patent/JP5458574B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Description

本発明は、マルチプロセッサを搭載した携帯端末に関し、特に特定のプロセッサから他のプロセッサへプログラムを転送して起動するように構成されるマルチプロセッサシステムにおける起動時間の高速化に関する。
携帯電話機、携帯情報端末などの携帯端末は、サービス機能の拡大、高速化の要求にしたがって、複数プロセッサを使用するマルチプロセッサシステムで実現する場合が多くなると考えられる。
特定のプロセッサから他のプロセッサへプログラムを転送して起動するように構成されるマルチプロセッサシステムは、他のプロセッサ用のプログラムも含め、格納するメモリを集約することにより、メモリチップ数を低減でき、システムの小型化にも有利である(特許文献1)。
しかし、このようなシステムでは、起動時に特定のプロセッサから他のプロセッサへプログラムを転送する必要があるため、その分の処理時間が増え、システム起動時間としては不利な面がある。この点の改善方法として、転送するプログラムを圧縮して格納しておき、圧縮プログラムを転送することによって転送時間を低減し、これに起動時間を短縮する方法が考えられる。圧縮プログラムを格納することにすれば、必要メモリ容量の削減、メモリコストの削減が可能である。
しかしながら、圧縮プログラムを転送に用いるマルチプロセッサシステムでも、
そのプログラムの内容の全体を転送するため起動時間の増加低減には制約がある。
なお、マルチシステムに関連する従来技術として、特許文献1のほかに特許文献2が知られている。
特開平5−242057号公報 特開平11−184831号公報
本願発明者は、マルチプロセッサシステムにおいて、起動時に、必ずしもプログラムの全体を特定のプロセッサから他のプロセッサ転送する必要はないことに着目し、本発明をするに至った。
本発明の目的は、起動モードによって起動時間を短縮できるマルチプロセッサシステム、転送方法及び携帯端末を提供することである。
本発明によれば、少なくとも第1のプロセッサと第2のプロセッサとを含むマルチプロセッサシステムであって、第1のプロセッサが実行する第1のプログラムと第2のプロセッサが実行する第2のプログラムを格納する読み出し専用メモリと、前記第2のプログラムが展開されて格納されるランダムアクセスメモリとを含み、マルチプロセッサシステムの起動時に、前記第1のプロセッサは指定された起動モードにしたがって、前記第2のプログラムのうち前記起動モードに関係して必要な前記第2のプログラムの部分を選択して前記ランダムアクセスメモリに展開することを特徴とするマルチプロセッサシステムが得られる。
読出し専用メモリに、第2のプログラムが分割された分割部分と、各分割部分に関する情報サイズ及び各分割部分と起動モードに関する情報を含むヘッダが格納されている。
望ましくは、前記プログラムの分割部分は、圧縮及び/又は暗号化されて格納される。
本発明の1実施形態によれば、前記第1のプロセッサがアクセスする第1のプロセッサ用のランダムアクセスメモリを有する。また、前記第2のプログラムが展開されて格納されるランダムアクセスメモリは、前記第2のプロセッサがアクセスする第2のプロセッサ用のランダムアクセスメモリである。
本発明の別の実施形態によれば、前記ランダムアクセスメモリは、前記第1のプロセッサ及び第2のプロセッサがアクセス可能に接続され、前記第1のプロセッサのメモリ使用領域と、前記第2のプロセッサのメモリ使用領域と、前記第1のプロセッサと前記第2のプロセッサのメモリ共有使用領域とを有する。
その実施の形態において前記第2のプロセッサのメモリ使用領域への展開完了後、前記展開したプログラムの妥当性が確認できるまで前記第2のプロセッサをリセットさせたままとする。
また、実施形態の特徴として、前記第2のプロセッサのメモリ使用領域への展開完了後、又は前記展開したプログラムの妥当性確認後、前記第2のプロセッサのメモリ使用領域に対し前記第1のプロセッサからのアクセス禁止の設定ができる。
本発明によれば、また、上記マルチプロセッサシステムを使用した携帯端末が得られる。
さらに、本発明によれば、第1のプロセッサと、第2のプロセッサと、第1のプロセッサが実行する第1のプログラムと第2のプロセッサが実行する第2のプログラムを格納する読み出し専用メモリと、第2のプログラムが展開されて格納されるランダムアクセスメモリとを含むマルチプロセッサシステムにおける転送方法であって、マルチプロセッサシステムの起動時に、前記第1のプロセッサは指定された起動モードにしたがって、前記第2のプログラムのうち前記起動モードに関係して必要な前記第2のプログラムの部分を選択して前記ランダムアクセスメモリに転送することを特徴とするマルチプロセッサシステムにおける転送方法が得られる。
前記第1のプロセッサは、前記転送に先立って第2のプロセッサ用のブートローダの妥当性を判断して前記ブートローダの転送をする工程と、前記第2のプロセッサをコードダウンロードモードに設定してリセット起動する工程と、起動モードを判定しそれに応じた第2のプログラムの対応部分を転送する工程と、前記転送したプログラム部分の妥当性を前記第2のプロセッサに問合せて確認する工程と、確認後に前記第2のプロセッサを通常動作モードに設定してリセット起動する工程とを含む。
本発明の1実施形態によれば、前記第1のプロセッサがアクセスする第1のプロセッサ用のランダムアクセスメモリを有する。また、前記第2のプログラムが展開されて格納されるランダムアクセスメモリは、前記第2のプロセッサがアクセスする第2のプロセッサ用のランダムアクセスメモリである。
別の実施形態では、前記ランダムアクセスメモリは、前記第1のプロセッサ及び第2のプロセッサがアクセス可能に接続され、前記第1のプロセッサのメモリ使用領域と、前記第2のプロセッサのメモリ使用領域と、前記第1のプロセッサと前記第2のプロセッサのメモリ共有使用領域とを有する。
さらに、1実施形態では、本発明のマルチプロセッサにおける転送方法は、前記起動モードを判定処理する工程と、前記起動モードに応じて前記第2のプログラムから前記起動モードに対応するプログラム部分を前記第2のプロセッサのメモリ使用領域に展開処理する工程と、展開したプログラム部分の妥当性をチェックする工程と、前記第2のプロセッサメモリ使用領域に対して前記第1のプロセッサからのアクセスガードを設定する工程と、前記第2のプロセッサのリセットを解除して前記第2のプロセッサを通常動作させ前記モードを起動させる工程とを含む。
また、本発明によれば、第1のプロセッサと、第2のプロセッサと、第1のプロセッサが実行する第1のプログラムと第2のプロセッサが実行する第2のプログラムを格納する読み出し専用メモリと、第2のプログラムが展開されて格納されるランダムアクセスメモリとを含むマルチプロセッサシステムに使用するプログラムであって、マルチプロセッサシステムの起動時に、前記第1のプロセッサが指定された起動モードにしたがって、前記第2のプログラムのうち前記起動モードに関係して必要な前記第2のプログラムの部分を選択して前記ランダムアクセスメモリに転送するステップを含むことを特徴とするマルチプロセッサシステムに使用するプログラムが得られる。
1実施形態によれば、プログラムは、前記第1のプロセッサが、前記転送に先立ってブートローダの妥当性を判断して前記ブートローダの転送をするステップと、前記第2のプロセッサをコードダウンロードモードに設定してリセット起動するステップと、起動モードを判定しそれに応じた第2のプログラムの対応部分を転送するステップと、前記転送したプログラム部分の妥当性を前記第2のプロセッサに問合せて確認するステップと、確認後に前記第2のプロセッサを通常動作モードに設定してリセット起動するステップを含む。
実施形態の1つによれば、前記ランダムアクセスメモリは、前記第1のプロセッサ及び第2のプロセッサがアクセス可能に接続され、前記第1のプロセッサのメモリ使用領域と、前記第2のプロセッサのメモリ使用領域と、前記第1のプロセッサと前記第2のプロセッサのメモリ共有使用領域とを有する。
この実施形態におけるプログラムは、前記起動モードを判定処理するステップと、前記起動モードに応じて前記第2のプログラムから前記起動モードに対応するプログラム部分を前記第2のプロセッサのメモリ使用領域に展開処理するステップと、展開したプログラム部分の妥当性をチェックするステップと、前記第2のプロセッサメモリ使用領域に対して前記第1のプロセッサからのアクセスガードを設定するステップと、前記第2のプロセッサのリセットを解除して前記第2のプロセッサを通常動作させ前記モードを起動させるステップを含む。
本発明によれば、モード毎の起動時間を短縮できる。
次に、本発明の実施の形態について図面を参照して説明する。
(実施例1)
図1に本発明の第1の実施例としてのマルチプロセッサシステム100のブロック図を示す。図1において、マルチプロセッサシステムは、プロセッサA(転送元プロセッサ)101からプロセッサB(転送先プロセッサ)104へプログラムを転送するシステム構成となっている。
図1において、システム100は、プロセッサA101、プロセッサA101にバス接続されたROM(Read Only Memory)102及びRAM (Random Access Memory )_A103を含む。さらに、システムは、プロセッサB104に付随してRAM_B105を有する。システムは、プロセッサA101とプロセッサB104とのインターフェースとしてプロセッサ間インターフェース回路107、プロセッサAの制御の下にプロセッサ間インターフェース回路経由でプロセッサAから転送されるプログラムをRAM_B105に書き込むメモリ書き込み制御回路106を含んでいる。
プロセッサA101とプロセッサB104のプログラムは、共にROM102に格納されている。ROM102は物理的に1つである必要はなく、プロセッサB104のプログラムも併せて格納し、プロセッサA101のメモリバスに接続されていればよい。RAM_A103は、プロセッサA101の作業用メモリで、ROM102が接続されるメモリバスとは別の高速メモリバスに接続される場合もある。RAM_B105は、プロセッサB104のプログラム展開先としておよび作業用メモリとして使用される。
プロセッサ間インターフェース回路107は、プロセッサ101,104間のデータ通信を行うための回路で、起動時は最初に、プロセッサA101の信号制御により、プロセッサA101からの転送データ(ブートローダ(Boo LoaderのCode))をメモリ書込み制御回路106に転送する。メモリ書込み制御回路106は、前記転送データをRAM_B105に書込む。
前記テータの転送が行われる期間、プロセッサB104は、プロセッサA101の信号制御によりリセットされたままである。Boot Loaderのコード(Code)転送完了後、プロセッサA101の制御により、プロセッサB104はRAM_B105に書込まれたBoot Loaderの実行を開始し、以後のプロセッサB104用プログラムのプロセッサA101からの受信、RAM_B105への展開処理は、Boot Loaderに基づいて行われる。
プロセッサB104用プログラムは圧縮暗号化されたままの形でプロセッサA101から転送してもよく、この場合、Boot Loader内にRAM_B105の所定のプログラム領域に展開する前に、前記圧縮暗号化された前記プログラムの復号化の処理を行う。プロセッサB104用プログラム本体の転送が完了すると、プロセッサA101の制御により、プロセッサB104は、RAM_B105に書込まれたプログラムの実行を開始する。
図2には、ROM102内のある領域にプロセッサB104用プログラムが分割格納される形態を図示している。各分割はプログラムの分割されたコードの外にその内部にヘッダを持ち、各ヘッダ内には対応する分割のサイズ情報や起動モード毎にその転送が必要か否かを示す情報が格納される。尚、分割毎に圧縮や暗号化を施してROM102に格納することも可能であるが、ヘッダ部はプロセッサA101が直接読んで解釈できる形式とする。また、ヘッダ部はプロセッサB104への転送対象外とする。図2では、各分割が物理的に連続している状態を示している。
分割されるコードはファイルシステムを介して分割毎にファイルとして扱っても良く、必ずしも各分割が物理的に連続している必要はない。
図3にも、図2と同様に、ROM102内のある領域にプロセッサB104用プログラムが区分けされて格納される形態を図示している。但し、図3では、区分けされた各領域が物理的に連続してつながっているが、各領域の境界が可変であることを想定している。起動モードによって転送不要となるプログラムを後ろの方(図示上は上の方)に配置し、先頭から連続領域で必要なプログラム分をDMA(Direct Memory Access)方式を使って転送可能とすることを考慮した格納形態である。必ず存在する領域(どの起動モードでも転送が必要な領域)内の固定アドレスに、図2のそれと同様の情報を持たせたヘッダを各領域に対応させ、まとめて格納する。固定アドレスにヘッダを格納することにより、プロセッサA101が直接読んで解釈可能な構成とする。連続領域のDMA転送を用いる場合は、ヘッダ部も転送対象となる。尚、ヘッダ部をプロセッサB104用プログラム領域の先頭に配置させることにより、ヘッダ部以外のプログラム本体を領域毎に圧縮や暗号化して格納する構成も可能である。その場合、ヘッダ部は転送対象としなくて良い。また、ヘッダに格納されるサイズ情報は、圧縮や暗号化された後の各領域のサイズとなる。なお、図2と図3に図示はしていないが、プロセッサB104のBoot Loaderは、ROM102内に別に格納されている。
次に図4のシーケンスチャートと図5のフローチャートを用いて、プロセッサA101からプロセッサB104へプログラム転送する際の動作について説明する。
図4は、例えば図2のようにROM102に格納されたプロセッサB104用のプログラムをプロセッサA101からプロセッサB104へ転送する手順について、(a)通常モードと(b)特殊モードに分けて図示したシーケンスチャートである。ここで、通常モードとは、プログラムコード全体が持つフルの機能を使用可能なモードを指し、特殊モードとは、一部の機能のみ使用可能なモード、もしくは一部の機能を使用不可に制限したモードを指す。この例では、起動モードが通常モードの場合、即ち、通常モードの起動では各分割コードの全部の転送が必要、起動モードが特殊モードの場合、即ち、特殊モードの起動では分割1と2のみの転送が必要と想定している。
図4に示すシークエンスにおいて、分割コードの転送は、プロセッサA101がROM102に格納されたプロセッサB104用プログラムにアクセスし、その分割ごとに、プロセッサB104に転送を要するか否かを判定する。その前提として、通常モードでの起動の指示があるか、特殊モードでの起動の指示があるかを判定する。
通常モードの起動が指示されている場合には、図4(a)に示すように、プロセッサB104用プログラムである分割コードのすべてについて転送する。その場合、分割のすべてについて、ヘッダを参照しながら、特殊モードではないので、分割毎にプロセッサB104に対し転送とプロセッサBからの応答を受け、次の分割コードの転送と応答の受信を行う。このようにして、分割コード1から分割コードNまで、すべての分割が転送される。
特殊モードの場合には、分割の各々のヘッダを調べ、そのヘッダに、特殊モードについて転送が要になっているか否かを判断し、要となっている分割のコードのみをプロセッサBに転送する。プロセッサBから転送の受信の応答があると、次の分割コードについて同じような判断をして転送要の場合には、その分割コードを転送し、プロセッサBからの応答を受ける。図4(b)は、分割コード1と分割コード2だけが転送を必要としていた場合のシークエンスである。
図4(a)及び(b)を引き続き参照すると、通常モードの場合にも特殊モードの場合にも、必要な分割の転送を完了し、プロセッサB104からの応答を確認したら、プロセッサA101から転送完了通知と妥当性確認要求を送信する。それを受けたプロセッサB104は、RAM_B105に展開したプログラムの妥当性チェック(チェックサム確認、改竄検出など)を行い、結果をプロセッサA101に返す。受け取った妥当性チェックの結果が問題なければ、プロセッサA101はプロセッサB104を制御し、RAM_B105に展開したプログラムの実行をスタートさせる。即ち、プロセッサB104の動作として、プロセッサA101から送られるプログラムコードを受け取ってRAM_B105へ展開するフェーズとRAM_B105へ展開したプログラムを実行するフェーズに分かれるが、前者のフェーズを終了し、リスタートにより、後者のフェーズが開始される。
図5は、プロセッサA101からプロセッサB104へプログラム転送する際のプロセッサA101内の処理フローの1例を図示したものである。先ず、プロセッサB104のBoot Loaderには暗号解読などの重要な処理が入る可能性があるため、Boot Loaderの妥当性チェック(改竄検出など)を行い(ST501)、問題がなければプロセッサB104へBoot Loaderの転送を行う(ST502)。この転送は、具体的には、プロセッサA101がBoot Loader をプロセッサ間インターフェース回路に送り、メモリ書き込み制御回路がRAM_B105に書き込むことによって行われる。
次に、Boot Loaderを実行させるため、図示のモード設定とReset制御のラインを介して信号線制御により、プロセッサB104をプログラムダウンロードモードに設定し、リセットスタートさせる(リセットを解除する)(ST503)。プロセッサB104のBoot Loaderが起動したら(図示なし)、プロセッサA101は、起動モードが通常モードか特殊モードかにより、そのモードの起動に必要なプログラム部のみをプロセッサB104へ転送し(ST504)、転送が完了したらプロセッサB104がRAM_B105へ展開したプログラムの妥当性(チェックサム確認、改竄検出など)を問い合わせ(ST505)、問題がなければ、転送したプログラムを実行させるために、信号線制御により、プロセッサB104を通常動作モードに設定し、リセットスタート、即ち、リセットをして起動(通常動作モードで再起動)させる(ST506)。ここで、通常動作モードとは、ダウンロードモードに続くメモリ書込み制御回路を含めたプロセッサB側のハードウエア的な動作モードを意味し、先に、システム全体の動作モードとして説明した通常動作モードや特殊モードとは異なる。Boot Loaderの妥当性チェックやRAM_B105へ展開したプログラムの妥当性問い合わせ結果に問題があれば、メモリ(Flashメモリ等の不揮発メモリ、ROM102として共用する場合もある)にエラー履歴を残して、無限ループ処理とし、或いは、最初からリトライをするなどの処置を施す(ST507)。
以上説明したように、本発明の実施形態によれば、他のプロセッサへ転送されるプログラムのメモリ(ROM)への格納形態として、あるCode区分毎にヘッダを持たせ、そのヘッダ内に、対応するCode区分のサイズ情報や起動モード毎にその区分の転送が必要か否かといった情報を格納する。このようなメモリ格納形態とし、起動モード毎に必要な部分のみを転送可能とすることにより、モード毎の起動時間を短縮できる。
更に、そのヘッダは転送元のプロセッサが直接読んで解釈できる形式、格納形態とすることにより、転送元のプロセッサが起動モードを判断し、起動モードに応じて最低限必要とするプログラム部のみを転送先プロセッサへ転送してモード起動することを可能とする。これにより、例えば、病院の中などで無線通信を禁止するモードでの起動や、W-CDMAとGSM、W-LANといった複数通信システム対応時のSingle通信モードでの起動、生産工程でハードウエアのチェックのみを対象とした試験モードでの起動といったモード毎の起動に対し、プロセッサ間プログラム転送処理による影響を最小限に抑え、目的に応じて起動時間を短縮することが可能で、商品性、生産性の向上につながる。
このようなマルチプロセッサシステムを、特殊モードとして病院などの無線通信が禁止されるエリアでの使用など特定エリアモードを通常に使用する通常モードの他に設けた携帯電話機に適用すれば、特殊モードでの起動を短縮することができる。同様に、特殊モードとしてW-CDMAとGSM、W-LANといった複数通信システム対応時の単一(Single)通信モードでの起動モードを通常に使用する通常モードの他に設けた携帯電話機に本発明のマルチプロセッサシステムを適用すれば、その特殊モードの起動を短縮できる。また、同様に、特殊モードとして、生産工程におけるハードウエアのチェックのみを対象とする試験モードを設けた携帯電話に本発明のシステムを適用すれば、試験モードの起動を短縮することができる。
このような特殊モードは一種に限らず複数設けてもよい。即ち、1つの携帯電話機に、特定エリアモード、単一通信モード、試験モードなどを組み込み、携帯電話機が使用される環境に応じて、これら特殊モードを選択して起動させることができる。
(実施例2)
次に、本発明の第2の実施例について説明する。その基本的構成は上述の実施例と同様であるが、第2の実施例のマルチプロセッサシステムは、RAM共用のマルチプロセッサシステムである。
図6を参照すると、マルチプロセッサシステム600において、RAM603はプロセッサA(転送元プロセッサ)601とプロセッサ(転送先プロセッサ)B604のどちらからもアクセス可能な構成になっており、それらの間にバスアクセスに対して使用権を調整して与える調停回路605が配置されている。 RAM603は、主に図1のRAM_A103とRAM_B105を併せた用途で使われるほかに、図1のプロセッサ間インターフェース回路107の代わりに、どちらのプロセッサからもアクセス可能でプロセッサ間通信に用いる共有使用領域が設けられる。即ち、図7を参照すると、RAM603にはプロセッサAの使用領域71及びプロセッサBの使用領域73のほかに、プロセッサAとプロセッサBの共有使用領域72が設けられている。
ROM602は、図1のROM102と同等であるが、ROM602に格納されたプロセッサB604用プログラムをプロセッサA601が直接RAM603のプロセッサB使用領域73へ展開可能であるため、プロセッサB604用のBoot Loaderを格納する必要はない。プロセッサA601がROM602に格納されたプロセッサB604用プログラムをRAM603のプロセッサB使用領域73へ展開し、展開したプログラムの妥当性チェック(チェックサム確認、改竄検出など)が完了するまでの間、プロセッサB604はリセットされたままの状態であり、問題なくプログラム展開されたことが確認できた後、プロセッサA601の制御によりリセットが解除され、RAM603に展開されたプログラムの実行を開始する。
図8は、第2の実施例において、プロセッサA601からプロセッサB604へプログラム転送する際のプロセッサA601内の処理フローの一例を図示したものである。先ず指示された起動モードを判定し(ST801)、起動モードにより必要なプログラム部のみをRAM603のプロセッサB使用領域に展開する(ST802)。ROM602に格納されたプロセッサB用プログラムを分割のヘッダを参照することによって、指示された起動モードに対応する分割コードの有無を判定する。ヘッダにその起動モード対し、その分割コードが要とする書き込みがあれば、その分割コードをRAM603のプロセッサB使用領域に展開する。この際、ROM602に格納されたプロセッサB用プログラムが圧縮や暗号化されている場合には、その復号化処理を実施した後にRAM603のプロセッサB使用領域73への展開を行う。次にRAM603に展開したプロセッサB用プログラムの妥当性チェック(チェックサム確認、改竄検出など)を行い(ST803)、問題がなければ、RAM603のプロセッサB使用領域に対してプロセッサAのアクセスを禁止するガード設定を行い(ST804)、その後にプロセッサBのリセットを解除してRAM603に展開したプログラムの実行を開始させる(ST805)。RAM603へ展開したプログラムの妥当性チェック結果に問題があれば、メモリ(Flashメモリ等の不揮発メモリ、ROM602として共用する場合もある)にエラー履歴を残し、プロセッサBのリセットを解除することなく、ST802のプログラム展開処理以降のリトライを行うなどの対処をする(ST806)。
次に、本発明のマルチプロセッサシステムを適用した携帯電話機について説明する。
図9は、マルチシステムプロセッサを用いた携帯電話機のブロック図である。この携帯電話機は、第1の実施例に示したマルチプロセッサシステムを使用している。
図において、携帯端末10は、通信部30とアプリケーション部20を含む。通信部20は、通信プロセッサ(転送先プロセッサ)304と、RAM305、RAMのプログラムにしたがって通信プロセッサ304の制御を受けて通信機能をつかさどる通信系回路を含んでいる。また、通信部は、アプリケーション部から転送される通信プロセッサ用のプログラムをRAM305に書き込むDMA機能を有するメモリ書き込み制御回路306を有する。これらのブロックはバス接続されている。アプリケーション部20は、アプリケーションプロセッサ(転送元プロセッサ)201、RAM203,ROM202,表示部208、操作部207、送話器と受話器(図示せず)、これらを制御する周辺回路を含む。アプリケーションプロセッサ201は、RAM203,ROM202とバス接続されている。また、アプリケーション部20と通信部10は、プロセッサ間インターフェース107で接続され、データ通信が行われる。
ROM202には、アプリケーションプロセッサ用のプログラム及び通信用プロセッサ用のプログラムの両方が予め格納されている。その格納形態は、第1の実施例に使用されたROM102のそれと同一とする。したがって、ROM202の場合、図2のプロセッサB用プログラムの領域に、通信用プロセッサ用のプログラムが分割されて格納され、各々の分割にはヘッダが付されており、ヘッダには、その分割のサイズ情報、起動モード番号とその番号のデータ転送の要否が書き込まれている。
RAM203は、アプリケーションプロセッサ201用の作業メモリである。RAM305は、通信用プロセッサ304のプログラム展開先と作業用メモリとして使用される。プロセッサ間インターフェース回路107は、プロセッサ間のデータ通信を行うための回路で、起動時は最初に、アプリケーションプロセッサ201の信号制御により、メモリ書込み制御回路が306がプロセッサ間インターフェース回路107経由でアプリケーションプロセッサ201からの転送データ(Boot LoaderのCode)を受け取り、受け取ったデータをRAM305に書込む。この間、アプリケーションプロセッサ201の信号制御により、通信用プロセッサ304はリセットされたままである。Boot LoaderのCode転送完了後、アプリケーションプロセッサ201の制御により、通信用プロセッサ304はRAM305に書込まれたBoot Loaderの実行を開始し、以後の通信用プロセッサ304用プログラム本体のアプリケーションプロセッサ201からの受信、RAM305への展開処理はBoot Loaderが行う。アプリケーションプロセッサ201は、ROM202内の通信用プロセッサ用プログラムである各分割コードについて、指定された起動モードに対応する分割コードであるか否かを各ヘッダから判定し、指定された起動モードに対応する分割コードだけを転送する。したがって、RAM305には通信プロセッサ用プログラムの内、指定された起動モードに対応する分割コードだけが転送される。指定された起動モードに対する通信用プロセッサ304用プログラム本体は圧縮や暗号化されたままの形でアプリケーションプロセッサ201から転送される構成も考えられ、そういったケースでは、Boot Loader内でRAM305の所定のプログラム領域に展開する前に復号化の処理を行う。通信用プロセッサ304用プログラム本体の転送が完了すると、アプリケーションプロセッサ201の制御により、通信用プロセッサ304はRAM305に書込まれたプログラム本体の実行を開始する。
指定された起動モードが単一通信モードの指定で、W-CDMA対応の通信システムに対応するモードの指定である場合には、W-CDMA対応の通信システムに対応する分割コードが、RAM305に転送され、転送が完了すると、通信用プロセッサによりそのモードに対応した動作を開始する。即ち、GSM、W-LANなどの他の通信システム対応の通信用プログラムの転送はしなくてよいから、携帯端末の起動時間を低減することができる。
上記携帯電話機は、第1の実施例のマルチプロセッサシステムを適用し応用例であるが、第2の実施例のシステムを用いてもよい。その場合、先の応用例の携帯電話機と同様に、通信部とアプリケーション部にそれぞれ転送先プロセッサと転送元プロセッサを配置し、通信部には、その機能をつかさどる通信系回路を、アプリケーション部には、表示部、操作部などを設ける。
上記実施例及び応用例は、2つのプロセッサを用いマルチプロセッサシステムであるが、3以上のプロセッサを用いてもよい。その場合、第1及び第2の実施例に関して言うと、転送元プロセッサ(プロセッサA)に対して、転送先プロセッサ(プロセッサB)を複数用意して本発明のマルチプロセッサシステムとする。
以上、実施形態(及び実施例)を参照して本願発明を説明したが、本願発明は上記実施形態(及び実施例)に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は2006年6月27日に出願された日本出願特願2006−176430を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明の第1の実施例のマルチプロセッサシステムのブロック図である。 第1の実施例に使用されるROM102におけるプロセッサB用プログラムの格納状態を示す図である。 第1の実施例に使用されるROM102におけるプロセッサB用プログラムの別の格納状態を示す図である。 第1の実施例におけるプロセッサA及びプロセッサB間のシークエンス図で、(a)は通常モード、(b)は特殊モードの場合を示す。 第1の実施例におけるプロセッサA101からプロセッサB104へプログラム転送する際のプロセッサA101の処理フローを示す図である。 本発明の第2の実施例のマルチプロセッサシステムを示すブロック図である。 第2の実施例に使用されるRAM603内の記憶領域を示す図である。 第2の実施例において、プロセッサA601からプロセッサB604へプログラム転送する際のプロセッサA601内の処理フローの一例を示す図である。 本発明のマルチシステムプロセッサを用いた応用例で、携帯電話機のブロック図である。
符号の説明
10 携帯電話機
20 アプリケーション部
30 通信部
100、600 マルチプロセッサシステム
101、601 転送元プロセッサ(プロセッサA)
102、202、602 ROM
103、105、203、305、603 RAM
104、604 転送先プロセッサ(プロセッサB)
106、306 メモリ書込み制御回路
107 プロセッサ間インターフェース回路
201 アプリケーションプロセッサ
304 通信プロセッサ
605 調停回路

Claims (5)

  1. 少なくとも第1のプロセッサと第2のプロセッサとを含むマルチプロセッサシステムであって、
    第1のプロセッサが実行する第1のプログラムと第2のプロセッサが実行する第2のプログラムを格納する読み出し専用メモリと、
    前記第1のプロセッサ及び第2のプロセッサがアクセス可能に接続され、前記第1のプロセッサのメモリ使用領域と、前記第2のプロセッサのメモリ使用領域と、前記第1のプロセッサと前記第2のプロセッサのメモリ共有使用領域とを有する前記ランダムアクセスメモリとを含み、
    前記読み出し専用メモリは、プログラムの分割されたコードの外にその内部にヘッダを持ち、各ヘッダ内に対応する分割のサイズ情報や起動モード毎にその転送が必要か否かを示す情報を格納しているものであり、
    前記第1のプロセッサは、前記読み出し専用メモリに格納された前記第2のプロセッサ用プログラムにアクセスし、その分割ごとに、前記第2のプロセッサに転送を要するか否かを判定する前提として、前記起動モードについて通常モードでの起動の指示があるか、特殊モードでの起動の指示があるかを判定し、その判定した起動モードに対応するプログラムを前記第2のプロセッサのメモリ使用領域に展開するものであることを特徴とするマルチプロセッサシステム。
  2. 前記第2のプロセッサは、第2のプロセッサのメモリ使用領域への展開完了後、展開したプログラムの妥当性が確認できるまでリセットさせることを特徴とする請求項記載のマルチプロセッサシステム。
  3. 前記第2のプロセッサのメモリ使用領域への展開完了後、又は前記展開したプログラムの妥当性確認後、前記第2のプロセッサのメモリ使用領域に対し前記第1のプロセッサからのアクセス禁止の設定を可能としたことを特徴とする請求項記載のマルチプロセッサシステム。
  4. 第1のプロセッサと、第2のプロセッサと、第1のプロセッサが実行する第1のプログラムと第2のプロセッサが実行する第2のプログラムを格納する読み出し専用メモリと、第2のプログラムが展開されて格納されるランダムアクセスメモリとを含むマルチプロセッサシステムにおける転送方法であって、
    前記ランダムアクセスメモリに、前記第1のプロセッサのメモリ使用領域と、前記第2のプロセッサのメモリ使用領域と、前記第1のプロセッサと前記第2のプロセッサのメモリ共有使用領域とを割り振り、
    前記読み出し専用メモリに、プログラムの分割されたコードの外にその内部にヘッダを持ち、各ヘッダ内に対応する分割のサイズ情報や起動モード毎にその転送が必要か否かを示す情報を格納し、
    前記第1のプロセッサが、前記読み出し専用メモリに格納された前記第2のプロセッサ用プログラムにアクセスし、その分割ごとに、前記第2のプロセッサに転送を要するか否かを判定する前提として、前記起動モードについて通常モードでの起動の指示があるか、特殊モードでの起動の指示があるかを判定し、その判定した起動モードに対応するプログラムを前記第2のプロセッサのメモリ使用領域に展開することを特徴とするマルチプロセッサシステムにおける転送方法。
  5. 第1のプロセッサと、第2のプロセッサと、第1のプロセッサが実行する第1のプログラムと第2のプロセッサが実行する第2のプログラムを格納する読み出し専用メモリと、第2のプログラムが展開されて格納されるランダムアクセスメモリとを含むマルチプロセッサシステムに使用するプログラムであって、
    コンピュータに、
    前記ランダムアクセスメモリに、前記第1のプロセッサのメモリ使用領域と、前記第2のプロセッサのメモリ使用領域と、前記第1のプロセッサと前記第2のプロセッサのメモリ共有使用領域とを割り振る機能と、
    前記読み出し専用メモリに、プログラムの分割されたコードの外にその内部にヘッダを持ち、各ヘッダ内に対応する分割のサイズ情報や起動モード毎にその転送が必要か否かを示す情報を格納する機能と、
    前記第1のプロセッサが、前記読み出し専用メモリに格納された前記第2のプロセッサ用プログラムにアクセスし、その分割ごとに、前記第2のプロセッサに転送を要するか否かを判定する前提として、前記起動モードについて通常モードでの起動の指示があるか、特殊モードでの起動の指示があるかを判定し、その判定した起動モードに対応するプログラムを前記第2のプロセッサのメモリ使用領域に展開する機能とを実行させることを特徴とするマルチプロセッサシステムに使用するプログラム。
JP2008522507A 2006-06-27 2007-06-21 マルチプロセッサシステム、マルチプロセッサシステムを使用した携帯端末 Expired - Fee Related JP5458574B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008522507A JP5458574B2 (ja) 2006-06-27 2007-06-21 マルチプロセッサシステム、マルチプロセッサシステムを使用した携帯端末

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006176430 2006-06-27
JP2006176430 2006-06-27
JP2008522507A JP5458574B2 (ja) 2006-06-27 2007-06-21 マルチプロセッサシステム、マルチプロセッサシステムを使用した携帯端末
PCT/JP2007/062495 WO2008001671A1 (fr) 2006-06-27 2007-06-21 Système multiprocesseur et terminal portable l'utilisant

Publications (2)

Publication Number Publication Date
JPWO2008001671A1 JPWO2008001671A1 (ja) 2009-11-26
JP5458574B2 true JP5458574B2 (ja) 2014-04-02

Family

ID=38845438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008522507A Expired - Fee Related JP5458574B2 (ja) 2006-06-27 2007-06-21 マルチプロセッサシステム、マルチプロセッサシステムを使用した携帯端末

Country Status (5)

Country Link
US (1) US8255621B2 (ja)
EP (1) EP2034416A4 (ja)
JP (1) JP5458574B2 (ja)
CN (1) CN101479718B (ja)
WO (1) WO2008001671A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100822468B1 (ko) * 2006-09-11 2008-04-16 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 코드 데이터 전송 방법
US7930533B1 (en) * 2007-09-26 2011-04-19 Emc Corporation PXE booting a storage processor from a peer storage processor
JP2009199317A (ja) * 2008-02-21 2009-09-03 Nec Corp 異常発生時における解析データ収集制御装置、方法、プログラム及び移動無線通信端末
US8838949B2 (en) 2010-03-22 2014-09-16 Qualcomm Incorporated Direct scatter loading of executable software image from a primary processor to one or more secondary processor in a multi-processor system
US9058191B2 (en) 2010-03-22 2015-06-16 Qualcomm Incorporated Direct transfer of executable software image to memory allocated by target processor based on transferred image header
US8589667B2 (en) * 2010-04-19 2013-11-19 Apple Inc. Booting and configuring a subsystem securely from non-local storage
JP5403160B2 (ja) 2010-06-23 2014-01-29 富士通株式会社 通信装置、通信方法、および通信プログラム
CN102662718B (zh) * 2012-05-03 2015-07-01 天津市英贝特航天科技有限公司 一种单片flash启动多用户程序模块
US9348690B2 (en) 2013-08-21 2016-05-24 Via Alliance Semiconductor Co., Ltd. Correctable configuration data compression and decompression system
US9223715B2 (en) 2013-08-21 2015-12-29 Via Alliance Semiconductor Co., Ltd. Microprocessor mechanism for decompression of cache correction data
US20150058598A1 (en) * 2013-08-21 2015-02-26 Via Technologies, Inc. Apparatus and method for configurable redundant fuse banks
TWI595361B (zh) * 2013-12-13 2017-08-11 祥碩科技股份有限公司 電子裝置與其載入程式碼之方法
JP6303670B2 (ja) * 2014-03-19 2018-04-04 日本電気株式会社 複数cpuの起動回路、複数cpuの起動方法及び複数cpuの起動回路のプログラム
US9395802B2 (en) 2014-05-22 2016-07-19 Via Alliance Semiconductor Co., Ltd. Multi-core data array power gating restoral mechanism
US9606933B2 (en) 2014-05-22 2017-03-28 Via Alliance Semiconductor Co., Ltd. Multi-core apparatus and method for restoring data arrays following a power gating event
US9524241B2 (en) 2014-05-22 2016-12-20 Via Alliance Semiconductor Co., Ltd. Multi-core microprocessor power gating cache restoral mechanism
US9665490B2 (en) 2014-05-22 2017-05-30 Via Alliance Semiconductor Co., Ltd. Apparatus and method for repairing cache arrays in a multi-core microprocessor
KR102406857B1 (ko) * 2018-02-09 2022-06-10 에스케이하이닉스 주식회사 컨트롤러 및 그것의 동작방법
JP7419662B2 (ja) 2019-03-19 2024-01-23 富士フイルムビジネスイノベーション株式会社 マルチプロセッサシステム
JP7287115B2 (ja) * 2019-05-30 2023-06-06 京セラドキュメントソリューションズ株式会社 集積回路及び集積回路の制御方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58139260A (ja) * 1982-02-10 1983-08-18 Nec Corp アドレス変換方式
JPS6116352A (ja) * 1984-06-18 1986-01-24 Fujitsu Ltd 情報処理装置
JPH03105424A (ja) * 1989-09-19 1991-05-02 Nec Eng Ltd ファームウェアロード回路
JPH0460840A (ja) * 1990-06-29 1992-02-26 Nec Home Electron Ltd 情報処理装置の起動方式
JPH04104358A (ja) * 1990-08-23 1992-04-06 Hitachi Ltd マイクロコンピュータ装置
JPH0736704A (ja) * 1993-07-20 1995-02-07 Nec Corp プログラムダウンロード方式
JPH0736701A (ja) * 1993-07-15 1995-02-07 Namco Ltd プログラム実行装置
JPH07319707A (ja) * 1994-05-30 1995-12-08 Nec Commun Syst Ltd Iplファイル指定方式
JPH1145209A (ja) * 1997-07-29 1999-02-16 Saitama Nippon Denki Kk プログラム転送システム
JPH11184831A (ja) * 1997-12-25 1999-07-09 Kobe Steel Ltd 複数プロセッサシステム
JP2002007158A (ja) * 2000-06-23 2002-01-11 Matsushita Electric Ind Co Ltd 機能可変型dspプログラム作成装置、dspプログラム作成方法およびdspプログラム作成用プログラムを記録した記録媒体、並びにdsp装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05242057A (ja) 1992-02-27 1993-09-21 Sanyo Electric Co Ltd マルチプロセッサシステムの起動方式
US7231531B2 (en) * 2001-03-16 2007-06-12 Dualcor Technologies, Inc. Personal electronics device with a dual core processor
JP2003167751A (ja) * 2001-04-24 2003-06-13 Ricoh Co Ltd プロセッサ処理方法およびプロセッサシステム
US7380085B2 (en) * 2001-11-14 2008-05-27 Intel Corporation Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor
US6988182B2 (en) * 2002-02-13 2006-01-17 Power Measurement Ltd. Method for upgrading firmware in an electronic device
CN1323361C (zh) * 2003-06-14 2007-06-27 中兴通讯股份有限公司 一种使用多个启动程序存储器的处理器系统及其启动方法
CN1277224C (zh) * 2003-10-20 2006-09-27 中兴通讯股份有限公司 嵌入式系统中主从式多处理器的引导方法
WO2006026645A2 (en) * 2004-08-30 2006-03-09 Silicon Storage Technology, Inc. Systems and methods for providing nonvolatile memory management in wireless phones
JP4744136B2 (ja) 2004-12-22 2011-08-10 ニプロパッチ株式会社 ピルジカイニド貼付剤

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58139260A (ja) * 1982-02-10 1983-08-18 Nec Corp アドレス変換方式
JPS6116352A (ja) * 1984-06-18 1986-01-24 Fujitsu Ltd 情報処理装置
JPH03105424A (ja) * 1989-09-19 1991-05-02 Nec Eng Ltd ファームウェアロード回路
JPH0460840A (ja) * 1990-06-29 1992-02-26 Nec Home Electron Ltd 情報処理装置の起動方式
JPH04104358A (ja) * 1990-08-23 1992-04-06 Hitachi Ltd マイクロコンピュータ装置
JPH0736701A (ja) * 1993-07-15 1995-02-07 Namco Ltd プログラム実行装置
JPH0736704A (ja) * 1993-07-20 1995-02-07 Nec Corp プログラムダウンロード方式
JPH07319707A (ja) * 1994-05-30 1995-12-08 Nec Commun Syst Ltd Iplファイル指定方式
JPH1145209A (ja) * 1997-07-29 1999-02-16 Saitama Nippon Denki Kk プログラム転送システム
JPH11184831A (ja) * 1997-12-25 1999-07-09 Kobe Steel Ltd 複数プロセッサシステム
JP2002007158A (ja) * 2000-06-23 2002-01-11 Matsushita Electric Ind Co Ltd 機能可変型dspプログラム作成装置、dspプログラム作成方法およびdspプログラム作成用プログラムを記録した記録媒体、並びにdsp装置

Also Published As

Publication number Publication date
US8255621B2 (en) 2012-08-28
CN101479718B (zh) 2011-04-06
WO2008001671A1 (fr) 2008-01-03
JPWO2008001671A1 (ja) 2009-11-26
CN101479718A (zh) 2009-07-08
US20090204751A1 (en) 2009-08-13
EP2034416A1 (en) 2009-03-11
EP2034416A4 (en) 2009-09-09

Similar Documents

Publication Publication Date Title
JP5458574B2 (ja) マルチプロセッサシステム、マルチプロセッサシステムを使用した携帯端末
JP2004118544A (ja) メモリシステム
KR100988157B1 (ko) 메모리 디바이스 구성을 검출하기 위한 방법 및 장치와, 메모리 디바이스 구성을 검출하기 위한 방법을 수행하기 위한 명령들을 포함하는 컴퓨터 판독 가능 매체
JPWO2008117520A1 (ja) メモリコントローラ、不揮発性メモリシステムおよびホスト装置
KR20120140681A (ko) 다중―프로세서 시스템에서 1차 프로세서로부터 하나 이상의 2차 프로세서로의 실행 가능 소프트웨어 이미지의 직접적인 분산 로딩
US20110246760A1 (en) Electronic device and electronic device system
JP2003076654A (ja) Dspメモリ間データ転送方式
JP2019128946A (ja) ファームウェアの更新方法及びこの方法を用いる電子装置
JP2006190257A (ja) データ転送装置およびデータ転送方法
CN111752584A (zh) 固件升级方法、装置、电子设备和计算机可读存储介质
CN112445766A (zh) 一种终端碎片整理方法、装置以及终端
KR100625811B1 (ko) 코드 데이터 에러 정정 방법 및 장치
JP5621191B2 (ja) 情報通信処理装置、情報通信端末、情報通信システム、機能切替方法及び機能切替プログラム
US20120005167A1 (en) Context Aware Restore Mechanism
US20150168934A1 (en) Electronic device and method for loading program code thereof
KR100841585B1 (ko) 듀얼 뱅크 기입-중-판독 플래시를 동작시키는 시스템 및방법
JP2009099092A (ja) 携帯型情報端末
CN109857469B (zh) 显示屏控制方法及相关产品
JP5798459B2 (ja) ファイル要求アクセスを制御する方法
US20150227454A1 (en) User device and data swap control method thereof
KR100673999B1 (ko) 이동통신 단말기의 부팅방법
KR100743253B1 (ko) 코드 데이터 에러 정정 방법 및 장치
JP2006277511A (ja) プログラムにより動作する装置における、プログラムの更新方法、再起動の方法、及びプログラムの更新方法を実行するプログラム
JP2006202200A (ja) 携帯端末及びマルチプロセッサシステム並びにそのプログラム
JP2007265230A (ja) 情報処理装置及びそのファイル読み込み方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130902

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131230

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees