JPH02242364A - マルチプロセッサシステムにおいてシステム制御ユニットを用いて通信要求を仲裁するための方法及び手段 - Google Patents

マルチプロセッサシステムにおいてシステム制御ユニットを用いて通信要求を仲裁するための方法及び手段

Info

Publication number
JPH02242364A
JPH02242364A JP2024313A JP2431390A JPH02242364A JP H02242364 A JPH02242364 A JP H02242364A JP 2024313 A JP2024313 A JP 2024313A JP 2431390 A JP2431390 A JP 2431390A JP H02242364 A JPH02242364 A JP H02242364A
Authority
JP
Japan
Prior art keywords
resources
command
requests
request
reserved
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2024313A
Other languages
English (en)
Inventor
Michael E Flynn
アイケル イー フリン
Tryggve Fossum
トリュグヴ フォッサム
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH02242364A publication Critical patent/JPH02242364A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、これと同時に出願された次のような米国特許
出願に開示されているコンピュータシステムの幾つかの
特徴を有するものである。エバンス氏等の[デジタルコ
ンピュータのシステム制御ユニットとシステム処理ユニ
ットとの間のインターフェイス(AN INTERFA
CE BETWEEN A SYSTEMCONTRO
L UNIT AND A SYSTEM PROCE
SSING UNITOF A CIGITAL、CO
MPUTER)J  ;アーノルド氏等の「マイクロプ
ロセッサシステムのシステム制御ユニットと中央処理ユ
ニットとをインターフェイスする方法及び装置(MET
HOD AND APPARATUS FORINTE
RFACrNG A SYSTEM C0NTR0L 
UNIT FORAMULTIPROCESSORSY
STEM WIT)(T)IE CENTRALPRO
CESSING UNITS)J  ;ガグリアード氏
等の[マルチプロセッサシステムのシステム制御ユニッ
トをシステムメインメモリとインターフェイスするため
の方法及び手段(METHOD AND MEANS 
FORINTERFACING A SYSTEM C
0NTR0L UNIT FORAMULTIPROC
ESSORSYSYTEM  WIT)l  THE 
 SYSYTEM  MAINMEMORY)J  ;
 D、フィツト氏等の「パイプライン式コンピュータシ
