JP2667806B2 - ベクトルプロセツサ - Google Patents

ベクトルプロセツサ

Info

Publication number
JP2667806B2
JP2667806B2 JP60224730A JP22473085A JP2667806B2 JP 2667806 B2 JP2667806 B2 JP 2667806B2 JP 60224730 A JP60224730 A JP 60224730A JP 22473085 A JP22473085 A JP 22473085A JP 2667806 B2 JP2667806 B2 JP 2667806B2
Authority
JP
Japan
Prior art keywords
vector
register
elements
sent
distributor
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
JP60224730A
Other languages
English (en)
Other versions
JPS6285383A (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 JP60224730A priority Critical patent/JP2667806B2/ja
Priority to US06/918,003 priority patent/US4811213A/en
Publication of JPS6285383A publication Critical patent/JPS6285383A/ja
Application granted granted Critical
Publication of JP2667806B2 publication Critical patent/JP2667806B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • G06F15/8076Details on data register access
    • G06F15/8084Special arrangements thereof, e.g. mask or switch

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 1=1,n 10 A(I)=B(I)+C(I) すなわち、(A(I),I=1,N)をベクトルA、(B
(I),I=1,N)をベクトルB、(C(I),I=1,N)を
ベクトルCとし、ベクトルB,ベクトルCの各ベクトル要
素(B(I),C(I)ごとに両者を加算し、結果をベク
トルAとして格納する。このようにベクトル要素間の演
算を、ベクトルプロセツサはベクトル処理手法を用いて
高速に処理することができる。 しかし、従来のベクトルプロセツサでは、次のFORTRA
Nで示すような計算は高速にベクトル処理することがで
きなかつた。 DO 10 I=1,N 10 K(I)=L(1,I)+L(2,I) この場合、個々のベクトル要素中に性質の異なる2つの
データが含まれており、第1図に示すように、ベクトル
要素を複数の区分に分割し、分解された区分を別々に使
用する処理が必要である。その方法として、従来のベク
トルプロセツサでは、次の2つの処理方法が考えられ
る。処理方法の第1は、第2図に示すように分割すべき
区分ごとに別々に移動を行う方法である。ところがベク
トル要素の区分であるL(1,I),L(2,I)の話出しは、
L(1,I),L(2,I)を含むベクトル要素を単位として行
われる。そのため、この方法ではL(1,I)の移動とL
(2,I)の移動とにおいて、同一のベクトル要素に対し
て読出し要求がなされるという衝突が発生し、高速なベ
クトル処理が妨げられる。処理方法の第2は、第3図に
示すように各ベクトル要素を一度2つのベクトルレジス
タに移動し、移動したベクトル要素のいくつかに対して
シフト演算を行う方法である。この方法では、シフト演
算を行うための演算器、ベクトルレジスタなど、より多
くの計算機資源を必要とし、高速なベクトル処理が妨げ
られることがある。 第1図に示すような処理は、例えば複雑なリスト構造
を持つ表の処理において必須となるものである。 〔発明の目的〕 本発明の目的は、第1図に示すような処理を、ベクト
ル処理として高速に実行するベクトルプロセツサを提供
することにある。 〔発明の概要〕 本発明は、従来のベクトルプロセツサでは第2図ある
いは第3図に示すように複数の命令を用いなければ実行
できなかつた処理を、第4図に示すように単一の命令で
実行し、高速なベクトル処理を実現するものである。 〔発明の実施例〕 以下、本発明の一実施例を第5図により説明する。第
5図において、レジスタR1は命令レジスタで、4つのフ
イールドに分割されている。OPフイールドは命令コード
を示し、その内容は線l1によつて演算制御装置C1に送ら
れる。Rフイールドは、移動したデータベクトルを格納
する複数のベクトルレジスタを指定するベクトルレジス
タ番号を示し、その内容は線l2によつて演算制御装置C
1、および分配器D1に送られる。Aフイールドは、ベク
トル・アドレス・レジスタR4およびベクトル増分レジス
タR5のレジスタ番号を示し、その内容は線l3によつて選
択器S4、および選択器S5に送られる。Bフイールドは、
ベクトル・ベース・レジスタR3のレジスタ番号を示し、
その内容は線l4によつて選択器S3に送られる。演算制御
装置C1は、内部にタイミング発生回路を有し、レジスタ
R1に命令がセツトされると、データベクトルの読出し、
シフト演算の実行、分割されたデータベクトルの書込み
という一連の動作を制御するための信号を、線l5,線l6,
線l7を通じて記憶装置M1、シフト演算器SH1、ベクトル
レジスタR2に、順次送出する。ベクトル・ベース・レジ
スタR3は、記憶装置M1内のアドレスを保持する。ベクト
ル・アドレス・レジスタR4は、ベクトル・ベース・レジ
スタR3と同様、記憶装置M1内のアドレスを保持する。ベ
クトル増分レジスタR5は、記憶装置M1内のベクトル要素
のアドレス間隔を保持する。選択器S3、およびS4とS5
は、それぞれ線l4,l3を通じて送られてくるレジスタ番
号に従つて、ベクトル・ベース・レジスタR3、ベクトル
・アドレス・レジスタR4、ベクトル増分レジスタR5の中
のそれぞれ1つの内容を読出し、線l8,l9,l10に送出す
る。アドレス発生回路C2は、線l5によつて送られてくる
ベクトル増分レジスタR5の内容に、ベクトル要素番号を
乗じ、それに線l4によつて送られてくるベクトル・アド
レス・レジスタR4の内容と、線l3によつて送られてくる
ベクトル・ベース・レジスタR3の内容とを加えて、記憶
装置M1内のベクトル要素のアドレスとし、線l11に送出
する。記憶装置M1は、線l11によつて送られてくるアド
レスに存在するベクトル要素を、線l5によつて送られて
くるタイミング信号に従つて読出し、線l12に送出す
る。分配器D1は、線l12によつて送られてくるデータベ
クトルを、線l2によつて送られてくるレジスタ番号と、
そのレジスタ番号に1を加えた番号のシフト演算器SH1
に送出する。シフト演算器SH1は、ベクトルレジスタR2
と対を成している。そして偶数番号のシフト演算器SH1
は、分配器D1から送られてくるベクトル要素の下位要素
をすべて0とし、奇数番号のシフト演算器SH1は、分配
器D1から送られてくるベクトル要素の下位半要素を上位
要素の位置にシフトし、下位半要素の位置はすべて0と
して、ベクトルレジスタR2に送出する。ベクトルレジス
タR2は、シフト演算器SH1から送られてくるデータベク
トルを、線l7によつて送られてくるタイミング信号に従
つて格納する。 次に、本実施例の動作を詳細に説明する。命令レジス
タR1に、本動作の実行を指示する命令が入力されると、
OP,R,A,Bの各フイールドの内容は、それぞれ線l1,l2,l
3,l4によつて演算制御装置C1,分配器D1,選択器S4,S5お
よび選択器S3に送出される。選択器S3はBフイールドの
レジスタ番号のベクトル・ベース・レジスタR3からアド
レスを読出し、線l8に送出する。また、選択器S4,S5
は、Aフイールドのレジスタ番号のベクトル・アドレス
・レジスタR4、ベクトル増分レジスタR5からアドレスお
よびアドレス間隔を読出し、線l9,l10に送出する。そし
てアドレス発生回路C2は線l8,l9,l10によつて送られて
くるアドレスおよびアドレス間隔から、記憶装置M1内の
ベクトル要素アドレスを計算し、線l11に送出する。同
時に分配器D1は、線l12上のデータベクトルを、Rフイ
ールドのレジスタ番号と、それに1を加えた番号のベク
トルレジスタR2に対応するシフト演算器SH1に送出する
様、データ経路を設定する。次に演算制御装置C1は、線
l5により記憶装置M1に読出し指示を送出し、読出された
データベクトルは線l12に送出される。以上の動作は、
通常のベクトルプロセツサと同様であるので、より詳細
な説明は省略する。 続いて演算制御装置C1は、線l6により、レジスタR1の
Rフイールドのレジスタ番号のベクトルレジスタR2に対
応するシフト演算器SH1に対し、分配器D1から送られて
くるベクトル要素の下位半要素をすべてに0をセツトし
て、対応するベクトルレジスタR2に送出することを指示
する番号を送る。また同時に、Rフイールドのレジスタ
番号に1を加えた番号のベクトルレジスタR2に対応する
シフト演算器SH1に対し、分配器D1から送られてくるベ
クトル要素の下位半要素を上位半要素の位置にシフト
し、下位半要素の位置に0をセツトして、対応するベク
トルレジスタR2に送出する信号を送る。これにより、記
憶装置M1から読出された各ベクトル要号は、その上位半
要素と下位半要素とに分割され、上位半要素は、Rフイ
ールドのレジスタ番号のベクトルレジスタR2に、下位半
要素は、Rフイールドのレジスタ番号に1を加えた番号
のベクトルレジスタR2に、それぞれ送出される。 最後に、通常のベクトルプロセツサの動作と同様に、
演算制御装置C1は線l7により、Rフイールドのレジスタ
番号と、それに1を加えた番号のベクトルレジスタに対
し、データベクトルの格納を指示するタイミング信号を
送出し、分割されたデータベクトルの、ベクトルレジス
タR2への書込みが行われ、本動作は終了する。 本実施例の説明の他にもいろいろな変形例が考えられ
る。たとえば、記憶装置M1内のベクトル要素アドレスを
決定するために、本実施例ではベクトル・ベース・レジ
スタR3とベクトル・アドレス・レジスタR4、ベクトル増
分レジスタR5を用いたが、ベクトル・ベース・レジスタ
R3とベクトルレジスタR2とを用いて、リストベクトルと
しても良い。さらに、本実施例では、移動するデータベ
クトルは記憶装置M1から読出すとしているが、他のベク
トルレジスタR2から読出しても良い。同様に、本実施例
では、分割後のデートベクトルはベクトルレジスタR2に
格納するとしているが、記憶装置M1に格納しても良い。
また、Rフイールドを複数個使用することによつて、移
動したデータベクトルを格納する複数のベクトルレジス
タを個々に指定することが可能である。また各ベクトル
要素に対し、それを複数の区分に分割する位置は、命令
の種類によつて固定でもよいし、他の制御用のレジスタ
によつて変更可能としてもよい。 本実施例によれば、第4図に示すように、1つのベク
トル要素中に性質の異なる複数のデータを含むようなデ
ータベクトルを、単一の命令で複数のベクトルレジスタ
に格納し、本動作の後に分割したそれぞれのデータをそ
のまま他の処理の実行に使用することが可能である。こ
れにより、記憶装置内で分割すべき個々のデータを別々
に読出すことにより生じるような衝突を回避し、高速な
ベクトル処理を実施することが可能となる。 〔発明の効果〕 本発明によれば、第4図に示すように性質の異なる複
数の区分を有するデータベクトルを単一の命令で移動で
きるので、第1図に示すような処理を、ベクトル処理と
して高速に実行するという効果がある。
【図面の簡単な説明】 第1図は、本発明で行う処理の一例を示した図、第2図
および第3図は、従来のベクトルプロセツサによるベク
トル処理の例を示した図、第4図は、本発明によるベク
トル処理の一例を示した図、第5図は、本発明の一実施
例を示す構成図である。 R1……命令レジスタ、C1……演算制御装置、C2……アド
レス発生回路、M1……記憶装置、D1……分配器、SH1…
…シフト演算器、R2……ベクトルレジスタ、R3……ベク
トル・ベース・レジスタ、R4……ベクトル・アドレス・
レジスタ、R5……ベクトル増分レジスタ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 木下 佳明 秦野市堀山下1番地 株式会社日立製作 所神奈川工場内 (72)発明者 宮本 俊介 国分寺市東恋ヶ窪1丁目280番地 株式 会社日立製作所中央研究所内 (56)参考文献 特開 昭60−186964(JP,A) 特開 昭60−24672(JP,A)

Claims (1)

  1. (57)【特許請求の範囲】 1.複数のベクトル要素を記憶する記憶装置と、 上記記憶装置に記憶されたベクトル要素のうち、読みだ
    すべき複数のベクトル要素のアドレスを発生するアドレ
    ス発生回路と、 分配器と、 第1及び第2のベクトルレジスタと、 上記第1及び第2のベクトルレジスタに対応して設けら
    れた第1及び第2の演算器とを有し、 上記記憶装置は、上記アドレス発生回路が発生するアド
    レスに対応したベクトル要素を上記分配器に送出し、 上記分配器は、上記記憶装置から読みだされた複数のベ
    クトル要素を受け、上記第1及び第2の演算器にそれぞ
    れ送出し、 上記第1の演算器は、上記分配器から複数のベクトル要
    素を受け、該複数のベクトル要素の一部を上記第1のベ
    クトルレジスタに送出し、 上記第2の演算器は、上記分配器からベクトル要素を受
    け、上記複数のベクトル要素の他の一部をシフトし、上
    記第2のベクトルレジスタに送出し、 上記第1のベクトルレジスタは、上記第1の演算器が送
    出した上記ベクトル要素の一部を格納し、 上記第2のベクトルレジスタは、上記第2の演算器が送
    出した上記シフトされたベクトル要素の他の一部を格納
    するよう構成されていることを特徴とするベクトルプロ
    セツサ。 2.上記複数のベクトル要素の一部は、複数のベクトル
    要素の上位半分の要素であり、 上記第1の演算器は、上記ベクトル要素の上位半分の要
    素はそのまま上記第1のベクトルレジスタに送出し、上
    記ベクトル要素の下位半分の要素はすべて0として上記
    第1のベクトルレジスタに送出するものであり、 上記複数のベクトル要素の他の一部は、複数のベクトル
    要素の下位半分の要素であり、 上記第2の演算器は、上記ベクトル要素の下位半分の要
    素を上位半分の位置にシフトし、下位半分の要素はすべ
    て0として、上記第2のベクトルレジスタに送出するよ
    う構成されていることを特徴とする特許請求の範囲第1
    項記載のベクトルプロセッサ。
JP60224730A 1985-10-11 1985-10-11 ベクトルプロセツサ Expired - Lifetime JP2667806B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP60224730A JP2667806B2 (ja) 1985-10-11 1985-10-11 ベクトルプロセツサ
US06/918,003 US4811213A (en) 1985-10-11 1986-10-14 Vector processor with vector registers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60224730A JP2667806B2 (ja) 1985-10-11 1985-10-11 ベクトルプロセツサ

Publications (2)

Publication Number Publication Date
JPS6285383A JPS6285383A (ja) 1987-04-18
JP2667806B2 true JP2667806B2 (ja) 1997-10-27

Family

ID=16818342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60224730A Expired - Lifetime JP2667806B2 (ja) 1985-10-11 1985-10-11 ベクトルプロセツサ

Country Status (2)

Country Link
US (1) US4811213A (ja)
JP (1) JP2667806B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2625145B2 (ja) * 1988-03-11 1997-07-02 日本電気株式会社 メモリアクセス制御装置
US7197625B1 (en) * 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US7299338B2 (en) * 2002-12-04 2007-11-20 Agere Systems Inc. Vector indexed memory unit and method
US10019262B2 (en) * 2015-12-22 2018-07-10 Intel Corporation Vector store/load instructions for array of structures

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253415A5 (ja) * 1973-12-04 1975-06-27 Cii
US4085447A (en) * 1976-09-07 1978-04-18 Sperry Rand Corporation Right justified mask transfer apparatus
US4139899A (en) * 1976-10-18 1979-02-13 Burroughs Corporation Shift network having a mask generator and a rotator
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
JPS57209570A (en) * 1981-06-19 1982-12-22 Fujitsu Ltd Vector processing device
JPS58149556A (ja) * 1982-02-27 1983-09-05 Fujitsu Ltd 並列処理装置
JPS5975365A (ja) * 1982-10-22 1984-04-28 Hitachi Ltd ベクトル処理装置
JPS59111569A (ja) * 1982-12-17 1984-06-27 Hitachi Ltd ベクトル処理装置
JPS6015771A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd ベクトルプロセッサ
JPS6024672A (ja) * 1983-07-20 1985-02-07 Hitachi Ltd ベクトル処理装置
JPS6089274A (ja) * 1983-10-20 1985-05-20 Nec Corp ベクトルマスク制御システム
JPS60186964A (ja) * 1984-03-05 1985-09-24 Hitachi Ltd ベクトル処理装置
JPS60263268A (ja) * 1984-06-12 1985-12-26 Nec Corp ベクトル処理装置
JPS619759A (ja) * 1984-06-26 1986-01-17 Nec Corp ベクトル処理装置

Also Published As

Publication number Publication date
JPS6285383A (ja) 1987-04-18
US4811213A (en) 1989-03-07

Similar Documents

Publication Publication Date Title
KR860001434B1 (ko) 데이타 처리시 스템
US3760369A (en) Distributed microprogram control in an information handling system
US4825361A (en) Vector processor for reordering vector data during transfer from main memory to vector registers
KR900002435B1 (ko) 디지탈 콘트롤러
KR880001170B1 (ko) 마이크로 프로세서
NO141105B (no) Databehandlingssystem som har en hoeyhastighets bufferlager - enhet for overfoering av data mellom et hovedlager og en sentral behandlingsenhet
JPH05108341A (ja) マイクロプロセツサ
US5019969A (en) Computer system for directly transferring vactor elements from register to register using a single instruction
US4755931A (en) Vector processing unit capable of reading vector data from a vector register simultaneously to plural resources
JP2667806B2 (ja) ベクトルプロセツサ
US3964027A (en) Apparatus and method for recording and using microprogrammes in a data processing system
EP0391417B1 (en) Vector processing apparatus capable of performing iterative operation at a high speed
RU2066067C1 (ru) Центральный процессор для многопроцессорной вычислительной системы
US4723258A (en) Counter circuit
EP0107447B1 (en) Computer data distributor
US3305842A (en) Time-division multiplex digital computer
EP0580109B1 (en) Data acces in a RISC digital signal processor
SU1697082A1 (ru) Процессор микропрограмируемой ЭВМ
GB1483442A (en) Computing machine including a directly addressable memory arrangement
JP2001167084A (ja) ベクトル演算処理装置及びベクトルデータ移送方法
GB1233484A (ja)
JPS626373A (ja) ベクトル制御方式
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPH0668055A (ja) ディジタル信号処理装置
SU1559340A1 (ru) Арифметическое устройство с микропрограммным управлением