JPH0634205B2 - ベクトル演算処理装置 - Google Patents

ベクトル演算処理装置

Info

Publication number
JPH0634205B2
JPH0634205B2 JP59063563A JP6356384A JPH0634205B2 JP H0634205 B2 JPH0634205 B2 JP H0634205B2 JP 59063563 A JP59063563 A JP 59063563A JP 6356384 A JP6356384 A JP 6356384A JP H0634205 B2 JPH0634205 B2 JP H0634205B2
Authority
JP
Japan
Prior art keywords
vector
mask
output
pipeline
register
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
JP59063563A
Other languages
English (en)
Other versions
JPS60207967A (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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co 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 Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP59063563A priority Critical patent/JPH0634205B2/ja
Publication of JPS60207967A publication Critical patent/JPS60207967A/ja
Publication of JPH0634205B2 publication Critical patent/JPH0634205B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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図は、マスク付ベクトル演算の一般的なフローチャ
ートを示す。マスク付ベクトル演算では、まずビット列
の中からオペランド・データに対応するビットが読出さ
れる。そして、このビットを分岐条件にして分岐し、演
算を実行するか、或いは演算を実行せずにオペランド・
データを出力し、次のデータの処理に移る。
ところで、ベクトル演算処理装置は、アレイ・オペラン
ド・データを高速に処理するために、一般にパイプライ
ン処理機能を有している。この種ベクトル演算処理装置
の演算単位ごとの基本構成を第2図に示す。同図におい
て、11は第1演算部、12はパイプラインレジスタ
(PR)、13は第2演算部である。第2図のベクトル
演算処理装置では、パイプラインレジスタ12により、
演算を上下2段に分割し、それぞれを(即ち第1演算部
11、および第2演算部13での各処理を)並列に動作
可能とすることにより、演算パイプライン処理が行なわ
れる構成となっている。
しかし、第2図のベクトル演算処理装置を用いて、第1
図のフローチャートで示されるマスク付ベクトル演算を
実行する場合、マスクビットの判断動作や、演算を実行
せずにオペランドデータをそのまま出力する動作によっ
て演算パイプラインが乱される問題があった。このた
め、従来のベクトル演算処理装置では、マスク付ベクト
ル演算の場合に演算パイプライン処理が適用できない欠
点があった。
〔発明の目的〕
この発明は上記事情に鑑みてなされたものでその目的
は、マスク付ベクトル演算実行においても演算パイプラ
イン処理が適用できるベクトル演算処理装置を提供する
ことにある。
〔発明の概要〕
この発明によれば、第1のアレイ・オペランド・データ
と第2のアレイ・オペランド・データ間の対応する要素
毎の演算を、n段のパイプライン処理により実行する演
算部を備えたマイクロプログラム制御方式のベクトル演
算処理装置が提供されている。
上記ベクトル演算処理装置では、マスク付ベクトル演算
に際し、マスクビット列がシフトレジスタに初期設定さ
れる。また、マスク付ベクトル演算が開始されると、第
1のアレイ・オペランド・データの各要素が、上記演算
部のパイプライン処理に同期して1要素ずつバッファレ
ジスタに順次保持され、その都度その保持要素は次段に
出力される。更に、シフトレジスタは初期設定されたマ
スクビット列を上記演算部のパイプライン処理に同期し
て1ビットずつシフトする。バッファレジスタから順に
出力される上記要素、およびシフトレジスタの所定位置
から順に出力されるマスクビットは、上記演算部のパイ
プライン処理に同期して、縦続n−1段構成の各パイプ
ラインレジスタを順に介して出力される。選択出力手段
は、最終段のパイプラインレジスタからの出力データ中
の要素、または演算部の演算結果のいずれか一方を、マ
スク付ベクトル演算の演算結果の1要素として、最終段
のパイプラインレジスタからの出力データ中のマスクビ
ットに応じて選択出力する。
〔発明の実施例〕
第3図はこの発明の一実施例に係るベクトル演算処理装
置の構成を示す。同図において、20はマイクロプログ
ラム制御部、21はマイクロ制御部20からのマイクロ
命令の転送路であるマイクロ命令バス(以下、MIバス
と称す)である。22は第1オペランドの転送路である
データバス(Aバスと称す)、23は第2オペランドの
転送路であるデータバス(Bバスと称す)、24は演算
結果の転送路であるデータバス(Sバスと称す)であ
る。A1〜Amは2段の演算パイプライン処理機能を有す
る演算部、Mはマスク付ベクトル制御部である。演算部
1〜Amは、固有の演算機能(例えば加算、乗算など)
を有している。演算部Ai(i=1〜m)において、31
iはAバス22経由で導かれる第1オペランドを保持す
るバッファレジスタ(BR)、32iはBバス23経由で
導かれる第2オペランドを保持するバッファレジスタ
(BR)である。33iは第1演算部(初段演算部)、3
4iはパイプラインレジスタ(PR)、35iは第2演算
部(最終段演算部)である。36iはマスク付ベクトル
制御部Mからの後述する出力制御信号56が導かれるイ
ンバータ、37iはMIバス21経由で導かれる(マイ
クロプログラム制御部20からの)マイクロ命令に従っ
て演算部Ai内の各部を制御する制御回路(CNT)であ
る。38iは制御回路37iからの出力制御信号39i
およびインバータ36iからの出力信号が導かれるアン
ドゲート、40iは出力ドライバである。出力ドライバ
40iは、アンドゲート38iからの出力信号である出
力制御信号41iに応じ、第2演算部35iの演算結果
をSバス24に出力する。
マスク付ベクトル制御部Mにおいて、51はAバス22
経由で導かれる第1オペランドを保持するバッファレジ
スタ(BR)、52はBバス23経由で導かれるマスク
ビット列が初期設定されるシフトレジスタ(SR)、5
3はパイプラインレジスタ(PR)である。パイプライ
ンレジスタ53には、バッファレジスタ51からの出力
データ(第1オペランド)、およびシフトレジスタ52
の所定位置、例えば最上位ビット位置からの出力ビット
(マスクビット)が、演算部Aiの演算パイプライン処
理に同期して保持される。54はMIバス21経由で導
かれる(マイクロプログラム制御部20からの)マイク
ロ命令に従ってマスク付ベクトル制御部M内の上記各部
を制御する制御回路(CNT)、55は出力ドライバであ
る。出力ドライバ55は、パイプラインレジスタ53に
保持された上記マスクビットで生成される出力制御信号
56に応じ、パイプラインレジスタ53に保持された上
記第1オペランドをSバス24に出力する。
次に、この発明の一実施例の動作を第4図のタイミング
チャートを参照して説明する。演算部A1〜Amは独立に
動作可能であり、マイクロプログラム制御部20からM
Iバス21経由で転送されるマイクロ命令によって制御
される。演算部A1〜Amは、それぞれに割当てられてい
るマイクロ命令によって起動される。ここで、例えば演
算部A1によって処理される演算のマスク付ベクトル演
算の動作を説明する。マスク付ベクトル演算において
は、まずマスクビット列(M0,M1…Mn)を、Bバス
23からマスク付ベクトル制御部M内のシフトレジスタ
(SR)52に取込む処理が行なわれる。次に、第4図
のタイミングチャートに示される演算が行なわれる。第
4図において、Kは第1演算部331の動作、Lは第2
演算部351の動作を示す。またSは(マスク付ベクト
ル制御部Mにおいて)バッファレジスタ(BR)51か
らの出力データおよびシフトレジスタ(SR)52の最
上位ビット位置からの出力ビットをパイプラインレジス
タ(PR)53に取込むまでのタイミング、Tはパイプ
ラインレジスタ53からSバス24へ結果を出力するま
でのタイミングを示す。
今、或るマイクロ命令によって演算部A1にマスク付ベ
クトル演算の起動がかけられたものとする。このとき、
同じマイクロ命令によって、マスク付ベクトル制御部M
にも起動がかけられる。演算部A1では、制御回路371
の制御により、第1のアレイ・オペランド・データ(X
0,X1,…Xn)の先頭要素である第1オペランドX0
Aバス22からバッファレジスタ311に取込まれると
共に、第2のアレイ・オペランド・データ(Y0,Y1
…Yn)の先頭要素である第2オペランドY0がBバス2
3からバッファレジスタ321に取込まれる。そして、
バッファレジスタ311,322に取込まれたX0,Y0
の演算が第1演算部331で開始される。これが前記し
た動作K(第4図参照)である。一方、マスク付ベクト
ル制御部Mでは、上記第1オペランドX0がAバス22
からバッファレジスタ51に取込まれ、前記した動作S
(第4図参照)が開始される。
次のサイクルにおいて、演算部A1では、第1演算部3
1からのX0,Y0に関する演算の中間結果がパイプラ
インレジスタ341に取込まれる。そして、パイプライ
ンレジスタ341に取込まれた中間結果に基づいてX0
0の最終演算結果Z0を生成する演算が第2演算部35
1で行なわれる。これが前記した動作L(第4図参照)
である。また、演算部A1では、この動作Lと並行し
て、次の演算対象要素であるオペランドX1,Y1をバス
22,23からバッファ311,321に取込みX1,Y1
間の演算を開始する動作K(第4図参照)が行なわれ
る。一方、マスク付ベクトル制御部Mでは、バッファレ
ジスタ51から出力される第1オペランド(この例では
0)、およびシフトレジスタ52から出力されるマス
クビット(この例ではマスクビット列の先頭ビット
0)をパイプラインレジスタ53に取込む動作T(第
4図参照)が行なわれる。また、マスク付ベクトル制御
部Mでは、この動作Tと並行して、次のオペランド(第
1オペランド)X1をAバス22からバッファ51に取
込むと共に、シフトレジスタ52を左1ビットシフトす
る動作S(第4図参照)が行なわれる。これにより、シ
フトレジスタ52の最上位ビット位置からは、マスクビ
ットM1が出力される。なお、第4図において記号△
は、シフトレジスタ52のシフトタイミングを示す。
このように、この実施例では、演算部A1は第1オペラ
ンドと第2オペランドとの間の所定の演算を、マスク付
ベクトル演算指定に無関係に(即ち、マスクビットの状
態に無関係に)、通常のベクトル演算と同様に2段の演
算パイプライン処理で実行する。また、マスク付ベクト
ル制御部Mは、演算部A1でのパイプライン処理に同期
して、2段のパイプライン処理で第1オペランドを順に
取込み出力する。
マスク付ベクトル制御部Mでは、前記動作Tにおいて、
パイプラインレジスタ53に取込まれているマスクビッ
ト(この例ではM0)が、当該マスク付ベクトル制御部
M、および演算部A1(演算部A1〜Am)からのデータ
出力の出力制御信号56として用いられる。この信号5
6は、マスク付ベクトル制御部M内の出力ドライバ55
に供給されると共に、演算部A1〜Amのインバータ36
1〜36mにも供給される。インバータ361〜36mから
の出力信号は、演算部A1〜Am内の制御回路371〜3
mからの出力制御信号391〜39mと共に対応するア
ンドゲート381〜38mに供給される。アンドゲート3
1〜38mからの出力信号である出力制御信号411
41mは対応する出力ドライバー401〜40mに供給さ
れる。演算部A1が起動されたこの例では、制御回路3
1〜37mからの出力制御信号391〜39mのうち、信
号391だけが真(“1”)である。したがって、演算
部A1以外の演算部からのSバス24へのデータ出力
は、マスク付ベクトル制御部Mからの出力制御信号56
(即ちマスクビット)に無関係に禁止される。この場
合、パイプラインレジスタ53からの出力制御信号56
(この例ではマスクビットM0)が偽(“0”)であれ
ば、アンドゲーム381からの出力制御信号411は真
(“1”)となり、出力ドライバ401は出力イネーブ
ル状態となる。一方、マスク付ベクトル制御部M内の出
力ドライバ55は、出力ディスエーブル(出力ハイ・イ
ンピーダンス)状態となる。この結果、第2演算部35
1の演算結果、即ち演算部A1の演算結果(この例ではZ
0)がSバス24に出力される。これに対し、パイプラ
インレジスタ53からの出力制御信号56(マスクビッ
トM0)が真(“1”)であれば、アンドゲート381
らの出力制御信号411は偽(“0”)となり、出力ド
ライバ401は出力ディスエーブル状態となる。一方、
マスク付ベクトル制御部M内の出力ドライバ55は出力
イネーブル状態となる。この結果、パイプラインレジス
タ53からの出力データ中の第1オペランド(この例で
はX0)がSバス24に出力される。以下、同様の動作
が第4図のタイミングチャートに示すように繰返され
る。
なお、上記の例では、マスク付ベクトル制御部Mが、演
算部A1のマスク付ベクトル演算を起動するマイクロ命
令によって起動された場合であるが、マスク付ベクトル
制御部Mは、演算部Ai(i=1〜m)を起動するマイク
ロ命令によって起動される。したがって、マスク付ベク
トル制御部Mはmの値(演算部の数)に無関係に1つで
よい。ところで、マスク付ベクトル制御部M内のパイプ
ラインレジスタ53は、当該マスク付ベクトル制御部M
が起動されていない場合には、クリアされていることが
好ましい。これは、パイプラインレジスタ53をクリア
することにより、出力制御信号56が偽(“0”)とな
り、制御部Mからの出力を禁止できるためである。ま
た、演算部A1〜Amからの出力を、制御回路371〜3
mからの出力制御信号391〜39mによって制御する
ことができるためである。
なお、前記実施例では、2段の演算パイプライン処理を
適用するベクトル演算処理装置について説明したが、こ
の発明は3段以上のパイプライン処理を適用するベクト
ル演算処理装置にも応用できる。この場合、演算パイプ
ラインの段数をnとすると、マスク付ベクトル制御部に
おいて第1オペランドおよびマスクビットを保持し、そ
の保持データを次段(次のパイプラインステージ)に転
送するパイプラインレジスタの必要段数はn−1段とな
る。
〔発明の効果〕
以上詳述したようにこの発明によれば、少量のハードウ
ェアを付加するだけでマスク付ベクトル演算実行におい
ても演算パイプライン処理が適応でき、マスク付ベクト
ル演算の高速化が図れる。
【図面の簡単な説明】
第1図は一般的なマスク付ベクトル演算を説明するフロ
ーチャート、第2図は一般的なベクトル演算処理装置の
基本構成図、第3図はこの発明の一実施例に係るベクト
ル演算処理装置の構成図、第4図は動作を説明するため
のタイミングチャートである。 A1〜Am…演算部、M…マスク付ベクトル制御部、20
…マイクロプログラム制御部、311〜31m,321
32m,51…バッファレジスタ(BR)、341〜34
m,53…パイプラインレジスタ(PR)、371〜37
m,54…制御回路(CNT)、401〜40m,55…出力
ドライバ、52…シフトレジスタ(SR)。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】第1のアレイ・オペランド・データと第2
    のアレイ・オペランド・データ間の対応する要素毎の演
    算を、n段のパイプライン処理により行なう演算部を備
    えたマイクロプログラム制御方式のベクトル演算処理装
    置において、マスクビット列が初期設定され、当該マス
    クビット列を上記演算部のパイプライン処理に同期して
    1ビットずつ順次シフトするシフトレジスタと、上記第
    1のアレイ・オペランド・データの各要素を上記演算部
    のパイプライン処理に同期して1要素ずつ順次保持し、
    その都度その保持要素を次段に出力するバッファレジス
    タと、このバッファレジスタおよび上記シフトレジスタ
    にn−1段縦続接続され、上記バッファレジスタからの
    上記要素および上記シフトレジスタの所定位置からのマ
    スクビットを、上記演算部のパイプライン処理に同期し
    て順次保持転送するパイプラインレジスタ群と、このパ
    イプラインレジスタ群の最終段からの出力データ中の上
    記要素、または上記演算部の演算結果のいずれか一方
    を、マスク付ベクトル演算の演算結果の1要素として、
    上記パイプラインレジスタ群の最終段からの出力データ
    中の上記マスクビットに応じて選択出力する手段とを具
    備することを特徴とするベクトル演算処理装置。
JP59063563A 1984-03-31 1984-03-31 ベクトル演算処理装置 Expired - Lifetime JPH0634205B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59063563A JPH0634205B2 (ja) 1984-03-31 1984-03-31 ベクトル演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59063563A JPH0634205B2 (ja) 1984-03-31 1984-03-31 ベクトル演算処理装置

Publications (2)

Publication Number Publication Date
JPS60207967A JPS60207967A (ja) 1985-10-19
JPH0634205B2 true JPH0634205B2 (ja) 1994-05-02

Family

ID=13232821

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59063563A Expired - Lifetime JPH0634205B2 (ja) 1984-03-31 1984-03-31 ベクトル演算処理装置

Country Status (1)

Country Link
JP (1) JPH0634205B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100428223C (zh) 1998-12-16 2008-10-22 松下电器产业株式会社 带条件矢量运算方法和带条件矢量运算装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5491162A (en) * 1977-12-28 1979-07-19 Fujitsu Ltd Transfer control system in vector masked move
JPS5697173A (en) * 1979-12-29 1981-08-05 Fujitsu Ltd Operation processing system by mask

Also Published As

Publication number Publication date
JPS60207967A (ja) 1985-10-19

Similar Documents

Publication Publication Date Title
US6098162A (en) Vector shift functional unit for successively shifting operands stored in a vector register by corresponding shift counts stored in another vector register
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS6120013B2 (ja)
JPS6351287B2 (ja)
JP2003005958A (ja) データ処理装置およびその制御方法
JP2620511B2 (ja) データ・プロセッサ
JP2653037B2 (ja) データ処理システム
US4085450A (en) Performance invarient execution unit for non-communicative instructions
JP3237858B2 (ja) 演算装置
JP3834145B2 (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
US4956767A (en) Data processing system with model for status accumulating operation by simulating sequence of arithmetic steps performed by arithmetic processor
US5479620A (en) Control unit modifying micro instructions for one cycle execution
JPH0634205B2 (ja) ベクトル演算処理装置
JP2567134B2 (ja) ビットフィールド論理演算処理装置およびそれを具備するモノリシックマイクロプロセッサ
US6981130B2 (en) Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel
KR100278136B1 (ko) 데이타처리장치 및 데이타처리방법
JP2577023B2 (ja) 情報処理装置のアドレス拡張制御方式
US5652907A (en) High speed mask and logical combination operations for parallel processor units
JPH0227709B2 (ja) Deetakudoseigyohoshiki
JPH09101889A (ja) パイプライン演算装置
EP0862112A2 (en) Data processing system having an instruction pipeline
JP2654451B2 (ja) データ出力方法
JP2925842B2 (ja) パイプライン処理装置
JP2760808B2 (ja) データ処理装置
JP3063593B2 (ja) プログラマブルコントローラ

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term