JP3344345B2 - 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体 - Google Patents

共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体

Info

Publication number
JP3344345B2
JP3344345B2 JP37541098A JP37541098A JP3344345B2 JP 3344345 B2 JP3344345 B2 JP 3344345B2 JP 37541098 A JP37541098 A JP 37541098A JP 37541098 A JP37541098 A JP 37541098A JP 3344345 B2 JP3344345 B2 JP 3344345B2
Authority
JP
Japan
Prior art keywords
cpu
vector processing
instruction
vector
master
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 - Fee Related
Application number
JP37541098A
Other languages
English (en)
Other versions
JP2000181878A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP37541098A priority Critical patent/JP3344345B2/ja
Priority to US09/459,565 priority patent/US6782468B1/en
Priority to CA002292230A priority patent/CA2292230A1/en
Priority to AU64508/99A priority patent/AU765469B2/en
Priority to BR9915456-0A priority patent/BR9915456A/pt
Priority to EP99250439A priority patent/EP1011052A3/en
Publication of JP2000181878A publication Critical patent/JP2000181878A/ja
Application granted granted Critical
Publication of JP3344345B2 publication Critical patent/JP3344345B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/3885Concurrent 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、主記憶メモリを共
有する複数のCPUを備え、各CPUがスカラ処理部と
複数のベクトルパイプラインを構成するベクトル処理部
を有してなる共有メモリ型ベクトル処理システムに関す
る。
【0002】
【従来の技術】図9に、従来のベクトル処理装置におけ
るCPUを用いた共有メモリ型並列処理システムの構成
を示す。このシステムでは、複数のCPU100a〜1
00nが1つの主記憶装置200を共有して接続されて
いる。
【0003】各CPU100a〜100nの詳細構成図
を図10に示す。各CPU100a〜100nは、図示
のように、スカラ処理部101、命令制御部102、ベ
クトル処理部104a〜104n及びメモリアクセスネ
ットワーク部105を備えて構成される。
【0004】スカラ処理部101から発行された外部処
理命令「EX−RQ」は、命令制御部102へと転送さ
れる。命令制御部102では、自CPU内部にのみ存在
するベクトル処理部104a〜104nのリソースを管
理することによりベクトル処理命令「V−RQ」を発行
する。
【0005】従って、各CPU100a〜100n内部
におけるスカラ処理部101とベクトルパイプラインと
の構成は、常に一定であり変更することができない。
【0006】従来のベクトル処理装置の例が例えば特開
昭63−127368号及び特開昭63−10263号
等に開示されている。これらの公報に開示されるベクト
ル処理装置においては、何れもスカラ処理部とベクトル
パイプラインとの構成が一定であり、スカラ処理部に付
随するベクトルパイプライン数を用途に応じて柔軟に変
更できる構成とはなっていない。
【0007】
【発明が解決しようとする課題】上述した従来のベクト
ル処理装置においては、以下のような問題点がある。
【0008】第1の問題点は、実行するアプリケーショ
ンによってベクトル化率等が異なるのに対して、適切な
ベクトル処理リソースを割り当てられないことである。
【0009】その理由は、各CPUにおけるベクトルパ
イプライン数は常に一定であるため、想定しているより
も低いベクトル化率のアプリケーションを実行した場
合、ベクトルリソースの余剰が発生してしまう。また逆
に、より高いベクトル化率やより長いベクトル長のアプ
リケーションを実行しても、予め固定的に構成されたベ
クトルパイプライン構成によりベクトル処理性能の上限
が固定されているため、更なる処理性能向上を行なうこ
とができないからある。
【0010】第2の問題点は、LSIの集積度が向上し
てもスカラ処理部とベクトルパイプラインとを別のLS
Iとして開発する必要があることである。
【0011】その理由は、LSIの集積度が向上し、ス
カラ処理部とベクトルパイプラインの1本分程度が1チ
ップ化できるようになってきたが、従来の多重ベクトル
パイプライン構成では、このようなLSIを複数接続す
る際に各LSIに存在するスカラ処理部は全く利用でき
ずハードウェア量を無駄に使用することになるため、従
来通りスカラ処理部とベクトルパイプラインとを別のL
SIとして開発することになってしまう。ところが、こ
の方法ではLSIの開発工数が増大すること、LSIの
開発品種数が増加すること、1種のLSI当たりの生産
個数が減少することなどコスト増となる項目が多くな
る。
【0012】本発明の目的は、スカラ処理部に付随する
ベクトルパイプライン数を用途に応じて柔軟に変更でき
るベクトル処理システムを提供することにある。
【0013】本発明の他の目的は、独立する各プロセッ
サのスカラ処理部からの単一のベクトルパイプラインを
共有しているように動作するベクトル処理システムを提
供することにある。
【0014】
【課題を解決するための手段】上記の目的を達成する本
発明は、主記憶メモリを共有する複数のCPUを備え、
各CPUがスカラ処理手段とベクトル処理手段を有して
なる共有メモリ型ベクトル処理システムにおいて、前記
各CPU相互を、前記各CPUから生成するベクトル処
理命令を各CPUに転送するためのパスによって接続
し、前記各CPUは、発行元のCPUを識別する発行元
CPU情報を付加したベクトル処理命令を発行し、前記
パスを介して自CPUを含む全てのCPUに対して転送
する発行手段と、転送された前記ベクトル処理命令に含
まれる前記発行元CPU情報と、自CPUに設定された
マスターCPU情報とを比較し、転送された前記ベクト
ル処理命令に対する処理内容を決定するベクトル処理命
令制御手段とを備えることを特徴とする。
【0015】請求項2の本発明では、主記憶メモリを共
有する複数のCPUを備え、各CPUがスカラ処理手段
とベクトル処理手段を有してなる共有メモリ型ベクトル
処理システムにおいて、前記各CPU相互を、前記各C
PUから生成するベクトル処理命令を各CPUに転送す
るためのパスによって接続し、前記各CPUを、スカラ
処理を実行すると共に、ベクトル処理命令を他のCPU
に対して発行するマスターCPUと、前記マスターCP
Uから転送されてきたベクトル処理命令を受け取り、マ
スターCPU内のベクトル処理手段と同期して多重ベク
トルパイプラインとして動作するスレーブCPUとに分
けて設定し、前記マスターCPUは、発行元のCPUを
識別する発行元CPU情報を付加した前記ベクトル処理
命令を発行し、前記パスを介して自CPUを含む全ての
CPUに対して転送する発行手段を備え、前記マスター
CPUとスレーブCPUは、転送された前記ベクトル処
理命令に含まれる前記発行元CPU情報と自CPUに設
定されたマスターCPU情報とを比較し、一致する場合
に転送された前記ベクトル処理命令に基づく命令発行を
前記ベクトル処理手段に対して行ない、一致しない場合
に前記ベクトル処理命令の無効化を行なうベクトル処理
命令制御手段を備えることを特徴とする。
【0016】請求項3の本発明では、前記マスターCP
UとスレーブCPUの前記ベクトル処理命令制御手段
は、転送された前記ベクトル処理命令に含まれる前記発
行元CPU情報と、自CPUに設定されたマスターCP
U情報とを比較する比較手段と、転送された前記ベクト
ル処理命令を格納する命令スタックと、前記比較手段に
よる比較結果が一致の場合、前記ベクトル処理命令を命
令スタックに格納し、比較結果が不一致の場合、前記前
記ベクトル処理命令を無効化する無効化処理手段と、前
記ベクトル処理手段のリソース状態に基づいて、前記命
令スタックに格納された前記ベクトル処理命令に基づく
命令発行を前記ベクトル処理手段に対して行なう命令発
行処理手段とを備えることを特徴とする。
【0017】請求項4の本発明では、前記マスターCP
UとスレーブCPUの前記ベクトル処理命令制御手段
は、転送された前記ベクトル処理命令を前記ベクトル処
理命令自体と前記発行元CPU情報に分離して出力する
抽出手段と、分離された前記発行元CPU情報と、自C
PUに設定されたマスターCPU情報とを比較する比較
手段と、前記比較手段による比較結果が一致の場合、前
記抽出手段からの前記ベクトル処理命令を命令スタック
に格納し、比較結果が不一致の場合、前記前記ベクトル
処理命令を無効化する無効化処理手段と、前記ベクトル
処理手段のリソース状態に基づいて、前記命令スタック
に格納された前記ベクトル処理命令に基づく命令発行を
前記ベクトル処理手段に対して行なう命令発行処理手段
とを備えることを特徴とする。
【0018】請求項5の本発明では、前記マスターCP
UとスレーブCPUの前記ベクトル処理命令制御手段
は、転送された前記ベクトル処理命令を格納する命令ス
タックと、前記命令スタックに格納された前記ベクトル
処理命令に含まれる前記発行元CPU情報と、自CPU
に設定されたマスターCPU情報とを比較し、比較結果
が一致の場合、前記ベクトル処理命令に基づく命令発行
を前記ベクトル処理手段に対して行ない、比較結果が不
一致の場合、前記ベクトル処理命令に基づく命令発行を
抑止し前記命令スタックの該当エリアを解放する命令発
行処理手段とを備えることを特徴とする。
【0019】請求項6の本発明では、前記命令スタック
には、前記発行元CPU情報を含んだ状態で前記ベクト
ル処理命令を格納することを特徴とする。
【0020】請求項7の本発明では、前記ベクトル処理
命令制御手段は 自CPUがマスターCPUかスレーブ
CPUかを判断し 自CPUがスレーブCPUである場
合に、自CPUの前記スカラ処理手段の動作を停止させ
る停止手段を備えることを特徴とする。
【0021】請求項8の本発明では、前記停止手段は、
自CPUに対するマスターCPUとして機能するCPU
を示すマスターCPU情報と、自CPUのCPU情報を
格納する格納手段と、前記ベクトル処理命令が転送され
た際に、前記格納手段に格納されたマスターCPU情報
と自CPU情報とを比較し、不一致の場合に、自CPU
の前記スカラ処理手段の動作停止信号を出力する比較手
段とで構成されることを特徴とする。
【0022】請求項9の本発明では、主記憶メモリを共
有する複数のCPUを備え、各CPUがスカラ処理手段
とベクトル処理手段を有してなる共有メモリ型ベクトル
処理システムの制御方法であって 前記各CPUにおい
て、発行元のCPUを識別する発行元CPU情報を付加
したベクトル処理命令を発行し、相互に接続されたパス
を介して自CPUを含む全てのCPUに対して転送し、
転送された前記ベクトル処理命令に含まれる前記発行元
CPU情報と、自CPUに設定されたマスターCPU情
報とを比較し、転送された前記ベクトル処理命令に対す
る処理内容を決定することを特徴とする。
【0023】請求項10の本発明では、主記憶メモリを
共有する複数のCPUを備え、各CPUがスカラ処理手
段とベクトル処理手段を有してなる共有メモリ型ベクト
ル処理システムの制御方法であって 前記各CPUを、
スカラ処理を実行すると共に、ベクトル処理命令を他の
CPUに対して発行するマスターCPUと、前記マスタ
ーCPUから転送されてきたベクトル処理命令を受け取
り、マスターCPU内のベクトル処理手段と同期して多
重ベクトルパイプラインとして動作するスレーブCPU
とに分けて設定し、前記マスターCPUにおいて、発行
元のCPUを識別する発行元CPU情報を付加した前記
ベクトル処理命令を発行し、相互に接続されたパスを介
して自CPUを含む全てのCPUに対して転送し、前記
マスターCPUとスレーブCPUにおいて、転送された
前記ベクトル処理命令に含まれる前記発行元CPU情報
と自CPUに設定されたマスターCPU情報とを比較
し、比較結果が一致する場合に転送された前記ベクトル
処理命令に基づく命令発行を前記ベクトル処理手段に対
して行ない、一致しない場合に前記ベクトル処理命令の
無効化を行なうことを特徴とする。
【0024】請求項11の本発明では、前記マスターC
PUとスレーブCPUにおいて、転送された前記ベクト
ル処理命令に含まれる前記発行元CPU情報と、自CP
Uに設定されたマスターCPU情報とを比較し、比較結
果が一致の場合、前記ベクトル処理命令を命令スタック
に格納し、比較結果が不一致の場合、前記前記ベクトル
処理命令を無効化し、前記ベクトル処理手段のリソース
状態に基づいて、前記命令スタックに格納された前記ベ
クトル処理命令に基づく命令発行を前記ベクトル処理手
段に対して行なうことを特徴とする。
【0025】請求項12の本発明では、前記マスターC
PUとスレーブCPUにおいて、命令スタックに格納さ
れた前記ベクトル処理命令に含まれる前記発行元CPU
情報と、自CPUに設定されたマスターCPU情報とを
比較し、比較結果が一致の場合、前記ベクトル処理命令
に基づく命令発行を前記ベクトル処理手段に対して行な
い、比較結果が不一致の場合、前記ベクトル処理命令に
基づく命令発行を抑止し前記命令スタックの該当エリア
を解放することを特徴とする。
【0026】請求項13の本発明では、自CPUがマス
ターCPUかスレーブCPUかを判断し 自CPUがス
レーブCPUである場合に、自CPUの前記スカラ処理
手段の動作を停止させることを特徴とする。
【0027】請求項14の本発明では、主記憶メモリを
共有する複数のCPUを備え、各CPUがスカラ処理手
段とベクトル処理手段を有してなる共有メモリ型ベクト
ル処理システムの前記CPUに、スカラ処理を実行させ
る共に、前記CPUをベクトル処理命令を他のCPUに
対して発行するマスターCPUと、前記マスターCPU
から転送されてきたベクトル処理命令を受け取ってマス
ターCPU内のベクトル処理手段と同期して多重ベクト
ルパイプラインとして動作するスレーブCPUとに分け
て設定する処理と 前記マスターCPUにおいて実行さ
れ、発行元のCPUを識別する発行元CPU情報を付加
した前記ベクトル処理命令を発行し、自CPUを含む全
てのCPUに対して転送する処理と 前記マスターCP
UとスレーブCPUとにおいて実行され、転送された前
記ベクトル処理命令に含まれる前記発行元CPU情報と
自CPUに設定されたマスターCPU情報とを比較する
処理と、比較結果が一致する場合に転送された前記ベク
トル処理命令に基づく命令発行を前記ベクトル処理手段
に対して行ない、一致しない場合に前記ベクトル処理命
令の無効化を行なう処理とを実行させるためのプログラ
ムを格納した記憶媒体であることを特徴とする。
【0028】請求項15の本発明では、前記CPUに、
転送された前記ベクトル処理命令に含まれる前記発行元
CPU情報と、自CPUに設定されたマスターCPU情
報とを比較する処理と、比較結果が一致の場合、前記ベ
クトル処理命令を命令スタックに格納し、比較結果が不
一致の場合、前記前記ベクトル処理命令を無効化する処
理と、前記ベクトル処理手段のリソース状態に基づい
て、前記命令スタックに格納された前記ベクトル処理命
令に基づく命令発行を前記ベクトル処理手段に対して行
なう処理とを実行させるためのプログラムを格納したこ
とを特徴とする。
【0029】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は、本発明の第
1の実施の形態に係るベクトル処理システム全体の構成
図である。
【0030】本実施の形態に係るベクトル処理システム
は、複数のCPU10a〜10nを備え、これらのCP
U10a〜10nが単一の主記憶装置20を共有する共
有メモリ型並列処理システムを構成している。各CPU
10a〜10nは、ベクトルリクエストバス30を介し
て互いに接続され、相互にベクトル処理に関するリクエ
ストやリプライの送受信を行なうことができる。
【0031】上記各CPU10a〜10nの詳細な構成
を図2に基づいて説明する。
【0032】CPU10a〜10nは、1つのスカラ処
理部11、メモリアクセス命令制御部12、ベクトル処
理命令制御部13、複数のベクトル処理部14a〜14
n、そしてメモリアクセスネットワーク部15から構成
されている。
【0033】スカラ処理部11から外部に発行される外
部処理命令「EX−RQ」は、メモリアクセス制御部1
2を通して、メモリアクセスネットワーク部15経由で
主記憶装置20へと転送されるか、ベクトルリクエスト
バス30を経由して全てのCPU10a〜10nのベク
トル処理命令制御部13へと送られ、ベクトル処理部1
4a〜14nへと発行される。
【0034】ここで、図3は、ベクトル処理命令制御部
13の詳細な構成を示すブロック図である。
【0035】ベクトル処理命令制御部13は、2つのレ
ジスタ42、43と、それらのレジスタ42、43の内
容の比較を行なう比較器45と、ベクトルリクエストバ
ス30経由で転送されてきたベクトル処理命令の内容を
分離する命令発行元情報抽出部41により得られたベク
トル処理命令の発行元情報と一方のレジスタ42の内容
を比較するための比較器44、命令無効化処理部46、
命令スタック47、リソース管理/命令発行処理部48
を有している。
【0036】命令発行元情報抽出部41から得られたベ
クトル処理命令と比較器44の出力は、無効化処理部4
6に入力された後に、命令スタック47に格納される。
命令スタック47に格納されたベクトル処理命令は、ベ
クトル処理部14a〜14nからのリソース情報等と共
に、リソース管理/命令発行処理部48に入力されて、
ベクトル処理部14a〜14nに対して命令発行が行な
われる。
【0037】次いで、上記のように構成される第1の実
施の形態によるベクトル処理システムの動作について説
明する。
【0038】図2において、スカラ処理部11では命令
の解読を行ないスカラ処理命令の実行処理を行なう。こ
こで、主記憶装置20へのアクセス命令やベクトル処理
命令などといった、スカラ処理部11では実行処理でき
ない命令が出現した場合、スカラ処理部11はこれらの
命令を外部処理命令「EX−RQ」としてメモリアクセ
ス命令制御部12へと転送する。
【0039】メモリアクセス命令制御部12では、スカ
ラ処理部11から受け取った外部処理命令「EX−R
Q」を解読し、主記憶アクセス系の命令「M−RQ」で
あれば、そのままメモリアクセスネットワーク部15に
対して命令の発行を行なう。
【0040】一方、ベクトル処理命令であった場合に
は、これをベクトルリクエストバス30に送出すると共
に、自身のベクトル処理命令制御部13に対してもベク
トルリクエストバス30を経由して発行を行なう。
【0041】ベクトル処理命令制御部13では、メモリ
アクセス命令制御部12から送られてきた自CPUが発
行したベクトル処理命令と他のCPUからベクトルリク
エストバス30を経由して転送されてきたベクトル処理
命令とを受け取り、自CPU内のベクトル処理部14a
〜14nに対してそのリソース状態を管理しながら命令
を発行する。
【0042】メモリアクセスネットワーク部15は、メ
モリアクセス命令制御部12からの主記憶アクセス命令
「M−RQ」を受け取り、主記憶装置20に対して命令
を発行すると共に、主記憶装置20からの読み出しデー
タを受け取り、命令種別に応じてデータをスカラ処理部
11もしくはベクトル処理部14a〜14nに対して戻
す。
【0043】次で、図3と図4のフローチャートを参照
して、ベクトル処理命令制御部13の動作について述べ
る。
【0044】ベクトル処理命令制御部13に送られてき
たベクトル処理命令は、命令発行元情報抽出部41にて
命令を送出したCPUに関する情報とベクトル処理命令
本体とに分離される(ステップ401)。
【0045】ベクトル処理命令制御部13には、自CP
Uに対してマスターとして外部より設定されたCPUの
番号を記憶しているレジスタ42と、自CPU番号を記
憶しているレジスタ43とが備えられている。これら2
つのレジスタ42、43に対しては、システムの起動前
に初期化動作として上記番号をそれぞれ設定しておくも
のとする。
【0046】本実施の形態では、共有メモリ型並列処理
システムの各CPU10a〜10nをマスターCPUと
スレーブCPUとに分けて設定する。マスターCPUは
スカラ処理を実行すると共に、ベクトル処理命令を他の
CPUに対して発行することができる。これに対してス
レーブCPUは、マスターCPUから転送されてきたベ
クトル処理命令を受け取り、マスターCPU内のベクト
ル処理部14a〜14nと同期して多重ベクトルパイプ
ラインとして動作することになる。この時、スレーブC
PUのスカラ処理部11は休止状態として、そのベクト
ル処理部14a〜14nとベクトル処理命令制御部1
3、及びメモリアクセスネットワーク部15のみが有効
に機能することになる。
【0047】マスターCPU番号を格納したレジスタ4
2と自CPU番号を格納したレジスタ43の内容は、比
較器45で比較され(ステップ402)、不一致の場合
には、自CPUがスレーブCPUであると判断され、自
CPUのスカラ処理部11に対して動作を停止するよう
制御する(ステップ403)。
【0048】一方、ベクトルリクエストバス30を通し
て転送されたベクトル処理命令から命令発行元情報抽出
部41において取り出された命令発行元CPU番号と、
マスターCPU番号を格納しているレジスタ42の内容
とが、もう1つの比較器44で比較される(ステップ4
04)。この際の比較結果と、命令発行元情報抽出部4
1にて分離されたベクトル処理命令は、無効化処理部4
6に入力される(ステップ405)。
【0049】比較器44による比較結果が不一致となっ
ていた場合(ステップ406)、入力されたベクトル処
理命令はスレーブとして動作している自CPUのマスタ
ーCPUから発行されたベクトル処理命令ではないた
め、無効化処理部46にて無効化される(ステップ40
7)。具体的には、比較器44による比較結果に応じ
て、ベクトル処理命令に有効又は無効を示すフラグを付
し、無効化処理部46では、そのフラグによって有効な
ベクトル処理命令のみを命令スタック47に格納する。
無効なベクトル処理命令は命令スタック47に格納しな
い。
【0050】当然のことながら、自CPUがマスターC
PUとして動作しており、転送されてきたベクトル処理
命令が自CPUの発行した命令であれば、比較器44の
結果は一致を示すので無効化されることはない。
【0051】無効化処理部46で無効化されなかったベ
クトル処理命令は、自CPU内のベクトル処理部14a
〜14nで処理すべき命令であることから、命令スタッ
ク47に受付順に格納される(ステップ408)。無効
化されたベクトル処理命令は、命令スタック47に格納
されずに破棄される。
【0052】リソース管理/命令発行制御部48では、
自CPU内のベクトル処理部のリソース14a〜14n
を管理している。命令スタック47に格納された命令
は、このリソース管理/命令発行処理部48において優
先順位、ならびにベクトル処理部14a〜14nのリソ
ース状況に応じて、発行が可能な順に自CPUのベクト
ル処理部14a〜14nに対して命令発行が行なわれる
(ステップ409)。ここでは、命令スタック47への
格納順には従わずに命令の追い越し発行も可能である。
【0053】なお、各スレーブCPUにおけるベクトル
処理が終了した時点で、処理の終了がマスタCPUに通
知される。マスタCPUでは、全てのスレーブCPUか
らの終了通知を受け取ったことを確認した上で次のベク
トル処理命令の発行を行なうことになる。
【0054】以上により、マスターCPUに設定された
CPUと、このCPU番号をマスターCPU番号として
記憶している複数のCPUは、一体となって動作する多
重ベクトルパイプラインのプロセッサと見なすことがで
きるようになる。
【0055】この時、マスターCPUのスカラ処理部1
1だけが機能しており、スレーブCPUのスカラ処理部
11はベクトル処理命令制御部13からの制御信号「H
ALT」により機能が停止されている。
【0056】マスターCPUのスカラ処理部11から発
行されたベクトル処理命令は、ベクトルリクエストバス
30を通して自CPUを含めてスレーブCPUの各ベク
トル処理命令制御部13において有効と判断され、これ
ら複数のCPUにおけるベクトル処理部14a〜14n
において並列動作によって処理されることになる。
【0057】仮に、1つのCPUに1つのベクトル処理
部が存在する場合、主記憶装置20を共有しているCP
U数を32とすると、通常は「1スカラ処理部+1ベク
トル処理部」のCPUが32個存在するシステムとして
固定化されてしまうが、1つのマスターCPUに1つの
スレーブCPUを対応させた場合、「1スカラ処理部+
2ベクトル処理部」のCPUが16個存在するシステム
のように動作させることが可能となる。
【0058】また、マスターCPUとスレーブCPUの
設定内容により、「1スカラ処理部+1ベクトル処理
部」のCPUと「1スカラ処理部+4ベクトル処理部」
のCPUを1つのシステムの中に混在させるような構成
も取ることができる。すなわち、マスターCPUとスレ
ーブCPUの設定内容により、種々の構成を構築できる
ようになる。
【0059】次いで、第2の実施の形態に係るベクトル
処理システムについて説明する。
【0060】図5は、第2の実施の形態によるベクトル
処理システムのベクトル処理命令制御部13の構成を示
すブロック図である。ベクトル処理命令制御部13以外
の構成については、上述の第1の実施の形態と同様であ
る。
【0061】図5に示すベクトル処理命令制御部13で
は、マスターCPU番号を記憶しているレジスタ42a
と自CPU番号を記憶しているレジスタ43aを有して
おり、この2つのレジスタ42a、43aの内容を比較
する比較器44aの出力に基づいて自CPUのスカラ処
理部11の機能を停止させることについては、図3の構
成の場合と同じである。また、このベクトル処理命令制
御部13には、レジスタ42aのマスターCPU番号と
ベクトル処理命令に含まれる発行元CPU情報とを比較
する機能と、比較結果に基づいて命令発行を制御する機
能を有するリソース管理/命令発行制御部48aが備え
られている。
【0062】このベクトル処理命令制御部13の動作を
図6のフローチャートを参照して説明する。この構成例
では、図6に示すように、ベクトルリクエストバス30
を通って転送されてきたベクトル処理命令は、何も処理
をせずそのまま命令スタック47aに順番に格納される
(ステップ601)。従って、命令スタック47aに
は、ベクトル処理命令と共に、発行元CPU情報を格納
しておくレコードが設けられている。
【0063】また、マスターCPU番号を格納したレジ
スタ42aと自CPU番号を格納したレジスタ43aの
内容は、比較器45aで比較され(ステップ602)、
不一致の場合には、自CPUがスレーブCPUであると
判断され、自CPUのスカラ処理部11に対して動作を
停止するよう制御する(ステップ603)。
【0064】次で、リソース管理/命令発行制御部48
aでは、ベクトル処理部への命令発行を行なう際に、ベ
クトル処理命令に付随している発行元CPU情報と、マ
スターCPU番号を記憶しているレジスタ42aの内容
を比較することにより(ステップ604)、番号が不一
致である場合には不適切なベクトル処理命令の発行を抑
止すると共に、命令スタック47a中の該当エリアを解
放する(ステップ605)。すなわち、命令スタック4
7aに格納する前に無効化処理を行なうのではなく、実
際に命令発行を行なう際に無効化処理を行なうように構
成している。
【0065】また、番号が一致する場合には、第1の実
施の形態におけるリソース管理/命令発行制御部48と
同様に、命令スタック47aに格納された命令が、優先
順位、ならびにベクトル処理部14a〜14nのリソー
ス状況に応じて、発行が可能な順に自CPUのベクトル
処理部14a〜14nに対して命令発行が行なわれる
(ステップ606)。
【0066】上述した第1の実施の形態においては、ベ
クトル処理命令の命令発行元CPU番号を抽出する命令
発行元情報抽出部41、命令発行元CPU番号とマスタ
CPU番号を比較する比較器44及び比較結果によって
ベクトル処理命令の無効化を行なう無効化処理部46を
備えることで命令スタック47に無効なベクトル処理命
令を格納しない構成としたのに対して、この第2の実施
の形態では、送られた発行元CPU情報を含むベクトル
処理命令を全て命令スタック47aに格納し、リソース
管理命令発行処理部48aによる命令発行処理の段階
で、適切なベクトル処理命令のみを発行し、不適切なベ
クトル処理命令について命令スタック47aのエリアを
解放する構成としている。従って、第1の実施の形態と
第2の実施の形態とを比較した場合、ハードウェア量に
ついては第2に実施の形態の方が少なくて済み、命令ス
タックの記憶容量については第1の実施の形態の方が小
さくすることができる。
【0067】一方、よりスカラ性能を重視したシステム
構成として複数の独立したスカラ処理部から共有される
多重ベクトルパイプラインという構成も可能である。す
なわち、複数のプロセッサ中に存在するベクトルパイプ
ラインを全てまとめて1つの多重ベクトルパイプライン
と見なし、独立する各プロセッサのスカラ処理部から単
一のベクトルパイプラインを共有しているように動作す
るシステム構成である。
【0068】これを実現した第3の実施の形態に係るベ
クトル処理システムのベクトル処理命令制御部13の構
成を図7に示す。なお、ベクトル処理命令制御部13以
外の構成については、上述した第1の実施の形態と同一
であるので共通の符号を付して説明を省略する。
【0069】第3の実施の形態に係るベクトル処理シス
テムにおいて、ベクトル処理命令制御部13は、命令発
行元検出部61と、各CPU毎に設けられた命令スタッ
ク63a〜63nと、命令スタック63a〜63nに設
定された優先順位に基づいて発行順の調停を行なう調停
部62と、リソース管理/命令発行処理部64とで構成
される。
【0070】以下、本実施の形態によるベクトル処理命
令制御部13の動作を図8のフローチャートを参照して
説明する。
【0071】ベクトルリクエストバス30を通して転送
されてくるベクトル処理命令は、命令発行元検出部61
を経由して各CPU毎に設けられた命令スタック63a
〜63nに格納される。格納されたベクトル処理命令
は、調停部62による調停結果と各ベクトル処理部14
a〜12nからのリソース情報「V−RP」と共に、リ
ソース管理/命令発行制御部64に入力された後に各ベ
クトル処理部14a〜14nに対して発行される。
【0072】ここでは、ベクトルリクエストバス30を
通して転送されてきたベクトル処理命令は、命令発行元
検出部61で発行元のCPU番号が検査される(ステッ
プ801)。その後、ベクトル処理命令は、発行元CP
U毎に設けられた命令スタック63a〜63nに分かれ
て格納される(ステップ802)。
【0073】そして、何れかの命令スタック63a〜6
3nから命令を発行するかどうかを、優先順位によって
競合調停する調停部62により決定する(ステップ80
3)。調停部62は、例えばラウンドロビン方式によっ
て何れかの命令スタック63a〜63nから命令を発行
するかを決定する。この調停部62の出力と、各ベクト
ル処理部のリソース情報とを用いて、リソース管理/命
令発行制御部64で発行命令を決定する(ステップ80
4)。
【0074】この際、発行元CPUが同一のベクトル処
理命令については、命令スタックへの格納順序を越えて
追い越し発行することはできないが、発行元CPUが異
なっていればリソースの状況によって追い越し発行を行
なってもデータ競合は起こらないため問題にはならな
い。従って、各命令スタック間での格納順序について
は、特に記憶しておく必要はない。また、発行元CPU
が同一のベクトル処理命令に関しても、アクセスアドレ
スを比較することで同一アドレスに対するアクセスを回
避するための相応のリソース管理手段を準備すれば、追
い越し発行が可能である。
【0075】以上により、各CPUから発行されたベク
トル処理命令は全てのCPUのベクトル処理命令制御部
に転送され発行処理が行なわれることになる。この時ベ
クトル処理命令の発行元CPU別に管理されるため、各
CPUに存在するベクトル処理部は全CPUで統合され
た単一のベクトル処理部として、全CPUのスカラ処理
部から共有されているように動作することになる。
【0076】上述したベクトル処理システムは、ハード
ウェア的に実現することは勿論として、図2に示すよう
に、磁気ディスク、半導体メモリその他の記録媒体18
に記録された、上述した各機能を実現するための制御プ
ログラムによってソフトウェア的に実現することも可能
である。この制御プログラムは、記録媒体18からCP
Uに読み込まれ、CPUの動作を制御することにより、
上述したベクトル処理命令制御の機能を実現する。すな
わち、図4、図6及び図8に示される処理を実行する。
【0077】なお、本発明は上述した実施の形態に限定
されるものではなく、その技術思想の範囲内において様
々に変形して実施することができる。例えば、図1にお
けるシステム全体構成図において、各CPU10a〜1
0n間でベクトル処理命令を転送するためのベクトルリ
クエストバス30は、単一バスとして記述されている。
しかしながら、この転送手段は単一バスに限定されるも
のではなく、多重バスやクロスバスイッチなどあらゆる
接続手段によって実現できることは明らかである。
【0078】
【発明の効果】以上説明したように本発明のベクトル処
理システムとその制御方法によれば、以下に述べるよう
な効果が得られる。
【0079】第1に、マスタとなるプロセッサとスレー
ブとなるプロセッサとの割り当て方法を変更することに
より、スカラ処理部に付随するベクトルパイプライン数
を用途に応じて柔軟に変更できる構成としたので、ベク
トル化率やベクトル長の異なる様々なアプリケーション
に対して最適な多重ベクトルパイプライン構成を有する
ベクトル処理システムを提供することができる。
【0080】これは、各CPUから発行されるベクトル
処理命令を全てのCPUに転送するパスを設け、各CP
Uのベクトル処理命令制御手段で転送されてきたベクト
ル処理命令とその発行元CPU情報を読みとり、自CP
Uがスレーブ状態にある場合に記憶しているマスターC
PU番号と発行元CPU番号が一致した場合にだけ転送
されてきたベクトル処理命令を処理することができるた
めである。
【0081】これにより、並列処理システム中の各CP
Uの中からマスターCPUとスレーブCPUの組み合わ
せを変更することで、例えば、各CPUを全てマスター
CPUとして自CPUのベクトル処理命令を自CPUだ
けで処理する最もスカラスループット性能を重視した構
成から、1つのマスターCPUに対して残りの全てのC
PUを全てスレーブCPUとして動作される大規模でか
つベクトル長が極めて長い処理向きの構成まで、柔軟に
システムを変更できる。
【0082】第2に、前記第1の効果の延長線上にある
システム形態として、よりスカラ処理性能を重視したア
プリケーション向けに、複数のスカラ処理手段から共有
される単一のベクトル処理手段を有した共有メモリ型並
列処理システムを提供することができる。
【0083】これは、各CPUのベクトル処理命令制御
にCPU毎のベクトル処理命令スタックを準備し、各C
PU間で転送されてきたベクトル処理命令をその発行元
CPU毎に分類して命令スタックに格納して、各命令ス
タック内の命令の競合を調停しながら順次ベクトル処理
部に対してベクトル処理命令を発行することで、全CP
U中に存在するベクトル処理手段があたかも単一のベク
トル処理手段として全てのCPUから共有されているよ
うに動作することが出来るためである。
【0084】これにより、ベクトル処理命令の出現頻度
が極めて低いスカラスループット性能重視のアプリケー
ション分野に対しても、ベクトル処理リソースを有効利
用してより効率の良い処理が可能なシステムを提供する
ことができる。
【0085】第3に、スカラ処理手段とベクトル処理手
段とを1チップに集積化したLSIを開発することが可
能になり、開発工数やコストを軽減することができる。
【0086】これは、スカラ処理手段に対する多重ベク
トルパイプラインの構成を外部からの設定により柔軟に
変更できるようになったために、これまでは困難であっ
たスカラ処理手段とベクトル処理手段を同一のLSIに
集積化することが可能になり、その結果LSIの開発品
種数が削減できることによる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態に係るベクトル処
理システム全体の構成図である。
【図2】 上記第1の実施の形態に係るベクトル処理シ
ステムの各CPUの詳細な構成を示すブロック図であ
る。
【図3】 上記第1の実施の形態に係るベクトル処理シ
ステムのベクトル処理命令制御部の詳細を示すブロック
図である。
【図4】 上記第1の実施の形態に係るベクトル処理シ
ステムのベクトル処理命令制御部の動作を説明するフロ
ーチャートである。
【図5】 第2の実施の形態に係るベクトル処理システ
ムのベクトル処理命令制御部の構成を示すブロック図で
ある。
【図6】 上記第2の実施の形態に係るベクトル処理シ
ステムのベクトル処理命令制御部の動作を説明するフロ
ーチャートである。
【図7】 第3の実施の形態に係るベクトル処理システ
ムのベクトル処理命令制御部の構成を示すブロック図で
ある。
【図8】 上記第3の実施の形態に係るベクトル処理シ
ステムのベクトル処理命令制御部の動作を説明するフロ
ーチャートである。
【図9】 従来のベクトル処理装置におけるCPUを用
いた共有メモリ型並列処理システムの構成を示すブロッ
ク図である。
【図10】 図9に示すベクトル処理装置の各CPU0
の構成を示すブロック図である。
【符号の説明】
10a〜10n CPU 11 スカラ処理部 12 メモリアクセス命令制御部 13 ベクトル処理命令制御部 14a〜14n ベクトル処理部 15 メモリアクセスネットワーク部 20 主記憶装置 30 ベクトルリクエストバス 41 命令発行元情報抽出部 42,43、42a,43a レジスタ 44,45、44a 比較器 46 無効化処理部 47、47a 命令スタック 48、48a リソース管理命令発行処理部 61 命令発行元検出 62 調停部 63a〜63n 命令スタック 64 リソース管理/命令発行処理部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 17/16 G06F 15/16 - 15/177

