Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0623976B2 - ベクトルレジスタ制御装置 - Google Patents
[go: Go Back, main page]

JPH0623976B2 - ベクトルレジスタ制御装置 - Google Patents

ベクトルレジスタ制御装置

Info

Publication number
JPH0623976B2
JPH0623976B2 JP59198701A JP19870184A JPH0623976B2 JP H0623976 B2 JPH0623976 B2 JP H0623976B2 JP 59198701 A JP59198701 A JP 59198701A JP 19870184 A JP19870184 A JP 19870184A JP H0623976 B2 JPH0623976 B2 JP H0623976B2
Authority
JP
Japan
Prior art keywords
vector
register
instruction
data
operand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP59198701A
Other languages
English (en)
Other versions
JPS6177968A (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.)
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 JP59198701A priority Critical patent/JPH0623976B2/ja
Publication of JPS6177968A publication Critical patent/JPS6177968A/ja
Publication of JPH0623976B2 publication Critical patent/JPH0623976B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ベクトルプロセツサに関し、特に、ベクトル
レジスタの割当機構に関する。
〔発明の背景〕
一般に、ベクトルプロセツサでは、演算対象や演算結果
のベクトルデータをベクトルレジスタに格納することに
よつて、主記憶との間のデータ転送回数を節減してい
る。ところが、演算が複雑になると、ベクトルレジスタ
の所要個数が増して、物理的に設置されたベクトルレジ
スタの個数よりも多くなるという事態が、しばしば発生
する。ベクトルコンパイラは、ステートメントの静的な
解析に基づいて、ベクトルデータのベクトルレジスタへ
の最適な割当てを試みるが、演算の進行につれて変化す
る動的な状況までも正確に把握することはできないか
ら、真に効率の良い割当てを期待することはできない。
例えば、次のような一連の命令があるとする。
1) VR1←A(*) 2) VR2←B(*) 3) VR4←VR3*VR1 4) VR6←VR5+VR2 5) VR?←C(*) 第1命令はベクトルA(*)をベクトルレジスタ(以下
VRと略記)1にロードする命令であり、第2命令はベ
クトルB(*)をVR2にロードする命令である。第3
命令はVR3の内容とVR1の内容を乗算してその結果
をVR4に格納する命令であり、第4命令はVR5の内
容とVR2の内容を加算してその結果をVR6に格納す
る命令である。ここで、VRは6個しかなく、そして、
VR3〜VR6は以降の命令で使用する予定があるとす
ると、第5命令でベクトルC(*)をロードする先(V
R?)としては、VR1とVR2の2候補があるが、ど
ちらが先に解放されて再使用が可能となるかは、最近の
ベクトルプロセツサのように、複数の演算器が並行処理
を行う場合、実行時でなければ判定できない。ランダム
にVR1をこれに割当てたとすると、実際にはVR2の
方が先に解放されたときでも、第5命令の実行はVR1
の解放まで待たされるから、時間の空費となる。
〔発明の目的〕
本発明の目的は、VRの割当てを動的な状況に応じて自
動的に行なうことにより、前記のような時間の空費を防
ぎ、また、プログラムがVRの本数やそれらの割当てに
ついて考慮する必要を除くことにある。
〔発明の概要〕
本発明は、プログラム命令上はベクトルレジスタを問題
にせず、ハードウエアによりベクトルレジスタの割当て
を行なうようにするものであり、そのために、ベクトル
レジスタデイレクトリに各ベクトルレジスタの割当て状
況を登録しておき、これを検索して、命令の指定するベ
クトルデータに割当てられたベクトルレジスタが存在す
るか否かをチエツクし、存在すれば当該ベクトルレジス
タ番号を用いてベクトルレジスタ群にアクセスし、存在
しなければ、リプレイスメント回路が、新たにベクトル
レジスタの割当てを行つて、その結果をベクトルレジス
タデイレクトリに登録するように、ベクトルレジスタ制
御装置を構成したものである。
実施態様として、命令がベクトルデータ指示情報を保持
するベクトル指示レジスタ(実施例におけるDR)を指
定することによつて、間接的にベクトルデータを指定す
るとともに、ベクトルレジスタデイレクトリにおいて
も、各ベクトルレジスタに割当てられたベクトルデータ
を、前記ベクトル指示レジスタを特定することにより間
接的に特定する形式とすることができる。
〔発明の実施例〕
以下に説明する実施例は、1個のベクトル演算器と16
個のVRを有するベクトルプロセツサについてのもので
ある。第2図は、本実施例における命令のフオーマツト
を示す。命令10の第1バイトは演算の種類を指定する
OPコードである。第2ないし第4バイトは、それぞ
れ、第1ないし第3オペランドのためのベクトル指示レ
ジスタ(Description Register、以下DRと略記)の番
号R〜Rを指定し、これらのDRは、それぞれのオ
ペランドの主記憶装置上の位置を示す情報を保持する。
第1オペランド位置は演算結果の格納先であり、第2及
び第3オペランド位置は演算を受けるデータの入手先で
ある。
DRは256個設けられているものとする。第3図に示
すように、DR11の内容は4部分からなる。「データ
タイプ」は、ベクトルのエレメントの長さとデータのタ
イプ(整数、浮動小数点表示等)を示す。「スタートア
ドレス」は、当該ベクトルの最初のエレメントの主記憶
装置におけるアドレスを示す。「増分値」は、当該ベク
トルのエレメント間に対する主記憶装置のアドレス増分
値を示す。「ベクトル長」は、当該ベクトルを構成する
エレメントの個数を示す。各DR11の内容は、演算の
開始に先立つて、然るべき命令群によりセツトされる。
第1図は、ベクトルプロセツサの全体的構成を示す。ベ
クトル命令制御ユニツト20内の命令レジスタ21か
ら、第1ないし第3オペランドを指定するDR番号が、
データ線22〜24を経て、DR−VR変換回路30に
送られる。DR−VR変換回路30は、これらのDR番
号に対応するVR番号を検索して、第1オペランドのた
めのVR番号をデータ線55を経て第1オペランドVR
書込制御回路50に与え、同様に、第2オペランド及び
第3オペランドのためのVR番号を、データ線56及び
57を経て、第2オペランドVR読出制御回路51及び
第3オペランドVR読出制御回路52に与える。
第2オペランドと第3オペランドは、対応するVR読出
制御回路51と52の制御の下に、VR群43中の指定
されたVRからエレメントずつ同期して読出され、デー
タ線58と59を経て演算器44に入力される。演算結
果は、データ線60を経てVR群43に戻され、第1オ
ペランドVR書込制御回路50の制御の下に、所定のV
Rに書込まれる。
例えば、第2オペランドがVR群43中に存在しなかつ
た場合の動作は、次のようになる。まず、DR−VR変
換回路30は、データ線31を経て、第2オペランドを
指示するDRの内容をアドレス生成回路41に供給す
る。アドレス生成回路41は、受取つたDRの内容に基
づき、当該ベクトルの各エレメントのアドレスを順次生
成して、主記憶装置42に読出しを要求し、主記憶装置
42は、読出したデータ線61を経てVR群43に転送
する。その間、DR−VR変換回路30は、この読出さ
れた第2オペランドに新たに1個のVVRを割当てて、
そのVR番号を、データ線54を経てVR読出・書込制
御回路53に与え、当該VRに主記憶装置42から読出
された第2オペランドのベクトルデータを書込ませる。
同時に、このVR番号は第2オペランドVR読出制御回
路51にも与えられて、書込まれた第2オペランドはそ
のまま演算器44に供給される。
第3オペランドがVR群43中に存在しなかつた場合
も、同様にして、主記憶装置42から読出したベクトル
データを、VR群43を経由して演算器44に供給す
る。
第1オペランドに割当てられたVRが存在しなかつた場
合、DR−VR変換回路30は、それに対するVRの割
当てを行い、そのVR番号をデータ線55を経て第1オ
ペランドVR書込制御回路50に供給して、当該VRに
演算結果を書込ませる。ただし、割当て可能なVRが少
なくなつた場合には、VRだけでなく、主記憶装置42
にも、第1オペランドの書込みが行われる。このとき、
DR−VR変換回路30は、データ線31を経て第1オ
ペランドを指示するDRの内容をアドレス生成回路41
に送り、アドレス生成回路41は、第1オペランドのベ
クトルの各エレメントのアドレスを順次生成して、主記
憶装置42に書込みを要求する。同時に、DR−VR変
換回路30は、第1オペランドVR書込制御回路50に
与えたVR番号を、データ線54を経て、VR読出・書
込制御回路53にも供給して、VRに書込んだ演算結果
をそのまま読出し、データ線62を経て主記憶装置42
に転送する。
ベクトル命令ユニツト20、アドレス生成回路41、主
記憶装置42、VR群43、演算器44、及びVRの読
出し・書込み等のための制御回路50〜53は、従来の
ものでよい。特開昭58−114274号公報はその一例を示
している。
DR−VR変換回路30の構成は、第4図に示されてい
る。DR群70は、256個のDR11からなるレジス
タ群であり、命令語レジスタ21の第2〜第4バイトの
出力22〜24、すなわち第1〜第3オペランドのDR
番号により指定されたDR11の内容が、データ線91
〜93にそれぞれ読出される。VRデイレクトリ(以下
VRDと略記)73は、各VRと一対一に対応する16
個のVRDレジスタ94からなる。各VRDレジスタ9
4は、第5図に示すように、対応するVRに格納された
ベクトルデータを特定するDR11の内容(データタイ
プ、データアドレス、増分値、ベクトル長)に加えて、
当該DRの番号と、有効性フラグと、再使用可能フラグ
とを保持する。これらの内、有効性フラグは、対応する
VRが未使用ならば、“0”で、何らかの有効データが
格納されると“1”となる。また、再使用可能フラグ
は、対応するVRが再使用(割当て)可能ならば“1”
で、不可ならば“0”となる。
第4図は比較回路77〜79は、命令がDRを介して指
定したベクトルデータに割当てられたVRが存在するか
否か(第2及び第3オペランドの場合には当該ベクトル
データを保持するVRが存在するか否か)を判定するた
めのものである。これらの比較回路は、それぞれ16個
の比較器を備え、データ線74を経て、VRD73から
16個のVRDレジスタ94中のDR番号と有効性フラ
グとを同時に受取り、これらの16個の番号を、命令が
第1〜第3オペランドのために指定したDR番号(デー
タ線22〜24)とそれぞれ並列に比較して、一致があ
れば、その一致の生じた比較器の位置に基づいて対応す
るVR番号を生成する。そして、更に当該VRDレジス
タ中の有効性フラグが“1”であることを条件に、その
VR番号と一致成立を示す信号とを、データ線95〜9
7に送出する。この一致成立信号は、選択回路81〜8
3を制御して、当該VR番号を、データ線55〜57を
経て第1図のオペランドVR書込/読出制御回路50〜
52の該当する1つに供給する。それに加えて、第1オ
ペランドに割当てられたVRの存在が検出されたときに
は、データ線95により、当該VRに対応するVRDレ
ジスタ94中の再使用可能フラグを“0”として、そこ
にこれから書込まれる演算結果が読出されないうちに当
該VRが再使用されるのを、防止する。また、第2及び
第3オペランドがVR上に存在することが検出されたと
きには、データ線96,97により、当該VRに対応す
るVRDレジスタ94中の再使用可能フラグを“1”と
して、そのVRが他のベクトルデータに割当てられても
差支えのないことを表示する。
リプレイスメント回路(以下RPLと略記)76は、第
1〜第3オペランドのいずれかがVRの割当てを受けて
いなかつたときに、それに割当てるべきVRを決定す
る。この目的のために、RPL76は、データ線75を
経て、各VRDレジスタ94中の有効性フラグと再使用
可能フラグを調べ、まず、有効性フラグが“0”になつ
ているVRDレジスタを探し、あればその1個を選択す
る。有効性フラグが“0”のものが無いときは、再使用
可能フラグが“1”になつているものの中から1個を選
択する。
例えば、第2オペランドに対するVRの新規割当ては、
次のようにして行われる。命令が第2オペランドのため
に指定したDR番号と一致するDR番号がVRD73中
に発見できないことを、比較回路78からのデータ線9
6によつて検知すると、RPL76は、前述の手順によ
り選択したVRDレジスタに対応するVRの番号を、デ
ータ線54を経て第1図のVR読出・書込制御回路53
に供給するとともに、選択回路82からデータ線56を
経て第2オペランドVR読出制御回路51に供給して、
主記憶装置42から読出されるベクトルデータの受入れ
の準備をする。同時に、RPL76は、選択回路84を
制御して、命令が第2オペランドのために指定したDR
11の内容(第3図)を、データ線92から同31を経
て、第1図のアドレス生成回路41に供給し、主記憶装
置42の読出しを行わせる。RPL76は、更に、前記
のようにして選択したVRDレジスタ94に、当該DR
の内容(データ線31)とそのDR番号を書込み、かつ
その有効性フラグと再使用可能フラグを“1”にする。
第3オペランドに対するVRの新規割当ても、以上と同
様であり、ただ、決定されたVR番号は、データ線56
ではなく、同57に出力されて、第3オペランドVR読
出制御回路52に供給される点が異なる。
第1オペランドに対して新たにVRが割当てられたとき
には、この割当てられたVRの番号が、選択回路81か
らデータ線55を経て、第1オペランドVR書込制御回
路50に供給される。同時に、このVRに対応するVR
Dレジスタ94に、第1オペランドを指示するDR11
の内容が、データ線91から同31を経て書込まれる。
同時に、そのVRDレジスタ94中の有効性フラグは
“1”にセツトされる。
RPL76は、有効性フラグの元の値が“0”のVRを
第1オペランドに割当てたときには、対応するVRDレ
ジスタ94の再使用可能フラグを“0”として、当該V
Rが他のベクトルデータに割当てられるのを防止する。
この場合には、第1図のアドレス生成回路41及びVR
読出・書込制御回路53の起動は行わない。それは、割
当てが可能なVRがまた充分に残つているとみなしうる
からである。しかし、有効性フラグが“0”のVRが残
つていないために、有効性フラグは“1”であるが再使
用可能フラグが“1”のVRを第1オペランドに割当て
たときには、対応するVRDレジスタの再使用可能フラ
グは“1”のままにしておき、データ線54を経て当該
VR番号をVR読出・書込制御回路53に送つて、その
VRに書込まれた演算結果を直ちに読出すことを指示す
るとともに、対応するDRの内容をデータ線31を経て
アドレス生成回路41に送り、前記VRから読出された
演算結果(データ線62)を、主記憶装置42に書込ま
せる。この措置は、割当て可能なVRが少なくなつたこ
との対策として、第1オペランドによるVRの独占を排
して更に他のベクトルデータへの割当てを可能にすると
ともに、そのような再割当てに備えて、演算結果を主記
憶装置にも保存しておくためのものである。
この実施例では、現実には16個のVRが存在するにす
ぎないにもかかわらず、プログラム上はあたかも256
個(DRの個数)のVRが存在するかのようにみなすこ
とができる。
本発明において、演算器は1個に限られず、複数個あつ
てもよい。むしろ、複数の演算器が並行動作を行う場合
の方が、本発明の利点が活用される。また、前記の実施
例では、VRは1回読出されれば直ちに再使用が可能に
なるものとしたが、任意に指定された回数の読出しが終
るまで再使用を禁止するようにしてもよい。そのために
は、例えば、DR11に読出回数指定フイールドを設け
るととも、VRDレジスタ94には、再使用可能フラグ
に代えて、読出回数フイールドを設ける。そして、VR
Dレジスタの読出回数フイールドは、割当て当初にDR
の読出回数指定フイールドの値を転記しておいて、以
後、対応するVRからの読出しが行われる度に1ずつ減
算し、その値が“0”の状態を、前記実施例における再
使用可能フラグが“1”の状態に相当するものとして扱
う。
また、前記実施例では、DRの内容はプログラムの実行
中固定されていることが前提となつているが、途中でD
Rの内容を更新できるようにすれば、DRの個数以上の
ベクトルデータを処理することができる。そのために
は、VRD73の検索が、DRの番号ではなく、その内
容に基づいて行われるようにする。例えば、第4図にお
いて、比較回路77〜79が、一方の入力として、デー
タ線22〜24の代りに、それらが指示するDRの内容
であるデータ線91〜93を受け、また、他方の入力7
4としても、VRDレジスタ94中それらに対応するフ
イールドの内容を受けるようにすればよい。
更に、以上の実施例では、命令におけるベクトルデータ
データの指定が、DRを介して間接的に行なわれ、DR
群がいわば仮想VRを構成している形式となつている
が、DR群70を廃して、命令が直接にベクトルデータ
のスタートアドレス、増分値、ベクトル長等のベクトル
指示情報を与えるようにしてもよい。この場合、第4図
の比較回路77〜79は、命令中のベクトル指示情報と
VRDレジスタ中のベクトル指示情報を、直接比較する
ものとなり、データ線91〜93は、命令レジスタ21
の出力となる。
〔発明の効果〕
本発明によれば、プログラム作成側は物理的構造として
のVRの個数やその割当てを考慮する必要がなく、例え
ば、VRの個数が異なつてもプログラムは変えなくとも
よい。また、再使用可能なVRが存在するにもかかわら
ず他のVRの空くのを待つというような、時間の空費を
生じることもない。
【図面の簡単な説明】
第1図は本発明の一実施例のブロツクダイヤグラム、第
2図は命令のフオーマツト図、第3図はDRの内容の模
式図、第4図は第1図におけるDR−VR変換回路のブ
ロツクダイヤグラム、第5図は第4図におけるVRDレ
ジスタの内容の模式図である。 21…命令レジスタ、30…DR−VR変換回路、42
…主記憶装置、43…ベクトルレジスタ(VR)群、5
0〜53…VR群に対する書込/読出制御回路、70…
ベクトルデータ指示情報を保持するレジスタ(DR)
群、73…ベクトルレジスタデイレクトリ、76…リプ
レイスメント回路。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】複数のベクトルレジスタを有し、これらベ
    クトルレジスタ上のベクトルデータをオペランドとする
    ベクトルプロセツサにおいて、各ベクトルレジスタのベ
    クトルデータへの割当て状況を示す情報を保持するベク
    トルレジスタデイレクトリと、解読された命令内のベク
    トルデータ指定情報に応答して前記ベクトルレジスタデ
    イレクトリを検索して命令の指定するベクトルデータに
    割り当てられたベクトルレジスタが存在するか否かを調
    査し、存在する場合には当該ベクトルレジスタを指示す
    る情報をベクトルレジスタアクセス制御回路へ出力する
    回路と、存在しない場合にベクトルレジスタの割当てを
    行つて、その結果を前記ベクトルレジスタデイレクトリ
    に登録するリプレイスメント回路とを備えることを特徴
    とするベクトルレジスタ制御装置。
  2. 【請求項2】特許請求の範囲1において、前記命令内の
    ベクトルデータ指定情報は、ベクトルデータを特定する
    ベクトルデータ指示情報が格納されたベクトル指示レジ
    スタの識別情報を含み、前記ベクトルレジスタデイレク
    トリ内の割当て状況を示す情報は、各ベクトルレジスタ
    が割当てられたベクトルデータのベクトルデータ指示情
    報が格納されたベクトル指示レジスタの識別情報を含
    み、前記ベクトルレジスタを指示する情報を出力する回
    路は、命令内のベクトル指示レジスタ識別情報とベクト
    ルレジスタデイレクトリ内のベクトル指示レジスタ識別
    情報を比較する回路を含むことを特徴とするベクトルレ
    ジスタ制御装置。
JP59198701A 1984-09-25 1984-09-25 ベクトルレジスタ制御装置 Expired - Lifetime JPH0623976B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59198701A JPH0623976B2 (ja) 1984-09-25 1984-09-25 ベクトルレジスタ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59198701A JPH0623976B2 (ja) 1984-09-25 1984-09-25 ベクトルレジスタ制御装置

Publications (2)

Publication Number Publication Date
JPS6177968A JPS6177968A (ja) 1986-04-21
JPH0623976B2 true JPH0623976B2 (ja) 1994-03-30

Family

ID=16395586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59198701A Expired - Lifetime JPH0623976B2 (ja) 1984-09-25 1984-09-25 ベクトルレジスタ制御装置

Country Status (1)

Country Link
JP (1) JPH0623976B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4734076B2 (ja) * 2005-10-04 2011-07-27 クインライト電子精工株式会社 綴結び機での針幅調整機構

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58187850U (ja) * 1982-06-04 1983-12-13 株式会社日立製作所 ベクトル処理装置

Also Published As

Publication number Publication date
JPS6177968A (ja) 1986-04-21

Similar Documents

Publication Publication Date Title
US7434032B1 (en) Tracking register usage during multithreaded processing using a scoreboard having separate memory regions and storing sequential register size indicators
US4449184A (en) Extended address, single and multiple bit microprocessor
US4031517A (en) Emulation of target system interrupts through the use of counters
JP3724582B2 (ja) 命令実行ユニットのためのレジスタ・リネーミング回路
EP0213843A2 (en) Digital processor control
EP0551148A2 (en) Direct input/output in a virtual memory system
JPS63289659A (ja) 記憶装置保護方式
EP0523863B1 (en) Digital data processor for high level instructions
US7093105B2 (en) Method and apparatus for determining availability of a queue to which a program step is issued out of program order
EP0126247B1 (en) Computer system
JP3773470B2 (ja) データ処理装置内でのコプロセッサ命令の取り扱い
US4974143A (en) Information processing apparatus wherein address path is used for continuous data transfer
KR19990037572A (ko) 뱅크 어드레스 값을 공급하는 다중 소스를 구비하는 프로세서구조 설계 및 그 설계방법
US4991083A (en) Method and system for extending address space for vector processing
JP2551167B2 (ja) マイクロコンピュータ
JPH07281948A (ja) メモリ制御装置
JPH0623976B2 (ja) ベクトルレジスタ制御装置
JPS59106075A (ja) デ−タ処理システム
JP3453761B2 (ja) アドレス変換方式
US3513446A (en) Data processing system wherein the instruction word contains plural data word addresses
JP2941583B2 (ja) データ処理装置
EP0297895A2 (en) Apparatus and method using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system
JPS6032220B2 (ja) 情報処理装置
US6711655B1 (en) Finding available memory space by finding its associated memory transfer controller
EP0938047A1 (en) Memory protection method and device therefor