JP2507964B2 - Program transfer method - Google Patents

Program transfer method

Info

Publication number
JP2507964B2
JP2507964B2 JP16012293A JP16012293A JP2507964B2 JP 2507964 B2 JP2507964 B2 JP 2507964B2 JP 16012293 A JP16012293 A JP 16012293A JP 16012293 A JP16012293 A JP 16012293A JP 2507964 B2 JP2507964 B2 JP 2507964B2
Authority
JP
Japan
Prior art keywords
cpu
program
local memory
transfer
ram
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
JP16012293A
Other languages
Japanese (ja)
Other versions
JPH06348671A (en
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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP16012293A priority Critical patent/JP2507964B2/en
Publication of JPH06348671A publication Critical patent/JPH06348671A/en
Application granted granted Critical
Publication of JP2507964B2 publication Critical patent/JP2507964B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は複数のCPUと、各CP
Uによって共用される外部記憶装置とを有するマルチプ
ロセッサシステムに於いて、システム立ち上げ時に外部
記憶装置から各CPUにプログラムを転送するプログラ
ム転送方式に関する。
The present invention relates to a plurality of CPUs and CPs.
In a multiprocessor system having an external storage device shared by U, the present invention relates to a program transfer system for transferring a program from the external storage device to each CPU when the system is started up.

【0002】[0002]

【従来の技術】複数のCPUを有するマルチプロセッサ
システムに於いては、システム立ち上げ時に、各CPU
が共有する外部記憶装置から各CPUのローカルメモリ
にプログラムを転送(初期プログラムロード)するとい
うことが従来から行なわれている。
2. Description of the Related Art In a multiprocessor system having a plurality of CPUs, each CPU is
It has been conventionally practiced to transfer a program (initial program load) from an external storage device shared by each CPU to the local memory of each CPU.

【0003】例えば、図4に示すようなマルチプロセッ
サシステムに於いては、以下のようにしてプログラムを
転送している。尚、図4に示したマルチプロセッサシス
テムは、それぞれがローカルメモリ42−1〜42−3
を有するCPU41−1〜41−3と、レジスタ44及
びRAM45を有する外部記憶装置43と、セマフォ4
7が設けられた共通メモリ46と、バスアービタ48
と、CPU41−1〜41−3,外部記憶装置43及び
共通メモリ46を接続する共通バス49から構成されて
いる。
For example, in a multiprocessor system as shown in FIG. 4, a program is transferred as follows. The multiprocessor system shown in FIG. 4 has local memories 42-1 to 42-3.
41-1 to 41-3 having an external storage device, an external storage device 43 having a register 44 and a RAM 45, and a semaphore 4
Common memory 46 provided with 7 and bus arbiter 48
And a common bus 49 that connects the CPUs 41-1 to 41-3, the external storage device 43, and the common memory 46.

【0004】システム立ち上げ時、各CPU41−1〜
41−3は初期プログラムロードを行なうために、図5
に示すように、先ず、バスアービタ48に対して共通バ
ス49の使用要求を行なう (ステップS11)。
When the system is started up, each CPU 41-1 to
41-3 is shown in FIG.
As shown in (1), first, a request to use the common bus 49 is issued to the bus arbiter 48 (step S11).

【0005】バスアービタ48は、各CPU41−1〜
41−3からバス使用要求が加えられると、その内の1
つに共通バス49の使用権を与える。
The bus arbiter 48 has CPUs 41-1 to 41-1.
When a bus use request is added from 41-3, one of them is sent.
One is given the right to use the common bus 49.

【0006】今、例えば、CPU41−1が共通バス4
9の使用権を獲得したとすると (ステップS12がYE
S)、CPU41−1は、セマフォ47の獲得を試みる
(ステップS13)。
Now, for example, the CPU 41-1 uses the common bus 4
If the usage right of 9 is acquired (step S12 is YE
S), the CPU 41-1 tries to acquire the semaphore 47.
(Step S13).

【0007】そして、セマフォ47の獲得に失敗した場
合 (ステップS14がNO)は、CPU41−1は、ス
テップS11の処理に戻り、成功した場合 (ステップS
14がYES)は、RAM45に格納されているプログ
ラムを自CPU内のローカルメモリ42−1に転送する
(ステップS15)。
If the acquisition of the semaphore 47 has failed (NO in step S14), the CPU 41-1 returns to the process of step S11, and if successful (step S14).
14 is YES), the program stored in the RAM 45 is transferred to the local memory 42-1 in the own CPU.
(Step S15).

