JPS5922152A - 共有メモリのアクセス制御方法 - Google Patents

共有メモリのアクセス制御方法

Info

Publication number
JPS5922152A
JPS5922152A JP13101282A JP13101282A JPS5922152A JP S5922152 A JPS5922152 A JP S5922152A JP 13101282 A JP13101282 A JP 13101282A JP 13101282 A JP13101282 A JP 13101282A JP S5922152 A JPS5922152 A JP S5922152A
Authority
JP
Japan
Prior art keywords
memory
shared memory
bus
cpu
data
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
JP13101282A
Other languages
English (en)
Inventor
Haruyoshi Kakiya
垣谷 治善
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP13101282A priority Critical patent/JPS5922152A/ja
Publication of JPS5922152A publication Critical patent/JPS5922152A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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

Abstract

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

Description

【発明の詳細な説明】 この発明は共有メモリのアクセス制御方法に関し、特に
ひとつの共有メモリを複数の処理装置等でランダムにア
クセスする場合の制御方法に関する。
近年、コンピュータ業界においてはマルチ7°ロセノザ
(マルチCPU)形式を採用したマーキテクチャーが一
般化する傾向にある。その際、コスト効率の悪いメモリ
の省資源化のために、ひとつのメモリを多数の処理装置
で共有して用1.する制御方法がいくつか公表されてい
る。
その制御方法としては例えばマルチノくス3杉式のシス
テムがある。このシステムはマルチプロセッサ形式の概
念を一般化したもので、中央処理装置。
(CPU)、I10プロセッサ等のすべての周辺装Kt
yドレスバス、データ/(ス、コントロールバスを介し
て1つの共有メモリと結合するものである。しかし、こ
のシステムは通常周辺装置の数が多い大システムには有
効であるが、小さなシステムではデータの衝突等を防止
する為の/(スコントローラを各周辺装置毎に設けなく
てはならな(まため、コスト効率が非常に悪くなる。
第1図に通常小さなシステムに採用されてl/)る制御
方法の一例を示す。この制御方法の特徴は2つ以上のC
PUがメモリ30ヲアクセスする場合に生ずるデータの
衝突の防止の為に各CPU間に設けたデータ衝突回避手
段であるハンドシェークラインH8である。このハンド
シェークラインによって、CPUは他のCPUがメモリ
3oをアクセスしているか否かを識別することができる
ようになる。全体的動作について簡単に説明すると、ま
ず、各CPUは前記ハンドシェークラインによって他の
CPUがメモリ30をアクセスしていないことを認知し
た後、メモリアクセス要求信号ARI 、ARl・・・
ARnをバスコントローラ4oに出力する。該メモリア
クセス要求信号を受入したバスコントローラ40はどの
CPUがメモリ30′f、アクセスしているかを判別し
、該判別結果に基づいてどのアドレスバスAB1 、A
Rl ”’ ABnおよびデータバスDB、 。
DB、・・・DBnを選択するかを示す適宜な信号SL
ヲアトレスハスセレクタ10およびデータバスセレクタ
20に対して出力する。これにょシ、アドレスバスセレ
クタ10およびデータバスセレクタ圀は所定のアドレス
バスおよびデータバスをそれぞれ選択し、該選択したア
ドレスバスおよびデータバスのアドレス信号、データ信
号をメモリ30に対してアクセスするよう動作する。
しかるに、この制御方法において上記ハンドシェークラ
インは通常ソフトウェアで制御されるため、制御のオー
バーヘッドが長くなり、さらに共有メモリをアクセスす
るCPU0数が増加すると制御が複雑になるという不都
合を有するものである。
この発明は上記実情に鑑みてなされたものであり、共有
メモリを複数の処理装置でアクセスする場合、各処理装
置間にハンドシェモインを設けずにデータの衝突を防止
し得る共有メモリのアクセス制御方法を提供することを
目的とする。
すなわちこの発明は、共有メモリの所定のアドレス領域
に複数の処理装置にそれぞれ対応する識別コード(以下
パスワードという)を記憶させるとともに、前記複数の
処理装置からの該共有メモリに対する同時のアクセス要
求に際して、唯ひとつの処理装置のアドレスバスおよび
データバスのみ前記共有メモリに接続することにより前
記パスワードの読出しを行い、処理装置では前記共有メ
モリより読出された該パスワードを自身の有するパスワ
ードと照合することによυ、前記共有メモリのアクセス
権を得たか否かを検知するようにしたものである。
以下、この発明にかかる共有メモリのアクセス制御方法
を添付図面に示す実施例にしたがって詳細に説明する。
第2図はこの発明にかかる共有メモリのアクセス制御方
法の一実施例の構成を示すものであり、第1図と同様の
機能な有するものについては同一番号を付してあり重複
する説明は省略する。第1図との主な構成上の違いはハ
ンドシェークラインHSを除いたこと、データバスDB
、、DB2.・・・DBnにプルアップ抵抗R,,R,
−Rnをビットごとに接続したことである。なお、アド
レスセレクタ10、データバスセレクタ20、バスコン
トローラ60等の実際の回路構成については後述する。
上記プルアップ抵抗RO+R1+・・RnVC適宜な電
圧を加えることにより、通常データバスDLI、 。
DB2.・・・DI3nはすべてのピッドの論理レベル
がハイL/ ヘ)I/ ト’fl、っておす、バスコン
トローフ 60 等の制御によシメモリ50のアクセス
@を得たCPUのデータバスのみ所定の論理レベルでデ
ータが流れるようになっている。バスコントローラ60
の特徴的な機能を簡単に説明する。それは、バスコント
ローラ60に対してメモリアクセス要求信号を出力した
CPU、あるいは上記要求信号を最もはやく出力したC
PUのアドレスバスおよびデータバスのみがメモリ50
に接続されるようアドレスバスセレクタ10およびデー
タバスセレクタ20を動作制御する機能である。なお、
2つ以上のCPUが略同時に上記要求信号をバスコント
ローラ60に出力しても、唯1つのCPUのみがメモリ
50のアクセス権を得られるようになっている。
次に、第2図の他に第3図を参照してこの発明にかかる
共有メモリのアクセス制御方法の動作を順を追って説明
する。なお、この動作においては、各データバスDB、
、DB2.・・・DB、1のデータ幅は1バイト(8ビ
ツト)とする。
(1ン  当該システムのiIσ動の際、適宜なイニシ
ャライズ操作によシ、メモリ50の所定の記憶領域部分
に、各CPUI 、CPU2−CPUnK対応したメモ
リアクセスの衝突防止の為のパスワードが書き込まれる
。該パスワードとメモリ5oの有するアドレスとの関係
を第3図に示す。なお、該パスワードは1バイト毎に1
6進表現を用いて示しておυ、HeX(n)は10進数
nに対応した1バイトの16進表現である。すなわち、
CPU1はパスワードとして「01」(000000o
1の16進表現)f:o番地に記憶させ、CPU2はパ
スワードとして「o2j(00000010の16進表
現)を1番地に記憶させたことになる。CPU3以下に
ついても同様である。このように、CPUの数分に対応
したパスワードをそれぞれ異なる内容でメモリ5oの所
定記憶領域に記憶させればよい。ただし、該パスワード
としてrF FJ  (11111111の16進表現
)のみは後述する理由により指定してはいけない。
なお、n番地以降は通常のデータの読み書きに使用する
ワークエリアである。
(2)例えばCPUIがメモリ50をアクセスする場合
、まずCPU1はメモリアクセス要求信号All。
をパスコンドロー260に対して出力した後、アドレス
バスセレクタして自分のパスワードが記憶されているメ
モリ50のアドレス(この場合、0番地)に対応したア
ドレス信号をアドレスバスセレクタ10に出力し、メモ
リ50に記憶された自身のパスワードを読み出そうとす
る。
(3)  この際CPUI以外の他のCPUによってメ
モリ50は占有されているかもわからない。また、この
時点で他のCPUもメモリ50に対して略同時にアクセ
スするかもわからない。従って、バスコントローラ60
は前述したようにメモリアクセス要求信号を最もはやく
送出したCPUのアドレスバス、およびデータバスのみ
がメモリ30と接続され、アクセス権を得られるより動
作する。
(4)バスコントローラ60がCPUIの送出しfrl
モリアクセス要求信号ARIを受けつけていないのに、
CPUIがメモリ50の0番地のデータを読んだ場合、
データバスDB、はプルアップ抵抗R。
によって論理レベルがハイレベルとなっている為、該読
み出しデータけrF FJ (11111,111の1
6進表現)となっている。CPUIは該読み田しデータ
「FF」と自分自身のパスワード「01」との比較を行
い、該比較結果が一致しないため、メモリアクセス要求
が拒否され、メモリ30は他のCPUに使用されている
こと′ff:認知し、メモリアクセス要求信号AR1を
リセットする。その後、所定時間待った後、再びメモリ
アクセス要求信号AR,をバスコントローラ60に対し
て出力する。
このようにメモリアクセスが受けつけられない場合、パ
スワードはl’−F FJとして各CPUに読み込まれ
る為、イニシャライズ時に指定するパスワードは「F 
FJを用いてはいけない。
(5)  逆K、バスコントローラによってCPUIの
メモリアクセスが受は付けられている場合は、CPU1
のアドレスバスABlおよびデータバスDB、はメモリ
30と接続される為、cpulはメモリ30の所定アド
レス(この場合は0番地)に記憶させた自身のパスワー
ド「01」を読み込むことができる。これKよって、C
PUIはメモリアクセス要求が受けつけられ、メモリア
クセス権を獲得したことを認知し、所要の動作をメモリ
30に対して実行する。
上記動作が終了した後、メモリアクセス要求信号AR,
をリセットする。
次に、上記動作を実行する為のバスコントローラ60等
の実際の回路構成例を第4図に示す。なお、この図にお
いては、メモリ50に対して接続されている周辺装置は
CPUIとCPU2の2つの場合について示している。
同図において、バスコントローラ60は、D型フリップ
フロップ61 、62、および数個の論理ゲートを有し
て構成されている。D型フリップフロッグ61のD端子
はCPUIのメモリアクセス要求信号AR,と接続され
、またクロック端子Cは例えばこのシステム用のクロッ
クを発生する図示しないクロック発生装置と接続されて
いる。D型フリツブ70ツブ62のD端子はCPU2の
メモリアクセス要求信号AR2と接続され、またクロッ
ク端子Cは図示しない上記クロック発生装置の出力がイ
ンバータ63によって反転されて入力されるようになっ
ている。なお、上記メモリアクセス要求信号A Rl、
 A Rz f’j: m 環レベルがハイレベルノド
き能動とする。またゲート66の入力端子の一端はゲー
ト64の出力と接続され、もう一端Fi、cpu1の出
力するチップイネーブル信号CF、がインバータ68に
よって反転されたものに接続されている。
上記チップイネーブル信号CElは複数個のチップによ
って構成されたメモリ5oの所要のチップを選択するた
めにCPUIが出方する信号である。
同様に、ゲート67の入力端子の一端はゲート65の出
力と接続され、もう一端はCPU2の出力するチップイ
ネーブル信号CE2がインバータ69ニよって反転され
たものに接続されている。
アドレスセレクタ1oは、CPU1のアドレスバスAB
Iをゲート66の出力信号BL、に基づいてメモリ30
に接続するが否かを決定する3状態バツフア11と、C
PU2のアドレスバスAB、をゲーと67の出力信号B
L2に基づいてメモリ30に接続するか否かを決定する
3状態バツフア12ヲ有して構成されている。この図で
は、アドレスバスAB、。
AB2を1ピツトで構成したが、勿論実際にはアドレス
バスのビット分に相当する数の3状態バツフアが同様の
構成で具えられている。3状態バツフア11 、1.2
は上記信号BL、、BL2 の論理レベルがローレベル
となった時にそれぞれアドレスバスABl、AB2をメ
モリ50に対して接続するものである。データバスセレ
クタ20は、上記信号BLlに基づいてメモリ50とC
PUIのデータバスDBIを接続するか否かを決定す鯨
態バッファ2Jと、上記信号BL2に基づいてメモリ5
0とCPU2のデータバスDB、を接続するか否かを決
定する3状態バツフア22とを有して構成されており、
この図においてはメモリ50の内容を読み出す場合につ
いてのみ示した。勿論、メモリ50にデータ等を書き込
む場合は逆方向の3状態バツフアを用いて同様に構成す
ればよい。また、同図ではデータバスDB、、DB2を
1ビツトで構成したが、勿論実際にはデータバスのビッ
ト分に相当する数の3状態バツフアが同様の構成で具え
られている。
f −p ハスDB、、DB2は前述したプルアップ抵
抗R1,R,が接続されている。メモ’、150は端子
MCに加えられる信号の論理レベルがローレベルとなっ
た時に能動状態となるものである。
例えば、CPUIがCPU2よシ先にメモリアクセス要
求信号AR,iバスコントローラに出方した場合、同図
においてA点は論理レベルがロウレベルとなシ、またB
点はハイレベルとなる。この際、チップイネーブル信号
CE、は論理レベルがハイレベルとなっており、少し遅
れてcE2もハイレベルとなる。したがってゲート66
の出力信号BL、は論理レベルがロウレベルとなジ、ゲ
ート67の出力信号BL2はハイレベルとなる。このよ
うにして、CPU1のアドレスバスAB、とデータバス
DB、のみがメモリ5oと接続されるようになる。そし
て、CPUIおよびCPU2がメモリ50に記憶させた
自身のパスワードをそれぞれ読んだ場合、CPUIのパ
スワードは自分のものと一致するが、CPU2の読んだ
データはプルアップ抵抗R2によって「FFJ(データ
幅が1バイトの場合)となっておシ自分のパスワードと
一致しない。これによpcPUlはメモリ5oのアクセ
ス権を獲得したことを認知し、以後メモリ5oに対して
所要の動作を実行するが、CPU2はメモリ50が他の
CPUによって使用されていることを認知し、メモリア
クセス要求信号AR2をリセットする。
略同時にCPUIおよびCPU2がメモリアクセス要求
信号をバスコントローラ6oに対して出方した場合でも
、インバータ63によってD型フリップフロッグ62に
入力されるクロック信号がD型7リツグフロツグ61に
入力されるクロック信号と反転させられている為、D型
フリップフロップ62はシステムクロックの立上がシで
データを取り込み、Du7リツプ70ツブ63はシステ
ムクロックの立下がシでデータを取シ込む。このため、
はやくデータを取シ込んだ7リツプ70ングに接続され
たCPUのみメモリのアクセス権を獲得でき、メモリア
クセスの衝突は防止できるようになっている。
なお、第4図に示した実施例回路では便宜上CPU0数
が2個の場合について示したが、CPU0数が3個、4
個・・・・・と増加した場合でもこの発明を容易に適用
できることは勿論である。
才た、第4図に用いた回路構成、特にバスコントローラ
60の回路構成は同等の機能を達成できるものであれば
他のいかなる回路構成としてもよい。
例えば、該共有メモリのアクセスに対するCPUの優先
順位をあらかじめ定めておき、該優先順位に基づいて論
理を形成した優先論理回路等によって構成してもよい。
さらに、データバスのデータ幅は主に1バイトの場合に
ついて説明したが、それぞれのシステムに対応して伺バ
イトのデータ幅にもこの発明を適用できることは勿論で
ある。
また、上記実施例では、データバスのすべてのビットの
論理レベルを前記プルアップ抵抗によってハイレベルと
した場合全示したが、CPUQ数が少ない場合、例えば
デークツくスの1ビツトのみ前記プルアップ抵抗によっ
て論理レベルをノ・イレベルとし、各処理装置のパスワ
ードをこのビットのみロウレベルとしてコードを指定す
るようにして、1ビツトだけでメモリ使用権を獲得した
か否かを各CPUに識別するようにしてもよい。
ところで、メモリの所定領域に各CPUのステータス情
報を書き込み、該ステータス情報を上記動作によって適
宜読み出すようにすると、各CPUは他のCPUのステ
ータスを所望とする時にし)つでも読み出して8識でき
るようになる。
以上説明したように、この発明にかかる共有メモリのア
クセス制御方法によれば、共有メモリを複数の処理装置
でアクセスする場合、各処理装置間に特別なノ・ンドシ
ェークラインを設けずVC通常のメモリの読み出し動作
を各処理装置に実行させるだけでデータの衝突を防止し
得るようにしたことから、各処理装置は必要とする時い
っても共有メモリをアクセスできるようになり、またデ
ータ衝突防止のための制御のオーバーヘラl−を大幅に
削減できるという優れた効果を秦する。
【図面の簡単な説明】
第1図は共有メモリ全複数のCPUでアクセスする場合
の従来の淘成例を示す図、第2図はこの発明にかかる共
有メモリのアクセス制御方法の一実施例を示すブロック
図、第3図は各CPUのパスワードを共有メモリに記憶
させた場合の一例を図式的に示した説明図、第4図は第
2図に示したパスコントローラ等の実際の回路構成例を
示す図である。 10  アドレスバスセレクタ、20・・・デークツ(
スセt/クタ、30 、50・・・メモ!j、40.6
0・・・)(スコントローラ、61 、62・・・D型
フリノプフロツプ第2図 第3図

Claims (1)

    【特許請求の範囲】
  1. 複数の処理装置に対して設けられた共有メモリのアクセ
    ス制御方法において、前記共有メモリの所定アドレスに
    各処理装置にそれぞれ対応する識別コードを記憶させる
    とともに、複数の処理装置から前記共有メモリに同時に
    アクセス請求があった場合、単一の処理装置のみ前記共
    有メモリに接続することにより前記識別コードの読出し
    を行い、処理装置では前記共有メモリから読出された識
    別コードの照合によシ前記共有メモリのアクセス権を得
    たか否かを検知するようにした共有メモリのアクセス制
    御方法。
JP13101282A 1982-07-27 1982-07-27 共有メモリのアクセス制御方法 Pending JPS5922152A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13101282A JPS5922152A (ja) 1982-07-27 1982-07-27 共有メモリのアクセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13101282A JPS5922152A (ja) 1982-07-27 1982-07-27 共有メモリのアクセス制御方法

Publications (1)

Publication Number Publication Date
JPS5922152A true JPS5922152A (ja) 1984-02-04

Family

ID=15047911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13101282A Pending JPS5922152A (ja) 1982-07-27 1982-07-27 共有メモリのアクセス制御方法

Country Status (1)

Country Link
JP (1) JPS5922152A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51140537A (en) * 1975-05-30 1976-12-03 Fuji Electric Co Ltd System for establishing priority of terminal devices
JPS5810251A (ja) * 1981-07-09 1983-01-20 Fujitsu Ltd リザ−ブ系識別方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51140537A (en) * 1975-05-30 1976-12-03 Fuji Electric Co Ltd System for establishing priority of terminal devices
JPS5810251A (ja) * 1981-07-09 1983-01-20 Fujitsu Ltd リザ−ブ系識別方式

Similar Documents

Publication Publication Date Title
US11036650B2 (en) System, apparatus and method for processing remote direct memory access operations with a device-attached memory
US4212057A (en) Shared memory multi-microprocessor computer system
KR100248902B1 (ko) 다중의 이종프로세서들을 지원할수있는 마이크로프로세서구조
US5214776A (en) Multiprocessor system having global data replication
US5666515A (en) Information processing system having multiple modules and a memory on a bus, where any module can lock an addressable portion of the memory by sending retry signals to other modules that try to read at the locked address
US6175888B1 (en) Dual host bridge with peer to peer support
JP2581323B2 (ja) 参照ビット,変更ビットの更新方法
JP4642531B2 (ja) データ要求のアービトレーション
US5073871A (en) Main storage access priority control system that checks bus conflict condition and logical storage busy condition at different clock cycles
US5895496A (en) System for an method of efficiently controlling memory accesses in a multiprocessor computer system
US5218688A (en) Data processing system with memory-access priority control
JPS5832427B2 (ja) 多重情報処理システム
JP2004062910A (ja) マルチコアプロセッサにセマフォを具現化し、共通資源へのアクセスを制御する方法
JPS5922152A (ja) 共有メモリのアクセス制御方法
JPH0731666B2 (ja) プロセッサ間通信方式
USRE38514E1 (en) System for and method of efficiently controlling memory accesses in a multiprocessor computer system
JPH0330175B2 (ja)
JPS6153747B2 (ja)
JPH06274462A (ja) 共有メモリの非同期書込み方式
EP4027248A1 (en) Accelerator controlling memory device, computing system including accelerator, and operating method of accelerator
KR930003721B1 (ko) 고속 인터럽트 기능을 갖는 데이타 처리시스템
EP0923031A1 (en) Method for reading data from a shared memory in a multiprocessor computer system
JP2000029824A (ja) 階層型バスシステムとバス変換装置
JPH086905A (ja) マルチポートramのアクセス調停回路
JP3219422B2 (ja) キャッシュメモリ制御方式