JPH0562387B2 - - Google Patents

Info

Publication number
JPH0562387B2
JPH0562387B2 JP58242034A JP24203483A JPH0562387B2 JP H0562387 B2 JPH0562387 B2 JP H0562387B2 JP 58242034 A JP58242034 A JP 58242034A JP 24203483 A JP24203483 A JP 24203483A JP H0562387 B2 JPH0562387 B2 JP H0562387B2
Authority
JP
Japan
Prior art keywords
vector
register
data
instruction
writing
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
JP58242034A
Other languages
English (en)
Other versions
JPS60134974A (ja
Inventor
Yasuhiro Inagami
Shigeo Nagashima
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 JP58242034A priority Critical patent/JPS60134974A/ja
Priority to US06/684,786 priority patent/US4760545A/en
Publication of JPS60134974A publication Critical patent/JPS60134974A/ja
Publication of JPH0562387B2 publication Critical patent/JPH0562387B2/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
    • 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)
  • Memory System (AREA)
  • Advance Control (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ベクトル演算が高速に実行できるベ
クトル処理向きデイジタル形電子算機(以下これ
をベクトル処理装置とよぶ)に関する。
〔発明の背景〕
第1図は、科学技術計算で頻繁に現われる
FORTRANプログラムの1例を示したものであ
る。第1図のプログラムは、配列データA,Bに
ついて、 (A(0)+A(1)+A(2))*0.33をB(1)に (A(1)+A(2)+A(3))*0.33ををB(2)に (A(2)+A(3)+A(4)*0.33をB(3)に 〓 〓 (A(98)+A(99)+A(100))*0.33をB(99)
に (A(99)+A(100)+A(101))*0.33をB
(100)に それぞれ格納するものである。即ち、配列Aの
第I番目の要素について見れば、A(I)とそれより
1つ前の要素A(I−1)と、1つ後の要素A(I
+1)とを加算して、0.33を乗ずる(3で割る)
処理を行うものである。このタイプの計算は、例
えば粒子シミユレーシヨンにおいて、各粒子と配
列Aの各要素に対応させ、ある粒子A(I)の一定時
間後の状態を、粒子A(I)の前後の粒子A(I−
1),A(I+1)の現状態とA(I)の現状態とで計
算するといつた処理などで現われ、科学技術計算
で頻繁に生じるタイプの演算である。科学技術計
算の問題によつては、配列が2次元であつたり3
次元であつたりする場合もあるが、ここでは説明
を簡単にするために、第1図に示すような一次元
の配列について考えることにする。
従来のベクトル処理装置のように、ベクトルデ
ータを一時的に保持するベクトルレジスタを有
し、主記憶装置内のベクトルデータを高速に読み
出して一旦ベクトルレジスタに格納し、引き続い
てベクトルレジスタよりベクトルデータを高速に
読み出してパイプライン演算器に送り、ベクトル
データの演算を高速に処理することを可能とした
ベクトル処理装置においては、第1図に示した
FORTRANプログラムは次のようにして処理さ
れていた。
第2図は、従来技術の説明に用いるベクトル処
理装置の構成を簡単に示した図である。第2図に
おいて、101は員記憶装置、102〜104は
ロード・ストア回路で主記憶装置とベクトルレジ
スタとの間のデータ転送を制御する回路である。
106はベクトルレジスタ群で第2図の例では第
O番から第N番まで番号付けされた合計(N+
1)本のベクトルレジスタで構成される。各ベク
トルレジスタは例えば256要素といつた複数個の
ベクトル要素データを一括して保持する機能をも
つレジスタである。108,109はパイプライ
ン構造の加算器であつて、ベクトルレジスタから
読出したデータをパイプライン処理で加算し、結
果をベクトルレジスタに書込むものである。11
0はパイプライン構造の乗算器の種類が異なぬこ
とを除いては108,109のパイプライン加算
器と同じである。105は102〜103のロー
ド・ストア回路と(N+1)個のベクトルレジス
タとの結合関係を制御するスイツチ回路、107
は(N+1)個のベクトルレジスタと108〜1
10の演算器との結合関係を制御するスイツチ回
路である。なお、第2図のベクトル処理装置にお
いて、ロード・ストア回路の個数、ベクトルレジ
スタの本数、加算器、乗算器の個数は本質的では
ない。
第2図のベクトル処理装置において第1図に示
したFORTRANプログラムを処理する様子は次
の如くである。
(1) スイツチ回路105を、ロード・ストア回路
102とベクトルレジスタ第O番(VRO)、ロ
ード・ストア回路103とベクトルレジスタ第
1番(VR1)、ロード・ストア回路104と
ベクトルレジスタの第2番(VR2)がそれぞ
れ結合されるように制御する。
(2) ロード・ストア回路102を使用し、ベクト
ルデータA(I−1)を、A(0),A(1),…,
A(99)の順でVROにロードする。
(3) 同様に、ロード・ストア回路103を使用し
てベクトルデータA(I)をA(1),A(2),A(3),
…,A(100)の順でVR1に、ロード・ストア
回路104を使用してベクトルデータA(I+
1)をA(2),A(3),…A(101)の順でVR2に
それぞれロードする。
(4) スイツチ回路107を、VR0,VR1,VR
3とパイプライン加算器108,VR2,VR
3,VR4とパイプライン加算器109がそれ
ぞれ結合されるように制御する。
(5) VR0からベクトルデータA(I−1),VR
1からベクトルデータA(I)を順次読出し、パイ
プライン加算器108に供給してA(I−1)+
A(I)を計算し、結果をVR3に書込む。
(6) VR2からベクトルデータA(I+1),VR
3から、A(I−1)+A(I)の演算結果を順次読
み出してパイプライン加算器109に供給し、
A(I−1)+A(I)+A(I+1)を計算して結
果をVR4に書込む。
(7) 以降、A(I−1)+A(I)+A(I+1)の演
算結果をVR4から読み出して、パイプライン
乗算器110に供給し、値0.33を乗じて結果を
主記憶装置に格納するまでの処理は、本発明と
は直接関係しないので省略する。
以上第2図に示した従来のベクトル処理装置に
おいて第1図に示したようなFORTRANプログ
ラムを処理する場合には次のような問題点があつ
た。
(1) ベクトルA(I−1)としてA(0),A(1),
……A(99)、ベクトルA(I)としてA(1),A(2),
……A(100)、ベクトルA(I+1)としてA
(2),A(3),…,A(101)と、ベクトルレジスタ
にロードする3個のベクトルは、先頭のベクト
ル要素が異なるだけで、ロードされるベクトル
要素データのほとんどは重複している。第3図
はこの重複の様子を示したものである。
(2) 3個のベクトルA(I−1),A(I),A(I+
1)をロードするとき、98個のベクトル要素デ
ータA(2)〜A(99)は第2図の3個のロード・
ストア回路102〜104からロードが要求さ
れ、主記憶装置から読出す際に競合が生じ、読
出し速度を低下させる可能性がある。
(3) ほとんどの要素データが重複する3個のベク
トルデータの保持に3個のベクトルレジスタを
使用し、ベクトルレジスタの使用効率が悪い。
(4) ほとんどの要素が重複する3個のベクトルデ
ータをロードするのに、ロード・ストア回路を
3個使用し、使用効率が悪い。
〔発明の目的〕
本発明の目的は、配列データの異なる要素から
処理可能なベクトル処理装置を提供することにあ
る。本発明の他の目的は、同一のベクトルレジス
タからのベクトルデータの読みだし中に、同じベ
クトルデータの読みだしを行なえるベクトル処理
装置を提供することにある。
〔発明の概要〕
本発明の特徴とするところは、ベクトルデータ
同志の演算や、ベクトルレジスタと主記憶装置と
の間のベクトルデータの転送を指示するベクトル
命令において、読出し/書込みを行う個々のベク
トルレジスタについて、ベクトルレジスタの番号
とベクトルレジスタ内の第何番目の要素から読出
し/書込みを開始するかを指示するようにして、
ベクトルレジスタに格納されているベクトルデー
タを任意の要素から読出し/書込みできるように
してベクトルレジスタ上で配列データの部分参照
を可能にするところにある。さらに、ベクトルレ
ジスタと主記憶装置との間のベクトルデータの転
送をを指示するベクトル命令においては、転送す
るベクトルデータ要素数を指示できるようにし
て、ベクトルレジスタ上での複数の部分参照に必
要かつ十分な要素を転送できるようにするところ
にある。
〔発明の実施〕
以下、実施例により本発明を詳細に説明する。
第4図は、本発明の実施例のベクトル処理装置
におけるベクトル命令のフオーマツトを示したも
のである。第4図において、命令フオーマツト
1,2の上に示した数字は命令のビツト位置を示
す数値で、本実施例のベクトル命令は64ビツトの
長さである。ベクトル命令のフオーマツトは、加
算や乗算などの演算系のベクトル命令と、ベクト
ルレジスタと主記憶装置との間のベクトルデータ
の転送を指示するロード/ストア系のベクトル命
令とでは異なる。演算系のベクトル命令1では最
初の16ビツトで演算の種類を指定し、さらに第1
オペランド、第2オペランド、第3オペランドの
3つのオペランドを16ビツトずつ使用して指定す
る。各オペランドの指定内容は、ベクトルデータ
を格納するベクトルレジスタの番号と、該ベクト
ルレジスタ内の何番目の要素から読出しあるいは
書込みを開始するかを指示する開始要素番号の2
つである。演算系のベクトル命令において、第1
オペランドは演算結果を書込むベクトルレジスタ
の番号と書込み開始要素番号を示し、第2オペラ
ンドおよび第3オペランドは被演算ベクトルデー
タを読出すベクトルレジスタの番号と読出し開始
要素番号を示す。例えば、ベクトル加算命令では
第2オペランドで指定されるベクトルレジスタの
内容と第3オペランドで指定されるベクトルレジ
スタの内容とを加算して、結果を第1オペランド
で指定されるベクトルレジスタに書込む。
ロード/ストア系のベクトル命令2では、ビツ
ト0〜15でオペレーシヨン内容を指定し、さら
に、ビツト16〜31で第1オペランド、ビツト32〜
39でベクトルアドレスレジスタ(VAR:Vector
Address Register)の番号、ビツト40〜47でベ
クトル増分値レジスタ(VIR:Vector
Increment Register)の番号、ビツト48〜63で
主記憶装置とベクトルレジスタとの間の転送ベク
トルデータ要素数を指定する。第1オペランドで
は、主記憶装置とデータのやりとりを行うベクト
ルレジスタの番号と読出し/書込み開始要素番号
を指定する。VARは主記憶装置上にあるベクト
ルデータの先頭番地を保持するレジスタである。
ベクトル増分値レジスタは、主記憶装置上にある
ベクトルデータの各要素間の間隔を保持するレジ
スタである。VARとVIRの値とから、次に読出
しあるいは書き込みを行う主記憶上のベクトルデ
ータ要素の番号を計算する。なお第4図に示した
例で、命令の長さと各オペランドを指定するのに
使用するビツト数は本発明の本質ではない。
第5図は本発明の実施例のベクトル処理装置の
構成を示したものである。番5図において、20
1は主記憶装置、202は命令読出し制御回路で
主記憶装置からベクトル命令を読出し、信号線5
00を介しベクトル命令解読・実行制御回路20
3へ送る。ベクトル命令解読・実行制御回路20
3は、主記憶装置から読み出したベクトル命令を
解読して、ベクトル処理装置内にベクトル命令の
実行に必要な制御情報を送出する。204はベク
トルアドレスレジスタ群であり、本実施例では第
O番から第m番まで番号付けされた(m+1)個
のベクトルアドレスレジスタがある。205はベ
クトル増分値レジスタ群であり、第O番から第m
番まで番号付けされた(m+1)個のベクトル増
分値レジスタがある。206,207はロード・
ストア回路で、主記憶装置とベクトルレジスタと
の間のベクトルデータ転送を処理する回路であ
る。208,209はセレクト回路であつて、制
御線210を介してベクトル命令解読・実行制御
回路203から指示されるVAR番号、VIR番号
に従い、VAR,VIRの値をセレクトし、それぞ
れアドレス線211,212のせる機能をもつ。
VAR,VIRの値はアドレス線211,212を
介してロード・ストア回路206,207に送ら
れる。213〜214はパイプライン加算器であ
つて、ベクトルレジスタから読み出したベクトル
データをパイプラインで加算して結果をベクトル
レジスタに書き込むものである。215はパイプ
ライン乗算器であつて、ベクトルレジスタから読
み出したベクトルデータをパイプラインで乗算し
て結果をベクトルレジスタに書込むものである。
216〜219はベクトルレジスタ(VR:
Vector Register)である。本実施例ではベクト
ルレジスタは(n+1)個あり、第o番から第n
番まで番号付けされている。また1個のベクトル
レジスタで最大512個のベクトル要素を保持する。
220〜223はベクトルレジスタ制御回路であ
つて、ベクトルレジスタからのベクトルデータの
読出しあるいは書込みを制御する回路である。ベ
クトルレジスタ制御回路は各ベクトルレジスタに
ついて1個用意されており、ベクトル命令解読・
実行制御回路203からの制御信号により動作を
開始する。501はベクトルレジスタ制御回路と
スイツチ225との間のデータバスである。22
4はベクトル命令解読・実行制御回路203から
ベクトルレジスタ制御回路220〜223に制御
信号を送る制御信号線群である。制御信号として
は、(1)ベクトルレジスタ番号、(2)読出し指示、(3)
書込み指示、(4)読出し/書込み開始要素番号、(5)
読出しポインタ番号、(6)処理ベクトル要素があ
る。ベクトルレジスタ制御回路220〜223
は、ベクトル命令解読・実行制御回路203より
制御信号線群224を介して上記6種の制御信号
を受け取り、ベクトルレジスタ番号を解読してベ
クトルレジスタ制御回路のそれぞれが動作を開始
するかどうかを識別する。動作開始と判断したベ
クトルレジスタ制御回路は読出し指示、書込み指
示、読出し/書込み開始要素番号を調べ、指定さ
れた要素番号から順次読出しあるいは書込みを開
始する。読出しポインタ番号の処理については後
述する。225はスイツチ回路であつて、ベクト
ルレジスタとロード・ストア回路、加算器、乗算
器との結合関係を制御する回路である。226は
レジスタで、ベクトル命令解読・実行制御回路内
にあり、演算系命令を実行するときの処理ベクト
ル要素数を保持する。
なお、第5図の実施例において、VAR,VIR、
ロード・ストア回路、加算器、乗算器、ベクトル
レジスタの個数は本発明の本質ではない。
次に第5図に示したベクトル処理装置の全体の
動作の概要を説明する。主記憶装置201に格納
されているベクトル命令は命令読出制御回路20
2により順次読出され、ベクトル命令解読・実行
制御回路203に送られる。ベクトル命令解読・
実行制御回路203では読み出されたベクトル命
令が解読され、命令の実行に必要な処理が遂行さ
れる。解読されたベクトル命令がロード/ストア
系命令であつた場合には、制御信号線群224を
介し、(1)第1オペランドで指定されるベクトルレ
ジスタ番号と読出し/書込み開始要素番号、(2)第
4図のLフイールドで指定される転送ベクトルデ
ータ要素数、(3)ロード命令の場合は書込指示、ス
トア命令の場合は読出指示等がベクトルレジスタ
制御回路220〜223に送られ、ベクトルレジ
スタの読出しあるいは書込みが開始される。ま
た、命令で指定されたVAR番号、VIR番号がベ
クトル命令解読・実行制御回路203から制御線
210を介して送られ、セレクト回路208,2
09を制御して指定されたVAR,VIRの値をを
読出し、アドレス線211,212を介してロー
ド・ストア回路206,207に送られる。ロー
ド・ストア回路ではVAR,VIRの値により主記
憶装置上のベクトルデータのアドレスが計算さ
れ、主記憶装置上のベクトルデータの読出しある
いは書込みが開始される。以上のようにして主記
憶装置とベクトルレジスタとの間でベクトルデー
タの転送が開始されロード/ストア系ベクトル命
令の処理が遂行される。
解読されたベクトル命令が演算系命令であつた
場合には、制御信号線群224を介し、(1)命令の
第1オペランド、第2オペランド、第3オペラン
ドで指定されるベクトルレジスタの番号と読出
し/書込み開始要素番号、(2)処理ベクトル要素数
保持レジスタ226で示される処理ベクトル要素
数、(3)第1オペランドに対応するベクトルレジス
タに対しては書込み指示、第2オペランドおよび
第3オペランドに対応するベクトルレジスタに対
しては読出し指示等がベクトルレジスタ制御回路
220〜223に送られ、ベクトルレジスタの読
出しあるいは書込みが開始される。また命令で指
定される演算の種類に従つて加算器あるいは乗算
器が動作を開始し、第2オペランドおよび第3オ
ペランドで指定されるベクトルレジスタから読出
されたベクトルデータが加算器あるいは乗算器に
送られて演算が行われ、結果が第1オペランドで
指定されるベクトルレジスタに書込まれる。
次に、第5図のベクトル命令解読・実行制御回
路203の詳細を第6図を用いて説明する。第5
図において、301はベクトル命令レジスタであ
り第4図に示したベクトル命令1命令分を保持す
るため64ビツトで構成され、第5図の命令読出制
御回路202より読出されたベクトル命令を格納
する。第6図における302はデコード回路であ
りベクトル命令レジスタ301のビツト0〜15に
あるベクトル命令のオペレーシヨンコードをデコ
ードしてベクトル命令で指示される処理の内容を
調べる。303,304は制御信号線で、デコー
ド回路302から出力され、制御信号線303
は、ベクトル命令レジスタ301にある命令が演
算系命令のときONとなり、制御線304はロー
ド/ストア系命令のときONとなる。制御線30
3と304が同時にONとなることはない。30
5,306,307はそれぞれ第1オペランド制
御回路、第2オペランド制御回路、第3オペラン
ド制御回路であり、ベクトル命令レジスタ301
の第1オペランド、第2オペランド、第3オペラ
ンドを指示するフイールドのベクトルレジスタ番
号および読出し/書込み開始要素番号により第5
図のベクトルレジスタ制御回路220〜223に
送出する制御信号をを生成する回路である。ここ
で、第2オペランド回路306、第3オペランド
307は制御線303がONとなる演算系ベクト
ル命令の処理のときのみ動作し、ロード/ストア
系命令のときには動作しない。第1オペランド制
御回路305、第2オペランド制御回路306、
第3オペランド制御回路307から送出される制
御情報には、(1)読出し指示(信号線426)、(2)
書込み指示(信号線413)、(3)ベクトルレジス
タ番号(信号線412)、(4)読出し/書込み開始
要素番号(信号線415)、(5)読出しポインタ番
号(信号線427)がある。ここで、読出しポイ
ンタ番号とは、後で第7図を用いて説明する如
く、本発明の実施例のベクトルレジスタは多重度
3で同時に独立に読出せる構造となつており、読
出しポインタが多重度に等しい3面用意されてお
り、読出しポインタ番号は3面ある読出しポイン
タのいずれを使用するかを指示するものである。
308,309はそれぞれVAR番号送出制御回
路、VIR番号送出制御回路であり、制御線304
がONとなるロード/ストア系ベクトル命令の処
理のときのみ動作する。310は処理ベクトル要
素数送出制御回路で、制御線304がONとなる
とき、即ちロード/ストア系ベクトル命令のと
き、ベクトル命令レジスタ301のビツト48〜63
を選択し、制御線304がOFFのときは、第5
図の説明で示した処理ベクトル要素数を保持する
レジスタ266を選択して送出する。第1オペラ
ンド制御回路305、第2オペランド制御回路3
06、第3オペランド制御回路307、処理ベク
トル要素数制御回路310から送出される制御情
報は第5図の制御信号線群224を介してベクト
ルレジスタ制御回路に送られる。また、VAR番
号、VIR番号は制御線210を介して送出され
る。
次に第7図を用いて本発明の実施例におけるベ
クトルレジスタ制御回路およびベクトルレジスタ
の構成を説明する。第7図はベクトルレジスタ1
個分のベクトルレジスタ制御回路およびベクトル
レジスタの構成を示したものである。第5図のベ
クトル処理装置では、第7図の回路が(n+1)
個存在する。第7図で、401,402,403
は記憶モジユール(以下RAMと略す)であり、
1個のRAMでベクトルデータ要素512個を格納
することができる。RAMにおいて、端子DINは
書込みデータ入力端子、端子DOUTは読出しデ
ータの出力端子、端子WEはライトイネーブル端
子で、端子WEに信号値1が入るときRAMは書
込み状態となる。端子WPは書込みポインタ端子
で端子DINから入力される書込みデータを書込
むRAMのアドレスを指示する。端子REはリー
ドイネーブル端子であつて、端子REに信号値1
が入るときRAMは読出し状態となる。端子RP
は読出しポインタ端子で端子DOUTから出力さ
れる読出データの格納されているRAMのアドレ
スを指示する。404は書込みデータレジスタで
あり、第5図のロード・ストア回路や加算器、乗
算器から送られてくる書込みデータを一旦保持
し、RAMに供給するものである。405,40
6,407は読出しデータレジスタであり、
RAMから読出したデータを一旦保持し、第5図
のロード・ストア回路や加算器、乗算器に送出す
るものである。本実施例におけるベクトルレジス
タは第7図に示す如く、3個の記憶モジユール4
01,402,403(それぞれRAM0,
RAM1,RAM2と称する)で構成され、書込
みデータレジスタは3個のRAMモジユールで共
有し、読出しデータレジスタは3個のRAMモジ
ユールがそれぞれ別個に有する構造となつてい
る。これは、書込みデータは3個のRAMモジユ
ールRAM0,RAM1,RAM2に同時に書込む
が、RAMに書込んだデータは、RAM0,RAM
1,RAM2からそれぞれ別個に読み出せるよう
にし、1個のベクトルレジスタの内容を最大3個
のロード・ストア回路あるいは加算器、乗算器に
同時に独立に送出することを可能とするためであ
る。なお、ここで、RAMモジユールの多重度3
は本発明の本質ではなく、ベクトル処理装置の構
成において主に実装上の理由等から定められるも
のである。408は書込み制御回路であり、
RAM0,RAM1,RAM2に対し、ライト・イ
ネーブル信号および書込みアドレスを送出するも
のである。409,410,411は読出し制御
回路(それぞれ読出し制御回路0、読出し制御回
路1、読出し制御回路2と称する)であり、それ
ぞれRAM0,RAM1,RAM2に対し、リード
イネーブル信号および読出しアドレスを送出する
ものである。3個の読出し制御回路409,41
0,411の構造は全く同じであるが、互いに独
立して動作できる。
次に、第7図によりベクトルレジスタにベクト
ルデータを書込む動作の詳細について説明する。
書込み動作時は、ベクトル命令解読・実行制御回
路より制御線412,413,414,415を
介してそれぞれのベクトルレジスタ番号、書き込
み指示信号、処理ベクトル要素数、書込み開始要
素番号が送られてくる。416はベクトルレジス
タ番号識別回路であつて、ベクトルレジスタ番号
を解読して該当ベクトルレジスタかどうかを調べ
る。解読の結果、該当ベクトルレジスタであつた
場合は制御線417が‘1'となり、書込み動作の
基準にかかる。418はライト・イネーブル信号
生成回路であつて、制御線413から書込み指示
信号が到着し、かつ、制御線417が‘1'のと
き、ライトイネーブル信号の送出を開始する。4
19は書込み処理が残つているベクトル要素数を
保持するレジスタ、420は次にデータを書込む
RAMのアアドレスを保持するレジスタ421は
レジスタ419の内容がオールゼロであるかどう
かを調べる回路、422はマイナス1カウンタ、
423はプラス1カウンタである。424はセレ
クト回路で、制御線413を介して書込み指示信
号が到着したとき、414を介して送られてくる
処理ベクトル要素数を選択し、それ以外は、マイ
ナス1カウンタ422の出力値を選択してレジス
タ419にセツトするものである。425はセレ
クト回路で、制御線413を介して書込み指示信
号が到着したとき、制御線415を介して送られ
てくる書込み開始要素番号を選択し、それ以外は
プラス1カウンタ423の出力値を選択してレジ
スタ420にセツトするものである。書込み動作
時においては、書込み指示信号の到着に従つて、
処理ベクトル要素数および書込み開始要素番号を
それぞれレジスタ419,420にセツトして書
込み動作を開始する。レジスタ420の内容はデ
ータの書込みアドレスとして、RAM0,RAM
1,RAM2の端子WPに与えられる。また、1
ベクトル要素データが書き込まれると、プラス1
カウンタ423によりレジスタ420の内容が更
新され、次にデータを書込むアドレスを示す。レ
ジスタ419にセツトされた処理ベクトル要素数
は、データが1個所書き込まれるたびに、マイナ
ス1カウンタ422で−1減じられて更新され、
ゼロ検出回路421で、値0が検出されると、ラ
イトイネーブル信号生成回路418にその旨報告
して、ライトイネーブル信号値を‘0'とし、書込
み動作を終了する。
次に、ベクトルデータをRAM0から読出す動
作について説明する。読出し動作時には、ベクト
ル命令解読・実行制御回路より制御線412,4
14,415,426,427を介してそれぞれ
ベクトルレジスタ番号、処理ベクトル要素数読出
し開始要素番号、読出し指示信号、読出しポイン
タ番号が送られてくる。428は読出しポインタ
番号のデコード回路で、デコードの結果、値が0
なら読出し制御回路0、値が1なら読出し制御回
路1、値が2なら読出し制御回路2がそれぞれ動
作する。428はリードイネーブル信号生成回路
であつて、制御線426から読出し指示信号が到
着し、かつ制御線417が‘1'のとき、リードイ
ネーブル信号の送出を開始する。429は読出し
処理が残つているベクトル要素数を保持するレジ
スタ、430は次にデータを読出すRAMのアド
レスを保持するレジスタである。431はゼロ検
出回路、432はマイナス1カウンタ、433は
プラス1カウンタ、434,435はセレクト回
路である。動作は書込み制御回路の場合と同様
で、読出し指示信号の到着とともに読出し要素番
号をレジスタ430に取り込み、データの読出し
が開始される。レジスタ430の内容は、読出し
データアドレスとしてRAM0の端子RPに与え
られ、データが1個読み出されると、プラス1カ
ウンタ433で1が加算されて更新され、次に読
出すデータのアドレスを指す。また、読出し指示
信号の到着とともに処理ベクトル要素数がレジス
タ434に取り込まれ、データを1個読み出すた
びに、マイナス1カウンタ432で1減じられて
更新され、ゼロ検出回路431にて値0を検出す
ると、その旨リードイネーブル信号生成回路に通
知して、リードイネーブル信号を‘0'とし、読出
し動作を完了する。RAM1からデータを読出す
ときは読出しポインタ番号として‘1'が与えら
れ、読出し制御回路1が同様に動作し、RAM2
からデータを読出すときは読出しポインタ番号と
して‘2'が与えられ、読出し制御回路2が同様に
動作して読出し処理が行われる。3個の読出し制
御回路は独立に同時に動作が可能である。
次に第5図、第6図、第7図に示した本発明の
実施例において、第1図に示したFORTRANプ
ログラムが処理される様子を説明する。
本実施例における第1図のFORTRANプログ
ラムの処理の概要は次の通りである。
(1) 配列データAをA(0),A(1),A(2),…A
(99),A(100),A(101)の順で合計102ベクト
ル要素をベクトルレジスタの第0番(VR0)
にロードする。
(2) VR0のRAM0からA(0),A(1)…,A
(98),A(99)(第3図のベクトルA(I−1)
に相当)、VR0のRAM1からA(1),A(2),
…,A(99),A(100)(第3図のベクトルA(I)
に相当)、を順次読み出して加算し、結果をベ
クトルレジスタの第1番(VR1)に格納す
る。
(3) VR1のRAM0からA(I−1)+A(I)の演
算結果を読み出し、同時に、VR0のRAM2
からA(2),A(3),…,A(101)(第3図のベク
トルA(I+1)に相当)を読み出して結果を
ベクトルレジスタの第2番に格納する。
(4) 以下、VR2のRAM0からA(I−1)+A
(I)+A(I+1)の演算結果を読み出して0.33
を乗じ、その結果をVR3に格納し、さらに主
記憶装置にストアする。
第8図は、以上の処理を第4図に示したベクト
ル命令フオーマツトに従つて模式的に記述したベ
クトル命令列である。第8図においては本発明と
直接関連のない、0.33とA(I−1)+A(I)+A
(I+1)との乗算および、その結果の主記憶装
置へのストアは省略している。また、第8図のベ
クトル命令列の実行を開始するにあたつて、第5
図のレジスタ226には処理ベクトル要素数とし
て100,VAR0には配列データ要素A(0)の
主記憶装置上のアドレス、VIR0には配列データ
Aの各要素の主記憶装置上での間隔がすでに格納
されているとする。
第8図において、 ●命令は、VAR0,VAR0でそのアドレスが
与えられる配列Aを要素数102個分主記憶装置
から読出し、VR0の要素番号0から順次格納
することを指示する。(AC0)〜A(101)を
VR0にロード)。
●命令は、VR0の要素番号0から順次100個
のベクトル要素、VR0の要素番号1から順次
100個のベクトル要素を読み出して加算し、結
果をVR1の要素番号0から順次格納すること
を指示する(A(I−1)+A(I),I=1〜100
をVR1にロード)。
●命令は、VR1の要素番号0から順次100個
のベクトル要素、VR0の要素番号2から順次
100個のベクトル要素を読出して加算し、結果
をVR2の要素番号0から順次格納することを
指示する({A(I−1)+A(I)}+A(I+1),
I=1〜100をVR2にロード)。
第5図において、 ●命令が主記憶装置から読み出されてベクトル
命令解読・実行制御回路203で解読される
と、制御線210を介してVAR,VIRの番号
として値0が送出され、VAR0,VIR0の値
が読み出され、アドレス線211を介してロー
ドストア回路206でアドレス計算が行われ
る。また、制御線群224を介してベクトルレ
ジスタ番号として0、書込み開始要素番号とし
て0、書込み指示信号、処理ベクトル要素数と
して102が送出されて、VR0制御回路22
0が動作しVR0へデータの書込みが行われ
る。
●命令が解読されると、制御信号群224を介
して、 第1オペランドについて、 ●ベクトルレジスタ番号として1、 ●書込み指示信号 ●書込み開始要素番号として0、 第2オペランドについて、 ●ベクトルレジスタ番号として0、 ●読出し指示信号 ●読出し開始要素番号として0、 ●読出しポインタ番号として0、 第3オペランドについて、 ●ベクトルレジスタ番号として0、 ●読出し指示信号、 ●読出し開始要素番号として1、 ●読出しポインタ番号として1、 また処理ベクトル要素数としてレジスタ226
の値である100が送出されて、VR0制御回路
220,VR1制御回路229が動作し、VR
0のRAM0,RAM1から順次ベクトルデー
タを読出して加算器213に送り、結果を
VR1に書込む。
●同様に命令においては、 第1オペランドについて ●ベクトルレジスタ番号として2、 ●書込み指示信号 ●書込み開始要素番号として0、 第2オペランドについて、 ●ベクトルレジスタ番号として1、 ●読出し指示信号 ●読出し開始要素番号として0、 ●読出しポインタ番号として0、 第3オペランドについて、 ●ベクトルレジスタ番号として0、 ●読出し指示信号、 ●読出し開始要素番号として2、 ●読出しポインタ番号として2、 また処理ベクトル要素数としてレジスタ226
の内容100を、ベクトル命令解読・実行制御回
路203から制御信号線群224を介して送出
し、VRV制御回路220,VR1制御回路22
1、VR2制御回路が動作して、VR1のRAM
0,VR0のRAM2から順次ベクトルデータ
を読出して加算器214に送り、結果をVR2
に書込む。
以上のように、本実施例による第1図の
FORTRANプログラムの処理では、配列データ
AをA(0)からA(101)まで合計102要素を1度
だけベクトルレジスタにロードし、A(I−1)+
A(I)+A(I+1),I=1〜100の加算において
は、A(I−1),A(I),A(I+1)を別々のベ
クトルデータとして扱うことはせず、読み出し開
始要素をそれぞれA(0),A(1),A(2)とずらして
同一のベクトルレジスタから読出すことにより、
第2図を用いて説明した従来技術にあつたよう
な、要素のほとんどが重複する複数のベクトルデ
ータを別個にロードすることを避け、主記憶参照
の負荷を軽減するとともに、ベクトルレジスタの
使用本数も軽減させている。
〔発明の効果〕
以上述べた通り、本発明によれば、ベクトルレ
ジスタからベクトルデータを、その先頭要素とは
異なる要素から読みだすことができる。さらに、
本願の他の発明によれば、同一のベクトルレジス
タからのベクトルデータの読みだし中に、同じベ
クトルデータの読み出しを行なえる。
【図面の簡単な説明】
第1図は従来技術および本発明の実施例を説明
するのに用いるFORTRANプログラムの1例を
示す図、第2図は従来のベクトル処理装置の1構
成例を示す図、第3図は第1図のFORTRANプ
ログラムにおける配列データ部分参照の様子を説
明する図、第4図は本発明の実施例におけるベク
トル命令の形式を説明する図、第5図は本発明の
1実施例であるベクトル処理装置の構成図、第6
図は本発明の1実施例におけるベクトル命令解読
部を説明する図、第7図は本発明の1実施例にお
けるベクトルレジスタ構成を示す図、第8図は本
発明の1実施例で第1図のFORTRANプログラ
ムを処理するベクトル命令列を説明する図であ
る。 〔符号の説明〕、203…ベクトル命令解読・
実行制御回路、220〜223…ベクトルレジス
タ制御回路。

Claims (1)

  1. 【特許請求の範囲】 1 ベクトルデータをそれぞれ保持する複数のベ
    クトルレジスタと、 各ベクトルレジスタに保持されたベクトルデー
    タを読みだすかもしくはそれに保持されるべきベ
    クトルデータを書き込むためのアクセス手段と、 少なくとも一つのベクトルレジスタに関して、
    そこから読みだすべきベクトルデータ又はそこに
    書き込むべきベクトルデータの少なくとも一方
    の、先頭要素とは異なりうる要素を指定する手段
    とを有し、 該アクセス手段は、その一つのベクトルレジス
    タに保持されたベクトルデータを読みだすときそ
    の指定された要素から読みだすかもしくはそれに
    保持されるべきベクトルデータを書き込むときそ
    の指定されたから書き込むかの少なくとも一方を
    実行する手段を有するベクトル処理装置。 2 該指定手段は、該一つのベクトルレジスタか
    らのベクトルデータの読みだしを要求するかまた
    はその一つのベクトルレジスタへのベクトルデー
    タの書き込みを要求する命令に応答して、その命
    令が要求する要素を指定する手段からなる 特許請求の範囲第1項のベクトル処理装置。 3 該指定手段は、該一つのベクトルレジスタか
    ら読みだすべきベクトルデータの、先頭要素とは
    異なりうる要素を指定する第1の指定手段と、そ
    こに書き込むべきベクトルデータの、先頭要素と
    は異なりうる要素を指定する第2の指定手段とを
    有し、 該アクセス手段は、 その一つのベクトルレジスタに保持されたベク
    トルデータを、その第1の指定手段により指定さ
    れた要素から読みだす手段と、 その一つのベクトルレジスタに保持されるべき
    ベクトルデータを、その第2の指定手段により指
    定された要素から書き込む手段とを有する 特許請求の範囲第1項のベクトル処理装置。 4 該第1の指定手段は、該一つのベクトルレジ
    スタからのベクトルデータの読みだしを要求する
    命令に応答して、その命令が要求する要素を指定
    する手段からなり、 該第2の指定手段は、該一つのベクトルレジス
    タへのベクトルデータの書き込みを要求する命令
    に応答して、その命令が要求する要素を指定する
    手段からなる 特許請求の範囲第3項のベクトル処理装置。 5 該指定手段は、それぞれ一つのベクトルレジ
    スタに対して設けられ、そこから読みだすべきベ
    クトルデータ又はそこに書き込むべきベクトルデ
    ータの少なくとも一方の、先頭要素とは異なりう
    る要素を指定する複数の指定手段とを有し、 該アクセス手段は、いずれかのベクトルレジス
    タに保持されたベクトルデータを読みだすときそ
    のベクトルレジスタに対応して設けられた一つの
    指定手段により指定された要素から読みだすかも
    しくはそれに保持されるべきベクトルデータを書
    き込むときその一つの指定手段により指定された
    要素から書き込むかの少なくとも一方を実行する
    手段を有する 特許請求の範囲第1項のベクトル処理装置。 6 各指定手段は、対応する一つのベクトルレジ
    スタからのベクトルデータの読みだしを要求する
    かまたはそのベクトルレジスタへのベクトルデー
    タの書き込みを要求する命令に応答して、その命
    令が要求する要素を指定する手段からなる 特許請求の範囲第5項のベクトル処理装置。 7 該指定手段は、 それぞれ一つのベクトルレジスタに対して設け
    られ、そこから読みだすべきベクトルデータの、
    先頭要素とは異なりうる要素を指定する複数の第
    1の指定手段と、 そこに書き込むべきベクトルデータの、先頭要
    素とは異なりうる要素を指定する複数の第2の指
    定手段とを有し、 該アクセス手段は、 それぞれ一つのベクトルレジスタに対して設け
    られ、そこに保持されたベクトルデータを、その
    ベクトルレジスタに対して設けられた第1の指定
    手段により指定された要素から読みだす複数の読
    みだし手段と、 それぞれ一つのベクトルレジスタに対して設け
    られ、それに保持されるべきベクトルデータを、
    そのベクトルレジスタに対して設けられた第1の
    指定手段により指定された要素から書き込む複数
    の書き込み手段とを有する 特許請求の範囲第1項のベクトル処理装置。 8 各第1の指定手段は、対応する一つのベクト
    ルレジスタからのベクトルデータの読みだしを要
    求する命令に応答して、その命令が要求する要素
    を指定する手段からなり、 各第2の指定手段は、対応する一つのベクトル
    レジスタへのベクトルデータの書き込みを要求す
    る命令に応答して、その命令が要求する要素を指
    定する手段からなる 特許請求の範囲第7項のベクトル処理装置。 9 ベクトルデータをそれぞれ保持する複数のベ
    クトルレジスタと、 各ベクトルレジスタに保持されたベクトルデー
    タを読みだすかもしくはそれに保持されるべきベ
    クトルデータを書き込むためのアクセス手段とを
    有し、 該アクセス手段は、それぞれ少なくともいずれ
    か一つのベクトルレジスタから同一のベクトルデ
    ータを並行して読みだすための複数の読みだし手
    段を有する ベクトル処理装置。 10 該複数の読みだし手段は、それぞれその一
    つのベクトルレジスタからベクトルデータを読み
    出すことを要求する命令に応答して起動される 特許請求の範囲第9項のベクトル処理装置。 11 該アクセス手段は、それぞれ該複数の読み
    だし手段の一つに対応して設けられ、該一つのベ
    クトルレジスタから読みだすべきベクトルデータ
    の、先頭要素とは異なりうる要素をそれぞれ指定
    する複数の指定手段をさらに有し、 該複数の読みだし手段は、それぞれ該一つのベ
    クトルレジスタに保持されたベクトルデータを、
    それぞれに対応して設けられた指定手段により指
    定された要素から読みだす手段を有する 特許請求の範囲第9項のベクトル処理装置。 12 各指定手段は、該一つのベクトルレジスタ
    からのベクトルデータの読みだしを要求する命令
    に応答して対応する読みだし手段がそのベクトル
    データを読みだすときに、その命令が要求する要
    素を指定する手段からなる 特許請求の範囲第11項のベクトル処理装置。 13 該少なくとも一つのベクトルレジスタは、
    複数の内部ベクトルレジスタからなり、該アクセ
    ス手段は、 その一つのベクトルレジスタに書き込むべきベ
    クトルデータを、その複数の内部ベクトルレジス
    タの各々に書き込む手段とを有し、 該複数の読みだし手段は、それぞれ該複数の内
    部ベクトルレジスタの一つに対応して設けられて
    いる 特許請求の範囲第9項のベクトル処理装置。 14 該書き込み手段は、該複数の内部ベクトル
    レジスタにベクトルデータを並列に書き込む手段
    からなる 特許請求の範囲第13項のベクトル処理装置。 15 該書き込み手段は、その一つのベクトルレ
    ジスタにベクトルデータを書き込むことを要求す
    る命令に応答して起動される 特許請求の範囲第13項のベクトル処理装置。 16 該複数の内部ベクトルレジスタは、共通の
    データ入力端に接続された異なる記憶手段にて構
    成され、 該書き込み手段は、該複数の内部ベクトルレジ
    スタに共通に設けられた書き込み手段を有する 特許請求の範囲第13項のベクトル処理装置。 17 該複数の内部ベクトルレジスタは、異なる
    データ出力端に接続された異なる記憶手段にて構
    成されている特許請求の範囲第13項のベクトル
    処理装置。 18 該アクセス手段は、該一つのベクトルレジ
    スタに書き込むべきベクトルデータの、先頭要素
    とは異なりうる要素を指定する手段をさらに有
    し、 該書き込み手段は、その一つのベクトルレジス
    タに保持されるべきベクトルデータを、その指定
    された要素から該複数の内部ベクトルレジスタに
    書き込む手段からなる 特許請求の範囲第13項のベクトル処理装置。 19 該指定手段は、該一つのベクトルレジスタ
    へのベクトルデータの書き込みを要求する命令に
    応答して、その命令が要求する要素を指定する手
    段からなる 特許請求の範囲第18項のベクトル処理装置。 20 該アクセス手段は、それぞれ該複数の内部
    ベクトルレジスタの一つに対応して設けられ、対
    応する一つの内部ベクトルレジスタから読みだす
    べきベクトルデータの、先頭要素とは異なりうる
    要素をそれぞれ指定する複数の指定手段をさらに
    有し、 該複数の読みだし手段は、それぞれ一つの内部
    ベクトルレジスタに保持されたベクトルデータ
    を、その内部ベクトルレジスタに対応して設けら
    れた指定手段により指定された要素から読みだす
    手段を有する 特許請求の範囲第13項のベクトル処理装置。 21 各指定手段は、該一つのベクトルレジスタ
    からのベクトルデータの読みだしを要求する命令
    に応答して一つの内部ベクトルレジスタに対応す
    る読みだし手段がその一つの内部ベクトルレジス
    タからのベクトルデータを読みだすときに、その
    命令が要求する要素を指定する手段からなる 特許請求の範囲第20項のベクトル処理装置。
JP58242034A 1983-12-23 1983-12-23 ベクトル処理装置 Granted JPS60134974A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP58242034A JPS60134974A (ja) 1983-12-23 1983-12-23 ベクトル処理装置
US06/684,786 US4760545A (en) 1983-12-23 1984-12-21 Vector processing apparatus including vector registers having selectively accessible storage locations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58242034A JPS60134974A (ja) 1983-12-23 1983-12-23 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPS60134974A JPS60134974A (ja) 1985-07-18
JPH0562387B2 true JPH0562387B2 (ja) 1993-09-08

Family

ID=17083284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58242034A Granted JPS60134974A (ja) 1983-12-23 1983-12-23 ベクトル処理装置

Country Status (2)

Country Link
US (1) US4760545A (ja)
JP (1) JPS60134974A (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0167959B1 (en) * 1984-07-02 1992-05-06 Nec Corporation Computer vector register processing
JPS61173345A (ja) * 1985-01-29 1986-08-05 Hitachi Ltd 計算機システム
JPS62115571A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd ベクトルアクセス制御方式
JPS62120574A (ja) * 1985-11-20 1987-06-01 Fujitsu Ltd ベクトル処理装置
JPS6314275A (ja) * 1986-07-04 1988-01-21 Nec Corp ベクトル演算プロセツサのスカラデ−タ演算方式
US4949247A (en) * 1988-02-23 1990-08-14 Stellar Computer, Inc. System for transferring multiple vector data elements to and from vector memory in a single operation
US5019968A (en) * 1988-03-29 1991-05-28 Yulan Wang Three-dimensional vector processor
US5148536A (en) * 1988-07-25 1992-09-15 Digital Equipment Corporation Pipeline having an integral cache which processes cache misses and loads data in parallel
JPH0792779B2 (ja) * 1988-10-08 1995-10-09 日本電気株式会社 データ転送制御装置
US5109497A (en) * 1989-01-27 1992-04-28 Hughes Aircraft Company Arithmetic element controller for controlling data, control and micro store memories
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.
WO1992009968A1 (en) * 1990-11-27 1992-06-11 Cray Research, Inc. VECTOR WORD SHIFT BY Vo SHIFT COUNT IN VECTOR SUPERCOMPUTER PROCESSOR
US5438669A (en) * 1991-11-20 1995-08-01 Hitachi, Ltd. Data processor with improved loop handling utilizing improved register allocation
JPH06103068A (ja) * 1992-09-18 1994-04-15 Toyota Motor Corp データ処理装置
EP0594240B1 (en) * 1992-10-19 2000-01-05 Koninklijke Philips Electronics N.V. Data processor with operation units sharing groups of register files
US5669013A (en) * 1993-10-05 1997-09-16 Fujitsu Limited System for transferring M elements X times and transferring N elements one time for an array that is X*M+N long responsive to vector type instructions
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US5848286A (en) * 1994-03-29 1998-12-08 Cray Research, Inc. Vector word shift by vo shift count in vector supercomputer processor
US5623685A (en) * 1994-12-01 1997-04-22 Cray Research, Inc. Vector register validity indication to handle out-of-order element arrival for a vector computer with variable memory latency
AU4738396A (en) * 1994-12-01 1996-06-19 Intel Corporation A microprocessor having a multiply operation
US5680338A (en) * 1995-01-04 1997-10-21 International Business Machines Corporation Method and system for vector processing utilizing selected vector elements
WO1997008608A1 (en) * 1995-08-31 1997-03-06 Intel Corporation A set of instructions for operating on packed data
US6385634B1 (en) 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US7395298B2 (en) * 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
US5907842A (en) * 1995-12-20 1999-05-25 Intel Corporation Method of sorting numbers to obtain maxima/minima values with ordering
US6058465A (en) * 1996-08-19 2000-05-02 Nguyen; Le Trong Single-instruction-multiple-data processing in a multimedia signal processor
US5991531A (en) * 1997-02-24 1999-11-23 Samsung Electronics Co., Ltd. Scalable width vector processor architecture for efficient emulation
US6230253B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Executing partial-width packed data instructions
US6230257B1 (en) * 1998-03-31 2001-05-08 Intel Corporation Method and apparatus for staggering execution of a single packed data instruction using the same circuit
JP4203979B2 (ja) * 2000-08-02 2009-01-07 富士通株式会社 パケット処理装置
US7430578B2 (en) * 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
US7140019B2 (en) * 2002-06-28 2006-11-21 Motorola, Inc. Scheduler of program instructions for streaming vector processor having interconnected functional units
US7159099B2 (en) * 2002-06-28 2007-01-02 Motorola, Inc. Streaming vector processor with reconfigurable interconnection switch
US7415601B2 (en) * 2002-06-28 2008-08-19 Motorola, Inc. Method and apparatus for elimination of prolog and epilog instructions in a vector processor using data validity tags and sink counters
US7680990B2 (en) * 2003-05-30 2010-03-16 Hewlett-Packard Development Company, L.P. Superword memory-access instructions for data processor
US7290122B2 (en) 2003-08-29 2007-10-30 Motorola, Inc. Dataflow graph compression for power reduction in a vector processor
US7610466B2 (en) * 2003-09-05 2009-10-27 Freescale Semiconductor, Inc. Data processing system using independent memory and register operand size specifiers and method thereof
US7315932B2 (en) * 2003-09-08 2008-01-01 Moyer William C Data processing system having instruction specifiers for SIMD register operands and method thereof
US7275148B2 (en) * 2003-09-08 2007-09-25 Freescale Semiconductor, Inc. Data processing system using multiple addressing modes for SIMD operations and method thereof
US7660967B2 (en) * 2007-02-01 2010-02-09 Efficient Memory Technology Result data forwarding in parallel vector data processor based on scalar operation issue order
US7945768B2 (en) * 2008-06-05 2011-05-17 Motorola Mobility, Inc. Method and apparatus for nested instruction looping using implicit predicates
US8060724B2 (en) * 2008-08-15 2011-11-15 Freescale Semiconductor, Inc. Provision of extended addressing modes in a single instruction multiple data (SIMD) data processor
JP2011154523A (ja) * 2010-01-27 2011-08-11 Nec Corp コンパイル方法、コンパイラおよびベクトル計算機
US9292533B2 (en) 2010-06-08 2016-03-22 Dell Products L.P. Systems and methods for improving storage efficiency in an information handling system
CN108595371B (zh) * 2016-01-20 2019-11-19 北京中科寒武纪科技有限公司 用于向量运算的数据读取、写入及读写调度器及保留站

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5148937A (en) * 1974-10-25 1976-04-27 Fujitsu Ltd Kiokusochi niokeru junjoseigyohoshiki
JPS6024985B2 (ja) * 1978-08-31 1985-06-15 富士通株式会社 デ−タ処理方式
US4302818A (en) * 1979-07-10 1981-11-24 Texas Instruments Incorporated Micro-vector processor
KR860001434B1 (ko) * 1980-11-21 1986-09-24 후지쑤 가부시끼가이샤 데이타 처리시 스템
JPS57155666A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Instruction controlling system of vector processor
US4541046A (en) * 1981-03-25 1985-09-10 Hitachi, Ltd. Data processing system including scalar data processor and vector data processor
US4594682A (en) * 1982-12-22 1986-06-10 Ibm Corporation Vector processing

Also Published As

Publication number Publication date
US4760545A (en) 1988-07-26
JPS60134974A (ja) 1985-07-18

Similar Documents

Publication Publication Date Title
JPH0562387B2 (ja)
EP0282825B1 (en) Digital signal processor
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
EP0087978B1 (en) Information processing unit
EP0240032B1 (en) Vector processor with vector data compression/expansion capability
US4745547A (en) Vector processing
US5081573A (en) Parallel processing system
US5155817A (en) Microprocessor
JP2001516916A (ja) デジタル信号処理能力を有するデータ処理装置
JPH07141175A (ja) アクティブメモリおよび処理方式
US6029242A (en) Data processing system using a shared register bank and a plurality of processors
JPS61160176A (ja) ベクトル処理装置
US20030221086A1 (en) Configurable stream processor apparatus and methods
US5958000A (en) Two-bit booth multiplier with reduced data path width
JPH08123769A (ja) 並列プロセッサ
JPH04260957A (ja) コンピュータ・システム
EP1035479A2 (en) System for processing vector data
EP0169030A2 (en) Data processing circuit for calculating either a total sum or a total product of a series of data at a high speed
JPS59114677A (ja) ベクトル処理装置
JPH0461390B2 (ja)
US6275925B1 (en) Program execution method and program execution device
EP0105125B1 (en) Data processing system
JP2002215606A (ja) データ処理装置
US4812974A (en) Data processing apparatus for processing list vector instructions
JPH06309349A (ja) プログラム制御のプロセッサ