【0008】ここで、プログラムの転送は、具体的には
次のようにして行なわれる。即ち、CPU41−1は、
先ず、転送しようとするプログラムの先頭アドレスの上
位ビットをレジスタ44にセットし、下位ビットをRA
M45に与える。これにより、RAM45の上記上位ビ
ット,下位ビットによって示されるアドレスからプログ
ラムの先頭部分が読み出され、共通バス49を介してC
PU41−1に送られる。CPU41−1は送られてき
たプログラムの先頭部分をローカルメモリ42−1に格
納し、共通バス49の使用権を放棄する。
Here, the transfer of the program is specifically performed as follows. That is, the CPU 41-1
First, the upper bit of the start address of the program to be transferred is set in the register 44, and the lower bit is RA.
Give to M45. As a result, the head portion of the program is read from the address indicated by the upper bit and the lower bit of the RAM 45, and C is read via the common bus 49.
It is sent to PU 41-1. The CPU 41-1 stores the head portion of the transmitted program in the local memory 42-1 and abandons the right to use the common bus 49.

【0009】その後、CPU41−1は、バスアービタ
48に対して共通バス49の使用要求を行ない、共通バ
ス49の使用権を得ると、RAM45に与える下位ビッ
トを+1する。これにより、プログラムの次の部分がR
AM45から読み出され、CPU41−1内のローカル
メモリ42−1に書き込まれる。以下、CPU41−1
は、共通バス49の使用権を得る毎に、RAM45に与
える下位ビットを順次+1し、転送するプログラムの内
のレジスタ44にセットした上位ビットによって示すこ
とが可能な部分を順次転送する。そして、上記上位ビッ
トによって示すことが可能な部分を全て転送すると、C
PU41−1はレジスタ44にセットされている上位ア
ドレスを更新し、以下前述したと同様にRAM45に与
える下位ビットを順次更新する。
After that, the CPU 41-1 requests the bus arbiter 48 to use the common bus 49, and when the right to use the common bus 49 is obtained, the lower bit given to the RAM 45 is incremented by one. This causes the next part of the program to
It is read from the AM 45 and written in the local memory 42-1 in the CPU 41-1. Below, CPU 41-1
Each time the use right of the common bus 49 is obtained, the lower bit given to the RAM 45 is sequentially incremented by 1, and the portion which can be indicated by the upper bit set in the register 44 of the program to be transferred is sequentially transferred. Then, when all the parts that can be indicated by the upper bits are transferred, C
The PU 41-1 updates the high-order address set in the register 44 and sequentially updates the low-order bits given to the RAM 45 in the same manner as described above.

【0010】上記した処理を繰り返し行なうことによ
り、プログラムの転送が完了すると、CPU41−1は
セマフォ47を解放する (ステップS16)。
When the program transfer is completed by repeating the above processing, the CPU 41-1 releases the semaphore 47 (step S16).

【0011】CPU41−1がセマフォ47を解放する
と、CPU41−2,41−3の内の一方(CPU41
−2とする)がセマフォ47を獲得し、前述したと同様
にしてプログラムの転送を行ない、CPU41−2のプ
ログラム転送が完了すると、CPU41−3がセマフォ
47を獲得し、プログラムの転送を行なう。
When the CPU 41-1 releases the semaphore 47, one of the CPUs 41-2 and 41-3 (CPU 41
-2) acquires the semaphore 47 and transfers the program in the same manner as described above. When the program transfer of the CPU 41-2 is completed, the CPU 41-3 acquires the semaphore 47 and transfers the program.

【0012】[0012]

【発明が解決しようとする課題】上述した従来方式は、
システム立ち上げ時、マルチプロセッサシステムを構成
する各CPUが順次プログラムの転送を行なうため、全
てのCPUがプログラムの転送を完了し、運用状態にな
るまでは、それ以前にプログラムの転送を完了し、運用
状態になっているCPUが長時間にわたって高負荷にな
るという問題があった。即ち、早くプログラムの転送が
終了したCPUが長時間にわたって高負荷になるという
問題があった。
The above-mentioned conventional method is
When the system is started up, each CPU constituting the multiprocessor system sequentially transfers the program. Therefore, all the CPUs complete the program transfer and complete the program transfer before the operation state, There has been a problem that the CPU in the operating state has a heavy load for a long time. That is, there has been a problem that the CPU, which has completed the transfer of the program early, becomes heavily loaded for a long time.

