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

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

Info

Publication number
JPS6037064A
JPS6037064A JP59081238A JP8123884A JPS6037064A JP S6037064 A JPS6037064 A JP S6037064A JP 59081238 A JP59081238 A JP 59081238A JP 8123884 A JP8123884 A JP 8123884A JP S6037064 A JPS6037064 A JP S6037064A
Authority
JP
Japan
Prior art keywords
vector
data
registers
register
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP59081238A
Other languages
English (en)
Other versions
JP2511397B2 (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.)
Cray Research LLC
Original Assignee
Cray Research LLC
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
Priority claimed from US06/488,082 external-priority patent/US4636942A/en
Application filed by Cray Research LLC filed Critical Cray Research LLC
Publication of JPS6037064A publication Critical patent/JPS6037064A/ja
Application granted granted Critical
Publication of JP2511397B2 publication Critical patent/JP2511397B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8092Array of vector units
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)
  • Multi Processors (AREA)
  • Executing Machine-Instructions (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Control Of Ac Motors In General (AREA)
  • Error Detection And Correction (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の背景 本発明は高速デジタルデータプロセッサに関シ、さらに
詳細にはベクトル処理に適する演算機械に関する。
多くの科学的データ処理タスクは順序づけされたデータ
アレイの詳細にわたる演算操作ケ含む。
一般に、この種の操作すなわち「ベクトル」処理は、−
組のデータのそれぞれ連続する要素について同じ演算を
繰返し実行することを含む。多くのコンピュータは、記
憶装置及び入出力装置(Ilo )と通信することがで
きる演算ユニット全件なって編成される。算術機能を実
行するためには、それぞれのオペランドを記憶装置から
演算ユニットへ連続して移し、機能を実行し、結果を記
憶装置に戻さなければならない。この種の編成を利用す
る機械、すなわち「スカシ」機械は低速すぎて、ハード
ウェアは大規模ベクトル処理タスクにおいて実際に使用
するには効率が悪いことが判明している。
配列されたデータアレイを処理する際の処理速度を速め
且つハードウェア効率を高めるために、「ベクトル」機
械が開発された。基本的には、ベクトル機械はソフトウ
ェアプログラム及び索引づけではなくハードウェア組織
を利用して配列されたデータプレイを処理するので、高
動作速度が達成される。そのようなベクトル機械の1つ
が1978年12月5日発行の米国特許第4,128,
880号に記載されている。この特許のベクトル処理機
械は、中央記憶装置からベクトルデータセット全受取シ
、それらのデータセラトラ演算が実行されるセグメント
された機能ユニットにクロック速度で供給する1つ又は
複数のレジスタを使用する。
さらに詳細には、それぞれ64個までのベクトル要素全
保持する8つのベクトルレジスタ力ft1jうれる。そ
れらのレジスタは、それぞれ複数の機能ユニツ)のいず
れか1つに選択的に接続され、jつ又は複数のオペラン
ドは各クロック周期でレジスタに供給される。同様に、
それぞれのベクトルレジスタは結果を受取るように選択
的に接続される。通常の動作においては、機能ユニット
にオペランドを供給するために2つのベクトルレジスタ
が使用され、第3のベクトルレジスタは機能ユニットか
ら結果を受取るために使用される。
シングルポート記憶装置は、ベクトルレジスタと記憶装
置との間のデータ転送のためにデータバスを介してそれ
ぞれのベクトルレジスタK 接Hされる。すなわち、】
ブロックのベクトルデータは記憶装置からベクトルレジ
スタへ転送され、演算はベクトルレジスタから直接得ら
れるデータ全利用して機能ユニットにおいて実行される
。このべクトル処理によシ記憶装置の使用はかなシ減少
し、同じデータについて繰返し演算が必要であるので、
そのような演算に関する始動時の固有の記憶装置制御遅
延音なくすことができる。
さらに、スカラ演算も可能であり、そのためにスカラレ
ジスタ及び機能ユニットが設けられる。
スカラレジスタは、アドレスレジスタ及び命令バッファ
と共に、メモリ転送動作を最少限にとどめ且つ命令の実
行をスピードアップするために使用される。転送の度合
は2つの付加的バッファによシさらに低下され、1つの
バッファは記憶装置とスカラレジスタとの間、もう1つ
は記憶装置とアドレスレジスタとの間に設けられる。す
なわち、メモリ転送はブロック転送ベースで実行される
ため、それに関連する演算遅延は最少限である。
さらに別の並行処理は、上述のシステムにおいて「連鎖
処理」と呼ばれるプロセスにより達成さt’L7r。こ
のプロセスにおいては、ベクトル結果レジスタは連続す
る機能演算のためのオペランドレジスタとなる。この種
の連鎖処理は、全ての発行条件が満たされる特定のクロ
ック周期、すなわち「チェインスロット」時間に限定さ
れる。このような連鎖処理は、ある程度まで、命令が発
行される配列と、機能ユニットのタイミングとに依存す
る。
このように、米国特許第4.128,880号のシステ
ムは、ベクトル化可能な大きなりラスの問題について従
来のスカラ処理に比べて処理速度の大幅なスピードアッ
プを達成する。レジスタごとのベクトル命令の使用、連
鎖処理概念及び複数の独立したセグメント形機能ユニ、
トの使用により、処理の大半は並行して実行される。さ
らに、ベクトル演算の始動時間は公称のものであるので
、短いベクトルであってもベクトル処理の利点が得られ
る。
本発明は、多重タスク処理のための汎用マルチプロセッ
サシステムを提供するために上述のベクトル処理機械全
改良して使用する。動作中、様々なジョブの独立したタ
スク又は1つのジョブの関連するタスクは複数のプロセ
ッサで進行する。先行技術においてはマルチプロセッサ
組織が達成されたが、このような先行技術の機械のCP
U内通信は主記憶装置を介して「柔軟結合」方式で実行
される。この種のCPU内通信は、比較的低速の主又は
中央記憶装置に繰返し依存しなければならないため及び
プロセッサ間のアクセス競合のために妨げられる。
本発明のマルチプロセッサは、柔軟結合多重処理と関連
するかなシ大きな遅延及びソフトウェア調整の問題を、
共用又は中央記憶装置とは無関係の「緊密結合」通信回
路’i CPU間に設けることによシ解決する。緊密結
合通信回路は、いずれか一方のCPUによjl) CP
U内勤内勤比例する速度でアクセスされうる一組の共用
レジスタを提供する。すなわち、共用レジスタは、頻繁
々データ交換を伴なう小さなタスクの多重タスク処理の
ためのオーバヘッドを最少限にとどめる高速CPU内通
信経路會提供する。本発明のマルチプロセッサシステム
は、先行技術によシ提供されるような共用記憶装置金倉
してタスク全結合しても良い。しかしながら、緊密結合
通信回路は、柔軟結合タスク並びに緊密結合タスク全効
率良く調整しうるハードウェア同期化装置を提供する。
通常、先行技術のマルチプロセッサはプロセッサ間の主
従関係全特徴とする。この組織においては、主プロセツ
サは、1度に唯一つのジョブが進行するように多重タス
ク処理動作全開始し、制御しなければならない。多くの
ジョブはマルチプロセッサ効率を必要としないので、こ
の種の主従組織はマルチプロセッサの利用不足と表るこ
とが多重。
本発明のマルチプロセッサシステムにおいては、全ての
プロセッサはプログラミング機能に関して全く同一の対
称形であるので、主従関係は不要である。すなわち、1
つ又は複数のプロセッサが選択的に「クラスタ」K編成
され、オペレーティングシステムによシ単一のジョブの
関連タスク全実行するように割当てられる。この組織に
よシ、各プロセッサは独立して動作することもできるた
め、異なるジョブの独立したタスクも実行可能である。
従って、本発明のマルチプロセッサシステムは、利用不
足の問題全回避すると共に、よシ高いシステムスループ
ット全提供する。
本発明のマルチプロセッサは、さらに、中央記憶装置の
アクセス時間と、CPUへのメモリ及びI10動作への
メモIJ i含むアクセス競合をできる限シ少なくする
のに適する独特のものである。これは、中央記憶装置を
それぞれ独立してアクセス可能であシ且つ各機械クロッ
ク周期の中で並行する介在配列のメモリパンクとして組
織することによシ達成される。各プロセッサは、メモリ
アクセス遅延全最少限にとどめ且つ競合するメモリ基準
の保全tff維持することができるハードウェア制御ア
クセス競合解決ハードウェアを介して中央記憶装置に接
続される複数の並列メモリホートラ有する。この介在配
列と多重ポートのメモリ設計と短いメモリサイクル時間
とが組合わされて、高い性能と釣合いのとれたメモリ組
織全提供し、帯域幅は同時高速CPU動作及び工ん動作
全支援するのに十分である。
処理速度及び効率は、本発明のシステムにおいて、付加
的な記憶装置−ベクトルレジスタ間データ転送経路及び
かなシ島められたハードウェアの自動「フレキシブル」
連鎖処理能力を提供する新しいベクトルレジスタの構成
と組織によシさらに改善される。この新しいベクトルレ
ジスタ組織と、並列メモリポート構成とによシ、従来は
実行不可能であったようなメモリ取出し、算術及びメモ
リ記憶の動作などを一連の関連ベクトル演qで同時に実
行することができる。すなわち、本発明のマルチプロセ
ッサ構成は長いベクトルと短いベクトルの双方について
よシ高速で、よシ釣合いのとれたベクトル処理能力を提
供し、重いレジスタからレジスタへの又はメモリからメ
モリへのベクトル演算を特徴とする。
発明の要約 本発明は、ベクトル処理を含む多重タスク処理用途のた
めの汎用マルチプロセッサシステムに関する。それぞれ
プログラミング機能の上で全く同一であシ、対称形であ
る2つ又は3つ以上のベクトル処理機械が設けられる。
全てのプロセッサは、各機械のクロック周期の間に独立
して並行アクセスされうる介在配列のメモリパンクとし
て編成される中央又は共用記憶装置全共用する。各プロ
セッサは、中央メモリ基準全処理するために中央記憶装
置に接続される複数の並列メモリポートを有する。
複数の共用データ・周期化レジスタセットは、選択され
たプロセッサの内部通信のために設けられる。1台又は
複数のプロセッサから成るクラスタは、独自の一組の共
用レジスタ全利用して単一のタスクを実行するように割
当てられる。1つのクラスタの各プロセッサは、ユーザ
ープログラムによシ決定されるスカラ演算又はベクトル
演算を非同期的に実行する。
各プロセッサは奇数−偶数メモリバンクとして編成され
るベクトルレジスタを含み、中央記憶装置のメモリに至
る複数の並列データ経路を有する。
ベクトルレジスタはフレキシブル連鎖処理能力を提供す
るためにハードウェアを介して自動的に制御され、それ
によシ、メモリ取出し演算及びメモリ記憶などの動作を
一連の関連ベクトル演算で実行することができる。
本発明の別の面によれば、多重ポート記憶装置は1遅延
をできる限シ短くし且つ同じパンクへの、そして同時に
全てのプロセッサのポートからの全てのメモリ基準の保
全性を維持するために、内蔵の競合解決ハードウェア回
路網を有する。
以下、添付の図面を参照して本発明の実施例1を説明す
る。
実施列 本発明の全体的なシステム組織を第1図に概略的に示す
。好ましい実施例には2台のベクトルプロセッサ10及
び】1が設けられる。一般に、これらのプロセッサは特
にバッファ、レジスタ及び機能ユニットの組織に関して
米国特許第4,128,880号に記載されているベク
トル処理装置にそれぞれ類似している。以下、本明細1
°中でげデータ経路について使用される図中符号、たと
えばAi+Siなどは上記特許に記載されるシステムの
対応するデータ経路を指すものとするが、システムはあ
る程度変形されている。
中央記憶装置J2はベクトルプロセッサJo及び】1用
として設けられる。各プロセッサは中央記憶装置12と
の間にそれぞれのデータ経路13及び」4と、それぞれ
の制御経路】5及びJ6とを有する。各プロセッサは、
同様にそれぞれの制御経路2J及び22を介してCPU
 I10制御装置20に接続される。この制御装置2o
