JPS62114058A - ベクトル処理装置 - Google Patents

ベクトル処理装置

Info

Publication number
JPS62114058A
JPS62114058A JP60252798A JP25279885A JPS62114058A JP S62114058 A JPS62114058 A JP S62114058A JP 60252798 A JP60252798 A JP 60252798A JP 25279885 A JP25279885 A JP 25279885A JP S62114058 A JPS62114058 A JP S62114058A
Authority
JP
Japan
Prior art keywords
vector
instruction
processing
scalar
decoder
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
JP60252798A
Other languages
English (en)
Other versions
JPH0622035B2 (ja
Inventor
Tomoo Aoyama
青山 智夫
Yasuhiro Inagami
稲上 泰弘
Hiroshi Murayama
村山 ▲浩▼
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.)
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co Ltd
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 Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP60252798A priority Critical patent/JPH0622035B2/ja
Priority to DE19863638572 priority patent/DE3638572A1/de
Publication of JPS62114058A publication Critical patent/JPS62114058A/ja
Priority to US07/471,667 priority patent/US5073970A/en
Publication of JPH0622035B2 publication Critical patent/JPH0622035B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/8076Details on data register access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の利用分野] 本発明はスカラ。ベクトルの2つの処理部から構成され
るベクトル処理装置に関する。
〔発明の背景〕
ベクトル処理装置では、スカラおよびペクト・ルの2つ
の処理部から構成され、各々の処理部・でスカラ命令。
ベクトル命令が実行される。こ・の2系統の命令を実行
するには、現在2種類の・方式が提案されている。
第1はスカラ。ベクトル命令の混在形を単1のデコーダ
によって解読し、命令の実行を制御する方式である(例
えばCrtAY−1コンビ−。
−タ)。                  lf+
第2はスカラとベクトルの2種類の命令を2゜つのデコ
ーダで解読する方式である(日経工にクトロニクスA 
514 、159〜184頁(1985年4゜月15日
)。この方式によれば、2つの論理ユニ。
ヅトf命令がデコードされる。
第1の方式はスカラ命令とベクトル命令が混在している
ため、スカラ処訊とベクトル処理の順序性保証をはじめ
とする2種類の命令間の制御が容易に実現できる特徴が
ある。
第2の方式はスカラ命令とベクトル命令のデコード処理
部が分離されているので、2種類の・命令は独立に実行
でき、並列処理が容易となる・特徴がある。一方、スカ
ラ処理部。ベクトル処理部が分離されているため、スカ
ラ処理部に、トってベクトル処理部を起動する必要があ
る。こ・のベクトル処理部起動に際して、ベクトル処理
開始に必要な種々の情報は全てスカラ処理部力tセット
アツプする必要がある。このセットアラ。
プ処理によってベクトル計算開始までの準備時間が長く
なる傾向があり、ベクトル長の短い11t+1算ではベ
クトル処理装置固有の性能を発揮でき。
ない場合がある。
またこの方式では、ある有意な処理がペクト。
ル処理部で完了していることをスカラ処理部が任意のタ
イミングで知るための手段も必要にへ、る。
以上議論したように、第2の方式は第1の方式よりも処
理の並列度という点から見ると自由度が犬きく、より高
度の並列計算を実現するために有効な方法である。しか
し第1の方式に比べて有利な点を処理装置の性能に結び
つけるに。
は、ベクトル処理部の起動とスカラ処理部の同期制御に
十分な配慮を行わなければならない。゛〔発明の目的〕 本発明の目的はベクトル処理部の起動を高速化するベク
トル処理装置を提供することにある・。
〔発明の概要〕
本発明はベクトル命令をデコードするペクト・ル命令デ
コーダがベクトル命令列のデコードを・開始することに
よりセットされ、ベクトル命令(1列の終端のベクトル
命令のデコードによりリセ。
=)される表示手段を備え、この表示手段がリセット状
態にあれば、スカラ処理部からペクト。
ル処理部へベクトル命令列の処騨開始を指示する。1゜ 〔発明の実施例〕 まず本発明の理解を容易にするため、具体的実施例を説
明する前に本発明の詳細な説明を行う。
スカラ。ベクトル処理の性質を、時間と命令・ 5 ・ 処理の相関図によって表示すると第4図(a)、 (A
)のようになる。
第4図(α)では、スカラ命令群がスカラ処理部・のパ
イプライン制御によって逐次的に処理されていくことを
示す、第4図のデコードラインは・。
命令のデコードステージを連結した線分を示す。
同様に実行ラインは、命令の実行完了部分を連結した線
分で定義する。第4図停)図はベクトル命令の処理を示
す。ベクトル命令の実行ライン。
は最終ベクトル要素の処理ステージを連結した。
線分で定義する。ベクトル命令処理とスカラ命令処理の
相異は。
(1)  ベクトル処理においては先出の命令処理の。
完了が後出の命令処理の完了よりも前であるとは限らず
、             15(2)  ベクトル
処理の命令デコードラインと実行ラインがスカラ処理の
それよりも離れている。
点である。
上記の相異はベクトル処理を開始すること、およびベク
トル処理を制(財)することがスカラ処・ 4 ・ 埋と同じ概念によって行うことが困難であるこ・とを示
している。たとえばスカラ処理では前出の・命令の処理
結果を条件コードで知ることがtきる・。
このことは、スカラ処理の命令実行ラインが命令デコー
ドラインと時間的に離れていないため、壕。
た前出の命令実行が後出の命令実行よりも必ず先行する
というスカラ処理部論理動作による。従っ。
てベクトル処理の如き制御では、ベクトル処理の。
実行ラインが先出のベクトル命令の完了が後出。
のベクトル命令の完了よりも先行する保証はす1゜〈1
条件コードの設定という概念ではベクトル。
命令列の実行を制御し得ない。しかし、ペクト。
ル命令のデコードラインに注目すると、このう。
インはスカラ命令のデコード処理と同様の制御方法とな
っている。この2様の相異る性格がベークトル処理部の
命令処理を特徴づけている。
ここでベクトル命令列を、スカラ処理部によってベクト
ル処理部に対し起動情報を与えることにより、ベクトル
処理を行う方式について考察する。従来のベクトル処理
装置では、ベクトル処理部の状態を[ベクトル処理を行
っている・か否か」によって識別している。このような
状・態の区別を採用すると、複数のベクトル命令列・か
ら構成されるプログラムの処理の場合、成る・ベクトル
命令列処理中に他のベクトル命令列の・処理を開始させ
ようとする場合、ベクトル処理の並列実行を詳細に制御
する必要が生じる。即・ち、ベクトル処理部の状態を処
理対象となるシ個のベクトル命令ブロック対応に管理す
る必要がある。この制御は困難であり、ハードウェア1
゜量の大幅な増大を招く可能性が大である。
一方ベクトル処理部の状態をベクトル命令デ。
コードラインと実行ラインの2点で管理すると、。
ベクトル命令デコードラインはスカラ命令デコ。
−ドラインと同じ性質を持っているので、スカ1゜う処
理部で採用されて来た制(財)法を利用することができ
る。たとえば、ベク)y命令をデコードし、命令実行に
必要な資源(以下リソースという)を該命令処理に割当
てることができればベクトル命令を起動し、割当てるこ
とのできるリソースが無い場合ベクトル令のデコードを
・リソース空きまで中断させるような制(財)をバー・
ドウエアで行うことにする。するとベクトル処理のデコ
ードが完了した直後に、後続する他のベクトル処理のデ
コードを開始することが・できる。このため、ベクトル
命令列のデコード・が完了すれば、ベクトル命令列の実
行が完了し・ていない時であっても、他のベクトル命令
列の・デコー )’ヲ開始でき、かつリソースが空き次
第、当該ベクトル処理の実行を開始できる。こノcI制
(財)法では、ベクトル処理部の状態をベクトル。
命令デコードと実行完了の2点で管理を行うだ。
けで、ベクトル処理部が複数のベクトル命令列 −を並
列的に実行しているか否か等の複雑な制御を採用するこ
となく、自動的にベクトル処理部、の具備しているリソ
ースの数によって決定される並列処理を容易に実現でき
る。またこの制(財)を行うことによって必要となるノ
X−ドウエア量は、ベクトル長レジスタ(以下レングス
レジスタ)とアドレスレジスタのバッフ了と、リソ−・
 7 ・ ス内に上記2つの情報を保持するレジスタ群の・みとす
