JPH06348671A - プログラム転送方式 - Google Patents
プログラム転送方式Info
- Publication number
- JPH06348671A JPH06348671A JP16012293A JP16012293A JPH06348671A JP H06348671 A JPH06348671 A JP H06348671A JP 16012293 A JP16012293 A JP 16012293A JP 16012293 A JP16012293 A JP 16012293A JP H06348671 A JPH06348671 A JP H06348671A
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- program
- transfer
- local memory
- 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.)
- Granted
Links
Landscapes
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 マルチプロセッサシステムに於いて、システ
ム立ち上げ時に、各CPUにプログラムを並列的に転送
することにより、特定のCPUに長時間にわたって負荷
が集中しないようにする。 【構成】 各CPU1−1〜1−3は、システム立ち上
げ時、対応する制御レジスタ5−iにローカルメモリア
ドレス,RAMアドレス,転送バイト数をセットする。
調停回路6は、転送要求があった各CPUに均等にプロ
グラムが転送されるように、1回のデータ転送サイクル
毎に、プログラムの転送先とするCPUを決定する。転
送回路7は、調停回路6が転送先としたCPU1−iと
対応する制御レジスタ5−iの内容に基づいて、1回の
データ転送動作を行ない、RAM8からローカルメモリ
2−iにプログラムを転送する。また、転送回路7は転
送先のCPU1−iに対応する制御レジスタ5−iの内
容を更新する。
ム立ち上げ時に、各CPUにプログラムを並列的に転送
することにより、特定のCPUに長時間にわたって負荷
が集中しないようにする。 【構成】 各CPU1−1〜1−3は、システム立ち上
げ時、対応する制御レジスタ5−iにローカルメモリア
ドレス,RAMアドレス,転送バイト数をセットする。
調停回路6は、転送要求があった各CPUに均等にプロ
グラムが転送されるように、1回のデータ転送サイクル
毎に、プログラムの転送先とするCPUを決定する。転
送回路7は、調停回路6が転送先としたCPU1−iと
対応する制御レジスタ5−iの内容に基づいて、1回の
データ転送動作を行ない、RAM8からローカルメモリ
2−iにプログラムを転送する。また、転送回路7は転
送先のCPU1−iに対応する制御レジスタ5−iの内
容を更新する。
Description
【0001】
【産業上の利用分野】本発明は複数のCPUと、各CP
Uによって共用される外部記憶装置とを有するマルチプ
ロセッサシステムに於いて、システム立ち上げ時に外部
記憶装置から各CPUにプログラムを転送するプログラ
ム転送方式に関する。
Uによって共用される外部記憶装置とを有するマルチプ
ロセッサシステムに於いて、システム立ち上げ時に外部
記憶装置から各CPUにプログラムを転送するプログラ
ム転送方式に関する。
【0002】
【従来の技術】複数のCPUを有するマルチプロセッサ
システムに於いては、システム立ち上げ時に、各CPU
が共有する外部記憶装置から各CPUのローカルメモリ
にプログラムを転送(初期プログラムロード)するとい
うことが従来から行なわれている。
システムに於いては、システム立ち上げ時に、各CPU
が共有する外部記憶装置から各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から構成されて
いる。
サシステムに於いては、以下のようにしてプログラムを
転送している。尚、図4に示したマルチプロセッサシス
テムは、それぞれがローカルメモリ42−1〜42−3
を有するCPU41−1〜41−3と、レジスタ44及
びRAM45を有する外部記憶装置43と、セマフォ4
7が設けられた共通メモリ46と、バスアービタ48
と、CPU41−1〜41−3,外部記憶装置43及び
共通メモリ46を接続する共通バス49から構成されて
いる。
【0004】システム立ち上げ時、各CPU41−1〜
41−3は初期プログラムロードを行なうために、図5
に示すように、先ず、バスアービタ48に対して共通バ
ス49の使用要求を行なう (ステップS11)。
41−3は初期プログラムロードを行なうために、図5
に示すように、先ず、バスアービタ48に対して共通バ
ス49の使用要求を行なう (ステップS11)。
【0005】バスアービタ48は、各CPU41−1〜
41−3からバス使用要求が加えられると、その内の1
つに共通バス49の使用権を与える。
41−3からバス使用要求が加えられると、その内の1
つに共通バス49の使用権を与える。
【0006】今、例えば、CPU41−1が共通バス4
9の使用権を獲得したとすると (ステップS12がYE
S)、CPU41−1は、セマフォ47の獲得を試みる
(ステップS13)。
9の使用権を獲得したとすると (ステップS12がYE
S)、CPU41−1は、セマフォ47の獲得を試みる
(ステップS13)。
【0007】そして、セマフォ47の獲得に失敗した場
合 (ステップS14がNO)は、CPU41−1は、ス
テップS11の処理に戻り、成功した場合 (ステップS
14がYES)は、RAM45に格納されているプログ
ラムを自CPU内のローカルメモリ42−1に転送する
(ステップS15)。
合 (ステップS14がNO)は、CPU41−1は、ス
テップS11の処理に戻り、成功した場合 (ステップS
14がYES)は、RAM45に格納されているプログ
ラムを自CPU内のローカルメモリ42−1に転送する
(ステップS15)。
【0008】ここで、プログラムの転送は、具体的には
次のようにして行なわれる。即ち、CPU41−1は、
先ず、転送しようとするプログラムの先頭アドレスの上
位ビットをレジスタ44にセットし、下位ビットをRA
M45に与える。これにより、RAM45の上記上位ビ
ット,下位ビットによって示されるアドレスからプログ
ラムの先頭部分が読み出され、共通バス49を介してC
PU41−1に送られる。CPU41−1は送られてき
たプログラムの先頭部分をローカルメモリ42−1に格
納し、共通バス49の使用権を放棄する。
次のようにして行なわれる。即ち、CPU41−1は、
先ず、転送しようとするプログラムの先頭アドレスの上
位ビットをレジスタ44にセットし、下位ビットをRA
M45に与える。これにより、RAM45の上記上位ビ
ット,下位ビットによって示されるアドレスからプログ
ラムの先頭部分が読み出され、共通バス49を介してC
PU41−1に送られる。CPU41−1は送られてき
たプログラムの先頭部分をローカルメモリ42−1に格
納し、共通バス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に与
える下位ビットを順次更新する。
48に対して共通バス49の使用要求を行ない、共通バ
ス49の使用権を得ると、RAM45に与える下位ビッ
トを+1する。これにより、プログラムの次の部分がR
AM45から読み出され、CPU41−1内のローカル
メモリ42−1に書き込まれる。以下、CPU41−1
は、共通バス49の使用権を得る毎に、RAM45に与
える下位ビットを順次+1し、転送するプログラムの内
のレジスタ44にセットした上位ビットによって示すこ
とが可能な部分を順次転送する。そして、上記上位ビッ
トによって示すことが可能な部分を全て転送すると、C
PU41−1はレジスタ44にセットされている上位ア
ドレスを更新し、以下前述したと同様にRAM45に与
える下位ビットを順次更新する。
【0010】上記した処理を繰り返し行なうことによ
り、プログラムの転送が完了すると、CPU41−1は
セマフォ47を解放する (ステップS16)。
り、プログラムの転送が完了すると、CPU41−1は
セマフォ47を解放する (ステップS16)。
【0011】CPU41−1がセマフォ47を解放する
と、CPU41−2,41−3の内の一方(CPU41
−2とする)がセマフォ47を獲得し、前述したと同様
にしてプログラムの転送を行ない、CPU41−2のプ
ログラム転送が完了すると、CPU41−3がセマフォ
47を獲得し、プログラムの転送を行なう。
と、CPU41−2,41−3の内の一方(CPU41
−2とする)がセマフォ47を獲得し、前述したと同様
にしてプログラムの転送を行ない、CPU41−2のプ
ログラム転送が完了すると、CPU41−3がセマフォ
47を獲得し、プログラムの転送を行なう。
【0012】
【発明が解決しようとする課題】上述した従来方式は、
システム立ち上げ時、マルチプロセッサシステムを構成
する各CPUが順次プログラムの転送を行なうため、全
てのCPUがプログラムの転送を完了し、運用状態にな
るまでは、それ以前にプログラムの転送を完了し、運用
状態になっているCPUが長時間にわたって高負荷にな
るという問題があった。即ち、早くプログラムの転送が
終了したCPUが長時間にわたって高負荷になるという
問題があった。
システム立ち上げ時、マルチプロセッサシステムを構成
する各CPUが順次プログラムの転送を行なうため、全
てのCPUがプログラムの転送を完了し、運用状態にな
るまでは、それ以前にプログラムの転送を完了し、運用
状態になっているCPUが長時間にわたって高負荷にな
るという問題があった。即ち、早くプログラムの転送が
終了したCPUが長時間にわたって高負荷になるという
問題があった。
【0013】本発明の目的は、マルチプロセッサシステ
ムの立ち上げ時に、特定のCPUが長時間にわたって高
負荷になることを防止できるプログラム転送方式を提供
することにある。
ムの立ち上げ時に、特定のCPUが長時間にわたって高
負荷になることを防止できるプログラム転送方式を提供
することにある。
【0014】
【課題を解決するための手段】本発明は上記目的を達成
するため、それぞれがローカルメモリを有する複数のC
PUと、該各CPUと共用バスを介して接続された外部
記憶装置とを備えたマルチプロセッサシステムのシステ
ム立ち上げ時に、前記外部記憶装置から前記各CPUの
ローカルメモリにプログラムを転送するプログラム転送
方式に於いて、前記外部記憶装置に、プログラムが格納
されるメモリと、前記各CPUに対応して設けられ、ロ
ーカルメモリアドレス,RAMアドレス及び転送量がセ
ットされる複数の制御レジスタと、一定量のプログラム
の転送が行なわれる毎に、対応する制御レジスタにセッ
トされている転送量が零でないCPUに対するプログラ
ムの転送が均等に行なわれるようにプログラムの転送先
となるCPUを決定する調停回路と、前記共通バスの使
用権を獲得することにより、前記調停回路で決定された
CPUと対応する制御レジスタにセットされているロー
カルメモリアドレス及びRAMアドレスに基づいて、前
記RAMから前記調停回路で決定されたCPU内のロー
カルメモリへ前記一定量のプログラムを転送すると共
に、前記制御レジスタの内容を更新する転送回路とを設
け、前記各CPUは、システム立ち上げ時、前記共通バ
スの使用権を獲得することにより、自CPUに対応する
前記制御レジスタにローカルメモリアドレス,RAMア
ドレス及び転送量をセットするように構成したものであ
る。
するため、それぞれがローカルメモリを有する複数のC
PUと、該各CPUと共用バスを介して接続された外部
記憶装置とを備えたマルチプロセッサシステムのシステ
ム立ち上げ時に、前記外部記憶装置から前記各CPUの
ローカルメモリにプログラムを転送するプログラム転送
方式に於いて、前記外部記憶装置に、プログラムが格納
されるメモリと、前記各CPUに対応して設けられ、ロ
ーカルメモリアドレス,RAMアドレス及び転送量がセ
ットされる複数の制御レジスタと、一定量のプログラム
の転送が行なわれる毎に、対応する制御レジスタにセッ
トされている転送量が零でないCPUに対するプログラ
ムの転送が均等に行なわれるようにプログラムの転送先
となるCPUを決定する調停回路と、前記共通バスの使
用権を獲得することにより、前記調停回路で決定された
CPUと対応する制御レジスタにセットされているロー
カルメモリアドレス及びRAMアドレスに基づいて、前
記RAMから前記調停回路で決定されたCPU内のロー
カルメモリへ前記一定量のプログラムを転送すると共
に、前記制御レジスタの内容を更新する転送回路とを設
け、前記各CPUは、システム立ち上げ時、前記共通バ
スの使用権を獲得することにより、自CPUに対応する
前記制御レジスタにローカルメモリアドレス,RAMア
ドレス及び転送量をセットするように構成したものであ
る。
【0015】
【作用】システム立ち上げ時、各CPUは、共通バスの
使用権を獲得することにより、自CPUと対応する制御
レジスタにローカルメモリアドレス,RAMアドレス,
転送量をセットする。
使用権を獲得することにより、自CPUと対応する制御
レジスタにローカルメモリアドレス,RAMアドレス,
転送量をセットする。
【0016】調停回路は、一定量のプログラムの転送が
行なわれる毎に、対応する制御レジスタにセットされて
いる転送量が零でないCPUに対するプログラムの転送
が均等に行なわれるようにプログラムの転送先となるC
PUを決定する。
行なわれる毎に、対応する制御レジスタにセットされて
いる転送量が零でないCPUに対するプログラムの転送
が均等に行なわれるようにプログラムの転送先となるC
PUを決定する。
【0017】転送回路は、共通バスの使用権を獲得する
と、調停回路が決定したCPUに対応する制御レジスタ
にセットされているローカルメモリアドレス及びRAM
アドレスに基づいて、RAMから調停回路が決定したC
PU内のローカルメモリに一定量のプログラムを転送
し、更に、対応する制御レジスタの内容を更新する。
と、調停回路が決定したCPUに対応する制御レジスタ
にセットされているローカルメモリアドレス及びRAM
アドレスに基づいて、RAMから調停回路が決定したC
PU内のローカルメモリに一定量のプログラムを転送
し、更に、対応する制御レジスタの内容を更新する。
【0018】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
詳細に説明する。
【0019】図1は本発明の実施例のブロック図であ
り、複数のCPU1−1〜1−3と、外部記憶装置4
と、共通メモリ9と、バスアービタ10と、共通バス1
1とから構成されている。
り、複数のCPU1−1〜1−3と、外部記憶装置4
と、共通メモリ9と、バスアービタ10と、共通バス1
1とから構成されている。
【0020】外部記憶装置4,共通メモリ9は共通バス
11を介して各CPU1−1〜1−3からアクセス可能
になっている。
11を介して各CPU1−1〜1−3からアクセス可能
になっている。
【0021】各CPU1−1〜1−3は、それぞれロー
カルメモリ2−1〜2−3と、自CPU1−1〜1−3
のCPU番号が設定されたレジスタ3−1〜3−3とを
有している。
カルメモリ2−1〜2−3と、自CPU1−1〜1−3
のCPU番号が設定されたレジスタ3−1〜3−3とを
有している。
【0022】外部記憶装置4は、各CPU1−1〜1−
3に対応した制御レジスタ5−1〜5−3と、調停回路
6と、転送回路7と、各CPU1−1〜1−3に転送す
るプログラムが格納されたRAM8とを有している。
3に対応した制御レジスタ5−1〜5−3と、調停回路
6と、転送回路7と、各CPU1−1〜1−3に転送す
るプログラムが格納されたRAM8とを有している。
【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と表す。
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と表す。
【0024】調停回路6は、1回のデータ転送サイクル
毎にラウンドロビン方式で、プログラムの転送を行なう
CPUを決定し、転送回路7に対して上記CPUへプロ
グラムを転送することを指示する機能を有する。尚、本
実施例では、1回のデータ転送サイクルで1バイト分の
プログラムが転送されるとする。
毎にラウンドロビン方式で、プログラムの転送を行なう
CPUを決定し、転送回路7に対して上記CPUへプロ
グラムを転送することを指示する機能を有する。尚、本
実施例では、1回のデータ転送サイクルで1バイト分の
プログラムが転送されるとする。
【0025】転送回路7は、調停回路6からプログラム
の転送が指示されることにより、RAM8に格納されて
いるプログラムを1バイト分、指示されたCPU内のロ
ーカルメモリに転送する機能を有する。
の転送が指示されることにより、RAM8に格納されて
いるプログラムを1バイト分、指示されたCPU内のロ
ーカルメモリに転送する機能を有する。
【0026】図3はCPU1−1〜1−3の処理例を示
す流れ図であり、以下各図を参照して動作を説明する。
す流れ図であり、以下各図を参照して動作を説明する。
【0027】システム立ち上げ時、各CPU1−1〜1
−3は、初期プログラムロードを行なうため、図3に示
すように、バスアービタ10に対して共通バス11の使
用要求を行なう (ステップS1)。
−3は、初期プログラムロードを行なうため、図3に示
すように、バスアービタ10に対して共通バス11の使
用要求を行なう (ステップS1)。
【0028】バスアービタ10は、各CPU1−1〜1
−3から使用要求が行なわれると、その内の1つに共通
バス11の使用権を与える。
−3から使用要求が行なわれると、その内の1つに共通
バス11の使用権を与える。
【0029】今、例えば、CPU1−1に共通バス11
の使用権が与えられたとすると (ステップS2)、CP
U1−1はレジスタ3−1の内容を読み込み、自CPU
のCPU番号を獲得する (ステップS3)。
の使用権が与えられたとすると (ステップS2)、CP
U1−1はレジスタ3−1の内容を読み込み、自CPU
のCPU番号を獲得する (ステップS3)。
【0030】その後、CPU1−1は、外部記憶装置4
内の制御レジスタ5−1〜5−3の内、ステップS3で
取得したCPU番号に対応した制御レジスタ5−1に、
ローカルメモリアドレス51−1,RAMアドレス52
−1及び転送バイト数53−1をセットし、共通バス1
1の使用権を放棄する (ステップS4)。
内の制御レジスタ5−1〜5−3の内、ステップS3で
取得したCPU番号に対応した制御レジスタ5−1に、
ローカルメモリアドレス51−1,RAMアドレス52
−1及び転送バイト数53−1をセットし、共通バス1
1の使用権を放棄する (ステップ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へのプログラム転送を指示することに
なる。
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へのプログラム転送を指示することに
なる。
【0032】この指示を受けると、転送回路7はバスア
ービタ10に対して共通バス11の使用要求を行なう。
ービタ10に対して共通バス11の使用要求を行なう。
【0033】この時、バスアービタ10には、CPU1
−2,1−3からの使用要求が既に加えられているの
で、転送回路7には共通バス11の使用権は与えられ
ず、CPU1−2或いはCPU1−3に使用権が与えら
れることになる。
−2,1−3からの使用要求が既に加えられているの
で、転送回路7には共通バス11の使用権は与えられ
ず、CPU1−2或いはCPU1−3に使用権が与えら
れることになる。
【0034】共通バス11の使用権が与えられたCPU
1−2或いはCPU1−3は、前述したCPU1−1と
同様に、自CPU1−2,1−3に対応する制御レジス
タ5−2,5−3にローカルメモリアドレス,RAMア
ドレス,転送バイト数をセットする(ステップS1〜S
4)。
1−2或いはCPU1−3は、前述したCPU1−1と
同様に、自CPU1−2,1−3に対応する制御レジス
タ5−2,5−3にローカルメモリアドレス,RAMア
ドレス,転送バイト数をセットする(ステップS1〜S
4)。
【0035】上述したようにして全てのCPU1−1〜
1−3が対応する制御レジスタ5−1〜5−3に、ロー
カルメモリアドレス,RAMアドレス,転送バイト数を
セットすると、バスアービタ10は転送回路7に共通バ
ス11の使用権を与える。
1−3が対応する制御レジスタ5−1〜5−3に、ロー
カルメモリアドレス,RAMアドレス,転送バイト数を
セットすると、バスアービタ10は転送回路7に共通バ
ス11の使用権を与える。
【0036】転送回路7は、共通バス11の使用権が与
えられると、調停回路6から指示されているCPU1−
1内のローカルメモリ2−1にプログラムを転送するた
めに、CPU1−1に対応する制御レジスタ5−1を参
照する。
えられると、調停回路6から指示されているCPU1−
1内のローカルメモリ2−1にプログラムを転送するた
めに、CPU1−1に対応する制御レジスタ5−1を参
照する。
【0037】そして、制御レジスタ5−1内にセットさ
れているRAMアドレス52−1によって示されるRA
M8のアドレスからプログラムを1バイト分取り出して
共通バス11に出力すると共に、制御レジスタ5−1内
にセットされているローカルメモリアドレス51−1を
共通バス11に出力する。これにより、RAM8から取
り出された1バイト分のプログラムがローカルメモリ2
−1に書き込まれる。
れているRAMアドレス52−1によって示されるRA
M8のアドレスからプログラムを1バイト分取り出して
共通バス11に出力すると共に、制御レジスタ5−1内
にセットされているローカルメモリアドレス51−1を
共通バス11に出力する。これにより、RAM8から取
り出された1バイト分のプログラムがローカルメモリ2
−1に書き込まれる。
【0038】その後、転送回路7は、制御レジスタ5−
1にセットされているローカルメモリアドレス51−
1,RAMアドレス52−1を+1すると共に、転送バ
イト数53−1を−1する。更に、転送回路7は共通バ
ス11の使用権を放棄すると共に、調停回路6に対して
1バイト分のプログラムの転送が終了したことを通知す
る。
1にセットされているローカルメモリアドレス51−
1,RAMアドレス52−1を+1すると共に、転送バ
イト数53−1を−1する。更に、転送回路7は共通バ
ス11の使用権を放棄すると共に、調停回路6に対して
1バイト分のプログラムの転送が終了したことを通知す
る。
【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を参照し、同様の処理を行なう。
参照した制御レジスタ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を参照し、同様の処理を行なう。
【0040】調停回路6から上記した指示を受けると、
転送回路7はCPU1−2に対応する制御レジスタ5−
2の内容に基づいて、1バイト分のプログラムをRAM
8からCPU1−2内のローカルメモリ2−2に転送す
る。
転送回路7はCPU1−2に対応する制御レジスタ5−
2の内容に基づいて、1バイト分のプログラムをRAM
8からCPU1−2内のローカルメモリ2−2に転送す
る。
【0041】以下、前述したと同様の処理が繰り返し行
なわれ、各CPU1−1〜1−3に循環的に、1バイト
ずつプログラムが転送される。尚、プログラムの転送が
終了したCPUがある場合は、そのCPUに対応する制
御レジスタにセットされている転送バイト数は「0」で
あり、調停回路6は、上記CPUに対するプログラムの
転送を転送回路7に指示することはないので、転送の終
了したCPUを除いたCPUに循環的に1バイトずつプ
ログラムが転送される。
なわれ、各CPU1−1〜1−3に循環的に、1バイト
ずつプログラムが転送される。尚、プログラムの転送が
終了したCPUがある場合は、そのCPUに対応する制
御レジスタにセットされている転送バイト数は「0」で
あり、調停回路6は、上記CPUに対するプログラムの
転送を転送回路7に指示することはないので、転送の終
了したCPUを除いたCPUに循環的に1バイトずつプ
ログラムが転送される。
【0042】そして、各制御レジスタ5−1〜5−3に
セットされている転送バイト数が全て「0」となること
により、全てのCPUに対するプログラムの転送が終了
する。
セットされている転送バイト数が全て「0」となること
により、全てのCPUに対するプログラムの転送が終了
する。
【0043】
【発明の効果】以上説明したように、本発明は、各CP
Uに並列的にプログラムが転送されるようにしたもので
あり、各CPUの運用開始時刻(プログラムの転送完了
時刻)のばらつきを少ないものにすることができるの
で、従来方式のように、特定のCPU(早く運用状態に
なったCPU)が長時間にわたって高負荷になるという
ことがなくなる効果がある。
Uに並列的にプログラムが転送されるようにしたもので
あり、各CPUの運用開始時刻(プログラムの転送完了
時刻)のばらつきを少ないものにすることができるの
で、従来方式のように、特定のCPU(早く運用状態に
なったCPU)が長時間にわたって高負荷になるという
ことがなくなる効果がある。
【図1】本発明の実施例のブロック図である。
【図2】制御レジスタ5−1の内容例を示す図である。
【図3】CPU1−1〜1−3の処理例を示す流れ図で
ある。
ある。
【図4】従来例のブロック図である。
【図5】CPU41−1〜41−3の処理例を示す流れ
図である。
図である。
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…セマフォ
Claims (2)
- 【請求項1】 それぞれがローカルメモリを有する複数
のCPUと、該各CPUと共通バスを介して接続された
外部記憶装置とを備えたマルチプロセッサシステムのシ
ステム立ち上げ時に、前記外部記憶装置から前記各CP
Uのローカルメモリにプログラムを転送するプログラム
転送方式に於いて、 前記外部記憶装置は、 プログラムが格納されるメモリと、 前記各CPUに対応して設けられ、ローカルメモリアド
レス,RAMアドレス及び転送量がセットされる複数の
制御レジスタと、 一定量のプログラムの転送が行なわれる毎に、対応する
制御レジスタにセットされている転送量が零でないCP
Uに対するプログラムの転送が均等に行なわれるように
プログラムの転送先となるCPUを決定する調停回路
と、 前記共通バスの使用権を獲得することにより、前記調停
回路で決定されたCPUと対応する制御レジスタにセッ
トされているローカルメモリアドレス及びRAMアドレ
スに基づいて、前記RAMから前記調停回路で決定され
たCPU内のローカルメモリへ前記一定量のプログラム
を転送すると共に、前記制御レジスタの内容を更新する
転送回路とを有し、 前記各CPUは、 システム立ち上げ時、前記共通バスの使用権を獲得する
ことにより、自CPUに対応する前記制御レジスタにロ
ーカルメモリアドレス,RAMアドレス及び転送量をセ
ットすることを特徴とするプログラム転送方式。 - 【請求項2】 前記各CPUが自CPUに対応する前記
制御レジスタにセットするローカルメモリアドレスは、
自CPU内のローカルメモリのプログラム格納部分の先
頭アドレスを示し、RAMアドレスは、前記RAMから
転送しようとするプログラムの先頭アドレスを示すこと
を特徴とする請求項1記載のプログラム転送方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16012293A JP2507964B2 (ja) | 1993-06-04 | 1993-06-04 | プログラム転送方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16012293A JP2507964B2 (ja) | 1993-06-04 | 1993-06-04 | プログラム転送方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06348671A true JPH06348671A (ja) | 1994-12-22 |
| JP2507964B2 JP2507964B2 (ja) | 1996-06-19 |
Family
ID=15708348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16012293A Expired - Fee Related JP2507964B2 (ja) | 1993-06-04 | 1993-06-04 | プログラム転送方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2507964B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0353455A3 (de) * | 1988-07-07 | 1990-02-28 | Siemens Aktiengesellschaft | Datenspeichereinrichtung mit mindestens einer Speicherplatte und einer Servoplatte sowie Verfahren zum Betrieb der Einrichtung |
| JP2007065753A (ja) * | 2005-08-29 | 2007-03-15 | Fujitsu Ten Ltd | 起動方法およびナビゲーション装置 |
-
1993
- 1993-06-04 JP JP16012293A patent/JP2507964B2/ja not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0353455A3 (de) * | 1988-07-07 | 1990-02-28 | Siemens Aktiengesellschaft | Datenspeichereinrichtung mit mindestens einer Speicherplatte und einer Servoplatte sowie Verfahren zum Betrieb der Einrichtung |
| JP2007065753A (ja) * | 2005-08-29 | 2007-03-15 | Fujitsu Ten Ltd | 起動方法およびナビゲーション装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2507964B2 (ja) | 1996-06-19 |
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 | |
| US5287471A (en) | Data transfer controller using direct memory access method | |
| JPH04246745A (ja) | 情報処理装置及びその方法 | |
| US4949247A (en) | System for transferring multiple vector data elements to and from vector memory in a single operation | |
| JP4151198B2 (ja) | 割込コントローラ及びマイクロコンピュータ | |
| JP2531760B2 (ja) | ベクトル処理装置 | |
| JP2507964B2 (ja) | プログラム転送方式 | |
| JP2013069063A (ja) | 通信ユニット及び情報処理方法 | |
| EP0410382A2 (en) | Data transfer controller using direct memory access method | |
| JPH0512173A (ja) | 情報処理装置 | |
| GB2030331A (en) | Real-time Data Processing System for Processing Time Period Commands | |
| US20030177229A1 (en) | Microcomputer, bus control circuit, and data access method for a microcomputer | |
| JPS6120154A (ja) | メモリアクセス制御装置 | |
| JP2001256055A (ja) | プログラムダウンロード方式 | |
| JP2699873B2 (ja) | バス制御回路 | |
| JPH0414378B2 (ja) | ||
| JP2526644B2 (ja) | デ―タ処理装置 | |
| JP2594611B2 (ja) | Dma転送制御装置 | |
| JPH10507548A (ja) | データ処理システムおよび方法およびこのようなシステムとの通信システム | |
| JP2781999B2 (ja) | マルチプロセツサシステムにおける共通データチヤネル装置起動方式 | |
| JP2825589B2 (ja) | バス制御方式 | |
| JP2872042B2 (ja) | 共有メモリアクセス方式 | |
| JPS6336021B2 (ja) | ||
| JPS63231668A (ja) | 割込みキユ−制御方式 | |
| JPH03188547A (ja) | データ転送制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |