JPH04131955A - マルチプロセッサ型プログラマブルコントローラ - Google Patents

マルチプロセッサ型プログラマブルコントローラ

Info

Publication number
JPH04131955A
JPH04131955A JP25586690A JP25586690A JPH04131955A JP H04131955 A JPH04131955 A JP H04131955A JP 25586690 A JP25586690 A JP 25586690A JP 25586690 A JP25586690 A JP 25586690A JP H04131955 A JPH04131955 A JP H04131955A
Authority
JP
Japan
Prior art keywords
bus
cpu
access
controller
wait
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
Application number
JP25586690A
Other languages
English (en)
Inventor
Joji Takera
武良 丈治
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works 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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP25586690A priority Critical patent/JPH04131955A/ja
Publication of JPH04131955A publication Critical patent/JPH04131955A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 【産業上の利用分野】
本発明は、複数個のCPUがI/Oバスを共有するよう
にしたマルチプロセッサ型プログラマブルコントローラ
に関するものである。
【従来の技術】
複数個のCPUを備えたマルチプロセッサ型プログラマ
ブルコントローラでは、1つのCPUをI/Oバスに接
続してマスクCPUとして用いるとともに、他のCPU
をI/Oバスに接続しないスレーブCPUとしたマスタ
スレーブ構成が一般に採用されている。 マスタスレーブ構成では、特定のCPUをマスタCPU
として固定的に用いる方式と、必要に応じて任意のCP
UをマスタCPUとして用いる方式とが考えられている
。 マスタCPUが固定的に設定されている場合、スレーブ
CPUからI/OバスへのアクセスはマスクCPUが代
行することになる。すなわち、スレープCPUがI/O
バスにアクセスするときには、アクセスに必要な情報を
スレーブCPUに所属しているメモリに格納した状態で
マスタCPUにアクセス依頼要求を出力する。アクセス
依頼要求を受けたマスクCPUは、スレーブCPUに所
属しているメモリを一時的にスレーブCPUと共有し、
メモリの特定領域に格納されている情報に基づいてI/
Oバスをアクセスするのである。 一方、任意のCPUをI/Oバスに接続してマスタCP
Uとする場合、第6図に示すように、CPU5a、5b
、メモリ6a、6bを、バスオービタ3a、3bを介し
てI/Oバス2に選択的に接続するものがある。この構
成では、パスオービタ3a、3bは、CPU5a、5b
、メモリ6a、6bとともにCPUユニット1 a、1
 bに設けられている。この構成では、マスクCPUに
