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

ベクトル・プロセツサ

Info

Publication number
JPH0731669B2
JPH0731669B2 JP61076528A JP7652886A JPH0731669B2 JP H0731669 B2 JPH0731669 B2 JP H0731669B2 JP 61076528 A JP61076528 A JP 61076528A JP 7652886 A JP7652886 A JP 7652886A JP H0731669 B2 JPH0731669 B2 JP H0731669B2
Authority
JP
Japan
Prior art keywords
vector
store
load
processing
mask data
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
JP61076528A
Other languages
English (en)
Other versions
JPS62233884A (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 JP61076528A priority Critical patent/JPH0731669B2/ja
Priority to EP87104988A priority patent/EP0240032B1/en
Priority to DE3750143T priority patent/DE3750143T2/de
Priority to US07/034,950 priority patent/US4881168A/en
Publication of JPS62233884A publication Critical patent/JPS62233884A/ja
Publication of JPH0731669B2 publication Critical patent/JPH0731669B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • 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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数のデータから成るベクトルデータを一括
処理する命令を有するベクトルプロセツサに係り、主記
憶とプロセツサ間で圧縮/伸長を伴うベクトルデータの
効率良い転送方式に関する。
〔従来の技術〕
一連のベクトルデータに対して一括して処理を行うベク
トル命令を有するベクトルプロセツサが開発され、主に
科学技術計算の高速処理を目的として広く利用されてい
る。ベクトルプロセツサではベクトル命令はパイプライ
ンで処理されるのが普通である。
近年、条件文処理をベクトル処理(FORTRANプログラム
で、IF文を含むDOループをベクトル処理する)の対象と
するベクトルプロセツサが開発されている。ベクトルプ
ロセツサの条件文処理方式は、情報処理学会第25回全国
大会講演番号6F−6「ベクトルプロセツサの効率的条件
文ベクトル化方式」に示されている条件文を効率良くベ
クトル処理するには、条件が成立せず演算する必要のな
い演算や、条件が成立せず主記憶へ格納する必要のない
データの不必要な処理を避けることが重要である。例え
ば第2図に示すFORTRANのプログラムをベクトル処理す
ることを考えた場合、配合列BのI番目の要素B(I)
が0より大きいときだけ、配列BのI番目の要素B
(I)の三角関数sinの値を計算して配列AのI番目の
要素A(I)に格納すればよい。三角関数sinの計算は
あらかじめ用意されているサブルーチンを用いて行われ
るが、サブルーチンへの引数の受渡し(第2図の場合は
配列B)は主記憶を介して行われるのが一般的である。
従つて、第2図のプログラムを効率良く処理するには、
IF文の条件B(I)>0が成立するIについてのみB
(I)を主記憶に格納し、sinを計算するサブルーチン
に引数として渡し、計算された値をA(I)に格納すれ
ばよい。この一連の処理をベクトル処理するために、日
立製作所のベクトルプロセツサHITAC S−810では次のよ
うなベクトル命令が用意されている。
(1)伸長ロード命令(Load Expansion命令、VLE命
令) 条件判定結果を保持するベクトルマスクレジスタ(VM
R)の内容に従い、VMRの内容が1に対応する要素だけを
主記憶からロードする。
(2)圧縮ストア命令(Store Compress命令、VSTC命
令) VMRの内容が1に対応する要素だけを主記憶に格納す
る。
以上のような伸長/圧縮ロード・ストア命令を用いて第
2図のプログラムを処理する様子を示したのが第3図で
ある。第3図の例では、例えばマスクの値が1であるの
は3要素だけであり、三角関数sinの計算は配列B全体
の100要素ではなく、マスクの値が1である要素に対応
する3要素だけに対して行われることになり、効率良い
処理が実現できる。
従来のベクトルプロセツサにおける伸長ロード命令ある
いは圧縮ストア命令の処理方式は、特開昭58−214963に
示されている。単純なベクトルロード命令やベクトルス
トア命令と比べて、伸長ロード命令や圧縮ストア命令に
特有の処理は次の点である。
(1)VMR(ベクトルマスクレジスタ)の内容を参照す
る。
(2)主記憶上のデータのアドレス更新が、単純なベク
トルロードやベクトルストアの場合は1要素を処理する
ことに行われるが、伸長ロードや圧縮ストアではVMRの
内容が1に対応する要素を処理したときだけ更新され
る。
〔発明が解決しようとする問題点〕
ベクトルプロセツサにおいては、ベクトル命令はパイプ
ラインにて高速処理されるが、さらに高速化をはかるた
めの手法として要素並列処理を採用されている。要素並
列処理とは、ベクトル命令をパイプラインで処理する演
算パイプやロード/ストアパイプを多重構成し、1マシ
ンサイクルが複数個のベクトル要素を同時にパイプライ
ン処理するものである。要素並列処理を採用したベクト
ルプクロセツサとしては、日本電気株式会社のSXシステ
ムがあり、その概要は、情報処理学会第30回全国大会、
講演番号4B−9「多重並列パイプライン方式によるベク
トル計算機」に示されている。
要素並列処理は、ベクトル命令で行われる演算が基本的
にベクトル要素間のインタラクシヨンがないことを利用
し、同一構造のパイプラインを単純に多重化して高速化
をはかろうとするものである。
しかしながら、従来の要素並列型のロード/ストアパイ
プを用いて先述の伸長ロード命令あるいは圧縮ストア命
令を処理しようとしたとき、不都合が生じる。すなわ
ち、要素並列型のロード/ストアパイプでは、多重構成
となつている各回路(これをサブ・パイプと呼ぶことに
する)のアドレス計算回路は互いに独立でインタラクシ
ヨンを持たない。通常のベクトルロード命令やベクトル
ストア命令を処理するときは、要素並列型パイプの各サ
ブパイプのアドレス更新値は一定であり(例えば4要素
並列処理するならば、各サブパイプについては、1要素
を処理するたびに4要素分アドレス更新してやればよ
い)、各サブパイプが独立であつても不都合は生じな
い。しかしながら、このような要素並列型のロード・ス
トアパイプで先に示したような伸長ロード命令や圧縮ス
トア命令を実行しようとするとき、従来の方式では処理
できない。理由は次の如くである。すなわち、伸長ロー
ドや圧縮ストアを処理するときのアドレス更新処理は、
ベクトルマスクレジスタの値が1に対応する要素を処理
したときだけであり、あるサブパイプについて見た場
合、アドレス計算回路の更新値が一定でない。さらに、
アドレス計算の更新はサブパイプ単独では判定できず、
他のサブパイプでベクトルマスクレジスタの内容が1に
対応する要素が何個であるかということにより、毎回更
新値を変更することができなければならないが、各サブ
パイプは独立構成が基本の従来の要素並列型パイプでは
処理できない。
これを解決する方法として、単純なロードやストアは要
素並列処理するが、伸長ロードや圧縮ストアは1個のサ
ブパイプのみを使い、要素並列処理をしないという考え
方がある。しかしこの方式は、要素並列処理しないとい
うことで性能的に得策でないだけでなく、もともと各サ
ブパイプ単位に独立に設けられているストアデータ用の
データ線やマスクデータ用のデータ線を1個のサブパイ
プに集中せねばならず、回路構成上もLSiやボードの信
号ピンを多量に使うことになり、得策でない。
本発明の目的は、要素並列型のパイプライン構成を採用
しているベクトルプロセツサにおいて、本来要素並列処
理とはなじまない処理が必要な伸長ロードや圧縮ストア
を、要素並列型のロード・ストアパイプに簡単な回路と
少量のデータ線を追加するだけで、簡便にしかも要素並
列で高速処理する手段を提供することにある。
〔問題点を解決するための手段〕
上記目的は、要素並列構成のロード・ストアパイフに次
の手段を設けることにより達成される。
(1)例えば4要素並列処理といつた1回の要素並列処
理で処理する要素分のベクトルマスクデータをすべての
サブパイプに供給する(ベクトルマスクデータは1要素
に1ビツトであり、すべてのサブパイプに供給しても回
路実現上大きな問題にはならない)。
(2)各サブパイプは、要素並列処理において、自パイ
プの担当する要素に対応するベクオルマスクの値が1の
ときのみメモリ参照要素を出す。
(3)1回の要素並列処理において、自パイプの担当要
素に先行する要素に対応するベクトルマスクの1又は0
の個数を計数する回路を各サブパイプに設ける。
(4)1回の要素並列処理で処理される要素に対応する
ベクトルマスクデータの1の個数を計数する回路を各サ
ブパイプに設ける。
(5)(2)の条件が成立してメモリ参照要求を出すと
き、(3)で計数した値をもとに参照メモリアドレスを
計算する。
(6)(4)で計数した値をもとに、次回の要素並列処
理のためのアドレス更新を行う。
〔作用〕
1回の要素並列処理において、各サブパイプは自分が担
当する要素に対応するベクトルマスクの値が1のときは
主記憶に参照要求を出すが、そのときの参照主記憶アド
レスは、1回の要素並列処理において自パイプが担当す
る要素に先行する要素のベクトルマスクにより決定する
必要があり、前記の手段(3)で先行要素1の個数をカ
ウントして手段(5)で参照主記憶アドレスを生成す
る。また、次回の要素並列処理の準備としての各サブパ
イプのアドレス更新は、今回の要素並列処理でベクトル
マスクが1の要素が何要素であつたかで決定され、手段
(4)を用いて1回の要素並列処理でのベクトルマスク
が1の個数をかぞえ、手段(5)を用い、各サブパイプ
毎にアドレス更新を行う。これにより、伸長ロードある
いは圧縮ストアの処理を要素並列処理で実現することが
できる。
なお、手段(3)と(4),手段(5)と(6)は共有
化あるいは融合化しても差しつかえない。
〔実施例〕
以下、本発明を実施例により詳細に説明する。
第1図は、本発明の一実施例を示すベクトルプロセツサ
の構成を示す図である。
第1図において、1は主記憶、2はロード・ストアパイ
プ、30ないし37(31〜36は図示されていない)はベクト
ルレジスタ群、40ないし47(41〜46は図示されていな
い)はベクトルマスクレジスタ(VMR)群、5は演算パ
イプである。ロード・ストアパイプ2は主記憶とベクト
ルレジスタあるいはベクトルマスクレジスタとの間のデ
ータ転送をパイプラインが高速に処理するものである。
演算パイプ5は、加算や乗算といつた演算をパイプライ
ンで高速に処理するもので、ベクトルレジスタから順次
読み出されるベクトルデータに対して順次演算処理を施
し、結果をベクトルレジスタあるいはベクトルマスクレ
ジスタに順次書込むものである。本実施例では、ロード
・ストアパイプおよび演算パイプは各々1個、ベクトル
レジスタおよびベクトルマスクレジスタはそれぞれ8個
となつているが、これらの個数は本質的な事柄でなく、
便宜上設定した個数である。
ロード・ストアパイプ2は要素並列型構成となつてお
り、本実施例では4要素並列構成で、4個のサブ・ロー
ドストアパイプ20ないし23から構成される。4個のサブ
・ロードストアパイプ20ないし23は各々全く同じ構造で
あり、1マシンサイクルに1要素の割合で主記憶とベク
トルレジスタ/ベクトルマスクレジスタとの間のデータ
転送をパイプラインで処理することができる。従つて、
ロードストアパイプ2全体では1マシンサイクルに4要
素の割合でパイプライン処理する能力をもつ。本実施例
では、サブ・ロードストアパイプ20ないし23がそれぞれ
ベクトルデータの4n,4n+1,4n+2,4n+3(n=0,1…)
を独立に処理するものとする。
同様に、演算パイプ5も要素並列構成となつていて、4
個のサブ演算パイプ50ないし53から構成される。4個の
サブ演算パイプ50ないし53は各々全く同じ構造であり、
ベクトルレジスタから読み出されたデータに対し1マシ
ンサイクルに1演算の割合で処理し、結果をベクトルレ
ジスタ/ベクトルマスクレジスタに書込むことができる
パイプライン構造の回路である。従つて、演算パイプ全
体では1マシンサイクルに4演算の割合で結果を生成す
ることができる。本実施例では、サブ演算パイプ50ない
し53がそれぞれベクトルデータの4n,4n+1,4n+2,4n+
3(n=0,1,2…)を独立に処理するものとする。
本実施例では、ロードストアパイプおよび演算パイプの
要素並列度を4としているが、これは本質的な事項では
なく、8,16といつたようにいくつであつても差つかえな
い。
第1図において、60はベクトルアドレスレジスタ(Veet
or Address Register,VAR)群であり、主記憶上にある
ベクトルデータの先頭アドレスを指定するのに用いるレ
ジスタが複数個ある。
第1図において、70はベクトル増分レジスタ(Vector I
ncrement Register,VIR)群であり、主記憶上にあるベ
クトルデータの各要素の間隔を保持するのに用いるレジ
スタが複数個ある。
主記憶上のあるベクトルデータを命令で指定するときに
は、その先頭アドレスおよび要素間隔を保持するVARお
よびVIRを指示する。命令で指定されたVARおよびVIRの
内容はロードストアパイプに送られ、主記憶とベクシル
レジスタ/ベクトルマスクレジスタとの間のデータ転送
において、主記憶上のベクトルデータの各要素のアドレ
ス計算に用いられる。
第1図において、100は選択回路であり、VAR群の中から
命令で指定されたVARを選択し、その内容を、データ線2
00を介してサブ・ロードストアパイプ20ないし23に供給
するものである。
第1図において、110は選択回路であり、VIR群の中から
命令で指定されたVIRを選択し、その内容をデータ線210
を介してサブ・ロードストアパイプ20ないし23に供給す
るものである。
第1図において、120ないし123はスイツチマトリクス回
路であつて、ロード・ストアパイプと任意のベクトルレ
ジスタとの結合関係を命令の処理に応じて実現するもの
である。これらスイツチマトリクス回路はロードストア
パイプの要素並列型構成に対応し、スイツチマトリクス
回路120ないし123はそれぞれベクトルデータの4n,4n+
1,4n+2,4n+3(n=0,1,2…)を独立に処理するもの
である。
第1図において、124ないし127も、同様に、スイツチマ
トリクス回路であつて、演算パイプと任意のベクトルレ
ジスタとの結合関係を命令の処理に応じて実現するもの
である。これらスイツチマトリクス回路は演算パイプの
要素並列型構成に対応し、スイツチマトリクス回路124
ないし127はそれぞれベクトルデータの4n,4n+1,4n+2,
4n+3(n=0,1,2…)を独立に処理するものである。
第1図において、130ないし133はスイツチマトリクス回
路であつて、ロード・ストアパイプと任意のベクトルマ
スクレジスタとの結合関係を命令の処理に応じて実現す
るものである。これらスイツチマトリクス回路はロード
ストアパイプの要素並列型構成に対応し、スイツチマト
リクス回路130ないし133はそれぞれベクトルマスクデー
タの4n,4n+1,4n+2,4n+3(n=0,1,2…)を独立に処
理するものである。
第1図において、134ないし137も、同様に、スイツチマ
トリクス回路であつて、演算パイプと任意のベクトルマ
スクレジスタとの結合関係を命令の処理に応じて実現す
るものである。これらのスイツチマトリクス回路は演算
パイプの要素並列型構成に対応し、スイツチマトリクス
回路134ないし137はそれぞれベクトルマスクデータの4
n,4n+1,4n+2,4n+3(n=0,1,2…)を独立に処理す
るものである。
第1図において、220ないし223はアドレスデータ線であ
つて、サブ・ロードストアパイプ20ないし23から主記憶
参照要求が出るときに、参照アドレスを送出するもので
ある。
第1図において、230ないし233はデータ線であり、それ
ぞれサブ・ロードストアパイプ20ないし23と主記憶との
間を結合し、ロードされるデータあるいはストアするデ
ータを転送するものである。
第1図において、240ないし243はデータ線であつて、そ
れぞれサプ・ロードストアパイプ20ないし23とスイツチ
マトリクス回路120ないし123との間を結合し、ロードス
トアパイプとベクトルレジスタとの間のデータ転送に用
いられる。
第1図において、250ないし253はデータ線群であつて、
それぞれスイツチマトリクス回路124ないし127とサブ演
算パイプ50ないし53との間を結合する。データ線群250
ないし253は、ベクトルレジスタから演算パイプへのデ
ータの転送および演算パイプからベクトルレジスタへの
演算結果の転送に使用される。
第1図において、260ないし263は信号線であつて、ベク
トルマスクレジスタの内容をロードストアパイプに転送
するためのものである。信号線260ないし263は要素並列
型構成に対応してはいるが、260ないし263のいずれもす
べてのサブ・ロードストアパイプ20ないし23に縮合され
ている。
第1図において270ないし273は信号線であつて、ベクト
ルマスクレジスタと演算パイプとの間でベクトルマスク
データを転送するのに使用される。信号線270ないし273
は要素並列型構成に対応しており、それぞれスイツチマ
トリクス回路134ないし137とサブ演算パイプ50ないし53
との間を結合する。
次に、本発明の特徴であるサブ・ロードストアパイプの
構造について述べる。
第1図において、300,301,302はレジスタ、303は選択回
路、304は参照アドレス計算部、305はアドレス更新部、
306はマスクデータ計数部、307は先行マスクデータ計数
部、308は参照要求生成部である。
レジスタ300には、命令の開始時データ線210を介して送
られてくるVIRの内容がセツトされ、その命令の処理が
終了するまで保持される。
選択回路303は、命令の開始時、データ線200を介して送
られてくるVARの値、およびデータ線210を介して送られ
てくるVIRの値から、 VAR+VIR×n(n=0,1,2,3) を計算して、レジスタ301にセツトする。ここで、上式
の乗算処理は、倍数nが0,1,2,3のいずれかであるの
で、シフトおよび簡単な加算で実現できる。nの値は各
サブ・ロードストアパイプ対応に固定であり、サブ・ロ
ードストアパイプ20はn=0、サブ・ロードストアパイ
プ21はn=1、サブ・ロードストアパイプ2はn=2、
サブ・ロードストアパイプ23はn=3である。この処理
を行うことにより、命令の開始時、各サブ・ロードスト
アパイプのレジスタ301には、各サブ・ロードストアパ
イプが最初に処理すべきベクトル要素データの主記憶ア
ドレスが保持される。その後、命令の処理が終了するま
での間は、アドレス更新部305の出力が選択され、ベク
トル要素データの処理がなされるたびに、次に処理され
るべきベクトル要素データの主記憶アドレスである更新
されたアドレス値がレジスタ301にセツトされる。
マスクデータ計数部306の動作は次の如くである。すな
わち、伸長ロード/圧縮ストア以外の処理をするとき
は、常に値4を出力する。伸長ロードあるいは圧縮スト
アを処理するときには、信号線260ないし263を介して送
られてくるベクトルマスクデータ4要素分を調べ、ベク
トルマスクデータの値が1である個数を計数して出力す
る。出力される値は、0,1,2,3のいずれかである(この
値を、以下MCNTと略す)。
先行マスクデータ計数部307の動作は次の如くである。
すなわち、伸長ロード/圧縮ストア以外の処理をすると
きは、常に値0を出力する。伸長ロードあるいは圧縮ス
トアを処理するときには、1回の要素並列処理(本実施
例では4要素並列)において、各サブ・ロードストアパ
イプが処理を担当するベクトル要素に先行するベクトル
要素に対応するベクトルマスクデータを調べ、その値が
0である個数を計数して出力する(この値を、以下PMCN
Tと略す)。サブ・ロードストアパイプ20は、先行する
ベクトル要素がないので、PMCNTとして値0を出力す
る。サブ・ロードストアパイプ21は、先行するベクトル
要素に対応するベクトルマスクデータが送られてくるデ
ータ線260を調べ、値が0ならばPMCNTとして1、そうで
なければ0を出力する。同様に、サブ・ロードストアパ
イプ22は、先行するベクトル要素に対応するベクトルマ
スクデータが送られてくるデータ線260および261を調
べ、その値が0である個数(0,1,2のいずれか)を計数
して、その値をPMCNTとして出力する。サブ・ロードス
トアパイプ23は、先行するベクトル要素に対応するベク
トルマスクデータが送られてくるデータ線260,261およ
び262を調べ、その値が0である個数(0,1,2,3のいずれ
か)を計数して、その値をPMCNTとして出力する。
参照アドレス計算部304は、主記憶に参照要求を出すと
きに、主記憶上のどのアドレスを参照するかを計算し、
アドレスを生成するものであり、動作は次の如くであ
る。すなわち、レジスタ301の出力(これをWDARと記述
する)、レジスタ300の出力(これをWVIRと記述す
る)、および先行マスクデータ計数部307の出力PMCNTか
ら WVAR−WVIR×PMCNT を計算する。
アドレス更新部305は、一回の要素並列処理が終了し、
次回の要素並列処理のためにアドレス更新を行うもの
で、動作は次の如くである。すなわち、レジスタ301の
出力WVAR、レジスタ300の出力WVIR、およびマスクデー
タ計数部306の出力MCNTから、 WVAR+WVIR×MCNT を計算し、選択回路303を経由して、レジスタ301にセツ
トする。
参照要求生成部308は、ベクトル要素データが1個処理
されるときに、主記憶に参照要求を出すものであるが、
伸長ロードや圧縮ストアなどベクトルマスクデータを参
照する命令を処理する場合は、ベクトルマスクデータに
対応するベクトル要素が処理されるときだけ、主記憶へ
の参照要求を出す。ベクトルマスクデータはレジスタ30
2より与えられる。
以上に示したような本発明の実施例のロードストアパイ
プにおいて、(1)マスクデータ計数部306、(2)先
行マスクデータ計数部307、(3)伸長ロードあるいは
圧縮ストアの処理における参照アドレス計算部304およ
びアドレス更新部305のマスクデータ計算部306および先
行マスクデータ計数部307の出力を用いた処理、を除く
部分は、本発明を使用しないベクトルプロセツサのロー
ドストアパイプにおいても、基本部分として備わつてい
るものである。また、本発明で特徴的な上述の3点は、
実際に回路を構成した場合の規模は小さく従来のベクト
ルプロセツサのロードストアパイプに小規模な回路を付
加したという性格が強い。
以上に説明したような本発明の実施例におけるロードス
トアパイプにより、伸長ロードあるいは圧縮ストアがど
のように処理されるかを次に示す。
その前に、第4図を用いて、通常の単純なロードあるい
はストアがどのように処理されるかをまず示す。第4図
に表において、横欄は第1図のサブ・ロードストアパイ
プ20ないし23の動作を示すもので、各サブロードストア
パイプ単位に次の事項が示されている。すなわち、レジ
スタ301の出力であるWVARの値、アドレス線230ないし23
3を介して送出される主記憶参照時の参照する記憶アド
レス、およびデータ線220ないし223を介して実際に参照
要求が出されたかどうかの3点である。レジスタ301の
出力であるWVARの値および参照する記憶アドレスは、説
明を簡略化するために、実際のアドレスではなく、何番
目のベクトル要素であるかが示してある。また、参照要
求が出たかどうかについては、参照要求が出る場合には
○印、出ない場合には×印でそれを示している。一方、
第4図の表の縦欄は、要素並列処理の順次を示してい
る。第1図に示した本発明の実施例におけるベクトルプ
ロセツサでは、処理は4要素並列であるから、1個の欄
に対応する1回の要素並列処理では、4要素の同時処理
を行なう。第4図に示した例は単純なロードやストアの
場合であるため、 (1)第1図のマスクデータ計数部306はMCNTとして常
に値4を出力する。
(2)第1図の先行マスクデータ計数部307は、PMCNTと
して常に値を0を出力する。
(3)ベクトルマスクデータを参照しない ということから、1回の要素並列処理で4要素分の参照
要求が出され、かつ各サブロードストアパイプのレジス
タ301は、4要素分(サブロードストアパイプ20ならば
0→4)一律に更新される。2回目以降の要素並列処理
においても同様に処理が進んでいく。
次に、第5図により、伸長ロードあるいは圧縮ストアを
処理するときの各サブロードストアパイプの動きを、第
4図と同様の形式により説明する。
第5図において、ベクトルマスクデータとして示されて
いるビツト列は、第5図の処理例のベクトルマスクレジ
スタの内容であり、左から順に第0番要素,第1番要
素,…に対応する。このようなベクトルマスクデータの
下で、例えば主記憶上のベクトルデータをベクトルレジ
スタ上に伸長する伸長ロードを行つた場合の様子を第6
図に示す。第6図からわかるように、第1回目の要素並
列処理においては、第0要素,第1要素,第2要素,第
3要素に対応する参照要求をそれぞれ第1図のサブ・ロ
ードストアパイプ20,21,22,23から、第2図目の要素並
列処理においては、第4要素,第5要素,第6要素に対
応する参照要求をそれぞれサブ・ロードストアパイプ2
0,22,23から、第3回目の要素並列処理においては、第
7要素に対応する参照要求をサブ・ロードストアパイプ
22から、第4回目の要素並列処理においては、第8要
素,第9要素に対応する参照要求をサブ・ロードストア
パイプ21,23からそれぞれ出す必要があることがわか
る。
第5図において、第1回目の要素並列処理を行うにあた
つて、サブ・ロードストア回路20ないし23のレジスタ30
1には、最初に処理すべき要素0,1,2,3がセツトされてい
る。第1回目の要素並列処理に対応するベクトルマスク
データはすべて値が1であり、サブ・ロードストアパイ
プ20ないし23のいずれも参照要求を出し、また各サブ・
ロードストアパイプの先行マスクデータ計数部307が生
成する。先行マスクデータの値が0である個数は0個で
あり、サブロードストアパイプ20ないし23の参照アドレ
ス計算部304が生成する値はそれぞれ第0要素,第1要
素,第2要素,第3要素に対するものであり、アドレス
線230ないし233を介して主記憶に送られる。マスクデー
タ計数部306はマスクデータの値が1である個数4を出
力しており、サブ・ロードストアパイプ20ないし23のレ
ジスタ301はアドレス更新部305によりそれぞれ0→4,1
→5,2→6,3→7に更新される。第2回目の要素並列処理
では、サブ・ロードストアパイプ20ないし23の先行マス
クデータ計数部307が出力するPMCNTはそれぞれ0,0,1,1
であり、参照アドレス計算部304が生成する主記憶アド
レスはそれぞれ第4要素,第5要素,第5要素,第6要
素である。一方、参照要求が出るのはサブ・ロードスト
アパイプ20,22,23の3個であり、これにより、第4要
素,第5要素,第6要素が正しく参照される。また、各
サブ・ロードストアパイプのマスクデータ計数部306はM
CNTとして値3を出力し、サブ・ロードストアパイプ20
ないし23のレジスタ301はそれぞれ4→7,5→8,6→9,7→
10と更新される。第3回目の要素並列処理においては、
サブ・ロードストアパイプ20ないし23の先行マスクデー
タ計数部307が出力するPMCNTはそれぞれ0,1,2,2であ
り、参照アドレス計算部304が生成する主記憶アドレス
はそれぞれ第7要素,第7要素,第7要素,第8要素で
ある。一方参照要求が出るのはサブ・ロードストアパイ
プ22だけであり第7要素が正しく参照される。また、各
サブ・ロードストアパイプのマスクデータ計数部306はM
CNTとして値1を出力し、サブ・ロードストアパイプ20
ないし23のレジスタ301はそれぞれ7→8,8→9,9→10,10
→11と更新される。第4回目の要素並列処理においても
同様の処理が行われ、第5図に示すように、第8要素,
第9要素が正しく参照される。
以上示したように、第1図に示した実施例のベクトルプ
ロセツサにより、伸長ロードあるいは圧縮ストアの処理
が要素並列処理で高速かつ効率よく処理される。
また、第1図に示した本発明の実施例において、選択回
路303,参照アドレス計算部304,マスク,先行マスクデー
タ計数部307の機能を、前述とは別の次のような内容に
することにより、別の実施例を考えることもできる。
選択回路303は、命令の開始時、データ線200を介して送
られてくるVARの値を選択して、レジスタ301にセツトす
る。その後命令の処理が終了するまでの間は、アドレス
更新部305の出力が選択され、ベクトル要素データの処
理がなされるたびに更新される。
先行マスクデータ計数部307の動作は次の如くである。
即ち、伸長ロード/圧縮ストア以外の処理をするとき
は、固定値を出力する。固定値は各サブ・ロードストア
パイプによりあらかじめ定められており、サブ・ロード
ストアパイプ20は0、サブ・ロードストアパイプ21は
1、サブ・ロードストアパイプ22は2、サブ・ロードス
トアパイプ23は3である。伸長ロードあるいは圧縮スト
アを処理するときには、1回の要素並列処理において、
各サブ・ロードストアパイプが処理を担当するベクトル
要素に先行するベクトル要素に対応するベクトルマスク
データを調べ、その値が1である個数を計数して出力す
る。
参照アドレス計算部304の動作は次の如くである。すな
わち、レジスタ301の出力WVAR、レジスタ300の出力WVIR
および先行マスクデータ計数部307の出力PMCNTから、 WVAR+WVIR×PMCNT を計算する。
以上のように選択回路303、参照アドレス計算部304、先
行マスクデータ計数部307の機能をもたせた場合の単純
なロードやストアの処理、および伸長ロードあるいは圧
縮ストアを処理するときの要素を第4図および第5図に
対比させて、それぞれ第7図,第8図に示す。
第7図,第8図と第4図,第5図との違いは、第7図,
第8図の場合は、1回の要素並列処理における第4n要素
(n=0,1,2,…)を基準に、各サブ・ロードストアパイ
プが、自分が担当する要素のアドレスをそれに加えて求
めているのに対し、第4図,第5図では、各サブ・ロー
ドストアパイプが自分が担当する要素の主記憶アドレス
をもつており、伸長ロードあるいは圧縮ストアのとき、
ベクトルマスクデータの値により、そのアドレスを減じ
る必要があるかどうかを検出して処理しているところに
あるが、基本的な方式は同じである。
第8図の場合も、第5図の場合と同様に、第1回目の要
素距離では、第0要素,第1要素,第2要素,第3要素
が、第2回目の要素並列処理では第4要素,第5要素,
第6要素が、第3回目の要素並列処理では第7要素が、
第4回目の要素並列処理では第8要素,第9要素が所定
のサブ・ロードストアパイプから正しく参照され、要素
並列で処理が行われている。
〔発明の効果〕
以上に説明したように、本発明によれば、要素並列型の
パイプライン構成を採用しているベクトルプロセツサに
おいて、要素並列型パイプラインを構成するサブ・パイ
プライン間の独立性を基本的にそこなうことなく、ロー
ドストアを処理するパイプラインに簡単な回路を追加す
るだけで、ベクトル要素間にインタラクシヨンのある伸
長ロードや圧縮ストアを要素並列で高速に処理すること
ができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すベクトルプロセツサの
構成図、第2図の伸長ロード/圧縮ストアが効果的な例
を示すFORTRANプログラム、第3図は伸長ロード/圧縮
ストアの概念を示す図、第4図は第1図の実施例のベク
トルプロセツサの単純なロード又はストアの処理の流れ
を説明する図、第5図は第1図の実施例のベクトルプロ
セツサにおける伸長ロード又は圧縮ストアの処理の流れ
を説明する図、第6図は伸長ロードの具体例を説明する
図、第7図は第1図の実施例の別案により単純なロード
又はストアを処理する様子を示す図、第8図は第1図の
実施例の別案により伸長ロード又は圧縮ストアを処理す
るときの流れを示す図である。 1……主記憶、2……ロードストアパイプ、20〜23……
サブ・ロードストアパイプ、30〜37……ベクトルレジス
タ、40〜47……ベクトルマスクレジスタ、304……参照
アドレス計算部、305……アドレス更新部、306……マス
クデータ計数部、307……先行マスクデータ計数部、308
……参照要求生成部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 長島 重夫 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (56)参考文献 特開 昭57−60461(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】同型構造のパイプラインを多重化して演算
    パイプラインやロードストアパイプラインを構成し、ベ
    クトル処理を数個のベクトル要素まとめて並列に処理す
    る要素並列型パイプラインをもつベクトルプロセツサに
    おいて、主記憶からのベクトルデータのロードあるいは
    主記憶へのベクトルデータのストアを処理するパイプラ
    インについて、該パイプラインを構成する多重化された
    サブパイプラインの各々に、要素並列処理一回で扱うベ
    クトルマスクデータを全て供給する手段と、該ベクトル
    マスクデータの値が0あるいは1である個数を計数する
    マスクデータ計数手段と、一回の要素並列処理において
    各々のサブパイプラインの担当するベクトル要素に発行
    するベクトル要素に対応するベクトルマスクデータの値
    が1または0の個数を計数する先行マスクデータ計数手
    段と、一回の要素並列処理において各々のサブパイプラ
    インの担当するベクトル要素に対応するベクトルマスク
    データの値がオンのときのみメモリ参照要求の送出を可
    能とする手段と、該先行マスクデータ計数手段で計数し
    た値をもとに参照する主記憶のアドレスを計算する手段
    と、該マスクデータ計数手段で計数した値をもとに次回
    の要素並列処理のためのアドレス更新を行う手段とを設
    け、主記憶上のベクトルデータをベクトルマスクデータ
    に従つて伸長してロードする処理あるいはベクトルデー
    タをベクトルマスクデータに従つて圧縮して主記憶にス
    トアする処理を、数個の要素まとめて要素並列処理する
    ことを特徴とするベクトルプロセツサ。
JP61076528A 1986-04-04 1986-04-04 ベクトル・プロセツサ Expired - Lifetime JPH0731669B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP61076528A JPH0731669B2 (ja) 1986-04-04 1986-04-04 ベクトル・プロセツサ
EP87104988A EP0240032B1 (en) 1986-04-04 1987-04-03 Vector processor with vector data compression/expansion capability
DE3750143T DE3750143T2 (de) 1986-04-04 1987-04-03 Vektorprozessor mit Verdichtungs-/Erweiterungsmöglichkeit von Vektordaten.
US07/034,950 US4881168A (en) 1986-04-04 1987-04-06 Vector processor with vector data compression/expansion capability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61076528A JPH0731669B2 (ja) 1986-04-04 1986-04-04 ベクトル・プロセツサ

Publications (2)

Publication Number Publication Date
JPS62233884A JPS62233884A (ja) 1987-10-14
JPH0731669B2 true JPH0731669B2 (ja) 1995-04-10

Family

ID=13607782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61076528A Expired - Lifetime JPH0731669B2 (ja) 1986-04-04 1986-04-04 ベクトル・プロセツサ

Country Status (4)

Country Link
US (1) US4881168A (ja)
EP (1) EP0240032B1 (ja)
JP (1) JPH0731669B2 (ja)
DE (1) DE3750143T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016092541A1 (en) 2014-12-07 2016-06-16 Sadovsky Ltd. Neutralization of odors

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0792779B2 (ja) * 1988-10-08 1995-10-09 日本電気株式会社 データ転送制御装置
JPH0810451B2 (ja) * 1989-03-28 1996-01-31 日本電気株式会社 情報処理装置
JP2607689B2 (ja) * 1989-07-10 1997-05-07 株式会社日立製作所 ベクトル処理装置
JP3215105B2 (ja) * 1990-08-24 2001-10-02 富士通株式会社 メモリアクセス装置
WO1992015071A1 (en) * 1991-02-15 1992-09-03 Cray Research, Inc. Two pipe operation in vector processor for multiprocessing supercomputer
US5265233A (en) * 1991-05-17 1993-11-23 Sun Microsystems, Inc. Method and apparatus for providing total and partial store ordering for a memory in multi-processor system
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 日本電気株式会社 ベクトル処理装置
JP3304444B2 (ja) * 1992-11-30 2002-07-22 富士通株式会社 ベクトル処理装置
JPH06230960A (ja) * 1993-01-29 1994-08-19 Mitsubishi Electric Corp データ処理回路
CA2158848A1 (en) * 1993-03-23 1994-09-29 Erik L. Eidt Apparatus and method for a relocatable file format
US5717947A (en) * 1993-03-31 1998-02-10 Motorola, Inc. Data processing system and method thereof
US5680338A (en) * 1995-01-04 1997-10-21 International Business Machines Corporation Method and system for vector processing utilizing selected vector elements
US5887183A (en) * 1995-01-04 1999-03-23 International Business Machines Corporation Method and system in a data processing system for loading and storing vectors in a plurality of modes
US5890222A (en) * 1995-01-04 1999-03-30 International Business Machines Corporation Method and system for addressing registers in a data processing unit in an indirect addressing mode
US5832533A (en) * 1995-01-04 1998-11-03 International Business Machines Corporation Method and system for addressing registers in a data processing unit in an indexed addressing mode
US5907842A (en) * 1995-12-20 1999-05-25 Intel Corporation Method of sorting numbers to obtain maxima/minima values with ordering
US5832288A (en) * 1996-10-18 1998-11-03 Samsung Electronics Co., Ltd. Element-select mechanism for a vector processor
US7272703B2 (en) * 1997-08-01 2007-09-18 Micron Technology, Inc. Program controlled embedded-DRAM-DSP architecture and methods
US6308250B1 (en) * 1998-06-23 2001-10-23 Silicon Graphics, Inc. Method and apparatus for processing a set of data values with plural processing units mask bits generated by other processing units
US6269435B1 (en) * 1998-09-14 2001-07-31 The Board Of Trustees Of The Leland Stanford Junior University System and method for implementing conditional vector operations in which an input vector containing multiple operands to be used in conditional operations is divided into two or more output vectors based on a condition vector
US7100026B2 (en) * 2001-05-30 2006-08-29 The Massachusetts Institute Of Technology System and method for performing efficient conditional vector operations for data parallel architectures involving both input and conditional vector values
US7529907B2 (en) * 1998-12-16 2009-05-05 Mips Technologies, Inc. Method and apparatus for improved computer load and store operations
US6324638B1 (en) * 1999-03-31 2001-11-27 International Business Machines Corporation Processor having vector processing capability and method for executing a vector instruction in a processor
US6591361B1 (en) 1999-12-28 2003-07-08 International Business Machines Corporation Method and apparatus for converting data into different ordinal types
US6701424B1 (en) * 2000-04-07 2004-03-02 Nintendo Co., Ltd. Method and apparatus for efficient loading and storing of vectors
US6857061B1 (en) 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
KR20050005492A (ko) * 2002-05-24 2005-01-13 코닌클리케 필립스 일렉트로닉스 엔.브이. 가변수 비트들의 패킹 및 언패킹
JP3855270B2 (ja) * 2003-05-29 2006-12-06 ソニー株式会社 アンテナ実装方法
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
US20070129926A1 (en) * 2005-12-01 2007-06-07 Verheyen Henry T Hardware acceleration system for simulation of logic and memory
US7404065B2 (en) * 2005-12-21 2008-07-22 Intel Corporation Flow optimization and prediction for VSSE memory operations
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
US9069547B2 (en) 2006-09-22 2015-06-30 Intel Corporation Instruction and logic for processing text strings
US7743231B2 (en) * 2007-02-27 2010-06-22 International Business Machines Corporation Fast sparse list walker
US20090172348A1 (en) * 2007-12-26 2009-07-02 Robert Cavin Methods, apparatus, and instructions for processing vector data
US9529592B2 (en) 2007-12-27 2016-12-27 Intel Corporation Vector mask memory access instructions to perform individual and sequential memory access operations if an exception occurs during a full width memory access operation
US8909901B2 (en) 2007-12-28 2014-12-09 Intel Corporation Permute operations with flexible zero control
US10387151B2 (en) * 2007-12-31 2019-08-20 Intel Corporation Processor and method for tracking progress of gathering/scattering data element pairs in different cache memory banks
US7984273B2 (en) * 2007-12-31 2011-07-19 Intel Corporation System and method for using a mask register to track progress of gathering elements from memory
GB2457303A (en) * 2008-02-11 2009-08-12 Linear Algebra Technologies Randomly accessing elements of compressed matrix data by calculating offsets from non-zero values of a bitmap
US10175990B2 (en) 2009-12-22 2019-01-08 Intel Corporation Gathering and scattering multiple data elements
US8607033B2 (en) * 2010-09-03 2013-12-10 Lsi Corporation Sequentially packing mask selected bits from plural words in circularly coupled register pair for transferring filled register bits to memory
US8904153B2 (en) 2010-09-07 2014-12-02 International Business Machines Corporation Vector loads with multiple vector elements from a same cache line in a scattered load operation
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
JP5930558B2 (ja) * 2011-09-26 2016-06-08 インテル・コーポレーション ストライド機能及びマスク機能を有するベクトルロード及びベクトルストアを提供する命令及びロジック
US9747101B2 (en) * 2011-09-26 2017-08-29 Intel Corporation Gather-op instruction to duplicate a mask and perform an operation on vector elements gathered via tracked offset-based gathering
CN106951214B (zh) * 2011-09-26 2019-07-19 英特尔公司 用于向量加载/存储操作的处理器、系统、介质和方法
US20140208065A1 (en) * 2011-12-22 2014-07-24 Elmoustapha Ould-Ahmed-Vall Apparatus and method for mask register expand operation
CN104011616B (zh) 2011-12-23 2017-08-29 英特尔公司 改进置换指令的装置和方法
US9632980B2 (en) 2011-12-23 2017-04-25 Intel Corporation Apparatus and method of mask permute instructions
CN104115114B (zh) 2011-12-23 2018-06-12 英特尔公司 经改进的提取指令的装置和方法
US9946540B2 (en) 2011-12-23 2018-04-17 Intel Corporation Apparatus and method of improved permute instructions with multiple granularities
US9619236B2 (en) 2011-12-23 2017-04-11 Intel Corporation Apparatus and method of improved insert instructions
CN107220027A (zh) * 2011-12-23 2017-09-29 英特尔公司 用于执行掩码位压缩的系统、装置以及方法
US9606961B2 (en) * 2012-10-30 2017-03-28 Intel Corporation Instruction and logic to provide vector compress and rotate functionality
US9501276B2 (en) 2012-12-31 2016-11-22 Intel Corporation Instructions and logic to vectorize conditional loops
EP2949047B1 (en) * 2013-01-22 2021-03-31 Altera Corporation Data compression and decompression using simd instructions
US9778932B2 (en) 2013-01-23 2017-10-03 International Business Machines Corporation Vector generate mask instruction
US9823924B2 (en) 2013-01-23 2017-11-21 International Business Machines Corporation Vector element rotate and insert under mask instruction
US9471308B2 (en) 2013-01-23 2016-10-18 International Business Machines Corporation Vector floating point test data class immediate instruction
US9715385B2 (en) 2013-01-23 2017-07-25 International Business Machines Corporation Vector exception code
US9513906B2 (en) 2013-01-23 2016-12-06 International Business Machines Corporation Vector checksum instruction
US9804840B2 (en) 2013-01-23 2017-10-31 International Business Machines Corporation Vector Galois Field Multiply Sum and Accumulate instruction
GB2514397B (en) 2013-05-23 2017-10-11 Linear Algebra Tech Ltd Corner detection
US11768689B2 (en) 2013-08-08 2023-09-26 Movidius Limited Apparatus, systems, and methods for low power computational imaging
US9934043B2 (en) 2013-08-08 2018-04-03 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing computational imaging pipeline
US9727113B2 (en) 2013-08-08 2017-08-08 Linear Algebra Technologies Limited Low power computational imaging
US9910675B2 (en) 2013-08-08 2018-03-06 Linear Algebra Technologies Limited Apparatus, systems, and methods for low power computational imaging
US10001993B2 (en) 2013-08-08 2018-06-19 Linear Algebra Technologies Limited Variable-length instruction buffer management
US9196017B2 (en) 2013-11-15 2015-11-24 Linear Algebra Technologies Limited Apparatus, systems, and methods for removing noise from an image
US9270872B2 (en) 2013-11-26 2016-02-23 Linear Algebra Technologies Limited Apparatus, systems, and methods for removing shading effect from image
US20160188333A1 (en) * 2014-12-27 2016-06-30 Intel Coporation Method and apparatus for compressing a mask value
US10019262B2 (en) * 2015-12-22 2018-07-10 Intel Corporation Vector store/load instructions for array of structures
US10460704B2 (en) 2016-04-01 2019-10-29 Movidius Limited Systems and methods for head-mounted display adapted to human visual mechanism
US10162752B2 (en) * 2016-09-22 2018-12-25 Qualcomm Incorporated Data storage at contiguous memory addresses
DE102017110632A1 (de) 2017-05-16 2018-11-22 Deutsches Zentrum für Luft- und Raumfahrt e.V. Eingabegerät sowie Verwendung eines solchen
US10949947B2 (en) 2017-12-29 2021-03-16 Intel Corporation Foveated image rendering for head-mounted display devices
US10768895B2 (en) * 2018-11-08 2020-09-08 Movidius Limited Dot product calculators and methods of operating the same
US11403256B2 (en) * 2019-05-20 2022-08-02 Micron Technology, Inc. Conditional operations in a vector processor having true and false vector index registers
CN113918883B (zh) * 2021-11-03 2022-05-27 海光信息技术股份有限公司 数据处理方法、装置以及设备和计算机可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4371951A (en) * 1980-09-29 1983-02-01 Control Data Corporation Apparatus for converting serial input sparse vector format to parallel unpacked format for input to tandem arithmetic logic units
JPS6053349B2 (ja) * 1981-06-19 1985-11-25 株式会社日立製作所 画像処理プロセツサ
JPS57209570A (en) * 1981-06-19 1982-12-22 Fujitsu Ltd Vector processing device
JPS59111569A (ja) * 1982-12-17 1984-06-27 Hitachi Ltd ベクトル処理装置
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
JPS6015771A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd ベクトルプロセッサ
JPS6069746A (ja) * 1983-09-26 1985-04-20 Fujitsu Ltd ベクトル・デ−タ処理装置の制御方式
CA1249376A (en) * 1985-02-01 1989-01-24 Tadashi Fukushima Parallel image processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016092541A1 (en) 2014-12-07 2016-06-16 Sadovsky Ltd. Neutralization of odors

Also Published As

Publication number Publication date
US4881168A (en) 1989-11-14
DE3750143T2 (de) 1994-10-13
DE3750143D1 (de) 1994-08-04
EP0240032B1 (en) 1994-06-29
JPS62233884A (ja) 1987-10-14
EP0240032A2 (en) 1987-10-07
EP0240032A3 (en) 1990-02-28

Similar Documents

Publication Publication Date Title
JPH0731669B2 (ja) ベクトル・プロセツサ
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US5081573A (en) Parallel processing system
EP0154051B1 (en) Integrated and programmable processor for word-wise digital signal processing
JPH0562387B2 (ja)
TWI229287B (en) Single instruction multiple data (SIMD) processor capable of designating plural registers
US4371951A (en) Apparatus for converting serial input sparse vector format to parallel unpacked format for input to tandem arithmetic logic units
EP0173040B1 (en) Vector processing system
JPS59111569A (ja) ベクトル処理装置
JP2518293B2 (ja) デ−タフロ−プロセツサ
WO2002019129A2 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
EP0180157A2 (en) Information processing unit
US4924377A (en) Pipelined instruction processor capable of reading dependent operands in parallel
JPS62134763A (ja) 3アドレス・コ−ドの指標づけ装置
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) ベクトル処理装置
Okamoto et al. A 200-MFLOPS 100-MHz 64-b BiCMOS vector-pipelined processor (VPP) ULSI
JP3144859B2 (ja) 算術論理演算装置
JPS5958580A (ja) マスク付きベクトル演算処理装置
JP2859645B2 (ja) ベクトル処理システム
JP3278441B2 (ja) ベクトル処理装置
EP0333306B1 (en) Single chip integrated circuit digital signal processor with a slow or fast mode of operation
CN108664272B (zh) 一种处理器内核结构
KR920008212B1 (ko) MSCM(Mixed Shuffle Connection Method)을 이용한 이차원 FFT(Fast Fourier Transform)프로세서.
JPH0434191B2 (ja)