【0013】本発明の目的は、マルチプロセッサシステ
ムの立ち上げ時に、特定のCPUが長時間にわたって高
負荷になることを防止できるプログラム転送方式を提供
することにある。
It is an object of the present invention to provide a program transfer system capable of preventing a particular CPU from being overloaded for a long time when starting up a multiprocessor system.

【0014】[0014]

【課題を解決するための手段】本発明は上記目的を達成
するため、それぞれがローカルメモリを有する複数のC
PUと、該各CPUと共用バスを介して接続された外部
記憶装置とを備えたマルチプロセッサシステムのシステ
ム立ち上げ時に、前記外部記憶装置から前記各CPUの
ローカルメモリにプログラムを転送するプログラム転送
方式に於いて、前記外部記憶装置に、プログラムが格納
されるRAMと、前記各CPUに対応して設けられ、ロ
ーカルメモリアドレス,RAMアドレス及び転送量がセ
ットされる複数の制御レジスタと、一定量のプログラム
の転送が行なわれる毎に、対応する制御レジスタにセッ
トされている転送量が零でないCPUに対するプログラ
ムの転送が均等に行なわれるようにプログラムの転送先
となるCPUを決定する調停回路と、前記共通バスの使
用権を獲得することにより、前記調停回路で決定された
CPUと対応する制御レジスタにセットされているロー
カルメモリアドレス及びRAMアドレスに基づいて、前
記RAMから前記調停回路で決定されたCPU内のロー
カルメモリへ前記一定量のプログラムを転送すると共
に、前記制御レジスタの内容を更新する転送回路とを設
け、前記各CPUは、システム立ち上げ時、前記共通バ
スの使用権を獲得することにより、自CPUに対応する
前記制御レジスタにローカルメモリアドレス,RAMア
ドレス及び転送量をセットするように構成したものであ
る。
In order to achieve the above object, the present invention provides a plurality of Cs each having a local memory.
A program transfer method for transferring a program from the external storage device to the local memory of each CPU at the time of system startup of a multiprocessor system including a PU and an external storage device connected to each CPU via a shared bus In the external storage device, a RAM in which a program is stored, a plurality of control registers provided corresponding to each of the CPUs, in which a local memory address, a RAM address and a transfer amount are set, and a fixed amount of An arbitration circuit that determines the CPUs to which the programs are transferred so that the programs are evenly transferred to the CPUs whose transfer amounts are not zero set in the corresponding control registers each time the programs are transferred; By acquiring the right to use the common bus, it corresponds to the CPU determined by the arbitration circuit. Based on the local memory address and the RAM address set in the control register, the fixed amount of the program is transferred from the RAM to the local memory in the CPU determined by the arbitration circuit, and the content of the control register is updated. Each of the CPUs acquires a right to use the common bus when the system is started up, thereby setting a local memory address, a RAM address and a transfer amount in the control register corresponding to the own CPU. It is configured as follows.

【0015】[0015]

【作用】システム立ち上げ時、各CPUは、共通バスの
使用権を獲得することにより、自CPUと対応する制御
レジスタにローカルメモリアドレス,RAMアドレス,
転送量をセットする。
When the system is started up, each CPU acquires the right to use the common bus, and the local memory address, RAM address,
Set the transfer amount.

【0016】調停回路は、一定量のプログラムの転送が
行なわれる毎に、対応する制御レジスタにセットされて
いる転送量が零でないCPUに対するプログラムの転送
が均等に行なわれるようにプログラムの転送先となるC
PUを決定する。
The arbitration circuit serves as a program transfer destination so that the program is transferred evenly to CPUs whose transfer amount set in the corresponding control register is not zero each time a fixed amount of the program is transferred. Become C
Determine the PU.

【0017】転送回路は、共通バスの使用権を獲得する
と、調停回路が決定したCPUに対応する制御レジスタ
にセットされているローカルメモリアドレス及びRAM
アドレスに基づいて、RAMから調停回路が決定したC
PU内のローカルメモリに一定量のプログラムを転送
し、更に、対応する制御レジスタの内容を更新する。
When the transfer circuit acquires the right to use the common bus, the transfer circuit acquires the local memory address and the RAM set in the control register corresponding to the CPU determined by the arbitration circuit.
C determined by the arbitration circuit from the RAM based on the address
A certain amount of program is transferred to the local memory in PU, and the content of the corresponding control register is updated.

