JPH0465426B2 - - Google Patents

Info

Publication number
JPH0465426B2
JPH0465426B2 JP59279655A JP27965584A JPH0465426B2 JP H0465426 B2 JPH0465426 B2 JP H0465426B2 JP 59279655 A JP59279655 A JP 59279655A JP 27965584 A JP27965584 A JP 27965584A JP H0465426 B2 JPH0465426 B2 JP H0465426B2
Authority
JP
Japan
Prior art keywords
vector
data
register
instruction code
stored
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
JP59279655A
Other languages
English (en)
Other versions
JPS61160176A (ja
Inventor
Yoshiaki Kinoshita
Yoshiharu Kazama
Shunsuke Myamoto
Koichiro Omoda
Takayuki Nakagawa
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 JP59279655A priority Critical patent/JPS61160176A/ja
Priority to US06/813,007 priority patent/US4773006A/en
Publication of JPS61160176A publication Critical patent/JPS61160176A/ja
Publication of JPH0465426B2 publication Critical patent/JPH0465426B2/ja
Granted 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)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、大形行列計算などを高速に処理する
ベクトル処理装置に関する。
〔発明の背景〕
ベクトル処理装置は、科学技術計算に頻繁に現
われる大形行列計算などを高速に処理するのに用
いられる。例えば、ベクトル処理装置では、次の
FORTRAN文で示すような処理を高速にベクト
ル処理することができる。
DO 10 i=1,N A(i)=B(i)+C(i) 10 CONTiNUE すなわち、(B(i),i=1,N)をベクトル
B、(C(i),i=1,N)をベクトルCとし、
各ベクトル要素(B(i),C(i)等)ごとに両
者を加算し、結果をベクトルA(A(i),i=1,
N)として格納する。このようにベクトル要素間
の演算を、ベクトル処理装置はベクトル処理手法
を用いて高速に処理することができる。
ところで、前述のFORTRAN文を次に示すよ
うな処理に変更したいとする。
DO 10 i=1,N−20 A(i)=B(i)+C(i) 10 CONTiNUE DO 20 i=1,20 J=i+N−20 A(J)=B(J)−C(J) 20 CONTiNUE 第2図はこの処理を示したものであり、ベクト
ルBの要素B(1)〜B(N−20)とベクトルCの
要素C(1)〜C(N−20)は各要素ごとに加算
し、ベクトルBの要素B(N−19)〜B(N)とベ
クトルCの要素C(N−19)〜C(N)は各要素ご
とに減算し、結果をベクトルAとして格納する。
この場合、従来のベクトル処理装置では、1回の
ベクトル処理で1種類の演算子(加算とか減算な
ど)しか指定することができないため、2回のベ
クトル処理を必要とし、高速化の隘路になつてい
た。なお、このようなベクトル処理装置について
は、例えば「日立評論」Vol.65,No.8,PP13〜
18,1983に小高俊彦、長島重夫他により“スーパ
ーコンピユータHITACS−810 アレイプロセツ
サシステム”と題して照介されている。
〔発明の目的〕
本発明の目的は、ベクトル処理装置において、
1回のベクトル処理で複数種類の演算を処理し、
従来に比べてベクトル処理をさらに高速化するこ
とにある。
〔発明の概要〕
本発明は、第1ベクトルレジスタに格納された
第1のデータベクトルと第2ベクトルレジスタに
格納された第2のデータベクトルを各ベクトル要
素ごとに演算するベクトル処理装置において、少
なくとも一方のベクトルレジスタのデータベクト
ルについて、その各ベクトル要素ごとに、演算の
種類を指定するための命令コードを付加して格納
し、該付加した命令コードを参照しながら、第1
および第2のデータベクトルの各ベクトル要素ご
とに論理演算、四則演算、比較演算などを実行し
ていくことを特徴とする。
〔発明の実施例〕 第1図は、第2図に示した処理を本発明で実現
する場合の概念図である。即ち、ベクトルBの各
要素ごとに、その演算の種類を指定するための命
令コードを付加する。第1図の例では、ベクトル
B中の要素B(1)〜B(N−20)については、そ
れぞれの命令コードを加算「+」とし、要素B
(N−19)〜B(N)ついては、それぞれの命令コ
ードを減算「−」とする。演算回路は、ベクトル
BとベクトルCのデータベクトルを各要素ごとに
演算する場合、ベクトルBの各要素に付加された
命令コードを参照して、ベクトルBの要素B(1)
〜B(N−20)とベクトルCの要素C(1)〜C
(N−20)についてはそれぞれ加算を実行し、ベ
クトルBの要素B(N−19)〜B(N)とベクトル
Cの要素C(N−19)〜C(N)についてはそれぞ
れ減算を実行する。演算回路での演算結果はベク
トルA(結果ベクトル)として格納されるが、そ
のうち、要素A(1)からA(N−20)は加算結果
を示し、要素A(N−19)〜A(N)は減算結果を
示している。このように、第2図に示したような
処理が1回のベクトル処理で実現される。なお、
第1図では命令コードをベクトルBの各要素に付
加するとしたが、ベクトルCの各要素に付加して
も、同様の処理が得られる。
第3図は本発明の一実施例のブロツク図を示
す。第3図において、命令レジスタ11は4つの
フイールドに分割される。OP1フイールドは命令
コードを示し、線101によつて演算制御ユニツ
ト10に送られ、命令の実行を制御する。iフイ
ールドは、結果ベクトルを格納するベクトルレジ
スタ番号を指定し、線102よつて分配器12に
入力され、該分配器内にて、線110から入力さ
れる結果ベクトルを、ベクトルレジスタ13−1
〜13nのいずれのレジスタに格納するかの制御
に利用する。jフイールドは、後述のOP2フイー
ルドと、一方のデータベクトルが格納されている
ベクトルレジスタ番号を指定し、線103によつ
てセレクタ14に入力され、ベクトルレジスタ1
3−1〜13−nの中のいずれのレジスタを選択
するかの制御に使用する。セレクタ14で選択さ
れた内容は、線105にのせられる。kフイール
ドは、他方のデータベクトルが格納されているベ
クトルレジスタ番号を指定し、線104によつて
セレクタ15に入力され、ベクトルレジスタ13
−1〜13−nの中のいずれのレジスタを選択す
るかの制御に使用する。セレクタ15で選択され
た内容は、線106にのせられる。レジスタ16
は、演算の種類を示すOP2フイールドとデータベ
クトルの1ベクトル要素(データ1)を保持する
レジスタ、レジスタ17はデータベクトルの1ベ
クトル要素(データ2)を保持するレジスタであ
る。演算器18は、入力されたデータベクトルの
1ベクトル要素に対して演算を行う回路である。
線107はレジスタ16の一部であるOP2フイー
ルドをのせるデータ線、線108は同じくレジス
タ17の一部であるデータ1をのせるデータ線、
線109はレジスタ17の一部であるデータ2を
のせるデータ線である。
次に、第3図の動作を説明する。本動作に先立
ち、ベクトルロード(VLD)命令によつて、ベ
クトルレジスタ13−1〜13−nの中の1つの
ベクトルレジスタには、OP2フイールドとデータ
1のベクトル要素群が主記憶装置からロードさ
れ、他のベクトルレジスタには、データ2のベク
トル要素群が同じく主記憶装置からロードされて
いるとする。この場合、OP2フイールドの命令コ
ード群は、データ1のベクトル要素群やデータ2
のベクトル要素群と同様に主記憶装置上に用意し
ておき、データ1のベクトル要素群を読み出す
時、OP2命令コード群を一緒に読み出してデータ
1のベクトル要素群と要素ごとにマージし、ベク
トルレジスタ13−1〜13−nの中の該当ベク
トルレジスタにロードすればよい。
さて、命令レジスタ11に演算動作の実行を指
定する命令が入力されると、そのOP1,i,j,
kの各フイールドの内容はそれぞれ演算制御ユニ
ツト10、分配器12、セレクタ14,15に送
られる。分配器12、セレクタ14,15は、そ
れぞれi,j,kで指示されたように、分配ルー
トあるいは選択ルートを設定する。次に演算制御
ユニツト10は、線11によりベクトルレジスタ
13−1〜13−n中の必要なベクトルレジスタ
に、読出し又は書込み指示を送出し、適切なタイ
ミングで、j,kで指定されたベクトルレジスタ
から1ベクトル要素ずつ順次読出す制御、および
iで指定されたベクトルレジスタへの結果の書込
みを制御する。この動作は、従来のベクトル処理
装置と同様であるので、詳細な説明は省略する。
レジスタ16にOP2フイールドとデータ1の1
ベクトル要素がセツトされ、レジスタ17にデー
タ2の1ベクトル要素がセツトされると、レジス
タ16のデータ1とレジスタ17のデータ2がそ
れぞれ線108,109により演算器18に入力
されると同時に、レジスタ16から抽出された
OP2フイールドの命令コードが線107により同
じく演算器18に与えられる。演算器18は、
OP2フイールドの命令コードに従つてデータ1と
データ2の演算を行い、結果を線110にのせ
る。線110上のデータは、分配器12に入力さ
れ、ベクトルレジスタ13−1〜13−nの中の
1つに格納する。この動作をレジスタ16,17
にセツトされる各ベクトル要素について繰り返し
行う。
以上、本発明の一実施例について述べたが、例
えばOP2フイールドの命令コードは、第2図で示
した加算、減算の他に、乗算、除算、論理積、論
理値和、排他的論理和などの2項演算子を利用し
てもよい。さらに、等しい/等しくない、あるい
は大小の比較を行うことにも利用できる。その場
合、比較結果をベクトルレジスタに格納すること
になる。
また、本実施例では、ベクトルデータはベクト
ルレジスタ中にあるとして説明したが、主記憶装
置上のベクトルデータを直接読み出して同様の処
理を行うことも勿論可能である。この場合には、
結果も主記憶装置に直接格納できる。
〔発明の効果〕
本発明によれば、ベクトルレジスタの各ベクト
ル要素内に演算の種類を指定する命令コードが存
在することにより、従来複数回の演算を必要とし
たベクトル処理を1回のベクトル処理で行うこと
ができ、また、簡単に各ベクトル要素毎の命令コ
ードとデータが同時に得られることにより、ベク
トル処理装置のより以上の高速化が達成される。
【図面の簡単な説明】
第1図は本発明の概念を示す図、第2図は本発
明で対象とする処理の一例を示す図、第3図は本
発明の一実施例を示す図である。 10……演算制御ユニツト、11……命令レジ
スタ、12……分配器、13−1〜13n……ベ
クトルレジスタ、14,15……セレクタ、1
6,17……レジスタ、18……演算器。