ることができる。この方式について以下に詳細に説明す
る。
2個のベクトル命令列を処理する場合で、第・1のベク
トル命令列がすでにベクトル処理部で処理中である場合
を考える。第1のベクトル命。
合判はn個のベクトル命令から構成されるとすると、ベ
クトル命令をデコードするのに要する時間は約ルマシン
サイクル程度である。一方当該ベクトル命令を実行する
のに必要となる時間、。
は、ベクトル処理部をtとすると、リソースか必要十分
に存在している場合でも%ル×tマシ。
ンサイクルとなる。一般にベクトル処理装置省リソース
は高々数個であるから、ルに比し小ちいことが多い。そ
れ故、1゜ ベクトル命令処理時間)ベクトル命令デコード時間 なる関係が成立する。このような条件で、実行中とは異
る他のベクトル命令列の実行要求がスカラ処理部から発
行されたとする。この場合、・ B ・ ベクトル処理部のデコード部は空いている確率・が高い
ので、スカラ処理部からのベクトル命令・列のデコード
を開始できる確率も高い。このデ・コード開始時、ベク
トル処理部のリソースは前のベクトル命令列の処理を実
行している。  5ベクトル処理では、ベクトル命令起
動と同時にベクトル長が当骸ベクトル処理用にベクトル
処理部に送られる。この時、起動されたペクト。
ル命令とは異る他のベクトル処理がベクトル処理部で実
行されていると、ベクトル長が2つΩ1゜ベクトル処理
で異る場合、ベクトル処理装置は。
動作不正を起す。
第4図で示したベクトル処理の性質は、ベク。
トル命令デコード時に、命令を実行するリソ二  スが
割当てられ、ベクトル命令に規定されている処理をその
リソースが行うということである。
この性質を利用して、ベクトル長を命令起動時に、ベク
トル長レジスタからリソースへ転写する方式を採用する
。この方式では、ベクトル長レジスタ上の値は、ベクト
ル命令起動時にだけ確定していれば、ベクトル処理装置
の動作を保証するのに必要十分マある。全く同様のこと
がアドレスレジスタにりいても成立する。   ・主記
憶からのベクトル命令読出がバンクコンフリクト等の要
因により中断された状態と、ベクトル命令列のデコード
が完了した状態を識別するため、ベクトル命令列の最後
にベクトル命令デコード完了をベクトル処理部に報告す
るベクトル命令を付加させる。当該命令は、他のベクト
ル命令列をベクトル処理部が受付可能とな11っだ状態
を生成する。
以上の如き制(財)法をベクトル処理装置で採用するこ
とにより、複数のベクトル命令列を連続してベクトル処
理装置で実行することが著し輩ハードウェア量の増大を
まねくことなく可能吟、。
なる。
第1図および第2図は本発明の一実施例を示す・ 第1図において、1は主記憶装置、2はスカラ命令読出
リクエスタ、5はスカラ命令デコーダ、4はベクトル命
令読出リクエスタ、5はベクトル命令デコーダ、6はベ
クトル処理部状態飴、7はベクトル長レジスタ、Bはア
ドレスレジスタ、9はベクトル状態管理回路、1oはベ
グトルレジスタ制御部、11および12はスイッチング
回路、15はベクトル演算器(並列動作可能な複数の加
算器、乗算器等を含んでよい)、14はベクトルレジス
タ%15はベクトルロードリクエスタ、16はベクトル
ストアリクエスタである。。
図面の簡約化のため、ベクトルレジスタは複数。
のベクトルレジスタを束ねて1ブロツクとしている。
ベクトル処理装置が起動されると、スカラ命令リクエス
タはバス20を介してスカラ命令を主起憶装fItlよ
り読出し、読出したスカラ命令をスカラ命令デコーダS
へ送る。スカラ命令デコーダでは命令を解読し、当該命
令実行指示をスカラ処理部のリソースにパス2嘔を通し
て送る。
スカラ命令読出リクエスタ2.スカラ命令デコーダ5お
よびスカラ処理部のリソース(図示せず)でスカラ処理
部を構成し、他がベクトル処。
埋部となる。スカラ命令デコーダ4がベクトル・命令列
処理開始指示命令(以下BXacutg Victor
 ・ProcesJPing : gxvp命令という
)をデコードする・と、バス22 、25を介してベク
トル処理部状態飴。
7は中のベクトル処理部のデコーダの状態を示。
すビット(以下Wビy)という)を調べる。こ。
こでWビットは処理装置の起動時にリセットさ。
れ、ベクトル命令をデコードしている時セットされ、ベ
クトル命令列の終端を示す命令をベクトル命令デコーダ
5が解読した時にリセットされるものとする。またベク
トル命令の読出が主記憶装置1のバンクコンフリクト等
で中断され、ベクトル命令デコーダ5の処理がアイドリ
ンクしている時も、ベクトル命令をデコードしてい。
るものとみなし、Wビットはリセットしない。15Wビ
ツトがリセットされている時、スカラ命。
命デコーダ4は、バス24を介してベクトル命令゛読出
リクエスタ4を起動する。次にBXVP命・令のオペラ
ンドに示されているベクトル命令・列の先頭アドレスを
パス24を通してベクトル命。
・ 12・ 令読出リクエスタ4へ送信する。
ベクトル命令読出リクエスタ4は、指示され・た主記憶
装置1のアドレスから、ベクトル命令をパルス25経由
fベクトル命令デコーダ5へ送出する。ベクトル命令デ
コーダ5はベクトル命。
令デコード処理を開始すると同時にベクトル処・埋部伏
態語6のWビットをセットする。スカラ。
命令デコーダは、パス2Sを介してWビットがセ、ヅト
されたことを知り、EXVP命令の完了と1−31後続
するスカラ命令のデコードを開始する。1゜Wビットが
セットされている場合、スカラ命令デコーダ4はWビッ
トがリセットされるまで、。
Exvp処理継続となる。ベクトル命令には分岐がなく
命令列が有限なので、プログラムが正常な場合はWビッ
トは必ずリセットされる。プログラム異常でベクトル命
令列の終端を示す命令が存在しない場合、ベクトル命令
読出リクエスタ4はベクトル命令列に続く主記憶上の番
地を読み出し、ベクトル命令デコーダ5に送る。従って
ベクトル命令デコーダはベクトル命令以外のデータを解
読することになり、処理装置は命−令例外を検出しプロ
グラムの処理は中断される・。
スカラ命令デコーダ5がベクトル−長をセクト・するた
めのスカラ命令又はアドレスレジスタに値をセットする
ためのスカラ命令(以下上記の。
2つの命令を総称してセットアツプ命令という、)を解
読した場合、パス26 、27を通12て、それぞれベ
クトル長レジスタ7、アドレスレジスタ8゜に値をセッ
トする。このセツティングはEXVP。
命令に先行して行われるものとする。    1゜次に
ベクトル状態管理口jiil!9の動作を第2図を用い
て説明する。EXVP命令の処理が完了す。
る際、スカラ命令デコーダ5はパス28上にコマ。
ンド信号を送出する。この信号は第2シ1のレジ。
スタ50 、51のセット信号として作用し、 EXV
P、。
実行後のベクトル長、アドレスレジスタの値をレジスタ
50 、51に保持させる。従ってgXVP命令完了後
、スカラ処理部は起動したベクトル命令列の次のベクト
ル命令列実行に必要なセットアツプ処理を開始すること
ができる。
起動されたベクトル処理部において、ペクト・ル命令は
、ベクトル命令デコーダ5からパス29、レジスタ57
を通してリソース割付は回路52に送られる。リソース
割付は回路52では、命令のオ・ペレーシ望ンコードを
変換してベクトル命令実・行に必要なリソース番号を生
成する。ここでベクトル処理装置では各リソースは一義
的に番号。
付けられているものとする。生成したリソース・番号は
パス60上に送出される。
各リソースに対応して、リソースの状態を示1すラッチ
55をベクトル状態管理回路9内に設置し、ラッチの値
が1′の時対応するリソースがべ。
クトル処理を行っている状態に対応させ、ラツ、チの値
が°0′の時リソースが処理待ち状態である。
ことに対応させる。パス60上に送出されたリソース番
号はリソース起動回路54に送られると同時にセレクタ
55に作用し、ベクトル命令実行に必要なリソースの状
態を選定し、パス61を通して選定結果をリソース起動
回路54に送る。一方ベクトル命令の実行に必要なリソ
ースの起動に・ 15・ 必要なオーダ情報は、生成回路56によって生成。
され、リソース起動回路54に送られる。   。
リソース起動回路54において、リソースの状・態が処
理待ちである場合、パス62を介して対応・するラッチ
55を1′にセットする。この時リンー5ス割付は回路
52で決定されたリソース番号によ・って対応するラッ
チのみがセットされる。同時・にパス65を介して選択
されたリソースヘリソー・ス起動信号が、パス64を介
してベクトルデータ・夕制御部10へ制御情報が、パス
65 、66を介して8.。
ベクトル長とアドレス情報が各リソースに送出。
される。ただしアドレス情報はリソースがべ久トル演算
器の場合送出値を保証しない。
割付けられたリソースの状態が処理中の場合6、リソー
ス起動回路54からベクトル命令読出抑場、信号がパス
50上に送出される。この抑止信号に。
よって、ベクトル命令読出し、デコード処理が中断され
る。これらの中断処理は、パス67を介してリソースの
処理の終了報告がラッチ55に行われ、ベクトル状態管
理回路9によって、中断、16゜ 処理解除が行われるまで継続する。レジスタ57・は毎
マシンサイクルソースの状態を調べる処理・を行うため
に設置されている。
次にベクトル命令処理動作を第1図を用いて・説明する
。ベクトル状態管理回路9によって、−。
リソースが起動されると同時に、ベクトル長がパス65
上に送出される。リソースがメモリ・1ルクエスタの場
合、このベクトル長はメモリ・す・クエスタ内のレジス
タ18にセットされ、当該り。
クエスタの処理中ベクトル長がレジスタ18上に1゜保
持される。メモリリクエスタ15は与えられた。
主配憶のアドレスからベクトル長のベクトル要素の読出
しを行う。リソースがベクトル演算器15の場合、ベク
トル長はベクトルレジスタ制御部10内のレジスタ19
にセットされる。ベクトルレジスタ制御部10はスイッ
チング回路11 、12に指示を与え、ベクトル演算器
15へ演算に必要なオペランドを送出しかつ結果をベク
トルレジスタ14へ書込むデータバスを生成する。同時
にベクトルデータの最終要素をレジスタ19上のべりト
ル長データを用いて識別する。即ちベクトル・レジスタ
はベクトル長という属性を有する。べ゛クトル長データ
と同様にアドレスデータもバス′66を経由して、メモ
リ・リクエスタ内のレジメ・り17へ転写される。
以上の如きベクトル長、アドレスレジスタに・関する制
御を行うことにより、EXVP命令によ・って起動され
るベクトル命令列の処理動作の正−画性が保証される。
第1図、第2図では図面の・簡約化のため、アドレスレ
ジスタ1個、ペクト。
ル演算器1個、メモリ・リクエスタ2個の構成のベクト
ル処理部としたが、レジスタ、リソ−。
スを複数具備した場合も同様の処理方法で制御。
可能である。ただしベクトルレジスタに関して3、異ッ
たベクトル長のレジスタ間でチェイニング動作を行うよ
うなコードを実行した場合、処理動作の正当性の保証は
プログラマが負わなければならない。
本発明によれば、コンパライラの最適化機能により、複
数のI)0ループにまたがる処理の高速化、行列計算等
に出現する多重ループ処理を”従来のベクトル処理装置
で行う以上に高速処理。
することが可能になる。たとえば2つのDo/L/−プ
1 1)OioD I == 1 、 N A山= B (1) + C(Il loo C0NTINUE I)0200 I = 1. M X (I)= Y (I)誉Z (I1200 CON
’l’INUElt1 の如き処理は従来次のようにオブジェクトコ−、ドに紫
換され、第5図(C1のタイムチャートのよ。
うに処理されていた。
8aaerxr oh、J−act :8atup 1
nztnbatioy for 1oop ’100’
      、。
EXVP Vector object = ’LAB
EL 1’5etup 1nstructions f
or LOOP ’200’EXVP Vector 
ohJact = ’LABEL 2’Vector 
offset : 、19゜ LABEL 1 : Victor 1)xad VR
,04−’B’Vaotor 1oad VR14−’
C’VgctorAddVR2+−VRO+VR1・V
ector Storm VR2−* A’Vecto
r Proomying ENDLABEL 2 : 
 Vaotor Dad  V)t 04− ’Z’V