Claims (17)

    (57)【特許請求の範囲】
  1. 【請求項1】 主記憶メモリを共有する複数のCPUを
    備え、各CPUがスカラ処理手段とベクトル処理手段を
    有してなる共有メモリ型ベクトル処理システムにおい
    て、 前記各CPU相互を、前記各CPUから生成するベクト
    ル処理命令を各CPUに転送するためのパスによって接
    続し、 前記各CPUは、 発行元のCPUを識別する発行元CPU情報を付加した
    ベクトル処理命令を発行し、前記パスを介して自CPU
    を含む全てのCPUに対して転送する発行手段と、 転送された前記ベクトル処理命令に含まれる前記発行元
    CPU情報と、自CPUに設定されたマスターCPU情
    報とを比較し、転送された前記ベクトル処理命令に対す
    る処理内容を決定するベクトル処理命令制御手段とを備
    えることを特徴とする共有メモリ型ベクトル処理システ
    ム。
  2. 【請求項2】 主記憶メモリを共有する複数のCPUを
    備え、各CPUがスカラ処理手段とベクトル処理手段を
    有してなる共有メモリ型ベクトル処理システムにおい
    て、 前記各CPU相互を、前記各CPUから生成するベクト
    ル処理命令を各CPUに転送するためのパスによって接
    続し、 前記各CPUを、スカラ処理を実行すると共に、ベクト
    ル処理命令を他のCPUに対して発行するマスターCP
    Uと、前記マスターCPUから転送されてきたベクトル
    処理命令を受け取り、マスターCPU内のベクトル処理
    手段と同期して多重ベクトルパイプラインとして動作す
    るスレーブCPUとに分けて設定し、 前記マスターCPUは、 発行元のCPUを識別する発行元CPU情報を付加した
    前記ベクトル処理命令を発行し、前記パスを介して自C
    PUを含む全てのCPUに対して転送する発行手段を備
    え、 前記マスターCPUとスレーブCPUは、 転送された前記ベクトル処理命令に含まれる前記発行元
    CPU情報と自CPUに設定されたマスターCPU情報
    とを比較し、一致する場合に転送された前記ベクトル処
    理命令に基づく命令発行を前記ベクトル処理手段に対し
    て行ない、一致しない場合に前記ベクトル処理命令の無
    効化を行なうベクトル処理命令制御手段を備えることを
    特徴とする共有メモリ型ベクトル処理システム。
  3. 【請求項3】 前記マスターCPUとスレーブCPUの
    前記ベクトル処理命令制御手段は、 転送された前記ベクトル処理命令に含まれる前記発行元
    CPU情報と、自CPUに設定されたマスターCPU情
    報とを比較する比較手段と、 転送された前記ベクトル処理命令を格納する命令スタッ
    クと、 前記比較手段による比較結果が一致の場合、前記ベクト
    ル処理命令を命令スタックに格納し、比較結果が不一致
    の場合、前記ベクトル処理命令を無効化する無効化処理
    手段と、 前記ベクトル処理手段のリソース状態に基づいて、前記
    命令スタックに格納された前記ベクトル処理命令に基づ
    く命令発行を前記ベクトル処理手段に対して行なう命令
    発行処理手段とを備えることを特徴とする請求項2に記
    載の共有メモリ型ベクトル処理システム。
  4. 【請求項4】 前記マスターCPUとスレーブCPUの
    前記ベクトル処理命令制御手段は、 転送された前記ベクトル処理命令を前記ベクトル処理命
    令自体と前記発行元CPU情報に分離して出力する抽出
    手段と、 分離された前記発行元CPU情報と、自CPUに設定さ
    れたマスターCPU情報とを比較する比較手段と、 前記比較手段による比較結果が一致の場合、前記抽出手
    段からの前記ベクトル処理命令を命令スタックに格納
    し、比較結果が不一致の場合、前記ベクトル処理命令を
    無効化する無効化処理手段と、 前記ベクトル処理手段のリソース状態に基づいて、前記
    命令スタックに格納された前記ベクトル処理命令に基づ
    く命令発行を前記ベクトル処理手段に対して行なう命令
    発行処理手段とを備えることを特徴とする請求項2に記
    載の共有メモリ型ベクトル処理システム。
  5. 【請求項5】 前記マスターCPUとスレーブCPUの
    前記ベクトル処理命令制御手段は、 転送された前記ベクトル処理命令を格納する命令スタッ
    クと、 前記命令スタックに格納された前記ベクトル処理命令に
    含まれる前記発行元CPU情報と、自CPUに設定され
    たマスターCPU情報とを比較し、比較結果が一致の場
    合、前記ベクトル処理命令に基づく命令発行を前記ベク
    トル処理手段に対して行ない、比較結果が不一致の場
    合、前記ベクトル処理命令に基づく命令発行を抑止し前
    記命令スタックの該当エリアを解放する命令発行処理手
    段とを備えることを特徴とする請求項2に記載の共有メ
    モリ型ベクトル処理システム。
  6. 【請求項6】 前記命令スタックには、前記発行元CP
    U情報を含んだ状態で前記ベクトル処理命令を格納する
    ことを特徴とする請求項5に記載の共有メモリ型ベクト
    ル処理システム。
  7. 【請求項7】 前記ベクトル処理命令制御手段は、自C
    PUがマスターCPUかスレーブCPUかを判断し、自
    CPUがスレーブCPUである場合に、自CPUの前記
    スカラ処理手段の動作を停止させる停止手段を備えるこ
    とを特徴とする請求項2乃至請求項6のいずれかに記載
    の共有メモリ型ベクトル処理システム。
  8. 【請求項8】 前記停止手段は、 自CPUに対するマスターCPUとして機能するCPU
    を示すマスターCPU情報と、自CPUのCPU情報を
    格納する格納手段と、 前記ベクトル処理命令が転送された際に、前記格納手段
    に格納されたマスターCPU情報と自CPU情報とを比
    較し、不一致の場合に、自CPUの前記スカラ処理手段
    の動作停止信号を出力する比較手段とで構成されること
    を特徴とする請求項7に記載の共有メモリ型ベクトル処
    理システム。
  9. 【請求項9】 主記憶メモリを共有する複数のCPUを
    備え、各CPUがスカラ処理手段とベクトル処理手段を
    有してなる共有メモリ型ベクトル処理システムの制御方
    法であって、 前記各CPUにおいて、 発行元のCPUを識別する発行元CPU情報を付加した
    ベクトル処理命令を発行し、相互に接続されたパスを介
    して自CPUを含む全てのCPUに対して転送し、 転送された前記ベクトル処理命令に含まれる前記発行元
    CPU情報と、自CPUに設定されたマスターCPU情
    報とを比較し、転送された前記ベクトル処理命令に対す
    る処理内容を決定することを特徴とする共有メモリ型ベ
    クトル処理システムの制御方法。
  10. 【請求項10】 主記憶メモリを共有する複数のCPU
    を備え、各CPUがスカラ処理手段とベクトル処理手段
    を有してなる共有メモリ型ベクトル処理システムの制御
    方法であって、 前記各CPUを、スカラ処理を実行すると共に、ベクト
    ル処理命令を他のCPUに対して発行するマスターCP
    Uと、前記マスターCPUから転送されてきたベクトル
    処理命令を受け取り、マスターCPU内のベクトル処理
    手段と同期して多重ベクトルパイプラインとして動作す
    るスレーブCPUとに分けて設定し、 前記マスターCPUにおいて、 発行元のCPUを識別する発行元CPU情報を付加した
    前記ベクトル処理命令を発行し、相互に接続されたパス
    を介して自CPUを含む全てのCPUに対して転送し、 前記マスターCPUとスレーブCPUにおいて、 転送された前記ベクトル処理命令に含まれる前記発行元
    CPU情報と自CPUに設定されたマスターCPU情報
    とを比較し、 比較結果が一致する場合に転送された前記ベクトル処理
    命令に基づく命令発行を前記ベクトル処理手段に対して
    行ない、一致しない場合に前記ベクトル処理命令の無効
    化を行なうことを特徴とする共有メモリ型ベクトル処理
    システムの制御方法。
  11. 【請求項11】 前記マスターCPUとスレーブCPU
    において、 転送された前記ベクトル処理命令に含まれる前記発行元
    CPU情報と、自CPUに設定されたマスターCPU情
    報とを比較し、 比較結果が一致の場合、前記ベクトル処理命令を命令ス
    タックに格納し、比較結果が不一致の場合、前記ベクト
    ル処理命令を無効化し、 前記ベクトル処理手段のリソース状態に基づいて、前記
    命令スタックに格納された前記ベクトル処理命令に基づ
    く命令発行を前記ベクトル処理手段に対して行なうこと
    を特徴とする請求項10に記載の共有メモリ型ベクトル
    処理システムの制御方法。
  12. 【請求項12】 前記マスターCPUとスレーブCPU
    において、 命令スタックに格納された前記ベクトル処理命令に含ま
    れる前記発行元CPU情報と、自CPUに設定されたマ
    スターCPU情報とを比較し、 比較結果が一致の場合、前記ベクトル処理命令に基づく
    命令発行を前記ベクトル処理手段に対して行ない、比較
    結果が不一致の場合、前記ベクトル処理命令に基づく命
    令発行を抑止し前記命令スタックの該当エリアを解放す
    ることを特徴とする請求項10に記載の共有メモリ型ベ
    クトル処理システムの制御方法。
  13. 【請求項13】 自CPUがマスターCPUかスレーブ
    CPUかを判断し、自CPUがスレーブCPUである場
    合に、自CPUの前記スカラ処理手段の動作を停止させ
    ることを特徴とする請求項10乃至請求項12のいずれ
    かに記載の共有メモリ型ベクトル処理システムの制御方
    法。
  14. 【請求項14】 主記憶メモリを共有する複数のCPU
    を備え、各CPUがスカラ処理手段とベクトル処理手段
    を有してなる共有メモリ型ベクトル処理システムの前記
    CPUに、 スカラ処理を実行させる共に、前記CPUをベクトル処
    理命令を他のCPUに対して発行するマスターCPU
    と、前記マスターCPUから転送されてきたベクトル処
    理命令を受け取ってマスターCPU内のベクトル処理手
    段と同期して多重ベクトルパイプラインとして動作する
    スレーブCPUとに分けて設定する処理と、 前記マスターCPUにおいて実行され、発行元のCPU
    を識別する発行元CPU情報を付加した前記ベクトル処
    理命令を発行し、自CPUを含む全てのCPUに対して
    転送する処理と、 前記マスターCPUとスレーブCPUとにおいて実行さ
    れ、転送された前記ベクトル処理命令に含まれる前記発
    行元CPU情報と自CPUに設定されたマスターCPU
    情報とを比較する処理と、 比較結果が一致する場合に転送された前記ベクトル処理
    命令に基づく命令発行を前記ベクトル処理手段に対して
    行ない、一致しない場合に前記ベクトル処理命令の無効
    化を行なう処理とを実行させるためのプログラムを格納
    した記憶媒体。
  15. 【請求項15】 前記CPUに、 転送された前記ベクトル処理命令に含まれる前記発行元
    CPU情報と、自CPUに設定されたマスターCPU情
    報とを比較する処理と、 比較結果が一致の場合、前記ベクトル処理命令を命令ス
    タックに格納し、比較結果が不一致の場合、前記ベクト
    ル処理命令を無効化する処理と、 前記ベクトル処理手段のリソース状態に基づいて、前記
    命令スタックに格納された前記ベクトル処理命令に基づ
    く命令発行を前記ベクトル処理手段に対して行なう処理
    とを実行させることを特徴とする請求項14に記載のプ
    ログラムを格納した記憶媒体。
  16. 【請求項16】 前記CPUに、 命令スタックに格納された前記ベクトル処理命令に含ま
    れる前記発行元CPU情報と、自CPUに設定されたマ
    スターCPU情報とを比較する処理と、 比較結果が一致の場合、前記ベクトル処理命令に基づく
    命令発行を前記ベクトル処理手段に対して行ない、比較
    結果が不一致の場合、前記ベクトル処理命令に基づく命
    令発行を抑止し前記命令スタックの該当エリアを解放す
    る処理とを実行させることを特徴とする請求項14に記
    載のプログラムを格納した記憶媒体。
  17. 【請求項17】 前記CPUに、 自CPUがスレーブCPUである場合に、自CPUの前
    記スカラ処理手段の動作を停止させる処理を実行させる
    ことを特徴とする請求項14乃至請求項16のいずれか
    に記載のプログラムを格納した記憶媒体。