は、データ伝送経路23を介して中央記憶装置】2にさ
らに接続される。
動作中、Ilo u CPU −I10制御装置20’
i介し、それぞれのデータ経路32及び33を介して5
SD30又は入カー出力プロセッサエOP 31へ伝送
される。それぞれの制御経路34及び35は制御通信全
成立させる。IOP 31は、データ経路36を介して
いくつかの大容量記憶装置4oのいずれが1つにインタ
ーフェース接続される。
ベクトルプロセッサjO及び11は通信制御回路50を
介して通信することができる。データ経路51及び52
と、制御回路53及び54とは、プロセッサ10及び1
1をそれぞれ通信制御回路50に接続する。通信制御回
路50け、一般に、ベクトルプロセッサ10及び11に
よシ共通して制御され且ついずれか一方のプロセッサか
ら対応するデータ経路51及び52を介して読出し又は
書込みされる一組の共用レジスタから構成される。
一般に、通信制御回路50は、ルーゾカウント、記憶ア
ドレス及びスカラ定数などのスカシデータ全プロセッサ
間で伝送する高速で、時間効率の良い機構全提供する。
通信制御回路50は、いずれか一方のベクトルプロセッ
サにより試験、セット又はクリア可能であり且つ回路5
0のレジスタ又は中央記憶装置】2を介するデータ転送
を調整する機構全形成するレジスタ(以下セマフォレジ
スタという)をさらに提供する。通信制御回路50は、
システムのクロックサイクルをカウントする共用クロッ
クをさらに含む。
中央記憶装置12とベクトルプロセッサ】0及び」】と
の間のデータ転送は、それぞれの経路13〜16’c介
してプロセッサ制御の下に独立して達成することができ
る。Iハは中央記憶装置】2とCPU I10制御装置
20との間で転送され、SSD 30 、 rOP 3
1及び大容量記憶装置40はいずれカ一方のベクトルプ
ロセッサ10又はJlの制御の下に又はIOP 31の
制御の下に進行する。
CPU I10制御装置20は、データ経路23全介し
て中央記憶装置】2に対して独立してアクセスするので
、いくつかのI10機能全ベクトルプロセッサ10又は
】1に依存せずに実行することができる。
SSD 30は、CPU I沖制御装置20を介してS
SDと中央記憶装置12との間に非常に高いブロック転
送速度全達成することができる大型固体回路記憶機構で
ある。l0P31は大容量記憶装置40と中央記憶装置
12との間に少なくとも2種類のI10チャンネルを含
むと共に、それらのチャンネルを制御するので、ベクト
ルプロセッサjO及び】1に処理動作のよシ大きな割合
を実行する余裕が与えられる。
ベクトルプロセッサjO及び11はそのプログラミング
機能の上で全く同一で対称形であり、様々なジョブの独
立したタスク全実行するために互いに独立して動作する
か又は単一のジョブの関連するタスクを実行するために
「集合制御」される。
集合制御動作の場合、1台又は複数台のプロセッサが通
信制御回路50の特定の一組又、qジスタに割当てられ
る。通信制御回路50の各組又は各クラスタのレジスタ
は、データを通過させる記憶レジスタと、セマフォレジ
スタである。本実施例においては、2台のプロセッサと
共用クラスタの3つのクラスタとが設けられる。すなわ
ち、各プロセッサは共用レジスタの独自の組と関連し、
残る1つのクラスタはオペレーティングシステム用であ
る。しかしながら、本発明は2つのプロセッサを有する
システムに限定されるのではなく、プロセッサの数Pが
いくつであろうと適用することができる。この場合、設
けられる共用レジスタの組の数はP+1である。
本発明の多重タスク処理は共用又は中央記憶装[12i
介して又は通信制御回路50の共用レジスタを介して又
は双方の組合せによシ達成される。
第1の方式で実行されるタスクは柔軟結合タスクといわ
れ、第2の方式で実行されるタスクは緊密結合タスクと
いわれる。緊密結合動作の場合、共用レジスタはタスク
開始のオーバへ、ドをタスク及びソフトウェア実行技術
の細分性に応じて1マイクロ秒から1ミリ秒の範囲まで
減少させる。柔軟結合動作の場合には、中央記憶装置1
2を介する通信は共用レジスタ、さらに詳細にはセマフ
ォレジスタを介して同期化又は対応づけされる。
すなわち、本発明のマイクロプロセッサシステムの組織
はプロセッサの集合制御のためのフレキシブルなアーキ
テクチャ全提供することがわかる。
このアーキテクチャにより、K台のプロセッサを含む1
つのクラスタはオペレーティングシステムによ)単一の
タスクを実行するように指定され、その結果、プロセッ
サはデータレジスタ及び同期化レジスタを共用して、緊
着結合通信を成立させる。さらに、1つのクラスタの中
の各プロセッサはオペレーティングシステムの制御に従
ってモニタモード又はユーザーモードで動作し、プログ
ラミング要件によシ決定されるスカラ動作又はベクトル
動作を非同期的に実行することができろ。さらに、モニ
タモードで動作するプロセッサは、いずれも、他のプロ
セッサを遮断し、そのプロセッサをユーザーモードから
モニタモードに切換えてオペレーティングシステムにタ
スク間の切換え全制御させることができる。さらに、ユ
ーザーのデータ及びプログラムのそれぞれについて記憶
セグメントヲ分離するような構成となっているので、並
行プログラミングが容易である。
緊密結合通信回路50の全体図を第2図に概略的に示す
。これらの回路はCPU (プロセッサ)間を直接通信
するためのものであり、共通又は共用レジスタ200を
介してデータを伝送又は交換すると共に、セマフォレジ
スタ160によシさらに容易にされる共用レジスタ20
0又は中央記憶装置を介するデータ伝送を監視又は制御
する。
有効な多重処−理を実現するために、ベクトル情報、ス
カラ情報及びアドレス情報などの共用データ資源を双方
のプロセッサによシ同時に使用されないように保護しな
ければならない。セマフォレジスタ】60は、複数のセ
マフォレジスタのうち1つ又はいくつかを試験、セット
又はクリアするためにセマフォレジスタ160に直接ア
クセスしつるプロセッサ間のソフトウェア通信のための
高速ハードウェア機構全提供する。
ループインデクス値、記憶アドレス及びスカラデータな
どの共通パラメータは共用レジスタ200を介して伝送
される。すなわち、入れ子構成であるか否かにかかわら
ず、いくつかのループはソフトウェア制御の下での双方
のプロセッサにおける並行実行のために分割され、共用
データの記憶装置における場所は迅速に交換され、スカ
ラ定数は比較的低速である中央記憶装置に依存すること
なく伝送される・中央記憶装置tこのような種類のデー
タ転送から解放することによシ、−実行速度を高めるこ
とのみならず、ベクトルデータも中央記憶装置を介して
よシ小さな遅延で伝送又は交換される。
通信制御回路50の共用レジスタは、ソフトウェア制御
の下にCIP制御レジスタ151及び152全介して利
用される。これらのレジスタへ送られる命令は制御回路
140によシ監視され、条件が許すならばそれぞれの発
行制御線14]及び」42を介して発行される。制御回
路140は、データ経路143及び144’tセマフオ
レジスタ」60、RTC195又は共用レジスタ200
のいずれか1つの選択されたレジスタにマルチデレクス
する(畿能も有する。
次に第3図及び第4図に関して説明する。これらの図は
、並べて置いたときに、通信制御回路50を詳細に示す
単一の機能ブロック線図を形成する。共用レジスタ20
0とセマフォレジスタ160は3つのクラスタとしてア
クセス可能である。各クラスタは32個の1ビツトセマ
フオレジスタと、8個の24ビツトSBレジスタと、8
個の64ビツトSTレジスタとから構成される装CPU
によるセマフォレジスタクラスタ161〜】63のいず
れか1つへのアクセスは、以下にさらに詳細に説明する
ように多重化にょ)達成される。共用SBレジスタクラ
スタ及び共用STレジスタクラスタ200は記憶モジュ
ール全構成し、これらのクラスタのいずれかjつへのア
クセスは選択的アドレシングを介して達成され、クラス
タを指示するアドレスの一部分がアクセスされる。クラ
スタがCPHに対してアクセス可能であるが否か、及び
どのクラスタがアクセス可能であるかはオペレーティン
グシステムにょシ決定され、始動時に実行されるべきジ
ョブにクラスタ番号を割当てることによシ指示される。
さらに詳細には、オペレーティングシステムは、プログ
ラムの実行を切換えるのに必要な情報の全て金含む記憶
装置のジョブ交換パッケージイメージに割当てられたク
ラスタ番号全ロードする。割当てられたクラスタ番号を
保持するためにCPU OとCPU ]についてレジス
タ】48とレジスタ149がそれぞれ設けられておシ、
そのため、共用レジスタ制御回路に対して共用レジスタ
へのアクセス権を指示しうる。レジスタ148及び14
9は交換中にCPUデータ経路から読出し又は書込みさ
れるか、あるいは後述するようにオペレーティングシス
テムにより命令によって操作される。
ジョブに割当てられるクラスタ番号は4つの値のいずれ
か1つを有する。値がゼロのとき、共用レジスタへのア
クセスは阻止される。値が1.2又は3のとき、CPU
は対応するクラスタをアクセスすることができる。並行
動作するCPU0間の緊密結合通信を達成するために、
2つのCPU ’i同じクラスタに割当てなければ々ら
ない。各CPUにお込て異なるジョブを実行することが
望まれる場合又は多重処理のために符号化されたジョブ
會実行するためにCPU i 1台しか利用できない場
合には、クラスタへのアクセスは1台のCPUにのみ制
限される。クラスタ番号1は、通常は、いずれか一方の
プロセッサにおいて動作するオペレーティングシステム
のために予約され、オペレーティングシステムをプロセ
ッサ間で同期化する。これによシ、以下に詳述するよう
にマルチプロセッサを利用する上で最大限のフレキシビ
リティが与えられる。
共用レジスタの利用に関してソフトウェア命令が提供さ
れる。それらの命令によシセマフォレジスタ161〜】
63との通信並びに共用SRレジスタ及び共用STレジ
スタ200へのアクセスが可能になる。試験/セット命
令は、セマフォレジスタの状態ヲ試鋏し、セマフォレジ
スタがクリア状態であるときにそれ全セットするために
提供される。クリア命令及びセット命令は、セマフォレ
ジスタを無条件でクリア又はセットするために提供され
る。CIPレジスタ」5】及び】52は、CPU O及
びCPU 1から米国特許第4,128,880号に概
略的に記載される現行命令バーセル全それぞれ受取るた
めに設けられる。動作中、C工Pレジスタ]5】又は1
52に保持される命令が評価され、条件が許せば、命令
は発行制御線14]及び142の信号としてそれぞれ発
行される。検査される条件は、以下に詳述するように、
他のCPUレジスタ及びデータ経路の可用度と、共用レ
ジスタの状態と全含む。
各セマフォレジスタクラスタ161〜j63へのアクセ
スは、命令及びそれに割当てられるクラスタ番号を発行
するCPUに従って、それぞれのグー)164〜166
によシ制御される。ゲート167及び168も同様に、
CPU0又はCPU ]について、セマフォレジスタ1
60の適切のクラスタを試験セマフォ回路】70及び1
71、セット又はクリア回路172及び173並ひに選
択読出しデータ回路】74及び】75に接続するように
制御される。
試験セマフォ回路170及び】7】は、CIPレジスタ
151及び】51のそれぞれからの試験されるべきセマ
フォを示す5つのデータビットと、適切なりラスタから
の32のセマフォレジスタピット(並行して受取られる
)とを一方の入力端子において受取る。試験されるセマ
フォピットがクリア状態であれば、試験/セット命令が
発行制御回路153及び154のうち対応する一方のも
のを介して発行される。それによシ、セット又はりリア
セマフォ回路172及び173のうち対応する一方のも
のは適切なセマフォビット全セットし、このビラトラ選
択データダートl 80及び181のそれぞれ全弁して
選択されたクラスタに戻し、ロードする。試験されるセ
マフォビットがセット状態であれば、試験中のCPUは
、他方のCPUによシそのビットがクリアされるまで発
行全保持するのが普通である。
選択データゲート180及び18】は、さらに、それぞ
れのCPU OStデデー経路182又はCPUlSi
データ経路183からセマフォレジスタクラスタ全並行
ロードするように切換えられ、これを実行するためのソ
フトウェア命令が提供される。
同様に、選択読出しデータ回路174及び175も、そ
れぞれのCPU O又はlがデータ経路184及び18
5によシ提供される対応するStデデー経路を介して1
つのセマフォレジスタクラスタの内容全体を読出すこと
ができるように切換えられる。
また、この動作を実行するためのソフトウェア命令が提
供される。これらの命令は、オペレーティングシステム
によシ達成されるような、】つのジョブの開始時におけ
るレジスタのローディング又は1つのジョブの実行時間
終了時におけるレジスタ内容のセービングに有用である
セット又はクリア命令は無条件に発行可能である。発行
されると、セット又はクリアセマフォ回路】72又は】
73のうち適切な一方の回路は適切なセマフォレジスタ
をセット又はクリアする。
セマフォ制御回路155は、1つのセマフォレジスタク
ラスタの並行書込み又は並行読出しを達成しようとする
同時の試み全阻止する。
3つの共用レジスタ200のクラスタのいずれかjつへ
のアクセスは、通常は、命令発行制御回路においてはレ
ジスタについての予約が行なわれないのでプロセッサ間
でセマフォレジスタの調整を行なうためにセマフォレジ
スタ’JJIJ用して、CPUソフトウェアのみによシ
制御される。しかしながら、本発明のレジスタ構成にお
ける制限によシ要求されるように、同じクロックサイク
ルで双方のCPU Kよシ同時アクセスが行なわれるの
を阻止するためにハードウェア共用レジスタアクセス制
御回路】90が設けられる。共用レジスタアクセス制御
回路】90はその入力端子において、CIPレジスタ1
5]又は152に含まれる読出し命令又は書込み命令の
適切なビットを受取シ、その出力端子は発行制御回路1
53及び154にそれぞれ接続される。アクセス競合状
態は、SB又はSTレジスタ200を読出そうとする同
時の試みを含み、この場合、1つのクロック周期に発行
を保持するために一方のCPUが必要とされる。発行を
保持するために必要とされるCPUは、命令がCIPに
入力されるときの順序づけのような要因全考慮に入れた
所定の優先順位階層に従って選択される。瞥込み命令に
ついてのアクセス競合は同じように処理すれば良いが、
書込み動作に固有の3つのクロック周期遅延全考慮しな
ければならない。
すなわち、読出し動作が書込み命令の発行に続くCIP
の3つのクロック周期にある場合、同時アクセス競合が
発生すると考えられ、少なくとも1つのクロック周期に
ついて読出し命令の発行を保持しなければならない。た
とえば、読出し命令がCPU OのCIP 151に入
力され、書込み命令が3つのクロック周期だけ前にCP
U Oから発行された場合、CPU0は】クロック周期
だけ発行を保持する。同様に、CPUIにおいて書込み
命令が3つのクロック周期だけ前に発行された場合、C
PU Ou】クロック周期だけ発行を保持する。すなわ
ち、共用レジスタアクセス制御回路190は共用B又は
Tレジスタへの同時アクセス全阻止する。
読出し命令又は書込み命令が発行可能となったとき、適
切なCPU命令・母−セルは選択アドレスグー)191
を介して、命令全発行するCPUと関連するクラスタ番
号によシ決定される適切な共用レジスタ200のクラス
タに導かれる。書込みデータ命令の場合、選択書込みデ
ータグー)192に、適切なCPUレジスタをアクセス
することと関連する遅延によシ発行後3クロックサイク
ルを経てから、適切なそれぞれのデータ情報又はアドレ
ス情報St又はAt f導くように切換えられる。選択
されたクラスタの適切なレジスタのアドレスは命令i4
−セルを介して提供され、選択アドレスダート】9】に
よシ影響を受け、遅延回路199にお込て3クロックサ
イクル分だけ遅延され、そのレジスタへの書込みは、命
令が発行されてから3クロツクサイクル後に達成される
。読出し命令の場合もクラスタとアドレスが同様に選択
され、選択読出しデータダートの適切な一方のゲート】
74又は175は、選択されたレジスタの出力を必要に
応じて81又はAtデータ経路に導くように切換えられ
る。
クラスタ番号用レジスタ148又は149が全てのクラ
スタに対してアクセスしうるようにそのレジスタの内容
を変更するために、オペレーティングシステムにより使
用されるべき命令が提供される。活動交換パッケージに
より決定されるように、CPUがモニタモードで動作し
ている場合に限シ、この命令によシフラスタ番号用レジ
スタの内容を変更することができる◎ 通信制御回路50は、いずれか一方のCPU08lデー
タ経路からの選択リアルタイムクロックゲート】96を
介する書込みのため又はCPU O及びCPU 1のそ
れぞれについての選択読出しデータグー)] 74及び
175を介する読出しのために選択しうる共用リアルタ
イムクロック(RTC)レジスタ195をさらに含む。
クロックレジスタ増分回路】97は、クロックサイクル
ごとにリアルタイムクロックレジスタ195のカウント
を増分するために設けられる。
単一のCPUによる多重処理タスクの実行全調整するた
め及び双方のCPUが試験/セット命令の並行発行全保
持する可能性を排除するために、検出回路】45及び1
46と、比較器147とから構成されるデッドロック割
込み機構が設けられる。
検出回路145及び146は、それぞれ、各発行制御回
路153及び154からの発行保持信号と、クラスタ番
号用レジスタ148及び149に接続される比較器14
7からのクラスタ番号比較信号とを受取る。デッドロッ
ク割込みは2つの状態のいずれか一方においてCPUで
発生する。一方の状態において、一方のCPUは試験/
セットについて発行を保持し、2台のCPU0クラスタ
番号は比較器147によシ指示されるように異なる。従
って他方のCPUが選択されたセマフォピットをアクセ
スし、クリアすること及び保持中のCPUに保持を続行
させることは不可能である。この場合、デッドロック割
込みは検出回路145及び】46のうち適切な一方によ
多発生され、デッドロックされるCPUでンヨプの交換
が実行されるので、処理は継続する。第2の状態におい
ては、双方のCPUけ同じクラスタにあシ、試験/セッ
ト命令について発行?保持している。このデッドロック
状態で、デッドロック割込みは同様に、双方のCPUに
おいて現在実行されているジョブ全交換するので、処理
は継続する。
すなわち、緊密結合通信制御回路50はアドレスデータ
又はスカラデータについて、並びに共用データ資源の制
御及び保護についてCPU0間で高速通信路を提供する
。セマフォレジスタ、SBレジスタ及びSTレジスタが
集合制御(クラスタ)配置されるので、いくつかのマル
チプロセッサジョブを唯一台のCPUで実行できると共
に、1つのクラスタ全オペレーティングシステムによる
使用のために予約することができる。このように、緊密
結合通信制御回路は、さらに低速で且つ複雑なソフトウ
ェア保護方法の適用全不要にし、かなシ低速の中央記憶
装置経路全弁する通信の必要性を著しく減少させる。
以下余白 中央記憶装置 CPU O及びlを中央記憶装置にインターフェース接
続するポートを第5図に概略的に示す。明瞭且つ簡潔を
期するために、CPUIのインターフェースの一部分の
みを示す。しかしながら、CPU1について対称形の構
成が設けられることは自明であろう。、明瞭且つ簡潔を
期するために、機能ユニット及びそれと関連するいくつ
かの相互接続部を図面から省略した。しかしながら、そ
れらは米国特許第4128880号に示されるのと同じ
ように図示される様々なレジスタに接続される。ただし
、第5図に示されるようにいくつかの点で変形が行なわ
れている。たとえば、双方のCPHについて唯−組のC
A及びCLレジスタが設けられ、それらのレジスタは前
述のようにいずれか一方のCPUによシアクセスされる
。同様に、先によシ詳細に説明したように唯一つのRT
Cレジスタが設けられている。
中央記憶装置12は8つのポートを有し、各CPUと4
つのポートがそれぞれ関連する。一般に、それぞれのポ
ートは、記憶基準要求の監視、記憶装置アドレシング及
びCPUレジスタ又はI10装置と記憶装置との間のデ
ータ経路指定を含む記憶基準動作を制御する。3つのポ
ート、すなわち?−トA1ポートB及びポートCは記憶
装置とCPUレジスタとの間でデータを転送する。第4
の目?−ト、すなわちI10ポートは、たとえばディス
ク又QよSSD記憶装置によシ提供される周辺記憶装置
と中央記憶装置との間でデータを転送するために設けら
れる。
ポートAは中央記憶装置からのデータ転送のためにV(
ベクトル)レジスタ260、Bレジスタ261又はAレ
ジスタ265にデータ経路250を介して接続される。
ポートBは、中央記憶装置Kからデータ経路251を介
してVレジスタ260に至る別のデータ転送経路を提供
し、さらに、転送のためにTレジスタ262又はSレジ
スタ263に接続される。すなわち1.f?−トA及び
ポートBは中央記憶装置からデータを読出し、そのデー
タをそれぞれのV、B、T、I!i又はAレジスタ26
0゜261.262,263及び265のいずれが1つ
に転送する。ポートCはVレジスタ260.Bレジスタ
261及びTレジスタ262からのデータ全データ経路
253を介して転送するように接続され、データは中央
記憶装置に記憶される。さらに、ポートCはA(アドレ
ス)レジスタ265及びS(スカシ)レジスタ263か
らのデータをそれぞれ転送することもできる。すべての
工カはI10ポートを介して送られる。
活動交換パッケージレジスタ266は、読出シ基準及び
書込み基準のそれぞれの交換のためにデータ経路250
及びデータ経路253に接続される。データ経路250
及び253はそれぞれ64ビツト幅である。上方の40
ビツトはレジスタ266に選択的に接続され、交換動作
中にのみデータを搬送し、それ以外のときはゼロにセッ
トされる。活動交換ノeッヶールノン、夕266の動作
については以下にさらに詳細に説明する。
命令バッファ264は、以下に詳述する命令取出し動作
の独特な性質に対処するために、ポートとは無関係に記
憶装置アクセスバス270を有する。A、B、Cの各ポ
ートは対応するCPHにより独占的に制御され、利用さ
れる。2つのI10ポー、トは共用システム資源であり
、それぞれ異なる一組のI10チャンネルを処理する。
いずれか一方のI10ポートをいずれか一方のCPUに
よシ動作させ、利用することもできる。すなわち、I1
0現行アドレス(CA)レジスタ及びチャンネル制限(
CL)レジスタはそれぞれのAir−夕経路及びAkデ
デー経路を介して双方のCPUに接続される。共用I1
0制御・記憶回路252はCAレノスタ及びCLレジス
タに応答し、以下にさらに詳細に説明するようにそのハ
ードウェア組織に従って2つの■カポートを介してI1
0動作を実行する。従って、各I10ポートは異なる一
組の■カチャンネルとインターフェース接続するが、い
ずれ、か一方のCPUはいずれか1つのチャンネルを、
そのチャンネルがどのポートにより制御されるかにかか
わらず利用する。
本発明のマルチプロセッサの中央記憶装置は32の独立
して制御可能な記憶パンクに分割される。それらのパン
クは、それぞれ8つのパンクを含む4つの部分に組織さ
れる。第6図に示されるように、各部分は記憶装置の3
2のパンクのうち8つを介在(インタリーブ)配列で含
む。部分Oはパンク0,4,8,12,16,20.2
4及び28を含む。部分1はパンク1,5,9,13゜
17.21.25及び29を含む。以下、同様である。
4つの部分は、それぞれ、2つの独立したアクセス経路
を有し、各経路は記憶装置のパンクに至シ、一方のCP
Uにより制御される。各アクセス経路は1本の記憶装置
アドレス経路と、1本の書込みデータ経路と、1本の読
出しデータ経路と、1本の制御経路とを含む。アクセス
経路は、各クロックサイクルで1つのメモリ基準−読出
し又は書込み−を許容する。すなわち、各部分の2つま
でのパンクが各クロックサイクルで参照され、同じクロ
ックサイクルのうちに8つまでのメモリ基準が可能であ
る。
競合解決 第6図に関して説明する。各ポートハ、メモリ競合解決
回路網290を介して4つのメモリ部分0〜3.280
〜283の全てにそれぞれ接続されることがわかる。こ
の回路は、1つのメモリパンクが4クロツクサイクルご
とに1回以上参照されないこと、クロックサイクルごと
にCPU1台について唯一つの基準がメモリの1つの部
分に許容されること:及び1つのホードによυ形成され
る全ての基準がそれらが発生されたシーケンスで保持さ
れることを保証する。メモリ競合解決回路網290は4
つの独立した競合解決回路291〜294から構成され
、1つの回路は各メモリ部分に対応し、各回路は8つの
ポート全てに接続され、1つの部分に対し2つの独立し
たアクセス経路を提供する。前述のように、命令バッフ
ァ264は独立したメモリアクセスパス270を有し、
メモリ競合解決回路網290をバイパスする8本のr−
夕経路を含むように図示されている〇一般に、命令がポ
ートに発行されたことを指示する命令発行制御回路、す
なわちCIPレノスタの予約フラグによシ提供されるよ
うに、一度に誰一つめ自令が1つのポート匹発行される
。予約はセット状態のままであシ、ポートに発行された
命令についての全ての基準が形成されるまで、命令によ
るホードのそれ以上の使用は阻止される。この時点で、
以下に詳述するようにポート制御回路は予約を解除する
次に第7図及び第8図について説明する。これらの図は
並置すると競合解決回路の1つの部分を示す単一の線図
を形成する。第7図において、入力ダー)(300〜3
03)はポートA、B、C及び■んからのメモリ基準要
求の5つのLSB (最下位)ピットを受取)、2つの
LSBは適切な競合解決回路網の部分をエネイゾルする
。メモリ基準要求は、アドレスデータの22ビツトから
構成される。最下位の2つのビットは4つのメモリ部分
の1つを指定し、次の3ピツトはメモリ部分内の8つの
パンクのうち1つ全指定する。入力ダート304〜30
7はCPU Lから対応する基準要求を受取る。入力ダ
ート302及び306は、以下に詳述するようにスカラ
メモリ基準要求も受取る。
入力f−1300〜307のいずれか1つにおいて基準
要求が受取られると、パンクを指示する3ビツトは復号
化され、基準が向けられる8つのパンクのそれぞれのも
のに対応するパンク使用中信号と比較される。パンク使
用中監視回路310は、メモリ部分の各・々ンクの活動
を監視するために設けられる。この回路310の出力信
号はデータ経路311を介してパンク競合検査回路32
0〜327のそれぞれに接続される。パンク競合検査回
路320〜327は、対応するパンク使用中信号を入力
ダート300〜307を介して通過された基準のそれぞ
れと比較する。この比較の結果は、基準競合解決回路3
30〜337のうち対応するものへ搬送される。
各基準要求は、他方のCPUに対応する入カケ9−トの
出力に存在する何らかの有効要求とも比較される。この
比較は、入力ダート300〜307のそれぞれの出力を
受取シ、ポート基準競合解決回路330〜337のそれ
ぞれに出力を提供すると共に他の3つのメモリ部分競合
回路からのそのポートについての競合信号全受取る同時
パンク基準検査回路312によシ達成される。特定のポ
ートについての基準が1つのメモリ部分回路網において
競合を有する場合、他の全てのメモリ部分回路網は通知
を受けるので、そのホードからの、別のメモリ部分へ向
かうと考えられる次の基準は進行することができない。
これにより、各ポートからの基準の順次動作が保証され
る。この比較、パンク使用中比較、他の競合、CPU内
優先順位及びCPU外優先順位の結果に基づいて、基準
競合解決回路330〜337は基準要求が進行できるか
否かを決定する。もし進行できなければ、対応するポー
トに対し競合信号が発生されるので、競合が解決される
まで、そのポートはさらに基準要求を発生するのを阻止
される。CPU内優先順位は交互ベースで決定されるた
め、各CPUは8クロツクサイクルごとに優先順位4を
有する。
CPUの内部の複数のポートが同じメモリ部分のパンク
を要求している場合、パンク使用中競合及び同時基準競
合をもたない最高優先順位のポートが基準を形成し、他
のポートは競合信号を受取る。
2つのポートがバンク使用中競合又は同時基準競合をも
たない場合には、奇数アドレス増分を伴なうポートが偶
数アドレス増分を伴なうポートより優先する。双方の増
分が同じであれば、最も早く動作されたポートの基準要
求が最初に進行する。
すなわち、1つのメモリ部分に対する基準の数はクロッ
クサイクルごとにCPU 1台車たシ1つに制限される
ポートがそれ以上メモリ基準要求を形成するのを阻止さ
れたとき、競合を受取る要求は、a合が存在しなくなる
まで入力ダート300〜307のそれぞれの上方入力端
子を介して再び提供される。
これにより、各ポートの順次動作が保証される。
メモリ基準要求が競合をもたないとき、メモリ基準は要
求されたパンクに移行され、パンク使用中監視回1Nr
310の対応するパンク使用中信号は4クロツクサイク
ルだけセットされ、従って、そのパンクについての別の
要求がパンク基層サイクルの完了前に許容されることは
ない。基準が形成されると、メモリ基準アドレスの最上
位の17ビツトを以下に詳述するように参照されるメモ
リ部分及びパンクに導くために、同時に制御信号が発生
される。
進行する基準はr−) 340及び341を介してそれ
ぞれのf−ト342及び343に導かれる。r−ト34
2.343.344と、取出し又は交換競合解決回路3
45とは、取出し又は交換メモリ基準動作という特殊な
場合に対処するために設けられる。取出し又は交換基準
動作の場合、競合は全てのポートに強制的に発生される
。取出し又は交換動作は、全てのパンク使用中がクリア
されるまで開始されない。第5図に戻って説明すると、
取出し又は交換動作がメモリ競合解決回路網290をバ
イパスするために、この動作が必要であることがわかる
。交換基準動作の場合、記憶装置への2回までの参照は
、各メモリ部分から交換・ぐッケーゾワードを順次読出
し、書込むためにポートA、B及びCを利用して、各ク
ロックサイクルの間に達成される。いくらかの読出しと
書込みは同時に実行されるが、これは、読出し動作がポ
ートA′及びBを介して進行し、■込み動作はポートC
を介して進行するためである。双方のCPUによシ同時
取出し又は交換の要求が行なわれた場合には競合が発住
し、競合解決回路345はCPU 1からの要求を保持
する。取出し又は交換基準がCPU0によシ完了された
とき、CPU 1は進行することができる。
唯一つのメモリ部分の競合解決回路しか図示されていな
いが、前述のように、記憶装置の各メモリ部分が対応す
る競合解決回路を有することは自明である。すなわち、
各CPUの4つのポート全てについて、それぞれが異な
るメモリ部分に対するものであるならば同じクロックサ
イクルで基準を形成することができる。また、各CI”
Uは、同じメモリ部分内の異なるパンクに対するもので
るるならばその同じ部分に対し同時基準を形成すること
ができる。さらに1条件によっては、各クロック周期に
最高8回の参照を実施することができる。
CPU及びl0P(入/出力プロセッサ)からのメモリ
基準要求を収集し、その発生を制御する回路を第9図、
第1θ図、第11図、第12図、第13図、第14図及
び第15図に概略的に示す。前述のように、基準要求は
ボートA。
B、C及びIloのいずれか1つにより発生され、さら
に、取出し又は交換基準の特殊な場合にはポートに依存
せずに実行される。第9図、第10図、第11図、第1
2図及び第13図は、本発明の多重処理システムの■力
基準収集・制御回路を概略的に示す。これらの回路は、
第5図に110制御回wr55としてよシ一般的に示さ
れている。
第9図及び第1θ図は、競合解決回路網への万一の入力
のためにエバメモリ基準要求を発生し、制御する回路を
機能ブロック線図の形態で示す。
これらは、記憶装置と周辺記憶装置との間でデータを転
送するために利用できる3種類のI10チャンネルであ
る。第1のチャンネルは低速チャンネル(LSP )で
るシ、4対設けられる。各対は入力チャンネルと、出力
チャンネルとを含む。低速チャンネルを介する転送動作
を開始させるために、現行アドレスCAとチャンネル制
御アドレスCI。
とが第5図にさらに概略的に示されるレジスタのうち適
切なものにロードされる。第5図によれば、いずれか一
方のグロセッサはAiデデー経路及びAkf−夕経路を
介してレジスタをアクセスする。
レジスフ401.402,405及び407は低速入力
チャンネルアドレスレジスタである。これらのレジスタ
は、それぞれ、低速出刃差率動作を実行するために設け
られるそれぞれのレジスタ402.404.406及び
408と対を成す。
CAアドレス及びCLアドレスは、入力端子において双
方のCPUのためのAky’−夕経路の分岐を受取るマ
ルチプレクサ410を介していずれか一方のCPUによ
りレジスタ401〜408のいずれか1うにロードされ
ても良い。
2対の高速チャンネル(H4F )も設けられる。
メモリ基準はこれらのチャンネルを介し、入/出力プロ
セッサ(IOP31)からロードされる入力又は出力現
行アドレスCAと、ブロック長BLとをそれぞれ保持す
るレジスタ420.422及び421.423を利用し
て形成される。入/出力プロセッサは、基準を始動すべ
き場合及び転送されるワードの数を中央記憶装置に指示
する。これらの高速チャンネルはCPUを介して制御す
ることはできない。
さらにもう2対のI10チャンネルが設けられる。
これらのチャンネルは記憶装置を高速固体回路記憶装置
(SSD)とインターフェース接続し、CPUからのC
A7’−夕及びBLデデーを低速チャンネル400〜4
08がCAデデー及びCLデデーを受取るのと全く同じ
ように受取るレジスタ424及び426′fc利用して
入力又は出力の転送を開始し、制御する。この場合、B
LはSSDから転送すべきデータのゾロツクの数を指定
し、各ブロックは複数のデータワードを含む。使用され
るSSDは、同時係属出願、名称「ソリッド・ステート
・ストレッジ・デバイスJ (5olid State
Storage Devic )出願日(年 月 日、
出願番号 に記載されるようなもの であるのが好ましい。これらのSSDチャンネルはCP
Uの制御の下にラシ、いずれか一方のCPUによシマル
チグレクサ4.10 f:介して動作される。
レジスタ401〜425は、それぞれ、レジスタ401
〜408,420〜425のいずれか1つの選択的ロー
ディングのための適切な命令の発行時に発生される入力
アドレス信号409を供給され、基準アドレシングデー
タはそれらのレジスタの入力端子に供給される。レジス
タ401〜425のいずれか1つがロードされると、対
応するI10チャンネルは動作されてI10メモリ基準
基準金開始する。メモリへの参照はレジスタに最初にロ
ードされる現行アドレスCAにおいて始まる。
低速チャンネル401〜408及び高速チャンネル42
0〜423の場合、チャンネル制限アドレス又はブロッ
ク長さに場合により達するまで参照が進行するにつれて
、アドレスは増分回路428及び429を介して1だけ
増分される。SSDチャネルの参照は双方のCPUを介
して常に結合して進行するので、2つのメモリ基準を各
クロックサイクルで達成することができる。従って、レ
ジスタ424〜425のアドレスは各基準サイクルにつ
@2つずつ増分される。当初、レジスタ425は参照が
行なわれないときに1だけ増分される。
SSDチャンネル制御回路427は、SSD始動アドレ
ス及びB L z4ラメータをSSDに供給し且つマル
チプロセッサとSSDとの間に転送プロトコルを提供す
るSSDインターフェースケーブルに設けられる。
このシステムは、I10転送の完了時に発生するエカ割
込みをフレキシブルに処理する。エカ割込みがCPUに
よシサービスされるように、そのようなことを指示する
フラグをCPUの活動交換レジスタ266においてセッ
トしなければならない。これにより、CPUはI10チ
ャンネルの割込みをサービスするためにCPUはモニタ
モードに入る。どのCPUが割込みをサービ′スするか
の選択は、適切なフラグをセットする選択されたCPU
の交換レジスタにCPU ]、10割込み信号を提供す
るエバ制御回路252において実行される。CPU I
10割込みは、いずれか一方のCPUが交換動作を進行
している場合又は一方のCPUがモニタモードにある場
合にI10制御回路252によシ発生される。すなわち
、I10制御回路252は、不要なI10割込みを遅延
させるか又は阻止する手段を提供する。たとえば、CP
Uが交換ゾロセスにある場合、その交換は定義上はIl
oをサービスするオペレーティングシステム(すなわち
モニタモード)に対するものであり、この場合、交換中
のCPUも、他方のCPUも割込みの必要はない。いず
れのCPUもモニタモード又は交換ゾロセスにない場合
、I10割込みは以下の方式に従って進行する。一方の
CPHの活動交換レジスタ266が外部割込みモード選
択ビット又はフラグビット(オペレーティングシステム
による操作のために提供される)を有する場合、I10
割込みはそのCPUで発生される。いずれのCPUの外
部割込みビットもセットされていない場合、割込みは、
試験・セット命令についての発行を保持しているCPU
に向かって導かれる。これらの条件のいずれもが双方の
CPHについて存在する場合又は存在しない場合には、
I10割込みは現在割込み中のチャンネルへの割込みを
サービスした最後のCPUに導かれる。すなわち、1回
のし勺割込みをサービスするために唯一台のCPUが割
込まれ、オペレーティングシステムによシ外部割込みモ
ード選択72グを介して又はCPUの動作条件によシ決
定されるように最も望ましいCPUが選択される。
マルチプレクサ及び制御回路440〜442及び443
〜445は対応するレジスタの出力端子のいずれか1つ
の出力を、後述するCPUのI10メモリ基準制御・メ
モリアドレス選択回路の対応するものに切換えるために
設けられる。マルチプレクサ442と制御回路445は
、第11図及び第12図によシ詳細に示されるように、
チャンネル優先順位及びメモリ競合に従ってI10基単
要求の処理を制御する。レジスタ440及び443は)
」択されたレジスタのCAをCPU0及びCPU 1の
Atデータ経路に提供し、基準動作の進行を監視できる
ようにする。
レジスタ401〜408及び420〜425に現在ろる
メモリ基準要求のうちどれの制御が谷基準サイクルで進
行するかは、第11図に示される1力基準制御方式によ
シ決定される。第11図の基準制御方式はCPU Oを
介して進行する基準に対応し、第12図の基準制御はC
PU lを介して進行する要求に対応する。低速チャン
ネル0〜7を介する基準要求は、常に、CPUの基準制
御回路のそれぞれについて4つの優先順位群又は優先順
位対を形成するために高速チャンネル又はSSDチャン
ネルからの要求に対して促成される。すなわち、顕著な
基準要求対501及び502,503及び504.50
5及び506.507及び508.509及び510,
511及び512.513及び514.515及び51
6は、それぞれの対の優先順位決定回路520〜527
によル監視され、それによって優先順位決定される。回
路520〜523及び524〜527からの優先順位基
準要求は、次に、回転ペースでそれぞれのタイムスロッ
ト回路530及び531によシさらに優先順位決定され
るので、各優先順位群は4クロック周期ごとに1つの基
準を許容される。高速チャンネル(H4F )基準又は
SSD基準が進行を許される場合、タイムスロットは継
続する前に16の基準が形成されるように停止する。す
なわち、I10チャンネル優先順位が決定され、回路4
42及び445はそれに相応してエカ基準要求をr−ト
する。
CPUにおいて発生するメモリ基準は第13図に示され
るポート基準制御回路により発生され、制御される。第
13図は各CPHについて全く同じ構成を示す。メモリ
基準アドレスレジスタ551〜553は、Aoデデー経
路を介してポートA、E及びCについての相対メモリ基
準アドレスを受取る。この相対アドレスはそれぞれの加
算回路554〜556において、現在実行中のCPUジ
11ノに対応する交換ノ母、ケージから収集されるデー
タベースアドレスと加算される。この加算はメモリポー
ト動作の最初の2つのクロックサイクルで実行される。
第1回のクロックサイクルにおいて、メモリ基準アドレ
スレジスタ551〜553には相対メモリアドレスがロ
ードされ、それぞれ対応するレジスタ557〜559に
はそれぞれのf−)540〜542を介して交換パツケ
ージからのデータベースアドレスがロードされる。次の
クロックサイクルにおいては、加算はそれぞれの加算回
路554〜556で実行され、それぞれのレジスタ55
1〜553に戻され、ロードされる。その後、レジスタ
557〜559は増分レジスタとして動作し、選択され
る増分はAkデデー経路に沿ってf−)540〜542
のうち適切な1つのダートを介して搬送される。メモリ
基準アドレスレジスタ551〜553に存在するメモリ
基準はポートA、ポートB及びポートCの基準制御回路
561〜563の制御の下にそれぞれ進行する。
これらの回路は、それぞれ、4つのメモリ部分競合解決
回路のそれぞれからの対応するポート競合信号と、それ
ぞれのポートについての「ゴーポート」信号とを受取る
。デーポート信号は、メモリ動作命令がCIPを出たこ
と及び「ゴーポート」信号を発生するポートによシメモ
リ基準を発生すべきであることを指示する。各制御回路
561〜563は、命令発行制御回路すなわちCIPに
おいて前述の予約7ラグをクリアするためにポート予約
解除信号を発生する。このフラグは、コ9−ポート信号
が発生されたときにセットされる。制御信号出力は、一
般に、制御回路の制御機能を実行するためのハードウェ
ア規定を表わす。ボー)Aについて制御回路561のみ
が図示されているが、各制御回路561〜563は、ベ
クトル転送のためのVLレジスタからの!ロック長パラ
メータ又はB又はTレジスタ転送のためのAiy’−夕
経路からのAtを受取シ且つ基準をカウントし、転送の
完了を通知する基準長制御回路545を含む。
この時点で、ポート予約解除信号が発生される。
基準要求が許可されるたびに、メモリ基準アドレスはそ
れぞれの加算回路において増分される。ボー)Cの制御
回路563は、さらに、記憶装置への書込みベクトルデ
ータの要求が進行許容されたときにベクトルレジスタに
デーメモリデータ信号を供給する。
スカシ、l101取出し及び交換の要求についての基準
制御回路を第14図、第15図及び第16図にそれぞれ
示す。スカシ基準動作は独特の性質を有するので、独自
の制御回路を有する。スカラ基準命令は、スカラ基準命
令の前にボー)A、B及びCの予約がクリアされている
ことを要求する。
これは、スカシ基準要求が/−10の基準要求とOR演
算され、ポートA及びBの読出しデータ経路は回路の利
用率を最大限に高めるために使用されるためである。し
かしながら、希望に応じてスカシ基準のために全く別個
の経路を設けても良い。
スカシ要求は唯一つの記憶場所に対するもので、従って
増分回路は不要である。データベースアドレス、Ahデ
デー及びjkmデータの加算回路570で実行され、そ
の結果はスカラメモリ基準アドレスレジスタ571に搬
送される。スカラメモリ基準はスカシ基準制御回路57
2の制御の下にスカラメモリ基準アドレスレジスタ57
1に保持される。この制御回路572は競合解決回路網
からの、j? −トC競合信号と、発行スカシ基準信号
とを受信し、スカラメモリ基準命令の発行を指示する。
他の基準要求とは異なシ、2つまでのスカシ基準が発生
され、同時にそれらは顕著である。ただし、それらの要
求は唯一の基準要求を必要とすることが認識される。
各CPUは、第9図及び第10図のI10メモリアドレ
ス回路のそれぞれからレジスタ575のVO基準要求ア
ドレスの5つのLSBを受取る第15図のI10基準制
御回路を有する。エカ基準制御回路576は競合解決回
路網からのI10競合信号と、I10メモリ要求信号と
を受信し、有効エカ基準要求を指示する。基準制御回路
576は要求される基準のためのアドレス及び経路を制
御するために設けられる。
第16図は、メモリへの取出し又は交換基準要求を制御
する回路を示す。命令基底アドレス及びプログラムカウ
ンタ(P)データは加算回路580によシ受取られ、取
出し又は交換アドレスレジスタ581への入力のために
加算される。常に32ワードの長さでおる取出し動作の
ための範囲検査は、命令制限アドレスを越えたときに取
出し、交換制御回路583への取出し放棄信号を発生す
るために加算回路580の出力及び命令制限アドレスを
受取る取出し範囲検査回路582で実行される。取出し
・交換制御回路583は、さらに、取出し又は交換要求
信号と、取出し又は交換進行信号とを取出し又は交換競
合解決回路網345から受取る。交換アドレスレジスタ
584は、新しい交換ノクッケージからのローディング
のためにAjデデー経路及びポートCメモリ読出しデー
タを受取る。交換アドレスレジスタ584の出力は、古
い交換パッケージを記憶するためにポートCメモリ書込
みデータとなp1取出し又は交換アドレスレジスタ58
1に送られる。取出し・交換制御回路583は取出し又
は交換動作、たとえば、データが利用可能でおることを
命令バッファに信号で通知する動作又は交換パラメータ
レジスフに対して交換・やラメータを入出力する動作な
どのためにアドレス経路及びデータ経路を制御する。
1つのメモリ部分へのメモリ基準要求が競合解決回路網
により進行を許可されたとき、メモリ部分の内部の参照
されるべき場所を指定する基準アドレスの最上位の17
ビツトは記憶装置の適切なメモリ部分アドレシング回路
網にダートされる。
第17図のメモリアドレス選択回路はこの目的のために
設けられる。ボー)A% z−)B17Je−トC1ス
カラ、Ilo又は取出し又は交換に関する基′$要求は
、参照の進行が許可されたときに第17図の回路により
適切なメモリ部分へr−)される。
グー)600は、ポートC基準要求アドレス又はスカラ
基$要求アドレスを選択するために設けられる。ダート
601〜604は、ポートA1ポー)B、d?−)C又
はスカシの基準要求アドレスを状況に応じて選択するた
めに設けられる。r−)605〜608は、ゲート60
1〜604の出力、I10基準アドレス又は取出し又は
交換基準アドレスを選択するために設けられる。すなわ
ち、ポートA1ポートBS ポートc、スカラ、Ilo
又は取出し又は交換基準アドレスのいずれか1つか4つ
のメモリ部分アドレシング回路網のいずれか1つ全弁し
てゲートされる。
範囲検査回路620〜623は、基準アドレスが指定の
範囲の内部にあることを保証し且つ適切なときにそれぞ
れのメモリ部分に基準放棄信号を発生するために設けら
れる。範囲制限レジスタ610は、ポートA1ポートB
1ポートC及びスカシの基準に関する交換/fツケージ
からデータ基底アドレス及びデータ制限アドレスを受取
る。前述のように、取出し基準範囲検査は第16図の取
出し範囲検査回路582において実行され、それによp
発生される放棄信号は範囲検査回路620〜623のそ
れぞれに入力される。I10アドレ/ング又は交換につ
いては範囲検査能力は提供されない。
記憶装置への各書込み基準のためのデータは滴切なレジ
スタ又はI10チャンネルから適切なメモリ部分に導か
れる。前述のように、記憶装置への書込み基準はポー)
C又はI10ポ〜トを介して実行される。メモリ書込喫
デーク選択は第18図に示される回路で実行される。ダ
ート650は、検査バイト発生回路651への入力のた
めにポートCのAtデータ経路、Bデータ経路、siデ
デー胚路、Tデータ経路又はVjデデー経路からのデー
タを選択する。ベクトルデータの競合解決回路1152
90への伝幡には3クロックサイクル分の遅延がラシ、
メモリ部分競合信号がCPUのレジスタへ戻るのに1ク
ロックサイクル分の遅延があるため、競合が発生したと
きに、1つにつき1ワードずつベクトルデータの3つの
ワードを保持する3つのデータスタッキングレジスタ6
55〜657が設けられる。ゲート650は、必要に応
じて第1のワード全保持する。ダート658は、ポート
Cに入力される3つのデータ経路の中から選択を行なう
。ボー)C書込み動作が進行を許可されたとき、e−)
650は、それぞれ連続する基準サイクルについて1つ
のレジスタ655〜657の出力を検査バイト発生回路
651に順次r−トする。データスタッキングレジスタ
655〜657のどれが選択されるかは、スタックされ
ているワードの数によって決まる。検査バイト発生回路
651は8ビツトのノ4リティ情報tl−発生し、メモ
リ書込みのために72ビツトのワードf:堤供するため
にこの情報をr−トロ50から受取られる64♂ツトの
ワードと組合わせる。
f−トロ60〜663は、検査ビット発生回路651の
出力又はIlo 書込みデータを・1択するために設け
られる。すなわち、CPU1台につき合わせて2種類の
書込み動作がクロック周期ごとに可能である。
ダート660〜663に供給される■10@込みデータ
は、第19図の回路における処理の後にI10チャンネ
ルから到達する。低速入力チャンネル0,2.4及び6
の場合、データはI10装置から16ビツトのワードと
して受取られ、このワードはそれぞれのアセンブリレジ
スタ670〜673において64ビツトのワードに組立
てられなければならない。
高速チャンネルO及び2と、SSD入カデカチャンネル
合には、入力されるデータを緩衝するためにバッファ6
74〜681が設けられる。マルチプレクサ690及び
691は、CPU0及びCPU 1についてそれぞれの
入力チャンネルからデータを受取シ、それぞれの誤シ修
正・検査バイト発生回路692及び693への出力のた
めに適切な書込みデータを選択するために設けられる。
これらの回路692及び693の出力は対応するCPU
のメモリ書込みデータ選択回路のI10書込みデータ経
路のうち適切なものに供給される。
メモリ部分から適切なCPUレジスク及び1力出力回路
(第21図)へのメモリ読出し基準動作のためのデータ
ルート指定は、第20図の回路において実行される。メ
モリ部分のr−り読出し経路は、データを一方のCPU
のA、B、S、T又はVレジスタのそれぞれに又はエカ
出力回路に導くために設けられる選択ダート701〜7
03のそれぞれの一方の入力端子に接続される。Vレジ
スタへ向けられるメモリ読出し動作は、8つのVレジス
タのいずれか1つにデータ経路を切換える付加的なダー
ト704を介してルート指定される。ゲート704は、
さらに、6つの機能ユニットのいずれか1つの結果又は
Stデデー経路をVレジスタヘルート指定することがで
きる。Iloへの記憶のために、4つのメモリ部分のそ
れぞれから8ビツトの検査バイトが提供され、I/10
出力回路への搬送のためにr−)703において組合わ
される。
選択f−4703の出力は、第21図に示されるように
マルチプレクシング回路と、バッファ回路と、分解回路
とを含むI10出力回路のうち対応するものによル受取
られる。ファンアウト回路750及び751はメモリデ
ータ選択回路から72ビツトのメモリワードを受取り、
現在実行中の選択された基準を実行するチャンネルに従
ってレジスタ752〜755又はバッファ756〜76
3を分解するためにそのメモリワード全マルチグレタス
する。マルチプレクサ765〜768は、バッファ75
6〜763の対応する出方を高速出力チャンネルケーブ
ル及びSSD出カチャンネルヶーゾルのうち対応するも
のにマルチゾレクスするために設けられる。低速チャン
ネルケーブルは20ビット幅、高速チャンネルケーブル
は72♂ット幅、そしてSSDチャンネルは144ビッ
ト幅であって、クロックサイクルごとに2ワードの動作
能力を支援する。
ベクトルレジスタ 前述のように、本発明のマルチゾロセッサシステムのC
PUは米国特許第4128880号のベクトル処理機械
の改良された構成であるのが好ましい。
この機械においては、本発明の改良された構成と同様に
、ベクトルレジスタ260(第5図)はCPHの主演算
レジスタであシ、ベクトル演算は一連のベクトル要素を
処理することにょシ実行される。この処理は常にレジス
タの最初のベクトル要素と共に開始され、関連するベク
トルレジスタの全ての要素が処理されるまで継続する。
この場合、前述のように、1つ又は複数のベクトルレジ
スタがオペランド供給用として指定され、別のベクトル
レジスタはベクトル処理演典中に結果を受取るために指
定され、数学的演算及び論理演算は、全て完全にセグメ
ントされ且つ独立して動作可能である機能ユニットにお
いて実行される。すなわち、複数のベクトルレジスタと
機能ユニットを利用することによシ、並行動作によって
ベクトル処理速度は著しく速められる。
ベクトル結果レジスタは連続するベクトル処理演算につ
いてオペランドレジスタとなることが多いので、結果レ
ジスタの要素がオペランド要素として「連鎖処理」され
ると非常に有利であり、この種の動作は米国特許第41
28880号のベクトル処理機械においては可能である
。しかしながら、この特許にさらに詳細に記載されてい
るように、連鎖処理は、このシステムにおいては、ベク
トルレジスタ及び関連する機能ユニットを介するベクト
ルデータストリームにおける特定の1つのクロック周期
に限定される。本発明のベクトルレジスタの改良によれ
ば、結果が受取られ、オペランドが必要とされる速度が
原因となって生じるベクトルレジスタ内部のタイミング
競合とは無関係に、結果ベクトルデータストリームの任
意の時点における連鎖処理を可能にすることによりこの
制限を克服する。この「7レキシプル連鎖処理」能力を
実行するために、1つの読出し動作又は書込み動作を実
行するために1クロツクサイクルを必要とするベクトル
レジスタのメモリ回路は、2つの独立してアドレス可能
なパンクとして配列される。
一方のパンクはベクトルの全ての偶数要素を保持し、他
方のパンクはベクトルの全ての奇数要素を保持する。す
なわち、2つのパンクはクロ、クサイクルごとに独立し
て参照される。
各レジスタは、命令発行制御回路内に、適切な命令が発
行されたときにセットされる2つの予約7ラグを有する
。一方のフラグはレジスタをオペランドレジスタとして
予約し、他方のフラグはレジスタを結果レジスタとして
予約する。結果レジスタとして予約され、オペランドレ
ジスタとして予約されなかったレジスタはいつでもオペ
ランドレジスタとして使用することができる。オペラン
ドレジスタとして予約され、結果レジスタとして予約さ
れなかったレジスタは、オペンンド予約がクリアされる
まで結果レジスタとして使用することはできない。双方
の予約がクリアされれhルジスタを同じ動作においてオ
ペランドと結果の双方に使用することができる。これら
の予約Qよ、レジスタ内の適切な制御回路830又tよ
831によシフリアされる。
第22図によれば、偶数ベクトル要素パンク810と奇
数ベクトル要素パンク820とが設けられている。ベク
トル書込みデータはデータダート810及び820を介
してこれらのパンク810及び820にそれぞれ供給さ
れる。パンク810及び820への基準のためのアドレ
シングはMt出しアドレスレジスタ812及び引込みア
ドレスレジスタ822によシ提供される。これらのアド
レスレジスタ812及び822において発生ずるアドレ
スはそれぞれのr−)813及び823t−介して、ど
の基準動作が実行されようとしているかに従って偶数ベ
クトル要素パンク810及び奇数ベクトル要素パンク8
20に導かれる。動作中、これらのアドレスレジスタに
はゼロアドレスがロードされ、レジスタ835又は83
6には、読出し動作であるか又は書込み動作であるかに
応じてベクトル長レジスタのデータ経路からのベクトル
長パラメータのコピーがロードされる。次に、アドレス
5td、、VLレジスタがゼロまでカウントダウンする
まで基準サイクルごとに増分される。ゼロにカウントダ
ウンした時点で、演算は完了し、発行制御回路において
それぞれのレジスタ予約を解除するために信号が発生さ
れる。最下位ビットは、奇数であれ偶数であれどのパン
クにアドレス及び対応するデータが導かれるかを決定す
る。すなわち、一連の読出し又は書込み基準は1つのア
ドレスの最下位ビットの状態に従ってr−)813及ヒ
s 23−+介してパンク間でトグルされる。
アドレス選択ゲート814及び824はダート813及
び823からアドレスを受取ると共に、Vレジスタへの
スカラ基準のためのCPUのAkデータ経路から入力を
それぞれ受取る。グー) 813及び823は、読出し
アドレスレジスタ812に保持される読出しアドレス(
RA)の下位ピットによシ制御される。すなわち、HA
は読出されるべきバンクヘダートされ、WAは読出され
るべきでないバンクヘダートされる。選択r−)814
は、入力されたいずれか一方のアドレスをメモリパンク
(偶数ベクトル要素パンク)810と、アドレス選択ゲ
ート824の上方入力端子ヘグートするように制御可能
である。アドレス選択f−)824は、その3つの入力
されたアドレスのいずれか1つを奇数ベクトル要素・ぐ
ンク820へ送るように制御される。以下にさらに詳述
するように、アドレス選択f−1814及び824はメ
モリ基準競合が発生した場合を処理する機構を提供する
ベクトル要素パンクの可用性はベクトル演aが進行する
速度tp定する。すなわち、ベクトル読出し制御回路8
30はベクトル要素パンク810及び820からデータ
を読出す中央制御回路である。ベクトル読出し制御回路
830は比較器832及び制御信号選択ゲート833か
らの入力と、ベクトルオペランド発行制御回路とを受取
る。このダート833は他の7つのベクトルレジスタの
それぞれからのベクトルデータ動作可能制御信号と、中
央記憶装置基準回路網のCポートからのゴーメモリデー
タ信号と、ベクトル読出し制御回路830の出力端子か
らのベクトルデータ動作可能信号とを受取る。これら9
つの信号のいずれか1つが選択的に切換えられてダート
833を介してベクトル読出し制御回路830に送られ
、機能ユニット又は中央記憶装置へのベクトルデータの
供給の同期化を進める。
ベクトル読出し制御回路830は、さらに、他のベクト
ルレジスタへのベクトルデータ動作可能信号及び機能ユ
ニットタイミングを発生すべきときを決定する際にベク
トル書込み制御回路831を監視する。ベクトル演算に
おいてオペランドとして2つのベクトルレジスタが使用
される場合、各レジスタの読出し制御回路は、機能ユニ
ットによる処理のために要素を利用できるときを決定す
るために他のレジスタのデータ動作可能信号を監視する
。双方のレジスタがデータ動作可能信号を有するとき、
各レジスタは機能ユニットに1つの要素を送る。ベクト
ルレジスタを記憶装置に記憶すべき場合、データ動作可
能信号は、要素tl−書込みのために利用できることを
適切なメモリポートCに指示し、次に読出し制御回路8
30はそれ以上のデータを送ることができるときを決定
するためにメモリポートの競合信号を監視する。
ベクトルデータ動作可能信号は、読出し制御装置830
が適切なベクトル命令の発行によシ動作され且つ次の条
件の1つが存在するときに発生される=(1)書込み制
御回路831が動作していない。
すなわち全ての要素が有効であシ、レジスタが結果レジ
スタとして使用されない: (2) RAは比較器83
2からのWAと等しくない。すなわち、演算に必要とさ
れる要素がレジスタに書込まれている;(3) RAが
WAと等しく且つ書込み制御回路831の入力端子に書
込み進行信号が存在するため、必要な要素が受取られ、
贅込みデータを読出しデー夕選択回路840に送られる
べきである;(4)ベクトルデータ動作可能信号が発生
されているが、別の動作可能信号が制御信号選択回路網
833から受取られていない。多くの場合、条件(2)
はRAがWAよシ小さいことを指すが、例外的な特殊な
場合においては、レジスタは同じ演算でオペランドと結
果の双方に使用される。次に、条件(2)はRAがWA
よシ大きいことを意味する。この特殊な場合、書込み活
動信号はこの条件に従って1クロック周期だけ遅延し、
読出し動作と書込み動作は同じクロック周期に従って開
始されたので、第1のデータ動作可能信号に条件(1)
によシ発生される。
第1の読出しRAが増分されて、RAがWAと等しくな
くなると、条件(2)によって読出しが継続される。
ベクトル書込み動作の直接制御は、機能ユニットタイミ
ング回路からの書込み進行信号及びベクトル結果発行信
号を受取るベクトル書込み制御回路8’31によシ提供
さnる◇書込み進行信号は、オペランドが機能ユニット
に送られたときにベクトル読出し制御回路において発生
する。書込み進行信号は、機能ユニットのタイミングに
対応するいくつかのクロック周期だけ信号を遅延され、
次にその信号をベクトル書込み制御回路へ搬送する適切
な機能ユニットタイミング回路へ供給される。
ベクトルオペランドの各ブロックに唯一つの書込み進行
信号が提供される米国特許第4128880号のシステ
ムとは異なシ、本発明のシステムは機能ユニットからの
それぞれの有効な結果出力に対して書込み進行信号を提
供する。書込み進行信号を伴なわない結果は結果レジス
タによシ無視される。すなわち、ベクトル読出し制御回
路830は、読出されるべきデータの可用性により発生
する制限を受ける書込みタイミングを間接的に制御する
比較器832の1つの機能は、同じクロックサイクル中
の同じベクトルメモリパンクに対する読出し要求と書込
み要求の発生全検出することである。この状態において
、競合が発生し、書込み要求は機能抑止され、読出し要
求は進行を許可されるので、機能ユニットへのデータの
流れは中断されない。書込み要求はベクトル書込み制御
回路831によシ1クロックサイクルだけ遅延され、書
込みデータはデータ遅延レジスタ834においてlクロ
ツタサイクルだけ遅延される。次のクロックサイクルに
おいて、書込みはベクトル書込み制御回路831によシ
r−ト811及び821のうち適切なものを介して進行
を許可される。ベクトル演算の順次性によりそれぞれ連
続する読出し及び書込みは対向するパンクに強制的に発
生し、従って、遅延された書込みと次の読出し/書込み
要求との間に別の競合は起こシえないので、ベクトルレ
ジスタを介するデータの流れはこの競合によシ影響を受
けることはない。
遅延された書込みが偶数ベクトル要素パンクにあれば、
書込みアドレスは遅延された曹込みに使用される。書込
みアドレスの最下位ビットは増分されているが、最上位
の5つのビットは変化しないので、アドレスは有効のま
まである。遅延された書込みが奇数ベクトル要素パンク
にあるならば、遅延された書込みアドレスの増分は最上
位の5っのビットに変化を生じさせる。すなわち、奇数
アドレス選択ダート824の上方入力端子において提供
されるような有効アドレスを偶数ノ々ンクアドレスレゾ
スタから選択しなければならない。
比較器832のもう1つの機能は、同じ/ぐンクの同じ
要素に対して読出し要求と書込み要求が同時に発生した
ときを検出することである。この状態が検出されると、
ベクトル書込みデータはデータ経路841を介して読出
しデータ選択ダート840全通って直接送られる。その
他の場合、このダート840はメモリパンク810及び
820の適切な一方のパンクを適切な機能ユニットに切
換える。
レジスタが同じ演算で結果とオペランドの双方として使
用される場合を除いて、書込み場jツ「より大きい記憶
場所に対して読出し要求が決して発生しないことは重要
である。命令発行制御回路は、レジスタが演算にオペラ
ンドとして既に含まれている場合に、レジスタが結果レ
ジスタとして使用されるのを阻止する。
ベクトルレジスタに何らかの参照が行なわれると、活動
交換パッケージ266においてビットとして使用されな
いベクトルはクリアされる。これにより、オペレーティ
ングシステムはユーザーコードがベクトルレジスタを参
照しなかったときを検出することができ、この場合、タ
スク間のスイッチング又は交換のときにはベクトルレジ
スタの内容全中央記憶装置に記憶する必要はない。すな
わち、場合によっては交換時間を節減でき、記憶装置の
利用度が低下するので、本発明のデータ処理効率の向上
に寄与する。
本発明のベクトルレジスタは、米国特許第412888
0号に記載されるシステムの場合と全く同じように機能
ユニットとインターフェース接続されるが、ただし、ベ
クトル読出し制御回路830によシ提供されるような機
能動作の進行と連鎖処理と、ベクトルデータ動作可能信
号の機能ユニットに対するタイミングの制御に関して前
述のような相違がある。しかしながら、奇数−偶数ベク
トルメモリ組織によシベクトルメモリへの読出し経路と
書込み経路は別個にされる。これは、上記特許のベクト
ルレジスタメモリ組織では不可能であった。すなわち、
以下にさらに詳細に説明するように、本発明のシステム
のベクトルレジスタから主記憶装置へのインターフェー
スは記憶装置に至る別個の読出しデータ経路及び書込み
データ経路を含み、この点においては米国特許第412
8880号に示されるインターフェースとは異なる。
このように、本発明のベクトルレジスタの′ノ′−キテ
クチャは、フレキシブル連鎖処理の採用によシコンピー
ータの速度を利用するために必要なソフトウェアの量を
減少させるものである。従って、ベクトル処理並行度は
高められ、著しく旨い処理速度が可能になる。
動作 以上のことかられかるように、本発明のマルチプロセッ
サシステムは多重タスク処理用のwL用マルチグゾロッ
サシステムヲ提供する。システムレベルにおいて、共用
レジスタ及びり2スタ能力により異なるジョブの独立し
たタスク又は1つのジョブの関連するタスクを並行して
実行することができる。オペレーティングシステムは周
期的にジョブ要件を解析し、処理効率及び処理速度をで
きる限9高くするためにプロセッサ間でジョブ又はタス
クの割当てを制御するのが好ましい。たとえば、共用レ
ジスタ及び/又は中央記憶装置を介して、他のプロセッ
サと並行して関連タスクのいくつかを処理する各プロセ
ッサと通信する複数のプロセッサにおいて単一のノ=a
fを実行しても良く、あるいは、異なるジー1fの独立
したタスクを各プロセッサで実行するためにプロセッサ
を互いに独立して利用しても良い。この動作性能は、多
重タスク処理が不要である場合に非常に望ましい。クラ
スタ構成により、さらに、1台のプロセッサがディスエ
ーブルされた場合でも多重処理ジョブを実行することが
できる。この状態において、オペレーティングシステム
は唯一つのゾロセッサヲ共用しソスタの特定のクラスタ
に割当て、全てのタスクをそのプロセッサにより順次実
行されるように割当てる。
オペレーティングシステムによる多重タスク処理の制御
は共用レジスタによシ、さらに詳1111には共用デー
タ、臨界コード領域及びI10チャンネルなどの共用ハ
ードウェア資源の同期化により稈易になる。さらに、共
用レジスタは、複数の臨界コード領域を独立して同期化
させることによりオペレーティングシステムの多重系処
理を容易にする。
臨界コード領域とはディスク割当て表、ジョブ及びタス
クキュー、メッセーノキューなどである。
オペレーティングシステムハ、プロセッサをジョグ/タ
スクに対してマルチ!レタスし、インターリーグするジ
ョブスケジューラを含んでいても良い。この動作モード
において、ジョブはr−タセットとして開始し、ノg/
スケノー−ラによシ動作のためにスケノー 177グさ
れる。次に、ノヨプは中央記憶装置にロードされ、この
時点でノヨゾスケゾーーラは多重タスク処理を実行する
ためにジョグについて1台又は置数のプロセッサをスケ
ソニーリングする〇 本発明のマルチプロセッサの多重タスク処理能力は、多
重ポートメモリ構成、競合解決回路網及び介在配列メモ
リパンク組織によシさらに高められる。システムレベル
において、競合解決回路網と介在配列メモリパンク構成
とは組合わされて、競合に関連する基準遅延を最小限に
抑えると共に、同時に同じパンクに対する全てのメモリ
資源の保全性を維持する。さらに詳細には、多くの状態
において、複数のメモリ基準は様々に異なるポートを介
して同時に実行される。さらに、競合解決回路網は基準
要求を優先順位決定し、それによシ、潜在的な競合は回
避され、下位優先順位要求は従属される。多重ポート構
成の別の面によれば、I10基準は要求を行なうプロセ
ッサとは無関係にいずれかのプロセッサについてのI1
0ポートを介して進行し、SSDに対する晶速I10転
送の場合には、双方のプロセッサの■カポートはきわめ
て高いデータ転送速度全達成するために使用される。
1つのプロセッサレベルにおいて、多重ポートメモリ組
織はメモリからメモリへのデータストリーム動作を可能
にし、ポートA又はBは記憶装置からのベクトル取出し
基準を処理し、yJ?−)Cは並行してベクトル記憶動
作全処理する。たとえば、2つのベクトルレジスタがポ
ートA及びBを介して中央記憶装置から同時にロードさ
れ、一方、ポーIcは同時にベクトルレジスタからの結
果を中央記憶装置に戻し、記憶するために利用される。
この動作により、プロセッサのデータストリーム及び処
理並行能力は著しく高められる。
本発明のマルチプロセッサのシステムのデータストリー
ム能力は、さらに、ベクトルレジスタのハードウェア自
動フレキシブル連鎖処理能力によっても高められる。各
ベクトルレジスタにおいて奇数−偶数メモリパンク組織
を利用すると、第lの結果が受取られるクロック周期及
びそれらが受取られる速度とはほぼ無関係に、結果ベク
トルレジスタをオペランドレジスタとして使用できる。
ベクトルレジスタメモリの組織によシ、各レノスタは2
つの独立したアドレ7ング制御回路葡有するので、オ(
ランドレジスタを結果レノスタとして利用することもで
きる。すなわち、ベクトルレジスタをよシ効率の良い方
式で、大量の機能ユニットと関連して並行して利用でき
るので、全体的な処理並行度は著しく高められる。この
フレキシブル連鎖処理能力は自動的にハードウェアで行
なわれるため、処理速度はソフトウェアへの依存性をさ
らになくシ、同様に、グログラミングの複雑さとオーバ
ヘッドは減少される。
【図面の簡単な説明】
第1図は、本発明のシステム全体の組織のブロック線図
、 第2図は、本発明の緊密結合通信回路の概観を示すブロ
ック線図、 第3図及び第4図は、本発明の緊密結合通信回路の機能
ブロック線図、 WJ5図は、本発明のCPUインターフェースに至る記
憶装置ポートの機能ブロック線図、第6図(、)及び第
6図(b)は、本発明の競合解決回路網の機能ブロック
線図、 第7図及び第8図は、本発明の競合解決回路の一部の機
能ブロック線図、 第9図及び第10図は、本発明の■ハメモリ基準発生・
制御回路の機能ブロック線図、第11図及び第12図は
、本発明のI10基準優先順位決定回路の機能ブロック
線図、 第13図は、本発明のCPUメモリ基準発生・制御回路
の機能ブロック線図、 第14図は、本発明のスカラ基準制御回路の機能ブロッ
ク線図、 第15図は、本発明の別のI10基弗制御回路の機能ブ
ロック線図、 第16図は、本発明の取出し・交換基準制御回路の機能
ゾロツク線図、 第17図は、本発明のメモリアドレス選択回路の機能ブ
ロック線図、 第18図は、本発明のメモリ書込みデータ選択回路の機
能ブロック線図、 第19図は、本発明のI10人力データチャンネルの機
能ブロック線図、 第20図は、本発明のメモリ読出しデータ経路指定回路
の機能ブロック線図、 第21図は、本発明のI10出力データチャンネルの機
能ブロック線図、及び 第22図は、本発明のベクトルレジスタの(幾能ブロッ
ク線図である。 10.11・・・ベクトルプロセッサ、12・・・中央
記憶装置、20・・・CPU I10制御装置、30・
・・SSD。 31・・・入出カプロセッサIOP、40・・・大容量
記憶装置、50・・・通イト制御回路、140・・・共
用レジスタ制御回路、160・・・セマフォレジスタ、
195・・・共用リアルタイムクロック(RTC)レジ
スタ、200・・・共用レジスタ、260・・・ベクト
ルレジスタ、290・・・メモリ競合解決回路網。 以下余白 第1頁の続き 優先権主張 0198坪4月25日[相]米国(US)
04880820発 明 者 リー ヒゲビー アメリ
カ合衆国、イツ、サウス ベルモ リノイ 60005.アーリングトンハイント アベニ
ュ 1507 手続補正書(方式) %式% 1、事件の表示 昭和59年 特許願 第81238号 2、発明の名称 コンピュータ・ベクトル多重処理制御装置3、補正をす
る者 事件との関係 特許出願人 名 称 クレイ リサーチ、インコーホレイティド4、
代理人 (外4 名) 6、補正の対象 (11a@の「出願人のに表者」の欄 (2)委 任 状 (31図 面 (41明 細 目 7、補正の内容 (1121別紙の通り (3)図面の浄書(内容に変更なし) (4)明細書の浄書() 8、添附曹類の目録 (1)訂正願書 1通 (21委任状及び訳文 各11ffi (3)浄書図面 1通 (4)浄書 明細書 1通

Claims (1)

  1. 【特許請求の範囲】 1゜複数のアクセス経路を有する中央記憶装置と: それぞれが内部情報経路を有し、それぞれが複数のホー
    トラ介して該中央記憶装置のアクセス経路に接続される
    複数の処理装置であって、該ポートは該処理装置から該
    内部情報経路を介して基準要求を受取ると共に、該アク
    セス経路を介して該中央記憶装置へのメモリ基準全発生
    し且つ制御するものと; 1つ又は複数の共用レジスタ、及び該共用レジスタがプ
    ロセッサ内勤作に比例する速度でアクセスされるように
    該共用レジスタを該処理装置のそれぞれの該内部情報経
    路に接続する手段と:を具備するマルチプロセッサシス
    テム。 2、複数のアクセス経路を有する中央記憶装置と: それぞれが内部データ経路を有し、それぞれが複数のポ
    ートを介して該中央記憶装置のアクセス経路に接続され
    る複数のベクトル処理装置であって、該ポートは該ベク
    トル処理装置から該内部データ経路を介して基準要求を
    受取ると共に、該アクセス経路を介して該中央記憶装置
    へのメモリ基準を発生し且つ制御するものと; 1つ又は複数の共用レジスタ、及び該共用レジスタがプ
    ロセッサ内勤作に比例する速度でアクセスされるように
    該ベクトル処理装置のそれぞれの該内部データ路に該共
    用レジスタを接続する手段とを具備し、 該ベクトル処理装置のそれぞれは、 それぞれが配列された一組のデータの複数の要素を保持
    する複数のベクトルレジスタと;オペランドを受取る入
    力端子と結果全出力する出力端子とを有する少なくとも
    1つの演算又は論理機能ユニット、及び連続する演算の
    オペランドを受取る一方で、まだ完了していない演算の
    データを保持するセグメントされた手段全台む機能ユニ
    ットと: 該ベクトルレジスタと関連し、プログラム命令に応答し
    て個々のベクトルレジスタを該中央記憶装置への又は該
    中央記憶装置からのデータ転送のために選択的に接続し
    、個々のベクトルレジスタを該中央記憶装置への又は該
    中央記憶装置からのデータ転送のために選択的に接続し
    、機能ユニットへオペランドとしてデータを転送し且つ
    機能ユニットから結果を受取るために個々のベクトルレ
    ジスタを選択的に接続する経路選択手段と:該ベクトル
    レジスタと関連し、プログラム命令に応答し、ベクトル
    レジスタの順序づケサれター組のデータの要素を機能ユ
    ニットに転送するためにベクトル処理演算においてオペ
    ランドレジスタとして選択されるベクトルレジスタと関
    連して動作し、結果ベクトルを表わす順序づけされた一
    組のデータの要素として機能ユニットから転送される連
    続する結果全受取シ、記憶するためにベクトル処理演算
    において結果レジスタとして選択されるベクトルレジス
    タと関連して動作する制御手段と金含む マルチプロセッサベクトル処理システム。 3、プロセッサ間で共用される中央記憶装Nを含み、各
    プロセッサは制御情報及びデータ情報のための内部経路
    を含み、各プロセッサは、該内部経路から基準要求を受
    取シ且つ中央記憶装置への基準を発生し、制御する1つ
    又は複数のホートラ介して該中央記憶装置と通信するマ
    ルチプロセッサデータ処理システムのプロセッサ内直接
    通信方法であって、該方法は、 a)該プロセッサのいずれか1つによシ該内部経路を介
    して直接アドレスされうる複数のセマフォレジスタを提
    供する過程と; b)該プロセッサのいずれか1つによシ該内部経路を介
    して直接アドレスされうる複数の情報レジスタを提供す
    る過程と; c)該セマフォレジスタ及び該情報レジスタ2複数のク
    ラスタに編成する過程と; d)もしあるならばプロセッサが該クラスタのうちどれ
    をアクセスしうるかを示すコードを保持するために各プ
    ロセッサにクラスタコードレジスタを提供する過程と: e)該クラスタコードレジスタに保持されるコード全変
    更することによシアクセスを制御する、該マルチプロセ
    ッサシステムのオペレーティングシステムを利用して、
    プロセッサによる該クラ′スタへのアクセスを制御する
    過程と: f) tf報レジスタの状態又は1つのプロセッサにお
    けるソフトウェア条件の状態を示すコードを保持するこ
    とができるクラスタと関連するセマフォレジスタによっ
    て、プロセッサによる該情報レジスタのそれぞれへのア
    クセス全制御する過程と;から成る方法。 4、プロセッサ間で共用される中央記憶装置を含み、各
    プロセッサは制御情報及びデータ情報のための内部経路
    を含み、各プロセッサは、該内部経路から基準要求を受
    取シ且っ中央記憶装置への基準を発生し、制御する1つ
    又は複数のポートを介して該中央記憶装置と通信し、プ
    ロセッサ内勤作に比例する速度で該内部経路を介してゾ
    ロセッサのいずれか1つによシ直接アクセスされうる複
    数(DM報レジスタをさらに含むマルチプロセッサデー
    タ処理システムにおいてプロセッサ内通信を制御する方
    法であって、該方法は、 a)該情報レジスタを複数のクラスタに編成する過程と
    ; b) プロセッサにょシ実行されているソフトウェアタ
    スクの演算状態を示す情報を保持するために該情報レジ
    スタのいくつかのもの全指定する過程と: C)該クラスタのそれぞれへのアクセスヲ該プロセッサ
    のうちいくつかのものに制限する過程と:d)情報レジ
    スタの該いくつかのものに維持される状態情報を試験し
    、セットし、クリアすることによシ同じクラスタをアク
    セスすることが許された異なるプロセッサの間での情報
    の転送全調整する過程と: から成る方法。 5、プロセッサ間で共用される中央記憶装置ヲ含み、各
    プロセッサは制御情報及びデータ情報のための内部経路
    −全含み、各デロセ、すは、該内部経路から基準要求を
    受取シ且つ中央記憶装置への基準を発生し、制御する1
    つ又は複数のホートラ介して該中央記憶装置と通信し、
    プロセッサ内勤作に比例する速度で該内部経路を介して
    直接アクセスされうる複数の情報レジスタをさらに含み
    、該情報レジスタは複数のクラスタに編成され、プロセ
    ッサによるいずれか1つのクラスタへのアクセスはプロ
    グラム可能であるマルチプロセッサデータ処理システム
    において複数のプロセッサの間のソフトウェアジョブを
    多重タスク処理する方法であって、該方法は、 a)該中央記憶装置に記憶されるオペレーティングシス
    テム全提供する過程と; b)該オペレーティングシステムを実行のために該プロ
    セッサの1つに呼出す過程と:c)該オペレーティング
    システムによシ該ジョブのデロセ、す要件全解析する過
    程と:d)該ジョブと関連する1つ又は複数のタスクを
    該オペレーティングシステムヲ介して該プロセッサの1
    つ又はいくつかに割当てる過程と:e)該プロセッサに
    よる該クラスタへのアクセスを該オペレーティングシス
    テムを介してプログラムする過程と: f)該タスクを該プロセッサにより実行させる過程と: g)過程b)からt)’を反復する過程と;から成る方
    法。 6、機能ユニッ)f介して処理するための順序づけされ
    たデータのアレイを処理する複数のベクトルレジスタを
    それぞれ有する2つ又は3つ以上のプロセッサと、プロ
    セッサ間で共用される中央記憶装置とを含み、各プロセ
    ッサは制御情報及びデータ情報のための内部経路金倉み
    、各プロセッサは、該中部経路から基準要求全受取り且
    つ中央記憶装置への基準全発生し、制御する1つ又は複
    数のポートを介して該中央記憶装置と通信し、プロセ、
    す内勤作に比例する速度で該プロセッサのいずれか1つ
    により該内部経路金倉して直接アクセスされうる複数の
    情報レジスタをさらに含むベクトル処理システムにおけ
    る多重処理方法″″f:あって、該方法は、 a)処理されるべき順序づけされたベクトルデータのア
    レイを該中央記憶装置に記憶する過程と;b)実行され
    るべきジョブと関連するスカラ情報及びアドレス情報を
    該中央記憶装置に記憶する過程と; C)該プロセッサの1つに該スカラ情報及びアドレス情
    報を検索させると共に、該アドレス情報と関連する処理
    されるべきベクトルデータを検索させる過程と: d)データの結果ベクトル又は結果スカラデータを発生
    するために該1つのプロセッサを介して該ベクトルデー
    タを処理する過程と; e)データの該結果ベクトルを該中央記憶装置のいくつ
    かの記憶場所に記憶する過程と:f)該結果スカラデー
    タと、該中央記憶装置におけるデータの該結果ベクトル
    の場所を示す新しいアドレス情報とを該情報レジスタに
    記憶する過程と; g)該プロセッサのうち異なる1つのプロセッサが該中
    央記憶装置からデータの該結果ベクトルを検索し、さら
    に処理を実行できるようにするために、該異なるプロセ
    ッサに該情報レジスタから該結果スカラデータ及び新し
    いアドレス情報を検索させる過程と; から成る方法。 7、複数のアクセス経路を有する中央記憶装置と: それぞれが内部情報経路を有し、それぞれが複数のポー
    )1−介して該中央記憶装置のアクセス経路に接続され
    る複数の処理装置であって、該ボートは該処理装置から
    該内部情報経路金倉して基準要求を受取ると共に、該ア
    クセス経路金倉して該中央記憶装置へのメモリ基準を発
    生し、制御するものと; スカラ情報及びアドレス情報を記憶し、それぞれが該プ
    ロセッサによる直接アドレシングのために該プロセッサ
    の該内部情報路に接続される′6を数の共用情報レジス
    タと; それぞれが該プロセッサのいずれか1つによシッフトウ
    エア命令を介してセット、クリア又は試験可能であシ、
    該プロセッサにおいて実行されるジョブの間の情報の転
    送全調整するソフトウェア手段全提供するために、それ
    ぞれが該情報レジスタの1つと関連する複数のセマフォ
    レジスタと;全具備するマルチプロセッサシステム。 8、複数のアクセス経路を有する中央記憶装置と: それぞれが内部情報経路金有し、それぞれが複数のポー
    ト全弁して該中央記憶装置のアクセス経路に接続される
    複数の処理装置であって、該ポートは該処理装置から該
    内部情報経路を介して基準要求を受取ると共に、該アク
    セス経路を介して該中央記憶装置へのメモリ基準を発生
    し、制御するものと; それぞれが該ゾロセッサのいずれか1つによる該内部情
    報経路全弁する直接アドレシング全許容するように接続
    される共用情報レジスタ艇ら成る複数のクラスタと: それぞれが該情報レジスタのクラスタの対応する1つの
    クラスタと関連するセマフォレジスタの複数のクラスタ
    で、該セマフォレジスタは、それぞれ、該プロセッサの
    いずれか1つが該内部情報経路を介してその内容を直接
    試験し且つセット又はクリアすることができるように接
    続されるものと: 該プロセッサは、それぞれ、該情報レジスタ又はセマフ
    ォレジスタをアクセスしようとするプロセッサを該クラ
    スタの1つに方向づける又はプロセッサが該クラスタの
    いずれか1つをアクセスするのを阻止するようにグロダ
    ラム可能である関連するアクセス制御手段を有し; 該プロセッサは、それぞれ、セットされるべきレジスタ
    が既にセットされているときはプロセッサがセマフォレ
    ジスタ試験・セット命令を発行するのを阻止し、レジス
    タがクリアされるまでセット命令の発行全保持する命令
    発行制御手段とも関連し; プロセッサによる試験・セット命令の保持を監視し、該
    プロセッサの特定のものが発行しようと待機している試
    験・セット命令を発行することができる可能性がないと
    きに該プロセッサの少なくとも1つを割込むデッドロッ
    ク割込み手段と全具備スるマルチプロセッサシステム。 9、それぞれが順序づけされる一組のデータの複数の要
    素全保持する複数の独立してアドレス可能なメモリバン
    クを含む複数のベクトルレジスタと: オペランドを受取る入力端子と結果を出力する出力端子
    とを有する少なくとも1つの演算又は論理機能ユニット
    で、連続する演算のためのオペランドを受取る一方で、
    まだ完了していない演算のゲータ全保持するセグメント
    された手段を含むものと: 該ベクトルレジスタと関連し、プログラム命令に応答し
    て、中央記憶装置へ又は該中央記憶装置からデータ全転
    送するために個々のベクトルレジスタを選択的に接続し
    、且つデータ全オペランドとして機能ユニットへ転送し
    、機能ユニットから結果を受取るために個々のベクトル
    レジスタに7択的に接続する経路選択手段と; 該ベクトルレジスタと関連し、プログラム命令に応答し
    、機能ユニット及び順序づけされた一組のデータの要素
    が利用可能となったときに要素をベクトルレジスタから
    機能ユニットへ順次転送するために、ベクトル処理演算
    においてオペランドレジスタとして選択されるベクトル
    レジスタと関連して動作し、機能ユニットからの結果が
    利用可能となったときは機能ユニットから結果ベクトル
    全表わす順序づけされた一組のデータの要素として転送
    される連結する結果全受取り、記憶するために、ベクト
    ル処理演算において結果レジスタとして選択されるベク
    トルレジスタと関連して動作する制御手段と; 全具備する、主記憶装置金有するコンピュータのベクト
    ル処理装置。 10、順序づけされた一組のデータの複数の訟素を保持
    する複数の独立してアドレス可能なメモリバンクをそれ
    ぞれ含む複数のベクトルレジスタと; オペランドを受取る入力端子と結果を出力する出力端子
    とを有する少なくとも1つの演算又は論理機能ユニット
    で、該機能ユニットは、連続演算のためのオペランドを
    受取る一方でまだ完了していない演算のデータを保持す
    るセグメントされた手段金倉むものと; 該ベクトルレジスタと関連し、プログラム命令に応答し
    て、中央記憶装置へ又は該中央記憶装置からデータを転
    送するために個々のベクトルレジスタを選択的に接続し
    、且つオペランドとしてデータ’を機能ユニットへ転送
    し、機能ユニットから結果を受取るために個々のベクト
    ルレジスタ全選択的に接続する経路選択手段と: 該ベクトルレジスタと関連し、プログラム命令に応答し
    、機能ユニット及び順序づけされた一組のデータの要素
    が利用可能となったときに要素全ベクトルレジスタから
    機能ユニットへ順次転送するためにベクトル処理演算に
    おいてオペランドレジスタとして選択されるベクトルレ
    ジスタと関連して動作し、機能ユニットからの結果が利
    用可能となったときは、機能ユニットから結果ベクトル
    を表わす順序づけされた一組のデータの要素上して転送
    される連続する結果を受取シ、記憶づるためにベクトル
    処理演算において結果レジスタとして選択されるベクト
    ルレジスタと関連して動作し、さらに、同じメモリパン
    クに対し同時べ試みられる読出し動作と書込み動作との
    間の基準競@全解決し、該試みられる基準競合全強制的
    に別のメモIJ パンクに回して、後続する同時読出し
    /書込み動作が異なるメモリパンクでそれぞれ発生する
    ように動作する制御手段と; 全具備する、主記憶装置を有するコンピュータのベクト
    ル処理装置。 ] 1. 順序づけされた一組のデータの複数の要素を
    保持する複数の独立してアドレス可能なメモリパンクを
    それぞれ含む複数のベクトルレジスタと; オペランドを受取る入力端子と結果音出力する出力端子
    とを有する少なくとも1つの演算又は論理機能ユニット
    で、該機能ユニットは、連続演算のためのオペランドを
    受取る一方でまだ完了していない演算のデータを保持す
    るセグメントされた手段を含むものと: 該ベクトルレジスタと関連し、プログラム命令に応答し
    て、中央記憶装置への又は該中央記憶装置からのデータ
    を転送するために個々のベクトルレジスタ全選択的に接
    続し、且つオペランドとしてデータを機能ユニットへ転
    送し、機能ユニットから結果を受取るために個々のベク
    トルレジスタを選択的に接続する経路選択手段と; 該ベクトルレジスタのそれぞれと関連し、プログラム命
    令に応答し、ベクトル読出し制御装置及びベクトル書込
    み制御装置を含み、該ベクトル読出し制御装置は、オペ
    ランドの可用性を監視し、それと別のベクトル読出し制
    御装置の双方がオペランドを機能ユニットに送シうる状
    態にあるときに別のベクトル読出し制御装置によシ監視
    されるデータレディ信号を発生する手段を含み、該ベク
    トル読出し制御装置は、オペランドが機能二ニットに送
    られるたびに書込み進行信号をさらに発生し、該書込み
    進行信号はオペランドと共に機能ユニットに送られ、対
    応する結果が発生されるまで機能ユニットにおいて遅延
    され、次に結果をメモリパンクに書込むために受入れる
    べきであることを結果を受取るように指定されたベクト
    ルレジスタに信号で通知するために該ベクトルレジスタ
    と関連するベクトル書込み制御装置に供給される制御手
    段と; 全具備する、主記憶装置を有するコンピュータのベクト
    ル処理装置0 12、複数のアクセス経路を有し、それぞれ独立して並
    行参照されうる複数の独立したパンクに細分され、該ア
    クセス経路は複数の該パンクに接続される中央記憶装置
    と; それぞれが複数のポートを介して該中央記(,1装置の
    アクセス経路に接続される複数の処理装置で、該ポート
    は該処理装置から中央記憶装置基準要求を受取ると共に
    、該アクセス経路を介して該中央記憶装置へのメモリ基
    準を発生し、制御するものと: 該中央記憶装置への競合するメモリ基準要求全調整し、
    優先順位づけするために該ポートのそれぞれに接続され
    、該、JP−)から該i4ンクの1つへの競合するメモ
    リ基準要求に応答して、該競合するポートの1つに競合
    が解決されるまでその基準要求の実行を遅延させるメモ
    リ基準競合解決手段と: 全具備するマルチプロセッサシステム。 13、複数のアクセス経路を有し、並行する読出し基準
    及び書込み基準を許容するように構成される主記憶装置
    と: 配列された一組のデータの複数の要素を保持する複数の
    ベクトルレジスタと全具備し:該ベクトルレジスタは、
    それぞれ、複数のポートを介して該主記憶装置のアクセ
    ス経路に接続され、該ポートのいくつかは主記憶装置か
    らデータを読出し、そのデータをベクトルレジスタに書
    込むための専用ポートであって、そのように制御され、
    該ポートの他のものはベクトルレジスタからデータを読
    出し、そのデータを該主記憶装置に書込むための専用ポ
    ートであって、そのように制御されるので、オペランド
    データが主記憶装置から該ベクトルレジスタへ転送され
    る間に、結果データは主記憶装置へ戻され、そのように
    して該ベクトルレジスタと該主記憶装置との間に連続す
    る流れが成立する、ベクトル処理用コンピュータにおい
    て使用される主記憶装置とベクトルレジスタとをインタ
    ーフェース接続するシステム。
