JPS60564A - メモリアクセス競合制御方式 - Google Patents

メモリアクセス競合制御方式

Info

Publication number
JPS60564A
JPS60564A JP10786183A JP10786183A JPS60564A JP S60564 A JPS60564 A JP S60564A JP 10786183 A JP10786183 A JP 10786183A JP 10786183 A JP10786183 A JP 10786183A JP S60564 A JPS60564 A JP S60564A
Authority
JP
Japan
Prior art keywords
bus
memory
processor
control circuit
signal line
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
JP10786183A
Other languages
English (en)
Inventor
Taichi Nakamura
太一 中村
Satoru Fukami
深海 悟
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP10786183A priority Critical patent/JPS60564A/ja
Publication of JPS60564A publication Critical patent/JPS60564A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 (発明の属する分野) 本発明はマルチプロセッサシステムにおける共有メモリ
のアクセス競合制御方式に関するものである。
(従来の技術) マルチプロセッサの構成は従来から種々の方式が考えら
れている。中でも共有バスで相互にプロセッサユニット
を結合するバス結合マルチプロセッサ構成は、ハードウ
ェア量が少なく経済的にマルチプロセッサシステムを実
現できること、システムの拡張性が非常に大きいこと、
プロセッサ間の通信が高速に行なえること、および、ハ
ードウェア・ソフトウェアを一体化した機能のモジュー
ル化が容易であるため負荷分散・機能分散のどちらでも
自由に設定可能であること、等の特徴を持っている。そ
のため、柔軟性、経済性が強く要求されるシステムには
、マイクロプロセッサを使ったマルチプロセッサ方式と
してバス結合方式が多く採用されている。
第1図は従来の方式によるバス結合マルチプロセッサ構
成におけるバス制御例の詳細を示すもので、l、2,3
.4はプロセッサユニット、5はバス、6は共有メモリ
、7は各プロセッサユニットのバス使用権を制御するバ
ス使用権割当て制御回路、100.110.120.1
30はプロセッサユニット1゜2.3.4がバス使用権
を要求するときに出力するバスリクエスト信号ネ泉、1
01.111.121.131はプロセッサユニット1
,2,3.4それぞれに対し、バス使用権割当て制御回
路7がバスの使用を許可することを通知するバスアクノ
リッジ信号線、14は共通バスを使用しているプロセッ
サが存在することを示すバスビジー信号線である。
ココで、プロセッサユニット1がバス使用中にプロセッ
サユニット2が共有メモリ6のアクセス要求を発生した
とする。そのアクセス要求はバスリクエスト信号線11
Qを介してバス使用権割当て制御回路7に通知される。
バス使用権割当て制御回路7は予め定められたアルゴリ
ズムに従い、バスの使用権を与えるプロセッサユニット
を決める。
例えば、プロセッサユニット2に使用権が割当てられ、
パスアクノリッジ信号線111を介してバスの使用許可
通知を受けると、プロセッサユニット2はバスの使用状
態をバスビジー信号線14の監視により判定する。プロ
セッサユニット1がバスを使用していればバスビジー信
号線14がオンであるので、プロセッサユニット2はバ
スビジー信号線14がオフ釦なるまで待ち、オフになっ
たら共有メモリ6のアクセスを行う。このように、複数
のプロセッサユニットが同時に共有メモリ6へのアクセ
ス要求を出すと、バス使用権が得られなかったプロセッ
サは必ず他プロセツサの共有メモリアクセス終了まで待
たされる。プロセッサ数が多い程アクセス待ち時間が増
大する。更にバス使用権はプロセッサ間を移動する時間
(バス使用権の切替時間)も前記待ち時間に加わりプロ
セッサの処理速度が低下しマルチプロセッサ化の効果が
なくなる欠点がある。
この問題を解決するため各プロセッサ毎にそのプロセッ
サのみが専らアクセスするメモリを設け、共通バスの使
用頻度を低下させる方法がある。この場合、共有メモリ
はプロセッサユニット間の通信エリアとしてのみ使う。
このようにすると業務処理プログラムのタスクはプロセ
ッサユニットに固定的に割付けられる。しかし、この方
法は行列計算などの並列処理可能な科学技術計算処理シ
ステムには適しているが、一般の汎用システムで処理さ
れる業務プログラムは処理の並列性を意識して作られて
おらず、また必ずしも並列処理に適しているとは限らな
い。そのため業務内容によってはプロセッサの負荷が不
拘−忙なり、マルチプロセッサ化したことによるスルー
プットの向上が望めない欠点がある。
このため、一般の汎用システムでは業務処理プログラム
のタスクをプロセッサに固定的に割付けず、いずれかの
プロセッサで、どのタスクも処理(実1行・)シ、プロ
セッサ間の負荷バランスを一定に保つようにしている。
従って、業務処理プログラムは共有メモリに配置され、
いずれのプロセッサからもその業務処理のタスクは処理
される必要がある。
このようにすると、前述の通シ複数プロセンサによる共
有メモリ上の業務処理プログラムの同時実行によシ共有
メモリの同時アクセスの確率が増し処理速度が低下する
ことがある。ところで、回線や入出力装置の制御機能を
別プロセッザに分散した機能分散を併用するマルチプロ
セッサシステムでは、業務処理プログラムの実行を行う
プロセッサは業務処理プログラムの中で要求される入出
力処理を機能分散したプロセッサに依頼した後は、入出
力動作時間が通常は長いので、その入出力動作の終了ま
ではアイドル状態になるが、もし処理すべき別の業務処
理プログラムのタスクがあればそのタスクの処理を行う
従って、機能分散を併用したシステムが高負荷状態にな
ると、次々と業務処理タスクが起動され、共有メモリ上
のプログラムを実行する機会が著しく増し、共有メモリ
へのアクセス競合が非常に増大する傾向にある。そのた
め、マルチプロセッサ化したことの性能向上が著しく阻
害される欠点がある。
(発明の目的) 本発明はこれらの欠点を解決するだめ、プロセッサが共
有メモリをアクセスする際に、他のプロセッサが共有メ
モリをアクセスしているか否かを判定し、アクセスして
いたなら共通バスの使用権獲得制御を行わず、共有メモ
リとプロセッサ間の専用メモリインタフェースバスを介
し直接共有メモリアクセスを開始し、複数に分割された
共有メモリのブロック毎のエリアで競合がない場合は直
ちにメモリアクセスを行うようにし、アクセス競合によ
る遅延、および共通バスの使用権の切替に要する時間遅
延による性能低下を減少させるようKしたものである。
(発明の構成および作用) 第2図は本発明の一実施例の構成を示すもので、10お
よび11はそれぞれプロセッサユニット1のプロセッサ
およびバス制御回路、20および21はそれぞれプロセ
ッサユニット2のプロセッサおよびバス制御回路、60
はメモリで第1図の共有メモリ6に対応する例えば12
8KB毎にブロックされたもの、61はメモリ60のメ
モリ制御回路でマルチプレクサおよびブロック毎のアク
セス競合制御回路等で構成され、50および51はプロ
セッサユニット1および2とメモリ60との間のメモリ
インタフェースバス、BUSQはプロセッサユニッ)1
がメモリ60をアクセスしていることを示す第1ビジー
信号線、BUSYIはプロセッサユニット2がメモリ6
0をアクセスしていることを示す第2のビジー信号線、
REQ13.はプロセッサユニット1が、REQ lは
プロセッサユニット2がそれぞれメモリ60に対しアク
セス要求があることを通知する第1および第2のリクエ
スト信号線、ACK’8.はメモリ制御回路61がプロ
セッサユニッ)1に、ACKlはメモリ制御回路61が
プロセッサユニット2にそれぞれメモリアクセス許可を
通知する第1および第2のアクノリッジ信号線である。
その他の符号は第1図の構成要素と同じである。
以下、この動゛作について説明する。
プロセッサ10、プロセッサ20以外のプロセッサ(第
2図には図示せず。)は50.51に示すようなメモリ
インタフェースバスヲ持たス、メモリ60へのアクセス
はバス5を介して行うが、ここでは、これらのプロセッ
サはメモリ6oへのアクセスを行っていないものとする
まず、プロセッサユニット1でメモリ6oへのアクセス
要求が発生した時点で、プロセッサユニット1のバス制
御回路11はプロセンサ2oがメモリ60のアクセスを
行っている′が否かを第2のビジー信号線BUSYI 
Kよシ判断する。プロセッサ20はメモリ60をアクセ
スしていないとすると、第2のビジー信号線BUSYI
はオフであり、プロセッサ10はバスリクエスト信号線
100をオンとし、バス使用権割当て制御回路7にアク
セス要求を通知する。プロセッサユニット1のバス制御
回路11はバス使用権割当て制御回路7がらのバスアク
ノリッジ信号線101がオンになることを監視し、同時
に第2のビジー信号線BUSYIの監視も行う。
もし、パスアクノリッジ信号線101がオンになるとプ
ロセッサユニット1はバス使用権を得たことになるので
、バス制御回路11はバスビジー信号線14の監視を行
い、そのバスビジー信号線14がオフになったら、その
バスビジー信号線14をオンにする。同時に第1のリク
エスト信号線REQ\をオンとしメモリ制御回路61に
対しアクセス要求発生の通知を折込、第1のアクノリッ
ジ信号線ACK’Q、がオンになるのを監視する。第1
のアクノリッジ信号線ACKnがオンになった時点でプ
ロセッサ10はメモリ60へのアクセスをメモリインタ
フェースバス50を介して行うことができる。
以上の説明に対し、プロセッサユニット2がメモリ60
のアクセスを行っている場合は、第2のビジー信号線B
USYIがオンとなっているため、直ちにバスビジー信
号線14をオンとし、第1のリクエスト信号線REQ\
をオンとし、メモリ制御回路61からの第1のアクノリ
ッジ信号線ACK\がオンとなるのを待ち、メモリアク
セスを行う。プロセッサユニット2がメモリ60をアク
セスする時も同様に、第1のビジー信号線BUSY\を
チェックし、オフであれば前述のごとく、メモリインク
フェースバス51を介してアクセスする。もし、第1の
ビジー信号線BUSY\がオン即ち、プロセッサユニッ
ト1〆メモリ60をアクセスしている場合はプロセッサ
ユニット2のバス制御回路21i;tバスリクエスト信
号線110をオンとはせずに、直ちにバスビジー信号線
14をオンとし、同時に第2のリクエスト信号線REQ
Iをオンとし、第2のアクノリッジ信号線ACK lが
オンになるのを待つ。第2のアクノリッジ信号線ACK
 lがオンになると、メモリ60へのアクセスを行う。
