(57)【要約】      （修正有）【課題】マルチプロセッサシステムにおけるプログラムローディング時間を短縮する。【解決手段】プログラムを格納する共通制御部と、それぞれプログラムを共通制御部からプロセッサ間バスを介して取得して実行する複数の個別制御部とを有し、共通制御部のプロセッサは、個別制御部からのプログラムローディング要求に基づいて、共通制御部のプログラムメモリに格納されたプログラムを読み出し、共通制御部のアドレス変換部が、共通制御部のプログラムメモリから出力されるプログラムを取得し、プログラムのアドレスをローディング専用アドレスに変換して、該専用アドレスのプログラムをプロセッサ間バスに出力し、個別制御部のローディング制御部が、プログラムローディング要求が行われている間プロセッサ間バスを監視し、プロセッサ間バスに該専用アドレスを検出すると、該専用アドレスのプログラムを取得し、個別制御部のローカルメモリに格納する。【選択図】図４
2009223455.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを搭載し所定プログラムを格納する共通制御部と、それぞれプロセッサを搭載し前記所定プログラムを前記共通制御部から前記共通制御部とのプロセッサ間バスを介して取得して実行する複数の個別制御部とを有するマルチプロセッサシステムにおいて、
前記共通制御部のプロセッサは、前記個別制御部の少なくとも一つからのプログラムローディング要求に基づいて、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出し、
前記共通制御部は、前記共通制御部のプログラムメモリから出力される前記所定プログラムを取得し、前記所定プログラムのアドレスをローディング専用アドレスに変換して、アドレスが前記ローディング専用アドレスに変換された前記所定プログラムを前記プロセッサ間バスに出力するアドレス変換部を備え、
前記個別制御部のそれぞれは、
前記共通制御部に対してプログラムローディング要求を行うとともに、プログラムローディング要求が行われている間前記プロセッサ間バスを監視し、前記プロセッサ間バスにローディング専用アドレスを検出すると、該ローディング専用アドレスの前記所定プログラムを取得し、前記個別制御部のローカルメモリに格納するローディング制御部を備えることを特徴とするマルチプロセッサシステム。
【請求項２】
請求項１において、
前記共通制御部は、所定サイクル毎に前記共通制御部のプロセッサ及び複数の前記個別制御部のプロセッサのいずれか一つに対して前記プロセッサ間バスへのアクセス権を割り当てるバス調停部を備え、
前記バス調停部は、プログラムローディング要求に対応するアクセス権を前記共通制御部のプロセッサに割り当て、
前記共通制御部のプロセッサは、プログラムローディング要求が行われている間のアクセス権を取得したサイクルで、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出し、
前記共通制御部のプロセッサにアクセス権が割り当てられたサイクルで、複数の前記個別制御部が前記プログラムを取得することを特徴とするマルチプロセッサシステム。
【請求項３】
請求項１において、
前記個別制御部の前記ローディング制御部は、プログラムローディング要求が行われた後最初に検出したローディング専用アドレスを記憶し、該記憶されたローディング専用アドレスと同一のアドレスを再度検出すると、前記所定プログラムの取得を停止し、プログラムローディング要求を解除し、
前記共通制御部のプロセッサは、複数の前記個別制御部からのプログラムローディング要求全てが解除されると、前記所定のプログラムの読み出しを終了することを特徴とするマルチプロセッサシステム。
【請求項４】
請求項１において、
前記共通制御部は、前記個別制御部の前記ローディング制御部からのプログラムローディング要求を記憶する記憶素子を備え、
前記共通制御部のプロセッサは、前記記憶素子へのプログラムローディング要求の記憶の有無に基づいて、プログラムローディング要求及びその解除を検出することを特徴とするマルチプロセッサシステム。
【請求項５】
請求項３において、
前記ローディング制御部がプログラムローディング要求を解除すると、前記個別制御部のプロセッサは、前記個別制御部のローカルメモリに格納された前記所定プログラムを実行することを特徴とするマルチプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチプロセッサシステムに関し、特に、プロセッサ（MPU）を有する共通制御部とそれぞれMPUを有する複数の個別制御部とを備えて構成されるマルチプロセッサシステムにおけるイニシャルプログラムローディングに関する。
【背景技術】
【０００２】
例えば無線通信における基地局装置であるマルチプロセッサシステムは、装置内監視カード、ユーザデータ処理カードユニット、制御データカードユニットなど個別機能毎の複数の個別制御カードユニットと、該複数の個別制御カードユニットを監視・制御する共通制御カードユニットとを備えて構成される（以下、カードユニットをカードと称する）。共通制御カード及び各個別制御カードはそれぞれプロセッサ（MPU）を有し、各カード内に格納されるプログラムを実行することにより、それぞれの機能を実現する。
【０００３】
各カードのプログラムやシステムデータは、初期立ち上げ時に共通制御カードの所定のメモリに一括して格納されており、所定のローディング手順により、共通制御カードから各個別制御カードにプログラム及びシステムデータがローディングされ、各個別制御カードのMPU用メモリに格納される（特許文献１乃至３）。共通制御カードについても、プログラム及びシステムデータは、共通制御カードのMPU用メモリにローディングされる。このプログラムローディングは、初期立ち上げ時の他に、カード増設時や故障カード交換時などカードがリセットされた際にも行われる。
【０００４】
図１は、従来のマルチプロセッサシステムにおける共通制御カード及び個別制御カードの構成例を示す図である。マルチプロセッサシステムは、共通制御カード１０と複数の個別制御カード２０−０〜２０−ｎ（各個別制御カードを区別しない場合は、個別制御カード２０と総称する）を備える。共通制御カード１０は、MPU１１、ローカルメモリ１２、ブート用メモリ１３、共通機能処理部１４、グローバルバスインターフェース（以下、インターフェースを「IF」と称する）１５、グローバルバス調停部１６、メモリIF１７及びシステムデータメモリ１８を備える。
【０００５】
ローカルメモリ１２はMPU１１のプログラム実行時に用いられる作業用メモリである。ブート用メモリ１３は、MPU１１の立ち上げ時に必要な初期プログラムを格納し、共通機能処理部１４は、共通制御に固有の処理を行うロジック回路であり、メモリ領域も有する。グローバルバスIF１５は、個別制御カード２０との間のプロセッサ間バスIFであり、グローバルバス調停部１６は、後述するように、各個別制御カード２０から共通制御カード１０へのアクセス権を管理する。メモリIF１７は、MPU１２とシステムデータメモリ１８間のIFである。
【０００６】
個別制御カード２０は、MPU２１、ローカルメモリ２２、ブート用メモリ２３、個別機能処理部２４及びグローバルバスIF２５を備える。ローカルメモリ２２はMPU２１のプログラム実行時に用いられる作業用メモリである。ブート用メモリ２３は、MPU２１の立ち上げ時に必要な初期プログラムを格納し、個別機能処理部２４は、個別制御に固有の処理を行うロジック回路であり、メモリ領域も有する。グローバルバスIF２５は、共通制御カード１０との間のMPU間バスIFである。
【０００７】
システムデータ、共通制御カード用のプログラム及び各個別制御カード用のプログラム（以下、「プログラム」と総称する場合がある）は、システムデータメモリ１８に一括して格納されており、プログラムローディングにより、システムデータメモリ１８に格納されているプログラムが共通制御カード及び各個別制御カードのそれぞれローカルメモリ１２、２２に転送され、格納される。そして、ローディングされたプログラムのうち、各カードの機能に必要なプログラムが実行される。
【０００８】
図２は、従来における共通制御カード１０及び個別制御カード２０のメモリマップを示す図である。図２（ａ）は共通制御カード１０のメモリマップ、図２（ｂ）は個別制御カード２０のメモリマップを示す。
【０００９】
共通制御カード１０のメモリマップにおいて、ローカルメモリ領域はローカルメモリ１２のメモリ領域であり、ローディングされたプログラム（システムデータ、共通制御用プログラム、個別制御用プログラム）が格納される。システムデータ領域及び共通・個別領域は、システムデータメモリ１８のメモリ領域であり、システムデータ及び共通制御用プログラム、個別制御用プログラムが格納される。MPU２１−０領域乃至MPU２１−ｎ領域は、ローディングされたプログラムを実行する各個別制御部２０のMPU２１との通信領域であり、MPU１１のメモリ領域である。共通機能処理領域は、共通機能処理部１４のメモリ領域であり、ブート領域はブートメモリ１３のメモリ領域である。
【００１０】
このうち、システムデータ領域、共通・個別領域及び各MPU２１領域は、グローバル領域と呼ばれ、共通制御カード１０のMPU１１と各個別制御カード２０のMPU２１のいずれもがアクセス可能な領域である。
【００１１】
また、個別制御カード２０のメモリマップにおいて、ローカルメモリ領域はローカルメモリ２２のメモリ領域であり、ローディングされたプログラム（システムデータ、共通制御用プログラム、個別制御用プログラム）が格納される。グローバルバス通信領域は、共通制御カード２０のMPU１１との通信領域であり、MPU２１のメモリ領域である。個別機能処理領域は、個別機能処理部２４のメモリ領域であり、ブート領域はブートメモリ２３のメモリ領域である。
【００１２】
プログラムローディングは、（１）共通制御カード１０の制御のもとで、共通制御カード１０が順次各個別制御カード２０にプログラムを転送する手法、（２）各個別制御カード２０が共通制御部１０にアクセスして、システムデータメモリ１８からプログラムを読み出す手法（複数の個別制御カード２０からのアクセスが重なる場合、グローバル調停部１６により、アクセス権が制御される）、（３）DMA（Direct Memory Access）コントローラ相当機能により、共通制御カード１０から個別制御カード２０へプログラムを転送する手法、などにより行われる。
【００１３】
図３は、グローバルバス調停部１６によるアクセス権制御を説明する図である。グローバルバス調停部１６は、時分割でアクセス権（バスマスター）を各MPU２１に割り当てる。すなわち、MPU２１−０乃至MPU２１−ｎからのアクセス要求に対してリードサイクル毎にアクセス権を順番に割り当て、アクセス権が割り当てられた個別制御カードがプログラムをローディングすることができる。
【特許文献１】特開平９−７３４３７号公報
【特許文献２】特開平１−３８８６２号公報
【特許文献３】特開平５−２６５９６９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上述したプログラムローディングのいずれの手法によっても、共通制御カード１０のシステムメモリ１８から複数の個別制御カード２０にプログラムをローディングする場合、１つの個別制御カード２０ずつローディング処理が行われるので、複数の個別制御カード２０すべてにプログラムを転送するのに要する時間は、１つの個別制御カード２０に要する時間のカードの枚数分となる。
【００１５】
そのため、ローディングが必要なカード数が多いと、システム立ち上げに時間がかかるという問題がある。また、立ち上がり後の運用動作中にカードのリセット動作が行われる場合、サービスの中断が伴うが、複数カードがリセットする場合も、同様に、再起動に要する時間はカードの枚数分必要となり、サービス再開に時間がかかる。
【００１６】
そこで、本発明の目的は、マルチプロセッサシステムにおけるプログラムローディング時間を短縮することにある。
【課題を解決するための手段】
【００１７】
上記目的を達成するためのマルチプロセッサシステムは、プロセッサを搭載し所定プログラムを格納する共通制御部と、それぞれプロセッサを搭載し前記所定プログラムを前記共通制御部から前記共通制御部とのプロセッサ間バスを介して取得して実行する複数の個別制御部とを有するマルチプロセッサシステムにおいて、前記共通制御部のプロセッサは、前記個別制御部の少なくとも一つからのプログラムローディング要求に基づいて、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出し、前記共通制御部は、前記共通制御部のプログラムメモリから出力される前記所定プログラムを取得し、前記所定プログラムのアドレスをローディング専用アドレスに変換して、アドレスが前記ローディング専用アドレスに変換された前記所定プログラムを前記プロセッサ間バスに出力するアドレス変換部を備え、前記個別制御部のそれぞれは、前記共通制御部に対してプログラムローディング要求を行うとともに、プログラムローディング要求が行われている間前記プロセッサ間バスを監視し、前記プロセッサ間バスにローディング専用アドレスを検出すると、該ローディング専用アドレスの前記所定プログラムを取得し、前記個別制御部のローカルメモリに格納するローディング制御部を備える。
【００１８】
共通制御部により読み出されたプログラムのアドレスをローディング専用アドレスに変換し、アドレスが該ローディング専用アドレスに変換されたプログラムをプロセッサ間バスに出力することで、複数の個別制御部が同時にプログラムを取得することができるようになる。
【発明の効果】
【００１９】
本マルチプロセッサによれば、複数の個別制御部に対して同時にプログラムをローディングすることができるので、複数の個別制御に対して一つずつ順番にプログラムをローディングする場合と比較して、大幅にローディング時間を短縮することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して実施の形態について説明する。しかしながら、かかる実施の形態が、本発明の技術的範囲を限定するものではない。
【００２１】
図４は、本実施の形態におけるマルチプロセッサシステムの構成例を示す図である。図１と同一の構成要素には同一の参照符号が付される。マルチプロセッサシステムは、共通制御カード１０と複数の個別制御カード２０−０〜２０−ｎ（各個別制御カードを区別しない場合は、個別制御カード２０と総称する）を備える。共通制御カード１０は、MPU１１、ローカルメモリ１２、ブート用メモリ１３、共通機能処理部１４、グローバルバスIF１５、グローバルバス調停部１６、メモリIF／IPL領域IF１９及びシステムデータメモリ１８を備える。
【００２２】
ローカルメモリ１２はMPU１１のプログラム実行時に用いられる作業用メモリである。ブート用メモリ１３は、MPU１１の立ち上げ時に必要な初期プログラムを格納し、共通機能処理部１４は、共通制御に固有の処理を行うロジック回路であり、メモリ領域も有する。グローバルバスIF１５は、個別制御カード２０との間のMPU間バスIFであり、グローバルバス調停部１６は、各個別制御カード２０から共通制御カード１０へのアクセス権を管理する。システムデータメモリ１８は、システムデータ、共通制御カード用のプログラム及び各個別制御カード用のプログラム（プログラム）を一括して格納している。後述する本発明の実施の形態におけるイニシャルプログラムローディング処理により、システムデータメモリ１８に格納されているプログラムが共通制御カード及び各個別制御カードのそれぞれローカルメモリ１２、２２に転送され、格納される。メモリIF／IPL領域IF１９は、MPU１２とシステムデータメモリ１８間のIF機能と、後述する本発明の実施の形態におけるイニシャルプログラムローディング処理におけるIF機能を提供する。
【００２３】
個別制御カード２０は、MPU２１、ローカルメモリ２２、ブート用メモリ２３、個別機能処理部２４、グローバルバスIF２５及びIPL制御部２６を備える。ローカルメモリ２２はMPU２１のプログラム実行時に用いられる作業用メモリである。ブート用メモリ２３は、MPU２１の立ち上げ時に必要な初期プログラムを格納し、個別機能処理部２４は、個別制御に固有の処理を行うロジック回路であり、メモリ領域も有する。グローバルバスIF２５は、共通制御カード１０との間のMPU間バスIFである。IPL制御部２６は、本発明の実施の形態におけるイニシャルプログラムローディング（IPL）処理を制御する。本実施の形態におけるIPL処理では、共通制御部１０のMPU１１がシステムデータメモリ１８からプログラムを読み出す際に、メモリIF／IPL領域IF１９を経由するプログラムのアドレスをメモリインターIPL専用のグローバルバスアドレスに変換してフェース／IPL領域IF１９からグローバルバスIF１５に出力されるようにすることにより、個別制御部２０のMPU２１が一斉にプログラムを取得できるようにする。
【００２４】
図５は、IPL制御部の構成例を示す図であり、図６は、メモリIF／IPL領域IF１９の構成例を示す図であり、各構成要素について、本実施の形態のIPL処理の動作とともに説明する。図７は、本実施の形態におけるIPL処理のシーケンス図であり、図７を参照しつつ、IPL処理の動作を説明する。
【００２５】
各個別制御カード２０のMPU２１は、装置の初期立ち上げ時又はリセット時にブートメモリ２３内の初期プログラムを実行し、MPU２１の内部初期化、ローカルメモリ２２及び個別機能処理部２４の初期化を行い、個別制御カード２０を初期化する。さらに、MPU２１は、初期化完了後、共通制御カード１０に対するイニシャルプログラムローディング（IPL）要求を出力する（S100）。
【００２６】
IPL要求受付部２６１は、MPU２１からのIPL要求を受け付け、それをメモリIF／IPL領域IF１９のIPL要求レジスタ１９２にセットする（S102）。
【００２７】
MPU２１は、IPL要求出力後、IPL要求受付部２６１のIPL完了ステータスがONであるかどうかを周期的にポーリングし、IPL完了するまでアイドル状態を保持する。
【００２８】
共通制御カード１０のMPU１１は、IPL要求レジスタ１９２にIPL要求がセットされたことを検出すると（S104）、システムデータメモリ１８からプログラムの読み出しを開始する（S106）。MPU１１がシステムデータメモリ１８にアクセスするには、グローバルバスに対するアクセス権を取得する必要がある。MPU１１は、IPL要求に基づいてグローバルバス調停部１６にアクセス権を要求し、グローバルバス調停部１６は、アクセス権を要求しているMPU１１及びMPU２１に対して順番にリードサイクル毎にアクセス権を割り当てる。
【００２９】
システムデータメモリ１８に格納されるプログラムは、メモリIF／IPL領域IF１９を経由してMPU１１に送られる。メモリIF／IPL領域IF１９内において、システムデータ１８からのプログラムは、メモリIF１９１を経由しMPU１１に送られ、共通制御カード１０のローカルメモリ１２に格納されるとともに、メモリIF１９１を経由してグローバルバスアドレス変換部１９３によって取得される。
【００３０】
グローバルバスアドレス変換部１９３は、読み出されたプログラムのアドレスを、システムメモリ１８の格納領域に対応するアドレスから、アドレス変換テーブルに基づいてIPL専用アドレスに変換し（S108）、アドレスがIPL専用アドレスに変換されたプログラムをグローバルバスIF１５に出力する。
【００３１】
個別制御カード２０におけるIPL制御部２６の開始アドレス検出部２６２は、IPL要求後において、グローバルバスIF１５のアドレスを監視し、そのアドレスがIPL専用アドレスであることを検出すると（S110）、該IPL専用アドレスのデータ、すなわちプログラムを共通制御カード１０のグローバルバスIF１５から取得する。グローバルバスIF１５の監視は、グローバルバス調停部１６から割り当てられるバスアクセス権によるバスアクセスではないので、複数の制御カード２０で同時に行うことができ、グローバルバスIF１５に出力されるプログラムを、複数の個別制御カード２０が同時に取得可能となる。
【００３２】
また、開始アドレス検出部２６２は、最初に検出したIPL専用アドレスを停止アドレスとして停止アドレス検出部２６３にセットする（S112）。開始アドレス２６２は、IPL専用アドレスを記憶し、記憶されたアドレスとグローバルバスIF１５に出力されるアドレスとを比較する。また、切替IF２６５をローカルメモリ２２と接続するように切り替える。
【００３３】
最初に検出したIPL専用アドレスは、プログラムの先頭部分に対応するIPL専用アドレスである必要はない。再度同一のIPL専用アドレスを検出するまで、プログラムを受信しつづけることで、プログラム全体を受信する。停止アドレス検出部２６３が、セットされたIPL専用アドレス（停止アドレス）を検出することで、プログラム全体を受信したことを認識することができる。
【００３４】
開始アドレス検出部２６２は、周期的なリードサイクル毎にIPL専用アドレスを有するプログラムを受信する間、受信したプログラムのデータの転送をメモリ転送制御部２６４に許可し、メモリ転送制御部２６４及び切替IF２６５を介して、プログラムをローカルメモリ２２に格納する（S114）。
【００３５】
停止アドレス検出部２６３が、セットされたIPL専用アドレス（停止アドレス）を検出すると（S116）、停止信号をメモリ転送制御部２６４に出力し、プログラムの転送を停止するとともに、切替IF２６５をMPU２１と接続するように切り替える。また、停止信号（IPL要求OFF信号）は、IPL要求受付部２６１に出力され（S118）、IPL要求受付部２６１は、停止信号の受信に基づいて、メモリIF／IPL領域IF１９のIPL要求レジスタ１９２に記憶させていたIPL要求を削除し、IPL要求を解除する（S120）。また、IPL要求受付部２６１は、停止信号の受信に基づいて、IPL完了ステータスをONする(S122)。
【００３６】
各個別制御カード２０からのIPL要求タイミングが異なった場合、最初のIPL要求に基づいて、システムデータメモリ２８からのプログラムの読み出し及びIPL専用アドレス変換が行われるので、各個別制御カード２０のIPL制御部２６の開始アドレス検出部２６２が最初に検出するIPL専用アドレスは異なる場合がある。この場合、停止アドレスも開始アドレスに応じて異なり、個別制御カード２０毎に停止信号の出力タイミングがずれることになるが、共通制御カード１０のMPU１１は、IPL要求レジスタ１９２にセットされたすべてのIPL要求が解除されると（S124）、すなわち、IPL要求を行ったすべての個別制御カード２０がプログラム全体を受信し終わると、システムデータメモリ１８からのプログラムの読み出しを停止し、ローカルメモリ１２に格納された共通制御カード１０用処理プログラムの実行を開始する（S126）。なお、共通制御部１０のローカルメモリ１２には、最初のIPL要求に基づいて、プログラムが格納されるので、すべてのIPL要求が解除された時点では、全てのプログラムがローカルメモリ１２に格納されている。
【００３７】
一方、個別制御カード２０のMPU２１は、自カードのIPL要求受付部２６１のIPL完了ステータスがONとなると、切替IF２６５を介してローカルメモリ２２にアクセスして、格納されたプログラムのうち各個別制御カード１０用処理プログラムの実行を開始する（S128）。
【００３８】
このように、ローディングされるプログラムにIPL専用アドレスを定義し、共通制御カード１０のMPU１１がプログラムを読み出す際に、読み出されたプログラムのアドレスをIPL専用アドレスに変換してグローバルバスに出力し、複数の個別制御カード２０それぞれのIPL制御部２６が、IPL専用アドレスを検出することで、グローバルバスを流れるプログラムを同時に認識し、該IPL専用アドレスに対応するプログラムを同時に読み込み可能となる。従って、複数の個別制御カード２０にプログラムをローディングする時間を短縮することができる。
【００３９】
グローバルバス調停部１６は、１リードサイクルにつき、共通制御カード１０の複数の個別制御カード２０のうちの一つにグローバルバスへのアクセス権を割り当てるので、同時に複数の個別制御カード１０がシステムデータメモリ１８にアクセスできない。本実施の形態例では、IPL処理において、グローバルバス調停部１６は、共通制御カード１０のMPU１１にアクセス権を設定し、共通制御カード１０のMPU１１がシステムデータメモリ１８にアクセスして読み出すプログラムのアドレスをIPL専用アドレスに変換することで、グローバルバスをモニタしている複数の個別制御カード２０が、IPL専用アドレスを検出することで、グローバルバスを流れるプログラムを取得可能とする。
【００４０】
図８は、本実施の形態における共通制御カード１０及び個別制御カード２０のメモリマップを示す図である。図８（ａ）は共通制御カード１０のメモリマップ、図８（ｂ）は個別制御カード２０のメモリマップを示す。図２（ａ）との比較において、図８（ａ）では、共通制御カード１０は、プログラムが格納されるシステムデータ領域及び共通・個別領域に対応するIPL専用のメモリ領域（IPL領域）を有する。IPL領域は、グローバルバスアドレス変換部１９３のメモリ領域である。
【００４１】
図９は、本実施の形態のIPL処理におけるグローバルバス調停部１６によるアクセス権制御を説明する図である。図９（ａ）は、最初の装置立ち上げ時のアクセス権制御を示し、グローバルバス調停部１６は、少なくとも一つの個別制御カード１０からのIPL要求がある（IPL要求ON）と、共通制御部１０のMPU１１からの要求に基づいてMPU１１にアクセス権（バスマスター）を設定する。通常運用状態に入る前の装置立ち上げ時は、個別制御部２０のMPU２１からのアクセス権要求はないので、個別制御部２０のMPU２１からのアクセス権要求があるまで、共通制御部１０のMPU１１がアクセス権を連続して取得することとなる。
【００４２】
共通制御部１０のMPU１１によるプログラムの読み出しによりIPL処理が開始され、IPL専用アドレスの開始アドレス（図９（ａ）における「zz」）が停止アドレスとして設定される。停止アドレスとしての「zz」が検出されるまで（すべての個別制御カード１０がアドレス「zz」からIPL処理が開始された場合）、共通制御カード１０のMPU１１にアクセス権が割り当てられ、停止アドレス「zz」が検出されると、すべての個別制御カードからのIPL要求が解除され（IPL要求OFF）、IPL要求OFFタイミングでのリードサイクルでIPL処理は終了する。次のリードサイクルからは通常運用となり、アクセス権はそれを要求する個別制御カード２０のMPU２１の一つに割り当てられる。
【００４３】
図９（ｂ）は、通常運用時におけるリセット動作等により、個々の個別制御カード１０が別々のタイミングでIPL要求を行う場合である。この場合、通常運用におけるデータ通信処理と並行してIPL処理を行う必要がある。従って、所定の個別制御カード２０（図９（ｂ）では、カード２０−０、２０−１以外のカード２０Ａ、２０Ｂ）からのIPL要求があると、通常運用におけるデータ通信処理を行っている個別制御カードと共通制御カード１０とに、リードサイクル毎に順番にアクセス権を割り当て、共通制御カード１０にアクセス権が割り当てられたリードサイクルにおいて、IPL処理が行われる。
【００４４】
図９（ｂ）の例では、個別制御カード２０ＡのIPL要求ONタイミング（停止アドレス「yy」）よりも遅くIPL要求ONタイミングとなり（停止アドレス「zz」）、停止アドレス「yy」検出タイミングで個別制御カード２０ＡはIPL要求OFFとなるが、個別制御カード２０Ｂは、それより遅いリードサイクルで停止アドレスを検出するまで、IPL処理が行われるので、共通制御カード１０のMPU１１へのアクセス権の割り当ても続く。すべてのＩＰＬ要求がoffとなると、共通制御カード１０のMPU１１はアクセス権要求を停止する。
【００４５】
上述のマルチプロセッサシステムは、無線通信システムの基地局装置などに適用可能である。以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
【００４６】
（付記１）
プロセッサを搭載し所定プログラムを格納する共通制御部と、それぞれプロセッサを搭載し前記所定プログラムを前記共通制御部から前記共通制御部とのプロセッサ間バスを介して取得して実行する複数の個別制御部とを有するマルチプロセッサシステムにおいて、
前記共通制御部のプロセッサは、前記個別制御部の少なくとも一つからのプログラムローディング要求に基づいて、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出し、
前記共通制御部は、前記共通制御部のプログラムメモリから出力される前記所定プログラムを取得し、前記所定プログラムのアドレスをローディング専用アドレスに変換して、アドレスが前記ローディング専用アドレスに変換された前記所定プログラムを前記プロセッサ間バスに出力するアドレス変換部を備え、
前記個別制御部のそれぞれは、
前記共通制御部に対してプログラムローディング要求を行うとともに、プログラムローディング要求が行われている間前記プロセッサ間バスを監視し、前記プロセッサ間バスにローディング専用アドレスを検出すると、該ローディング専用アドレスの前記所定プログラムを取得し、前記個別制御部のローカルメモリに格納するローディング制御部を備えることを特徴とするマルチプロセッサシステム。
【００４７】
（付記２）
付記１において、
前記共通制御部は、所定サイクル毎に前記共通制御部のプロセッサ及び複数の前記個別制御部のプロセッサのいずれか一つに対して前記プロセッサ間バスへのアクセス権を割り当てるバス調停部を備え、
前記バス調停部は、プログラムローディング要求に対応するアクセス権を前記共通制御部のプロセッサに割り当て、
前記共通制御部のプロセッサは、プログラムローディング要求が行われている間のアクセス権を取得したサイクルで、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出し、
前記共通制御部のプロセッサにアクセス権が割り当てられたサイクルで、複数の前記個別制御部が前記プログラムを取得することを特徴とするマルチプロセッサシステム。
【００４８】
（付記３）
付記１において、
前記個別制御部の前記ローディング制御部は、プログラムローディング要求が行われた後最初に検出したローディング専用アドレスを記憶し、該記憶されたローディング専用アドレスと同一のアドレスを再度検出すると、前記所定プログラムの取得を停止し、前記個別制御部の前記ローディング制御部はプログラムローディング要求を解除し、
前記共通制御部のプロセッサは、複数の前記個別制御部からのプログラムローディング要求全てが解除されると、前記所定のプログラムの読み出しを終了することを特徴とするマルチプロセッサシステム。
【００４９】
（付記４）
付記１において、
前記共通制御部は、前記個別制御部の前記ローディング制御部からのプログラムローディング要求を記憶する記憶素子を備え、
前記共通制御部のプロセッサは、前記記憶素子へのプログラムローディング要求の記憶の有無に基づいて、プログラムローディング要求及びその解除を検出することを特徴とするマルチプロセッサシステム。
【００５０】
（付記５）
付記３において、
前記ローディング制御部がプログラムローディング要求を解除すると、前記個別制御部のプロセッサは、前記個別制御部のローカルメモリに格納された前記所定プログラムを実行することを特徴とするマルチプロセッサシステム。
【００５１】
（付記６）
付記３において、
前記共通制御部のプロセッサは、前記プログラムメモリから読み出された前記所定プログラムを前記共通制御部のローカルメモリに格納し、前記所定のプログラムの読み出し終了後、前記共通制御部のローカルメモリに格納された前記所定プログラムを実行することを特徴とするマルチプロセッサシステム。
【００５２】
（付記７）
プロセッサを搭載し所定プログラムを格納する共通制御部と、それぞれプロセッサを搭載し前記所定プログラムを前記共通制御部から前記共通制御部とのプロセッサ間バスを介して取得して実行する複数の個別制御部とを有するマルチプロセッサシステムにおけるプログラムローディング方法において、
前記個別制御部のローディング制御部が、前記共通制御部に対してプログラムローディング要求を行うステップと、
前記共通制御部のプロセッサが、前記個別制御部の少なくとも一つからのプログラムローディング要求を検出すると、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出すステップと、
前記共通制御部のアドレス変換部が、前記共通制御部のプログラムメモリから出力される前記所定プログラムを取得し、前記所定プログラムのアドレスをローディング専用アドレスに変換して、アドレスが前記ローディング専用アドレスに変換された前記所定プログラムを前記プロセッサ間バスに出力するステップと、
前記個別制御部の前記ローディング制御部が、プログラムローディング要求が行われている間前記プロセッサ間バスを監視し、前記プロセッサ間バスにローディング専用アドレスを検出すると、該ローディング専用アドレスの前記所定プログラムを取得し、前記個別制御部のローカルメモリに格納するステップとを備えることを特徴とするプログラムローディング方法。
【図面の簡単な説明】
【００５３】
【図１】従来のマルチプロセッサシステムにおける共通制御カード及び個別制御カードの構成例を示す図である。
【図２】従来における共通制御カード１０及び個別制御カード２０のメモリマップを示す図である。
【図３】グローバルバス調停部１６によるアクセス権制御を説明する図である。
【図４】本実施の形態におけるマルチプロセッサシステムの構成例を示す図である。
【図５】IPL制御部の構成例を示す図である。
【図６】メモリIF／IPL領域IF１９の構成例を示す図である。
【図７】本実施の形態におけるIPL処理のシーケンス図である。
【図８】本実施の形態における共通制御カード１０及び個別制御カード２０のメモリマップを示す図である。
【図９】本実施の形態のIPL処理におけるグローバルバス調停部１６によるアクセス権制御を説明する図である。
【符号の説明】
【００５４】
１０：共通制御カード、１１：MPU、１２：ローカルメモリ、１３：ブートメモリ、１４：共通機能処理部、１５：グローバルバスIF、１６：グローバルバス調停部、１７：メモリIF、１８：システムメモリ、１９：メモリIF／IPL領域IF、２０：個別制御カード、２１：MPU、２２：ローカルメモリ、２３：ブートメモリ、２４：個別機能処理部、２５：グローバルバスIF、２６：IPL制御部、１９１：メモリIF、１９２：IPL要求レジスタ、１９３：グローバルバスアドレス変換部、２６１：IPL要求受付部、２６２：開始アドレス検出部、２６３：停止アドレス検出部、２６４：転送制御部、２６５：切替IF
【図１】
2009223455.tif 000003
【図２】
2009223455.tif 000004
【図３】
2009223455.tif 000005
【図４】
2009223455.tif 000006
【図５】
2009223455.tif 000007
【図６】
2009223455.tif 000008
【図７】
2009223455.tif 000009
【図８】
2009223455.tif 000010
【図９】
2009223455.tif 000011