ector 1pad VR14−’Y’Vgctor
PJILLttiptyVR,2←VBo*VFL1゜
Vactor 8tora VR2→’X’Vecto
r Procazzig END          
1゜本発明のベクトル処理装置によれば、ペクト。
ル命令のデコード処理が完了すれば1次のべり。
トル命令のデコードを開始できるから0時点ま。
でDO’200″の処理を早めることができる。即ち第
5図(alの点線の如きタイムチャートとなる。
ここでベクトル命令列におけるベクトルレジスタ番号に
ついて考察する。ベクトル命令のオペランドに記載され
ているベクトルレジスタ番号はチェイニング動作を指示
するための一時的な記憶位置と複数のDoループにまた
がって保・ 20・ 持すべき配列等の格納領域を意味している。この2つの
異る性格はプログラム、コンパイラでは識別することが
可能である。従ってコンバイ・うは複数のDOループで
2種類のベクトルレジスタ番号の使用法を利用し、ベク
トル処理装置のリソースを最大限に使用できるように、
ベク・トルレジスタ番号の変換を行う必要がある。たと
えば前記のベクトル・オブジェクトコードを次のように
変換することにより。
Vector object :          
      10LABEI、1 : Ve、tor 
l1iad VRO+ ’B’Vaator 1oad
 VR1←’C’Vactor Add VR24−V
RO−1−VRIVector Storm VR2−
* ’A’Vector Procaizirby E
ND       、5hAngr、 2 : Vec
tor 1pad VR54−’7.’Vector 
Bad、 VRa 、′Y’Vector Mtbti
ipty VRs ←VRS * VR4Vector
 Storm VR5−+’X’Vaotor Pra
oazzinp END第5図V)のようなタイムチャ
ートの処理とする・ことができる。第5図停)ではベク
トル命令のデ・コード処理はIJO’100’ 、 ’
200’ の2つのループ。
にまたがってとぎれることなく行われ、ペクト。
屑処理装置のリソース数に対応するだけの並列7処理動
作が自動的に達成されている。
以上の処理動作は多重ルー・ブ表現の行列計算。
の場合に特に有効に働く。たとえば、 DOtoo  J=t 、N DO100I−J、N A (I、Jl 、rl (I、J)→−C(I 、J
 )1oo C0NTINUE。
で示される下三角行列間の演算では、従来のベクトル処
理装置ではベクトル長が1からN−iで。
変化し、短ベクトル長の場合にベクトル処理部。
置の性能が著しい低下を起し、行列計算全体と5してベ
クトル処理装置の効果が期待できない種類の計算となる
。このようなタイプの演算も本発明のベクトル処理装置
によれば、内側のDO。
ループのベクトル処理をベクトルレジスタ番号の変換操
作を工夫することにより、連続して行1゜うことが可能
となる。以下にベクトルレジスタ。
番号賢換操作結果の一例を示す。
8calJLr obtect : ’N’ 51La
n/rum Judgement       ・if
 N = even than Pto LABEL 
OI、ABFJ、口: Fhtup 1ytruoti
oy for ’J=2 、4 、 ・・・。
gxvp Vector object = ’LAB
EL 2 ’  。
5etup 1ytruotioy ft5r ’J=
5 、5 、、−0゜EXVP Vactorohim
ct = ’LABEL 5 ’  、。
BCT LABF3LO Veotor ohiaat : LABEL 1  :  ・Vaator Qad  
VRQ+’C:’(J= 1 )Vmotor 、/r
ad vFLl 4−’B’ (J = 1 )Vmo
tor Add VR24−VRO+ Vf’L IV
aator8toraVfL2.’A’(J=1)  
”’Vaator Processing END  
     ’LABEL2:VgCt0r#1VR5←
’C(J=2rc)  ’’Jgctor tDad 
VR4←B(J=2n)  ・Vector Add 
VR54−VR5+ Vft 4   。
Vactor8toreVR5→’A’(J=2%) 
 2ti、25゜ Vector ProoazzirLtENDIjAB
EL5 : VaatorBatlVfLo←’C’(
J=2n+1)  ・VaatorlpadVFL1←
罪(J=2n+1)’Vgator Ac/d VR2
4−VRO+ VFL IVector Storm 
VR2−+’A’ (J=2 n+1 ) 5Vect
or Processing END 。
以上のようなベクトルレジスタ番号変換操作機能を持っ
たコンパイラと、本発明のベクトル処理装置を組合せる
ことにより、行列計算固有。
の並列性を最大限に生かした処理が可能になる。。
〔発明の効果〕
本発明によれば、前のベクトル命令列のデコ、−ド処理
が完了すれば、次のベクトル命令列の。
処理を開始できるので、ベクトル処理部の起動。
を高速化することができる。        15
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図。 第2図は第1図のベクトル状態管理回路のブロック図、
第5図および第4図は本発明を説明するためのタイムチ
ャートである。 ・24 ・ 1・・・主記憶装置、2・・・スカラ命令読出すクエ。 スタ、5・・・スカラ命令デコーダ、4・・・ペクト!
命令読出リクエスタ、5・・・ベクトル命令デコーダ、
6・・・ベクトル処理部状態語%7・・・ペクト〃長レ
ジスタ、8・・・アドレスレジスタ、9・・・ベク)ト
ル状態管理回路、10・・・ベクトルレジスタ制御・部
、11 、12・・・スイッチング回路、15・・・ベ
クトル演算器、14・・・ベクトルレジスタ、t5.t
5・・・メモ・す・リクエスタ。 1−〜ゴ 代理人弁理士 小 川 勝 男 11、第 1 図 w−J 2 図 第3図 (α)      時間 へグトル匁り里終ろ 第 4 図 (α) (b)