ステムにおいて考えられる種々の数のメモリアクセス競
合を分析する方法と装置(METHOD AND AP
PARATUS FORRESOLVING AVAR
IABLE NUMBEROF POTENTIAL 
MEMORY ACCESSCONFLICTS IN
 A PIPELINED COMPUTERSYSY
TEM)J ;D、フィツト氏等の「可変長さの命令ア
ーキテクチャにおいて多数の指定子をデコードする方法
(DECODING MULTIPLE 5PECIF
IERS TN A VARIABLELENGTHr
NsTRUcTION ARCI(rTEcTURE)
J  ; D、 ’7 イツト氏等の[仮想命令キャッ
シュリフィルアルゴリXム(VIRTUAL lN5T
RUCTION CACHE REFILLALGOR
ITI−IM)J  ;パーマン氏等の「同じ命令内で
のレジスタ及びレジスタ変更指定子のパイプライン処1
1(PIPEljNE PROCESSING OF 
REGISTERANDREG[5TERMODIFY
INGT 5PECIFIER5WITHIN T)I
ESAME lN5TRUCTION))  : V−
レイ氏等のデジタルコンピュータ用のデータ依存性分析
を行なう多命令予備処理システム(MULTIPLE 
lN5TRUCTION PRE−PROCESSIN
G SYSTEM WIT)(DATA DEPEND
ENCYRESOLUTION FORDIGITAL
 CPMPUTER)J  ; D、フィツト氏等の「
バイブラインプロセッサにおいて暗示された指定子を予
め処理する方法(PRE−PROCESSING IM
PLIED 5PECIFIER5INA PIPEL
INEDPROCESSER)J  ; D、フィツト
氏等の「ブランチ予想(sRANcHPREDICTI
ON)J  ;フォラサム氏等の[デジタルコンピュー
タのバイブライン式フローティングポイント加算器(P
IPELINED FLOATINGPOINT AD
DERFORDIGITAL COMPUTER)J 
;グランドマン氏等の[自己計時式レジスタファイル(
SALF TIMED REGISTERFILE)J
  ;ベベン氏等の「パイプライン式コンピュータシス
テムにおいてエラーを検出して修正する方法及び装置(
METHODAND  APPARATUS  FOR
DETECTING  AND  CoRREC丁IN
GERRORS IN A PIPELINED CO
MPUTERSYSTEM)J ;フリン氏等の「マル
チプロセッサシステムにおいてシステム制御ユニットを
用いて通信要求を仲裁する方法及び装置(MET)IO
D AND MEANS FORARBITRA−TI
NG COMMUNICATION REQUESTS
 USING A SYSTEMCONTROL UN
IT IN A MULTI−PROCESSORSY
STEM)J  。
E、フィツト氏等のrマイクロコード化実行ユニットに
おいて並列動作で多機能ユニットを制御すル方法(CO
NTROLOF MULTIPLE FUNCTION
 UINTSWITHPARALLEL 0PERAT
ION IN A MICROCODEDEXECUR
ION UINT)J  ;ウェブ二世氏等の[仮想メ
モリシステムをベースとするデジタルコンピュータの命
令パイプライン内において予めフェッチした命令でメモ
リアクセス例外を処理する方法(PROCESSING
 OF MEMORY AC:CESS EXCEPT
IONS WITHPRE−FETCI(ED lN5
TRUCTIONS WITI(IN THE lN5
TRU(ニーTl0N  PIPELINE  OF 
 A  VIRTUALMEMORY  SYSTEM
−BASED DIGITAL COMPUTER)J
  ;ヘザリントン氏等の「デジタルコンピュータシス
テムにおいて仮想−物理メモリアドレスの変換を制御す
る方法及び装置(METHOD AND APPARA
TUS FORC0NTR0LLINGnlE C0N
VER5ION OF VIRTUAL To PHY
SICAL MEMORYADDRESSES IN 
A DIGITAL C0NPUTERSYSYTEM
)J  ;ヘザリントン氏等の「エラー修正機能を有す
るライトハラ/7/<) 77(wRITEBACK 
BUFFERWrTHERRORC0RRECTING
CAPABILITIES)J  、チナスウエイ氏等
の[マルチプロセッサシステムにおいてシステムユニッ
ト間でデータトランザクションを行なうモジュール式ク
ロスバ−相互接続ネットワーク(MODULARCRO
3SBARINTERCONNECTION NETW
ORKFORDATA TRANSACTIONS B
ETWEEN SYSTEM UNITSIN A M
ULTI−PROCESSORSYSTEM)J  ;
ポルジン氏等の「入力/出カニニットとマルチプロセッ
サシステムのシステム制置ユニットとをインターフェイ
スする方法及び装置(METHOD AND APPA
RATtJS FORINTERFACING A S
YSYTEM C0NTR0L UNIT FORAM
ULTI−PROCESSORSYSYTEM WIT
HINPUTloUTPUTUNITS)」;ガグリア
ード氏等の「マルチプロセッサシステムのシステム制御
ユニットとシステムメインメモリとをインターフェイス
する手段に用いるメモリ構成(MEMORY C0NF
IGURATION FORUSEWITHMEANS
 FORINTERFACING A 5YSTEN 
C0NTR0LUNIT FORA MULTI−PR
OCESSORSYSTEM WITHTHESYST
EM MAIN MEMORY)J  ;そしてガグリ
アード氏等の「システムモジュール間のDRAM制御信
号のエラーチエツクのための方法及び手段(MET)I
ODAND MEANS FORERRORCHECK
ING OF DRAM−CONTROLSIGNAL
S BETWEEN SYSTEM MODULES)
J。
本発明は、一般に、複数の中央処理ユニット(CPU)
及び他のシステムユニットを並列に動作させるためにシ
ステム制御ユニット(SCU)が使用されたマルチプロ
セッサのコンピュータシステムに係る。より詳細には、
本発明は、マルチプロセッサシステムのSCUが特にC
PUと入力/出カニニットとシステムメモリとの間で種
々のシステムポートからの通信要求を効率的に仲裁でき
るようにする仲裁機構に係る。
従来の技術 複数のプロセッサがある定められたタスクにおいて問題
分析を介して動作するようにされたマルチプロセッシン
グの技術や、コンピュータ命令が一連のより小さなそし
て複雑でないオペレーションに分割されそしてこれらの
オペレーションが特定の目的に適するようにされた専用
のファンクションユニットによってパイプライン形態で
次々に実行されるような並列処理が高性能コンピュータ
として通常知られている。このようなコンピュータシス
テムでは、複数のプロセッサユニットと、入力/出カニ
ニットとの間で大量記憶装置及び他の装置への並列経路
と共に設けられた多数の通信経路によって高い実行速度
とオペレーションの冗長度とが実現されている。
マルチプロセッサシステムにおいては、コンピュータシ
ステムのシステムメモリ、入力/出力装置及び他のユニ
ットに関連した複数のCPUの並列動作が典型的にシス
テム制御ユニット(SCU)によって調整され、該制御
ユニットは、これにポート接合された全てのシステムユ
ニットをリンクし、そしてデータ及び当該制御信号を効
率的に交換するためのユニット内通信を与える。SCU
は、全てのシステム要素をアクティブな状態に保つ一方
、ユニット内競合を回避し、SCUの種々のポートを介
してリンクされたシステムユニットとシステムメモリと
の間の通信要求を処理するように本質的に機能する。次
々の通信要求がSCUに到達するにつれて、並列動作を
容易にする方向にシステムリソースを最も効率的に使用
するだけでなく、適度な時間内にその要求を処理するこ
とにより各々の要求を発しているポートを公平に処理す
るように種々のポートからの要求を処理することが重要
である。これらの要求、即ちシステムの効率とユニット
の公平さが本来競合を生じることになり、これら2つの
間に最適な兼ね合いを得ることが、効率的な仲裁機構を
実施する上で大きな仕事となる。
従来の仲裁機構は、マルチプロセッサシステムに用いた
ときには、バックアップ通信要求によって制約が生じる
ために、適度な応答時間及びブレークダウンを与える上
で非効率的となる。例えば、全ての要求がSCUに到達
する時間に基づいて処理されるような「ラウントロピン
」機構は、公平な仲裁を確保するが、このような機構は
、システムリソースの使用が非常に非効率的である。
というのは、仲裁待ち行列の最上部にある要求がその後
にある要求を効率的にシャットアウトし、これは、次の
保留中の要求により必要とされるリソースが実際に使用
できることに拘りなく、その前の要求により必要とされ
た全てのリソースが使用できるまで行なわれるからであ
る。
例えば、独自にサイクルを繰り返すことのできる複数の
メモリセグメントより成るメモリにアクセスする場合を
考える。「ラウントロピン」の解決策では、2つの要求
を発しているポートAとB(そのうちの要求Aは仲裁待
ち行列においてBに先行する)がSCUにおいて保留中
であり、そして要求Aがそのときビジーであるメモリセ
グメントにアクセス要求を発し、一方要求Bがそのとき
使用できるメモリセグメントの使用を必要とする場合に
、要求Aによって必要とされるメモリセグメントが自由
であって要求Aを最初に処理できるときまで要求Bは不
必要にも処理されないようにシャットアウトされる。従
って、通信要求当たりの平均応答時間が不当に増加され
、この機構は並列動作を行なわない。
これとは別に、いわゆる[瞬時実行)仲裁機構を使用す
ることも考えられ、この場合は、SCUに到達する通信
要求が次々にポーリングされ、このポーリングの時点で
使用不能のリソースを必要としている要求が無視され、
一方リソースを使用できるその後に生じる要求が瞬時に
処理される。
このような解決策は所与の時間に使用できるシステムリ
ソースを効率的に使用するが、仲裁シーケンスの一部分
として要求がポーリングされるたびに要求によって必要
とされている全てのリソースが使用不能であると分かっ
た場合に要求を完全にシャットアウトできるという点で
実際的でない。
マルチプロセッサシステムの種々のシステムユニットか
らの通信要求が、使用可能なリソースを最適に使用する
ように仲裁されると同時に、このような全ての要求が適
度な時間内に処理されるよう確保する効率的な仲裁機構
は、入ってくる通信要求を仲裁時に満足するために必要
な全てのリソースを識別し、全ての必要なリソースを使
用できるところの要求を処理し、必要とされる使用不能
なリソースをリザーブした後に必要とされるリソースが
使用できないところの要求をバイバスし、その後の新た
な要求と、それに関連して要求がリザーブされた要求と
を交互にポーリングすることにより仲裁を行なうという
考え方に基づいている。
仲裁システムは、一対のリソースベクトルに関連して動
作する。即ちそれは、l)仲裁時に未解決の要求を伴う
コマンドを実行する必要のある全てのリソースを表わす
リソース要求(RR)ベクトルと、2)ポーリング時に
使用可能な全てのリソースを表わすリソース使用可能(
RA)なベクトルとである。仲裁時に必要なリソースを
使用できるところの要求の識別は、2つのリソースベク
トルを比較することにより行なわれる。これらのベクト
ルが合致すると分かった場合、必要な全てのリソースが
使用できることを指示する。リソースベクトルが合致し
ない場合には、必要なリソースの少なくとも幾つかが使
用できず且つその要求がリザーブされないことを指示す
る。リザーブされた要求が仲裁されるときにも同様の合
致が行なわれるが、この場合は、ベクトルが合致しない
ときには、RAベクトルを記憶してリソースが次の要求
に使用不能となるようにすることにより、全ての対応す
る必要なリソースがリザーブ状態に入れられる。
簡単に述べると、本発明の仲裁機構によれば、SCU 
(即ち、全てのSCUポート)にポート結合された全て
のユニットが順次にポーリングされ、そしてSCUに到
着する要求の優先順位を決める所定のハイアラーキ優先
順位決め機構に基づいて要求が最初に仲裁される。ポー
リングシーケンスの第1のバスにおいては、処理可能な
全ての要求がそのように行なわれる一方、使用不能なリ
ソースを必要とするリソースがリザーブされた状態に入
れられる。次のバスにおいて、手前のバスからの全ての
リザーブされた要求が再びポーリングされて、それに対
応するリザーブされたリソースがそのとき使用できるが
どうが判断される。必要なリソースがそれから使用可能
になったところのリザーブされた要求が処理される。必
要なリソースがまだ使用不能であるところのリザーブさ
れた要求はリザーブ状態に保持され、更に、それに対応
するリソースはリザーブされたリソースとして記憶され
、その後の要求に対して使用不能となるリザーブされた
リソースの要約を発生する。このバスの間に、手前のポ
ーリング時から保持されそして必要なリソースを保持で
きるところの新たな要求が処理される。然し乍ら、リソ
ースのリザーブは第3バスの部分として行なわれない。
「リザーブされた」要求と、「新たな」要求とのこの交
互の要求は、リザーブされた全ての要求が処理されるま
で、即ちシステムリソースがいずれもリザーブ状態でな
くなるまで、その後のバスにおいて続けられ、そのとき
にはリザーブされた要求の新たな要約が開始される。
以下に詳細に説明するように、上記仲裁機構はノン・ス
トップで動作する。というのは、到達する通信要求は、
特定の要求が不必要に次の要求の仲裁を妨げることなく
連続的に処理されるからである。仲裁バスの一部分とし
てリザーブされた全ての要求が処理された後に次の要求
に対するリソースのリザーブを開始するように確保する
ことにより、仲裁機構は、要求を発しているユニットが
ロックアウトされるのを阻止する。
本発明による好ましい実施例の仲裁機構においては、コ
マンド変換手段を用いて、システムで処理できる全ての
通信コマンドのディレクトリが記憶され、このディレク
トリの各入力は、特定のコマンドを実行するのに必要な
全てのリソースの対応するリストに対してインデックス
される。SCUにおける全ての入力要求は、優先順位決
め手段内に記憶され、この手段は、入ってくる要求を順
次に受け入れそして全ての記憶された要求の中で所定の
優先順位決め機構に基づいて最も高い優先順位が指定さ
れた単一の要求をその出力に得られるようにする。入っ
て(る通信要求に関連したコ又ンドは、コマンドバッフ
ァ手段に記憶される。
優先順位決め手段によって選択された要求によりインデ
ックスされた乗算器構成体を用いて、その選択された要
求に対応するコマンドがコマンド変換手段に送られ、該
手段は、それに応答して、コマンドの処理に必要な全て
のリソースを表わすリソースベクトルを発生する。
SCUには、使用可能なリソースのベクトルを発生する
ために仲裁時に使用できるリソースの更新された記録を
維持するための手段が設けられている。このベクトルは
、比較器構成体により、優先順位決め手段で決定された
現在未解決の要求に対応するリソースベクトルと比較さ
れ、仲裁されている要求に関連したコマンドを実行する
に必要な全てのリソースが使用可能であるかどうかを判
断する。2つのリソースベクトルが合致すると分かった
場合には、比較器の出力により選択された要求が処理さ
れる。然し乍ら、リソースベクトルが合致しない場合に
は、比較器構成体は、通信要求を開始した要求発生ユニ
ットに対応するSCUポートがリザーブ状態にあるもの
としてフラグがたてられるようにする。リザーブされた
要求が仲裁されるときには、必要なリソースのベクトル
が使用可能なリソースの現、在ベクトルと再び比較され
る。ベクトルが依然として合致しない場合には、比較器
の出力により必要なリソースのベクトルがリソースリザ
ーブベクトルに記憶され、即ちベクトルが合致しない場
合には、リザーブされた要求が処理され、リザーブされ
た要求のリストから取り外される。この物理的構成の繰
返し動作は上記の仲裁機構に基づいており、以下で詳細
に説明する。
本発明の他の目的及び効果は、添付図面を参照した以下
の詳細な説明がら明らかとなろう。
実施例 本発明は、種々の変更及び修正が考えられるが、−例と
して添付図面を参照してその特定の実施例について詳細
に説明する。然し乍ら、本発明は、ここに開示する特定
の形態に限定されるものではなく、特許請求の範囲で規
定した本発明の精神及び範囲内に入る全ての変更や修正
を網羅するものとする。
添付図面の特に第1図は、マルチプロセッサシステムI
Oの簡単なブロック図であり、該システムは、複数の中
央処理ユニット(CPU)1.2を用いており、これら
のシステムCPUがシステムに対して共通のメモリ16
を共有できるようにすることによりこれらCPUの同時
の即ち並列の動作を行なえるようになっている。メイン
メモリ16自体は、典型的に、複数のメモリユニット1
6A及び16Bを備えている。システム制御ユニット(
SCU)14は、CPU12をメインメモリ16にリン
クすると共に、入力/出力(I/O)制御器18にリン
クする。このI10制御器は、一般的にはプロセッサシ
ステムがそしてより詳細にはCPUがシステムの適当な
I10インターフェイス20及び当該I10ユニット2
0Aを経て外界と通信できるようにする。又、5CU1
4は、種々のシステムモジュールをサービスプロセッサ
/コンソールユニット(SPU)22へリンクし、この
ユニットは、プロセッサシステムの全オペレーションに
ついての状態の決定及び制御を含む通常のコンソール機
能を調整する。第1図のマルチプロセッサシステムでは
、5CU14を経てリンクされたシステムユニットとメ
インメモリ16との間、より詳細には、各システムCP
U12と各メモリユニット16A、16Bを構成する個
々にアドレス可能なセグメントとの間の効率的な通信が
専用のインターフェイス手段30を経て処理される。メ
インメモリの特定の構成及びSCUをメモリにインター
フェイスする特定の仕方は、本発明にとって重要ではな
く、従って、ここでは詳細に説明しない。好ましいイン
ターフェイス手段の詳細については、本発明の譲受人に
譲渡された参考としてここに取り上げる前記ガグリアド
氏等の1989年2月3日に出願された[マルチプロセ
ッサシステムのシステム制御ユニットをシステムメイン
メモリとインターフェイスする方法及び手段」と題する
米国特許出願第306,326号を参照されたい。本発
明の説明上、メインメモリ16の各メモリユニット16
A、16Bは、SCUの2つのメモリポート間に分割さ
れるのが好ましく、各ポートは2つの個々にアドレス可
能なセグメントにリンクされそして全てのセグメントは
ブロック境界においてインターリーブされることを述べ
れば充分であろう。これについては、前記特許出願に詳
細に開示されている。
CPUやI10ユニットのような各システムユニットは
別々のポートを通して5CU14に結合され、そしてメ
モリとの間の全ての通信要求、より詳細には、メモリと
システムユニットとの間のアクセス要求は、SCUの対
応するポートに保持される。5CU14は、システムユ
ニットをアクティブに保持するように働く一方、システ
ムユニットとシステムメモリとの間でSCUの種々のポ
ートに受け入れられる通信に対する要求を取り扱うこと
によりユニット内競合を回避するように働く。種々のC
PU及びI10ユニットはマルチプロセッサシステム内
で並列に動作されるので、複数の通信要求がルーチン的
にSCUに受け取られる。更に、多数のこのような要求
は、典型的に、同じシステムリソースへのアクセスを要
求し、それに関連したコマンドを実行することにより要
求を処理する。
従って、システムリソースを最も効率的に使用すると共
に、要求を適度な時間内に処理することにより各到達す
るシステム要求を公平に処理する形態でシステムユニッ
トからそのポートで受け取った要求を処理することがS
CUの重要な機能である。より詳細には、SCUがその
ポートで未解決となっているシステムユニットからのど
の要求を仲裁してシステムの効率とユニットの公平さの
2つの要求を満たすかをベースとする技術は、プロセッ
サシステムの全作動効率に影響する重要なファクタの1
つである。上記したように、従来の仲裁機構は、例えば
、「ラウントロピン」解決策に基づいており、即ち「瞬
時実行」の解決策はマルチプロセッサシステムに用いる
には満足なものではない。というのは、それらは通信要
求の仲裁において適度な応答時間との組み合わせでシス
テムリソースの効率的な効率的な使用をもたらすからで
ある。
本発明によれば、第1図に関して上記した形式のマルチ
プロセッサシステムにおいてシステムユニットからの要
求を効率的に仲裁するようにSCUにより使用すること
のできる新規な仲裁機構が提供される。この仲裁機構は
、関連コマンドの実行により入ってくる通信要求を処理
することが必要な全てのシステムリソースを識別し、仲
裁時に全ての必要なリソースを使用できるところの要求
を処理し、仲裁時に全ての必要なリソースを使用できな
いところの要求をリザーブされた状態に入れ、リザーブ
された要求を処理できないときに対応する必要な要求を
リザーブし、そしてリザーブされたリソースに関連した
既にリザーブされた要求と、その後に受け取った新たな
要求とを交互にポーリングして、その必要なリソースを
使用できるか又は使用できるようになった要求を処理す
ることにより仲裁を進めるという考え方に基づくもので
ある。入ってくる要求を処理する必要のある全てのリソ
ースを識別するために、本発明の仲裁システムは、シス
テムで発生された一対のリソースベクトルに関連して次
のものを使用する。
1)選択された要求を付随するコマンドを仲裁時に実行
する必要のある全てのシステムリソースを識別するリソ
ース要求(RR)ベクトル;及び2)仲裁時に実際に使
用可能な全てのシステムリソースを識別するリソース使
用可能(RA)ベクトル。
全ての必要なリソースが仲裁時に使用できるところの要
求を識別するために、2つのリソースベクトルRR及び
RAが比較される。これらのリソースベクトルが合致す
ると分かった場合には、全ての必要なリソースが使用可
能であるという明確な指示である。リソースベクトルが
合致しない場合には、対応するコマンドを実行するに必
要なリソースの少なくとも幾つかがそのとき使用できな
いことを指示し、従って、その要求はそのとき処理でき
ないことを指示する。そこで、入ってくる要求は、ベク
トルが合致したときに実行され、ベクトルが合致しない
ときにリザーブ状態に入れられる。リザーブされた要求
を実行するに必要なリソースが使用できないと分かった
場合、即ちリザーブされた要求に対するRRベクトルと
RAベクトルとが合致しない場合には、それらがリザー
ブ状態にされ、これらのリソースはリソースを使用でき
るようになるや否やリザーブされた要求を処理するのに
適するようになる。RAベクトルは、リザーブされたリ
ソースをその後の要求に対して使用不能にすることによ
りこれらリソースのリザーブされた状態を反映するよう
に同時に調整される。次の説明は、本発明の仲裁機構に
基づく順次の手順に集約される。仲裁は、対応するシス
テムユニットからの通信要求を保持するのに使用できる
全てのSCUポートを順次にポーリングすることに基づ
いている。入ってくる要求は、ポーリングルーチンの間
に収集され、その後に仲裁するために記憶される。記憶
された要求からの仲裁要求の選択は、簡単なハイアラー
キ機構に直接基づくものであり、これは、好ましい実施
例によれば、ポートにおける要求の到達時間に関連した
「最初に入ってくるものが最初に仲裁される」というベ
ースで所与のポートにおいて多数の要求を優先順位決め
し、更に、所定の優先順位決めハイアラーキに基づいて
所与のポーリングルーチン中に収集された全ての要求を
極性状めする。
本発明の特徴によれば、仲裁シーケンスは3つの別々の
仲裁バスを使用し、各バスは、単一のポーリングルーチ
ン中に収集された全ての要求の選択及び仲裁より成る。
より詳細には、ポーリングシーケンスの第1バス(リザ
ーブバス)中に、関連コマンドに対応する全ての必要な
リソースが仲裁時に使用できるところの要求が処理され
る。
又、リザーブバス中に、必要なリソースの全部ではない
リソースが使用可能であるところの要求が更に仲裁のた
めにリザーブ状態に入れられる。
次の仲裁バス(リザーブバス)においては、手前のリザ
ーブバスにおいてリザーブされた要求のみが、それら要
求がリザーブ状態に入れられたときから対応するリザー
ブリソースを使用できるよう−になったところのリザー
ブされた要求を処理することにより、仲裁される。又、
リチェックバス中に、関連コマンドに対応する必要なリ
ソースが依然として使用できないところのリザーブされ
た要求はリザーブ状態に保持され、更に、対応するRR
ベクトルにより表わされた対応する必要なリソースは、
リザーブされたリソースの要約としてリザーブ状態に入
れられる。
第3の仲裁バス(非リザーブバス)の間には、手前のポ
ーリングルーチン以来SCUに保持された新たな要求の
みが処理されるが、これは、全ての対応する必要なリソ
ースを使用することのできる要求を処理することによっ
て行なわれる。然し乍ら、リソースのリザーブは第3バ
スの一部分として行なわれない。「リザーブされた」要
求及び「新たな」要求のこの交互のポーリングは、最初
のリザーブバスから生じる全てのリザーブされた要求が
処理されるまで次々のバスにおいて続けられる。この点
において未解決のリザーブされた要求はなく、リザーブ
する必要のある非実行可能な要求の識別及びそれに関連
したリザーブされたリソースの要約の発生は、新たなリ
ザーブバスを実行した後に、再び仲裁の進行に続いてリ
チェックバス及び非リザーブバスを交互に実行すること
により新たに開始される。
本発明の仲裁機構により3つの仲裁バスを実行するのに
含まれる種々の手順ステップのより詳細な説明は、第2
A図、第2B図及び第2C図を参照して行なう。特に、
第2A図には、リザーブバスに対する流れ線図50が示
されている。図示されたように、第1ステツプ51にお
いて、SCUのポーリングされたポートからの要求が受
け取られ、それに関連するコマンドと共に記憶される。
説明上、SCUにポート結合されたユニットの数、ひい
ては、SCUポートの数がrPJに等しく、全てのポー
トに単一の通信要求が保持されていると仮定すれば、単
一のポーリングルーチン中にSCUによって仲裁するた
めに収集された要求及びコマンドの数も「P」に等しく
なる。ステップ52において、記憶された要求は、例え
ば、最も上の優先順位rNJで始まる選択されたハイア
ラーキ優先順位決め機構に基づいて優先順位決めされる
次のステップ53において、そのとき最も高い優先順位
をもつ要求REQNが次に仲裁されるように選択され、
そして対応する記憶されたコマンドCMNDが抽出され
る。ステップ54において、選択されたコマンドに対応
する必要なリソースベクトルRRNが発生される。その
次のステップ55において、リソース使用可能ベクトル
RAが発生され、その後、ステップ56において、2つ
のリソースベクトルが比較されて、選択されたコマンド
により要求された全てのリソースがそのとき使用できる
かどうか判断される。ステップ56の答えが否定である
場合には、その要求REQNがステップ57においてリ
ザーブ状態に入れられる。
ステップ56の答えが肯定である場合、即ち仲裁されて
いる要求によって必要とされた全てのリソースが実際に
使用できる場合には、ステップ58がアクセスされ、仲
裁機構は要求の処理を開始する。ステップ57及び58
のいずれかの実行の後にステップ59へと続き、S、C
Uポートから収集された全ての要求が仲裁されたかどう
かのチエツクがなされる。ステップ59の答えが否定で
ある場合には、ステップ60がアクセスされ、優先順位
決めパラメータNが増加された後に、リザーブバスシー
ケンスのステップ53に戻り、そのとき最も優先順位の
高い未解決の要求が仲裁のために選択される。上記した
流れシーケンスは、優先順位決めされた全ての要求が実
際に仲裁されてしまうまで繰り返され、その時点で、ス
テップ59の答えが肯定となり、ステップ61がアクセ
スされ、仲裁機構のりチエツクバスが開始される。
第2B図は、本発明による仲裁機構のりチエツクバスを
実行するのに含まれる手順シーケンスを表わす流れ線図
である。リチェックバス70はステップ71で開始され
、最初のリザーブバス中にリザーブされた状態のもとで
記憶された要求を順次に仲裁することを含む。ステップ
72において、リザーブレジスタが空であるかどうか、
即ち最初のリザーブバスの一部分としてリザーブ状態に
入れられた全ての要求がその後に処理されて、未解決の
リザーブされた要求がそのとき存在しないかどうかを判
断するためのチエツクがなされる。
その答えが肯定であると分かった場合には、ステップ7
3がアクセスされ、リザーブバスへ復帰することによっ
て仲裁が進められる。さもなくば、ステップ74がアク
セスされ、最も未解決のリザーブされた要求RREQX
に対応する必要なコマンドCMDXが仲裁のために選択
される。説明上、rQJのリザーブされた要求は仲裁の
必要があり。
サフィックスrXJは、仲裁時に最も未解決なリザーブ
された要求を指す。ステップ75において、それに対応
する必要なリソースベクトルRRXが発生される。
その後、ステップ76において、ベクトルRRXがリソ
ース使用可能ベクトルRAと比較される。ステップ77
において、選択された要求を処理するに必要な全てのリ
ソースがそのとき使用できるかどうかについての判断が
なされる。ステップ77の答えが否定である場合には、
ベクトルRRXに対して表わされる要求REQXに対応
する全ての必要なリソースがステップ78においてリソ
ースリザーブレジスタに記憶される。その後、ステップ
79がアクセスされ、ベクトルRRNにより表わされた
リザーブされたリソースを次の要求に対して使用不能に
するようにリソース使用可能ベクトルRAが調整される
然し乍ら、ステップ77の答えが肯定であることが分か
った場合には、ステップ80がアクセスされ、選択され
た要求の処理が開始された後に、ステップ79において
流れシーケンスに復帰し、リソース使用可能ベクトルR
Aが対応的に調整される。次いで、ステップ81がアク
セスされ、全ての未解決のリザーブされた要求が仲裁さ
れたかどうかを判断するテストが行なわれる。ステップ
81のテストが否定の結果9を生じた場合には、リザー
ブ状態を指示するパラメータXがステップ82において
増加され、ステップ72において流れシーケンスに再び
入り、そのとき最も未解決となっているリザーブされた
要求が次に仲裁のために選択される。一方、ステップ8
1のテストが肯定の結果をもたらす場合、即ち全ての未
解決のリザーブされた要求が実際に仲裁された場合には
、流れシーケンスがステップ83において非リザーブバ
スへと進む。
第2C図には、本発明の仲裁機構による非リザーブバス
に含まれるシーケンスを定める流れ線図である。非リザ
ーブバス90はステップ91において開始され、手前の
リザーブバスに続いて要求発生システムユニットからS
CUポートで受け取った全てのコマンド或いはリザーブ
バスで仲裁のために取り上げられたちの以外のポートに
おける未解決の要求が収集され、それに関連したコマン
ドと共に記憶される。解説上、非リザーブバスで仲裁す
る必要のある要求/コマンドの全数を[K」と仮定する
。次のステップ92においては、リザーブバスの優先順
位決めステップ52に用いられたものと同様に記憶され
た要求が優先順位決めされる(第2A図)。
ステップ93において、最も高い未解決の優先順位決め
レベル(ここでは説明上、rLJと称する)を有する要
求REQL及びそれに対応するコマンドCMDLが仲裁
のために選択される。次のステップ94において、選択
されたコマンドに対応する必要なリソースベクトルRR
Lが発生され、そしてステップ95において、リソース
使用可能ベクトルRAと比較される。ステップ96にお
いて、選択されたコマンドを実行するに必要な全てのリ
ソースが使用できるがどうかについての判断が成される
。ステップ96の答えが否定である場合には、ステップ
97がアクセスされ、優先順位決めされた全ての要求が
仲裁されたがどうかについての判断がなされる。ステッ
プ97の答えが否定である場合には、優先順位決めパラ
メータLがステップ98において増加され、ステップ9
3で流れシーケンスに再び入り、そのとき最も優先順位
の高い要求が仲裁のために次に選択される。
然し乍ら、ステップ96において全ての必要なリーソー
スが実際に使用できることが分かった場合には、ステッ
プ99に達し、選択された要求の処理が開始され、その
後ステップ97において流れシーケンスに再び入り、優
先順位決めされた全ての要求が仲裁されるかどうかの判
断がなされる。
上記事象シーケンスは、ステップ97において肯定の答
えが発生されて全ての優先順位決めされた要求が実際に
仲裁されることを指示するまで繰り返され、その後、シ
ーケンスはりチエツクバスに復帰し、これはステップ9
9Aで開始される。
第3図は、第2図の仲裁機構を実施するための好ましい
構成であって第1図に示した形式のマルチプロセッサシ
ステムに用いる構成100を示す簡単なブロック図であ
る。SCUポートに入ってくる要求112は優先順位決
め手段113内に記憶され、一方、その入ってくる要求
に関連した対応するコマンド114は受け入れられて最
初に個別のコマンドバッファ115に記憶される。記憶
されたコマンドは、その後、バッファ115がらマルチ
プレクサ117へ転送され、このマルチプレクサは、優
先順位決め手段113がら優先順位インデックス信号1
16を受け入れ、そしてこれに応答して、それに対応す
る記憶されたコマンドを選択されたコマンド118とし
て出力する。
本発明の特徴によれば、優先順位決め手段l13は、多
数の要求が所与のポートに到達するときにSCUポート
における到着時間に関して最も未解決な要求を選択する
ことと、全てのSCUポートから収集されたこのような
未解決の要求から、予め定められたハイアラーキの要求
発生ソースをベースとする単一の要求を選択することと
に基づいてハイアラーキ選択機構に機能する。より詳細
には、優先順位を指定するためのハイアラーキは、通信
要求を発生する特定のシステムユニットにキー固定され
、このような機構においては、メモリから発せられる要
求に最も高い優先順位が与えられるのが好ましく、一方
、I10ユニットからの要求には比較的低い優先順位が
与えられ、そして最後に、CPUから発せられる要求に
は最も低い優先順位が与えられる。
本発明の仲裁技術及びその実施は、SCUが4つのCP
U、2つのメモリユニット及び2つのIloからの通信
要求を仲裁するようにされた本発明の好ましい実施例に
よるSCUCPポートを考えることによって最も良く理
解されよう。従って、少なくとも8個のポートがそれに
対応するシステムユニットからの要求及び関連コマンド
を受け入れるためにSCUに設けられる。更に、各SC
Uポートは、対応するシステムユニットからの複数の通
信要求を受け入れてそこに保持するように用いられる。
優先順位が許可された通信要求は、例えば、SCUを通
る送信路を指定の時間中リザーブさせ、これについては
、参考としてここに取り上げる1989年2月3日出願
の[マルチプロセッサシステム内のシステムユニット間
でデータ送信を行なうためのモジュール式クロスバ−相
互接続ネットワーク」と題するチナスウェイ氏等の米国
特許出願筒306,336号に開示されている。
好ましくは、SOUは、SCU内の各々のCPUポート
において未解決となっている3つまでの要求と、各I1
0ユニット及びSCU内の各メモリユニットポートに対
する2つまでの要求とをもつようにされ、これにより、
所与の時間に優先順位決め手段で処理するためにSCU
ポートに2Oまでの要求が未解決となることがある。同
様に、20までの対応する入力コマンドを記憶する必要
があり、従って、コマンドバッファ115にはこれを達
成するための容量が設けられる。
第4図は、20までの入ってくる要求(REQO−RE
QI 9)をSCUポートで受け入れて、1つの要求を
仲裁のために選択するのに適するようにそれらの優先順
位を決めるための優先順位決め手段113の好ましい構
成を示している。この構成体160は、8つのSCUポ
ートからの入ってくる要求を受け入れるための一連のラ
ッチ161を備えており、これらのポートは、4つのc
PU 1−4 ニ対する4つ(7)C,PUポート(C
PUボーho%CPUボー)1.CPUポート2及びC
PUポート3)と、2つのI10ユニットに対する2つ
のI10ポート(I10ポート0及びI10ポート1)
と、2つのメモリユニットに対する2つのメモリポート
(MEMポート0及びMEMポートl)とを備えている
。より詳細には、各SCUポートごとに単一のラッチが
設けられていて、当該システムユニットへの及びユニッ
トからの通信要求を受け取れるようになっている。例え
ば、ラッチOは、CPUポート0に対応し、これは、C
PUIからの及びこれへのREQOlREQI及びRE
Q2を受け入れる。
CPUポートに記憶することのできる入ってくる要求の
最大数(この場合は、3)は、ラッチOに順次にラッチ
され、最初にポートに到着する要求は所与の時間に最も
未解決な要求を構成し、CPUポート0から収集された
特定の要求REQ00としてラッチ出力される。この形
式の選択は、CPU2.3及び4に各々対応するSCU
CPポート2及び3に対応する残りの3つのラッチにお
いて続けられる。例えば、ラッチ3は、CPUポート3
に対応し、CPUポート3におそらく保持された3つの
要求、即ちREQ9、REQIO及びREQIIを受け
入れて、その受け入れられた要求の最も未解決なものを
更に仲裁のためにREQO3として選択するのに役立つ
同様に、ラッチ4.5は、各々、I10二ニット0,1
に対しSCUCPポート5に対応するように設けられる
。より詳細には、ラッチ4は、I10ポート0がらRE
Q12及びREQ13の2つの要求を受け入れて、2つ
のうちの最も未解決なものをREQO4として選択する
。同様に、ラッチ5は、I10ポート1がら2つの要求
REQ14及びREQ15を受け入れ、2つの要求のう
ちの1つを未解決の要求REQO5として選択する。
同様に、ラッチ6.7は、システムをサポートする2つ
のメモリユニット0.1に対するscUポートに対応す
るように各々設けられている。
特に、ラッチ6は、メモリポートlがら2つの要求RE
Q16及びREQ17を受け入れ、そこから最も未解決
なl要求をREQO6として選択する。ラッチ7はメモ
リポート0がら要求REQI8及びREQ19を受け入
れ、2つの要求のうちの最も未解決なものをREQO7
として選択する。
実際に、8つのSCUポートに対応する8つのラッチ1
61を用いた構成体は、各scUポートにおける最も未
解決な要求を選択し、8つまでの要求を収集するように
働き、各ポートに対する単一の未解決の要求を収集する
ために8つのSCUポートの各々をポーリングするこの
シーケンスは、単一のポーリングルーチンを構成する。
選択された要求REQOO−REQO7は、優先順位選
択ネットワーク162へ送られ、このネットワークは、
優先順位レベルの所定のハイアラーキに基づいて特定の
要求をピックアップするための簡単な論理構成体を作る
上記したように、優先順位決めハイアラーキは、メモリ
ポートを通して保持された要求に最も高い優先順位を指
定し、I10ポートから発せられる要求に比較的低い優
先順位を指定し、そしてCPUポートから発せられる要
求に最も低い優先順位を指定することに基づくのが好ま
しい。より詳細には、2つのメモリポートのうちの1つ
、例えば、メモリポート0には最も高い優先順位が指定
され、REQO7がアクティブであるときに、最も高い
優先順位が指定されて、それにより、仲裁に選択される
ようになっている。次の優先順位レベルは、メモリポー
トlがらのREQO6に指定される。同様に、次々に低
い優先順位レベルが、I10ポートoがら(7)REQ
O5、I10ポートlから(7)REQO4、CPUポ
ート3がら(7)REQO3、CPUポート2がら(7
)REQO2、cpUポートlから(7)REQOI及
びCPUポート〇からのREQOOに各々指定される。
特定のアクティブな要求は、優先順位の高いレベルをも
つ全ての要求がインアクティブである場合だけ仲裁のた
めに選択される。例えば、I10ポート1に対応するR
EQo4は、REQO5、REQO6及びREQO7(
、:れらは、REQQ4よりも優先順位レベルが高い)
がインアクティブである場合にのみ仲裁のために選択さ
れる。特定の要求がその優先順位レベルに基づいて仲裁
のために選択されると、それに対応する優先順位インデ
ックスが、仲裁のために選択された入ってくる20個の
要求の特定の1つを表わす信号として発生され、これに
より、選択された要求に関連した対応コメントを仲裁の
ために選択することができる。
優先順位ハイアラーキを定める際には、メモリからのデ
ータが使用できるようになったことが関連メモリコマン
ドによって指示されるや否や、要求されたメモリデータ
をその要求を発しているCPUに転送して戻す構成がな
されていない限り、CPUのようなシステムユニットか
らの要求に準じるようにメモリにアクセスするだけでは
何の役にも立たないようにすることを確認しなければな
らない。従って、メモリに向けられるその後のCPU要
求は、要求を発しているシステムユニットへのデータの
転送を必要とするメモリコマンドによって取って代わる
ことが重要である。これは、このメモリコマンドに最も
高い優先順位を指定することによって行なわれる。複数
のメモリユニ・ソトが存在するときには、各ユニットに
種々の優先順位レベルの1つが指定され、その各々は残
りのシステムユニットに指定されるものよりも高くされ
る。例えば、2つの独立してアクセスできるメモリユニ
ットを有する好ましい実施例では、メモリユニット「0
」に最も高い優先順位(即ちl)が指定され、一方メモ
リユニットlには次に高い優先順位(即ち2)が指定さ
れる。
メモリユニットに対する優先順位レベルを越えると、次
に高いレベルがI10ユニットに与えられる。これは、
I10ユニットの動作を既に要求していてそのユニット
を動作の実行に加えさせたCPUがその後に同じユニッ
トにより実行されるべき別の動作を要求し、それにより
I10ユニットの負担を増して効率的なI10応答を妨
げるときに生じる競合を回避するためである。従って、
I10ユニットにより発せられたコマンドは、システム
CPUから送られるものよりも高い優先順位レベルをも
つものとして指示されることが重要である。好ましい実
施例では、例えば、システムI10ユニットO,lに各
々レベル3.4の優先順位が指定され、これらは2つの
メモリユニットに対する優先順位レベルのすぐ下に入る
ものである。最後に、システムCPUは最も低いレベル
の優先順位が与えられ、例えば、好ましい実施例では、
4つのCPUl−4に各々優先順レベル407が与えら
れる。
第3図を参照すれば、優先順位決め手段113により発
生された優先順位インデックス116はマルチプレクサ
117へ送られ、このマルチプレクサに送られた受け取
ったコマンドのうちの特定の1つで、最も高い優先順位
を有する入ってくる要求112に対応する1つを選択す
るための選択信号として働く。
選択されたコマンド118は、これを実行するに必要な
全てのリソースを表わす必要なリソースベクトル120
を発生するためにコマンド変換手段119へ送られる。
よ、り詳細には、コマンド変換手段119は、一般に全
ての考えられる通信コマンドにそして特にプロセッサシ
ステムにより実行可能であると定められたメモリコマン
ドに相関した所定リストのテーブルを含んでいる。これ
を達成するために、SCUにより最も一般的に仲裁され
る通信コマンドは、所要リソースの同様の組を実行のた
めに必要とするコマンドのカテゴリに分割されるのが好
ましい。典型的なカテゴリは、メモリ読み取り、メモリ
書き込み、I10読み取り及びI10書き込みを含むが
、あまり一般的でないコマンド、例えば、メモリ及び■
/○ユニットへのアクセスを必要としないがシステムマ
イクロコード待ち行列へのアクセスを必要とするような
コマンド、及びメモリやI10ユニットやシステムのマ
イクロコード待ち行列へのアクセスを必要としないコマ
ンドもカテゴリに分けられる。これらのコマンドカテゴ
リのいずれかに入る各コマンドについては、コマンドの
実゛行に重要な特定の組のシステムリソースが識別され
、指定されたコマンドをそれに対応する必要なリソース
に相関するテーブルが発生される。
仲裁機構は、システムリソースの特定の形式又はカテゴ
リに制約されないことが当業者に理解されよう。共通の
コマンドを実行するための典型的なリソースは、システ
ムCPU及びメモリユニットに対するコマンドバッファ
と、I10装置のためのバッファと、CPU、メモリ及
びI10ユニットのためのデータ路ソースと、CPU、
メモリユニット及びI10ユニットに対するデータ路行
き先とを含む。更に、直接リンクされたクロスバ−モジ
ュールがシステムユニットとメモリセグメントとの間の
データ転送に使用されるときに、マイクロコード待ち行
列へのアクセス性やデータ路交差点といったリソースを
識別することもできる。
32ビツトベクトルの形態で通常表わすことのできる選
択されたコマンドを実行するのに必要なシステムリソー
スを予め定める好ましい構成が第5図に示されている。
32ビツトの各々は、これがアサートされたときに、特
定のシステムコマンドを実行するのに必要な特定のシス
テムリソースを表わす。第5図において、例えば、ビッ
ト0.1.2及び3は、CPUI、CPU2、CPU3
及びCPU4に対するCPUコマンドバッファを各々表
わし、一方、ビット4.5及び6,7は、2つの別々の
独立してアクセスできる二重セグメントメモリユニット
より成るシステムメモリのメモリユニットの各セグメン
トに対する2つのコマンドバッファを各々表わし、そし
てビット8.9は、入力/出カニニットl、2に対する
バッファを各々表わし、等々となる。
仲裁機構が作用するものとして予め選択された各コマン
ドについては、対応するRRベクトルが定められ、コマ
ンドを実行するに必要な全てのシステムリソースを32
ビツトワードの形態で識別する。従って、コマンド変換
器は、本質的に、仲裁コマンドのディレクトリをそれに
対応する32ビツトRRベクトルと共に記憶するための
手段となる。各たびに、要求が仲裁のために選択される
。優先順位インデックス116は、対応するコマンドを
MUX 117から抽出させてコマンド変換器119へ
供給し、そしてそれに応答して、それに対応する記憶さ
れたRRベクトルがその後にRAベクトルとの比較のた
めに抽出される。
又、第3図の仲裁システムは、使用可能なリソースモニ
タ121も備えており、このモニタは、使用することの
できる全てのシステムリソースの瞬時記録を与えると共
に、リソース使用可能(RA)122のベクトルを発生
し、これは、コマンド変換手段119によってリソース
比較手段123へ発生されたRRベクトル120と組み
合わせて送られる。
本質的に、リソースモニタ121は、各リソースの使用
性を確認しそしてそれに応答して、使用可能なリソース
ベクトルを記憶するレジスタ内の対応するビットをセッ
ト又はクリアするために各々のシステムリソース(第5
図のリソーステーブルで識別された)に直接リンクされ
たモジュールである。これに含まれる実際の物理的な構
成は重要なものではなく、リソースモニタ121が予め
指定されたシステムリソースの各々にリンクされて、所
与の時間に使用できるシステムリソースの指示(リソー
ス要求ベクトル(RR)に対応するフォーマットの)を
与えられることが必要とされるだけである。好ましくは
、リソースモニタは、各々の指定されたシステムリソー
スから、各システムリソースに対応する少なくとも1つ
のビットを有するリソース使用可能レジスタまでハード
ワイヤリンクの形態で実施され、即ち特定のシステムリ
ソースが使用中であるときには、リソース使用可能なレ
ジスタの対応するビットがセットされ、従って、レジス
タの出力は、システムリソースの使用性を指示し、リソ
ース使用可能ベクトルRAを表わす。第23図の比較器
123は、これに送られる2つのリソースベクトルを比
較するように働き、2つのベクトルRR及びRAが合致
すると分かった場合、即ち選択されたコマンド118に
より必要とされた全てのリソースがそのとき使用できる
場合には、「プロセス要求J信号124を発生し、即ち
この「プロセス要求」信号124は、選択されたコマン
ドを通常のやり方で実行する際にSCUにより使用する
ことができる。
又、比較器123は、リザーブ信号120を発生するよ
うにされ、この信号はRRベクトルをリソースリザーブ
レジスタ(RRV)125に供給させ、比較されるリソ
ースベクトルが合致しないと分かった場合に、RRベク
トルで指定された必要なリソースをそこに記憶できるよ
うになっている。又、RRV l 25は、使用可能な
リソースモニタ121にもリンクされており、更新され
た使用可能なリソースベクトルRA112をそこから発
生することができる。これは、レジスタ125に記憶さ
れた必要なリソースベクトル120により指定されたリ
ザーブされたリソースの使用不能性を表わす、又、リザ
ーブ信号120は、その要求をリザーブ状態であるとし
て指定させると共に要求リザーブレジスタ126内に記
憶させるのに使用できる。これは、優先順位決め手段1
13及び第3図の仲裁システムの残り部分により処理さ
れた後に後で仲裁するためである。
或いは又、リソースリザーブレジスタ125自体は、リ
ソース比較手段123にリンクされていて、比較器に入
ってくるRRベクトルがリザーブされたリソースと比較
されて、使用可能なリソースがRRV125内に予めリ
ザーブされていない場合だけ選択されたコマンドを実行
するためにそれらのリソースが実際に使用可能となるよ
う確保される。
本質的に、本発明の仲裁機構は、選択されたコマンドを
実行するのに必要なリソースを決定し、どの使用可能な
リソースにも既に仲裁された要求がリザーブされていな
いことを最初に確保した後に全ての必要なリソースが使
用可能であるかどうかを判断し、特定のコマンドに必要
なリソースのいずれもが使用できないか或いは手前の要
求によってリザーブされているかを判断したときに全て
の必要なリソースをリザーブし、そして最後に、全ての
必要なリソースが使用でき且つその前に実行された要求
に対してリザーブされていないところの要求を処理可能
なものとして指示することに基づく。
一第6図には、仲裁されている特定のプロセスが処理で
きるときを識別するための上記機構を実施する好ましい
論理構成が示されている。この構成体170は、複数の
アンドゲート172を含み、その各々は、特定のリソー
スの使用性及び非リザーブ状態を各々表わす信号を2つ
の入力に受け入れる。通信要求を処理するのに使用でき
る個別のシステムリソースの数と同数のアンドゲート1
72が設けられる。好ましい実施例によれば、32個の
指定されたシステムリソースに関連した状態信号を受け
入れるために32個のこのようなアンドゲート172が
設けられている。各アンドゲート172の出力は、対応
するリソースの実際の使用性を指示する。より詳細には
、出力は、ゲートへの両方の入力が高レベルであるとき
にのみ、即ち対応するリソースがシステムによって使用
できると同時に手前の要求によってリザーブされないと
きにのみ、高レベルとなり、ひいては、アサート状態と
なる。
各アンドゲート172から、リソースの使用性を表わす
信号が第2のアンドゲート174への入力の1つとして
供給され、この第2のアンドゲートは、選択されたコマ
ンドを実行するための要求が必要とされることを指示す
る信号を入力に受け入れる。リソースの必要な状態を指
示する信号は、必要なリソースベクトルRRから導出さ
れ、比較されている特定のリソースに対応するRRベク
トルからのビットの状態を表わす。従って、アンドゲー
ト174の出力は、入力における両方の信号が高レベル
である場合にのみ、即ち特定のリソースが使用でき且つ
必要とされた場合にのみアサートされる。
アンドゲート174の出力は、排他的オアゲート176
の2つの入力の1つとして供給され、又、このゲートに
は、ゲート174へ第2人力として供給される必要なリ
ソース信号も与えられる。
ゲート176により行なわれる排他的オア演算は、これ
に送られた2つの入力信号が異なる場合にのみ高レベル
となる出力を発生する。従って、ゲート176の出力は
、リソース使用可能信号が低レベルであり且つリソース
要求信号が高レベルであるときだけ、即ちそのリソース
が必要とされるが現在使用できないときだけ高レベルと
なる。全てのシステムリソースに対応する全ての排他的
オアゲート176の出力は、オアゲート178へ入力と
して送られる。従って、ゲート178の出力は、1つ以
上の入力が高レベルとなるたびに、即ち処理されている
要求に対応する必要なシステムリソースのいずれかが使
用できないときに、高レベルとなる。この信号は、特定
の要求に対して必要とされる全てのリソースがリザーブ
されなくてよいことを指示するものとして働き、これを
用いて、コマンド変換手段により発生されたリソース要
求ベクトルをリザーブリソースレジスタRRVに転送す
る。
各々の排他的なオアゲート176の出力は、その入力の
2つの信号が等しいときに低レベルとなり、従って、そ
のリソースが実際にシステムに使用できることがアンド
ゲート174における高レベル出力の存在によって指示
された場合、及びコマンドを実行するためにリソースが
必要とされることがリソース要求信号の高レベル状態に
よって指示された場合には、それによりゲート176の
出力も高レベルとなる。従って、ゲート176における
高レベル出力は、その要求が必要とされると共に処理に
使用できることを指示する。このような状態を評価する
ために、全ての排他的オアゲート176の出力はノアゲ
ート180への入力としても送られ、これは、全ての入
力信号が高レベルである場合に高レベル出力を発生する
。従って、比較構成体の全ての排他的オアゲート176
の出力における信号が高レベルである場合、即ち全ての
必要なリソースが使用でき且つリザーブされていない場
合には、ノアゲート178の出力が対応的に高レベルと
なり、その要求の処理を開始するための信号として働く
ゲート178及び180の出力信号を用いて全ての必要
なリソースのリザーブを行なう特定の仕方と、仲裁要求
の処理とは、本仲裁機構の実施にとって重要ではなく、
これを行なう多数の通常の方法は当業者に明らかであり
、従って、このような詳細はここには述べない。重要な
ことは、特定のコマンドを実行するに必要な1つ以上の
リソースがシステムに使用できないか又はリザーブされ
た状態に入れられるたびにリザーブ信号が発生されると
共に、全ての必要なリソースがコマンドの実行に現在使
用されるときだけプロセス要求信号が発生されることで
ある。次の説明は、選択されたコマンドに対する必要な
リソースがコマンド変換手段(第3図の119)内に指
定されてそれに対応するRRベクトルを発生する好まし
い仕方を明らかにする。仲裁のために指定された1組の
コマンドの選択は、システムが実行可能なコマンドの全
セットから、高速の実行時間が重要となる限定された数
のコマンドを表わすサブセットを識別することに基づい
ており、残りのシステムコマンドは、システムマイクロ
コードによるか、又は他の通常の手段に基づいて処理さ
れる。次いで、選択されたサブセットが多数の広範なコ
マンドカテゴリに分割され、その各々に対して必要なメ
モリリソースの共通のグループが容易に識別される。
仲裁されているコマンドは、最初に、通常の技術に基づ
いてデコードされ、メモリコマンドであることが分かっ
た場合には、その後に、所定のコマンドカテゴリの1つ
に属すると識別される。好ましくは、コマンドサブセッ
トは、次の4つのメモリコマンドカテゴリを包囲するも
のとして指定される。
メモリ読み取り; メモリ書き込み: 入力/出力読み取り;及び 入力/出力書き込み。
これらカテゴリの各々に対し、そこに指定することので
きる全てのコマンドの完全なリストが作成される。又、
4つの形式のコマンドの各々を実行するのに必要な全て
のシステムリソースが指定される。従って、デコードさ
れたコマンドがメモリコマンドカテゴリの1.つに属す
るものとして識別されたときには、それに対応する組の
必要なリソースが直ちに分かる。このように、メモリコ
マンドの仲裁が著しく促進され、システムユニットから
のメモリコマンドを迅速に処理することが極めて重要で
あるために特に効果的である。
典型的な例として、メモリ書き込みオペレーションは、
実行すべき順序で次のリソースを使用しなければならな
い。即ち、アクセスする必要のある特定のメモリユニッ
トに対応するメモリコマンドバッファ:特定のメモリユ
ニット及びそのメモリセグメントに対する行き光経路;
要求を発しているユニットが所望のデータ路及び行き先
から取りだされたモジュールレベルである場合にはデー
タ路交差点、及びコマンドを発しているシステムユニッ
トに対するデータソース路。従って、デコードされたコ
マンドがメモリ書き込みカテゴリのちとに入ることが分
かったときに、上記したリソースが必要なリソースとし
て指定され、より詳細には、メモリ書き込みコマンドに
対応するリソーステーブル入力(第5図参照)がこれら
リソースに対応するビットをアサートすることにより表
わされる。例えば、コマンドがメモリユニットlのセグ
メントlをアドレスし、このコマンドがメモリユニット
lをアクセスするためにデータ路交差点を必要とするも
のとして定められたCPU4によって発せられる場合に
は、それに対応する32ビツトRRベクトルがビット隘
7.24.13及び29をアサートさせる。メモリ読み
取りカテゴリのもとに入る典型的なコマンドは、読み取
りリフィル、書き込みリフィル、書き込みリフィルリン
ク、書き込みリフィルロック、書き込みリフィルアンロ
ツタ、DMA読み取り及びDMA読み取りロックを含む
。このカテゴリにおけるこれらコマンドの1つが仲裁さ
れるときには、それに対応するRRベクトルがそのカテ
ゴリに対して一般的に指定されたリソースを含む。
同様に、他のカテゴリは、所定の1組の共通のリソース
を含むように定められる。例えば、メモリ書き込みカテ
ゴリは、書き込みバック、DMA書き込み及びDMA書
き込みアンロックコマンドを含む。I10読み取りカテ
ゴリは、読み取りI10レジスタコマンド及びサービス
プロセッサ読み取りコマンドを含み、一方I10書き込
みカテゴリは、書き込みI10レジスタコマンド及びサ
ービスプロセッサ書き込みコマンドを含む。いずれかの
メモリコマンドカテゴリに入らないコマンド又は更に別
のリソースを要求しているコマンドは、対応するRRベ
クトルを発生するために必要なリソースのグループを個
々に定めることができる。
もちろん、本発明の仲裁機構のもとてオペレーションす
るように選択された全てのシステムコマンド(全てのメ
モリコマンドを含む)は、「共通カテゴリ」のやり方を
用いるのではなく、必要なリソースのグループを個々に
定められることが理解されよう。或いは又、システムリ
ソースを表わす各ビットには、そのビットをアサートす
ることのできる対応する1組のシステムコマンドが指定
され、対応するRRベクトルは、コマンドをデコードし
、それを各々のリソースビットと比較し、そしてそのビ
ットに関連したコマンドセット内にコマンドが入るかど
うかに基づいてビットをアサートもしくはネゲートする
ことにより発生することができる。従って、本発明の仲
裁機構は、RRベクトルを発生する特定の方法に限定さ
れないことが明らかであり、システムは、仲裁のために
選択された要求に関連したコマンドを実行するに必要な
全てのシステムリソースのリストを発生できるだけでよ
い。
上記説明から明らかなように、本発明の仲裁機構は、本
質的に、リザーブバスによって仲裁を開始し、その後、
必要に応じて多数の別々のりチエツクバス及び非リザー
ブバスを行なって、全ての未解決のリザーブされた要求
を仲裁及び処理することを含む。それ以上のリザーブさ
れた要求が保留中でないと分かった場合には、新たなリ
ザーブバスが開始され、それに続いて、非リザーブバス
及びリチェックバスが交互に行なわれる。従って、仲裁
シーケンスは、ノン・ストップであり、これは、システ
ムリソースが効率的に使用されないために典型的にシス
テム性能の低下を招く要求事項の突発的なポーリングを
伴う従来の仲裁機構に勝る顕著な改良である。
本発明の機構は、選択された要求が仲裁されるときに使
用できる全てのシステムリソースを効率的に使用する。
更に、本発明の機構による仲裁は、非ロツクアウト特性
のものであり、これは、必要なリソースのリザーブが最
初のバス中にしか許されず、その後のりチエツク及び非
リザーブバスは、必要なリソースが実際に使用できると
ころの未解決のリザーブされた要求及びその後に受け取
られる要求の各々仲裁及び実行に専用なものにされる。
従って、リザーブされた状態に入れられる各要求は、適
度な時間内に処理することが保証され、要求を発しって
いるユニットがロックアウトされることは決してない。
【図面の簡単な説明】
第1図は、複数のプロセッサ及び入力/出カニニットを
動作するためのシステム制御ユニット(SCU)であっ
て本発明の仲裁機構を効率的に使用することのできるユ
ニットを用いたマルチプロセッサシステムのブロック図
、 第2A図、第2B図及び第2C図は、本発明の仲裁機構
のベースとなるシーケンス手順を示すフローチャート、 第3図は、第1図に示した形式のマルチプロセッサシス
テムにおいて第2図の仲裁機構を実施するための好まし
い手段を示すブロック図、第4図は、仲裁要求を選択す
るための好ましいハイアラーキ優先順位決め機構を実施
する構成を示した回路図、 第5図は、必要なリソースベクトルを発生するコマンド
変換手段内に使用されてリソースベクトルによって識別
される種々のシステムリソースの好ましい表示をリスト
したテーブル、そして第6図は、第3図のリソース比較
器を実施するための好ましい論理構成を示す回路図であ
る。 10・・・マルチプロセッサシステム 12・・・中央処理ユニット(c’、pu)14・・・
システム制御ユニット(SCU)I6・・・メインメモ
リ 18・・・入力/出力(I/O)制御器2o・・・I1
0インターフェイス 22・・・サービスプロセッサ/コンソールユニット(
SPU)

Claims (11)

    【特許請求の範囲】
  1. (1)スカースのシステムリソースを割り当てるための
    要求を仲裁する方法において、上記要求は、上記スカー
    スのシステムリソースを割り当てるために実行されるべ
    き対応するコマンドによって指定されるものであり、上
    記方法は、 仲裁されるべきコマンドを受け入れ、 上記受け入れられたコマンドを実行するのに必要な全て
    のスカースのシステムリソースを定める第1ベクトルを
    発生し、 現在使用できる全てのスカースのシステムリソースを表
    わす第2ベクトルを発生し、 上記第1ベクトルと第2ベクトルとを比較し、上記コマ
    ンドを実行するのに必要な全てのスカースのシステムリ
    ソースが現在使用できることが上記比較によって指示さ
    れる場合に上記受け取ったコマンドを実行し、さもなく
    ば、(i)コマンドを「リザーブ」された状態に入れ、
    (ii)上記受け取ったコマンドを実行するように上記
    要求された全てのスカースシステムリソースをリザーブ
    し、そして(iii)上記受け取ったコマンドを実行す
    るために要求された全てのスカースシステムリソースが
    使用できるときに上記受け取ったコマンドを実行すると
    いう段階を具備することを特徴とする仲裁方法。
  2. (2)上記受け取ったコマンドは、一連のコマンドを記
    憶しそして上記受け取ったコマンドを予め定められた優
    先順位機構に基づいて選択することにより受け取られる
    請求項1に記載の仲裁方法。
  3. (3)上記予め定められた優先順位機構は、記憶された
    コマンドに対し、 第1の仲裁バス(リザーブバス)を含み、この間には、
    上記一連のコマンドを記憶するための記憶位置がポーリ
    ングされると共に、対応するリザーブされたリソースを
    使用できるところのコマンドを実行しそして全ての要求
    されたスカースシステムリソースを使用できないところ
    の全てのコマンドをリザーブされた状態に入れることに
    よりそのときの上記記憶位置に記憶されているコマンド
    が実行され、 更に、第2の仲裁バス(リチェックバス)を含み、この
    間には、全ての要求されたスカースシステムリソースが
    そのとき使用できるようになったリザーブされた要求を
    実行しそしてこの要求されたスカースシステムリソース
    がそのとき使用できないリザーブされたコマンドに対し
    て全ての要求されたスカースシステムリソースをリザー
    ブすることにより、受け取ったコマンドのみが実行され
    、 更に、第3の仲裁バス(非リザーブバス)を含み、この
    間には、手前の「リザーブ」バス(「新たな」要求)に
    続く上記記憶位置に記憶されたコマンドのみが、全ての
    要求されたスカースシステムリソースを使用できるとこ
    ろの新たなコマンドを実行することにより仲裁される請
    求項2に記載の仲裁方法。
  4. (4)「リザーブ」バスの実行後に、次々の「リチェッ
    ク」及び「非リザーブ」バスが交互に実行され、これは
    最初の「リザーブ」バスの間にリザーブされた全てのコ
    マンドが実行されるまで行なう請求項3に記載の仲裁方
    法。
  5. (5)少なくとも1つの入力/出力(I/O)ユニット
    との組み合わせで複数のプロセッサを並列に動作させる
    ためのシステム制御ユニット(SCU)を有する形式の
    マルチプロセッサシステムにおいて、上記CPU及びI
    /Oユニットの各々はSCUにポート結合されており、
    SCUは、上記CPU及び上記I/Oユニットがシステ
    ムメモリのアドレスされたセグメントを制御か能にアク
    セスできるようにし、上記CPU及びI/Oユニットか
    らSCUのポートで受け取った通信要求を効率的に且つ
    公平に仲裁する方法であって、この要求にはこれを処理
    するために実行されねばならないコマンドが組み合わさ
    れているような方法が、入ってくる要求を記憶し、そこ
    から、予め定められた優先順位決め機構に基づいて、仲
    裁されるべき要求を選択し、 選択された各要求に対応するコマンドを仲裁のために抽
    出し、 上記抽出されたコマンドを実行するに必要な全てのシス
    テムリソースを定める第1ベクトルを発生し、 上記選択された要求が仲裁されるときに使用できる全て
    のシステムリソースを表わす第2ベクトルを発生し、 上記第1ベクトルと第2ベクトルを比較し、全ての対応
    する要求されたリソースが使用できる場合にコマンドを
    処理し、 さもなくば、上記コマンドに対応する要求を「リザーブ
    」状態に入れ、 リザーブされた要求に対応する全ての要求されたリソー
    スが、上記リザーブされた要求の仲裁時に使用できない
    場合にはこれらのリソースをリザーブし、そして その後、対応するリザーブされたリソースが使用できる
    ときにその関連コマンドを実行することにより上記リザ
    ーブされた要求を処理することを特徴とする仲裁方法。
  6. (6)上記仲裁シーケンスは、 第1の仲裁バス(リザーブバス)を含み、この間には、
    全てのSCUポートがポーリングされると共に、対応す
    るリザーブされたリソースを使用できるところの要求を
    処理しそして全ての要求されたリソースを使用できない
    ところの全ての要求をリザーブされた状態に入れること
    によりそのとき未解決となっている要求が仲裁され、 更に、第2の仲裁バス(リチェックバス)を含み、この
    間には、全ての要求されたリソースがそのとき使用でき
    るようになったリザーブされた要求を処理しそしてその
    リソースがそのとき使用できないリザーブされた要求に
    対して全ての要求されたリソースをリザーブすることに
    より、受け取った要求のみが仲裁され、 更に、第3の仲裁バス(非リザーブバス)を含み、この
    間には、手前の「リザーブ」バス(「新たな」要求)に
    続いてSCUで受け取った要求のみが、全ての要求され
    たリソースを使用できるところの新たな要求を処理する
    ことにより仲裁される請求項5に記載の仲裁方法。
  7. (7)「リザーブ」バスの実行後に、次々の「リチェッ
    ク」及び「非リザーブ」バスが交互に実行され、これは
    最初の「リザーブ」バスの間にリザーブされた全ての要
    求が処理されるまで行なう請求項6に記載の仲裁機構。
  8. (8)複数の中央処理ユニット(CPU)及び少なくと
    も1つの入力/出力(I/O)ユニットを含む複数のシ
    ステムユニットを並列に動作させるためのシステム制御
    ユニット(SCU)を有する形式のマルチプロセッサシ
    ステムにおいて、上記SCUは、上記CPU及び上記I
    /Oユニットが上記システムユニットからの通信要求を
    仲裁することによりアクセスされたメモリセグメントを
    制御可能にアクセスできるようにし、各要求は、対応す
    る1組の予め定められたシステムリソースを使用できる
    ときに当該コマンドを実行することにより処理すること
    ができ、上記システムは、システムユニットからの入っ
    てくる要求及びそれに関連したコマンドを記憶するため
    の手段と、上記記憶された要求の選択された1つに組み
    合わされたコマンドを仲裁のために選択する手段と、そ
    の選択されたコマンドを実行するのに必要な全てのシス
    テムリソースが仲裁時に使用できるかどうかを判断する
    手段と、全ての要求されたリソースを使用できる場合に
    要求の処理を開始する手段と、全てのこのようなリソー
    スが使用できない場合に、このようなリザーブされたリ
    ソースが次の要求に対して使用不能となるように、仲裁
    されている上記要求に対応する要求されたリソースをリ
    ザーブする手段と、対応するリザーブされたリソースが
    使用可能となったときにリザーブされた要求の処理を開
    始する手段とを備えたことを特徴とするマルチプロセッ
    サシステム。
  9. (9)選択されたコマンドによって要求されたリソース
    が使用可能かどうかを判断する上記手段は、選択された
    コマンドを実行するに必要な全てのリソースを識別する
    第1リソースベクトルを発生する手段と、仲裁時に使用
    できる全てのシステムリソースを表わす第2のリソース
    ベクトルを発生する手段と、上記第1及び第2のリソー
    スベクトルを比較する手段とを備えている請求項8に記
    載のマルチプロセッサシステム。
  10. (10)入ってくる要求及びそれに関連したコマンドを
    記憶する上記手段は、入ってくるコマンドを受け取って
    記憶する手段と、入ってくる要求を受け入れて、所定の
    優先順決め機構に基づいて、仲裁しなければならない選
    択された要求に対応する上記記憶されたコマンドの選択
    された1つを表わすコマンド信号を発生するための優先
    順位決め手段と、上記制御信号に基づいて選択された記
    憶されたコマンドを抽出しそしてこの抽出されたコマン
    ドを上記第1リソースベクトルを発生する上記手段に中
    継する手段とを備えている請求項9に記載のマルチプロ
    セッサシステム。
  11. (11)上記リザーブされたリソースに基づいて第2の
    リソースベクトルを調整することにより上記リザーブさ
    れたリソースを次の要求に対して使用不能にする手段を
    更に備え、要求の処理を開始する上記手段は、調整され
    た第2のリソースベクトルに応答する請求項10に記載
    のマルチプロセッサシステム。
JP2024313A 1989-02-03 1990-02-02 マルチプロセッサシステムにおいてシステム制御ユニットを用いて通信要求を仲裁するための方法及び手段 Pending JPH02242364A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/306,871 US5155854A (en) 1989-02-03 1989-02-03 System for arbitrating communication requests using multi-pass control unit based on availability of system resources
US306871 1994-09-20

Publications (1)

Publication Number Publication Date
JPH02242364A true JPH02242364A (ja) 1990-09-26

Family

ID=23187237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024313A Pending JPH02242364A (ja) 1989-02-03 1990-02-02 マルチプロセッサシステムにおいてシステム制御ユニットを用いて通信要求を仲裁するための方法及び手段

Country Status (6)

Country Link
US (1) US5155854A (ja)
EP (1) EP0380857B1 (ja)
JP (1) JPH02242364A (ja)
AT (1) ATE144631T1 (ja)
AU (1) AU628529B2 (ja)
DE (1) DE68927375T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644195A (ja) * 1992-03-30 1994-02-18 Internatl Business Mach Corp <Ibm> 結合式データ処理システム用の方法および装置
US9860315B2 (en) 1998-09-10 2018-01-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures

Families Citing this family (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807609B1 (en) * 1989-12-04 2004-10-19 Hewlett-Packard Development Company, L.P. Interleaving read and write operations on a bus and minimizing buffering on a memory module in a computer system
US5265257A (en) * 1990-06-22 1993-11-23 Digital Equipment Corporation Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines
FR2676845B1 (fr) * 1991-05-23 1993-09-24 Sextant Avionique Dispositif pour la gestion de plusieurs files d'attente independantes dans un espace memoire commun et banalise.
US5386512A (en) * 1991-07-19 1995-01-31 International Business Machines Corporation System for deriving and testing mutual capability set after receiving updated capability from other processors and before requesting service information
US5551054A (en) * 1991-11-19 1996-08-27 Adaptec, Inc. Page mode buffer controller for transferring Nb byte pages between a host and buffer memory without interruption except for refresh
US5388237A (en) * 1991-12-30 1995-02-07 Sun Microsystems, Inc. Method of and apparatus for interleaving multiple-channel DMA operations
US5548762A (en) * 1992-01-30 1996-08-20 Digital Equipment Corporation Implementation efficient interrupt select mechanism
US5301283A (en) * 1992-04-16 1994-04-05 Digital Equipment Corporation Dynamic arbitration for system bus control in multiprocessor data processing system
JP2566719B2 (ja) * 1992-04-20 1996-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション データ通信インタフエース及びその動作方法
US5341502A (en) * 1992-12-14 1994-08-23 Motorola, Inc. Device for assigning a shared resource in a data processing system
US5758157A (en) * 1992-12-31 1998-05-26 International Business Machines Corporation Method and system for providing service processor capability in a data processing by transmitting service processor requests between processing complexes
ES2206461T3 (es) * 1993-07-16 2004-05-16 Siemens Aktiengesellschaft Procedimiento para la coordinacion de accesos paralelos de varios procesadores a configuraciones de recursos.
US5634072A (en) * 1993-11-01 1997-05-27 International Business Machines Corporation Method of managing resources in one or more coupling facilities coupled to one or more operating systems in one or more central programming complexes using a policy
US5502816A (en) * 1994-03-25 1996-03-26 At&T Corp. Method of routing a request for a virtual circuit based on information from concurrent requests
DE69521549T2 (de) * 1994-04-04 2001-10-25 Hyundai Electronics America, Milpitas Verfahren zur Verwaltung gemeinsamer Mittel mehrerer Verarbeitungseinheiten
US6282572B1 (en) * 1994-05-04 2001-08-28 Telefonaktieboalget Lm Ericsson (Publ) Providing a master device with slave device capability information
US6360285B1 (en) * 1994-06-30 2002-03-19 Compaq Computer Corporation Apparatus for determining memory bank availability in a computer system
EP0787327B1 (en) * 1995-08-23 2002-06-12 Koninklijke Philips Electronics N.V. Data processing system comprising an asynchronously controlled pipeline
US6282561B1 (en) * 1995-12-07 2001-08-28 Microsoft Corporation Method and system for resource management with independent real-time applications on a common set of machines
US5875338A (en) * 1995-12-14 1999-02-23 International Business Machines Corporation Method and apparatus for arbitrating resource requests utilizing independent tokens for arbiter cell selection
US5752260A (en) * 1996-04-29 1998-05-12 International Business Machines Corporation High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US5923887A (en) * 1996-05-20 1999-07-13 Advanced Micro Devices, Inc. Interrupt request that defines resource usage
US5862338A (en) * 1996-12-30 1999-01-19 Compaq Computer Corporation Polling system that determines the status of network ports and that stores values indicative thereof
US6085276A (en) * 1997-10-24 2000-07-04 Compaq Computers Corporation Multi-processor computer system having a data switch with simultaneous insertion buffers for eliminating arbitration interdependencies
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6668317B1 (en) 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6427196B1 (en) 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
US7191309B1 (en) 1999-09-01 2007-03-13 Intel Corporation Double shift instruction for micro engine used in multithreaded parallel processor architecture
WO2001016702A1 (en) 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
HK1046049A1 (zh) 1999-09-01 2002-12-20 Intel Corporation 用於多线程处理器的分支指令
US6532509B1 (en) * 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US7620702B1 (en) 1999-12-28 2009-11-17 Intel Corporation Providing real-time control data for a network processor
US6625654B1 (en) 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US6307789B1 (en) 1999-12-28 2001-10-23 Intel Corporation Scratchpad memory
US6631430B1 (en) 1999-12-28 2003-10-07 Intel Corporation Optimizations to receive packet status from fifo bus
US6661794B1 (en) 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6584522B1 (en) 1999-12-30 2003-06-24 Intel Corporation Communication between processors
US7480706B1 (en) 1999-12-30 2009-01-20 Intel Corporation Multi-threaded round-robin receive for fast network port
US6952824B1 (en) 1999-12-30 2005-10-04 Intel Corporation Multi-threaded sequenced receive for fast network port stream of packets
US6976095B1 (en) 1999-12-30 2005-12-13 Intel Corporation Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch
US6938256B2 (en) * 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
US6816905B1 (en) 2000-11-10 2004-11-09 Galactic Computing Corporation Bvi/Bc Method and system for providing dynamic hosted service management across disparate accounts/sites
US7844513B2 (en) * 2000-07-17 2010-11-30 Galactic Computing Corporation Bvi/Bc Method and system for operating a commissioned e-commerce service prover
US8538843B2 (en) 2000-07-17 2013-09-17 Galactic Computing Corporation Bvi/Bc Method and system for operating an E-commerce service provider
US7681018B2 (en) * 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US20020053017A1 (en) * 2000-09-01 2002-05-02 Adiletta Matthew J. Register instructions for a multithreaded processor
US6807187B1 (en) * 2000-09-28 2004-10-19 Cisco Technology, Inc. Method and apparatus for determining a next round robin element using a cascaded approach
US7020871B2 (en) * 2000-12-21 2006-03-28 Intel Corporation Breakpoint method for parallel hardware threads in multithreaded processor
US7216204B2 (en) * 2001-08-27 2007-05-08 Intel Corporation Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment
US7225281B2 (en) 2001-08-27 2007-05-29 Intel Corporation Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms
US6868476B2 (en) 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7487505B2 (en) 2001-08-27 2009-02-03 Intel Corporation Multithreaded microprocessor with register allocation based on number of active threads
US7126952B2 (en) 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
US7594229B2 (en) * 2001-10-09 2009-09-22 Nvidia Corp. Predictive resource allocation in computing systems
US7158964B2 (en) * 2001-12-12 2007-01-02 Intel Corporation Queue management
US7107413B2 (en) * 2001-12-17 2006-09-12 Intel Corporation Write queue descriptor count instruction for high speed queuing
US7269179B2 (en) * 2001-12-18 2007-09-11 Intel Corporation Control mechanisms for enqueue and dequeue operations in a pipelined network processor
US7895239B2 (en) 2002-01-04 2011-02-22 Intel Corporation Queue arrays in network devices
US7181573B2 (en) * 2002-01-07 2007-02-20 Intel Corporation Queue array caching in network devices
US6934951B2 (en) 2002-01-17 2005-08-23 Intel Corporation Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section
US7610451B2 (en) 2002-01-25 2009-10-27 Intel Corporation Data transfer mechanism using unidirectional pull bus and push bus
US7181594B2 (en) * 2002-01-25 2007-02-20 Intel Corporation Context pipelines
US7149226B2 (en) * 2002-02-01 2006-12-12 Intel Corporation Processing data packets
US7437724B2 (en) * 2002-04-03 2008-10-14 Intel Corporation Registers for data transfers
US7471688B2 (en) 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7337275B2 (en) 2002-08-13 2008-02-26 Intel Corporation Free list and ring data structure management
US7352769B2 (en) 2002-09-12 2008-04-01 Intel Corporation Multiple calendar schedule reservation structure and method
US7433307B2 (en) 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US7016695B1 (en) 2002-12-11 2006-03-21 National Semiconductor Corporation Apparatus and method for processing a deterministic data flow associated with a wireless communication signal
US7380151B1 (en) * 2002-12-11 2008-05-27 National Semiconductor Corporation Apparatus and method for asynchronously clocking the processing of a wireless communication signal by multiple processors
EP1573539A4 (en) * 2002-12-18 2008-06-04 Emc Corp HOLDING MEDIUM RESOURCE RESOURCE REQUESTS TAKING INTO ACCOUNT OF THE ALLOCATION OF RESOURCES
US6941438B2 (en) 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7443836B2 (en) 2003-06-16 2008-10-28 Intel Corporation Processing a data packet
US7213099B2 (en) 2003-12-30 2007-05-01 Intel Corporation Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches
US7222202B2 (en) * 2004-02-17 2007-05-22 Broadcom Corporation Method for monitoring a set of semaphore registers using a limited-width test bus
US7370326B2 (en) * 2004-04-02 2008-05-06 Emulex Design & Manufacturing Corporation Prerequisite-based scheduler
US7917906B2 (en) * 2004-07-02 2011-03-29 Seagate Technology Llc Resource allocation in a computer-based system
US9405348B2 (en) 2008-04-21 2016-08-02 Adaptive Computing Enterprises, Inc System and method for managing energy consumption in a compute environment
BRPI0822590A2 (pt) * 2008-04-21 2015-06-23 Adaptive Computing Entpr Inc Sistema de computador para gerenciamento do consumo de energia em um ambiente de computador
US8725923B1 (en) * 2011-03-31 2014-05-13 Emc Corporation BMC-based communication system
JP5836903B2 (ja) * 2012-09-04 2015-12-24 株式会社東芝 情報処理装置
JP5826728B2 (ja) * 2012-09-07 2015-12-02 株式会社東芝 情報処理装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US435766A (en) * 1890-09-02 Brush
US3593300A (en) * 1967-11-13 1971-07-13 Ibm Arrangement for automatically selecting units for task executions in data processing systems
US4387427A (en) * 1978-12-21 1983-06-07 Intel Corporation Hardware scheduler/dispatcher for data processing system
US4281381A (en) * 1979-05-14 1981-07-28 Bell Telephone Laboratories, Incorporated Distributed first-come first-served bus allocation apparatus
US4384324A (en) * 1980-05-06 1983-05-17 Burroughs Corporation Microprogrammed digital data processing system employing tasking at a microinstruction level
FR2503898B1 (fr) * 1981-04-08 1986-02-28 Thomson Csf Procede et dispositif d'allocation d'une ressource dans un systeme comportant des unites de traitement de donnees autonomes
US4435766A (en) * 1981-06-16 1984-03-06 International Business Machines Corporation Nested resource control using locking and unlocking routines with use counter for plural processes
US4481572A (en) * 1981-10-13 1984-11-06 Teledyne Industries, Inc. Multiconfigural computers utilizing a time-shared bus
US4814974A (en) * 1982-07-02 1989-03-21 American Telephone And Telegraph Company, At&T Bell Laboratories Programmable memory-based arbitration system for implementing fixed and flexible priority arrangements
US4648061A (en) * 1982-11-09 1987-03-03 Machines Corporation, A Corporation Of New York Electronic document distribution network with dynamic document interchange protocol generation
US4633394A (en) * 1984-04-24 1986-12-30 International Business Machines Corp. Distributed arbitration for multiple processors
JPS6170654A (ja) * 1984-09-14 1986-04-11 Hitachi Ltd 分散処理システムにおける資源管理方式
US4794516A (en) * 1985-10-31 1988-12-27 International Business Machines Corporation Method and apparatus for communicating data between a host and a plurality of parallel processors
US4858173A (en) * 1986-01-29 1989-08-15 Digital Equipment Corporation Apparatus and method for responding to an aborted signal exchange between subsystems in a data processing system
US4881195A (en) * 1986-11-26 1989-11-14 Rockwell International Corp. Multi-requester arbitration circuit
US4922413A (en) * 1987-03-24 1990-05-01 Center For Innovative Technology Method for concurrent execution of primitive operations by dynamically assigning operations based upon computational marked graph and availability of data
US4920486A (en) * 1987-11-23 1990-04-24 Digital Equipment Corporation Distributed arbitration apparatus and method for shared bus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644195A (ja) * 1992-03-30 1994-02-18 Internatl Business Mach Corp <Ibm> 結合式データ処理システム用の方法および装置
US9860315B2 (en) 1998-09-10 2018-01-02 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures
US10491675B2 (en) 2001-10-01 2019-11-26 International Business Machines Corporation Controlling the state of duplexing of coupling facility structures

Also Published As

Publication number Publication date
US5155854A (en) 1992-10-13
EP0380857A2 (en) 1990-08-08
DE68927375D1 (de) 1996-11-28
ATE144631T1 (de) 1996-11-15
EP0380857A3 (en) 1992-05-20
DE68927375T2 (de) 1997-05-28
EP0380857B1 (en) 1996-10-23
AU628529B2 (en) 1992-09-17
AU5394690A (en) 1991-12-19

Similar Documents

Publication Publication Date Title
JPH02242364A (ja) マルチプロセッサシステムにおいてシステム制御ユニットを用いて通信要求を仲裁するための方法及び手段
US5060144A (en) Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor
US4837682A (en) Bus arbitration system and method
US5140685A (en) Record lock processing for multiprocessing data system with majority voting
US4661900A (en) Flexible chaining in vector processor with selective use of vector registers as operand and result registers
US4968977A (en) Modular crossbar interconnection metwork for data transactions between system units in a multi-processor system
JP2574967B2 (ja) マルチプロセッサシステム用アービトレーション装置および同方法
EP0046781B1 (en) Cached multiprocessor system with pipeline timing
US5175837A (en) Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits
CA1211852A (en) Computer vector multiprocessing control
CN1222890C (zh) 多处理器系统中存储器访问的动态串行化
JP2501419B2 (ja) 多重プロセッサメモリシステム及びメモリ参照競合解決方法
JPH06223042A (ja) マルチプロセッサ・システムにおいて割込みを管理するための装置及び方法
JPS6118226B2 (ja)
US4905145A (en) Multiprocessor
EP0532542B1 (en) Multiprocessor system with sharing of memory
AU603876B2 (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
EP0265108B1 (en) Cache storage priority
EP1187029B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
EP0675446B1 (en) Multi-processor system including priority arbitrator for arbitrating request issued from processors
JPH06149730A (ja) バスシステム,バス制御方式及びそのバス変換装置
IE901531A1 (en) Method and means for arbitrating communication requests¹using a system control unit in a multiprocessing system
JPH0330175B2 (ja)
Liou Design of pipelined memory systems for decoupled architectures
JP3038257B2 (ja) 電子計算機