【0018】[0018]

【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
Embodiments of the present invention will now be described in detail with reference to the drawings.

【0019】図1は本発明の実施例のブロック図であ
り、複数のCPU1−1〜1−3と、外部記憶装置4
と、共通メモリ9と、バスアービタ10と、共通バス1
1とから構成されている。
FIG. 1 is a block diagram of an embodiment of the present invention, which includes a plurality of CPUs 1-1 to 1-3 and an external storage device 4.
, Common memory 9, bus arbiter 10, and common bus 1
1 and 1.

【0020】外部記憶装置4,共通メモリ9は共通バス
11を介して各CPU1−1〜1−3からアクセス可能
になっている。
The external storage device 4 and the common memory 9 can be accessed from each of the CPUs 1-1 to 1-3 through the common bus 11.

【0021】各CPU1−1〜1−3は、それぞれロー
カルメモリ2−1〜2−3と、自CPU1−1〜1−3
のCPU番号が設定されたレジスタ3−1〜3−3とを
有している。
Each of the CPUs 1-1 to 1-3 has its own local memory 2-1 to 2-3 and its own CPU 1-1 to 1-3.
Register 3-1 to 3-3 in which the CPU numbers of the above are set.

【0022】外部記憶装置4は、各CPU1−1〜1−
3に対応した制御レジスタ5−1〜5−3と、調停回路
6と、転送回路7と、各CPU1−1〜1−3に転送す
るプログラムが格納されたRAM8とを有している。
The external storage device 4 has CPUs 1-1 to 1-
3 has control registers 5-1 to 5-3, an arbitration circuit 6, a transfer circuit 7, and a RAM 8 storing a program to be transferred to each of the CPUs 1-1 to 1-3.

【0023】CPU1−1に対応した制御レジスタ5−
1には、図2に示すように、ローカルメモリ2−1に於
けるプログラム格納部分の先頭アドレス(ローカルメモ
リアドレス)51−1と、RAM8に格納されているプ
ログラムの内、CPU1−1に転送するプログラムの先
頭アドレス(RAMアドレス)52−1と、転送バイト
数53−1とがセットされる。制御レジスタ5−2,5
−3についても同様の情報がセットされる。尚、以下の
説明に於いては、制御レジスタ5−i(1≦i≦3)に
セットされるローカルメモリアドレス,RAMアドレ
ス,転送バイト数をそれぞれ51−i,52−i,53
−iと表す。
Control register 5-corresponding to CPU 1-1
2, the first address (local memory address) 51-1 of the program storage portion in the local memory 2-1 and the program stored in the RAM 8 are transferred to the CPU 1-1. The start address (RAM address) 52-1 of the program to be executed and the number of transfer bytes 53-1 are set. Control register 5-2, 5
Similar information is set for -3. In the following description, the local memory address, RAM address, and transfer byte number set in the control register 5-i (1≤i≤3) are 51-i, 52-i, and 53, respectively.
-I.

【0024】調停回路6は、1回のデータ転送サイクル
毎にラウンドロビン方式で、プログラムの転送を行なう
CPUを決定し、転送回路7に対して上記CPUへプロ
グラムを転送することを指示する機能を有する。尚、本
実施例では、1回のデータ転送サイクルで1バイト分の
プログラムが転送されるとする。
The arbitration circuit 6 has a function of determining a CPU to transfer a program in a round robin method for each data transfer cycle and instructing the transfer circuit 7 to transfer the program to the CPU. Have. In this embodiment, it is assumed that one byte of program is transferred in one data transfer cycle.

【0025】転送回路7は、調停回路6からプログラム
の転送が指示されることにより、RAM8に格納されて
いるプログラムを1バイト分、指示されたCPU内のロ
ーカルメモリに転送する機能を有する。
The transfer circuit 7 has a function of transferring one byte of the program stored in the RAM 8 to the local memory in the instructed CPU when the transfer of the program is instructed by the arbitration circuit 6.

【0026】図3はCPU1−1〜1−3の処理例を示
す流れ図であり、以下各図を参照して動作を説明する。
FIG. 3 is a flow chart showing a processing example of the CPUs 1-1 to 1-3, and the operation will be described below with reference to each drawing.