即チ、共通バスの使用権を得て共有メモリのアクセスを
行わなくてよいので、共通バス使用権切替のための時間
が不要である。
ここで、メモリ制御回路61はプロセッサユニット2か
らの第2のリクエスト信号線RBQIに対し、プロセッ
サユニット2がアクセスするエリアと、プロセッサユニ
ット1がアクセスするエリアとが競合しないかを調べ、
競合していなければ直ちに第2のアクノリッジ信号線A
CKIをオンとすると同時に第2のビジー信号線BUS
YIをオンとする。その後、プロセッサユニット2がメ
モリアクセスを終了したことを契機に第2のビジー信号
線BUSYIと第2のアクノリッジ信号線ACKIをオ
フとする。
第3図は本発明の一実施例において使用するプロセッサ
ユニット1におけるバス制御回路11の動作フa−例を
示す。
ここで、CMモードはメモリ60をプロセッサユニット
1がアクセスする動作モードであることを示し、BBU
SYはバスビジー信号線14を示し、BRQ’0、はバ
スリクエスト信号線100を、BRQIはバスリクエス
ト信号線110を、 BACK\はノ(スアクノリッジ
信号線101を、BACKIはバスアクノリッジ信号線
111をそれぞれ示す。
この動作としては、プロセッサ10がメモリアクセスを
行う場合、メモリ60をアクセスするモードか否かを判
定する。CMモードであれば、まず、プロセッサユニッ
ト2がメモリ60をアクセス中であるか否かを第2のビ
ジー信号線BUSYIで判定する。
ここで、プロセッサユニット2がメモリ60をアクセス
している場合は、直ちにメモリ60へのアクセス権はプ
ロセッサユニット1に与えられ、バス制御回路11は直
ちにバスビジー信号線14(BBUSY)をオンとし、
メモリ制御回路61に対し、第1のリクエスト信号mR
EQ’Q、をオンにすることでアクセス要求を通知し、
アクセス許可として第1のアクノリッジ信号線ACK\
がオンとなるのを待つ。プロセッサlOとプロセッサ2
0のアクセスエリアが競合しなければ、直ちに第1のア
クノリッジ信号線ACKhがオンとなり、メモリアクセ
スを行う。メモリアクセス終了後、バス制御回路11は
第1のリクエスト信号線REQ’&、バスリクエスト信
号線100 (BRQ″a、)、バスビジー信号線14
(BBUSY)をオフとし、初期状態に戻る。
モジ、プロセッサユニット1とプロセッサユニット2の
アクセスエリアが競合している場合は、第1のアクノリ
ッジ信号線ACK′O1は直ちにオンとハナラス、プロ
セッサユニット2のメモリアクセス終了後にオンとする
第4図は本発明の一実施例において使用するメモリ制御
回路61の動作フa−例を示す。プロセッサユニット1
からの第1のリクエスト信号線REQ”&がオンになる
と、メモリインタフェース/<ス50を介して通知され
るメモリのアドレスによシメモリ制御回路61は競合の
有無を判定する。
競合がなければ直ちに第1のアクノリッジ信号線ACK
″8.をオンとし、第1のビジー信号線BUSY\をオ
ントスる。プロセッサユニットlがメモリアクセスを終
了したことを契機に第1のアクノリッジ信号線ACK\
、第1のビジー信号線BUSY’6.をオフとする。
以上述べたように、本発明ではプロセッサユニットと共
有メモリ間に、そのプロセッサユニット専用のメモリイ
ンタフェースバスを有し、共有メモリをブロックに分割
し、前記プロセッサユニットが共有メモリアクセス中に
、専用のメモリインタフェースバスを持つ他のプロセッ
サが共有メモリのアクセスを行う場合は共通バス使用権
獲得のだめの制御を行わず、メモリブロック単位毎の競
合制御のみを行うことで共有メモリをアクセスできるよ
うにした。
そのため、バス結合形の負荷分散マルチプロセッサシス
テムにおける性能低下要因である、ノぐス使用権の切替
時間とメモリアクセス競合によるアクセス待ち時間を大
幅に減少させることが可能である。
以上の説明では簡単のために、メモリとプロセッサユニ
ット間の専用インタフェースを持つプロセッサを2つと
したが、更にプロセッサ数が多い場合にも本発明は適用
可能であることは勿論である。他方、第2図忙示すメモ
リインタフェースノ(ス50あるいは51が障害になっ
た場合でも、性能低下は避けられないが共通バスを介し
メモリ60のアクセスが可能である。しだがって、信頼
性の向上にもなる利点がおる。
(効 果) 以上説明したように、本発明によれば、ノ(ス結合マル
チプロセッサシステムにおいて、複数のプロセッサがア
クセスする共有メモリと負荷分散マルチプロセッサを間
に専用のメモリインタフェースを設け、負荷を分散して
処理するプロセッサのうちの1つが共有メモリをアクセ
スしていると、専用メモリインタフェースを有する他の
フロセッサは共通バスの使用権獲得のだめの制御は不要
で直ちに共有メモリに対してアクセス可能であυ、複数
プロセッサによる共有メモリのアクセス競合による性能
低下が防げる利点がある。
特に、゛マイクロプロセッサは一般に命令実行時間のう
ち大部分がメモリアクセスに消費されるので、マイクロ
プロセッサを複数個バス結合したマルチプロセッサシス
テムに本発明を適用することで、高性能および高信頼な
マルチプロセッサシステムを経済的に提供できる利点が
ある。
【図面の簡単な説明】
第1図は従来の方式によるバス結合マルチプロセッサ構
成におけるバス制御例を示す図、第2図は本発明の一実
施例の構成を示す図、第3図は本発明の一実施例のプロ
セッサにおけるバス制御フロー例、第4図は本発明の一
実施例のメモリ制御回路の動作フロー例である。 1〜4・・・・・・・・・プロセッサユニット、 5 
・・・・・・・・・バス、 6 ・・・・・・・・・共
有メモリ、 7 ・・・・・・・・・);ス使用権割当
制御回路、10,20・・・・・・・・・プロセッサ、
11.21・・・・・・・・・バス制御回路、14・・
・・・・・・・ノくスビジー信号線、50.51・・・
・・・・ メモリインタフェースバス、60・・・・・
・・・・メモリ、61・・・・・・・・・メモ1ノ制御
回路、100,110,120,130・・・・・・・
・・ノζスリクエスト信号線、 101.111.12
1.131・・・・・・・・・ノ(スアクノリッジ信号
線、BUSY’8.、 BUSYi・・・・・・・・第
1、第2のビジー信号線、REQ\、 REQI・・・
・・・・第11第2のリクエスト信号線、 ACK″Q
1. ACKI・・・・・・・・・第1、第2のアクノ
リッジ信号線、6Mモード・・・・・・・・・メモリ6
0をアクセスするモード、BBUSY・・・・・・・・
・ 14と同じ、BR’Q”Ql、 BRQI・・・・
・・・・100、l1l)と同じ、 BACK犯BAC
KI・・・・・・・・ 101゜111と同じ。

Claims (1)

    【特許請求の範囲】
  1. バス結合のマルチプロセッサ構成で、各プロセッサよシ
    アクセスされる共有メモリを有し、その共有メモリをア
    クセスするために各プロセッサはバス使用権の要求をバ
    ス使用権割当て制御回路に通知し、そのバス使用権割当
    て制御回路は前記バス使用権の要求の調停を行い、バス
    アクノリッジ信号線を介して共有メモリのアクセス権を
    プロセッサに通知し、その通知を受けた後共有メモリを
    共通バスを介してアクセスするアクセス競合方式におい
    て、プロセッサと前記共有メモリ間を結ぶそのプロセン
    サ専用のメモリインタフェースバスと、複数ブロックに
    分割された共有メモリ間で複数のプロセッサからのアク
    セス競合制御を行うメモリ制御回路と、各プロセッサに
    おいて共通バスとメモリインタフェースバスの制御を行
    うバス制御回路と、前記メモリ制御回路からプロセッサ
    のバス制御回路に他のプロセッサが共有メモリをアクセ
    スしていることを示すビジー信号線と、各プロセッサの
    バス制御回路からメモリ制御回路に共有メモリのアクセ
    ス要求を通知するリクエスト信号線と、前記メモリ制御
    回路が複数のプロセッサから前記リクエスト信号線によ
    り通知されるアクセス要求に対し分割された共有メモリ
    のブロック間でアクセス競合していないことの検出を契
    機に共有メモリへのアクセス許可をプロセッサに通知す
    るアクノリッジ信号線を有し、プロセッサが共有メモリ
    をアクセスする際、前記ビジー信号線によりそのプロセ
    ッサのバス制御回路に他プロセツサが共有メモリをアク
    セスしていることが通知されていたときKそのバス制御
    回路は共通バスの使用権獲得のだめの制御を行わず、前
    記リクエスト信号線を介して共有メモリのアクセス要求
    を行い、メモリ制御回路からのアクノリッジ信号線によ
    るその共有メモリへのアクセス許可を受け、共有メモリ
    のアクセスを行うことを特徴とするメモリアクセス競合
    制御方式。
JP10786183A 1983-06-17 1983-06-17 メモリアクセス競合制御方式 Pending JPS60564A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10786183A JPS60564A (ja) 1983-06-17 1983-06-17 メモリアクセス競合制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10786183A JPS60564A (ja) 1983-06-17 1983-06-17 メモリアクセス競合制御方式

Publications (1)

Publication Number Publication Date
JPS60564A true JPS60564A (ja) 1985-01-05

Family

ID=14469927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10786183A Pending JPS60564A (ja) 1983-06-17 1983-06-17 メモリアクセス競合制御方式

Country Status (1)

Country Link
JP (1) JPS60564A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03117715A (ja) * 1989-09-29 1991-05-20 Norishige Furuya 内燃機関のクランク軸装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03117715A (ja) * 1989-09-29 1991-05-20 Norishige Furuya 内燃機関のクランク軸装置

Similar Documents

Publication Publication Date Title
US5367678A (en) Multiprocessor system having statically determining resource allocation schedule at compile time and the using of static schedule with processor signals to control the execution time dynamically
US5168568A (en) Delaying arbitration of bus access in digital computers
US5530891A (en) System management interrupt mechanism within a symmetrical multiprocessing system
US6549961B1 (en) Semaphore access in a multiprocessor system
KR20160056881A (ko) 컴퓨터 이미징 파이프라인
JPH0916533A (ja) 対称多重処理システム
AU687627B2 (en) Multiprocessor system bus protocol for optimized accessing of interleaved storage modules
US9164799B2 (en) Multiprocessor system
JPH1097509A (ja) 対称型マルチプロセッサ・システムにおいて割り込みを分散する方法および装置
JP2539352B2 (ja) 階層型多重計算機システム
JPH0855038A (ja) 対称多重処理システム、そのための割込制御ユニット、および対称多重処理システム内でプロセッサ割込信号を開始するための方法
US9367349B2 (en) Multi-core system and scheduling method
JP2007004382A (ja) マルチプロセッサシステム
US20060184942A1 (en) System, method and medium for using and/or providing operating system information to acquire a hybrid user/operating system lock
JPS60564A (ja) メモリアクセス競合制御方式
JP3101023B2 (ja) バス使用権制御方法
JPH01305461A (ja) バス使用権制御方式
JPH07182168A (ja) 演算装置及びその制御方法
JPS6145348A (ja) バス優先権制御方式
JP2564321B2 (ja) バス制御方式
JPH0544696B2 (ja)
JPS5839343B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JPS6010381A (ja) マルチプロセツサシステムにおける入出力割込受付プロセツサの決定方式
JPS6143369A (ja) マルチプロセツサシステム
JPH05282256A (ja) プロセッサ間メッセージ通信方法