JP2602599B2 - 多重プロセッサ・データ処理システム及びその動作方法 - Google Patents

多重プロセッサ・データ処理システム及びその動作方法

Info

Publication number
JP2602599B2
JP2602599B2 JP4147985A JP14798592A JP2602599B2 JP 2602599 B2 JP2602599 B2 JP 2602599B2 JP 4147985 A JP4147985 A JP 4147985A JP 14798592 A JP14798592 A JP 14798592A JP 2602599 B2 JP2602599 B2 JP 2602599B2
Authority
JP
Japan
Prior art keywords
data
processor
bus
memory
global
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 - Lifetime
Application number
JP4147985A
Other languages
English (en)
Other versions
JPH05158890A (ja
Inventor
ダヴィド・ジェイムス・ホスター
アーマンド・ガルシア
ロバート・バーナード・ピアソン
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 JPH05158890A publication Critical patent/JPH05158890A/ja
Application granted granted Critical
Publication of JP2602599B2 publication Critical patent/JP2602599B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理装置及びその
動作方法に関し、特に多段バス階層構造を含む高性能多
重プロセッサ・システムに関する。
【0002】
【従来の技術】本特許出願は本願と同一人に譲渡された
下記の米国特許出願と関連がある。それらは、ディー・
ホスタほかによる米国特許出願“多重プロセッサ・シス
テム用プロセッサ緩衝記憶インターフェース”(特許出
願番号733517)、エイ・ガーシァほかにより出願
され本願と同一人に譲渡された米国特許出願“多重プロ
セッサ・システム用直列診断インターフェース・バス”
(特許出願番号721807)、アール・ピアソンによ
る米国特許出願“高性能I/Oプロセッサ”(特許出願
番号734359)等である。
【0003】科学計算光学システムなどにおいて、大量
な時間従属データ集合と対話し、可視表示することを必
要とするシステム要求は、処理される全データ集合を記
憶するべき大型高帯域幅ディスク・アレイと、問題集合
をダウンロードする高速ネットワークと、単一シミュレ
ーション時間ステップを処理するに必要な全データを緩
衝記憶する大容量高速メモリーと、データ集合を操作
し、拡張し、可視表示するに適切な演算機能と、実時間
高分解能可視表示装置とを含む。更に、これらの機能は
高度にプログラム可能且つ柔軟性のあるユーザ環境の下
に提供されるということが重要である。
【0004】下記2つの共に本願と同一人に譲渡された
米国特許は多重プロセッサ・システムを示す例である。
第1は、ダスガプタほかにより出願され本願と同一人に
譲渡された“大域バス及びセル・バスの両方に複数の割
込線を有する多重処理システム用割込機構”と称する1
988年4月5日発行の米国特許第4,736,319
号であって、大域バスに接続された監視処理要素を含む
多重処理システムを開示している。そこで、各々が複数
のプロセッサを含む複数のセルが複数のバス・インター
フェース・システムを通して大域バスに接続される。ワ
ークステーションは監視プロセッサに接続されて実行す
るための仕事を多重処理システムに入力する。
【0005】第2は、オールほかにより出願され本願と
同一人に譲渡された“分散型マイクロプロセシング・シ
ステム用アーキテクチャ”と称する1989年10月2
9日発行の米国特許第4,862,350号であって、
複数のマイクロプロセッサ制御装置を有する一次プロセ
ッサをインターフェースする共用メモリー・システムを
開示している。この共用メモリー・システムは RAMと、
RAMを管理する専用プロセッサとを含む。
【0006】
【発明が解決しようとする課題】しかしながら、多重プ
ロセッサにおいて遭遇する1つの基本的問題は共用連結
又は大域バス、及び共用大域メモリーのような共用資源
を有効に利用できるようにすることである。かかる共用
資源をその最大帯域幅の潜在能力で作動し、且つ信頼性
のあるデータ伝送及び記憶を行うことが望ましい。この
問題はプロセッサ、及び I/Oプロセッサ等のような多様
な異なる種類の動作機能を共用資源に接続使用する場合
に提起される。
【0007】従って、本発明の目的は共用システムの資
源を効率よく利用する多重プロセッサ・システムを提供
することである。本発明の他の目的は複雑な高分解能像
を実時間で操作し、処理し、表示することができる高速
データ結合を提供する最良の多重プロセッサ・システム
を提供することである。
【0008】
【課題を解決するための手段】本発明は、上記の問題を
解決し、その目的を達成するため、共用システム資源を
効率良くその帯域幅を利用しうる多重プロセッサ・デー
タ処理システム及びその動作方法を提供する。本システ
ムは各々がデータ・プロセッサを有する複数のプロセッ
サ・ノードを含む型のものである。本発明方法による
と、第1のステップにおいて、データ・プロセッサによ
ノード・バス(プロセッサの内部バス23a、23)
に書込まれるデータは局所プロセッサ・バスに伝送され
る前にバッファ記憶(以下の緩衝記憶と同じ)される。
局所プロセッサ・バスは他のプロセッサ・ノードを有す
る局所プロセッサ・バスか、又はそこに接続されたI/
O通信チャンネル・インターフェース装置である。
【0009】第2のステップにおいて、データ・プロセ
ッサにより書込まれるデータと共に、データ・プロセッ
サから出力したデータイネーブル信号をバッファ記憶
る。第3のステップは、バッファ記憶されたデータを局
所プロセッサ・バスに送信し、バッファ記憶されたデー
タイネーブル信号に応答して、主メモリー書込動作がリ
ード・モディファイ・ライト形式のメモリー動作として
実行されるべきか否かを示す制御信号を局所プロセッサ
・バスに送信し、前記バッファ記憶されたデータイネー
ブル信号を局所プロセッサ・バスに送信する各工程によ
り主メモリー書込動作を実行する。次のステップは、デ
ータと、制御信号と、データイネーブル信号とを局所プ
ロセッサ・バスから大域バスに接続して、主メモリーに
受入れる。大域バスは高速大域バスである。
【0010】主メモリー装置と共同するインターフェー
ス装置はリード・モディファイ・ライト・メモリー動作
を示す制御信号に応答して(イ)主メモリー内の指定場
所からデータを読出し、(ロ)送信されたデータイネー
ブル信号に従い送信された緩衝記憶データを選択的に組
合わせ、(ハ)予め読出され組合わされたデータを指定
した記憶場所に書戻す。
【0011】
【実施例】以下、添付図面に基づき本発明の実施例を詳
細に説明する。図1は本発明の一実施例に基づき構成さ
れ、動作する多重プロセッサ・システムの斜視図であ
り、特に科学計算光学システム(SVS) 10に実施した場
合の構成要素を例示する。 SVS10の目的は対話速度で
複雑なデータ集合を処理し、操作し、可視表示すること
であるが、システム10の使用はこのような重要な1つ
の適用技術にのみ限定されるものではない。
【0012】SVS10は数個の主要な構成要素を含む。
第1の構成要素はデータ処理システム内に実施され、す
べて高速大域バスによって連結された大規模演算機能
と、高速メモリーと、知能 I/Oプロセッサとを具備した
サーバ12である。大域バス,共用バス,及び共通連絡
の各用語は本説明において相互交換可能に使用される。
【0013】第2の構成要素は、例えばインターナショ
ナル・ビジネス・マシーンズ・コーポレイションによっ
て製造されたRISC System /6000(RS/6000)
データ処理システムで使用されるコンソール14である
(RISC System/6000はインターナショナル・ビジネ
ス・マシーンズ・コーポレイションの商標である)。コ
ンソール14は遠隔ワークステーション(図に示してい
ない)からネットワーク・アクセスを与えることができ
る。
【0014】第3の構成要素はコンソール機能を有する
RS/6000データ・プロセッサを含むフレーム・バッ
ファ16である。フレーム・バッファ16は、実時間表
示能力を与えるインターフェースであるANSI標準高性能
並列インターフェース(HIPPI) を介し、高分解能表示装
置18に取付けられたインターフェース及びイメージ緩
衝記憶ハードウェア(ワークステーション)16aを含
む。システム10はその他の構成要素としてディスク・
アレイ20を有する。ディスク・アレイ20はHIPPIイ
ンターフェースを介して55メガバイト/秒の伝送速度
を有する21ギガバイト容量の記憶システムの中に実施
することができる。
【0015】システム10の正確な構成は使用計画に従
って変化し、又図1の構成は発明の実施の際に限定を与
えることを意図するものではない。
【0016】図2はSVS10のサーバ12をブロック
図の形式で例示した図である。サーバ12は印刷回路カ
ード(22)各1枚につき4個のプロセッサP0−P3
で組織され、各プロセッサP0−P3はそれぞれマイク
ロプロセッサ22aを含む。サーバ12はカード8枚ま
でを含むことができ、合計32個までのプロセッサで構
成することができる。各プロセッサ・カード22は局所
プロセッサ・カード(LPC)バス32をSVS大域バ
ス24に結合する汎用バス(緩衝記憶)インターフェー
ス(UBIF)34を含む。又、SVS大域バス24は
複数の大域メモリー・カード26と、複数のI/Oプロ
セッサ・カード28と、コンソール14に対するインタ
ーフェース30とに接続される。
【0017】更に詳細に説明すると、各プロセッサ・カ
ード22(図3)は各々がマイクロプロセッサ22aを
有する4個までのマイクロプロセッサ・ノードP0−P
を含む。本実施例において、各マイクロプロセッサ2
2aはインテル社(Intel Corp.)製のi8
60型(80860)マイクロプロセッサである(i8
60はIntel Corp.の商標である)。各マイ
クロプロセッサ22aは、本実施例では、16メガバイ
ト(MB)の記憶容量を有する局所ノード・メモリー2
2bに対して、ノード・バス23aを介し接続される。
又、各プロセッサ・ノードP0−P3はLPCバス32
に対する緩衝記憶インターフェース(PBIF)22c
を含む。
【0018】LPCバス32は複数のプロセッサ・ノー
ドP0−P3を汎用バス・インターフェースUBIF3
4に接続し、又他の共用資源に対するアクセスを許容す
る。加えて、各プロセッサ・ノードは直列バス(S)に
対するインターフェースを含む。直列バス・インターフ
ェースの詳細はエイ・ガーシァほかにより出願され本願
と同一人に譲渡された米国特許出願“多重プロセッサ・
システム用直列診断インターフェース・バス”(特許出
願番号721807)に記述されている。
【0019】本実施例において、プロセッサ・カード2
2の1つは、ピーク性能が秒当り1.6億(160ミリ
オン)(MIPS) 個、又は秒当り3.2億個の単一精密基準
フローティング・ポイント・オペレーション(MFLOPS)を
可能とする能力がある。8プロセッサ・カード22の完
全構成システムは秒当り12.8億(1.28ビリオ
ン)個の命令、又は40MHz オペレーションと仮定する
と2.56GFLOPSに近いピーク性能を提供する。
【0020】I/Oプロセッサ・カード28(図18)の
各々はプロセッサ・カード22のプロセッサ・ノード
(マイクロプロセッサ)22aに類似のプロセッサ・ノ
ード28aと、2つの HIPPIレシーバ28bと、2つの
HIPPIトランスミッタ28cとを含む。かくして、各 I/
Oプロセッサ・カード(IOP) 28は、各100MB/秒の
伝送速度で動作する能力を有する4個の HIPPIインター
フェースを提供する。 HIPPIインターフェースは高速デ
ィスク・アレイを支援し、 HIPPI取付けフレーム・バッ
ファに対し実時間でイメージを供給し、スーパーコンピ
ュータのような外部装置との高速通信を実現するべく使
用される。
【0021】本実施例において、各大域メモリー・カー
ド26(図19)は128MBか又は256MBのEC
C付ランダム・アクセス・メモリーにより構成される。
サーバ12は4個までの大域メモリー・カード26を含
むことができる。各大域メモリー・カード26はシステ
ム10の各ユーザが感じる程メモリー・アクセス待ち時
間を減少しうる640MB/秒のデータ伝送速度を与え
ることができる。
【0022】これは各大域メモリー・カード26の大域
メモリーを4つのメモリー・バンク(B0−B3)に区
画することによって達成される。その各メモリー・バン
クは個々独立にブロック読出サイクル,頁モード読出又
は書込サイクル,及びランダム読出又は書込サイクルを
実行する能力がある。大域メモリー・カード(GMC)
バス26aは各バンク(B0−B3)が独立して動作可
能であるが、他方、共通の大域バス資源を利用する能力
を有する。
【0023】コンソール・インターフェース30は2つ
のカードに分割され、その1つはサーバ12内にあり、
他方はコンソール14内に存在し、その2枚のカード間
を連結して、サーバの大域メモリー及び直列バスに対す
るアクセスを可能にし、次いで各プロセッサの局所メモ
リー及び緩衝記憶インターフェースPBIFに対するア
クセスを可能にする。
【0024】大域バス24はこれら種々の構成要素を連
結するためエミッタ結合論理(ECL)技術によって実施さ
れ、40MHz オペレーションと仮定すると、1.28ギ
ガバイト/秒の伝送速度が与えられる。各 SVS10のサ
ーバ12は12マスタ装置(すなわち、プロセッサ・カ
ード22,I/O プロセッサ・カード28,又はコンソー
ル・インターフェース・カード30)まで、及び4メモ
リー・カード26までを支援する。
【0025】1つの可能な構成としては、コンソール・
インターフェース・カード30と、8プロセッサ・カー
ド22(又は32プロセッサ)と、4大域メモリー・カ
ード26(各々は合計1024MBの高速共用メモリー
のための256バイト記憶装置を有する)と、高速ディ
スク・アレイ20を支援し、ANSI標準高性能並列イ
ンターフェースHIPPIレシーバ286からデータを
受信し、フレーム・バッファ16に取付けられたHIP
PIトランスミッタ28cにイメージ・データを分配す
る1 I/Oプロセッサ28とを含む。コンソール・ワ
ークステーション14はLANアダプタ及びディスク制
御装置のような標準I/O装置を支援すると共に、ユー
ザに対しSVS10へのインターフェースを提供する。
【0026】図2に見ることができるシステム10の各
構成要素カードはすべて同様な構成を有する汎用バス・
インターフェースUBIF34の1つを含む。UBIF
34は大域バス24に対する共用同期減結合インターフ
ェースを提供し、局所プロセッサ・カード(LPC)バ
ス32又は大域メモリー・カード(GMC)バス26a
に対し局所調停を与え、すべて必要な初期接続手順を実
行し、大域バス24との順序付けを再試行する。本実施
例において、UBIF34はプロセッサ22aのような
局所マスタ(又は主)装置を4個まで、メモリー・バン
クB0−B3のようなスレーブ(又は従)装置を4個ま
で支援する両方向パイプライン緩衝技法を提供する。U
BIF34は32ビット多重の無制限データ・バス幅を
支援し、それが40MHzバス動作及び256ビット幅
データ通路と仮定すると、局所バス32と大域バス24
との間のピーク・データ伝送速度は640メガバイト/
秒となる。
【0027】更に、SVS10の汎用バス・インターフ
ェースUBIF34の構成要素の説明を続ける。図7及
び図9はそれぞれUBIF−A 34a及びUBIF−
D34bモジュールのアーキテクチャを描いた図であ
る。図7はプロセッサ・カード22,I/Oプロセッサ
・カード28,又はコンソールI/Fカード30で使用
するUBIF−Aを示す。図8は下記のように、大域メ
モリー・カード26に使用するUBIF−Aを示す。
UBIF−A 34aは局所バス調停機能(LPC A
RB)76と、4局所装置の各々に対する両方向アドレ
ス及び制御待ち行列と、出力FIFO制御(OFIFO
CTRL78)と、入力FIFO制御(IFIFO
CNTRL50a)と、GB24インターフェース制御
論理(大域バス制御79)とを含む。
【0028】汎用バス・インターフェースUBIF−A
34aは、又4局所装置の各々に対する両方向データ
待ち行列を含む8個の独立したUBIF−D 34bモ
ジュールの高層制御を実施する。本実施例において、各
UBIF−D 34bはデータイネーブル信号,パリテ
ィ・ビット,及びECCビットと共同する32ビット・
データ・セクションを支援する。以下で、UBIF34
機能モジュールの詳細な構成的説明を行う。
【0029】以下、UBIF-A 34a及びUBIF-D 34b
の機能ブロックの各種構成要素を定義する。加えて、付
録Aは大域バス(GB24)の信号の定義を示し、付録B
は局所プロセッサ・カード(LPC)バス32の信号の定義
を示し、付録Cは SVS10で実施するような大域メモリ
ー・カード(GMC26a)の信号の定義を与える。更に、
図24は、プロセッサ・モードで使用したときのUBIF制
御に対する入力及び出力信号を示し、図25はメモリー
・モードで使用したときのUBIF制御に対する入力及び出
力信号を示す。
【0030】すべてOF ,IF ,LB DIR,及
びLB QUIETとラベルが付された制御信号はUB
IF A制御セクションから出力され、8個のUBIF
Dモジュール及びUBIF Aにより内部で記録さ
れ、MID待ち行列を制御するということに注意を要す
る。これはパイプライン・アドレス/データ・サイクル
に関して定義する限りにおいて、LPCバス32,GM
Cバス26a,及び大域バスGB24アーキテクチャに
従う。
【0031】出力待ち行列42,44:これら各ブロッ
クは4つの独立した出力待ち行列を含む。4つの待ち行
列の各々は局所ノード当り8緩衝記憶入力を有する。 入力待ち行列46:このブロックは4つの独立した入力
待ち行列を含む。4つの待ち行列の各々は局所ノード当
り8緩衝記憶入力を有する。
【0032】MID出力待ち行列48:このブロックは4
つの独立した MID出力待ち行列を含む。4つの待ち行列
の各々は局所ノード当り8緩衝記憶入力を有する。付録
Aに示す如く、GB24信号線GB MID(7:0)は大域メ
モリー26応答サイクルにおいて返送されるプロセッサ
識別(ID)信号を搬送し、返送データの宛先を表示する。
MID出力待ち行列48はメモリー・モードでのみ使用さ
れる。
【0033】MID入力待ち行列50:このブロックは4
つの独立した MID入力待ち行列を含む。4つの待ち行列
の各々は局所ノード当り8緩衝記憶入力を供給する。 M
ID入力待ち行列はプロセッサ・モードにおいてのみ使用
される。
【0034】出力FIFO入力レジスタ(OFIR)5
2:このレジスタ(52a)はUBIF−A 34aの
有効な局所アドレス・バス・サイクルを引出し、UBI
F−D 34b(レジスタ52b)の有効な局所データ
・バス・サイクルを引出す。レジスタ52a及び52b
はそれぞれブロック42及び44に含まれている4つの
出力待ち行列を駆動する。
【0035】出力FIFO迂回レジスタ(OFBR)5
4:このレジスタはUBIF−A 34a(レジスタ5
4a)の有効な局所アドレス・バス・サイクルと、UB
IF−D 34b(レジスタ54b)の有効な局所デー
タ・バス・サイクルとを引出す。レジスタは出力迂回路
可能化されたときに、出力待ち行列42,44を迂回
するよう使用される。
【0036】出力FIFO出力レジスタ(OFOR)53:このレ
ジスタは大域バス・トランシーバ34cへ伝送するた
め、出力待ち行列から選ばれた出力をラッチする。
【0037】入力FIFO入力レジスタ(IFIR)5
6:このレジスタはUBIF−A 34a(レジスタ5
6a)の有効な大域アドレス・バス・サイクルと、UB
IF−D 34b(レジスタ56b)の有効な大域デー
タ・バス・サイクルとを引出す。レレジスタ56a,5
6bはそれぞれブロック50,46に含まれている4つ
の入力待ち行列を駆動する。
【0038】入力FIFO迂回レジスタ(IFBR)5
8:このレジスタはUBIF−A 34a(レジスタ5
8a)の有効な大域アドレス・バス・サイクルと、UB
IF−D 34b(レジスタ58b)の有効な大域デー
タ・バス・サイクルとを引出す。レジスタ58a,58
bはそれぞれ入力迂回路が可能化されたときに、入力待
ち行列50,46を迂回する。
【0039】入力FIFO出力レジスタ(IFOR)55:このレ
ジスタは LPCバス32に対して伝送するため、入力待ち
行列から選ばれた出力をラッチする。
【0040】入力FIFO次−近(next−nea
r)レジスタ(INFR)60:(UBIF−A 34
aのみ) このレジスタは、UBIF34が大域メモリ
ー・カード26に使用されたとき、発行する後続の行
(ROW)アドレスと比較するため、最後の有効行アド
レスを大域メモリー・バンクに保管する。この比較の結
果は最初の頁モードDRAMサイクルを可能化するため
に使用されるGMC NENE(3:0)を発生する。
【0041】最終アドレス・レジスタ(3:0)(LA
R(3:0))62:これらレジスタは各大域メモリー
・バンクのために現在の読出ロックアドレス及びプロセ
ッサ識別子PID(7:0)を保管し、大域メモリー2
6のアトミック・リード・モディファイ・ライト・サイ
クルを支援するために使用され、読出ロック/書込アン
ロック・サイクルとして実施される。
【0042】読出/変更/書込レジスタ(RMWR)64:
(UBIF-D 34bのみ) このレジスタは、GB RMW によって示された部分書込サ
イクルにおいて供給される書込データと組合わせるため
の大域メモリー26から読出された読出データを記憶す
る。
【0043】ECCパリティ生成(ECC/P)66:
(UBIF−D 34bのみ)大域メモリー・カード2
6と共に使用されるUBIF34に対し、この論理セク
ションは大域メモリー26の読出オペレーションによっ
て返送された32ビット・データ・スライスの各々に対
するECC及びバイト・パリティ(バイトは処理する1
群のデータの例、以下同じ)を演算する。演算されたE
CCは後続するクロック・サイクル中における誤り検出
及び修正のため、大域メモリー読出データ及び供給され
たECCと共に記録される。
【0044】アドレス・マップ(AMAP)57:このブロッ
クはインターリーブ因数ISEL〔1:0〕,CARDID〔3:
0〕,及びMCARD 〔3:0〕と共に供給されたGB24の
アドレスGB A 〔31:0〕を入力として受取り、GB制
御79に対する各信号,再写像済みフラット(flat)ア
ドレス(RAS/CAS) ,バンク選択,及びアドレス認識(ADR
EC) 信号等を作成する。このブロックはメモリー・モー
ドでのみ使用される。
【0045】誤り検出及び修正(EDC) 68:(UBIF-D
34bのみ) この回路は演算された ECC及び供給された ECCを入力
し、ECCERR, ERRTYPE,及び各32ビット・データ・スラ
イス・セクションの如何なる単一ビット・データ誤りで
も修正するよう使用される32ビット修正ベクトルを発
生する。
【0046】パリティ/ECC 発生(P/ECC) 70:(UBIF
-D 34bのみ) この回路は入力大域バス・データの ECC及びバイト・パ
リティを演算する。演算されたパリティは供給されたパ
リティと比較してGB24のデータ・パリティ誤りをチェ
ックする。GB DPERR はデータ・パリティ誤りが検出さ
れたときは常に発生する。大域メモリー・カード26と
共にUBIF34が使用され、演算された ECCは供給された
データと共に、選ばれた大域メモリー26のバンクに記
憶される。
【0047】パリティ発生/チェック(PGEN/PCHK) 7
2:(UBEF-A 34aのみ) この回路は入力アドレスのパリティを演算し、演算した
パリティを供給したアドレス・パリティと比較する。GB
APERR はアドレス・パリティ誤りが検出されたときは
常に発生する。
【0048】以下、SVS10の各種類のカードに対す
るUBIF34の使用を記述する。プロセッサ・カード及びI/Oプロセッサ・カードの支
以下、4プロセッサ・ノードSVS10のプロセッサ・
カード22,I/Oプロセッサ・カード28,又はコン
ソールI/Fカード30に使用したときのUBIF34
の各機能について説明する。図3はSVS10のプロセ
ッサ・カード22のブロック図である。プロセッサ・カ
ード22は各々がマイクロプロセッサ22a,16MB
の局所専用メモリー22b,バス・インターフェース2
2d,及び緩衝記憶インターフェース(PBIF22
c)を含む同等な4個のプロセッサ・ノード(P0−P
3)を含む。
【0049】PBIF22cは局所プロセッサ・ノード
・データ・バス23aに接続され、又プロセッサ・アド
レス・バス23b及び制御バス23c(図4)にも接続
される。PBIF22cは多数のレジスタを含み、その
動作は後述する。PBIF22cは、又ディー・ホスタ
ほかによる米国特許出願“多重プロセッサ・システム用
プロセッサ・バッファ付インターフェース”(特許出願
番号733517)に詳細に記述されている。
【0050】4プロセッサ・ノード(P0−P3)はL
PCバス32を介して汎用バス・インターフェースUB
IF34を共有する。UBIF34は大域バスGB24
に共通のインターフェースを提供する。すべての大域読
出し,書込み,及びプロセッサ間割込みは共通のUBI
F34を通過する。下記セクションは4ノード・プロセ
ッサ・カードに対しUBIF34によって供給される機
能について説明する。又、図7及び図9のブロック図に
示した回路の詳細を示す図26,図28,図30,図3
1,及び図32を参照する。
【0051】UBIF34出力セクション UBIF34は4局所プロセッサ22aの各々に対する独立
の緩衝記憶又は緩衝技法を提供する。UBIF-A 34aの
出力待ち行列42は4プロセッサ・ノードの各々につ
き、8プロセッサ読出し,書込み,又はプロセッサ間割
込み(IPC) 要求に対する緩衝記憶を実行する。UBIF-A
34aはATYPE ,A(31:0),AP(3:0),LEN
(3:0),PID(7:0),PTAG(7:0),R/−W ,L
OCK及びRMW 等を含み、全アドレス・バス(ABUS)信号に
対して緩衝記憶を与える。
【0052】UBIF−A 34aは、又LPC32及
びGB24に必要なすべてのバス制御及び初期接続手順
信号を供給する。8UBIF−D 34bモジュール
(図31及び図32)はデータ・バス(DBUS)信号
D(255:0),DP(31:0),DE(31:
0),MTAG(7:0),ECCERR,ERRTY
PE,及びGBDPERRのため、4プロセッサ・ノー
ドの各々に対して緩衝記憶を与える。各UBIF−D
34bは共同するパリティ,DP(3:0),データイ
ネーブルBE(3:0),MTAGビット,ECCER
R,ERRTYPE,及びGBDPERRと共に32ビ
ット・データ・スライス,D(31:0)を支援する。
【0053】個有のプロセッサ識別子PID(7:0)
は要求プロセッサ22aからUBIF34に供給され
る。PID(7:0)はHWID(5:0)を局所プロ
セッサ番号LPN(1:0)で連結することによって形
成される。HWID(5:0)はシステムのバックプレ
ンから各カードに供給された独特なUMTID(1:
0)及びCARDID(3:0)を連結することによっ
て形成される。要求プロセッサ22aは、又不調を返答
するかもしれない応答データの再順序付けに対し後続使
用されるPTAG(7:0)を使用して複数の未済読出
要求をタグ付けすることができる。UBIF34は供給
されたPID及びPTAGを残りのアドレス・バス信号
と共に大域バスGB24に伝送する。
【0054】本実施例において、各プロセッサ22aは
1つの未済読出要求のみを持つかもしれないが(UBIF3
4によってではなく、プロセッサによって課された限
定)、多重未済書込要求を持つことができる。各出力待
ち行列42,44は典型的に多くとも1つの大域メモリ
ー26読出要求が続くある少数の大域メモリー26書込
要求に対して0を含む。出力待ち行列42,44のいず
れかに少くとも1つの保留 R/W要求があると、UBIF34
出力制御装置78は緩衝記憶された要求をタスク指名す
るため、GB24を要求する。
【0055】局所バス調停機能 LPC32調停機能(LPCARB)76は LPC32又はGB24の
他の装置に対する要求又は応答サイクルのため、 LPC3
2にアクセスを要求する4個までの局所装置を支援す
る。プロセッサ・カード22の4プロセッサ22aは大
域メモリー26サブシステムに対して読出/書込(R/W)
要求を送信するよう LPC32の調停機能76に対し要求
を発行する。
【0056】通常、UBIF34は LPCバス32のマスタで
あり、プロセッサ22aに対して大域メモリー26読出
データを返送する LPC32データ・バス(LPC-D) に対す
るアクセスを回復するための最高優先権を有する。かく
して、UBIF34は典型的に直ちに読出データをプロセッ
サ22aに返送する一方、プロセッサ22aに対するLP
C-D を許容し、局所 I/O装置又はGB24に対して書込デ
ータを発行する。LPC32のアドレス・バス(LPC-A) はU
BIF34によってではなく、局所マスタ装置によっての
み駆動される。
【0057】LPCARB 76はラウンドロビン方式
を使用して、LPCバス32に対するアクセスを許容す
るが、UBIF34がLPC32の使用を要求したとき
には、UBIF34に対し最高優先権を与える。GB2
4と同様に、LPC−D及びLPC−Aは減結合され、
パイプライン化されて、すべての与えられたLPC32
サイクル中、マスタ装置がアドレス・バスを使用するこ
とができるほか、従装置はデータ・バスを使用すること
ができるということを意味する。かくして、LPCAR
B 76はUBIF34が大域読出データをLPC−D
を介して局所プロセッサ22aに返送している間に、L
PC−Aに対し、プロセッサ22aに対する読出要求の
発行を許可することができる。
【0058】又、 LPCARB 76はプロセッサの出力待ち
行列が全部使用の場合、UBIF34の出力待ち行列42,
44の状態を監視して、GB24 R/Wサイクルの発行を希
望するプロセッサ22aに対し LPC32を許可しないよ
うにする。 LPCARB 76は対応する大域バス出力待ち行
列が全部使用であっても、 LPC32に対し、プロセッサ
22aに対する局所 R/W要求サイクルの発行を許諾す
る。
【0059】出力待ち行列制御 各出力待ち行列42,44は独立の入力段制御装置及び
出力段制御装置によって制御される。 IFIFO CNTRL 5
0a内で実施される入力段制御装置はプロセッサ22a
の R/W要求を待ち、共同する出力待ち行列に対する要求
を待機状態にする。 LPCARB 76は対応する出力待ち行
列に要求を記憶するべく開き入口がある場合にのみ、要
求装置に対してLPCバス32を許可する。出力段制御装
置はその待ち行列に保留要求があるときは常にUBIF34
の出力バスを調停し、必要に応じ、GB24の肯定応答を
待って、他の保留要求の処理に進む。
【0060】読出又は書込要求に応答して肯定応答が要
求されると、いずれか特定のプロセッサ22aからの複
数の緩衝記憶された書込要求は連続サイクルとしてGB2
4に現われることが防止される。
【0061】出力待ち行列解除 各出力待ち行列42,44は、又要求がGB24の宛先
装置に対して伝送され、それが成功した後、出力待ち行
列42,44からのプロセッサ22a要求を待ち行列解
除する責任があるOFIFO CNTRL78内に設定
した対応する待ち行列解除制御装置を持つ。GB24に
対するタスク指名のために、どのプロセッサ22a待ち
行列を選択するかを決めるため、4方法(way)ラウ
ンドロビン方式が使用される。プロセッサ22aのR/
W要求は宛先装置から有効なACK信号を受信した後に
待ち行列解除される。要求は、又どの宛先装置からもA
CK/NAK信号を受信しなかった場合に待ち行列解除
される。
【0062】プロセッサ22aの R/W要求は有効な NAK
信号を受信しない限り再試行される。しかし、局所 SVS
10のシステム装置(LEN(2:1)=0により確認され
る)に対して定められたプロセッサ22aの IPC割込み
サイクルは ACK/NAK初期接続手順を要求せず、出力レジ
スタ(OFOR)に一度伝送され待ち行列解除される。下記の
ように、遠隔 SVS10システム装置に対し予定されてい
るプロセッサ間通信(IPC) 割込サイクルは通常のGB24
プロセッサ22aの要求サイクル同様、同じ ACK/NAK
,再試行,放棄機構を使用する。
【0063】出力迂回路 迂回路はUBIF34の出力に設けられ、プロセッサ22a
の R/W要求が直接 LPC32からGB24に流れることを許
容し、OFBR54a,54b及び TTL/ECLレジスタ付トラ
ンシーバ34cを通してのみ通過する。この迂回路は与
えられたプロセッサ22aに対する対応する出力待ち行
列42又は44が空であるとき、及びGB24に対するア
クセスを待っているいずれか他のプロセッサ出力待ち行
列に保留要求がないときに使用可能となる。それは、AC
K/NAK 表示を保留する出力待ち行列42,44に対し、
他のプロセッサ22a要求があるかもしれないというこ
とに注意が必要である。
【0064】しかし、これら他の要求はGB24に対す
るアクセスを待たないかもしれないので、与えられたプ
ロセッサ22aに対する迂回路を可能化する。しかしな
がら、この迂回路は順序を保持するため、その出力待ち
行列内にいずれか保留要求を有するプロセッサ22aに
よっては使用できない。又、すべてのプロセッサ22a
の要求は、NAK表示が再試行を意味するので、ACK
/NAK表示を保留するそれらに対応する出力待ち行列
に記憶される。かくして、全プロセッサ22aのR/W
要求は、宛先装置による受信成功か、誤り状態のために
放棄されるまで(すなわち、バスはタイムアウトする
か、GB24アドレスが認識されない)、それぞれ対応
する出力待ち行列に記憶される。
【0065】大域バスのパリティ保護 GB24のアドレス・バスA(31:0)、及びデータ・バ
スD(255:0)においてパリティ保護が使用される。
UBIF34の出力段はGB24を駆動したときに、ECC/P
66と共にデータ・パリティを発生し、一方GB24から
受信したときにUBIF34の入力段がP/ECC70と共にデ
ータ・パリティをチェックする。受信したアドレス・パ
リティ・ビットAP(3:0)と比較してA(31:0)に
不良パリティを検出すると、UBIF A からGB APERR が
発行される。
【0066】受信したデータ・パリティ・ビットDP(3
1:0)と比較してD(255:0)に不良パリティを検
出すると、UBIF-D 34bからGB DPERR を発行する。
これらGB24のパリティ誤り信号はコンソール・プロセ
ッサ・インターフェースにより監視される。大域メモリ
ー26応答サイクル中、 LPC GBPERRは読出データと共
に要求プロセッサ22aに返送されて、GB24から受信
したデータのパリティ状況を反映させる。
【0067】大域バス24再試行タイミング 図14は要求UBIF34が観察しうるよう、GB24の典型
的な読出再試行タイミング順次を示す。図に示すよう
に、プロセッサ当り最高バス再試行周期は7サイクル
(又は40MHz と仮定して182MB/秒)である。又、
単一プロセッサ22aからの連続要求がGB24に出力さ
れるかもしれない最高データ速度の8サイクルを示す
(又は40MHz と仮定して160MB/秒)。再試行タイ
ミングとの比較による超過サイクルは、前の要求を待ち
行列解除し、出力待ち行列における次のプロセッサ22
a要求をアクセスした結果生じたものである。UBIF34
は ACK又はバス・タイムアウト表示を受信した後、待ち
行列解除ポインタを進める。
【0068】混合モード・プロセッサ要求 図15は単一UBIF34から連続混合モード・プロセッサ
22a要求サイクルを発行するGB24バスのタイミング
順次を示す。このタイミング順次において、UBIF34は
4局所プロセッサ22aの各々から1つの(又は1以上
の)プロセッサ22a要求を持ち、UBIF34はGB24に
対し瞬時のアクセスが与えられるものと仮定する。この
タイミング図に示すように、第1のプロセッサ22a
( P0)に対し読出要求が発行され、第2のプロセッサ
22a( P1)からの書込要求と、第3のプロセッサ2
2a(P2)からの読出要求と、第4のプロセッサ22
aからの書込要求がそれに続くことがわかる。発行され
たプロセッサ22a要求はいずれも否定応答され(NAKe
d) るべきであり、UBIF34は適切な要求を再発行す
る。
【0069】IPC 割込支援 プロセッサ間割込サイクルは IPC指定 LPCバス32及び
GB24サイクルの使用により支援される。UBIF34の出
力セクションの観点からはプロセッサ22aのR/Wサイ
クルと IPC割込サイクルとは区別できない。プロセッサ
22aのノードは局所プロセッサ・カード22のアドレ
ス・バスを要求することにより(すなわち、 LPC L/−
G(i)=0と共に LPC RREQ(i) を発行する)、及び IPC
割込サイクルとしてABUS形式をタグ付けすることにより
IPC割込サイクルを発生する。
【0070】IPC割込サイクルのため、 LPC LPC ATYPE
=0, LPC A(31:0)はプロセッサ22aの選択
マスクを指定し、 LPC LEN(3:0)はプロセッサ22
aのグループ選択を指定する。 LPC R/W, LPC LOCK,
及び LPC RMW は IPC割込サイクルに対して定義されな
い。UBIF34は通常のプロセッサ22aの R/W要求サイ
クルとして IPC割込サイクルを再待機する。しかし、UB
IF34の入力セクションは通常のプロセッサ22aの R
/W要求サイクルとは別に IPC割込サイクルを復号し、解
釈する。
【0071】局所 SVS10システム装置に対して予定さ
れたプロセッサ IPC割込サイクル(LEN(2:1)=00
により確認された)は ACK/NAK初期接続手段を要求せ
ず、UBIF34の出力レジスタ32cに対して一度伝送さ
れ待ち行列解除される。しかし、遠隔 SVS10のシステ
ム装置に対して予定された IPC割込サイクルは他のGB2
4プロセッサ22aの要求サイクルにおいて実行すると
同様、同一の ACK/NAK,再試行,及び放棄機構を使用す
る。
【0072】UBIF34入力セクション 4ノード・プロセッサ22aカードのUBIF34入力セク
ションは大域メモリー26のサブシステムによって返送
されたバッファ応答データに対して使用される。UBIF3
4の入力セクションは4個の共同する局所マスタ装置の
いずれかに対し、保留読出要求いずれかを有するときは
常にサイクル基準でGB24を監視する。かくして、保留
大域読出サイクルのいずれかが与えられると、入力待ち
行列入力レジスタ,IFIR56a,56bはそれぞれサイ
クル毎にGB24の Dバスを抽出し、合致があるときは常
に記憶されたデータを適当な入力待ち行列に条件付きで
記憶する。復号は最も重要なメモリー識別ビットMID
(7:2)を、UNITID(1:0)及びCARDID(3:0)
によって形成されたUBIFのハードウェアID(HWID(5:
0))に合致させることによって行われ、次いでMID
(1:0)を使用して局所ノードを選択する。
【0073】大域バス・データ・パリティ・チェック 前述したように、UBIF34の入力セクションは受信デー
タD(255:0)に対するパリティを演算し、演算した
パリティを誤りチェックのため受信したデータ・バス・
パリティDP(31:0)と比較する。各UBIF-D 34b
は対応する32ビット・データ・スライスの有効性をチ
ェックし、GB24サイクル毎にデータ・パリティ状況信
号GBDPERR を発生する。8本のGB24データ・パリティ
誤り線GBDPERR(7:0)は共にオア結合されて、誤り報
告のためシステム・バックプレンに駆動する複合GB DP
ERR 信号を形成する。8個のUBIF-D 34モジュール
は、LPC32のバス応答サイクル中、共にオア結合され
て複合 LPC GBDPERR 信号を作成する応答データ及び対
応する GBDPERR信号を返送する。この複合データ・パリ
ティ状況信号はプロセッサ22aが返送データを受信す
るための割込の発生に使用される。
【0074】UBIF34入力迂回路 UBIF34の入力迂回(IFBR58a及び58b)は大域メ
モリー26の応答サイクルを使用可能にし、プロセッサ
の対応する入力待ち行列が空であり、 LPCバス32がUB
IF34に対して利用可能であるときは常に特定のプロセ
ッサ22aに対する入力待ち行列46を迂回する。さも
なければ、応答データは LPC32のバスを介して行われ
る後の伝送のため、対応するプロセッサ22aの入力待
ち行列46において待機する。
【0075】応答サイクル ACK/NAK初期接続手順 GB24又は LPC32のバス応答サイクルに包含される A
CK/NAK初期接続手順がないこと、及び一度プロセッサ2
2aが LPCバス32の作動可能線 LPC RDY(i)を主張す
ると、要求プロセッサ22aは常に読出データを受諾す
ることができるものと仮定すること等に注意するべきで
ある。
【0076】入力待ち行列制御 各UBIF34の入力待ち行列46,50は入力段制御
装置及び出力段制御装置によって個々に制御される。入
力段制御装置はGB24の対応するハードウェアIDに
合致する有効なメモリー応答サイクルを監視する。最下
位2つのMIDビット(GB MID(1:0))が4
プロセッサ22aの入力待ち行列46の1つを選択する
が、GB DCYCLEによって条件付けられた有効な
GB MID(7:2)がHWID(5:0)に等しい
ときに合致が起こる。入力迂回路が可能化され、プロセ
ッサの入力待ち行列に他の応答が存在しないものと仮定
すると、有効なGB24の応答はLPC32のバスを通
して伝送される。
【0077】さもなければ、入力段制御装置は LPC32
のバスに対し後に伝送するため、受信した応答を対応す
る入力待ち行列46,50で待機させる。受信データが
パリティ誤り状況にあった場合も、その結果は応答デー
タと共に返送される。UBIF-D34bモジュールはD(25
5:0),MISC,ECCERR,及びERRTYPE を緩衝記憶し、
UBIF-A 34aはMID(7:0)を緩衝記憶する。すべて
のUBIF34のモジュールはGB24のデータ・バス信号,
GB DCYCLE,GB MID(7:0),及びそれらの対応する
応答ビットを個々に監視し、平行に同一の制御機能を実
行する。
【0078】出力段制御装置は局所装置に対し待機状態
応答サイクルを返送する責任がある。出力段制御装置
は、いずれか待機状態応答が与えられて、LPCバス3
2を調停し、必要に応じ、LPC RDY(i)で示す
作動可能なプロセッサ22aに対してメモリー応答を返
送する。ラウンドロビン方式が使用され、複数入力待ち
行列がデータを含む場合は常に各局所装置に対して応答
を発行する。UBIF34はLPC32のデータ・バス
に対し最高優先権を有する。
【0079】典型的プロセッサ22a R/Wタイミング順
図10乃至図13はそれぞれ LPC32,UBIF34,出力
バス,及びGB24の各種プロセッサ22a読出及び書込
タイミング順次を表わす。図12及び図13に示すタイ
ミング順次は、4つの局所プロセッサ22aはすべて L
PC32の大域メモリー26の要求を同時に(又は連続的
に)発行し、UBIF34のプロセッサ22aの出力待ち行
列は空であるものと仮定する。局所バスを許可する優先
権の順序は、タイミング順次の開始の際(すなわち、バ
ス・サイクル2において)プロセッサ(0)は最高優先
権を持つものと仮定する。
【0080】更に、GB24の調停タイミングは、他のUB
IF34がGB24の使用を試みず、局所UBIF34はGB24
に対する排他的アクセスが与えられるものと仮定する。
タイミング図に示すように、各プロセッサ22aは、そ
れらの対応する大域メモリー26要求を発行するため、
優先権順序で LPC32に対するアクセスが与えられる。
すべての内部待ち行列は、この例においては、タイミン
グ順次の開始時点においては空であると仮定し、他のUB
IF34はGB24を同時に要求しないものとすると、すべ
てのプロセッサ22aの R/W要求は単一サイクルでUBIF
34を通して伝送され(OFBR54a,54bを通る)、
更にGB24を介して伝送するため外部UBIF34の TTL/E
CL出力レジスタ34cにラッチされる。
【0081】又、各プロセッサの R/W要求は宛先装置か
らの肯定応答(ACK) の受信を保留するそれらに対応する
出力待ち行列42,44にも記憶される。肯定応答がな
い場合(no ACK)、UBIF34の出力段はそのサイクルを再
試行する。かくして、全プロセッサ22aの R/W要求
は、宛先装置による受諾に成功するまで、又は誤り状態
の故に放棄されるまで(すなわち、バスのタイムアウト
又はGB24のアドレス認識せず)それらに対応する出力
待ち行列42,44に記憶される。
【0082】プロセッサ間通信(IPC)の支援 前述のように、 SVS10は、プロセッサ22aにより単
一プロセッサ22aに対し、又は一組のプロセッサ22
aに対して割込みを送信することを許容する直接プロセ
ッサ間通信(IPC) 機構を含む。この IPC機構はプロセッ
サ22aノード及びUBIF34両ハードウェアに支持さ
れ、割込みメッセージ・サイクルとタグ付けされている
GB24及び局所バス32の特別バス・サイクルを使用し
て実施される。この点につき、付録Aに示すGB24の信
号の定義における ATYPE信号の定義を参照するとよい。
IPC割込検出機構はUBIF34の外部で実施される。
【0083】図16はプロセッサ22aのノードから発
生する割込メッセージ・パケットの構成を示す。PBIF2
2cは4ビット選択識別子(GSI)及び32ビット・プロ
セッサ選択マスク(PSM) から成る40ビット R/W IPCレ
ジスタ(IPCR)22eを含む。4ビット群選択フィールド
は割込メッセージの宛先群としてプロセッサの組(すな
わち、演算プロセッサ22a又は I/Oプロセッサ28
a)及び SVS10のシステム装置(4つのうちの1つ)
を指定する。32ビット PSMフィールドは選択されたプ
ロセッサ群のどのプロセッサが割込みを受けるべきかを
指定する。
【0084】PSMフィールドのビット位置(i)にお
ける“1”の値が割込みを受けうるプロセッサ(i)を
可能化する。このようにして、システム・プロセッサは
どれでも単一IPC割込メッセージ・サイクルを発行す
ることにより選択された群内のプロセッサの組又はいず
れか他のプロセッサに対し割込みを送信するよう可能化
される。選択される群は32演算プロセッサ22a,I
/Oプロセッサ28a,又は多重装置構造と仮定して局
所SVS10のシステム装置又は遠隔システム装置内に
あるコンソール・プロセッサ等で構成することができ
る。
【0085】割込メッセージ・サイクルは、LEN(3:
0)及びA(31:0)がそれぞれ群選択識別子及びプロ
セッサ選択マスクを指定する場合、それぞれLB ATYPE
=0及びGB ATYPE =0で表示する LPC32バス及びGB
24の特別アドレス・サイクルとして現われる。割込メ
ッセージ・サイクルはPBIF22c(図4,図5)の IPC
割込レジスタ22eに対して要求された値を書込んだ
後、送信割込レジスタ(SIR) に対し如何なる値をも書込
むことにより開始される。PBIF22cはUBIF-A 34a
の出力要求待ち行列42,44に割込メッセージ・サイ
クルを待機させるIR22eの現在値を使用して、 LPC3
2のバスに対し LPC割込サイクルを発生する。UBIF-A
34aはGB24に対応する IPC割込サイクルを後続して
発行する。
【0086】PBIF22c及びUBIF34はそれぞ
れLPCバス32及びLPC ARB76に対し通常の
読出要求を発行して、IPC割込サイクルを発行する。
LEN(2:1)で確認される局所SVS10のシステ
ム装置に対して予定されたIPC割込サイクルはACK
/NAK初期接続手順を必要とせず、GB24 TTL
/BCLレジスタ34cに伝送された後に待ち行列解除
される。遠隔SVS10のシステム装置に対して予定さ
れたIPC割込サイクルは同一のACK/NAK及び再
試行を使用し、正規なGB24プロセッサ22aの要求
サイクルとして放棄機構を使用する。
【0087】図17に例示するように、各UBIF34の I
PC論理34dはGB ATYPE =0で表示する割込メッセー
ジ・サイクルの発生のためサイクル単位基準でGB24の
アドレス・バスを監視する。サイクル検出論理34eは
有効な IPCサイクルを検出すると、プロセッサ選択論理
34fに対し、特定の4ビット群選択識別子と対応する
ハードウェア識別子HWID(4:3)とを比較させ、割込
みを受けるよう選ばれたか否かを確認する。もし、それ
が選ばれた場合、UBIF34はHWID(2:0)を使用し
て、その局所プロセッサに対応するプロセッサ選択マス
クの適当な4ビット・フィールドを選択し、選択された
局所プロセッサの各々に対して1クロック・サイクルの
割込信号を発行する。
【0088】次に、割込選択機構の概要について説明す
る。GSI(3)の状態は演算プロセッサ22aか、又は I
/Oプロセッサ28aを選択する。このフィールドはHWID
(5)と比較される。GSI(2:1)は宛先 SVS10のシ
ステム装置を選択する。又、このフィールドはHWID
(7:6)と比較される。HWID(4:2)はプロセッサ
選択マスク・フィールド内の8個の4ビット・フィール
ドの1つの選択に使用される。 IPCINTR(3:0)は、
各々がプロセッサ22a又は28aの関係する方の割込
入力に接続される選択プロセッサ割込信号である。
【0089】PBIF22cは割込信号 LPC IPCINTR(i)を
使用して、プロセッサが割込みのために使用可能な場
合、プロセッサに割込みを起こさせるプロセッサ割込み
レジスタに内部 IPC割込ビットを設定する。割込みが実
行された後、割込まれたプロセッサにより遂行されたソ
フトウェアは割込解除レジスタ(図5の CIR92c)の
対応するビットに“1”を書込むことによって、 IPC割
込ビットをリセットする。
【0090】I/Oプロセッサ・カードの支援 図18はSVS10のI/Oプロセッサ・カード28の
ブロック図である。I/Oプロセッサ・カード28は、
プロセッサ・カード22のノードの1つと同一のプロセ
ッサ・ノードP0と、各々が100MB/秒両方向チャ
ンネルを実施する2つのHIPPIトランスミッタ28
c及び2つのHIPPIレシーバ28bとを含む。セク
ション28cは2つのHIPPIトランスミッタを含む
がHPRセクション28bは2つのHIPPIレシーバ
・チャンネルを含む。HPT28c及びHPR28d内
の2つのチャンネルは2つの100MB/秒通信チャン
ネルを提供する。I/Oプロセッサ・カードのオペレー
ションはアール・ピアソンにより出願され本願と同一人
に譲渡された米国特許出願“高性能I/Oプロセッサ”
(特許出願番号734359)に記載されている。
【0091】プロセッサ・カード22と同様、 I/Oプロ
セッサ・カード28のUBIF34はGB24に対する共用イ
ンターフェースを構成する。UBIF34が提供する機能は
プロセッサ・ノード28aと HIPPIインターフェース2
8c及び28dとの間における局所 LPC32サイクルに
対する支援を加えたほかは上記と同一である。 LPC L/-G
(3:0)制御線を使用して、局所プロセッサ・ノード
28aは、GB24サイクル中にUBIF34が要求を緩衝記
憶し、GB24の必要な初期接続手順のためのGB24サイ
クルを実行するよう LPCバス32に要求することができ
る。
【0092】プロセッサ・ノード28aは、又UBIF34
が LPC32のバスに対して調停制御を与えるような LPC
32サイクルを実行するよう局所 LPCバスに要求する。
かくして、局所サイクルは局所プロセッサ・ノード(P
0)によって発行され、 HIPPIインターフェース28
b,28cによって受理され、又は拒絶される。 HIPPI
インターフェース28b,28cは、又局所プロセッサ
読出要求に応答して読出したデータを返送するよう LPC
バス32に要求することができる。大域バス要求と局所
バス要求間の差異は LPC RREQ又は LPC WREQサイクル
中における LPC L/-G(局所に対し1、大域に対して
0)の値である。
【0093】大域メモリー・カード26の支援 図8は大域メモリー・カード26に対して使用されたと
きのUBIF-A 34aの構成を示す。又、図25,図2
7,図29,図31,及び図32に示すブロック図を参
照する。図19は SVS10の大域メモリー・カード26
のブロック図を示す。大域メモリー・カード26は、各
々がそれぞれ32MB又は64MBの動的ランダム・アクセ
ス・メモリー(DRAM)+8MB又は16MBの ECCメモリーの
アレイ26bを有する4個の個々のメモリー・バンク
( B0− B3)を含む。
【0094】各メモリー・バンクはメモリー・アレイ2
6bと、メモリー制御装置26cと、共通大域メモリー
・カード(GMC) バス26aに対するインターフェース2
6dとを含む。4バンクはすべてGB24に取付けられる
共通のUBIF34を共用する。
【0095】SVS10の大域メモリー26を支援するよ
うUBIF34に与えられた追加の特徴はメモリー・バンク
・スケジューリング,アドレス・インターリービング,
メモリー・サイズ・オプション,誤り検出及び修正,及
び例外処理を含む。
【0096】UBIF34は大域メモリー・カード26に導
入された場合、下記機能を実行する。大域メモリー・バ
ンク・スケジューリング:UBIF34の入力セクションは
4メモリー・バンク( B0− B3) の高レベル・スケジ
ューリングに対して責任がある。すべての大域読出及び
書込要求はメモリー・バンクの1つと共同する4つの8
階層待ち行列の各々を処理するための各対応するメモリ
ー・バンク待ち行列42,44,46において待機す
る。入力迂回路は、UBIF34が大域メモリー26で動作
する場合には使用されない。
【0097】UBIF−A 34aは大域メモリー・バ
ンクを順に配列するため、信号GMC RDY(3:
0)及びGMC LDMAR(3:0)(付録C)を使
用する。GMC RDY(i)は、大域メモリー・バン
ク(i)が新たな要求の受諾のために可能化されていれ
、UBIF−A 34aに通知する。GMC LDM
AR(i)は大域メモリー・バンクのオペレーションの
予定表作成のため、UBIF−A 34aから出力され
。メモリー・バンク(B0−B3)はGMC WREQ
(3:0)及びGMC PGNT(3:0)を使用し
て、読出されたデータを返送するよう大域メモリー・カ
ード・バス26aのデータ・バスを調停する。
【0098】ECCの発生/修正:UBIF-D 34bモジュ
ールは、大域メモリー26に書込まれる各32ビット・
データ・スライスに対し、 P/ECC70を使用して8ビッ
ト ECCコードを発生する。8ビット ECCは後続する読出
オペレーションにおいて誤り検出/チェックを行うた
め、データと共に記憶される。読出オペレーションを通
して供給された8ビット ECCは EDC68と共に単一ビッ
ト誤りを修正し、供給されたメモリー・データの二重ビ
ット誤りの検出に使用される。UBIF34はこの ECC状況
情報( ECCERR及びERRTYPE )を返送データと共にGB24
に供給する。
【0099】大域バス・アドレス再マッピング(AMAP 5
7):UBIF34のこの機能は、MCARD(3:0)及びメモ
リー・インターリーブ因数ISEL(3:0)によって指定
され、システムに導入された多数の大域メモリー・カー
ド26に基づき与えられた大域メモリー・アドレスの再
組織を含む。UBIF34は、A(9:0)列アドレス(CAS)
を指定し、A(19:10)が行アドレス(RAS)を指定す
る場合における大域メモリー・バンクに対する24ビッ
ト“フラット”(flat)アドレスを発生する。4M ビット
DRAM装置を使用したとき、A(21:20)はランク(RAN
K)及び側回路(side)を選択し、A(23:22)は使用さ
れない。16M ビットDRAM装置(10CAS 線,12RAS
線)を使用したとき、A(21:20)は12ビット行ア
ドレスの一部であり、A(23:22)はランク及び側回
路を選択する。
【0100】本発明の一面による大域メモリー26に対
する部分書込は減結合されたリード・モディファイ・ラ
イト・サイクルの実行により行われる。部分書込サイク
ルを示すGM24RMW信号をUBIF34が受信した
とき、UBIF34は大域メモリー26に対するリード
・モディファイ・ライト・サイクルを実行する。UBI
F34は最初読出サイクルを発生し、与えられたデータ
イネーブル信号を使用して、大域バスGB24のデータ
とDRAMデータとを組合わせ、ECCを再計算し、選
ばれたメモリー・バンクに対しそのデータを書戻す。メ
モリー・データに修正不能ECC誤りを検出すると、デ
ータイネーブル信号は使用禁止され、UBIF−D 3
4bモジュールは後に読出されたときに修正不能ECC
誤りとして検出されるよう全“1”にしたECCを書戻
す。
【0101】ACK/NAK 応答:MCARD(3:0)及びISEL
(2:0)の値と供給されたGB24のアドレスとにより
決定された有効なカード・アドレスが与えられたUBIF3
4の入力セクションは宛先大域メモリー26バンクの入
力待ち行列46の状態に基づき、ACK か又はNAK のどち
らかを発生する。
【0102】アドレス及びデータ・パリティ誤りの検
出:UBIF34は、有効な読出又は書込要求を入力したと
きは常に受信した大域アドレスA(31:0)及びデータ
D(255:0)の有効性をチェックする。ECL/TTLレジ
スタ付トランシーバ34cから入力があると、UBIF34
は与えられたアドレス/データのパリティをチェックし
て、それを供給されたパリティと比較する。UBIF-A 3
4aは入力待ち行列入力レジスタIFIR56aに、そのア
ドレスをクロックインした次のクロック・サイクルにお
いて、GBAPERR により不良アドレス・パリティを報告す
る。
【0103】この行は外部に記録され、共用GB APERR
信号を送信し、誤り報告のためコンソール14によって
監視される。大域メモリー26の書込みのため、各UBIF
-D34bは共同する32ビット・データ・スライスのパ
リティを計算し、供給されたパリティと比較する。各UB
IF-D 34bはIFIR56bにデータをクロックインした
次のクロック・サイクルでGBDPERR により不良データ・
パリティを報告し、不良データ・パリティ表示は1サイ
クル後にGB DPERR としてGB24に伝送される。
【0104】次−近演算:次−近(next-near) GMC NE
NE(3:0)は大域メモリー26のバンクに送られた最
後のアドレスを入力待ち行列の次−近レジスタ(IFNR)8
0に保管することによって発生する。入力待ち行列/待
ち行列解除ポインタは、NENE信号に対して大域メモリー
26のタイミングを合致させるため、LDMAR を発行した
後に自動的に増分される。
【0105】読出ロック/書込アンロック処理:メモリ
ー・モード0で動作しているときに読出ロック・サイク
ルが発生すると、宛先大域メモリー・バンクに正規の読
出サイクルを実行させる。そこで、UBIF34は、対応す
る書込アンロック・サイクルを受信するまで影響するメ
モリー場所(32バイト幅)をロックする。IFIR56に
おいて読出ロックを受取ると、入力段制御装置は読出ロ
ック・アドレス及びプロセッサ識別子(PID) をロック・
アドレス・レジスタLAR 82に保管する。
【0106】アドレスが合致したとき、単一ワード R/W
要求とブロック読出要求とは現在のLAR 及び NAK応答に
対しチェックされる。LAR 82に保管されたPID と与え
られたPID とが合致することが確認されたとき、活動状
態の読出ロック・サイクルを発行したプロセッサと同一
プロセッサからの R/W要求のみが受諾される。
【0107】メモリー・モード0において、読出ロック
/書込アンロック・サイクルは上記のように動作する。
しかし、読出ロック・サイクルは、メモリー・モード1
で動作するときには、要求されたデータを戻し、又指定
したメモリー・アドレスに全“1”(256ビット)を
書戻す。書込アンロック・サイクルはメモリー・モード
1においては、正規の書込サイクルとして機能する。
【0108】大域バス・アドレス・マップ 下記表1はSVS10の大域アドレス・マップを例示す
る。大域アドレス空間は4GW(ギガワード)×32バ
イト/ワードとして組織された128GB(ギガバイ
ト)である。すべての大域アドレスは32バイト境界で
位置合わせされる。GB24に256ビット幅のデータ
・ワードを構成する8個の32ビット・ワードのいずれ
かがGB RMWで示す有効データを部分的に含む場合
は、常にデータイネーブル信号を使用して、大域メモリ
ー26に対する部分書込みを支援する。
【0109】
【0110】以上説明したUBIF34の実施は大域アドレ
ス範囲を32GBに限定するが、SVS10のGB34のアド
レス・バスは128GBを支援する。UBIF34の支援する
アドレス空間は4つの8GB領域に分割される。第1の領
域(すなわち、0乃至8GBはSVS10の大域メモリー・
カード26を含むが、残りの3領域は遠隔 SVS10のシ
ステム装置に対するアクセスを許容する。これら8GBマ
ッピング・ウインドウの各々は遠隔 SVS10のシステム
装置における対応する大域メモリー26のカードに対す
るアクセスを可能にする。
【0111】各 SVS10のバックプレンは、各々が25
6MB(4 MビットDRAMによる) 又は1GB(16 Mビット
DRAMによる)を含む4メモリー・カードまでを含む。ア
ドレス復号のため、UBIF34は各大域メモリー・カード
26が合計2つのギガバイト(GBYTES)DRAMを含むものと
仮定する。3つのメモリー・カード26を有するシステ
ムに対し、2つの異なるインターリーブ因数がある。最
初の2つのカードはGBアドレスの底部4範囲に亘り8方
法でインターリーブされるが、第3のカードは4−8GB
アドレス範囲に存在し、自己の4メモリー・バンクに亘
りインターリーブされる。
【0112】大域バス・アドレス・リマッピング 大域メモリー・カード26に対する入力アドレスはMCAR
D(3:0)により指定された大域メモリー・カード26
の数と、ISEL(2:0)により指定されたインターリー
ブ因数とに基づきリマップされる。MCARD(3:0)は各
大域メモリー・カード26の存在又は不存在を示すUBIF
-A 34aの4つのバス通過オープン・コレクタ両方向
信号である。
【0113】各 MCARD信号は各バックプレン・メモリー
・カード・スロットに個有である。各大域メモリー・カ
ード26は、カードがどのスロットに導入されているか
により決定される個々の MCARD線を駆動する。MCARD
(3:0)の値を監視することにより、カード対カード
・インターリーブ・モードを決定するため、大域メモリ
ー・カード26の合計数を決定する。UBIF-A 34a
は、又CARDID(3:0)を監視してアドレス範囲を決定
する。CARDID(3:0)からMCARD(3:0)へのマッピ
ングを下記表2に例示する。
【0114】
【0115】下記表3及び表4はUBIF-A 34aによっ
て支援され、1乃至4メモリー・カード及び種々インタ
ーリーブ因数が与えられたアドレス・マッピング因数を
例示する。N-CARDS は導入されたメモリー・カードの数
を示す。
【0116】
【表3】
【0117】
【0118】アドレス・インターリービング・オプショ
UBIF-A 34aのアドレス復号論理はUBIF-A 34aモ
ジュールISEL(1:0)の2ビット・モジュール選択に
よって指定された種々メモリー・バンク・インターリー
ブ因数を支援する。ISEL(1:0)=00,01,1
0,11は、1,2,又は3大域メモリー26カードが
導入された場合、それぞれ2,8,32及び128(2
56ビット)ワードのインターリーブ因数を選択する。
4大域メモリー26カードを導入すると、支援されるイ
ンターリーブ因数は2,8,及び32ワードである。
【0119】メモリー・バンク・サイズの選択 各 SVS10の大域メモリー26カードは4個の独立した
メモリー・バンクを含む。2ビット・サイズ選択MSIZE
(1:1)はメモリー・バンクのサイズを選択し、大域
メモリー26バンクに直接供給されて RAS/CASの復号を
制御する。MSIZE(1:0)はUBIF34によって無視され
る。
【0120】UBIF34入力セクション 前述の如く、UBIF34の入力セクションは4つの大域メ
モリー・バンクの各々に対して8つの入力要求待ち行列
46を供給する。すべての大域メモリー26の要求は処
理のためにUBIF34の入力待ち行列46を通過して、メ
モリー・モードでUBIF34が開かれたときには入力迂回
路は使用されない。大域メモリー26の各バンクに対す
る要求は、同一メモリー・バンク又は異なるメモリー・
バンクに対するバック対バックGB24サイクルで到着す
るかもしれないGB24からの受信順序で待機する。
【0121】UBIF34は、対応する入力待ち行列46が
全部使用ではなく、要求アドレスにおける読出ロック・
オペレーションが保留でない限り、特定のメモリー・バ
ンクに対して予定された要求の受諾を続行する。UBIF3
4は、大域メモリー26の要求を受諾するときに ACKを
発生し、要求の拒絶に対して NAKを発生することによ
り、オペレーションの再試行を要求機能に通知する。
【0122】UBIF−A 34aは4大域メモリー2
6バンクに対する要求をタスク指名するため4方法ラウ
ンドロビン方式を使用する。UBIF−A 34aは、
又前に供給された要求のアドレスと共に共通の行(RO
W)アドレスを有する後続要求を発生したときは常に対
応するGMC NENE(i)信号により各大域メモリ
ー26バンクに通知する。これは、メモリー・バンクが
RASサイクルを要求されず、共同するRASのプリチ
ャージ時間をかけずに、少い周期数で大域メモリー26
バンクが後続メモリー・サイクルを実行可能にする最適
化機能である。
【0123】RMWフラグ表示された大域メモリー26
書込要求によって示されたリード・モディファイ・ライ
ト・サイクルに対し、UBIF34は最初、表示したメ
モリー・バンクに対して読出要求を発行する。返送され
たメモリー・データは単一ビット誤りを修正する後述の
誤り検出/修正論理装置を通る。修正されたデータは、
信号線68a及びMUX64aを介し、供給されたデー
タイネーブル信号によって指定された供給書込データと
組合わされ、新たに演算したECCと共に大域メモリー
26バンクに書戻される。戻されたメモリー・データに
2重ビット誤りがある場合、特定のメモリー場所が読出
されたときには常に無修正ECC誤りを示す演算後のE
CCとして、全1のパターンが供給される。
【0124】UBIF34出力セクション UBIF34の出力セクションは大域メモリー26の応
答データ用出力待ち行列44,迂回路,及び誤り/修正
論理装置68を提供する。大域メモリー26バンクはG
B24にメモリー応答サイクルを要求するため、GMC
MREQ(3:0)を使用する。UBIF−A 34
aは4状態ラウンドロビン方式に従い、GMC MGN
T(i)を発行してGMC MREQ(i)に応答す
る。すべての出力待ち行列44が空であり、GMC
REQ(i)が発行されると、UBIF−A 34aは
出力迂回路を使用して、データ・パリティ及び供給され
たMID(7:0),MTAG(7:0),及びECC
誤り状況と共に、応答データをTTL/ECLトランシ
ーバ34cに渡す。UBIF−A 34aは、又GB2
4へのアクセスを得るためのGB MGNTとして示す
GB24調停機能に対してGB MREQを発行する。
【0125】GB24の競合がないものと仮定すると、UB
IF34は出力迂回路を使用してGB24を介しメモリー応
答データの返送を継続する。しかし、GB24の通信量が
増加すると、UBIF34は大域メモリー26の応答要求に
遅れないための十分な速度でデータを返送することがで
きないかもしれない。UBIF34が迂回路を通してメモリ
ー応答要求を予定することができない場合、応答を緩衝
記憶するために出力待ち行列44を使用する。
【0126】この動作モードに入った後、UBIF34
はもう一度迂回路を使用する前に、出力待ち行列44に
保留されているすべての応答について反復する。4方法
ラウンドロビン方式は出力待ち行列44の保留応答の処
理に使用される。UBIF34は、対応する出力待ち行
列44に応答データを緩衝記憶するに十分な場所がある
限り、大域メモリー26バンクに対してGMC MGN
Tを発行し続ける。この機構は出力待ち行列44のオー
バランを防止する自動フロー制御を提供する。
【0127】読出応答サイクルが肯定応答表示を要求し
ないことを条件とし、要求するUBIF34は全読出要求を
受入れるために十分な場所をその入力待ち行列46に有
するものと仮定するので、大域メモリー26の応答はUB
IF34の最大帯域幅、又は読出データの返信のため40
MHz オペレーションと仮定して640MB/秒を使用する
ことができる。
【0128】典型的な大域メモリー読出/書込タイミン
グ順次 図20はGB24に関するGM26の読出オペレーションに
対する典型的なタイミング順次を例示する。GM26の読
出要求はサイクル1を通してGB24に現われ、GM26に
よって受諾される(ACKed)。要求はサイクル3を通し適
当な入力待ち行列において待機され、サイクル5及び6
を通して GMC ABUS及び GMC LDMAR の表示で GMCバス
26aに現われる。この例において、対応するGM26の
バンクに対する入力待ち行列は空であり、UBIF34は如
何なる他のメモリー・バンク・オペレーションをも要求
されないものと仮定する。
【0129】更に、又GM26バンクは、要求受諾のた
め、サイクル4を通して有効な GMC RDY(i)で示されるよ
うに作動可能であること、及びメモリー再生サイクルが
メモリー・バンクにおいて保留されていないものと仮定
する。故に、GM26バンクは与えられたメモリー読出オ
ペレーションを実行し、 GMC MREQ(i) を主張すること
により、読出データを返送するよう GMCデータ・バスに
要求する。返送されたデータは GMC MGNT(i)(サイクル
12,13)中、 GMCデータ・バスに現われ、サイクル
13の終端においてUBIF-D 34bのOFBR54にラッチ
される。OFBR54は、4出力待ち行列44が空であり、
外部 TTL/ECLレジスタ34cに応答データが保留されて
いないことの推定に使用される。
【0130】メモリー応答データはサイクル14中UBIF
-D 34bモジュールによって修正され(必要に応
じ)、サイクル14の終端において、誤り検出及び修正
(ECCERR及びECCTYPE で示される)の結果及び演算され
たデータ・パリティと共に、外部の TTL/ECLレジスタ3
4cにラッチされる。GM26の読出応答サイクルは、サ
イクル15中、GM MREQに応答してGB調停機能36が即
時GBデータ・バス・メモリー許可(GB MGNT)を発行し
たものと仮定して供給されたPID(7:0)に反映するMI
D(7:0)を伴いGB24に現われる。
【0131】図21は各異なるメモリー・バンクに予定
された単一のGM26カードに到達した4つの大域メモリ
ー読出要求を例示する。すなわち、サイクル1,3,
5,6の要求はそれぞれメモリー・バンク0,1,2,
3に予定される。最初の3要求は1つおきにGB24サイ
クルにおいて空間で示され、第4の要求は第3の要求の
直後に現われる。これは、要求がUBIF34により肯定応
答されない(NAKed) ときに、対応する入力待ち行列が全
部使用でない限り、単一のGM26カードはバック対バッ
ク大域メモリー要求を受諾するということを例示する。
【0132】そのタイミング図に見られるように、すべ
て4要求は受諾され(ACKed)、供給された大域ア
ドレス,インターリーブ因数,及び導入された大域メモ
リー・カードの数によって決定されたそれらに対応する
入力待ち行列で待機する。そこで、これら待ち行列は入
力待ち行列出力制御ラウンドロビン方式によって決定さ
れるような連続サイクルでGMCバス26aに現われ
る。GM26の再生サイクルは保留していないものと仮
定すると、GM26のカードの各々は示されたメモリー
読出オペレーションを実行し、読出データ返送のために
GMデータ・バスを要求する。
【0133】かくして、メモリー・バンク0,1,2,
3はそれぞれサイクル11,13,15,及び17にお
いて GMCバス26aを要求し、UBIF34の GMCデータ・
バス調停機能によりサイクル12,14,16及び18
において、 GMCデータ・バスが許される。更に、4出力
待ち行列すべてが空であり、又GB24バス調停機能36
はGM26のカードに対し直ちにGBデータ・バスの許諾を
発行するものと仮定すると、4読出応答サイクルすべて
はOBFR54を通して流れ、誤り検出及び修正がデータ・
パリティの計算と共に実行された場合、640MB/秒の
最高応答データ速度においてGB24データ・バスに現わ
れる。かくして、もう一方のGM26も又、代りのGB24
データ・バス・サイクルを通して読出応答データを返送
することができ、それによってGB24の1.28GB/秒
合計帯域幅を達成することができる。
【0134】図22は単一のGM26バンクに予定された
4つのGM26書込サイクルを例示する。前例と同様、GB
24の要求は単一バンク又は異なるバンクに要求するこ
とを例示するよう空間で示され、対応するUBIF34入力
待ち行列に要求を緩衝記憶するべき場所がある限り、
1.28GB/秒の最高GB24データ・バス帯域幅で受諾
される。
【0135】本例において、対応する入力待ち行列はタ
イミング順次の開始において空であるものと仮定する。
かくして、4GM26書込要求すべては受諾される(ACKe
d) 。最初の書込要求はサイクル5において GMCバス2
6aに現われ(アドレスはサイクル5,6中に、データ
はサイクル6,7中に)、GM26バンクを GMC−RDY(i)
(サイクル6で無効にされる)で示される使用中状態に
する。そこで、GM26のバンクはサイクル11におい
て、次の要求を受諾するよう作動可能であることを示す
GMC−RDY(i)を発生し、サイクル13において、UBIF3
4に後続する書込要求を発行させる。
【0136】しかし、この場合、書込要求1,2,及び
3は、 GMC NENE(1)によって示された大域メモリー
・バンクの同じ行(ROW) アドレスに予定され、大域メモ
リー・バンクから、5サイクルではなく、書込サイクル
の開始から2サイクル以内にGMC RDY(i)を返送させる
ようにするということに注意する。又、UBIF34は、GM
C RDY(i)が GMC LDMAR(i)の後の単一クロック・サイ
クルにおいて無効にされるものと仮定して、第4クロッ
ク・サイクルごとに、与えられた大域メモリー・バンク
に対するサイクルを計画することができるということに
も注意するべきである。
【0137】図23は異なるGM26バンクにそれぞれ
予定されたGM RMW活動状態によって示された4大
域メモリー・リード・モディファイ・ライト・オペレー
ションを例示する。前例の如く、例示目的のため、要求
はGB24において空とされ、又UBIF34の入力及
び出力待ち行列はタイミング順次の開始点では空である
と仮定する。
【0138】前述の如く、リード・モディファイ・ライ
ト・オペレーションは、GBデータ内のデータ・バイト
の組合わせが、単一の大域バスGB24の書込サイクル
・オペレーションを使用して更新しうるとすれば、それ
はGM26に対する部分書込サイクルの実行に使用する
ことができる。図32に示すように、GM26において
更新されるべきデータ・バイトは設定されているそれら
に対応するデータイネーブルビットGB BE(31:
0)で示される。各々が32ビット・データ路を有する
与えられたUBIF34bに対し、4つの共同するデー
タイネーブル信号(RMW BE[3:0])がRMW
MERGE MUX64に供給される。
【0139】UBIF34は最初大域メモリーGM26
読出オペレーションを実行し、選択されたデータ・バイ
トを更新し、ECCを再演算し、そこで組合されたデー
タをGM26バンクに書戻すことによって部分書込サイ
クルを実行する。故に、この例においては、UBIF3
4がバンク0(R0)に対し読出要求を発行する場合、
最初のリード・モディファイ・ライト・サイクルはサイ
クル5において開始し、GM26バンクに表示の読出オ
ペレーションを実行させ、サイクル12及び13を通し
てUBIF34に対してデータを返送する。
【0140】UBIF34は、又サイクル7,9,11
中、それぞれGM26バンク1,2,3に対し読出要求
を計画する。UBIF34は、最初、供給されたGM2
6のデータを取り出し、供給された読出データ及びEC
Cによって決定されるすべて必要な誤り修正を実行する
ことにより、UBIF−D 34bモジュールの変更オ
ペレーションを内部的に実行する。これは対応するGM
Cデータ・バスの許諾の直後のサイクル中に発生する。
UBIF34は、又供給されたデータイネーブル信号
(BE)と共に、供給された書込待ち行列をIF LD
ORで示される対応する入力待ち行列から読出し、RM
MERGE MUX64を通して組合せオペレーシ
ョンを実行する。
【0141】その結果、可能化されたデータ・バイト
みが供給された書込データと交換される。新たなBCC
が組合されたデータに対して演算され、大域メモリー書
込オペレーションがGM26のバンクに対する書戻しオ
ペレーションの実行のために了定される。UBIF−A
34aはRMW SEL信号を使用して行う8UBI
F−D 34bモジュールと、組合せオペレーションを
実行する要求と、GM26のメモリー・バンクに対する
組合されたデータの書戻しとを制御する。
【0142】次に、PBIF22cに関するリード・モ
ディファイ・ライト・サイクル・オペレーションを説明
する(図4及び図5)。各PBIF22cは下記するよ
うに、制御及び状況レジスタ(CSR)80と、プログ
ラマブル・タイマ/カウンタと、共同するプロセッサ2
2a又は28aをリセットすべき機能と、他の機能とを
組込み構成される。
【0143】PBIF22cは制御/状況レジスタ(CSR) 状
態機械82と、局所メモリー状態機械84と、大域メモ
リー状態機械86とを含む複数の状態機械を含む。これ
ら3つの状態機械は取付けられたプロセッサ22a又は
28aの制御及びアドレス信号線に接続された入力を有
する。その上、大域メモリー状態機械86は DMA制御装
置88及びプロセッサ間通信(IPC) レジスタ22eから
受信する。
【0144】局所メモリー状態機械84はそこに対する
アクセスを制御する局所メモリー22bに接続されてい
る局所メモリー・アドレス及び制御信号線に信号を発生
する。大域メモリー状態機械86は局所プロセッサ・バ
ス32及びUBIF34を介して大域バス24に接続されて
いる大域メモリー・アドレス及び制御信号線に信号を発
生する。大域メモリー状態機械86は局所プロセッサ2
2a又は28aに応答し、又は DMA制御装置88又は I
PCレジスタ22eの動作に応答して大域メモリー・アド
レス及び制御信号を発生する。
【0145】DMA制御装置88は更に原始アドレス・レ
ジスタ88aと、宛先アドレス・レジスタ88bと、長
さ/ブロックサイズ・レジスタ88cとを含む。これら
レジスタは DMAオペレーションを制御するため、取付け
られたプロセッサ22a又は28aによってロードされ
る。原始アドレス・レジスタ88aは最初そこからデー
タを読出すメモリー・アドレスがロードされ、宛先アド
レス・レジスタ88bは最初そこにデータを記憶させる
アドレスがロードされ、長さ/ブロックサイズ・レジス
タ88cは最初 DMAオペレーション中に伝送されるべき
データ単位の数を表わす値がロードされる。
【0146】PBIF22cは、又タイマ/カウンタ・レジ
スタ90a及びタイム・スタンプ・レジスタ90bを含
む。更に、PBIF22cは1ブロックの割込関係レジスタ
を含む。これらのレジスタは入割込をラッチして、適当
にプロセッサ22aに割込む割込レジスタ92aを含
む。PBIF22cは更に割込マスク・レジスタ92bと、
消去割込レジスタ92cと、メモリー障害アドレス・レ
ジスタ92dとを含む。
【0147】再生レジスタ92は局所メモリー22bの
DRAMに対する再生タイミング・パラメータを制御する。
再生レジスタ94はシステム・クロックに供給される除
数が書込まれる。分割により生じたクロックは再生サイ
クルの周期的発生に使用される。再生要求は現在遂行の
メモリー・サイクルすべてが完了するまで待機する。そ
こで、保留されている再生要求はプロセッサ22aによ
って要求された如何なる新サイクルより高い優先権を有
する。局所メモリー22bの再生はプロセッサ22aが
他の範囲のメモリー(大域メモリー26のような)をア
クセスしている場合、妨害なしに行われる。
【0148】IPCレジスタ22eは前述の送信割込レ
ジスタ96と共同する。直列診断制御装置98は前述の
エイ・ガーシァほかによる本願と同一人に譲渡された米
国特出願“多重プロセッサ・システム用直列診断インタ
ーフェース・バス”(特許出願番号721807)に記
載されている。
【0149】レジスタ88乃至96は、局所プロセッサ
がこれらレジスタに情報を記憶し、そこから情報を読出
すよう可能化しうるよう、データ・マルチプレクサ10
0を通して局所プロセッサに対し、すべて両方向に接続
される。
【0150】図4から明らかなように、局所メモリー2
2bは8 Mバイトのバンクに区画され、メモリー・バン
クの各々と共同するパリティ・メモリー情報を記憶する
パリティ・メモリー・セクションを含む。1組の8レジ
スタ付トランシーバ22fは局所ノード64ビット・デ
ータ・バス23aに対して行われるメモリー・バンク及
びパリティ・メモリーの両方向インターフェースに使用
される。1組の8トランシーバ22gは局所ノード・デ
ータ・バス23aを大域メモリー・インターフェース2
2dの読出及び書込バッファに対して両方向の接続を行
う。
【0151】前述の如く、PBIF22cはトランシーバ及
びメモリーを除き、高性能マイクロプロセッサを高性能
多重プロセッサ・システムにインターフェースするため
に必要な論理のすべてを供給する。これらの機能は以下
で詳細に説明する。
【0152】大域メモリー・インターフェース 本実施例によるプロセッサ22aは、内部8KBデータ・
キャッシュと、256ビット幅のキャッシュ線を有する
4KB命令キャッシュと、64ビット幅である外部データ
・バスとを含む。内部キャッシュ線の幅は大域データ・
バス(DBUS24b)の幅と一致するが、プロセッサ22
aのデータ・バスの幅はDBUS24Dのそれより4の因数
だけ少い。2つの外部256ビット・レジスタ22dは
合致するデータ・バス幅を与え、又プロセッサ22aに
対する外部の単線レベル2のキャッシュ記憶を与える。
【0153】本発明の一面に従い、プロセッサ22aが
大域メモリー26の記憶場所に対し読出を発行した場
合、アドレスはPBIF22c内で復号され、UBIF34に対
する共同する要求信号(大域バス24を制御する)を発
生する。UBIF34によってバス・サイクルが許諾された
とき、PBIF22cはアドレスを必要な制御信号と共に L
PCバス32に駆動する。そして、PBIF22cは局所バス
32を監視し、戻されるべき大域メモリー26からのデ
ータを待つ。
【0154】局所バス32のデータ要求信号と共に読出
要求を作成したプロセッサと共同する固有のプロセッサ
IDフィールドはデータ返送状態を規定する。大域メモリ
ー26から識別されたプロセッサに対してデータを返送
する場合、PBIF22c は制御信号を発生して返送データ
を外部読出バッファ102にラッチして後、局所ノード
・データ・バス23aを介し、識別されたプロセッサ2
2aに対して適切なワード(64ビット)を返送可能に
する。
【0155】プロセッサ22aが256ビット読出バッ
ファ102にキャッシュ記憶される64ビット・ワード
に対する他の要求を伴う最初の要求を受けた場合、第2
の64ビット・ワードは読出バッファ102から、共用
バスのいずれのバス帯域幅(LPC32及びGB24)をも
利用することなく、最小の待ち時間でプロセッサ22a
に返送される。
【0156】連続ワードがプロセッサ22aにロードさ
れた場合、大域メモリー状態機械86はキャッシュ・リ
ロードの支援に対し最適となる。第1の大域メモリー2
6の読出しに対する初期待ち時間の経過後、すべての後
続ワードは2バス・サイクルで戻される。読出及び書込
レジスタ及び共同する比較器と共に、PBIF22c内で種
々のアドレス比較機能を実行する。読出及び書込アドレ
ス・レジスタは現在外部バッファ22dに記憶されてい
るワードのアドレスの記録を維持する。
【0157】読出バッファ102の内容は、プロセッサ
22aが現在キャッシュされていないワードを要求する
か、又は現在大域バス24に書込まれているキャッシュ
・ワードが検出された場合に無効となる。PBIF22cは
大域バス24の全バス・サイクルを監視して、現在共同
する読出バッファ102内にキャッシュ記憶されている
大域メモリー26の記憶場所に対して書込みが行われる
かどうかを決定する。その上、ある状態は読出バッファ
102を無効にする。
【0158】例えば、NIO LOCK活動状態を伴う
プロセッサ22aからの読出しは読出バッファ102の
現内容を無効にし、データは代りにGM26から取出さ
れる。しかし、この状態はCSR80ビットを介して使
用禁止にされるかもしれない。局所バス32の他の信号
線(LPC−NOCACHE)は、外部装置を可能化し
、不キャッシュ可能データを戻すよう信号する。又、
プロセッサ22aが現在読出しのためキャッシュ記憶さ
れているものと同じアドレスに書込む場合、読出バッフ
ァ102は無効にされる。
【0159】更に、読出バッファ102は、読出バッフ
ァ102に大域メモリー26からリロードすることな
く、同じキャッシュ記憶した256データの読出の後、
自動的にPBIF22cによって無効にされるかもしれな
い。この機能は CSR80のビットによって制御される。
読出バッファ102内に記憶されているデータはこれら
の機能の組合せにより、いずれも大域メモリー26内に
記憶されている複写と矛盾なく維持されることを保証す
る。
【0160】データが読出されたときに大域メモリー2
6が ECC誤りを検出したことを示すECC(誤りチェック及
び修正)誤り状態セットと共にデータが大域メモリー2
6から戻された場合、データはプロセッサ22aに返送
されるが、読出バッファ102にはキャッシュ記憶され
ず、PBIF22cによりプロセッサ22aに対して割込み
を発生する。
【0161】256ビット書込バッファ104も類似す
る方式で動作する。プロセッサ22a又は28aが大域
メモリー26の記憶場所にワードを書込む場合、それは
まず書込バッファ104にキャッシュ記憶される。次
に、プロセッサ22a又は28aが同一256ビット内
に書込む場合、いずれも書込バッファ104内に記憶す
る。書込バッファ104の回路はプロセッサ22aが
力したデータイネーブル信号を記憶するレジスタ104
aを含み、緩衝記憶された書込可能化信号を適切に更新
する。
【0162】現在書込バッファ104にキャッシュ記憶
されていない記憶場所にプロセッサ22aが書込む場
合、書込バッファ104及びデータイネーブルレジスタ
104aの内容は、PBIF22cから出力された適当
な制御信号により大域メモリー26にフラッシュアウト
(flush out)(又はフラッシュ)され、新た
に書込まれるワードが書込バッファ104の旧ワードと
書換えられる。それに加え、ソフトウェア制御可能モー
ドは共同するプロセッサ22aにより32バイトすべて
が書込まれた後、書込バッファ104を可能化して、大
域メモリー26に書込ませる。
【0163】書込バッファ104は、又プロセッサ22
aが大域メモリー26に対してロック付書込みを発生し
た場合にもフラッシュされる。ロック付(又はロック)
書込みはプロセッサ22aが遂行できる特殊な形の書込
サイクルである。ロック付メモリー・サイクル中、ロッ
クを開始したプロセッサのみがロックしたデータの変更
を許される。これは、多くのプロセッサが同一データを
共用しようとするかもしれない場合、多重プロセッサ・
システムに整合性を保証する。
【0164】プロセッサ22aはそのサイクル中、特別
出力ピン(N10 LOCK)を可能化することにより
ロック付サイクルを示す。大域メモリー26にロック付
書込みが要求された場合、この状態を順序維持するた
め、最初書込バッファ104の現内容をフラッシュして
後、それを緩衝記憶せずにロック付ワードを書込む。こ
のオペレーションは前述のロック付読出しと類似であ
る。
【0165】又、前述の如く、書込バッファ104に現
在緩衝記憶されている大域メモリー26のアドレスの読
出しがあると、それは読出要求が発行される前に、書込
バッファ104をフラッシュする。これは、書込バッフ
ァ104のデータの複写が大域メモリー26に含まれて
いるものより流量が多い場合、戻されるほとんどの流量
情報が要求プロセッサに戻されるということを保証す
る。
【0166】制御及び状態レジスタ(CSR) 80は読出バ
ッファ102及び書込バッファ104オペレーションに
対するモード設定を含み、PBIF22c内の多くの機能を
制御する。 CSR80は、読出/書込(R/W) のあるビット
と、読出のみ(R/O) であるビットと、書込のみ(W/O) で
ある他のビットとを含む32ビット・レジスタである。
本発明の理解に関係がある CSR80のこれらビットは後
に説明する。
【0167】(R/W)ビットは書込バッファ104の
自動フラッシュ.モードを可能化する。このビットが
“1”に設定されると、32バイトすべてが局所プロセ
ッサ22aによって書込まれたとき、PBIF22cの
書込バッファ104及びデータイネーブルレジスタ10
4aは大域メモリー26に対して自動的にフラッシュア
ウトすることが許される。0に消去された場合(省略
時)、PBIF22cの書込バッファ104は(イ)共
同するプロセッサの大域書込アドレスが活動状態の32
バイト書込ブロックの外にあるとき、(ロ)プロセッサ
22aが活動状態の32バイト書込ブロックに含まれて
いるアドレスに対して読出しを発行するとき、(ハ)プ
ロセッサ22aが大域メモリー26に対してロック(L
OCK)付書込サイクルを開始するとき等においてのみ
フラッシュされる。
【0168】(R/W)ビットは読出バッファ102の
自動無効モードを可能化する。このビットが“1”に設
定されると、256連続プロセッサ22aは32バイト
を大域メモリー26の同一アドレスに対して読出した
後、PBIF22cを可能化して無効にする。
【0169】(R/W)ビットは読出バッファ102を
可能化する。本ビットを“1”に設定した場合、本ビッ
トは32バイトの大域アドレス境界に整列された32連
続バイトまでを保持するPBIF22c読出データ・バ
ッファからの緩衝記憶付き読出しを可能化する。0に消
去された場合(省略時)PBIF22cはLPCバス及
び大域バス24の大域アドレス空間に対しすべてのプロ
セッサ22aの読出しを反映する。これは、すべてGM
26からの読出しであり、読出バッファ102に予め記
憶されたデータからの読出しではない。
【0170】(R/W)ビットは書込バッファ104を
書込可能にする。本ビットは“1”に設定した場合、プ
ロセッサ書込みを可能化して、32バイトの大域アドレ
ス境界に整列された32連続バイトまでをそれを保持す
る書込データ・バッファ104内に緩衝記憶する。0に
消去された場合、PBIF22cは書込バッファ104
を介してLPCバス32及び大域バス24の大域アドレ
ス空間に対してすべてのプロセッサ22aの書込を反映
する。
【0171】PBIF大域メモリー・インターフェース PBIF大域メモリー・インターフェースの動作は図6
に示すGM26状態機械86と、図22及び図23に例
示するGB24タイミング図とを参照して説明する。G
M26に対するデータ路の性能は上記のように、両方共
CSR80のビットを通して選択的に可能化され、使用
禁止されうる256ビット読出バッファ102と、25
6ビット書込バッファ104とを提供することによって
改良された。
【0172】バッファ102,104はプロセッサ22
aとLPCバス32との間で突合せる帯域幅を有し、又
書込みに対する能力を通知し、パイプライン読出しの処
理能力を増加する。読出しの場合、読出バッファ102
の内容は下記状況の下に無効にされる。それら状況は、
(イ)現読出アドレスへのGB24の書込み(監視突合
せ)、(ロ)現読出アドレスへのGM26の書込要求、
(ハ)現読出アドレスとは異なるアドレスからの読出
し、(ニ)(LPCバス32に+NOCACHEで示
す)揮発性読出し、(ホ)PTBビットの設定を伴い
(及びCSR80で可能化される)プロセッサ22aか
らの読出し、及び(ヘ)32バイトの同一アドレスから
の256ビット読出し後の自動フラッシュ等である。
【0173】読出バッファ102は完了に失敗した読出
要求の結果(例えば、タイムアウト)か又は不良データ
を戻す読出要求の結果(例えば、GM26のパリティ又は
ECC誤り)としては設定されない。
【0174】書込バッファ104の内容は下記4状態の
1つに基づきGM26にフラッシュされる。すなわち、そ
れら4状態は、(イ) CSR80モード・ビットにより示
された性能に合致する、(ロ)現に書込バッファ104
にある如何なるデータでもフラッシュし、GM26に対す
るロック付書込みを実行するロック付書込要求の性能、
(ハ)現在書込バッファ104において活動状態にある
アドレスに対する読出し等である。この場合、書込バッ
ファ104は読出要求が発行される前にフラッシュされ
る。
【0175】ソフトウェア制御の下に設定することがで
きる2つの書込フラッシュ・モードがある。上記のCS
R80のビットが可能化されている場合、書込バッファ
104が有効データを含み、プロセッサ22aがGM2
6の異なるアドレスに対して書込みを行うときは、常に
オペレーションに対する省略時モードは書込バッファ1
04の内容をフラッシュする。第2のモードにおいて、
書込バッファ104の内容は、256ビット・ワードの
32ビットすべてが書込まれたときはそれをデータイネ
ーブル信号で示すよう常にフラッシュされる。GM26
状態機械86のレジスタは、GM26の書込みが発生す
るときは常にデータイネーブル信号をラッチし、32ビ
ットすべてが設定された場合、状態機械86を変換させ
る信号−BYTES FULLを発生する。このレジス
タは書込バッファ104の内容がフラッシュされたとき
は常にリセットされる。
【0176】GM26状態機械86は、又他の局所装置に
対する LPCバス32に対し要求を出すことを許す。この
場合、GM26のオペレーションは内部PBIF22cアドレ
ス・デコーダによるGM26アドレスの復号ではなく、IO
アドレスの復号によって開始する。
【0177】書込バッファ104がフラッシュされるた
びに、LPCバス32に対する32データイネーブル信
を記憶するレジスタ104aの内容もまた消去され
る。レジスタ104aはLPCバス32を駆動するため
PBIF22cの外に存在し、又PBIF22c内の
“蔭”のレジスタとしても存在する。
【0178】レジスタ104aの8ビット部はプロセッ
サ22aの書込サイクルの結果として個々にロードさ
れ、書込中プロセッサが生成するデータイネーブル信号
の状態を反映する。各書込バッファ104の1バイトに
相当する記憶されたデータイネーブル信号は組合されて
信号LPC RMWを発生する。この信号線は、データ
イネーブル信号のすべてが設定された場合、LPCバス
32のアドレスを書込みに駆動して“ロー”(LOW)
にする。
【0179】これは、ワード位置合わせされた32ビッ
ト・スライスのいずれに対しても、データイネーブル信
号のすべてが設定されていないと、“ハイ”に駆動され
る。例えば、プロセッサ22aが64ビット・ワードを
書込み、8バイトに対するデータイネーブル信号のすべ
てが活動状態である場合、このワードがフラッシュされ
ると、LPC RMWは“ロー”である。2つの64ビ
ット・ワードが書込バッファ104に書込まれ、16バ
イトに対するデータイネーブル信号のすべてが活動状態
であると、これら2ワードもLPC RMWの“ロー”
で書込まれる。
【0180】第3のワードが書込バッファ104に書込
まれると、それはフラッシュされ、この第3の64ビッ
ト・ワード内の32ビット・ワードのいずれか1つが不
活動状態のデータイネーブル信号を有すると、書込バッ
ファ104がフラッシュされたときにLPC RMWは
“ハイ”に留まる。LPC RMWはデータイネーブル
信号(GB BE[31:0])と共に、GB RMW
(図23)として大域バス24に駆動される。これはG
M26のデータの不注意な重ね書きを防止する。
【0181】更に、図23に示すように、プロセッサ2
2aはリード・モディファイ・ライト・オペレーション
を実行するため、唯一の大域バス24アクセスを要求す
る。前述のように、メモリー・カード26のUBIF3
4はアドレスした記憶場所を読出し、データイネーブル
信号に従ってデータを組合せ、組合せたデータをメモリ
ー・バンクに書戻す動作を実行する。
【0182】図6において、状態機械86は遊休状態
( S0)から開始する。GM26の書込みは、この書込み
をGB24に通知するよう信号する適当なアドレスの復号
と共に、局所メモリーの書込みと同一方法でプロセッサ
22aによって要求される。プロセッサ22aからのア
ドレスの状況に続くサイクルにおいて、状態 S1に入
り、“ロー”の作動可能(READY) がプロセッサ22aに
送信されてデータが書込まれたことを示す。
【0183】このサイクルの終端において、データは書
込バッファ104にラッチされ、データイネーブル信号
がバッファ104にラッチされ、状態機械86は状態S
21に進む。読出バッファ102のアドレスも状態S1
においてラッチされる。書込バッファ104のフラグは
活動状態に設定される。状態S21から状態S22に入
る。S1において作動可能(READY)が肯定された
結果、プロセッサ22aがS21においてアドレス・バ
ス23bにアドレス状況及び新アドレスを出力した場
合、S22の終端においてこの状態が検出され、読出ア
ドレスの合致があった場合(R MATCH)、状態機
械86はS21にループ・バックする。
【0184】この場合、作動可能信号(READY) がプロセ
ッサ22aに送信されると、他のデータ・ワードがラッ
チされる。これは S22の次に S21がくる条件付けで
ある。状態 S22の終端においてプロセッサ22aのLA
DSがない場合、及び書込フラッシュ状態が合致しなかっ
た場合、遊休状態( S0)に戻される。次に、書込フラ
ッシュ状態について説明する。
【0185】プロセッサ22aが他の書込要求を発行
し、この書込みは書込バッファ104に記憶されている
アドレスと同一の256ビット・ブロックにあるという
ことをW MATCH信号が示した場合、状態機械86
はS0からS2へ入り、データ及びデータイネーブル信
がラッチされ、プロセッサ22aに対し作動可能信号
(READY)が戻されて、書込アドレスがラッチされ
る。GM26の如何なる記憶場所に対する書込要求も、
書込バッファ104の可能化ビットが設定されなかった
ときでも、状態S2において(S1ではなく)書込みを
発生させる。S2の終端において、書込バッファ104
が使用禁止されるか、又は32バイト・データすべてが
書込まれてS3に分岐し、LPCバス32の書込みを開
始するかのいずれかでない場合、状態機械86は状態S
21に分岐する。S21に分岐した場合、上述したもの
と同一の処理手順に従う。
【0186】W MATCHを発生しないアドレスに対
する書込みが検出されたか、又は書込バッファ104の
32バイトすべてが記憶されたデータイネーブル信号
示すように書込まれたかのいずれかの場合、書込バッフ
ァ104の内容はGM26にフラッシュされる。この場
合、状態機械86は状態S3に分岐し、LPC書込要求
が発行される。この状態の変換は現在書込バッファ10
4に記憶されているアドレスに対する読出しの結果とし
ても生成される
【0187】S0からS3への変換か又はS7への変換
はこれらを介してS8へ行く優先権を有する。状態S3
において、LPCバス32のトランシーバに対する出力
イネーブル信号は作動可能となり、LPCバス32の調
停機能からの許諾の発生により条件付けが行われる。L
PC調停機能からの許諾(GRANT)信号が肯定され
ると、アドレスはLPCバス32に与えられ、このサイ
クルの終端において、状態機械86は状態S4に入る。
【0188】LPC ADDRが活動状態に駆動される
度に、及びその要求がN10 LOCKの活動状態によ
るプロセッサ22aの要求の結果であると、LPC
OCK線は活動状態に駆動される。この目的は、S0か
らS7変換により、又はS6からS7変換により(PT
B書込みではなく、ロック付き書込みによって生じた場
合においてのみ)、又は書込バッファ104が使用禁止
状態においてロック付き書込みにより発生したS0から
S2への変換によるいずれかによって開始されたすべて
の書込みバッファ104のフラッシュに対してロック・
ビットを設定することである。それに加えて、ロック・
ビットはロック付き読出要求によって設定される。これ
はS0からS8への変換を実行させるため、データはS
0からS19への変換で発生したように、読出バッファ
102からではなく、GM26から読出される。その
上、データはロック付き読出しのため、読出バッファ1
02によってキャッシュ記憶されない。
【0189】4本のLPCバス32の長さ線(LPC
LEN(3:0))はアドレスと共に、すべて“正規”
のGM26の要求に対し0に駆動される。S4におい
て、データ・トランシーバに対する出力イネーブル信号
は活動状態であり、データは本サイクルではLPCバス
32に対して駆動される。アドレスも又、1追加サイク
ル(2サイクル活動状態期間)においてバスに駆動され
る。
【0190】このサイクルに続き、状態機械86は状態
S5に変換され、データが第2サイクルでLPCバス3
2に可能化された場合、書込バッファ104の有効フラ
グは使用禁止される。状態機械86はS5に続くS6に
おいて、ACKかNAKのどちらかを共同するUBIF
34から受信するまで待つ。
【0191】NAKを受信した場合、状態機械86は状
態S3へ分岐して戻り、次の書込要求を出力する。AC
Kを受信した場合、状態機械86は書込バッファ104
のフラッシュを発生した状態により、上記3状態の1つ
に分岐することができる。本発明は以上説明した実施例
に限定されるものではなく、本発明の理念及び範囲に従
い変化変更可能なことは明らかである。
【0192】以下、付録A,B,Cにより本明細書で使
用する用語の定義を示す。付 録 A 大域アドレス・バス信号の定義 アドレス・バスはGB ACYCLE, GB ATYPE,GB A(31:
0),GB LEN(3:0),GB PID(7:0),GB PTAG
E(7:0),GB R/-W, GB LOCK, 及びGB RMW から成
る。このバスはマスタ(主)装置(例えば、プロセッサ
・カード)が使用して大域メモリー R/Wサイクルを開始
する。 SVS大域バスに対するアクセスは大域バス・マス
タ調停機能に対しGB RREQ又はGB WREQを発行し、GB
PGNTを受けることによって得られる。各アドレス・バス
・フィールドは下記で説明する。
【0193】GB ACYCLEは有効な大域バス・アドレス・
サイクルを認識する。本信号は大域アドレス・バスを有
効にするべく、現大域アドレス・バス・マスタによって
駆動される。スレーブ(従)装置はGB ACYCLEと共に R
/W要求を有効にする。
【0194】GB ATYPE は有効なアドレス・サイクル又
は IPC割込サイクルを指定する。GB ATYPE が1の場合、
アドレス・バスは有効な大域メモリー R/W要求を指定す
る。GB ATYPE が0の場合、アドレス・バスはIPC 割込
サイクルを指定し、大域バス従装置はGB LEN(3:0)
を群選択識別子GSI(3:0)と解釈し、GB A(31:
0)をプロセッサ選択マスクPSM(31:0) と解釈す
る。 IPC割込サイクルにおいて、GB R/-W,BG LOCK,
及びGB RMW は定義されず、GB AP(3:0)はGB A
(31:0)に対するパリティを指定する。GSM(2:
1)は宛先システムの装置を選択する。GSM(0)は計算
プロセッサか又は I/Oプロセッサを選択する。HWID
(4:2)はプロセッサ選択マスクによって指定された
8つの4ビット・フィールドの1つの選択に使用され
る。
【0195】GB A(31:0)は大域バス R/W要求サイ
クルにおいて、32バイト・ブロック・アドレスを指定
して、128GBの物理的アドレス範囲を与える。 IPC割
込サイクル中(GB ATYPE =0)、GB A(31:0)は
プロセッサ選択マスクを指定する。GB AP(3:0)は
アドレス・パリティ・バスである。GB AP(0)はGB
A(7:0)に対するパリティを与え、GB AP(1)はG
B A(15:8)に対するパリティを与える。奇数パリ
ティが使用される。
【0196】GB LEN(3:0)は大域バス読出要求サイ
クルにおいて、ブロックの長さを示す。典型的に、プロ
セッサは単一ワード読出要求サイクル(すなわち、GB
LEN(3:0)=0)を発行するが、ブロック読出サイ
クルは大域バス読出要求サイクル中零無し(ノンゼロ)
ブロック長を示すことによって支援される。対応するブ
ロック・アドレスは正しいオペレーションに対する有効
な開始ブロック・アドレスを示し、応答データは正規な
順序で返送される。ブロック長は2のべきで指定され、
GB LEN(3:0)=0,1,2,…,16はそれぞれ
1,2,4,…,216のブロック長を示す。 IPC割込サ
イクル中(GB ATYPE =0),GB LEN(3:0)は群選
択識別子を指定する。
【0197】GB PID(7:0)は大域バス R/W要求サイ
クルにおいて、要求プロセッサ識別子(PID) を示す。 P
IDは、読出要求サイクルにおいて、アドレス消費機能
(すなわち、大域メモリー・カード)に保管され、後に
宛先プロセッサを個有に識別するため、GB MID(7:
0)のような対応する応答データと共に返送される。PI
Dは、書込要求サイクルにおいて、大域メモリー・カー
ドにより使用されて、与えられたプロセッサにより減結
合読出ロック/書込アンロック・サイクルを完了し、他
のプロセッサによるロックされた大域メモリー記憶場所
に対する如何なるメモリー R/Wオペレーションの実行を
も防止することができる。
【0198】GB PTAG(7:0)はプロセッサにより複
数の未済読出要求の個有的なタグ付けに使用される。GB
PID(7:0)同様、GB PTAG(7:0)はアドレス消
費機能により保管され、後に対応する応答データと共に
GB MTAG(7:0)として返送される。異なるメモリー
・バンクに対する読出要求は任意な順序で戻すことがで
きるので、GB PTAG(7:0)は複数の未済読出要求を
発行する際、プロセッサによりデータを再組織するよう
使用される。GB R/-Wは有効な大域バス・アドレス・サ
イクルにおいて、読出サイクル(1)又は書込サイクル
(0)を指定する。
【0199】GB LOCKは現在の大域バスR/Wサ
イクルを条件付けする。不活動状態のとき、それは正規
のR/Wサイクルを示し、活動状態のとき、減結合アト
ミックR/Wサイクルを示す。大域バス読出ロック・サ
イクルは、大域メモリー・モード0において、大域メモ
リーからデータを要求し、後に続く書込アンロック・サ
イクルが読出ロック・サイクルを発行したプロセッサと
同一プロセッサによって実行されるまで影響した大域メ
モリー記憶場所をロックする。
【0200】これは他の如何なるプロセッサもロックさ
れた大域メモリー記憶場所に対してメモリーR/Wオペ
レーションを実行しないようそれを防止して、アトミッ
大域メモリー・オペレーション(例えば、テスト及び
セット,比較及びスワップ,フェッチ及び加算等)を支
援する。大域メモリー・モード1においては、読出ロッ
ク・サイクルは大域メモリーにおいてアトミックテスト
及びセット・オペレーションを発動する。大域メモリー
は指定したアドレスにおいてデータを戻し、全256ビ
ット・ワードに対し全1を書込む。
【0201】GB RMWは大域メモリー・バンクにお
いてリード・モディファイ・ライト・オペレーション
実行する一部大域メモリー書込サイクルを識別する。R
MWは8個の32ビット・データ・スライスのいずれか
が部分的に書込まれるデータを保有する場合は、常に活
動状態である。
【0202】大域データ・バス信号の定義 本データ・バスはGB DCYCLE,GB D(255:0),GB
DP(31:0),GB BE(31:0),GB MID(7:
0),GB MTAG(7:0),GB ECCERR, 及びGB ERRT
YPE から成る。本バスは、マスタ装置により、又は従装
置(例えば、メモリー・カード)により、それぞれ書込
データの伝送、又は読出データの返送に使用される。デ
ータ・バスに対するアクセスは大域バス・マスタ仲介機
能に対してGB WREQを発行してGB PGNT(プロセッサ書
込オペレーション)を受信するか、大域バス従調停機能
に対してGB MREQを発行してGB MGNT(メモリー応答オ
ペレーション)を受信することによって得ることができ
る。マスタ装置は有効なGB PGNTを受信後1クロック・サ
イクルでデータを駆動するが、従装置はGB MGNTを受信
するとデータ・バスを駆動する。
【0203】GB DCYCLEは有効な大域バス・デ
ータ・サイクルを識別する。本信号は大域バス調停機能
によって駆動され、大域メモリー応答サイクルを有効に
する。GB D(255:0)はデータ・バスである。
32データ・バイトの各々はデータイネーブル信号GB
BE(31:0)で示される有効データを含むことが
できる。
【0204】GB DP(31:0)はデータ・パリティ・
バスである。GB DP(0)はGB D(7:0)に対する
パリティを供給し、GB DP(1)はGB D(15:8)に
対するパリティを供給する、等である。大域バス・デー
タ・バスを駆動するUBIFはパリティを計算し、受取った
UBIFは有効なパリティをチェックする。奇数パリティを
使用する。
【0205】GB BE(31:0)は個々のデータイ
ネーブル信号である。GB BE(0)活動状態はGB
D(7:0)の有効なデータを示し、GB BE
(1)活動状態はGB D(15:8)の有効なデータ
を示す、等々である。大域メモリー書込オペレーション
において、GB BE(31:0)はGB D(25
5:0)の32バイトのデータの各々を有効にし、大域
メモリー・カードにより、メモリー・アレイに対する書
込みの条件付けに使用される。GB BE(31:0)
は、大域メモリー読出オペレーションは常に256ビッ
ト幅のデータを返送するので、大域メモリー応答サイク
ル中は常に有効である。
【0206】GB MID(7:0)は与えられたデータに対
する宛先プロセッサを示す大域メモリー応答オペレーシ
ョンを通し、返送されるプロセッサIDを搬送する。GB
MID(7:0)は対応する読出サイクルにおいて、GB PI
D (7:0)に供給された値を反映する。GB MID(7:
0)はプロセッサ書込サイクル中は不活動状態である。
【0207】GB MTAG(7:0)は大域メモリー応答オ
ペレーションにおいて返送されるプロセッサGB PTAG
(7:0)を搬送する。このフィールドは複数の未済読
出要求を発行しているとき、プロセッサによる大域メモ
リー応答データの再組織のため選択的に使用される。GB
MTAG(7:0)は対応する読出サイクルにおいて、GB
PTAG(7:0)に供給される値を反映する。GM MTAG
(7:0)はプロセッサ書込サイクル中不活動状態であ
る。
【0208】GB NOCACHE は返送データの緩衝記憶を禁
止する。これは、データが揮発性であり、緩衝記憶又は
キャッシュ記憶されるべきでないということを示して応
答データと共に従装置によって返送される。
【0209】GB ECCERR及びGB ERRTYPE は大域メモリ
ー読出オペレーションの結果を報告する。ERRTYPE が活
動状態の場合、それは修正される単一ビット誤りか、又
は修正不能二重ビット誤りを示す。大域メモリー・カー
ドUBIFは大域メモリー読出応答サイクル中に、GB ECCE
RR及びGB ERRTYPE を発生する。
【0210】大域制御バス信号の定義 (GB ACK ,GB NAK)は有効な大域バス R/W要求を受信
後、従UBIFによって戻される。(GB ACK ,GB NAK)は
従UBIFが大域バス R/W要求の受信に成功したことをマス
タUBIFに示し、(GB NAK ,GB ACK)は従装置が現在使
用中であり、与えられた R/W要求を受諾できないことを
示す。(GB ACK ,GB NAK)の活動状態はアドレス・バ
スA(31:0)に検出された不良パリティを同時に信号
する。マスタUBIFはNAK状態又はアドレス・パリティ誤
り表示を受信した後、要求に応答するべきである。
【0211】GB APERR は供給されたアドレス・パリテ
ィGB AP(3:0)と比較されたアドレス・バスGB A
(31:0)の不良パリティを報告する。データ・バス
を駆動するUBIFはパリティを発生し、受信UBIFは不良パ
リティをチェックし、報告する。GB APERR はコンソー
ル・プロセッサによって監視され、大域バス誤り状態の
報告に使用される。
【0212】GB DPERRは供給されたデータ・バ
ス・パリティGB DP(31:0)に対して比較され
可能化されたデータ・バイトに対するデータ・バスG
D(255:0)の不良パリティを報告する。データ
・バスを駆動するUBIFはパリティを発生し、受信U
BIFは不良パリティをチェックし、報告する。GB
DPERRはコンソール・プロセッサによって監視さ
れ、大域バス誤り状態の報告に使用される。
【0213】GB BUSERRは認識されない大域バス・アド
レス・サイクル(すなわち、GB ACK 又はGB NAK が返
送されない)の通知に使用される。GB BUSERRはコンソ
ール・プロセッサによって監視され、大域バス誤り状態
の報告に使用される。GB RESET は大域バスのマスタ・
リセット信号である。それはバス・クロックの立上り端
に対して同期され、電源オン又はコンソール・プロセッ
サからのソフトウェア制御の下に発生する。
【0214】大域バス・スロット特定信号の定義 下記信号は各バックプレンのスロットに対して個有的で
ある。GB RREQはプロセッサ・カード大域バス読出要求
線である。それはアドレス・バス、与えられたGB PGNT
に対してアクセスを与える。単一の大域バス・サイクル
の間、GB RREQは、対応するGB PGNTが戻されるまで、
主張され、保持されるべきである。PG RREQは、複数の
サイクルに対しては、最後のGB PGNTを受取るまで保持
されるべきである。
【0215】バスに競合がないものと仮定すると、調停
機能のタイミング要求に合致するため、GB RREQはクロ
ック・サイクルの相当早期に主張しなければならず、擬
似のGB PGNT受信防止のため、GB PGNTの後相当早期に
張解除しなければならない。又、不使用許諾は許可され
ない。
【0216】GB WREQはプロセッサ・カード大域バス書
込要求線である。それはアドレスに対するアクセスを提
供し、1サイクル後、データ・バス,与えられたGB PG
NTに対しアクセスを与える。
【0217】GB PGNTはプロセッサ・カード大域
バス許諾線である。これはすべての与えられた大域バス
・サイクル中において、中央大域バス調停機能により単
一プロセッサ・カードに返送される。それは現バス・サ
イクル中大域バス・アドレス・バス・ドライバを可能化
し、1サイクル後、GB WREQに応答してGB PG
NTが発行されると、大域バス・データ・バス・ドライ
バを条件付きで可能化するよう使用される。
【0218】GB MREQはメモリー・カード大域バス要求
線である。それはプロセッサ・カードに対し読出データ
を返送するデータ・バスに対してアクセスを与える。
【0219】GB MGNTはメモリー・カード大域バス要求
線である。これは、いずれの与えられた大域バス・サイ
クル中においても、大域バス調停機能により単一メモリ
ー・カードに返送される。それは現在のバス・サイクル
中、大域バス・データ・バス・ドライバの使用可能化に
使用される。
【0220】GB CARDID(3:0)は各バックプレン・
スロットを個有的に識別するスロット特定の4ビット識
別子である。この4ビット・フィールドは大域バス R/W
要求サイクル中GB PID(5:2)の発生に使用される。
【0221】GB UNITID(1:0)は多重システム構造
の各 SVSシステム装置を個有的に識別するバックプレン
特定の2ビット識別子である。この2ビット・フィール
ドは大域バス R/W要求サイクルにおいてGB PID(7:
6)の発生に使用される。
【0222】その他大域バス信号 GB MCARD(3:0)は大域メモリー・カードにより、シ
ステムの大域メモリー・カードの数の確認に使用される
バックプレン信号である。各メモリー・カードは、4メ
モリー・スロットのどれがそのGB CARDID(3:0)か
らのものかを確認し、そのスロットに対応するGB MCAR
D 線を駆動する。各メモリー・カードは、又GB MCARD
(3:0)を読出し、バックプレンのメモリー・カード
の完全構造を決定し、使用するべきインターリーブ因数
を決定する。
【0223】
【0224】付 録 B LPCアドレス・バス信号の定義 LPCアドレス・バスは LPC ACYCLE , LPC ATYPE, LPC A
(31:0), LPC LEN(3:0), LPC PID(1:0), LPC
PTAG(7:0), LPC RW, LPC LOCK,及び LPC RMW
から成る。本バスは4局所プロセッサによって共用さ
れ、大域メモリー R/Wサイクルの開始に使用される。 L
PCアドレス・バスに対するアクセスは LPCバス調停機能
に対する書込要求(LPC WREQ) か又は読出要求(LPC RR
EQ)の発行により、及びプロセッサ許諾(LPC PGNT) を
受けることによって得られる。以下、アドレス・バス・
フィールドについて説明する。
【0225】・ LPC ACYCLEは有効な LPCバス局所アド
レス・サイクルを条件とする。この線はUBIF LPCバス調
停機能により局所 LPCバス・アドレスを有効にするよう
駆動される。それは LPCアドレスを有効にするため、 I
/Oプロセッサ・カードの HIPPI I/Oインターフェースの
ような局所 LPCバス装置によって使用される。 LPC AC
YCLEはLPC ABUSサイクルの最初の半サイクル中1サイク
ル間有効であり、次に続くクロックの立上り端で有効な
LPCバス・アドレス・サイクルを抽出することができる
ことを示す。
【0226】・ LPC ATYPE は有効な LPCアドレス・バ
ス・サイクル又は IPC割込サイクルを指定する。 LPC
ATYPE =1の場合、 LPCアドレス・バスは有効な R/W要
求を指定し、 LPC ATYPE =0の場合、 LPCバスは IPC
割込サイクルを認識する。この場合、UBIFは LPC LEN
(3:1)を群選択識別子GSI(3:0)と解釈し、LPC
A(31:0)をプロセッサ選択マスクPSM(31:0) と
解釈する。 IPC割込サイクル中、 LPC RW, LPC LOC
K, 及び LPC RMW は規定されない。
【0227】・ LPC A(31:0)は LPC R/W要求サイ
クルにおいて、32バイト・ブロック・アドレスを指定
して、128GBの物理的アドレス範囲を供給する。 IPC
割込サイクル中(LPC ATYPE =0), LPC A(31:0)
はプロセッサ選択マスクを指定する。
【0228】・ LPC LEN(3:0)は LPC読出要求サイ
クルにおいて、ブロック長を示す。典型的に、プロセッ
サは単一ワード読出要求サイクル(すなわち、 LPC LE
N(3:0)=0)を発行する。しかし、ブロック読出サ
イクルは LPC読出要求サイクル中、零無し(又はノンゼ
ロ)ブロック長を示すことによって支援される。対応す
るブロック・アドレスは正しいオペレーションに対する
有効な開始ブロック・アドレスを示さなければならず、
応答データは適正な順序で返送される。ブロック長は2
のべきで指定され、 LPC LEN(3:0)=0,1,2,
…,16の場合、それぞれ1,2,4,…,216 (2++
16)のブロック長を示す。UBIFによって課される現在
の制限は局所装置当り8つの256ビット・ワード(又
は LPC LEN(3:0)=3)のブロック長である。 LPC
LEN(3:0)は IPC割込サイクル中(LPC ATYPE =
0)、プロセッサ群選択を指定する。
【0229】・ LPC PID(1:0)は LPC R/W要求サイ
クルにおいて、要求プロセッサの識別子(PID) を示す。
PIDは読出要求サイクルにおいて、アドレス消費機能
(すなわち、大域メモリー・カード)によって保管さ
れ、後に宛先プロセッサを唯一的に識別するため、対応
する応答データと共に LPC MID(1:0)として返送さ
れる。 PIDは書込要求サイクルにおいて、大域メモリー
・カードによって使用され、与えられたプロセッサによ
り減結合ロック付読出/ロック付書込サイクルを完了し
て、他のプロセッサによるロックされた大域メモリー・
バンクに対する如何なるメモリー R/Wオペレーションの
実行をも防止する。大域バス・プロセッサ識別子 LPC
PID(7:0)はプロセッサ及び IOPカードにおいて、GB
UNITID(1:0),GB CARDID(3:0)を連結する
ことによって、与えられた LPCバスLPN(1:0)と共に
構成される。
【0230】・ LPC PTAG(7:0)はプロセッサによ
り使用され、複数の未済読出要求に対し個別にタグ付け
する。 PIDのように、PTAGはアドレス消費機能によって
保管され、後に対応する応答データと共に LPC MTAG
(7:0)として戻される。異なるメモリー・バンクに
対する読出要求は任意な順序で返送することができるか
ら、PTAGは複数の未済読出要求を発行するときにプロセ
ッサにより選択的に使用されて、データを再組織する。
【0231】・LPC RWは有効なLPC要求サイク
ルにおいて、読出(1)又は書込(0)サイクルを指定
する。 ・LPC LOCKは現LPC R/Wサイクルを条件
付けする。それは、不活動状態の場合、正規なR/Wサ
イクルを示し、活動状態の場合、減結合アトミックR/
Wサイクルを示す。大域メモリー・モード0において、
読出ロック・サイクルは大域メモリーからデータを要求
し、読出ロック・サイクルを発行した同一プロセッサが
後に書込アンロック・サイクルを実行するまで、選択さ
れた大域メモリー・アドレスをロックする。これは他の
プロセッサがロックされた大域メモリー・アドレスに対
する如何なるR/Wオペレーションの実行をも防止し
て、アトミック大域メモリー・オペレーション(例え
ば、テスト及びセット,比較及びスワップ,フェッチ及
び加算等)を支援する。大域メモリー・モード1におい
て、読出ロック・サイクルは大域メモリーでアトミック
テスト及びセット・オペレーションを発生する。大域
メモリーは指定したアドレスにおいてデータを戻し、全
256ビット・ワードに全1を書込む。
【0232】・LPC RMWは大域メモリー・バンク
において、リード・モディファイ・ライト・オペレーシ
ョンを要求する部分的大域メモリー書込サイクルを識別
する。LPC RMWは8つの32ビット・データ・ス
ライスが部分的に書込データを含む場合常に活動状態で
ある。
【0233】LPCデータ・バス信号の定義 本データ・バスは LPC DCYCLE , LPC D(255:
0), LPC BE(31:0), LPC MID(7:0), LPC
MTAG(7:0), LPC GBPERR , LPC ECCERR,及びLPC
ERRTYPE から成る。本バスはプロセッサにより使用さ
れ、書込データをUBIFに転送し、又はUBIFにより使用さ
れて、大域メモリー・データをプロセッサに返送する。
プロセッサは LPCバス・マスタ調停機能に対し LPC WR
EQを発行し、LPC PGNTを受信することによって LPCデ
ータ・バスに対するアクセスを得る。以下、各データ・
バス・フィールドについて説明する。
【0234】・ LPC DCYCLEは有効な LPCバス・データ
・サイクルの条件付けを行う。この線はUBIF LPCバス・
データ調停機能によって駆動され、 LPCバス応答サイク
ルを有効にする。データ消費機能は LPC DCYCLEにより
読出応答サイクルを有効にするべきであり、 LPC DCYC
LEはLPC DBUSサイクルの最初の半サイクルの1サイクル
期間有効である。
【0235】・LPC D(255:0)はデータ・バ
スである。32バイトのデータの各々がデータイネーブ
ル信号LPC BE(31:0)によって示される有効
なデータを含むかもしれない。
【0236】・LPC BE(31:0)は個々のデー
タイネーブル信号である。LPC BE(0)の活動状
態はLPC D(7:0)上の有効データを示し、LP
BE(1)活動状態はLPC D(15:8)の有
効データを示す等である。書込オペレーション中、LP
BE(31:0)はLPC D(255:0)の3
バイトのデータの各々を有効にする。LPC BE
(31:0)は、大域メモリー読出オペレーションは常
に256ビット・データを戻すので、読出応答サイクル
中に定義されない。
【0237】・ LPC MID(7:0)は与えられたデータ
に対する宛先プロセッサを示す大域メモリー応答オペレ
ーションにおいて、戻されたプロセッサIDを搬送する。
LPC MID(1:0)は対応する読出サイクルにおいて、 L
PC PID(1:0)に供給された値を反映する。 LPC MI
D(1:0)はプロセッサ書込サイクル中不活動状態であ
る。
【0238】・ LPC MTAG(7:0)は大域メモリー応
答オペレーションにおいて、戻されたプロセッサTAG を
搬送する。このフィールドは複数の未済読出要求を発行
するときに、大域メモリー応答データを再組織するべく
プロセッサによって選択的に使用される。LPC MTAG
(7:0)は対応する読出サイクルにおいて、 LPC PT
AG(7:0)に供給された値を反映する。LPC MTAG
+(7:0)はプロセッサ書込サイクル中不活動状態で
ある。
【0239】・ LPC NOCACHE は戻されたデータの緩衝
記憶を禁止する。これは、データは揮発性であり、緩衝
記憶又はキャッシュ記憶されるべきでないということを
示して、応答データと共にメモリー装置から返送され
る。UBIFは宛先プロセッサに対し、応答データと共に L
PC NOCACHE を戻す。これらの信号はプロセッサ書込サ
イクル中不活動状態である。
【0240】・ LPC ECCERR , LPC ERRTYPE は大域メ
モリー読出オペレーションの結果を報告する。 LPC ER
RTYPE が活動状態の場合、 LPC ERRTYPE は修正される
単一ビット誤り(0の場合)又は修正不能2重ビット誤
り(1の場合)を示す。これら信号はプロセッサ書込サ
イクルにおいては不活動状態である。
【0241】・ LPC GBPERRはメモリー読出応答サイク
ルにおいて、大域バス・データ線 LPC D(255:0)に
不良パリティが検出されたか否かを報告する。それは、
PBIFデータ応答サイクルに対するUBIF中でのみ有効であ
り、すべて他の場合には無効とすべきである。
【0242】LPC制御バス信号の定義 LPC制御バスは LPC ACK と LPC NAK とから成る。こ
れら共用信号は有効なLPCアドレスの肯定応答と、 LPC
バス要求が受諾されたか、拒絶されたかの表示に使用さ
れる。 LPC ACK 及び LPC NAK は、有効な LPCアドレ
ス・バス・サイクルが識別された LPCアドレスに対して
発行された後、2サイクルで戻される。UBIFは、常に、
プロセッサが大域メモリー R/W要求を発行したときに、
LPC RREQ又は LPC WREQを活動状態(すなわち、0)
のLPC LG表示で条件付けすることによって示される LP
C ACK を返送する。有効でない LPCアドレスは、プロ
セッサはその要求を放棄すべきであるということを暗示
する LPC ACK 及び LPC NAK の不存在によって示され
る。以下、各制御バス信号を説明する。
【0243】・ LPC ACK は、有効な IPCアドレスが肯
定応答されて、与えられた R/W要求が受諾されたという
ことを示してアドレス消費機能から返送される。UBIF
は、常に、大域アドレスが与えられたとき、共同する出
力待ち行列に大域バス要求を緩衝記憶するべき場所があ
る場合にのみ、UBIF局所バス調停機能が LPCバスを許諾
するよう LPC ACK を返送する。しかし、 I/Oプロセッ
サ・カードの局所装置は、アドレス認識不能のため、又
は与えられた要求を受諾できないどちらかの故に、 LPC
ACK を返送しないかもしれない。
【0244】・ LPC NAK はアドレス消費機能により返
送されて、有効な LPCアドレスを肯定応答するが、 R/W
要求を受諾しないということを通知する。要求機能は肯
定応答されなかった (NAK)サイクルを再試行するべきで
ある。
【0245】LPCバス調停機能信号の定義 LPCバス調停機能制御信号は LPC RREQ(3:0), LPC
WREQ(3:0), LPC LG(3:0),及び LPC RDY
(3:0)から成る。4局所プロセッサの各々は個有的
なこれら制御信号セットを持ち、プロセッサ(i) は LPC
RREQ(i), LPC WREQ(i), LPC LG(i) , 及び LPC RDY
(i)が与えられる。 LPC RREQ(i), LPC WREQ(i) 及び LP
C LG(i) は局所又は大域 R/W要求を発行するべく LPC
のアクセスを得るために使用され、 LPC RDY(i)はUBIF
-Dチップによって使用され、各局所プロセッサに対する
大域メモリー・ブロック読出データの返送を同調する。
以下、これら信号の詳細な説明、及び各調停機能の説明
を行う。
【0246】・ LPC RREQ(3:0)は個有的なプロセ
ッサ読出要求信号である。これらは LPCアドレス・バス
にアクセスして、局所又は大域読出要求の発行に使用さ
れる。 LPC LG(3:0)は、要求が局所装置(1)に
対して予定されているか、又は大域装置(0)に対して
要求されているか否かを表示する。 LPC RREQ(i) は L
PC CLOCK の立上り端で許諾されるべきであり、 LPC
PGNT(i) を受信するまで主張した状態に維持される。
【0247】・ LPC WREQ(3:0)は個有的なプロセ
ッサ書込要求信号である。これらは LPCアドレス・バス
及び LPCデータ・バス両方に対するアクセスを得て、局
所又は大域書込要求の発行に使用される。 LPC LG
(3:0)は、要求が局所装置(1)に対して予定され
ているか、又は大域装置(0)に対するものかを示す。
LPC WREQ(i) は LPC CLOCK の立上り端において発生
すべきであり、 LPC PGNT(i) が受信されるまで主張状態
を維持する。
【0248】・ LPC LG(3:0)は個有的なプロセッ
サ+局所/−大域選択信号である。これらは、現 LPC
RREQ(i) 又は LPC WREQ(i) が局所装置(1)又は大域
装置(0)に対して予定されているか否かの条件付けに
使用される。 LPC LG(i)のタイミングは LPC RREQ(i)
及び LPC WREQ(i) 共に同一である。
【0249】・LPC PGNT(3:0)は個有的な
プロセッサ・バス許諾信号である。いずれか与えられた
LPCバス・サイクル中、1つのLPC PGNT
(i)のみがLPCバス調停機能によって発行される。
LPC PGNT(i)はLPC RREQ(i)か又は
LPC WREQ(i)を検出した1サイクル以上後に
戻され、2クロック・サイクル間活動状態に維持され
る。LPC PGNT(i)は与えられたプロセッサの
LPCアドレス・バス・ドライバを可能化するよう直接
使用される。LPC WREQ(i)が発行された場
合、プロセッサはLPC PGNT(i)を検出してから
1サイクル後にLPCデータ・バスを駆動し始める。L
PCバス調停機能は、常に、2サイクル後LPC PG
NT(i)を主張解除するが、対応するプロセッサがL
PC RREQ(i)又はLPC WREQ(i)に対
する主張を維持する場合、1サイクル後に、同じLPC
PGNT(i)を主張することができる。かくして、
いずれの与えられたプロセッサも、ほとんど1つおきの
LPCバス・サイクルにおいて、LPCバスが許諾され
る。
【0250】・ LPC RDY(3:0)は個々的なプロセッ
サ作動可能信号である。 LPC RDY(i)はUBIFに対し、プ
ロセッサが読出データの受入れのため作動可能であるこ
とを示す。これらは主にブロック読出サイクル中に使用
され、局所プロセッサか又は I/O装置(例えば、 I/Oプ
ロセッサ・カードの HIPPIトランスミッタ)が大域メモ
リー読出データを受信するときの速度の歩調を合わせ
る。
【0251】UBIFはバスの競合がなく、40MHz と仮定
すると、320MB/秒のピーク・データ速度で装置に対
しデータを返送する。局所プロセッサ又は I/O装置イン
ターフェースはデータ・ワードを受信したときに LPC
RDY(i)を除去することによってこれを減速することがで
きる。
【0252】割込メッセージ支援信号の定義 ・ LPC IPCINTR(3:0)は個有的な IPC割込信号であ
る。これらは、それが4局所プロセッサのいずれかを選
択する大域バスのIMSGサイクルを検出する度毎にUBIFか
ら発生する。UBIFは、プロセッサ割込レジスタに IPC割
込ビットを設定するべくPBIFチップによって使用される
1クロック・サイクル長の LPC IPCINTR(i)信号を発生す
る。UBIFはプロセッサ(i) を選択するバック対バックIM
SGサイクルとなるバック対バック LPC IPCINTR(i)信号
を発行することができる。
【0253】
【0254】付 録 C GMCアドレス・バス信号の定義 GMCアドレス・バスは GMC A(23:0), GMC LEN
(3:0), GMC PID(7:0), GMC PTAG(7:0), GM
C RW,及び GMC RMW から成る。本バスは4メモリー
・バンクにより共用され、UBIFによりメモリー R/Wサイ
クルの開始に使用される。以下、各アドレス・バス・フ
ィールドについて説明する。
【0255】・ GMC A(23:0)は32バイト・ブロ
ック・アドレスを指定する。最下位10ビット GMC A
(9:0)は列アドレス(CAS) を指定する。4 MビットD
RAMと仮定すると、 GMC A(19:10)は行アドレス
(RAS)を指定し、 GMC A(20)は側回線(1M 又は2M
SIMM)を選択する。16 MビットDRAMと仮定すると、
GMC A(21:10)は行アドレス(RAS) を指定し、 GM
C A(22)は側回線(1M 又は2M SIMM)を選択す
る。 GMC A(23)は16 MビットDRAMにおける将来の
ランク拡張のために留保される。
【0256】・ GMC LEN(3:0)は GMC読出要求サイ
クルにおけるブロック長を示す。典型的に、プロセッサ
は単一ワード読出要求サイクル(すなわち、 LEN=0)
を発行する。しかし、ブロック読出サイクルは GMC読出
要求サイクル中零無しブロック長を表示することによっ
て支援される。対応するブロック・アドレスは有効な開
始ブロック・アドレスを示す。ブロック長は、 LEN=
0,1,2,…,16がそれぞれ1,2,4,…,216
(12++16)のブロック長を示すように、2のべきで
指定する。
【0257】・ GMC PID(7:0)は読出サイクルにお
ける要求プロセッサの識別子(ID)を示す。 GMC PID
(7:0)は読出サイクルの開始において、メモリー・
バンクに保管され、応答データで戻される。 ・ GMC PTAG(7:0)はプロセッサにより複数未済読
出要求に対してタグを付すことに使用される。 GMC PI
D(7:0)のように、 GMC PTAG(7:0)は読出サイ
クルの開始においてメモリー・バンクに保管され、応答
データで戻される。
【0258】・ GMC RWは読出サイクル(1)か
書込サイクル(0)を指定する。 ・ GMC RMWは、大域メモリー・バンクにおいて
リード・モディファイ・ライト・オペレーションを要求
する部分大域メモリー書込サイクルを指定する。UBI
Fは最初RMWの作動可能で読出サイクルを発行し、チ
ップで変更を実行し、変更したデータをメモリーに書戻
す。
【0259】GMCデータ・バス信号の定義 データ・バスは GMC D(255:0), GMC ECC(63;
0), GMC WENB(7:0), GMC MID(7:0),及び G
MC MTAG(1:0)から成る。本バスは4メモリー・バ
ンクによって共用され、UBIFにより書込データを伝送
し、読出データをメモリー・バンクから取得するよう使
用される。以下、各データ・バス・フィールドについて
説明する。
【0260】・GMC D(255:0)はデータ・バ
スである。32バイトのデータの各々が、データイネー
ブル信号GMC BE(0:31)で示す有効なデータ
を含む。 ・GMC ECC(63:0)はECCバスである。E
CCはUBIF−Dモジュールによって計算され、書込
サイクルで供給され、読出サイクルでデータ誤りの検出
/修正に使用される。
【0261】・ GMC WENB(7:0)は256ビット・
ワードの8個の32ビット・セクションの各々に対する
書込みを可能にする。 GMC WENB(0)はD(31:0)
に対する書込みを可能にし、 GMC WENB(1)はD(6
3:32)に対する書込みを可能にする等々である。 ・ GMC MID(7:0)は大域メモリー応答オペレーショ
ンにおいて、与えられたデータに対する宛先プロセッサ
を示し返送されるプロセッサIDを搬送する。 GMC MID
(7:0)は応答する読出サイクルにおいて、 GMC PID
(7:0)に与えられた値を反映する。 MIDはプロセッ
サ書込サイクル中は不活動状態である。
【0262】・ GMC MTAG(7:0)は大域メモリー応
答オペレーションにおいて返送されるプロセッサTAG を
搬送する。このフィールドはプロセッサにより、複数の
未済読出要求を発行するとき、大域メモリー応答データ
を再組織するよう選択的に使用される。 GMC MTAG
(7:0)は対応する読出サイクルにおいて、 GMC PTAG
(7:0)に与えられた値を反映する。 GMC MTAG
(7:0)はプロセッサ書込サイクル中は不活動状態で
ある。
【0263】GMC制御バス信号の定義 ・ GMC LEQ(3:0)は局所メモリー・カード・バス要
求線である。メモリー・バンク(i) はその読出データ・
レジスタにデータをラッチする2サイクル以上前に GMC
REQ(i)を発行する。 GMC REQ(i)は GMC GNT(i)を受
信するまで主張した状態に留まる。
【0264】・ GMC GNT(3:0)は局所メモリー・カ
ード・バス許諾線である。 GMC GNT(i)は GMC REQ(i)
が発行されてから2サイクル以上後に返送され、2クロ
ック・サイクル間持続する。UBIFは常に特定のメモリー
・バンクに対して局所メモリー・カード・バスを許可し
た後少くとも1サイクル間 GMC GNT(i)を主張解除す
る。
【0265】・ GMC RDY(3:0)は個々のメモリー・
バンク作動可能線である。各メモリー・バンクはUBIFか
ら新たなメモリー要求サイクルを受諾することができる
ときに自己の RDY信号を発生する。 GMC RDY(i)が作動
可能なときに、UBIFはそれぞれのバンクのメモリー・ア
ドレス・レジスタ(及び選択的にデータ・レジスタ)に
ロードする GMC LDMAR(i)を発行することが許される。
そこで、 GMC RDY(i)は主張解除され、バンクR/Wサイク
ルを実行して使用状態となる。
【0266】・GMC LDMAR(3:0)は個々の
メモリー・バンク・アドレス・レジスタ・ロード・イネ
ーブル信号である。GMC RDY(i)が活動状態に
あるとき、UBIFはそれぞれのバンクのメモリー・ア
ドレス・レジスタ(及び選択的にデータ・レジスタ)に
ロードするGMC LDMAR(i)を発行することが
許される。GMC LDMAR(i)は1クロック・サ
イクル間活動状態である。 ・GMC NENE(3:0)は個々のメモリー・バン
ク次−近信号である。活動状態のとき、GMC NEN
E(i)は、バンクに発行されるべき次の行(ROW)
アドレスは前に発行された行(ROW)アドレスと同一
であるということを示す。
【0267】
【0268】
【発明の効果】以上説明したように、本発明は上記のよ
うに構成したことにより、複雑な高分解能像を実時間で
操作し、処理し、表示することができる高速データ結合
を実行しうる多重プロセッサ・システムを提供して共用
システムの資源を効率よく利用することを可能にした。
【図面の簡単な説明】
【図1】本発明の一実施例による科学計算光学システム
の構成要素を示す斜視図
【図2】図1のシステム・サーバ構成要素のブロック図
【図3】SVSプロセッサ・カード・アーキテクチャを描
いたブロック図
【図4】プロセッサ・ノードの構造と、ノード・プロセ
ッサ,局所メモリー,及び大域メモリー・インターフェ
ースに対するプロセッサ緩衝記憶インターフェース(PBI
F)の結合とを詳細に示すブロック図
【図5】PBIFの構成要素を詳細に示すブロック図
【図6】PBIFの大域メモリー状態機械の動作を示す状態
【図7】プロセッサ・ノード又は I/Oインターフェース
・ノードに結合された汎用緩衝記憶インターフェース(U
BIF-A)のアドレス部を示すブロック図
【図8】メモリー・バンク・ノードに結合された場合の
汎用緩衝記憶インターフェース(UBIF-A)のアドレス部を
示すブロック図
【図9】汎用緩衝記憶インターフェース(UBIF-D)のデー
タ部を示すブロック図
【図10】局所対大域バス読出要求タイミングを描いた
タイミング図
【図11】局所対大域バス書込要求タイミングを描いた
タイミング図
【図12】4プロセッサ局所対大域バス読出タイミング
を描いたタイミング図
【図13】4プロセッサ局所対大域バス書込タイミング
を描いたタイミング図
【図14】大域バスの読出−入力タイミング・シーケン
スを描いたタイミング図
【図15】大域バスにおける混合モード・アクセスを描
いたタイミング図
【図16】プロセッサ間連絡(IPC) 割込メッセージ・ホ
ーマット及び回路を示すブロック図
【図17】IPC論理を例示するブロック図
【図18】I/Oプロセッサ・カードを示すブロック図
【図19】4バンク大域メモリー・カードを描いた図
【図20】大域バスに関する大域メモリー読出動作のタ
イミング・シーケンスを描いたタイミング図
【図21】単一大域メモリー・カードにおいて受信した
各々が異なるメモリー・バンクに向けられた4つの大域
メモリー読出要求を描いたタイミング図
【図22】単一大域メモリー・バンクに向けられた4大
域メモリー書込周期を例示するタイミング図
【図23】各々が異なる大域メモリー・バンクに向けら
れた4大域メモリー読出−変更−書込動作を例示するタ
イミング図
【図24】プロセッサ・モードで使用されたときのUBIF
制御に対する入力及び出力信号を示す図
【図25】メモリー・モードで使用されたときのUBIF制
御に対する入力及び出力信号を示す図
【図26】プロセッサ動作モードで使用するためのUBIF
-Aアドレス選択回路を詳細に示すブロック図
【図27】メモリー動作モードで使用するためのUBIF-A
アドレス選択回路を詳細に示すブロック図
【図28】プロセッサ動作モードで使用するための追加
のUBIF-Aアドレス選択回路を詳細に示すブロック図
【図29】メモリー動作モードで使用するための追加の
UBIF-Aアドレス選択回路を詳細に示すブロック図
【図30】プロセッサ動作モードで使用するためのUBIF
-A MID回路を詳細に示すブロック図
【図31】UBIF-D出力回路を詳細に示すブロック図
【図32】UBIF-D入力回路を詳細に示すブロック図
【符号の説明】
12 サーバ 14 コンソール 16 フレーム・バッファ 20 ディスク・アレイ 22 プロセッサ・カード 22a,28a マイクロプロセッサ・ノード 23 ノード・バス 24 大域バス 26 大域メモリー・カード 28 I/Oプロセッサ・カード 30 インターフェース 32 局所プロセッサ・カード・バス 34 汎用バス・インターフェース B0− B3 メモリー・バンク
フロントページの続き (72)発明者 アーマンド・ガルシア アメリカ合衆国10598、ニューヨーク州、 ヨークタウン・ハイツ、ラークスパー・ ストリート、2821番地 (72)発明者 ロバート・バーナード・ピアソン アメリカ合衆国10516、ニューヨーク州、 コールド・スプリング、ビール・ロー ド、ボックス・209エヌ、アール・ディ ー・1番地 (56)参考文献 特開 平2−206857(JP,A)

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 各データ・プロセッサを含む複数のプロ
    セッサ・ノードと、 前記プロセッサ・ノードの各々に結合され、共同するデ
    ータ・プロセッサにより書込まれるデータを局所プロセ
    ッサ・バスに送信する前にノード・バスにバッファ記憶
    する手段と、 前記プロセッサ・ノードの各々に結合され、前記データ
    ・プロセッサにより書込まれるデータと共に前記共同す
    るデータ・プロセッサにより生成されたデータイネーブ
    ル信号をバッファ記憶する手段と、 前記バッファ記憶したデータイネーブル信号に応答し
    て、メモリー手段書込動作がリード・モディファイ・ラ
    イト形式のメモリー動作として遂行されるべきか否かを
    示す制御信号と前記バッファ記憶されたデータイネーブ
    ル信号とを前記局所プロセッサ・バスに送信する手段を
    含み、前記バッファ記憶されたデータを前記局所プロセ
    ッサ・バスに送信する手段と、 前記データ・プロセッサのすべてに共用されるメモリー
    手段に受信させるため、データと、制御信号と、データ
    イネーブル信号とを前記局所プロセッサ・バスから大域
    バスに結合する手段と、 前記メモリー手段に結合され、及びリード・モディファ
    イ・ライト・メモリー動作を示す制御信号に応答して、
    前記メモリー手段の指定した記憶場所からデータを読出
    し、前記送信されたデータイネーブル信号と共に送信さ
    れた前記バッファ記憶データを前記記憶場所から読出さ
    れたデータと選択的に組合わせ、前記組合わされたデー
    タを前記指定した記憶場所に記憶する手段とを含むこと
    を特徴とする多重プロセッサ・データ処理システム。
  2. 【請求項2】 前記ノード・バスはNバイト幅を有し、
    前記データ・バッファ記憶手段はM×Nバイト幅を有す
    ることを特徴とする請求項1記載の多重プロセッサ・デ
    ータ処理システム。
  3. 【請求項3】 前記結合手段は、前記局所プロセッサ・
    バスのアドレス信号線及び制御信号線を結合し、複数の
    連続するバッファ記憶機能に対しアドレス信号線及び制
    御信号線を入力する手段を含むインターフェース手段
    (UBIF−A 部)と、 各々がNバイトから成る複数(任意のM個)のデータ単
    位に組織された前記局所プロセッサ・バスのデータ信号
    線に結合され、各々が複数の連続するバッファ記憶機能
    に対する前記M個のデータ単位の1つのNバイトを受信
    バッファ記憶する手段を含む前記M個の機能単位に区
    画されたインターフェース手段(UBIF−D部)とを
    含み、 前記インターフェース手段(UBIF−A部)は、前記
    アドレス信号線及び制御信号線に応答して、前記インタ
    ーフェース手段(UBIF−D部)の前記M個の機能単
    位に共通に結合され、前記M個のデータ単位の各々の受
    信したNバイトのために前記インターフェース手段(U
    BIF−D部)の動作を制御する複数のデータ路制御信
    号を生成する制御手段を含むことを特徴とする請求項1
    記載の多重プロセッサ・データ処理システム。
  4. 【請求項4】 各々がデータ・プロセッサを含み、局所
    プロセッサ・カード・バス手段によって共に結合された
    一群内にあるn個の計算データ・プロセッサ・ノードか
    ら成る少くとも1つの群と、 データ・プロセッサを含み、局所I/Oプロセッサ・カ
    ード・バス手段によってデータ通信手段に結合された少
    くとも1つの通信データ・プロセッサ・ノードと、大域メモリー・カード・バス手段 により共に結合された
    x個のメモリー・バンクから成る少くとも1つの共用大
    域メモリーと、 それぞれが前記局所プロセッサ及び局所I/Oプロセッ
    サ・カード・バス手段の1つと大域バスとの間に結合さ
    れた複数のプロセッサ・バス・インターフェース手段
    (UBIF)と、 それぞれが前記データ・プロセッサの各々に結合され、
    前記複数のデータ・プロセッサから出力したデータイネ
    ーブル信号を含み、アドレス及び制御信号を前記データ
    ・プロセッサから受信する複数の大域メモリー・バス・
    インターフェース手段と、 前記計算データ・プロセッサ・ノードの各々と共同し、
    データ・プロセッサ書込サイクルにおいて共同するデー
    タイネーブル信号を記憶する手段と、 前記計算データ・プロセッサ・ノードの各々と共同し、
    前記データ・プロセッサ書込サイクルによって書込まれ
    るデータを記憶する手段と、 前記インターフェース手段(UBIF−D部)と共同
    し、記憶されるデータが前記大域メモリー・カード・バ
    ス手段に送信されるときに記憶用のデータイネーブル信
    号に応答する手段であって、複数のバイトから成るデー
    タ単位に対し少くとも1つの共同する記憶用のデータイ
    ネーブル信号が発生していないという状態に応答して、
    前記大域メモリー・カード・バス手段に対しリード・モ
    ディファイ・ライト信号を出力する手段とから成ること
    を特徴とする多重プロセッサ・データ処理システム。
  5. 【請求項5】 前記バス・インターフェース手段の各々
    は、アドレス情報と制御情報とデータ情報とを入力して
    記憶するために、大域メモリー・カード・バス手段に接
    続された入力を有し、各々が前記局所プロセッサ・カー
    ド・バス手段及び局所I/Oプロセッサ・カード・バス
    手段の該当する1つに接続された出力を有する複数(y
    個)の入力待ち行列手段と、 各々がアドレス情報と制御情報とデータ情報とを入力し
    て記憶するために、前記局所プロセッサ・カード・バス
    手段及び局所I/Oプロセッサ・カード・バス手段の該
    当する1つに接続され、大域メモリー・カード・バス手
    段に接続された入力を有する複数(z個)の出力待ち行
    列手段とを含み、前記n=x=y=zであることを特徴
    とする請求項4記載の多重プロセッサ・データ処理シス
    テム。
  6. 【請求項6】 各前記通信データ・プロセッサ・ノード
    は更に、 データ・プロセッサ・マスクを設定して少くとも1つの
    通信されるべき他のデータ・プロセッサを識別する手段
    と、 データ・プロセッサ通信バス・トランザクションを示す
    バス・トランザクション識別子を設定する手段と、 前記局所バス手段のアドレス信号線に対しデータ・プロ
    セッサ・マスクを送信し、前記局所バス手段の制御信号
    線に対しバス・トランザクション識別子を送信する手段
    とを含むことを特徴とする請求項4記載の多重プロセッ
    サ・データ処理システム。
  7. 【請求項7】 イメージ・データを受信するため結合さ
    れ、該イメージ・データを表示する表示監視する手段を
    有するフレーム・バッファ手段を含むことを特徴とする
    請求項4記載の多重プロセッサ・データ処理システム。
  8. 【請求項8】 各々がデータ・プロセッサを含む複数の
    プロセッサ・ノードを有する多重プロセッサ・データ処
    理システムの動作方法であって、 各データ・プロセッサにより書込まれるデータを局所プ
    ロセッサ・バスに送信する前にノード・バスにバッファ
    記憶し、 各データ・プロセッサにより生成されたデータイネーブ
    ル信号を前記データ・プロセッサにより書込まれるデー
    タと共にバッファ記憶し、 前記バッファ記憶されたデータを前記局所プロセッサ・
    バスに送信することにより主メモリー書込動作を実行
    し、 前記記憶されたデータイネーブル信号に応答して、前記
    主メモリー書込動作がリード・モディファイ・ライト形
    のメモリー動作として遂行されるべきか否かを示す制
    御信号を前記局所プロセッサ・バスに送信し、 前記記憶されたデータイネーブル信号を前記局所プロセ
    ッサ・バスに送信し、データ,制御信号,及びデータイ
    ネーブル信号を前記主メモリーによる受信のため前記
    所プロセッサ・バスから前記大域バスに接続しリード・モディファイ・ライト・メモリー動作 を示す制
    御信号に応答して、前記主メモリーの指定した記憶場所
    からデータを読出し、該データを送信されたデータイネ
    ーブル信号に従い送信されバッファ記憶したデータと選
    択的に組合わせ、予め読出され組合わされたデータを指
    定した記憶場所に書戻す各工程を含むことを特徴とする
    多重プロセッサ・データ処理システムの動作方法。
  9. 【請求項9】 前記メモリー書込動作を実行する工程は
    所定数のデータイネーブル信号がバッファ記憶されたこ
    とを確認する工程の結果として開始されることを特徴と
    する請求項8記載の多重プロセッサ・データ処理システ
    ムの動作方法。
  10. 【請求項10】 各ノードがデータ・プロセッサを含
    み、局所プロセッサ・カード・バスに接続された少くと
    も1つのプロセッサ・ノードを有する多重プロセッサ・
    データ処理システムにおいてメモリー書込オペレーショ
    ンを実行する方法であって、 前記プロセッサ・ノードにおいて、共同するデータ・プ
    ロセッサにより書込まれるデータ及び共同するデータイ
    ネーブル信号をバッファ記憶し、 前記バッファ記憶されたデータイネーブル信号の機能に
    従い、前記メモリー書込オペレーションがリード・モデ
    ィファイ・ライト(RMW)オペレーションとして遂行
    されるべきか否かを確認することにより前記メモリー書
    込オペレーションを実行し、 前記リード・モディファイ・ライト・オペレーションと
    してメモリー書込オペレーションを遂行するべく確認さ
    れた場合、バッファ記憶されたデータイネーブル信号及
    リード・モディファイ・ライト制御信号と共に前記
    ッファ記憶したデータを前記局所バスに送信し、 メモリー手段による受信のため、データ,リード・モデ
    ィファイ・ライト制御信号,及びデータイネーブル信号
    を前記局所バスから大域バスに結合し、 前記リード・モディファイ・ライト制御信号に応答し
    て、前記メモリー手段内の指定した記憶場所からデータ
    を読出し、該データを前記受信したデータイネーブル信
    号に従い前記受信したデータと選択的に組合わせ、予め
    読出し組合わせたデータを指定した記憶場所に記憶する
    各工程を含むことを特徴とするメモリー書込オペレーシ
    ョンの実行方法。
JP4147985A 1991-07-22 1992-05-15 多重プロセッサ・データ処理システム及びその動作方法 Expired - Lifetime JP2602599B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US734432 1991-07-22
US07/734,432 US5327570A (en) 1991-07-22 1991-07-22 Multiprocessor system having local write cache within each data processor node

Publications (2)

Publication Number Publication Date
JPH05158890A JPH05158890A (ja) 1993-06-25
JP2602599B2 true JP2602599B2 (ja) 1997-04-23

Family

ID=24951673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4147985A Expired - Lifetime JP2602599B2 (ja) 1991-07-22 1992-05-15 多重プロセッサ・データ処理システム及びその動作方法

Country Status (4)

Country Link
US (1) US5327570A (ja)
EP (1) EP0524683A1 (ja)
JP (1) JP2602599B2 (ja)
CA (1) CA2068580A1 (ja)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2774862B2 (ja) * 1990-07-16 1998-07-09 株式会社日立製作所 Dma制御装置および情報処理装置
JPH05210640A (ja) * 1992-01-31 1993-08-20 Hitachi Ltd マルチプロセッサシステム
JPH0619785A (ja) * 1992-03-27 1994-01-28 Matsushita Electric Ind Co Ltd 分散共有仮想メモリーとその構成方法
JPH05324544A (ja) 1992-05-15 1993-12-07 Hitachi Ltd バス制御方法
US5485594A (en) * 1992-07-17 1996-01-16 International Business Machines Corporation Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system
US5590310A (en) * 1993-01-14 1996-12-31 Integrated Device Technology, Inc. Method and structure for data integrity in a multiple level cache system
US5488711A (en) * 1993-04-01 1996-01-30 Microchip Technology Incorporated Serial EEPROM device and associated method for reducing data load time using a page mode write cache
EP1071018B1 (en) * 1993-04-30 2003-09-10 Packard Bell NEC, Inc. Symmetric multiprocessing system with unified environment and distributed system functions
US5737569A (en) * 1993-06-30 1998-04-07 Intel Corporation Multiport high speed memory having contention arbitration capability without standby delay
US5513346A (en) * 1993-10-21 1996-04-30 Intel Corporation Error condition detector for handling interrupt in integrated circuits having multiple processors
US5535365A (en) * 1993-10-22 1996-07-09 Cray Research, Inc. Method and apparatus for locking shared memory locations in multiprocessing systems
US5613075A (en) * 1993-11-12 1997-03-18 Intel Corporation Method and apparatus for providing deterministic read access to main memory in a computer system
DE19501674A1 (de) * 1994-02-03 1995-08-10 Tektronix Inc Verwaltung der Datenübertragung zwischen Prozessoren
BR9506997A (pt) * 1994-03-01 1997-11-18 Intel Corp Arquitetura de barramento altamente canalizada
US5533201A (en) * 1994-03-07 1996-07-02 Unisys Corporation Method and apparatus for simultaneous interconnection of multiple requestors to multiple memories
US5530811A (en) * 1994-03-07 1996-06-25 Unisys Corporation Behind backplane expansion board apparatus and method
US5535340A (en) * 1994-05-20 1996-07-09 Intel Corporation Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
US5546546A (en) * 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US5594862A (en) * 1994-07-20 1997-01-14 Emc Corporation XOR controller for a storage subsystem
EP0706138A1 (en) * 1994-10-03 1996-04-10 International Business Machines Corporation Alternating data valid control signals for high performance data transfer
JPH08185359A (ja) * 1994-10-31 1996-07-16 Toshiba Corp メモリサブシステム
US5761731A (en) * 1995-01-13 1998-06-02 Digital Equipment Corporation Method and apparatus for performing atomic transactions in a shared memory multi processor system
CA2167633A1 (en) * 1995-01-23 1996-07-24 Leonard R. Fishler Apparatus and method for efficient modularity in a parallel, fault tolerant, message based operating system
DE69621263T2 (de) * 1995-01-23 2002-12-19 Compaq Computer Corp Verteilter Datencachespeicher für Multiprozessorsystem mit Cachespeicher
USRE38428E1 (en) 1995-05-02 2004-02-10 Apple Computer, Inc. Bus transaction reordering in a computer system having unordered slaves
US5608884A (en) * 1995-05-17 1997-03-04 Dell Usa, L.P. Commonly housed multiple processor type computing system and method of manufacturing the same
US5644696A (en) * 1995-06-06 1997-07-01 International Business Machines Corporation Recovering multi-volume data sets during volume recovery
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US7301541B2 (en) * 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide operations
US6295599B1 (en) * 1995-08-16 2001-09-25 Microunity Systems Engineering System and method for providing a wide operand architecture
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
JP3123413B2 (ja) 1995-11-07 2001-01-09 株式会社日立製作所 コンピュータシステム
US5850557A (en) 1996-05-10 1998-12-15 Intel Corporation Method and apparatus for reducing bus bridge thrashing by temporarily masking agent requests to allow conflicting requests to be completed
US6026460A (en) * 1996-05-10 2000-02-15 Intel Corporation Method and apparatus for sequencing system bus grants and disabling a posting buffer in a bus bridge to improve bus efficiency
US6205507B1 (en) * 1996-06-13 2001-03-20 Compaq Computer Corporation Memory coherency in a processor-to-bus cycle in a multi-processor system
US5878235A (en) * 1996-10-03 1999-03-02 Micron Electronics, Inc. Method and system for concurrent computer transaction processing
US5948060A (en) * 1997-01-24 1999-09-07 International Business Machines Corporation Speeding-up communication rates on links transferring data structures by a method of handing scatter/gather of storage blocks in commanded computer systems
US6094532A (en) * 1997-03-25 2000-07-25 Sun Microsystems, Inc. Multiprocessor distributed memory system and board and methods therefor
US5898849A (en) * 1997-04-04 1999-04-27 Advanced Micro Devices, Inc. Microprocessor employing local caches for functional units to store memory operands used by the functional units
US5925145A (en) * 1997-04-28 1999-07-20 Credence Systems Corporation Integrated circuit tester with cached vector memories
FR2764073B1 (fr) * 1997-05-30 1999-07-16 Sgs Thomson Microelectronics Protocole de communication pour carte a memoire asynchrone
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
US6378037B1 (en) * 1999-06-29 2002-04-23 International Business Machines Corporation Write-twice method of fail-safe write caching
US6779036B1 (en) 1999-07-08 2004-08-17 International Business Machines Corporation Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP 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
US6591348B1 (en) 1999-09-09 2003-07-08 International Business Machines Corporation Method and system for resolution of transaction collisions to achieve global coherence in a distributed symmetric multiprocessor system
US6725307B1 (en) 1999-09-23 2004-04-20 International Business Machines Corporation Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system
US6587930B1 (en) 1999-09-23 2003-07-01 International Business Machines Corporation Method and system for implementing remstat protocol under inclusion and non-inclusion of L1 data in L2 cache to prevent read-read deadlock
US6457085B1 (en) 1999-11-04 2002-09-24 International Business Machines Corporation Method and system for data bus latency reduction using transfer size prediction for split bus designs
US6529990B1 (en) 1999-11-08 2003-03-04 International Business Machines Corporation Method and apparatus to eliminate failed snoops of transactions caused by bus timing conflicts in a distributed symmetric multiprocessor system
US6535941B1 (en) 1999-11-08 2003-03-18 International Business Machines Corporation Method and apparatus for avoiding data bus grant starvation in a non-fair, prioritized arbiter for a split bus system with independent address and data bus grants
US6684279B1 (en) 1999-11-08 2004-01-27 International Business Machines Corporation Method, apparatus, and computer program product for controlling data transfer
US6523076B1 (en) 1999-11-08 2003-02-18 International Business Machines Corporation Method and apparatus for synchronizing multiple bus arbiters on separate chips to give simultaneous grants for the purpose of breaking livelocks
US6606676B1 (en) 1999-11-08 2003-08-12 International Business Machines Corporation Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system
US6327645B1 (en) 1999-11-08 2001-12-04 Silicon Integrated Systems Corp. Cache memory system with memory request address queue, cache write address queue, and cache read address queue
US6516379B1 (en) 1999-11-08 2003-02-04 International Business Machines Corporation Method and apparatus for transaction pacing to reduce destructive interference between successive transactions in a distributed symmetric multiprocessor system
US6542949B1 (en) 1999-11-08 2003-04-01 International Business Machines Corporation Method and apparatus for increased performance of a parked data bus in the non-parked direction
US7529799B2 (en) 1999-11-08 2009-05-05 International Business Machines Corporation Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
US6848003B1 (en) 1999-11-09 2005-01-25 International Business Machines Corporation Multi-node data processing system and communication protocol that route write data utilizing a destination ID obtained from a combined response
US6519665B1 (en) 1999-11-09 2003-02-11 International Business Machines Corporation Multi-node data processing system and communication protocol in which a stomp signal is propagated to cancel a prior request
US6519649B1 (en) 1999-11-09 2003-02-11 International Business Machines Corporation Multi-node data processing system and communication protocol having a partial combined response
US6671712B1 (en) * 1999-11-09 2003-12-30 International Business Machines Corporation Multi-node data processing system having a non-hierarchical interconnect architecture
US6591307B1 (en) 1999-11-09 2003-07-08 International Business Machines Corporation Multi-node data processing system and method of queue management in which a queued operation is speculatively cancelled in response to a partial combined response
US6728823B1 (en) * 2000-02-18 2004-04-27 Hewlett-Packard Development Company, L.P. Cache connection with bypassing feature
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9411532B2 (en) * 2001-09-07 2016-08-09 Pact Xpp Technologies Ag Methods and systems for transferring data between a processing device and external devices
US6865695B2 (en) * 2001-07-26 2005-03-08 International Business Machines Corpoation Robust system bus recovery
US7035908B1 (en) * 2001-07-26 2006-04-25 Lsi Logic Corporation Method for multiprocessor communication within a shared memory architecture
US7356845B2 (en) * 2002-01-30 2008-04-08 Lucent Technologies Inc. Method and apparatus for identification tagging documents in a computer system
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US7496109B1 (en) * 2003-02-12 2009-02-24 Cypress Semiconductor Corporation Method of maximizing bandwidth efficiency in a protocol processor
US7240277B2 (en) * 2003-09-26 2007-07-03 Texas Instruments Incorporated Memory error detection reporting
US7277982B2 (en) * 2004-07-27 2007-10-02 International Business Machines Corporation DRAM access command queuing structure
US20070094432A1 (en) * 2005-10-24 2007-04-26 Silicon Integrated Systems Corp. Request transmission mechanism and method thereof
US20080168331A1 (en) * 2007-01-05 2008-07-10 Thomas Vogelsang Memory including error correction code circuit
JP2008276407A (ja) * 2007-04-26 2008-11-13 Canon Inc 画像処理装置及びその方法
US8239638B2 (en) * 2007-06-05 2012-08-07 Apple Inc. Store handling in a processor
US7849290B2 (en) * 2007-07-09 2010-12-07 Oracle America, Inc. Store queue architecture for a processor that supports speculative execution
US20090132747A1 (en) * 2007-11-19 2009-05-21 International Business Machines Corporation Structure for universal peripheral processor system for soc environments on an integrated circuit
US20100285119A1 (en) * 2008-01-11 2010-11-11 Jubilant Organosys Ltd. Multiparticulate Extended Release Pharmaceutical Composition Of Carbamazepine And Process For Manufacturing The Same
JP2011029934A (ja) * 2009-07-24 2011-02-10 Toshiba Corp 情報処理装置
US8473677B2 (en) * 2009-09-29 2013-06-25 Cleversafe, Inc. Distributed storage network memory access based on memory state
US9911018B1 (en) 2012-01-12 2018-03-06 Impinj, Inc. RFID tags with digital signature subportions
US11361174B1 (en) 2011-01-17 2022-06-14 Impinj, Inc. Enhanced RFID tag authentication
US9170928B1 (en) * 2013-12-31 2015-10-27 Symantec Corporation I/O scheduling and load balancing across the multiple nodes of a clustered environment
US20180107602A1 (en) * 2016-10-13 2018-04-19 Intel Corporation Latency and Bandwidth Efficiency Improvement for Read Modify Write When a Read Operation is Requested to a Partially Modified Write Only Cacheline
WO2021113619A1 (en) * 2019-12-04 2021-06-10 Ge Aviation Systems Llc Systems and methods for providing surveillance services for unmanned aerial vehicle

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371754A (en) * 1980-11-19 1983-02-01 Rockwell International Corporation Automatic fault recovery system for a multiple processor telecommunications switching control
US4484273A (en) * 1982-09-03 1984-11-20 Sequoia Systems, Inc. Modular computer system
US4591977A (en) * 1983-03-23 1986-05-27 The United States Of America As Represented By The Secretary Of The Air Force Plurality of processors where access to the common memory requires only a single clock interval
US4591976A (en) * 1983-06-17 1986-05-27 The United States Of America As Represented By The Secretary Of The Air Force Multiple task oriented processor
US4862350A (en) * 1984-08-03 1989-08-29 International Business Machines Corp. Architecture for a distributive microprocessing system
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
US4736319A (en) * 1985-05-15 1988-04-05 International Business Machines Corp. Interrupt mechanism for multiprocessing system having a plurality of interrupt lines in both a global bus and cell buses
US4783736A (en) * 1985-07-22 1988-11-08 Alliant Computer Systems Corporation Digital computer with multisection cache
US4874850A (en) * 1986-08-07 1989-10-17 Medice Chem.-Pharm. Fabrik Putter Gmbh & Co. Pharmaceutical preparations
US4768197A (en) * 1986-09-15 1988-08-30 Amdahl Corporation Cache error code update
US4843542A (en) * 1986-11-12 1989-06-27 Xerox Corporation Virtual memory cache for use in multi-processing systems
US4811216A (en) * 1986-12-22 1989-03-07 American Telephone And Telegraph Company Multiprocessor memory management method
US4858101A (en) * 1987-08-26 1989-08-15 Allen-Bradley Company, Inc. Programmable controller with parallel processors
US4872133A (en) * 1988-02-18 1989-10-03 Motorola, Inc. Floating-point systolic array including serial processors
IT1227360B (it) * 1988-11-18 1991-04-08 Honeywell Bull Spa Sistema multiprocessore di elaborazione dati con replicazione di dati globali.
US5202972A (en) * 1988-12-29 1993-04-13 International Business Machines Corporation Store buffer apparatus in a multiprocessor system
US5008886A (en) * 1989-01-27 1991-04-16 Digital Equipment Corporation Read-modify-write operation

Also Published As

Publication number Publication date
US5327570A (en) 1994-07-05
JPH05158890A (ja) 1993-06-25
EP0524683A1 (en) 1993-01-27
CA2068580A1 (en) 1993-01-23

Similar Documents

Publication Publication Date Title
JP2602599B2 (ja) 多重プロセッサ・データ処理システム及びその動作方法
US5611058A (en) System and method for transferring information between multiple buses
CA2280125C (en) Non-uniform memory access (numa) data processing system that speculatively issues requests on a node interconnect
US5588122A (en) Universal buffered interface for coupling multiple processors memory units, and I/O interfaces to a common high-speed interconnect
US5517648A (en) Symmetric multiprocessing system with unified environment and distributed system functions
US5682512A (en) Use of deferred bus access for address translation in a shared memory clustered computer system
US5870625A (en) Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
US5146607A (en) Method and apparatus for sharing information between a plurality of processing units
US5809340A (en) Adaptively generating timing signals for access to various memory devices based on stored profiles
US5615343A (en) Method and apparatus for performing deferred transactions
EP0735487B1 (en) A fast, dual ported cache controller for data processors in a packet switched cache coherent multiprocessor system
US5761731A (en) Method and apparatus for performing atomic transactions in a shared memory multi processor system
CA2271536C (en) Non-uniform memory access (numa) data processing system that buffers potential third node transactions to decrease communication latency
US6012118A (en) Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus
JPH01502628A (ja) 多重ロック指示を使用した多重プロセッサコンピュータシステムにおけるトランザクションを開始する方法及び装置
CA2279138C (en) Non-uniform memory access (numa) data processing system that decreases latency by expediting rerun requests
US6260091B1 (en) Method and apparatus for performing out-of-order bus operations in which an agent only arbitrates for use of a data bus to send data with a deferred reply
EP0251686B1 (en) Method and apparatus for sharing information between a plurality of processing units
JPS5832427B2 (ja) 多重情報処理システム
EP1067459B1 (en) Symmetric multiprocessing system with unified environment and distributed system functions
US20030131158A1 (en) Increased computer peripheral throughput by using data available withholding
JPH0544238B2 (ja)
JP3141948B2 (ja) 計算機システム
JPH08129525A (ja) バス調停方式