JP59081238A 1983-04-25 1984-04-24 多重プロセッサデ―タ処理システム及びその操作方法 Expired - Lifetime JP2511397B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US48808383A 1983-04-25 1983-04-25
US488083 1983-04-25
US488082 1983-04-25
US06/488,082 US4636942A (en) 1983-04-25 1983-04-25 Computer vector multiprocessing control

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP5302106A Division JP2577865B2 (ja) 1983-04-25 1993-12-01 ベクトル処理装置及びその制御方法
JP5302105A Division JP2501419B2 (ja) 1983-04-25 1993-12-01 多重プロセッサメモリシステム及びメモリ参照競合解決方法

Publications (2)

Publication Number Publication Date
JPS6037064A true JPS6037064A (ja) 1985-02-26
JP2511397B2 JP2511397B2 (ja) 1996-06-26

Family

ID=27049214

Family Applications (3)

Application Number Title Priority Date Filing Date
JP59081238A Expired - Lifetime JP2511397B2 (ja) 1983-04-25 1984-04-24 多重プロセッサデ―タ処理システム及びその操作方法
JP5302106A Expired - Lifetime JP2577865B2 (ja) 1983-04-25 1993-12-01 ベクトル処理装置及びその制御方法
JP5302105A Expired - Fee Related JP2501419B2 (ja) 1983-04-25 1993-12-01 多重プロセッサメモリシステム及びメモリ参照競合解決方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP5302106A Expired - Lifetime JP2577865B2 (ja) 1983-04-25 1993-12-01 ベクトル処理装置及びその制御方法
JP5302105A Expired - Fee Related JP2501419B2 (ja) 1983-04-25 1993-12-01 多重プロセッサメモリシステム及びメモリ参照競合解決方法

