JP2009223455A - Multiprocessor system - Google Patents
Multiprocessor system Download PDFInfo
- Publication number
- JP2009223455A JP2009223455A JP2008065132A JP2008065132A JP2009223455A JP 2009223455 A JP2009223455 A JP 2009223455A JP 2008065132 A JP2008065132 A JP 2008065132A JP 2008065132 A JP2008065132 A JP 2008065132A JP 2009223455 A JP2009223455 A JP 2009223455A
- Authority
- JP
- Japan
- Prior art keywords
- program
- control unit
- common control
- loading
- processor
- 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.)
- Pending
Links
Images
Abstract
Description
本発明はマルチプロセッサシステムに関し、特に、プロセッサ(MPU)を有する共通制御部とそれぞれMPUを有する複数の個別制御部とを備えて構成されるマルチプロセッサシステムにおけるイニシャルプログラムローディングに関する。 The present invention relates to a multiprocessor system, and more particularly to initial program loading in a multiprocessor system including a common control unit having a processor (MPU) and a plurality of individual control units each having an MPU.
例えば無線通信における基地局装置であるマルチプロセッサシステムは、装置内監視カード、ユーザデータ処理カードユニット、制御データカードユニットなど個別機能毎の複数の個別制御カードユニットと、該複数の個別制御カードユニットを監視・制御する共通制御カードユニットとを備えて構成される(以下、カードユニットをカードと称する)。共通制御カード及び各個別制御カードはそれぞれプロセッサ(MPU)を有し、各カード内に格納されるプログラムを実行することにより、それぞれの機能を実現する。 For example, a multiprocessor system, which is a base station device in wireless communication, includes a plurality of individual control card units for each individual function such as an in-device monitoring card, a user data processing card unit, and a control data card unit, and the plurality of individual control card units. And a common control card unit for monitoring and controlling (hereinafter, the card unit is referred to as a card). The common control card and each individual control card each have a processor (MPU), and each function is realized by executing a program stored in each card.
各カードのプログラムやシステムデータは、初期立ち上げ時に共通制御カードの所定のメモリに一括して格納されており、所定のローディング手順により、共通制御カードから各個別制御カードにプログラム及びシステムデータがローディングされ、各個別制御カードのMPU用メモリに格納される(特許文献1乃至3)。共通制御カードについても、プログラム及びシステムデータは、共通制御カードのMPU用メモリにローディングされる。このプログラムローディングは、初期立ち上げ時の他に、カード増設時や故障カード交換時などカードがリセットされた際にも行われる。
The programs and system data of each card are stored in a predetermined memory of the common control card at the time of initial startup, and the programs and system data are loaded from the common control card to each individual control card according to a predetermined loading procedure. And stored in the MPU memory of each individual control card (
図1は、従来のマルチプロセッサシステムにおける共通制御カード及び個別制御カードの構成例を示す図である。マルチプロセッサシステムは、共通制御カード10と複数の個別制御カード20−0〜20−n(各個別制御カードを区別しない場合は、個別制御カード20と総称する)を備える。共通制御カード10は、MPU11、ローカルメモリ12、ブート用メモリ13、共通機能処理部14、グローバルバスインターフェース(以下、インターフェースを「IF」と称する)15、グローバルバス調停部16、メモリIF17及びシステムデータメモリ18を備える。
FIG. 1 is a diagram showing a configuration example of a common control card and an individual control card in a conventional multiprocessor system. The multiprocessor system includes a common control card 10 and a plurality of individual control cards 20-0 to 20-n (collectively referred to as individual control card 20 when each individual control card is not distinguished). The common control card 10 includes an
ローカルメモリ12はMPU11のプログラム実行時に用いられる作業用メモリである。ブート用メモリ13は、MPU11の立ち上げ時に必要な初期プログラムを格納し、共通機能処理部14は、共通制御に固有の処理を行うロジック回路であり、メモリ領域も有する。グローバルバスIF15は、個別制御カード20との間のプロセッサ間バスIFであり、グローバルバス調停部16は、後述するように、各個別制御カード20から共通制御カード10へのアクセス権を管理する。メモリIF17は、MPU12とシステムデータメモリ18間のIFである。
The
個別制御カード20は、MPU21、ローカルメモリ22、ブート用メモリ23、個別機能処理部24及びグローバルバスIF25を備える。ローカルメモリ22はMPU21のプログラム実行時に用いられる作業用メモリである。ブート用メモリ23は、MPU21の立ち上げ時に必要な初期プログラムを格納し、個別機能処理部24は、個別制御に固有の処理を行うロジック回路であり、メモリ領域も有する。グローバルバスIF25は、共通制御カード10との間のMPU間バスIFである。
The individual control card 20 includes an
システムデータ、共通制御カード用のプログラム及び各個別制御カード用のプログラム(以下、「プログラム」と総称する場合がある)は、システムデータメモリ18に一括して格納されており、プログラムローディングにより、システムデータメモリ18に格納されているプログラムが共通制御カード及び各個別制御カードのそれぞれローカルメモリ12、22に転送され、格納される。そして、ローディングされたプログラムのうち、各カードの機能に必要なプログラムが実行される。
System data, a program for the common control card, and a program for each individual control card (hereinafter may be collectively referred to as “program”) are collectively stored in the
図2は、従来における共通制御カード10及び個別制御カード20のメモリマップを示す図である。図2(a)は共通制御カード10のメモリマップ、図2(b)は個別制御カード20のメモリマップを示す。 FIG. 2 is a diagram showing a memory map of the conventional common control card 10 and individual control card 20. FIG. 2A shows a memory map of the common control card 10, and FIG. 2B shows a memory map of the individual control card 20.
共通制御カード10のメモリマップにおいて、ローカルメモリ領域はローカルメモリ12のメモリ領域であり、ローディングされたプログラム(システムデータ、共通制御用プログラム、個別制御用プログラム)が格納される。システムデータ領域及び共通・個別領域は、システムデータメモリ18のメモリ領域であり、システムデータ及び共通制御用プログラム、個別制御用プログラムが格納される。MPU21−0領域乃至MPU21−n領域は、ローディングされたプログラムを実行する各個別制御部20のMPU21との通信領域であり、MPU11のメモリ領域である。共通機能処理領域は、共通機能処理部14のメモリ領域であり、ブート領域はブートメモリ13のメモリ領域である。
In the memory map of the common control card 10, the local memory area is a memory area of the
このうち、システムデータ領域、共通・個別領域及び各MPU21領域は、グローバル領域と呼ばれ、共通制御カード10のMPU11と各個別制御カード20のMPU21のいずれもがアクセス可能な領域である。
Among these, the system data area, the common / individual area, and each
また、個別制御カード20のメモリマップにおいて、ローカルメモリ領域はローカルメモリ22のメモリ領域であり、ローディングされたプログラム(システムデータ、共通制御用プログラム、個別制御用プログラム)が格納される。グローバルバス通信領域は、共通制御カード20のMPU11との通信領域であり、MPU21のメモリ領域である。個別機能処理領域は、個別機能処理部24のメモリ領域であり、ブート領域はブートメモリ23のメモリ領域である。
Further, in the memory map of the individual control card 20, the local memory area is the memory area of the
プログラムローディングは、(1)共通制御カード10の制御のもとで、共通制御カード10が順次各個別制御カード20にプログラムを転送する手法、(2)各個別制御カード20が共通制御部10にアクセスして、システムデータメモリ18からプログラムを読み出す手法(複数の個別制御カード20からのアクセスが重なる場合、グローバル調停部16により、アクセス権が制御される)、(3)DMA(Direct Memory Access)コントローラ相当機能により、共通制御カード10から個別制御カード20へプログラムを転送する手法、などにより行われる。 In the program loading, (1) a method in which the common control card 10 sequentially transfers a program to each individual control card 20 under the control of the common control card 10, and (2) each individual control card 20 is transferred to the common control unit 10. A method of accessing and reading a program from the system data memory 18 (when access from a plurality of individual control cards 20 overlaps, the access right is controlled by the global arbitration unit 16), (3) DMA (Direct Memory Access) This is performed by a method of transferring a program from the common control card 10 to the individual control card 20 by a controller equivalent function.
図3は、グローバルバス調停部16によるアクセス権制御を説明する図である。グローバルバス調停部16は、時分割でアクセス権(バスマスター)を各MPU21に割り当てる。すなわち、MPU21−0乃至MPU21−nからのアクセス要求に対してリードサイクル毎にアクセス権を順番に割り当て、アクセス権が割り当てられた個別制御カードがプログラムをローディングすることができる。
上述したプログラムローディングのいずれの手法によっても、共通制御カード10のシステムメモリ18から複数の個別制御カード20にプログラムをローディングする場合、1つの個別制御カード20ずつローディング処理が行われるので、複数の個別制御カード20すべてにプログラムを転送するのに要する時間は、1つの個別制御カード20に要する時間のカードの枚数分となる。
When a program is loaded from the
そのため、ローディングが必要なカード数が多いと、システム立ち上げに時間がかかるという問題がある。また、立ち上がり後の運用動作中にカードのリセット動作が行われる場合、サービスの中断が伴うが、複数カードがリセットする場合も、同様に、再起動に要する時間はカードの枚数分必要となり、サービス再開に時間がかかる。 Therefore, there is a problem that it takes time to start up the system when the number of cards that need to be loaded is large. In addition, if a card reset operation is performed during operation after startup, the service will be interrupted. However, when multiple cards are reset, the time required for restarting is also required for the number of cards. It takes time to resume.
そこで、本発明の目的は、マルチプロセッサシステムにおけるプログラムローディング時間を短縮することにある。 Therefore, an object of the present invention is to shorten the program loading time in a multiprocessor system.
上記目的を達成するためのマルチプロセッサシステムは、プロセッサを搭載し所定プログラムを格納する共通制御部と、それぞれプロセッサを搭載し前記所定プログラムを前記共通制御部から前記共通制御部とのプロセッサ間バスを介して取得して実行する複数の個別制御部とを有するマルチプロセッサシステムにおいて、前記共通制御部のプロセッサは、前記個別制御部の少なくとも一つからのプログラムローディング要求に基づいて、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出し、前記共通制御部は、前記共通制御部のプログラムメモリから出力される前記所定プログラムを取得し、前記所定プログラムのアドレスをローディング専用アドレスに変換して、アドレスが前記ローディング専用アドレスに変換された前記所定プログラムを前記プロセッサ間バスに出力するアドレス変換部を備え、前記個別制御部のそれぞれは、前記共通制御部に対してプログラムローディング要求を行うとともに、プログラムローディング要求が行われている間前記プロセッサ間バスを監視し、前記プロセッサ間バスにローディング専用アドレスを検出すると、該ローディング専用アドレスの前記所定プログラムを取得し、前記個別制御部のローカルメモリに格納するローディング制御部を備える。 A multiprocessor system for achieving the above object includes a common control unit having a processor and storing a predetermined program, and an interprocessor bus between the common control unit and the common control unit. In the multiprocessor system having a plurality of individual control units that are acquired and executed via the processor, the processor of the common control unit is configured to execute a program loading request from at least one of the individual control units. Reading the predetermined program stored in the program memory, the common control unit obtains the predetermined program output from the program memory of the common control unit, converts the address of the predetermined program into a loading dedicated address, The address is the loading-only address An address conversion unit that outputs the converted predetermined program to the inter-processor bus is provided, and each of the individual control units makes a program loading request to the common control unit and a program loading request is made. The inter-processor bus is monitored, and when a loading-dedicated address is detected in the inter-processor bus, a loading control unit is provided for acquiring the predetermined program at the loading-dedicated address and storing it in a local memory of the individual control unit.
共通制御部により読み出されたプログラムのアドレスをローディング専用アドレスに変換し、アドレスが該ローディング専用アドレスに変換されたプログラムをプロセッサ間バスに出力することで、複数の個別制御部が同時にプログラムを取得することができるようになる。 By converting the address of the program read by the common control unit into a loading-dedicated address and outputting the program with the address converted to the loading-dedicated address to the interprocessor bus, multiple individual control units obtain the program at the same time Will be able to.
本マルチプロセッサによれば、複数の個別制御部に対して同時にプログラムをローディングすることができるので、複数の個別制御に対して一つずつ順番にプログラムをローディングする場合と比較して、大幅にローディング時間を短縮することができる。 According to the present multiprocessor, since a program can be loaded simultaneously to a plurality of individual control units, the loading is greatly increased compared to a case where a program is loaded one by one for a plurality of individual controls. Time can be shortened.
以下、図面を参照して実施の形態について説明する。しかしながら、かかる実施の形態が、本発明の技術的範囲を限定するものではない。 Hereinafter, embodiments will be described with reference to the drawings. However, such embodiments do not limit the technical scope of the present invention.
図4は、本実施の形態におけるマルチプロセッサシステムの構成例を示す図である。図1と同一の構成要素には同一の参照符号が付される。マルチプロセッサシステムは、共通制御カード10と複数の個別制御カード20−0〜20−n(各個別制御カードを区別しない場合は、個別制御カード20と総称する)を備える。共通制御カード10は、MPU11、ローカルメモリ12、ブート用メモリ13、共通機能処理部14、グローバルバスIF15、グローバルバス調停部16、メモリIF/IPL領域IF19及びシステムデータメモリ18を備える。
FIG. 4 is a diagram showing a configuration example of the multiprocessor system in the present embodiment. The same components as those in FIG. 1 are denoted by the same reference numerals. The multiprocessor system includes a common control card 10 and a plurality of individual control cards 20-0 to 20-n (collectively referred to as individual control card 20 when each individual control card is not distinguished). The common control card 10 includes an
ローカルメモリ12はMPU11のプログラム実行時に用いられる作業用メモリである。ブート用メモリ13は、MPU11の立ち上げ時に必要な初期プログラムを格納し、共通機能処理部14は、共通制御に固有の処理を行うロジック回路であり、メモリ領域も有する。グローバルバスIF15は、個別制御カード20との間のMPU間バスIFであり、グローバルバス調停部16は、各個別制御カード20から共通制御カード10へのアクセス権を管理する。システムデータメモリ18は、システムデータ、共通制御カード用のプログラム及び各個別制御カード用のプログラム(プログラム)を一括して格納している。後述する本発明の実施の形態におけるイニシャルプログラムローディング処理により、システムデータメモリ18に格納されているプログラムが共通制御カード及び各個別制御カードのそれぞれローカルメモリ12、22に転送され、格納される。メモリIF/IPL領域IF19は、MPU12とシステムデータメモリ18間のIF機能と、後述する本発明の実施の形態におけるイニシャルプログラムローディング処理におけるIF機能を提供する。
The
個別制御カード20は、MPU21、ローカルメモリ22、ブート用メモリ23、個別機能処理部24、グローバルバスIF25及びIPL制御部26を備える。ローカルメモリ22はMPU21のプログラム実行時に用いられる作業用メモリである。ブート用メモリ23は、MPU21の立ち上げ時に必要な初期プログラムを格納し、個別機能処理部24は、個別制御に固有の処理を行うロジック回路であり、メモリ領域も有する。グローバルバスIF25は、共通制御カード10との間のMPU間バスIFである。IPL制御部26は、本発明の実施の形態におけるイニシャルプログラムローディング(IPL)処理を制御する。本実施の形態におけるIPL処理では、共通制御部10のMPU11がシステムデータメモリ18からプログラムを読み出す際に、メモリIF/IPL領域IF19を経由するプログラムのアドレスをメモリインターIPL専用のグローバルバスアドレスに変換してフェース/IPL領域IF19からグローバルバスIF15に出力されるようにすることにより、個別制御部20のMPU21が一斉にプログラムを取得できるようにする。
The individual control card 20 includes an
図5は、IPL制御部の構成例を示す図であり、図6は、メモリIF/IPL領域IF19の構成例を示す図であり、各構成要素について、本実施の形態のIPL処理の動作とともに説明する。図7は、本実施の形態におけるIPL処理のシーケンス図であり、図7を参照しつつ、IPL処理の動作を説明する。 FIG. 5 is a diagram illustrating a configuration example of the IPL control unit, and FIG. 6 is a diagram illustrating a configuration example of the memory IF / IPL area IF 19, and for each component, along with the operation of the IPL processing of the present embodiment. explain. FIG. 7 is a sequence diagram of the IPL process in the present embodiment, and the operation of the IPL process will be described with reference to FIG.
各個別制御カード20のMPU21は、装置の初期立ち上げ時又はリセット時にブートメモリ23内の初期プログラムを実行し、MPU21の内部初期化、ローカルメモリ22及び個別機能処理部24の初期化を行い、個別制御カード20を初期化する。さらに、MPU21は、初期化完了後、共通制御カード10に対するイニシャルプログラムローディング(IPL)要求を出力する(S100)。
The
IPL要求受付部261は、MPU21からのIPL要求を受け付け、それをメモリIF/IPL領域IF19のIPL要求レジスタ192にセットする(S102)。
The IPL request accepting unit 261 accepts an IPL request from the
MPU21は、IPL要求出力後、IPL要求受付部261のIPL完了ステータスがONであるかどうかを周期的にポーリングし、IPL完了するまでアイドル状態を保持する。
After outputting the IPL request, the
共通制御カード10のMPU11は、IPL要求レジスタ192にIPL要求がセットされたことを検出すると(S104)、システムデータメモリ18からプログラムの読み出しを開始する(S106)。MPU11がシステムデータメモリ18にアクセスするには、グローバルバスに対するアクセス権を取得する必要がある。MPU11は、IPL要求に基づいてグローバルバス調停部16にアクセス権を要求し、グローバルバス調停部16は、アクセス権を要求しているMPU11及びMPU21に対して順番にリードサイクル毎にアクセス権を割り当てる。
When detecting that the IPL request is set in the IPL request register 192 (S104), the
システムデータメモリ18に格納されるプログラムは、メモリIF/IPL領域IF19を経由してMPU11に送られる。メモリIF/IPL領域IF19内において、システムデータ18からのプログラムは、メモリIF191を経由しMPU11に送られ、共通制御カード10のローカルメモリ12に格納されるとともに、メモリIF191を経由してグローバルバスアドレス変換部193によって取得される。
The program stored in the
グローバルバスアドレス変換部193は、読み出されたプログラムのアドレスを、システムメモリ18の格納領域に対応するアドレスから、アドレス変換テーブルに基づいてIPL専用アドレスに変換し(S108)、アドレスがIPL専用アドレスに変換されたプログラムをグローバルバスIF15に出力する。
The global bus address conversion unit 193 converts the read program address from the address corresponding to the storage area of the
個別制御カード20におけるIPL制御部26の開始アドレス検出部262は、IPL要求後において、グローバルバスIF15のアドレスを監視し、そのアドレスがIPL専用アドレスであることを検出すると(S110)、該IPL専用アドレスのデータ、すなわちプログラムを共通制御カード10のグローバルバスIF15から取得する。グローバルバスIF15の監視は、グローバルバス調停部16から割り当てられるバスアクセス権によるバスアクセスではないので、複数の制御カード20で同時に行うことができ、グローバルバスIF15に出力されるプログラムを、複数の個別制御カード20が同時に取得可能となる。
The start address detection unit 262 of the
また、開始アドレス検出部262は、最初に検出したIPL専用アドレスを停止アドレスとして停止アドレス検出部263にセットする(S112)。開始アドレス262は、IPL専用アドレスを記憶し、記憶されたアドレスとグローバルバスIF15に出力されるアドレスとを比較する。また、切替IF265をローカルメモリ22と接続するように切り替える。
The start address detection unit 262 sets the IPL dedicated address detected first in the stop
最初に検出したIPL専用アドレスは、プログラムの先頭部分に対応するIPL専用アドレスである必要はない。再度同一のIPL専用アドレスを検出するまで、プログラムを受信しつづけることで、プログラム全体を受信する。停止アドレス検出部263が、セットされたIPL専用アドレス(停止アドレス)を検出することで、プログラム全体を受信したことを認識することができる。
The IPL dedicated address detected first need not be the IPL dedicated address corresponding to the head portion of the program. The whole program is received by continuing to receive the program until the same IPL dedicated address is detected again. The stop
開始アドレス検出部262は、周期的なリードサイクル毎にIPL専用アドレスを有するプログラムを受信する間、受信したプログラムのデータの転送をメモリ転送制御部264に許可し、メモリ転送制御部264及び切替IF265を介して、プログラムをローカルメモリ22に格納する(S114)。 The start address detection unit 262 permits the memory transfer control unit 264 to transfer data of the received program while receiving a program having an IPL dedicated address for each periodic read cycle, and the memory transfer control unit 264 and the switching IF 265. Then, the program is stored in the local memory 22 (S114).
停止アドレス検出部263が、セットされたIPL専用アドレス(停止アドレス)を検出すると(S116)、停止信号をメモリ転送制御部264に出力し、プログラムの転送を停止するとともに、切替IF265をMPU21と接続するように切り替える。また、停止信号(IPL要求OFF信号)は、IPL要求受付部261に出力され(S118)、IPL要求受付部261は、停止信号の受信に基づいて、メモリIF/IPL領域IF19のIPL要求レジスタ192に記憶させていたIPL要求を削除し、IPL要求を解除する(S120)。また、IPL要求受付部261は、停止信号の受信に基づいて、IPL完了ステータスをONする(S122)。
When the stop
各個別制御カード20からのIPL要求タイミングが異なった場合、最初のIPL要求に基づいて、システムデータメモリ28からのプログラムの読み出し及びIPL専用アドレス変換が行われるので、各個別制御カード20のIPL制御部26の開始アドレス検出部262が最初に検出するIPL専用アドレスは異なる場合がある。この場合、停止アドレスも開始アドレスに応じて異なり、個別制御カード20毎に停止信号の出力タイミングがずれることになるが、共通制御カード10のMPU11は、IPL要求レジスタ192にセットされたすべてのIPL要求が解除されると(S124)、すなわち、IPL要求を行ったすべての個別制御カード20がプログラム全体を受信し終わると、システムデータメモリ18からのプログラムの読み出しを停止し、ローカルメモリ12に格納された共通制御カード10用処理プログラムの実行を開始する(S126)。なお、共通制御部10のローカルメモリ12には、最初のIPL要求に基づいて、プログラムが格納されるので、すべてのIPL要求が解除された時点では、全てのプログラムがローカルメモリ12に格納されている。
When the IPL request timing from each individual control card 20 is different, the program is read from the system data memory 28 and the IPL dedicated address conversion is performed based on the first IPL request, so that the IPL control of each individual control card 20 is performed. The IPL dedicated address first detected by the start address detecting unit 262 of the
一方、個別制御カード20のMPU21は、自カードのIPL要求受付部261のIPL完了ステータスがONとなると、切替IF265を介してローカルメモリ22にアクセスして、格納されたプログラムのうち各個別制御カード10用処理プログラムの実行を開始する(S128)。
On the other hand, the
このように、ローディングされるプログラムにIPL専用アドレスを定義し、共通制御カード10のMPU11がプログラムを読み出す際に、読み出されたプログラムのアドレスをIPL専用アドレスに変換してグローバルバスに出力し、複数の個別制御カード20それぞれのIPL制御部26が、IPL専用アドレスを検出することで、グローバルバスを流れるプログラムを同時に認識し、該IPL専用アドレスに対応するプログラムを同時に読み込み可能となる。従って、複数の個別制御カード20にプログラムをローディングする時間を短縮することができる。
In this way, the IPL dedicated address is defined in the loaded program, and when the
グローバルバス調停部16は、1リードサイクルにつき、共通制御カード10の複数の個別制御カード20のうちの一つにグローバルバスへのアクセス権を割り当てるので、同時に複数の個別制御カード10がシステムデータメモリ18にアクセスできない。本実施の形態例では、IPL処理において、グローバルバス調停部16は、共通制御カード10のMPU11にアクセス権を設定し、共通制御カード10のMPU11がシステムデータメモリ18にアクセスして読み出すプログラムのアドレスをIPL専用アドレスに変換することで、グローバルバスをモニタしている複数の個別制御カード20が、IPL専用アドレスを検出することで、グローバルバスを流れるプログラムを取得可能とする。
Since the global
図8は、本実施の形態における共通制御カード10及び個別制御カード20のメモリマップを示す図である。図8(a)は共通制御カード10のメモリマップ、図8(b)は個別制御カード20のメモリマップを示す。図2(a)との比較において、図8(a)では、共通制御カード10は、プログラムが格納されるシステムデータ領域及び共通・個別領域に対応するIPL専用のメモリ領域(IPL領域)を有する。IPL領域は、グローバルバスアドレス変換部193のメモリ領域である。 FIG. 8 is a diagram showing a memory map of the common control card 10 and the individual control card 20 in the present embodiment. FIG. 8A shows a memory map of the common control card 10, and FIG. 8B shows a memory map of the individual control card 20. In comparison with FIG. 2A, in FIG. 8A, the common control card 10 has a system data area in which a program is stored and an IPL dedicated memory area (IPL area) corresponding to the common / individual area. . The IPL area is a memory area of the global bus address conversion unit 193.
図9は、本実施の形態のIPL処理におけるグローバルバス調停部16によるアクセス権制御を説明する図である。図9(a)は、最初の装置立ち上げ時のアクセス権制御を示し、グローバルバス調停部16は、少なくとも一つの個別制御カード10からのIPL要求がある(IPL要求ON)と、共通制御部10のMPU11からの要求に基づいてMPU11にアクセス権(バスマスター)を設定する。通常運用状態に入る前の装置立ち上げ時は、個別制御部20のMPU21からのアクセス権要求はないので、個別制御部20のMPU21からのアクセス権要求があるまで、共通制御部10のMPU11がアクセス権を連続して取得することとなる。
FIG. 9 is a diagram for explaining access right control by the global
共通制御部10のMPU11によるプログラムの読み出しによりIPL処理が開始され、IPL専用アドレスの開始アドレス(図9(a)における「zz」)が停止アドレスとして設定される。停止アドレスとしての「zz」が検出されるまで(すべての個別制御カード10がアドレス「zz」からIPL処理が開始された場合)、共通制御カード10のMPU11にアクセス権が割り当てられ、停止アドレス「zz」が検出されると、すべての個別制御カードからのIPL要求が解除され(IPL要求OFF)、IPL要求OFFタイミングでのリードサイクルでIPL処理は終了する。次のリードサイクルからは通常運用となり、アクセス権はそれを要求する個別制御カード20のMPU21の一つに割り当てられる。
The IPL processing is started by reading the program by the
図9(b)は、通常運用時におけるリセット動作等により、個々の個別制御カード10が別々のタイミングでIPL要求を行う場合である。この場合、通常運用におけるデータ通信処理と並行してIPL処理を行う必要がある。従って、所定の個別制御カード20(図9(b)では、カード20−0、20−1以外のカード20A、20B)からのIPL要求があると、通常運用におけるデータ通信処理を行っている個別制御カードと共通制御カード10とに、リードサイクル毎に順番にアクセス権を割り当て、共通制御カード10にアクセス権が割り当てられたリードサイクルにおいて、IPL処理が行われる。 FIG. 9B shows a case where each individual control card 10 makes an IPL request at different timings by a reset operation or the like during normal operation. In this case, it is necessary to perform IPL processing in parallel with data communication processing in normal operation. Therefore, when there is an IPL request from a predetermined individual control card 20 (in FIG. 9B, the cards 20A and 20B other than the cards 20-0 and 20-1), the individual performing the data communication processing in the normal operation. An access right is assigned to the control card and the common control card 10 in order for each read cycle, and an IPL process is performed in the read cycle in which the access right is assigned to the common control card 10.
図9(b)の例では、個別制御カード20AのIPL要求ONタイミング(停止アドレス「yy」)よりも遅くIPL要求ONタイミングとなり(停止アドレス「zz」)、停止アドレス「yy」検出タイミングで個別制御カード20AはIPL要求OFFとなるが、個別制御カード20Bは、それより遅いリードサイクルで停止アドレスを検出するまで、IPL処理が行われるので、共通制御カード10のMPU11へのアクセス権の割り当ても続く。すべてのIPL要求がoffとなると、共通制御カード10のMPU11はアクセス権要求を停止する。
In the example of FIG. 9B, the IPL request ON timing (stop address “zz”) is later than the IPL request ON timing (stop address “yy”) of the individual control card 20A, and is individually detected at the stop address “yy” detection timing. Although the control card 20A turns off the IPL request, since the individual control card 20B performs the IPL process until the stop address is detected in a later read cycle, the access right to the
上述のマルチプロセッサシステムは、無線通信システムの基地局装置などに適用可能である。以上の実施例を含む実施形態に関し、更に以下の付記を開示する。 The above-described multiprocessor system can be applied to a base station apparatus of a wireless communication system. The following additional notes are further disclosed with respect to the embodiment including the above examples.
(付記1)
プロセッサを搭載し所定プログラムを格納する共通制御部と、それぞれプロセッサを搭載し前記所定プログラムを前記共通制御部から前記共通制御部とのプロセッサ間バスを介して取得して実行する複数の個別制御部とを有するマルチプロセッサシステムにおいて、
前記共通制御部のプロセッサは、前記個別制御部の少なくとも一つからのプログラムローディング要求に基づいて、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出し、
前記共通制御部は、前記共通制御部のプログラムメモリから出力される前記所定プログラムを取得し、前記所定プログラムのアドレスをローディング専用アドレスに変換して、アドレスが前記ローディング専用アドレスに変換された前記所定プログラムを前記プロセッサ間バスに出力するアドレス変換部を備え、
前記個別制御部のそれぞれは、
前記共通制御部に対してプログラムローディング要求を行うとともに、プログラムローディング要求が行われている間前記プロセッサ間バスを監視し、前記プロセッサ間バスにローディング専用アドレスを検出すると、該ローディング専用アドレスの前記所定プログラムを取得し、前記個別制御部のローカルメモリに格納するローディング制御部を備えることを特徴とするマルチプロセッサシステム。
(Appendix 1)
A common control unit that has a processor and stores a predetermined program, and a plurality of individual control units that each have a processor and that acquire and execute the predetermined program from the common control unit via the inter-processor bus with the common control unit In a multiprocessor system having
The processor of the common control unit reads the predetermined program stored in the program memory of the common control unit based on a program loading request from at least one of the individual control units,
The common control unit acquires the predetermined program output from the program memory of the common control unit, converts an address of the predetermined program into a loading-dedicated address, and converts the address into the loading-dedicated address. An address conversion unit for outputting a program to the inter-processor bus;
Each of the individual control units
A program loading request is made to the common control unit, and the interprocessor bus is monitored while the program loading request is being made. When a loading dedicated address is detected in the interprocessor bus, the predetermined loading address is determined. A multiprocessor system comprising a loading control unit that acquires a program and stores it in a local memory of the individual control unit.
(付記2)
付記1において、
前記共通制御部は、所定サイクル毎に前記共通制御部のプロセッサ及び複数の前記個別制御部のプロセッサのいずれか一つに対して前記プロセッサ間バスへのアクセス権を割り当てるバス調停部を備え、
前記バス調停部は、プログラムローディング要求に対応するアクセス権を前記共通制御部のプロセッサに割り当て、
前記共通制御部のプロセッサは、プログラムローディング要求が行われている間のアクセス権を取得したサイクルで、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出し、
前記共通制御部のプロセッサにアクセス権が割り当てられたサイクルで、複数の前記個別制御部が前記プログラムを取得することを特徴とするマルチプロセッサシステム。
(Appendix 2)
In
The common control unit includes a bus arbitration unit that assigns an access right to the inter-processor bus to any one of a processor of the common control unit and a plurality of processors of the individual control units every predetermined cycle,
The bus arbitration unit assigns an access right corresponding to a program loading request to a processor of the common control unit,
The processor of the common control unit reads the predetermined program stored in the program memory of the common control unit in a cycle in which an access right is acquired while a program loading request is performed,
A multiprocessor system, wherein a plurality of the individual control units acquire the program in a cycle in which an access right is assigned to a processor of the common control unit.
(付記3)
付記1において、
前記個別制御部の前記ローディング制御部は、プログラムローディング要求が行われた後最初に検出したローディング専用アドレスを記憶し、該記憶されたローディング専用アドレスと同一のアドレスを再度検出すると、前記所定プログラムの取得を停止し、前記個別制御部の前記ローディング制御部はプログラムローディング要求を解除し、
前記共通制御部のプロセッサは、複数の前記個別制御部からのプログラムローディング要求全てが解除されると、前記所定のプログラムの読み出しを終了することを特徴とするマルチプロセッサシステム。
(Appendix 3)
In
The loading control unit of the individual control unit stores a loading-dedicated address detected first after a program loading request is made, and detects the same address as the stored loading-dedicated address again. The acquisition is stopped, and the loading control unit of the individual control unit cancels the program loading request,
The processor of the common control unit ends reading of the predetermined program when all the program loading requests from the plurality of individual control units are canceled.
(付記4)
付記1において、
前記共通制御部は、前記個別制御部の前記ローディング制御部からのプログラムローディング要求を記憶する記憶素子を備え、
前記共通制御部のプロセッサは、前記記憶素子へのプログラムローディング要求の記憶の有無に基づいて、プログラムローディング要求及びその解除を検出することを特徴とするマルチプロセッサシステム。
(Appendix 4)
In
The common control unit includes a storage element that stores a program loading request from the loading control unit of the individual control unit,
The multi-processor system according to
(付記5)
付記3において、
前記ローディング制御部がプログラムローディング要求を解除すると、前記個別制御部のプロセッサは、前記個別制御部のローカルメモリに格納された前記所定プログラムを実行することを特徴とするマルチプロセッサシステム。
(Appendix 5)
In Appendix 3,
When the loading control unit cancels the program loading request, the processor of the individual control unit executes the predetermined program stored in a local memory of the individual control unit.
(付記6)
付記3において、
前記共通制御部のプロセッサは、前記プログラムメモリから読み出された前記所定プログラムを前記共通制御部のローカルメモリに格納し、前記所定のプログラムの読み出し終了後、前記共通制御部のローカルメモリに格納された前記所定プログラムを実行することを特徴とするマルチプロセッサシステム。
(Appendix 6)
In Appendix 3,
The processor of the common control unit stores the predetermined program read from the program memory in the local memory of the common control unit, and stores the predetermined program in the local memory of the common control unit after completing the reading of the predetermined program. A multiprocessor system that executes the predetermined program.
(付記7)
プロセッサを搭載し所定プログラムを格納する共通制御部と、それぞれプロセッサを搭載し前記所定プログラムを前記共通制御部から前記共通制御部とのプロセッサ間バスを介して取得して実行する複数の個別制御部とを有するマルチプロセッサシステムにおけるプログラムローディング方法において、
前記個別制御部のローディング制御部が、前記共通制御部に対してプログラムローディング要求を行うステップと、
前記共通制御部のプロセッサが、前記個別制御部の少なくとも一つからのプログラムローディング要求を検出すると、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出すステップと、
前記共通制御部のアドレス変換部が、前記共通制御部のプログラムメモリから出力される前記所定プログラムを取得し、前記所定プログラムのアドレスをローディング専用アドレスに変換して、アドレスが前記ローディング専用アドレスに変換された前記所定プログラムを前記プロセッサ間バスに出力するステップと、
前記個別制御部の前記ローディング制御部が、プログラムローディング要求が行われている間前記プロセッサ間バスを監視し、前記プロセッサ間バスにローディング専用アドレスを検出すると、該ローディング専用アドレスの前記所定プログラムを取得し、前記個別制御部のローカルメモリに格納するステップとを備えることを特徴とするプログラムローディング方法。
(Appendix 7)
A common control unit that has a processor and stores a predetermined program, and a plurality of individual control units that each have a processor and that acquire and execute the predetermined program from the common control unit via the inter-processor bus with the common control unit In a program loading method in a multiprocessor system having
The loading control unit of the individual control unit makes a program loading request to the common control unit;
When the processor of the common control unit detects a program loading request from at least one of the individual control units, reading the predetermined program stored in the program memory of the common control unit;
The address conversion unit of the common control unit acquires the predetermined program output from the program memory of the common control unit, converts the address of the predetermined program into a loading dedicated address, and converts the address into the loading dedicated address. Outputting the predetermined program to the inter-processor bus;
The loading control unit of the individual control unit monitors the inter-processor bus while a program loading request is being made, and acquires the predetermined program at the loading-dedicated address when a loading-dedicated address is detected in the inter-processor bus. And storing the program in a local memory of the individual control unit.
10:共通制御カード、11:MPU、12:ローカルメモリ、13:ブートメモリ、14:共通機能処理部、15:グローバルバスIF、16:グローバルバス調停部、17:メモリIF、18:システムメモリ、19:メモリIF/IPL領域IF、20:個別制御カード、21:MPU、22:ローカルメモリ、23:ブートメモリ、24:個別機能処理部、25:グローバルバスIF、26:IPL制御部、191:メモリIF、192:IPL要求レジスタ、193:グローバルバスアドレス変換部、261:IPL要求受付部、262:開始アドレス検出部、263:停止アドレス検出部、264:転送制御部、265:切替IF 10: common control card, 11: MPU, 12: local memory, 13: boot memory, 14: common function processing unit, 15: global bus IF, 16: global bus arbitration unit, 17: memory IF, 18: system memory, 19: Memory IF / IPL area IF, 20: Individual control card, 21: MPU, 22: Local memory, 23: Boot memory, 24: Individual function processing unit, 25: Global bus IF, 26: IPL control unit, 191: Memory IF, 192: IPL request register, 193: Global bus address conversion unit, 261: IPL request reception unit, 262: Start address detection unit, 263: Stop address detection unit, 264: Transfer control unit, 265: Switching IF
Claims (5)
前記共通制御部のプロセッサは、前記個別制御部の少なくとも一つからのプログラムローディング要求に基づいて、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出し、
前記共通制御部は、前記共通制御部のプログラムメモリから出力される前記所定プログラムを取得し、前記所定プログラムのアドレスをローディング専用アドレスに変換して、アドレスが前記ローディング専用アドレスに変換された前記所定プログラムを前記プロセッサ間バスに出力するアドレス変換部を備え、
前記個別制御部のそれぞれは、
前記共通制御部に対してプログラムローディング要求を行うとともに、プログラムローディング要求が行われている間前記プロセッサ間バスを監視し、前記プロセッサ間バスにローディング専用アドレスを検出すると、該ローディング専用アドレスの前記所定プログラムを取得し、前記個別制御部のローカルメモリに格納するローディング制御部を備えることを特徴とするマルチプロセッサシステム。 A common control unit that has a processor and stores a predetermined program, and a plurality of individual control units that each have a processor and that acquire and execute the predetermined program from the common control unit via the inter-processor bus with the common control unit In a multiprocessor system having
The processor of the common control unit reads the predetermined program stored in the program memory of the common control unit based on a program loading request from at least one of the individual control units,
The common control unit obtains the predetermined program output from the program memory of the common control unit, converts an address of the predetermined program into a loading-dedicated address, and converts the address into the loading-dedicated address. An address conversion unit for outputting a program to the inter-processor bus;
Each of the individual control units
A program loading request is made to the common control unit, and the interprocessor bus is monitored while the program loading request is being made. When a loading dedicated address is detected in the interprocessor bus, the predetermined loading address is determined. A multiprocessor system comprising a loading control unit that acquires a program and stores it in a local memory of the individual control unit.
前記共通制御部は、所定サイクル毎に前記共通制御部のプロセッサ及び複数の前記個別制御部のプロセッサのいずれか一つに対して前記プロセッサ間バスへのアクセス権を割り当てるバス調停部を備え、
前記バス調停部は、プログラムローディング要求に対応するアクセス権を前記共通制御部のプロセッサに割り当て、
前記共通制御部のプロセッサは、プログラムローディング要求が行われている間のアクセス権を取得したサイクルで、前記共通制御部のプログラムメモリに格納された前記所定プログラムを読み出し、
前記共通制御部のプロセッサにアクセス権が割り当てられたサイクルで、複数の前記個別制御部が前記プログラムを取得することを特徴とするマルチプロセッサシステム。 In claim 1,
The common control unit includes a bus arbitration unit that assigns an access right to the inter-processor bus to any one of a processor of the common control unit and a plurality of processors of the individual control units every predetermined cycle,
The bus arbitration unit assigns an access right corresponding to a program loading request to a processor of the common control unit,
The processor of the common control unit reads the predetermined program stored in the program memory of the common control unit in a cycle in which an access right is acquired while a program loading request is performed,
A multiprocessor system, wherein a plurality of the individual control units acquire the program in a cycle in which an access right is assigned to a processor of the common control unit.
前記個別制御部の前記ローディング制御部は、プログラムローディング要求が行われた後最初に検出したローディング専用アドレスを記憶し、該記憶されたローディング専用アドレスと同一のアドレスを再度検出すると、前記所定プログラムの取得を停止し、プログラムローディング要求を解除し、
前記共通制御部のプロセッサは、複数の前記個別制御部からのプログラムローディング要求全てが解除されると、前記所定のプログラムの読み出しを終了することを特徴とするマルチプロセッサシステム。 In claim 1,
The loading control unit of the individual control unit stores a loading-dedicated address detected first after a program loading request is made, and detects the same address as the stored loading-dedicated address again. Stop the acquisition, cancel the program loading request,
The processor of the common control unit ends reading of the predetermined program when all the program loading requests from the plurality of individual control units are canceled.
前記共通制御部は、前記個別制御部の前記ローディング制御部からのプログラムローディング要求を記憶する記憶素子を備え、
前記共通制御部のプロセッサは、前記記憶素子へのプログラムローディング要求の記憶の有無に基づいて、プログラムローディング要求及びその解除を検出することを特徴とするマルチプロセッサシステム。 In claim 1,
The common control unit includes a storage element that stores a program loading request from the loading control unit of the individual control unit,
The multi-processor system according to claim 1, wherein the processor of the common control unit detects a program loading request and cancellation thereof based on whether or not the program loading request is stored in the storage element.
前記ローディング制御部がプログラムローディング要求を解除すると、前記個別制御部のプロセッサは、前記個別制御部のローカルメモリに格納された前記所定プログラムを実行することを特徴とするマルチプロセッサシステム。 In claim 3,
When the loading control unit cancels the program loading request, the processor of the individual control unit executes the predetermined program stored in a local memory of the individual control unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008065132A JP2009223455A (en) | 2008-03-14 | 2008-03-14 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008065132A JP2009223455A (en) | 2008-03-14 | 2008-03-14 | Multiprocessor system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009223455A true JP2009223455A (en) | 2009-10-01 |
Family
ID=41240192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008065132A Pending JP2009223455A (en) | 2008-03-14 | 2008-03-14 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009223455A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015215789A (en) * | 2014-05-12 | 2015-12-03 | 富士通株式会社 | Base station device |
US10797249B2 (en) | 2017-05-23 | 2020-10-06 | Samsung Electronics Co., Ltd. | Organometallic compound, organic light-emitting device including the organometallic compound, and diagnostic composition including the organometallic compound |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62119661A (en) * | 1985-11-20 | 1987-05-30 | Fuji Electric Co Ltd | Access management system to shared memory |
JPH05265969A (en) * | 1992-03-19 | 1993-10-15 | Fujitsu Ltd | Communication method between cpu and service processor |
JPH05274141A (en) * | 1992-03-30 | 1993-10-22 | Toshiba Corp | Program loading system |
JPH09231069A (en) * | 1996-02-22 | 1997-09-05 | Canon Inc | Method and device for information processing |
JPH10283333A (en) * | 1997-04-02 | 1998-10-23 | Nec Corp | Multiprocessor system |
JP2003029994A (en) * | 2001-07-19 | 2003-01-31 | Nec Corp | Multi-cpu system and start-up method therefor |
-
2008
- 2008-03-14 JP JP2008065132A patent/JP2009223455A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62119661A (en) * | 1985-11-20 | 1987-05-30 | Fuji Electric Co Ltd | Access management system to shared memory |
JPH05265969A (en) * | 1992-03-19 | 1993-10-15 | Fujitsu Ltd | Communication method between cpu and service processor |
JPH05274141A (en) * | 1992-03-30 | 1993-10-22 | Toshiba Corp | Program loading system |
JPH09231069A (en) * | 1996-02-22 | 1997-09-05 | Canon Inc | Method and device for information processing |
JPH10283333A (en) * | 1997-04-02 | 1998-10-23 | Nec Corp | Multiprocessor system |
JP2003029994A (en) * | 2001-07-19 | 2003-01-31 | Nec Corp | Multi-cpu system and start-up method therefor |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015215789A (en) * | 2014-05-12 | 2015-12-03 | 富士通株式会社 | Base station device |
US10797249B2 (en) | 2017-05-23 | 2020-10-06 | Samsung Electronics Co., Ltd. | Organometallic compound, organic light-emitting device including the organometallic compound, and diagnostic composition including the organometallic compound |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0818736A2 (en) | System for assigning boot strap processor in symmetric multiprocessor computer with watchdog reset | |
JP5400443B2 (en) | Integrated circuit, debug circuit, and debug command control method | |
US7711941B2 (en) | Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit | |
US10789141B2 (en) | Information processing device and information processing method | |
CN113167831A (en) | Test system for performing self-test on deployed vehicle platform | |
JP5163120B2 (en) | Debug system, debugging method, and program | |
CN116244229A (en) | Access method and device of hardware controller, storage medium and electronic equipment | |
JP2009223455A (en) | Multiprocessor system | |
US9965290B2 (en) | Parallel computer, initialization method of parallel computer, and non-transitory medium for storing a program | |
US9880888B2 (en) | Executing an operating system in a multiprocessor computer system | |
US8417932B2 (en) | Information processing apparatus and control method thereof | |
US8176303B2 (en) | Multiprocessor communication device and methods thereof | |
JP2015118493A (en) | Trace device and trace program | |
JP4791792B2 (en) | Digital signal processor system and boot method thereof. | |
US9710359B2 (en) | Executing debug program instructions on a target apparatus processing pipeline | |
JP7236811B2 (en) | Information processing equipment | |
US7478025B1 (en) | System and method to support dynamic partitioning of units to a shared resource | |
US8244987B2 (en) | Memory access device including multiple processors | |
JP4853620B2 (en) | Multiprocessor system and initial startup method and program | |
US20240054076A1 (en) | Storage system | |
US11455248B2 (en) | Semiconductor device capable of performing software lock-step | |
JPH10283302A (en) | Method and system for supplying data to bus connected to plural processors | |
JP6549454B2 (en) | Information processing device | |
JP2007004364A (en) | Debug system, debug method, and program | |
JP2003280980A (en) | Shared memory exclusive control device and shared memory exclusive control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20101018 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120619 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20121016 |