JPH07325805A - ベクトル処理装置 - Google Patents

ベクトル処理装置

Info

Publication number
JPH07325805A
JPH07325805A JP6117784A JP11778494A JPH07325805A JP H07325805 A JPH07325805 A JP H07325805A JP 6117784 A JP6117784 A JP 6117784A JP 11778494 A JP11778494 A JP 11778494A JP H07325805 A JPH07325805 A JP H07325805A
Authority
JP
Japan
Prior art keywords
data
vector
buffer
load
store
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.)
Granted
Application number
JP6117784A
Other languages
English (en)
Other versions
JP2752902B2 (ja
Inventor
Makoto Komata
誠 小俣
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP6117784A priority Critical patent/JP2752902B2/ja
Priority to AU20401/95A priority patent/AU691593B2/en
Priority to CA002150518A priority patent/CA2150518C/en
Priority to EP95108329A priority patent/EP0686922B1/en
Priority to DE69520707T priority patent/DE69520707T2/de
Publication of JPH07325805A publication Critical patent/JPH07325805A/ja
Priority to US08/857,327 priority patent/US5881302A/en
Application granted granted Critical
Publication of JP2752902B2 publication Critical patent/JP2752902B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing

Abstract

(57)【要約】 【目的】 ベクトル要素長や命令種別によりデータバッ
ファの使用形態を変えてベクトル長にかかわらずに少な
いハードウェア量で最大の性能効果を出す。 【構成】 ベクトル処理装置800は、ベクトル処理部
700と、ロードデータバッファ群100と、ロードデ
ータバッファ格納部200と、ロードデータバッファ読
出し部300を持つ。ロードデータバッファ群100
は、各ロードデータバッファ110,120内に使用可
能なワード位置,ワード数を示す複数の仮想バッファを
設けて、仮想バッファ番号を設定する。ロードデータバ
ッファ格納部200は、命令種別から有効データ幅を認
識し、データ幅よりも十分小さいときには、データ幅に
合わせて複数のロードデータを要素圧縮して格納する。
ロードデータバッファ読出し部300は、命令種別から
有効データ幅を認識し、圧縮が行われた命令であれば読
出したデータを元の複数の要素に展開する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ベクトル処理装置に関
し、特に、ベクトルメモリアクセス時に中間データバッ
ファを使用するベクトル処理装置に関する。
【0002】
【従来の技術】メモリ共有型のベクトル処理装置は、並
列化が進むに伴い、メモリ容量が多くなり、実装上の問
題からメモリとの物理的な距離が遠くなる傾向にあり、
メモリアクセス時間も長くなって来ている。
【0003】ベクトル処理装置は、本来、大量のデータ
を一度に連続して演算処理することにより、高速に演算
処理を実施することができる装置であって、一般には、
演算オペランドをメモリからベクトルレジスタにロード
して、ベクトルレジスタから演算器に演算オペランドを
供給して演算を実行し、結果を再びベクトルレジスタに
格納し、このベクトルレジスタの内容をメモリに格納す
るという処理を行っている。
【0004】図9は従来のベクトル処理装置で直接メモ
リと転送をしてベクトル演算を行う動作の一例を示すタ
イムチャートである。上記の処理では、ベクトルロード
命令VLDのメモリからベクトルレジスタへのロード,
ベクトルストア命令VSTのベクトルレジスタからメモ
リへのストアの転送を直接に行うと、従来のベクトル処
理装置は、図9に示すように、演算結果を保証するため
には、順番通り逐次にこれらの処理を行う必要があり、
メモリアクセスの時間が大きくなるにつれて、演算器の
使用のためにメモリアクセスの待ち時間を発生してその
演算器が遊んでしまうので、ベクトル処理装置の能力を
最大限にまで引出すことができないこととなる。
【0005】また、ベクトル処理装置は、並列化されて
いることにより、メモリアクセスで処理装置間の競合が
発生し、必ずしも最小のメモリアクセス時間でデータが
戻ることも保証されないので、上記の現象は、益々発生
し易くなってきている。
【0006】従来のベクトル処理装置は、この問題を解
決するために、ベクトルレジスタとメモリとの間に中間
バッファを設けて、メモリアクセス処理とベクトル演算
処理とを切放し、データロードを先行して実行できるよ
うにし、データストアをした後にメモリアクセスの実行
の可否に関わらず後続のベクトル演算処理を継続して実
行できるように改善されて来ている。
【0007】図10は従来のベクトル処理装置の一例を
示すブロック図である。この図10内の従来のベクトル
処理装置1800は、クロスバ1710やベクトルレジ
スタ1720,1721および演算器1730を有する
ベクトル処理部1700と、ロードデータバッファ格納
部1200,ロードデータバッファ読出し部1300を
伴ってベクトル処理部1700に送るベクトルデータを
格納するロードデータバッファ群1100と、さらに、
ストアデータバッファ格納部1500,ストアデータバ
ッファ読出し部1600を伴ってベクトル処理部170
0の演算結果を格納するストアデータバッファ群140
0とを有している。
【0008】そして、ベクトルのロードデータを受取る
ロードデータバッファ群1100のロードデータバッフ
ァ1110,1120は、一つの命令による最大の要素
数分のデータを受取れる長さを有して、その個数は、命
令が発行されていてデータが戻らないのでベクトルレジ
スタ1720,1721に格納できない可能性のある命
令数により決定している。
【0009】また、ストアデータを蓄えるストアデータ
バッファ群1400のストアデータバッファ1410,
1420は、同様に一つの命令が使用する最大の要素数
分のデータを受取れる長さを有して、その個数は、スト
ア命令が実行され格納されたデータがメモリ1900に
格納されるまでの間に、次に実行される可能性のあるス
トア命令数によって決定している。
【0010】図11はベクトル有効長の違いによるデー
タバッファの必要個数の違いを表すためのタイムチャー
トである。図11の上部には、ベクトル有効長が8のと
きの動作の一例を示している。ベクトル有効長が8のと
きには、ベクトル演算が実行できるまでの間に実行を開
始することができるベクトルロード命令VLDの数は4
ヶである。また、図11の下部には、ベクトル有効長が
4のときの動作の一例を示している。ベクトル有効長が
4のときには、ベクトル演算が実行できるまでの間に実
行を開始することができるベクトルロード命令VLDは
7ヶとなる。
【0011】従って、ベクトル有効長が8のときには、
中間のロードデータバッファは4ヶがあれば足りるけれ
ども、ベクトル有効長が4のときには、中間のロードデ
ータバッファは7ヶが必要になる。
【0012】次に、命令列の一例を用いてそれらの命令
の動作および実行結果について説明する。ここでは説明
のため、ロードデータバッファおよびストアデータバッ
ファの数をそれぞれ2ヶ、各々の容量を8バイト×64
ワード、命令の種別として8バイトロード命令をVL
D,上位4バイトロード命令をVLDU,下位4バイト
ロード命令をVLDL,8バイトストア命令をVST,
上位4バイトストア命令をVSTU,下位4バイトスト
ア命令をVSTL,固定小数点加算をVADD,さらに
浮動小数点加算をVFADとし、これらの命令が取り得
る最大のベクトル要素数を64としている。また、ベク
トルレジスタをV0,V1としている。
【0013】そこで、下記命令列のベクトル有効長VL
を16として、次の動作を行わせている。
【0014】 (1) VLDL V0 ← MEM (2) VLDL V1 ← MEM (3) VADD V0 ← V0+V1 (4) VSTL MEM ← V0 (5) VLDU V0 ← MEM (6) VLDU V1 ← MEM (7) VFAD V0 ← V0+V1 (8) VSTU MEM ← V0 上記の命令列を番号順に実行するようにプログラムされ
ている場合に、高速化の手段としてベクトルレジスタの
状態に関わらずにメモリアクセスを行い、演算結果が保
証される形でロードデータバッファ並びにストアデータ
バッファなどの中間バッファを使用して命令実行順序の
入替えを行っている。
【0015】すなわち、メモリアクセスを基準にする
と、 (1) VLDL V0 ← MEM (2) VLDL V1 ← MEM (5) VLDU V0 ← MEM (6) VLDU V1 ← MEM (3) VADD V0 ← V0+V1 (4) VSTL MEM ← V0 (7) VFAD V0 ← V0+V1 (8) VSTU MEM ← V0 の順番に実行されるのが理想的であるけれども、前提条
件としてはロードデータバッファの個数が2ヶしかない
ので、 (1) VLDL V0 ← MEM (2) VLDL V1 ← MEM (3) VADD V0 ← V0+V1 (5) VLDU V0 ← MEM (4) VSTL MEM ← V0 (6) VLDU V1 ← MEM (7) VFAD V0 ← V0+V1 (8) VSTU MEM ← V0 という順序になる。
【0016】図12は従来のベクトル処理装置により2
個のロードデータバッファを用いてベクトル演算を行う
動作の一例を示すタイムチャートである。そして、図1
3は従来のベクトル処理装置によるロードデータバッフ
ァ,ストアデータバッファの使用状況の一例を示す図で
ある。まず、(1) ,(2) のベクトルロード命令には、そ
れぞれ、図13に示したロードデータバッファ111
0,1120が割り付けられる。そして、(5) ,(6) の
ベクトルロード命令には、ロードデータバッファ111
0,1120が2ヶしかないので、図12に示したよう
に、ロードデータバッファ1110,1120が再び使
用されるけれども、使用開始のタイミングは、先行して
いる(1) ,(2) のベクトルロード命令による使用が終了
してからとなる。同様にして(4) ,(8) のベクトルスト
ア命令には、ストアデータバッファ1410,1420
が割り付けられる。
【0017】そこで、ロードデータバッファ1110,
1120の数が2ヶであるために、3番目のベクトルロ
ード命令に対してロードデータバッファ1110,11
20の数が少ないことによる遅れ時間aが存在すること
となる。この場合に、ロードデータバッファ1110,
1120,ストアデータバッファ1410,1420の
使用形態は、ベクトル有効長VLが小さいときには、図
13に示したように、該ロードデータバッファ111
0,1120,ストアデータバッファ1410,142
0内に無駄な領域が多数存在することとなる。
【0018】このような従来のベクトル処理装置の一例
としては、特公昭63−43784ベクトルデータ記憶
制御方式がある。
【0019】
【発明が解決しようとする課題】上述した従来のベクト
ル処理装置では、最適な中間バッファの個数がベクトル
要素長によって異なり、ベクトル要素長が長いときに
は、中間バッファの個数が比較的少なくてもベクトル演
算器に対する効率的な使用が可能になるけれども、ベク
トル要素長が短いときには、中間バッファの個数が多く
なければ、ベクトル演算器の効率的な使用が出来なくな
ってしまう。
【0020】ところがベクトル要素長はプログラムによ
って異なるために、従来のベクトル処理装置の性能をベ
クトル要素長の如何によらずに十分引き出すためには、
従来のベクトル処理装置は、ロードデータバッファおよ
びストアデータバッファなどの中間データバッファの数
をベクトル要素長の短いケースにあわせて多目に作る必
要が有り、ハードウェア量が増加してしまうという欠点
を有している。
【0021】
【課題を解決するための手段】第1の発明のベクトル処
理装置は、(A)複数の要素を有するベクトルデータを
持つ複数のベクトルレジスタと、(B)前記ベクルレジ
スタに接続して、前記ベクルレジスタから受けたベクト
ルデータのベクトル演算を行い、前記ベクルレジスタに
保持させる複数のベクトル演算器と、(C)メモリと前
記ベクトルレジスタとの中間に接続され、ベクトルロー
ド命令が扱う最大のデータ幅で最大のデータ長分の容量
(ワード数)を有して、ロードデータを前記ベクトルレ
ジスタに転送できるまで一時的に格納する複数のロード
データバッファと、(D)前記ベクトルレジスタと前記
メモリとの中間に接続され、ベクトルストア命令が扱う
最大のデータ幅で最大のデータ長分の容量を有して、ス
トアデータを前記メモリに転送できるまでの間一時的に
格納する複数のストアデータバッファと、を有するベク
トル処理装置において、(E)複数個の前記ロードデー
タバッファを有するとともに、個々の前記ロードデータ
バッファ内に使用可能なワード位置および使用可能なワ
ード数を示す複数の仮想バッファを設け、その仮想バッ
ファに全体の前記ロードデータバッファの中でユニーク
になる仮想バッファ番号を設定したロードデータバッフ
ァ群と、(F)命令種別で異なるロードデータの有効デ
ータ幅を認識し、該有効データ幅が前記ロードデータバ
ッファのデータ幅よりも十分小さいときには、前記ロー
ドデータバッファのデータ幅に合わせて、複数のロード
データを要素圧縮して格納するロードデータバッファ格
納部と、(G)前記ロードデータバッファ群の中からの
読出しを指定されたデータの有効データ幅を命令種別よ
り認識し、前記ロードデータバッファ格納部により圧縮
が行われた命令であれば読出したデータを元の複数の要
素に展開するロードデータバッファ読出し部と、を備え
て構成されている。
【0022】また、第2の発明のベクトル処理装置は、
第1の発明に示すベクトル処理装置において、第1の発
明のロードデータバッファ群で、一つの第1の発明のロ
ードデータバッファの中に割付けられた複数の仮想バッ
ファ番号の各々の下位ビットが、前記ロードデータバッ
ファのワードアドレスの上位ビットに一致するように設
定されるとともに、仮想バッファ番号の残りの上位ビッ
トが前記ロードデータバッファ群のそれぞれの前記ロー
ドデータバッファを示す識別子になるように、仮想バッ
ファ番号の各々が設定されることを含んでいる。
【0023】一方、第3の発明のベクトル処理装置は、
第1の発明に示すベクトル処理装置において、第1の発
明のロードデータバッファ格納部は、各データをロード
するベクトルロード命令の命令種別によって、ロードさ
れるデータの有効データ幅を認識して、前記有効データ
幅が第1の発明のロードデータバッファのデータ幅に一
致する最大のデータ幅であるときに、指示された仮想バ
ッファ番号が示す前記ロードデータバッファ内のワード
アドレスから一要素づつ順次に格納するように書込みア
ドレスを更新し、前記有効データ幅が最大データ幅より
も十分小さいときには、最大データ幅になるようにロー
ドデータの複数の要素数分をまとめて一ワードを構成し
てデータの圧縮を実行し、指示された仮想バッファ番号
が示す前記ロードデータバッファのワードアドレスから
一ワードにまとめるごとに前記ロードデータバッファ内
に格納して書込みアドレスを更新することを含んでい
る。を備えて構成されている。
【0024】他方、第4の発明のベクトル処理装置は、
第1の発明に示すベクトル処理装置において、第1の発
明のロードデータバッファ読出し部は、読出しを指示さ
れた仮想バッファ番号のアドレスに格納されているデー
タの有効データ幅を命令種別で認識し、一要素が一ワー
ドに格納されているときに、指示された仮想バッファ番
号が示す第1の発明のロードデータバッファに対するワ
ードアドレスから処理する要素数分の読出しサイクルを
連続して行い、複数の要素が一ワードに格納されている
ときには、前記ロードデータバッファの読出しサイクル
を圧縮された要素分に伸長して、読出したデータを要素
ごとに命令種別で決定される本来の有効データ位置に戻
しながら読出し動作を行うことを含んでいる。
【0025】そして、第5の発明のベクトル処理装置
は、(A)複数の要素を有するベクトルデータを持つ複
数のベクトルレジスタと、(B)前記ベクルレジスタに
接続して、前記ベクルレジスタから受けたベクトルデー
タのベクトル演算を行い、前記ベクルレジスタに保持さ
せる複数のベクトル演算器と、(C)メモリと前記ベク
トルレジスタとの中間に接続され、ベクトルロード命令
が扱う最大のデータ幅で最大のデータ長分の容量(ワー
ド数)を有して、ロードデータを前記ベクトルレジスタ
に転送できるまで一時的に格納する複数のロードデータ
バッファと、(D)前記ベクトルレジスタと前記メモリ
との中間に接続され、ベクトルストア命令が扱う最大の
データ幅で最大のデータ長分の容量を有して、ストアデ
ータを前記メモリに転送できるまでの間一時的に格納す
る複数のストアデータバッファと、を有するベクトル処
理装置において、(E)複数個の前記ストアデータバッ
ファを有するとともに、個々の前記ストアデータバッフ
ァ内に使用可能なワード位置および使用可能なワード数
を示す複数の仮想バッファを設け、その仮想バッファに
全体の前記ストアデータバッファの中でユニークになる
仮想バッファ番号を設定したストアデータバッファ群
と、(F)命令種別で異なるストアデータの有効データ
幅を認識し、該有効データ幅が前記ストアデータバッフ
ァのデータ幅よりも十分小さいときには、前記ストアデ
ータバッファのデータ幅に合わせて、複数のストアデー
タを要素圧縮して格納するストアデータバッファ格納部
と、(G)前記ストアデータバッファ群の中からの読出
しを指定されたデータの有効データ幅を命令種別より認
識し、前記ストアデータバッファ格納部により圧縮が行
われた命令であれば読出したデータを元の複数の要素に
展開するストアデータバッファ読出し部と、を備えて構
成されている。
【0026】また、第6の発明のベクトル処理装置は、
第5の発明に示すベクトル処理装置において、第5の発
明のストアデータバッファ群で一つの請求項5記載のス
トアデータバッファに割付けられた複数の仮想バッファ
番号の各々の下位ビットが、前記ストアデータバッファ
のワードアドレスの上位ビットに一致するように設定さ
れるとともに、その仮想バッファ番号の残りの上位ビッ
トが前記ストアデータバッファ群のそれぞれの前記スト
アデータバッファを示す識別子になるように、仮想バッ
ファ番号の各々が設定されることを含んでいる。
【0027】一方、第7の発明のベクトル処理装置は、
第5の発明に示すベクトル処理装置において、第5の発
明のストアデータバッファ格納部は、各データをストア
するベクトルストア命令の命令種別によって、ストアさ
れるデータの有効データ幅を認識して、前記有効データ
幅が第5の発明のストアデータバッファのデータ幅に一
致する最大のデータ幅であるときに、指示された仮想バ
ッファ番号が示す前記ストアデータバッファ内のワード
アドレスから一要素づつ順次に格納するように書込みア
ドレスを更新し、前記有効データ幅が最大データ幅より
も十分小さいときには、最大データ幅になるようにスト
アデータの複数の要素数分をまとめて一ワードを構成し
てデータの圧縮を実行し、指示された仮想バッファ番号
が示す前記ストアデータバッファのワードアドレスから
一ワードにまとめるごとに前記ストアデータバッファ内
に格納して書込みアドレスを更新することを含んでい
る。
【0028】他方、第8の発明のベクトル処理装置は、
第5の発明に示すベクトル処理装置において、第5の発
明のストアデータバッファ読出し部は、読出しを指示さ
れた仮想バッファ番号のアドレスに格納されているデー
タの有効データ幅を命令種別で認識し、一要素が一ワー
ドに格納されているときに、指示された仮想バッファ番
号が示す第5の発明のストアデータバッファに対するワ
ードアドレスから処理する要素数分の読出しサイクルを
連続して行い、複数の要素が一ワードに格納されている
ときには、前記ストアデータバッファの読出しサイクル
を圧縮された要素分に伸長して、読出したデータを要素
ごとに命令種別で決定される本来の有効データ位置に戻
しながら読出し動作を行うことを含んでいる。
【0029】
【実施例】続いて、本発明の実施例について、図面を参
照して説明する。図1は本発明のベクトル処理装置の一
実施例を示すブロック図である。図1に示した本実施例
のベクトル処理装置800は、メモリ900に接続し、
クロスバ710やベクトルレジスタ720,721およ
び演算器730を有するベクトル処理部700と、ロー
ドデータバッファ格納部200およびロードデータバッ
ファ読出し部300を伴ってベクトル処理部700に与
えるベクトルデータを格納するロードデータバッファ群
100と、ストアデータバッファ格納部500ならびに
ストアデータバッファ読出し部600を伴ってベクトル
処理部700の演算の結果を格納するストアデータバッ
ファ群400とを有している。
【0030】図2は図1のロードデータバッファ110
の一例を示す構成図である。また、図3は図1のストア
データバッファ410の一例を示す構成図である。さら
に、図4はロードデータバッファ110,120の各バ
ッファ番号に対応するロードデータバッファ110,1
20内でのアクセス可能領域の一例を示す図である。こ
こでは説明のために、各データバッファの数をそれぞれ
ロードデータバッファ110,120,ストアデータバ
ッファ410,420の2ヶずつで、各データバッファ
の容量を8バイト×64ワード、一つのデータバッファ
の中に割り付けられる仮想バッファ番号#0,#1,#
2,〜#7(以下、単にバッファ#0,#1,#2,〜
#7という)の数を4ヶ、命令の種別として8バイトロ
ード命令をVLD,上位4バイトロード命令をVLD
U,また下位4バイトロード命令をVLDL,8バイト
ストア命令をVST,上位4バイトストア命令をVST
U,下位4バイトストア命令をVSTL,固定小数点加
算をVADD,また浮動小数点加算をVFADとし、こ
れらの命令が取り得る最大のベクトル要素数を64とし
ている。また、ベクトルレジスタをV0,V1としてい
る。
【0031】そこで、図2および図3に示すように、一
つの物理的なデータバッファであるロードデータバッフ
ァ110およびストアデータバッファ410に対して4
つのバッファ#0,#1,#2,#3を割り付けてい
る。また、図4に示すように、2ヶのロードデータバッ
ファ110,120に対しては、ロードデータバッファ
110にバッファ#0,#1,#2,#3を割り付け
て、ロードデータバッファ120にバッファ#4,#
5,#6,#7を割り付けている。
【0032】そして、割り付け方法は色々あるが、ここ
ではバッファを指定する3ビットの最上位ビットがロー
ドデータバッファの識別子となって、残りの下位2ビッ
トがロードデータバッファへ格納する各データの要素番
号の上位指定となってロードデータバッファ上のワード
アドレスになるように設定している。
【0033】つまり、ここでは一つのデータバッファの
容量を64ワードとしているので、ワードアドレスは6
ビットで表されているが、ワードアドレスの上位2ビッ
トはバッファの下位2ビットに対応させるとともにワー
ドアドレスの下位4ビットをバッファ内の16個の各デ
ータの要素番号に対応させている。なお、これらは、ス
トアデータバッファ410,420についても同様であ
り説明を省略する。
【0034】従って、図2のバッファ#0では、ロード
データバッファ110のアドレス0から63の64ワー
ドが、バッファ#1では、アドレス16から63までの
48ワードが、バッファ#2では、アドレス32から6
3の32ワードが、バッファ#3では、アドレス48か
ら63までの16ワードが使用可能になり、それぞれ扱
えるベクトルデータ長が異なっている。なお、バッファ
#4からバッファ#7については、ロードデータバッフ
ァ120を使用するだけであり、ロードデータバッファ
120内の割付は、バッファ#0,〜#3と同じにな
る。
【0035】このように構成されるデータバッファで
は、8バイトロード命令VLDを実行する場合には、ベ
クトル要素長VLが49≦VL≦64のときはバッファ
#0,#4の2ヶしか使用できないが、1≦VL≦16
のときは#0,〜#7の8ヶを使用することができる。
【0036】例えば、VL=16でVLDを実行して、
バッファ#0を使用すると、ロードデータバッファ11
0のアドレス0,〜15に格納され、アドレス16,〜
63は未使用状態となる。従って、後続のVLDが再び
VL=16であれば、次に、バッファ#1を用いると、
ロードデータバッファ110のアドレス16,〜31に
格納される。
【0037】図5は図1のロードデータバッファ格納部
200の一例を示したブロック図である。ここでは、図
5を参照することによりロードデータバッファ格納部2
00が、ベクトルのロードを行う動作について説明す
る。なお、図1のストアデータバッファ格納部500
が、ストアデータ書込み制御部510およびストアデー
タ圧縮実行部520を有し、ベクトルの演算結果を格納
する動作については、同様であるので説明を省略する。
【0038】まず、ロードデータバッファ格納部200
は、メモリ900から受けたロードデータを上位,下位
に分割して、ロードデータ圧縮実行部220内のデータ
受取レジスタ221,222に入れる。そして、これら
のデータをロードした命令が8バイトロード命令VLD
であることをロードデータ書込み制御部210の中の書
込み命令種別213で判断すると、書込みセレクタ制御
回路216による上部書込みセレクタ225および下部
書込みセレクタ226の制御により、受取った8バイト
データをそのまま書込みレジスタ223,224の中に
移して、書込みバッファ番号211およびデータの要素
番号212から書込みアドレス作成回路215により書
込みアドレスを作成して書込みアドレスレジスタ214
に移し、書込みレジスタ223,224のデータをロー
ドデータバッファ群100へ格納している。
【0039】そして、受取ったデータが上位4バイトロ
ード命令VLDUのデータならば、受取レジスタ221
の中の上位4バイトのみが有効データであるために、書
込みセレクタ225,226は,受取りレジスタ221
側に切替わり、データの要素番号212が偶数であれ
ば、書込みレジスタ223にこの有効データを書込み、
奇数のときには、書込みレジスタ224にこの有効デー
タを書込んでいる。
【0040】そこで、2要素が揃ってロードデータバッ
ファ110,120への8バイトのワード幅の書込みデ
ータができたときに、それを代表する偶数要素の要素番
号を要素数の2で割った数とバッファ番号211とから
書込むアドレスを作成して、書込みアドレスレジスタ2
14にセットして、書込みレジスタ223,224のデ
ータをロードデータバッファ110,120に書込んで
いる。
【0041】また、受取ったデータが下位4バイトロー
ド命令VLDLのデータであると、受取レジスタ222
の中の下位4バイトのみが有効データであるために、書
込みセレクタ225,226は,受取りレジスタ222
側に切替わり、データの要素番号212が偶数であれ
ば、書込みレジスタ223にこの有効データを書込み、
奇数のときには、書込みレジスタ224にこの有効デー
タを書込んでいる。
【0042】そこで、2要素が揃ってロードデータバッ
ファ110,120への8バイトのワード幅の書込みデ
ータができたときに、それを代表する偶数要素の要素番
号を要素数の2で割った数とバッファ番号211とから
書込むアドレスを作成して、書込みアドレスレジスタ2
14にセットして、書込みレジスタ223,224のデ
ータをロードデータバッファ110,120に書込んで
いる。
【0043】図6は図1のロードデータバッファ読出し
部300の一例を示したブロック図である。ここでは図
6を参照することにより、ロードデータ読出し部300
が、ロードデータバッファ群100のデータを読出す動
作について説明する。なお、図1のストアデータ読出し
部600が、ストアデータ読出し制御部610およびス
トアデータ伸長実行部620を有して、ストアデータバ
ッファ群400内からデータを読出す動作については、
同様であるので説明を省略する。
【0044】最初に、ロードデータバッファ読出し部3
00は、ロードデータ読出し制御部310の中の読出し
バッファ番号311および読出し要素数カウンタ312
から読出しアドレス作成回路315により読出しアドレ
スを作成して、ロードデータバッファ群100に送っ
て、ロードデータバッファ群100からのデータを読出
してロードデータ伸長実行部320内の読出しレジスタ
321,322にセットして、要素数カウンタ312の
内容を更新している。
【0045】この際、読出し命令種別313が8バイト
ロード命令VLDを示していれば、読出し要素数カウン
タ312の6ビットに対する上位2ビットの位置にバッ
ファ番号311の下位2ビットを加算して読出しアドレ
スを作成し、読出した読出しレジスタ321,322の
値がそのまま整列レジスタ323,324に入るよう
に、整列セレクタ325,326を切替える値をセレク
タ制御回路316によりセレクタ制御レジスタ314に
セットするので、読出しレジスタ321,322の値が
そのまま整列レジスタ323,324に入り8バイトの
データをベクトル処理部700に送っている。これらの
動作は、マシンサイクルごとに、全要素を読出すまで繰
返されている。
【0046】また、命令種別313が上位4バイトロー
ド命令VLDUを示したときには、読出し要素数カウン
タ312は、マシンサイクルごとに更新されるバッファ
番号311と合わせてアドレスを作成するために、要素
数カウンタ312の値を2で割った数が使用されてい
る。
【0047】従って、読出しレジスタ321,322に
は、2マシンサイクルに渡って同じデータが存在するこ
ととなって、整列セレクタ325は、セレクタ制御レジ
スタ314により、読出しレジスタ321,322を交
互に切替えているので、整列レジスタ323は、読出し
要素数カウンタ312により示される読出しデータの要
素番号が偶数であるときに、読出しレジスタ321のデ
ータを命令種別313から示された有効データ位置であ
る整列レジスタ323にセットし、奇数であるときに
は、同様に、読出しレジスタ322のデータをセットし
て、そのデータをベクトル処理部700へ送っている。
【0048】一方、命令種別313が下位4バイトロー
ド命令VLDLを示したときには、読出し要素数カウン
タ312は、マシンサイクルごとに更新されるバッファ
番号311と合わせてアドレスを作成するために、要素
数カウンタ312の値を2で割った数が使用されてい
る。
【0049】従って、読出しレジスタ321,322に
は、2マシンサイクルに渡って同じデータが存在するこ
ととなって、整列セレクタ326は、セレクタ制御レジ
スタ314により、読出しレジスタ321,322を交
互に切替えているので、整列レジスタ324は、読出し
要素数カウンタ312により示される読出しデータの要
素番号が偶数であるときに、読出しレジスタ321のデ
ータを命令種別313から示された有効データ位置であ
る整列レジスタ324にセットし、奇数であるときに
は、同様に、読出しレジスタ322のデータをセットし
て、そのデータをベクトル処理部700へ送っている。
【0050】次に、従来の技術で説明した命令列の一例
を用いて、それらの命令の動作及び実行結果について説
明する。
【0051】すなわち、ベクトル有効長VLを16とし
た命令列は、以下の通りである。
【0052】 (1) VLDL V0 ← MEM (2) VLDL V1 ← MEM (3) VADD V0 ← V0+V1 (4) VSTL MEM ← V0 (5) VLDU V0 ← MEM (6) VLDU V1 ← MEM (7) VFAD V0 ← V0+V1 (8) VSTU MEM ← V0 上記の命令列が番号順に実行するようにプログラムされ
ている場合に、高速化の手段としてベクトルレジスタの
状態に関わらずにメモリアクセスを行い、演算結果が保
証される形でロードデータバッファ並びにストアデータ
バッファなどの中間バッファを使用して命令実行順序の
入替えを行っている。
【0053】すなわち、メモリアクセスを基準にするこ
とにより、 (1) VLDL V0 ← MEM (2) VLDL V1 ← MEM (5) VLDU V0 ← MEM (6) VLDU V1 ← MEM (3) VADD V0 ← V0+V1 (4) VSTL MEM ← V0 (7) VFAD V0 ← V0+V1 (8) VSTU MEM ← V0 の順番に実行されている。
【0054】そして、(1) ,(2) ,(5) ,(6) のベクト
ルロード命令には、ベクトル有効長VLが16であるこ
とより、バッファ#0,#1,#2,#3のそれぞれが
割り付けられている。同様にして、(4) ,(8) のベクト
ルストア命令には、バッファ#0,#1のそれぞれが割
り付けられる。
【0055】図7は本実施例のベクトル処理装置によっ
てベクトル演算を行う動作の一例を示すタイムチャート
である。そして、図8は本実施例のベクトル処理装置に
よるロードデータバッファおよびストアデータバッファ
の使用状況の一例を示した図である。
【0056】図7および図8に示すように、まず、(1)
,(2) のベクトルロード命令には、各々ロードデータ
バッファ110のバッファ#0,#1が割り付けられて
いる。そして、(5) ,(6) のベクトルロード命令には、
ロードデータバッファ110のバッファ#2,#3が割
り付けられている。一方、(4) ,(8) のベクトルストア
命令には、ストアデータバッファ410のバッファ#
0,#1が割り付けられている。
【0057】そこで、従来のベクトル処理装置の図12
に比較すると、図7に示すように、ロードデータバッフ
ァ110内に多くのバッファ#0,#1,#2,#3が
存在するので、メモリアクセス動作が隙間無く行われて
動作時間が短くなり、性能が高速化されている。
【0058】また、ロードデータバッファ110および
ストアデータバッファ410の使用形態は、従来のベク
トル処理装置の図13に比較すると、図8に示したよう
に、ロードデータバッファ110およびストアデータバ
ッファ410の中にデータが大幅に圧縮されており、効
率的に使用されている。
【0059】
【発明の効果】以上説明しているように、本発明のベク
トル処理装置は、ベクトルレジスタとメモリとの中間に
存在するロードデータバッファ,ストアデータバッファ
などの中間データバッファに、複数の仮想バッファ番号
を割付けて、これによって中間データバッファ内のアク
セス領域を特定させることおよび格納するデータが中間
データバッファのワード幅にも満たないときには、デー
タを圧縮して格納して、読出すときには、そのデータを
伸長しながら読出す処理を行うことにより、中間データ
バッファを効率的に使用することができるとともに、デ
ータのベクトル長にかかわらずに少ないハードウェア量
で最大の性能効果を出すことができるようになるという
効果を有している。
【図面の簡単な説明】
【図1】本発明のベクトル処理装置の一実施例を示すブ
ロック図である。
【図2】図1のロードデータバッファ110の一例を示
す構成図である。
【図3】図1のストアデータバッファ410の一例を示
す構成図である。
【図4】ロードデータバッファ110,120の各々の
バッファ番号に対応するロードデータバッファ110,
120内のアクセス可能領域の一例を示す図である。
【図5】図1のロードデータバッファ格納部200の一
例を示すブロック図である。
【図6】図1のロードデータバッファ読出し部300の
一例を示すブロック図である。
【図7】本実施例のベクトル処理装置によってベクトル
演算を行う動作の一例を示したタイムチャートである。
【図8】本実施例のベクトル処理装置によるロードデー
タバッファおよびストアデータバッファの使用状況の一
例を示した図である。
【図9】従来のベクトル処理装置で直接メモリと転送を
してベクトル演算を行う動作の一例を示すタイムチャー
トである。
【図10】従来のベクトル処理装置の一例を示すブロッ
ク図である。
【図11】ベクトル有効長の違いによるデータバッファ
の必要個数の違いを表したタイムチャートである。
【図12】従来のベクトル処理装置により2個のロード
データバッファを用いてベクトル演算を行う動作の一例
を示すタイムチャートである。
【図13】従来のベクトル処理装置によるロードデータ
バッファ,ストアデータバッファの使用状況の一例を示
す図である。
【符号の説明】
100,1100 ロードデータバッファ群 110,120,1110,1120 ロードデータ
バッファ 200,1200 ロードデータバッファ格納部 210 ロードデータ書込み制御部 211 書込みバッファ番号 212 データの要素番号 213 書込み命令種別 214 書込みアドレスレジスタ 215 書込みアドレス作成回路 216 書込みセレクタ制御回路 220 ロードデータ圧縮実行部 221,222 データ受取レジスタ 223,224 書込みレジスタ 225,226 書込みレジスタ 300,1300 ロードデータバッファ読出し部 310 ロードデータ読出し制御部 311 読出しバッファ番号 312 読出し要素数カウンタ 313 読出し命令種別 314 セレクタ制御レジスタ 315 読出しアドレス作成回路 316 セレクタ制御回路 320 ロードデータ伸長実行部 321,322 読出しレジスタ 323,324 整列レジスタ 325,326 整列セレクタ 400,1400 ストアデータバッファ群 410,420,1410,1420 ストアデータ
バッファ 500,1500 ストアデータバッファ格納部 510 ストアデータ書込み制御部 520 ストアデータ圧縮実行部 600,1600 ストアデータバッファ読出し部 610 ストアデータ読出し制御部 620 ストアデータ伸長実行部 700,1700 ベクトル処理部 710,1710 クロスバ 720,721,1720,1721 ベクトルレジ
スタ 730,1730 演算器 800,1800 ベクトル処理装置 900,1900 メモリ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】(A)複数の要素を有するベクトルデータ
    を持つ複数のベクトルレジスタと、(B)前記ベクルレ
    ジスタに接続して、前記ベクルレジスタから受けたベク
    トルデータのベクトル演算を行い、前記ベクルレジスタ
    に保持させる複数のベクトル演算器と、(C)メモリと
    前記ベクトルレジスタとの中間に接続され、ベクトルロ
    ード命令が扱う最大のデータ幅で最大のデータ長分の容
    量(ワード数)を有して、ロードデータを前記ベクトル
    レジスタに転送できるまで一時的に格納する複数のロー
    ドデータバッファと、(D)前記ベクトルレジスタと前
    記メモリとの中間に接続され、ベクトルストア命令が扱
    う最大のデータ幅で最大のデータ長分の容量を有して、
    ストアデータを前記メモリに転送できるまでの間一時的
    に格納する複数のストアデータバッファと、を有するベ
    クトル処理装置において、(E)複数個の前記ロードデ
    ータバッファを有するとともに、個々の前記ロードデー
    タバッファ内に使用可能なワード位置および使用可能な
    ワード数を示す複数の仮想バッファを設け、その仮想バ
    ッファに全体の前記ロードデータバッファの中でユニー
    クになる仮想バッファ番号を設定したロードデータバッ
    ファ群と、(F)命令種別で異なるロードデータの有効
    データ幅を認識し、該有効データ幅が前記ロードデータ
    バッファのデータ幅よりも十分小さいときには、前記ロ
    ードデータバッファのデータ幅に合わせて、複数のロー
    ドデータを要素圧縮して格納するロードデータバッファ
    格納部と、(G)前記ロードデータバッファ群の中から
    の読出しを指定されたデータの有効データ幅を命令種別
    より認識し、前記ロードデータバッファ格納部により圧
    縮が行われた命令であれば読出したデータを元の複数の
    要素に展開するロードデータバッファ読出し部と、を備
    えることを特徴とするベクトル処理装置。
  2. 【請求項2】 請求項1記載のロードデータバッファ群
    で、一つの請求項1記載のロードデータバッファ内に割
    付けられた複数の仮想バッファ番号の各々の下位ビット
    が、前記ロードデータバッファのワードアドレスの上位
    ビットに一致するように設定されるとともに、仮想バッ
    ファ番号の残りの上位ビットが、前記ロードデータバッ
    ファ群内のそれぞれの前記ロードデータバッファを示す
    識別子になるように、仮想バッファ番号の各々が設定さ
    れることを特徴とする請求項1記載のベクトル処理装
    置。
  3. 【請求項3】 請求項1記載のロードデータバッファ格
    納部は、各データをロードするベクトルロード命令の命
    令種別によって、ロードされるデータの有効データ幅を
    認識し、前記有効データ幅が請求項1記載のロードデー
    タバッファのデータ幅に一致する最大のデータ幅である
    ときに、指示された仮想バッファ番号が示す前記ロード
    データバッファ内のワードアドレスから一要素づつ順次
    に格納するように書込みアドレスを更新し、 前記有効データ幅が最大データ幅よりも十分小さいとき
    には、最大データ幅になるようにロードデータの複数の
    要素数分をまとめて一ワードを構成してデータの圧縮を
    実行し、指示された仮想バッファ番号が示す前記ロード
    データバッファのワードアドレスから一ワードにまとめ
    るごとに前記ロードデータバッファ内に格納して書込み
    アドレスを更新する、ことを特徴とする請求項1記載の
    ベクトル処理装置。
  4. 【請求項4】 請求項1記載のロードデータバッファ読
    出し部は、読出しを指示された仮想バッファ番号のアド
    レスに格納されているデータの有効データ幅を命令種別
    で認識し、一要素が一ワードに格納されているときに
    は、指示された仮想バッファ番号が示す請求項1記載の
    ロードデータバッファのワードアドレスから処理する要
    素数分の読出しサイクルを連続して行い、 複数の要素が一ワードに格納されているときには、前記
    ロードデータバッファの読出しサイクルを圧縮された要
    素分に伸長して、読出したデータを要素ごとに命令種別
    で決定される本来の有効データ位置に戻しながら読出し
    動作を行う、ことを特徴とする請求項1記載のベクトル
    処理装置。
  5. 【請求項5】(A)複数の要素を有するベクトルデータ
    を持つ複数のベクトルレジスタと、(B)前記ベクルレ
    ジスタに接続して、前記ベクルレジスタから受けたベク
    トルデータのベクトル演算を行い、前記ベクルレジスタ
    に保持させる複数のベクトル演算器と、(C)メモリと
    前記ベクトルレジスタとの中間に接続され、ベクトルロ
    ード命令が扱う最大のデータ幅で最大のデータ長分の容
    量(ワード数)を有して、ロードデータを前記ベクトル
    レジスタに転送できるまで一時的に格納する複数のロー
    ドデータバッファと、(D)前記ベクトルレジスタと前
    記メモリとの中間に接続され、ベクトルストア命令が扱
    う最大のデータ幅で最大のデータ長分の容量を有して、
    ストアデータを前記メモリに転送できるまでの間一時的
    に格納する複数のストアデータバッファと、を有するベ
    クトル処理装置において、(E)複数個の前記ストアデ
    ータバッファを有するとともに、個々の前記ストアデー
    タバッファ内に使用可能なワード位置および使用可能な
    ワード数を示す複数の仮想バッファを設け、その仮想バ
    ッファに全体の前記ストアデータバッファの中でユニー
    クになる仮想バッファ番号を設定したストアデータバッ
    ファ群と、(F)命令種別で異なるストアデータの有効
    データ幅を認識し、該有効データ幅が前記ストアデータ
    バッファのデータ幅よりも十分小さいときには、前記ス
    トアデータバッファのデータ幅に合わせて、複数のスト
    アデータを要素圧縮して格納するストアデータバッファ
    格納部と、(G)前記ストアデータバッファ群の中から
    の読出しを指定されたデータの有効データ幅を命令種別
    より認識し、前記ストアデータバッファ格納部により圧
    縮が行われた命令であれば読出したデータを元の複数の
    要素に展開するストアデータバッファ読出し部と、を備
    えることを特徴とするベクトル処理装置。
  6. 【請求項6】 請求項5記載のストアデータバッファ群
    で、一つの請求項5記載のストアデータバッファ内に割
    付けられた複数の仮想バッファ番号の各々の下位ビット
    が、前記ストアデータバッファのワードアドレスの上位
    ビットに一致するように設定されるとともに、仮想バッ
    ファ番号の残りの上位ビットが、前記ストアデータバッ
    ファ群内のそれぞれの前記ストアデータバッファを示す
    識別子になるように、仮想バッファ番号の各々が設定さ
    れることを特徴とする請求項5記載のベクトル処理装
    置。
  7. 【請求項7】 請求項5記載のストアデータバッファ格
    納部は、各データをストアするベクトルストア命令の命
    令種別によって、ストアされるデータの有効データ幅を
    認識し、前記有効データ幅が請求項5記載のストアデー
    タバッファのデータ幅に一致する最大のデータ幅である
    ときに、指示された仮想バッファ番号が示す前記ストア
    データバッファ内のワードアドレスから一要素づつ順次
    に格納するように書込みアドレスを更新し、 前記有効データ幅が最大データ幅よりも十分小さいとき
    には、最大データ幅になるようにストアデータの複数の
    要素数分をまとめて一ワードを構成してデータの圧縮を
    実行し、指示された仮想バッファ番号が示す前記ストア
    データバッファのワードアドレスから一ワードにまとめ
    るごとに前記ストアデータバッファ内に格納して書込み
    アドレスを更新する、ことを特徴とする請求項5記載の
    ベクトル処理装置。
  8. 【請求項8】 請求項5記載のストアデータバッファ読
    出し部は、読出しを指示された仮想バッファ番号のアド
    レスに格納されているデータの有効データ幅を命令種別
    で認識し、一要素が一ワードに格納されているときに
    は、指示された仮想バッファ番号が示す請求項5記載の
    ストアデータバッファのワードアドレスから処理する要
    素数分の読出しサイクルを連続して行い、 複数の要素が一ワードに格納されているときには、前記
    ストアデータバッファの読出しサイクルを圧縮された要
    素分に伸長して、読出したデータを要素ごとに命令種別
    で決定される本来の有効データ位置に戻しながら読出し
    動作を行う、ことを特徴とする請求項5記載のベクトル
    処理装置。
JP6117784A 1994-05-31 1994-05-31 ベクトル処理装置 Expired - Fee Related JP2752902B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP6117784A JP2752902B2 (ja) 1994-05-31 1994-05-31 ベクトル処理装置
AU20401/95A AU691593B2 (en) 1994-05-31 1995-05-30 Vector processing unit with reconfigurable data buffer
CA002150518A CA2150518C (en) 1994-05-31 1995-05-30 Vector processing unit with reconfigurable data buffer
EP95108329A EP0686922B1 (en) 1994-05-31 1995-05-31 Vector processing unit with reconfigurable data buffer
DE69520707T DE69520707T2 (de) 1994-05-31 1995-05-31 Vektorverarbeitungseinheit mit rekonfigurierbarem Datenpuffer
US08/857,327 US5881302A (en) 1994-05-31 1997-05-16 Vector processing unit with reconfigurable data buffer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6117784A JP2752902B2 (ja) 1994-05-31 1994-05-31 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPH07325805A true JPH07325805A (ja) 1995-12-12
JP2752902B2 JP2752902B2 (ja) 1998-05-18

Family

ID=14720236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6117784A Expired - Fee Related JP2752902B2 (ja) 1994-05-31 1994-05-31 ベクトル処理装置

Country Status (5)

Country Link
EP (1) EP0686922B1 (ja)
JP (1) JP2752902B2 (ja)
AU (1) AU691593B2 (ja)
CA (1) CA2150518C (ja)
DE (1) DE69520707T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252133A (ja) * 2008-04-10 2009-10-29 Nec Computertechno Ltd ベクトル処理装置及びベクトル処理方法
JP2013012055A (ja) * 2011-06-29 2013-01-17 Fujitsu Ltd 画像処理装置、画像処理方法および画像処理プログラム
JP2017508201A (ja) * 2014-01-31 2017-03-23 クゥアルコム・インコーポレイテッドQualcomm Incorporated ベクトルプロセッサにおけるロード/ストア演算中のフォーマット変換

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57121746A (en) * 1981-01-22 1982-07-29 Nec Corp Information processing device
JPS60245056A (ja) * 1984-05-21 1985-12-04 Hitachi Ltd ポインタ動的制御によるバツフアメモリ拡張方法
JPH02254563A (ja) * 1989-03-29 1990-10-15 Koufu Nippon Denki Kk ベクトルデータ処理方式
JPH03257665A (ja) * 1990-03-08 1991-11-18 Koufu Nippon Denki Kk 情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4771380A (en) * 1984-06-22 1988-09-13 International Business Machines Corp. Virtual vector registers for vector processing system
US4888679A (en) * 1988-01-11 1989-12-19 Digital Equipment Corporation Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
JPH04557A (ja) * 1990-04-17 1992-01-06 Mitsubishi Electric Corp ベクトルプロセッサ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57121746A (en) * 1981-01-22 1982-07-29 Nec Corp Information processing device
JPS60245056A (ja) * 1984-05-21 1985-12-04 Hitachi Ltd ポインタ動的制御によるバツフアメモリ拡張方法
JPH02254563A (ja) * 1989-03-29 1990-10-15 Koufu Nippon Denki Kk ベクトルデータ処理方式
JPH03257665A (ja) * 1990-03-08 1991-11-18 Koufu Nippon Denki Kk 情報処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252133A (ja) * 2008-04-10 2009-10-29 Nec Computertechno Ltd ベクトル処理装置及びベクトル処理方法
JP2013012055A (ja) * 2011-06-29 2013-01-17 Fujitsu Ltd 画像処理装置、画像処理方法および画像処理プログラム
JP2017508201A (ja) * 2014-01-31 2017-03-23 クゥアルコム・インコーポレイテッドQualcomm Incorporated ベクトルプロセッサにおけるロード/ストア演算中のフォーマット変換

Also Published As

Publication number Publication date
DE69520707T2 (de) 2001-11-29
EP0686922A1 (en) 1995-12-13
CA2150518C (en) 2002-01-01
AU691593B2 (en) 1998-05-21
AU2040195A (en) 1995-12-07
CA2150518A1 (en) 1995-12-01
DE69520707D1 (de) 2001-05-23
EP0686922B1 (en) 2001-04-18
JP2752902B2 (ja) 1998-05-18

Similar Documents

Publication Publication Date Title
US5881302A (en) Vector processing unit with reconfigurable data buffer
US5887183A (en) Method and system in a data processing system for loading and storing vectors in a plurality of modes
US6925553B2 (en) Staggering execution of a single packed data instruction using the same circuit
JP3916680B2 (ja) プロセッサ
EP0240032A2 (en) Vector processor with vector data compression/expansion capability
JPS59160267A (ja) ベクトル処理装置
JPS6028015B2 (ja) 情報処理装置
US11308171B2 (en) Apparatus and method for searching linked lists
JPS619760A (ja) ベクトル処理システム
JP2752902B2 (ja) ベクトル処理装置
US4561071A (en) Storage system having buffer storage
JP2547219B2 (ja) ベクトルデータのアクセス制御装置及び方法
JPH05143451A (ja) データ処理装置
JPS61224051A (ja) バッファメモリ制御方法
EP1785862A2 (en) Method and apparatus for pipeline processing
US6715058B1 (en) Apparatus and method for a sorting mode in a direct memory access controller of a digital signal processor
JPH10116191A (ja) 圧縮命令用バッファを備えたプロセッサ
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPS6337412B2 (ja)
JPH0721154A (ja) ベクトル処理装置
JPH0271327A (ja) ソート処理装置
JP2918570B2 (ja) 中央演算処理装置
JP2583614B2 (ja) ベクトル演算装置
JPH09198374A (ja) ベクトル処理装置
JPS5899869A (ja) 並列処理方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees