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

ベクトル命令処理方式

Info

Publication number
JPS5853387B2
JPS5853387B2 JP239677A JP239677A JPS5853387B2 JP S5853387 B2 JPS5853387 B2 JP S5853387B2 JP 239677 A JP239677 A JP 239677A JP 239677 A JP239677 A JP 239677A JP S5853387 B2 JPS5853387 B2 JP S5853387B2
Authority
JP
Japan
Prior art keywords
vector
operand
data
register
address
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
Application number
JP239677A
Other languages
English (en)
Other versions
JPS5388544A (en
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 JP239677A priority Critical patent/JPS5853387B2/ja
Publication of JPS5388544A publication Critical patent/JPS5388544A/ja
Publication of JPS5853387B2 publication Critical patent/JPS5853387B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 (1)発明の利用分野 本発明は、ベクトル命令処理方式に関するものである。
特に命令語を処理するデータ処理装置において、データ
の配列ベクトルをオペランドとして用いるベクトル命令
の処理方式の改良に関するものである。
(2)従来技術 従来のベクトル命令は、A (I)= B (I)+
C(I)など配列ベクトルA(I) 、 B(I) 、
C(I)が記憶装置上にとられていた。
このためA (I)−I + C(I)などのように値
を直接オペランドとして用いる配列ベクトルの処理がで
きなかった。
(3)発明の目的 本発明はベクトル命令の処理において、値を直接オペラ
ンドとして使用する配列ベクトルの処理を可能にするこ
とを目的とする。
(4)発明の詳細説明 られるフラグよりベクトル命令のオペランドが直接値を
生成するかどうかを判定する装置と、そのオペランドの
値を直接生成する装置とを持つ。
(5)実施例 以下、本発明を実施例を参照して詳細に説明する。
第1図は本発明によるベクトル演算処理装置の構成を示
す。
1は命令制御ユニット、2は演算ユニット、3は記憶制
御ユニット、4は主記憶装置、5はベクトル命令制御ユ
ニット、6は保守制御ユニットである。
いまベクトル命令以外の通常の命令語の処理の流れを簡
単に述べる。
命令語は主記憶装置4に格納されているが、命令制御ユ
ニット1により記憶制御ユニット3を経由して命令語が
命令制御ユニット1に取り込まれる。
この後命令語は命令制御ユニット1によって命令語の解
読、オペランドアドレスの計算が行なわれ、オペランド
の読み出しと命令の演算が演算ユニット2によって実行
される。
オペランドの読み出しは記憶制御ユニット3を経由して
行なわれる。
ベクトル命令の場合も通常の命令語の処理と同じく命令
制御ユニット1によって命令語の取り込み、命令語の解
読が行なわれる。
第2図に本実施例におけるベクトル命令の形式を示す。
命令コード102はベクトル命令の場合も通常の命令語
と同様にある命令コード(本実施例では’B4’)が与
えられる。
ベクトル指令指定の汎用レジズタ番号B2は汎用レジス
タの番号を示しているがこの汎用レジスタの内容のベク
トル指令部分110とD2で示されるベクトル指令デー
タ106が、加算器112で加算されてベクトル指令コ
ード111となる。
このベクトル指令コード111はベクトル演算の種類コ
ード(加算、減算、乗算、除算、内積演算など)を示す
アドレスベクトル指令汎用レジスタ番号R3は汎用レジ
スタ番号を示しているが、この汎用レジスタの内容のア
ドレスベクトルのアドレス109によってアドレスベク
トル114のアドレスが指示される。
アドレスベクトル114は本実施例では3つのオペラン
ドベクトル・テーブルアドレスから構成される。
3つとは第1オペランド用、第2オペランド用、第3オ
ペランド用のベクトルテーブルアドレスである。
第2図の例では、第2オペランドについて図示している
が、第1オペランド、第3オペランドの場合も同様であ
る。
第2オペランドベクトルテーブルアドレス116に示さ
れたアドレスによって第2オペランドベクトルテーブル
118が指示される。
第2オペランドベクトルチーフル118は第2オペラン
ドベクトルアドレス119とアドレスインクリメント値
120とプラグ121から構成される。
今、A(I) = B (I )+ C(I)の場合を
例にとって考えると、A(I) 、 B(I) j C
(I)がそれぞれ第1、第2、第3オペランドに対応す
る。
第2オペランドベクトルアドレス119は、配列ベクタ
B(I)のオペランドの先頭アドレス(すなわちB (
I)のアドレス)を示している。
アドレスインクリメント値120は第2オペランドB
(I)の使用ピッチを示す。
フラグ121は本発明の重要な部分である。
本実施例では、このフラグ121は8ビツトがら構成さ
れていて、そのうちの1ビツトが値をオペランドとして
直接用いるかどうかを指示する。
A(I)= I +C(I)の演算の場合はこのビット
を/1/にしておくことによって■という値がオペラン
ドとして直接用いられる。
このとき、オペランドベクトルテーブル118のオペラ
ンドベクトルアドレスフィールド119には直接生成す
べきオペランドの初期値が記憶され、アドレスインクリ
メント値フィールド120には、直接生成すべきオペラ
ンドの相隣り合う要素の差(増分値)が記憶される。
たとえば、A(I)= I +C(I+という演算に用
いる“I”′というオペランドをI=1.2.3・・・
・・・・・・と変化して生成するとき、フィールド11
9120にはともに1がセットされる。
第3図に本発明の重要な装置であるベクトル命令制御ユ
ニット5の一層詳細なブロック図を示す。
第2オペランドベクトルテーブル118は演算ユニット
2に読み出されるが、これをL14を介してベクトル命
令制御ユニット5に転送される。
オペランドベクトルアドレス119はレジスタ205に
、アドレスインクリメント値120はレジスタ203に
、フラグ121はレジスタ201にそれぞれセットされ
る。
同様に、第3オペランドベクトルチーフルアドレス11
7に基づき第3オペランドベクトルテーブル(図示せず
)が読出され、その中のオペランドベクトルアドレス、
アドレスインクリメント値、フラグがそれぞれレジスタ
206,204,202にセットされる。
第2オペランドバツフア209と第3オペランドバツフ
ア210は、それぞれ第2、第3オペランドの先行読み
出し用バッファに用いられる。
オペランドが配列ベクタB(I) 、 C(I)の様に
メモリ上にとられている場合は、これらのオペランドバ
ッファを用いて先行読み出しを行ない、次に必要とする
第2、第3オペランドをそれぞれレジスタ21L レジ
スタ212にセットし、インタフェース装置213を通
りL5を介して演算ユニット5に送られる。
この場合、第2又は第3のオペランドを主記憶装置4か
ら読出すには、公知の回路(図示せず)が用いられる。
たとえば、第2オペランドを主記憶装置から読出す場合
、テーブル118のオペランドベクトルアドレス119
を第1のベクトル要素のアドレスとしてそのまま主記憶
装置4に送出し、その後、このオペランドベクトルアド
レスに繰り返しアドレスインクリメント値120を加算
して、後続の要素のアドレスを作成し、これらにより主
記憶装置4をアクセスする1但し、この主記憶装置4か
らのオペランドベクトルの読出しは、オペランドベクト
ルテーブル内のフラグが00ときのみ行なわれる。
こうして読出された第2オペランドとしてのベクトルが
先読みされ、バッファ209にストアされる。
第3オペランドを主記憶装置4から読出す場合も同様で
あり、第3オペランドが先読みされ、バッファ210に
ストアされる。
オペランドがメモリ上にとられているか、あるいは直接
生成すべきかどうかは、第2オペランドについてはレジ
スタ201.第3オペランドについてはレジスタ202
の内容によって指示される。
たとえば第2オペランドについては、レジスタ201の
指定されたビットが1ならば直接生成すべきオペランド
として、生成すべきベクトルの先頭要素が記憶されてい
るレジスタ205の内容が加算器207を素通りしてレ
ジスタ208にセットされ、さらにレジスタ205にセ
ットされる。
その後、レジスタ205の内容と、増分値が記憶されて
いるレジスタ203の内容が加算され、その結果がレジ
スタ208にセットされ、さらにレジスタ205にセッ
トされる。
以下同様に加算が繰り返される。
こうして、レジスタ208に直接生成すべきベクトルオ
ペランドの要素が順次ストアされる。
一方、レジスタ208にセットされたベクトルオペラン
ドの要素はこのセットのたびに線L203を介してレジ
スタ211にセットされる。
レジスタ208の内容はL203を介してレジスタ20
5およびレジスタ211にセットされる。
レジスタ201の内容はL201を介して送出されレジ
スタ2110セツトすべき人力がL203であるか、L
204であるかを決める。
第3オペランドについても同様である。
レジスタ202にフラグがセットされ、その内容によっ
て第3オペランドがメモリ上にあるかあるいは直接生成
すべきかが決定される。
直接生成すべきオペランドの場合は、第3オペランド用
に生成すべき先頭のベクトル要素が、加算器207を素
通りしてレジスタ208にセットされ、さらにレジスタ
206にセットされる。
その後、レジスタ206の内容に増分値が入っているレ
ジスタ204の内容が加算器207により繰り返し加算
され、その都度結果がレジスタ208にセットされ、さ
らにレジスタ206に再セットされる。
こうして、レジスタ208に直接生成すべき第3オペラ
ンド用のベクトルの要素が順次ストアされる。
一方、レジスタ208にセットされたベクトル要素はこ
のセットのたびに線L203を介してレジスタ212に
セットされる。
レジスタ212はレジスタ202のフラグが1のときこ
のセットを行ない、このフラグがOのときには、バッフ
ァ210からの出力L205をセットするように制御さ
れる。
したがって、ベクトル演算A(I)−I +C(I)の
ごとく、第2オペランドが直接生成すべきオペランドの
ときには、レジスタ211にはレジスタ208に順次生
成されるベクトル要素■がセットされ、主記憶装置4か
ら先読みされた第3オペランドのベクトル要素がバッフ
ァ210からレジスタ212にセットされる。
レジスタ212とレジスタ211に次に演算すべきオペ
ランドがセットされ、演算ユニット2にL5を介して送
出される。
演算ユニット2では演算を開始する際にL5を介して送
られるオペランドを受取り、演算の実行を開始する。
ベクトル命令制御ユニット5では、演算ユニット2が演
算の実行を開始すると次のオペランドをレジスタ211
、レジスタ212にセットする。
(6)まとめ 以上説明したごとく本発明によれば、オペランドを直接
生成するかどうかを判定する装置と、オペランドを直接
生成する加算器を有することによって、A(I)−I
+C(I)といったオペランドを直接生成するベクトル
命令の処理を可能にした。
【図面の簡単な説明】
第1図は本発明の一実施例を示すデータ処理装置の概略
図、第2図は本実施例におけるベクトル命令形式の概略
図、第3図は本発明の詳細な説明の一実施例を示す一層
詳細なブロック図である。

Claims (1)

  1. 【特許請求の範囲】 1 複数の配列ベクトルを記憶する第1の手段と、該複
    数の配列ベクトルの各々の先頭の要素のアドレスを表わ
    す第1のデータとアドレスインクリメントを表わす第2
    のデータとからなる組データと、生成すべき配列ベクト
    ルの先頭要素を表わす第1のデータおよび要素間の増分
    値を表わす第2のデータとからなる紹データとを記憶す
    る第2の手段と、所定のベクトル命令に応答して、該第
    2の手段から第1、第2の組データを読出す第3の手段
    と、該読出された第1の組データの、第1のデータにそ
    の第2のデータを繰り返し加算して複数の読出しアドレ
    スを発生し、該発生した複数のアドレスに基づき該第1
    の記憶手段から該第1の配列ベクトルを読出す第4の手
    段と、該読出された第2の組データの第1のデータにそ
    の第2のデータを順次力目算して該第2の配列ベクトル
    を生成する第5の手段と、該第1、第2の配列ベクトル
    に対して該命令で指定された演算を実行する第6の手段
    とからなるベクトル命令処理方式。 2 該第2の手段は、記憶した組データの各々が、該生
    成すべき配列ベクトルに対するものか否かを表示するフ
    ラグを各組のデータに付随して記憶する手段であり、該
    第3の手段は、該命令に応答して二つの組データを該第
    2の手段から読出す手段であり、該第4、第5の手段は
    該読出された二つの組データの内、該フラグがそれぞれ
    第1、第2の値のものを該第1、第2の組データとする
    ものである第1項のベクトル命令処理方式。
JP239677A 1977-01-14 1977-01-14 ベクトル命令処理方式 Expired JPS5853387B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP239677A JPS5853387B2 (ja) 1977-01-14 1977-01-14 ベクトル命令処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP239677A JPS5853387B2 (ja) 1977-01-14 1977-01-14 ベクトル命令処理方式

Publications (2)

Publication Number Publication Date
JPS5388544A JPS5388544A (en) 1978-08-04
JPS5853387B2 true JPS5853387B2 (ja) 1983-11-29

Family

ID=11528068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP239677A Expired JPS5853387B2 (ja) 1977-01-14 1977-01-14 ベクトル命令処理方式

Country Status (1)

Country Link
JP (1) JPS5853387B2 (ja)

Also Published As

Publication number Publication date
JPS5388544A (en) 1978-08-04

Similar Documents

Publication Publication Date Title
JPS5852265B2 (ja) デ−タ処理装置
JPS6029126B2 (ja) デ−タ処理装置
JPS5853387B2 (ja) ベクトル命令処理方式
JPS59114677A (ja) ベクトル処理装置
JPH07110769A (ja) Vliw型計算機
JP2743947B2 (ja) マイクロプログラム制御方式
JPS5856027A (ja) 条件付比較演算装置
JPS5971542A (ja) 演算処理装置
JP2558721B2 (ja) 入出力回路
JP2652973B2 (ja) 画像処理装置
JP3155056B2 (ja) 情報処理装置
JPS5925264B2 (ja) ベクトル命令処理方式
JPH0234058B2 (ja)
JPS59165143A (ja) デ−タ処理装置
JPS6028014B2 (ja) マイクロプロセツサ
JPS59223846A (ja) 演算処理装置
JPH02128223A (ja) 演算処理装置
JPS61147333A (ja) レジスタセレクト回路
JPH0256027A (ja) ディジタルシグナルプロセッサの並列処理方式
JPS62251930A (ja) 情報処理装置
JPH0320828A (ja) 情報処理装置
JPH0758459B2 (ja) マイクロプログラム制御装置
JPS6319897B2 (ja)
JPH0241522A (ja) 関数演算処理装置
JPS63262744A (ja) 直接メモリ制御方式