JPS6322344B2 - - Google Patents

Info

Publication number
JPS6322344B2
JPS6322344B2 JP57233539A JP23353982A JPS6322344B2 JP S6322344 B2 JPS6322344 B2 JP S6322344B2 JP 57233539 A JP57233539 A JP 57233539A JP 23353982 A JP23353982 A JP 23353982A JP S6322344 B2 JPS6322344 B2 JP S6322344B2
Authority
JP
Japan
Prior art keywords
semaphore
bus
access
microprocessor
signal
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
Application number
JP57233539A
Other languages
English (en)
Other versions
JPS59123063A (ja
Inventor
Shigeo Nanbu
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP57233539A priority Critical patent/JPS59123063A/ja
Publication of JPS59123063A publication Critical patent/JPS59123063A/ja
Publication of JPS6322344B2 publication Critical patent/JPS6322344B2/ja
Granted legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00—Digital computers in general; Data processing equipment in general
    • G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、複数のマイクロプロセツサ等を持つ
たマルチ・プロセツサ・システムにおいて、複数
のマイクロ・プロセツサ間で共有資源(例えば共
有メモリ等)をアクセスする場合の協調を改良し
たマルチ・プロセツサ・システムの共有資源アク
セス方式に関する。
〔発明の技術的背景とその問題点〕
近年、マイクロプロセツサの低価格化に伴な
い、1つのシステムに複数個のマイクロプロセツ
サを備え、これらのマイクロプロセツサを協調さ
せながら使用するマルチプロセツシングが急速に
発展してきている。その理由は、システムのタス
クについて負荷分散および機能分散が実現できる
こと。また、並列に動作する独立したマイクロプ
ロセツサに分散すれば、全体のパフオーマンスが
大幅に向上すること。また、マルチプロセシング
は、設計のモジユール化が図れてシステムの保守
や拡張が比較的容易になることなどが挙げられ
る。
ところで、従来のこの種のマルチ・プロセツ
サ・システムは、第1図のようにマルチバス1に
それぞれローカルバス2,2を介して複数のマス
タ3,3が接続され、さらに同マルチバス1に入
出力制御器I/O4およびシステムメモリ5が接
続されている。各マスタ3は、マイクロプロセツ
サ3aと、ローカル入出力制御器3bと、ローカ
ルメモリ3cと、バツフア3dとを有し、マスタ
3のマイクロプロセツサ3aからローカルバス
2、マルチバス1を介して入出力制御器4にアド
レスを送出し、同入出力制御器4によつてシステ
ム・メモリ5から必要なデータを読出してユーザ
I/Oへ、或いはマスタ3へ返送する構成となつ
ている。図中、4a,5aはアドレスバス、4
b,5bはデータバス、4c,5cは応答ライン
である。従つて、このようなシステムは、入出力
制御器4を変更する場合例えばフロツピーをハー
ド・デイスクに置き換える場合、変更の影響は入
出力制御器4に留まり、マイクロプロセツサ3a
やアプリケーシヨン・ソフトウエアはそのまま使
用できる。
しかし、このようなシステムは、共有資源であ
るシステムメモリ5の共有メモリ領域に対するア
クセスを管理しないこと、一方のマイクロプロセ
ツサ3aが書き換えている間に、他方のマイクロ
プロセツサ3aがシステムメモリ5に現在書き込
んでいると誤まつたデータを読み取つてしまう。
このような事態を防ぐために、マイクロプロセツ
サ3aからマルチバス1に対して共有メモリ領域
が使えるか、使えないか(使用中)を示すフラグ
をたてることが行なわれている。このフラグをセ
マフオアと呼んでいる。例えばセマフオアの値が
“1”のときには使用できない、“0”のときには
使用できるものとすると、マルチバス1を共有す
るマイクロプロセツサ3a,3aの間でセマフオ
アの値に使えると示されていれば、何れかのマイ
クロプロセツサ3aはその共有メモリ領域の使用
時にセマフオアをセツトし、使用後はクリアする
様に取り決めておけばよい。
ここで問題となる点は、一方のマイクロプロセ
ツサ3aが“使用可”と判断し、セマフオアをセ
ツトしようとする場合のバスサイクルのすき間
で、別のプロセツサ3aがまだセツトされていな
いセマフオアをチエツクし、使用可と判断してし
まうことである。この問題はセマフオアをチエツ
クしセツトする間をバスロツクし、他のマイクロ
プロセツサ3aにセマフオアをアクセスさせない
ことで解決できる。
最近の16ビツト系マイクロプロセツサでは、マ
イクロプロセツサシステムを構成しやすいよう
に、バスロツクが簡単にできるようになつてい
る。
以下、バスロツクにつき、インテル社のiAP×
86/10、iAPX88/10(8086,8088)の例を示す。
従来のマルチプロセツシング・システムは協調の
問題が障害になつていたが、この2つのマイクロ
プロセツサは、そのための機能を初めから内蔵さ
れている。マキシマム・モードに設定した
iAPX86/10、iAPX88/10からはバスロツク信
号(以下、Lock信号と指称する)が出力される。
Lockは、1バイトのLockプレフイクス命令を
EU(Execution Unit)が実行した時、BIU(Bus
Interface Unit)が発する信号で、このプレフイ
クスを持つ命令の実行中は、アクテイブ状態を保
つ。ただし、Lockプレフイクスは割込みには関
係しない。この間、別のプロセスからバスの使用
要求が出されてもマイクロプロセツサはそれを記
録するだけで、ロツクした命令の実行が終了する
まで、受付けは待たされる。Lock信号がアクテ
イブになるのは1命令の間だけである。Lockプ
レフイクスを付けた命令を2つ並べても、間にロ
ツクされない時間が存在するのである。なお反復
ストリング命令をロツクした場合は、1ブロツク
処理の間Lockはアクテイブ状態を保つ。
ミニマム・モードにセツトしたiAP×86/10、
iAP×88/10にはLock信号はない。しかし、
Lockプレフイクスを使うと、DMAコントローラ
からCPUへのHOLD要求に対するCPUのHLDA
の応答を、ロツクした命令の実行が終わるまで遅
らせることができる。
Lock信号は、単に情報を提供するにすぎない。
Lockがアクテイブの間バスにアクセスしないよ
うにするのは、共有バス上の他のマイクロプロセ
ツサの責任である。8289「バス・アービタ」を使
つて共有バスのアクセスを制御しているシステム
では、Lockを8289に入力し、これがアクテイブ
の間バスを解放しないようにすればよい。Lock
は、マルチプロセシング・システムで、バツフア
やポインタのような共有メモリ領域に対するアク
セスの協調に使つてもよい。共有メモリ領域のア
クセスを管理していないと、別のマイクロプロセ
ツサが書き換えている間に、誤つた値を読んでし
まうことである。
一方、ハイパーフオーマンスを意図して設計さ
れた16ビツト系マイクロプロセツサに対し、8ビ
ツト系マイクロプロセツサ(インテル社8085A、
ザイログ社Z80など)では、バスロツクのための
機能がなく、ソフトウエアでバスロツク信号を発
生させている。インテル社の8085Aでは、シリア
ルデータ出力をバスアビータのオーバライド入力
に入れることによつて、他のマイクロプロセツサ
からの共有メモリ領域へのアクセスを防ぐもので
ある。8085Aの命令では、セマフオアの内容をチ
エツクし、使用不可能の場合にセマフオアをセツ
トする間、マイクロプロセツサの基本クロツクで
58クロツク分バスをロツクする。8085Aの最高ス
ピードは1クロツク0.2μsであつて、この時、58
×0.2=11.6μs間他マイクロプロセツサからの共
有メモリ領域のアクセスは不可能となる。この時
間は、高速伝送を行なう場合(例えば、ビツトシ
リアル伝送を行なう場合、1Mbaudでは、8μs周
期で、共有メモリ領域をアクセスできなければな
らない)には、致命的な障害となる。このため、
マルチプロセツサ構成でシステムの機能分散を図
りつつ、高速伝送を行うシステムでは、このバス
ロツク時間の長い点がネツクとなり伝送速度を速
くできなかつた。
〔発明の目的〕
本発明は、複数のマイクロプロセツサが共有資
源に対するアクセスの協調をとるためのハードウ
エアを持たないマルチ・プロセツサ・システムに
おいて、バスロツクの時間を最小にし、かつ共有
資源に対しアクセスの協調をとることをマルチバ
スの制御信号を利用して行なうマルチ・プロセツ
サ・システムの共有資源アクセス方式を提供する
ことにある。
〔発明の概要〕
本発明は、複数のマイクロプロセツサで構成さ
れたマルチ・プロセツサ・システムにおいて、前
記マイクロプロセツサがバスロツク機能を持たな
い場合、共有資源のアクセスの協調を保つために
各マイクロプロセツサから共通にアクセス可能で
あり、かつマルチ・プロセツサ・システムのロー
カルバスのバスコントローラ信号とシステムバス
コントローラ信号の変化するタイミングの差を利
用して、内蔵するフリツプ・フロツプの出力のリ
ードとライトを行なうセマフオア回路を備えたマ
ルチ・プロセツサ・システムの共有資源アクセス
方式である。
〔発明の実施例〕
次に、本発明の一実施例について第2図ないし
第6図を参照して説明する。なお、第2図はマル
チバスに接続されるシステムメモリの構成図、第
3図は第2図のセマフオア回路の一具体例を示す
図、第4図はアドレスマツプ図、第5図および第
6図はセマフオアリードおよびライトのタイミン
グ図である。第2図において11は複数のマイク
ロプロセツサ(図示せず)などが接続されるマル
チバスであつて、これはアドレスバス11A、デ
ータバス11Bを持つている。12はアドレスバ
ス11Aから入力されるシステムアドレスをデコ
ードするデコーダ、13a,13bはデコーダ1
2からのメモリチツプセレクト信号MCによつて
メモリ領域をセレクトされる共有メモリ、14は
セマフオア回路であつて、これにはセマフオアセ
レクト信号SSおよびシステムメモリリードコン
トロール信号MRDC、システムメモリライトコ
ントロール信号MWTCが入力されるようになつ
ている。
第3図はセマフオア回路14の具体例であつ
て、対象とするマイクロプロセツサの種類は特に
問わないが例えばインテル社の8085Aを用いたマ
ルチ・プロセツサ・システムの構成例をとつて述
べる。マルチプロセツサがマルチバス11のアド
レスバス11Aを介して共有メモリ13a,13
bをアクセスすると、デコーダ12はシステムア
ドレスをデコードし、システムアドレスの内容に
応じた共有メモリ13a,13bのメモリチツプ
セレクト信号MCを発生する。このセマフオア回
路14は、第4図のアドレスマツプに示されてい
るように、システムアドレス空間ST内の一部に
セマフオア占有部分SDが割り付けられているの
で、デコーダ12からはそのためのセマフオアセ
レクト信号SSが発生されるようになつている。
14a,14bは“ローレベルL”アクテイブ入
力のNANDゲートであつて、各前記セマフオア
セレクト信号SSとシステムメモリリードコント
ロール信号MRDCとシステムメモリライトコン
トロール信号MWTCとの負の論理積をとり、セ
マフオアリード信号S1、セマフオアライト信号
S2を出力するようになつている。セマフオアリ
ード信号S1はDタイプFF(例えば74LS74)1
4cのクロツク端子CPと3状態バツフア14d
(例えば74LS125)のゲート端子に入力される。
一方、セマフオアライト信号S2はDタイプFF
14cのリセツト端子Rに入力される。Dタイプ
FF14cのセツト端子Sとデータ入力端子Dは
それぞれ+5Vに接続されていて、セツト機能は
インアクテイブ、クロツクの立ち上りエツジでD
タイプFF14cのQ端子はHレベルになるよう
になつている。また、セマフオアライト信号S2
がアクテイブ(論理レベルL)で、このQ端子は
HからLへ変化する。3状態バツフア14dの入
力側にはDタイプFF14cのQ端子が接続され、
出力側はシステムデータバスに接続されている。
セマフオアリード信号S1がアクテイブLの時、
3状態バツフア14d出力はオープンとなり、D
タイプFF14cのQ端子の状態はシステムデー
タバスへ読み出される。第3図は1つのセマフオ
ア回路14であるが、任意の数に増すことができ
る。
次に、第3図のように構成されたセマフオア回
路の作用を説明する。セマフオアリードの場合に
は第5図に示すように、マルチバス11に接続さ
れているマイクロプロセツサ又はDMAコントロ
ーラからローカルバス・コントロール信号
MEMRが出力される。メモリがシステムアドレ
ス空間STに置かれている場合にはバスアービタ
よりシステムバスコントロール信号MRDCが発
生される。この時、他マイクロプロセツサがマル
チバス11を使用している場合はビジイ状態で待
ちの状態となるので、システムバス・コントロー
ル信号MRDCが出るまでの時間は一定しない。
セマフオアに対してリードを行うと、デユーダ1
2の出力とANDがとられセマフオアリード信号
S1が発生する。システムバス・コントロール信
号MRDCはローカルバス・コントロール信号
MEMRがインアクテイブになつた後にインアク
テイブになるので、信号S1がインアクテイブに
なるタイミングも信号MEMRがインアクテイブ
になるタイミングよりも遅れる。したがつて、マ
イクロプロセツサがセマフオアをリードする場合
は、信号S1で3状態バツフア14dのゲートが
開いている間に信号MEMRでDタイプFF14c
のQ出力の状態をリードする。マイクロプロセツ
サがリードし終つた直後、信号MRDCの立上り
エツジでDタイプFF14cのQ出力はHレベル
になる。もともとQ出力がHレベルの時にはその
ままとする。なお、Q―1は以前からリセツト状
態にある場合のDタイプFF14cのQ出力、Q
−2は以前からセツト状態にある場合のDタイプ
FF14cのQ出力である。
セマフオアライトの場合には第6図から明らか
なようにセマフオアリードの場合と同様にして
NANDゲート14bから信号S2が発生する。
この信号S2により、前記DタイプFF14cの
出力がリセツトされ、セマフオの状態が“0”に
リセツトされる。これは、8086例ではMOV〓
SEMAPHORE,0を実行したことに相当する。
〔発明の効果〕
以上詳記したように本発明によれば、第3図に
示すセマフオア回路を使用することにより、マル
チバスを1サイクルリードアクセス間にセマフオ
アのリードとデータライトが可能となり、例えば
インテル社8085Aの場合の58クロツクに相当する
部分のうち、LDA SEMA ADDRESSの13クロ
ツク分を除いた45クロツク分つまり1クロツク
0.2μsとすれば9μsの減少が図れ、通常の共有資源
のアクセスと同じ時間でセマフオアチエツクがで
きる。従つて、マルチ・プロセツサ構成をとつて
負荷分散を行ない、かつ高速のデータを転送する
システムにおいても、各マイクロプロセツサ間ア
クセスの協調を保ちながら共有資源のアクセスが
可能であるマルチ・プロセツサ・システムの共有
資源アクセス方式を提供できる。
【図面の簡単な説明】
第1図はマルチ・プロセツサシステムの構成
図、第2図ないし第6図は本発明方式の一実施例
を説明するために示したもので、第2図はシステ
ムメモリの構成例図、第3図はセマフオア回路の
構成図、第4図はアドレスマツプ図、第5図およ
び第6図はセマフオアリードおよびセマフオアラ
イトの場合のタイムチヤートである。 11……マルチバス、12……デコーダ、13
a,13b……共有メモリ、14……セマフオア
回路、14a,14b……NANDゲート、14
c……DタイプFF、14d……3状態バツフア。

Claims (1)

    【特許請求の範囲】
  1. 1 複数のマイクロプロセツサで構成されたマル
    チ・プロセツサ・システムにおいて、共有資源の
    同時アクセスを防ぐために−のマイクロプロセツ
    サがアクセスする場合に、他方のアクセスを禁止
    する優先制御回路を持ち、前記マイクロプロセツ
    サがバスロツク機能を持たない場合、共有資源の
    アクセスの協調を保つために各マイクロプロセツ
    サから共通にアクセス可能であり、かつマルチ・
    プロセツサ・システムのローカルバスのバスコン
    トローラ信号とシステムバスコントローラ信号の
    変化するタイミングの差を利用して、内臓するフ
    リツプ・フロツプの出力のリードとライトを行な
    うセマフオア回路を備え、アクセス時間を最小と
    したことを特徴とするマルチ・プロセツサ・シス
    テムの共有資源アクセス方式。
JP57233539A 1982-12-28 1982-12-28 マルチ・プロセツサ・システムの共有資源アクセス方式 Granted JPS59123063A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57233539A JPS59123063A (ja) 1982-12-28 1982-12-28 マルチ・プロセツサ・システムの共有資源アクセス方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57233539A JPS59123063A (ja) 1982-12-28 1982-12-28 マルチ・プロセツサ・システムの共有資源アクセス方式

Publications (2)

Publication Number Publication Date
JPS59123063A JPS59123063A (ja) 1984-07-16
JPS6322344B2 true JPS6322344B2 (ja) 1988-05-11

Family

ID=16956631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57233539A Granted JPS59123063A (ja) 1982-12-28 1982-12-28 マルチ・プロセツサ・システムの共有資源アクセス方式

Country Status (1)

Country Link
JP (1) JPS59123063A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0222630U (ja) * 1988-07-28 1990-02-15

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006151560A (ja) * 2004-11-26 2006-06-15 Mitsubishi Electric Corp 乗客コンベアの制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0222630U (ja) * 1988-07-28 1990-02-15

Also Published As

Publication number Publication date
JPS59123063A (ja) 1984-07-16

Similar Documents

Publication Publication Date Title
US5392436A (en) Two level system bus arbitration having lower priority multiprocessor arbitration and higher priority in a single processor and a plurality of bus masters arbitration
US5555425A (en) Multi-master bus arbitration system in which the address and data lines of the bus may be separately granted to individual masters
US5067071A (en) Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
US5625779A (en) Arbitration signaling mechanism to prevent deadlock guarantee access latency, and guarantee acquisition latency for an expansion bridge
JPS5837585B2 (ja) ケイサンキソウチ
US20030126381A1 (en) Low latency lock for multiprocessor computer system
JPH0218657A (ja) 複数バス・マイクロコンピユータ・システム
JPH0833875B2 (ja) バス裁定システム
JPH05197671A (ja) マスター・スレーブ通信方法
US5625824A (en) Circuit for selectively preventing a microprocessor from posting write cycles
JP2004133942A (ja) データバスシステム及びバス間クロスアクセス方法
JP2507071B2 (ja) バスロック制御方式
JPS59123063A (ja) マルチ・プロセツサ・システムの共有資源アクセス方式
JPS59229662A (ja) 共有メモリ制御回路
JPS63175964A (ja) 共有メモリ
JPH054710B2 (ja)
JPH044455A (ja) メモリアクセス調停回路
JPH0724044B2 (ja) Dmaアクセスが可能なコンピユータ・システム
JPS626365A (ja) マルチプロセツサシステム
JPH0575140B2 (ja)
JPS63298555A (ja) 共有メモリ制御方式
CN117471976A (zh) 单片机外设原子操作控制方法、系统及单片机
JPS642985B2 (ja)
JPS5830676B2 (ja) メモリノフクシヤホウシキ
JPH086905A (ja) マルチポートramのアクセス調停回路