【0027】システム立ち上げ時、各CPU1−1〜1
−3は、初期プログラムロードを行なうため、図3に示
すように、バスアービタ10に対して共通バス11の使
用要求を行なう (ステップS1)。
At system startup, each CPU 1-1 to 1
In order to perform the initial program loading, -3 requests the bus arbiter 10 to use the common bus 11 as shown in FIG. 3 (step S1).

【0028】バスアービタ10は、各CPU1−1〜1
−3から使用要求が行なわれると、その内の1つに共通
バス11の使用権を与える。
The bus arbiter 10 has CPUs 1-1 to 1-1.
When a usage request is made from -3, the usage right of the common bus 11 is given to one of them.

【0029】今、例えば、CPU1−1に共通バス11
の使用権が与えられたとすると (ステップS2)、CP
U1−1はレジスタ3−1の内容を読み込み、自CPU
のCPU番号を獲得する (ステップS3)。
Now, for example, the common bus 11 to the CPU 1-1
If the right to use is given (step S2), the CP
U1-1 reads the contents of register 3-1 and uses its own CPU
To obtain the CPU number (step S3).

【0030】その後、CPU1−1は、外部記憶装置4
内の制御レジスタ5−1〜5−3の内、ステップS3で
取得したCPU番号に対応した制御レジスタ5−1に、
ローカルメモリアドレス51−1,RAMアドレス52
−1及び転送バイト数53−1をセットし、共通バス1
1の使用権を放棄する (ステップS4)。
Thereafter, the CPU 1-1 causes the external storage device 4 to
Among the control registers 5-1 to 5-3 in the above, to the control register 5-1 corresponding to the CPU number acquired in step S3,
Local memory address 51-1, RAM address 52
-1 and the number of transfer bytes 53-1 are set, and the common bus 1
The usage right of 1 is abandoned (step S4).

【0031】調停回路4は、制御レジスタ5−1〜5−
3の転送バイト数53−1〜53−3を循環的に参照し
ており、転送バイト数が「0」でない制御レジスタ5−
iを検出すると、転送回路7に対して制御レジスタ5−
iと対応するCPU1−i内のローカルメモリ2−iに
プログラムを1バイト転送することを指示する。この例
では、CPU1−1に対応する制御レジスタ5−1の転
送バイト数53−1のみが「0」でなくなったので、調
停回路4は、転送回路7に対してCPU1−1内のロー
カルメモリ2−1へのプログラム転送を指示することに
なる。
The arbitration circuit 4 includes control registers 5-1 to 5-
The number of transfer bytes 53-1 to 53-3 of 3 is circularly referenced, and the number of transfer bytes is not "0".
When i is detected, the control register 5-
It is instructed to transfer 1 byte of the program to the local memory 2-i in the CPU 1-i corresponding to i. In this example, since only the transfer byte number 53-1 of the control register 5-1 corresponding to the CPU 1-1 is not “0”, the arbitration circuit 4 instructs the transfer circuit 7 to transfer the local memory in the CPU 1-1. It will instruct to transfer the program to 2-1.

【0032】この指示を受けると、転送回路7はバスア
ービタ10に対して共通バス11の使用要求を行なう。
Upon receiving this instruction, the transfer circuit 7 requests the bus arbiter 10 to use the common bus 11.

【0033】この時、バスアービタ10には、CPU1
−2,1−3からの使用要求が既に加えられているの
で、転送回路7には共通バス11の使用権は与えられ
ず、CPU1−2或いはCPU1−3に使用権が与えら
れることになる。
At this time, the bus arbiter 10 has a CPU 1
Since the usage requests from -2 and 1-3 are already added, the usage right of the common bus 11 is not given to the transfer circuit 7, but the usage right is given to the CPU 1-2 or the CPU 1-3. .

【0034】共通バス11の使用権が与えられたCPU
1−2或いはCPU1−3は、前述したCPU1−1と
同様に、自CPU1−2,1−3に対応する制御レジス
タ5−2,5−3にローカルメモリアドレス,RAMア
ドレス,転送バイト数をセットする(ステップS1〜S
4)。
CPU to which the right to use the common bus 11 is given
1-2 or the CPU 1-3, like the CPU 1-1 described above, stores the local memory address, the RAM address, and the transfer byte number in the control registers 5-2 and 5-3 corresponding to the own CPUs 1-2 and 1-3. Set (steps S1 to S
4).

