JPH03204079A - データ処理システムおよびデータ処理装置 - Google Patents

データ処理システムおよびデータ処理装置

Info

Publication number
JPH03204079A
JPH03204079A JP34471689A JP34471689A JPH03204079A JP H03204079 A JPH03204079 A JP H03204079A JP 34471689 A JP34471689 A JP 34471689A JP 34471689 A JP34471689 A JP 34471689A JP H03204079 A JPH03204079 A JP H03204079A
Authority
JP
Japan
Prior art keywords
data
vector
code
register
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.)
Pending
Application number
JP34471689A
Other languages
English (en)
Inventor
Tomoo Aoyama
青山 智夫
Zentaro Hirose
廣瀬 善太郎
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
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering 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 Hitachi Ltd, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP34471689A priority Critical patent/JPH03204079A/ja
Publication of JPH03204079A publication Critical patent/JPH03204079A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はデータ処理装置に関し、特に、その多項式等の
高速演算に関するものである。
[従来の技術] 近年の大規模な数値計算の要求に応えるため、大規模数
値計算専用のデータ処理装置、たとえばデータ処理装置
が開発されている。
このデータ処理装置は、一般に専用のアーキテクチャを
有する5すなわち、たとえばn個のデータをひとかたま
りのベクトルデータとして命令のオペランドで指定する
ことができ、また、1命令でベクトルデータの各要素デ
ータに同一の演算を実施することができる。このような
命令のことをバク1−ル命令という。
ところで、FORTRANで記述した次の処理は、ベク
トル命令で実行可能である。
Do  100  I=1、N A(I)=B(I)+ C(I) 100 C0NT I NUE すなわち、ベクトル命令では、 set vector length  ’N’vec
tor 1oad  VRO←z B pvector
 1oad  VRI←1C1vector add 
  VR24−VRO+VI11vector 5to