JP37541098A 1998-12-15 1998-12-15 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体 Expired - Fee Related JP3344345B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP37541098A JP3344345B2 (ja) 1998-12-15 1998-12-15 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体
US09/459,565 US6782468B1 (en) 1998-12-15 1999-12-13 Shared memory type vector processing system, including a bus for transferring a vector processing instruction, and control method thereof
CA002292230A CA2292230A1 (en) 1998-12-15 1999-12-14 Shared memory type vector processing system and control method thereof
AU64508/99A AU765469B2 (en) 1998-12-15 1999-12-14 Shared memory type vector processing system and control method thereof
BR9915456-0A BR9915456A (pt) 1998-12-15 1999-12-15 Sistema de processamento de vetor tipo de memória compartilhada e método para compartilhá-la
EP99250439A EP1011052A3 (en) 1998-12-15 1999-12-15 Shared memory type vector processing system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP37541098A JP3344345B2 (ja) 1998-12-15 1998-12-15 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2002205719A Division JP3760995B2 (ja) 2002-07-15 2002-07-15 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体

Publications (2)

Publication Number Publication Date
JP2000181878A JP2000181878A (ja) 2000-06-30
JP3344345B2 true JP3344345B2 (ja) 2002-11-11

Family

ID=18505478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37541098A Expired - Fee Related JP3344345B2 (ja) 1998-12-15 1998-12-15 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体

