JPS61241870A - ベクトルプロセツサ - Google Patents

ベクトルプロセツサ

Info

Publication number
JPS61241870A
JPS61241870A JP8232885A JP8232885A JPS61241870A JP S61241870 A JPS61241870 A JP S61241870A JP 8232885 A JP8232885 A JP 8232885A JP 8232885 A JP8232885 A JP 8232885A JP S61241870 A JPS61241870 A JP S61241870A
Authority
JP
Japan
Prior art keywords
vector
register
instruction
field
physical
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
JP8232885A
Other languages
English (en)
Inventor
Takayuki Nakagawa
貴之 中川
Yasuhiro Inagami
稲上 泰弘
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
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP8232885A priority Critical patent/JPS61241870A/ja
Publication of JPS61241870A publication Critical patent/JPS61241870A/ja
Pending 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

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

【発明の詳細な説明】 〔発明の利用分野〕 本発明はベクトルプロセッサに関する。
〔発明の背景〕
従来のベクトルプロセッサは、ベクトル命令で指定する
ベクトルレジスタとベクトルプロセッサが実際に有する
ベクトルレジスタとが1対1の関係で対応付けられてい
る。これを静的レジスタの割付けということにする。こ
のようなベクトルプロセッサの例として特開昭58−1
14274号公報に示されるものがある。
しかし、従来の静的レジスタの割付けにおいては、処理
の高速化において限界があった。このことをベクトル演
算の簡単な例を挙げて説明する。
1 、 Vector Load  VR“On←A2
、 Vector Load  VR”1”←B3 、
 Vector Add  V R“2”←VR“0″
+VR“1″4 、 Vector 5tore V 
R” 2 ” 4−c5 、 Vector Load
  VR“3”←D6゜Vector Load  V
R”O”←E7 、 Vector Add  V R
“1”←VR”3”+VR“O”8 、 Vector
 5tore V R” 1”←F各ベクトル命令は、
