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

ベクトル処理装置

Info

Publication number
JP2667810B2
JP2667810B2 JP61030821A JP3082186A JP2667810B2 JP 2667810 B2 JP2667810 B2 JP 2667810B2 JP 61030821 A JP61030821 A JP 61030821A JP 3082186 A JP3082186 A JP 3082186A JP 2667810 B2 JP2667810 B2 JP 2667810B2
Authority
JP
Japan
Prior art keywords
register
data
vector data
vector
instruction
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
JP61030821A
Other languages
English (en)
Other versions
JPS62189574A (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 JP61030821A priority Critical patent/JP2667810B2/ja
Publication of JPS62189574A publication Critical patent/JPS62189574A/ja
Application granted granted Critical
Publication of JP2667810B2 publication Critical patent/JP2667810B2/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

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ビツト毎
に1ビツトの選択マスクを有するものである。 〔発明の背景〕 従来のベクトルプロセツサでは、ベクトルデータの特
定ビツトを、他のベクトルデータのそれぞれ対応する要
素の対応するビツト位置に挿入する手段として、AND,O
R,EXCLUSiVEOR等の命令が複数回用いられる。このよう
なものを示す公知例として、例えば、HiTACマニユアル
“6010−2−001 S−810処理装置”に示す如きものが
ある。各マージ処理には、スカラデータSを64ビツトの
ビツトストリングとして、挿入するビツト位置には1
を、旧値のまま残したいビツト位置には0をセツトして
おき、使用する。マージ後のベクトルデータAのi番目
の要素は、記号 を1ビツト同志の論理和、記号‘&’を1ビツト同志の
論理積、記号 を1ビツトの反転記号として、第2図の式で表わされ
る。 従来のベクトル演算は、1命令で論理積か反転か論理
和のいづれか1処理となるため、第2図から1回の結合
には2回の論理積、1回の反転、1回の論理和の計4命
令を要することがわかる。 一般に、画像処理や論理シミユレーシヨンの分野で
は、データ幅の小さい多数の処理単位に対し処理を行う
が、従来のベクトル処理装置では、各要素が32もしくは
64ビツト幅のベクトルデータ1ないし2を入力オペラン
ドとし、両者の変換であるマージ操作を行う命令として
単機能の論理演算命令しか用意されていない為、十分な
高速化が得られないという問題があつた。 〔発明の目的〕 本発明の目的は、ビツト幅の小さな複数のベクトルデ
ータを、ビツト幅の大きい一つのベクトルデータに統合
する処理を高速化するベクトル処理装置を提供すること
にある。 〔発明の概要〕 上記目的を達成するために、本発明は、ベクトルプロ
セツサに、2つのベクトル要素B(J)及びC(J)
と、1つのスカラーデータSを受けとり、 で示される論理演算を1パイプラインピツチ毎に処理す
るパイプライン演算器を設けることを特徴とする。 〔発明の実施例〕 以下、本発明の一実施例を第1図〜第2図により説明
する。第2図はPL1言語で記述されたDOループの例であ
る。A(1〜N),B(1〜N),C(1〜N)の各ベクト
ルデータの個々の要素と、スカラデータSは1ないし64
ビツトのビツトストリングである。このプログラムの処
理において、まづ、ベクトル要素B(1)とSのビツト
毎の論理積をとり、ベクトル要素C(1)とSを反転し
たビツトストリングのビツト毎の論理積をとり、両論理
積により得られたビツトストリングのビツト毎の論理和
を、ベクトル要素A(1)として格納する。以下、ベク
トルデータの要素番号を1ずつ増して、同様の処理を合
計N回繰り返す。第1図は、第2図のプログラムを高速
に処理するベクトル処理装置の構成例である。ベクトル
データA,B,C及びスカラデータSは、主記憶100から読み
出されレジスタ410〜440に存在するものとする。命令を
命令制御回路300の命令レジスタ110に受取るとレジスタ
410〜420からベクトルデータB(1〜N)及びC(1〜
N)が信号線21及び22を介して、スカラデータSがレジ
スタ440から信号線22を介してパイプライン演算器200に
送られる。パイプライン演算器200では、1マシンサイ
クル毎に、第2図に述べたプログラムの演算結果を1要
素づつ出力し、信号線23を介してレジスタ430に格納さ
せる。第1図では、簡単のため各データを5ビツトとし
て、スカラデータSとして00110,ベクトルデータBのあ
る要素データをB1〜5,ベクトルデータCの対応する要素
データをC1〜5として、ベクトルデータAの対応する要
素データとしては、C1,C2,B3,B4,C5というビツトストリ
ングが格納させることを示している。第2図の処理を行
う命令をVBMG命令と名づけて新設する場合の、命令形式
の一例を第1図110に示す。第1図は、本発明による演
算命令を、ベクトルレジスタ及びスカラレジスタを有す
るプロセツサに適用した場合の命令形式及びプロセツサ
構成を示している。110の‘VBMG'命令の指定は、ベクト
ルデータを保持するベクトルレジスタを指定するA,B,C,
の3つのフイールドと、スカラデータを保持するスカラ
レジスタを指示するSフイールドを含む。なお、主記憶
からスカラレジスタ及びベクトルレジスタへのデータの
ロード及び、ベクトルデータAの主記録へのストアは、
従来からあるようなロード及びストア命令により処理す
る。 第1図の実施例において、ベクトルレジスタ410〜430
がそれぞれベクトルデータB,C,Aに対応し、スカラデー
タSがスカラレジスタ440に対応するように命令110で指
定し、スカラレジスタ440〜450及びベクトルレジスタの
読出しスイツチ500を制約する。この例ではスカラレジ
スタ番号は、書込みベクトルレジスタ番号と同一とする
命令形式を採用することにより、命令長を2つのオペラ
ンドを読出す命令と同一にし、命令デコード回路120を
簡略化している。 第1図の200は本発明によるパイプライン演算器の1
構成例を示したものである。ベクトルデータB,Cはそれ
ぞれ、1マシンサイクル毎に1要素送られ、各64ビット
幅のレジスタ210及び220にセツトされる。スカラデータ
Sは、命令の起動を知らせる信号32によりベクトルデー
タCの送出開始に先立つて信号線22から送られるデータ
をセツトすることによりベクトルデータCを送ると共用
することができる。スカラデータSの反転値は64ケの反
転ゲート群250により反転値がとられ、64ケのアンドゲ
ート群270により、ベクトルデータCの各要素と論理積
がとられる。同じく64ケのアンドゲート群260によりス
カラデータSはベクトルデータBの各要素と論理積がと
られ、両中間結果の論理和が64ケのオアゲート群280に
より得られて、64ビツト幅のレジスタ230にセツトさ
れ、信号線23へと結果が転送される。 以上の説明全般にわたつて、値1と値0の働きを反転
しても、本発明の効果は変わらない。 また、命令形式のA,B,C,Sの指令順序を入り替えて
も、本発明の効果は変わらない。 〔発明の効果〕 本発明によれば、従来命令では、第2図に示すような
処理に4演算命令を要したのに対し、1演算命令かつ1
演算器で処理できる。第1図で4演算命令を用いるとの
で、出力される結果データの総数は3N+1ケである。従
つて1マシンサイクルに1要素を処理できるパイプライ
ン演算器を1ケしか有しない構成によるプロセツサでは
3N+1マシンサイクル以上を要した第2図のプログラム
に示す論理演算処理を、約Nマシンサイクルで処理する
ことができる。
【図面の簡単な説明】 第1図は、ベクトルレジスタ及びスカラレジスタを有す
る場合のプロセツサ構成例、第2図は、本発明により処
理を高速化するPL1プログラムのDOループ例。 110……命令レジスタ、200……パイプライン演算器、26
0〜270……アンドゲート集合、280……オアゲート集
合、250……反転ゲート集合、300……命令制御回路。

Claims (1)

  1. (57)【特許請求の範囲】 1.1〜Nのビットストリングを要素とするベクトルデ
    ータAを格納する第1のレジスタと、 1〜Nのビットストリングを要素とするベクトルデータ
    Bを格納する第2のレジスタと、 1〜Nのビットストリングを要素とするベクトルデータ
    Cを格納する第3のレジスタと、 スカラデータSを格納する第4のレジスタと、 上記スカラデータSを読み出すための上記第4のレジス
    タの番号と演算結果である上記ベクトルデータAを書き
    込むための上記第1のレジスタの番号とを同一の第1の
    オペランドで指定し、上記ベクトルデータBを読み出す
    ための上記第2のレジスタの番号を第2のオペランドで
    指定し、上記ベクトルデータCを読み出すための上記第
    3のレジスタの番号を第3のオペランドで指定する命令
    形式を有する命令を格納する命令レジスタと、 上記命令をデコードするデコーダと、 デコードされた上記命令に応じて、上記スカラデータS
    中各1ビットの内容が第1の値の場合には、対応する上
    記ベクトルデータBの要素を選択し、上記スカラデータ
    S中各1ビットの内容が第2の値の場合には、対応する
    上記ベクトルデータCの要素を選択する手段と、 デコードされた上記命令に応じて、選択された上記ベク
    トルデータBと上記ベクトルデータCの要素に対して1
    パイプラインピッチ毎に所定の論理演算をN回繰り返し
    て行ない、その演算結果を上記第1のレジスタにベクト
    ルデータAとして格納するパイプライン演算器と、 を備えたことを特徴とするベクトル処理装置。
JP61030821A 1986-02-17 1986-02-17 ベクトル処理装置 Expired - Lifetime JP2667810B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61030821A JP2667810B2 (ja) 1986-02-17 1986-02-17 ベクトル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61030821A JP2667810B2 (ja) 1986-02-17 1986-02-17 ベクトル処理装置

Publications (2)

Publication Number Publication Date
JPS62189574A JPS62189574A (ja) 1987-08-19
JP2667810B2 true JP2667810B2 (ja) 1997-10-27

Family

ID=12314367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61030821A Expired - Lifetime JP2667810B2 (ja) 1986-02-17 1986-02-17 ベクトル処理装置

Country Status (1)

Country Link
JP (1) JP2667810B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5840665A (ja) * 1981-09-04 1983-03-09 Nec Corp ビツトインサ−ト方式

Also Published As

Publication number Publication date
JPS62189574A (ja) 1987-08-19

Similar Documents

Publication Publication Date Title
DE69233412T2 (de) Vorrichtung und Rechnerprogrammprodukt zur Ausführung von Verzweigungsbefehlen
US6334176B1 (en) Method and apparatus for generating an alignment control vector
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
US4539635A (en) Pipelined digital processor arranged for conditional operation
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
JPH06236268A (ja) 命令の長さを判定する装置と方法
JP3954171B2 (ja) コンピュータにおけるスカラ値をベクトルに記入する方法
JPS6351287B2 (ja)
TW201805835A (zh) 一種能支援不同位元寬運算資料的運算單元、方法及裝置
JPS59174948A (ja) 情報処理装置
EP0378415A2 (en) Multiple instruction dispatch mechanism
US5307300A (en) High speed processing unit
JPH05150979A (ja) 即値オペランド拡張方式
US6542989B2 (en) Single instruction having op code and stack control field
JPH07104784B2 (ja) デジタルデータ処理装置
US4812970A (en) Microprogram control system
JP2667810B2 (ja) ベクトル処理装置
JPS583040A (ja) 情報処理装置
EP0936537A1 (en) Cyclic redundancy check in a computer system
US6564312B1 (en) Data processor comprising an arithmetic logic unit
JPS6161416B2 (ja)
JP2553200B2 (ja) 情報処理装置
JPS6184777A (ja) パイプライン演算装置
JPH0222413B2 (ja)
JP3043861B2 (ja) データ処理装置