Claims (1)

  1. 【特許請求の範囲】 1 第1ベクトルレジスタに格納された第1のデ
    ータベクトルと第2ベクトルレジスタに格納され
    た第2のデータベクトルを各ベクトル要素ごとに
    演算するベクトル処理装置において、 前記第1ベクトルレジスタと前記第2ベクトル
    レジスタに第1および第2のデータベクトルを格
    納する際に、前記第1および第2のデータベクト
    ルの少なくとも一方のデータベクトルに、その各
    ベクトル要素ごとに、当該ベクトル要素の演算の
    種類を指定するための命令コードを付加して格納
    する手段と、前記第1ベクトルレジスタの第1の
    データベクトルと前記第2ベクトルレジスタの第
    2のデータベクトルの各ベクトル要素ごとの演算
    を、少なくとも一方のベクトルレジスタのデータ
    ベクトルの当該ベクトル要素に付加されている命
    令コードに従つて行う手段とを有することを特徴
    とするベクトル処理装置。
JP59279655A 1984-12-29 1984-12-29 ベクトル処理装置 Granted JPS61160176A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP59279655A JPS61160176A (ja) 1984-12-29 1984-12-29 ベクトル処理装置
US06/813,007 US4773006A (en) 1984-12-29 1985-12-24 Vector operation designator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59279655A JPS61160176A (ja) 1984-12-29 1984-12-29 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPS61160176A JPS61160176A (ja) 1986-07-19
JPH0465426B2 true JPH0465426B2 (ja) 1992-10-20