演算、データ転送を、エレメント数分、繰返して実行す
る。
上側では、ベクトルAとベクトルBとの加算結果である
ベクトルCと、ベクトルDとベクトルEとの加算結果で
あるベクトルFとを夫々主記憶に記憶する。
ここにおいて、第6の命令ではベクトルレジスタVR“
0”内にベクトルDを格納しているが、ベクトルレジス
タVR“0”は第1の命令によって使用されており、第
6の命令の実行の為にベクトルレジスタVR“0”が使
用できないことがある。
ベクトルレジスタが使用できない場合とは、あるベクト
ルレジスタが書き込み中又は続出中に他のベクトルエレ
メントを書き込む場合、およびあるベクトルレジスタが
続出中であるときに、他の命令でさらに読出そうとする
場合をいう、上側においては、第1の命令が実行されベ
クトルAのエレメントをベクトルレジスタVR“0”に
全部書き込み終了していないときは、第1の命令の実行
終了まで第6の命令の実行を開始できないことになる。
このようなベクトル命令実行待ちを避けるためには、■
ベクトル命令で指定できるベクトルレジスタ数を増やす
こと、■コンパイラの性能を上げることが考えられる。
しかし、上記のについては命令仕様を変更することにな
りソフトウェアの互換性が失なわれること、上記■につ
いてはベクトルプロセッサにおいてはどの命令が最初に
処理を終えるのか現実の処理実行時にしか決まらずコン
パイラの性能を上げるには限界があること等問題点があ
る。
〔発明の目的〕
本発明の目的は、ベクトルレジスタが使用可能な状態に
なるまでベクトル命令の実行待ちを避け、処理の高速化
を図るベクトルプロセッサを提供するにある。
他の目的は、ベクトルレジスタのインプリメント上の制
約や、機能上の制約を命令仕様及び性能に関与しないも
のとし、コンパイラの負担を軽減したベクトルプロセッ
サを提供するにある。
〔発明の概要〕
本発明においては、命令で指定するベクトルレジスタ(
以下論現レジスタという)と金物として用意されたベク
トルレジスタ(以下物理レジスタという)の対応を、1
対1に固定せず、新しく用意したハードウェアによって
動的に管理することとした。
〔発明の実施例〕
以下、本発明を実施例を参照して詳細に説明する。
第1図において、本実施例におけるベクトルプロセッサ
は、主記憶制御ユニットUl、命令読出しユニットU2
.命令制御ユニットU3.ベクトル処理ユニットU4お
よび論理・物理レジスタ変換ユニットU5から構成され
る。
(1)主記憶制御ユニットU1 主記憶制御ユニットU1は命令読出しユニットU2.ベ
クトル処理ユニットU4からのメモリ要求(ベクトルデ
ータの続出しまたは格納およびべクトル命令の読出し)
に応じて所定の動作を行なう。
(2)命令読出しユニットU2 命令読出しユニットU2は、主記憶制御ユニットU1に
対し、信号線Q1で命令読出し要求を、信号線j12で
命令アドレスを送出する。主記憶制御ユニットU1はこ
れに応答して、この命令アドレスで指定される複数の命
令を読出し、読出した命令を信号線Q3に送出すると共
に信号線Q3上の信号が有効であることを示す信号を信
号線Ω4に乗せて返す。
命令読出しユニットU2は、読出された命令を命令バッ
ファ(図示せず)に入れ、これらの命令を一つずつ命令
制御ユニットU3に送る。信号線a6には命令がのせら
れる。命令読出しユニットU2は、命令制御ユニットU
3から信号線Ω7によって、命令送出の停止が要求され
ない限り、次次と命令を読出しては、命令制御ユニット
U3に送り込む。
命令制御ユニットU3は、命令を解読し、命令に応じて
、ベクトル処理ユニットU4に起動信号他を信号線α1
0に送り込む。
(3)・命令制御ユニットU3 命令制御ユニットU3は、前述の特開昭58−1142
74号公報に記載された(第3図)命令制御ユニットU
3とほぼ同じ構成となっている0本願の命令制御ユニッ
トとの相違はベクトルレジスタの使用可否をチェックす
る部分のみ異なる。
命令制御ユニットU3は、ベクトル処理ユニットU4の
リソース(ロードリクエスタ210〜240、演算器7
10,720およびストアリクエスタ810,820)
の使用可否をチェックし。
使用可能なリソースに対して、ベクトル命令で指定され
た処理を行なうように指示する。
(4)ベクトル処理ユニットU4 ベクトル処理ユニットU4は、4つのロードリクエスタ
210〜240、書き込みスイッチマトリクス310.
6つのベクトルレジスタVRO〜VR5,410〜46
0.読出しスイッチマトリクス610.2つの演算器7
10,720および2つのストアリクエスタ810,8
20を有している。
ベクトル処理ユニットU4のリソース(ロードリクエス
タ210〜240、演算器710 、720゜ストアリ
クエスタ810,820)は、命令制御ユニットU3に
よって空きとなったものについて起動がかけられる。一
度起動がかけられると1つのベクトルエレメントを1マ
シンサイクル毎に処理し、所定のエレメント数に達する
まで続ける。
ベクトル処理ユニットU4は、上記処理の結果ベクトル
の書き込みが終了し、又は読出しが終了したベクトルレ
ジスタの番号(物理レジスタ番号)を夫々信号線815
. n16に送出する。
(5)論理、物理レジスタ変換ユニットU5論理・物理
レジスタ変換ユニットU5は、命令読出しユニットU2
からの命令を信号線n6を介して取込み、命令に記述さ
れた論理レジスタ番号を物理レジスタ番号に変換して命
令制御ユニットU3へ信号線a307を介して送り込む
、又、物理レジスタの使用可否をチェックして線Ω31
3に送出する。ここにおいて、論理・物理レジスタ変換
ユニットU5は、ベクトル処理ユニットU4から信号線
115およびΩ16から夫々与えられる物理レジスタの
書き込み終了信号および読出し終了信号に基づいて、上
記論理・物理レジスタ番号の変換を行なう。
第2図は論理・物理レジスタ変換ユニットU5の詳細回
路である。
デコーダ21は、信号線86を介して命令がセットされ
る命令レジスタ20のフィールドR1(i=1〜3)の
内容をデコードレジスタ22のG*  (z=1〜3)
フィールドに入力する。又、デコーダ21は、命令レジ
スタ20のOPフィールドの内容を解読し、デコードレ
ジスタ22のW、、GN、フィールドに有効なデータが
あるか否かを、V、(i=1〜3)フィールドに入力す
る。有効な場合は、Vt フィールドには“1”、そう
でない場合はu O”が入力される。又、デコーダ21
は、命令レジスタ20のOPフィールドの内容を解読し
た際に、ON□フィールドで指定されるベクトルレジス
タが書き込みに使用されるか、続出に使用されるかをも
判定し、Wフィールドに入力する。書き込みに使用され
る場合はWフィールドには“1”が、読出しに使用され
る場合は“O”が入力される。
本実施例ではGNl、ON、フィールドに対してはWフ
ィールドはなく、GN、 、 GN、 フィールドで指
定されるベクトルレジスタはすべて読出しに使用される
のみであるとする。これは、説明を簡略化するためのも
ので、汎用的には、GN、。
GN、 フィールドに対して夫々Wフィールドを設ける
さて、GN1フィールドの内容は、信号線j122を介
してセレクタ23に与えられる。セレクタ23は、信号
線Q21を介して与えられるWフィールドの内容が“1
” (書き込み)を示すとき。
信号線Ω22の内容を信号線Ω27へ接続し。
0” (読出し)を示すときは、信号線j128へ接続
する。
状態レジスタ30,31.32は、物理レジスタ410
〜460に対応して設けられ、各物理レジスタの使用状
態を記憶しておくものである(図中、状態レジスタの3
つのみを示した)、夫々の状態レジスタは、第3図に示
すように、対応する物理レジスタが書き込み中であるこ
とを示すWフィールド301.読出し中であることを示
すRフィールド、物理レジスタがどの論理レジスタに対
応付けられているか論理レジスタ番号を記憶するための
L−Noフィールド、および物理レジスタが読出しに用
いるのに有効であるか否かを示すVフィールドを有する
各状態レジスタのWフィールドは、信号線Q15を介し
て与えられる。対応する物理レジスタの書き込みが終了
したことを示す信号によってリセットされる。又、各状
態レジスタのWフィールドは、信号線慮31を介して与
えられる。対応する物理レジスタが書き込みの使用に供
されることを示す信号によってセットされる。
各状態レジスタのRフィールドは、信号線ff116を
介して与えられる、対応する物理レジスタの読出しが終
了したことを示す信号によってリセットされる。又、各
状態レジスタのRフィールドは。
信号線Ω43を介して与えられる、対応する物理レジス
タが続出の使用に供されることを示す信号によってセッ
トされる。
各状態レジスタのL−Noフィールドは、信号線Q27
を介して与えられる論理レジスタ番号を。
信号線131を介して与えられる信号によって保持する
各状態レジスタのVフィールドは、信号線Q31の信号
によりセットされる。又、信号線133を介して与えら
れる。対応する物理レジスタの論理レジスタを他の物理
レジスタに割り当てたことを示す信号によってリセット
される。
チェック回路24は、各状態レジスタのWフィールドお
よびRフィールドの内容を信号線129を介して取込み
、WフィールドおよびRフィールドの両方がリセット状
態である状態レジスタを検出し、各状態レジスタに対応
して設けられた信号線Q50の、対応する線に1“を出
力する。これによって、書き込みに使用可能な物理レジ
スタを捜すことができる。一方、WフィールドおよびR
フィールドの両方がリセットされている状態レジスタが
存在しないときには、チェック回路24は信号線n39
に#1”を出力する。ただし、信号線1120の内容が
1′0”のときは、Wフィールド、Rフィールドの状態
にかかわらず、信号線139に′0”を出力する。
エンコーダ25は、信号線Q50上の信号をエンコーダ
して、使用可能な物理レジスタの番号を信号線Q30に
出力する。使用可能な物理レジスタが複数ある場合には
、適当な優先順位により、1つの物理レジスタ番号を選
んで出力する。
デコーダ26は、物理レジスタの番号を信号線Q30を
介して入力し、物理レジスタに対応する状態レジスタに
対し、対応する物理レジスタが書込み使用に供されるこ
とを信号線Q31を介して送出する。
比較器41は、信号線Q32を介して与えられる各状態
レジスタのL−Noフィールドの内容と、信号線827
を介して与えられる論理レジスタ番号とを比較し、比較
結果を対応する状態レジスタへ信号線Q33を介して送
出する。
選択回路23は、デコードレジスタ22のWフィールド
が“1”の時、信号線122を信号線Q27に接続し、
Wフィールドが0”の時、信号線Q22を信号線fi2
8に接続する。
比較回路42は、信号線Q2Bを介して与えられるON
、フィールドの内容と、信号線f132を介して与えら
れる各状態レジスタのL−Noフィールドの内容とを比
較し、夫々の状態レジスタに対する比較結果(一致=“
1″、不一致=“0”)をAND回路に送出する。
AND回路43は、夫々の状態レジスタに対する比較結
果と、信号線Q34を介して入力される対応する状態レ
ジスタのVフィールドの内容との論理積を求める。
チェック回路46は、アンド回路43により出力された
物理レジスタ番号に対応する状態レジスタのRフィール
ドの内容を、信号線Ω38を介して取込み、Rフィール
ドがセットされている状態ならば、信号線Q40を“1
”とする、これは。
読出すべき物理レジスタが、他の命令により現在続出中
であるため、使用不可能であることを指示するものであ
る。
一方、Rフィールドがリセットされている状態ならば、
チェック回路45は、信号線f151に物理レジスタ番
号をそのまま出力する。
エンコーダ45は、チェック回路43からの出力信号を
エンコードし、読出すべき物理レジスタの番号を信号線
α35に出力する。
又、信号線Ω20上の信号を取込み(図示せず)、“O
nのときはRフィールドの状態にかかわらず。
信号線Q40を“0”とし、信号線4135への出力を
止める。
デコード回路46は、信号線α51を介して与えられる
物理レジスタ番号をデコードして信号線Q54に出力す
る。
比較器50,60.AND回路51,61.エンコーダ
52,62、チェック回路52.62およびデコーダ5
4.64は、前述の比較回路42、AND回路43.チ
ェック回路44およびデコーダ45に夫々対応するもの
である。比較回路42等の回路は、GNエフイールドの
論理レジスタ番号についての物理レジスタの使用状態チ
ェックおよび物理レジスタ番号の検出を行なうものであ
るのに対し、比較回路50等および比較回路60等は、
夫々GN、 フィールド、GN、フィールドの論理レジ
スタ番号についての物理レジスタの使用状態チェックお
よび物理レジスタ番号の検出を行なうものである点で異
なる。GN、、GN3フィールドで指定される論理レジ
スタ番号に対応する物理レジスタが使用可能か否かを信
号線Ω41゜Q42に夫々出力し、使用可能である場合
には信号線Q36,037に夫々物理レジスタ番号を出
力する。
OR回路65は、信号線Q39.Q40.Ω41および
Q42の信号を論理和する。
選択回路27は、信号線Q21上の信号が111Hのと
き信号線1230を信号線Q57に接続し、“0”のと
きは信号線n35を信号線Q57に接続する。
OR回路67は、信号線Q54.fi55および115
6に含まれる各状態レジスタに対応する信号線上の信号
について、対応する信号線間で論理和を求める。各状態
レジスタについて求められた論理和結果は、信号線Q4
3を介して、対応する状態レジスタのRフィールドへの
セット信号として夫々出力される。
次に、論理・物理レジスタ変換ユニットU5の動作を第
2図、第3図を用いて説明する。
第3図は、第3頁に示した命令を実行した場合における
状態レジスタの内容の変化を示した図である。尚、状態
レジスタには論理レジスタとの区別をつける便宜上、夫
々a、b、・・・、fなる名前を付すことにする。
■第1命令(Vector Load  V R” O
”4− A )本命令はまず命令レジスタ20にセット
される。
R1フィールドにはベクトルレジスタ名VR”O”が格
納される。
デコーダ21は、本命令を解析する。その結果。
ON、フィルドにはVR“0”が格納され、対応するv
、Wフィールドには“1”がセットされる。
他のONフィールドに対応するVフィールドには“0”
がセットされる。
一方、チェック回路24は、すべての状態レジスタのW
、Rフィールドをチェックする。現段階′ では、すべ
ての物理レジスタは未使用であるので(W、Rフィール
ドとも“0”)、いずれも使用可能である。
エンコーダ25は、優先順位の最も高い状態レジスタを
選択する。その結果、物理レジスタVRua”に対応し
た状態レジスタが選ばれたとする。
線Q30,157には、物理レジスタVR”a”の名前
が出力される。
デコーダ26は、選ばれた物理レジスタVR118Nに
対応した状態レジスタのみを線Ω31を介し、書き込み
許可すると共に、そのw、■フィールドを“1”とする
セレクタ33は、線ff121が“1”であるので。
GNエフイールドの内容を線慮27へ出力する。
物理レジスタVR”O”に対応した状態レジスタのみが
書き込み可となっているので、それのみにGN1フィー
ルドの内容が、L−Noフィールドに書き込まれる。
以上のようにして論理レジスタVR”O”に対して物理
レジスタVR”a”が割り当てられる。
■第2命令(Vactor Load  V R“1”
←B)本命令も、第1命令と同様、命令レジスタ2゜に
セットされ、デコーダ21により解析され、解析結果は
デコードレジスタ22にセットされる。
一方、チェック回路24は、物理レジスタVRua”の
みが使用中であって、他の物理レジスタは使用可能であ
ることを出力する。
エンコーダ25は、使用可能な物理レジスタのち優先度
の高いレジスタVR”b“を選び、線Q30.Q57へ
その名前を出力する。そして、該物理レジスタに対応す
る状態レジスタに、 GN。
フィールドの内容(VR”1”)が書込まれる。
■第3命令(Vactor Add  V R“2”←
VR”O”+VR”1”) 本命令も命令レジスタ20にまずセットされる。
このとき、R1フィールドにはVR“2”、Rsフィー
ルドにはVR“0”、R,フィールドにはVR“1”が
夫々セットされる。
デコーダ21により解析されると、GN、フィールドに
はVR“2”がセットされ、対応するV。
Wフィールドには夫々“1”がセットされる。
ON、 フィールドにはVR“0”がセットされ、対応
するVフィールドには“1”がセットされる。
又、GN、 フィールドにはVR“l”がセットされ、
対応するVフィールドには“1”がセットされる。
一方、チェック回路24.エンコーダ25により、使用
可能(W、Rフィールド“0”)な物理レジスタで、優
先順位の最も高いレジスタVR″c”が選ばれる。線8
57にはV R11c#lの名が出力される。又、V 
R” c”に対応する状態レジスタのL−Noフィール
ドには、VR”2”が格納される。
比較器50は、GN、フィールドの内容と各状態レジス
タのL−Noフィールドの内容とを比較する。
アンド回路51は、上記比較の結果一致した状態レジス
タのVフィールドに“1”が格納されているか否かを判
断する。第3図においては、物理レジスタVR“O”に
対応する状態レジスタのVフィールドは“1”であるの
で、本状態レジスタが選ばれる。
チェック回路52は、選ばれたレジスタのWフィールド
を調べ、読出しに使用中であるが否かをチェックする。
書込み中であるが否かはチェックしない。
エンコーダ53は、チェックの結果読出しに使用中でな
い場合に、その物理レジスタの名前VR“0“を線Q3
6に出力する。
同様にして、GN3 フィールドの内容VR”1”も、
比較[160,アンド回路61.チェック回路62、エ
ンコーダ63により、物理レジスタ名VR“1”に変換
されて、線Q37に出力される。
デコーダ54.64は、夫々物理レジスVR“0”、V
R“1”が読出しに使用されることを夫々線Ω55.巴
56に出力する。
OR回路67は、線Q55.Q56(1)信号を統合し
て対応する状態レジスタのRフィールドの内容を“1”
にセットする。
■第4命令(Vector 5tore  V R“2
”→C)本命令も第1命令と同様、命令レジスタ20に
セットされ、デコーダ21により解析され、デコードレ
ジスタ22にセットされる。ただし、本命令ではON□
 フィールドに対応するWフィールドには“0”がセッ
トされる。
セレクタ23は、線Q21の内容が“0”であるので、
ON、フィールドの内容を線円28に出力する。
比較器42.AND回路43.チェック回路44および
エンコーダ45は、先に述べた比較器50、AND回路
51.チェック回路52およびエンコーダ53と同様に
機能することによって。
GN1フィールドの内容VR”2”をVR”c”に変換
する。
変換結果は線Q57に出力される。又、デコーダ46.
OR回路67によってVR”c”に対応する状態レジス
タのRフィールドは“1”にセットされる。
■第5命令(Vector Load  V R“3”
←D)本命令も第1命令と同様にして、物理レジスタが
割当てられる。その結果、物理レジスタVR“d”に対
応する状態レジスタのL−NoフィールドにVR“3”
が格納される。
■第6命令(Vector Load  VR’O”←
E)本命令も第1命令と同様にして、物理レジスタが割
当てられる。その結果、物理レジスタVR何e”に対応
する状態レジスタのL−NoフィールドにVR“0”が
格納される。
この結果、論理レジスタVR”O“に対応する物理レジ
スタはVR“a”とVR”e“の2つとなる。
一方、比較器41は、線Ωを介してON、フィールドの
内容を入力し、各状態レジスタのL−Noフィールドの
内容と比較する。このときは。
まだ物理レジスタVR”e”に対応する状態レジスタの
L−Noフィールドには、VR“0”は書込まれていな
いものとする。
比較の結果、物理レジスタVR”a”に対応する状態レ
ジスタのみがVR“O”に対応していることがわかる。
比較器41は、一致を検出したその状態レジスタのVフ
ィールドに“0”をセットする。
ここで、2つの物理レジスタVR“a”とVR#e”と
は、互いに独立であるので、別々の命令実行に使用可能
である。
したがって、論理レジスタVR“0”に対応する物理レ
ジスタVR”a”が、第1命令の寒行にまで使用中であ
っても、同じ論理レジスタVR1g 0 Itを用いた
第6命令の実行が、物理レジスタV R” e”を用い
ることによって可能となるのである。
■第7命令(VR“1 u 、 y Rgt 3”+V
R“0”)−本命令も基本的には、第3命令の実行と同
じである。しかし、論理レジスタVR”1”に対応する
物理レジスタが既にVR“b”に割り当てられている点
、および読出しに用いる論理レジスタVR“O”に対応
する物理レジスタがV Ra”とVR″e”の2つある
点で、命令実行がやや異なる。
論理レジスタVR“1”に対応する物理レジスタが既に
割当てられている点に関しては、先に述べた第6命令の
実行と同じようにして、まず物理レジスタVR“b”に
対応する状態レジスタのVフィールドを“0”とし、物
理レジスタVR“f”に対応する状態レジスタのL−N
oフィールドにVR“1”を書き込む。
一方、比較器60は、GN、フィールドの内容に一致す
るL−Noフィールドの内容を有する状態レジスタを2
つ検出する。
アンド回路61は、比較器60により検出した2つの状
態レジスタのうち、対応するVフィールドが′0″でな
いものを選択する。物理レジスタV R” a”に対応
する状態レジスタは、■フィールドが“0”であるので
、選択されない、一方、物理レジスタVR”e″に対応
する状態レジスタは、■フィールドが“1”であるので
、選択されることになる。
チェック回路62は、選択された状態レジスタのRフィ
ールドが“1”でなければ、読出しに使用可能であると
して、エンコーダ63に通知する。
エンコーダ63は、通知された状態レジスタに対応する
物理レジスタの名前VR“e”を線慮37に出力する。
以上のように1本命令では、論理レジスタVR“1”と
してVR“f”が割当てられ、論理レジスタVR“0”
としてVR”e”が選ばれたことになる。
したがって、第1命令、第2命令によって既に同じ論理
レジスタ名が割当てられている物理レジスタVR”a”
、VR“b″に対して独立である物理レジスタV R”
 e”、VR“f”が第7命令の実行に用いられる。
これによって、第7命令は第1命令等の実行に並行して
実行可能になる。
■第8命令(Vector 5tore  V R“1
”→F)本命令も第4命令の実行とほぼ同じである。た
だ、論理レジスタVR“1”が物理レジスタVR“b”
およびVR“f”の2つに割当てであるために、どちら
の物理レジスタを選ぶかの制御が異なる。
この制御は、比較器42.アンド回路43.チェック回
路44およびエンコーダ45によりなされる。つまり、
2つの物理レジスタに対応する状態レジスタ内のVフィ
ールドが1”のもののみを選んで線157に出力する。
これによって、物理レジスタVR“f”の名前が出力さ
れることになる。
以上各命令についての動作を説明した。
以上のように、論理・物理レジスタ変換ユニットU5に
よって、命令内の論理レジスタが、物理レジスタに変換
されて、命令制御ユニットU3に与えられることになる
(6)本実施例による命令実行の説明 第4図に本実施例による命令実行のタイムチャートを示
す、一つのベクトルは、1〜Nのエレメントから成って
いる。一つのエレメントは−マシンサイクルで実行され
る。
第1命令では、ベクトルAを主記憶から読み出し、論理
レジスタVR“Onに格納する。論理・物理レジスタ変
換ユニットU5は、論理レジスタVR”O”に対して物
理レジスタV RKl altを割当てる。命令制御ユ
ニットは、使用可能なロードリクエスタ210〜240
のいずれか一つを選択し、書き込みスイッチマトリック
ス310により。
該選択したロードリクエスタと物理レジスタVRu a
”とを接続する。ロードリクエスタに起動をかけると、
−マシンサイクル毎に、主記憶から物理レジスタV R
II aIIにベクトルAの一エレメントずつ格納され
る。
次のマシンサイクルで第2命令の実行が開始される。第
1命令と同様、論理レジスタVR“1”に対して物理レ
ジスタVR”b”が選ばれ、又適当なロードリクエスタ
を介してベクトルBの格納が行なわれる。
第3命令では、論理レジスタVR”O”、VR“1”お
よびVR“2”に対して、論理レジスタVR“a”、V
R”b”およびVR″c″が選ばれる。又、使用可能な
演算器710,720のいずれかが選ばれる。読出しス
イッチマトリックス610および書き込みスイッチマト
リックス310により、物理レジスタV R” a“、
VR”b”およびV R” c”と選ばれた演算器が接
続される。
その後演算器に起動がかけられると、−マシンサイクル
に一エレメントずつ加算がなされる。
第4命令では、論理レジスタVR”2”に対応する物理
レジスタVR”c”が選ばれ、又、使用可能なストアリ
クエスタ810,820のいずれか一つが選ばれる。そ
の後書き込みスイッチマトリックスを介して−マシンサ
イクル毎に物理レジスタVR“C”から主記憶ヘーエレ
メントずつ書込まれる。
第5命令では、第1命令と同様、論理レジスタVR“3
”に対して物理レジスタVR”d”が選ばれ、又適当な
ロードリクエスタを介してベクトルDの格納が行なわれ
る。
第6命令も、同様に論理レジスタVR“0”に対して物
理レジスタVR”a”が選ばれ、ペクト4しEの格納が
行なわれる。
第6命令は、既に第1命令が指定したのと同じ論理レジ
スタを指定しているが、先に述べた論理・物理レジスタ
変換ユニットU5により相異なる物理レジスタが割り当
てられるため、ただちに実行が開始されることになる。
第7命令、第8命令にうぃても第3命令、第4命令と同
様にただちに実行が開始される。
本実施例においては、物理レジスタの本数が多い方が使
用可能の状態になっている物理レジスタは多くなる0例
えば、同一の論理レジスタが何回も出てくるような場合
にも、物理レジスタを多く用意することによりベクトル
命令の実行待機の状態をなくすことができる。
一般には、ベクトル命令で指定可能な論理レジスタ数よ
りも多く物理レジスタを用意すればよい。
〔発明の効果〕
本発明によれば、同じ論理レジスタを複数のベクトル命
令で指定したとしても、相異なる物理レジスタを割当て
るため、ベクトル命令の実行が待たされることはない。
また、ベクトルレジスタ本数などのベクトルプロセッサ
の実装上の相違を、コンパイラ等のソフトウェアから見
えなくすることができるため、扱い易く最適なベクトル
レジスタ割付けを実現できる6例えば1本発明によれば
、物理レジスタを32本持つベクトルプロセッサも、1
6本しか持たないベクトルプロセッサも同一の命令によ
り制御可能であって、2種以上のコンパイラを作る必要
がなくなる。
【図面の簡単な説明】
第1図は本発明の実施例の全体構成図、第2図は本実施
例で用いる論理・物理レジスタ変換ユニットの構成図、
第3図は命令実行と状態レジスタの関係を示す図、第4
V!iは本実施例のより命令列を処理する場合のタイム
チャートである。 Ul・・・、主記憶制御ユニット、U2・・・命令読出
しユニット、U3・・・命令制御ユニット、U4・・・
命令処理ユニット、U5・・・論理・物理レジスタ変換
ユニット。

Claims (1)

  1. 【特許請求の範囲】 1、複数の第1のベクトルレジスタと、 第1のベクトルレジスタと主記憶との間で、複数のベク
    トルエレメントの連続的授受を制御する複数のリクエス
    タと、 第1のベクトルレジスタに格納された複数のベクトルエ
    レメントを、各エレメント毎に連続的に演算し、各エレ
    メントについての演算結果を他の第1のベクトルレジス
    タに格納する複数の演算手段と、 主記憶に記憶されたベクトル命令を読出す手段と、 前記読出したベクトル命令が、該ベクトル命令内で指定
    する第2のベクトルレジスタにベクトルエレメントを書
    き込む命令であるときは、前記第1のベクトルレジスタ
    の中から使用可能なものを選択して前記第2のベクトル
    レジスタとして割り当てその名称を出力すると共に、以
    前同じ第2のベクトルレジスタとして割り当てた第1の
    ベクトルレジスタの名称を、以降のベクトル命令で第2
    のベクトルレジスタの読出しを指定したときに出力しな
    いよう制御し、前記読出したベクトル命令が、該ベクト
    ル命令内で指定する第2のベクトルレジスタの読出しを
    行なう命令であるときは、前記第2のベクトルレジスタ
    として新たに割り当てられた第1のベクトルレジスタの
    名称を出力する手段と、 前記複数のリクエスタ又は前記複数の演算手段の中から
    使用可能なものを選び、前記選んだリクエスタ又は演算
    手段を制御し、前記出力手段により割り当てられた第1
    のベクトルレジスタに対して、前記ベクトル命令で指示
    される処理を行なう手段を有するベクトルプロセッサ。 2、前記第1のベクトルレジスタは、前記第2のベクト
    ルレジスタの数よりも多く設けられる第1項記載のベク
    トルプロセッサ。
JP8232885A 1985-04-19 1985-04-19 ベクトルプロセツサ Pending JPS61241870A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8232885A JPS61241870A (ja) 1985-04-19 1985-04-19 ベクトルプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8232885A JPS61241870A (ja) 1985-04-19 1985-04-19 ベクトルプロセツサ

Publications (1)

Publication Number Publication Date
JPS61241870A true JPS61241870A (ja) 1986-10-28

Family

ID=13771487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8232885A Pending JPS61241870A (ja) 1985-04-19 1985-04-19 ベクトルプロセツサ

Country Status (1)

Country Link
JP (1) JPS61241870A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016500877A (ja) * 2012-10-18 2016-01-14 クアルコム,インコーポレイテッド ベクトルレジスタファイルの素子バンクに対するアドレスラインの選択的な結合

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57166649A (en) * 1981-03-30 1982-10-14 Ibm Data processing system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57166649A (en) * 1981-03-30 1982-10-14 Ibm Data processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016500877A (ja) * 2012-10-18 2016-01-14 クアルコム,インコーポレイテッド ベクトルレジスタファイルの素子バンクに対するアドレスラインの選択的な結合

Similar Documents

Publication Publication Date Title
US5872987A (en) Massively parallel computer including auxiliary vector processor
US4197578A (en) Microprogram controlled data processing system
US5293500A (en) Parallel processing method and apparatus
JPH0650493B2 (ja) データ処理装置
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
JPH0622035B2 (ja) ベクトル処理装置
JPH07311740A (ja) コンピュータ
JPS60136870A (ja) ベクトル処理装置
JPH03233630A (ja) 情報処理装置
JPS623461B2 (ja)
US5155838A (en) Computer system with emulation mechanism
US5642523A (en) Microprocessor with variable size register windowing
JPS61241870A (ja) ベクトルプロセツサ
US4740892A (en) Microcomputer having peripheral functions
JPS626261B2 (ja)
EP0700005A1 (en) Vector data bypass mechanism for vector computer
JPH01145770A (ja) ベクトル処理装置
US5327565A (en) Data processing apparatus
JPH0543143B2 (ja)
JP2742245B2 (ja) 並列計算機
JPH07110769A (ja) Vliw型計算機
JPH06332867A (ja) バス・インタフェース内部バッファ制御方式
JPH05127903A (ja) 並列処理マイクロプロセツサ
JPH02109128A (ja) コンピュータシステム
JPS5896346A (ja) 階層型演算方式