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

ベクトルプロセツサ

Info

Publication number
JPS6368971A
JPS6368971A JP61211603A JP21160386A JPS6368971A JP S6368971 A JPS6368971 A JP S6368971A JP 61211603 A JP61211603 A JP 61211603A JP 21160386 A JP21160386 A JP 21160386A JP S6368971 A JPS6368971 A JP S6368971A
Authority
JP
Japan
Prior art keywords
vector
register
data
bit
mask
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
JP61211603A
Other languages
English (en)
Other versions
JPH0724013B2 (ja
Inventor
Yoshiaki Kinoshita
木下 佳明
Yoshiharu Kazama
風間 芳春
Yoshio Takamine
高嶺 美夫
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 JP61211603A priority Critical patent/JPH0724013B2/ja
Priority to US07/079,047 priority patent/US4933839A/en
Publication of JPS6368971A publication Critical patent/JPS6368971A/ja
Publication of JPH0724013B2 publication Critical patent/JPH0724013B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラム制御のディジタル計算轡。
に係り、特にベクトル演算を高速で実行するのに好適な
ベクトルプロセッサに関する。
〔従来の技術〕
従来、科学技術計算に頻繁に現われる大形行列計算など
の高速計算用として使われるベクトルプロセッサがある
。このベクトルプロセッサでは、例えば、次のFORT
RAN文で示すような処理を高速にベクトル処理する。
DOloi−1,N TF(A(L)・EQ・3) B(L )−1。
1o   C0NTT  NUE すなわち、(A(i ’) 、寥−1,N)をペクト。
ルA、(B(L)、i−i 、N)をベクトルBと。
し、ベクトルAの各ベクトル要素(A(t))が。
3に等しいとき、対応するベクトルBのベクトル。
要素(B(i))に1を代入する処理を行なう。。
このようなベクトル演算をベクトルプロセッサは。
ベクトル処理の手法を用いて高速に処理する。し。
かじながら、次に示すPL/I文に示すような構l。
遺体の1部を比較する場合は、処理が非常に複雑。
である。
DCL  I  FLAG(50)。
2   FLAGl  BIT(1)、  22  *
      BIT(3o)’、、52  FLAG2
  BIT(1): Do  i−I  To  so; IF   FLAGl (i)−’  1 ’B  &
FLAG2(L )−’ 1 ’B THEN  A(i)−B(i): END  ; すなわち、このPL/I文を前述のベクトル処理の手法
を用いて行うと、次のようなベクトル命。
令オブジェクトが生成されろ。
VL    VRo 、FLAG VEOVB2.VRQ、5RO VCEQ  VMRO,VB2.SR,II   。
VL    VH2,B VSTN  VH2,A なお、上記略語のWf明は次のとオ6りである。1゜V
L:VECTORLOAD。
VEO:VECTORELEMENTWIS。
EOR。
VCEQ:VECTORCOMPARE  E。
QUAI、、                   
       lr。
VSTN:VECTOR5TORE  NEG。
ATIVE  MASK。
VRi j i番目のベクトルレジスタ。
sni : i@目のスカラレジスタ。
vMnLr i番目のベクトルマスクレジスタ、。5゜
・ 3 ・ ここでSROには16進数4バイトで’7FF。
FFFFE ’の値、SR4には16進数4バイト。
で’ FFFFFFFF ’の値をあらかじめセット。
しておく。
なお、PL/I文との対応は、Do  1−1−TO5
0;を1つのベクトル列とみなし、次のIF文の判定ヲ
、VL命令、VEC1r令、VCEQ。
命令で行い、その結果を受けて、THEN文で記。
述された、A(L、+−B(i、+;の代人文を、V。
L命令で配列Bのすべての要素をロードし、マス、。
り付のVSTN命令で選択をしながら配列Aに格納して
いく。
しかし、この例で明らかなよ5に、1回の判定ニ対シて
、3ベクトルレジスタ、2スカラレジスタ、1マスクレ
ジスタを占有しており、レジスタの有効利用を妨げてい
る。また命令列も判定処理のみに、2ステツプもかかっ
ており、PL/Iなどの構造化プログラミング言語のベ
ク)ル化Kk?。
十分対応しきれないという問題がある。
この種の技術は、例えば特開昭60−15772号公、
 4 。
報に記載される。
なお、このようなベクトルプロセッサについて。
は、例工ばr日立uf%J VOt 、 6s 、 N
Oa 、。
ppl 3〜18.1983に“スーパーコンピュータ
HITAC5−alo  アレイプロセッサ。
システム”と題して紹介されている。
〔発明が解決しようとする問題点〕
上記従来技術は、PL/Iに代表される構造化。
プログラミング言語において多用されている構造。
体内のビット判定の点について配慮がなされておらず、
命令列が複雑となる、レジスタ資源を多数。
使用する等の問題がある。
この背景には、ベクトルプロセッサがFORT。
RANに代表される数値演算を行う言語の高速化。
に利用されているのが一般的であり、複雑な論居。
演算を必要とするPL/Iなどの高速化には使用されて
いないことがあげられる。これは、ベクトル化の基本と
なる大規模行列演算のための大容量配列がFORTRA
Nでは扱いやすいためである。
しかし近年、PL/Iにおいても大容量配列がデ−タベ
ースの分野で必要とされてきており、べ久トル化が可能
となっている。
本発明の目的は、かかる問題に対処して、ベクトルプロ
セッサでP L / Iなとの構造化プロゲラ。
ミンク言語を高速化する際に必要な構造体内のビ。
ット判定を、高速に、しかも少いレジスタ資源で実現す
るベクトルプロセッサを提供することにある。
〔間組点を解決するための手段〕
上記目的は、データベクトル中のあるベクトル要素につ
いて、任意のピット位置を抽出し、その。
ビットaが、すべて0.すべて1,0と1の混在、のい
ずれかの状態を判定する演算器をベクトルプロセッサに
付加することにより、達成される。 。
〔作用〕
ベクトルV1のビット位置器とjが共にゼロであるかど
うかを判定する場合、ビット位置器とjに1”、その他
を”o″としたマスクR1を準備しておく。演算器1c
1では、ベクトルV1の各ベクトル要素ごとに、マスク
R1との論理積をもとめ、その結果がすべてゼロなら判
定結果R2゜の対応する要素に”1”を、そうでなかっ
たら”0”。
を出力する。その結果、判定結果R2の値がm1″に対
応するベクトルv1のベクトル要素のビット。
位置tとJは共にゼロであることが判明する。こ、。
のように、マスクR1にて任意のピット位置を任。
意の数だけ指定することによって簡単に判定が可。
能となる。
〔実施例〕
以下、本発明の一実施例を図面により詳細に説1゜明す
る。
まず、本発明の概略を第1図により説明する。。
第1図において、ベクトルv1のビット位ytiとjが
共にゼロであるかどうかを判定する場合、ビ。
ット位置tとjに”1′″、その他のピット位置を15
″0″としたマスクレジスタR1を予じめ準備しておく
。演算回路C1では、ベクトルV1の各ベクトル要素ご
とに、マスクレジスタR1との論理積をもとめ、その結
果がすべてゼロなら判定結果R2の対応する要素に”1
”を、そうでなかったら”0″を出力する。その結果、
判定結果R2の。
値が”1”に対応するベクトルv1のベクトル要。
素のピット位置iとjは共にゼロであることが判。
明する。このように、マスクレジスタR1にて任。
意のピット位置を任意の数だけ指定することによ、って
簡単に判定することができる。また、同様に。
lとiが共に1であるかどうかを判定する場合は、ビッ
ト位置lとjにm0″、その他のピット位置、を”1”
としたマスクレジスタR1を予じめ準備。
し、演算回路C1にて、各ベクトル要素ととIc 、 
、。
マスクレジスタR1との論理和をもとめことによ。
つて、判定することができる。
第2図は本発明の一実施例を説明するための図。
である。第2図において、R1は命令レジスタで。
4つのフィールドに分割される。OPフィールドは命令
コードを示し、線!1によって演算制御ユニッ)CIに
送られ、命令実行を制御する。tフィールドは、結果を
格納するレジスタをベクトルレジスタVR1マスクレジ
スタVMR,スカラレジスタSR中から指定し、線L2
によって分配器・ 8 ・ Dlに入力され、分配器D1内にて、演算回路C02の
出力として線19により入力される結果を指。
定したレジスタに格納する制御用である。Iフィ。
−ルドは演算に使用するレジスタをベクトルレジ。
スタVR,マスクレジスタVMR,スカラレジス。
りSRから指定し、1IjlL3によりてセレクタSl
に入力され、S1内にていずれのレジスタを選択。
するかに使用する。ここで選択された内容は、線。
15にのせられる。ルフィールドは、jフィール。
ドと同じであり、セレクタS2に入力されwA161゜
にのせられる。
R2はデータを保持するデータレジスタ、R3゜は同じ
く演算マスクを保持する演算マスフレジス。
り、演算回路C2は線18を介して演算を行う演6算回
路である。IIi!tyはデータレジスタR2のへ。
容をのせるデータ線、線V8は演算マスクレジスタR3
の内容をのせるデータ線、線19は演算回路C2の演算
の結果をのせるデータ線、線110は、各レジスタの読
出し、書き込みを指示する制御線、線111は、演算回
路C2を制御する制御線であ2,1る。
ここで、ベクトルレジスタVR,スカラレジス。
りSR,マスクレジスタVMRは、各々第1図の。
Vl、R1,R2に相当する。また、VMRは1゜ビッ
トのレジスタであり、0,1のみで構成され、る。
次に、動作例について説明する。命令レジスタ。
R1に、本動作の実行を指定する命令が入力され。
ると、OP + ’ p / + ’の各フィールドの
内容は、それぞれ、演算制御ユニットC1、分配器D1
.1゜セレクタS1.セレクタS2に送られる。分配器
DI、セレクタS1.セレクタS2はそれぞれ命。
令レジスタR1の各フィールド’t/、aで指示。
されたレジスタを選択し、分配ルート、および選。
択ルートを設定する。本動作例においては、iはマスク
レジスタVMRを、jはベクトルレジスタVRを、4は
スカラレジスタSRを指示する。
次に、演算制御ユニットC1は、線110により必要な
レジスタに、読み出し、書き込み指示を送出し、適切な
タイミングで、jで指定したペクト。。
ルレジスタVRから1ベクトル要素ずつ順次読み。
出す。また、ルで指定したスカラレジスタSRの。
内容は最初に1回だけ読み出しを行う。例えば、。
前述のようにSROは’ 7 FFFFFFF ’ 、
S。
R4は’ FFFFFFFF ’の内容となる。また、
Jで指定したマスクレジスタVMRへの書き込み。
を順次行う。これらの動作は通常のベクトル要素。
セッサと同様である。
さて、データレジスタR2に順次読み出されて。
(るデータは線L7により演算回路C2に入力さ、。
れる。また、演算マスクレジスタR3には、本動作に用
いる演算マスクがスカラレジスタSRより入力されてお
り、@J、Bにより演算回路C2に入力される。演算回
路C2は、命令レジスタR1のOPフィールドに設定さ
れた命令コードに従って、データに対して演算マスクに
よる論理演算を行い、その結果により判定を行う。その
判定結果を線L9にのせる。線pq上の判定結果は、分
配器D1に入力され、マスクレジスタVMRの1つに格
納される。このマスクレジスタVMRは、その後の・1
1 ・ 各種マスク付演算に利用されて、各ベクトル要素。
ごとの命令実行が可能となる。
本実施例によれば構造化プログラムに頻繁に出。
現するところの任意のピット位置の判定を、1つ。
のベクトルレジスタ、1つのマスクレジスタ、1゜つの
スカラレジスタを用いた1つの命令によるべ。
クトル処理により行なうことができる。
〔発明の効果〕
以上の説明から明らかなように、本発明によれ。
ば任意のビット列の論理判定を少数のレジスタ℃1、高
速に実現できるという効果が得られる。
【図面の簡単な説明】
第1図は、本発明で行なう処理の一例を示した。 図、第2図は、本発明の一実施例を示した図であ。 る。                      1
・vl・・・ベクトル、C1・・・演算回路、R1・・
・任意のピット位置を選択するマスク、R2・・・判定
結果、R1・・・命令レジスタ、C1・・・演算制御ユ
ニット、C2・・・演算回路、Dl・・・分配器、81
.82・・・セ。 レクタ、VR・・・データの入ったベクトルレジスタ1
、・12 ・ VMR・・・判定結果が格納されるマスクレジスタ、。 SR・・・任意のピット位置を選択する演算マスクの。 入ったスカラレジスタ、MS・・・主記憶。 第1図 栴 2 図 4せ4〉レラヌ、グ      8丁 0Pえ z  4           vt分配厖、 b       vFXvMRsR 1+ ジスク ー   ベグトル   マスク ー     レジスゲ    レジスゲ゛ セレグy 
・       : Iro    (l            szセレ
クヅ C1尺2   β6 テ貧算他目呻      テ゛−タ      5寅算
マスグユニ、ット        に!7      
 18一 1.4ミニ、) 演算回4 叉11        。

Claims (1)

  1. 【特許請求の範囲】 1、データベクトル中のあるベクトル要素について、そ
    の任意のビット群を抽出し、それらが、すべて0、すべ
    て1、0と1の混在のいずれの状態かを判定する演算器
    をもつことを特徴とするベクトルプロセッサ。 2、特許請求の範囲第1項のベクトルプロセッサにおい
    て、データベクトル中のあるベクトル要素に対して、抽
    出したいビット位置を1、その他を0とした抽出条件と
    論理積を行い、その演算結果がすべて0であることを判
    定する第1の演算器をもつことを特徴とするベクトルプ
    ロセッサ。 3、特許請求の範囲第1項のベクトルプロセッサにおい
    て、データベクトル中のあるベクトル要素に対して、抽
    出したいビット位置を0、その他を1とした抽出条件と
    論理和を行い、その演算結果がすべて1であることを判
    定する第2の演算器をもつことを特徴とするベクトルプ
    ロセッサ。 4、上記第1の演算器により抽出したいビット位置がす
    べて0であることを否定され、かつ上記第2の演算器に
    より、該ビット位置がすべて1であることを否定された
    場合に、該ビット位置は0と1の混在したものであると
    判定する手段をもつことを特徴とする特許請求の範囲第
    2項又は第3項のベクトルプロセッサ。
JP61211603A 1986-09-10 1986-09-10 ベクトルプロセツサ Expired - Lifetime JPH0724013B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61211603A JPH0724013B2 (ja) 1986-09-10 1986-09-10 ベクトルプロセツサ
US07/079,047 US4933839A (en) 1986-09-10 1987-07-29 Vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61211603A JPH0724013B2 (ja) 1986-09-10 1986-09-10 ベクトルプロセツサ

Publications (2)

Publication Number Publication Date
JPS6368971A true JPS6368971A (ja) 1988-03-28
JPH0724013B2 JPH0724013B2 (ja) 1995-03-15

Family

ID=16608498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61211603A Expired - Lifetime JPH0724013B2 (ja) 1986-09-10 1986-09-10 ベクトルプロセツサ

Country Status (2)

Country Link
US (1) US4933839A (ja)
JP (1) JPH0724013B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274835A (en) * 1988-12-20 1993-12-28 Matsushita Electric Industrial Co., Ltd. Merge device using FIFO buffers
US5179530A (en) * 1989-11-03 1993-01-12 Zoran Corporation Architecture for integrated concurrent vector signal processor
JPH0614003A (ja) * 1991-07-31 1994-01-21 Nec Corp データ処理回路
US5499376A (en) * 1993-12-06 1996-03-12 Cpu Technology, Inc. High speed mask and logical combination operations for parallel processor units
US5832288A (en) * 1996-10-18 1998-11-03 Samsung Electronics Co., Ltd. Element-select mechanism for a vector processor
US6006315A (en) * 1996-10-18 1999-12-21 Samsung Electronics Co., Ltd. Computer methods for writing a scalar value to a vector
US6016395A (en) * 1996-10-18 2000-01-18 Samsung Electronics Co., Ltd. Programming a vector processor and parallel programming of an asymmetric dual multiprocessor comprised of a vector processor and a risc processor
US6857061B1 (en) * 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6973404B1 (en) * 2000-09-11 2005-12-06 Agilent Technologies, Inc. Method and apparatus for administering inversion property in a memory tester
KR101595637B1 (ko) 2011-04-01 2016-02-18 인텔 코포레이션 벡터 친숙형 명령어 형식 및 그의 실행
WO2013095553A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Instructions for storing in general purpose registers one of two scalar constants based on the contents of vector write masks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61180330A (ja) * 1984-09-26 1986-08-13 テキサス インスツルメンツ インコ−ポレイテツド Aluシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3976864A (en) * 1974-09-03 1976-08-24 Hewlett-Packard Company Apparatus and method for testing digital circuits
JPS5286011A (en) * 1976-01-12 1977-07-16 Nec Corp Error correction device for parallel processing
US4342084A (en) * 1980-08-11 1982-07-27 International Business Machines Corporation Main storage validation means
US4604709A (en) * 1983-02-14 1986-08-05 International Business Machines Corp. Channel communicator
EP0166838B1 (fr) * 1984-06-29 1988-09-28 International Business Machines Corporation Procédé et dispositif pour détecter une configuration de bits particulière dans un train de bits en série

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61180330A (ja) * 1984-09-26 1986-08-13 テキサス インスツルメンツ インコ−ポレイテツド Aluシステム

Also Published As

Publication number Publication date
JPH0724013B2 (ja) 1995-03-15
US4933839A (en) 1990-06-12

Similar Documents

Publication Publication Date Title
US3766532A (en) Data processing system having two levels of program control
US4835733A (en) Programmable access memory
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS6368971A (ja) ベクトルプロセツサ
EP0034634B1 (en) Microcomputer arranged for direct memory access
JPH11272546A (ja) 可変長レジスタ装置
US4525776A (en) Arithmetic logic unit arranged for manipulating bits
US4598358A (en) Pipelined digital signal processor using a common data and control bus
US5117487A (en) Method for accessing microprocessor and microinstruction control type microprocessor including pointer register
EP0164418B1 (en) Microprogram control system
JPS623358A (ja) 複数アドレス空間アクセス方式
JP2567134B2 (ja) ビットフィールド論理演算処理装置およびそれを具備するモノリシックマイクロプロセッサ
JPS623338A (ja) 直接値処理方式
JPS58166419A (ja) ワンチツプマイクロコンピユ−タ
JPH0553808A (ja) 演算処理装置
Baba et al. A two-level microprogrammed multiprocessor computer with nonnumeric functions
JP2743947B2 (ja) マイクロプログラム制御方式
JPS626267B2 (ja)
JPH02138623A (ja) ポインタレジスタを備えたマイクロプログラム制御方式のマイクロプロセッサ
Edwards et al. LSI microprogrammable microprocessors
JPS599758A (ja) マイクロプログラム制御デ−タ処理装置
JPS59208672A (ja) ベクトル処理装置
JPS5998249A (ja) デイジタル情報処理装置
JPS59105152A (ja) 複数レジスタの一括ストア方式
JPS62151931A (ja) 制御記憶装置