JP2658397B2 - マルチプロセッサシステム - Google Patents
マルチプロセッサシステムInfo
- Publication number
- JP2658397B2 JP2658397B2 JP1148273A JP14827389A JP2658397B2 JP 2658397 B2 JP2658397 B2 JP 2658397B2 JP 1148273 A JP1148273 A JP 1148273A JP 14827389 A JP14827389 A JP 14827389A JP 2658397 B2 JP2658397 B2 JP 2658397B2
- Authority
- JP
- Japan
- Prior art keywords
- vector operation
- operation unit
- processor
- processors
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 239000013598 vector Substances 0.000 claims description 75
- 238000009434 installation Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000004927 clay Substances 0.000 description 1
- 230000007850 degeneration Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8092—Array of vector units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8015—One dimensional arrays, e.g. rings, linear arrays, buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマルチプロセッサシステムに関する。
1978年に米国クレー社からクレー1(Cray−1)と名
づけられた計算機システムが出荷されて以来,科学計算
に対する需要が急速に高まり,高速計算を実現するため
に各種の改善がなされている。このような改善として,
例えば,ベクトル演算を行なうベクトル演算ユニットを
複数個備えて,命令制御ユニットがこれらのベクトル演
算ユニットを制御して大規模ベクトルを高速に処理する
方法,プロセッサを複数個設けてマルチプロセッシング
を行ない,スループットの改善をはかる方法等がある。
づけられた計算機システムが出荷されて以来,科学計算
に対する需要が急速に高まり,高速計算を実現するため
に各種の改善がなされている。このような改善として,
例えば,ベクトル演算を行なうベクトル演算ユニットを
複数個備えて,命令制御ユニットがこれらのベクトル演
算ユニットを制御して大規模ベクトルを高速に処理する
方法,プロセッサを複数個設けてマルチプロセッシング
を行ない,スループットの改善をはかる方法等がある。
ところで,複数のベクトル演算ユニットを備えてベク
トル演算を行う場合には,大量のジョブに対応するのが
困難であり,また複数のプロセッサを設けて演算を行う
場合には,一般にベクトル演算ユニットが単一であるた
め大規模ベクトルの処理における応答時間が遅くなると
いう問題点がある。つまり,従来の計算システムでは,
大量のベクトルデータを高速に,かつ大量のジョブを処
理したいという要求を満たすには計算能力不十分であ
る。
トル演算を行う場合には,大量のジョブに対応するのが
困難であり,また複数のプロセッサを設けて演算を行う
場合には,一般にベクトル演算ユニットが単一であるた
め大規模ベクトルの処理における応答時間が遅くなると
いう問題点がある。つまり,従来の計算システムでは,
大量のベクトルデータを高速に,かつ大量のジョブを処
理したいという要求を満たすには計算能力不十分であ
る。
本発明の目的は大量のベクトルデータを高速にかつ大
量のジョブを処理することのできるマルチプロセッサシ
ステムを提供することにある。
量のジョブを処理することのできるマルチプロセッサシ
ステムを提供することにある。
本発明のマルチプロセッサシステムは、複数のプロセ
ッサと、この複数のプロセッサに共有される共有メモリ
と、前記複数のプロセッサの各々に少なくとも1つ設け
られるとともに設置数が前記プロセッサ毎に独自に設定
されるベクトル演算ユニットと、前記複数のプロセッサ
の各々に対応して設けられ、該プロセッサに設置された
前記ベクトル演算ユニットの構成を示す構成情報を保持
する構成情報保持手段と、前記共有メモリと前記複数の
プロセッサに設けられた前記ベクトル演算ユニットとの
間でデータ転送を行う場合、該データ転送が行われる複
数のプロセッサのうちの1つの前記構成情報手段に保持
された構成情報に示されるベクトル演算ユニットと該共
有メモリとの間のデータ転送を制御する制御手段とを含
む。
ッサと、この複数のプロセッサに共有される共有メモリ
と、前記複数のプロセッサの各々に少なくとも1つ設け
られるとともに設置数が前記プロセッサ毎に独自に設定
されるベクトル演算ユニットと、前記複数のプロセッサ
の各々に対応して設けられ、該プロセッサに設置された
前記ベクトル演算ユニットの構成を示す構成情報を保持
する構成情報保持手段と、前記共有メモリと前記複数の
プロセッサに設けられた前記ベクトル演算ユニットとの
間でデータ転送を行う場合、該データ転送が行われる複
数のプロセッサのうちの1つの前記構成情報手段に保持
された構成情報に示されるベクトル演算ユニットと該共
有メモリとの間のデータ転送を制御する制御手段とを含
む。
次に,本発明について実施例によって説明する。
第1図を参照して,本発明によるマルチプロセッサシ
ステムは,プロセッサ1及び2,メモリアクセス制御装置
(MAC)3及び主記憶装置(MM)4を備えている。
ステムは,プロセッサ1及び2,メモリアクセス制御装置
(MAC)3及び主記憶装置(MM)4を備えている。
プロセッサ1からMAC3へ結線101を介してリクエスト
情報,結線102を介してストアデータがそれぞれ供給さ
れ,MAC3からプロセッサ1へは結線103を介してロードデ
ータが供給される。同様にして,プロセッサ2からMAC3
へ結線111を介してリクエスト情報,結線112を介してス
トアデータがそれぞれ供給され,結線113を介してMAC3
からプロセッサ2へロードデータが供給される。MAC3と
MM4とにおいては,結線121を介して,リクエスト情報,
アドレスが,結線122を介してストアデータがそれぞれM
AC3からMM4へ,結線123を介してロードデータがMM4から
MAC3へそれぞれ供給される。MAC3とMM4は3本のポート
で接続されており,それぞれリクエスト情報,ストアデ
ータ,ロードデータが転送される。
情報,結線102を介してストアデータがそれぞれ供給さ
れ,MAC3からプロセッサ1へは結線103を介してロードデ
ータが供給される。同様にして,プロセッサ2からMAC3
へ結線111を介してリクエスト情報,結線112を介してス
トアデータがそれぞれ供給され,結線113を介してMAC3
からプロセッサ2へロードデータが供給される。MAC3と
MM4とにおいては,結線121を介して,リクエスト情報,
アドレスが,結線122を介してストアデータがそれぞれM
AC3からMM4へ,結線123を介してロードデータがMM4から
MAC3へそれぞれ供給される。MAC3とMM4は3本のポート
で接続されており,それぞれリクエスト情報,ストアデ
ータ,ロードデータが転送される。
プロセッサ1及び2は第2図に示すように命令制御ユ
ニット11,ベクトル演算ユニット21〜24を備えている。
命令制御ユニット11は命令の解読,発行を制御し,ベク
トル演算命令を解読すると演算ユニット21〜24に対し結
線200を介して演算指示を出す。命令制御ユニット11は
メモリ参照命令を解読すると結線101−1を介してMAC3
に対してリクエスト,コマンド,アドレス,ベクトルデ
ータの要素間距離等のリクエスト情報を送出する。
ニット11,ベクトル演算ユニット21〜24を備えている。
命令制御ユニット11は命令の解読,発行を制御し,ベク
トル演算命令を解読すると演算ユニット21〜24に対し結
線200を介して演算指示を出す。命令制御ユニット11は
メモリ参照命令を解読すると結線101−1を介してMAC3
に対してリクエスト,コマンド,アドレス,ベクトルデ
ータの要素間距離等のリクエスト情報を送出する。
メモリのアクセス終了によってデータ送出される際に
は,MAC3から結線101−2を介してリプライ信号が命令制
御ユニット11に供給され,命令制御ユニット11はリプラ
イ信号を受取ると結線200を介してベクトル演算ユニッ
ト21〜24に対してロードデータの取込み指示を行なう。
ベクトル演算ユニット21〜24はベクトル演算パイプライ
ンで並列に動作し,各ベクトル演算ユニットは複数要素
を保持するベクトルレジスタ群および加減算,乗除算,
論理演算,シフトの演算パイプラインのセットを有して
いる。そして,要素番号はベクトル演算ユニット21〜24
の構成順に与えられ,同一のベクトル演算ユニットが要
素番号をベクトル演算ユニット数で割った剰余が等しい
ものを処理するように割り付けられる。また,ベクトル
演算ユニット21〜24の内いずれかのベクトル演算ユニッ
トに障害が発生した場合,縮退して動作することができ
るどのベクトル演算ユニットが構成されているか,また
は装備されているかは命令制御ユニット11に設けられて
いるベクトル演算ユニット構成レジスタ12で示される。
レジスタ12は4ビットから成り,各ビットがそれぞれベ
クトル演算ユニット21〜24に対応している。即ち,全ベ
クトル演算ユニットが構成されている場合,レジスタ12
で保持されている値は“1111"になる。また,例えばベ
クトル演算ユニット21のみが構成されている場合はレジ
スタ12で保持されている値は“1000"になる。レジスタ1
2は,図示されないスキャンパスによってのみセットさ
れ,レジスタ12がとりうる値は,MAC3での制御の容易性
から“1111",“1100",“0011",“1000",“0100",“001
0",“0001"の7通りに制限されている。MM4からのロー
ドデータ,MM4へのストアデータはそれぞれのベクトル演
算ユニット21〜24とMAC3の間にパスが設けられており,
パス102−1〜102−4を介してストアデータがそれぞれ
ベクトル演算ユニット21〜24からMAC3へ送られ,パス10
3−1〜103−4を介してロードデータがそれぞれMAC3か
らベクトル演算ユニット21〜24へ送られる。ベクトル演
算ユニット21〜24のうち構成(装備)されていないベク
トル演算ユニットがあると,MAC3はストアデータとして
構成されているベクトル演算ユニットからのデータのみ
をMM4へ送るよう選択し,ロードデータは構成されてい
るベクトル演算ユニットにMM4から読出したデータが全
て供給されるよう制御する。
は,MAC3から結線101−2を介してリプライ信号が命令制
御ユニット11に供給され,命令制御ユニット11はリプラ
イ信号を受取ると結線200を介してベクトル演算ユニッ
ト21〜24に対してロードデータの取込み指示を行なう。
ベクトル演算ユニット21〜24はベクトル演算パイプライ
ンで並列に動作し,各ベクトル演算ユニットは複数要素
を保持するベクトルレジスタ群および加減算,乗除算,
論理演算,シフトの演算パイプラインのセットを有して
いる。そして,要素番号はベクトル演算ユニット21〜24
の構成順に与えられ,同一のベクトル演算ユニットが要
素番号をベクトル演算ユニット数で割った剰余が等しい
ものを処理するように割り付けられる。また,ベクトル
演算ユニット21〜24の内いずれかのベクトル演算ユニッ
トに障害が発生した場合,縮退して動作することができ
るどのベクトル演算ユニットが構成されているか,また
は装備されているかは命令制御ユニット11に設けられて
いるベクトル演算ユニット構成レジスタ12で示される。
レジスタ12は4ビットから成り,各ビットがそれぞれベ
クトル演算ユニット21〜24に対応している。即ち,全ベ
クトル演算ユニットが構成されている場合,レジスタ12
で保持されている値は“1111"になる。また,例えばベ
クトル演算ユニット21のみが構成されている場合はレジ
スタ12で保持されている値は“1000"になる。レジスタ1
2は,図示されないスキャンパスによってのみセットさ
れ,レジスタ12がとりうる値は,MAC3での制御の容易性
から“1111",“1100",“0011",“1000",“0100",“001
0",“0001"の7通りに制限されている。MM4からのロー
ドデータ,MM4へのストアデータはそれぞれのベクトル演
算ユニット21〜24とMAC3の間にパスが設けられており,
パス102−1〜102−4を介してストアデータがそれぞれ
ベクトル演算ユニット21〜24からMAC3へ送られ,パス10
3−1〜103−4を介してロードデータがそれぞれMAC3か
らベクトル演算ユニット21〜24へ送られる。ベクトル演
算ユニット21〜24のうち構成(装備)されていないベク
トル演算ユニットがあると,MAC3はストアデータとして
構成されているベクトル演算ユニットからのデータのみ
をMM4へ送るよう選択し,ロードデータは構成されてい
るベクトル演算ユニットにMM4から読出したデータが全
て供給されるよう制御する。
第3図に示すように,MAC3はリクエスト制御部51,アド
レス生成部52,切替回路53,アライン制御部54及び57,ア
ライン回路55および58,及び遅延回路55を備えている。
リクエスト制御部51はプロセッサ1及び2からそれぞれ
結線101−1及び111−1を介して供給されるリクエスト
情報に基づいてMM4へのリクエストを制御する。リクエ
スト情報には,リクエスト信号の他にベクトルデータの
先頭アドレス,ベクトルデータの要素間間隔,ベクトル
データの要素数,アクセス種別を示すコマンド,さら
に,レジスタ12に保持されているベクトル演算ユニット
構成情報が含まれている。リクエスト制御部51は,プロ
セッサ1からのリクエストとプロセッサ2からのリクエ
ストを調停し,前記リクエスト情報に基いて,同時にア
クセスする最大要素数を決定する。同時アクセス最大要
素数はリクエスト情報に含まれている構成ベクトル演算
ユニット数によって決定される。即ち,ベクトル演算ユ
ニットが4つ構成されている場合は同時アクセス最大要
素数は4,2つの場合及び1つの場合にはそれぞれ同時ア
クセス最大要素数は2及び1となる。なお,リクエスト
情報はプロセッサ毎に送られてくるので,プロセッサ毎
にベクトル演算ユニット数が異なっていてもリクエスト
毎に同時アクセス最大要素数を正しく求めることができ
る。
レス生成部52,切替回路53,アライン制御部54及び57,ア
ライン回路55および58,及び遅延回路55を備えている。
リクエスト制御部51はプロセッサ1及び2からそれぞれ
結線101−1及び111−1を介して供給されるリクエスト
情報に基づいてMM4へのリクエストを制御する。リクエ
スト情報には,リクエスト信号の他にベクトルデータの
先頭アドレス,ベクトルデータの要素間間隔,ベクトル
データの要素数,アクセス種別を示すコマンド,さら
に,レジスタ12に保持されているベクトル演算ユニット
構成情報が含まれている。リクエスト制御部51は,プロ
セッサ1からのリクエストとプロセッサ2からのリクエ
ストを調停し,前記リクエスト情報に基いて,同時にア
クセスする最大要素数を決定する。同時アクセス最大要
素数はリクエスト情報に含まれている構成ベクトル演算
ユニット数によって決定される。即ち,ベクトル演算ユ
ニットが4つ構成されている場合は同時アクセス最大要
素数は4,2つの場合及び1つの場合にはそれぞれ同時ア
クセス最大要素数は2及び1となる。なお,リクエスト
情報はプロセッサ毎に送られてくるので,プロセッサ毎
にベクトル演算ユニット数が異なっていてもリクエスト
毎に同時アクセス最大要素数を正しく求めることができ
る。
これらの同時アクセス最大要素数は先頭アドレス,要
素間間隔とともに結線300を介してアドレス生成部52へ
送られ,ここで各要素のアドレスが計算される。そし
て,これら計算アドレスは対応するポートに結線121−
1〜121−4を介してリクエストと共に送出される。
素間間隔とともに結線300を介してアドレス生成部52へ
送られ,ここで各要素のアドレスが計算される。そし
て,これら計算アドレスは対応するポートに結線121−
1〜121−4を介してリクエストと共に送出される。
ベクトル演算ユニット21〜24からのストアデータはパ
ス102−1〜102−4及びパス112−1〜112−4を介して
それぞれプロセッサ1及びプロセッサ2から切替回路53
に供給される。切替回路53ではリクエスト制御部51によ
って調停され,処理される側のプロセッサからのストア
データがリクエスト制御部51から結線301を介して供給
される切替信号によりそれぞれ結線302−1〜302−4を
介してアライン回路55に供給される。アライン回路55
は,それぞれがベクトル演算ユニット21〜24からのスト
アデータを結線302−1〜302−4を介して入力とし,そ
れぞれのストアデータがストアされるアドレスに対応し
たメモリポート122−1〜122−4に出力するようアライ
ンする回路であり,アライン制御部54で生成される制御
信号により制御される。アライン制御部54は結線303に
より供給される先頭アドレス,要素間間隔,ベクトル演
算ユニット構成情報により,アライン回路55の制御信号
を生成する。なお,これらアライン制御部54及びアライ
ン回路55の構成については,例えば特願昭61−12258号
明細書に記載されている。
ス102−1〜102−4及びパス112−1〜112−4を介して
それぞれプロセッサ1及びプロセッサ2から切替回路53
に供給される。切替回路53ではリクエスト制御部51によ
って調停され,処理される側のプロセッサからのストア
データがリクエスト制御部51から結線301を介して供給
される切替信号によりそれぞれ結線302−1〜302−4を
介してアライン回路55に供給される。アライン回路55
は,それぞれがベクトル演算ユニット21〜24からのスト
アデータを結線302−1〜302−4を介して入力とし,そ
れぞれのストアデータがストアされるアドレスに対応し
たメモリポート122−1〜122−4に出力するようアライ
ンする回路であり,アライン制御部54で生成される制御
信号により制御される。アライン制御部54は結線303に
より供給される先頭アドレス,要素間間隔,ベクトル演
算ユニット構成情報により,アライン回路55の制御信号
を生成する。なお,これらアライン制御部54及びアライ
ン回路55の構成については,例えば特願昭61−12258号
明細書に記載されている。
ここでは,ベクトル演算ユニット構成情報が各プロセ
ッサ(本実施例の場合,プロセッサ1及びプロセッサ
2)から独立にリクエスト情報として供給されるので,
プロセッサ毎にベクトル演算ユニットの構成が異なって
いても,それぞれのプロセッサに対応したベクトル演算
ユニットの構成でアライン回路55が制御できる。例え
ば,プロセッサ1のレジスタ12の内容が“1111"でプロ
セッサ2のレジスタ12の内容が“0011"である場合,先
頭要素のアドレスがメモリポート122−1に対応したポ
ート,次の要素のアドレスがメモリポート122−2に対
応したポートに属しているものとすると,プロセッサ1
からのアクセスでは結線302−1からアライン回路55に
供給されるデータがメモリポート122−1を経てMM4へ,
結線302−2からアライン回路55に供給されるデータが
メモリポート122−2を経てMM4へそれぞれ送出される。
ッサ(本実施例の場合,プロセッサ1及びプロセッサ
2)から独立にリクエスト情報として供給されるので,
プロセッサ毎にベクトル演算ユニットの構成が異なって
いても,それぞれのプロセッサに対応したベクトル演算
ユニットの構成でアライン回路55が制御できる。例え
ば,プロセッサ1のレジスタ12の内容が“1111"でプロ
セッサ2のレジスタ12の内容が“0011"である場合,先
頭要素のアドレスがメモリポート122−1に対応したポ
ート,次の要素のアドレスがメモリポート122−2に対
応したポートに属しているものとすると,プロセッサ1
からのアクセスでは結線302−1からアライン回路55に
供給されるデータがメモリポート122−1を経てMM4へ,
結線302−2からアライン回路55に供給されるデータが
メモリポート122−2を経てMM4へそれぞれ送出される。
一方,プロセッサ2からのアクセスでは,先頭要素の
アドレス,要素間間隔がプロセッサ1と同様であっても
プロセッサ2ではベクトル演算ユニット23及び24が構成
されているだけであるためベクトル演算ユニット23から
送られてきたデータ,つまり結線302−3を介してアラ
イン回路55に供給されるデータがメモリポート122−1
を経てMM4へ,ベクトル演算ユニット24から送られてき
たデータ,つまり,結線302−4を介してアライン回路5
5に供給されるデータがメモリポート122−2を経てMM4
へそれぞれ送出される。
アドレス,要素間間隔がプロセッサ1と同様であっても
プロセッサ2ではベクトル演算ユニット23及び24が構成
されているだけであるためベクトル演算ユニット23から
送られてきたデータ,つまり結線302−3を介してアラ
イン回路55に供給されるデータがメモリポート122−1
を経てMM4へ,ベクトル演算ユニット24から送られてき
たデータ,つまり,結線302−4を介してアライン回路5
5に供給されるデータがメモリポート122−2を経てMM4
へそれぞれ送出される。
遅延回路6にはリクエスト制御部51からMM4へ送出さ
れたリクエストに関する情報が結線303を介して送ら
れ,このリクエスト情報はMM4へのアクセス時間分遅延
させられ,プロセッサ1へのリプライを結線101−2を
介して,プロセッサ2へのリプライを結線111−2を介
してそれぞれのプロセッサ1及び2へ送出する。また,M
M4から読出したデータを各プロセッサのベクトル演算ユ
ニットへ供給するために,遅延回路56から結線305を介
してアライン制御部57に制御情報を供給する。アライン
制御部57にはMM4からメモリポート123−1〜123−4を
介して読出したデータが入力され,この読出しデータを
対応するベクトル演算ユニット21〜24へ結線103−1〜1
03−4,または結線113−1〜113−4を介して供給するよ
うアラインする。なお,アライン制御部57及びアライン
回路58は,ベクトル演算ユニット側が出力側になること
を除いてMM4へデータをストアする際に用いられるアラ
イン回路55及びアライン制御部54と同様である。つま
り,ベクトル演算ユニット構成情報に基いて,先頭アド
レスから読出したデータを対応するベクトル演算ユニッ
トへ返すようにアライン回路58は制御される。従って,
プロセッサ毎にベクトル演算ユニットの構成が異なって
いても,正しくロードデータをベクトル演算ユニットに
供給することができる。
れたリクエストに関する情報が結線303を介して送ら
れ,このリクエスト情報はMM4へのアクセス時間分遅延
させられ,プロセッサ1へのリプライを結線101−2を
介して,プロセッサ2へのリプライを結線111−2を介
してそれぞれのプロセッサ1及び2へ送出する。また,M
M4から読出したデータを各プロセッサのベクトル演算ユ
ニットへ供給するために,遅延回路56から結線305を介
してアライン制御部57に制御情報を供給する。アライン
制御部57にはMM4からメモリポート123−1〜123−4を
介して読出したデータが入力され,この読出しデータを
対応するベクトル演算ユニット21〜24へ結線103−1〜1
03−4,または結線113−1〜113−4を介して供給するよ
うアラインする。なお,アライン制御部57及びアライン
回路58は,ベクトル演算ユニット側が出力側になること
を除いてMM4へデータをストアする際に用いられるアラ
イン回路55及びアライン制御部54と同様である。つま
り,ベクトル演算ユニット構成情報に基いて,先頭アド
レスから読出したデータを対応するベクトル演算ユニッ
トへ返すようにアライン回路58は制御される。従って,
プロセッサ毎にベクトル演算ユニットの構成が異なって
いても,正しくロードデータをベクトル演算ユニットに
供給することができる。
以上説明したように、本発明では、各プロセッサが少
なくとも一つのベクトル演算ユニットを備え、プロセッ
サの各々においてベクトル演算ユニットの構成数を他の
プロセッサにおけるベクトル演算ユニットの構成数に依
存することなく定めるようにして、つまり、ベクトル演
算ユニットの構成数をプロセッサ毎に独立して決定する
ようにして、主記憶アクセスの際、各プロセッサは、ベ
クトル演算ユニットの構成を示す構成情報をリクエスト
情報に含めてメモリアクセス制御装置に与えるようにし
たから、プロセッサ毎にベクトル演算ユニットの構成が
異なっていても、主記憶アクセス制御を行うことができ
る。つまり、プロセッサを動作させることができる。こ
れによって、柔軟なシステム構成が可能となるとともに
ベクトル演算ユニットの縮退を最小限に食い止めること
ができる。
なくとも一つのベクトル演算ユニットを備え、プロセッ
サの各々においてベクトル演算ユニットの構成数を他の
プロセッサにおけるベクトル演算ユニットの構成数に依
存することなく定めるようにして、つまり、ベクトル演
算ユニットの構成数をプロセッサ毎に独立して決定する
ようにして、主記憶アクセスの際、各プロセッサは、ベ
クトル演算ユニットの構成を示す構成情報をリクエスト
情報に含めてメモリアクセス制御装置に与えるようにし
たから、プロセッサ毎にベクトル演算ユニットの構成が
異なっていても、主記憶アクセス制御を行うことができ
る。つまり、プロセッサを動作させることができる。こ
れによって、柔軟なシステム構成が可能となるとともに
ベクトル演算ユニットの縮退を最小限に食い止めること
ができる。
従って,大量のベクトルデータを高速かつ大量のジョ
ブを処理することができる。
ブを処理することができる。
第1図は本発明によるマルチプロセッサシステムを示す
ブロック図,第2図はプロセッサの構成の一実施例を示
すブロック図,第3図は第1図のメモリアクセス制御装
置の構成の一実施例を示すブロック図である。 1,2……プロセッサ,3……メモリアクセス制御装置(MA
C),4……主記憶装置(MM),11……命令制御ユニット,1
2……パイプライン演算器構成レジスタ,21〜24……ベク
トル演算ユニット,51……リクエスト制御部,52……アド
レス生成部,53……切替回路,54,57……アライン制御部,
55,58……アライン回路,56……遅延回路。
ブロック図,第2図はプロセッサの構成の一実施例を示
すブロック図,第3図は第1図のメモリアクセス制御装
置の構成の一実施例を示すブロック図である。 1,2……プロセッサ,3……メモリアクセス制御装置(MA
C),4……主記憶装置(MM),11……命令制御ユニット,1
2……パイプライン演算器構成レジスタ,21〜24……ベク
トル演算ユニット,51……リクエスト制御部,52……アド
レス生成部,53……切替回路,54,57……アライン制御部,
55,58……アライン回路,56……遅延回路。
Claims (2)
- 【請求項1】複数のプロセッサと、 この複数のプロセッサに共有される共有メモリと、 前記複数のプロセッサの各々に少なくとも1つ設けられ
るとともに設置数が前記プロセッサ毎に独自に設定され
るベクトル演算ユニットと、 前記複数のプロセッサの各々に対応して設けられ、該プ
ロセッサに設置された前記ベクトル演算ユニットの構成
を示す構成情報を保持する構成情報保持手段と、 前記共有メモリと前記複数のプロセッサに設けられた前
記ベクトル演算ユニットとの間でデータ転送を行う場
合、該データ転送が行われる複数のプロセッサのうちの
1つの前記構成情報手段に保持された構成情報に示され
る少なくとも1つのベクトル演算ユニットと該共有メモ
リとの間のデータ転送を制御する制御手段とを含むこと
を特徴とするマルチプロセッサシステム。 - 【請求項2】前記制御手段は、前記構成情報に示される
少なくとも1つのベクトル演算ユニットからのデータを
整列して前記共有メモリに送出する第1の整列手段と、
前記共有メモリ空のデータを整列して前記構成情報に示
される少なくとも1つベクトル演算ユニットに送出する
第2の整列手段とを含むことを特徴とする請求項1記載
のマルチプロセッサシステム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1148273A JP2658397B2 (ja) | 1989-06-13 | 1989-06-13 | マルチプロセッサシステム |
CA002018865A CA2018865C (en) | 1989-06-13 | 1990-06-13 | Multiprocessor system with vector pipelines |
DE69025650T DE69025650T2 (de) | 1989-06-13 | 1990-06-13 | Multiprozessorsystem mit Vektorpipelinen |
EP90111189A EP0402891B1 (en) | 1989-06-13 | 1990-06-13 | Multiprocessor system with vector pipelines |
US08/064,678 US5887182A (en) | 1989-06-13 | 1993-05-21 | Multiprocessor system with vector pipelines |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1148273A JP2658397B2 (ja) | 1989-06-13 | 1989-06-13 | マルチプロセッサシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0314063A JPH0314063A (ja) | 1991-01-22 |
JP2658397B2 true JP2658397B2 (ja) | 1997-09-30 |
Family
ID=15449081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1148273A Expired - Lifetime JP2658397B2 (ja) | 1989-06-13 | 1989-06-13 | マルチプロセッサシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US5887182A (ja) |
EP (1) | EP0402891B1 (ja) |
JP (1) | JP2658397B2 (ja) |
CA (1) | CA2018865C (ja) |
DE (1) | DE69025650T2 (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04336378A (ja) * | 1991-05-14 | 1992-11-24 | Nec Corp | 情報処理装置 |
RO105026B1 (en) * | 1991-10-10 | 1993-09-01 | Ion Minca | Network structure for parallel processing of calcullation programs |
CA2147314C (en) * | 1994-05-09 | 1999-09-07 | Hubert Rae Mclellan, Jr. | A configurable vector processor |
JP3344345B2 (ja) | 1998-12-15 | 2002-11-11 | 日本電気株式会社 | 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体 |
US6349378B1 (en) * | 1999-03-31 | 2002-02-19 | U.S. Philips Corporation | Data processing using various data processors |
EP1215574A1 (en) * | 2000-12-12 | 2002-06-19 | Sony International (Europe) GmbH | Method for processing data on an iterative algorithm basis and an apparatus therefore |
JP2003263331A (ja) * | 2002-03-07 | 2003-09-19 | Toshiba Corp | マルチプロセッサシステム |
US7299338B2 (en) * | 2002-12-04 | 2007-11-20 | Agere Systems Inc. | Vector indexed memory unit and method |
JP5085180B2 (ja) * | 2007-04-24 | 2012-11-28 | 株式会社東芝 | 情報処理装置およびアクセス制御方法 |
US8095735B2 (en) * | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US8561037B2 (en) * | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US9015399B2 (en) * | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
US9710384B2 (en) | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8205066B2 (en) * | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4636942A (en) * | 1983-04-25 | 1987-01-13 | Cray Research, Inc. | Computer vector multiprocessing control |
US4901230A (en) * | 1983-04-25 | 1990-02-13 | Cray Research, Inc. | Computer vector multiprocessing control with multiple access memory and priority conflict resolution method |
JPS6077265A (ja) * | 1983-10-05 | 1985-05-01 | Hitachi Ltd | ベクトル処理装置 |
JPS6353678A (ja) * | 1986-08-22 | 1988-03-07 | Hitachi Ltd | ベクトル処理装置 |
JPH077389B2 (ja) * | 1987-05-14 | 1995-01-30 | 富士通株式会社 | 再帰方程式を高速で処理するベクトル処理装置 |
JP2602240B2 (ja) * | 1987-08-28 | 1997-04-23 | 株式会社日立製作所 | マルチプロセツサシステム |
JP2941817B2 (ja) * | 1988-09-14 | 1999-08-30 | 株式会社日立製作所 | ベクトル処理装置 |
-
1989
- 1989-06-13 JP JP1148273A patent/JP2658397B2/ja not_active Expired - Lifetime
-
1990
- 1990-06-13 DE DE69025650T patent/DE69025650T2/de not_active Expired - Fee Related
- 1990-06-13 EP EP90111189A patent/EP0402891B1/en not_active Expired - Lifetime
- 1990-06-13 CA CA002018865A patent/CA2018865C/en not_active Expired - Fee Related
-
1993
- 1993-05-21 US US08/064,678 patent/US5887182A/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
別冊インターフェース数値演算プロセッサ(昭和62年4月1日初版発行)CQ出版株式会社199頁 |
情報処理学会第36回(昭和63年前期)全国大会 7C−4 |
Also Published As
Publication number | Publication date |
---|---|
EP0402891B1 (en) | 1996-03-06 |
DE69025650T2 (de) | 1996-08-22 |
JPH0314063A (ja) | 1991-01-22 |
CA2018865C (en) | 1994-10-25 |
EP0402891A3 (en) | 1991-04-24 |
DE69025650D1 (de) | 1996-04-11 |
CA2018865A1 (en) | 1990-12-13 |
EP0402891A2 (en) | 1990-12-19 |
US5887182A (en) | 1999-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2658397B2 (ja) | マルチプロセッサシステム | |
EP0460599B1 (en) | Massively parallel processor including queue-based message delivery system | |
US5594918A (en) | Parallel computer system providing multi-ported intelligent memory | |
EP0280251B1 (en) | Shared memory controller arrangement | |
US4933838A (en) | Segmentable parallel bus for multiprocessor computer systems | |
US5214769A (en) | Multiprocessor control system | |
NO750339L (ja) | ||
GB2140589A (en) | An array of a plurality of processing elements | |
US20070091104A1 (en) | Computer system and method | |
US5367701A (en) | Partitionable data processing system maintaining access to all main storage units after being partitioned | |
US3354430A (en) | Memory control matrix | |
US5857111A (en) | Return address adding mechanism for use in parallel processing system | |
KR20010006787A (ko) | 데이터 처리 프로세서 및 시스템 | |
JPH03238539A (ja) | メモリアクセス制御装置 | |
EP0323080B1 (en) | Multiprocessor memory access control system | |
EP0368587B1 (en) | Vector processing apparatus | |
JP2944111B2 (ja) | リクエスト制御方法及び記憶制御装置 | |
JP2001167084A (ja) | ベクトル演算処理装置及びベクトルデータ移送方法 | |
EP1193605B1 (en) | Apparatus and method for the transfer of signal groups between digital signal processors in a digital signal processing unit | |
JP3704367B2 (ja) | スイッチ回路 | |
JP2976700B2 (ja) | プロセッサ間同期制御方式 | |
JPH1091589A (ja) | プロセッサ間同期制御装置 | |
EP0293616A2 (en) | Dynamic switch with task allocation capability | |
DK164677B (da) | Udstyr til fejltolerant ind-/udlaesning af data | |
JP2944108B2 (ja) | アクセス装置 |