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

ベクトル処理装置

Info

Publication number
JPH01295366A
JPH01295366A JP12485688A JP12485688A JPH01295366A JP H01295366 A JPH01295366 A JP H01295366A JP 12485688 A JP12485688 A JP 12485688A JP 12485688 A JP12485688 A JP 12485688A JP H01295366 A JPH01295366 A JP H01295366A
Authority
JP
Japan
Prior art keywords
vector
processing
instruction
register
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.)
Pending
Application number
JP12485688A
Other languages
English (en)
Inventor
Tomoo Aoyama
青山 智夫
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 JP12485688A priority Critical patent/JPH01295366A/ja
Publication of JPH01295366A publication Critical patent/JPH01295366A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ベクトル処理装置に係り、特に、階層構造の
記憶装置を備え、階層間でのデータ転送をプログラムの
負担なく行うことを可能としたベクトル処理装置に関す
る。
〔従来の技術〕
計算機の利用において、近年大規模な技術計算に対する
需要が極めて大きくなっており、このような需要に応え
るため、ベクトル処理装置が開発されている。この種ベ
クトル処理装置の性能を決定する主要因は、メモリスル
ープットにあり、より高速のベクトル処理装置の設計に
は、多大の労力を、主記憶部を制御する論理部のために
さく必要があった。また、高いメモリスループットを実
現するためには、記憶部に高速の記憶素子を使用する必
要があり、このため、ベクトル処理装置の記憶部は、一
般の計算機に比較してコスト高となる傾向にある。この
ような記憶部のコスト高を回避するため、近年のベクト
ル処理装置は、階層構造を有する記憶部を備えて構成さ
れるようになってきている。この種階層構造の記憶部を
備えるベクトル処理装置に関する従来技術として、例え
ば、アイ イー イー イー、シー エッチ2216−
0 (IEEE、CH2216−0)、(1985)、
第301頁〜第309真に記載された技術が知られてい
る。
この種従来技術によるベクトル処理装置は、その記憶部
が主記憶部とローカルメモリとを含んで構成され、ベク
トルデータをベクトルレジスタにロードする場合、−旦
、主記憶部からローカルメモリへデータを転送する必要
があった。そして、このデータ転送は、プログラムによ
り規定されている。例えば、プログラムにより、 REAL  JN COMMON10NE/JN (780)REGFIL
E  ONE のように指定することによって、配列JNを主記憶部と
は異なった記憶部へ割付けることを規定する。
前述の方法は、ユーザにメモリ管理を行わせており、プ
ログラミングに多大の負担を強いることになる。一方、
汎用計算機または比較的低速のベクトル処理装置で実施
されているデマンドページング処理は、データ転送の制
御をハードウェアによって行うことにより前記の問題点
を解決している。しかし、現在の技術では、ページング
制御によって、十数GB/Sec以上のデータ転送速度
を実現することは困難である。
そして、数GFLOPS以上の処理性能を持つベクトル
処理装置に階層構造の記憶部を具備させ、記憶部を構成
する階層間のデータ転送を、可能な限り、プログラミン
グ上の負担なく行うことを可能としたベクトル処理装置
の開発が強く要望されている。
〔発明が解決しようとする課題〕
従来技術による階層構造の記憶部を備え、処理性能数が
数GFLOPSオーダのベクトル処理装置は、記憶階層
間のデータ転送をプログラムによって規定する必要があ
り、このため、プログラム内にデータ転送処理のための
命令を多数混在させなければならず、その解読が困難と
なり、プログラマに多大の負担を強いていたという問題
点を有していた。
本発明の目的は、前記従来技術の問題点を解決し、ベク
トル処理装置において、メモリスループットL低下させ
ることな(、ハードウェアによって、転送条件を検出し
、記憶階層間のデータ転送を行うことができるようにし
た、プログラムの負担を低減できるベクトル処理装置を
提供することにある。
〔課題を解決するための手段〕
本発明によれば、前記目的は、以下のような構成と機能
を備えることによって達成される。
(1)主記憶とローカルメモリとを含んで構成された階
層構造を有する記憶部。
(2)ベクトル処理を実行する処理部と、主記憶部から
ローカルメモリへ前もってデータを転送するブリフェッ
チ処理を実行する処理部とによって構成された命令処理
部。
(3)前記画処理部間に設けた同期制御機構。
(4)プログラムを解析して、プログラムの論理的区分
に、命令解読部によって処理可能なタグを付加するコン
パイラに設けた機能。
前記プログラムの論理的区分は、プログラムの制御が他
のルーチンへ渡されるとき、ベクトルロード命令によっ
てベクトルレジスタへ移されるベクトルデータ量がロー
カルメモリの容量を越える可能性のあるとき、または、
ベクトル処理でベクトルレジスタ上のデータを主記憶に
書込み、かつ、同データをベクトルロード命令により、
ベクトルレジスタに書込むときの位置である。プログラ
ムは、コンパイラがその論理的区分を識別することによ
って、n個の論理的区分に分離される。
(5)n個に区分されたプログラムを解析して、プリフ
ェッチ処理部に作用するコードを作成するコンパイラに
設けた機能。すなわち、ベクトルロ−ド命令以外のベク
トル命令を消去または無効命令化し、ベクトルロード命
令実行に必要なアドレスレジスタセットアツプ命令等を
残し、ベクトルロード処理に関係のない浮動小数点演算
命令等を消去または無効命令化する機能。
(6)前述のタグ位置に、ブリフェッチ処理を無条件に
実行してよいか否か、ベクトル処理部のベクトルストア
処理の完了を待つ必要があるか否かに を識別する情鮪加する機能。
この付加情報は、命令解読部により処理される。
(7)n個に区分されたプログラムを解析して、ベクト
ル処理部に作用するコードを作成するコンパイラに設け
た機能。
この変換作業は、従来のベクトルコード作成と同様であ
る。
(8)前述のタグ位置に、ブリフェッチ処理部の待ち状
態を解放するか否かを決定する命令を付加する機能。
この解放情報は、ベクトルストアの結果をベクトルロー
ドで読出しているか否かを調べることによって判定生成
される。
〔作用〕
従来技術によるベクトル処理装置は、ベクトル処理を規
定するベクトル命令及びスカラ処理を規定するスカラ命
令を処理している。ベクトル命令、特に、ベクトルロー
ド/ストア命令の主記憶参照方法を規定するセットアツ
プ処理を行う命令は、セットアツプ系命令と呼ばれ、ス
カラ命令の一種として分類される。ベクトルロード/ス
トア命令は、メモリリクエスタを作動させ、主記憶部と
ベクトルレジスタ間のデータ転送を制御するものであり
、主記憶部参照アドレスが命令オペランドに明示されて
いるものと、暗示的に指定されているものとに分けられ
る。暗示指定の命令をインデクス付ベクトルロード/ス
トア命令という。
本発明によるベクトル処理装置は、ベクトル処理論理部
で、ベクトルロード命令によって、ローカルメモリとベ
クトルレジスタ間のデータ転送を制御し、ベクトルスト
ア命令、インデクス付ベクトルロード/ストア命令によ
って、主記憶とベクトルレジスタ間のデータ転送を制御
している。ブリフェッチ処理論理部は、ベクトルロード
命令を処理し、主記憶とローカルメモリ間のデータ転送
を制御する。
セットアツプ系命令は、ベクトル処理論理部と、プリフ
ェッチ処理論理部の両方に作用する。
プログラムの論理的区分に付加されたタグ及びその他の
情報は、ベクトル処理論理部とプリフェッチ処理論理部
の命令解読部に作用し、画処理部の同期を行う。タグ及
び同期のための情報は、プログラム実行のための手段で
あるが、それ自身ではプログラムで規定されたデータ処
理に関与することはない。従って、以下これらの情報に
ついて、「命令」という名称は使用しない。
プログラムは、コンパイラによって、2種類のオブジェ
クトコード、すなわち、ベクトル処理論理部用のコード
とブリフェッチ処理論理部用のコードに変換される。こ
の2種類のオブジェクトコードは、O3によって1個の
ユーザジョブとして扱われ、2種類のオブジェクトコー
ドに対し1個の論理空間が与えられる。ユーザジョブに
対してCPU資源を割当てるタイミングとなった場合、
O8は、ブリフェッチ処理のオブジェクトコードの先頭
番地から処理を開始するように、ベクトル処理装置のス
カラ処理部に指示を与える。この指示は、前記スカラ処
理部内のプログラム状態語のN I A 領域を書替え
ることによって行われる。スカラ処理部は、スカラ処理
の他セットアツプ系命令処理によって、ベクトル処理論
理部、ブリフェッチ処理論理部内のアドレッシングのた
めのレジスタ類をセットアツプする。スカラ処理部は、
これらのセットアツプが夫々の処理論理部内で完了した
後、プリフェッチ処理論理部を起動し、次いでベクトル
処理論理部を起動する。画処理論理部は、夫々のオブジ
ェクトコード部の先頭位置にあるタグ情報によって、命
令解読を行うかアイドリングするかを決定し、それに従
って動作する。初め、プリフェッチ処理論理部は、必ず
命令解読処理に入り、ベクトル処理論理部は、アイドリ
ングするか否かをタグの情報によって決定する。
ブリフェッチ処理論理部でベクトルロード命令が検出さ
れると、主記憶部からローカルメモリ部へのデータの転
送が行われる。また、ブリフェッチ処理論理部でタグが
検出されるとリリース信号が生成され、該リリース信号
によって、ベクトル処理論理部とブリフェッチ処理論理
部との間の同期制御機構内のセマフォがカウントアツプ
される。
このセマフォは、ベクトル処理部がアイドリング処理か
ら命令解読処理に移行するとカウントダウンされる。
ブリフェッチ用オブジェクトコードのタグ位置において
、そのタグ情報が、次のブリフェッチ処理の無条件実行
可を示している場合、引続いてオブジェクトコードの次
の論理的区分の処理がブリフェッチ処理部により実行さ
れる。このとき、ブリフェッチ処理部内のアドレスレジ
スタのセットアツプは、スカラ処理部によって完了して
いなければならない。この保証は、コンパイラによって
おこなわれる。ブリフェッチ処理部内のアドレスレジス
タは、2面化されていてもよい。2重のハードウェアを
持たない場合、レジスタ番号を変えて、ブリフェッチ処
理で引用しているレジスタの内容を、スカラ処理のセッ
トアツプ処理で破壊しないように、ソフトウェアで保証
しておく。
ブリフェッチ用オブジェクトコードのタグ位置において
、そのタグ情報が、次のブリフェッチ処理のベクトル処
理待ちを示している場合、ブリフェッチ処理部は、アイ
ドリング状態となる。この状態を解除するため、ベクト
ル処理部は、オブジェクトコードの位置で、ブリフェッ
チ処理部の待ち解除指示が存在する場合、ベクトル処理
部側の命令解読部からブリフェッチ処理部側の命令解読
部に対し解除信号を送出する。前述のセマフォは、この
解除信号によっては動作しない。
ブリフェッチ処理のベクトル処理とは、ベクトルロード
対象のベクトルデータに対して因果関係がない場合、夫
々の処理部でオーバラップして実行される。
第2図はブリフェッチ処理とベクトル処理との実行状況
を説明する図であり、以下、これについて説明する。
第2図において、P F n (n =O+ 1 + 
2−−−−−−)はブリフェッチ処理の、また、VPn
 (n=o。
1・・−・・−・)はベクトル処理の実行を示している
S emaphoreと記して示した行の数値は、セマ
フォの内容値、すなわちカウント値を示しており、Δは
ブリフェッチ処理部及びベクトル処理部間の信号伝播時
間を示している。この信号伝播時間は、実際の時間に対
し長大に描かれている。
いま、第2図において、初めにブリフェッチ処理PFO
が実行され、この処理がタグ位置で完了するとセマフォ
の値が+1される。ベクトル処理部は、このセマフォの
値をテストし、この値が正値ならばベクトル命令解読を
実行する。ブリフェッチ処理PFOの完了後、タグの情
報がベクトル処理部からの解除信号待ちとなっていない
場合、ブリフェッチ処理PFIの処理が次のサイクルか
から開始される。同様にして、ブリフェッチ処理PF2
までの処理が実行され、該処理PF2の完了後のタグが
ベクトル処理待ちとなっていたとする。この場合、ブリ
フェッチ処理部は、前記のタグの情報により待ち状態に
移行する。ベクトル処理VPOが完了すると前述のブリ
フェッチ処理部の待ち状態は解除され、ブリフェッチ処
理部は、次のブリフェッチ処理PF3の処理を実行し、
ベクトル処理部は、ベクトル処理VPIの処理を実行す
る。この間、セマフォは、ブリフェッチ処理の完了で+
1され、ベクトル処理の開始で−1され、第2図に示す
ような値となる。
以上が、本発明によるベクトル処理装置の概略動作であ
り、本発明は、ブリフェッチ処理とベクトル処理動作の
パイプライン的な処理により、ベクトルロード処理をベ
クトル演算処理とオーバラップさせることが可能である
。オーバラップの度合は、従来技術によるベクトル処理
装置のチエイニング制御による命令実行ステージの重な
りからプログラムの論理的区分単位の重なりへ拡大され
たことになる。
ブリフェッチ処理は、ベクトル処理に比較して処理量が
少なく、実行時間も短いため、マルチジコブ実行時に、
複数ジョブのブリフェッチ処理が可能である。このため
、O3は、ブリフェッチ処理のためのアドレス管理を新
たに行う必要がある。
〔実施例〕
以下、本発明によるベクトル処理装置の一実施例を図面
により詳細に説明する。
本発明の一実施例において、ローカルメモリは、ベクト
ル処理部内のベクトルレジスタと同様な構造を有し、ベ
クトルレジスタに対応する領域のアクセス権がブリフェ
ッチ処理部で管理される。この領域は、ブリフェッチ処
理が完了したとき、「データ確定」となり、ベクトル処
理部からこの領域に対するデータ続出が行われ、ベクト
ルレジスタにデータが書込まれたとき「空きjとなる。
ブリフェッチ処理は、ベクトル処理に対し先行して行わ
れるため、ブリフェッチ処理部内でベクトルロード命令
を実行しようとした場合、主記憶部から読出したベクト
ルデータを書込むローカルメモリ上の領域が「データ確
定」となっている場合があり得る。このとき、ブリフェ
ッチ処理部内の命令解読部は、ベクトルロード命令の起
動を抑止する。この起動の抑止は、ベクトル処理部から
ローカルメモリの読出しが行われるまで解除されない。
本発明の実施例は、前述のように、ローカルメモリの領
域を、「データ確定」と「空きJの2状態で管理してい
るが、ベクトルレジスタのように書込み、読出しを同時
に行うようなチエイニング制御をサポートするように拡
張することも可能である。
第1図は本発明の一実施例によるベクトル処理装置の概
略構成を示すブロック図、第3図はブリフェッチ処理部
のブロック図、第4図、第5図はローカルメモリの状態
管理部のブロック図、第6図はベクトル処理部内のロー
カルメモリとベクトルレジスタ間のデータ転送を制御す
るデータ転送処理部のブロック図である。第1図、第3
図〜第6図において、1はブリフェッチ・デコーダ、2
はベクトル命令デコーダ、3はブリフェッチ処理用の命
令続出論理部、4はブリフェッチ処理用のベクトルアド
レス生成論理部、5はセマフォ、6はベクトル命令続出
論理部、7はベクトル処理用のアドレス生成論理部、8
はローカルメモリとベクトルレジスタ間のデータ転送処
理部、9はローカルメモリアクセス用のアドレステーブ
ル、10は記憶制御部、11は主記憶部、15はスイッ
チング論理部、16はローカルメモリ、17はローカル
メモリの状態管理部、■8はベクトルレジスタ、19は
ベクトルレジスタの状態管理部、112゜123.30
6,411は加算器、114はカウンタ、115,40
0は比較回路、202はプライオリティ回路、403は
エンコーダである。
第1図において、主記憶部11上の領域12〜14には
、夫々、ブリフェッチ処理用の命令列、ベクトル処理用
の命令列及びベクトルデータが格納されている。
第1図に示すベクトル処理装置は、初めにブリフェッチ
処理用の命令読出しを命令続出論理部3により実行する
。命令続出論理部3は、主記憶部IIから記憶制御部1
0を介して読出した命令をパス50を介して受取り、パ
ス51を経由してブリフェッチ・デコーダ1に送出する
。この動作において、パス50上にはフェッチアドレス
及びデータが転送され、パス51上にはデコーダ1がら
の指示及び命令読出論理部3がらのフェッチデータが転
送される。これらのパス50.51は、夫々複数の信号
線の集りであるが、第1図では図面の簡単化のため1本
の線で示されている。
ブリフェッチ・デコーダ1は、前述のブリフェッチデー
タをデコードした結果、ブリフェッチ処理用のベクトル
ロード命令を検出すると、パス52を介してベクトルア
ドレス生成論理部4を起動する。ベクトルアドレス生成
論理部4は、主記憶部11からベクトルデータを読出す
ためのアドレスを生成しパス53に送出すると同時に、
書込先ローカルメモリ対応のアドレステーブル9に同ベ
クトルデータ生成のためのベースアドレス及び増分アド
レスをセットする。これらのアドレスは、ベクトル処理
部がローカルメモリ16を読出すために用いられる。記
憶制御部10は、パス53上に送られたアドレスによっ
て、主記憶部11からベクトルデータを読出す。読出さ
れたベクトルデータは、スイッチング論理部15.パス
54を経由してローカルメモリ16に書込まれる。スイ
ッチング論理部15は、各命令読出論理部3,6及び各
アドレス生成部4.7でアドレスに付加されるシンク情
報によって作動させられる。ローカルメモリ16の構造
は、この実施例においてはベクトルレジスタ18と同様
のデータ配置構造とするが、特に、この構造に限られる
ことはない。ローカルメモリ16の状態管理部17は、
ローカルメモリ16の領域毎のデータの確定状況を管理
するフリップフロップの集合により構成される。これら
のフリップフロップは、対応する領域上にデータが確定
したときにセットされ、ベクトル処理部からのアクセス
によって当該データ領域が解放されたときにリセットさ
れる。そして、該状態管理部17は、ローカルメモリ1
6上の全領域にデータが書込まれていて、追加書込みが
できない場合、パス55を介してブリフェッチ処理用の
ベクトルアドレス生成論理部4に抑止信号を送出する。
ベクトルアドレス生成論理部4は、この抑止信号によっ
て、ブリフェッチ用のアドレス生成を留保する。
ブリフェッチ・デコーダ1は、ブリフェッチ命令列中に
タグを検出すると、パス56を介してセマフオ5をカウ
ントアツプする。
また、ブリフェッチ・デコーダ1は、次のブリフェッチ
処理がベクトル命令列の処理の完了を待つ必要がある場
合、ブリフェッチ・デコーダ1内部のフリップフロップ
をセットし、命令解読処理を停止する。この待ち状態は
、ベクトル処理用アドレス生成論理部7からパス57上
にリセット信号が送出されるまで継続する。
ベクトル命令デコーダ2は、パス59.60及びベクト
ル命令続出論理部6を用い、記憶制御部10を介して主
記憶部11よりベクトル処理命令列の読出しを行う。こ
の場合、ベクトル処理命令列の読出しが可能か否かの判
定は、パス5日を介してセマフオ5の値を読出すことに
より、ベクトル命令デコーダ2内で行われる。パス59
.60は、パス50.51と同様に複数の信号線で構成
されている。ベクトル命令デコーダ2は、読出されたベ
クトル処理命令列中にベクトルロード命令を検出すると
、パス62を介してローカルメモリ16とベクトルレジ
スタ20間のデータ転送処理部8を起動する。また、ベ
クトル命令デコーダ2は、ベクトル処理命令列中にベク
トルロード命令以外のベクトルアクセス系命令を検出す
ると、パス61を介してベクトル処理用アドレス生成部
7を起動する。
データ転送処理部8は、パス63を介してアドレステー
ブル9をアクセスし、ローカルメモリ16内のどの領域
にアクセスすべきベクトルデータが格納されているかを
判定し、同時にパス64を介してベクトルレジスタの状
態管理部19により、tr 迷光ベクトルレジスタのビ
ジー状況を判定する。
さらに、データ転送処理部8は、パス69を介してロー
カルメモリの状態管理部17により、ローカルメモリ1
6内の特定領域にベクトルデータが書込まれているか否
かを判定する。ベクトルレジスタ18への書込みが可能
な場合、データ転送処理部8は、パス65を介してロー
カルメモリ16の特定領域をアクセスし、ベクトルデー
タを読出すだめのアドレスを送出する。これによりロー
カルメモリ16から読出されたデータは、パス66゜セ
レクタ20を通ってベクトルレジスタ18に書込まれる
。セレクタ20の選択情報は、ベクトル命令デコーダ2
によって、命令のオペレーションコードから生成される
。ローカルメモリ16の読出しが完了すると、データ転
送処理部8は、パス67を介してローカルメモリ内の領
域リセット信号を送出する。ベクトルレジスタ18の状
態は、状態管理部19により管理されている。ベクトル
レジスタ18が、ベクトル処理部内のリソースによって
使用されると、そのリソースにより、レジスタフリー信
号が生成され、この信号がパス68を介して送られ、ベ
クトルレジスタの状態管理回路19内のベクトルレジス
タ18の各レジスタ領域の状態を保持しているフリップ
フロップがリセットされる。ベクトル処理部内のリソー
スは、第1回には省略され示されていない。
第3図は前述した第1図に示すベクトル処理装置におけ
るブリフェッチ・デコーダ1.ブリフェッチ処理用の命
令続出論理部3.ブリフェッチ処理用のベクトルアドレ
ス生成論理部4及びローカルメモリアクセス用のアドレ
ステーブル9の詳細を示すブロック図であり、以下、こ
れについて説明する。第3図において、第1図と同一の
符号は、同一物を示す。
第3図において、パス51bを介してブリフェッチ処理
用の命令が、第1図に示す命令続出論理部3から送られ
、レジスタ100にセットされる。
デコーダ101は、このレジスタ100にセットされた
命令のオペレーションコード部を解読する。
ブリフェッチ処理部は、ブリフェッチを行うベクトルロ
ード命令、ベクトルロード命令のためのアドレスレジス
タセットアツプ命令及びタグを解読している。この場合
、タグも命令の一種として解読され、これらは、デコー
ダ101によって解読される。
デコーダ101がアドレスレジスタセットアツプ命令を
検出すると、デコーダ101は、パス150を通してス
イッチング回路102に選択信号を伝達する。これによ
り、レジスタ100内の命令のオペランドにあるアドレ
ス情報がレジスタ103〜105に送出される。このレ
ジスタ103〜105には、夫々、ベクトル語長、ベク
トルベースアドレス、ベクトル増分アドレスが格納され
るとする。
また、アドレス情報は、命令のオペランドから直接得ら
れるものとしたが、必ずしもイミーデイエイト型に限る
ものではない。
デコーダ101は、タグを解読するとパス56を介して
セマフオ5をカウントアツプする。セマフオ5は、アッ
プダウンカウンタにより構成されている。読出されたタ
グがベクトル処理待ちを指示している場合、デコーダ1
01は、フリップフロップ106をセットする。このフ
リップフロップ106の出力は、インバータ107によ
って反転され、AND回路108に入力される。フリッ
プフロップ106は、ベクトル処理部のアドレス生成論
理部7からパス57を介してリセット信号が送られるま
でクリアされない。
デコーダ101がベクトルロード命令を解読すると、デ
コーダ101は、パス152に起動信号を送出する。こ
の起動信号は、AND回路108、OR回路109を介
してレジスタ110のセット信号としてレジスタ110
に与えられる。このAND回路108を介した起動信号
は、同時にパス153を介してセレクタ111にも与え
られる。
これにより、セレクタ111は、レジスタ104の内容
を加算器112に送る。この結果、レジスタ104の内
容は、加算器112を通過してレジスタ110に格納さ
れる。セレクタ111は、パス153上の起動信号がオ
フになると、レジスタ105内の情報を加算器112に
送る。パス53c上には、第1図に示す記憶制御部10
からリリース信号が送られて来る。このリリース信号は
、記憶制御部10がリクエストを処理したことを示して
おり、AND向路113とOR回路109とを経てレジ
スタ110にセット信号として与えられる。この結果、
パス53c上にリリース信号が送られてくる毎に、レジ
スタ110内の値にレジスタ105内の値が加算されて
、すなわち、レジスタ104内のベースアドレス値に、
順次ベクトル増分値が加算された値が、パス53a上に
送出されることになる。パス53c上の信号及びパス1
53上の信号は、カウンタ114をカウントアツプさせ
、その出力は、比較回路115によってレジスタ103
上のベクトル語長と比較される。この比較結果は、両者
の一致が得られたとき“1パとなり、そうでない場合“
0”となって、パス155上送出される。このパス15
5上の信号“1゛′は、カウンタ114をリセットし、
レジスタ100に対するセット信号となり、OR回路1
17に入力される。この信号は、同時にフリップフロッ
プ116によってラッチされ、インバータ118によっ
て反転され、パス154を介してAND回路113に入
力される。これにより、ベクトルアドレスの生成が中断
される。
前述の動作で、ベクトルロード命令のアドレス生成が完
了したことになり、このとき、パス155上に信号が送
出される。また、デコーダ101は、アドレスセットア
ツプ命令を検出すると、パス51a上に信号を送出する
。これらのパス155.51a上の信号は、OR回路1
17で論理和がとられた後、フリップフロップ106の
出力の反転信号と、AND回路119で論理積がとられ
る。このAND回路119の出力は、デコーダ101で
解読した命令の完了を示す。但し、ここでは、タグを命
令に含めない。このAND回路119の出力である命令
完了情報は、パス57上のリセット信号とOR回路12
0で論理和がとられ、レジスタ121に対するセット信
号としてパス156上に送出される。
レジスタ122は、プリセット命令語長を格納しており
、加算器123は、レジスタ122内のプリセット命令
語長とレジスタ121内の値を加算し、パス156上の
信号値が“1”のときのセットタイミングでパス50上
に送出する。シンク情報は、パス50及び53a上に信
号を送出するときに定まった余分の信号値を信号線幅を
拡げて送出することによって記憶制御部に送られる。
第4図及び第5図は第1図に示すローカルメモリ16、
ローカルメモリの状態管理回路17、スイッチング論理
部15及びアドレステーブル9の詳細を示す図であり、
以下、これについて説明する。これらの図は第3図と関
連があるので、同一の論理が重複して表わされている部
分がある。また、同一のパスには同一の符号が付けられ
ている。
第4図は主にローカルメモリ領域が書込可能か否かを制
御する構成を示し、第5図は同領域へのデータの書込み
と、同領域に対するベクトル処理部からのデータの読出
しを制御する構成を示している。
第4図において、フリップフロップ200は、ローカル
メモリ16の個々の領域の書込可能状態を制御しており
、“0”が書込可能を示す。全フリップフロップ200
が°“1”となっている場合、AND回路201の出力
は“1°′となり、パス162上の信号値は“0”とな
る。このパス162上の信号値“0”は、第3図に示す
AND回路108に作用し、ベクトルロード命令の起動
を抑止する。
フリップフロップ200の値が、複数個″0”となって
いる場合、プライオリティ回路202は、その優先順序
を決定する。決定された結果は、エンコーダ203によ
ってコード化され、パス250上に送出される。このコ
ード情報は、スイッチング回路204に作用し、レジス
タ104,105内のベクトルベース値、ベクトル増分
値をアドレステーブル9内のテーブル9a、9bに送る
制御を行う。これにより、アドレステーブル9a、9b
には、夫々ベクトルベース値及びベクトル増分値がセッ
トされる。パス250上のコード情報は、同時にデコー
ダ205によりデコードされ、ローカルメモリの領域に
対応するフリップフロップ200を°“1′′にセット
し、その領域が書込不可能であることを表示させる。フ
リップフロップ200は、ベクトル処理部からのローカ
ルメモリ16の+iF出しが行われ、不要になると、パ
ス252を介してリセットされる。パス250上のコー
ド情報は、さらに、レジスタ206にセットされた後、
パス53bを経由して後述する第5図のレジスタ303
に送られる。この情報は、ローカルメモリの領域にデー
タを書込む場合のスイッチングのために利用される。
次に、第5図において、主記憶部11から続出されたベ
クトルデータは、パス350を経由してレジスタ300
に格納される。同様に、シンク情報及びアドバンス情報
が、パス351,352を介して送られてくる。レジス
タ300に格納されたデータは、スイッチング論理部1
5に作用するレジスタ301を介するシンク情報によっ
て、リクエスト・ソース先に分配される。パス54は、
フェッチデータをローカルメモリへ分配するパスである
。一方、前述のように、パス53bには、第4図のエン
コーダ203からの書込先のローカルメモリの領域を指
定する情報が伝播している。
この情報は、信号デイレイのためのレジスタ303を介
してスイッチング回路302に作用し、前記パス54上
のデータをローカルメモリ16の各領域に書込むよう制
御する。第5図では、ローカルメモリ16の各領域は、
0〜nまであるとして示されている。
レジスタ305は、初め′0″にセットされ、その値は
、加算器306によって、主記憶部11からデータが読
出される毎に+1される。そしてこのレジスタ305の
値は、書込むべきローカルメモリの領域のアドレスを示
すことになる。この値は、スイッチング回路306によ
って、ローカルメモリ16の各領域のアクセスのため分
配される。
パス65a上には、ベクトル処理部から、読出すべきロ
ーカルメモリのアドレスが送られてくる。
同様に、パス65b上には、ベクトル処理部から、読出
すべきローカルメモリ16の領域の選択のために用いる
情報が送られてくる。これらの情報に基づいて、ローカ
ルメモリ16から読出されたベクトルデータは、パス6
6を経由してベクトルレジスフ18に送られる。
パス155上には、第3図により説明したように、比較
回路115からベクトルアドレスの生成完了信号が送ら
れてくる。この完了信号は、信号デイレイのためのレジ
スタ304を介し、スイッチング回路307によって、
書込みの行われているローカルメモリ16の各領域に対
応するレジスタ308のいずれか1つに格納される。こ
のレジスタ308全体と、第4図に示すフリップフロッ
プ200全体は、第1図に示すローカルメモリの状態管
理部17を構成する。
第6図は第1図に示すベクトル処理用のアドレス生成論
理部7及びデータ転送処理部8の詳細を示すブロック図
であり、以下、これについて説明する。
第6図において、第4図ですでに説明したように、レジ
スタ9aには、ベクトルベースアドレスが、レジスタ9
bには、ベクトル増分アドレスが夫々格納されている。
パス450及び451上には、ベクトル処理部で処理さ
れる、主記憶部の参照を行うベクトル命令の処理に必要
なベースアドレス及び増分アドレスが送られてくる。こ
れらのアドレスデータのソースは、スカラ処理部でセッ
トアツプ系命令によって、ベクトル処理部内のレジスタ
にセットされたアドレスデータである。
パス452を介して、第1図に示すベクトル命令デコー
ダ2より、第6図に示す論理回路に対する起動がかけら
れると、比較回路400は、プリフェッチされたベクト
ルデータがローカルメモリ16内に存在するか否かを調
べる。すなわち、ベクトルデータの一致不一致は、ベー
スアドレスと増分アドレスの夫々が一致するか否かを比
較回路400でチエツクすることにより調べられ、両ア
ドレスの一致は、AND回路401によってチェベられ
る。
ベクトルロード命令の場合、OR回路402の出力は“
1”であり、ベクトルストア命令の場合、OR回路40
2の出力は0”である。このOR回路402の出力は、
パス67aを介して第1図に示すローカルメモリの状態
管理回路17に送られる。また、AND回路401の出
力は、エンコーダ403によってコード化され、パス6
5bを通して第1図のローカルメモリ16に送られる。
パス65bのシンク先は、第5図に示すセレクタ311
である。
レジスタ404には、ベクトル長が保持されている。論
理回路405はカウンタであり、レジスタ407内のデ
ータを毎サイクル+1カウントアツプする。レジスタ4
07の出力は、パス65aを介して、第5図のローカル
メモリ16に送られ、ローカルメモリ参照アドレスとな
る。同時に、レジスタ404の値と407の値とが比較
回路406で比較され、この結果がパス70bを介して
記憶制御部10に送られる。
ベクトルストア命令の場合、セレクタ410は、初めパ
ス450上のベースアドレス1Irl算器411を通し
てレジスタ412にセットし、続いてパス451上のベ
クトル増分アドレスを加算器に送る。
この加算結果は、レジスタ412に格納され、パス70
aを通って記憶制御部10に送られる。インデクス付の
ベクトル命令の場合、パス451上のベクトル増分値の
代わりに、バス455上のインデクス値が使用される。
セレクタ410は、第1図に示すベクトル命令デコーダ
2によってその動作が指示される。
〔発明の効果〕
以上説明したように、本発明によれば、ベクトル処理に
おいて、処理性能に最も大きく寄与するベクトルデータ
フェッチ動作を、プログラムの論理区分単位に、ベクト
ル演算処理とオーバラップさせることが可能とできる。
これにより、本発明は、従来技術によるベクトル処理装
置のチエイニング制御による命令実行ステージのオーバ
ラップ効果よりも広い範囲で処理のオーバラップをさせ
ることが可能となり、特に、階層構造の記憶装置を有す
るベクトル処理装置において、ベクトルロード処理とベ
クトル演算処理との重複化によって、ベクトルデータ読
出しが高速化できるという効果を奏する。従って、本発
明によれば、ベクトル処理装置の主記憶部を比較的低速
の記憶素子で構成することが可能となり、処理装置全体
を安価に構成することが可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例によるベクトル処理装置の概
略構成を示すブロック図、第2図はブリフェッチ処理と
ベクトル処理との実行状況を説明する図、第3図はブリ
フェッチ処理部のブロック図、第4図、第5図はローカ
ルメモリの状態管理部のブロック図、第6図はデータ転
送処理部のブロック図である。 l−・・−・−ブリフェッチ・デコーダ、2・−−一−
−−ベクトル命令デコーダ、3−・・−ブリフェッチ処
理用の命令続出論理部、4−・−・ブリフェッチ処理用
のベクトルアドレス生成論理部、5・・・・−・セマフ
ォ、6−−・−ベクトル命令続出論理部、7−・−・ベ
クトル処理用アドレス生成論理部、8−・−・・データ
転送処理部、9−・−・−ローカルメモリアクセス用の
アドレステーブル、10・−−−−m−記憶制御部、1
1−・−主記憶部、15・−・・−スイッチング論理部
、16−・−ローカルメモリ、17−・−一一一一ロー
カルメモリの状態管理部、18−・−・ベクトルレジス
タ、19−−−−−−−ベクトルレジスタの状態管理部
。 一イ 第1図 第4図 Fig、5 toscu   toLM

Claims (1)

  1. 【特許請求の範囲】 1、ベクトル処理装置において、複数の階層より成る記
    憶部と、主記憶部を参照するベクトル命令を解読する複
    数個の論理部と、前記ベクトル命令を解読する複数個の
    論理部相互間の同期制御を行う論理部と、前記記憶部の
    いずれかの階層とベクトルレジスタとの間に設けられた
    データパスとを備えることを特徴とするベクトル処理装
    置。 2、ベクトル処理装置において、複数の階層より成る記
    憶部と、主記憶部を参照するベクトル命令を解読する複
    数個の論理部と、前記ベクトル命令を解読する複数個の
    論理部相互間の同期制御を行う倫理部と、前記記憶部に
    保持されているベクトルデータのインデクスを記憶する
    手段と、前記記憶部に保持されているベクトルデータに
    対するアクセスが可能か否かを管理する論理部と、前記
    記憶部のいずれかの階層とベクトルレジスタとの間に設
    けられたデータパスとを備えることを特徴とするベクト
    ル処理装置。
JP12485688A 1988-05-24 1988-05-24 ベクトル処理装置 Pending JPH01295366A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12485688A JPH01295366A (ja) 1988-05-24 1988-05-24 ベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12485688A JPH01295366A (ja) 1988-05-24 1988-05-24 ベクトル処理装置

Publications (1)

Publication Number Publication Date
JPH01295366A true JPH01295366A (ja) 1989-11-29

Family

ID=14895790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12485688A Pending JPH01295366A (ja) 1988-05-24 1988-05-24 ベクトル処理装置

Country Status (1)

Country Link
JP (1) JPH01295366A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020140284A (ja) * 2019-02-27 2020-09-03 日本電気株式会社 ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020140284A (ja) * 2019-02-27 2020-09-03 日本電気株式会社 ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム

Similar Documents

Publication Publication Date Title
US5872987A (en) Massively parallel computer including auxiliary vector processor
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
JP3531167B2 (ja) 命令実行を制御するため命令にタグを割り当てるシステム及び方法
US3611306A (en) Mechanism to control the sequencing of partially ordered instructions in a parallel data processing system
JP2003122564A (ja) スーパースカラプロセッサ
JPH0430053B2 (ja)
JP2002024011A (ja) プロセッサにおける命令の叙述された実行
JPH03282958A (ja) 電子計算機
JP2002117002A (ja) 共用型ペリフェラルアーキテクチャ
JP3570442B2 (ja) コンピュータ
JP2009026136A (ja) マルチプロセッサ装置
Kawano et al. Fine-grain multi-thread processor architecture for massively parallel processing
US4975837A (en) Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets
JPH01295366A (ja) ベクトル処理装置
JPH01145770A (ja) ベクトル処理装置
JP2602241B2 (ja) 並列計算機
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JPH0744401A (ja) 論理集積回路およびそのデータ処理システム
US20240070113A1 (en) Multiple contexts for a compute unit in a reconfigurable data processor
JP2527038B2 (ja) 拡張記憶転送制御方式
JP2883465B2 (ja) 電子計算機
JPH0567973B2 (ja)
JP2006039821A (ja) マルチプロセッサ搭載システムlsiの制御方法
JP2000347981A (ja) チャネルマイクロプログラム処理装置
JP3743155B2 (ja) パイプライン制御型計算機