re  VR2→l A Tprocessing e
nd のように処理される。
ここでVRmはベクトルデータを保持するデータ処理装
置内のバッファ記憶部のアドレスを示す(この記憶部を
ベクトルレジスタともいう)。
しかし、次のような多項式の場合は前記のベクトル命令
では処理が困難である。
X=(((A+B)*C−D)*E+F)*G+H。
このようなループ構造をとらない処理は、REDUCE
やLISPのような数式処理の結果を実際に値を代入し
て評価するような場合に多く出現する。
ここで、この多項式は、下記の1teration型の
ベクトル演算に帰着できる。
W=A W=W+B W=W*C W=W−D W=W*E W=W+F W=W* G X=W+H 式中、Wはワークレジスタの内容を示す。
以上の各)式は、ベクトルデータ(A、B、C1D、E
、F、G、H)とコードバク1−ル(move、+、*
、−本、+、*、+)とスカラデータWの組合せで表わ
されている。スカラデータWは式を評価する毎に変化す
る。
したがって上記の演算は1terationの一種であ
って、本来データ処理装置で実行可能である。
しかし、従来の1teration命令をベクトル処理
できるデータ処理装置の1terationハードウエ
アそのままでは、この多項式を処理できない。
この多項式を処理するためには、演算オペレーションを
ベクトル要素毎に変えるような特殊な1teratjo
n演算器が必要であるからである。
このような1teration演算器を備えたデータ処
理装置としては、特開昭61−160176号公報に記
載されている被演算ベクトルデータの中に演算オペレー
ションを埋めこむようなアーキテクチャを持ったデータ
処理装置等が知られている。
[発明が解決しようとする課題] 前記の従来技術によれば、前記多項式のような演算を高
速に行うことができる。
しかし、この技術においては、多項式のi’terat
ion演算はベクトル化されているとは言えない。被演
算ベクトルデータ中に演算オペレーションが埋めこまれ
ている点が制約になっている。
したがって、前記従来技術によれば、コードベクトル(
move、+、*、−1等)とベクトルデータとを独立
のベクトルとして扱えず、また、ベクトルレジスタ等の
記憶領域の大きさが変則的なものとなっていた。すなわ
ち、データ処理装置本来の資源を充分に活用できず、ま
た、処理の自由度や融通性に乏しかった。
そこで、本発明は、その実現に必要な、1、ベクトル命
令制御方式、 2、パイプライン演算器、 3、ベクトル・レジスタ等の制御方式、を明確にするこ
とにより、ベクトル化した多項式の1teration
演算を、高速に実行することができるデータ処理装置お
よびデータ処理システムを提供することを目的とする。
[課題を解決するための手段] 前記目的達成のために、本発明は、命令に従い、命令の
オペランドで指定される記憶領域に格納されている、1
以上のコードが各々規定する処理を実行する演算器を備
えたプロセッサと、該1以上のコードを格納する記憶部
と、を有することを特徴とする第1のデータ処理システ
ムを提供する。
また1本発明は、命令の発行に先立ち、1以上のコード
データをベクトルエレメントとするコードベクトルデー
タを記憶する記憶部と、被処理データをベクトルエレメ
ントとするベクトルデータを格納するベクトルレジスタ
と、発行された命令に従い、記憶部の、命令のオペラン
ドで指定される記憶領域に記憶されている、前記コード
ベクトルデータを格納するコードベクトルレジスタと、
コードベクトルレジスタに格納されたコードベクトルデ
ータに基づいて、ベクトルレジスタに格納されたベクト
ルデータを、順次処理する手段を備えたパイプライン演
算器とを有するプロセッサと、 を有することを特徴とする第2のデータ処理システムを
提供する。
また、さらに、本発明は前記目的達成のために、ユーザ
プログラムから明示的にアクセスできる、1以上のコー
ドデータを格納するバッファ記憶部と、受信したコード
データが各々規定する処理を実行する手段を備えた演算
器と、バッファ記憶部から演算器へのデータ転送パスと
、該データ転送パスを用いて、バッファ記憶部から演算
器へのデータ転送を制御する手段とを有することを特徴
とする第1のデータ処理装置を提供する。
また、前記目的達成のために、被処理データをバク1〜
ルエレメントとするベクトルデータを格納するベクトル
レジスタと、ベクトルデータ、もしくは、各々処理を規
定するコードデータをベクトルエレメントとするコード
ベクトルデータを格納するコードベクトルレジスタと、
コードベクトルレジスタに格納されたコードベクトルデ
ータに基づいて、ベクトルレジスタに格納されたベクト
ルデータを処理する手段を備えたパイプライン演算器と
を有することを特徴とする第2のデータ処理装置を提供
する。
また、本発明は、被処理データをベクトルエレメントと
するベクトルデータを格納するベクトルレジスタと、前
記被処理データと異なるビット数より成る、各々処理を
規定するコードデータを、ベクトルエレメントとするコ
ードベクトルデータを格納する、前記ベクトルレジスタ
のエレメントレジスタと異なるビット数を格納するコー
ドバク1〜ルエレメントレジスタより成る、コードベク
トルレジスタと、コードベクトルレジスタに格納された
コードベクトルデータに基づいて、ベクトルレジスタに
格納されたベクトルデータを処理する手段を備えたパイ
プライン演算器とを有することを特徴とする第3のデー
タ処理装置を提供する。
すなわち、水弟3のデータ処理装置は、ベグ1−ルレジ
スタのビット巾は通常32又は64ビツトであるのに対
し、コードデータが数ビット(〜4ビット程度)で足り
る場合に、演算データのためのベクトルレジスタとコー
ド保持のためのベクトルレジスタを分け、ハードウェア
量の削減を図り、また、処理の簡略化を図ったものであ
る。
なお、前記第2および第3のデータ処理装置においては
、パイプライン演算器の処理を規定するコードが、複数
の、異る演算ステージ処理の組合せである場合にも、パ
イプライン演算器において無効ステージが生じないよう
に、各処理のチェイニングを行う論理部を備えるのが好
ましい。
また、前記目的達成のために本発明は、オペランドによ
り指定される記憶領域に格納された1以上のコードが各
々規定する演算器の処理の実行を指示する命令を含む命
令セットを備えたことを特徴とする第4のデータ処理装
置を提供する。
[作用] 本発明に係る第1のデータ処理システムによれば、プロ
セッサは、命令を解釈し、記憶部の命令のオペランドで
指定される記憶領域に格納されている、1以上のコード
を読み込み、演算器においてコードが各々規定する処理
を実行する。
また、本発明に係る第2のデータ処理システムによれば
、プロセッサは、発行された命令を解釈し、記憶部の、
命令のオペランドで指定される、記憶領域に格納されて
いる、コードベクトルデータを格納するコードベクトル
レジスタに読み込み、ベクトルデータをベクトルレジス
タに読み込み、演算器において、コードベクトルレジス
タに格納されたコードベクトルデータに基づいて、ベク
トルレジスタに格納されたベクトルデータを、順次処理
する。
また、さらに、本発明に係る第1のデータ処理装置によ
れば、バッファ記憶部に格納された1以上のコードデー
タが、データ転送パスを介して演算器へ転送される。そ
して、演算器は受信したコードデータが各々規定する処
理を実行する。
また、本発明に係る第2のデータ処理装置によれば、パ
イプライン演算器はコードベクトルレジスタに格納され
たコードベクトルデータに基づいて、ベクトルレジスタ
に格納されたベクトルデータを処理する。本発明に係る
第3のデータ処理装置の作用もこれと同様である。
なお、前記第2および第3のデータ処理装置に前記論理
部を備えた場合、論理部は、パイプライン演算器の処理
を規定するコードが、複数の、異る演算ステージ処理の
組合せである場合にも、パイプライン演算器において無
効ステージが生じないように、各処理のチェイニングを
行う。
また、本発明に係る第4のデータ処理装置によれば、オ
ペランドにより指定される記憶領域に格納された1以上
のコードが各々規定する演算器の処理の実行を指示する
命令を含む命令セットを備え、該命令に従いその処理を
実−行する。
(以下余白) [実施例] 以下1本発明に係るデータ処理装置の一実施例を説明す
る。
まず1次の2つの多項式 %式% ) の演算を例にとり、本実施例に係るデータ処理装置にお
ける処理方式について説明する。
まず、多項式、 x=(((A+B)*C−D)*E+F)*G+H・・
・(1) については、前述したように、以下のようにに変形する
w=A                  、(2)
W=W+B               ・・・(3
)w=w*c               ・・・(
4)W=W−D              ・・(5
)W=W*E              ・・・(6
)W=W+F              ・・・(7
)W = W * G              ・
・・(8)X=W+H・・(9) (2)〜(8)式は、ベクトルデータ(A、B、C1D
、E、F、G、H)とコードベクトル(move、+、
木、−1木、+、*、+)とスカラデータWの組合せで
表わされている。スカラデータWは式を評価する毎に変
化する。したがって(2)〜(8)の演算は1tera
tionの一種であってデータ処理装置で実行可能であ
る。
また多項式、 X=(A+B)零C+(D−E)木F −G +Fl・
・・(10)については、 W(1)=A               ・・・(
11)W(1)=W(1)十B           
・・・(12)W(1)工w(B*c        
   ・・・(13)W(2)=D         
          ・・・(14)W(2)=W(2
)−E              ・・(15)W 
(2) = W (2) * F          
   ・・・(16)W(2)=W(2)−G    
         ・・・(17)W(2)=W(2)
+H・・(18) x=w(2)+H(1)            ・・
・(19)のように変形する。
この場合(11)〜(13)、(14)〜(18)、(
19)のように分割し、前記の1teration演算
方式に帰着させることができる。
すなわち、コードベクトルを(move、+、*、mo
ve & change 、 −*、−1+ 、 me
rge)のようにすれば1つの1teration演算
に帰着できる。
ここで、move & changeは異るワークレジ
スタへ中間結果をストアすることをさし、mergeは
2種類のワークレジスタの結果を加算することを示す。
本実施例に係るデータ処理装置において、各ベクトル要
素は主記憶からベクトル長レジスタに保持される。ベク
トル長レジスタは演算開始に先立ってセットアツプ命令
によってセットされる。セットアツプ命令は、ベクトル
命令の一種である。
コードがmergeの場合は、被演算データは主記憶(
又はベクトルレジスタ)からでなく、ワークレジスタの
内容となる。
ベクトル演算の場合、ベクトル要素数はベクトル長レジ
スタに保持される。ベクトル長レジスタは演算開始に先
立ってセラ1〜アツプ命令によってセットされる。セッ
トアツプ命令はベクトル命令の一種である。コードがm
ergeの場合、被演算データは主記憶(又はベクトル
レジスタ)からでなく、ワークレジスタとなる。この場
合、演算数は、ベクトルデータの要素数より1多くなる
ため、1teration演算実行部をベクトル長+1
で実行させる必要がある。
したがって、コードベクトル中にmergeが存在する
場合としない場合で、命令制御動作は異ることになる。
そのため、多項式の1teration型処理では2種
類のベクトル命令を定義する。
以上の処理をデータ処理装置の機械語で示せば、(1)
式は、 set vector length  ’N’vec
tor 1oad (indirect addr、)
 VRO4−(A、B、C1・・・) vector 1oad  CVRo4−Code (
move、 +、本、・・・)iteration (
type= ’1’ )  1IR4−f (VROl
CVR,)store  WR→l X j のように表される。
また(10)式は、 set  vector  length    ’ 
N ’vector 1oad (indirect 
addr、) VRO4−(A+B。
C1・・・) vector 1oad  CVR,4−Code (
move、+、*、・・・)iteration(ty
pe=’2’)  VR4−/(VRO,CVRo)s
tore  WR→t X 1 と表せる。
1teration (type = ’2’ )は前
記2種類のベクトル命令の第2種であることを示し、1
teration(type = ’2’ )命令では
命令中に明示されたワークレジスタWR以外に途中結果
を保持する1または複数の別のワークレジスタも使用さ
れるが、このワークレジスタの区別を、この第2種の命
令のオペコードで行う。また、前述したようしこ1te
ration演算実行部はベクトル長+1で実行される
この1teration命令はコードベクトルによって
示される命令列の起動を示し、この命令列により個々の
演算が順次実行される。
なお1以上にように変形された多項式の演算は、本実施
例に係るデータ処理装置において、概略、以下のように
実現される。
被演算ベクトルデータ(A、B、・・・)、コードベク
トル等は間接アドレッシングによるベクトルロード命令
で主記憶からベクトルレジスタ、コードベクトルレジス
タヘローデイングする。なお、間接アドレッシングのベ
クトル命令は現在のデータ処理装置に標準的に装備され
ている。
そして、コードベクトルレジスタに格納したコードベク
トルにてパイプライン演算器を制御する。
また、パイプライン演算器の入力部に偏えたスイッチン
グ回路によって、被演算データのソースを、適宜ベクト
ルレジスタとワークレジスタとに切替え、また、同様に
出力部のスイッチング回路で、中間結果を2種類のワー
クレジスタに送出し、所望の演算を実行する。
以下、本実施例に係るデータ処理装置の一実施例の詳細
について説明する。
第1図にデータ処理装置の主要部である命令解読部、ベ
クトルレジスタ部、パイプライン演算部の構成を示す。
なお、命令、オペランドフェッチ・ストア部の構成は、
従来のデータ処理装置と同様であるので記載を省略する
図中、1は命令を格納するレジスタ、2.5はこの命令
を解釈するデコーダ、20はコードベクトルを格納する
コードベクトルレジスタ(以下、CVRと記す)、17
はコードベクトルレジスタ20へのコードベクトルの格
納を制御するスイッチ回路、3はコードベクトルレジス
タ20からのコードベクトルの読み出しを制御するスイ
ッチ回路、21はバク1〜ルデータを格納するベクトル
レジスタ(以下、VRと記す)、8はベクトルレジスタ
21ヘベクトルデータの格納を制御するスイッチ回路、
6はベクトルレジスタ21からのベクトルデータの読み
出しを制御するスイッチ回路である。
4はスイッチ回路3により、コードベクトルレジスタ2
0から読み出されたコードベクトルを解釈し、パイプラ
イン演算器7等を制御するデコーダ、11はベクトルレ
ジスタ21よりのパイプライン演算器7への供給データ
を切り替えるスイッチ回路、13.14はワークレジス
タ、12はパイプライン演算器7の演算結果を格納する
ワークレジスタを切り替えるスイッチ回路、21はパイ
プライン演算器7への供給データ源ワークレジスタ13
.14を切り替えるスイッチ回路である。
10はレジスタ1に格納されるベクトル長を保持するレ
ジスタ、18は演算の終了数を計数する終了カウンタ回
路、19はAND回路である。
次に、その動作について説明する。
主記憶から読出された命令はパス53を経由してレジス
タ1に格納される。
まず、レジスタ1上の命令がベクトル長をセットする命
令の場合(前記set vector lengthI
 N +等)は、デコーダ5はフィールドlc上のデー
タをイミーディエイトデータとしてパス57上に送出す
る。パス57上のデータはレジスタ10にセットされる
次に、主記憶上に1terationのコードベクトル
も被演算データも区別なく併置したコードベクトルおよ
び被演算データであるベクトルデータが同一種のバク1
−ル命令(前記vector 1oad)によってフェ
ッチ処理が行われ、それぞれ、CVR5VRに格納され
る。
このフェッチ処理はレジスタ1に格納された命令をデコ
ーダが解読し、パス56上の信号によって、スイッチン
グ回路8を制御し、主記憶からオペランドデータフェッ
チ部経由に読出されたベクトルデータを命令で指定した
VR又はCVRに書込むことにより行う。
ところで、本実施例においては、前記したjterat
ion命令を3つのフィールドから構成し、第1図にお
いてレジスタ1に格納された各フィールドを18.1b
、1cで表す。ここに、1aは命令種を表し、1bは1
terationのコードベクトルが格納されているC
VRの番号を示し、1cは被演算ベクトルが格納されて
いるVRの番号を示す。
フィールド1a上のデータは、デコーダ2で解読され、
命令が1teration命令の場合、パス54上にイ
ネーブル信号を送出する。
フィールド1b上のデータは、スイッチング回路3に作
用し、命令オペランドに記されているC V RJ:の
データをデコーダ4に送出する。
フィールド1a上のデータはデコーダ5で解読され、フ
ィールド1a上の命令種が被演算データをベクトルレジ
スダ(VR)から読出す種類の場合はパス55上にVR
選択信号を送出し、命令処理の結果をVRへ書込む種類
の場合は、パス56上にVR選択信号を送出する。
デコーダ5が出力するパス55上の選択信号によって指
定されたVR上の被演算データは、スイッチング回路6
を通ってパイプライン演算器7に送出される。
レジスタ1に1teration命令(前記1jera
jlOn(type = ’1’ )  WR4−f 
(VROlCVRo)等)がセットされると、フィール
ド1bで指定されたCVRからコードが読出され、デコ
ーダ4で解読される。
コードを解読した結果はパス50.60〜63に送出さ
れ、それぞれパイプライン演算器7、スイッチング回路
11.12、ワークレジスタ13゜14を制御する。
コードベクトルとこれらのリソースの動作を制御する各
パス上の信号との対応を第4図に示す。
第4図は第1図のデコーダ4のコードと出力パス50.
60〜64上の信号値の関係を示したものであり。第4
図において、パス50上のMV、A、S、M、Dはそれ
ぞれ移動、加算、減算、乗算、除算を示す。パス60列
の数字は選択するパス番号を示す。パス61列の数字は
選択するレジスタ番号を示す。パス62.63列のmo
veとsetはレジスタヘデータをセットしない/する
ことを示し、パス64列のnoneは無信号を、 ho
ldはスイッチング回路における信号セットおよびその
保持を、resetはその初期化を示す。
以下、第4図を参照して1本装置の演算実行時の動作に
ついて説明する。
まず、スイッチング回路21は、初期状態においては、
レジスタ14の出力をパス66上に送出するように作用
する。
解読したコードがmoveの時は、デコーダ4は、パス
60上に、パス67上のデータを演算器7へ送る選択指
示信号送出し、また、パス61」二に、演算器7の出力
をレジスタ14へ送る選択指示信号を送出する。この両
選択指示信号により、スイッチング回路11.12は、
そのように作用する。
この時、パス62.64上には、信号は送出されない。
また、パス63上には、レジスタ14のセット信号が送
出される。演算器7には、MV動作指示指示がパス50
上に送出され、演算器7は、そのように動作する。結果
、演算器7の出力がレジスタ14にセットされる。
解読したコードが+(以下、addと記す)、−(以下
、5ubtractと記す)、*(以下、multip
lyと記す)、÷(以下、divideと記す)の時も
、前記mergeを解読した時と同様に作用する。但し
、解読したコードに応じて、演算器7には、A、S、M
、Dの動作指示指示がパス50上に送出され、演算器7
は、そのように動作する。
解読したコードがmove & changeの時は、
デコーダ4は、パス60上に、パス67上のデータを演
算器7へ送る選択指示信号を送出し、パス61上には、
演算器7の出力をレジスタ13へ送る選択指示信号を送
出する。また、パス62上にはset信号が送出され、
パス63上には何も送出しない。これにより、演算器7
の出力はレジスタ13にセットされる。
一方、パス50上には、move解読時と同様にMV動
作指示信号が送出する。パス64上にはレジスタ13の
の出力の選択指示信号が送出され、スイッチング回路2
1は、レジスタ13の出力をパス66上に送出する。パ
ス64の選択指示信号はhold型の信号であり、デコ
ーダ4がmergeを解読してパス64上にreset
信号を送出するまで、その値をスイッチング回路21は
保持する。
解読したコードがmergeの場合、デコーダ4はパス
64上に、パス65上のデータを演算器7へ送出する選
択指示信号が、パス61上には、レジスタ14を選択す
る信号が送出する。また、パス62上には何も送出せず
、パス63上にはset信号を、パス64上にはres
et信号を送出する。
これらの信号により、演算器7の信号は、レジスタ14
にセットされ、スイッチング回路21は初期状態に復帰
する。
以上、第4図を参照して、本装置の演算実行時の動作に
ついて説明した。
一次に、1コ一ド分の処理を終了すると、演算器7は、
パス51上にパイプライン演算器7で1コ一ド分の処理
を終了したことを示す終了信号を送出する。該終了信号
はスイッチング回路17に送られ、コードが格納されて
いるCVRのポインタを1進める。一方パス51上の信
号は、終了カウンタ回路18にも送られ1terati
on命令の終了条件を生成する。
終了カウンタ回路18は、デコーダ2から1tera−
tion命令の種類をパス70経出で、ベクトル長デー
タをレジスタ10から受けとり、パイプライン演算器の
1コ一ト分の処理終了信号をパス51を介して受信する
。これらより1teration命令の完了を判断し、
1teration命令の完了信号はパス72上に送出
する。この信号はAND回路19で、命令が実行中であ
ることを示すパス71上の信号と論理積がとられパス7
3上に次命令読出許可を示す信号が送出される。
なお、パス65は1teration演算の結果をデー
タ転送回路が読出すパスとして用いられる。
次に、パイプライン演算器7の詳細について、説明する
第2図に、パイプライン演算器の主要部分の構成を示す
パイプライン演算器の場合演算の種類によってステージ
数は異なるが1本実施例においてはmove、について
1ステージ110、加、減算について1ステージ111
、乗算について2ステージ112、除算について4ステ
ージ113を想定する。
100.101はスイッチング回路であり、120.1
21はOR回路、122はレジスタである。
さらに、また、異るステージの演算を組合せた1ter
ation演算に無効ステージを生じないようにするた
め、各演算二二ツl−にデータが有効なことを示すバリ
ッド信号を伝播するパスを付加する。
このパスを160〜163で示す。
また、第3図において第1,2図と共通の論理回路、パ
スには同一の番号を附して示す。
なお、本実施例に係るパイプライン演算器ではmove
、加減算、乗算、除算ユニツI−110−113は同時
に動作しない。
以下、その動作について説明する。
第1図に示したスイッチング回路11から送出されるオ
ペランドデータは、パス150を通ってスイッチング回
路100に入力する。また、もう一方のオペランドデー
タはパス66を通ってスイッチング回路101に入力さ
れる。
そして、前述したパス50上のコード情報によってスイ
ッチング回路100,101が目的とする演算ユニット
へオペランドデータを送出する。
演算結果はパス164〜167を通ってOR回路120
で集められ、レジスタ122に送られる。
OR回路121はバリッド信号を収集して1コ一ト分の
処理が完了したことを示す終了信号をパス51」ユに送
出する。この終了信けはレジスタ122のセット信号と
しても使用する。
次に、第1図に示した終了カウンタ回路18の詳細につ
いて説明する。
第3図に終了カウンタ回路18の構成を示す。
図中、2はデコーダ、10,202はレジスタ、200
.203はセレクタ、204はカウンタ、205は比較
器である。
また、第3図において第1.2図と共通の論理回路、パ
スには同一の番号を附して示す。
以下、その動作について説明する。
前述したように、ベクトル長はレジスタ10に格納され
る。
デコーダ2は1teration命令の種類番こよって
ベクトル長に加えるべき数+1〜+3を選択する信号を
パス70a上に送出する。該信号はセレクタ200に作
用する。
そして、ベタ1−ル長とセレクタ200によって選択さ
れた加算値は加算器201によって加算されレジスタ2
02にセットされる。
デコーダ2は1teration命令の種類によって、
命令完了までのコード数を選択する信号を70b上に送
出する。
この信号によってセレクタ203によってレジスタ10
又は202のいずれかの値が全コード数としてパス25
0上に送出される。
パス51上にはコード処理が完了したことを示す終了指
示信号が送られる。この終了指示信号はカウンタ204
によって累計される。
カウンタ204の出力はパス250上のデータと比較回
路205によって比較され、両者が一致するとパス72
上に信号値′1′が送出される。
この信号によってjteration命令の完了が認識
される。
以上のように、本実施例によれば。
FORTRANにいうDOループ構造でない多項式のよ
うな型の文を直接ベクトル処理することができる。
この結果によって、REDUCE等の数式処理言語等の
出力を効率良くベクトル処理し、計算速度を向上させる
ことができる。
また、実施例で示したように、コードベクトルを保持す
るCVRをベクトルレジスタ(VR)と別に置くことに
より、そこに展開係数を保持し基本的な関数をデータ処
理装置で1teration処理することができる。す
なわち三角、指数、対数、誤差関数等をスカラ処理部で
ソフトウェアで処理するよりも高速に処理することが可
能になる。
[発明の効果コ 以上のように、本発明によれば、ベクトル化した多項式
の1teration演算を、高速に実行することがで
きるデータ処理装置およびデータ処理システムを堤供す
ることができる。
【図面の簡単な説明】
第1図は本発明の一実施例に係るデータ処理装置の構成
を示すブロック図、第2図はパイプライン演算器の構成
を示すブロック図、第3図は終了カウンタ回路の構成を
示すブロック図、第4図はコードデコーダの動作を示す
説明図である。 2.5・・命令デコーダ、7・・・パイプライン演算器
、18・・・終了カウンタ回路、20・・・コードベク
トルレジスタ、21・・・ベクトルレジスタ、111・
・・加減算ユニット部、112・・・乗算ユニ91〜部
、113・・・除算ユニット部、201・・・加算器、
204・・・カウンタ、205・・・比較器。

Claims (1)

  1. 【特許請求の範囲】 1、命令に従い、命令のオペランドで指定される記憶領
    域に格納されている、1以上のコードが各々規定する処
    理を実行する演算器を備えたプロセッサと、該1以上の
    コードを格納する記憶部と、を有することを特徴とする
    データ処理システム。 2、ユーザプログラムから明示的にアクセスできる、1
    以上のコードデータを格納するバッファ記憶部と、受信
    したコードデータが各々規定する処理を実行する手段を
    備えた演算器と、バッファ記憶部から演算器へのデータ
    転送パスと、該データ転送パスを用いて、バッファ記憶
    部から演算器へのデータ転送を制御する手段とを有する
    ことを特徴とするデータ処理装置。 3、被処理データをベクトルエレメントとするベクトル
    データを格納するベクトルレジスタと、ベクトルデータ
    、もしくは、各々処理を規定するコードデータをベクト
    ルエレメントとするコードベクトルデータを格納するコ
    ードベクトルレジスタと、コードベクトルレジスタに格
    納されたコードベクトルデータに基づいて、ベクトルレ
    ジスタに格納されたベクトルデータを処理する手段を備
    えたパイプライン演算器とを有することを特徴とするデ
    ータ処理装置。 4、被処理データをベクトルエレメントとするベクトル
    データを格納するベクトルレジスタと、前記被処理デー
    タと異なるビット数より成る、各々処理を規定するコー
    ドデータを、ベクトルエレメントとするコードベクトル
    データを格納する、前記ベクトルレジスタのエレメント
    レジスタと異なるビット数を格納するコードベクトルエ
    レメントレジスタより成る、コードベクトルレジスタと
    、コードベクトルレジスタに格納されたコードベクトル
    データに基づいて、ベクトルレジスタに格納されたベク
    トルデータを処理する手段を備えたパイプライン演算器
    とを有することを特徴とするデータ処理装置。 5、命令の発行に先立ち、1以上のコードデータをベク
    トルエレメントとするコードベクトルデータを記憶する
    記憶部と、 被処理データをベクトルエレメントとするベクトルデー
    タを格納するベクトルレジスタと、発行された命令に従
    い、記憶部の、命令のオペランドで指定される記憶領域
    に記憶されている、前記コードベクトルデータを格納す
    るコードベクトルレジスタと、コードベクトルレジスタ
    に格納されたコードベクトルデータに基づいて、ベクト
    ルレジスタに格納されたベクトルデータを、順次処理す
    る手段を備えたパイプライン演算器とを有するプロセッ
    サと、 を有することを特徴とするデータ処理システム。 6、請求項3または4記載のデータ処理装置であって、 パイプライン演算器の処理を規定するコードが、複数の
    、異る演算ステージ処理の組合せである場合にも、パイ
    プライン演算器において無効ステージが生じないように
    、各処理のチェイニングを行う論理部を有することを特
    徴とするデータ処理装置。 7 オペランドにより指定される記憶領域に格納された
    1以上のコードが各々規定する演算器の処理の実行を指
    示する命令を含む命令セットを備えたことを特徴とする
    データ処理装置。
JP34471689A 1989-12-30 1989-12-30 データ処理システムおよびデータ処理装置 Pending JPH03204079A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34471689A JPH03204079A (ja) 1989-12-30 1989-12-30 データ処理システムおよびデータ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34471689A JPH03204079A (ja) 1989-12-30 1989-12-30 データ処理システムおよびデータ処理装置

Publications (1)

Publication Number Publication Date
JPH03204079A true JPH03204079A (ja) 1991-09-05

Family

ID=18371429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34471689A Pending JPH03204079A (ja) 1989-12-30 1989-12-30 データ処理システムおよびデータ処理装置

Country Status (1)

Country Link
JP (1) JPH03204079A (ja)

Similar Documents

Publication Publication Date Title
US4745547A (en) Vector processing
US4740893A (en) Method for reducing the time for switching between programs
KR102413832B1 (ko) 벡터 곱셈 덧셈 명령
US4616313A (en) High speed address calculation circuit for a pipeline-control-system data-processor
US5381531A (en) Data processor for selective simultaneous execution of a delay slot instruction and a second subsequent instruction the pair following a conditional branch instruction
JPS6351287B2 (ja)
JP3573506B2 (ja) 述語、及びブール式を解くためのコンピュータ・システム、及び方法
JPS5847053B2 (ja) デ−タ処理装置
JPH03286332A (ja) デジタルデータ処理装置
KR100681199B1 (ko) 코어스 그레인 어레이에서의 인터럽트 처리 방법 및 장치
JPH0363092B2 (ja)
JPH03204079A (ja) データ処理システムおよびデータ処理装置
JPH0345420B2 (ja)
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
GB2380283A (en) A processing arrangement comprising a special purpose and a general purpose processing unit and means for supplying an instruction to cooperate to these units
JP3000857B2 (ja) プログラマブルコントローラ
JP3278441B2 (ja) ベクトル処理装置
JPH0517589B2 (ja)
WO2001016712A1 (en) Digital signal processing apparatus and method for controlling the same
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH02255916A (ja) データ処理システム
CN1005657B (zh) 信息处理装置
JPH0222417B2 (ja)
JPH0512009A (ja) デイジタル信号処理装置
JPH01187638A (ja) プロセッシングユニット