Country Status (6)

Country Link
US (1) US6782468B1 (ja)
EP (1) EP1011052A3 (ja)
JP (1) JP3344345B2 (ja)
AU (1) AU765469B2 (ja)
BR (1) BR9915456A (ja)
CA (1) CA2292230A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3564445B2 (ja) * 2001-09-20 2004-09-08 松下電器産業株式会社 プロセッサ、コンパイル装置及びコンパイル方法
US7577816B2 (en) * 2003-08-18 2009-08-18 Cray Inc. Remote translation mechanism for a multinode system
US6877832B2 (en) * 2003-03-11 2005-04-12 Hewlett-Packard Development Company, L.P. Instruction architecture using two instruction stacks
US7543133B1 (en) * 2003-08-18 2009-06-02 Cray Inc. Latency tolerant distributed shared memory multiprocessor computer
US7366873B1 (en) 2003-08-18 2008-04-29 Cray, Inc. Indirectly addressed vector load-operate-store method and apparatus
US7334110B1 (en) 2003-08-18 2008-02-19 Cray Inc. Decoupled scalar/vector computer architecture system and method
US7743223B2 (en) * 2003-08-18 2010-06-22 Cray Inc. Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system
US7421565B1 (en) * 2003-08-18 2008-09-02 Cray Inc. Method and apparatus for indirectly addressed vector load-add -store across multi-processors
US7437521B1 (en) 2003-08-18 2008-10-14 Cray Inc. Multistream processing memory-and barrier-synchronization method and apparatus
US7735088B1 (en) 2003-08-18 2010-06-08 Cray Inc. Scheduling synchronization of programs running as streams on multiple processors
US7519771B1 (en) 2003-08-18 2009-04-14 Cray Inc. System and method for processing memory instructions using a forced order queue
US8307194B1 (en) 2003-08-18 2012-11-06 Cray Inc. Relaxed memory consistency model
US7937557B2 (en) * 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US7478769B1 (en) 2005-03-09 2009-01-20 Cray Inc. Method and apparatus for cooling electronic components
US7904695B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous power saving computer
US20070074008A1 (en) * 2005-09-28 2007-03-29 Donofrio David D Mixed mode floating-point pipeline with extended functions
US7904615B2 (en) 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
DE602007011841D1 (de) * 2006-02-16 2011-02-24 Vns Portfolio Llc Ausführung von Anweisungen direkt von der Eingabequelle aus
US7913069B2 (en) 2006-02-16 2011-03-22 Vns Portfolio Llc Processor and method for executing a program loop within an instruction word
EP1821211A3 (en) * 2006-02-16 2008-06-18 Technology Properties Limited Cooperative multitasking method in a multiprocessor system
WO2012052773A1 (en) * 2010-10-21 2012-04-26 Bluwireless Technology Limited Data processing systems
GB2484906A (en) * 2010-10-21 2012-05-02 Bluwireless Tech Ltd Data processing unit with scalar processor and vector processor array
US9285793B2 (en) 2010-10-21 2016-03-15 Bluewireless Technology Limited Data processing unit including a scalar processing unit and a heterogeneous processor unit
GB2484901A (en) * 2010-10-21 2012-05-02 Bluwireless Tech Ltd Data processing unit with scalar processor, vector processor array, parity and FFT accelerator units
GB2484902A (en) * 2010-10-21 2012-05-02 Bluwireless Tech Ltd Data processing system with a plurality of data processing units each with scalar processor, vector processor array, parity and FFT accelerator units
GB2484905B (en) * 2010-10-21 2014-07-16 Bluwireless Tech Ltd Data processing systems
GB2484907B (en) * 2010-10-21 2014-07-16 Bluwireless Tech Ltd Data processing systems
GB2484899A (en) * 2010-10-21 2012-05-02 Bluwireless Tech Ltd Data processing system with a plurality of data processing units and a task-based scheduling scheme
GB2484904A (en) * 2010-10-21 2012-05-02 Bluwireless Tech Ltd Data processing system with a plurality of data processing units and a task-based scheduling scheme
DE112011104770B4 (de) 2011-01-25 2022-08-25 Nxp Canada Inc. Apparat und Verfahren zum gemeinsamen Vektoreinheit Benutzen
EP2757468A1 (en) * 2013-01-22 2014-07-23 Siemens Aktiengesellschaft Apparatus and method for managing a software development and maintenance system
US10061511B2 (en) 2015-09-23 2018-08-28 Hanan Potash Computing device with frames/bins structure, mentor layer and plural operand processing
US10095641B2 (en) 2015-09-23 2018-10-09 Hanan Potash Processor with frames/bins structure in local high speed memory
US10140122B2 (en) 2015-09-23 2018-11-27 Hanan Potash Computer processor with operand/variable-mapped namespace
US10067878B2 (en) 2015-09-23 2018-09-04 Hanan Potash Processor with logical mentor
TWI588658B (zh) * 2015-10-20 2017-06-21 旺宏電子股份有限公司 I/o匯流排共用記憶體系統
US11093286B2 (en) * 2016-04-26 2021-08-17 Hanan Potash Computing device with resource manager and civilware tier
TWI684357B (zh) 2017-04-21 2020-02-01 美商時美媒體公司 用於藉由預測運動向量及/或快取重複運動向量的玩家輸入運動補償的系統及方法
CN110889081A (zh) * 2019-11-25 2020-03-17 国网河南省电力公司驻马店供电公司 一种新能源并网系统谐波谐振快速获取方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59106075A (ja) 1982-12-10 1984-06-19 Hitachi Ltd デ−タ処理システム
JPS6310263A (ja) 1986-07-02 1988-01-16 Hitachi Ltd ベクトル処理装置
US5010477A (en) * 1986-10-17 1991-04-23 Hitachi, Ltd. Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations
JP2900359B2 (ja) * 1986-10-30 1999-06-02 株式会社日立製作所 マルチプロセッサシステム
JPH06103494B2 (ja) 1986-11-18 1994-12-14 株式会社日立製作所 ベクトル処理装置の制御方式
JP2646113B2 (ja) 1988-07-23 1997-08-25 富士通株式会社 マシンチェック処理方法および装置
JP2658397B2 (ja) 1989-06-13 1997-09-30 日本電気株式会社 マルチプロセッサシステム
JPH0346078A (ja) 1989-07-13 1991-02-27 Fujitsu Ltd ベクトル処理システム
JPH0484256A (ja) 1990-07-26 1992-03-17 Fujitsu Ltd 使用権切換え制御方式
US5734921A (en) * 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5828894A (en) * 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5361367A (en) * 1991-06-10 1994-11-01 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Highly parallel reconfigurable computer architecture for robotic computation having plural processor cells each having right and left ensembles of plural processors
CA2073516A1 (en) * 1991-11-27 1993-05-28 Peter Michael Kogge Dynamic multi-mode parallel processor array architecture computer system
JP3502216B2 (ja) * 1995-07-13 2004-03-02 富士通株式会社 情報処理装置
US5737328A (en) * 1995-10-04 1998-04-07 Aironet Wireless Communications, Inc. Network communication system with information rerouting capabilities
US5822606A (en) * 1996-01-11 1998-10-13 Morton; Steven G. DSP having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word

