JPH04268938A - データ処理装置およびメモリコントローラ - Google Patents

データ処理装置およびメモリコントローラ

Info

Publication number
JPH04268938A
JPH04268938A JP3282051A JP28205191A JPH04268938A JP H04268938 A JPH04268938 A JP H04268938A JP 3282051 A JP3282051 A JP 3282051A JP 28205191 A JP28205191 A JP 28205191A JP H04268938 A JPH04268938 A JP H04268938A
Authority
JP
Japan
Prior art keywords
semaphore
bus
memory
remote
processor
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.)
Granted
Application number
JP3282051A
Other languages
English (en)
Other versions
JP2510799B2 (ja
Inventor
Wan L Leung
ワン、リン、リュン
Richard Allen Kelley
リチャード、アレン、ケリー
Leslie F Mcdermott
リスリー、フェリス、マクダーモット
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04268938A publication Critical patent/JPH04268938A/ja
Application granted granted Critical
Publication of JP2510799B2 publication Critical patent/JP2510799B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理に関し、より
詳細には、I/Oバースト転送とロックセマフォー動作
の両方に使用可能なバースト信号ラインを備えた拡張バ
スを含む多重プロセッサシステムおよびそのようなシス
テムで使用可能なメモリコントローラに関する。
【0002】
【従来の技術】多重プロセッサシステムは信頼性のある
通信を行うため指定されたメモリ位置またはレジスタに
記憶されたセマフォーを用いることによりメモリのよう
な資源を共用する。セマフォーロック動作のプロトコル
はこの共用資源のアクセスに用いられる。そのようなプ
ロトコルはビットテストアンドセット命令のようなビッ
トテストおよび変化命令を従えたロックプレフィックス
命令の使用を含んでいる。そのような命令のシーケンス
により、活性LOCK信号が発生される。この信号は他
のプロセッサまたはバスマスタによる共用資源へのアク
セスを阻止するために用いられる。LOCKが活性であ
る間に次のビットテストアンドセット命令がそのセマフ
ォーをアクセスしてそのようなビットが非ビジー状態か
らビジー状態にセットされうるようにする。このプロセ
ッサは次に共用資源にアクセス出来る。セマフォービッ
トがビジーであれば、要求を出すプロセッサはそのビッ
トが共用資源のアクセス前に非ビジー状態にセットされ
るまで待機しなくてはならない。バスのロックは2以上
のリクエスタがそのセマフォーの使用に割込まないよう
にする。
【0003】現在、市販のIBM  PS/2パーソナ
ルコンピュータの内の或るモデルは1つのポートでプロ
セッサに接続され、他のポートで、周知のマイクロチャ
ンネルにアーキテクチャ(IBM,PS/2,マイクロ
チャンネルはIBM社の商品名)にもとづき設計された
拡張バスに接続されるデュアルポートメモリを使用する
。 そのようなアーキテクチャ2はバス(MCバス)はプロ
セッサLOCK信号の伝送用のロックラインは有してい
ない。しかしながら、そのようなバスはBURST信号
ラインを有しており、このラインはバスがバースト転送
を行うことが出来るようにするものであり、このバース
ト転送ではBURST信号が活性である限りバスユーザ
に次のバスサイクルの使用が許可される。本発明はその
ようなシステムを改善し、BURST信号がバースト転
送とロックセマフォー動作の両方に使用しうるようにす
るものである。
【0004】本発明に関連する従来の技術は米国特許第
4805106号明細書に記載されているものである。 これはセマフォー動作専用のバス読取/書込/変更信号
ラインを用いるものである。これに対し、本発明は専用
のバスロックラインを必要とせず、I/Oバースト転送
に加えてセマフォー動作を行うめたにバスBURST信
号ラインを用いる。更に本発明は局所プロセッサが、セ
マフォーがアクセスされている間にそのセマフォーによ
り制御されるメモリをアクセスしうるようにする。
【0005】
【発明が解決しようとする課題】本発明の目的は、MC
バスを含む新規な多重データ処理装置を提供すると共に
MCバス上のBURST信号ラインを用いてロックライ
ンを付加することなくロックセマフォー機能を与えるこ
とである。
【0006】本発明の他の目的はMCバスを有する多重
プロセッサシステムにおいて用いる新規なメモリコント
ローラを提供することである。
【0007】本発明の他の目的は、遠隔プロセッサが局
所メモリにおけるセマフォーをアクセスしている間に、
局所プロセッサがそのような局所メモリを同時にアクセ
スしうるようにすることである。
【0008】本発明の更に他の目的は、1つのポートが
局所メモリに接続され、他のポートが遠隔プロセッサに
接続されたバスに接続されるデュアルポートメモリを通
じてアクセスされる少くとも1個の局所メモリを有し、
局所プロセッサが同時にその局所メモリをアクセス出来
る間に遠隔プロセッサがその局所メモリでのセマフォー
動作を行うことが出来る、多重プロセッサシステムを提
供することである。
【0009】更に他の目的は、遠隔プロセッサからのL
OCK信号がロックラインを有さないバスでBURST
信号に変換され、それにより遠隔プロセッサが局所メモ
リでセマフォー動作を行うことが出来るようにする多重
プロセッサシステムを提供することである。
【0010】
【課題を解決するための手段】本発明によれば、局所プ
ロセッサがこのデュアルポートメモリコントローラの一
方のポートに接続される。BURST信号ラインを有す
るバスが他方のポートに接続される。このメモリコント
ローラは局所メモリへのアクセスを制御する。遠隔プロ
セッサは遠隔プロセッサからのLOCK信号をバスBU
RST信号に変換することにより局所メモリに記憶され
たセマフォーでセマフォー動作を行うことが出来、この
BURST信号はある期間、活性とされた遠隔プロセッ
サがセマフォーを読取って変更しうるようにする。セマ
フォー動作が行われている間に局所プロセッサは局所メ
モリをアクセスしうる。
【0011】更に本発明によれば、メモリコントローラ
がプロセッサ、メモリおよびMCバスに接続されてその
メモリ内のセマフォーについて、そのバスを介してアク
セスしうる遠隔位置でロックセマフォー動作を制御する
。このコントローラは局所メモリへのアクセスを制御す
る手段、およびプロセッサLOCK信号を遠隔セマフォ
ーをアクセスするためのBURST信号に変換するロジ
ックを含むものとする。
【0012】
【実施例】図面、特に図1において、データ処理装置は
システムバス12によりデュアルポートメモリコントロ
ーラ14の一方のポートに接続されるプロセッサ10を
含んでいる。このコントローラ14は更にメモリバス1
6によりメモリ18に接続される。コントローラ14の
他方のポートは前述のマイクロチャンネル(MC)アー
キテクチャにもとづき設計されたMCバス20に接続さ
れる。第2のプロセッサ22がシステムバス24により
デュアルポートメモリコントローラ26の一方のポート
に接続される。このコントローラ26の他方のポートは
バス20に接続される。コントローラ26は更にメモリ
バス28によりメモリ30に接続される。第3のプロセ
ッサ34がシステムバス39によりチャンネルインター
フェースユニット37に接続される。このユニット37
はMCバス20に接続される。第3のメモリ32はバス
35によりメモリコントローラ33に接続される。コン
トローラ33はまたMCバス20に接続される。この多
重プロセッサシステムの構成は本発明を例示するために
選ばれたものであり、他の構成としてもよい。
【0013】メモリコントローラ14および26は、M
Cバス20のバーストラインを周知のI/Oバースト転
送に使用しうるようにする標準部分を含んでいるが、そ
れらは周知のものであるから省略する。しかしながら、
それらコントローラは後述するように本発明により変更
されている。図示のデータ処理装置の他の部分は周知の
原理により構成されており、好適には市販の装置により
構成され、その詳細は本発明の理解には不要であるため
省略する。データ処理装置に共通に含まれる多くのポー
ト、I/Oおよび他の装置は例示の便宜上省略してある
【0014】要するにこのデータ処理装置は3個のプロ
セッサ10,22,34および3個のメモリ18,32
,30を含んでいる。プロセッサ22はその「局所」コ
ントローラ26を介してメモリバス30に、そしてMC
バス20を介してメモリ18,32にアクセスしうる。 更にプロセッサ10はその「局所」コントローラ14を
介してメモリ18に、そしてMCバス20を介してメモ
リ30,32にアクセスしうる。プロセッサ34はMC
バス20を介してメモリ18,30,32にアクセスし
うる。
【0015】メモリ30はプロセッサバス24を介して
プロセッサ22により、そしてMCバス20を介してプ
ロセッサ10または34によりアクセス可能な共用資源
である。プロセッサ22とメモリ30は互いに「局所」
とみることが出来、他のプロセッサおよびメモリは介在
するMCバス20により、「遠隔」とみることが出来る
。プロセッサ22とメモリ30は他のプロセッサとメモ
リに対しては「遠隔」とみることが出来る。図2に示す
ように、バス24,28,20は夫々アドレスとデータ
の伝送のための添字「A」を付したアドレスバスと添字
「D」を付したデータバスを含む。バスセレクタ回路3
8,40は夫々プロセッサ22とMCバス20からのデ
ータとアドレスの伝送を制御するためにこれらのバスを
分離する。データがプロセッサ22とメモリ30の間で
転送されるとき、それはバス24Dと28Dに添って行
われる。データがプロセッサ22とMCバス20の間で
転送中のとき、それはバス24Dと20Dを介して行わ
れる。データがメモリ30とMCバス20の間で転送中
のときはバス20Dと28Dが用いられる。アドレスは
プロセッサ22からメモリ30へ、アドレスバス24A
と28Aを介して送られ、MCバス20からはバス20
Aと28Aを介して送られる。
【0016】メモリ30はバス42に接続され、メモリ
30内のアドレスの範囲を示すアドレス範囲信号を出す
。この信号は比較/同期装置(C/S)44と46に送
られる。C/S44は更にアドレスバス24Aに接続さ
れて、バス24Aの有効アドレス信号とバス42上の有
効アドレス範囲信号とに応じてライン48に活性信号P
U  COMPを生じさせる。このライン48はメモリ
アービタ50およびインバータ66の各入力端子に接続
される。信号PU  COMPはプロセッサ22からの
アドレスがメモリ30内にあることを示す。C/S46
はMCアドレスバス20Aに接続され、バス20Aのア
ドレスがバス42上のアドレスの範囲内のときライン5
2に活性MC  COMP信号を出す。C/S46はバ
ス20の制御ライン20cにも接続されMC  COM
P信号の発生をMCバスのタイミングに同期化する。信
号MC  COMPはMCバス20からのアドレスがメ
モリ30にあるときを示す。ライン52もメモリアービ
タ50の入力端子に接続される。プロセッサはロック動
作のためのLOCK信号をライン54に出す。アービタ
50は与えられたメモリサイクルについてどのリクエス
タ(プロセッサ22またはMCバス20)にメモリ30
へのアクセスが与えるかを決定する。前述のように、M
Cバス20は「ロック」ラインを有していない。それ故
ロック機能を与えるために、バス20のBURSTライ
ンがライン72に接続される。ライン72はアービタ5
0にも接続され、いずれかの遠隔プロセッサからバス2
0を介して入るロック要求の伝達手段として作用する。 MCバスからのBURST信号とバス20A上のアドレ
スの関連がバスロックセマフォー要求をつくる。アービ
タ50はライン74にも接続される。このライン74は
MCバス20のチャンネルレディラインについてのチャ
ンネルレディ信号CHRDYを受けてそれを駆動する。
【0017】局所アービタ60はプロセッサ22がMC
バス20へのアクセスについて調整を行うことが出来る
ようにするために設けられているアービタ60はMCア
ーキテクチャにより局所アービタの要求に合致し、MC
バス20の調整信号ライン78に接続される。調整を行
うためにアービタ60はライン62からLREQ(ロッ
ク要求)信号を受ける。L  REQ信号は、ライン5
4からのLOCK信号とインバータ66からの反転PU
  COMP信号を入力とするANDゲート64により
発生される。LOCK信号が活性であり、アドレスされ
たセマフォーがメモリ30になく(その要求がMCバス
20を介して行われねばならないことを示す)、それ故
PU  COMPが不活性のとき、ANDゲート64は
活性L  REQ信号を発生する。局所アービタ60は
次にライン78を介して調整を行う。バス使用許可によ
り、アービタ60はライン68にBUS  WON信号
を出し、この信号がLOCK信号と共にANDゲート7
6に送られる。ANDゲート76はライン72を駆動し
、MCバス20に活性BURST信号を発生し、それに
より遠隔メモリをアクセスするロック要求を行う。これ
に関連して、遠隔セマフォーへの遠隔アドレスもバス2
0を介して送られる。コントローラ26のロジックはこ
のようにしてLOCK信号を遠隔セマフォーについての
BURST信号に変換するについて有効となる。
【0018】メモリアービタ50は図3に示すように複
数のANDゲートとインバータ(I)を含む。大文字の
信号は当業者には明らかである図示のロジックに従って
そのような回路に入力され、それから出力される。マイ
ナス(−)記号は反転または「不活性」信号を示す。A
NDゲート80は3個の入力ライン81,52,83と
1本の出力ライン82を有する。これら入力ラインが同
時にARBCYC信号、MC  COMP信号および−
BURST信号を夫々受けたとき、ANDゲート80は
MCバス20を介して入る要求に対しアクセスが許可さ
れたことを示すMC  REQ  G信号を出力する。
【0019】ANDゲート80のこの出力信号はインバ
ータ83で反転されてANDゲート84に入る。AND
ゲート84は同じくライン81,48,54上の入力信
号ARB  CYC,PU  COMPおよび−LOC
Kの各信号を受け、それらの同時入力に応じて、プロセ
ッサ22がメモリ30へのアクセスを許可されたことを
示す出力信号PU  REQ  Gをライン86に出す
。これら許可信号MC  REQGとPU  REQ 
 Gは非ロックすなわち非セマフォー要求である。
【0020】ANDゲート88の入力ライン72はバス
20のBURST信号ラインに接続されている。AND
ゲート88は入力信号MC  COMP,ARB  C
YCをも受け、それらの同時入力により、後述するよう
に待機および許可信号NOT  RDY  TO  M
CおよびMCL  REQ  Gを発生するために用い
られる出力信号をライン90に出す。ライン99はライ
ン74に接続され、MCバスのチャンネルレディライン
を不活性に駆動してMCバスを介してのセマフォー動作
を完了するための時間を与える。ANDゲート92はラ
イン81,48,54上の入力信号ARB  CYC,
PU  COMPおよびLOCKを受けてライン94に
出力信号を出し、この出力信号がANDゲート106と
100に送られる。ANDゲート100はライン101
上の入力信号MC  LOCK  IN  PROGR
ESSを受け、出力ライン102に、MCロック動作完
了までメモリ30に対するロックアクセスを待たねばな
らぬことをプロセッサに示す信号NOT  RDY  
TO  PUを出す。
【0021】ライン101はインバータ104の入力端
子にも接続され、その出力はANDゲート106に入る
。ANDゲート106は出力ライン108を有し、ロッ
ク動作についてプロセッサがメモリにアクセスを許可さ
れたことを示す出力信号PUL  REQ  Gを発生
する。ライン108はインバータ110にも接続され、
このインバータ116の出力ラインはANDゲート11
2の入力端子に接続される。ANDゲート112はこの
ようにしてMCバスからのロック動作要求が許可された
ことを示す出力信号MC  L  REQ  Gを発生
するように動作する。
【0022】図4において、正の立上りでトリガーされ
るラッチ124,126,132が夫々セットされると
ライン101,96,136に出力信号MC  LOC
K  IN  PROGRESS,PU  LOCK 
 IN  PROGRESSおよびMEMORY  B
USYを発生する。各ラッチはメモリクロック(図示せ
ず)からのMEMORY  CLK信号で駆動される。 ラッチ124はそのセット入力端子(S)でライン11
4に接続され、MCバスがロック動作について使用を許
可されたときセットされる。ラッチ124のリセット入
力端子(R)はライン120に接続されてバースト書込
動作の完了によりBURST  WRITE  COM
PLETE信号を受ける。この信号はそのサイクルが終
了したときMCバス上の信号からとり出される。ラッチ
126のセット入力端子はライン108に接続され、プ
ロセッサにアクセスが許可されたときPU  L  R
EQ  G信号を受ける。この信号を受けるとラッチ1
26はセットされてプロセッサのロック動作が進行中で
あることを示す。この動作の完了により、ラッチ126
はライン122に信号PU  WRITE  COMP
LETEを受ける。この信号は書込動作の終了時のメモ
リサイクル完了信号の終了で活性化される。
【0023】ORゲート128の出力ライン130はラ
ッチ132のセット入力端子に接続される。ORゲート
128は入力ライン82,86,114,108に接続
されて許可信号を受け、ラッチ132を、メモリ30の
アクセスがプロセッサまたはMCバスに対し許可された
ときセットする。セットされると、ライン136上のM
EMORY  BUSY信号はアービタ50を再び使用
しうることを示すためにメモリアービタにより使用しう
る。ライン136はインバータ137に接続され、これ
がライン136が不活性のときライン81上にARB 
 CYC信号を発生する。ラッチ132のリセットライ
ンはライン134に接続されてメモリ30がアクセスま
たはメモリサイクルを完了したときそのメモリからME
MORY  CYCLE  COMPLETE信号を受
ける。
【0024】メモリコントローラ14(図1)はメモリ
コントローラ26と同様に構成され動作する。メモリコ
ントローラ33はそれがシングルポートコントローラで
あって、メモリ調整またはロック機能を含む必要がない
から、より簡単である。コントローラ33へのアクセス
はMCバスの調整により決定される。コントローラ14
と26は一般に次のように動作する。すなわち、ロック
セマフォー動作は局所プロセッサからの、LOCK信号
とセマフォーアドレスを含む要求により開始される。そ
のアドレスにより、この要求は局所メモリのアクセスの
ためメモリアービタにあるいはMCバスと遠隔メモリの
アクセスのために局所アービタに向けられる。後者のた
めにはLOCK信号はMCバスの使用許可によりBUR
ST信号に変換される。メモリアービタは局所プロセッ
サとMCバスの両方からの要求を受け、要求順にアクセ
スを許可する。第1ロックセマフォー要求の進行中に第
2ロックセマフォー要求が入ると、第2要求は第1ロッ
クセマフォー動作の完了まで遅延または阻止される。第
1要求がMCバスからであれば局所プロセッサはロック
セマフォー動作の読取サイクルと書込サイクル間の非ロ
ックアクセスについて局所メモリをアクセスしうる。
【0025】図5はプロセッサ22(P22)がセマフ
ォー動作のバス読取サイクルと書込サイクルの間で非ロ
ックメモリ30のアクセスを行う間にメモリ30のセマ
フォーについてプロセッサ10(P10)によりMCバ
ス20を介して行われるロック動作を示す。かくしてL
OCK信号は図5では不活性である。まず、プロセッサ
10がロック動作についてバス20の使用を要求してお
り、そのバスの使用を許可されたと仮定する。従って、
CHRDYは図5全体において活性に駆動される。BU
RSTはバスの許可後、立上り150において活性に駆
動されて書込サイクル中立下り152で不活性とされて
バスが他のリクエスタに許可されるようになるまで活性
のままである。セマフォーのアドレスは期間154にお
いてこのバスに置かれそして読取サイクルが期間156
においてバス20のSTATUSラインにより開始され
る。CHRDYは図5に示す動作について活性に駆動さ
れる。アドレスされたセマフォーは期間158でバス2
0に読込まれ、MCデータバス上でデータが有効となる
ときを限定するために使用される−CMD信号が、その
立上り160によりバスからセマフォーが読取られ、あ
るいはラッチされ、プロセッサ10により解釈されうる
ように駆動される。アドレスが有効になったとき期間1
54のはじめと立上り160との間に終了する時間はM
Cバス20のアーキテクチャに従って最少で200ns
である。P10による書込サイクル中にセマフォーのア
ドレスは期間162においてバス20に置かれ、期間1
64で書込サイクルが開始される。セマフォーデータは
期間166でプロセッサ10によりバス20に置かれ、
−CMD信号の立上り168でメモリに書込まれる。ア
ドレスが有効になったときの期間162のはじめと立上
り168との間で終了する時間もMCバス20のアーキ
テクチャにより最少200nsである。
【0026】現在のマイクロプロセッサが高速メモリを
アクセスしうる速度は50nsから80nsの範囲であ
り、これはMCバス20が動作しうる最少時間200n
sよりかなり短い。このように、P10によりバス読取
サイクルが完了したならばプロセッサ22は期間170
でメモリ30をアクセスしうる。このアクセスは非同期
でCMDの立上り160の生じる前に生じる。言い換え
ると、プロセッサのアクセスタイムはバスの書込サイク
ルよりからなり高速であるから、プロセッサがメモリを
アクセスしうる時間がバス書込サイクルのはじめ存在し
、それにより両動作を生じうるようにさせることにより
性能上の利点が得られる。
【0027】これらの動作中、メモリコントローラ26
は次のように作用する。期間154でセマフォーアドレ
スが有効になり、読取サイクルが156で開始した後、
C/S46が立上り220においてアービタ50にMC
  COMP信号を送る。不活性のLOCK信号と共に
BURST信号とARB  CYC信号がライン72,
81に夫々存在する(それ故PU  LOCK信号もP
UL  REQ  G信号も不活性)と、立上り222
でMC  L  REQ  G信号が活性となり、MC
  LOCK  IN  PROGRESS信号が次の
メモリクロック信号(図示せず)で活性となる。MC 
 L  REQ  G信号は更に立上り226でMEM
ORY  BUSY信号を活性化する。後述するように
この信号はプロセッサ22のロック要求の許可を予め排
除するが非ロックメモリアクセスの発生を妨害するもの
ではない。
【0028】プロセッサ22は、メモリ30が立下り2
28においてビジーでない間にバス224Aにアドレス
を置くことによりメモリ30のアクセスをスタートし、
立上り230でPU  COMPを活性にしそれにより
不活性のLOCK信号によって232でPU  REQ
  G信号を活性化する。それにより、読取サイクルが
期間170で生じる。その後、P10バス書込みサイク
ルが行われる。MC  COMP信号は立上り236で
活性となり、そして立下り238でのMEMORY  
BUSYの不活性化によりMC  L  REQ  G
信号が立上り240で再び活性化される。
【0029】図6はMCバス20を介してP10により
セマフォー動作がメモリ30で行われるとき生じる事象
を示す。バスセマフォー動作は、プロセッサ22がロッ
ク動作について介在アクセスの許可を与えられないこと
を除き図5で述べたように行われる。P22はP10が
BURST信号を出した直後に立上り172でLOCK
信号を活性化する。MC  LOCK  IN  PR
OGRESS信号は図5と同じに活性化される。P22
がセマフォーのアドレスを送出すると、C/S44はそ
のアドレスがメモリ30にあることを確認して立上り2
44でPUCOMP信号を活性化する。次にメモリアー
ビタ50は図3のロジックに従って期間174でNOT
  READY  TO  PU信号を活性化する。書
込サイクルSTATUSの完了により、MC  LOC
K  IN  PROGRESS信号が立下り246で
不活性化され、立上り248でPU  L  REQ 
 G信号を活性化する。PU  LOCK  IN  
PROGRESS信号は立上り250で活性となり、P
22は期間176でメモリ30から読取ることによりそ
のロックまたはセマフォー動作を開始することが出来る
【0030】図7はメモリ30内のセマフォーでP22
により行われるセマフォー動作、および同じメモリに他
のセマフォー動作についての次の要求がMCバス20を
介してなされたときに生じる事象を示す。期間180に
おいて、PU  LOCK  IN  PROGRES
S信号がメモリアービタ50により活性化され、読取サ
イクル182に続く書込サイクル184の完了までその
まま維持される。BURST信号は期間188において
セマフォーアドレスがMCバス20に置かれる前に立上
り186で活性とされる。読取サイクルは期間190で
はじまる。しかしながら、PU  LOCK  IN 
 PROGRESS信号により、NOT  RDY  
TO  MC信号は、プロセッサセマフォー動作の終了
で終了する期間194において立下り192で活性化さ
れる。これにより、−CMD信号は立上り196まで「
低」とされ、その後アドレスされたセマフォーが期間1
98でバス20に置かれてMC要求のセマフォー動作の
接続を可能にする。
【0031】要約すると、本発明は次の点で新規なもの
である。または、MCバスのBURSTラインが二つの
機能、すなわち、通常のバーストI/O転送およびセマ
フォーロック動作、について用いられる。これはプロセ
ッサからのLOCK信号をBURST信号に変換するこ
とも含んでいる。次に、結果として生じるロックBUR
ST信号はセマフォー動作の読取サイクルと書込サイク
ルの間の非ロック動作についての同時要求を許しつつ他
のロックまたはセマフォー動作についての同時要求を排
除するために用いられる。
【0032】
【発明の効果】本発明によれば、MCバスを含む新規な
多重データ処理装置を提供すると共にMCバス上のBU
RST信号ラインを用いてロックラインを付加すること
なくロックセマフォー機能を与えることができる。
【0033】さらに、MCバスを有する多重プロセッサ
システムにおいて用いることの可能な新規なメモリコン
トローラを提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施例によるデータ処理装置のブロ
ック図。
【図2】図1の装置の一部の詳細ブロック図。
【図3】図2のメモリアービタの詳細ブロック図。
【図4】セマフォーインプログレス状態およびメモリビ
ジー状態で用いられる信号を示すロジック図。
【図5】バスセマフォー動作とプロセッサ非セマフォー
アクセスを示すタイミングチャート。
【図6】セマフォーバス動作とプロセッサセマフォー要
求を示すタイミングチャート。
【図7】他のプロセッサセマフォー動作とバスセマフォ
ー要求を示すタイミングチャート。
【符号の説明】
10  プロセッサ 12  システムバス 14  メモリコントローラ 16  メモリバス 18  メモリ 20  MCバス 22  プロセッサ 24  システムバス 26  デュアルポートメモリコントローラ28  メ
モリバス 30  メモリ 32  メモリ 33  メモリコントローラ 34  プロセッサ 35  バース 37  チャンネルインターフェースユニット39  
システムバス 44,46  比較/同期装置(C/S)50  メモ
リアービタ 60  局所アービタ 66  インバータ

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】遠隔メモリ、このメモリへのアクセスを制
    御する遠隔メモリコントローラ、局所プロセッサ、この
    局所プロセッサと遠隔メモリコントローラの間に接続さ
    れたMCバス、および上記プロセッサによる上記バスの
    使用を調整すると共に、このプロセッサへの上記バスの
    使用の許可を示すために上記バスと局所プロセッサに接
    続された局所アービタ、を有し、上記遠隔メモリが所定
    のアドレスで遠隔セマフォーを記憶し、上記局所プロセ
    ッサがLOCK信号と上記遠隔セマフォーの上記アドレ
    スを出すことにより遠隔ロックセマフォー動作を開始さ
    せるように動作すると共に上記バスの使用許可によりま
    ず上記遠隔メモリから上記遠隔セマフォーを読出し、上
    記遠隔メモリにその遠隔セマフォーを書込むことにより
    上記セマフォー動作を完了するように動作し、上記バス
    はアドレスラインとバーストI/Oデータ転送を制御す
    るためのBURSTラインを有している、データ処理シ
    ステムにおいて、上記LOCK信号と上記バスの使用を
    許可された上記プロセッサに応答して活性BURST信
    号を上記BURSTラインに、そして上記遠隔セマフォ
    ーのアドレスを上記バスアドレスラインにそれぞれ駆動
    し、さらに上記バスを介して遠隔ロックセマフォー動作
    を開始させるための第1ロジック手段を備えたことを特
    徴とするデータ処理装置。
  2. 【請求項2】前記遠隔メモリコントローラは、前記BU
    RST信号ラインに接続され、前記第1ロジック手段か
    らの前記活性BURST信号および前記遠隔セマフォー
    の前記アドレスに応答して前記局所プロセッサの、前記
    遠隔ロックセマフォー動作中の前記遠隔セマフォーメモ
    リの読取および書込を調整して許可するメモリアービタ
    を含んでいる請求項1に記載のデータ処理装置。
  3. 【請求項3】前記メモリアービタに接続され、活性状態
    および不活性状態を有するLOCK信号を選択的に発生
    するように動作しうる遠隔プロセッサを更に備え、上記
    メモリアービタは上記遠隔プロセッサからの上記LOC
    K信号の上記不活性状態に応答して前記遠隔ロックセマ
    フォー動作の読取サイクルと書込サイクルの間で前記遠
    隔メモリへの非ロックアクセスを許可するように動作す
    る請求項2に記載のデータ処理装置。
  4. 【請求項4】前記メモリアービタは前記遠隔プロセッサ
    からの前記LOCK信号の前記活性状態に応答して前記
    遠隔ロックセマフォー動作が進行中のとき上記遠隔プロ
    セッサによる前記遠隔メモリへの局所ロックセマフォー
    アクセスを阻止するように動作しうる、請求項3に記載
    のデータ処理装置。
  5. 【請求項5】前記局所ロックセマフォーアクセスが阻止
    されている間に前記遠隔プロセッサを待機させ、上記遠
    隔ロックセマフォー動作の完了により上記遠隔プロセッ
    サが上記遠隔セマフォーへの局所ロックセマフォーアク
    セスを完了しうるように動作可能な第2ロジック手段を
    更に備えた請求項4に記載のデータ処理装置。
  6. 【請求項6】指定されたアドレスに局所セマフォーを記
    憶するための局所メモリと、前記局所メモリコントロー
    ラを内部に含み、前記局所プロセッサに接続された1個
    のポートおよび前記MCバスに接続された1個のポート
    からなるデュアルポートを有し、上記局所メモリへのア
    クセスを制御する局所メモリコントローラとを更に備え
    、前記遠隔プロセッサはLOCK信号と上記第2セマフ
    ォーのアドレスを発生し上記局所セマフォーについての
    遠隔ロックセマフォー動作を開始するように選択的に動
    作可能であり、前記遠隔メモリコントローラは上記遠隔
    プロセッサからのLOCK信号と上記局所セマフォーの
    アドレスとに応じて前記MCバス上の活性BURST信
    号を駆動し、上記局所セマフォーの上記アドレスを上記
    局所メモリコントローラに送出する第2ロジック手段を
    含んでおり、前記局所メモリコントローラは上記局所セ
    マフォーについてのロックセマフォー動作のために上記
    局所メモリへの上記遠隔プロセッサによるアクセスを許
    可するように動作しうる調整手段を含んでいる、請求項
    1に記載のデータ処理装置。
  7. 【請求項7】前記局所プロセッサに接続され、前記遠隔
    セマフォーの前記アドレスに関連してそこからの前記L
    OCK信号の受信に応答して前記MCバスの使用を前記
    局所アービタに要求し、そのMCバスの使用許可により
    BUS  WON信号を発生してそれを前記第1ロジッ
    ク手段に送出する要求手段を更に備え、上記第1ロジッ
    ク手段がこのBUS  WON信号に応答して上記LO
    CK信号を前記BURST信号に変換する、請求項1に
    記載のデータ処理システム。
  8. 【請求項8】第1アドレスに第1セマフォーを記憶する
    ための局所メモリと、BURST信号とADDRESS
    信号を夫々送出するためのバースト信号ラインおよびア
    ドレスラインを含むMCバスと、このMCバスに接続さ
    れて第2アドレスに第2セマフォーを記憶するための遠
    隔メモリと、上記第1および第2セマフォーによりロッ
    クセマフォー動作の、上記セマフォーの内の1個のLO
    CKおよびADDRESS信号を夫々含む要求を選択的
    に送出するプロセッサを含むメモリコントローラであっ
    て、上記プロセッサ、上記MCバスおよび上記メモリに
    接続されるように設けられた複数の信号ラインと、上記
    信号ラインに接続されて、上記第1アドレスを含む上記
    プロセッサからのロックセマフォー要求に応答して上記
    第1セマフォーによりロックセマフォー動作のための上
    記メモリへのアクセスを許可するアクセス制御手段と、
    上記プロセッサからの上記遠隔セマフォーをアクセスす
    るためのロックセマフォー要求に応答して夫々のそのよ
    うな要求の上記LOCK信号を上記MCバスでの伝送用
    のBURST信号に変換するように動作しうるロジック
    手段と、を備えているメモリコントローラ。
  9. 【請求項9】前記データ処理装置は前記MCバスに接続
    された遠隔リクエスタを含み、このリエクスタはそこか
    らの、BURST信号と前記第1アドレスを含むロック
    セマフォー要求を前記メモリコントローラに送るように
    動作し、前記アクセス制御手段は上記プロセッサおよび
    上記MCバスからのロックセマフォーアクセス要求を受
    けて、上記局所メモリへのアクセスを許可されるのがど
    のリクエスタであるかを決定するメモリアービタを形成
    している請求項8に記載のメモリコントローラ。
  10. 【請求項10】前記メモリアービタは、第1ロックセマ
    フォー動作の進行中に前記局所メモリへの第2ロックセ
    マフォーアクセスの第2要求を受けたことに応答して上
    記第1ロックセマフォー動作が完了するまで上記第2要
    求への許可アクセスを遅らせるように動作可能である、
    請求項9に記載のメモリコントローラ。
  11. 【請求項11】前記メモリアービタは前記MCバスを介
    して要求された前のロックセマフォー動作が進行中であ
    るとき前記プロセッサからの非ロック要求の受信に応答
    して前記前のロックセマフォー動作の読取および書込サ
    イクル間でそのような非ロック要求のための前記局所メ
    モリへのアクセスを許可するように動作可能である、請
    求項9に記載のメモリコントローラ。
  12. 【請求項12】前記プロセッサから前記遠隔セマフォー
    のアクセス要求を受けて上記プロセッサにより前記MC
    バスの使用を要求するための局所アービタを更に備え、
    この局所アービタは上記MCバスの使用許可によりBU
    S  WON信号を送出してそれを前記ロジック手段に
    送るように動作し、上記ロジック手段は上記BUS  
    WON信号の受信により前記LOCK信号を前記BUR
    ST信号に変換するように動作可能である、請求項9に
    記載のメモリコントローラ。
  13. 【請求項13】前記局所メモリは前記第1アドレスを含
    むアドレス範囲にわたり連続した多数のアドレス可能な
    位置を有しており、前記メモリコントローラは、前記信
    号ラインに接続されて前記プロセッサからの各セマフォ
    ーアドレスを上記範囲と比較し、そのようなセマフォー
    アドレスが上記範囲内であるか範囲外であるかにより前
    記アクセス制御手段または前記局所アービタに要求を向
    けるためのアドレス比較手段を更に含んでいる、請求項
    12に記載のメモリコントローラ。
JP3282051A 1990-12-28 1991-10-02 デ―タ処理装置およびメモリコントロ―ラ Expired - Lifetime JP2510799B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/635,896 US5293491A (en) 1990-12-28 1990-12-28 Data processing system and memory controller for lock semaphore operations
US635896 1990-12-28

Publications (2)

Publication Number Publication Date
JPH04268938A true JPH04268938A (ja) 1992-09-24
JP2510799B2 JP2510799B2 (ja) 1996-06-26

Family

ID=24549559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3282051A Expired - Lifetime JP2510799B2 (ja) 1990-12-28 1991-10-02 デ―タ処理装置およびメモリコントロ―ラ

Country Status (3)

Country Link
US (1) US5293491A (ja)
EP (1) EP0492817A3 (ja)
JP (1) JP2510799B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285872A (ja) * 2005-04-04 2006-10-19 Canon Inc マルチcpuシステム

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3612652B2 (ja) * 1992-06-18 2005-01-19 インターナシヨナル・ビジネス・マシーンズ・コーポレイシヨン ローカル・コンピュータ上で実行されるローカル・タスクによってリモート・コンピュータ上のリモート・タスクを実行する方法
US5699540A (en) * 1992-11-16 1997-12-16 Intel Corporation Pseudo-concurrent access to a cached shared resource
US5598579A (en) * 1994-04-25 1997-01-28 Compaq Computer Corporation System fpr transferring data between two buses using control registers writable by host processor connected to system bus and local processor coupled to local bus
US5613139A (en) * 1994-05-11 1997-03-18 International Business Machines Corporation Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message
AU3143395A (en) * 1994-07-21 1996-02-22 Apple Computer, Inc. Method for semaphore communication between incompatible bus locking architectures
US5787486A (en) * 1995-12-15 1998-07-28 International Business Machines Corporation Bus protocol for locked cycle cache hit
US5872980A (en) * 1996-01-25 1999-02-16 International Business Machines Corporation Semaphore access control buffer and method for accelerated semaphore operations
US5721871A (en) * 1996-02-09 1998-02-24 Motorola, Inc. Memory system ensuring coherency for memory buffers in a data communication system
US6128689A (en) * 1997-04-14 2000-10-03 Hms Fieldbus Systems Ab System for exchanging data through data memory area of common memory in synchronous and asynchronous modes
US6032232A (en) * 1997-05-29 2000-02-29 3Com Corporation Multiported memory access system with arbitration and a source burst limiter for blocking a memory access request
US7007130B1 (en) 1998-02-13 2006-02-28 Intel Corporation Memory system including a memory module having a memory module controller interfacing between a system memory controller and memory devices of the memory module
EP1036362B1 (en) * 1997-12-05 2006-11-15 Intel Corporation Memory system including a memory module having a memory module controller
US6970968B1 (en) 1998-02-13 2005-11-29 Intel Corporation Memory module controller for providing an interface between a system memory controller and a plurality of memory devices on a memory module
US6968419B1 (en) 1998-02-13 2005-11-22 Intel Corporation Memory module having a memory module controller controlling memory transactions for a plurality of memory devices
US6453375B1 (en) * 1999-03-23 2002-09-17 Intel Corporation Method and apparatus for obtaining coherent accesses with posted writes from multiple software drivers
US7124224B2 (en) * 2000-12-22 2006-10-17 Intel Corporation Method and apparatus for shared resource management in a multiprocessing system
US7174552B2 (en) * 2002-01-12 2007-02-06 Intel Corporation Method of accessing a resource by a process based on a semaphore of another process
US7139881B2 (en) * 2003-09-25 2006-11-21 International Business Machines Corporation Semiconductor device comprising a plurality of memory structures
US7171508B2 (en) * 2004-08-23 2007-01-30 Micron Technology, Inc. Dual port memory with asymmetric inputs and outputs, device, system and method
US20060075164A1 (en) * 2004-09-22 2006-04-06 Ooi Eng H Method and apparatus for using advanced host controller interface to transfer data
US7675790B1 (en) * 2005-09-30 2010-03-09 Integrated Device Technology, Inc. Over driving pin function selection method and circuit
US9615049B2 (en) * 2008-04-10 2017-04-04 Imagine Communications Corp. Video multiviewer system providing direct video data transfer to graphics processing unit (GPU) memory and related methods
US11288070B2 (en) 2019-11-04 2022-03-29 International Business Machines Corporation Optimization of low-level memory operations in a NUMA environment

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253421A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4574350A (en) * 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US4644496A (en) * 1983-01-11 1987-02-17 Iowa State University Research Foundation, Inc. Apparatus, methods, and systems for computer information transfer
CA1239227A (en) * 1984-10-17 1988-07-12 Randy D. Pfeifer Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system
US4718002A (en) * 1985-06-05 1988-01-05 Tandem Computers Incorporated Method for multiprocessor communications
US4754398A (en) * 1985-06-28 1988-06-28 Cray Research, Inc. System for multiprocessor communication using local and common semaphore and information registers
US5179665A (en) * 1987-06-24 1993-01-12 Westinghouse Electric Corp. Microprocessor information exchange with updating of messages by asynchronous processors using assigned and/or available buffers in dual port memory
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
US5050072A (en) * 1988-06-17 1991-09-17 Modular Computer Systems, Inc. Semaphore memory to reduce common bus contention to global memory with localized semaphores in a multiprocessor system
US5142676A (en) * 1988-12-28 1992-08-25 Gte Laboratories Incorporated Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory
US5163143A (en) * 1990-11-03 1992-11-10 Compaq Computer Corporation Enhanced locked bus cycle control in a cache memory computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006285872A (ja) * 2005-04-04 2006-10-19 Canon Inc マルチcpuシステム

Also Published As

Publication number Publication date
US5293491A (en) 1994-03-08
EP0492817A2 (en) 1992-07-01
EP0492817A3 (en) 1992-12-09
JP2510799B2 (ja) 1996-06-26

Similar Documents

Publication Publication Date Title
JP2510799B2 (ja) デ―タ処理装置およびメモリコントロ―ラ
CA2050129C (en) Dynamic bus arbitration with grant sharing each cycle
US4257095A (en) System bus arbitration, circuitry and methodology
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
JPS5878246A (ja) アクセス調整装置及び方法
JPH0218657A (ja) 複数バス・マイクロコンピユータ・システム
JP3084218B2 (ja) 通信方法及び同期通信システム
US5717873A (en) Deadlock avoidance mechanism and method for multiple bus topology
US6275890B1 (en) Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration
KR100915260B1 (ko) 오토믹 세마포어 연산을 수행하기 위한 방법 및 장치
US6323755B1 (en) Dynamic bus locking in a cross bar switch
JPH10143467A (ja) データ処理システムにおいてバス所有権を調停するための方法および装置
US6532507B1 (en) Digital signal processor and method for prioritized access by multiple core processors to shared device
US6504854B1 (en) Multiple frequency communications
US5353414A (en) Bus lock control apparatus capable of controlling without stopping bus arbiters
JPS61166647A (ja) マイクロプロセツサ装置およびアドレス可能なメモリから情報を読出すためのアクセス方法
JP3240863B2 (ja) 調停回路
JPS6015763A (ja) インタ−フエ−ス制御装置
JP2848082B2 (ja) Dmaバス調停方式
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법
JPH04545A (ja) 通信制御回路
KR19990058860A (ko) 인터럽트를 이용한 1:엔 프로세서간의 시분할 디피램통신 방법
JPH02176957A (ja) マイクロコンピュータ装置
JPH0142017B2 (ja)
JPH0575140B2 (ja)