JPS6141026B2 - - Google Patents

Info

Publication number
JPS6141026B2
JPS6141026B2 JP56095681A JP9568181A JPS6141026B2 JP S6141026 B2 JPS6141026 B2 JP S6141026B2 JP 56095681 A JP56095681 A JP 56095681A JP 9568181 A JP9568181 A JP 9568181A JP S6141026 B2 JPS6141026 B2 JP S6141026B2
Authority
JP
Japan
Prior art keywords
vector
register
mask
elements
port
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
JP56095681A
Other languages
English (en)
Other versions
JPS57209570A (en
Inventor
Shoji Nakatani
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP56095681A priority Critical patent/JPS57209570A/ja
Priority to AU84724/82A priority patent/AU534216B2/en
Priority to CA000404871A priority patent/CA1189627A/en
Priority to US06/388,196 priority patent/US4490786A/en
Priority to DE8282303198T priority patent/DE3277252D1/de
Priority to BR8203588A priority patent/BR8203588A/pt
Priority to EP82303198A priority patent/EP0068764B1/en
Priority to ES513241A priority patent/ES8305138A1/es
Publication of JPS57209570A publication Critical patent/JPS57209570A/ja
Publication of JPS6141026B2 publication Critical patent/JPS6141026B2/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)

Description

【発明の詳細な説明】 本発明は、1サイクル中に連続せる複数個のエ
レメントをベクトル・レジスタから読出し得ると
共に1サイクル中に連続せる複数個のエレメント
をベクトル・レジスタに書込み得るようになつた
ベクトル処理装置において、圧縮変換および拡張
変換を少ない金物量で以て効率的に行い得るよう
にしたベクトル処理装置に関するものである。
ベクトル処理装置は一般に複数種類の処理部、
ベクトル・レジスタおよび制御部を有しており、
各種のベクトル命令を実行するものである。例え
ば、ベクトル加算命令においては、VAD,R1
R2,R3,Mという形式を有しており、第2オペ
ランド指定部R2で指定されたA(A=a0,a1,…
o-1)と第3オペランド指定部R3で指定された
ベクトルB(B=b0,b1…,bo-1)をエレメン
ト同志で加算し、その結果得られるベクトルCを
第1オペランド指定部R1で指定されらるベクト
ル・レジスタに書込んでいる。なお、Mはマス
ク・レジスタを示し、マスク・レジスタのデータ
に基づいて演算の可否あるいはベクトル・レジス
タへの書込の可否を制御している。ところで、ベ
クトル命令には、一般にベクトル加算命令、ベク
トル乗算命令、ベクトル除算命令、ベクトル・ス
トア命令、ベクトル・ロード命令などの外に、ベ
クトル圧縮変換命令やベクトル拡張変換命令があ
る。例えば、ベクトル圧縮変換命令は、 VCP,R1,R3,M という形式を有してしているものであり、ベクト
ル拡張変換命令は、 VEX R1,R3,M という形式を有するものである。第1図はベクト
ルの圧縮変換を説明するものであつて、Mはマス
ク・レジスタ、VR3は第3オペランド指定部R3
で指定されたベクトル・レジスタ、VR1は第1
オペランド指定部R1で指定されたベクトル・レ
ジスタをそれぞれ示している。圧縮変換は、ベク
トル・レジスタVR3のエレメント列とマスク・
レジスタMのマスク・エレメント列とを比較し、
例えば「0」のマスク・エレメントに対応するエ
レメントを取除いた圧縮エレメント列を作成し、
この圧縮エレメント列をベクトル・レジスタVR
1の先頭から圧縮エレメント列の順序を乱さない
ようにしてて書込むものである。第2図はベクト
ルの拡張変換を説明するものである。拡張変換
は、ベクトル・レジスタVR1のエレメント列と
マスク・レジスタMのマスク・エレメント列とを
比較し、「1」のマスク・エレメントに対応する
ベクトル・レジスタVR1のエレメント格納位置
に、ベクトル・レジスタVR3のエレメント列を
その順序を乱さないようにして書込むものであ
る。
第3図は本発明が適用されるベクトル処理装置
の一部を示ものである。図において、1はベクト
ル・レジスタ、2はマスク・レジスタ、3は演算
器、4―0ないし4―3は読出データ・バス、5
―0ないし5―3はマスクデータ・バス、6―0
ないし6―3は書込データ・バスをそれぞれ示し
ている。ベクトル・レジスタ1から例えばベクト
ルAを読出して演算器3に供給する場合、或るタ
イミングTnで第0サイクルが開始されたとする
と、第0サイクルではエレメントA0,A1,A2
A3が同時に読出され、第1サイクルではエレメ
ントA4,A5,A6,A7が同時に読出され、第iサ
イクルではエレメントA4i,A4i+1,A4i+2,A4i+3
が同時に読出される。マスク・レジスタ2からマ
スク・ベクトルMを読出して演算器3に供給する
場合も、第iサイクルでは4個のマスク・エレメ
ントm4i,m4i+1,m4i+2,m4i+3が同時に読出され
る。演算器3から出力される結果ベクトルCをベ
クトル・レジスタ1に書込む場合には、或るタイ
ミングToで第0サイクルが開始されたとする
と、第0サイクルではエレメントC0,C1,C2
C3が同時に書込まれ、第1サイクルではエレメ
ントC4,C5,C6,C7が同時に書込まれ、第iサ
イクルではエレメントC4i,C4i+1,C4i+2,C4i+3
同時に書込まれる。ベクトル・レジスタは、実際
には独立にリード/ライト可能な8個のバンクを
持つメモリを4個有しているものであり、ベクト
ル・レジスタ1からのベクトルの読出し開始タイ
ミングおよびベクトル・レジスタ1へのベクトル
の書込み開始タイミングは、ベクトル命令の種類
毎に予め定められている。
従来のベクトル処理装置においては、ベクト
ル・レジスタからベクトルAを読出す場合にはエ
レメントA0,A1,…Ao-1が1個ずつ読出され、
また、ベクトル・レジスタへベクトルCを書込む
場合にはエレメントC0,C1…,Co-1が1個ずつ
書込まれていた。このような形式のベクトル処理
装置においては、ベクトルの圧縮変換および拡張
変換を比較的に簡単に行うことができた。しか
し、高速にかつ大量のデータを処理するために、
例えば同一のベクトルに属する4個のエレメント
を同時に演算器に供給し、同一のベクトルに属す
る4個のエレメントを同時にベクトル・レジスタ
へ書込むようにしているベクトル処理装置におい
ては、ベクトルの圧縮変換および拡張変換の制御
を如何に簡単にかつ金物量を少なくして行うかが
問題となる。
本発明は、上記のような考案に基づくものであ
つて、同一のベクトルに属する複数のエレメント
を同時にベクトル・レジスタから読出すと共に、
同一のベクトルに属する複数個のエレメントを同
時にベクトル・レジスタに書込み得るようになつ
たベクトル処理装置において、ベクトルの圧縮変
換および拡張変換を少ない金物量で以て効率的に
行い得るようにしたベクトル処理装置を提供する
ことを目的としている。そしてそのため、本発明
のベクトル処理装置は、1サイクル中に同一ベク
トルに属するn個の連続せるベクトル・エレメン
トを読出し得ると共に同一ベクトルに属するn個
の連続せるベクトル・エレメントを書込み得るよ
うになつたベクトル・レジスタ、上記ベクトル・
レジスタから読出される複数のエレメントのそれ
ぞれと同一番号を持つ複数のマスク・エレメント
の読出しが対応するベクトル・エレメントの読出
しと同期して行われるマスク・レジスタ、上記ベ
クトル・レジスタから読出されたn個のベクト
ル・エレメントに対応して設けられたn個の読出
データ・バス、上記ベクトル・レジスタへ書込ま
れるn個のベクトル・エレメントに対応して設け
られたn個の書込データ・バス、および上記n個
の読出データ・バスのそれぞれを上記n個の書込
データ・バスのそれぞれに選択的に接続するアラ
イン回路を備えるベクトル処理装置において、上
記マスク・レジスタから読出されたマスク・エレ
メントの所定値Aに従つてベクトル・エレメント
の圧縮変換およびまたは拡張変換を行うために、
上記n個の読出データ・バスまたは書込データ・
バスのそれぞれに対応すると共に有効フラグ部と
変値部とからなる定数を出力するn個の定数発生
部、n個の第1ポートa0ないしao-1,上記n個
の定数発生部と上記n個の第1ポートa0ないしa
o-1を選択的に接続する第1選択回路、上記マス
ク・レジスタから同時に読出されたn個のマス
ク・エレメントに基づいて上記第1選択回路を制
御する第1選択信号発生回路、n個の第2ポート
b0ないしbo-1,上記第1ポートa0ないしao-1
上記第2ポートb0ないしbo-1を選択的に接続す
る第2選択回路、上記マスク・レジスタから読出
されたマスク・エレメントの内の所定値Aをもつ
マスク・エレメントの個数を積算する積算回路お
よび上記積算回路の積算値に基づいて上記第2選
択回路を制御する第2選択回路制御手段を設け、
上記第2ポートb0ないしbo-1の出力信号をアラ
イン回路のゲート制御信号としたこを特徴とする
ものである。以下、本発明を図面を参照しつつ説
明する。
第4図は本発明の1実施例の概要を示す図、第
5図は第4図の実施例における圧縮変換を説明す
る図、第6図は第4図における拡張変換を説明す
る図、第7図はアライン・バスゲート発生回路の
1実施例のブロツク図、第8図は第1選択回路の
動作を説明するための図、第9図は第2選択回路
の動作を説明するための図である。
第4図において、I0ないしI3はアライン・バス
の入力ポート、W0ないしW3は出力ポート、lは
信号線、7はアライン・バス・ゲート発生回路、
S1は圧縮変換/拡張変換共通ゲート信号、S2は圧
縮変換/拡張変換指定信号をそれぞれ示してい
る。
入力ポートI0ないしI3,出力ポートW0ないし
W3,複数の信号線および各信号線上のゲート
(図示せず)はアライン・バス即ちアライン回路
を構成している。入力ポートI0,I1′,I2,I3の入
力側は、対応する読出データ・バス4―0,4―
1,4―2,4―3に接続されている。また各入
力ポートI0,I1,I2,I3は信号線lを介して出力ポ
ートW0,W1,W2,W3に接続されている。出力
ポートW0,W1,W2,W3の出力側は、対応する
書込データ・バス6―0,6―1,6―2,6―
3に接続されている。
第5図は第4図の実施例における圧縮変換を説
明するものである。いま、第0サイクルにおいて
マスク・レジスタから読出されたマスク・エレメ
ントが「1011」,第1サイクルにおいてはマス
ク・レジスタから読出されたマスク・エレメント
が「0100」であると仮定する。この場合、第0サ
イクルにおいては信号S1は、出力ポートW0に対
しては数値“0”とその数値が有効状態であるこ
とを示す有効フラグとゲート信号として、W1
対しては数値“2”とその数値が有効状態である
ことを示す有効フラグとをゲート信号として、
W2に対しては数値“3”とその数値が有効状態
であることを示す有効フラグとをゲート信号とし
て与える。W3に対しては数値が無効状態である
ことをゲート信号として与える。出力ポートW0
ないしW3において、有効フラグがオン(有効状
態)である出力ポートWi(i=0,1,2,
3)に対して“j”(j=0,1,2,3)のゲ
ート信号が与えられると、出力ポートWiに入力
されている4本の信号線lの内の第j番目の入力
ポートI0からの信号線l上のゲートが開く。第1
サイクルにおいては信号S1は出力ポートW0
W1,W2に対してゲート信号は有効フラグをオフ
(無効状態)にして、出力ポートW3に対しては数
値“1”とその数値が有効状態であることを示す
有効フラグとをゲート信号として与える。この結
果、第0サイクルではベクトルAのエレメント
A0,A1,A2,A3がそれぞれ書込データ・バス6
―0,6―1,6―2上に送出され、第1サイク
ルではベクトルAのエレメントA5が書込デー
タ・バス6―3上に送出される。ここで各サイク
ルで書込データ・バス6―0,6―1,6―2,
6―3に出力されたベクトル・エレメントに対し
て、対応するサイクルにゲート信号とし与えられ
る有効フラグの状態をベクトル・レジスタへの書
込可否指定信号として与える。つまり、第0サイ
クルでは書込データ・バス6―0,6―1,6―
2に出力されるベクトル・エレメントの書込みが
行われ、第1サイクルでは書込データ・バス6―
3に出力されるベクトル・エレメントの書込みが
行われる。
第6図は拡張変換を説明するものである。い
ま、マスク・エレメント列が第5図の場合と同一
であると仮定する。この場合、第0サイクルにお
いては信号S1は、入力ポートI0に対しては数値
“0”とその数値が有効状態であることを示す有
効フラグとをゲート信号として、入力ポートI1
対しては数値“2”とその数値が有効状態である
ことを示す有効フラグとをゲート信号として、入
力ポートI2に対しては数値“3”とその数値が有
効状態であることを示す有効フラグとをゲート信
号として与える。入力ポートI3に対しては無効状
態であることをゲート信号として与える。入力ポ
ートI0ないしI3において、有効フラグがオン(有
効状態)である入力ポートIi(i=0,1,
2,3)に対して“j”(j=0,1,2,3)
を与えると、ポートIiから出ている4本の信号
線lの中の第j番目の出力ポートW,への信号線
l上のゲートが開かれる。第1サイクルにおいて
は、入力ポートI0,I1,I2に対してゲート信号は
有効フラグをオフ(無効状態)にして、入力ゲー
トI3に対しては数値“1”とその数値が有効状態
であることを示す有効フラグとゲート信号として
与える。この結果、第0サイクルにおいては、書
込データ・バス6―0上にエレメントA0が、書
込データ・バス6―2上にエレメントA1が、書
込データ・バス6―3上にエレメントA2が送出
される。また、第1サイクルにおいては、書込デ
ータ・バス6―1上にエレメントA3が送出され
る。ここで各サイクルで書込データ・バス6―
0,6―1,6―2,6―3に出力されたベクト
ル・エレメントに対して、対応する各サイクルに
マスク・エレメントとして与えられる信号をベク
トル・レジスタへの書込可否指定信号として与え
る。つまり、第0サイクルでは書込データ・バス
6―0,6―2,6―3に出力されるベクトル・
エレメントの書込みが行われ、第1サイクルでは
書込データ・バス6―1に出力されるベクトル・
エレメントの書込みが行われる。
第7図はアライン・バス・ゲート発生回路7の
1実施例を示すブロツク図である。第7図におい
て、8は命令バツフア、9はマスク・バツフア・
レジスタ、10は第1選択信号発生回路、11は
「1」の個数を計数する回路、12はアダー、1
3は積算レジスタ、14は定数発生部、15は第
1選択回路、16は第2選択回路、17は第2選
択回路制御手段のデコーダ、18は命令デコー
ダ、19は選択回路、a0ないしa3は第1ポート、
b0ないしb3は第2ポートをそれぞれ示している。
命令バツフア9に対しては、ベクトル命令のオ
ペレーシヨン・コードがセツトされ、これは命令
デコーダ18によつてデコードされる。オペレー
シヨン・コードが圧縮変換又は拡張変換を指示し
ている場合には、「1」の信号S2又は「0」の信
号S2がアライン回路に送られる。マスク・バツフ
ア・レジスタ9には、マスク・レジスタから同時
に読出された連続せる4個のマスク・エレメント
がセツトされる。第1選択信号発生回路10は、
マスク・バツフア・レジスタ9の内容に基づいて
第1選択回路15を制御す制御信号を生成するも
のである。「1」の個数を計数する回路11は、
マスク・バツフア・レジスタ9内の「1」の個数
を計数し、これをアダー12に送るものである。
アダー12は、送られてきた「1」の個数と積算
レジスタ13の内容とを加算し、加算結果を再び
積算レジスタ13に書込むものである。定数発生
部14は、定数“0”の発生部、定数“1”の発
生部、定数“2”の発生部、定数“3”の発生部
を有している。前記各定数発生部は3ビツトで表
され、最初のビツトは有効フラグであり、残りの
2ビツトで定数0,1,2,3を表す。
第8図は第1選択回路を説明するものである。
第8図に示すように、第1ポートのポートa0
“0”,“1”,“2”,“3”の定数発生部に信号線
を介して接続され、第1ポートのポートaは
“1”,“2”,“3”の定数発生部に接続され、第
1ポートのポートa2は“2”,“3”の定数発生部
に接続され、第1ポートのポートa3は“3”の定
数発生部に接続されている。各信号線にはゲート
が設けられている。いま、マスク・エレメント
m0,m1,m2,m3が「0000」である場合には、第
1ポートa0,a1,a2,a3は何も出力しない。マス
ク・エレメントm0,m1,m2,m3が「0001」のと
きには、“3”の定数発生部の情報が第1ポート
のポートa0から出力される。さきに述べたように
“3”の定数発生部から出力される情報は「111」
で表され、先頭ビツトは有効フラグであり、後の
2ビツトは数値を示す。
第2選択回路16においては、第1ポートのポ
ートa0が第2ポートb0,b1,b2,b3に信号線を介
して接続され、第1ポートのポートa1も第2ポー
トb0,b1,b2,b3に信号線を介して接続されてい
る。第1ポートa2,a3も同様である。第2選択回
路16は、第2選択回路制御手段のデコーダ17
の出力で制御される。第9図は第2選択回路の動
作を説明するものであつて、第9図イは積算レジ
スタ13の内容が“0”の場合、ロは“1”の場
合、ハは“2”の場合、ニは“3”の場合におけ
る第1ポートa0ないしa3と第2ポートb0ないしb3
の間の関係を示している。第9図イにおいては、
第1ポートのポートa0と第2ポートのポートb0
が接続され、第1ポートのポートa1と第2ポート
のポートb1とが接続され、第1ポートのポートa2
と第2ポートのポートb2とが接続され、第1ポー
トのポートa3と第2ポートのポートb3とが接続さ
れる。第9図ロないしニは容易に理解出来るもの
と思われるので、説明は省略する。
次に第7図の動作を第5図の圧縮変換の場合を
例として説明する。第0サイクルにおいては、マ
スク・バツフア・レジスタ9に「1011」がセツト
される。マスク・バツフア・レジスタ9の内容が
「1011」であるので、第8図に示すように、第1
ポートのポートa0は数値“0”とその数値が有効
状態であることを示す有効フラグとを、第1ポー
トのポートa1には数値“2”とその数値が有効状
態であることを示す有効フラグとを、第1ポート
のポートa2には数値“3”とその数値が有効状態
であることを示す有効フラグとを出力する。第1
ポートのポートa3に対しては無効状態であること
を出力する。第0サイクルにおいては、積算レジ
スタ13の内容は“0”であるので、第1ポート
a0ないしa3と第2ポートb0ないしb3との間の接続
は第9図イに示すようになる。また、デコーダ1
8の出力信号S2が「1」であるので、出力ポート
W0に対するゲート信号は数値“0”と数値が有
効状態であることを示す有効フラグを、出力ポー
トW1に対するゲート信号は数値“2”と数値が
有効状態であることを示す有効フラグを、出力ポ
ートW2に対するゲート信号は数値“3”と数値
が有効状態であるとを示す有効フラグを供給し、
出力ポートW3にに対するゲート信号は無効状態
であることを供給する。また、ベクトル・レジス
タへの書込可否指定信号はデコーダ18の出力信
号S2が「1」(圧縮変換命令であることを示す)
であから、第2ポートb0ないしb3の有効フラグ部
分を選択回路19で選択し、「1110」が生成さ
る。書込可否指定信号は「1110」となるので、書
込データ・バス6―0,6―1,6―2上のエレ
メントはベクトル・レジスタに書込まれるが、書
込データ・バス6―3上のエレメントはベクト
ル・レジスタに書込まれない。
第5図の例では、第1サイクルではマスク・バ
ツフア・レジスタ9の内容は「0100」となるの
で、第1ポートのポートa0が数値“1”と有効フ
ラグを出力し、他の第1ポートは無効状態を出力
する。また、第1サイクルにおいては、積算レジ
スタ13は“3”を示しているので、第1ポート
a0ないしa3と第2ポートb0ないしb3の関係は第9
図ニに示すようになる。この結果、第2ポートの
ポートb0ないしb2は無効状態を出力し、ポートb3
は数値“1”と有効フラグを出力する。また、ベ
クトル・レジスタの書込可否指定信号は「0001」
を出力する。第2ポートのポートb3が数値“1”
と有効フラグを出力すると、読出データ・バス4
―1上のエレメントが書込データ・バス6―3上
に送出され、書込可否指定信号が「0001」を指定
しているので書込データ・バス6―3上のデータ
のみがベクトル・レジスタに書込まれる。
第7図の装置は、拡張変換の場合のには信号S1
が「0」、第2ポートb0ないしb3の出力が入力ポ
ートI0ないしI3に供給される点及び選択回路19
の出力にはマスク・レジスタから読出されたマス
ク・エレメントが供給される点が異なるのみで、
その他の点では圧縮変換の場合と同様に動作す
る。
以上の説明から明らかなように、本発明によれ
ば、 (イ) 圧縮変換/拡張変換を同じ金物で行い得る。
(ロ) アライン回路のゲート制御信号が容易に作成
することができ、またベクトル・レジスタへの
書込み制御は圧縮変換の場合はゲート制御信号
の有効フラグを使用することによつて、拡張変
換の場合は読出されたマスク・エレメントを使
用することによつて書込可否指定信号が生成さ
れるから、余分の回路を設置する必要がない。
(ハ) アライン回路のバスの物量を増加させること
なく、また処理速度を落とすことなく圧縮変換
および拡張変換が出来る。
などの顕著な作用効果を奏することが出来る。
【図面の簡単な説明】
第1図はベクトルの圧縮変換を説明する図、第
2図はベクトルの拡張変換を説明する図、第3図
は本発明が適用されるベクトル処理装置の一部を
示す図、第4図は本発明の一実施例の概要を示す
図、第5図は第4図の実施例における圧縮変換を
説明する図、第6図は第4図における拡張変換を
説明する図、第7図はアライン・バスゲート発生
回路の1実施例のブロツク図、第8図は第1選択
回路の動作を説明するための図、第9図は第2選
択回路の動作を説明するための図である。 1……ベクトル・レジスタ、2……マスク・レ
ジスタ、3……演算器、4―0ないし4―3……
読出データ・バス、5―0ないし5―3……マス
ク・データ・バス、6―0ないし6―3…書込デ
ータ・バス、7……アライン・バスゲート発生回
路、8……命令バツフア、9……マスク・バツフ
ア・レジスタ、10……第1選択信号発生回路、
11……「1」の個数を計数する回路、12…ア
ダー、13……積算レジスタ、14……定数発生
部、15……第1選択回路、16……第2選択回
路、17……第2選択回路制御のデコーダ、18
……命令デコーダ、19……選択回路。