Family

ID=17614005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59279655A Granted JPS61160176A (ja) 1984-12-29 1984-12-29 ベクトル処理装置

Country Status (2)

Country Link
US (1) US4773006A (ja)
JP (1) JPS61160176A (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274835A (en) * 1988-12-20 1993-12-28 Matsushita Electric Industrial Co., Ltd. Merge device using FIFO buffers
FR2656710A1 (fr) * 1989-12-29 1991-07-05 Radiotechnique Compelec Microcontroleur pour l'execution rapide d'un grand nombre d'operations decomposable en sequence d'operations de meme nature.
JP3237858B2 (ja) * 1991-01-30 2001-12-10 沖電気工業株式会社 演算装置
US5241492A (en) * 1991-05-06 1993-08-31 Motorola, Inc. Apparatus for performing multiply and accumulate instructions with reduced power and a method therefor
GB2274181B (en) * 1993-01-09 1997-04-02 Digital Equipment Int Summation unit
JPH07122973A (ja) * 1993-10-20 1995-05-12 Yamaha Corp デジタル信号処理回路
US5848286A (en) * 1994-03-29 1998-12-08 Cray Research, Inc. Vector word shift by vo shift count in vector supercomputer processor
US5473557A (en) * 1994-06-09 1995-12-05 Motorola, Inc. Complex arithmetic processor and method
JP3693367B2 (ja) * 1994-07-28 2005-09-07 富士通株式会社 積和演算器
US5864703A (en) * 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
US7197625B1 (en) 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US5933650A (en) 1997-10-09 1999-08-03 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US7599981B2 (en) * 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
US7181484B2 (en) * 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7711763B2 (en) 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US7162621B2 (en) 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
WO2006083768A2 (en) * 2005-01-31 2006-08-10 Aamir Alam Farooqui Same instruction different operation (sido) computer with short instruction and provision of sending instruction code through data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5533280A (en) * 1978-08-31 1980-03-08 Fujitsu Ltd Data processing system
JPS5697173A (en) * 1979-12-29 1981-08-05 Fujitsu Ltd Operation processing system by mask

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3962706A (en) * 1974-03-29 1976-06-08 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of stored programs
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
JPS57134774A (en) * 1981-02-13 1982-08-20 Hitachi Ltd Vector operating device
DE3269432D1 (en) * 1981-10-15 1986-04-03 Nat Res Dev Data-packet driven digital computer
JPS58114274A (ja) * 1981-12-28 1983-07-07 Hitachi Ltd デ−タ処理装置
US4661900A (en) * 1983-04-25 1987-04-28 Cray Research, Inc. Flexible chaining in vector processor with selective use of vector registers as operand and result registers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5533280A (en) * 1978-08-31 1980-03-08 Fujitsu Ltd Data processing system
JPS5697173A (en) * 1979-12-29 1981-08-05 Fujitsu Ltd Operation processing system by mask

Also Published As

Publication number Publication date
JPS61160176A (ja) 1986-07-19
US4773006A (en) 1988-09-20

Similar Documents

Publication Publication Date Title
JPH0465426B2 (ja)
US4771380A (en) Virtual vector registers for vector processing system
US5859789A (en) Arithmetic unit
EP0148478B1 (en) A data processor with control of the significant bit lenghts of general purpose registers
JPS6313215B2 (ja)
JPH0374434B2 (ja)
JPH0562387B2 (ja)
US4366536A (en) Modular digital computer system for storing and selecting data processing procedures and data
JPH03286332A (ja) デジタルデータ処理装置
US4621324A (en) Processor for carrying out vector operation wherein the same vector element is used repeatedly in succession
US5019969A (en) Computer system for directly transferring vactor elements from register to register using a single instruction
JPH0724013B2 (ja) ベクトルプロセツサ
JPH0345420B2 (ja)
KR930003399B1 (ko) 마이크로프로그램된 소프트웨어 명령 실행장치 및 방법
JPH0650512B2 (ja) デ−タ処理装置
US3555514A (en) Digital computer instruction sequencing to carry out digital differential analysis
US4811213A (en) Vector processor with vector registers
JPH0154746B2 (ja)
JP2861560B2 (ja) データ処理装置
JPH06309349A (ja) プログラム制御のプロセッサ
JP3771682B2 (ja) ベクトル処理装置
US4805133A (en) Processor memory element and a new computer architecture
JPH0222413B2 (ja)
JP3068406B2 (ja) ベクトル演算装置
JPH0427588B2 (ja)