【0035】上述したようにして全てのCPU1−1〜
1−3が対応する制御レジスタ5−1〜5−3に、ロー
カルメモリアドレス,RAMアドレス,転送バイト数を
セットすると、バスアービタ10は転送回路7に共通バ
ス11の使用権を与える。
As described above, all CPUs 1-1 to 1-1
When the local memory address, the RAM address, and the number of transfer bytes are set in the control registers 5-1 to 5-3 corresponding to 1-3, the bus arbiter 10 gives the transfer circuit 7 the right to use the common bus 11.

【0036】転送回路7は、共通バス11の使用権が与
えられると、調停回路6から指示されているCPU1−
1内のローカルメモリ2−1にプログラムを転送するた
めに、CPU1−1に対応する制御レジスタ5−1を参
照する。
When the transfer circuit 7 is given the right to use the common bus 11, the CPU 1-instructed by the arbitration circuit 6
In order to transfer the program to the local memory 2-1 in 1, the control register 5-1 corresponding to the CPU 1-1 is referred to.

【0037】そして、制御レジスタ5−1内にセットさ
れているRAMアドレス52−1によって示されるRA
M8のアドレスからプログラムを1バイト分取り出して
共通バス11に出力すると共に、制御レジスタ5−1内
にセットされているローカルメモリアドレス51−1を
共通バス11に出力する。これにより、RAM8から取
り出された1バイト分のプログラムがローカルメモリ2
−1に書き込まれる。
The RA indicated by the RAM address 52-1 set in the control register 5-1
The program extracts one byte from the address of M8 and outputs it to the common bus 11, and outputs the local memory address 51-1 set in the control register 5-1 to the common bus 11. As a result, the 1-byte program fetched from the RAM 8 is stored in the local memory 2
Written to -1.

【0038】その後、転送回路7は、制御レジスタ5−
1にセットされているローカルメモリアドレス51−
1,RAMアドレス52−1を+1すると共に、転送バ
イト数53−1を−1する。更に、転送回路7は共通バ
ス11の使用権を放棄すると共に、調停回路6に対して
1バイト分のプログラムの転送が終了したことを通知す
る。
After that, the transfer circuit 7 controls the control register 5-
Local memory address set to 1 51-
1, the RAM address 52-1 is incremented by 1 and the transfer byte number 53-1 is decremented by -1. Further, the transfer circuit 7 relinquishes the right to use the common bus 11 and notifies the arbitration circuit 6 that the transfer of the program of 1 byte is completed.

【0039】この通知を受けると、調停回路6は、前回
参照した制御レジスタ5−1の次の制御レジスタ5−2
を参照する。この時、制御レジスタ5−2にセットされ
ている転送バイト数53−2は「0」でないので、調停
回路6は転送回路7に対して制御レジスタ5−2と対応
するCPU1−2内のローカルメモリ2−2に1バイト
分のプログラムを転送することを指示する。もし、制御
レジスタ5−2にセットされている転送バイト数53−
2が「0」であれば、調停回路6は次の制御レジスタ5
−3を参照し、同様の処理を行なう。
Upon receiving this notification, the arbitration circuit 6 controls the control register 5-2 next to the control register 5-1 referred to previously.
Refer to. At this time, since the number of transfer bytes 53-2 set in the control register 5-2 is not "0", the arbitration circuit 6 sends the transfer circuit 7 the local register in the CPU 1-2 corresponding to the control register 5-2. It is instructed to transfer a 1-byte program to the memory 2-2. If the number of transfer bytes set in the control register 5-2 53-
If 2 is “0”, the arbitration circuit 6 sends the next control register 5
-3, the same processing is performed.

【0040】調停回路6から上記した指示を受けると、
転送回路7はCPU1−2に対応する制御レジスタ5−
2の内容に基づいて、1バイト分のプログラムをRAM
8からCPU1−2内のローカルメモリ2−2に転送す
る。
When the above instruction is received from the arbitration circuit 6,
The transfer circuit 7 is a control register 5-corresponding to the CPU 1-2.
1 byte of program RAM based on the contents of 2
8 to the local memory 2-2 in the CPU 1-2.

