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

ベクトル命令処理方式

Info

Publication number
JPS5925264B2
JPS5925264B2 JP240377A JP240377A JPS5925264B2 JP S5925264 B2 JPS5925264 B2 JP S5925264B2 JP 240377 A JP240377 A JP 240377A JP 240377 A JP240377 A JP 240377A JP S5925264 B2 JPS5925264 B2 JP S5925264B2
Authority
JP
Japan
Prior art keywords
vector
instruction
operand
address
register
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
JP240377A
Other languages
English (en)
Other versions
JPS5388545A (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 JP240377A priority Critical patent/JPS5925264B2/ja
Publication of JPS5388545A publication Critical patent/JPS5388545A/ja
Publication of JPS5925264B2 publication Critical patent/JPS5925264B2/ja
Expired legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明はベクトル命令処理方式に関する。
さらに詳細には、データの配列ベクトルをオペランドと
して用いる命令の処理方式に関する。ベクトル命令を処
理するデータ処理装置においてデータ配列ベクトルを効
率よくアクセスすることが重要である。
とくにデータ配列ベクトルがメモリ上連続して配列され
ている場合には、予め数個のベクトルを読み出しておく
方式が必要になる。本発明の目的はベクトル命令の処理
を高速に処理するベクトル命令処理方式を提供すること
にある。そのために、本発明の主な特徴は、ベクトル命
令により与えられるベクトルオペランドのアドレスとオ
ペランドアドレスの増分値(インクリメント値)を格納
するレジスタを有し、インクリメント値よりオペランド
が連続しているかどうかを検出し、連続の場合は専用の
ベクトルバッファを用いてオペランドをあらかじめ取り
込む制御を行なうことによりベクトル命令の演算を高速
に処理することを可能にする。
以下本発明を実施例により詳細に説明する。
第1図は本発明によるベクトル演算処理装置の一構成例
を示す。1は命令制御ユニット、2は演算ユニット、3
は記憶制御ユニット、4はメインメモリ、5はベクトル
命令制御ユニット、6は保守制御ユニットである。
いまベクトル命令以外の通常の命令語の処理の流れを簡
単に述べる。命令語はメインメモリ4に格納されている
が、命令制御ユニット1により記憶制御ユニット3を経
由して命令語が命令制御ユニット1に取り込まれる。こ
の後命令語は命令制御ユニット1によつて命令の解読(
デコード)、オペランド・アドレスの計算が行なわれ、
オペランドの読み出しと命令の演算が演算ユニット2に
よつて実行される。オペランドの読み出しは記憶制御ユ
ニット3を経由して行なわれる。本発明は、メインメモ
リ4内の大きな領域をオペランドとするベクトル命令の
処理に対して効果がある。
ベクトル命令語の処理も通常の命令語の処理と同じく、
命令制御ユニツト1によつて命令語の取り込み、命令の
解読が行なわれる。命令の解読によつてベクトル命令と
認識された場合、その後の命令の制御は本発明の中心を
なすベクトル命令制御ユニツト5によつて行なわれる。
第2図に本実施例におけるベクトル命令101の形式を
示す。
命令コード102は、ベクトル命令の場合も通常の命令
語と同様にある命令コード(本実施例ではSB4″)が
与えられる。
カウント指定汎用レジスタ番号R1は汎用レジスタGR
の番号を示しているが、R1で示された汎用レジスタの
内容はベクトルのイニシャルカウント107を表わし、
R1+1で示された汎用レジスタの内容はベクトルの演
算長108を表わしている。ベクトル指令指定汎用レジ
スタ番号B2も汎用レジスタの番号を示しているが、こ
の汎用レジスタの内容のベクトル指令部分110とD2
で示されるベクトル指令データ部分が加算動作112で
加算されてベクトル指令コード111となる。このベク
トル指令コード111はベクトル演算の種類コード(加
算、減算、乗算、除算、内積演算など)を示す。アドレ
スベクトル指令汎用レジスタ番号R3は汎用レジスタ番
号を示しているが、この汎用レジスタの内容のアドレス
ベクトルのアドレス109によつてアドレスベクトル1
14のアドレスが指示される。アドレスベクトル114
は本実施例では3つのオペランドベクトルテーブルアド
レスから構成される。3つとは第1オペランドベクトル
テーブルアドレス115、第2オペランドベクトルテー
ブルアドレス116、第3オペランドベクトルテーブル
アドレス117を示している。
これらは各オペランドのベクトルテーブルのアドレスを
示している。第2図の例では第2オペランドについて図
示しているが、第1オペランド、第3オペランドの場合
も同様である。第2オペランドベクトルテーブルアドレ
ス116に示されたアドレスによつて第2オペランドベ
クトルテーブル118が指示される。第、2オペランド
ベクトルテーブル118は第2オペランド先頭ベクトル
アドレス119と第2オペランドアドレスインクリメン
ト値120から構成される。第2オペランド先頭ベクト
ルアドレス119は第2オペランドベクトル121の先
頭アドレスを示している。また第2オペランドアドレス
インクリメント値120は第2ォペランドのベクトルの
使用ピツチを示す。たとえば本実施例では1ワード−4
バイト、アドレスはバイトアドレスを示すとすれば、も
し第2オペランドアドレスインクリメント値120の値
が4ならば、第2オペランドベクトルは1ワードピツチ
で使用され、また8ならば第2オペランドベクトルは2
ワードピツチで使用される。このベクトル命令の第2オ
ペランドベクトルは必ずしも先頭から使用されるとは限
らなく、各ベクトルが連続して使用されるとも限らない
ベクトル命令の第2オペランドベクトルで最初に使用さ
れるベクトルエレメントアドレスは、ベクトルイニシヤ
ルカウント107と第2オペランドアドレスインクリメ
ント値120とを乗算動作113で乗算した値に、第2
オペランド先頭ベクトルアドレス119を動作122で
加算したものである。
第2図の例では第2オペランドベクトル121のエレメ
ントは1からnまで示されているが、最初に使用される
ベクトルエレメントはnであることが矢印で示されてい
る。第3図に本実施例においてベクトル命令が命令制御
ユニツト1で解読される様子を示す。
命令語が命令レジスタ201に入つて命令の解読が開始
され、デコーダ202でベクトル命令であることが解読
されると、まずB2で示される汎用レジスタ番号がマル
チプレクサ203を通つて汎用レジスタ204の内容で
あるベクトル指令部分が読み出され、レジスタ206に
セツトされる。またD2で示される値はそのままレジス
タ205にセツトされ、レジスタ206の内容と加算器
207で加算されベクトル指令コードとしてレジスタ2
08にセツトされL4を介してベクトル命令制御ユニツ
ト5に送られる。次にR3で示される汎用レジスタ番号
がマルチプレクサ203を通つて汎用レジスタ204の
内容が読み出され、アドレスベクトルのアドレスとして
レジスタ206にセツトされ、つづいてレジスタ208
にセツトされ、L4を介してベクトル命令制御ユニツト
5に送られる。
最後にR1およびR1+1で示される汎用レジスタの内
容が、それぞれベクトルイニシャルカウント、ベクトル
演算長としてレジスタ206にセツトされ、レジスタ2
08,L4を介してベクトル命令制御ユニツト5に送ら
れる。本発明の中心をなすものの1つはベクトル命令制
御ユニツト5であるが第4図に本発明の一実施例を示す
より詳細なプロツク図を示す。
命令制御ユニツト1で解読されたベクトル命令の解読情
報はL4を介してベクトル命伶造u御ユニツト5に送ら
れ、さらに詳細な解読が行なわれる。まず命令制御ユニ
ツト1から送られる情報のうち、ベクトル指令コードは
入力レジスタ401を通してデコーダ402に送られる
。ベクトルイニシャルカウントは入力レジスタ401か
らベクトルカウントレジスタ404にセツトされる。ベ
クトル演算長も入力レジスタ401からベクトル演算長
レジスタ405にセツトする。これらはベクトルの演算
の回数をカウントし終了を制御するのに用いられる。ア
ドレスベクトルのアドレスは入力レジスタ401からベ
クトルアドレスレジスタ408にいつたんセツトされ、
アドレス加算器410を通り、記憶制御ユニツトインタ
フエース制御器412を介し、L6を介して記憶制御ユ
ニツト3に対してメモリリクエストが出される。この読
み出しデータは第2図から理解されるようにアドレスベ
クトルであり、記憶制御ユニツト3よりLl3を介して
レジスタ415にセツトされる。このデータは第1、第
2、第3オペランドベクトルテーブルアドレスとしてベ
クトルアドレスレジスタ408のそれぞれにセツトされ
る。これらの値は再びアドレス加算器401、記憶制御
インタフエース制御器412,L6を介して記憶制御ユ
ニツト3に対してメモリリクエストが出される。この読
み出しデータはオペランドベクトルテーブルであり、記
憶制制ユニツト3よりLl3を介してレジスタ415に
セツトされる。オペランドベクトルテーブルはオペラン
ド先頭ベクトルアドレスとオペランドアドレスインクリ
メント値から構成されている。このうちオペランドアド
レスインクリメント値はレジスタ415より演算ユニツ
トインタフエース制御器403に送られると共に、レジ
スタ401にも移され、ベクトルアドレスインクリメン
トレジスタ409にセツトされる。オペランド先頭ベク
トルアドレスはベクトルカウントレジスタ404内のベ
クトルイニシャルカウントと共に演算ユニツトインタフ
エース制御器403へ送られ、そこからこの3つのデー
タがL5を介して演算ユニツト2へ送られる。演算ユニ
ツト2の内容詳細は省略するが、衆知の汎用大型デイジ
タル計算器の演算ユニツトと同様に、加算器、シフター
、乗算器、バイト演算器、ワークレジスタなどから構成
されている。
ここでベクトル命令制御ユニツト5から送られてきたデ
ータの乗算と加算を行ない結果をLl4を介してベクト
ル命令制御ユニツト5へ送る。データは入力レジスタ4
01に入りその後ベクトルアドレスレジスタ408にセ
ツトされる。オペランドベクトルテーブルは第1、第2
、第3の3つがありそれぞれについて上記の動作が繰り
返えされる。アドレスインクリメントレジスタ409に
はオペランドベクトルアドレスのインクリメント値が第
1、第2、第3オペランドについて格納されている。こ
れらの値がレジスタにセツトされる際にアドレス連続検
出器411により単精度(1ワード)演算でインクリメ
ント値が4ならアドレス連続と見なし、倍精度(2ワー
ド)演算でインクリメント値が8ならアドレス連続と見
なし、第1、第2、第3オペランドのそれぞれに対しラ
ツチ416、ラツチ417、ラツチ418をセツトする
。第1、第2、第3オペランドアドレスはベクトルアド
レスレジスタ408に入つておりこれとベクトルアドレ
スインクリメントレジスタ409の内容を加算したもの
が記憶制御ユニツトインタフエース制御器412を通つ
てL6を介してオペランドリクエストとして記憶制御ユ
ニツト3へ送られる。記憶制御ユニツト3の内容詳細は
省略するが、汎用大型デイジタル計算機の記憶制御ユニ
ツトと同様にアドレス変換機構、高速小容量メモリ(バ
ツフアメモリ)などから構成されている。本発明の重要
な点はベクトル命令制御ユニツト5から記憶制御ユニツ
ト3に対しオペランドリクエストを出す際に、アドレス
が連続の場合即ち、ラツチ416〜418がセツトされ
ている場合はベクトルバツフア413,414を用い、
そうでないアドレスが非連続の場合はバツフアメモリを
利用する点である。たとえば第2オペランドを例にとる
と、アドレスが連続しているかどうかはラツチ417に
反映されている。これを用いてアトレス連続時は、メイ
ンメモリ4のデータを記憶制御ユニツト3を経由して第
1ベクトルバツフア413に入れ、第1ベクトルバツフ
ア413が満杯になるまでリクエストが続けられる。演
算ユニツト2がオペランドを必要とする時は、演算ユニ
ツト2内でラツチ416〜418をテストし、連続を示
しているときは第1ベクトルバツフア413に演算ユニ
ツト2から読み出し要求を出して第1ベクトルバツフア
413の内容が読み出され、演算ユニツトインタフエー
ス制御器403を通しL5を介して演算ユニツト2に送
られる。第4図には第1ベクトルバッフア413と第2
ベクトルバツフア414がある。これは実施例のベクト
ル命令が3オペランド形式で2オペランドがフエツチ用
に1オペランドがストア用に用いられ、このうちのフエ
ツチ用のベクトルバツフアとして2つ存在する。これら
のベクトルバツフアはオペランドデータのプリフエツチ
用に用いられ、演算に必要なとき読み出され、L5を介
して演算ユニツトに送られる。アドレスが非連続の場合
は演算ユニツト2から記憶制御ユニットインタフェース
制御器412に要求を出してオペランドアドレスを記憶
制御ユニツト3に送り出し、オペランドがバツフアメモ
リにある場合はバツフアメモリから.演算ユニツト2に
オペランドを送る02ゞツファメモリにない場合はメイ
ンメモリ4からバツフアメモワに転送し、そこからオペ
ランドを演算ユニツト2に送る。なおメインメモリとバ
ツフアメモリは実質的に一つのメモリ手段としてとらえ
ることができる。ベクトルカウントレジスタ404には
第2図で示したベクトルイニシャルカウント107がセ
ツトされ、ベクトル演算長レジスタ405には第2図で
示したベクトル演算長108がセツトされる。
1つの演算が終了するごとにベクトルカウントレジスタ
404の内容がカウンタ406で+1されベクトル演算
長レジスタ405の内容と比較器407で比較される。
比較器407で比較され、内容が一致した場合は演算ユ
ニツトインタフエース制御器403とL5を介して演算
ユニツトに演算の終了を制御する信号が送られる。カウ
ンタ406出力はベクトルカウントレジスタ404にセ
ツトされ、該レジスタ404の内容を更新する。なお、
上述の説明で命令制御ユニツトとベクトル命令制御ユニ
ツトを別個なものとして説明してきたが、本発明にとつ
て重要なことではなく、つの命令制御手段としてとらえ
てよい。以上説明したごとく本発明によれば、汎用の命
令語を処理するデータ処理装置にベクトル命令の演算を
指令するコードを解読するデコーダとベクトル演算数を
制御する装置を付加することによつてデータの配列ベク
トルをオペランドとして用いるベクトル命令の処理を行
なうことが可能になる。
また使用するオペランドが連続している場合には専用の
ベクトルバツフアを用いてプリフエツチを行ない、連続
していない場合はバツフアメモリ(もしくはメインメモ
リ)を用いることによつてオペランドのアクセスを高速
にすることが可能になる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す全体プロツク図、第2
図は本実施例におけるベクトル命令形式と各種レジスタ
、オペランドとの関係を示す模式図、第3図は本発明の
主要な装置の一実施例を示すプロツク図、第4図は本発
明の最も主要な装置の一実施例を示す一層詳細なプロツ
ク図である。

Claims (1)

    【特許請求の範囲】
  1. 1 命令語ならびにオペランドを格納したメモリ手段と
    、命令制御手段と、ベクトルバッファおよび演算手段と
    からなるデータ処理装置でベクトル命令を処理する方式
    であつて、上記命令制御手段は上記メモリ手段より命令
    語を読み出してデコードし、該命令語がベクトル命令の
    場合、ベクトル演算数の制御と、ベクトル命令から与え
    られる指令よりオペランドが連続しているかどうかを検
    出し、連続している場合には予めオペランドを上記メモ
    リ手段から上記ベクトルバッファに取り込む制御を行な
    い、上記演算手段は上記命令制御手段の制御のもとに、
    オペランドが連続している場合には上記ベクトルバッフ
    ァからオペランドを読み出し、非連続の場合は上記メモ
    リ手段からオペランドを読み出してそれぞれベクトル演
    算を行なうことを特徴とするベクトル命令処理方式。
JP240377A 1977-01-14 1977-01-14 ベクトル命令処理方式 Expired JPS5925264B2 (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPS5388545A JPS5388545A (en) 1978-08-04
JPS5925264B2 true JPS5925264B2 (ja) 1984-06-15

Family

ID=11528265

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS5925264B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH045460B2 (ja) * 1989-10-11 1992-01-31

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4302818A (en) * 1979-07-10 1981-11-24 Texas Instruments Incorporated Micro-vector processor
JPS58154070A (ja) * 1982-03-08 1983-09-13 Mitsubishi Electric Corp デ−タ処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH045460B2 (ja) * 1989-10-11 1992-01-31

Also Published As

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

Similar Documents

Publication Publication Date Title
JPS5852265B2 (ja) デ−タ処理装置
JPH0683582A (ja) データ演算装置
JPH03233630A (ja) 情報処理装置
JPS623461B2 (ja)
US4812970A (en) Microprogram control system
JPS5911921B2 (ja) 数値制御装置
JPS5925264B2 (ja) ベクトル命令処理方式
JPH0512751B2 (ja)
RU2066067C1 (ru) Центральный процессор для многопроцессорной вычислительной системы
JPS6134188B2 (ja)
JPS61173345A (ja) 計算機システム
JP2545594B2 (ja) オペランドデータ先取り方式
JPH07110769A (ja) Vliw型計算機
JP2819733B2 (ja) 情報処理装置
JPS6028014B2 (ja) マイクロプロセツサ
JP2895892B2 (ja) データ処理装置
JPS6221131B2 (ja)
JPS6047618B2 (ja) 情報処理装置
JPS6047617B2 (ja) 情報処理装置
JP2583614B2 (ja) ベクトル演算装置
JPH0234058B2 (ja)
JPS63157235A (ja) コンピユータ・システムの制御装置
JPS5896346A (ja) 階層型演算方式
JPH0364903B2 (ja)
JPS6047616B2 (ja) 情報処理装置