JP2806700B2 - マルチ・プロセッシング・システム - Google Patents

マルチ・プロセッシング・システム

Info

Publication number
JP2806700B2
JP2806700B2 JP16235492A JP16235492A JP2806700B2 JP 2806700 B2 JP2806700 B2 JP 2806700B2 JP 16235492 A JP16235492 A JP 16235492A JP 16235492 A JP16235492 A JP 16235492A JP 2806700 B2 JP2806700 B2 JP 2806700B2
Authority
JP
Japan
Prior art keywords
slave
output
circuit
master
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.)
Expired - Lifetime
Application number
JP16235492A
Other languages
English (en)
Other versions
JPH064468A (ja
Inventor
三知 中山
Original Assignee
日本電気アイシーマイコンシステム株式会社
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 日本電気アイシーマイコンシステム株式会社 filed Critical 日本電気アイシーマイコンシステム株式会社
Priority to JP16235492A priority Critical patent/JP2806700B2/ja
Publication of JPH064468A publication Critical patent/JPH064468A/ja
Application granted granted Critical
Publication of JP2806700B2 publication Critical patent/JP2806700B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマルチ・プロセッシング
・システムに関し、特にマスタ・マイクロコンピュータ
および複数のスレーブ・マイクロコンピュータを含んで
形成されるマルチ・プロセッシング・システムに関す
る。
【0002】
【従来の技術】一般に、マルチ・プロセッシング・シス
テムを形成するためには、マスタ・マイクロコンピュー
タ(以下マスタCPUと云う)とスレーブ・マイクロコ
ンピュータ(以下、スレーブCPUと云う)が必要であ
る。スレーブCPUはバスを二つ有しており、第1のバ
スはメイン・バスと呼ばれ、プログラム・フェッチ、デ
ータ・アクセス、リフレッシュ・アクセスおよびDMA
転送等を実行する機能を有している。また、第2のバス
はローカル・バスと呼ばれ、データ・アクセス、リフレ
ッシュ・アクセスおよびDMA転送等を実行することが
可能であり、主に外部のマイクロコンピュータにデータ
の受け渡し等を実行するためのデータ・アクセス機能を
有している。ローカル・バスは前述したとうり、外部の
マイクロコンピュータに対するデータの受け渡しを行う
ことができるため、マイクロコンピュータにおいて、メ
イン・バス等を使用して個々にデータの送受信、演算お
よび制御等を行い、またローカル・バスを使用して、個
々のマイクロコンピュータにおいて実行されたデータの
送受信結果、演算結果および制御結果等の情報を、外部
のマイクロコンピュータに伝達することができる。前記
ローカル・バスを使用して情報を伝達することにより、
マイクロコンピュータおよび外部のマイクロコンピュー
タと、それらのマイクロコンピュータに接続されている
ICメモリおよび周辺I/Oにより構成されるマルチ・
プロセッシング・システムの情報を分散処理することが
可能となり、マルチ・プロセッシング・システム全体の
情報処理能力を向上させることができる。
【0003】従来のマルチ・プロセッシング・システム
の含まれるスレーブCPUは、バス待ち動作可能なホー
ルド要求出力を制御するホールド要求出力回路と、ホー
ルド応答入力を受けとるホールド応答入力回路と、中央
演算装置とを有している。このスレーブCPUに接続さ
れるマスタCPUは、バス待ち動作可能なホールド要求
入力回路と、ホールド応答出力を制御するホールド応答
出力回路と、中央演算装置とを有している。
【0004】マルチ・プロセッシング・システムにおい
ては、通常スレーブCPU、マスタCPU、読出しまた
は書込み可能なICメモリまたは周辺I/Oデバイスが
接続されて、システムが構成されている。この場合、マ
スタCPUとスレーブCPUとを接続しているバスは、
前述したローカル・バスである。ICメモリまたは周辺
I/Oデバイスに対する読出しまたは書込み動作を、ス
レーブCPUにより行うか否かは、ホールド要求信号お
よびホールド応答信号により調停されている。このマル
チ・プロセッシング・システムを、スレーブCPUを1
個用いて構成する場合には、必然的に当該マルチ・プロ
セッシング・システムの処理能力に限界があり、この処
理能力を向上させるためには、複数個のスレーブCPU
をシステムに組込む必要がある。図6は、このスレーブ
CPUを3個用い、マスタCPU、ICメモリおよび周
辺I/Oデバイス等を接続して構成されたマルチ・プロ
セッシング・システムの従来例を示すプロック図であ
る。
【0005】図6に示されるように、本従来例のマルチ
・プロセッシング・システムは、スレーブCPU46、
47および48と、マスタCPU49と、ICメモリ5
0と、周辺I/Oデバイス51とを備えて構成されてお
り、また外部回路としては、インバータ56、Dフリッ
プフロップ57、59および60、OR回路58を含む
マスタ/スレーブ制御回路52と、インバータ80、8
1および82、クオッドDフリップフロップ83を含む
スレーブ・ホールド要求禁止回路53と、Dフリップフ
ロップ61、インバータ62、63および64、NAN
D回路65、68および71、NOR回路66、69お
よび72、OR回路67、70および73を含むスレー
ブ・ホールド要求出力制御回路54と、インバータ75
および76、NAND回路77、78および79を含む
優先順位制御回路55とを備えている。以下に、本従来
例の三つの遷移について説明する。
【0006】第1の遷移は、マスタCPU49において
バスを獲得している状態において、スレーブCPU48
のホールド要求出力がアクティブとなるタイミングが、
スレーブCPU47のホールド要求出力がアクティブと
なるタイミングよりも早かった場合である。但し、この
第1の遷移については、スレーブCPU47のホールド
要求がアクティブになるタイミングが、マスタCPU4
9のホールド応答がアクティブになる前である場合につ
いての説明を行う。第2の遷移は、前記第1の遷移によ
りスレーブCPU47がバスを獲得した後に、スレーブ
CPU47において当該バスを解放した場合であり、こ
れについての説明を行う。そして、第3の遷移は、前記
第2の動作遷移によりスレーブCPU48がバスを獲得
した後に、マスタCPU49においてバス待ち要求を行
った場合である。
【0007】第1の遷移においては、マスタCPU49
においてバスを獲得している状態において、スレーブC
PU48においては、出力されるホールド要求信号11
8はアクティブとなり、これによりAND回路63、O
R回路65およびOR回路72を経由して、マスタ・ホ
ールド要求信号120をアクティブにする。この時点に
おけるスレーブCPU46におけるスレーブ・ホールド
要求信号114はインアクティブの状態であるものと
し、またスレーブCPU48のホールド要求信号118
がアクティブになってから、マスタCPU79より出力
されるマスタ・ホールド応答信号121がアクティブに
なる前に、スレーブCPU47のホールド要求信号11
6がアクティブになるものと仮定する。
【0008】スレーブCPU47のホールド要求信号1
16がアクティブになると、AND回路66を経由し
て、OR回路68の出力がハイ・レベルになる。スレー
ブCPU48のホールド要求信号118がアクティブに
なっているために、OR回路72より出力されるマスタ
・ホールド要求信号120は、既にハイ・レベルになっ
ている。マスタCPU49においては、スレーブCPU
48のホールド要求信号118に従ってバスを解放し、
マスタ・ホールド応答信号121をハイ・レベルとして
出力する。マスタ・ホールド応答信号121がアクティ
ブになると、二つの回路動作が行われる。第1の回路動
作は、スレーブCPUに対するホールド応答動作であ
る。第2の回路動作は、スレーブCPUから出力される
ホールド要求信号を、恰もインアクティブであるように
みせるための動作である。
【0009】先ず前記第1の回路動作について説明す
る。この回路動作においては、マスタCPU49より出
力されるマスタ・ホールド応答信号121がアクティブ
になると、インバータ56を経由してNAND回路7
7、78および79に入力される。インバータ75およ
び76と、NAND回路77、78および79とは優先
順位制御回路55を形成しており、NAND回路77、
78および79の出力は、それぞれスレーブCPU4
8、スレーブCPU47およびスレーブCPU46に対
するホールド応答信号119、117および115とし
て、対応するスレーブCPUに入力される。この場合
に、OR回路73の出力はロウ・レベル、OR回路70
の出力はハイ・レベル、そしてOR回路67の出力はハ
イ・レベルの状態となっているために、NAND回路7
9の出力はハイ・レベル、NAND回路78の出力はロ
ウ・レベル、NAND回路77の出力はハイ・レベルと
なる。NAND回路78の出力がロウ・レベルであるた
めに、スレーブCPU47に対するホールド応答信号1
17はアクティブとなり、これによりスレーブCPU4
7はバスを獲得する。
【0010】次に、前記第2の回路動作について説明す
る。マスタ・ホールド応答信号121がアクティブにな
ると、インバータ56を経由してDフリップフロップ5
7のCK入力はハイ・レベルになる。他方、マスタCP
U49に対するマスタ・ホールド要求信号120は、こ
の場合ハイ・レベルであるため、Dフリップフロップ5
7の出力はハイ・レベルになる。他方インバータ56の
出力がハイ・レベルであるため、OR回路58の出力は
ハイ・レベルとなってDフリップフロップ59に入力さ
れる。従って、マスタCPU49より出力される同期信
号122がハイ・レベルになるタイミングにおいて、D
フリップフロップ59のQ出力はハイ・レベルとなり、
これにより、クオッドDフリップフロップ83のCLR
入力はハイ・レベルとなって、当該クオッドDフリップ
フロップ83のCK入力が受付け可能な状態になる。D
フリップフロップ59のQ出力がハイ・レベルになった
後に、マスタCPU49より出力される同期信号122
は一旦ロウ・レベルになり、次のハイ・レベルになるタ
イミングにおいて、Dフリップフロップ60のQ出力は
ハイ・レベルになる。Dフリップフロップ60のQ出力
がハイ・レベルになると、クオッドDフリップフロップ
83のCK入力はハイ・レベルとなる。
【0011】他方、それぞれスレーブCPU46、スレ
ーブCPU47およびスレーブCPU48に対するホー
ルド応答信号115、117および119に対応して、
インバータ82、81および80の出力は、それぞれロ
ウ・レベル、ハイ・レベルおよびロウ・レベルとなって
おり、クオッドDフリップフロップ83のCK入力がハ
イ・レベルとなるタイミングにおいて、当該クオッドD
フリップフロップ83に対するD入力が、それぞれロウ
・レベル、ハイ・レベルおよびロウ・レベルとなり、こ
れによりクオッドDフリップフロップ83のQ反転出力
は、それぞれハイ・レベル、ロウ・レベルおよびハイ・
レベルにて出力され、それぞれ対応するNOR回路7
2、69および66に入力される。Dフリップフロップ
60のQ出力がハイ・レベルになった後に、マスタCP
U49より出力される同期信号122が一旦ロウ・レベ
ルになり、次のハイ・レベルになるタイミングにおい
て、Dフリップフロップ61のQ反転出力がロウ・レベ
ルになるので、AND回路65、AND回路68および
AND回路71の出力はロウ・レベルとなり、同時にO
R回路66の出力がロウ・レベル、OR回路69の出力
がハイ・レベルおよびOR回路72の出力がロウ・レベ
ルとなる。AND回路65およびNOR回路66の出力
が両方ともにロウ・レベルであるため、OR回路67の
出力はロウ・レベルとなり、またOR回路73の出力も
同様にロウ・レベルとなる。OR回路70の場合は、A
ND回路68の出力がロウ・レベル、OR回路69の出
力がハイ・レベルであるため、その出力はハイ・レベル
である。従って、OR回路74より出力されるマスタ・
ホールド要求信号120はアクティブ(ハイ・レベル)
のままとなる。但し、スレーブCPU48より出力され
るホールド要求信号118がアクティブであるにもかか
わらず、OR回路67の出力がロウ・レベルであるため
に、恰もスレーブCPU48より出力されるホールド要
求信号118が、インアクティブであるかのようにみえ
る状態となる。
【0012】次に、第2の遷移のついては、上述したよ
うに、第1の遷移によりスレーブCPU47がバスを獲
得した後に、スレーブCPU47が当該バスを解放する
場合について説明する。但し、第1の遷移により、スレ
ーブCPU48のホールド要求信号がアクティブになっ
ている場合についての説明である。また、スレーブCP
U47がバスを解放した後に、マスタCPU49からス
レーブCPU48に遷移する場合に、スレーブCPU4
7およびスレーブCPU46より出力されるホールド要
求信号116および114は、共にインアクティブであ
るものと仮定する。
【0013】スレーブCPU47においてはバスを解放
し、当該スレーブCPU47より出力されるホールド要
求信号116をインアクティブにする。このインアクテ
ィブなホールド要求信号116を受けて、NOR回路6
9、OR回路70およびOR回路74を経由して、マス
タ・ホールド要求信号120は、インアクティブにな
る。マスタCPU49においては、マスタ・ホールド要
求信号120がインアクティブになると、マスタ・ホー
ルド応答信号121をインアクティブにしてバスを獲得
する。マスタ・ホールド応答信号121がインアクティ
ブになると、インバータ56およびNAND回路78を
経由して、スレーブCPU47に入力されるホールド応
答信号117をインアクティブにする。そして同時に、
インバータ56を経由してOR回路58の出力がロウ・
レベルになり、マスタCPU49より出力される同期信
号122がハイ・レベルになるタイミングにおいて、D
フリップフロップ59のQ出力およびクオッドDフリッ
プフロップ83のCLR入力がロウ・レベルになって、
NOR回路66の出力、NOR回路69の出力およびN
OR回路72の出力が共にロウ・レベルのままになる。
【0014】Dフリップフロップ59のQ出力がロウ・
レベルになった後に、マスタCPU49より出力される
同期信号122が一旦ロウ・レベルになり、次のハイ・
レベルになるタイミングにおいて、Dフリップフロップ
60のQ出力はロウ・レベルとなる。Dフリップフロッ
プ60のQ出力がロウ・レベルになると、クオッドDフ
リップフロップ83のCK入力はロウ・レベルになる
が、クオッドDフリップフロップ83のCLR入力がロ
ウ・レベルであるため、クオッドDフリップフロップ8
3のQ反転出力は変化しない。Dフリップフロップ60
のQ出力がロウ・レベルになった後に、マスタCPU4
9より出力される同期信号122が一旦ロウ・レベルに
なり、次のハイ・レベルになるタイミングにおいて、D
フリップフロップ61のQ反転出力がハイ・レベルにな
るため、NOR回路66の出力、NOR回路69の出力
およびNOR回路72の出力は、共にロウ・レベルのま
まの状態となり、同時にAND回路68の出力およびA
ND回路71の出力も共にロウ・レベルのままとなる
が、AND回路65の出力は、スレーブCPU48のホ
ールド要求信号118がアクティブのままになっている
ために、ハイ・レベルとなる。このAND回路65の出
力は、OR回路67およびOR回路74を経由してアク
ティブのマスタ・ホールド要求信号120として出力さ
れ、マスタCPU49に入力される。マスタCPU49
においては、バスを解放し、マスタ・ホールド応答信号
121をアクティブにして出力して、インバータ56お
よびNAND回路77を経由してスレーブCPU48に
対するホールド応答信号119をアクティブにする。ス
レーブCPU48においては、ホールド応答信号119
がアクティブで入力されると、バスを獲得する。
【0015】次に、第3の遷移について説明する。第3
の遷移は、前述したとうり、第2の遷移によりスレーブ
CPU48がバスを獲得した後に、マスタCPU49に
おいてバス待ち要求を行った場合について説明する。ス
レーブCPU48がバスを獲得している時点において、
マスタCPU49の優先順位な高いリフレッシュ等のバ
ス・アクセス要求があった場合には、マスタCPU49
においては、マスタ・ホールド応答信号121をインア
クティブにして出力する。マスタ・ホールド応答信号1
21がインアクティブになると、スレーブCPU48に
おいてはバスを解放し、ホールド要求信号118をイン
アクティブにして出力する。ホールド要求信号118が
インアクティブになると、インバータ62、NOR回路
66、OR回路67およびOR回路74を経由して、マ
スタ・ホールド要求信号120はインアクティブにな
る。マスタ・ホールド要求信号120はインアクティブ
になると、マスタCPU49においてバスを獲得する。
また、マスタ・ホールド要求信号120がインアクティ
ブになることにより、Dフリップフロップ57のCLR
入力がロウ・レベルとなり、Dフリップフロップ57の
Q出力もロウ・レベルになる。従って、これによりOR
回路58の出力はロウ・レベルとなる。OR回路58の
出力がロウ・レベルとなると、マスタCPU49から出
力される同期信号122がハイ・レベルになるタイミン
グにおいて、Dフリップフロップ59のQ出力およびク
オッドDフリップフロップ83のCLR入力がロウ・レ
ベルとなり、NOR回路66の出力、NOR回路69の
出力およびNOR回路72の出力は、共にロウ・レベル
のままになる。
【0016】Dフリップフロップ59のQ出力がロウ・
レベルになった後に、マスタCPU49より出力される
同期信号122が一旦ロウ・レベルになり、同期信号1
22の次のハイ・レベルになるタイミングにおいて、D
フリップフロップ60のQ出力はロウ・レベルになる。
Dフリップフロップ60のQ出力はロウ・レベルになる
と、クオッドDフリップフロップ83のCK入力はロウ
・レベルになるが、クオッドDフリップフロップ83の
CLR入力がロウ・レベルであるため、クオッドDフリ
ップフロップ83のQ反転出力のレベルは変化しないま
まである。Dフリップフロップ60のQ出力がロウ・レ
ベルになった後に、マスタCPU49より出力される同
期信号122が一旦ロウ・レベルになり、次のハイ・レ
ベルになるタイミングにおいて、Dフリップフロップ6
1のQ反転出力がハイ・レベルになるので、NOR回路
66の出力、NOR回路69の出力およびNOR回路7
2の出力は共にロウ・レベルのままとなり、同時にま
た、NAND回路68の出力およびNAND回路71の
出力もロウ・レベルのままの状態となるが、NAND回
路65の出力は、スレーブCPU48のホールド要求信
号118が、再度アクティブのままの状態となっている
ために、ハイ・レベルになっている。
【0017】図6に示される従来のマルチ・プロセッシ
ング・システムにおいては、スレーブCPUを追加して
当該システムを拡張する場合には、外部回路に包含され
るスレーブ・ホールド要求出力制御回路54に含まれる
インバータ62、NAND回路65、NOR回路66お
よびOR回路67に相当する回路要素、優先順位制御回
路55に含まれるインバータ75およびNAND回路7
7に相当する回路要素、スレーブ・ホールド要求禁止回
路53に含まれるインバータ80、81および82とク
オッドDフリップフロップ83内のDフリップフロップ
に相当する回路要素、およびOR回路74に対する入力
系等を、スレーブCPUの追加個数に対応し比例して追
加することにより実現している。仮に、本システムにお
ける外部回路全体をマスタCPU内に組込んで1チップ
化するものとしても、接続可能なスレーブCPUを増や
すごとに2端子ずつのマスタCPUのICパッケージの
端子数の制限により、接続可能のスレーブCPUの個数
が制約される。
【0018】
【発明が解決しようとする課題】上述した従来のマルチ
・プロセッシング・システムにおいては、システムを拡
張するために追加するスレーブCPUの個数に比例し
て、当該システムの外部回路に含まれる回路要素が増大
し、これに伴ない膨大の外部回路の設計ならびにディバ
ク工数が必要とするという欠点があり、且つ当該システ
ムの実装面積が大きくなるという欠点がある。
【0019】また、1チップ化されたマスタCPUのI
Cパッケージの端子数の制限によって、当該システムに
追加できるスレーブCPUの個数が制約され、システム
の拡張が不可能になるという欠点がある。
【0020】
【課題を解決するための手段】本発明のマルチ・プロセ
ッシング・システムは、ICメモリおよび周辺I/Oデ
バイスを含み、マスタCPUと複数のスレーブCPU
を、優先順位制御回路を介して接続して構成されるマル
チ・プロセッシング・システムにおいて、前記優先順位
制御回路より入力されるスレーブ・ホールド応答信号を
入力し、所定のホールド要求信号を出力するCPUブロ
ックと、前記マスタCPUより入力される同期信号なら
びにマスタ・ホールド応答信号と、前記複数のスレーブ
CPUより出力されるホールド要求信号の論理和として
生成されるマスタ・ホールド要求信号を受けて、当該マ
スタ・ホールド要求信号が、マスタ側による要求か、ま
たはスレーブ側による要求かを判別する信号Aを出力す
るマスタ/スレーブ制御回路と、前記スレーブ・ホール
ド応答信号と、前記マスタ/スレーブ制御回路より出力
される前記信号Aとを入力し、当該スレーブ・ホールド
応答信号がインアクティブである場合に、アクティブな
信号Bを出力するスレーブ・ホールド要求禁止回路と、
前記スレーブ・ホールド要求禁止回路より出力される前
記信号Bと、前記CPUブロックより出力される前記ホ
ールド要求信号と、前記マスタCPUより出力される前
記同期信号とを受けて、スレーブ・ホールド要求信号を
出力するスレーブ・ホールド要求出力制御回路と、を前
記スレーブCPU内にそれぞれ備え、前記CPUブロッ
クより出力されるホールド要求信号を、前記マスタ/ス
レーブ制御回路ならびに前記スレーブ・ホールド要求禁
止回路により制御することができることを特徴としてい
る。
【0021】
【実施例】次に、本発明について図面を参照して説明す
る。
【0022】図1は本発明の一実施例を示すブロック図
である。図1に示されるように、本実施例は、スレーブ
CPU1、6および7と、マスタCPU8と、ICメモ
リ9と、周辺I/Oデバイス10とを備えて構成されて
おり、外部回路としては、インバータ16、17および
18、NAND回路13、14および15を含む優先順
位制御回路12と、OR回路11とを備えている。ま
た、図2は本実施例におけるスレーブCPU1の内部構
成を示すブロック図であり、また図3は当該スレーブC
PU1の一実施例を示す回路図である。図2および図3
より明らかなように、スレーブCPU1は、CPUブロ
ック2と、インバータ19、Dフリップフロップ20、
22および23、OR回路21を含むマスタ/スレーブ
制御回路3と、インバータ24およびDフリップフロッ
プ25を含むスレーブ・ホールド要求禁止回路4と、A
ND回路27、インバータ28、NOR回路29および
OR回路30を含むスレーブ・ホールド要求出力制御回
路5とを備えて構成される。以下に、図1および図3を
参照して本実施例の三つの遷移について説明する。
【0023】第1の遷移は、マスタCPU8においてバ
スを獲得している状態において、スレーブCPU1のス
レーブ・ホールド要求信号102がアクティブとなるタ
イミングが、スレーブCPU6のスレーブ・ホールド要
求信号110がアクティブとなるタイミングよりも早か
った場合である。但し、この第1の遷移については、ス
レーブCPU6のスレーブ・ホールド要求信号110が
アクティブになるタイミングが、マスタCPU8のマス
タ・ホールド応答がアクティブになる前である場合につ
いての説明を行う。第2の遷移は、前記第1の遷移によ
りスレーブCPU6がバスを獲得した後に、スレーブC
PU6において当該バスを解放した場合であり、これに
ついての説明を行う。そして、第3の遷移は、前記第2
の遷移によりスレーブCPU1がバスを獲得した後に、
マスタCPU8においてバス待ち要求を行った場合であ
る。
【0024】第1の遷移においては、マスタCPU8に
おいてバスを獲得している状態において、スレーブCP
U1においては、出力されるスレーブ・ホールド要求信
号102はアクティブとなり、これによりOR回路11
を経由して、マスタ・ホールド要求信号104をアクテ
ィブにする。この時点におけるスレーブCPU7におけ
るスレーブ・ホールド要求信号112はインアクティブ
の状態であるものとし、またスレーブCPU1のスレー
ブ・ホールド要求信号102がアクティブになってか
ら、マスタCPU8より出力されるマスタ・ホールド応
答信号105がアクティブになる前に、スレーブCPU
6のスレーブ・ホールド要求信号110がアクティブに
なるものと仮定する。
【0025】スレーブCPU6のスレーブ・ホールド要
求信号110がアクティブになる場合を考える。スレー
ブCPU6のスレーブ・ホールド要求信号110がアク
ティブになっても、スレーブCPU1のスレーブ・ホー
ルド要求信号102がアクティブになっているために、
OR回路11より出力されるマスタ・ホールド要求信号
104はハイ・レベルである。マスタCPU8において
は、スレーブCPU1より出力されるスレーブ・ホール
ド要求信号102に従って応答信号105をアクティブ
として出力する。マスタ・ホールド応答信号105がア
クティブになると、二つの回路動作が行われる。第1の
回路動作は、スレーブCPUに対するホールド応答動作
である。第2の回路動作は、スレーブCPUから出力さ
れるスレーブ・ホールド要求信号を、恰もインアクティ
ブであるようにみせるための動作である。
【0026】先ず前記第1の回路動作について説明す
る。この回路動作においては、マスタCPU8より出力
されるマスタ・ホールド応答信号105がアクティブに
なると、当該マスタ・ホールド応答信号105は、イン
バータ16を経由してNAND回路13、14および1
5に入力される。インバータ16、17および18と、
NAND回路13、14および15とは優先順位制御回
路12を形成しており、NAND回路13、14および
15の出力は、それぞれスレーブCPU7、スレーブC
PU6およびスレーブCPU1に対するスレーブ・ホー
ルド応答信号113、111および103として、対応
するスレーブCPUに入力される。この場合に、スレー
ブCPU1より出力されるスレーブ・ホールド要求信号
102はロウ・レベル、スレーブCPU6より出力され
るスレーブ・ホールド要求信号110はロウ・レベル、
そして、スレーブCPU7より出力されるスレーブ・ホ
ールド要求信号112はハイ・レベルになっているの
で、NAND回路13の出力はハイ・レベル、NAND
回路14の出力はロウ・レベル、NAND回路15の出
力はハイ・レベルとなる。NAND回路14の出力がロ
ウ・レベルであるため、スレーブCPU6のスレーブ・
ホールド応答信号111はアクティブとなり、スレーブ
CPU6においてバスを獲得する。
【0027】次に、前記第2の回路動作について説明す
る。図3において、マスタ・ホールド応答信号105が
アクティブになると、インバータ19を経由してDフリ
ップフロップ20のCK入力はハイ・レベルになる。他
方、マスタCPU8に対するマスタ・ホールド要求信号
104は、この場合ハイ・レベルであるため、Dフリッ
プフロップ20の出力はハイ・レベルになる。他方イン
バータ19の出力がハイ・レベルであるため、OR回路
21の出力108はハイ・レベルとなってDフリップフ
ロップ22に入力される。従って、マスタCPU8より
出力される同期信号101がハイ・レベルになるタイミ
ングにおいて、Dフリップフロップ22のQ出力はハイ
・レベルとなり、これにより、Dフリップフロップ25
のCLR入力はハイ・レベルとなって、当該Dフリップ
フロップ25のCK入力が受付け可能な状態になる。D
フリップフロップ22のQ出力がハイ・レベルになった
後に、マスタCPU8より出力される同期信号101は
一旦ロウ・レベルになり、次のハイ・レベルになるタイ
ミングにおいて、Dフリップフロップ23のQ出力はハ
イ・レベルになる。Dフリップフロップ23のQ出力が
ハイ・レベルになると、Dフリップフロップ25のCK
入力はハイ・レベルとなる。
【0028】Dフリップフロップ25のCK入力がハイ
・レベルになるタイミングにおいて、Dフリップフロッ
プ25のQ反転出力が変化する。Dフリップフロップ2
5のCK入力ハイ・レベルになるタイミングにおいて、
インバータ24より出力されるDフリップフロップ25
のD入力がロウ・レベルとなり、NOR回路29に対す
るDフリップフロップ25のQ反転出力はハイ・レベル
になる。Dフリップフロップ23のQ出力がハイ・レベ
ルになった後に、マスタCPU8より出力される同期信
号101が一旦ロウ・レベルになり、次のハイ・レベル
になるタイミングにおいて、Dフリップフロップ26の
Q反転出力がロウ・レベルになるので、AND回路27
の出力はロウ・レベルとなり、同時にNOR回路29の
出力がロウ・レベルとなる。AND回路27の出力およ
びNOR回路29の出力が両方共にロウ・レベルとなる
ため、OR回路30の出力、即ちスレーブホールド要求
信号102はロウ・レベルとなる。CPUブロック2よ
り出力されるホールド要求信号107がアクティブであ
るのにもかかわらず、OR回路30より出力されるスレ
ーブ・ホールド要求信号102がロウ・レベルとなるた
めに、スレーブCPU1のスレーブ・ホールド要求信号
102はインアクティブのレベルで出力される。
【0029】次に、第2の遷移のついては、上述したよ
うに、第1の遷移によりスレーブCPU6がバスを獲得
した後に、スレーブCPU6が当該バスを解放する場合
について説明する。但し、これは、第1の遷移により、
スレーブCPU1内部のCPUブロック2より出力され
るホールド要求信号107がアクティブになっている場
合についての説明である。また、スレーブCPU6がバ
スを解放した後に、マスタCPU8からスレーブCPU
1に遷移する場合に、スレーブCPU6およびスレーブ
CPU7より出力されるスレーブ・ホールド要求信号1
10および112は、共にインアクティブであるものと
仮定する。
【0030】スレーブCPU6においてはバスを解放
し、当該スレーブCPU6より出力されるスレーブ・ホ
ールド要求信号110をインアクティブにする。このイ
ンアクティブなスレーブ・ホールド要求信号110は、
OR回路11を経由して、インアクティブなマスタ・ホ
ールド要求信号104として出力される。マスタCPU
8においては、マスタ・ホールド要求信号104がイン
アクティブになると、マスタ・ホールド応答信号105
をインアクティブにしてバスを獲得する。マスタ・ホー
ルド応答信号105がインアクティブになると、インバ
ータ16およびNAND回路14を経由して、スレーブ
CPU6に入力されるスレーブ・ホールド応答信号11
1をインアクティブにする。そして同時に、インバータ
19を経由してOR回路21の出力がロウ・レベルにな
り、マスタCPU8より出力される同期信号101がハ
イ・レベルになるタイミングにおいて、Dフリップフロ
ップ22のQ出力およびDフリップフロップ25のCL
R入力がロウ・レベルになって、NOR回路29の出力
はロウ・レベルのままになる。
【0031】Dフリップフロップ22のQ出力がロウ・
レベルになった後に、マスタCPU8より出力される同
期信号101が一旦ロウ・レベルになり、次のハイ・レ
ベルになるタイミングにおいて、Dフリップフロップ2
3のQ出力はロウ・レベルとなる。Dフリップフロップ
23のQ出力がロウ・レベルになると、Dフリップフロ
ップ25のCK入力はロウ・レベルになるが、Dフリッ
プフロップ25のCLR入力がロウ・レベルであるた
め、Dフリップフロップ25のQ反転出力は変化するこ
とがない。Dフリップフロップ23のQ出力がロウ・レ
ベルになった後に、マスタCPU8より出力される同期
信号101が一旦ロウ・レベルになり、次のハイ・レベ
ルになるタイミングにおいて、Dフリップフロップ26
のQ反転出力がハイ・レベルになるため、NOR回路2
9の出力はロウ・レベルのままとなり、AND回路27
の出力は、CPUブロック2のホールド要求信号107
がアクイティブのままとなっているために、ハイ・レベ
ルとなる。このAND回路27の出力は、OR回路30
およびOR回路11を経由してアクティブのマスタ・ホ
ールド要求信号104として出力され、マスタCPU8
に入力される。マスタCPU8においては、バスを解放
し、マスタ・ホールド応答信号105をアクティブにし
て出力して、インバータ16およびNAND回路15を
経由してスレーブCPU1に対するマスタ・ホールド応
答信号103をアクティブにする。スレーブCPU1に
おいては、ホールド応答信号103がアクティブで入力
されると、バスを獲得する。
【0032】次に、第3の遷移について説明する。第3
の遷移は、前述したとうり、第2の遷移によりスレーブ
CPU1がバスを獲得した後に、マスタCPU8におい
てバス待ち要求を行った場合について説明する。スレー
ブCPU1がバスを獲得している時点において、マスタ
CPU8の優先順位の高いリフレッシュ等のバス・アク
セス要求があった場合には、マスタCPU8において
は、マスタ・ホールド応答信号105をインアクティブ
にして出力する。マスタ・ホールド応答信号105がイ
ンアクティブになると、インバータ16およびNAND
回路を経由して、スレーブCPU1より出力されるスレ
ーブ・ホールド応答信号103がインアクティブとな
る。スレーブ・ホールド応答信号103はインアクティ
ブになると、スレーブCPU1においてバスを解放し、
スレーブ・ホールド応答信号103をインアクティブに
する。これにより、OR回路11を経由して、マスタ・
ホールド要求信号104がインアクティブとなる。マス
タ・ホールド要求信号104がインアクティブになる
と、マスタCPU8はバスを獲得する。マスタ・ホール
ド要求信号104がインアクティブになると、インバー
タ19を経由してDフリップンフロップ20のCLR入
力がロウ・レベルとなり、Dフリップフロップ20のC
LR入力がロウ・レベルとなって、Dフリップフロップ
20のQ出力は、ロウ・レベルとなる。Dフリップフロ
ップ20のQ出力がロウ・レベルになると、OR回路2
1の出力はロウ・レベルになる。OR回路21の出力が
ロウ・レベルになると、同期信号101の入力がハイ・
レベルになるタイミングにおいて、Dフリップフロップ
22のQ出力、およびDフリップフロップ25のCLR
入力がロウ・レベルになり、NOR回路29の出力はロ
ウ・レベルのままとなる。
【0033】Dフリップフロップ22のQ出力ロウ・レ
ベルになった後に、マスタCPU8より出力される同期
信号101が一旦ロウ・レベルになり、次のハイ・レベ
ルになるタイミングにおいて、Dフリップフロップ23
のQ反転出力がロウ・レベルになる。これにより、Dフ
リップフロップ25のCK入力はロウ・レベルになる
が、Dフリップフロップ25のCLR入力がロウ・レベ
ルであるため、Dフリップフロップ25のQ反転出力は
変化することがない。Dフリップフロップ23のQ出力
がロウ・レベルになった後に、マスタCPU8より出力
される同期信号101が一旦ロウ・レベルになり、次の
ハイ・レベルになるタイミングにおいて、Dフリップフ
ロップ26のQ反転出力がハイ・レベルになる。これに
より、NOR回路29の出力がロウ・レベルのままとな
り、AND回路27の出力はCPUブロック2より出力
されるホールド要求信号107が、再度アクティブのま
まになっているために、ハイ・レベルとなる。従って、
容易にマスタCPUと複数のスレーブCPUとを接続し
て構成されるマルチ・プロセッシング・システムを実現
することができる。また、マルチ接続されるスレーブC
PUを一つ増やすごとに、外部回路として、インバータ
およびNAND回路を一つずつ増やすことにより、スレ
ーブCPUを容易に追加することができる。また、図1
に示されるように、外部に多くのハードウェアを必要と
しないので、ハードウェアのディバグが容易になり、か
つまた実装面積が小さくなる。なお、図4(a)、
(b)、(c)、(d)、(e)、(f)、(g)、
(h)、(i)、(j)、(k)および(l)は、本実
施例における動作タイミング図であり、それぞれ、同期
信号101、スレーブ・ホールド要求信号112、11
0および102、マスタ・ホールド要求信号104、バ
ス信号106、マスタ・ホールド応答信号105、スレ
ーブ・ホールド応答信号113、111および103、
マスタ/スレーブ信号108および109を示してい
る。
【0034】また、図5に示されるのは、スレーブCP
Uの他の実施例の回路図であり、CPUブロック2と、
インバータ34および35、Dフリップフロップ36お
よび38、そしてOR回路37を含むマスタ/スレーブ
制御回路31と、Dフリップフロップ41を含むスレー
ブ・ホールド要求禁止回路32と、Dフリップフロップ
39および40、OR回路42、インバータ43、NA
ND回路44およびOR回路45を含むスレーブ・ホー
ルド要求出力制御回路33とを備えて構成される。この
スレーブCPUの動作については、前述の第1の実施例
の場合と同様である。
【0035】
【発明の効果】以上説明したように、本発明は、当該マ
ルチ・プロセッサ・システム開発時におけるハードウェ
アのディバグを容易にすることができるとともに、当該
システムの実装面積を圧縮するとができるという効果が
ある。
【0036】また、外部回路として、スレーブCPU1
個当り1個のインバータおよびNAND回路を追加する
だけで、数多くのスレーブCPUを接続してマルチ・プ
ロセッシング・システムを構成することができるという
効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例を示すブロック図である。
【図2】本実施例におけるスレーブCPUを示すブロッ
ク図である。
【図3】本実施例におけるスレーブCPUの第1の実施
例を示す回路図である。
【図4】本実施例における動作タイミング図である。
【図5】本実施例におけるスレーブCPUの第2の実施
例を示す回路図である。
【図6】従来例を示すブロック図である。
【符号の説明】
1、6、7、46〜48 スレーブCPU 2 CPUブロック 3、31、52 マスタ/スレーブ制御回路 4、32、53 スレーブ・ホールド要求禁止回路 5、33、54 スレーブ・ホールド要求出力制御回
路 8、49 マスタCPU 9、50 ICメモリ 10、51 周辺I/Oデバイス 11、21、30、37、42、45、58、67、7
0、73、74 OR回路 12、55 優先順位制御回路 13〜15、27、44、77〜79 NAND回路 16〜19、24、28、34、35、43、56、6
2〜64、75、76、80〜82 インバータ 20、22、23、25、26、36、38〜41、5
7、59〜61 Dフリップフロップ 27、65、68、71 AND回路 29、42、66、69、72 NOR回路 83 クオッドDフリップフロップ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 ICメモリおよび周辺I/Oデバイスを
    含み、マスタCPUと複数のスレーブCPUを、優先順
    位制御回路を介して接続して構成されるマルチ・プロセ
    ッシング・システムにおいて、 前記優先順位制御回路より入力されるスレーブ・ホール
    ド応答信号を入力し、所定のホールド要求信号を出力す
    るCPUブロックと、 前記マスタCPUより入力される同期信号ならびにマス
    タ・ホールド応答信号と、前記複数のスレーブCPUよ
    り出力されるホールド要求信号の論理和として生成され
    るマスタ・ホールド要求信号を受けて、当該マスタ・ホ
    ールド要求信号が、マスタ側による要求か、またはスレ
    ーブ側による要求かを判別する信号Aを出力するマスタ
    /スレーブ制御回路と、 前記スレーブ・ホールド応答信号と、前記マスタ/スレ
    ーブ制御回路より出力される前記信号Aとを入力し、当
    該スレーブ・ホールド応答信号がインアクティブである
    場合に、アクティブな信号Bを出力するスレーブ・ホー
    ルド要求禁止回路と、 前記スレーブ・ホールド要求禁止回路より出力される前
    記信号Bと、前記CPUブロックより出力される前記ホ
    ールド要求信号と、前記マスタCPUより出力される前
    記同期信号とを受けて、スレーブ・ホールド要求信号を
    出力するスレーブ・ホールド要求出力制御回路と、 を前記スレーブCPU内にそれぞれ備え、前記CPUブ
    ロックより出力されるホールド要求信号を、前記マスタ
    /スレーブ制御回路ならびに前記スレーブ・ホールド要
    求禁止回路により制御することができることを特徴とす
    るマルチ・プロセッシング・システム。
JP16235492A 1992-06-22 1992-06-22 マルチ・プロセッシング・システム Expired - Lifetime JP2806700B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16235492A JP2806700B2 (ja) 1992-06-22 1992-06-22 マルチ・プロセッシング・システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16235492A JP2806700B2 (ja) 1992-06-22 1992-06-22 マルチ・プロセッシング・システム

Publications (2)

Publication Number Publication Date
JPH064468A JPH064468A (ja) 1994-01-14
JP2806700B2 true JP2806700B2 (ja) 1998-09-30

Family

ID=15752973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16235492A Expired - Lifetime JP2806700B2 (ja) 1992-06-22 1992-06-22 マルチ・プロセッシング・システム

Country Status (1)

Country Link
JP (1) JP2806700B2 (ja)

Also Published As

Publication number Publication date
JPH064468A (ja) 1994-01-14

Similar Documents

Publication Publication Date Title
US4380798A (en) Semaphore register including ownership bits
US7007108B2 (en) System method for use of hardware semaphores for resource release notification wherein messages comprises read-modify-write operation and address
KR101341286B1 (ko) 멀티-포트 메모리 디바이스의 포트간 통신
US4698753A (en) Multiprocessor interface device
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
JPH0772889B2 (ja) 情報処理システム
JPH02500309A (ja) 保留バスに割り込み要求を送る割り込み要求発生ノード
EP0242879A2 (en) Data processor with wait control allowing high speed access
JPH07105146A (ja) 共有メモリ装置
EP0261497B1 (en) Semaphore circuit for shared memory cells
JP2634130B2 (ja) バスの使用を制御する方法及びコンピュータ・システム
JPH10143467A (ja) データ処理システムにおいてバス所有権を調停するための方法および装置
US6874049B1 (en) Semaphores with interrupt mechanism
JP2806700B2 (ja) マルチ・プロセッシング・システム
JP2007058493A (ja) マルチプロセッサシステム及びそれにおける排他制御方法
JP2507071B2 (ja) バスロック制御方式
JP3093374B2 (ja) 割り込みコントローラ
JPS59229662A (ja) 共有メモリ制御回路
CA1299295C (en) Dma access arbitration device in which cpu can arbitrate on behalfof attachment having no arbiter
JPH0542027B2 (ja)
JPS63268061A (ja) 共有資源排他制御方式
JPH02144653A (ja) データ処理装置
JPS6341973A (ja) マルチプロセツサシステム
JPS60563A (ja) マルチプロセツサ装置
JPH0713815B2 (ja) バス変換装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980616