Country Status (5)

Country Link
EP (2) EP0389001B1 (ja)
JP (3) JP2511397B2 (ja)
AT (2) ATE154151T1 (ja)
CA (1) CA1218754A (ja)
DE (2) DE3485635D1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62152071A (ja) * 1985-12-25 1987-07-07 Nec Corp デ−タ処理装置
JPS63100560A (ja) * 1986-10-17 1988-05-02 Hitachi Ltd 並列プロセツサ
JPH01194055A (ja) * 1988-01-29 1989-08-04 Hitachi Ltd 並列計算機及びそのデータ転送方法

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4760518A (en) * 1986-02-28 1988-07-26 Scientific Computer Systems Corporation Bi-directional databus system for supporting superposition of vector and scalar operations in a computer
US5297260A (en) * 1986-03-12 1994-03-22 Hitachi, Ltd. Processor having a plurality of CPUS with one CPU being normally connected to common bus
US6379998B1 (en) 1986-03-12 2002-04-30 Hitachi, Ltd. Semiconductor device and method for fabricating the same
EP0240667B1 (en) * 1986-03-12 1993-07-21 Hitachi, Ltd. Processor
JPH0628051B2 (ja) * 1986-04-25 1994-04-13 株式会社日立製作所 記憶制御方式
JPS6353678A (ja) * 1986-08-22 1988-03-07 Hitachi Ltd ベクトル処理装置
JPH06103494B2 (ja) * 1986-11-18 1994-12-14 株式会社日立製作所 ベクトル処理装置の制御方式
JPS6432379A (en) * 1987-07-29 1989-02-02 Hitachi Ltd Computer
US4980817A (en) * 1987-08-31 1990-12-25 Digital Equipment Vector register system for executing plural read/write commands concurrently and independently routing data to plural read/write ports
US5276902A (en) * 1988-11-07 1994-01-04 Fujitsu Limited Memory access system for vector data processed or to be processed by a vector processor
JPH0769896B2 (ja) * 1988-11-07 1995-07-31 富士通株式会社 ベクトル処理システム
US5142638A (en) * 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
US5202970A (en) * 1989-02-07 1993-04-13 Cray Research, Inc. Method for sharing memory in a multiprocessor system
IL97315A (en) * 1990-02-28 1994-10-07 Hughes Aircraft Co Multi-group signal processor
GB9008366D0 (en) * 1990-04-12 1990-06-13 British Aerospace Data interaction architecture(dia)for real time embedded multi processor systems
US5247637A (en) * 1990-06-01 1993-09-21 Cray Research, Inc. Method and apparatus for sharing memory in a multiprocessor system
US5206952A (en) * 1990-09-12 1993-04-27 Cray Research, Inc. Fault tolerant networking architecture
WO2008045341A1 (en) * 2006-10-05 2008-04-17 Arc International Inter-processor communication method
JP5495822B2 (ja) 2010-01-29 2014-05-21 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
JP6086230B2 (ja) 2013-04-01 2017-03-01 日本電気株式会社 中央演算装置、情報処理装置、および仮想コア内レジスタ値取得方法
US10684858B2 (en) * 2018-06-01 2020-06-16 Intel Corporation Indirect memory fetcher
CN110654326B (zh) * 2018-06-29 2023-08-22 现代摩比斯株式会社 多主机系统、电力控制器及其工作方法
CN120316065B (zh) * 2025-06-10 2025-08-22 兰州大学 基于可重构计算的张量处理系统及其工作方法、fpga开发板

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5688561A (en) * 1979-12-21 1981-07-18 Fujitsu Ltd Vector arithmetic processor
JPS582959A (ja) * 1981-06-30 1983-01-08 Nec Corp アクセス制御装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3812473A (en) * 1972-11-24 1974-05-21 Ibm Storage system with conflict-free multiple simultaneous access
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
US4244018A (en) * 1978-05-15 1981-01-06 Gte Automatic Electric Laboratories Incorporated Interlock control of asynchronous data transmission between a host processor and a plurality of microprocessors through a common buffer
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
JPS57153359A (en) * 1981-03-18 1982-09-21 Ibm Data processing system with common memory
US4541046A (en) * 1981-03-25 1985-09-10 Hitachi, Ltd. Data processing system including scalar data processor and vector data processor
DE3112693A1 (de) * 1981-03-31 1982-10-14 Stollmann & Co, 2000 Hamburg Modular aufgebautes dezentrales datenverarbeitungssystem
US4471458A (en) * 1981-06-18 1984-09-11 Allied Corporation Computer interface
JPS58114274A (ja) * 1981-12-28 1983-07-07 Hitachi Ltd デ−タ処理装置
JPS6054694B2 (ja) * 1982-01-27 1985-12-02 株式会社日立製作所 記憶制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5688561A (en) * 1979-12-21 1981-07-18 Fujitsu Ltd Vector arithmetic processor
JPS582959A (ja) * 1981-06-30 1983-01-08 Nec Corp アクセス制御装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62152071A (ja) * 1985-12-25 1987-07-07 Nec Corp デ−タ処理装置
JPS63100560A (ja) * 1986-10-17 1988-05-02 Hitachi Ltd 並列プロセツサ
JPH01194055A (ja) * 1988-01-29 1989-08-04 Hitachi Ltd 並列計算機及びそのデータ転送方法