【0041】以下、前述したと同様の処理が繰り返し行
なわれ、各CPU1−1〜1−3に循環的に、1バイト
ずつプログラムが転送される。尚、プログラムの転送が
終了したCPUがある場合は、そのCPUに対応する制
御レジスタにセットされている転送バイト数は「0」で
あり、調停回路6は、上記CPUに対するプログラムの
転送を転送回路7に指示することはないので、転送の終
了したCPUを除いたCPUに循環的に1バイトずつプ
ログラムが転送される。
Thereafter, the same processing as described above is repeated, and the program is cyclically transferred byte by byte to each of the CPUs 1-1 to 1-3. If there is a CPU that has finished transferring the program, the number of transfer bytes set in the control register corresponding to that CPU is “0”, and the arbitration circuit 6 transfers the program to the CPU. 7 is not instructed, the program is cyclically transferred byte by byte to CPUs other than the CPU whose transfer has been completed.

【0042】そして、各制御レジスタ5−1〜5−3に
セットされている転送バイト数が全て「0」となること
により、全てのCPUに対するプログラムの転送が終了
する。
When the number of transfer bytes set in each of the control registers 5-1 to 5-3 becomes "0", the transfer of the program to all CPUs is completed.

【0043】[0043]

【発明の効果】以上説明したように、本発明は、各CP
Uに並列的にプログラムが転送されるようにしたもので
あり、各CPUの運用開始時刻(プログラムの転送完了
時刻)のばらつきを少ないものにすることができるの
で、従来方式のように、特定のCPU(早く運用状態に
なったCPU)が長時間にわたって高負荷になるという
ことがなくなる効果がある。
As described above, according to the present invention, each CP
The program is transferred to U in parallel, and the variation in the operation start time (transfer completion time of the program) of each CPU can be reduced. This has the effect of preventing the CPU (CPU that has entered the operating state quickly) from becoming heavily loaded for a long time.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of the present invention.

【図2】制御レジスタ5−1の内容例を示す図である。FIG. 2 is a diagram showing an example of contents of a control register 5-1.

【図3】CPU1−1〜1−3の処理例を示す流れ図で
ある。
FIG. 3 is a flowchart showing a processing example of CPUs 1-1 to 1-3.

【図4】従来例のブロック図である。FIG. 4 is a block diagram of a conventional example.

【図5】CPU41−1〜41−3の処理例を示す流れ
図である。
FIG. 5 is a flowchart showing a processing example of CPUs 41-1 to 41-3.

【符号の説明】[Explanation of symbols]

