JPH1145209A - プログラム転送システム - Google Patents
プログラム転送システムInfo
- Publication number
- JPH1145209A JPH1145209A JP9203609A JP20360997A JPH1145209A JP H1145209 A JPH1145209 A JP H1145209A JP 9203609 A JP9203609 A JP 9203609A JP 20360997 A JP20360997 A JP 20360997A JP H1145209 A JPH1145209 A JP H1145209A
- Authority
- JP
- Japan
- Prior art keywords
- sub
- reset
- program
- microprocessor
- cpu
- 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
Landscapes
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 全てのCPUのプログラムを格納したROM
を1個、メインCPUの配下に配置して、全てのCPU
をこのCPUの品種の制約がなく、ローコストに動作可
能する。 【解決手段】 リセットラッチ回路130により、メイ
ンマイクロプロセッサ1のリセット時に各サブマイクロ
プロセッサ220,320のリセットをラッチして、こ
れらの各サブマイクロプロセッサに配置されたローカル
読み書き用メモリ250,350がバッファ制御によっ
てメインマイクロプロセッサ100のアドレス空間に割
り当てられるようにするとともに、読み出し専用メモリ
110内の各サブマイクロプロセッサ用のプログラムを
ローカル読み書き用メモリに書き込み可能とする。
を1個、メインCPUの配下に配置して、全てのCPU
をこのCPUの品種の制約がなく、ローコストに動作可
能する。 【解決手段】 リセットラッチ回路130により、メイ
ンマイクロプロセッサ1のリセット時に各サブマイクロ
プロセッサ220,320のリセットをラッチして、こ
れらの各サブマイクロプロセッサに配置されたローカル
読み書き用メモリ250,350がバッファ制御によっ
てメインマイクロプロセッサ100のアドレス空間に割
り当てられるようにするとともに、読み出し専用メモリ
110内の各サブマイクロプロセッサ用のプログラムを
ローカル読み書き用メモリに書き込み可能とする。
Description
【0001】
【発明の属する技術分野】この発明は、計算機,制御系
の通信機器等でメインマイクロプロセッサ(以下、メイ
ンCPUという)を1個持ち、その配下で動作するサブ
マイクロプロセッサ(以下、サブCPUという)を複数
個持つマイクロプロセッサ(以下、CPUという)ボー
ドなどのCPUシステムにおいて、前記CPUへ読み出
し専用メモリ(以下、ROMという)内のプログラムを
転送するプログラム転送システムに関する。
の通信機器等でメインマイクロプロセッサ(以下、メイ
ンCPUという)を1個持ち、その配下で動作するサブ
マイクロプロセッサ(以下、サブCPUという)を複数
個持つマイクロプロセッサ(以下、CPUという)ボー
ドなどのCPUシステムにおいて、前記CPUへ読み出
し専用メモリ(以下、ROMという)内のプログラムを
転送するプログラム転送システムに関する。
【0002】
【従来の技術】従来のプログラム転送システムでは、例
えば、1枚のCPUボード上に複数のCPUを実装する
場合、全てのCPUに各CPUのプログラムを格納した
ROMをそれぞれ割り当て配置していた。しかし、コス
ト面および実装面積等の面から見た場合、非常に効率が
悪く、そこで、全てのCPUのプログラムを格納したR
OMを1個実装し、全てのCPUを動作させる方法をと
る提案が出された。例えば、特開平4−98448号公
報の技術は、マルチCPUボードの中の複数のCPUに
対してROMは1個とし、マルチCPUボードの起動時
にハード的に全てのCPUのリセットの時間をずらし、
ROMに対するアクセスを全CPUで時分割で行うとい
うものであった。
えば、1枚のCPUボード上に複数のCPUを実装する
場合、全てのCPUに各CPUのプログラムを格納した
ROMをそれぞれ割り当て配置していた。しかし、コス
ト面および実装面積等の面から見た場合、非常に効率が
悪く、そこで、全てのCPUのプログラムを格納したR
OMを1個実装し、全てのCPUを動作させる方法をと
る提案が出された。例えば、特開平4−98448号公
報の技術は、マルチCPUボードの中の複数のCPUに
対してROMは1個とし、マルチCPUボードの起動時
にハード的に全てのCPUのリセットの時間をずらし、
ROMに対するアクセスを全CPUで時分割で行うとい
うものであった。
【0003】図7はかかる従来の技術をプログラム転送
システムに応用した例を示す。これはメインCPU10
0に対し、アドレスバス/データバス140を介して1
つのROM110,1つの読み書き用メモリ(以下、R
AMという)120,2つのサブCPU部200,30
0を接続したものからなり、各サブCPU部200,3
00はデュアルポートRAM210,310,サブCP
U220,320およびローカルRAM250,350
をそれぞれ有する。
システムに応用した例を示す。これはメインCPU10
0に対し、アドレスバス/データバス140を介して1
つのROM110,1つの読み書き用メモリ(以下、R
AMという)120,2つのサブCPU部200,30
0を接続したものからなり、各サブCPU部200,3
00はデュアルポートRAM210,310,サブCP
U220,320およびローカルRAM250,350
をそれぞれ有する。
【0004】これによれば、メインCPU100および
サブCPU200,300のプログラムを、1つのRO
M110に格納したプログラムを各サブCPU200,
300に対応するRAM120,ローカルRAM25
0,350へ転送し、各プログラムにて各サブCPU2
00,300を動作させることができる。そして、前記
転送は、システム起動時は、全てのCPU100,20
0,300のリセット線150を介してのリセット時間
をずらせて行っていた。
サブCPU200,300のプログラムを、1つのRO
M110に格納したプログラムを各サブCPU200,
300に対応するRAM120,ローカルRAM25
0,350へ転送し、各プログラムにて各サブCPU2
00,300を動作させることができる。そして、前記
転送は、システム起動時は、全てのCPU100,20
0,300のリセット線150を介してのリセット時間
をずらせて行っていた。
【0005】また、特開平4−119452号公報の技
術では、CPUボードの中にメインCPUおよびサブC
PUを実装し、サブCPUに付加されたROMにメイン
CPUのプログラムを格納し、メインCPUはROMを
持たない構成としてある。これによれば、メインCPU
とサブCPUでソフトウェアに互換性が必要とされた。
さらに、特開平4−263330号公報の技術では、C
PUボード等にメインCPUおよびサブCPUを実装す
る技術ではないが、サブCPUのROMを廃止するため
に、DMA転送を行うという方法を採用するものであ
る。これによれば、回路的に複雑になる。
術では、CPUボードの中にメインCPUおよびサブC
PUを実装し、サブCPUに付加されたROMにメイン
CPUのプログラムを格納し、メインCPUはROMを
持たない構成としてある。これによれば、メインCPU
とサブCPUでソフトウェアに互換性が必要とされた。
さらに、特開平4−263330号公報の技術では、C
PUボード等にメインCPUおよびサブCPUを実装す
る技術ではないが、サブCPUのROMを廃止するため
に、DMA転送を行うという方法を採用するものであ
る。これによれば、回路的に複雑になる。
【0006】
【発明が解決しようとする課題】しかしながら、前記の
ように全てのCPUにROMを実装した場合には、既述
のような実装上の効率悪化を招くほか、コストアップを
避けられないという課題があった。また、メインCPU
と各サブCPU間で通信を行うための通信用のバスを利
用し、メインCPU配下のサブCPUのプログラムを格
納したROMから、サブCPUのプログラムをサブCP
Uに転送する回路構成としたものでは、サブCPUは転
送されたサブCPU用のプログラムを受け取る処理を行
うプログラムを持つ必要がある。この結果、サブCPU
は、プログラムを全く持つ必要がないことにはならず、
そのプログラムを格納するためのROMを実装する必要
があった。
ように全てのCPUにROMを実装した場合には、既述
のような実装上の効率悪化を招くほか、コストアップを
避けられないという課題があった。また、メインCPU
と各サブCPU間で通信を行うための通信用のバスを利
用し、メインCPU配下のサブCPUのプログラムを格
納したROMから、サブCPUのプログラムをサブCP
Uに転送する回路構成としたものでは、サブCPUは転
送されたサブCPU用のプログラムを受け取る処理を行
うプログラムを持つ必要がある。この結果、サブCPU
は、プログラムを全く持つ必要がないことにはならず、
そのプログラムを格納するためのROMを実装する必要
があった。
【0007】また、特開平4−263330号公報の技
術ではサブCPUに通信用のプログラムを持たないが、
その代わりに、サブCPUにメインCPUのROMより
サブCPU用のプログラムを転送するための、大規模な
DMA転送用の回路を追加する必要があるという課題が
あった。さらに、特開平4−119452号公報の技術
では、CPUボード上に実装されたメインCPUとサブ
CPUが1個のROMで動作しているが、既述のよう
に、メインCPUとサブCPUがソフトウェア的に互換
性を持つ必要があり、メインCPUとサブCPUに互換
性のないCPUを使うことができないという課題があっ
た。これは、CPUボードへの電源投入後およびリセッ
ト解除後、サブCPUのプログラムによりメインCPU
を初期化するからである。また、自由にCPUを選べな
いことはCPUボードを設計する上で大きな制約になっ
てしまうという課題があった。
術ではサブCPUに通信用のプログラムを持たないが、
その代わりに、サブCPUにメインCPUのROMより
サブCPU用のプログラムを転送するための、大規模な
DMA転送用の回路を追加する必要があるという課題が
あった。さらに、特開平4−119452号公報の技術
では、CPUボード上に実装されたメインCPUとサブ
CPUが1個のROMで動作しているが、既述のよう
に、メインCPUとサブCPUがソフトウェア的に互換
性を持つ必要があり、メインCPUとサブCPUに互換
性のないCPUを使うことができないという課題があっ
た。これは、CPUボードへの電源投入後およびリセッ
ト解除後、サブCPUのプログラムによりメインCPU
を初期化するからである。また、自由にCPUを選べな
いことはCPUボードを設計する上で大きな制約になっ
てしまうという課題があった。
【0008】この発明は前記のような課題を解決するも
のであり、1枚のCPUボードまたは1つのシステム等
に、1個のメインCPUと複数のサブCPUを実装し動
作させる場合、全てのCPUのプログラムを格納したR
OMを1個、メインCPUの配下に配置して、全てのC
PUを動作可能にし、この動作を、使用されるメインC
PUとサブCPUの品種に制約なく、また、複雑な機能
および回路を追加することなく、ローコストに実現でき
るプログラム転送システムを得ることを目的とする。
のであり、1枚のCPUボードまたは1つのシステム等
に、1個のメインCPUと複数のサブCPUを実装し動
作させる場合、全てのCPUのプログラムを格納したR
OMを1個、メインCPUの配下に配置して、全てのC
PUを動作可能にし、この動作を、使用されるメインC
PUとサブCPUの品種に制約なく、また、複雑な機能
および回路を追加することなく、ローコストに実現でき
るプログラム転送システムを得ることを目的とする。
【0009】
【課題を解決するための手段】前記目的達成のため、請
求項1の発明にかかるプログラム転送システムは、リセ
ットラッチ回路を設けて、これによりメインマイクロプ
ロセッサのリセット時に前記各サブマイクロプロセッサ
のリセットをラッチして、これらの各サブマイクロプロ
セッサに配置されたローカル読み書き用メモリがバッフ
ァ制御によってメインマイクロプロセッサのアドレス空
間に割り当てられるようにするとともに、読み出し専用
メモリ内の各サブマイクロプロセッサ用のプログラムを
前記ローカル読み書き用メモリに書き込み可能とし、前
記各サブマイクロプロセッサの前記リセットのラッチを
解除後、前記ローカル読み書き用メモリをメインマイク
ロプロセッサのアドレス空間より切り離してサブマイク
ロプロセッサを起動するようにしたものである。
求項1の発明にかかるプログラム転送システムは、リセ
ットラッチ回路を設けて、これによりメインマイクロプ
ロセッサのリセット時に前記各サブマイクロプロセッサ
のリセットをラッチして、これらの各サブマイクロプロ
セッサに配置されたローカル読み書き用メモリがバッフ
ァ制御によってメインマイクロプロセッサのアドレス空
間に割り当てられるようにするとともに、読み出し専用
メモリ内の各サブマイクロプロセッサ用のプログラムを
前記ローカル読み書き用メモリに書き込み可能とし、前
記各サブマイクロプロセッサの前記リセットのラッチを
解除後、前記ローカル読み書き用メモリをメインマイク
ロプロセッサのアドレス空間より切り離してサブマイク
ロプロセッサを起動するようにしたものである。
【0010】また、請求項2の発明にかかるプログラム
転送システムは、前記リセットラッチ回路を、サブマイ
クロプロセッサごとに設けたものである。
転送システムは、前記リセットラッチ回路を、サブマイ
クロプロセッサごとに設けたものである。
【0011】また、請求項3の発明にかかるプログラム
転送システムは、前記メインマイクロプロセッサのプロ
グラムの制御で、前記読み出し専用メモリ内の各サブマ
イクロプロセッサ用のプログラムの中から転送するプロ
グラムを任意に選択するようにしたものである。
転送システムは、前記メインマイクロプロセッサのプロ
グラムの制御で、前記読み出し専用メモリ内の各サブマ
イクロプロセッサ用のプログラムの中から転送するプロ
グラムを任意に選択するようにしたものである。
【0012】
【発明の実施の形態】以下、この発明の実施の一形態を
図について発明に説明する。図1はこの発明のプログラ
ム転送システムを示すブロック図である。同図におい
て、CPUボードには、メインCPU100と、サブC
PU部200内のサブCPU220と、サブCPU部3
00内のサブCPU320が実装されている。このう
ち、メインCPU100はCPUボードの中枢の処理を
行う。また、110はメインCPU100のプログラム
と、サブCPU220およびサブCPU320のプログ
ラムをそれぞれ格納したROM、120はメインCPU
100がROM110内のプログラムを実行するための
ワークエリアとなる読み書き用メモリ、130はこの発
明の中心になるリセットラッチ回路で、これが図2に示
すように構成されて、レジスタ131およびフリップフ
ロップ132を有する。210はメインCPU100と
サブCPU220が通信を行うためのデュアルポートR
AMである。
図について発明に説明する。図1はこの発明のプログラ
ム転送システムを示すブロック図である。同図におい
て、CPUボードには、メインCPU100と、サブC
PU部200内のサブCPU220と、サブCPU部3
00内のサブCPU320が実装されている。このう
ち、メインCPU100はCPUボードの中枢の処理を
行う。また、110はメインCPU100のプログラム
と、サブCPU220およびサブCPU320のプログ
ラムをそれぞれ格納したROM、120はメインCPU
100がROM110内のプログラムを実行するための
ワークエリアとなる読み書き用メモリ、130はこの発
明の中心になるリセットラッチ回路で、これが図2に示
すように構成されて、レジスタ131およびフリップフ
ロップ132を有する。210はメインCPU100と
サブCPU220が通信を行うためのデュアルポートR
AMである。
【0013】また、240はローカルRAM250をア
ドレスバス/データバス140に接続するか切り離すか
を、リセットラッチ回路130内のフリップフロップ1
32の出力信号線170の信号により決定するバッフ
ァ、310はメインCPU100とサブCPU320が
通信を行うためのデュアルポートRAM、340はロー
カルRAM350をアドレスバス/データバス140に
接続するか切り離すかを、図2に示すようなリセットラ
ッチ回路130内のフリップフロップ132の出力信号
線170の信号により決定するバッファである。
ドレスバス/データバス140に接続するか切り離すか
を、リセットラッチ回路130内のフリップフロップ1
32の出力信号線170の信号により決定するバッフ
ァ、310はメインCPU100とサブCPU320が
通信を行うためのデュアルポートRAM、340はロー
カルRAM350をアドレスバス/データバス140に
接続するか切り離すかを、図2に示すようなリセットラ
ッチ回路130内のフリップフロップ132の出力信号
線170の信号により決定するバッファである。
【0014】サブCPU部200内には、バッファ24
0と、デュアルポートRAM210,サブCPU220
およびローカルRAM250とを、ローカルのアドレス
バス/データバス260に接続するか切り離すかを、リ
セットラッチ回路130内のフリップフロップ132の
出力信号線160の信号により決定するバッファ230
が設けられている。サブCPU部300内には、サブC
PU部200と同様に、バッファ340と、デュアルポ
ートRAM310,サブCPU320およびローカルR
AM350とを、ローカルのアドレスバス/データバス
360に接続するか切り離すかをリセットラッチ回路1
30内のフリップフロップ132の出力信号線160に
より決定するバッファ330が設けられている。
0と、デュアルポートRAM210,サブCPU220
およびローカルRAM250とを、ローカルのアドレス
バス/データバス260に接続するか切り離すかを、リ
セットラッチ回路130内のフリップフロップ132の
出力信号線160の信号により決定するバッファ230
が設けられている。サブCPU部300内には、サブC
PU部200と同様に、バッファ340と、デュアルポ
ートRAM310,サブCPU320およびローカルR
AM350とを、ローカルのアドレスバス/データバス
360に接続するか切り離すかをリセットラッチ回路1
30内のフリップフロップ132の出力信号線160に
より決定するバッファ330が設けられている。
【0015】一方、リセットラッチ回路130内に設け
られたレジスタ131は、アドレスバス/データバス1
40を介したメインCPU100からの任意の命令によ
り、出力信号線133をLレベルとし、フリップフロッ
プ132にLレベルを送出する。また、図2に示すよう
に、このフリップフロップ132はレジスタ131から
の出力信号線133とリセット線150からの信号によ
り出力信号線160および出力信号線170の出力を変
化させる。
られたレジスタ131は、アドレスバス/データバス1
40を介したメインCPU100からの任意の命令によ
り、出力信号線133をLレベルとし、フリップフロッ
プ132にLレベルを送出する。また、図2に示すよう
に、このフリップフロップ132はレジスタ131から
の出力信号線133とリセット線150からの信号によ
り出力信号線160および出力信号線170の出力を変
化させる。
【0016】次に動作について説明する。まず、メイン
CPU100,サブCPU220,サブCPU320を
実装したCPUボードをリセットする。Lレベルでアク
ティブとなるリセット信号は、リセット線150を経由
し、メインCPU100およびリセットラッチ回路13
0内のフリップフロップ132のリセット入力端子RS
Tに入力される。このため、リセット信号が入力された
メインCPU100はリセット状態となり、一方、前記
フリップフロップ132は出力信号線160にLレベル
の信号を出力し、出力信号線170にHレベルの信号を
出力する。出力信号線160は、サブCPU220のリ
セット入力端子,バッファ230のイネーブル端子,サ
ブCPU320のリセット入力端子およびバッファ33
0のイネーブル端子に接続されている。
CPU100,サブCPU220,サブCPU320を
実装したCPUボードをリセットする。Lレベルでアク
ティブとなるリセット信号は、リセット線150を経由
し、メインCPU100およびリセットラッチ回路13
0内のフリップフロップ132のリセット入力端子RS
Tに入力される。このため、リセット信号が入力された
メインCPU100はリセット状態となり、一方、前記
フリップフロップ132は出力信号線160にLレベル
の信号を出力し、出力信号線170にHレベルの信号を
出力する。出力信号線160は、サブCPU220のリ
セット入力端子,バッファ230のイネーブル端子,サ
ブCPU320のリセット入力端子およびバッファ33
0のイネーブル端子に接続されている。
【0017】このため、いま、Lレベルとなっている出
力信号線160により、サブCPU220とサブCPU
320はリセット状態となり、イネーブル端子にLレベ
ルを入力されたバッファ230はアドレスバス/データ
バス260とアドレスバス/データバス270を切り離
し、一方、バッファ330はアドレスバス/データバス
360とアドレスバス/データバス370を切り離す。
また、バッファ240のイネーブル端子とバッファ34
0のイネーブル端子に接続された出力信号線170はH
レベルであるため、バッファ240はアドレスバス/デ
ータバス140とアドレスバス/データバス270を接
続し、一方、バッファ340はアドレスバス/データバ
ス140とアドレスバス/データバス370を接続して
いる。
力信号線160により、サブCPU220とサブCPU
320はリセット状態となり、イネーブル端子にLレベ
ルを入力されたバッファ230はアドレスバス/データ
バス260とアドレスバス/データバス270を切り離
し、一方、バッファ330はアドレスバス/データバス
360とアドレスバス/データバス370を切り離す。
また、バッファ240のイネーブル端子とバッファ34
0のイネーブル端子に接続された出力信号線170はH
レベルであるため、バッファ240はアドレスバス/デ
ータバス140とアドレスバス/データバス270を接
続し、一方、バッファ340はアドレスバス/データバ
ス140とアドレスバス/データバス370を接続して
いる。
【0018】このため、ローカルRAM250,350
は、それぞれバッファ230,330によりサブCPU
220,320のアドレス空間から切り離され、一方、
バッファ240,340により後述する図4のメインC
PU100のアドレス空間内のローカルRAMエリアへ
それぞれ割り当てが行われる。
は、それぞれバッファ230,330によりサブCPU
220,320のアドレス空間から切り離され、一方、
バッファ240,340により後述する図4のメインC
PU100のアドレス空間内のローカルRAMエリアへ
それぞれ割り当てが行われる。
【0019】続いて、数秒後、リセットは解除され、リ
セット線150はHレベルとなる。このため、リセット
ラッチ回路130内のフリップフロップ132のリセッ
ト端子にはHレベルの信号が入力され、メインCPU1
00はリセットが解除されROM110からプログラム
を読み込み、初期処理を実行した後、サブCPU22
0,320の各プログラムが予め書き込まれたROM1
10より、これらのプログラムのリセット実行時にメイ
ンCPU100のアドレス空間内のサブCPU220,
320用のローカルRAMエリアに割り当てられたRA
M250,350へそれぞれ転送する。この時、サブC
PU220,320はフリップフロップ132の出力に
よりリセット状態のままであり、ローカルRAM25
0,350はメインCPU100のアドレス空間内の各
サブCPU220,320用のローカルRAMエリアに
それぞれ割り当てられたままである。
セット線150はHレベルとなる。このため、リセット
ラッチ回路130内のフリップフロップ132のリセッ
ト端子にはHレベルの信号が入力され、メインCPU1
00はリセットが解除されROM110からプログラム
を読み込み、初期処理を実行した後、サブCPU22
0,320の各プログラムが予め書き込まれたROM1
10より、これらのプログラムのリセット実行時にメイ
ンCPU100のアドレス空間内のサブCPU220,
320用のローカルRAMエリアに割り当てられたRA
M250,350へそれぞれ転送する。この時、サブC
PU220,320はフリップフロップ132の出力に
よりリセット状態のままであり、ローカルRAM25
0,350はメインCPU100のアドレス空間内の各
サブCPU220,320用のローカルRAMエリアに
それぞれ割り当てられたままである。
【0020】このようにして、転送が終了すると、メイ
ンCPU100は、リセットラッチ回路130内のレジ
スタ131に任意のデータを書き込む。任意のデータを
書き込まれたレジスタ131は出力信号線133をLレ
ベルとする。レジスタ131の出力信号線133のLレ
ベルをSET端子に入力されたフリップフロップ132
は、出力線160をLレベルからHレベルに変化させ、
また、出力線170をHレベルからLレベルへと変化さ
せる。出力線160のLレベルからHレベルへの変化に
より、サブCPU220,320はともにリセットが解
除され、バッファ230はアドレスバス/データバス2
60,270を接続し、バッファ330はアドレスバス
/データバス360,370を接続する。
ンCPU100は、リセットラッチ回路130内のレジ
スタ131に任意のデータを書き込む。任意のデータを
書き込まれたレジスタ131は出力信号線133をLレ
ベルとする。レジスタ131の出力信号線133のLレ
ベルをSET端子に入力されたフリップフロップ132
は、出力線160をLレベルからHレベルに変化させ、
また、出力線170をHレベルからLレベルへと変化さ
せる。出力線160のLレベルからHレベルへの変化に
より、サブCPU220,320はともにリセットが解
除され、バッファ230はアドレスバス/データバス2
60,270を接続し、バッファ330はアドレスバス
/データバス360,370を接続する。
【0021】一方、出力線170のHレベルからLレベ
ルへの変化により、バッファ240,340はイネーブ
ル端子にLレベルが入力され、アドレスバス/データバ
ス140,270を切り離し、さらに、アドレスバス/
データバス140,370を切り離す。この時、ローカ
ルRAM250,350は、バッファ240,340に
よりリセット時にメインCPU100内のアドレス空間
のローカルRAMエリアに割り当てられていたのがアド
レスバス/データバス140から切り離され、バッファ
230,330によりサブCPU220,320各々の
アドレス空間に戻され割り当てられる。
ルへの変化により、バッファ240,340はイネーブ
ル端子にLレベルが入力され、アドレスバス/データバ
ス140,270を切り離し、さらに、アドレスバス/
データバス140,370を切り離す。この時、ローカ
ルRAM250,350は、バッファ240,340に
よりリセット時にメインCPU100内のアドレス空間
のローカルRAMエリアに割り当てられていたのがアド
レスバス/データバス140から切り離され、バッファ
230,330によりサブCPU220,320各々の
アドレス空間に戻され割り当てられる。
【0022】以上のリセット解除時の動作を実行後、サ
ブCPU220はローカルRAM250に書き込まれた
プログラムで起動し、このプログラムを実行する。一
方、サブCPU320も同様にローカルRAM350に
書き込まれたプログラムで動作する。
ブCPU220はローカルRAM250に書き込まれた
プログラムで起動し、このプログラムを実行する。一
方、サブCPU320も同様にローカルRAM350に
書き込まれたプログラムで動作する。
【0023】次に図3のタイムチャートに従って動作を
説明する。図3において、区間Aは、メインCPU10
0およびサブCPU220,320を実装したCPUボ
ードが外部からのリセット信号によりリセットされてい
る区間である。リセット信号がアクティブになる区間A
の始まりのa点において、メインCPU100および各
サブCPU220,320はリセットされる。b点にお
いてはメインCPU100のリセットは解除されるが、
サブCPU220,320のリセットは解除されない。
b点でリセットを解除されたメインCPU100は、区
間BでメインCPU100自身の初期処理と、サブCP
U220が使用するプログラムを、ROM110からロ
ーカルRAM250へコピーするとともに、サブCPU
320が使用するプログラムをROM110からローカ
ルRAM350へコピーする。
説明する。図3において、区間Aは、メインCPU10
0およびサブCPU220,320を実装したCPUボ
ードが外部からのリセット信号によりリセットされてい
る区間である。リセット信号がアクティブになる区間A
の始まりのa点において、メインCPU100および各
サブCPU220,320はリセットされる。b点にお
いてはメインCPU100のリセットは解除されるが、
サブCPU220,320のリセットは解除されない。
b点でリセットを解除されたメインCPU100は、区
間BでメインCPU100自身の初期処理と、サブCP
U220が使用するプログラムを、ROM110からロ
ーカルRAM250へコピーするとともに、サブCPU
320が使用するプログラムをROM110からローカ
ルRAM350へコピーする。
【0024】次に、区間Bのc点において、区間Bでサ
ブCPU220のプログラムをローカルRAM250
へ、サブCPU320のプログラムをローカルRAM3
50へ送り、コピーを完了したメインCPU100は、
アドレスバス/データバス140を経由しリセットラッ
チ回路130内のレジスタ131へサブCPU220と
サブCPU320のリセット解除命令を送る。メインC
PU100よりリセット解除命令を受けたレジスタ13
1は、出力信号線133にLレベルのパルスを出力す
る。このため、リセットラッチ回路130内のフリップ
フロップ132のSET端子にLパルスが入力され、そ
のフリップフロップ133より出力線160への信号が
LレベルからHレベルへ、出力信号170への信号がH
レベルからLレベルへ変化し、サブCPU220とサブ
CPU320のリセットは解除される。
ブCPU220のプログラムをローカルRAM250
へ、サブCPU320のプログラムをローカルRAM3
50へ送り、コピーを完了したメインCPU100は、
アドレスバス/データバス140を経由しリセットラッ
チ回路130内のレジスタ131へサブCPU220と
サブCPU320のリセット解除命令を送る。メインC
PU100よりリセット解除命令を受けたレジスタ13
1は、出力信号線133にLレベルのパルスを出力す
る。このため、リセットラッチ回路130内のフリップ
フロップ132のSET端子にLパルスが入力され、そ
のフリップフロップ133より出力線160への信号が
LレベルからHレベルへ、出力信号170への信号がH
レベルからLレベルへ変化し、サブCPU220とサブ
CPU320のリセットは解除される。
【0025】図4はメインCPU100のアドレス空間
を示す。アドレス空間は大きく分けて5つに分けられて
いる。ROM110のアドレスエリアのROMエリア,
RAM120のアドレスエリアのRAMエリア,その他
のアドレス空間のエリア,サブCPU220のローカル
RAM250がサブCPU220のリセット中にメイン
CPU100のアドレス空間に割り当てられたときの、
メインCPU100のアドレス空間上のローカルRAM
250のエリア,およびサブCPU320のローカルR
AM350がサブCPU320のリセット中にメインC
PU100のアドレス空間に割り当てられたときの、メ
インCPU100のアドレス空間上のローカルRAM2
50のエリアから構成されている。
を示す。アドレス空間は大きく分けて5つに分けられて
いる。ROM110のアドレスエリアのROMエリア,
RAM120のアドレスエリアのRAMエリア,その他
のアドレス空間のエリア,サブCPU220のローカル
RAM250がサブCPU220のリセット中にメイン
CPU100のアドレス空間に割り当てられたときの、
メインCPU100のアドレス空間上のローカルRAM
250のエリア,およびサブCPU320のローカルR
AM350がサブCPU320のリセット中にメインC
PU100のアドレス空間に割り当てられたときの、メ
インCPU100のアドレス空間上のローカルRAM2
50のエリアから構成されている。
【0026】メインCPU100は、リセット解除後、
ROMエリアに書き込まれたプログラムにより、初期処
理を実行する。その後、メインCPU100はROMエ
リアに書き込まれているサブCPU220,320のプ
ログラムをローカルRAMエリアへコピーする。コピー
が終了するとメインCPU100は、リセットラッチ回
路130内のレジスタ131に任意のデータを送信し、
サブCPU220,320のリセットを解除するととも
に、メインCPU100のローカルRAMエリアに割り
当てられていたローカルRAM250,およびローカル
RAM350をサブCPU220,およびサブCPU3
20に接続する。なお、ここではサブCPU部はサブC
PU部200とサブCPU部300の2個として説明し
たが、この発明では2個以上の複数個あっても問題なく
動作する。
ROMエリアに書き込まれたプログラムにより、初期処
理を実行する。その後、メインCPU100はROMエ
リアに書き込まれているサブCPU220,320のプ
ログラムをローカルRAMエリアへコピーする。コピー
が終了するとメインCPU100は、リセットラッチ回
路130内のレジスタ131に任意のデータを送信し、
サブCPU220,320のリセットを解除するととも
に、メインCPU100のローカルRAMエリアに割り
当てられていたローカルRAM250,およびローカル
RAM350をサブCPU220,およびサブCPU3
20に接続する。なお、ここではサブCPU部はサブC
PU部200とサブCPU部300の2個として説明し
たが、この発明では2個以上の複数個あっても問題なく
動作する。
【0027】なお、前記実施の形態では、外部よりリセ
ット信号を受けてリセット線150がLレベルとなった
とき、CPUボード全体、CPUに関していえばメイン
CPU100,サブCPU220,320にリセットが
実行された。サブCPU220,320についていえ
ば、CPUボード全体をリセットしたときのみ、リセッ
トが実行されていた。これに対し、図2に示すリセット
ラッチ回路130に、図5に示すように、OR回路13
5を設ければ、メインCPU100がアドレスバス/デ
ータバス140を使用し、任意のデータをリセットラッ
チ回路130内のレジスタ131に書き込むと、このレ
ジスタ131は出力信号線134をLレベルに変化さ
せ、OR回路135は出力信号線134のデータまたは
リセット線150のデータのどちらかがLレベルとなっ
たとき、Lレベルを出力信号線136に出力する。この
ように出力信号線136がLレベルとなることで、フリ
ップフロップ132は出力信号線160をLレベル、出
力信号線170をHレベルとすることができる。
ット信号を受けてリセット線150がLレベルとなった
とき、CPUボード全体、CPUに関していえばメイン
CPU100,サブCPU220,320にリセットが
実行された。サブCPU220,320についていえ
ば、CPUボード全体をリセットしたときのみ、リセッ
トが実行されていた。これに対し、図2に示すリセット
ラッチ回路130に、図5に示すように、OR回路13
5を設ければ、メインCPU100がアドレスバス/デ
ータバス140を使用し、任意のデータをリセットラッ
チ回路130内のレジスタ131に書き込むと、このレ
ジスタ131は出力信号線134をLレベルに変化さ
せ、OR回路135は出力信号線134のデータまたは
リセット線150のデータのどちらかがLレベルとなっ
たとき、Lレベルを出力信号線136に出力する。この
ように出力信号線136がLレベルとなることで、フリ
ップフロップ132は出力信号線160をLレベル、出
力信号線170をHレベルとすることができる。
【0028】この時、出力信号線160が接続されてい
るサブCPU220,320はリセット状態となり、バ
ッファ230はアドレスバス/データバス260とアド
レスバス/データバス270を切断し、バッファ330
はアドレスバス/データバス360とアドレスバス/デ
ータバス370を切断する。また、出力信号線170が
接続されているバッファ240はアドレスバス/データ
バス140とアドレスバス/データバス270を接続
し、バッファ340はアドレスバス/データバス140
とアドレスバス/データバス370を接続する。
るサブCPU220,320はリセット状態となり、バ
ッファ230はアドレスバス/データバス260とアド
レスバス/データバス270を切断し、バッファ330
はアドレスバス/データバス360とアドレスバス/デ
ータバス370を切断する。また、出力信号線170が
接続されているバッファ240はアドレスバス/データ
バス140とアドレスバス/データバス270を接続
し、バッファ340はアドレスバス/データバス140
とアドレスバス/データバス370を接続する。
【0029】また、リセットラッチ回路130を、図6
に示すように、サブCPU部200およびサブCPU部
300ごとに配置する構成とすることにより、メインC
PU100はサブCPU220,320をメインCPU
100のプログラムの制御で自由にリセット状態にする
ことができ、サブCPU220,320のプログラムを
いつでも再転送することができる。
に示すように、サブCPU部200およびサブCPU部
300ごとに配置する構成とすることにより、メインC
PU100はサブCPU220,320をメインCPU
100のプログラムの制御で自由にリセット状態にする
ことができ、サブCPU220,320のプログラムを
いつでも再転送することができる。
【0030】さらに、メインCPU100のアドレス空
間内のROM110内に、図4に示すように、サブCP
U220,320のプログラムを複数個、ここでは2個
持った場合、メインCPU100は、メインCPU10
0のアドレスエリア内のサブCPU220用のローカル
RAMエリアおよびサブCPU320用のローカルRA
Mエリアに、ROM110内に格納されたサブCPU2
20用のプログラム1またはプログラム2を、また、R
OM110に格納されたサブCPU320用のプログラ
ム1またはプログラム2を、メインCPU100のプロ
グラムの制御でサブCPU220,320の実行するプ
ログラムとして自由に選択し、転送することができる。
間内のROM110内に、図4に示すように、サブCP
U220,320のプログラムを複数個、ここでは2個
持った場合、メインCPU100は、メインCPU10
0のアドレスエリア内のサブCPU220用のローカル
RAMエリアおよびサブCPU320用のローカルRA
Mエリアに、ROM110内に格納されたサブCPU2
20用のプログラム1またはプログラム2を、また、R
OM110に格納されたサブCPU320用のプログラ
ム1またはプログラム2を、メインCPU100のプロ
グラムの制御でサブCPU220,320の実行するプ
ログラムとして自由に選択し、転送することができる。
【0031】
【発明の効果】以上のように、この発明はリセットラッ
チ回路により、メインマイクロプロセッサのリセット時
に各サブマイクロプロセッサのリセットをラッチして、
これらの各サブマイクロプロセッサに配置されたローカ
ル読み書き用メモリがバッファ制御によってメインマイ
クロプロセッサのアドレス空間に割り当てられるように
するとともに、読み出し専用メモリ内の各サブマイクロ
プロセッサ用のプログラムを前記ローカル読み書き用メ
モリに書き込み可能とし、各サブマイクロプロセッサの
前記リセットのラッチを解除後、前記ローカル読み書き
用メモリをメインマイクロプロセッサのアドレス空間よ
り切り離してサブマイクロプロセッサを起動するように
構成したので、1つのメインCPUと複数のCPUを1
つのROMで動作させることができ、ROM変換が発生
した場合、これの変換を容易かつローコストに行えると
ともに、メインCPUがサブCPUのプログラムを一括
管理でき、従って、メインCPUのプログラム制御でサ
ブCPUのプログラムを自由に選択でき、サブCPUの
プログラムを時間帯で変更できるという効果が得られ
る。
チ回路により、メインマイクロプロセッサのリセット時
に各サブマイクロプロセッサのリセットをラッチして、
これらの各サブマイクロプロセッサに配置されたローカ
ル読み書き用メモリがバッファ制御によってメインマイ
クロプロセッサのアドレス空間に割り当てられるように
するとともに、読み出し専用メモリ内の各サブマイクロ
プロセッサ用のプログラムを前記ローカル読み書き用メ
モリに書き込み可能とし、各サブマイクロプロセッサの
前記リセットのラッチを解除後、前記ローカル読み書き
用メモリをメインマイクロプロセッサのアドレス空間よ
り切り離してサブマイクロプロセッサを起動するように
構成したので、1つのメインCPUと複数のCPUを1
つのROMで動作させることができ、ROM変換が発生
した場合、これの変換を容易かつローコストに行えると
ともに、メインCPUがサブCPUのプログラムを一括
管理でき、従って、メインCPUのプログラム制御でサ
ブCPUのプログラムを自由に選択でき、サブCPUの
プログラムを時間帯で変更できるという効果が得られ
る。
【0032】また、リセットラッチ回路をサブCPUご
とに設けることで、サブCPUを個々にリセットするこ
とができ、プログラムをバージョンアップすることがで
きるという効果が得られる。さらに、メインCPUのプ
ログラム制御で、サブCPUの起動およびリセットなど
の動作を自由に決定でき、サブCPUの起動中にサブC
PUを一時的に停止させてプログラムを変更し、再度起
動することができるという効果が得られる。
とに設けることで、サブCPUを個々にリセットするこ
とができ、プログラムをバージョンアップすることがで
きるという効果が得られる。さらに、メインCPUのプ
ログラム制御で、サブCPUの起動およびリセットなど
の動作を自由に決定でき、サブCPUの起動中にサブC
PUを一時的に停止させてプログラムを変更し、再度起
動することができるという効果が得られる。
【図1】 この発明の実施の一形態によるプログラム転
送システムを示すブロック図である。
送システムを示すブロック図である。
【図2】 図1におけるリセットラッチ回路の詳細を示
すブロック図である。
すブロック図である。
【図3】 図1に示す回路各部の信号を示すタイムチャ
ートである。
ートである。
【図4】 図1におけるメインCPUのアドレスマップ
を示す説明図である。
を示す説明図である。
【図5】 図1における他のリセットラッチ回路を示す
ブロック図である。
ブロック図である。
【図6】 この発明の実施の他の形態によるプログラム
転送システムを示すブロック図である。
転送システムを示すブロック図である。
【図7】 従来のプログラム転送システムを示すブロッ
ク図である。
ク図である。
100 メインCPU(メインマイクロプロセッサ) 110 ROM(読み出し専用メモリ) 120 RAM(読み書き用メモリ) 130 リセットラッチ回路 220,320 サブCPU(サブマイクロプロセッ
サ) 250,350 ローカルRAM(ローカル読み書き用
メモリ)
サ) 250,350 ローカルRAM(ローカル読み書き用
メモリ)
Claims (3)
- 【請求項1】 CPUシステムの中枢の処理を行う1つ
のメインマイクロプロセッサと、 該メインマイクロプロセッサの配下で動作する複数のサ
ブマイクロプロセッサと、 前記メインマイクロプロセッサおよびサブマイクロプロ
セッサのプログラムを格納した読み出し専用メモリと、 前記メインマイクロプロセッサが読み出し専用メモリ内
のプログラムを実行するためのワークエリアとなる読み
書き用メモリと、 前記メインマイクロプロセッサのリセット時に前記各サ
ブマイクロプロセッサのリセットをラッチして、これら
の各サブマイクロプロセッサに配置されたローカル読み
書き用メモリがバッファ制御によってメインマイクロプ
ロセッサのアドレス空間に割り当てられるとともに、前
記読み出し専用メモリ内の各サブマイクロプロセッサ用
のプログラムを前記ローカル読み書き用メモリに書き込
み可能とするリセットラッチ回路とを備え、 前記各サブマイクロプロセッサのリセットのラッチを解
除後、前記ローカル読み書き用メモリをメインマイクロ
プロセッサのアドレス空間より切り離してサブマイクロ
プロセッサを起動するようにしたことを特徴とするプロ
グラム転送システム。 - 【請求項2】前記リセットラッチ回路を、サブマイクロ
プロセッサごとに設けたことを特徴とする請求項1に記
載のプログラム転送システム。 - 【請求項3】 前記メインマイクロプロセッサのプログ
ラムの制御で、前記読み出し専用メモリ内の各サブマイ
クロプロセッサ用のプログラムの中から転送するプログ
ラムを任意に選択するようにしたことを特徴とする請求
項1または請求項2に記載のプログラム転送システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9203609A JPH1145209A (ja) | 1997-07-29 | 1997-07-29 | プログラム転送システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9203609A JPH1145209A (ja) | 1997-07-29 | 1997-07-29 | プログラム転送システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1145209A true JPH1145209A (ja) | 1999-02-16 |
Family
ID=16476882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9203609A Pending JPH1145209A (ja) | 1997-07-29 | 1997-07-29 | プログラム転送システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1145209A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008001671A1 (fr) * | 2006-06-27 | 2008-01-03 | Nec Corporation | Système multiprocesseur et terminal portable l'utilisant |
WO2013145282A1 (ja) * | 2012-03-30 | 2013-10-03 | 富士通株式会社 | データ処理装置 |
-
1997
- 1997-07-29 JP JP9203609A patent/JPH1145209A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008001671A1 (fr) * | 2006-06-27 | 2008-01-03 | Nec Corporation | Système multiprocesseur et terminal portable l'utilisant |
US8255621B2 (en) | 2006-06-27 | 2012-08-28 | Nec Corporation | Multiprocessor system and portable terminal using the same |
JP5458574B2 (ja) * | 2006-06-27 | 2014-04-02 | 日本電気株式会社 | マルチプロセッサシステム、マルチプロセッサシステムを使用した携帯端末 |
WO2013145282A1 (ja) * | 2012-03-30 | 2013-10-03 | 富士通株式会社 | データ処理装置 |
JPWO2013145282A1 (ja) * | 2012-03-30 | 2015-08-03 | 富士通株式会社 | データ処理装置 |
US9459870B2 (en) | 2012-03-30 | 2016-10-04 | Fujitsu Limited | Data processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101341286B1 (ko) | 멀티-포트 메모리 디바이스의 포트간 통신 | |
JPH09508227A (ja) | Pciバス・コンピュータのための使用可/使用不可拡張romを有する追加ボード | |
JPH06187283A (ja) | カード | |
JPH096722A (ja) | コンピュータ・システム | |
US6601165B2 (en) | Apparatus and method for implementing fault resilient booting in a multi-processor system by using a flush command to control resetting of the processors and isolating failed processors | |
JPH07306838A (ja) | 計算機間の排他制御装置 | |
JPH11126182A (ja) | コンピュータバス間通信装置及びその方法 | |
JPH04363746A (ja) | Dma機能を有するマイクロコンピュータシステム | |
JP3052857B2 (ja) | クラスタ間共有メモリアクセス方式 | |
JPH06119297A (ja) | データ処理システムにおける命令の実行順序を決定する方法および装置 | |
JP3514651B2 (ja) | リブート制御装置 | |
EP1128275A2 (en) | Method and apparatus for controlling multiple processors using a serial bus | |
JPH1145209A (ja) | プログラム転送システム | |
JP2001167058A (ja) | 情報処理装置 | |
JPH0855097A (ja) | データ処理システム及びそのメモリアクセス方法 | |
JP4791792B2 (ja) | デジタルシグナルプロセッサシステムおよびそのブート方法。 | |
JPH11232213A (ja) | 入出力装置におけるデータ転送方式 | |
JP2000099452A (ja) | Dma制御装置 | |
JPH0554009A (ja) | プログラムロード方式 | |
JPH05282242A (ja) | バス制御方式 | |
JPH08180008A (ja) | 半導体集積回路 | |
JP2705955B2 (ja) | 並列情報処理装置 | |
JP2001344222A (ja) | コンピュータ・システム | |
JPH0240760A (ja) | 情報処理装置 | |
JP2000155738A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000822 |