Claims (1)

    【特許請求の範囲】
  1. スカラ命令デコーダを含むスカラ処理部およびベクトル
    命令デコーダを含むベクトル処理部から構成され、ベク
    トル命令列の処理開始を指示するスカラ命令によってベ
    クトル命令列の処理をベクトル処理部に指示するベクト
    ル処理装置において、上記ベクトル命令デコーダが上記
    ベクトル命令列のデコードを開始することに応じてセッ
    トされ、上記ベクトル命令列の終端のベクトル命令のデ
    コードに応じてリセットされる表示手段を備え、上記ス
    カラ処理部は上記表示手段がリセット状態時、上記スカ
    ラ命令によって上記ベクトル命令列の処理開始を指示す
    ることを特徴とするベクトル処理装置。
JP60252798A 1985-11-13 1985-11-13 ベクトル処理装置 Expired - Lifetime JPH0622035B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP60252798A JPH0622035B2 (ja) 1985-11-13 1985-11-13 ベクトル処理装置
DE19863638572 DE3638572A1 (de) 1985-11-13 1986-11-12 Vektorprozessor
US07/471,667 US5073970A (en) 1985-11-13 1990-01-24 Vector processing apparatus allowing succeeding vector instruction chain processing upon completion of decoding of a preceding vector instruction chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60252798A JPH0622035B2 (ja) 1985-11-13 1985-11-13 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPS62114058A true JPS62114058A (ja) 1987-05-25
JPH0622035B2 JPH0622035B2 (ja) 1994-03-23