Claims (1)

  1. 【特許請求の範囲】 1 1サイクル中に同一ベクトルに属するn個の
    連続せるベクトル・エレメントを読出し得ると共
    に同一ベクトルに属するn個の連続せるベクト
    ル・エレメントを書込み得るようになつたベクト
    ル・レジスタ、上記ベクトル・レジスタから読出
    される複数のエレメントのそれぞれと同一番号を
    持つ複数のマスク・エレメントの読出しが対応す
    るベクトル・エレメントの読出しと同期して行わ
    れるマスク・レジスタ、上記ベクトル・レジスタ
    から読出されたn個のベクトル・エレメントに対
    応して設けられたn個の読出データ・バス、上記
    ベクトル・レジスタへ書込まれるn個のベクト
    ル・エレメントに対応して設けられたn個の書込
    データ・バスおよび上記n個の読出データ・バス
    のそれぞれ上記n個の書込データ・バスのそれぞ
    れに選択的に接続するアライン回路を備えるベク
    トル処理装置において、上記マスク・レジスタか
    ら読出されたマスク・エレメントの所定値Aに従
    つてベクトル・エレメントの圧縮変換および/ま
    たは拡張変換を行うために、上記n個の読出デー
    タ・バスまたは書込データ・バスのそれぞれに対
    応するすると共に有効フラグ部と数値部とから成
    る定数を出力するn個の定数発生部、n個の第1
    ポートa0ないしao-1,上記n個の定数発生部と
    上記n個の第1ポートa0ないしano-1とを選択的
    に接続する第1選択回路、上記マスク・レジスタ
    から同時に読出されたn個のマスク・エレメント
    に基づいて上記第1選択回路を制御する第1選択
    信号発生回路、n個の第2ポートb0ないしbo-
    ,上記第1ポートa0ないしao-1と上記第2ポ
    ートb0ないしbo-1を選択的に接続する第2選択
    回路、上記マスク・レジスタから読出されたマス
    ク・エレメントの内の所定値Aをもつマスク・エ
    レメントの個数を積算する積算回路および上記積
    算回路の積算値に基づいて上記第2選択回路を制
    御する第2選択回路制御手段を設け、上記第2ポ
    ートb0ないしbo-1の出力信号をアライン回路の
    ゲート制御信号としたことを特徴とするベクトル
    処理装置。 2 上記マスク・レジスタから読出されたマス
    ク・エレメントの内の所定値Aをもつマスク・エ
    レメントの個数を積算する積算回路は、少なくと
    もn個の上記第1ポートa0ないしao-1を選択可
    能とするようなmビツト(2m≧n)から成る積
    算回路であることを特徴とする特許請求の範囲第
    1項記載のベクトル処理装置。 3 上記ベクトル・エレメントの圧縮変換または
    拡張変換を行うに際し、上記第2ポートb0ないし
    o-1の出力信号は圧縮変換あるいは拡張変換に
    依らず同一論理で出力するとともに、圧縮変換ま
    たは拡張変換のいずれを実行するかを指定する指
    定信号を付与してアライン回路のゲート制御信号
    としたことを特徴とする特許請求の範囲第1項記
    載のベクトル処理装置。 4 上記n個の定数発生部の各々は有効フラグ部
    と数値部とから構成されるようにし、上記アライ
    ン回路へのゲート制御信号は上記第2ポートb0
    いしbo-1の出力信号の全てを与えるようにして
    アラインの処理を制御するともに、上記ベクト
    ル・レジスタへ書込まれるn個のベクトル・エレ
    メントに対応して書込みの可否を制御する信号と
    して、圧縮変換を行う場合には上記第2ポートb0
    ないしbo-1の出力信号のうちの有効フラグ部の
    みを使用してベクトル・レジスタへの書込み可否
    を制御するようにし、拡張変換を行う場合にはマ
    スク・レジスタから読出されたマスク・エレメン
    トを使用してベクトル・レジスタへの書込みの可
    否を制御するようにしたことを特徴とする特許請
    求の範囲第1項記載のベクトル処理装置。