1−1〜1−3,41−1〜41−3…CPU 2−1〜2−3,42−1〜42−3…ローカルメモリ 3−1〜3−3,44…レジスタ 4,43…外部記憶装置 5−1〜5−3…制御レジスタ 6…調停回路 7…転送回路 8,45…RAM 9,46…共通メモリ 10,48…バスアービタ 11,49…共通バス 47…セマフォ 1-1 to 1-3, 41-1 to 41-3 ... CPU 2-1 to 2-3, 42-1 to 42-3 ... Local memory 3-1 to 3-3, 44 ... Register 4, 43 ... External storage device 5-1 to 5-3 ... Control register 6 ... Arbitration circuit 7 ... Transfer circuit 8, 45 ... RAM 9, 46 ... Common memory 10, 48 ... Bus arbiter 11, 49 ... Common bus 47 ... Semaphore

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 それぞれがローカルメモリを有する複数
のCPUと、該各CPUと共通バスを介して接続された
外部記憶装置とを備えたマルチプロセッサシステムのシ
ステム立ち上げ時に、前記外部記憶装置から前記各CP
Uのローカルメモリにプログラムを転送するプログラム
転送方式に於いて、 前記外部記憶装置は、 プログラムが格納されるRAMと、 前記各CPUに対応して設けられ、ローカルメモリアド
レス,RAMアドレス及び転送量がセットされる複数の
制御レジスタと、 一定量のプログラムの転送が行なわれる毎に、対応する
制御レジスタにセットされている転送量が零でないCP
Uに対するプログラムの転送が均等に行なわれるように
プログラムの転送先となるCPUを決定する調停回路
と、 前記共通バスの使用権を獲得することにより、前記調停
回路で決定されたCPUと対応する制御レジスタにセッ
トされているローカルメモリアドレス及びRAMアドレ
スに基づいて、前記RAMから前記調停回路で決定され
たCPU内のローカルメモリへ前記一定量のプログラム
を転送すると共に、前記制御レジスタの内容を更新する
転送回路とを有し、 前記各CPUは、 システム立ち上げ時、前記共通バスの使用権を獲得する
ことにより、自CPUに対応する前記制御レジスタにロ
ーカルメモリアドレス,RAMアドレス及び転送量をセ
ットすることを特徴とするプログラム転送方式。
1. A multiprocessor system comprising a plurality of CPUs each having a local memory, and an external storage device connected to each CPU via a common bus. Each CP
In a program transfer method for transferring a program to a U local memory, the external storage device is provided corresponding to each of the RAM for storing the program and each of the CPUs, and has a local memory address, a RAM address and a transfer amount. Each time a certain amount of program is transferred and a plurality of control registers to be set, the transfer amount set in the corresponding control register is not zero CP
An arbitration circuit that determines the CPU to which the program is transferred so that the programs are transferred to U evenly, and a control corresponding to the CPU that is determined by the arbitration circuit by acquiring the right to use the common bus. Based on the local memory address and the RAM address set in the register, the fixed amount of the program is transferred from the RAM to the local memory in the CPU determined by the arbitration circuit, and the content of the control register is updated. Each of the CPUs acquires a right to use the common bus when the system is started up, and sets a local memory address, a RAM address and a transfer amount in the control register corresponding to the own CPU. A program transfer method characterized in that
【請求項2】 前記各CPUが自CPUに対応する前記
制御レジスタにセットするローカルメモリアドレスは、
自CPU内のローカルメモリのプログラム格納部分の先
頭アドレスを示し、RAMアドレスは、前記RAMから
転送しようとするプログラムの先頭アドレスを示すこと
を特徴とする請求項1記載のプログラム転送方式。
2. A local memory address set by each CPU in the control register corresponding to its own CPU is
2. The program transfer method according to claim 1, wherein a start address of a program storage portion of a local memory in the own CPU is shown, and a RAM address is a start address of a program to be transferred from the RAM.
JP16012293A 1993-06-04 1993-06-04 Program transfer method Expired - Fee Related JP2507964B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16012293A JP2507964B2 (en) 1993-06-04 1993-06-04 Program transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16012293A JP2507964B2 (en) 1993-06-04 1993-06-04 Program transfer method

Publications (2)

Publication Number Publication Date
JPH06348671A JPH06348671A (en) 1994-12-22
JP2507964B2 true JP2507964B2 (en) 1996-06-19

Family

ID=15708348

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16012293A Expired - Fee Related JP2507964B2 (en) 1993-06-04 1993-06-04 Program transfer method

Country Status (1)

Country Link
JP (1) JP2507964B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0353455A3 (en) * 1988-07-07 1990-02-28 Siemens Aktiengesellschaft Information storage device with at least one storage disc and one servo disc as well as method for operating the device
JP5061438B2 (en) * 2005-08-29 2012-10-31 富士通株式会社 Information processing apparatus, activation method, and activation program

Also Published As

Publication number Publication date
JPH06348671A (en) 1994-12-22

Similar Documents

Publication Publication Date Title
US5696989A (en) Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation
JPH02235156A (en) Information processor
US5287471A (en) Data transfer controller using direct memory access method
US5146581A (en) Subprogram executing data processing system having bank switching control storing in the same address area in each of memory banks
JP3055917B2 (en) Data transfer control device
JP2001216194A (en) Arithmetic processor
US6581119B1 (en) Interrupt controller and a microcomputer incorporating this controller
US4670835A (en) Distributed control store word architecture
JP2507964B2 (en) Program transfer method
EP0410382A2 (en) Data transfer controller using direct memory access method
JP3216965B2 (en) Data receiving apparatus, method, and system
JP3130798B2 (en) Bus transfer device
US20030177229A1 (en) Microcomputer, bus control circuit, and data access method for a microcomputer
JP2581234B2 (en) Arithmetic unit
JPH0414378B2 (en)
EP0419174A2 (en) Data processing apparatus based on microprogram control
JP2781999B2 (en) Startup method of common data channel device in multiprocessor system
JP3139310B2 (en) Digital signal processor
JP2526644B2 (en) Data processing device
JP2594611B2 (en) DMA transfer control device
JP2871171B2 (en) Microcomputer
JPS6229813B2 (en)
JPH0685154B2 (en) Intermediate buffer control method
JPS62214442A (en) Instruction advance reader
JPH10134013A (en) Multi-cpu system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees