JPH07311751A - 共用メモリを有するマルチプロセッサ・システム - Google Patents

共用メモリを有するマルチプロセッサ・システム

Info

Publication number
JPH07311751A
JPH07311751A JP6006558A JP655894A JPH07311751A JP H07311751 A JPH07311751 A JP H07311751A JP 6006558 A JP6006558 A JP 6006558A JP 655894 A JP655894 A JP 655894A JP H07311751 A JPH07311751 A JP H07311751A
Authority
JP
Japan
Prior art keywords
data
control unit
memory
channel
processors
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
JP6006558A
Other languages
English (en)
Other versions
JP3645281B2 (ja
Inventor
Ferruccio Zulian
ツリアン フェルッチオ
Angelo Ramolini
ラモリニ アンジェロ
Carlo Bagnoli
バニョーリ カルロ
Angelo Lazzari
ラツァリ アンジェロ
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.)
Bull HN Information Systems Italia SpA
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Italia SpA
Bull HN Information Systems Inc
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 Bull HN Information Systems Italia SpA, Bull HN Information Systems Inc filed Critical Bull HN Information Systems Italia SpA
Publication of JPH07311751A publication Critical patent/JPH07311751A/ja
Application granted granted Critical
Publication of JP3645281B2 publication Critical patent/JP3645281B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • G06F13/1663Access to shared memory
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses

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)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 本発明は、複数の処理を同時に遂行させるた
めの共用メモリを有するマルチプロセッサ・システムに
関し、高性能のデータ処理システムを実現するために、
複数のプロセッサおよびメモリに対し比較的高速のアク
セスが実行されると共に、データのコヒーレンスが保証
されるようにすることを目的とする。 【構成】 複数のグループのプロセッサ1〜4が、複数
の共用メモリを構成するモジュールに対しアクセスを行
い、プロセッサ1〜4およびモジュールの動作が、共通
の同期信号により時間規定がなされ、この同期信号によ
り時間が制御されるシステムメモリ制御ユニット15
と、制御ユニット15により制御されるデータチャネル
制御ユニット16と、アドレス/コマンド転送用バス1
7と、複数のデータチャネルI/O(i)と、メモリア
ドレス用チャネル18と、モジュールに対し入力/出力
転送を行うメモリデータ入力/出力チャネル19とを備
える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、共用メモリを有するマ
ルチプロセッサ・システムに関する。高性能のデータ処
理システムを実現するために、タスクを分割することに
よって複数のプロセッサが複数の処理を同時に遂行する
ようなマルチプロセッサのアーキテクチャを利用するこ
とは、一般に知られている。
【0002】複数のプロセッサ間での協働を実現するた
めには、これらのプロセッサ同士が情報やメッセージを
交換することが必要であり、かつ、これらのプロセッサ
が同じデータに対し作用し得ることも必要である。これ
らのプロセッサは、それゆえに、適切な通信チャネルに
よって互いに接続され合うと共に、少なくとも1つの動
作メモリに対しそれぞれ接続されなければならない。
【0003】さらに、マルチプロセッサのアーキテクチ
ャの手法は、大きな容量と低いコストを有する動作メモ
リを提供するが、この動作メモリは、複数のプロセッサ
の各々の動作時間よりもはるかに長い読み書き用の時間
を必要とすることもまた、一般に知られている。このた
め、プロセッサにより提供される能力を充分に利用する
ことができるように、速度の速い局所的メモリ(Local
Memory)、または、ある程度の限られた容量を有するキ
ャッシュメモリが用いられる。このようなメモリの各々
は、1つのプロセッサと、個々にかつ独立にアドレス指
定可能な複数の動作メモリに接続される。
【0004】このような構成では、アドレス指定可能な
動作メモリのスペースは、幾つかのユニット間、また
は、インタリービング(Interleaving)の規準によるメ
モリのバンク間に配分される。このインタリービングの
規準は、幾つかのプロセッサによる複数のメモリへのア
クセスにおける「争い(Conflict)」の確率を最小限に
抑える。
【0005】比較的高速のアクセスが要求される場合、
動作メモリ内に記憶されたデータが繰り返し使用される
ように、速度の速い局所的メモリが採用される。しかし
ながら、この場合は、コヒーレンスの問題が生じてく
る。すなわち、英国系(アングロサクソン系)の用語を
使用すれば、データの「無矛盾性(Consistency )」の
問題が生じてくる。
【0006】また、幾つかのメモリモジュールを採用し
た場合には、各種のプロセッサと各種のメモリモジュー
ルとの間で相互接続の問題が生じてくる。
【0007】
【従来の技術および発明が解決しようとする課題】従来
は、少なくとも部分的に前述の問題を解決するような、
下記の2つのアーキテクチャによるアプローチが提示さ
れている。 1)1つめのアーキテクチャは、「バス」のアーキテクチ
ャ、すなわち、分岐方式による通信チャネルである。
【0008】この場合、システム内のすべてのプロセッ
サ、および、すべてのメモリは、単一のシステムバスに
接続される。この単一のシステムバスは、タイムシェア
リング式のリソースを構成する。このようなリソースに
対し、上記のプロセッサ、そして、おそらくは、上記の
メモリが、限られたかつ重複しない時間間隔でもって互
いに競合し合うことにより、アクセスを行う。
【0009】さらに、システムバスへのアクセスは、各
種のユニットの要求に応じ、単一のアービトレーション
用ロジック、または、配分されたタイプのアービトレー
ション用ロジックによって割り当てられる。このような
アクセスの構成では、前もって確立されている規準に従
っているので、アクセスにおける争いの問題が解消され
る。
【0010】この種のアーキテクチャは、基本的に、次
のような2つの好都合な点を有する。1番目は、2つの
ユニットを相互に接続するための動作は、すべてシリア
ル形式にて行われ、かつ、お互いに決まった順番で実行
されることである。このために、通信処理の管理が簡単
になる。
【0011】2番目は、システムバスに接続されるすべ
てのプロセッサが、システムバス上で起こるトランザク
ション(Transaction )をすべて把握できることであ
る。このために、比較的簡単な「詮索動作(スヌーピン
グ: Snooping )」、すなわち、監視機構を用いること
により、リアルタイムにてデータの無矛盾性を保証する
ことが可能になる。
【0012】しかしながら、一方で、上記のアーキテク
チャには、次のような限界、すなわち、不都合な点があ
ることを考慮に入れなければならない。すなわち、シス
テムバスの各々のワイアが、多数の入力負荷および出力
負荷に接続されている点と、負荷に適した電力を有し、
それゆえに、比較的速度の遅いドライバ回路が、種々の
ワイア上の信号の各々に対して必要になる点である。
【0013】さらに、このような負荷が本質的に有する
容量性の性質が、転送され得る信号の周波数を制限す
る。それゆえに、情報の伝達の速度、すなわち、システ
ムバスの「転送速度」も、負荷の容量性の性質により制
限される。幾つかのユニット間の読み書き動作において
同じリソースを共用することは、アクセスの争いが増え
ることを意味し、この結果として、応答の問題が増加す
る。換言すれば、バスに対するアクセスを待つこと、お
よび、可能性があり、かつ、このアクセスの後に続くよ
うな要求された情報の受け取りを待つことが増えてく
る。アクセスの応答時間は、メモリユニットの応答の遅
さによってばかりでなく、起こり得るアクセスの争いに
よっても決定される。このアクセスの争いの可能性が高
くなればなるほど、バスに沿って重要な情報を転送した
りこの情報を持ち出したりするのに必要な時間が長くな
る。このために、バスが空いている時間が多くなる。
【0014】1)2つめのアーキテクチャは、「クロスバ
ースイッチ」のアーキテクチャ、すなわち、クロスバー
・アーキテクチャによる接続である。この場合、互いに
交差する複数の通信チャネルにより、複数のプロセッサ
および複数のメモリが、対になって相互に接続される。
そして、スイッチを選択的に閉じることにより、対をな
すプロセッサおよびメモリが、選択的にかつ相互に接続
される。
【0015】この種のアーキテクチャは、基本的に、次
のような2つの好都合な点を有する。1番目は、個々の
チャネルにおいて、より多くの対をなすユニットが同時
に相互通信を行うことができる。2番目は、マトリクス
形式による相互通信により、種々の通信ラインのRC負
荷を軽減することができる。
【0016】このような好都合な点により、比較的低消
費電力の制御回路を用い、比較的高い周波数にてシステ
ムを動作させることが可能になる。この種のアーキテク
チャにより達成され得る転送速度は、非常に高い。その
理由として、このアーキテクチャにて転送される信号の
周波数が比較的大きくなり得ること以外に、多くの同時
かつ並列になされる転送が存在することが挙げられる。
さらに、対をなして相互に接続されるユニットは、一般
に、幾つかの連続するトランザクションによって保持さ
れており、かつ、このトランザクションのチャネル形
成、すなわち、「パイプライン形成」を可能にする。さ
らに、上記のユニットは、リソースが占有される時間の
大部分に対し、応答時間の問題を生じさせることなく達
成され得る転送速度をさらに増加させる。
【0017】しかしながら、一方で、上記のアーキテク
チャにおいてもなおかつ、次に記載するように、深刻な
不都合な点がある。すなわち、多くの対をなす相互接続
部における同時転送が、複数のプロセッサ間の「詮索動
作」を妨げる点と、幾つかのメモリ内、すなわち、幾つ
かの記憶ユニット内にデータが複製されるような環境で
は、データのコヒーレンスの程度が悪くなる点である。
【0018】データのコヒーレンスを保証するために、
(少なくともアドレスの)同時転送を否認することが必
要である。信号の「経路規定(routing )」や、各構成
要素の終結点や、相互接続の管理の問題は、非常に煩雑
なものになる。本発明は、上記問題点に鑑みてなされた
ものであり、高性能のデータ処理システムを実現するた
めに、幾つかのプロセッサおよびメモリに対し比較的高
速のアクセスが実行されると共に、データのコヒーレン
スが充分保証されるようなマルチプロセッサ・システム
を提供することを目的とするものである。
【0019】
【課題を解決するための手段および作用】前記目的を達
成するために、本発明の主題を構成するマルチプロセッ
サ・システムは、複数のグループのプロセッサと、これ
らのプロセッサと通信する複数の共用メモリを構成する
モジュールとを備えている。これらの共用メモリは、個
々にアドレス指定が可能な複数のモジュールにより構成
される。モジュールとプロセッサとの通信は、アドレス
およびコマンドを転送するためのシステムバス(すなわ
ち、分岐接続バス)を介して行われると共に、二地点間
データ転送用チャネルを介して行われる。この二地点間
データ転送用チャネルは、各プロセッサをデータ・クロ
スバー相互接続用ロジックに対し個々に接続する。
【0020】本発明によれば、バスシステムのアーキテ
クチャの利点と、クロスバーのアーキテクチャの利点と
を兼ね備えたハイブリッド方式のアーキテクチャが実現
される。このようなハイブリッド方式のアーキテクチャ
は、同じプロセッサおよびメモリ間の幾つかの転送の際
に、順序立ったパイプライン構成を可能にする。
【0021】さらに、上記のハイブリッド方式のアーキ
テクチャは、個々のプロセッサおよびメモリ間の二地点
間データ転送用チャネルの負荷を軽減する。このため
に、高い周波数にて動作することが可能になる。さら
に、上記のハイブリッド方式のアーキテクチャは、異な
るリソースを含むような並列形式の転送を可能にする。
【0022】さらに、上記のハイブリッド方式のアーキ
テクチャは、メモリへのアクセスが、連続して順番通り
に行われることを可能にする。さらに、上記のハイブリ
ッド方式のアーキテクチャにおいて、局所的メモリまた
はキャッシュメモリ内でデータが複製される場合、全て
の処理過程で、アドレス用チャネルとデータの無矛盾性
に関する「詮索動作」をリアルタイムにて遂行すること
ができる。
【0023】本発明の他の態様によれば、共用メモリを
構成するモジュール、すなわち、メモリモジュールが、
動作時間の部分的な重ね合わせにより動作するように、
これらのメモリモジュールが個々に独立して制御され
る。それゆえに、これらのメモリモジュールは、独立の
メモリユニットとして、システムバスまたはアドレスバ
スに接続された共通のシステムメモリ制御ユニットを介
しアドレス指定がなされる。
【0024】このシステムメモリ制御ユニットはまた、
システムバスに対するアクセスを行うためのアービトレ
ーション用ロジックとして機能する。このようにして、
複数のプロセッサおよびシステムメモリ制御ユニットに
対するアドレスバスの負荷は軽減される。本発明のさら
に他の態様によれば、データ・クロスバーのロジック、
すなわち、データチャネル制御ユニットは、共用メモリ
およびプロセッサの両方に対し、入力/出力レジスタを
備えている。
【0025】カスケード形式で一つのレジスタから他の
レジスタへ転送を行う構成では、幾つかの転送は、並列
に行うことができる。さらに、データ・クロスバーが、
単一のデータチャネルを介してのメモリとのデータ交換
を行うための収集部として機能する場合であっても、転
送時間の部分的な重ね合わせにより、メモリに対する
「パイプライン形成」が可能である。
【0026】このようなチャネルは、データの転送速度
を制限することのないノードを形成する。なぜならば、
ノードを介してのデータ転送に必要な時間は、転送速度
の制限内に収まる程度に充分短いからである。本発明の
さらに他の態様によれば、相互接続用ロジックは、バッ
ファ用レジスタ(または、バッファ)以外に、メモリお
よび各種のプロセッサに対する接続に応じて異なる並列
性を有するようなチャネルを備えている。さらに詳しく
いえば、メモリとデータ・クロスバーとの間では、N×
Mバイトであるのに対し、データ・クロスバーとプロセ
ッサとの間では、たったNバイトである。
【0027】すなわち、メモリとデータ・クロスバーと
の間の情報転送は、N×Mバイトのブロックに対し同時
行われる。これに対し、データ・クロスバーとプロセッ
サとの間の情報転送は、各々の期間でNバイトのデータ
ブロック中の1ブロックを転送させることにより、M個
の連続する位相にてシリアル形式で動作を続けることで
実行される。
【0028】このようなシリアル形式の転送は、応答の
問題を生じさせない。なぜならば、データ・クロスバー
とプロセッサとの間の接続は、一方向性のものであり、
相互干渉が起こらないからである。上記の構成では、プ
ロセッサの並列性に比べてメモリの並列性が相対的に高
いので、より高速で動作させるためのあり得るプロセッ
サの要求に対し、メモリ容量の一部またはそのすべてを
あてがうことができる。これと共に、各種の電気的構成
部品またはユニットの端子の数、および、種々のユニッ
ト間の受動接続を、許容され得る上限内に収めることが
できる。
【0029】このような端子の数の制限は、経済上の都
合、すなわち、多数の入力/出力端子を有する電気的構
成部品の工業的な実用性によってのみでなく、標準の通
信バスの使用が可能なインタフェースを有するような製
品として使用可能な電気部品を用いることの便利さによ
っても、付与されるべきものである。実際に、インタフ
ェースのレベルにおいて、本発明のマルチプロセッサ・
システムの主題の基礎をなすような前述のハイブリッド
方式のアーキテクチャでは、例えば「VMEまたはFU
TURE BUS」タイプの一般的な標準バスが使用さ
れている。
【0030】
【実施例】本発明の特徴および利点は、下記に示すよう
な添付図面を参照しながらの発明の好適実施例の説明か
ら、さらに明確になるであろうと思われる。以下、添付
図面(図1〜図7)を用いて本発明の実施例を詳細に説
明する。図1は、本発明の一実施例に従って構成される
アーキテクチャおよび共用メモリを有するマルチプロセ
ッサ・システムを示す概略的なブロック図である。
【0031】図1のシステムは、複数のプロセッサ1、
2、3および4を備える。これらのプロセッサ1、2、
3および4には、それぞれ、バッファメモリ6、7、8
および9が設けられている。さらに、図1のシステム
は、複数のモジュール10、11、12、13、113
および114(おそらくは、モジュールの数は、プロセ
ッサの数よりも多いであろう)により構成されるシステ
ム・メモリ5と、予め定められた周波数のタイミング信
号を生成するタイマ・ユニット(TIM UNITと略
記されることもある)14とを備える。なお、図1で
は、上記モジュール10、11、12、13、113お
よび114を、それぞれ、モジュールA、モジュール
B、モジュールC、モジュールD、モジュールE、およ
びモジュールFと表示している。
【0032】さらにまた、図1のシステムは、共用メモ
リならびにシステムバスのアービトレーションを制御す
るためのシステムメモリ制御ユニット(SMCユニット
と略記されることもある)15と、ロジック回路からな
るデータチャネル制御ユニット16、すなわち、データ
・クロスバー(DCBと略記されることもある)とを備
える。
【0033】プロセッサ1、2、3および4は、一緒に
して接続され、さらに、アドレスおよびコマンドを転送
するためのアドレス/コマンド転送用バス(ACBUS
と略記されることもある)17を介してシステムメモリ
制御ユニット15に接続される。このアドレス/コマン
ド転送用バス17の適切なワイヤを介し、かつ、一般の
アービトレーションおよび通信プロトコルを用い、上記
の各プロセッサは、バスに対するアクセス要求信号AB
REQ(図3)をSMCユニット15に送る。さらに、
この各プロセッサは、バス許可信号ABGRANT(図
3)を個々に受け取る。その後、このバス許可信号AB
GRANTは、アドレス/コマンド転送用バス17を有
効に占有し、さらに、メモリアドレスと下記のような複
数の信号をSMCユニット15に送る。これらの複数の
信号とは、例えば、読み出し、書き込み、または、別の
種類の動作(例えば、図3のRWIM)のような、要求
される動作を識別するための信号である。
【0034】システムバスであるアドレス/コマンド転
送用バス(ACBUS)17は、分岐方式の通信チャネ
ルを構成する。ただし、必ずしもそうである必要はない
が、おそらくは、バスに対するアクセス要求信号ABR
EQ、対応するバス許可信号(バス許可応答)ABGR
ANT、および、種々のプロセッサの状態信号は、例外
になるであろう。この場合、プロセッサの状態信号は、
好ましくは、プロセッサの各々とユニット15との間
で、二地点間接続方式により交換がなされる。
【0035】ユニット15は、メモリアドレス用チャネ
ル(MADDRと略記されることもある)18を介し
て、読み書き用アドレスと、この後に続く適切なタイミ
ング・コマンド(STARTA、STARTB、STA
RTC、STARTD、STARTE、およびSTAR
TF)をシステム・メモリ5に転送する。このタイミン
グ・コマンドは、アドレスに応じて、各種のモジュール
(メモリモジュール)10、11、12、13、113
および114中の一つを選択し、始動させる。
【0036】これらのモジュール10、11、12、1
3、113および114の各々においては、アドレスが
チャネル(MADDR)18上に存在する時間が、ある
程度制限されている場合でも、レジスタARが、必要な
時間のすべてにわたって読み書き用アドレスを保持す
る。また一方で、データの転送は、二地点間接続により
行われる。この二地点間接続は、プロセッサ1、2、3
および4の各々と、メモリデータ入力/出力チャネル
(MDATと略記されることもある)19との間で、あ
るいは、対をなすプロセッサ間で、データチャネル制御
ユニット(DCB)16により、ユニット15から受信
されるタイミング・コマンドに基づき選択的に形成され
る。
【0037】さらに、モジュール10、11、12、1
3、113および114の各々では、レジスタDWが、
書き込むべきデータの1単位を保持する。このようなデ
ータは、書き込み動作に必要な時間のすべてにわたって
メモリデータ入力/出力チャネル(MDATと略記され
ることもある)19から受信される。図1においては、
プロセッサ1、2、3および4は、それぞれ、複数のデ
ータチャネルI/OD1、I/OD2、I/OD3およ
びI/OD4を介してデータチャネル制御ユニット(D
CB)16に接続される。
【0038】システム全体の動作は、同期形式で遂行さ
れる。この場合、各種のユニットは、すべて、タイマ・
ユニット14により生成される周期的信号CKに基づき
クロック制御がなされる。図2は、図1のアーキテクチ
ャのデータチャネル制御ユニットの具体的構成例を示す
概略的なブロック図である。ここでは、図1のデータチ
ャネル制御ユニット16を集積回路により構成してい
る。なお、これ以降、前述した構成要素と同様のものに
ついては、同一の参照番号を付して表すこととする。
【0039】ここで、データチャネルが一つの集積回路
として形成される程度にこのデータチャネルの類似性が
充分高い場合は、データチャネル制御ユニット16は、
同じ構成の複数の集積回路として形成され得る。これら
の複数の集積回路は、一般に知られている「ビットスラ
イス構成」の概念、すなわち、ビット群によるロジック
回路の分割に従って作製される。
【0040】データチャネル制御ユニット16は、基本
的に、下記の5種の構成要素を備える。1つめの構成要
素は、データチャネルI/OD1、I/OD2、I/O
D3およびI/OD4よりデータをそれぞれ入力するた
めの4つのグループの受信部21、22、23および2
4である。
【0041】2つめの構成要素は、データチャネルI/
OD1、I/OD2、I/OD3およびI/OD4上に
データを取り込むための4つの制御回路、すなわち、ド
ライバ25、26、27および28である。3つめの構
成要素は、メモリデータ入力/出力チャネル19上にデ
ータを取り込むための単一のグループのドライバ29で
ある。
【0042】4つめの構成要素は、メモリデータ入力/
出力チャネル19からやって来るデータをデータチャネ
ル制御ユニット16に入力するための単一のグループの
受信部35である。5つめの構成要素は、5個のマルチ
プレクサ30、31、32、33および34である。
【0043】マルチプレクサ30の入力は、4つのグル
ープの受信部21、22、23および24の出力に接続
される。さらに、上記マルチプレクサ30の出力は、単
一のグループのドライバ29に接続される。このような
接続を行うことにより、ドライバ29がイネーブルの状
態になった場合に、メモリデータ入力/出力チャネル
(MDAT)19に対し複数のデータチャネルI/OD
(i)の中の一つを選択的に接続することが可能にな
る。ここで、I/OD(i)中の記号(i)は、便宜上
付加しているだけであり、省略されることもある。ある
いは、既述のように、I/OD(i)の代わりにOD
1、I/OD2、I/OD3およびI/OD4のように
表すこともある。
【0044】その他のマルチプレクサ31、32、33
および34の各々は、データチャネルI/OD(i)の
中の一つと関係し、かつ、4組の入力を有する。さら
に、これらの入力の各々は、受信部35、21、22、
23および24の出力に接続される。ただし、この場
合、各受信部がそれぞれ関係するデータチャネルI/O
D(i)を有する受信部の出力への接続は除外される。
【0045】さらに、上記マルチプレクサ31、32、
33および34の出力は、それぞれ、ドライバ25、2
6、27および28の入力に接続される。このような接
続を行うことにより、メモリデータ入力/出力チャネル
(MDAT)19をデータチャネルI/OD(i)の中
の一つに接続し、かつ/または、おそらくは同時に、2
つのデータチャネルI/ODを一緒に接続することが可
能になる。
【0046】マルチプレクサおよびドライバの動作は、
デコーダ36により生成される適切なコマンドSEL
1、…SELNに従って制御される。この場合、これら
のコマンドに対し、周期的信号CKに基づきクロック制
御がなされる。ここで、例えば、次のようなことが可能
となる点に直ちに注意すべきである。すなわち、データ
の衝突なしで、データのソースとしてのデータチャネル
I/OD1が、メモリデータ入力/出力チャネル(MD
AT)19と、他のデータチャネルI/OD(i)の中
の一つに接続されるか、または、データのソースとして
のデータチャネルI/OD1が、2つのデータチャネル
I/ODに一緒に接続されるかし、さらに、第3のデー
タチャネルI/ODがメモリデータ入力/出力チャネル
19に接続されることである。図3は、図1のアーキテ
クチャのシステムメモリ制御ユニットの具体的構成例を
示す概略的なブロック図である。ここでは、システムメ
モリ制御ユニット15に接続されるシステムバスのアー
ビトレーションの構成も一緒に例示することとする。こ
の場合も、システムメモリ制御ユニット15を集積回路
により構成することができる。
【0047】図3において、システムメモリ制御ユニッ
ト15は、システムバスに対するアクセスを調整するた
めのアービトレーション用ロジック(ABUS ARB
UNITと略記されることもある)70と、有限状態
ロジック72(STATEMACHINEと略記される
こともある)と、一対のレジスタ73、74と、デコー
ダ75と、論理和(OR)回路76とを備える。
【0048】通常のタイプのアービトレーション用ロジ
ック70は、その入力において、種々のプロセッサ間の
二地点間接続方式により、バスに対するアクセス要求信
号ABREQ(i)(記号(i)は、通常、省略され
る)を受け取る。さらに、ごく一般的な方法を用いて、
周期的信号CKにより制御されるタイミングに従い、複
数の二地点間接続の一つに応答のバス許可信号ABGR
ANT(i)(記号(i)は、通常、省略される)を送
り込むことにより、システムバスへのアクセスを許可す
る。このバス許可信号ABGRANT(i)の送り込み
は、種々のプロセッサに対し、一連のタイムベースにお
ける一つの期間毎に行われる。
【0049】上記アービトレーション用ロジック70
は、好ましくは、システムメモリ制御ユニット15の集
積回路の一部であるが、公知の方法に従ってプロセッサ
全体に配分されるアービトレーション用ロジックに置き
換えることもできる。この場合、アービトレーション用
信号は、分岐接続方式により交換することができる。上
記ユニット15は、システムバスであるアドレス/コマ
ンド転送用バス(ACBUS)17を介し、遂行すべき
動作を規定するコマンド信号を受け取る。特に、このコ
マンド信号として、要求される動作が読み出し動作であ
るか、または書き込み動作であるかを示す信号RWと、
読み出されるデータの単位をモディファイ(Modify)す
るという意図の下での読み出し動作を示す信号RWIM
が挙げられる。実際に存在するような他のコマンドは、
本発明の発明の範囲外にあるので、それらをすべて理解
する必要はない。
【0050】これらのコマンドがシステムバスに転送さ
れた後に、どこで動作が遂行されるべきかを示すメモリ
アドレスが転送される。ここで、プロセッサがバスへの
アクセスを獲得した後においてのみ、コマンドおよびア
ドレスがシステムバスに送り込まれることに注意すべき
である。さらに、他の動作の遂行に既に関係しているか
もしれないようなリソース(例えば、メモリモジュル)
を、共同して使用することができることにも注意すべき
である。
【0051】この場合、リソースが空き状態になるのを
待つ間にシステムバスが占有されたままになるのを避け
るために、システムメモリ制御ユニット15は、コマン
ドおよびアドレスの内容を分析した後にリトライ信号R
ETRYに応答する。このコマンドが拒否された場合、
要求中のプロセッサは、上記のコマンドを再提示するよ
うに案内される。
【0052】このようにして、上記のコマンドは、必要
なリソースが使用可能なときのみ実行される。このため
に、コマンドが実行される場合には、関係するリソース
の実行速度に依存するような予め定められた時間で実行
され得ることが保証される。したがって、メモリからデ
ータを読み出す場合に、このメモリから供給されるデー
タの順番は、コマンドが受け入れられた順番と同じ順番
になる。
【0053】システムメモリ制御ユニット15から受信
されたコマンドおよびアドレスは、レジスタ73に保持
される。このレジスタ73は、周期的信号CKに基づき
クロック制御がなされ、かつ、デコーダ75により復号
化される(デコーダ75の入力は、レジスタ73の出力
に接続される)。基本的に、上記デコーダは、アドレス
およびコマンドに基づき、どのモジュール(モジュール
A、モジュールB、モジュールC、モジュールD、モジ
ュールE、またはモジュールF)を使用すべきか、およ
び、要求されている動作が書き込み動作(書き込み信号
R)であるか否かを決定する。上記デコーダはまた、ア
ドレスに応じて、メモリに対し予め定められていないデ
ータの転送を指定する。ただし、信号I/Oにより指定
されている複数のプロセッサの一つは、例外とする。
【0054】デコーダからの出力信号は、有限状態ロジ
ック72に伝達される。この有限状態ロジック72は、
周期的信号CKに基づきクロック制御がなされる。さら
に、上記の有限状態ロジック72は、周期的信号CKの
各周期に対し、前に受信した信号の関数として進行す
る。既に述べたように、リトライのメカニズムの結果と
してプロセッサにより要求される各動作が実行される場
合には、この各動作は、予め定められた時間で実行され
る。それゆえに、有限状態ロジック72は、ある時期に
受信した信号に基づいて動作することが可能になり、こ
の結果として、現在のクロック周期とこれに続くクロッ
ク周期におけるリソースの状態の痕跡を保持することが
できる。
【0055】それゆえに、有限状態ロジック72は、そ
の出力において、イネーブル信号ENを提供する。この
イネーブル信号ENは、予め定められた必要な時間の期
間で必要なリソースが使用可能になる場合にのみ、レジ
スタ73に存在するアドレスおよびコマンドを出力側の
レジスタ74にローディングすることを可能にするもの
である。
【0056】レジスタ74は、アドレスおよびコマンド
以外に、信号A、B、C、D、EおよびFによってもロ
ーディングがなされる。ある時期においては、信号A、
B、C、D、EおよびFの中の一つのみが権利を主張す
る。そして、この一つの信号がメモリアドレス用チャネ
ル(MADDR)18上のシステム・メモリ5に送られ
たときに、この一つの信号は、相互に排他的な方式によ
り、複数のモジュール中の一つを選択して始動させる
(始動信号STARTA、STARTB、START
C、STARTD、STARTE、およびSTART
F)。
【0057】さらに、始動信号により開始したメモリの
動作に応じて、有限状態ロジック72は、チャネル20
を介し、データチャネル制御ユニット16(図1)を制
御するために適切に時間調整がなされたコマンドを転送
する。読み出し動作の場合には、最終的に、コマンド
(排除信号)OENA、B、C、D、EおよびFに応じ
て、選択されたモジュールが、メモリデータ入力/出力
チャネル19上に読み出し後のデータを転送することが
可能になる。
【0058】このような結果は、読み出し動作の期間に
おいて、「詮索動作」の後に「介在(Intervention)」
が起こらないという条件下で生じ得る。このことは、こ
れから考察することとする。キャッシュメモリによるデ
ータ複製機能を有するマルチプロセッサ・システムにお
いては、データの無矛盾性は、基本的に、下記の2つの
アプローチにより保証される。
【0059】(1) 1番目のアプローチ…モディファイが
なされた各データを、即刻メモリ内に書き込むこと、す
なわち、ライトスルー(Write Through )。 (2) 2番目のアプローチ…機会が生じたときのみ、モデ
ィファイがなされた各データを延期形式にて書き込むこ
と(ライトバック(Write Back)、またはコピーバック
(Copy Back )) 。
【0060】1番目のアプローチは、データの1単位が
プロセッサ内のキャッシュメモリによりモディファイさ
れる度に、メモリへの書き込みを要求する。すなわち、
この1番目のアプローチは、バスおよびメモリ・リソー
ス(例えば、メモリモジュル)を相当な期間使用するこ
とを意味する。したがって、このようなアプローチは、
実用上好ましくない。
【0061】2番目のアプローチにおいては、すべての
プロセッサが、メモリに送られてくる読み出しの要求を
監視することにより、モディファイされた形でキャッシ
ュメモリ内に存在するデータの1単位が上記の読み出し
に関係するか否かを検査することが前提条件となる。こ
の場合、モディファイされた結果として更新されたデー
タのコピーは、キャッシュメモリ内に存在しない。
【0062】上記の2番目のアプローチでは、モディフ
ァイされたデータが存在するキャッシュメモリを有する
プロセッサは、現在の状況を他のプロセッサに通知し、
さらに、要求されたデータを必要とするプロセッサにデ
ータを送らなければならない。そして、このプロセッサ
のデータは、対応するメモリ内で、送られてきたデータ
に置き換えられる。このときに、コマンド(排除信号)
OENA、B、CおよびDを送出しないことで、メモリ
の出力が阻止される。
【0063】好ましくは、システムメモリ制御ユニット
15は、2番目のアプローチにより動作するようになっ
ている(しかしながら、このユニット15は、1番目の
アプローチにより動作するように容易に調整できる)。
この2番目のアプローチでは、プロセッサ間の「詮索動
作」の信号の交換が簡単に行える。このような動作を遂
行するために、システムメモリ制御ユニット15は、種
々のプロセッサから、二地点間接続を通して、状態信号
SNOOP OUT(i)を受け取る。これらの状態信
号SNOOP OUT(i)は、種々のプロセッサか
ら、適切なタイミングにより送られる。上記の状態信号
SNOOP OUT(i)は、システムバス(ACBU
S)上に存在する読み出し要求が、キャッシュメモリ内
にないデータに関係しているか(SNOOP OUT=
NULL(データなし))、または、キャッシュメモリ
内に存在して有効であり、それゆえに、少なくとも一つ
のメモリと共用するようなデータに関係しているか(S
NOOPOUT=SHARED(共有))、または、キ
ャッシュメモリ内に存在し、かつ、メモリ内に含まれる
データに関してモディファイされるようなデータに関係
している(SNOOP OUT=MODIFY(モディ
ファイ))ことを通知することを目的とする。
【0064】上記の状態信号SNOOP OUT(i)
はまた、次のような理由により、「詮索動作」を遂行す
ることが不可能になることを示すこともできる。例え
ば、プロセッサが動作中であるという理由か、または、
プロセッサ間でデータが転送される場合は、転送データ
が受信できないという理由が考えられる。上記のいずれ
の理由によっても、トランザクジョンが完了しないため
に、このトランザクジョンを繰り返すことが必要である
(SNOOP OUT=RETRY(リトライ))。
【0065】これらの信号は、有限状態ロジック72に
より受信される。この有限状態ロジック72は、システ
ムの状態と、制御の対象となる動作とを規定する際に、
これらの受信した信号を考慮する。これから詳細に述べ
ることではあるが、受信した信号が「MODIFY」を
示す場合には、プロセッサは、モディファイ動作を遂行
する必要があることをシステムメモリ制御ユニット15
に確認した後に、データチャネルI/OD(i)上にデ
ータの1単位を提供するために介在しなければならな
い。
【0066】さらに、有限状態ロジック72は、チャネ
ル20を介し、データ・クロスバー(DCB)の種々の
点間で確立すべき接続を適切に制御する。既に進行中の
トランザクションにおいてリソースを使用する際に争い
が生じた場合には、上記の有限状態ロジック72は、介
在の要求に対し最も高い優先権を与える。上記の有限状
態ロジック72は、リトライ信号RETRYを提示する
ことにより、現在のトランザクションを停止させ、さら
に、動作が繰り返されなければならないことを通知す
る。
【0067】さらに、種々のプロセッサから受信された
状態信号SNOOP OUT(i)は、論理和回路76
内で一緒にされる。この論理和回路76はまた、必要で
あることが提示された場合には、有限状態ロジック72
からリトライ信号RETRYを受信する。さらに、上記
の論理和回路76は、出力信号ARESPを生成する。
この出力信号ARESPは、システムバスの分岐接続を
通して種々のプロセッサに転送されると共に、NUL
L、SHARED、MODIFY、またはRETRYに
対応するようなシステムの可能な状態を表示する。
【0068】図4は、図1のマルチプロセッサ・システ
ムの動作を説明するためのタイミング図である。ここで
は、図1のマルチプロセッサ・システムの動作、特に、
図2のマルチプロセッサ・システム内のデータチャネル
制御ユニット16の動作に関するタイミング・ダイヤグ
ラムを簡潔な形で示すこととする。さらに詳しくいえ
ば、図1中の周期的信号CKのダイヤグラムは、時間の
推移に対する周期的信号(すなわち、クロック信号)C
Kの状態およびレベルを表している。
【0069】アクセス要求信号ABREQ(i)のダイ
ヤグラムは、種々のプロセッサがシステムメモリ制御ユ
ニット15に送ることができるようなアクセス要求の状
態を表している。このダイヤグラムは、プロセッサの一
つに関し、幾つかの通信ラインの電気的なレベルを表示
するという意味において、累積的なものである。
【0070】同様に、バス許可信号ABGRANT
(i)のダイヤグラムは、システムメモリ制御ユニット
15によって種々のプロセッサに送られる応答信号の状
態が、時間に対しどのように変化するかを累積的に表し
ている。アドレス/コマンド転送用バス(ACBUS)
のダイヤグラムは、アドレス、および、このアドレスに
関連するコマンド(読み出し/書き込み)を規定する信
号の状態の変化を表している。これらのアドレスおよび
コマンドは、プロセッサの各々から、互いに異なる時間
の期間でシステムバス上に転送される。
【0071】状態信号SNOOP OUT(i)のダイ
ヤグラムは、種々のプロセッサからシステムメモリ制御
ユニット15に送られる信号の状態に関し、時間に対す
る累積的な変化を表している。この変化は、アドレス/
コマンド転送用バス(ACBUS)上に存在するアドレ
スに対し続けられる継続的な監視の結果として見い出さ
れる。
【0072】出力信号ARESPのダイヤグラムは、シ
ステムメモリ制御ユニット15からアドレス/コマンド
転送用バス(ACBUS)の2つのライン上に送出され
る信号の状態に関し、時間に対する累積的な変化を表し
ている。これらの信号は、アドレスおよび状態信号SN
OOP OUT(i)の受信に応答して生成される。上
記の信号に基づき、システムメモリ制御ユニット15
は、動作の実行に必要なリソースが、要求中の時間の期
間では使用不可能であり、それゆえに、再度トランザク
ションを要求することが必要になるために、現在関係す
るトランザクションが完了しない旨をすべてのプロセッ
サに知らせるようにしている。あるいは、上記のシステ
ムメモリ制御ユニット15は、現在のトランザクション
が、幾つかのプロセッサにより共用されないデータに関
係しているか(NULL)、または、共用されるデータ
に関係しているか(SHARED)か、または、プロセ
ッサによりモディファイされるデータに関係しているか
(MODIFY)をすべてのプロセッサに知らせるよう
にしている。
【0073】さらに、システムメモリ制御ユニット15
は、予め定められた優先順位の規準に従い、かつ、トラ
ンザクションの実行に必要なリソースの時間的な使用可
能性に応じて、複数のプロセッサに対する単一のアクセ
スを許可する(例えば、かなり前ではあるが一番最後に
アクセスを獲得しているプロセッサに対し)。メモリア
ドレス用チャネル(MADDR)のダイヤグラムは、シ
ステムメモリ制御ユニット15をシステム・メモリ5に
接続するためのメモリアドレス用チャネル18の状態を
表している。
【0074】最後に、データチャネルI/OD(i)の
ダイヤグラムは、種々のデータチャネルおよびデータチ
ャネル制御ユニット16の状態に関し、時間に対する累
積的な変化を表している。認識され得ることではある
が、周期的信号CKは、複数の連続する時間期間、すな
わち、クロック周期P1、P2、…P13を規定する。
このクロック周期においては、周期的信号であるクロッ
ク信号は、最初にレベル“0”であるか、または、確定
したレベルになっている場合(ロジックのレべルと電気
的なレべルとの間の関係は、一切ない)には、レベル
“1”に変化する。
【0075】図4においては、クロック周期よりも大き
くない時間期間内で種々の信号が提示されたり、消失し
たりする。さらに、各周期の真ん中におけるクロック信
号のレベル“0”からレベル“1”への遷移は、信号の
状態が安定になってストローブ、すなわち、信号の認識
が可能になる瞬間を意味する。上記の約束事に基づき、
システムのユニット間で可能な種々のトランザクション
が、どのように進行するかを検査することが可能にな
る。
【0076】これらのトランザクションには、基本的
に、下記の4つのタイプがある。 (1) データの項目を読み出すために、あるプロセッサi
(iは正の整数)により行われるシステム・メモリ5へ
のアクセス: このタイプのトランザクションは、プロ
セッサによりアクセス要求信号ABREQ(i)を提示
し、その後に、アドレスおよび読み出しのコマンドを送
ることにより始動する。
【0077】(2) データの項目を書き込むために、ある
プロセッサiにより行われるシステム・メモリ5へのア
クセス: このタイプのトランザクションは、アクセス
要求信号ABREQ(i)を提示し、その後に、アドレ
スおよび書き込みのコマンドを送ることにより始動す
る。 (3) 他のプロセッサY(Yは正の整数)により始動する
読み出しのトランザクションにおいて、あるプロセッサ
iにより行われる介在: この介在は、メモリから読み
出されるデータを置き換える際に、プロセッサYに対し
データの項目を供給する目的で遂行される。
【0078】さらに詳しく説明すると、このタイプのト
ランザクションは、データの項目がモディファイされ、
かつ、プロセッサi内で使用可能である旨を、状態信号
SNOOP OUT(i)のラインを介してシステムメ
モリ制御ユニット15に通知することにより始動する。 (4) I/Oメッセージ、すなわち、プロセッサ間で直接
行われる通信: このトランザクションにおいては、あ
るプロセッサI(Iは正の整数)が、例えば、周辺機器
に対する制御機能を遂行するような他のプロセッサYへ
直接にデータの項目を送る。
【0079】このタイプのトランザクションは、アドレ
スによってメモリの外側のスペースが指定されると共
に、プロセッサ(または、信号I/O)が特定されると
いう理由のみにより、書き込み動作と異なる。ここで、
一つの例として、周期P1において一つの(または二つ
以上の)アクセス要求信号ABREQ(i)が提示され
ているような図4のダイアグラムを詳細に考察すること
とする。
【0080】アービトレーション用のシステムメモリ制
御ユニット15がアクセス要求を受け取った場合、この
ユニット15は、周期P2においてバス許可信号ABG
RANT(1)を提示することにより、プロセッサ1に
対するアクセスを許可する(図4中のABGRANT
(i)の最初の#1)。このアクセスは、予め定められ
た優先順位の規準に従い許可される。例えば、かなり前
にバスへのアクセスを獲得したプロセッサに対しアクセ
スが許可される。
【0081】プロセッサ1がバス許可信号ABGRAN
T(1)を受信した場合、このプロセッサ1は、例えば
モジュールAを指定するためのメモリアドレスをアドレ
ス/コマンド転送用バス(ACBUS)上に送出する
(周期P3)。システムメモリ制御ユニット15は、こ
のアドレスを受け取り、モジュールAが空いていること
を確かめる。すなわち、モジュールAが、既に、読み出
し動作や書き込み動作に関与していないことを確かめ
る。そして、受け取ったアドレスをメモリアドレス用チ
ャネル(MADDR)18上に送出することにより、モ
ジュールAを始動させる。このモジュールAの始動は、
適切なモジュール始動信号およびモジュール選択信号を
生成することによって実行される。
【0082】さらに、一つの例として、周期P4の期間
でアドレス指定がなされることにより始動するモジュー
ルAは、その後の周期P7の期間で、読み出された情報
をメモリデータ入力/出力チャネル(MDAT)19上
に出力する。換言すれば、上記の例において、読み出し
サイクルは、その動作を実行するために4つのクロック
周期を必要とする。
【0083】周期P7の期間では、システムメモリ制御
ユニット15は、モジュールAからの出力を可能にす
る。さらに、システムメモリ制御ユニット15は、チャ
ネル20を介してのデータチャネル制御ユニット(DC
B)16からの出力を可能にする。この場合、メモリデ
ータ入力/出力チャネル19をデータチャネルI/OD
1に接続することにより、モジュールAの出力側からプ
ロセッサ1にデータが転送される。このようにして、プ
ロセッサ1により要求される読み出し動作が完了する。
【0084】周期P4からP7までの期間では、モジュ
ールAに対する他の読み出し動作または書き込み動作が
遂行され得ないことは、明らかである。さらに、周期P
4の期間では、他のモジュールのアドレスを指定する目
的でメモリアドレス用チャネル(MADDR)18を使
用することは不可能である。同じように、周期P7の期
間では、メモリと他のデータチャネルI/ODとの間で
他のデータを転送する目的で、メモリデータ入力/出力
チャネル(MDAT)19およびデータチャネル制御ユ
ニット(DCB)16を使用することも不可能である。
【0085】上記のように占有されたリソースの状態
は、システムメモリ制御ユニット15の有限状態ロジッ
クにより考慮される。しかしながら、一度モジュールA
内で読み出し動作が開始されると、メモリアドレス用チ
ャネル(MADDR)18は、空き状態になる。このた
めに、プロセッサ1とモジュール7との間で開始される
トランザクションの確認を完了させるために何が適して
いるかを考慮する前に、モジュールB、モジュールC、
モジュールD、モジュールE、またはモジュールFに関
係する他の動作が始動可能になる。
【0086】周期P3の期間では、システムバスである
アドレス/コマンド転送用バス(ACBUS)17上に
存在するアドレスが、システムメモリ制御ユニット15
によってのみでなく、プロセッサ2、3および4によっ
ても受信される。これらのプロセッサ2、3および4
は、同じアドレスにより指定される情報が、それぞれの
キャッシュメモリ内に存在するか否か、そして、この情
報がどのような形(共有、モディファイ等)で存在する
かを検査するために配置される。
【0087】もし、このような情報が存在しないか、ま
たは、共有されているのみであるならば、種々のプロセ
ッサは、周期P4の期間において、システムメモリ制御
ユニット15に対し、対応する表示(データなし/共
有:NULL/S)を有する状態信号SNOOP OU
T(i)を送り込む。さらに、周期P5の期間におい
て、システムメモリ制御ユニット15は、NULL/S
の表示がなされた出力信号ARESPをすべてのプロセ
ッサに送ることにより、種々のプロセッサにおいてキャ
ッシュメモリの状態に対する更新の動作が要求されるこ
とを確認する。
【0088】ここで、周期P3の期間において、読み出
し動作に関し、プロセッサ2は、システムバスへのアク
セスを許可されるものと仮定する。周期P4の期間にお
いて、プロセッサ2は、モジュールA(2>A)の読み
出し動作のために、システムバス上にアドレスを送出す
る。このアドレスは、モジュールAの読み出しサイクル
をたった今始動させたばかりのシステムメモリ制御ユニ
ット15により受信される。
【0089】このような構成によれば、システムメモリ
制御ユニット15が、モジュールAにより構成されるリ
ソースが使用可能ではないことを検査した場合に、上記
のユニット15は、メモリアドレス用チャネル(MAD
DR)18上にアドレスを転送しない。さらに、上記の
システムメモリ制御ユニット15が、プロセッサ2、3
および4から、読み出し動作の際に、キャッシュメモリ
内に含まれるデータの項目が入っていない旨の確認を受
け取った場合に、上記のユニット15は、読み出し動作
が実行されず、プロセッサ2が読み出し要求を繰り返し
提示しなければならない旨をすべてのプロセッサに通知
する。
【0090】それゆえに、周期P7の期間において、プ
ロセッサ2は、アクセス要求信号ABREQ(2)を再
提示し、さらに、周期P8の期間において、システムメ
モリ制御ユニット15は、バス許可信号ABGRANT
(2)を再提示する(この場合、より高い優先順位をも
つ要求が、他のプロセッサにより同時になされることは
ないと仮定している)。
【0091】さらに、周期P9の期間において、プロセ
ッサ2は、アドレス/コマンド転送用バス(ACBU
S)上にアドレスを再度送り込み、モジュールAに対し
読み出し動作を要求する。この場合、必要とされるリソ
ースが空いているので、次のような動作が遂行される。
【0092】システムメモリ制御ユニット15からメモ
リアドレス用チャネル(MADDR)18上へアドレス
が転送される(周期P10)。そして、周期P13の期
間において、プロセッサ2から、メモリデータ入力/出
力チャネル(MDAT)19、データチャネル制御ユニ
ット(DCB)16およびデータチャネルI/OD2を
介して、要求したデータの項目が受信される。
【0093】ここで、プロセッサ3がバスへのアクセス
を獲得した場合に、このプロセッサ3は、周期P5の期
間において、読み出し動作のためにモジュールCに向け
られたアドレスをアドレス/コマンド転送用バス(AC
BUS)上に送出する。この場合、モジュールCが空い
ているので、システムメモリ制御ユニット15により読
み出し動作が開始され得る。そして、この読み出し動作
は、既に説明がなされている時間的な流れに従って行わ
れる。この時間的な流れは、必ずしも繰り返す必要はな
い。この理由として、モジュールCから読み出されるデ
ータの項目は、プロセッサのキャッシュメモリのいずれ
にも存在しないという仮定がなされていることが挙げら
れる。
【0094】また一方で、あるキャッシュメモリ内にデ
ータの項目が存在し、かつ、モディファイされている場
合、トランザクションは、次のような異なる形で進行す
る。例えば、周期P6の期間において、プロセッサ4が
アドレス/コマンド転送用バス(ACBUS)へのアク
セスを獲得したと仮定した場合に、このプロセッサ4
は、モジュールBに向けられたアドレスをアドレス/コ
マンド転送用バスに送出する。
【0095】システムメモリ制御ユニット15は、メモ
リアドレス用チャネル(MADDR)18上にアドレス
を転送し(周期P7)、モジュールBを始動させる。さ
らに、上記のシステムメモリ制御ユニット15は、状態
信号SNOOP OUT(i)に基づき、要求している
データの項目が、他のプロセッサのキャッシュメモリ内
に存在する旨の表示を受け取る(例えば、状態信号SN
OOP OUT(3)によれば、プロセッサ3は、モデ
ィファイ(MODIFY)の状態にある)。
【0096】それゆえに、システムメモリ制御ユニット
15は、「ARESP=MODIFY」の表示(周期P
8)により、アドレス指定がなされたデータの項目が、
メモリから供給されずにプロセッサから供給される旨を
すべてのプロセッサに通知する。プロセッサ3は、すべ
ての要求が承認されたことを認識する。さらに、周期P
10の期間において、システムメモリ制御ユニット15
は、プロセッサ3から、データチャネルI/OD3、デ
ータチャネル制御ユニット(DCB)16およびデータ
チャネルI/OD4を介してプロセッサ4へ、モディフ
ァイされたデータを転送することを可能にするような形
でデータチャネル制御ユニット(DCB)16を制御す
る。また一方で、信号出力の提示を排除するためのコマ
ンドOENBの作用により、モジュールBから読み出さ
れたデータの項目は、モジュールの出力側からは転送さ
れない。
【0097】好ましくは、プロセッサ3からの出力デー
タはまた、既に存在するデータの項目を置き換える目的
でモジュール内に書き込むために、モジュールBにも転
送される。考えられ得る最後のタイプのトランザクショ
ンは、書き込みのトランザクションである。
【0098】例えば、周期P8の期間において、プロセ
ッサ1は、システムバスへのアクセスのためにアクセス
要求信号ABREQ(i)を提示する。ここで、より高
い優先順位を有する他のアクセス要求が全くない場合に
は、プロセッサ1は、アドレス/コマンド転送用バス
(ACBUS)へのアクセスを獲得する(周期P9、バ
ス許可信号ABGRANT(1)が提示される)。
【0099】それゆえに、周期P10の期間において、
プロセッサ1は、モジュールBに対しアドレスを送出し
(1>B)、かつ、アドレス/コマンド転送用バス(A
CBUS)上に書き込みコマンドを送出する。システム
メモリ制御ユニット15がリソースに関する争いを確認
しないという仮定の下に、周期P11の期間において、
上記アドレスが、メモリアドレス用チャネル(MADD
R)18に転送される。さらに、書き込むべきデータの
項目が、データチャネルI/OD1からメモリデータ入
力/出力チャネル(MDAT)へ転送される。
【0100】ここで、リソースが使用可能でない場合
か、または、メモリモジュールが動作中であるという理
由がある場合か、または、周期P11の期間でメモリデ
ータ入力/出力チャネル(MDAT)19が動作するこ
とが予想されるという理由がある場合(モディファイ信
号MODIFYの後に動作するであろう)、データの項
目およびアドレスの転送は阻止されるであろう。さら
に、周期P11の期間において、システムメモリ制御ユ
ニット15は、リトライ信号RETRYを提示するであ
ろう。
【0101】この場合、他のプロセッサにより提示され
たモディファイ要求(MODIFY)と一緒に提示され
る書き込み要求は、次のような2つの異なる方法で処理
することが可能なことは、いうまでもないことである。
まず第1に、各々のモディファイが提示された場合に、
対応するデータの項目が、書き込み動作以前にメモリ内
で更新されるように決められているときは、書き込み要
求は、モディファイ要求と衝突する。しかしながら、こ
の場合、モディファイ要求が書き込み要求よりも高い優
先順位を有しているために、この書き込み要求は、シス
テムバスへのアクセスを許可されない。
【0102】また一方で、たった今、モディファイ信号
MODIFYによる他のプロセッサの介在を生じさせた
ばかりの読み出し動作が、モディファイを意図した読み
出し動作RWIT(すなわち、読み出しデータが今後モ
ディファイされるであろうことは、既に知られている)
である場合、メモリ内でのデータの項目の更新は、無意
味なものとなる。それゆえに、一つのプロセッサから他
のプロセッサへデータの項目を転送するために、複数の
データチャネルの一つに対するアクサス要求が同時に差
し出された場合でも、書き込み要求に関しシステムバス
へのアクサスを許可することが可能になる。
【0103】換言すれば、2種の要求の衝突による争い
が生ずることなく、2つのデータの時間的な重ね合わせ
が実現される。このようなことは、一般のシステムのバ
スアーキテクチャでは、不可能であろう。この時間的な
重ね合わせはまた、プロセッサ間のデータ交換動作と、
メモリの読み出し動作との間で、リトライ信号RETR
Yを用いてアクセスの衝突を解消することにより可能で
ある。
【0104】上記の仮定によれば、例えば、周期P1O
の期間において、プロセッサ3が、データ書き込みのた
めのアクセス要求を提示し(アクセス要求信号ABRE
Q(3)が提示される)、かつ、周期P11の期間にお
いて、システムメモリ制御ユニット15が、システムバ
スへのアクセスを許可した場合(バス許可信号ABGR
ANT(3)が提示される)、プロセッサ3は、プロセ
ッサ1に対し向けられた信号I/Oと同じ信号により動
作を指定するためのアドレスをアドレス/コマンド転送
用バス(ACBUS)17上に送出する。
【0105】システムメモリ制御ユニット15が、I/
O動作はプロセッサ1に対し向けられたものであり、リ
ソースの争いは生じないことを確認した場合、このユニ
ット15は、データチャネル制御ユニット(DCB)1
6に対し、データチャネルI/OD3からデータチャネ
ルI/OD1へデータの項目を転送するように命令す
る。これと同時に、データチャネル制御ユニット16
は、メモリから読み出されたデータを、メモリデータ入
力/出力チャネル(MDAT)19からデータチャネル
I/OD2へ転送するように命令される。
【0106】これまで述べてきた説明は、図11に示し
たように、データチャネル制御ユニット(データ・クロ
スバー(DCB))16がデータ保持用素子を全くもっ
ていない場合のアーキテクチャに言及している。それゆ
えに、データの項目の転送は、データチャネル制御ユニ
ット16を介し、一つの時間周期でもって行われる。
【0107】したがって、任意のプロセッサから出力さ
れるべきデータは、システムバスに対しアドレスが提示
される時間周期の後に続く時間周期において転送される
ように決められている。この時間周期の差により、シス
テムメモリ制御ユニット15は、要求されている動作に
対応するリソースが使用可能であるか否かを検査するた
めの時間が与えられる。
【0108】一つの時間周期において、データチャネル
制御ユニット16を介してデータが転送される際には、
すべての長さのデータチャネルI/OD(i)、データ
チャネル制御ユニット16、および、メモリデータ入力
/出力チャネル19を通って上記の一つの時間周期内に
データが伝達されることが前提条件となる。この場合、
クロック周期は、この前提条件により下限が決まる。
【0109】本発明の他の態様によれば、クロスバー相
互接続ロジックは、入力保持レジスタと、出力保持レジ
スタとを備える。前者の入力保持レジスタは、受信部2
1、22、23、24および25のすぐ下流側の最初の
位置に配置される。また一方で、後者の入力保持レジス
タは、出力側のドライバ25、26、27、28および
29の上流側の最初の位置に配置される。
【0110】入力保持レジスタのみを採用した場合、デ
ータパス、すなわち、データの経路は2つの流れに分割
される。これらの流れの各々は、2つの連続するクロッ
ク周期に従って移動することが可能である。すなわち、
この場合は、データが移動する全時間期間が、図3を参
照したときに考えられる時間期間に等しくなるにして
も、絶対的な時間は顕著に短くなる。
【0111】さらに、入力保持レジスタおよび出力保持
レジスタを採用した場合、データパスはのみを採用した
場合、データの経路は3つの流れに分割される。これら
の流れの各々は、3つの連続するクロック周期の一つに
従って移動する。上記のいずれの場合においても、メモ
リデータ入力/出力チャネル(MDAT)19上で非常
に高速の転送速度が得られる。さらに、異なるチャネル
からのデータ転送の位相に関し部分的な重ね合わせを行
うことも実現される。
【0112】さらに、このようなデータパスの細分によ
り、メモリとデータチャネル制御ユニット(DCB)と
の間、および、データチャネル制御ユニット(DCB)
とプロセッサとの間で、異なるデータ転送の並列性を許
容することができるようになる。この結果、個々のプロ
セッサの端子数を顕著に節減することが可能になる。図
5は、図1のマルチプロセッサ・システムのデータ・ク
ロスバーの好ましい具体的構成例を示す概略的なブロッ
ク図である。
【0113】ここでは、本発明の実施例のマルチプロセ
ッサ・システムばかりでなく、本発明に関係する他の概
念にも適用することが可能なデータ・クロスバー、すな
わち、データチャネル制御ユニットの構成をブロック形
式で図示することとする。図5において、図2のブロッ
ク図で既に示した構成要素に対応する機能部分は、同一
の参照番号を付して表すこととする。
【0114】図5に示すように、メモリデータ入力/出
力チャネル19は、64+8ビットにより構成される。
このような構成においては、8バイトの並列形式(すな
わち、二重のワード)で行われるメモリへのデータ転
送、またはメモリからのデータ転送と、その後に続く8
バイトのエラー訂正コード(ECC)とが可能になる。
データチャネル19は、受信部35およびドライバ29
に接続される。
【0115】受信部35の出力は、メモリから受信され
るデータを保持するためのデータ保持用のレジスタ37
に接続される。レジスタ37の出力は、シンドローム生
成用ロジック(SYNDR GENと略記されることも
ある)38に接続されると共に、一般のタイプのエラー
訂正ネットワーク(DATA CORRECTIONと
略記されることもある)39に接続される。
【0116】シンドローム生成用ロジック38は、受信
した情報を分析し、起こり得る訂正可能なエラーと、同
様に起こり得る訂正不可能なエラーとを認識する(後者
の訂正不可能なエラーに対しては、「エラー訂正不可
能」を表示する出力信号を提示する)。さらに、上記の
シンドローム生成用ロジック38は、訂正可能なエラー
を訂正するために、エラー訂正ネットワーク39のロジ
ックを制御する。
【0117】さらにまた、上記のシンドローム生成用ロ
ジック38は、バイトの情報の各々に対し、パリティ制
御用バイトを関連づける。このパリティ制御用バイト
は、ロジックシンドローム生成用ロジック38により、
エラー訂正ネットワーク39のロジックに転送される。
エラー訂正ネットワーク39のロジックは、出力チャネ
ル40上に8バイトの情報を提供する。さらに、8バイ
トの情報の各々の後に、一つのパリティバイトが続く。
【0118】出力チャネル40は、4つのグループのロ
ジック回路41、142、143および144に対し情
報を分配する。これらのロジック回路の各々は、プロセ
ッサのデータチャネルに連結される。これらの4つのグ
ループのロジック回路41、142、143および14
4は、互いに同じタイプのものなので、ここでは、デー
タチャネルI/OD1に連結される1つのグループのロ
ジック回路41のみを詳細に説明することとする。
【0119】ロジック回路41は、第1の72バイトの
レジスタ42を備える。このレジスタ42の入力は、出
力チャネル40に接続される。また一方で、レジスタ4
2の出力は、18の要素からなる複数のグループとし
て、マルチプレクサ31に接続される。このマルチプレ
クサ31との接続により、レジスタ42の出力は、各々
が18の要素からなる11のグループの入力を有するマ
ルチプレクサ31の入力グループを形成する。
【0120】マルチプレクサ31の出力は、18のセル
レジスタであるDO1用レジスタ44に接続される。こ
のDO1用レジスタ44の出力は、ドライバ25の入力
に接続される。このドライバ25の出力は、データチャ
ネルI/OD1に通ずる。マルチプレクサ31の4つの
グループの入力45は、出力チャネル40に直接接続さ
れる。
【0121】残りの4つのグループの入力は、それぞ
れ、各々が18本のワイヤからなる3つのチャネル4
6、47および48に接続される。これらの18本のワ
イヤに対し、3つのグループのロジック回路142、1
43および144が、2バイトの情報と、これに続く一
つのパリティバイトを供給する。上記マルチプレクサ3
1は、デコーダ36により生成される適切な選択信号に
よって制御される。このデコーダ36の制御機能によっ
て、DO1用レジスタ44は、連続的なローディングが
可能になる。そして、それゆえに、チャネル40上に存
在するか、または、レジスタ43内に保持されている二
重のワードから抽出される一対のバイトの情報を、デー
タチャネルI/OD1へ連続的に転送することが可能に
なる。上記マルチプレクサ31はまた、データチャネル
I/OD2、I/OD3およびI/OD4から、それぞ
れロジック回路142、143および144を介して個
々にやって来る一対のバイトの情報(および、関係する
パリティバイト)を、データチャネルI/OD1へ転送
することも可能にする。
【0122】チャネル40から二重のバイトを直接選択
するマルチプレクサ31により提供される可能性によっ
て、チャネル40上に存在する二重のバイトに関しDO
1用レジスタ44をローディングし、これと同時に、チ
ャネル40上に存在する二重のワードに関しレジスタ4
2をローディングすることが可能になる。このようにし
て、読み出し動作により明確にアドレス指定がなされた
二重のバイトのプロセッサへの転送を、かなりの高速で
行うことができる。
【0123】レジスタ42内に保持されている他の二重
のバイトは、適切な順番で前者の二重のバイトの後に付
加することができる。しかしながら、読み出し動作の流
れは、さらに考察する必要がある。以下に、この読み出
し動作の流れについてさらに詳しく述べることとする。
メモリ内へのデータ書き込み、または、プロセッサ間の
データの転送のために、データ・クロスバーは、ロジッ
ク回路41のユニット内に、一つのグループの受信部2
1を備える。この受信部21の入力は、データチャネル
I/OD1に接続されており、その出力は、18のセル
レジスタであるDI1用レジスタ(第1のレジスタ)4
9に接続されている。
【0124】DI1用レジスタ49の出力は、チャネル
50に接続される。このチャネル50は、3つのグルー
プのレジスタ(ロジック)142、143および144
に対し、DI1用レジスタ49内に保持されている情報
を分配する(特に、マルチプレクサ31と等価なマルチ
プレクサに対し)。DI1用レジスタ49の出力はま
た、第2のレジスタ51に接続される。この第2のレジ
スタ51の出力は、第3のレジスタ52の入力およびパ
リティエラー検査用ロジック(PCHECKと略記され
ることもある)。
【0125】さらに、この第3のレジスタ52の出力
は、第4のレジスタ54の入力に接続される。この第4
のレジスタ54の出力は、キャッシュメモリ内の第5の
レジスタ55の入力に接続される。DI1用レジスタ4
9およびレジスタ51は、18のセルをもっているのに
対し、レジスタ52、54および55は、16のセルし
かもっていない。この理由として、後者のセルにおいて
は、パリティビットを保持することは不必要であること
が考えられる。
【0126】レジスタ51、52、54および55のバ
イト出力は、各々が64ビットからなる4つのチャネル
を有するマルチプレクサ56の第1のグループの入力5
7に接続される。他のグループの入力58、59および
60は、ロジック回路41のグループに相当するロジッ
ク回路142、143および144にそれぞれ接続され
る。これらのロジック回路142、143および144
は、それぞれ、データチャネルI/OD2、I/OD3
およびI/OD4に連結される。
【0127】マルチプレクサ56の出力は、8ビットコ
ードのECC(既述のとおり、エラー訂正コードの略)
生成用ロジック(ECC GENと略記されることもあ
る)61の入力に接続される。このECC生成用ロジッ
ク61は、エラーを検出して訂正するためのものであ
る。上記マルチプレクサ56の出力はまた、72ビット
のレジスタ62の入力に接続される。このレジスタ62
は、ECC生成用ロジック61により生成される8ビッ
ト入力形のECCのコードも受け取る。
【0128】レジスタ62の出力は、出力側のドライバ
29の入力に接続される。このドライバ29は、メモリ
データ入力/出力チャネル(MDAT)19に通ずる。
図6は、図5のデータ・クロスバーの動作を説明するた
めのタイミング図である。図6において、図4のタイミ
ング図で既に示した信号の名前に対応する信号のライン
は、図4の信号のラインと同じ意味を有する。
【0129】図6では、説明を簡単にするために、状態
信号SNOOP OUTのダイヤグラムを省略する。ま
た一方で、DIREGのダイヤグラムを、プロセッサに
接続されたチャネルの状態を表すデータチャネルI/O
D(i)のダイヤグラムに付加している。このDIRE
Gのダイヤグラムは、データ・クロスバー(DCB)の
入力側のレジスタ、例えば、レジスタ49およびレジス
タ37の状態を表すものである。さらに、メモリデータ
入力/出力チャネル19の状態を表すメモリデータ入力
/出力チャネル(MDAT)のダイヤグラムと、メモリ
からDCBへとデータが転送されるときの入力側のレジ
スタ37の状態を表すDOREGのダイヤグラムと、D
CBの出力側のレジスタ44の状態を表す状態DO
(i)のダイヤグラムとを、データチャネルI/OD
(i)のダイヤグラムに付加している。
【0130】ここでは、データパスを複数の流れに分割
することにより、例えば10nsecの非常に短いクロ
ック周期(周期的信号CKの時間長に相当する)を用い
ることが可能になる。そして、ほんの2周期の間(各々
の転送に対し20nsec)だけアドレス/コマンド転
送用バス(ACBUS)またはメモリデータ入力/出力
チャネル(MDAT)を占有することが可能になる。
【0131】さらに、各々の転送に対し、8バイトのデ
ータ(2ワード)または多量のデータを転送することが
可能になる。プロセッサのデータチャネルのレベルで
は、データの転送が、クロック周期の時間間隔で実行さ
れる時間毎に、部分的に連続する2バイトの転送形式で
行われる。このようなデータの転送は、前述のアーキテ
クチャにおいて、各チャネルが、使用可能なように調整
されかつ「バッファ機能」を有するリソースをもってい
るという事実を利用することにより実行される。
【0132】このことは、幾つかの異なるデータチャネ
ルI/OD(i)とメモリとの間のデータ転送を時間的
に重ね合わせる可能性をもたらす。このような可能性に
加えて、システムのメモリデータ入力/出力チャネル
(MDAT)およびアドレスバスは、2種のノードを構
成する。これらのノードにより、データおよびアドレス
の連続的なかつ順序立った流れを重ね合わせることがで
きる。さらに、データおよびアドレスに対し関連する相
関関係のラベルを必要とすることなく、種々の動作の管
理および制御が可能になる。この場合、このようなラベ
ルは、余分なものとなる。
【0133】ついで、図6を順次考察していくこととす
る。図6において、一般的なプロセッサ1は、周期P1
において、アクセス要求信号ABREQを提示し、周期
P3において、システムバスおよびデータチャネルに対
するアクセスの許可を受け取る。さらに、周期P5およ
び周期P6において、プロセッサ1は、アドレスとこの
アドレスに関係するコマンドを、アドレス/コマンド転
送用バス(ACBUS)上に送出する。
【0134】さらに、周期P8および周期P9におい
て、システムメモリ制御ユニット15からメモリアドレ
ス用チャネル(MADDR)へアドレスが転送される。
この間に、プロセッサ1は、周期P5において、二重の
バイトのデータをデータチャネルI/OD1上に送出す
る。このようにして送出されたデータは、周期P6にお
いて、DI1用レジスタ49(図5)内で保持される。
そして、このようにして保持されたデータは、その後の
周期において、DI1用レジスタ49からレジスタ5
1、52、54および55へ漸次転送される。
【0135】周期P10において、データチャネルI/
OD1を介して受信された最初の二重のバイトのデータ
は、レジスタ55内に保持される。周期P10におい
て、プロセッサ1は、2番目の二重のバイトのデータを
データチャネルI/OD1上に送出する。この2番目の
データが、DI1用レジスタ49からカスケード接続の
レジスタ51、52、54へ転送されると、この転送さ
れたデータは、周期P10の期間よりレジスタ54内に
保持される。
【0136】同じようにして、プロセッサ1は、周期P
7および周期P8において、3番目4番目の一対のバイ
トのデータをデータチャネルI/OD1上に送出する。
このようにして送出されたデータは、それぞれ、レジス
タ51、52内に保持され、周期P10の期間より使用
可能になる。このようにして、プロセッサ1は、4つの
周期P5〜P8の期間で、連続する8バイトの対のデー
タの転送を実行する。さらに、周期P10の期間より、
マルチプレクサ56の出力において、8バイトのデータ
が並列形式で使用可能である。
【0137】周期P12およびP13において、マルチ
プレクサ56がイネーブルの状態になり、情報がレジス
タ62に転送される。このレジスタ62によって、転送
された情報が保持され、かつ、メモリデータ入力/出力
チャネル(MDAT)上に出力データが保持される。周
期P3において、他のプロセッサ2がアクセス要求信号
ABREQ2を提示し、周期P5において、プロセッサ
1により既に使用されているモジュールとは異なるモジ
ュールの書き込み動作に関するバス許可信号ABGRA
NT2を受け取る。そして、必要なリソースが空いてい
る場合、プロセッサ2は、周期P7および周期P8の期
間で、アドレス/コマンド転送用バス(ACBUS)上
にアドレスを送出し、かつ、周期P7〜周期P10の期
間で、データチャネルI/OD(2)上に4対のバイト
のデータを連続して送出することにより、書き込み動作
を開始して完了させることができる。
【0138】このような情報は、周期P14および周期
P15において、コピーされた後にレジスタ62内に保
持される。それゆえに、2つのプロセッサ1、2からメ
モリへの転送は、部分的な時間の重ね合わせにより行わ
れる。読み出し動作は、書き込み動作とほぼ同じ流れで
もって進行する。
【0139】例えば、周期P5の期間でプロセッサ1か
ら提示されたアクセス要求により、周期P7において、
アクセスの許可が得られる。このアクセスの許可によ
り、周期P9および周期P10の期間において、アドレ
ス/コマンド転送用バス(ACBUS)がアドレスによ
って占有される。さらに、周期P12および周期P13
において、アドレスは、メモリアドレス用チャネル(M
ADDR)18に転送される。
【0140】例えば、周期P20および周期P21にお
いて、読み出されたデータの項目は、メモリデータ入力
/出力チャネル(MDAT)19上で使用可能であり、
周期P21および周期P22において、レジスタ37
(DOREGのダイヤグラム)内に保持される。周期P
22において、マルチプレクサ31およびレジスタ42
は、一対のバイトのデータをDO1用レジスタ44に転
送し、かつ、メモリから受信される8バイトのデータを
すべてレジスタ42内にローディングするように制御さ
れる。
【0141】さらに、周期P22において、メモリデー
タ入力/出力チャネル(MDAT)19およびレジスタ
37が空いた状態になるので、これらのチャネル19お
よびレジスタ37は、例えば他のプロセッサにより予め
定められた別の情報を転送して保持することができる。
周期P23において、DO1用レジスタ44内に保持さ
れた二重のバイトのデータは、データチャネルI/OD
1上に転送され得る。また一方で、上記のDO1用レジ
スタ44では、レジスタ42内に保持されたデータの中
から、マルチプレクサ31により選択された二重のバイ
トのデータがローディングされる。
【0142】周期P24、周期P25および周期P26
において、その後に続く3対のバイトのデータが、デー
タチャネルI/OD1上に転送され、転送動作が完了す
る。この場合、上記の読み出し動作が、他の読み出し動
作と部分的な重ね合わせがなされるような転送動作によ
って遂行することができることは、明らかなことであ
る。
【0143】例えば、周期P3において、書き込み動作
よりもむしろ読み出し動作に関係するアクセス要求が、
プロセッサ2により提示された場合、周期P7および周
期P8の期間でリソースが使用可能であるという仮定が
成り立つときは、周期P18および周期P19におい
て、読み出すべきデータの項目がメモリデータ入力/出
力チャネル(MDAT)上に存在し、さらに、周期P1
9および周期P20において、上記データの項目がレジ
スタ37(DOREGのダイヤグラム)内にローディン
グされるであろう。
【0144】周期P20〜周期P23の期間で、DO1
用レジスタ44(DO(i)のダイヤグラム)へのブロ
ック転送が行われる。さらに、周期P21〜周期P24
の期間で、データチャネルI/OD2への転送が行われ
る。このデータチャネルI/OD2への転送は、DO1
用レジスタとデータチャネルI/OD1の進行の動作に
関する部分的な時間の重ね合わせによって実行される。
【0145】ここで、周期P9において、プロセッサ3
が、書き込み動作のためのシステムバスへのアクセス要
求を行うと仮定する。この場合、上記のアクセス要求が
提示された周期から10クロック周期後にメモリデータ
入力/出力チャネル(MDAT)19が使用可能である
ことが前提条件となる。すなわち、、メモリデータ入力
/出力チャネル(MDAT)が、一方で、周期P5の期
間で差し出されたアクセス要求を満足するように定めら
れているような、周期P20および周期P21におい
て、MDATが使用可能でなければならない。
【0146】それゆえに、一度、システムメモリ制御ユ
ニット15がバスへのアクセスを許可し、対象とする動
作を書き込み動作として認識すると(周期P13および
周期P14)、このシステムメモリ制御ユニット15
は、メモリアドレス用チャネル(MADDR)18上へ
のアドレスの転送を阻止することにより、トランザクシ
ョンを中断させる(周期P16)。さらに、上記のユニ
ット15は、メモリデータ入力/出力チャネル(MDA
T)19上へのデータの転送を阻止する。その後、上記
のユニット15は、出力信号ARESPとして予め定め
られた期間(周期P18および周期P19)に提示され
るリトライ信号RETRYを用いて、プロセッサ3に対
し、周期P21またはその後の周期で強制的にアクセス
要求を繰り返させる。
【0147】それゆえに、一方では、データ転送動作
が、メモリ内に書き込むために9クロック周期を必要と
し、かつ、メモリから読み出すために18クロック周期
を必要とし、他方では、2種の転送動作間の干渉時間、
および、2種の転送動作間で起こり得る衝突時間が、ほ
んの2クロック周期に限定されることが認められる。こ
のために、部分的に時間の重ね合わせがなされた転送が
可能である。このような転送は、各種のメモリ・リソー
ス(モジュール)と、各種のプロセッサのチャネル(デ
ータチャネルI/OD(i))とを使用することにより
実行される。これに加えて、上記の転送は、これらのチ
ャネルに関係するバッファとしてのリソース、直列式の
リソース、および並列式のリソースを使用することによ
っても実行される。これらのリソースは、データ・クロ
スバー(DCB)のロジック内のプロセッサのチャネル
に連結される。
【0148】さらに、図5のブロック図および図6のタ
イミング図に基づき、モディファイされたデータの項目
を他のプロセッサへ転送する際にあるプロセッサによる
介在があった場合でも、転送動作は、対のバイトのデー
タをシリアル形式にして直接に行われることが、すぐさ
ま結論づけられる。さらに詳しくいえば、この転送動作
では、機能的に図4のDI1用レジスタ49と等価なレ
ジスタから、チャネル50、46、47および48の一
つを介して、機能的に図4のDO1用レジスタ44と等
価なレジスタへと対のバイトのデータが転送される。
【0149】図3のタイミング図を参照しながら既に説
明したように、上記の転送動作は、全体として、プロセ
ッサおよびメモリ間の一つまたは2つ以上の転送に対し
時間的に重ね合わせられる。今までは、本発明の特定の
好ましい実施例についてのみ説明してきたが、多くの適
切な変形例が考えられることは明らかである。
【0150】プロセッサおよびメモリモジュールの数
(好ましい実施例においては、4つのプロセッサと、6
つのモジュール)は、メモリの並列性とプロセッサの並
列性との間の並列性の比が任意に設定されるように選択
することができる。多数の並列性を達成するために、さ
らに多くのデータ・クロスバー(DCB)のロジック構
成要素が並列形式で使用され得る。また、この場合、デ
ータ・クロスバーのロジックは、パリティ検査回路以外
に、エラーの検出および訂正のためのエラー訂正部およ
びコード生成部を備えている。さらに、データ・クロス
バーのロジックは、メモリから読み出される情報と、メ
モリ情報の部分的なモディファイのためにプロセッサか
らやって来る他の情報とを結合する(マージングともい
う)ための回路も備えている。
【0151】さらに、アドレスバスおよびコマンドバス
に対するアクセス(ABREQ(i))と、データチャ
ネルに対するアクセス(DBREQ(i))のアービト
レーションのために各々独立の信号を使用することも可
能である。このアービトレーションでは、読み出し動作
/書き込み動作またはその他の動作に関するアクセスの
要求を提示するためのトランザクションや、存在するか
または予定されている必要なリソースの使用可能性に対
し、バスの許可を調整するためのトランザクションを特
徴としている。このような構成により、「リトライ」の
ケースを最小限に減らし、それゆえに、システムバスの
最適な利用を実現することができるようになる。
【0152】同じプロセッサが、連続的な読み出し要求
の後にかなりの程度の連続性でもってデータを受け取る
ことを可能にするために、レジスタ42は、複数のレジ
スタをカスケード接続形式にするか、または、FIFO
(First in-First out)のスタック形式にすることによ
って構成することもできる。リソースの争いがあるよう
な複数種の書き込み動作の場合は、リトライ動作を回避
するために、同じような概念が使用される。さらに詳し
くいえば、このような概念は、図5のレジスタ51、5
2、54および55の下流側に配置される入力バッファ
に各種の書き込み動作を保持すると共に、アドレスを一
時的に記憶するための同じような入力バッファをシステ
ムメモリ制御ユニット15内に設けることにより使用さ
れる。
【0153】このようにすれば、予め定められた周期の
期間内に遂行できない書き込み動作は、必要なリソース
が使用可能になるようなその後の周期にまで延長するこ
とができる。さらに、複数のプロセッサのすべてまたは
その一部が、キャッシュメモリを備えることは必ずしも
不可欠なことではない。この理由として、本発明の主題
を構成するアーキテクチャにより提供される利点は、プ
ロセッサ間のデータ転送が、プロセッサおよびメモリ間
の転送の重ね合わせにより実行されるという事実によっ
て達成されることが挙げられる。
【0154】最終的に、これまでの説明において、一つ
のグループのプロセッサ、すなわち、「一群のプロセッ
サ」をも包含させるように、「プロセッサ」という用語
を使用することができることを明らかにしなければなら
ない。これらのプロセッサは、局所的バスと相互接続が
なされ、かつ、システムバスと通信すると共に、インタ
フェース用アダプタを介してのデータの転送を行うため
の二地点間チャネルと通信することができる。このよう
な構成により、外部的な効果を考慮した場合、一群のプ
ロセッサが、単一のプロセッサとみなせるようになる。
【0155】この場合、幾つかのグループのプロセッサ
をシステムバスに対し直接に接続するというインタフェ
ース用アダプタなしの直接接続も可能である。グループ
内の各プロセッサは、同じデータ転送チャネルに対し直
接に接続される。このデータ転送チャネルは、幾つかの
プロセッサとの接続に関しては分岐データバスと考えら
れ、また一方で、プロセッサの集合体に関し、ならび
に、データチャネル制御ユニット(データ・クロスバ
ー)16との接続に関しては二地点間データバスと考え
られる。
【0156】この場合、当然のことではあるが、データ
の「転送速度」は、より低くなるであろう。この理由と
して、データチャネルに対する負荷が比較的大きくなる
ことが挙げられる。そして、周期的信号CKの周波数を
比較的低い値に設定することが必要になるであろう。二
者択一的な例として、第1の複数のプロセッサの各々
が、複数の二地点間データチャネルを介してデータ・ク
ロスバーと通信し、また一方で、第2の複数のプロセッ
サ(比較的低速で済む周辺制御装置として機能するプロ
セッサ)の各々が、単一の分岐(データチャネル)バス
を介してデータ・クロスバーと通信するようなシステム
の場合を考える。この場合、このバス上のデータ転送
は、転送周波数を不変なままにした状態で(転送される
各ブロックに対し一つのクロック周期で)幾つかのクロ
ック周期にわたり(例えば、2クロック)バスを占有す
ることによって実行される。
【0157】上記の解は、明らかに、データ・クロスバ
ーが、図5に示したようなタイプ、すなわち、バッファ
用レジスタを備えたタイプである場合にのみ好都合であ
る。図7は、図1のマルチプロセッサ・システムを変形
した実施例を示す概略的なブロック図である。図7にお
いては、図1と同じように、本発明のマルチプロセッサ
・システムのアーキテクチャが概略的に図示されてい
る。ここでは、先の図1に示した構成要素と機能的に等
価な構成要素に関しては、同一の番号を付して表すこと
とする。
【0158】図7のブロック図は、プロセッサ1、2
が、一対のプロセッサにより構成されているという事実
のみにおいて図1のブロック図と異なる。図7では、プ
ロセッサ1は、2つのプロセッサ101、102により
構成される。これらの2つのプロセッサ101、102
は、アドレス/コマンド転送用バス(ACBUS)17
およびデータチャネルI/OD1に対し直接に接続され
る。
【0159】さらに、これらの2つのプロセッサ10
1、102は、アービトレーション用のシステムメモリ
制御ユニット15から見れば、互いに競合する2つの独
立したプロセッサとみなせる。この場合、2つのプロセ
ッサ101、102は、コマンドおよびアドレスバスに
対するアクセスばかりでなく、データチャネルI/OD
1に対するアクセスをも考慮したときに、2つの独立し
たプロセッサであると考えられる。
【0160】システムメモリ制御ユニット15は、アー
ビトレーション用ユニットおよび有限状態ロジックの両
方に対し上記の事実を考慮に入れる。ここで、上記の2
つのプロセッサ101、102が、時間的な重ね合わせ
によりデータチャネルI/OD1上でトランザクション
を実行できないことは明らかである。プロセッサ2は、
2つのプロセッサ103、104と、インタフェース用
アダプタであるインタフェース・ロジック105とによ
り構成される。
【0161】これらの2つのプロセッサ103、104
は、互いに通信し合い、かつ、一般的なタイプの局所的
バス106を介してインタフェース・ロジック105と
通信する。このインタフェース・ロジック105は、ア
ドレス/コマンド転送用バス17およびデータチャネル
I/OD2に接続される。さらに、インタフェース・ロ
ジック105は、局所的バス106に対するアクセスの
アービトレーション、すなわち、調整を行う。このアー
ビトレーションは、システムバス(アドレス/コマンド
転送用バス)17およびデータチャネルI/OD2に対
し2つのプロセッサ103、104により提示されるア
クセス要求を認識することにより実行される。
【0162】これらのアクセス要求は、システムバスの
プロトコルおよびタイミングに従って、このシステムバ
スに転送される。局所的バス106が非同期タイプであ
り、プロセッサ103、104の動作が非同期形式で遂
行されることは明らかである。これに対し、インタフェ
ース・ロジック105が、システム内の他の構成要素と
同期して動作するように、周期的信号CKにより時間規
定がなされなければならないことは明らかである。上記
のプロセッサ103、104は、システムバス(アドレ
ス/コマンド転送用バス)17およびデータチャネルI
/OD2に対し直接に通信するので、同じ条件下にある
ことが必要である。
【0163】この場合、プロセッサ103、104は、
システムメモリ制御ユニット15により単一のプロセッ
サとみなされる。そして、インタフェース・ロジック1
05は、一方のプロセッサ、または他方のプロセッサに
対し、受信したメッセージデータを振り分ける役割を遂
行する。今まで本発明の特定の実施例について説明して
きたが、ここでは、ただ単に、本発明のほんの一例を例
証したにすぎないと考えられる。さらに、当業者におい
ては数多くの変形および変更が容易になし得るので、本
文で示したような構成にのみ本発明を限定することは望
ましくない。したがって、本文に添付されている請求の
範囲およびその等価物に記載された発明の範囲内にある
限りにおいては、すべての適切な変形例および等価例が
考えられる。
【図面の簡単な説明】
【図1】本発明の一実施例に従って構成されるアーキテ
クチャおよび共用メモリを有するマルチプロセッサ・シ
ステムを示す概略的なブロック図である。
【図2】図1のアーキテクチャのデータチャネル制御ユ
ニットの具体的構成例を示す概略的なブロック図であ
る。
【図3】図1のアーキテクチャのシステムメモリ制御ユ
ニットの具体的構成例を示す概略的なブロック図であ
る。
【図4】図1のマルチプロセッサ・システムの動作を説
明するためのタイミング図である。
【図5】図1のマルチプロセッサ・システムのデータ・
クロスバーの好ましい具体的構成例を示す概略的なブロ
ック図である。
【図6】図5のデータ・クロスバーの動作を説明するた
めのタイミング図である。
【図7】図1のマルチプロセッサ・システムを変形した
実施例を示す概略的なブロック図である。
【符号の説明】 1,2,3および4…プロセッサ 5…システム・メモリ 10,11,12,13,113および114…モジュ
ール 14…タイマ・ユニット 15…システムメモリ制御ユニット 16…データチャネル制御ユニット 17…アドレス/コマンド転送用バス 18…メモリアドレス用チャネル 19…メモリデータ入力/出力チャネル 31…マルチプレクサ 37,42,51,52,54,55および62…レジ
スタ 41,142,143および144…ロジック回路 44…DO1用レジスタ 49…DI1用レジスタ 56…マルチプレクサ 70…アービトレーション用ロジック 72…有限状態ロジック
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 13/12 310 J 7368−5B (72)発明者 カルロ バニョーリ イタリア国,20131 ミラノ,ビア バラ ッツェ,78 (72)発明者 アンジェロ ラツァリ イタリア国,パビア,27029 ビジェバノ, ビアレ ペトラルカ,20

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 各々のグループが少なくとも一つのプロ
    セッサを含む複数のグループのプロセッサ(1、2、3
    および4)が、複数の共用メモリを構成するモジュール
    (10、11、12、13、113および114)に対
    しアクセスを行い、前記のグループのプロセッサ(1、
    2、3および4)、および、前記の共用メモリを構成す
    るモジュール(10、11、12、13、113および
    114)の動作が、共通の同期信号である周期的信号
    (CK)により時間規定がなされるマルチプロセッサ・
    システムにおいて、 前記周期的信号(CK)により時間が制御されるシステ
    ムメモリ制御ユニット(15)と、 前記のグループのプロセッサ(1、2、3および4)お
    よび前記システムメモリ制御ユニット(15)に接続さ
    れ、かつ、前記のグループのプロセッサ(1、2、3お
    よび4)と前記モジュール(10、11、12、13、
    113および114)との間、および、前記のグループ
    のプロセッサ(1、2、3および4)間で転送されるデ
    ータを除いて、アドレスおよび動作コマンドを前記シス
    テムメモリ制御ユニット(15)に転送する分岐システ
    ムバスであるアドレス/コマンド転送用バス(17)
    と、 相互接続用の複数のロジック回路からなるデータチャネ
    ル制御ユニット(16)と、 前記のグループのプロセッサ(1、2、3および4)の
    各々に対し単一のチャネルを有し、かつ、前記モジュー
    ル(10、11、12、13、113および114)の
    アドレス指定を行うためのアドレスを除いて、前記のグ
    ループのプロセッサ(1、2、3および4)と前記モジ
    ュール(10、11、12、13、113および11
    4)との間、および、前記のグループのプロセッサ
    (1、2、3および4)間でデータを転送するための二
    地点間接続用チャネルである複数のデータチャネル(I
    /O(i)、例えば、I/OD1、I/OD2、I/O
    D3およびI/OD4)とを備え、 該複数のデータチャネル(I/O(i))の各々は、、
    前記のグループのプロセッサ(1、2、3および4)の
    一つを、前記データチャネル制御ユニット(16)に対
    し個別に接続し、 前記マルチプロセッサ・システムは、さらに、 前記システムメモリ制御ユニット(15)により前記モ
    ジュール(10、11、12、13、113および11
    4)のアドレス指定を行うために、前記アドレス/コマ
    ンド転送用バス(17)および前記モジュール(10、
    11、12、13、113および114)に接続される
    メモリアドレス用チャネル(18)と、 前記モジュール(10、11、12、13、113およ
    び114)を前記データチャネル制御ユニット(16)
    に連結するために、該モジュール(10、11、12、
    13、113および114)に対し入力/出力転送を行
    うメモリデータ入力/出力チャネル(19)とを備え、 該データチャネル制御ユニット(16)は、前記複数の
    データチャネル(I/O(i))を前記メモリデータ入
    力/出力チャネル(19)に選択的に接続すると共に、
    該複数のデータチャネル(I/O(i))自身間を選択
    的に接続するために、前記システムメモリ制御ユニット
    (15)により制御され、 前記マルチプロセッサ・システムは、さらに、 前記アドレス/コマンド転送用バス(17)を介して、
    該アドレス/コマンド転送用バス(17)上の前記プロ
    セッサ(1、2、3および4)に送出されるような順序
    立ったかつ関連するコマンドおよびアドレスを受信する
    制御ロジック回路を、前記システムメモリ制御ユニット
    (15)内に備えており、 該システムメモリ制御ユニット(15)は、 前記コマンドの実行のために必要なリソースと、必要な
    時間における該リソースの使用可能性とを指定し、 さらに、前記の関連するコマンドおよびアドレスを前記
    メモリアドレス用チャネル(18)上に転送し、同時
    に、前記リソースが使用可能な場合に、一つのモジュー
    ルを選択するための信号を前記メモリアドレス用チャネ
    ル(18)上に転送し、 そして、前記複数のデータチャネル(I/O(i))自
    身間の選択的な相互接続、および、該複数のデータチャ
    ネル(I/O(i))と前記データチャネル制御ユニッ
    ト(16)における前記メモリデータ入力/出力チャネ
    ル(19)との相互接続に関する指示と時間規定を行う
    ことを特徴とするマルチプロセッサ・システム。
  2. 【請求項2】 前記データチャネル制御ユニット(1
    6)が、入力データを保持するためのレジスタ(37、
    42)およびDI1用レジスタ(49)を有しており、 該レジスタ(37)は、該データチャネル制御ユニット
    (16)と結合する前記メモリデータ入力/出力チャネ
    ル(19)に接続されると共に、該レジスタ(42)お
    よび該DI1用レジスタ(49)は、該データチャネル
    制御ユニット(16)と結合する前記データチャネル
    (I/O(i))に接続される請求項1記載のマルチプ
    ロセッサ・システム。
  3. 【請求項3】 前記データチャネル制御ユニット(1
    6)が、該データチャネル制御ユニット(16)から出
    力されるデータを保持するためのDO1用レジスタ(4
    4)およびレジスタ(62)を有しており、 該DO1用レジスタ(44)は、該データチャネル制御
    ユニット(16)と結合する前記データチャネル(I/
    O(i))に接続されると共に、該レジスタ(62)
    は、該データチャネル制御ユニット(16)と結合する
    前記メモリデータ入力/出力チャネル(19)に接続さ
    れる請求項2記載のマルチプロセッサ・システム。
  4. 【請求項4】 前記メモリデータ入力/出力チャネル
    (19)が、多数の並列形式の前記データチャネル(I
    /O(i))と同じ並列性を有しており、 前記データチャネル制御ユニット(16)が、 該データチャネル制御ユニット(16)と結合する前記
    データチャネル(I/O(i))の各々に対し、連続し
    て受信した複数のデータを累算するためのカスケード接
    続形式の複数のレジスタと、 該複数のデータを、前記の出力データを保持するための
    レジスタ(62)に転送すると共に、前記メモリデータ
    入力/出力チャネル(19)に転送する手段とを有する
    請求項3記載のマルチプロセッサ・システム。
  5. 【請求項5】 前記データチャネル制御ユニット(1
    6)が、 前記メモリデータ入力/出力チャネル(19)における
    前記の入力データを保持するためのレジスタ(42)
    と、前記データチャネル(I/O(i))の一つに出力
    されるデータを保持するためのDO1用レジスタ(4
    4)との間で各々結合するマルチプレクサ(31)を有
    しており、 該マルチプレクサ(31)は、前記の入力データを保持
    するためのレジスタ(42)内に保持されたデータ中の
    連続する部分を、前記データチャネル(I/O(i))
    の一つに出力されるデータを保持するためのDO1用レ
    ジスタ(44)に転送する請求項4記載のマルチプロセ
    ッサ・システム。
  6. 【請求項6】 前記マルチプレクサ(31)が、複数の
    グループの入力を有しており、 該複数のグループの入力の各々は、前記データチャネル
    (I/O(i))の一つから入力されるデータを保持す
    るための複数のレジスタの一つと結合する請求項5記載
    のマルチプロセッサ・システム。
  7. 【請求項7】 前記システムメモリ制御ユニット(1
    5)が、前記プロセッサ(1、2、3および4)の前記
    アドレス/コマンド転送用バス(17)に対するアクセ
    スの調整を行うアービトレーション用ロジック(70)
    を有する請求項1記載のマルチプロセッサ・システム。
  8. 【請求項8】 前記システムメモリ制御ユニット(1
    5)が、 前記プロセッサ(1、2、3および4)の複数のグルー
    プ中の第1番目の要求に応じて、前記モジュールから読
    み出されるデータの項目のモディファイを行うための介
    在要求信号を、前記の複数のグループのプロセッサ
    (1、2、3および4)から受信し、かつ、前記プロセ
    ッサ(1、2、3および4)の複数のグループ中の第2
    番目から該複数のグループ中の第1番目に供給されるよ
    うなモディファイされた一つの単位のデータを転送する
    ように、前記データチャネル制御ユニット(16)を制
    御する手段を有する請求項7記載のマルチプロセッサ・
    システム。
JP00655894A 1993-01-25 1994-01-25 共用メモリを有するマルチプロセッサ・システム Expired - Lifetime JP3645281B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IT93830022:5 1993-01-25
EP93830022A EP0608663B1 (en) 1993-01-25 1993-01-25 A multi-processor system with shared memory

Publications (2)

Publication Number Publication Date
JPH07311751A true JPH07311751A (ja) 1995-11-28
JP3645281B2 JP3645281B2 (ja) 2005-05-11

Family

ID=8215110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00655894A Expired - Lifetime JP3645281B2 (ja) 1993-01-25 1994-01-25 共用メモリを有するマルチプロセッサ・システム

Country Status (4)

Country Link
US (1) US5701413A (ja)
EP (1) EP0608663B1 (ja)
JP (1) JP3645281B2 (ja)
DE (1) DE69323861T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003511755A (ja) * 1999-10-01 2003-03-25 サン・マイクロシステムズ・インコーポレイテッド 共有データキャッシュのための調停プロトコル
JPWO2004107180A1 (ja) * 2003-05-30 2006-07-20 富士通株式会社 マルチプロセッサシステム
JP2017532671A (ja) * 2014-09-22 2017-11-02 ザイリンクス インコーポレイテッドXilinx Incorporated マルチプロセッサシステムにおけるメモリの管理
JP2021093130A (ja) * 2019-12-06 2021-06-17 インテル コーポレイション フレキシブルなオンダイファブリックインターフェイス

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE503506C2 (sv) * 1994-10-17 1996-06-24 Ericsson Telefon Ab L M System och förfarande för behandling av data samt kommunikationssystem med dylikt system
DE19623668C1 (de) * 1996-06-13 1997-10-16 Siemens Nixdorf Inf Syst Anordnung in Mehrprozessor-Datenverarbeitungsgeräten mit einem Interventionen umfassenden Kohärenzprotokoll für Pufferspeicher und Betriebsverfahren hierzu
DE69720002T2 (de) * 1997-12-11 2003-10-16 Bull S.A., Louveciennes Methode um Daten in einem Multiprozessorrechner über einen Crossbarschalter zu übertragen
US6125429A (en) * 1998-03-12 2000-09-26 Compaq Computer Corporation Cache memory exchange optimized memory organization for a computer system
US6442597B1 (en) * 1999-07-08 2002-08-27 International Business Machines Corporation Providing global coherence in SMP systems using response combination block coupled to address switch connecting node controllers to memory
US6467012B1 (en) * 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
FR2797969A1 (fr) * 1999-08-31 2001-03-02 Koninkl Philips Electronics Nv Dispositif a plusieurs processeurs partageant une memoire collective
US6715023B1 (en) * 1999-09-23 2004-03-30 Altera Corporation PCI bus switch architecture
US6766359B1 (en) * 1999-12-29 2004-07-20 Emc Corporation Method and apparatus for utilizing multiple paths in a file transfer utility employing an intermediate data storage system
US6247100B1 (en) * 2000-01-07 2001-06-12 International Business Machines Corporation Method and system for transmitting address commands in a multiprocessor system
US6826619B1 (en) 2000-08-21 2004-11-30 Intel Corporation Method and apparatus for preventing starvation in a multi-node architecture
US6658525B1 (en) 2000-09-28 2003-12-02 International Business Machines Corporation Concurrent access of an unsegmented buffer by writers and readers of the buffer
US6487643B1 (en) 2000-09-29 2002-11-26 Intel Corporation Method and apparatus for preventing starvation in a multi-node architecture
US6772298B2 (en) 2000-12-20 2004-08-03 Intel Corporation Method and apparatus for invalidating a cache line without data return in a multi-node architecture
US7234029B2 (en) 2000-12-28 2007-06-19 Intel Corporation Method and apparatus for reducing memory latency in a cache coherent multi-node architecture
US6791412B2 (en) 2000-12-28 2004-09-14 Intel Corporation Differential amplifier output stage
US6721918B2 (en) 2000-12-29 2004-04-13 Intel Corporation Method and apparatus for encoding a bus to minimize simultaneous switching outputs effect
US6912608B2 (en) * 2001-04-27 2005-06-28 Pts Corporation Methods and apparatus for pipelined bus
US6971098B2 (en) 2001-06-27 2005-11-29 Intel Corporation Method and apparatus for managing transaction requests in a multi-node architecture
JP3757204B2 (ja) * 2002-12-06 2006-03-22 ファナック株式会社 エラー検出/訂正方式及び該方式を用いた制御装置
JP2004355271A (ja) * 2003-05-28 2004-12-16 Toshiba Corp データ転送システム
US7577727B2 (en) * 2003-06-27 2009-08-18 Newisys, Inc. Dynamic multiple cluster system reconfiguration
US20050066097A1 (en) * 2003-09-04 2005-03-24 Matsushita Electric Industrial Co., Ltd. Resource management apparatus
US7246188B2 (en) 2005-02-10 2007-07-17 Qualcomm Incorporated Flow control method to improve bus utilization in a system-on-a-chip integrated circuit
CN100412850C (zh) * 2005-10-17 2008-08-20 应广科技股份有限公司 单芯片多重微控制器的架构及时序控制方法
GB0723422D0 (en) * 2007-11-29 2008-01-09 Level 5 Networks Inc Virtualised receive side scaling
US9473596B2 (en) 2011-09-27 2016-10-18 International Business Machines Corporation Using transmission control protocol/internet protocol (TCP/IP) to setup high speed out of band data communication connections
US9396101B2 (en) 2012-06-12 2016-07-19 International Business Machines Corporation Shared physical memory protocol
US8930507B2 (en) 2012-06-12 2015-01-06 International Business Machines Corporation Physical memory shared among logical partitions in a VLAN
US8880935B2 (en) 2012-06-12 2014-11-04 International Business Machines Corporation Redundancy and load balancing in remote direct memory access communications
CN114297097B (zh) * 2021-12-01 2023-04-14 北京时代民芯科技有限公司 一种众核可定义分布式共享存储结构

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0057756B1 (de) * 1981-02-11 1985-02-20 Siemens Aktiengesellschaft Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen
US5247689A (en) * 1985-02-25 1993-09-21 Ewert Alfred P Parallel digital processor including lateral transfer buses with interrupt switches to form bus interconnection segments
US5067071A (en) * 1985-02-27 1991-11-19 Encore Computer Corporation Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus
GB2188175B (en) * 1986-03-18 1990-02-07 Stc Plc Data processing arrangement
US4985832A (en) * 1986-09-18 1991-01-15 Digital Equipment Corporation SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors
US5297255A (en) * 1987-07-28 1994-03-22 Hitachi, Ltd. Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism
EP0315550A3 (en) * 1987-11-06 1989-10-25 Oryx Corporation Highly parallel computer architecture employing crossbar switch with selectable pipeline delay
JPH01261772A (ja) * 1988-04-08 1989-10-18 Cogent Res Inc コンピュータ及びその動作方法
US5438680A (en) * 1988-04-29 1995-08-01 Intellectual Properties And Technology, Inc. Method and apparatus for enhancing concurrency in a parallel digital computer
IL97315A (en) * 1990-02-28 1994-10-07 Hughes Aircraft Co Multi-group signal processor
EP0451983B1 (en) * 1990-03-29 1995-12-13 Mitsuboshi Belting Ltd. Power transmission belt
US5274768A (en) * 1991-05-28 1993-12-28 The Trustees Of The University Of Pennsylvania High-performance host interface for ATM networks
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003511755A (ja) * 1999-10-01 2003-03-25 サン・マイクロシステムズ・インコーポレイテッド 共有データキャッシュのための調停プロトコル
JPWO2004107180A1 (ja) * 2003-05-30 2006-07-20 富士通株式会社 マルチプロセッサシステム
US7320056B2 (en) 2003-05-30 2008-01-15 Fujitsu Limited Multi-processor system
JP2017532671A (ja) * 2014-09-22 2017-11-02 ザイリンクス インコーポレイテッドXilinx Incorporated マルチプロセッサシステムにおけるメモリの管理
JP2021093130A (ja) * 2019-12-06 2021-06-17 インテル コーポレイション フレキシブルなオンダイファブリックインターフェイス

Also Published As

Publication number Publication date
EP0608663B1 (en) 1999-03-10
DE69323861T2 (de) 1999-10-07
DE69323861D1 (de) 1999-04-15
US5701413A (en) 1997-12-23
EP0608663A1 (en) 1994-08-03
JP3645281B2 (ja) 2005-05-11

Similar Documents

Publication Publication Date Title
JPH07311751A (ja) 共用メモリを有するマルチプロセッサ・システム
US4591977A (en) Plurality of processors where access to the common memory requires only a single clock interval
US4698746A (en) Multiprocessor communication method and apparatus
US4920486A (en) Distributed arbitration apparatus and method for shared bus
US4669056A (en) Data processing system with a plurality of processors accessing a common bus to interleaved storage
WO1988008584A1 (en) Method and apparatus for implementing multiple lock indicators in a multiprocessor computer system
JPH04267464A (ja) スーパーコンピユータシステム
JPS62189549A (ja) 多重階層レベルマルチプロセツサ装置
JPH02500784A (ja) 保留バスにおいて割り込み要求メッセージを処理するノード
JPS60246460A (ja) デジタルコンピユ−タ−システムで交信路の制御を割当てる調停機構
JP2539021B2 (ja) 保留バスに割り込み要求を送る割り込み要求発生ノ―ド
JPH01502628A (ja) 多重ロック指示を使用した多重プロセッサコンピュータシステムにおけるトランザクションを開始する方法及び装置
JPH02503367A (ja) 保留バスを用いて割り込みに応じる装置及び方法
US6473821B1 (en) Multiple processor interface, synchronization, and arbitration scheme using time multiplexed shared memory for real time systems
JPH11212939A (ja) 共通バスによって相互接続されたプロセッサを有するデータプロセッサユニット間でデータを交換するためのシステム
JPH06131244A (ja) 共有メモリの非同期アクセス方式
EP0139568A2 (en) Message oriented interrupt mechanism for multiprocessor systems
US4969089A (en) Method of operating a computer system and a multiprocessor system employing such method
JPH08314854A (ja) データ転送システムおよびこれに関連する装置
JPH0218639A (ja) モジュール式メモリ
JP3141948B2 (ja) 計算機システム
JPH0544238B2 (ja)
JPH1078940A (ja) マルチノード情報処理システムにおけるチケット分配方法
JPH10283302A (ja) 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム
JPH02207368A (ja) マルチプロセッサシステムのシステム制御ユニットをシステム主メモリとインターフェイスする方法及び手段

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050203

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090210

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130210

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 9

EXPY Cancellation because of completion of term