Family

ID=17242385

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60252798A Expired - Lifetime JPH0622035B2 (ja) 1985-11-13 1985-11-13 ベクトル処理装置

Country Status (3)

Country Link
US (1) US5073970A (ja)
JP (1) JPH0622035B2 (ja)
DE (1) DE3638572A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2522600A (en) * 2013-02-28 2015-07-29 Canon Anelva Corp Sputtering device

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2810043B2 (ja) * 1987-11-13 1998-10-15 株式会社日立製作所 データ処理装置
US5179674A (en) * 1988-07-25 1993-01-12 Digital Equipment Corporation Method and apparatus for predicting valid performance of virtual-address to physical-address translations
EP0388043B1 (en) * 1989-02-28 1995-12-06 Canon Kabushiki Kaisha System for processing a quantized vector
JPH0314025A (ja) * 1989-06-13 1991-01-22 Nec Corp 命令実行制御方式
US5544337A (en) * 1989-12-29 1996-08-06 Cray Research, Inc. Vector processor having registers for control by vector resisters
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5623650A (en) * 1989-12-29 1997-04-22 Cray Research, Inc. Method of processing a sequence of conditional vector IF statements
US5255371A (en) * 1990-04-02 1993-10-19 Unisys Corporation Apparatus for interfacing a real-time communication link to an asynchronous digital computer system by utilizing grouped data transfer commands
US5598547A (en) * 1990-06-11 1997-01-28 Cray Research, Inc. Vector processor having functional unit paths of differing pipeline lengths
JP3237858B2 (ja) * 1991-01-30 2001-12-10 沖電気工業株式会社 演算装置
US5530881A (en) * 1991-06-06 1996-06-25 Hitachi, Ltd. Vector processing apparatus for processing different instruction set architectures corresponding to mingled-type programs and separate-type programs
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5742842A (en) * 1992-01-28 1998-04-21 Fujitsu Limited Data processing apparatus for executing a vector operation under control of a master processor
US5551039A (en) * 1992-02-03 1996-08-27 Thinking Machines Corporation Compiling a source code vector instruction by generating a subgrid loop for iteratively processing array elements by plural processing elements
US5423051A (en) * 1992-09-24 1995-06-06 International Business Machines Corporation Execution unit with an integrated vector operation capability
US5513366A (en) * 1994-09-28 1996-04-30 International Business Machines Corporation Method and system for dynamically reconfiguring a register file in a vector processor
US6058465A (en) * 1996-08-19 2000-05-02 Nguyen; Le Trong Single-instruction-multiple-data processing in a multimedia signal processor
US6813701B1 (en) * 1999-08-17 2004-11-02 Nec Electronics America, Inc. Method and apparatus for transferring vector data between memory and a register file
US6591361B1 (en) 1999-12-28 2003-07-08 International Business Machines Corporation Method and apparatus for converting data into different ordinal types
US6857061B1 (en) * 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6701424B1 (en) * 2000-04-07 2004-03-02 Nintendo Co., Ltd. Method and apparatus for efficient loading and storing of vectors
JP3855270B2 (ja) * 2003-05-29 2006-12-06 ソニー株式会社 アンテナ実装方法
US7457938B2 (en) * 2005-09-30 2008-11-25 Intel Corporation Staggered execution stack for vector processing
JP5699554B2 (ja) * 2010-11-11 2015-04-15 富士通株式会社 ベクトル処理回路、命令発行制御方法、及びプロセッサシステム
CN111651203B (zh) * 2016-04-26 2024-05-07 中科寒武纪科技股份有限公司 一种用于执行向量四则运算的装置和方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57106982A (en) * 1980-12-24 1982-07-03 Fujitsu Ltd Data processor
US4541046A (en) * 1981-03-25 1985-09-10 Hitachi, Ltd. Data processing system including scalar data processor and vector data processor
JPS57191703A (en) * 1981-05-20 1982-11-25 Fanuc Ltd Sequence controller
JPS5943446A (ja) * 1982-09-01 1984-03-10 Nec Corp マイクロコンピユ−タシステム
JPH0652530B2 (ja) * 1982-10-25 1994-07-06 株式会社日立製作所 ベクトル・プロセッサ
JPS60178580A (ja) * 1984-02-24 1985-09-12 Fujitsu Ltd 命令制御方式
US4739472A (en) * 1984-12-07 1988-04-19 Nec Corporation Information processing device capable of rapidly processing instructions of different groups
US4740893A (en) * 1985-08-07 1988-04-26 International Business Machines Corp. Method for reducing the time for switching between programs
US4722049A (en) * 1985-10-11 1988-01-26 Unisys Corporation Apparatus for out-of-order program execution

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2522600A (en) * 2013-02-28 2015-07-29 Canon Anelva Corp Sputtering device
GB2522600B (en) * 2013-02-28 2018-07-11 Canon Anelva Corp Sputtering Apparatus