なろうとするCPU5a、5bはパスオービタ3a、3
bに対してI/Oバス2へのアクセス要求を出力し、ア
クセス要求を受けたパスオービタ3a、3bはCPU5
a、5bをI/Oバス2に接続するとともにアクセス許
可信号をCPU5a、5bに返送する。 アクセス許可信号を受けたCPU5a、5bは、パスオ
ービタ3a、3bを介してI/Oバス2にアクセス可能
となっているからマスタCPUとして動作するのである
【発明が解決しようとする課題】
マスクCPtJを固定的に設定した前者の構成では、I
/OバスをアクセスするためのメモリがスレーブCPU
の周辺として必要になり、また、スレーブCPUに所属
しているメモリを一時的にマスタCPUに共有させるた
めのアーキテクチャがメモリ周辺に必要となる。その結
果、構成が複雑になるという問題が生じる。さらに、I
/Oバスにアクセスするための情報をメモリに格納する
処理が、オーバヘッドになるから、処理効率が低下する
という問題が生じる。 一方、マスタCPUが固定されていない後者の構成では
、各CPUごとのメモリが不要であり、比較的構成が簡
単になるが、各CPUがI/Oバスにアクセスしようと
するたびに、上記手順の処理を初めから行うことになる
から、I/Oバスにアクセスする処理の回数に比例して
処理時間が増大するという問題がある。 本発明は上記問題点の解決を目的とするものであり、複
数のCPUを用いるとともに、すべてのCPUが他のC
PUを介さずにI/Oバスにアクセスできるようにし、
かつ、I/Oバスにアクセスする処理の回数が多くなっ
ても処理時間が増加する程度が比較的少ないマルチプロ
セッサ型プログラマブルコントローラを提供しようとす
るものである。
【課題を解決するための手段】
本発明では、上記目的を達成するために、複数個のCP
Uと共有のI/Oバスとの間に、各CPUのI/Oバス
へのアクセスを選択的に許可するバスコントローラを設
けたマルチプロセッサ型プログラマブルコントローラに
おいて、バスコントローラは、I/Oバスへのアクセス
を要求するアクセス要求信号をCPUから受けるとアク
セス要求信号を最初に出力したCPUのアクセスを許可
するとともに他のCPUを処理待ちのウェイト状態にす
るアクセスコントローラと、最初のCPUのアクセスが
終了すると他のCPUのうちでもつとも早くアクセス要
求信号を出力したCPUをI/Oバスをアクセスするの
に必要な一定時間が経過するまでウェイト状態に保った
後にウェイト状態を解除するウェイトコントローラとを
備えているのである。
【作用】
上記構成によれば、アクセス要求信号を最初に出力した
CPUをI/Oバスに接続するとともに、他のCPUを
ウェイト状態にしておき、最初にI/Oバスに接続され
なCPUのアクセスが終了した後、ウェイト状態のCP
UをI/Oバスに接続するようにしているので、アクセ
ス要求の競合が解消され、各CPU側からはI/Oバス
に直接接続されている状態とほとんど変わりなく工/O
バスへのアクセスができるのである。また、各CPUご
とにアクセス要求、アクセス許可を行う従来例とは異な
り、アクセス要求が競合していないときには、アクセス
要求によってただちにアクセスが可能になるので、アク
セス要求が競合する場合以外はオーバヘッドが生じない
のであり、処理速度が向上するのである。さらに、ハー
ドウェアにより実現可能であるから、アクセス要求が競
合する場合でも処理時間を少なくすることが可能である
【実施例】
本実施例では、2個のCPUを用いた例を示すが、これ
に限定されるものではなく、本発明の技術思想はさらに
多数のCPUを用いる場合でも採用することができる。 第1図に示すCPUユニット1 a、1 bは、第6図
に示した従来例からバスオービタ3a、3bを除いたも
のであって、CPUとメモリとを備えている。CPUユ
ニット1 a、1 bは、バスコントローラ3を介して
I/Oバス2に接続される。 すなわち、バスコントローラ3は、各CPU1a。 1bのバス端子とI/Oバスとの間に挿入された一対の
トライステートバッファlla、llbを備え、トライ
ステートバッファ11a、11bをアクセスコントロー
ラ12およびウェイトコントローラ13により制御して
、各CPU1a、lbとI/Oバス2との接続を制御す
るのである。バスコントローラ3には、タロツク信号を
発生するクロック発生部14も設けられる。このバスコ
ントローラ3は、CPUユニット1 a、1 bやI/
Oユニット4a〜4Cが装着される基本マザーボード7
に実装される。 次に動作を説明する。なお、信号名の後に(B)とある
のは負論理を示し、図においてオーバラインを付してい
る信号と同じ意味である。第2図の■のように、一方の
CPU1aのみからアクセス要求信号l0CSI(B)
が出力されているときには、対応するトライステートバ
ッファllaを動作可能にするバスイネーブル信号BU
SENI(B)が出力される。このときには、他方のC
PU1bはI/Oバスへのアクセス要求をしていないか
ら競合は生じない。 第2図の■のように、両CPU1a、lbが同時にアク
セス要求信号/OCSI(B) 、l0C52(B)を
出力しているときには、CPU1 a、1 bの優先順
位に従っていずれか一方がI/Oバス2に接続される。 ここでは、CPU1aがCPU1bに優先するように設
定されているから、CPU1aのI/Oバス2へのアク
セスを許可するように、バスイネーブル信号B[JSE
Nl (B)が出力され、同時に、CPU1bを処理待
ちの状態であるウェイト状態にするためのウェイト信号
−^IT2(B)が出力される。 ウェイト信号−^IT2(B)は、CPU1aがI/O
バス2に接続されている期間における競合ウェイト信号
Cl11と、CPU1aのI/Oバス2への接続が終了
した後に次のバスアクセスに必要なバスサイクルタイム
を確保するための専用ウェイト信号S−とが連続して出
力される信号である。すなわち、CPU1aのI/Oバ
ス2へのアクセスが終了すると、第2図の■のように、
CPU1bに対応するバスイネーブル信号BUSEN2
(B)が出力されるが、専用ウェイト信号SHによって
CPU1bはウェイト状態に保たれ、一定時間後にウェ
イト状態が解除されるようになっている。 第2図の■のように、一方のCPU1bのアクセス要求
信号/OCS2(B)が他方のCPU1aのアクセス要
求信号/OCSI(B)よりも先着したときには、先に
出力されたアクセス要求信号/OCS2(B)を受けて
バスイネーブル信号B[l5EN2(B)とウェイト信
号−^ITI(B)とを出力し、競合ウェイト信号CH
の終了後に、第2図の■のように、バスイネーブル信号
BUSENI (B)を出力するのである。 アクセスコントローラ12とウェイトコントローラ13
とについて、具体的な構成例を第5図に示す、ウェイト
コントローラ13は、第3図に示すように構成され、各
部信号は第4図のようになる。すなわち、ウェイトコン
トローラ13は、競合ウェイト信号C−を受けると出力
が立ち上がるフリップ70・ンプFF、と、フリップフ
ロ・ンプFF。 の非反転出力が立ち上がるとクロック信号CLKをカウ
ントするシフトレジスタSRとにより構成されている。 フリップフロップFF、の反転出力は専用ウェイト信号
S−になる。シフトレジスタSRは、所定個数のクロッ
ク信号CLKが入力されると出力レベルを“L”にする
。このシフトレジスタSRの出力は、アンド回路A N
 D +を介してクロック信号CLにに同期したリセッ
ト信号を生成しする。 このリセット信号は、シフトレジスタSRとフリップフ
ロップFF、とをリセットし、専用ウェイト信号511
1を停止させる。要するに、シフトレジスタSRは、専
用ウェイト信号5I11の時間幅を決定するタイマとし
て機能するのである。したがって、シフトレジスタSR
はカウンタに置き換えてもよい。 第5図の回路では、両CPU1a、lbからの各アクセ
ス要求信号l0CSI(B) 、l0SC2(8)に対
応する競合ウェイト信号CHに対して、シフトレジスタ
SRを共用するために、2個のフリップフロップFF、
、FF2を設け、オア回路OR+を介して両フリップフ
ロップFF、、FF2の非反転出力の論理和をシフトレ
ジスタSRに入力している。また、両フリップフロップ
FF、、FF2の反転出力を専用ウェイト信号SHとし
、競合ウェイト信号Cwとともにアンド回路AND2.
AND3を介してウェイト信号−^ITI(B)、MA
IT2(B)として出力している(負論理であるからア
ンド回路は論理和をとることになる)。一方、アクセス
コントローラ12は、各アクセス要求信号/OCSI(
B)、l0CS2(B)を、クロック信号CLKに同期
してラッチする一対のフリップフロップFF、、FF、
を備えている。論理判定部12aでは、両フリップ70
ツブFF、、FF4の出力に対して第2図のような論理
の組み合わせを行い、クロック信号CLKに同期してフ
リップフロップFF5.FF、でラッチされた出力がバ
スイネ−フル信号BUSENI(B)、BUSEN2(
B)として出力されるのである。また、論理判定部12
aでは競合ウェイト信号C−が生成される。論理判定部
12aでは、クロック信号CLKの周期内で両フリップ
70ツブF F s 、 F F 4の出力がともに“
L”になるときには、アクセス要求信号/OCSI (
B) 、 l0CS2(B)が同時に到着したものと判
定して、バスイネーブル信号BUSENIを優先的に出
力した後、バスイネーブル信号BUSEN2を出力する
【発明の効果】
本発明は上述のように、アクセス要求信号を最初に出力
したCPUをI/Oバスに接続するとともに、他のCP
Uをウェイト状態にしておき、最初にI/Oバスに接続
されたCPUのアクセスが終了した後、ウェイト状態の
CPUをI/Oバスに接続するようにしているので、ア
クセス要求の競合が解消され、各CPU側からはI/O
バスに直接接続されている状態とほとんど変わりなくI
/Oバスへのアクセスができるという利点がある。 また、各CPUごとにアクセス要求、アクセス許可を行
う従来例とは異なり、アクセス要求が競合していないと
きには、アクセス要求によってただちにアクセスが可能
になるので、アクセス要求が競合する場合以外はオーバ
ヘッドが生じないのであり、処理速度が向上するという
効果を奏する。 さらに、ハードウェアにより実現可能であるから、アク
セス要求が競合する場合でも処理時間を少なくすること
が可能である。
【図面の簡単な説明】
第1図は本発明の実施例を示すブロック図、第2図は同
上の動作説明図、第3図は同上に用いるウェイトコント
ローラを示す回路図、第4図は第3図の回路の動作説明
図、第5図は同上に用いるアクセスコントローラとウェ
イトコントローラとを示す回路図、第6図は従来例を示
すブロック図である。 la、lb・−・CPUユニット、2−I /Oバス、
3・・・バスコントローラ、4a〜4C・・・I/Oユ
ニット、Ila、llb・・・トライステートバッファ
、12・・・アクセスコントローラ、13・・・ウェイ
トコントローラ。 代理人 弁理士 石 1)長 七

Claims (1)

    【特許請求の範囲】
  1. (1)複数個のCPUと共有のI/Oバスとの間に、各
    CPUのI/Oバスへのアクセスを選択的に許可するバ
    スコントローラを設けたマルチプロセッサ型プログラマ
    ブルコントローラにおいて、バスコントローラは、I/
    Oバスへのアクセスを要求するアクセス要求信号をCP
    Uから受けるとアクセス要求信号を最初に出力したCP
    Uのアクセスを許可するとともに他のCPUを処理待ち
    のウエイト状態にするアクセスコントローラと、最初の
    CPUのアクセスが終了すると他のCPUのうちでもっ
    とも早くアクセス要求信号を出力したCPUをI/Oバ
    スをアクセスするのに必要な一定時間が経過するまでウ
    エイト状態に保った後にウエイト状態を解除するウエイ
    トコントローラとを備えて成ることを特徴とするマルチ
    プロセッサ型プログラマブルコントローラ。
JP25586690A 1990-09-25 1990-09-25 マルチプロセッサ型プログラマブルコントローラ Pending JPH04131955A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25586690A JPH04131955A (ja) 1990-09-25 1990-09-25 マルチプロセッサ型プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25586690A JPH04131955A (ja) 1990-09-25 1990-09-25 マルチプロセッサ型プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH04131955A true JPH04131955A (ja) 1992-05-06

Family

ID=17284669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25586690A Pending JPH04131955A (ja) 1990-09-25 1990-09-25 マルチプロセッサ型プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH04131955A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324615B1 (en) 1998-01-12 2001-11-27 Nec Corporation Data processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324615B1 (en) 1998-01-12 2001-11-27 Nec Corporation Data processor

Similar Documents

Publication Publication Date Title
US4587609A (en) Lockout operation among asynchronous accessers of a shared computer system resource
EP0559408B1 (en) A method and apparatus for performing bus arbitration using an arbiter in a data processing system
JP3661235B2 (ja) 共有メモリシステム、並列型処理装置並びにメモリlsi
KR0133236B1 (ko) 공유메모리 시스템 및 조정시스템과 조정방법
JP2003050789A (ja) 回路、プロセッサ、及びマルチプロセッサシステム
JPS6111872A (ja) 半導体集積回路
JPS5836381B2 (ja) 共用メモリ制御装置
JPH04131955A (ja) マルチプロセッサ型プログラマブルコントローラ
JP3205992B2 (ja) ダイレクト・メモリ・アクセス転送制御装置
JPH02143363A (ja) マルチプロセッサ装置における共通メモリ制御方法
JPH04250553A (ja) プログラマブルコントローラ
Kessels et al. Designing an asynchronous bus interface
JPS62154057A (ja) 信号制御回路
JPH02281356A (ja) 共有メモリ装置
JPH0365751A (ja) 多重プロセッサシステム
JPH01106148A (ja) 多ポートメモリ装置
JP2000181783A (ja) 調停回路
JPH0542027B2 (ja)
JPH0551931B2 (ja)
JPH0485647A (ja) アービタ
JPS63298555A (ja) 共有メモリ制御方式
JPH06208542A (ja) バス争奪方式
JPS6341973A (ja) マルチプロセツサシステム
JPH01201757A (ja) アクセス競合回避回路
JPH0258152A (ja) マイクロプロセッサ