JP56095681A 1981-06-19 1981-06-19 Vector processing device Granted JPS57209570A (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP56095681A JPS57209570A (en) 1981-06-19 1981-06-19 Vector processing device
AU84724/82A AU534216B2 (en) 1981-06-19 1982-06-09 Vectoring in data processor
CA000404871A CA1189627A (en) 1981-06-19 1982-06-10 Vector processing unit
US06/388,196 US4490786A (en) 1981-06-19 1982-06-14 Vector processing unit
DE8282303198T DE3277252D1 (en) 1981-06-19 1982-06-18 Vector processing units
BR8203588A BR8203588A (pt) 1981-06-19 1982-06-18 Unidade de processamento de vetor
EP82303198A EP0068764B1 (en) 1981-06-19 1982-06-18 Vector processing units
ES513241A ES8305138A1 (es) 1981-06-19 1982-06-18 "una instalacion electronica de tratamiento de vectores".

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56095681A JPS57209570A (en) 1981-06-19 1981-06-19 Vector processing device

Publications (2)

Publication Number Publication Date
JPS57209570A JPS57209570A (en) 1982-12-22
JPS6141026B2 true JPS6141026B2 (ja) 1986-09-12

Family

ID=14144236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56095681A Granted JPS57209570A (en) 1981-06-19 1981-06-19 Vector processing device

Country Status (8)

Country Link
US (1) US4490786A (ja)
EP (1) EP0068764B1 (ja)
JP (1) JPS57209570A (ja)
AU (1) AU534216B2 (ja)
BR (1) BR8203588A (ja)
CA (1) CA1189627A (ja)
DE (1) DE3277252D1 (ja)
ES (1) ES8305138A1 (ja)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58134357A (ja) * 1982-02-03 1983-08-10 Hitachi Ltd ベクトルプロセッサ
JPS5975365A (ja) * 1982-10-22 1984-04-28 Hitachi Ltd ベクトル処理装置
JPH0652530B2 (ja) * 1982-10-25 1994-07-06 株式会社日立製作所 ベクトル・プロセッサ
JPS59111569A (ja) * 1982-12-17 1984-06-27 Hitachi Ltd ベクトル処理装置
JPS59140581A (ja) * 1983-01-31 1984-08-11 Fujitsu Ltd ベクトルデ−タ処理装置
US4901230A (en) * 1983-04-25 1990-02-13 Cray Research, Inc. Computer vector multiprocessing control with multiple access memory and priority conflict resolution method
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
US4636942A (en) * 1983-04-25 1987-01-13 Cray Research, Inc. Computer vector multiprocessing control
US4967343A (en) * 1983-05-18 1990-10-30 International Business Machines Corp. Pipelined parallel vector processor including parallel configured element processors for processing vector elements in parallel fashion
US4589067A (en) * 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU
JPS6057467A (ja) * 1983-09-09 1985-04-03 Nec Corp ベクトルデ−タ処理装置
US4888682A (en) * 1983-09-09 1989-12-19 International Business Machines Corp. Parallel vector processor using multiple dedicated processors and vector registers divided into smaller registers
JPS6072071A (ja) * 1983-09-28 1985-04-24 Nec Corp ベクトル処理装置
EP0143533B1 (en) * 1983-09-29 1993-04-07 Matsushita Electric Industrial Co., Ltd. Image data expanding and/or contracting method and apparatus
JPS60156151A (ja) * 1983-12-23 1985-08-16 Nec Corp メモリアクセス制御装置
JPS60144875A (ja) * 1984-01-06 1985-07-31 Nec Corp ベクトル要素間演算装置
JPH0786875B2 (ja) * 1984-05-25 1995-09-20 株式会社日立製作所 ベクトル処理装置
JPS60263268A (ja) * 1984-06-12 1985-12-26 Nec Corp ベクトル処理装置
JPS619759A (ja) * 1984-06-26 1986-01-17 Nec Corp ベクトル処理装置
EP0167959B1 (en) * 1984-07-02 1992-05-06 Nec Corporation Computer vector register processing
JPH0650512B2 (ja) * 1984-07-11 1994-06-29 日本電気株式会社 デ−タ処理装置
US4890220A (en) * 1984-12-12 1989-12-26 Hitachi, Ltd. Vector processing apparatus for incrementing indices of vector operands of different length according to arithmetic operation results
CA1233260A (en) * 1985-03-13 1988-02-23 Chuck H. Ngai High performance parallel vector processor having a modified vector register/element processor configuration
US4745545A (en) * 1985-06-28 1988-05-17 Cray Research, Inc. Memory reference control in a multiprocessor
US4754398A (en) * 1985-06-28 1988-06-28 Cray Research, Inc. System for multiprocessor communication using local and common semaphore and information registers
JP2667806B2 (ja) * 1985-10-11 1997-10-27 株式会社日立製作所 ベクトルプロセツサ
JPH0731669B2 (ja) * 1986-04-04 1995-04-10 株式会社日立製作所 ベクトル・プロセツサ
US5168573A (en) * 1987-08-31 1992-12-01 Digital Equipment Corporation Memory device for storing vector registers
US4980817A (en) * 1987-08-31 1990-12-25 Digital Equipment Vector register system for executing plural read/write commands concurrently and independently routing data to plural read/write ports
US5300931A (en) * 1987-09-04 1994-04-05 Unisys Corporation Memory based vector quantization
GB2216307B (en) * 1988-03-01 1992-08-26 Ardent Computer Corp Vector register file
US5113521A (en) * 1988-03-18 1992-05-12 Digital Equipment Corporation Method and apparatus for handling faults of vector instructions causing memory management exceptions
US5043867A (en) * 1988-03-18 1991-08-27 Digital Equipment Corporation Exception reporting mechanism for a vector processor
US4949250A (en) * 1988-03-18 1990-08-14 Digital Equipment Corporation Method and apparatus for executing instructions for a vector processing system
US5008812A (en) * 1988-03-18 1991-04-16 Digital Equipment Corporation Context switching method and apparatus for use in a vector processing system
US5283791A (en) * 1988-08-02 1994-02-01 Cray Research Systems, Inc. Error recovery method and apparatus for high performance disk drives
US5142638A (en) * 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
JP3068138B2 (ja) * 1989-04-06 2000-07-24 甲府日本電気株式会社 ベクトル演算処理装置
JP2607689B2 (ja) * 1989-07-10 1997-05-07 株式会社日立製作所 ベクトル処理装置
US5553309A (en) * 1991-11-08 1996-09-03 Japan Atomic Energy Research Institute Device for high speed evaluation of logical expressions and high speed vector operations
JP2665111B2 (ja) * 1992-06-18 1997-10-22 日本電気株式会社 ベクトル処理装置
US5832288A (en) * 1996-10-18 1998-11-03 Samsung Electronics Co., Ltd. Element-select mechanism for a vector processor
US5903769A (en) * 1997-03-31 1999-05-11 Sun Microsystems, Inc. Conditional vector processing
US7197625B1 (en) * 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US7155601B2 (en) * 2001-02-14 2006-12-26 Intel Corporation Multi-element operand sub-portion shuffle instruction execution
US7631025B2 (en) * 2001-10-29 2009-12-08 Intel Corporation Method and apparatus for rearranging data between multiple registers
US20040054877A1 (en) 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US7624138B2 (en) 2001-10-29 2009-11-24 Intel Corporation Method and apparatus for efficient integer transform
US7818356B2 (en) 2001-10-29 2010-10-19 Intel Corporation Bitstream buffer manipulation with a SIMD merge instruction
US7725521B2 (en) * 2001-10-29 2010-05-25 Intel Corporation Method and apparatus for computing matrix transformations
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
US7739319B2 (en) * 2001-10-29 2010-06-15 Intel Corporation Method and apparatus for parallel table lookup using SIMD instructions
US7725678B2 (en) * 2005-02-17 2010-05-25 Texas Instruments Incorporated Method and apparatus for producing an index vector for use in performing a vector permute operation
US7600104B2 (en) * 2006-08-15 2009-10-06 Peter Neumann Method and system for parallel vector data processing of vector data having a number of data elements including a defined first bit-length
US8078836B2 (en) 2007-12-30 2011-12-13 Intel Corporation Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits
US20120254588A1 (en) * 2011-04-01 2012-10-04 Jesus Corbal San Adrian Systems, apparatuses, and methods for blending two source operands into a single destination using a writemask
WO2012134532A1 (en) 2011-04-01 2012-10-04 Intel Corporation Vector friendly instruction format and execution thereof
US20120254592A1 (en) * 2011-04-01 2012-10-04 Jesus Corbal San Adrian Systems, apparatuses, and methods for expanding a memory source into a destination register and compressing a source register into a destination memory location
CN104011670B (zh) * 2011-12-22 2016-12-28 英特尔公司 用于基于向量写掩码的内容而在通用寄存器中存储两个标量常数之一的指令
CN107220027A (zh) 2011-12-23 2017-09-29 英特尔公司 用于执行掩码位压缩的***、装置以及方法
CN104011648B (zh) * 2011-12-23 2018-09-11 英特尔公司 用于执行向量打包压缩和重复的***、装置以及方法
US9342479B2 (en) 2012-08-23 2016-05-17 Qualcomm Incorporated Systems and methods of data extraction in a vector processor
US9606961B2 (en) 2012-10-30 2017-03-28 Intel Corporation Instruction and logic to provide vector compress and rotate functionality
US9189236B2 (en) * 2012-12-21 2015-11-17 Intel Corporation Speculative non-faulting loads and gathers
US9501276B2 (en) 2012-12-31 2016-11-22 Intel Corporation Instructions and logic to vectorize conditional loops
US20150186136A1 (en) * 2013-12-27 2015-07-02 Tal Uliel Systems, apparatuses, and methods for expand and compress
US11086625B2 (en) * 2019-09-10 2021-08-10 Apple Inc. Compression assist instructions

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3827031A (en) * 1973-03-19 1974-07-30 Instr Inc Element select/replace apparatus for a vector computing system
US3919534A (en) * 1974-05-17 1975-11-11 Control Data Corp Data processing system
US4051551A (en) * 1976-05-03 1977-09-27 Burroughs Corporation Multidimensional parallel access computer memory system
JPS5852265B2 (ja) * 1977-01-12 1983-11-21 株式会社日立製作所 デ−タ処理装置
US4302818A (en) * 1979-07-10 1981-11-24 Texas Instruments Incorporated Micro-vector processor

Also Published As

Publication number Publication date
DE3277252D1 (en) 1987-10-15
BR8203588A (pt) 1983-06-14
EP0068764A3 (en) 1984-09-05
CA1189627A (en) 1985-06-25
EP0068764B1 (en) 1987-09-09
AU8472482A (en) 1983-01-06
ES513241A0 (es) 1983-03-16
JPS57209570A (en) 1982-12-22
EP0068764A2 (en) 1983-01-05
AU534216B2 (en) 1984-01-12
US4490786A (en) 1984-12-25
ES8305138A1 (es) 1983-03-16

Similar Documents

Publication Publication Date Title
JPS6141026B2 (ja)
US7366881B2 (en) Method and apparatus for staggering execution of an instruction
JPH0238975B2 (ja)
JP3954171B2 (ja) コンピュータにおけるスカラ値をベクトルに記入する方法
JPS6363938B2 (ja)
JPS61107431A (ja) 演算装置
KR940005202B1 (ko) 비트 순서 전환 장치
JPS6252392B2 (ja)
JPS623461B2 (ja)
JPS5826584B2 (ja) デ−タ処理装置
JPH0345420B2 (ja)
JPH0290349A (ja) 仮想記憶システムのアドレス空間制御装置
JPH0192851A (ja) アドレス空間切替装置
JP2527814B2 (ja) 命令処理システム
JPS58142446A (ja) デ−タ処理装置
JP2590704B2 (ja) 並列プロセッサlsi
JPS586970B2 (ja) Romアドレスのシ−ケンス制御方式
JPH10312356A (ja) データ転送装置
JP2766191B2 (ja) デジタル信号処理装置及び信号処理方法
JP3022186B2 (ja) デジタル信号処理装置
JPS6129031B2 (ja)
JPS6138512B2 (ja)
JPH07219843A (ja) メモリバンク切換え装置
JPH02146641A (ja) 記憶装置
JPH0619830A (ja) マイクロコンピュータおよび電子機器