Also Published As

Publication number Publication date
JPH0622035B2 (ja) 1994-03-23
US5073970A (en) 1991-12-17
DE3638572A1 (de) 1987-05-14
DE3638572C2 (ja) 1990-05-03

Similar Documents

Publication Publication Date Title
JPS62114058A (ja) ベクトル処理装置
CN114586004B (zh) 静默可重新配置数据处理器
US4626989A (en) Data processor with parallel-operating operation units
US5159686A (en) Multi-processor computer system having process-independent communication register addressing
US6971103B2 (en) Inter-thread communications using shared interrupt register
KR860001274B1 (ko) 병렬처리용 데이터 처리 시스템
EP0330836A2 (en) Method for multiprocessor system having self-allocating processors
JPS6239780B2 (ja)
JPS6215891B2 (ja)
JPH10105308A (ja) 情報伝送バス及び方法
JPS6224366A (ja) ベクトル処理装置
JPS60136870A (ja) ベクトル処理装置
JP2005509930A (ja) カスタムループアクセラレータ等で使用する記憶システム
JP4486754B2 (ja) Vliwプロセッサの圧縮されたプログラムを生成して実行する方法
EP0496407A2 (en) Parallel pipelined instruction processing system for very long instruction word
EP0169577B1 (en) Microcomputer
JPS6161416B2 (ja)
EP0465847B1 (en) Memory access control having commonly shared pipeline structure
JP3554211B2 (ja) マイクロプログラムを用いた命令制御装置および方法
EP0136218A2 (en) Multiple port pipelined processor
JPS59771A (ja) デ−タ処理装置における演算処理部選択制御方式
JP2544817B2 (ja) ベクトル処理装置及びベクトル処理方法
JPS5899857A (ja) パイプライン処理方式のアクセス処理装置
JPS5896346A (ja) 階層型演算方式
JPS6142298B2 (ja)