JPH05508046A - 多重プロセッサシステムのための高速割込み機構 - Google Patents

多重プロセッサシステムのための高速割込み機構

Info

Publication number
JPH05508046A
JPH05508046A JP91514426A JP51442691A JPH05508046A JP H05508046 A JPH05508046 A JP H05508046A JP 91514426 A JP91514426 A JP 91514426A JP 51442691 A JP51442691 A JP 51442691A JP H05508046 A JPH05508046 A JP H05508046A
Authority
JP
Japan
Prior art keywords
interrupt
processor
register
processors
registers
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
JP91514426A
Other languages
English (en)
Inventor
ストラウト,ロバート イー.,ザ、セカンド
スピックス,ジョージ エイ.
ミラー,エシドワード シー.
スクーラー,アンソニー アール.
シルベイ,アレクサンダー エイ.
フェルプス,アンドルー イー.
バンダウォーン,ブライアン ディー.
ガートナー,グレゴリー ジー.
Original Assignee
クレイ、リサーチ、インコーポレーテッド
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 クレイ、リサーチ、インコーポレーテッド filed Critical クレイ、リサーチ、インコーポレーテッド
Publication of JPH05508046A publication Critical patent/JPH05508046A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3632Software debugging of specific synchronisation aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 多重プロセッサシステムのための高速割込み機構技術分野 本発明はコンピュータ及び電子論理システムのための信号及び割込み機構に関す る。詳細には、本発明は多重プロセッサシステムのプロセッサに関連したコミユ ニティ−への高速な割込みを同時に実行する方法及び装置に関する。
背景技術 既に出願されている親出願であるPCT出願No、 POT/US90107[ 155(発明の名称: CLUSTII:RARCHITECTUREPORA HIGHLY PARALLEL 5CALAR/VECTORMULTIPR OCESSORSYSTEM r高度に並列化した多重プロセ与すのためのクラ スタアーキテクチャ」)には、スーパーコンピュータと呼ばれる高速コンピュー タのプロセッサシステムのための新しいクラスタアーキテクチャが記載されてい る。殆どのスーパーコンピュータのアプリケーションにとって、その目的は最も 速い処理速度及び処理に関する最も高い柔軟性を提供すること、即ち、従来の種 々のアプリケーションプログラムを処理する能力をコンピュータ処理システムに 提供することである。スーパーコンピュータの処理速度及び柔軟性を向上させる ために、上記親出願に記載されている高度に並列化した多重プロセッサのための クラスタアーキテクチャは、多数のプロセッサ及び外部インタフェース手段が、 メインメモリ、第2メモリ、グローバルレジスタ、割込み機構、或いはシステム に存在する他の共用資源等といった共用ハードウェア資源の共通な1組に対して 多数の要求を同時に行うこのができるスーパーコンピュータのためのアーキテク チャを提供している。
このような共用資源の設計で最も重要な問題の1つは、ハードウェアの例外或い はプロセッサのブレークポイントが生じた際に、多重プロセッサシステムが迅速 に割込みを行うプロセッサのための有効な機構を提供することである。現在の多 重プロセッサシステムで使用可能な並列処理型ソフトウェアは異常が発生した際 にデバッグするのが時として非常に困難なことがある。現在のスーパーコンピュ ータにおける割込み機構では高速さに欠けるため、並列した処理に関連したコミ ユニティ−におけるプロセッサを全て停止させるのは困難である。そのため、停 止しなかった1つ或いは複数のプロセッサが、異常プロセッサにより異常が検知 された後に何百或いは何千クロックサイクルもの開作動を続けるため、その停止 しなかったプロセッサが異常を認識するのに必要な情報を破壊することもある。
例えば、従来の大量に並列した多重プロセッサシステムの殆どはプロセッサの割 込みに波光(wavef ront)技術を利用している。例外に遭遇するプロ セッサ、或いは割込みを発生するプロセッサは波の中心として扱われ、その割込 みはシステムのための特定の相互接続アーキテクチャによりプロセッサから伝搬 される。このタイプのものでは、システムの最も外側にあるプロセッサは、割込 み波が届くまで割込みされず、その波が届く迄にががる時間は非常に変動的な場 合がある。
多重プロセッサシステムのための現在の割込み機構の多くにとっての別の問題点 は、異常が生じた際に、処理グループに関連したプロセッサだけではなく、多重 プロセッサシステムにおける全てのプロセッサが無条件に停止してしまうことで ある。この技術の欠点は、異常の生じたプログラムに関連するプロセッサだけで はなく、多重プロセッサシステム上で実行している全てのプログラムが停止して しまうことである。
1つ或いは複数のプロセッサに信号要求を適切に送れないことにより2つの問題 が生じる。その1つは、例えば、Cray research Inc、という 会社から販売されているCray−1やCray X−MP等のスーパーコンピ ュータのための現在の多くの割込み機構は、サービス要求を最適に処理できるプ ロセッサにサービス要求を送るべくインテリジェント周辺装置を要求しないこと である。第2の問題は、周辺装置或いはプロセッサが2つ以上の他のプロセッサ の注意を必要とする場合、要求される各プロセッサにつき1つずつ、多数の順次 信号或いは割込み信号を送らなければならないことである。多重プロセッサシス テムのための従来の割込み機構はある条件下では受入れられるものではあるが、 割込みの時点からある制限した数のクロックサイクル内で、関連したプロセッサ のコミユニティ−の全てのプロセッサの処理を書込みできる、多重プロセッサシ ステムのためのより有効な割込み機構を提供することが望ましい。また、デフォ ルトにより並列をインプリメンテーション(設置計画)可能な、完全に分散され た多重に並列したソフトウェアの環境を提供するための助けとなる上記親出願に 記載される多重プロセッサシステムのためのクラスタアーキテクチャ用の割込み 機構を提供するのが望ましい。
発明の要約 本発明は多重プロセッサシステムにおける関連したプロセッサのコミユニティ− に同時に割込みするための方法及び装置に関する。本発明は、並列した処理に関 連するコミユニティ−内の全てのプロセッサを、ハードウェアの例外或いはプロ セッサのブレークポイントの時点からある制限した数のクロックサイクル内で停 止させることにより、多重プロセッサシステム上で実行されるソフトウェアをよ り有効にデバッグすることを可能にする。
本発明は、多数のプロセッサ間の関連性を識別するのに使用される1組のレジス タと、割込みされるプロセッサを選択するのに使用される比較マトリックスと、 プロセッサとの間でイベントを転送する相互に連通したネットワークと、高速割 込みイベントを発生してそれに応答するプロセッサ内の要素と、より構成される 。
本願の好適な実施例による多重プロセッサシステムは多数の割込み型アクション を有する。このアクションを以下イベントと呼ぶ。イベントは信号、トラップ、 例外及び割込みを含む。それぞれのイベントに違いがあるため、イベントを最も 効果的に処理するこめに異なるソフトウェア、また場合によっては異なるハード ウェアが必要である。従来の多重プロセッサシステムとは異なり、本発明の多重 プロセッサは、多重に並列したオペレーティングシステムに関連した共通のデー タ構造を分散してアクセスするプロセッサ及び周辺制御装置の両方でイベントを 処理することができる。また従来の多重プロセッサシステムとは異なり、本発明 は多重プロセッサシステム内の全てのプロセッサを停止させるのではなく、所定 のプログラムだけを停止させるものである。
本発明の目的は、多重プロセッサシステム上の並列プロセッサの作動に関連した コミユニティ−における全てのプロセッサに迅速且つ有効に割込みできる多重プ ロセッサシステム用の高速な割込み機構のための方法及び装置を提供することで ある。
本発明の別の目的は、複数のプロセッサにより要求された衝突する割込みを同時 に解決できる高速な割込み機構を提供することである。
本発明の更に別の目的は、多重プロセッサシステム内の全てのプロセッサを停止 させずに、所定のプログラムのための工程グループに関連した処理を実行してい るプロセッサだけを停止させることのできる高速な割込み機構を提供することで ある。
本発明の上記及びその他の目的は図面、好適な実施例の詳細な説明及び請求の範 囲から明らかになろう。
図面の説明 図1は本発明の好適な実施例による単一の多重プロセッサクラスタのブロック図 であり、 図2は本発明の好適な実施例による4つのクラスタインプリメンテーションのブ ロック図であり、図3は本発明の高速割込み機構の相互連通のブロック図であり 、 図4a及び4bは本発明の好適な実施例による4つのクラスタインプリメンテー ションにおけるSET l及び5ETNレジスタのアドレスを示し、 図5は好適な実施例によるクラスタにおける高速割込みイベントの流れを示すブ ロック図であり、図6aはシステムモードレジスタの概略図であり、図6bはベ ンディング割込みレジスタの概略図であり、図6Cはユーザーモードレジスタの 概略図であり、図6dは例外状況レジスタの概略図であり、図7は多重プロセッ サシステムの実施例のNRCA手段としての高速割込み機構のインプリメンテー ションを示すブロック図であり、 図8はグローバルレジスタのための論理及び物理アドレスマツプの概略図であり 、 図9は高速割込み機構の5ESTN及びSET Iレジスタのデータバスのブロ ック図であり、 図10は高速割込み指名論理の概略図であり、図11は図10に示される高速割 込み指名論理の1実施例による詳細なインプリメンテーションを示す図であり、 図12は好適な実施例による4つのクラスタインプリメンテーションのためのイ ンタークラスタの高速割込みインタフェースのブロック図である。
好適な実施例の発明 図1を参照し、本発明で使用される多重プロセッサシステムの好適な実施例によ る単一の多重プロセッサクラスタのアーキテクチャを説明する。高度に並列化さ れたスカシ/ベクタ多重プロセッサシステムのための好適なりラスタのアーキテ クチャは、大量の共用資源12(例えば、メインメモリ14、グローバルレジス タ16及び割込み機構18)を共用する複数の高速プロセッサ10を支援するこ とができる。プロセッサ10はベクトル及びスカシの両方で並列処理することが できると共に、調停(arbitratlon)ノード手段20を介して共用資 源12に接続される。また、入出力集信装置(IOC)24には調停ノード手段 20を介して複数の外部インタフェースポート22が接続され、この入出力集信 装置24は更に種々の外部データソース26に接続されている。外部データソー ス26は高速チャネル30を介して入出力集信装置24に連結された第2メモリ システム(SMS)28を有していても良い。
外部データソース26は1つ或いは複数の標準チャネル34を介して入出力集信 装置24に連結された種々の他の周辺装置及びインタフェース32を有していて も良い。周辺装置及びインタフェース32はディスク記憶装置、テープ記憶装置 、プリンタ、外部プロセッサ及び通信ネットワークを有していても良い。また、 プロセッサ10、共用資源12、調停ノード手段20及び外部インタフェースポ ート22は本発明の好適な実施例による高度に並列化した多重プロセッサシステ ムのための単一の多重プロセッサクラスタ40を備えている。
好適な実施例による多重プロセッサクラスタ40はプロセッサ、共用資源12、 調停ノード手段20及び外部インタフェースポート22を1つ或いは複数のクラ スタ40に物理的に組織することによる現在の共用ソフトウェアのスーパーコン ピュータの直結インタフェースの問題を克服する。図2a及び2bに示される好 適な実施例では、4つのクラスタ40a、40b、40c及び40dがある。各 クラスタ40 a、 40 b、 40 c及び40dはそれに関連したプロセ ッサ10a、10b。
10c及び10d、共用資源12a、12b、12c及び12d1及び外部イン タフェースポート22a。
22b、22c及び22dをそれぞれ1組ずつ有している。クラスタ40g、4 0b、40c及び40dは各調停ノード手段20a、20b、20c及び20d の論理部である遠隔クラスタアダプタ42を介して互に接続されている。クラス タ40a、40b、40c及び40dは物理的には離れているが、クラスタの論 理組織及び遠隔クラスタアダプタ42を介して物理的に互に接続されていること により、クラスタ40 a、 40 b、 40 c及び40dの全てを通して 共用資源12a、12b。
12c及び12dの全てに所望の対称的にアクセスを行うことができる。
図3を参照して高速割込み機構100について説明する。高速割込み機構100 はブロモ・Zすに同じ処理に関連した他の全てのプロセッサに割込み信号を同時 に発信させる。高速割込み機構100は1サイクル内で割込み機構18で入力さ れた割込み信号の全てを同時に処理することができる。しかし、信号が遅れると 、高速割込み信号の発信及び受信とも割込み論理の前後において2ザイクル以上 の時間遅れることがある。プロセッサはと各クラスタ40の一部である設定され た数の1群のレジスタ(5ETN)の内容によりシステム制御を作動するために 論理セットにマツプされる。好適な実施例では、1つのクラスタ40につきグロ ーバルレジスタ内に32個の5ETNレジスタがあり、クラスタ40は多重プロ セッサシステムにおける各プロセッサにつき1つある。プロセッサは所望のセッ トで識別される値を有するプロセッサの5ETNレジスタをロードすることによ りセット(処理グループ)に割当てられる。7ビツトのセット値は完全なシステ ムの各プロセッサにつき1ずつある128個の独特なセットを識別させるもので ある。プロセッサ及び周辺制御装置は両方とも、5ETNレジスタの読出し及び 書込みの両方を行うことができる。
セット割込み(5ETI)レジスタと呼ばれる別のレジスタは、プロセッサの明 示セットに高速割込み信号を発生するのに使用できる。セット割込みレジスタ( SETりへ値を書込むことにより、5ETIレジスタの内容がその書込まれた値 と一致するプロセッサ全てに高速割込み信号を送ることができる。SET lレ ジスタに書込まれた7ビツトの値は5ETIレジスタが書込まれた時の全ての5 ETNレジスタの内容と比較される。5ETNレジスタの内容がSET lレジ スタの値と一致した全てのプロセッサへ割込み信号が送られる。プロセッサ及び 周辺制御装置は両方ともSET lレジスタの書込みはできるが、SET !レ ジスタの読込みはできない。
5ETN及び5ETIレジスタはグローバルレジスタ16のセットの一部であり 、同様な方法でアクセスされる。5ETNレジスタはプロセッサから読込み及び 書込みされ、5ETIレジスタはグループ1のMOVE命令により書込まれる。
5ETNレジスタに対してグループ1の他の命令をしてもレジスタに何の変化も 与えられず、返送されるデータも予期しえない結果を含んだものとなるであろう 。5ETN及び5ETIレジスタはクラスタにおける最も高いグローバルレジス タのアドレスのOから6ビツトを占有する。これらはGOPPSETレジスタの ビット15における2進法の1を設定することによりアドレス付けされる。図4 aは5ETN及びSET lレジスタのアドレスマツプを示している。入出力装 置はプロセッサにより使用されるマツプとは異なるソフトウェアマツプを有して いる。入出力装置のための周辺制御装置に見られ5ETNレジスタのアドレスを 図4bに示す。
図5を参照し、プロセッサにおける高速な割込みイベントを発生及び受信するた めの方法を説明する。イベント要求手段200は2つの基本的な方法で高速割込 みイベントを発生させる。第1の方法は高速割込み要求回線の主張(asser tion)によるものである。高速割込み要求回線は、(1)例外条件(例外状 況レジスタに確保される)、或いは(2)関連するプロセッサ10内に割込みを 要求するよう高速関連割込み要求(FAII?)命令を発信することにより主張 (assert)することができる。高速割込みイベントを発生するための第2 の方法は設定数を5ETIレジスタに書込むことにより行われる。
イベントの取扱いにおいてプロセッサ10により使用される種々のプロセッサ1 0制御レジスタを図6a。
6b、6c及び6dに示す。ベンディング割込みレジスタ(PI)は高速割込み 信号を受信したことを示すインジケータを有している(DPI、ビット11)。
SCモードレジスタビット、ディスエーブル高速割込み(DPl、ビット11) は高速割込み要求が出されるのを禁止する。ディスエーブル高速割込み(DPI )が1に設定されている間は、高速割込み要求はプロセッサ10に割込みできな い。
プロセッサlO例外信号により高速割込み要求を発生させるためのアルゴリズム は(ENBX及びEXCEPTIONx)、(not DEX)及び(not  FIRM)であり、以下の事項を条件とするニ ー ENBXはユーザモードUNレジスタにおける例外イネーブルの1つであり 、 −EXCEPTIONxは例外状況ESレジスタに示される例外条件に関連して おり、 −DEXはシステムモード8Mレジスタにおけるディスエーブル例外ビット(ビ ット6)であり、−FIRMはシステムモード8Mレジスタ(ビット4)に位置 する高速割込み要求マスクである。
FIRMはいかなる例外信号を受けても高速割込み要求を発生する。FIRMを 1に設定することにより、高速割込み要求を不可能にする。個々の例外が不可の 場合、高速割込みはそのタイプの例外のために生じることはできなくなる。ディ スエーブル例外(DEX)を1に設定するとFIRMの状態に関わらず高速割込 み要求ができなくなる。
プロセッサ10もFAII?命令により高速割込み要求を発生することができる 。FAIR命令を発すると、発信したプロセッサと同じ値を有する5ETNレジ スタを備えた全てのプロセッサ10が高速割込みを受信する。FAIR命令を実 行したプロセッサ10は高速割込み自身を受信しないことに留意されたい。また 、FAIR命令により出された高速割込み要求はFIRMによりマスクされる。
FIRMを1に設定すると高速割込み要求が出来なくなる。
周辺装置32及び第2メモリシステム(SMS)28は両方とも高速割込みを開 始するが、高速割込みオペレーションが割込みできるのはプロセッサ10だけで ある。入出力サブシステムは周辺装置32に、高速割込み論理に割込みするよう 設定される処理の数を直接書込ませる。
上述のように、これは5ETIレジスタに書込むことで行われる。書込まれた値 を有する5ETNレジスタを持った全てのプロセッサ10はそこで割込みされる 。SET Iレジスタに書込みすることは高速割込みを周辺装置32から開始さ せるだけの機構である。
作動中、オペレーションシステムソフトウェア(本実施例のユーザ側のスケジュ ーラを含む)は、5ETNレジスタの処理番号をそのプロセッサ10に書込むこ とによりプロセッサ]0に処理グループを割当てる。プロセッサ10をセット( 処理グループ)に含めるには2つの工程が必要である。第1の工程は、そのプロ セッサ10の5ETNレジスタは、関連することになるセットの番号と共に書込 みされなければならないことである。第2の工程は、そのプロセッサのシステム モードレジスタ内のDPIをゼロに設定しなければならないことである。周辺装 置32は高速割込みを受信することはできない。
図7を参照し、本発明の好適な実施例による4つのクラスタにおける高速割込み 機構の物理的組織を説明する。
好適な実施例は、4つのクラスタ40間に位置付けされた128個までの5ET Nレジスタのアドレス付けを提供するものである。各クラスタ40には32個の 5ETNレジスタがある。本実施例では、各クラスタ40のための5ETNレジ スタ16はそのクラスタのNI?CA手段内に物理的に位置付けされる。アドレ ス付けのために、SET Iレジスタは5ETNレジスタの1つとして扱われる 。またSET Iレジスタは読込みできないことを除けば5ETNレジスタと同 様にアクセスされる。
32個のプロセッサ10及び32個の外部インタフェースホード22から、グロ ーバルレジスタ16、信号論理31及び高速割込み論理33へ接続される16個 のボート47がある。各ボート47は2つのプロセッサ10及び2つの外部イン タフェースボート22により共用され、パス52を通りアクセスされる。類似し たボート49はMRCA手段48により受信されパス56を通ってアクセスされ ると、インタークラスタ要求をこのクラスタにおけるグローバルレジスタ16、 高速割込み論理31、及び信号論理33に送る。各要求がNPCA手段46で受 信されると、クロスバ−及び調停手段51は要求を適切な転送先に送る。高速割 込み論理33内の5ETNレジスタへアクセスするための要求が同時に入ると、 これらの要求はクロスバ−及び調停手段51によりパイプラインの方式で調停さ れる。クロスバ−及び調停手段51は多重要求トゲリング計画(scheme) アルゴリズムを利用する。多重要求トゲリング計画アルゴリズムは16個の調停 ノード44及び1個のMRCA手段48から入力を受ける。調停の判断にはター ゲットレジスタを選択するためにアドレス情報を、また実行する作業を決定する ために制御情報を必要とする。この情報はデータと共にNRCA手段46に伝送 される。アドレス及び制御はグローバルレジスタ16に送られるデータ、或いは 信号論理31または高速割込み論理33に送られるデータのためのものとするこ と本発明の好適な実施例による多重要求トゲリング(MRT)の優先システムは 種々のスイッチ機構を制御すべく、同時に起きた多重要求を公正に且つ効果的に 調停し、簡単なプールアルゴリズムを用いて共通の共用資源とするものである。
全てのりクエスタは先に届いた順序に基づき優先順位を与えられることにより分 散的且つ民主的(democratic)に調停される。同時に起きた多重要求 はトゲリングシステムに基づき解決される。多重要求トゲリング(MRT)の優 先計画は、資源に対する同時の衝突する要求を解決するよう調停ネットワークに 要求する共通の共用資源に多重りクエスタが連通しているものであればいかなる システムにでも適用することができる。ここで、衝突の解決とは共通の資源にア クセスすることの要求がサービスされる順序の決定のことを言う。多重要求トゲ リング(MRT)の優先システムは多重共用資源へのアクセスを決定するのにも 有効である。この場合、多重要求トゲリング(Ml?T)優先システムの一部で ある禁止マトリクスは多重共用資源の1つに関連しており、それら複数の禁止マ トリクスはそれぞれ各リクエスタに接続されている。各禁止マトリクスは共用資 源ごとに共通部分である相対的優先状態記憶手段に接続され、該手段は各リクエ スタの優先順序を全ての共用資源のための他のリクエスタと相対的に維持する。
相対的優先状態記憶手段は各リクエスタの優先状態を他の全てのりクエスタと相 対的に記憶する。相対優先状態記憶手段におけるセル或いはビットは2つのりク エスタの相対的な優先順位を示す。相対優先状態記憶手段のセルは各々禁止マト リクスに接続されると共に、その転送先のための禁止マトリクスの2つのゲート を起動する。一方のゲートはりクエスタyよりもリクエスタXの優先順位が高い 場合にリクエスタyを禁じるクエスタXを示すゲートであり、他方のゲートはり クエスタyの優先順位が最も高い場合にクエスタXを禁じるリクエスタyを示す ゲートである。このように、多重要求トゲリング04RT)の優先システムは広 t)応用範囲で切り換えを制御するのに使用することができる。
図8を参照し、グローバルレジスタ16のアドレス方法を説明する。2つの方法 を示す。プロセッサ10により論理アドレスマツプ710が使用される。グロー ノ(ルレジスタ16をアクセスする方法も好適な実施例における5ETN及び5 ETIレジスタのアドレス付けに使用される。
図9を参照し、高速割込み機構100の好適なインプリメンテーションを説明す る。図9は5ETNレジスタ310及び5ETIレジスタ320へのデータ、< スを示す。
5ETNレジスタ310或いは5ETIレジスタ320に書込まれるデータは入 力パス330を通って送られる。入カッくス330はクロスバ−及び調停手段5 1の出力により駆動する。データを伴うアドレス及びコマンド回線340の情報 はデコード(復号化)され、書込まれるレジスタ310或いは320を選択する なに使用される。これらレジスタ310と320のうち〕、クロックザイクル内 に書込みできるのはいずれか一方だけである。読込みされるデータは出力マルチ プレクサ及び遅延パイプライン350を介して要求する装置へ返送される。読込 みコマンドを伴うアドレス情報はデコードされマルチプレクサ選択制御352を 作り出す。好適な実施例では、遅延パイプライン350は5ETNレジスタの読 込み待ち時間がグローバルレジスタ16のものと一致するように、読込みデータ を遅らせるために使用される。この遅延時間は、クロスバ−及び調停手段51が 出力パス52及び54ヘデータを返送するため、全てのレジスタに対して同じで なければならない。
図3はプロセッサ及び高速割込み機構間の高速割込み回線の相互連通状態を示し ている。高速割込みイベントはイベント要求回線を介して高速割込み機構へ伝送 される。高速割込み信号は高速割込み回線を経てプロセッサ10に伝送される。
各プロセッサ10にはそれぞれ1対のイベント及び割込み回線がある。このイン プリメンテーションは、要求を送るためのプロセッサ10間の衝突、またこのプ ロセッサ10へ高速割込み信号を返送する合図等といった伝送方法を共用化した り多重化した場合に遭遇するであろう負具合を解消するものである。要求とその 結果の高速割込み間の待ち時間は結果的に最小限に維持される。
セット(5ETNレジスタに示される処理グループ)内の1つのプロセッサ10 は]つの高速割込み要求を発生し、割込みディスバッチ(タスク指名)論理45 0は、図10に示されるような全ての5ETNの値を36通りに同時に比較する ことにより要求を開始したものと同じセット内の全てのプロセッサ10に割り込 み信号を送る。図10におけるノーチージョン(notation)SETNO 、5ETNI 。
5ETN 2等は5ETNレジスタ0,1.2等に含まれる値を示す。ノーチー ジョンC0F1.CIF!及びC2F+は他のクラスタから送られる高速割込み の値を示す。送られた値は割込みされることになるプロセッサ10の組を識別す る。この値を作り出して伝送する方法を以下に詳細に説明する。
ノーチージョン5ETIは5ETIレジスタの内容を示す。全ての値は連続的に 比較される。プロセッサ10或いは外部インタフェースポート22から高速割込 みイベントが入力されると、イベントの発生は修飾論理で使用され、実際の割込 みが開始される。上記比較と開始プロセッサ10或いは外部インタフェースポー ト22からのイベント信号との組み合わせによりその比較に関連したプロセッサ 10が割込みされる。同時に比較するための割込み論理の好適なインプリメンテ ーションの詳細な回路図、及び例としての4つの割込みシステムのための確認回 路を図11に示す。同図には4つの5ETNレジスタが示される。5ETNレジ スタの出力は全てのレジスタが同時に比較されるように、図示されるようなコン パレータのマトリックスに制御される。比較結果はプロセッサ10から入力され た高速割込みイベント信号と論理積され、これは各プロセッサに送られる高速割 込み信号を発生するFIRO。
FI!?1. FIR2及びFIR3として図11に示される。この比較結果は 、比較される2つの5ETNレジスタに関連した各プロセッサのための割込み信 号を発生する論理項で使用される。例えば、5ETN O及び5ETN 1間の 比較の出力はプロセッサ0及び1のための高速割込み信号を発生する項で使用さ れる。プロセッサOのための高速割込み信号を発生するための項の場合、比較結 果はプロセッサ1からの高速割込みイベントと論理積されてプロセッサOのため の高速割込み信号を発生する。同様に、プロセッサ1のための項の場合、プロセ ッサ0からのイベントが使用される。プロセッサは比較処理を経て高速割込み信 号をプロセッサ自身に対しては送らないため、どのプロセッサからのイベントも 自身の高速割込み項では使用されない。
この方法は、関連するあり得る全ての組み合わせが確認論理により適切に扱われ ることができるように全ての比較で繰り返される。いかなるプロセッサのための ANDオペレーションからの全ての出力も実際のプロセッサと論理和される。本 願の例は、1つのクラスタ40における32個の5ETNレジスタ間の比較を如 何にして実行して高速割込み信号を発生するかを知るのに容易に拡大することが できる。
他のクラスタにおける5ETNレジスタは比較のために使用できないため、高速 割込み機構でイベントが入力されると、プロセッサに関連した5ETNレジスタ の内容は他の全てのクラスタに送られる。これを行うための手段を図12に示す 。図12に示されるクラスタ(FIRO〜31)内の各高速側込みイベント、及 びSET lレジスタに値を書込むイベントは伝送マルチプレクサ制御論理に5 00に送られる。これらの信号のいずれかを主張することにより、伝送マルチプ レクサ制御論理500は伝送マルチプレクサ510を介して伝送インタフェース 論理520に送られる高速割込みイベント(或いはSET lレジスタの内容) を作り出すプロセッサ10に関連した5ETNレジスタの内容を選択する。伝送 インタフェース論理520は選択された値をこのクラスタ40が高速割込みイベ ントを以ていることを示す信号と共に他の全てのクラスタ40に送る。他のクラ スタ40からの設定された数の値は高速割込み受信インタフェース論理530で 受信される。
この論理530は他のクラスタ40から送られる値を妥当性信号と共に受信し、 それらを比較マトリクスに送る。
クラスタ1.2及び3から送られた設定された数の値は図中それぞれC0P1.  CIF+及びC2F+として示される。クラスタ1.2及び3からの有効イベ ント信号はそれぞれC0FII?、 CLF11?及びC2FIRとして示され る。
1つのクラスタ40内で多数の高速割込みイベントが同時に生じた場合、各イベ ントに関連した設定数の値をクラスタ間に順次送らなければならない。伝送マル チプレクサ制御論理500はこの条件を検知し、関連する設定数の値が伝送され るまで生じたイベントを全て保持する。同時イベントを処理する順序は、5ET N Oの優先順位を最も低いものとし、次に2番目に優先順位の高い5ETN3 2まで順に優先順位を上げてSET lを最も高い優先順位とした簡単な優先計 画により決定される。
以上、好適な実施例の説明をしたが、本発明の精神から逸脱せずに種々の変更が 可能である。従って、本発明の範囲は実施例の説明よりも請求の範囲により記載 される。
Fig、 1 「14 ta 1 ■ 1 グローバルレジスタ メイン メモリ a込みw 1L’−−−1 114゜ 1 調停ノード手段 遠隔クラスタ 11 プロセッサ 外部インター7エースポートlプロセッサの5ETNアドレス I10入出力装置の5ETNアドレス Fig、 5 pig、 6a このレジスタは03Mにセーブされ割込み、システムコール或いは例外上の全て のビットに送られ、RTT命令により03Mから復元される。
FIRM:1−マスクされた高速割込み要求、O−イネーブルこのビットは例外 (例外状態で報告されたように)或いは正当な命令が高速割込み要求を行なうの を防止する。
DEX: l−0ではないESレジスタ上のディスエーブル内容スイッチ0!イ ネーブル DFI:l−ディスエーブル入力高速割込み、Ow−イネーブルDTO: 1− ディスエーブルタイプO信号、0■イネーブルDTI:l−ディスエーブルタイ プ1信号、0冒イネーブルDT2 : 1−ディスエーブルタイプ2信号、0− イネーブルDT3 : 1−ディスエーブルタイプ3信号、0111+イネーブ ルFig、 6b Pl: ベンディング割込み (16ビツト)ユーザ書込み不可 Fl:l−高速割込み信号を受信した、Om信号なしTO:l−タイプO信号を 受信した、〇−傷信号しT1:1=タイプl信号を受信した、O=傷信号しT2  l−タイプ2信号を受信した、〇−傷信号しT31−タイプ3信号を受信した 、〇−傷信号しレジスタが読込まれると、レジスタはどの割込みがベンディング 状態なのかを示す。このレジスタを読込むと全てのビットがOにクリアーされる 。書込みの場合、Oを書込んでもどのビットの状態にも何ら影響を与えない。ビ ット位置に1を書込むとビットは1に設定される。
Fig、 6c υM=ユーザーモード(16ビツト) のイネーブルトラップ(このようなエラーが生じると、書込みはメモリを修正で きず、書込みはこのビットの状態に関わらず有効なデータを返送しない) EFOVF:浮動少数点オーバフローのイネーブルトラップENUF :アンダ ーフローのイネーブルトラップEINX:不正確な結果のイネーブルトラップE IOVF:!i数オーバフローのイネーブルトラップEDBZ :ゼロによる割 り算のイネーブルトラップEFDN:非正常化数がゼロに設定された時のイネー ブルトラップEINV・無効浮動少数点オペレージタンのイネーブルトラップF ig、 6d ES二 例刻4ね【(24ビツト) WAELMEEOwPE1旧AE DJE PE IsME undf und F undf uncffトラップイネーブルビットセットを持つ例外が生じた 場合、或いIt h 5 y フイネーブルビットを持たない例外が生じた場合 、このレジスタにとビットは制御レジスタへの明示転送のみによりクリアーされ る。SM内のDEX(ディスイネーブル例外〉ビットがゼaの時点でこのレジス タがゼ。でない場合、OMEE:オペラドマツピングエラーの例外WAE・つt ツチポイントアドレスの例外Fig、 8 プロセッサ手段の論理アドレス !IRcA及び入力出系信号手段で使用される物理アドレスマツプ Fig、 11 Fig、 12 要 約 書 高速割込み機構(33)は多重プロセッサシステムにおける関連するプロセッサ (10)のコミユニティ−の割込みを同時に行うことができる。高速割込み機構 (33)はハードウェアの例外或いはプロセッサのブレークポイントから限られ た数のクロックサイクル内で、並列処理に関連するコミユニティ−内の全てのプ ロセッサ(10)を停止することにより、多重プロセッサシステム上で実行され るソフトウェアのデバッグをより有効に行うことができる。高速割込み機構(3 3)は多重プロセッサ間の関連性を識別するのに使用される一組のレジスタと、 割込みされるプロセッサを選択するのに使用される比較マトリクス(450)と 、プロセッサとの間で割込みイベントを伝送する相互に連通したネットワークと 、高速割込みイベントを作り出してそれに応答するプロセッサにおける要素と、 よりなる。
国際調査報告

Claims (3)

    【特許請求の範囲】
  1. 1.複数のプロセッサと、割込み或いは例外が出てから制限した数のクロックサ イクル内で、選択された並列プロセッサの組に関連する全てのプロセッサの割込 みを同時に行うための高速割込み手段と、よりなる多重プロセッサシステム。
  2. 2.選択された1組の並列プロセッサに関連する全てのプロセッサが、前記選択 された1組の並列プロセッサのいずれか1つのプロセッサ内で例外が生じたこと に応じて自動的に割込みされることを特徴とする、請求の範囲第1項記載の多重 プロセッサシステム。
  3. 3.割込み或いは例外が出てから制限した数のクロックサイクル内で、選択され た1組の並列プロセッサに関連する多重プロセッサシステムにおける全てのプロ セッサの割込みを同時に行うための高速割込み機構であって、該高速割込み機構 は、外部割込み信号をマスキングするためのユーザモード、システムモードレジ スタ及びペンディング割込みレジスタ、及びイベント要求手段、イベントマスク 手段及びコンテクストスイッチ手段を全てプロセッサ内に有し、更にSETiレ ジスタ、SETNレジスタ及び比較マトリクス手段を含む高速割込み機構を有す る高速割込み機構。
JP91514426A 1990-06-11 1991-06-10 多重プロセッサシステムのための高速割込み機構 Pending JPH05508046A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53619990A 1990-06-11 1990-06-11
PCT/US1991/004074 WO1991020042A1 (en) 1990-06-11 1991-06-10 Fast interrupt mechanism for a multiprocessor system

Publications (1)

Publication Number Publication Date
JPH05508046A true JPH05508046A (ja) 1993-11-11

Family

ID=24137557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP91514426A Pending JPH05508046A (ja) 1990-06-11 1991-06-10 多重プロセッサシステムのための高速割込み機構

Country Status (2)

Country Link
JP (1) JPH05508046A (ja)
WO (1) WO1991020042A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013540329A (ja) * 2010-10-22 2013-10-31 アーム・リミテッド マルチプロセッサシステムにおける例外制御

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317739A (en) * 1992-03-30 1994-05-31 International Business Machines Corp. Method and apparatus for coupling data processing systems
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
US8214574B2 (en) * 2006-09-08 2012-07-03 Intel Corporation Event handling for architectural events at high privilege levels

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1434186A (en) * 1972-04-26 1976-05-05 Gen Electric Co Ltd Multiprocessor computer systems
US4839800A (en) * 1986-08-29 1989-06-13 Bull Hn Information Systems Inc. Data processing system with a fast interrupt

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013540329A (ja) * 2010-10-22 2013-10-31 アーム・リミテッド マルチプロセッサシステムにおける例外制御
US9430419B2 (en) 2010-10-22 2016-08-30 Arm Limited Synchronizing exception control in a multiprocessor system using processing unit exception states and group exception states

Also Published As

Publication number Publication date
WO1991020042A1 (en) 1991-12-26

Similar Documents

Publication Publication Date Title
US5193187A (en) Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers
US5239629A (en) Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system
JP2574967B2 (ja) マルチプロセッサシステム用アービトレーション装置および同方法
EP0512007B1 (en) Cluster architecture for a highly parallel scalar/vector multiprocessor system
US4152764A (en) Floating-priority storage control for processors in a multi-processor system
US5168547A (en) Distributed architecture for input/output for a multiprocessor system
US7051180B2 (en) Masterless building block binding to partitions using identifiers and indicators
JPS62189549A (ja) 多重階層レベルマルチプロセツサ装置
JPH05508497A (ja) 非順次源アクセスのための方法およびその装置
JPH11513150A (ja) Pci間ブリッジを統合する入出力プロセッサ用アーキテクチャ
US20170139856A1 (en) Techniques for handling interrupt related information in a data processing system
EP3292474B1 (en) Interrupt controller
JPH05242019A (ja) 先読み優先調停システム及び方法
US5778236A (en) Multiprocessing interrupt controller on I/O bus
JPS62266642A (ja) デ−タ処理装置
JPH11345175A (ja) 代替パス制御システム及び方法
KR19990071464A (ko) 범용멀티소스인터럽트구성을갖는고체데이터프로세서
JPH05508046A (ja) 多重プロセッサシステムのための高速割込み機構
US6701388B1 (en) Apparatus and method for the exchange of signal groups between a plurality of components in a digital signal processor having a direct memory access controller
US5440689A (en) Interprocessor communication system for direct processor to processor communication between internal general purpose registers transparent to the execution of processors thereof
US5465369A (en) Network structure for parallel software processing
JP2831083B2 (ja) マルチプロセッサシステムおよび割り込み制御装置
JP2001067298A (ja) ハブ及びポート・アーキテクチャーを有する転送制御装置における低速ポートについての障害を防止するための書込み要求キューの使用
US11561819B2 (en) Techniques for adapting escalation paths of interrupts in a data processing system
RU2042193C1 (ru) Вычислительная система