JPS6134182B2 - - Google Patents

Info

Publication number
JPS6134182B2
JPS6134182B2 JP58064647A JP6464783A JPS6134182B2 JP S6134182 B2 JPS6134182 B2 JP S6134182B2 JP 58064647 A JP58064647 A JP 58064647A JP 6464783 A JP6464783 A JP 6464783A JP S6134182 B2 JPS6134182 B2 JP S6134182B2
Authority
JP
Japan
Prior art keywords
memory
processor
processors
control
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
JP58064647A
Other languages
English (en)
Other versions
JPS58222363A (ja
Inventor
Resutaa Tenpuru Saado Josefu
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 JPS58222363A publication Critical patent/JPS58222363A/ja
Publication of JPS6134182B2 publication Critical patent/JPS6134182B2/ja
Granted 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/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
    • G06F13/1663Access to shared memory

Landscapes

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

Description

【発明の詳細な説明】 〔本発明の分野〕 本発明は、2個のプロセツサがメイン・メモリ
を共用するデータ処理システムに関する。更に具
体的には、本発明はメモリ・サイクルを各プロセ
ツサの割振る回路に関する。
〔緒言〕
メモリ・サイクルを2個の異つたプロセツサへ
割振る回路は周知である。しかし、本発明と特に
関係のある機能及び用語を考察しておくことが、
本発明を理解する助けとなろう。機能のあるもの
は、単一プロセツサ・システムを用いて説明する
ことができる。単一プロセツサ・システムにおい
て、データ母線はメモリのレジスタをプロセツサ
内のレジスタと接続し、アドレス母線は、プロセ
ツサ内のレジスタからアドレスを受取ため、メモ
リ中のメモリ・アドレス処理装置へ接続される。
更に制御母線が設けられ、プロセツサはそれを利
用してメモリへ選択信号を送り、メモリ・サイク
ルを開始する。メモリは制御母を使用して、プロ
セツサへ状況信号を送つてよい。状況信号として
は、例えばメモリが使用中であるとか、データ母
線の上に有効なデータが存在するとかを知らせる
信号がある。
更にプロセツサは、制御ワード(マイクロ・ワ
ードとも呼ばれる)をアクセスされる制御メモリ
(又は同等の順次論理回路)と共に動作する。制
御ワードは、プロセツサのゲートを特定の状態へ
セツトするビツト・パターンを含む。これら制御
ワードのシーケンスは、例えば、メイン・メモリ
からデータ・ワードを取出す動作の場合の様に、
その動作についてプロセツサのゲートを一連の状
態へ進行せしめる。プロセツサが命令をデコード
する時、それは命令の動作コードをアドレスとし
て使用し、その命令について制御プログラム・ル
ーチンの中にある最初の制御ワードを求めて、制
御メモリの適当なロケーシヨンにアクセスする。
1つの命令に対する制御プログラム・ルーチンの
終りに、プロセツサは、メイン・メモリから次の
命令を取出す制御プログラム・ルーチンを求め
て、制御メモリ内のロケーシヨンへブランチす
る。更に、制御ワードは、制御プログラム内のブ
ランチを可能にする為、状況ビツトと連合されて
いる。
メイン・メモリのサイクル・タイムは、制御メ
モリのサイクル・タイムよりも長く、制御メモ
リ・サイクルの整数倍である。例えば、本明細書
においては、2倍の時間と仮定している。この場
合、あるプロセツサ命令は3またはそれよりも少
ないサイクルで実行され、またあるプロセツサ命
令は何倍かのサイクルを必要とする。従つて、一
連のメモリ・アクセスにおいて、メモリは、プロ
セツサのクロツク・サイクルにおいて、プロセツ
サがメモリ選択信号を上昇させた時の対応する時
点にある次のメモリ・サイクルから始めて、プロ
セツサと同期して作動する。2個のプロセツサが
メモリを共用する時、各プロセツサは、メモリ・
アクセス命令と演算論理機構命令とを交互に実行
し、各プロセツサのメモリ動作は、他のプロセツ
サの演算論理動作に対する時間へはめこまれるこ
とができる。
〔先行技術〕
多重プロセツサ・システムにおいて、メモリ・
アドレス母線およびメモリ・データ母線は、これ
らの母線をプロセツサの1つへ接続するゲートを
有し、かつ1つのメモリ・サイクル時間にただ1
個のプロセツサがメモリ母線へ接続されるように
する割振回路が設けられている。メモリ割振回路
はラツチを有し、このラツチは、1つのプロセツ
サの母線にあるゲートを能動化する為にセツトさ
れ、他のプロセツサのゲートを能動化するために
リセツトされる。メモリの制御がプロセツサの間
で切替えられるべき時、常にラツチが切替えられ
る。
メモリ割振回路が使用される場合、2個のプロ
セツサはメモリの交互のサイクルを割当てられる
もしプロセツサが注意深く同期化されていれば、
1つのプロセツサから他のプロセツサへメモリ制
御を切替える場合に遅延を生じることなく、プロ
セツサはメモリにアクセスすることができる。本
発明の目的は、2個のプロセツサが正確に同期し
ていない場合でも、良好に働く改善されたメモリ
割振回路を提供することである。このような回路
は、近似的にのみ同じ周波数である別個のクロツ
クを有する2個のプロセツサを含むシステムで重
要な意味をもつ。更に、このような回路は、2個
のプロセツサが別個のボード上に載せられ、それ
らプロセツサが比較的長いケーブルによつて相互
に接続されているため、クロツク信号の伝播に遅
延を生じ、よつてクロツク信号に顕著なスキユー
を生じるシステムの場合に重要な意味をもつ。。
更に、上記の回路は一般的に多重プロセツサ・シ
ステムで重要な意味をもつ。なぜならば、回路が
高速に作られれば、それだけ2つのプロセツサの
同期を維持するのが困難になるからである。
切替時間を減少させる1つの方法として、メモ
リへのアクセスを要求するプロセツサが、他のプ
ロセツサによつて、最後のメモリ・サイクルが終
る少し前に信号を送られ、よつてアクセスを要求
するプロセツサができるだけ早くその選択信号を
上昇させることができるようにする方法が知られ
ている。
〔本発明の要約〕
2つのプロセツサの結合された動作の場合、そ
れらのプロセツサ「A」及び「B」と呼ぶのが便
宜である。その場合、プロセツサAまたはプロセ
ツサBがメモリへのアクセスを有するものとして
指定されるか、これら双方がメモリへのアクセス
を有しないものとされる。もつと一般的にいえ
ば、2つのプロセツサは「要求プロセツサ」及び
「制御プロセツサ」(または「解放プロセツサ」)
を呼ばれる。メモリ・アクセスへの要求が要求プ
ロセツサによつてなされ、かつメモリの解放が制
御プロセツサによつて許容された後にのみ、1つ
のプロセツサから他のプロセツサへメモリを切替
える様に回路が動作する。制御プロセツサは、そ
れが非メモリ動作に対するデコードするまで、メ
モリを解放しないようにする事が望ましい。回路
は、2つの手順の1つによつて、メモリ制御の移
送を実行する。1つの手順では、プロセツサがメ
モリ・アクセスを必要とする命令をデコードした
時、またはプロセツサがその制御プログラム中で
命令取出制御ワードへブランチした時、プロセツ
サはメモリ・アクセスの要求を送信する。第二の
手順において、メモリ・アクセス要求は、解放信
号手順の1部として自動的になされる。2つの手
順は、解放プロセツサの制御プログラムによつて
限定される。制御プログラム・ルーチンは、「コ
ード遊び」及び「コード解放」と呼ばれる2つの
ビツトでコード化される。論理関数「コード遊
び」+「コード解放」=0は、通常のメモリ要求を
定義する。このメモリ要求は、制御メモリ内の単
一のビツトによつてコード化されてもよい。「コ
ード遊び」は、後続するメモリ・アクセスが、あ
る不定数のメモリ・サイクルの間(おそらくは長
時間)、要求されないことを意味する。「コード解
放」は、後続するメモリ・アクセスが1つのメモ
リ・サイクル程度の時間内で要求される可能性が
あることを意味する。
「コード遊び」の例は、2つのレジスタの内容
を乗算する命令の中にある。この動作はメモリ・
アクセスを必要としない。なぜならば、プロセツ
サのレジスタは既にメイン・メモリからのオペラ
ンドをロードされているからである。更に、乗算
動作は一連の加算及びシフトとして実行され、典
型的には比較的多数のプロセツサ・サイクルを必
要とする。乗算動作に要する時間は十分に長いの
で、他のプロセツサはメモリにアクセスし、オペ
ランドを処理し、再びメモリにアクセスするよう
に動作することができる。このような場合、他の
プロセツサが実際にメモリへアクセスを実行して
いない間でも、他のプロセツサにメモリの制御を
保持させるのが有利である。
「コード解放」の例は、命令を取出す制御プロ
グラム・ルーチンの中にある。取出されつつある
命令は、前述した例の乗算命令であつてもよい。
その場合、現在のメモリ・アクセスは、いくつか
のサイクルの間にプロセツサによる最後のアクセ
スとなる。しかし、それがオペランドを取出すた
めの他のメモリ・アクセスである可能性がある。
この例における命令取出しの間に、メモリを制御
しているプロセツサは他のプロセツサへ「コード
解放」信号を送り(もし他のプロセツサがメモ
リ・アクセスの要求を送信したので、あれば)、
次いで解放プロセツサは、直ちにメモリ・アクセ
スの要求を送信する。もし他のプロセツサが1つ
だけのメモリ・サイクルを必要とすれば、メモリ
の制御はできるだけ早く戻される。もし次の命令
が実際には「コード遊び」ビツトを有するもので
あれば、上記の自動的要求をキヤンセルする手段
が設けられている。
本明細書で説明する回路において、各プロセツ
サは制御ラツチと呼ばれるランチを有している。
このラツチは、メモリの制御をラツチと関連した
プロセツサへ与えるためセツトされ、またメモリ
の制御を他のプロセツサへ与えるためのリセツト
される。従つて、これら2つのラツチは、先行技
術において単一のラツチによつて与えられる通常
の制御機能を与える。更に、各プロセツサは要求
ラツチと呼ばれるラツチを有している。このラツ
チは、他のプロセツサがメモリへのアクセスを要
求していることを知らせるため、他のプロセツサ
によつてセツトされる。解放プロセツサにおける
このラツチは、要求プロセツサがメモリへのアク
セスを得た時にセツトされる。更に、各プロセツ
サは解放ラツチと呼ばれるラツチを有している。
このラツチは、制御メモリの「コード遊び」ビツ
ト及び要求ラツチのセツト状態に応答して、不定
数のメモリ・サイクルの間メモリの制御を他のプ
ロセツサへ切替えるためにセツトされる。更に、
各プロセツサはタイミング手段をゲートする手段
を含む。この手段は、「コード解放」ビツトに応
答して、他のプロセツサの制御ラツチをセツト
し、次いで要求ラツチをセツトして、メモリ制御
が次のサイクルで戻されるようにする。
〔第1図の説明〕 第1図はメイン・メモリを共用する2個のプロ
セツサ(プロセツサA及びプロセツサB)を示
す。ゲート回路は、メモリのデータ母線、アドレ
ス母線、制御母線をプロセツサの対応する母線へ
選択的に接続する。メモリ割振回路は、プロセツ
サからメモリ要求信号を受取り、プロセツサの選
択された1つへメモリ・アクセスを与えるため、
ゲート回路を制御する。更に、メモリ割振回路
は、メモリ・サイクルを開始するため、制御母線
を介してメモリへ選択信号を送る。これらの構成
要素及び相互接続は通常のものであり、本発明に
対して多様なアプリケーシヨンが可能であること
を示すものである。更に第1図には、「コード解
放」信号と、「コード遊び」信号が示される。こ
れらの信号はプロセツサの制御メモリの中で生成
される。更に第1図にはタイミング信号が示され
る。この信号は各プロセツサによつて形成され、
メモリ割振回路の構成要素によつて使用される。
〔第2図の説明〕 第2図は、メモリ割振回路に含まれる構成要素
の相互接続及び回路内の情報の流れを示す図であ
る。中断された線は、第2図と第3図の関係を示
す。メモリ割振回路は、プロセツサA及びBにつ
いて、それぞれ別個の同じような回路として構成
される。プロセツサAに対する回路は第2図の上
部に示され、プロセツサBに対する回路は第2図
の下部に示される。「A」及び「B」はプロセツ
サAに対する構成要素であるか、プロセツサBに
対する構成要素であるかを示す。
各プロセツサは、コード解放信号及びコード遊
び信号を別個に発生する。コード解放信号は、実
行されつつある現在の命令がメモリ・アクセスを
要求していないが、その後にメモリ・アクセスを
要求する命令が続く可能性がある時、上昇レベル
(これは任意である)を有し、かつ1の論理レベ
ルを有する。コード遊び信号は、現在の命令がメ
モリ・アクセスを必要とせず、かつ約1メモリ・
サイクル内で、その後にメモリ・アクセスを要す
る命令が続く可能性がない時、1の論理レベルを
有する。「コード遊び」+「コード解放」=0の関数
は、メモリ・アクセスに対する要求である。コー
ド遊び信号及びコード解放信号は、マイクロコー
ドのビツトの1部分から与えられ、これらビツト
の値は、メモリを必要としないマイクロコード・
シーケンスの次に、メモリを必要とするマイクロ
コード・シーケンスが続く統計的頻度に基いて割
当てられる。換言すれば、もし全てのマイクロコ
ード・ルーチンがコード遊び信号によつてメモリ
制御を移すようにコード化されれば、動作は遅く
なる。なぜならば、ある命令を実行している解放
プロセツサは、そのメモリ要求信号が他のプロセ
ツサによつて処理され、かつメモリ制御が戻され
る間、待機する必要があるからである。逆に、全
の移送がコード解放信号によつて処理されるなら
ば、動作はメモリ制御の不必要な移送によつて遅
くなる。
各プロセツサは制御ラツチ4a,4bを有す
る。これらのラツチは、それがセツトされている
時、関連したプロセツサへメモリの制御を与え
る。ラツチ4aは、線1b上にある「Aへのメモ
リ解放」信号によつてセツトされ、ラツチ4bは
プロセツサAからの対答する信号によつてセツト
される。
線1aまたは1b上のメモリ解放信号が、0の
論理レベルへ下降すると、それは対応するプロセ
ツサがメモリ・アクセスを要求していることを示
す。そして、この信号はインバータ7aまたは7
b、及びANDゲート8aまたは8bを通つて、
要求ラツチ5または5bをセツトする。ラツチ5
aまたは5bのセツト状態は、他のプロセツサが
メモリ制御の移送を要求したことを示す。
解放ラツチ3aまたは3bは、関連した要求ラ
ツチのセツト状態、及び関連した制御メモリから
のコード遊び信号の同時発生に応答して、他のプ
ロセツサへメモリを解放するためにセツトされ
る。ANDゲート11aまたは11bは、解放ラ
ツチに対する入力論理を実行し、ORゲート10
aまたは10bはラツチ出力を線1aまたは1b
へカツプルする。
ORゲート10aまたは10bは、ANDゲート
9aまたは9bと協動して、移送要求及びコード
解放信号の同時発生に応答して、線1aまたは1
b上にメモリ解放信号を発生する。この信号はラ
ツチされず、線1aまたは1b上にパルスとして
現われる。
〔第3図の説明〕 第3図はプロセツサAに対するメモリ割振回路
の詳細図である。入力線、出力線、及びラツチの
機能は第2図の説明から明らかであろう。
各プロセツサはC1,C2,C3,C4と呼ば
れる4つのクロツク時間のサイクルを通して動作
する通常のクロツクを有する。ある種の動作で
は、各クロツク時間は更に半分に分割される。こ
れらの4つの時間は、1つのプロセツサ・サイク
ル(または制御メモリ・サイクル)を形成し、説
明する特定の実施においては、2つの制御メモ
リ・サイクルは、1つのメイン・メモリ・サイク
ルの長さをとる。前述したように、プロセツサが
メモリへアクセスする動作は、2つのプロセツ
サ・サイクルを必要とする。
要求ラツチ5aはD型ラツチである。このラツ
チは、クロツク入力Cの信号がアツプである時、
データ入力Dにある信号の2進値に従つてセツト
またはリセツトされる。ANDゲート11a及び
12aは、クロツク時間C4で、解放ラツチ3a
のセツトまたはリセツトを制御する。
〔コード遊び信号に関する動作(第4図)〕 第4図は、コード遊び信号(ビツト)の使用を
示す一連のタイミング波形を示す。動作の始め
に、制御ラツチ4aはメモリ制御をAへ与えるた
めセツトされる。図示されない通常の回路がラツ
チ4aのセツト状態及びクロツク(A)に応答
し、C2時間の中点で、プロセツサAはその選択
信号を上昇させて、メモリ・サイクルを開始す
る。このメモリ・サイクルは2つのプロセツサ・
サイクルの間進行し、第2の(次の)C2時間の
中点で終る。動作の始めに、プロセツサBはメモ
リを必要とせず(コード遊び信号(B)=1)、線
1bはアツプであり、要求ラツチ5aはリセツト
されている。同様に、プロセツサAはメモリを要
求し、線1aは下降している。プロセツサBはメ
モリ・アクセスの必要を生じ、次のC2時間にラ
ツチ5aをセツトするため、線1bを降下させ
る。プロセツサAのクロツク(A)及びプロセツ
サBのクロツク(B)は同期していないから、線
1bの降下は、クロツク(A)に関して任意の時
間で生じることができ、また第4図のタイミング
は恣意的なものである。更に、第4図はプロセツ
サAが次のメモリ・サイクルを解放する例を示す
が、一般的な場合、プロセツサAは、メモリを解
放する前に、いくつかのメモリ・サイクルをとり
続ける。
Aに対するメモリ・サイクルの開始点と第2の
C4時間の間に、プロセツサAはコードAはコー
ド遊び信号(A)を上昇させた命令をデコードし
ている。ANDゲート11aはコード遊び信号
(A)、C4時間、ラツチ5aの出力における要求
の同時発生を検出し、ラツチ3aをセツトする。
このセツトは、線1a上の「Bへのメモリ解放」
信号を上昇させる。更に、線1a上の信号はラツ
チ4a及び5aをリセツトするラツチ4aのリセ
ツトはプロセツサAからメモリの制御をとり、ラ
ツチ5aのリセツトは、前のリクエストの結果と
して制御がプロセツサBへ移されたので、プロセ
ツサBはメモリ制御に対する要求をしなかつたこ
とを意味する。
プロセツサBが線1b上の信号を降下した後に
メモリ制御を求せて待機している間、それはC2
タイミング・パルスの上昇と共に再開始するとこ
ろでそのクロツクを停止する。線1a上の「Bへ
のメモリ解放」信号で始まり、Aに対するメモ
リ・サイクルが終る時(C2時間の中点)までの
時間に、プロセツサBにある通常の回路はラツチ
4bのセツト状態を検出することができ、かつク
ロツク(B)を再開始するとともにメモリ制御母
線上のメモリ選択信号を上昇させることができ
る。切替えは瞬時には起らない。なぜならば、通
信している構成要素が同期していないときに生じ
るラツチの準安定状態を避けるため、ラツチ4a
または4bの出力は2つのラツチ段(図示されて
いない通常の回路)を介して伝播されるからであ
る。次いでプロセツサBは、要求がプロセツサA
によつてなされ、プロセツサBがもはやメモリを
必要しなくなるまで、1つまたはいくつかのメモ
リ・サイクルの間メモリにアクセスする。
〔コード解放信号に関する動作(第5図)〕 第5図に関する動作は、第4図の例と同じよう
に始まる。しかし、第5図の例では、「Bへのメ
モリ解放」信号はコード解放信号(A)によつて
能動化され、線1a上の信号は、クロツク(A)
のC4パルスのタイミングを有するパルスであ
る。このパルスの上昇に応答して、前の例と同じ
ように、ラツチ4bがセツトされ、ラツチ4a及
び5bはリセツトされる。しかし、パルスが降下
すると、ラツチ5bが再びセツトされる。従つ
て、プロセツサAがメモリ・アクセスを要求する
(または要求しない)命令を実際にデコードする
前に、プロセツサAによるアクセス要求が登録さ
れる。
第5図は、プロセツサBが最初のメモリ・サイ
クルの間に線1b上の解放信号を上昇させ、プロ
セツサAが次のサイクルでメモリ・アクセスを実
行する例を示す。他方、プロセツサBは解放信号
を上昇させないことによつてメモリの制御を保持
してよく、かつ/またはプロセツサAはコード遊
び信号によつて線1aの信号を上昇させ、かつラ
ツチ5をリセツトする命令をデコードしてよい。
第5図の変更例として、線1b上で「Aへのメ
モリ解放」信号が依然としてアツプである時、プ
ロセツサAの中でコード解放信号が上昇する場合
を考える。この場合、ラツチ5aは依然としてリ
セツトされており、ORゲート10aは閉じてい
る。従つて、解放パルスは第5図の場合と同じよ
うに線1a上に現われない。プロセツサAでコー
ド解放信号が上昇している場合、もしもプロセツ
サBがメモリ・アクセスを要求するならば、ラツ
チ5aがC2時間にセツトされ、ORゲート10
aが開かれて、第5図の例のように、次のC4時
間に、解放パルスがBへ送られる。
いくつかの共通の動作は、1つのメモリ・アク
セスがなされれる2つのプロセツサ・サイクル
と、それに続く2つのプロセツサ・サイクル(ま
たは非メモリ動作)と、それに続く次の命令取出
しとを含む。もしプロセツサAがそのような動作
シーケンスにあり、プロセツサBが既にメモリへ
のアクセスを要求したのであれば、第5図に示す
ような最適の状態で、プロセツサAの第3及び第
4プロセツサ・サイクルの間に、プロセツサBは
メモリへの単一のアクセスを実行してよい。もし
プロセツサBが、プロセツサAの第3プロセツ
サ・サイクルの間にメモリを要求したのであれ
ば、プロセツサBは、プロセツサAの第4プロセ
ツサ・サイクル、及びプロセツサAがメモリ・ア
クセスを待機しなければならない次のプロセツ
サ・サイクルの間に、第5図の変更例の場合に説
明したように、プロセツサBはメモリへの単一の
アクセスを実行することができる。従つて、第2
の例においては、2つのプロセツサが最適とはい
えない状態でメモリにアクセスしている時、本発
明はメモリが使用されない時間を減少させる。
〔他の実施例〕
本発明は変更された動作へ容易に適合化させる
ことができる。例えば、各プロセツサは、デー
タ・チヤンネルとして動作する通常の回路を有す
る場合がある。初期のチヤネル動作は、いくつか
のサイクル時間の間、メモリを必要としないマイ
クロコード命令シーケンスの例である。他方、デ
ータがメイン・メモリと入出力装置の間を転送さ
れる場合、1つのプロセツサはメモリを集中的に
使用する。各プロセツサに設けられた回路は、入
出力動作のためにデータ転送を指定するマイクロ
コードによつてセツトされるラツチを含む。この
ラツチがセツトされた時、線1a及び1bは、チ
ヤネル動作を実行しているプロセツサへ次のメモ
リ・サイクルを与えるために切替えられる。その
切替は、そのプロセツサがメモリを解放しなかつ
た場合でも実行される。ある種のシステムでは、
1つのプロセツサのみが入出力装置を接続され、
他のプロセツサはチヤンネル命令を実行しない。
そのような場合、1つのプロセツサのみが、メモ
リ制御において切替を生じる制御プログラム・ル
ーチンににアクセスする命令を実行するようにプ
ログラム化される。もし2つのプロセツサが入出
力装置を接続されていれば、変更された回路はメ
モリの制御をやりとりし、2つのプロセツサは交
互にメモリ・サイクルをとるという利点を有す
る。
【図面の簡単な説明】
第1図は本発明に従うメモリ割振回路及びデー
タ処理システムの他の構成要素を示すブロツク
図、第2図は2つのプロセツサのメモリ割振回路
における相互接続を示すダイヤグラム、第3図は
1つのプロセツサに対するメモリ割振回路の詳細
な論理図、第4図はコード解放信号によるプロセ
スを示すタイミング図、第5図はコード遊び信号
によるプロセスを示すタイミング図である。 3a…解放ラツチ、4a…制御ラツチ、5a…
要求ラツチ、6a,7a,13a…インバータ、
8a,9a,11a,12a…ANDゲート、1
0a…ORゲート。

Claims (1)

    【特許請求の範囲】
  1. 1 複数のプロセツサと、該複数のプロセツサに
    よつて共用されるメモリと、上記プロセツサの
    各々に対応して設けられ上記メモリへのアクセス
    を必要とする動作及び上記メモリへのアクセスを
    必要としない動作を含む複数の動作を通して対応
    するプロセツサを制御する制御手段を含む多重プ
    ロセツサ・システムにおいて、上記メモリ・サイ
    クルを上記複数のプロセツサの間で割振るため、
    上記プロセツサの各々に対応して設けられた装置
    であつて、他のプロセツサから出されたメモリ・
    アクセス要求信号を対応するプロセツサにおいて
    認識する手段と、対応するプロセツサの上記制御
    手段の中に設けられて対応するプロセツサによる
    メモリ・アクセスを必要としない動作についてそ
    の後の動作の性質に応じた第1または第2の信号
    を発生する手段と、上記第1または第2の信号の
    いずれかと他のプロセツサから出されたメモリ・
    アクセス要求信号に応答して対応するプロセツサ
    から他のプロセツサへメモリの制御を移すととも
    に、上記第1の信号に応答した場合には、後に対
    応するプロセツサからメモリ・アクセス要求信号
    を出させることによつてメモリの制御を対応する
    プロセツサへ戻し、上記第2の信号に応答した場
    合には、後に対応するプロセツサから特にメモ
    リ・アクセス要求信号を出させることなく自動的
    にメモリの制御を対応するプロセツサへ戻す手段
    とを具備する共用メモリの割振装置。
JP58064647A 1982-06-21 1983-04-14 共用メモリの割振装置 Granted JPS58222363A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/390,428 US4764865A (en) 1982-06-21 1982-06-21 Circuit for allocating memory cycles to two processors that share memory
US390428 1982-06-21

Publications (2)

Publication Number Publication Date
JPS58222363A JPS58222363A (ja) 1983-12-24
JPS6134182B2 true JPS6134182B2 (ja) 1986-08-06

Family

ID=23542417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58064647A Granted JPS58222363A (ja) 1982-06-21 1983-04-14 共用メモリの割振装置

Country Status (2)

Country Link
US (1) US4764865A (ja)
JP (1) JPS58222363A (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0731662B2 (ja) * 1986-07-15 1995-04-10 富士通株式会社 マルチプロセッサシステム
US5151986A (en) * 1987-08-27 1992-09-29 Motorola, Inc. Microcomputer with on-board chip selects and programmable bus stretching
DE68924755D1 (de) * 1988-10-31 1995-12-14 Ibm Mehrfachverarbeitungssystem und Verfahren für gemeinsame Speichernutzung.
JP3222125B2 (ja) * 1990-01-29 2001-10-22 株式会社日立製作所 システム間データベース共用方式
JP3057934B2 (ja) * 1992-10-30 2000-07-04 日本電気株式会社 共有バス調停機構
US5557783A (en) * 1994-11-04 1996-09-17 Canon Information Systems, Inc. Arbitration device for arbitrating access requests from first and second processors having different first and second clocks
US6122699A (en) * 1996-06-03 2000-09-19 Canon Kabushiki Kaisha Data processing apparatus with bus intervention means for controlling interconnection of plural busses
KR980004067A (ko) * 1996-06-25 1998-03-30 김광호 멀티프로세서 시스템의 데이터 송수신장치 및 방법
US5845130A (en) * 1996-09-11 1998-12-01 Vlsi Technology, Inc. Mailbox traffic controller
US6078997A (en) * 1996-12-09 2000-06-20 Intel Corporation Directory-based coherency system for maintaining coherency in a dual-ported memory system
US5860120A (en) * 1996-12-09 1999-01-12 Intel Corporation Directory-based coherency system using two bits to maintain coherency on a dual ported memory system
US5860116A (en) * 1996-12-11 1999-01-12 Ncr Corporation Memory page location control for multiple memory-multiple processor system
US6941428B2 (en) * 2002-09-25 2005-09-06 International Business Machines Corporation Memory controller optimization
US8086741B2 (en) * 2003-02-28 2011-12-27 Microsoft Corporation Method and system for delayed allocation of resources
US20070294559A1 (en) * 2004-10-25 2007-12-20 Thomas Kottke Method and Device for Delaying Access to Data and/or Instructions of a Multiprocessor System
WO2016093579A1 (en) * 2014-12-09 2016-06-16 Samsung Electronics Co., Ltd. Method and apparatus for controlling multiple processors to reduce current consumption

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5258432A (en) * 1975-11-10 1977-05-13 Nec Corp Common bus control circuit

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3609700A (en) * 1970-02-24 1971-09-28 Burroughs Corp Data processing system having an improved fetch overlap feature
US3715729A (en) * 1971-03-10 1973-02-06 Ibm Timing control for a multiprocessor system
US3810110A (en) * 1973-05-01 1974-05-07 Digital Equipment Corp Computer system overlap of memory operation
US3921145A (en) * 1973-10-12 1975-11-18 Burroughs Corp Multirequest grouping computer interface
US4065809A (en) * 1976-05-27 1977-12-27 Tokyo Shibaura Electric Co., Ltd. Multi-processing system for controlling microcomputers and memories
US4164787A (en) * 1977-11-09 1979-08-14 Bell Telephone Laboratories, Incorporated Multiple microprocessor intercommunication arrangement
JPS564854A (en) * 1979-06-22 1981-01-19 Fanuc Ltd Control system for plural microprocessors
US4354227A (en) * 1979-11-19 1982-10-12 International Business Machines Corp. Fixed resource allocation method and apparatus for multiprocessor systems having complementarily phased cycles

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5258432A (en) * 1975-11-10 1977-05-13 Nec Corp Common bus control circuit

Also Published As

Publication number Publication date
JPS58222363A (ja) 1983-12-24
US4764865A (en) 1988-08-16

Similar Documents

Publication Publication Date Title
CA2050129C (en) Dynamic bus arbitration with grant sharing each cycle
KR900004006B1 (ko) 마이크로 프로세서 시스템
JPS6134182B2 (ja)
US4371925A (en) Data processing system having unique bus control operation
US5293491A (en) Data processing system and memory controller for lock semaphore operations
JPH10134008A (ja) 半導体装置およびコンピュータシステム
US3629854A (en) Modular multiprocessor system with recirculating priority
JPS6073774A (ja) インタ−フエ−ス回路
US4729090A (en) DMA system employing plural bus request and grant signals for improving bus data transfer speed
US4631667A (en) Asynchronous bus multiprocessor system
US5341495A (en) Bus controller having state machine for translating commands and controlling accesses from system bus to synchronous bus having different bus protocols
KR940011594B1 (ko) 공유 제어 기억부를 가진 멀티프로세서 제어기 및 그 동기화 방법
US5455912A (en) High speed/low overhead bus arbitration apparatus and method for arbitrating a system bus
US5446847A (en) Programmable system bus priority network
US4464772A (en) Frequency synthesizer for providing a pseudo-constant frequency signal
JPH01500065A (ja) 複数制御ストアを有するミクロプログラム情報処理システムの装置と方法
JPH1185673A (ja) 共有バスの制御方法とその装置
JPH08180027A (ja) 調停回路
JP3132012B2 (ja) データバス制御回路
JP2544015B2 (ja) マイクロプログラム処理装置
JPH0142017B2 (ja)
JPS62251829A (ja) シンボリツク処理システムおよび方法
JPS5922145A (ja) 割込制御方式
JPS5825299B2 (ja) メモリ制御方式
JPH02183844A (ja) デコード信号制御方法