Also Published As

Publication number Publication date
JP2577865B2 (ja) 1997-02-05
DE3485635D1 (de) 1992-05-14
JPH06231088A (ja) 1994-08-19
EP0389001A2 (en) 1990-09-26
ATE74675T1 (de) 1992-04-15
EP0389001A3 (en) 1991-12-04
JP2511397B2 (ja) 1996-06-26
DE3486451T2 (de) 1997-09-25
EP0123509A3 (en) 1988-04-27
ATE154151T1 (de) 1997-06-15
JPH06231094A (ja) 1994-08-19
EP0389001B1 (en) 1997-06-04
EP0123509A2 (en) 1984-10-31
JP2501419B2 (ja) 1996-05-29
DE3486451D1 (de) 1997-07-10
EP0123509B1 (en) 1992-04-08
CA1218754A (en) 1987-03-03

Similar Documents

Publication Publication Date Title
US4636942A (en) Computer vector multiprocessing control
US4901230A (en) Computer vector multiprocessing control with multiple access memory and priority conflict resolution method
JPS6037064A (ja) 多重プロセッサデータ処理システム及びその操作方法
US4661900A (en) Flexible chaining in vector processor with selective use of vector registers as operand and result registers
US5970510A (en) Distributed memory addressing system
US5367690A (en) Multiprocessing system using indirect addressing to access respective local semaphore registers bits for setting the bit or branching if the bit is set
US4754398A (en) System for multiprocessor communication using local and common semaphore and information registers
US4760518A (en) Bi-directional databus system for supporting superposition of vector and scalar operations in a computer
US6282583B1 (en) Method and apparatus for memory access in a matrix processor computer
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
JPH02242364A (ja) マルチプロセッサシステムにおいてシステム制御ユニットを用いて通信要求を仲裁するための方法及び手段
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
US5165038A (en) Global registers for a multiprocessor system
JPS6270964A (ja) デ−タハブ
JPH04348451A (ja) 並列計算機
US5887182A (en) Multiprocessor system with vector pipelines
US5526487A (en) System for multiprocessor communication
EP0797803B1 (en) Chunk chaining for a vector processor
CA1228675A (en) Computer vector multi-processing control
JPH04280347A (ja) 高速バス装置
CA1219958A (en) Adjustable buffer for data communications in data processing system
JPH0525341B2 (ja)
JPH0690711B2 (ja) メモリアクセス制御方式
JPH0149982B2 (ja)
JPH06162068A (ja) ベクトル処理装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250