Also Published As

Publication number Publication date
AU765469B2 (en) 2003-09-18
EP1011052A3 (en) 2007-01-03
CA2292230A1 (en) 2000-06-15
AU6450899A (en) 2000-06-22
BR9915456A (pt) 2001-08-07
JP2000181878A (ja) 2000-06-30
EP1011052A2 (en) 2000-06-21
US6782468B1 (en) 2004-08-24

Similar Documents

Publication Publication Date Title
JP3344345B2 (ja) 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体
US6029204A (en) Precise synchronization mechanism for SMP system buses using tagged snoop operations to avoid retries
US6971098B2 (en) Method and apparatus for managing transaction requests in a multi-node architecture
US7234004B2 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
US20030145136A1 (en) Method and apparatus for implementing a relaxed ordering model in a computer system
CN114756502A (zh) 片上原子事务引擎
JPH11175454A (ja) 自動直接メモリ・アクセス機能を備えたコンピュータ・システム
JP2000020490A (ja) 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
EP0908826A2 (en) Packet protocol and distributed burst engine
JPS6319904B2 (ja)
JP2002510079A (ja) メモリ・インタフェース間で読み書きの順序付けられた実行を強制する方法と装置
JPH11126196A (ja) データ転送方法およびそれに適した計算機システム
EP1412871B1 (en) Method and apparatus for transmitting packets within a symmetric multiprocessor system
US20150006825A9 (en) Method and Apparatus for Memory Write Performance Optimization in Architectures with Out-of-Order Read/Request-for-Ownership Response
US5204954A (en) Remote storage management mechanism and method
KR100543731B1 (ko) 다중 프로세서 시스템에서 마이크로프로세서 통신을 위한방법, 프로세싱 장치 및 데이터 프로세싱 시스템
US20150268985A1 (en) Low Latency Data Delivery
US8635384B2 (en) Managing data movement in a cell broadband engine processor
WO2007039933A1 (ja) 演算処理装置
JP3760995B2 (ja) 共有メモリ型ベクトル処理システムとその制御方法及びベクトル処理の制御プログラムを格納する記憶媒体
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
JP2780662B2 (ja) マルチプロセッサシステム
JP2002024007A (ja) プロセッサシステム
JP2830780B2 (ja) マルチプロセッサシステム
JPH0222757A (ja) マルチプロセッサのメモリシステム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070830

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080830

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080830

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090830

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090830

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100830

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees