JPH0492965A - ベクトル命令処理方式 - Google Patents

ベクトル命令処理方式

Info

Publication number
JPH0492965A
JPH0492965A JP20688990A JP20688990A JPH0492965A JP H0492965 A JPH0492965 A JP H0492965A JP 20688990 A JP20688990 A JP 20688990A JP 20688990 A JP20688990 A JP 20688990A JP H0492965 A JPH0492965 A JP H0492965A
Authority
JP
Japan
Prior art keywords
vector
vector register
instruction
register
parallel
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
JP20688990A
Other languages
English (en)
Inventor
Masatsugu Inoue
井上 正嗣
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 JP20688990A priority Critical patent/JPH0492965A/ja
Publication of JPH0492965A publication Critical patent/JPH0492965A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、ベクトル命令処理装置に於ける複数のベクト
ル命令の並列実行に関するものである。
〔従来の技術〕
従来、命令の並列処理に関しては特公昭61−5251
2号に記載のものが公知である。
2つのベクトル命令VLD、VADの実行について並列
処理を説明する。第1図はこの2命令を逐次処理する例
を示している。先行するVLD命令にて主記憶1001
に格納されているオペランドはパス1101.セレクタ
1004を経由してベクトルレジスタ1002に格納さ
れる。次に後続のVAD命令は先行するVLD命令によ
りベクトルレジスタに格納済オペランドをパス1103
経出で、また主記憶に格納されているオペランドをパス
1101.1102経由で演算器1103へ入力し演算
結果をパス1104、セレクタ1004経出でベクトル
レジスタ10o2へ格納する。
この処理に於てVLD、VAD命令の処理に各々時間t
を必要とすると、2命令終了するには2tの時間が必要
となる。
第2図は2命令を並列処理する例を示している。VLD
命令は主記憶1001よりオペランドをパス1101、
セレクタ1004経由でベクトルレジスタ1002へ転
送、格納する。この時該当オペランドはパス1102経
出演算器1003へ入力され同時にもう一つのオペラン
ドは主記憶からパス1105経由で演算器へ入力され、
演算結果はパス1104、セレクタ1004経由ベクト
ルレジスタへ転送格納される。
この処理に要する時間はtであり、この様に2命令を並
列処理することにより命令処理時間の短縮をすることが
出来る。
しかし上記の様な並列処理に於ては、並列実行する命令
のうちの先行命令の処理で何らかの割込み要因が発生し
、命令処理が中断される場合、(後続命令の処理も並行
して実行されている為)。
後続命令がベクトルレジスタ或いは記憶装置内データの
更新を行なう場合、命令が逐次処理される場合には行な
われないはずの更新が実行されてしまうという問題があ
った。
〔発明が解決しようとする課題〕
本発明は、上記従来技術で説明したような、複数のベク
トル命令の並列実行時に先行命令にて割込みが発生して
後続命令の処理が本来抑止されるべき事態となったとき
、本来行なわれないはずの後続命令による更新の発生を
抑止することが可能な複数のベクトル命令の並行実行方
式を提供することを目的とするものである。
〔課題を解決するための手段〕
上記目的を達成するために、後続命令による演算結果を
一時格納する為にプログラム指定可能なベクトルレジス
タ本数より余分にベクトルレジスタを設け、かつベクト
ルレジスタ番号をフローティング化し、論理ベクトルレ
ジスタ番号と物理ベクトルレジスタ番号の対応を変更可
能とする。これにより、並列処理される命令のうち、後
続命令の演算結果を当該命令のオペランドフィルドで指
定されるベクトルレジスタではなく余剰となっているベ
クトルレジスタに出力するようにする。これにより、も
し先行命令処理に於て割込み条件等が発生せず正常終了
した場合は、並列処理の終了時に後続命令の演算結果が
格納された余剰ベクトルレジスタの論理レジスタ番号を
後続命令のオペランドフィルドで指定される論理ベクト
ルレジスタ番号で再登録し、以前その論理ベクトルレジ
スタ番号を帯びていたベクトルレジスタは余剰レジスタ
として再登録し、次の並列処理実行時に使用可能とする
。先行命令が割込み等で処理が中断された場合は、後続
命令による演算結果は無視され、論理ベクトルレジスタ
番号の再登録は行なわれない。
この動作を第3図にて説明する。この例では、先行命令
:記憶アドレスSTOからベクトルレジスタ00番への
データロード、と後続命令:ベクトルレジスタ00番と
記憶アドレスSTIのデータの加算を行い結果をベクト
ルレジスタ01番へロード、の並列処理を示している。
命令ではベクトルレジスタ番号は2ビツトで表わされ、
従って4本の独立したベクトルレジスタがプログラムで
指定可能である。物理的にはこの4本の他に即述の並列
処理用に更に1本のベクトルレジスタを備え、これらは
3ビツトのベクトルレジスタ物理番号000〜100で
識別される。各ベクトルレジスタはこれとは別に2ビツ
トのベクトルレジスタ論理番号をもち、命令で指定され
るベクトルレジスタ番号に対応する。命令の並列処理が
正常終了する場合は、物理番号000、論理番号00の
ベクトルレジスタにはVLD命令により記憶アドレスS
TOよりロードされた記憶データが、また物理番号10
0のベクトルレジスタにはVAD命令による加算結果が
格納されており、物理番号011、論理番号01のベク
トルレジスタ(論理番号01のベクトルレジスタで本来
VADの演算結果を格納すべきベクトルレジスタ)の内
容は命令の実行前から不変である。このとき、並列処理
終了時に各ベクトルレジスタの論理番号の再登録が行な
われ、余剰レジスタに対応する論理番号にはVAD命令
の結果格納用ベクトルレジスタの論理番号01が再登録
され、以後の処理にはこのベクトルレジスタの内容がベ
クトルレジスタ01番として使用される。命令実行前に
ベクトルレジスタ01番として用いられていたベクトル
レジスタの物理番号011は、新しい余剰ベクトルレジ
スタ物理番号として登録され、かつ、物理レジスタ01
1のベクトルレジスタは、以後余剰レジスタと見伽され
1次に再設定されるまで処理には用いられない。
以上述べた様な方式でベクトル命令の並列処理を実現す
れば、処理途中で割込発生し処理が中断されてもベクト
ル命令を逐次処理したときと同一の結果を得ることが出
来る。
〔実施例〕
以下1本発明の実施例を第4図により説明する。
尚本例では第3図で示したVLD、VAD命令の並列処
理を示す。記憶装置から読み出された命令はパス61経
出で命令レジスタ1にセットされ解読論理3で解読され
る。更に後続の命令も引続きパス61経出で命令レジス
タ2にセットされデコード論理3で解読される。解読論
理3はこの2命令が並列処理可能か否か判定し、可能な
場合はパスパス84を励起して制御論理4を起動する。
逐次処理に於ては、先行するVLD命令の記憶オペラン
ドは記憶装[10からパス62.64.及びセレクタ3
1を経由して5のベクトルレジスタ(論理番号O)ヘロ
ードされる。一方、後続のVAD命令は先行するVLD
命令で5のベクトルレジスタ(論理番号O)にロードさ
れたオペランドと記憶装置10からパス63及びセレク
タ36経出で転送される記憶オペランドを加算器9で加
算し、結果をパス65、セレクタ32経由で6のベクト
ルレジスタ(論理番号1)ヘロードする。
本発明に於ては、並列処理を実現する為に後続命令の処
理が以上の逐次処理とは異なる。即ちVLD命令の記憶
オペランドはパス62.64セレクタ31経由でベクト
ルレジスタに入力されるとともに、セレクタ35経由で
加算器9へ入力される。同時に、VAD命令の記憶オペ
ランドがパス63.セレクタ36経出で加算器9へ入力
され、結果はパス65.セレクタ34経由で8のベクト
ルレジスタ4ヘロードされる。この間、本来のベクトル
レジスタ1である6のベクトルレジスタは変更されない
。先行命令か常に終了したときベクトルレジスタ4の論
理番号は1に、ベクトルレジスタ1の論理番号は5とな
り、剰余レジスタとして登録される。後続命令処理中に
割込みを検出した場合、割込み処理は保留され、先行命
令の正常終了後割込み処理を開始する。先行命令が割込
み等で正常終了しなかった場合は、後続命令の割込み条
件は捨てられる。
この方式に於けるもう一つの問題は、処理開始、あるい
は処理終了するベクトルレジスタの要素番号が各々′O
′、或いは最終エレメントではないとき、演算でロード
されるエレメント以外のエレメントには命令開始前の値
を保証する必要がある。
これは■要素0から最終要素まで全ての要素処理が指定
された場合のみ並列処理を行う。■命令終了前に上記の
残余エレメントへ旧ベクトルレジスタ値を転送して値を
保証する0等、いくつかの方式が可能である。
第5図にこの動作を実現する為の制御回路の一例を示す
。この例では、各ベクトルレジスタは要素0から要素F
Fまで計256要素より成り、全要素に対し処理が行な
われる場合のみ並列動作を行なう論理を示している。1
01は状態レジスタで、その中に処理を開始すべき要素
番号と終了すべき要素番号を記憶している。大小比較回
路102.103は、この開始要素番号、終了要素番号
が各々02FFであるか比較し、比較一致時は各々パス
121゜122を経由してデコード論理3に報告する1
次に1.2は各々先行命令レジスタ、後続命令レジスタ
であり、各々先行命令、後続命令がセットされる。命令
レジスタ1,2の命令コード部はパス123、124経
由でデコード論理3へ入力される。デコード論理3は先
行命令、後続命令を認識し、並列処理可能な命令列か否
かを判定し、かつ状態レジスタ101の開始要素番号と
終了要素番号の比較結果よりベクトルレジスタの全要素
(要素番号OからFFまで)の処理が指定されている事
をv&識すると、パス134を励起し制御論理に並列処
理を指示する。
一方、命令レジスタ1,2のベクトルレジスタ番号指定
部は各々パス125.126.127.128経由で論
理番号、物理番号変換回路104.105.106.1
07へ入力され、対応する物理ベクトルレジスタ番号を
パス129.130.131.132へ出力する。ベク
トルレジスタ入力選択回路108は並列処理可能を示す
パス134がオンのとき、パス129上のVLD命令の
書込みベクトルレジスタの入力セレクタ(第4図のセレ
クタ31)の記憶データバス側をパス81経出で選択す
る。他の入力セレクタ32〜34は全て加算器出力パス
65をパス81経由で選択する。加算器入力選択回路1
09は命令逐次処理時はパス130で示される物理番号
で示されるベクトルレジスタからのデータ入力をパス8
3を介して指定するが、並列処理の信号134がオンの
ときセレクタ35に記憶データを選択させる。セレクタ
36は記憶データではなくベクトルレジスタデータを選
択させ、この両データにより加算器9で加算される。1
12は余剰ベクトルレジスタ番号レジスタである。演算
結果の格納先となるベクトルレジスタ番号は並列処理/
逐次処理により異なることは既に説明した。逐次処理の
場合、VAD命令の結果格納先ベクトルレジスタ番号は
命令レジスタ2の内の′01′で示される論理番号であ
る。これがパス127経由テ論理番号、物理番号変換回
路106によりベクトルレジスタの物理番号に変換され
、パス131経由セレクタ111へ入力される。このと
き並列処理指示パス134がオフならパス131のベク
トルレジスタ番号がパス82へ出力され、これに対応す
る物理番号をもつベクトルレジスタに結果の格納が行な
われる。
並列処理の場合、並列処理指示パス134がオンとなり
、この時セレクタ111はパス133経由で余剰ベクト
ルレジスタ番号レジスタ112にセットされている余剰
ベクトルレジスタの物理番号をパス82へ出力し、従っ
て演算結果は余剰ベクトルレジスタへ格納される。先行
命令が正常終了すると、ベクトルレジスタの論理番号と
物理番号の対応付けが更新される。即ち、論理番号′0
1′に対応するベクトルレジスタの物理番号として、そ
れまで余剰ベクトルレジスタ番号レジスタ112にセッ
トされていた余剰ベクトルレジスタの物理番号が新たに
論理番号、物理番号変換回路104.105.106゜
107に登録されるとともに、それまで論理番号′01
′で示されていたベクトルレジスタは、余剰レジスタと
されその物理番号が余剰ベクトルレジスタ番号レジスタ
112ヘセツトされる。
この処理の例を第6図に示す、この例では、論理番号0
0.01.10.11には各々物理番号ooo、 oi
o。
001、011.のベクトルレジスタが対応し、かつ余
剰レジスタとして物理番号100のベクトルレジスタが
対応しているものとする。論理番号、物理番号変換回路
106は、命令レジスタ内のオペランドフィルドにより
論理番号を指定され、これに対応する物理番号をパス1
31へ出力する。先行命令終了時にそれまで論理番号″
01′に対応していた物理番号’010″は、パス13
1.141を経由して余剰ベクトルレジスタ番号レジス
タ112ヘセツトされ。
以後物理番号’oio’のベクトルレジスタは余剰レジ
スタとして扱かわれ、次の並列処理実行まで使用されな
くなり同時に、それまで余剰ベクトルレジスタとして扱
かわれていたベクトルレジスタの物理番号’100’ 
がパス141経由で論理番号、物理番号変換回路106
の論理番号′01′に対応する物理番号として登録され
、以後論理番号′O1′のベクトルレジスタとして物理
番号JOO’のベクトルレジスタがアクセスされる。
〔発明の効果〕
本発明によれば、複数のベクトル命令の並列実行が実現
出来るので命令の処理性能向上が可能となり、かつ後続
命令の演算結果の格納用に余剰なベクトルレジスタを設
け、後続命令により本来更新されるデータを先行命令の
完了まで保存出来る機能を備えることにより複数命令が
並列実行された場合と逐次処理された場合とで割り込み
発生時も含め得られる結果を完全に一致させることが出
来るため割込み処理を場合分けする必要がなくなり処理
の単純化が可能となる。
【図面の簡単な説明】
第1図は2つのベクトル命令を逐次処理する方式を示す
図、 第2図は2つのベクトル命令を並列処理する方式を示す
図、 第3図は各ベクトルレジスタの更新状況と各ベクトルレ
ジスタの論理番号の更新状況を示す図。 第4図は本発明の一実施例を示す図、第5図は第4図に
示される制御回路の一実施例を示す図。 第6図は論理番号、物理番号変換回路の更新処理概略を
示す図である。 1.2・命令レジスタ、3・・・デコード論理、4・・
制御論理、5〜8・・・ベクトルレジスタ、9・・・加
算器、10・・・記憶装置、31〜34・・・ベクトル
レジスタ入力データセレクタ、35.36・・・加算器
入力データセレクタ、61〜64・・・データバス、8
1〜83・・・制御パス、101・・・状態レジスタ、
 102.103・・・・・・大小比較回路、104、
105.106.107・・・論理番号、物理番号変換
回路、108.109.1]、0.111・・・物理番
号セレクタ。 112・・・余剰ベクトルレジスタ番号レジスタ、12
1〜141・・・パス、 1001・・・主記憶、1002・・・ベクトルレジス
タ、1003・・・閑 を 彎一−、1 を−一一一番 口7コ ロコー′富′ ヒL囮 (艷#ryりい)

Claims (1)

    【特許請求の範囲】
  1. 1、記憶装置と、記憶装置内に存在するデータの一部を
    格納するベクトルレジスタと、記憶装置或いはベクトル
    レジスタ内に存在するデータを記憶装置とベクトルレジ
    スタ間で転送したり演算処理を実行し結果をベクトルレ
    ジスタに格納したりするベクトル命令を実行する処理装
    置に於て、処理すべきプログラム内のベクトル命令を解
    読し、連続するベクトル命令が並列実行可能か否か検出
    するデコード回路と、デコード結果によりベクトルレジ
    スタの読出しパス、書込みパス、及び書込み制御を行う
    制御回路と、ベクトル命令を並列実行時の演算結果を一
    時的に記憶しておく為の余分のベクトルレジスタを設け
    ることにより、従来逐時的に行なわれていた命令処理を
    並列実行することを可能とすることにより処理性能を向
    上させたベクトル命令処理方式。
JP20688990A 1990-08-06 1990-08-06 ベクトル命令処理方式 Pending JPH0492965A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20688990A JPH0492965A (ja) 1990-08-06 1990-08-06 ベクトル命令処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20688990A JPH0492965A (ja) 1990-08-06 1990-08-06 ベクトル命令処理方式

Publications (1)

Publication Number Publication Date
JPH0492965A true JPH0492965A (ja) 1992-03-25

Family

ID=16530731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20688990A Pending JPH0492965A (ja) 1990-08-06 1990-08-06 ベクトル命令処理方式

Country Status (1)

Country Link
JP (1) JPH0492965A (ja)

Similar Documents

Publication Publication Date Title
US4745547A (en) Vector processing
JP3619939B2 (ja) 中央処理装置
JPH0545985B2 (ja)
US5381531A (en) Data processor for selective simultaneous execution of a delay slot instruction and a second subsequent instruction the pair following a conditional branch instruction
JPH09212371A (ja) レジスタ退避及び復元システム
US4541047A (en) Pipelined data processing system
US4739470A (en) Data processing system
JP2003058381A (ja) プログラムによる例外処理設定を可能にしたプロセッサ
JPH01269131A (ja) 命令先行制御方式
EP0397414A2 (en) Control device having a function of modifying a microinstruction
JPH0492965A (ja) ベクトル命令処理方式
EP1132813A2 (en) Computer with high-speed context switching
JPS6116335A (ja) 情報処理装置
JP2577023B2 (ja) 情報処理装置のアドレス拡張制御方式
JP2503984B2 (ja) 情報処理装置
JP3454393B2 (ja) データ処理装置
JP3211791B2 (ja) ループ処理方式
JPH09223009A (ja) データ処理装置と方法
JPS58200349A (ja) マイクロプログラム制御装置
JP2583614B2 (ja) ベクトル演算装置
JP3060917B2 (ja) プロセッサ
JPS6116334A (ja) デ−タ処理装置
JPH0233173B2 (ja)
JP2001166918A (ja) プロセッサシステム
JPH06309165A (ja) 情報処理装置