JPH0357498B2 - - Google Patents

Info

Publication number
JPH0357498B2
JPH0357498B2 JP12600785A JP12600785A JPH0357498B2 JP H0357498 B2 JPH0357498 B2 JP H0357498B2 JP 12600785 A JP12600785 A JP 12600785A JP 12600785 A JP12600785 A JP 12600785A JP H0357498 B2 JPH0357498 B2 JP H0357498B2
Authority
JP
Japan
Prior art keywords
register
instruction
vector
operand
signal
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
Application number
JP12600785A
Other languages
English (en)
Other versions
JPS61285577A (ja
Inventor
Hideo Wada
Masao Furukawa
Takeshi Watanabe
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 JP12600785A priority Critical patent/JPS61285577A/ja
Publication of JPS61285577A publication Critical patent/JPS61285577A/ja
Publication of JPH0357498B2 publication Critical patent/JPH0357498B2/ja
Granted 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

【発明の詳細な説明】 〔発明の利用用野〕 本発明は、ベクトル命令を実行する機構(内蔵
型アレイプロセツサ、以下IAPと略記する)を有
する電子計算機に係り、特に、条件コード(以下
CCと略記する)をセツトするベクトル命令の処
理方式に関する。
〔発明の背景〕 本発明で対象とする計算機システムを第5図に
示す。命令ユニツト10は記憶制御ユニツト20
を介して主記憶装置30より命令語を読み出し、
該命令語中の命令コードを解読し、それにしたが
つてオペランドデータを主記憶装置30または図
示しないレジスタより読み出して演算ユニツト4
0に送り、命令の実行を行わせる。演算ユニツト
40は、制御部41によつて演算器42を制御し
て、前記のようにして送られたきたオペランドデ
ータを演算し、演算結果を主記憶装置30または
レジスタに格納する。演算ユニツト40の制御部
41は制御記憶を内蔵し、そこにマイクロプログ
ラム(マイクロ命令群)を記憶している。実行す
る命令が命令ユニツト10によつて定められる
と、その命令に対応するマイクロ命令群が制御記
憶から順次読み出され、デコードされて演算部4
2のコントロール信号となる。1つのマイクロ命
令は、1マシンサイクルで実行される。
IAP50は、ベクトル命令を実行するユニツト
である。IAP50は演算ユニツト40の場合と同
様に制御部51と演算部52を含み、命令ユニツ
ト10および記憶制御ユニツト20によつて送ら
れてきたオペランドデータを、制御部41中のマ
イクロプログラムに従つて演算器52で演算し、
演算結果を主記憶装置30またはレジスタに格納
する。制御部51はベクトル命令が実行されてい
る間、演算部52の制御を行う。
第6図はベクトル命令の仕様を示したものであ
る。命令のR1フイールドで示された汎用レジス
タで、ベクトルの初期カウント、次の番号の汎用
レジスタでベクトル長を示す。R3フイールドで
示されたアドレスにはOAV(Operand Address
Table)というテーブルがあり、後述する第2オ
ペランド、第3オペランド、第1オペランドの
VDT(Vector Data Table)コントロールベク
トルのアドレスを格納している。該アドレスで示
されたVDTには、ベクトルの先頭のアドレスと
ベクトルの各要素の間隔(インクリメント値とい
う)が格納されている。以上のデータより、ベク
トルの各要素のアドレスが計算される。B2フイ
ールドで示された汎用レジスタの値に、D2フイ
ールドの値を加えたアドレスにある8バイトデー
タの8ビツトは、ベクトル命令の副指令を表わ
し、ベクトル命令の種類を示す。
本発明にかゝわるベクトル命令は、条件コード
(CC)をセツトする仕様の命令である。こゝでは
その一例として、VSM(Vector Sum)命令をと
りあげることにする。
VSM命令の仕様は、以下の通りである。第1
オペランドはスカラであり、R1フイールドで示
された浮動小数点レジスタにある。第2オペラン
ドはベクトルであり、第6図のようにアドレスづ
けされる。第1オペランドと第2オペランドの各
ベクトル要素が加えられ、その総和がR1フイー
ルドで示された浮動小数点レジスタに格納され
る。たゞし、演算はコントロールベクトルという
ベクトルの制御をうける。コントロールベクトル
は、0,1からなるベクトルであり、第2オペラ
ンドのベクトル長分だけの要素をもつているコン
トロールベクトルの各要素は、同一要素番号の第
2オペランドの要素に対応し、コントロールベク
トル要素が1のときのみ演算をし、0のとき実行
しない。そして演算の最終結果に対し、CCが以
下のように決定される。
CC=0…結果がゼロ CC=1…結果が負 CC=2…結果が正 ただし、ベクトル長が0またはコントロールベ
クトルがすべて0の場合、即ち、演算を一度も行
わない場合は、演算開始時の浮動小数点レジスタ
の内容によつてCCを決める。
第7図は従来のIAPの演算部52の詳細構成図
である。521,522はワークレジスタであ
り、レジスタ(WBR)521には第1オペラン
ド、演算の中間および最終結果が格納される。レ
ジスタ(WAR)522には、第2オペランドが
格納される。加算器523はレジスタ521とレ
ジスタ522の値を演算する。レジスタ525に
は、演算結果がセツトされる。レジスタ524は
前述の浮動小数点レジスタ(FPR)である。セ
レクタ529は、CC生成論理回路526に入る
データを、レジスタ521からのデータにするか
レジスタ525からのデータにするか切り分け
る。CC生成論理526は、入力データに関し、
前述の基準に従つてCCを定める。レジスタ52
7は該CCをセツトする。
第8図は従来のIAPにおけるVSM命令のマイ
クロプログラムフローの概略を示したものであ
る。このフローに従つて第7図の動作を説明す
る。なお、レジスタ521には命令ユニツト10
により前もつて第1オペランドがセツトされてい
るとする。
ステツプ1でコントロールベクトルのレジスタ
528への格納を行い、ステツプ2でIAP内の各
制御レジスタをVSM命令にあわせてイニシヤラ
イズする。ステツプ3で第2オペランドの1番目
の画素(エレメント1と書くことにする)を読み
出す。ステツプ4では、読み出されたエレメント
1をレジスタ522にセツトする。また、次エレ
メント2を読み出す。ステツプ5で、レジスタ5
22(エレメント1)をレジスタ521(第2オ
ペランド)に加え、結果を対応するコントロール
ベクトルが1ならば、レジスタ521とレジスタ
525にセツトする。また、読み出されたエレメ
ント2をレジスタ522にセツトする。そして、
エレメント3を読み出す。
ステツプ6では、レジスタ525(第1オペラ
ンド+エレメント1)の値からCC生成論理回路
526でCCを作成し、対応するコントロールベ
クトルが1ならばレジスタ527にセツトする。
また、レジスタ521(第1オペランド+エレメ
ント1)にレジスタ522(エレメント2)を加
えて、対応するコントロールベクトルが1なら
ば、結果をレジスタ521,525にセツトす
る。そして、読み出されたエレメント3をレジス
タ522にセツトし、エレメント4を読み出す。
以後、ステツプ6をエレメント数−3回繰り返
し、その度ごとにエレメントは1つずつ先に行
く。ステツプn−4〜n−2で最終エレメントが
処理され、最終結果がレジスタ521に入る。ス
テツプn−1でセレクタ529をレジスタ521
側にし、ステツプnでレジスタ521のデータか
らCCを生成し、レジスタ527にセツトする。
以上の動作を図示したものが第9図である。図
中、OP1は第1オペランドを、aiは第2オペラ
ンドのエレメントiを表わす。aNは最終エレメン
トを表わす。
こゝで、ステツプn−1とnは後処理であり、
以下の理由により必要なものである。コントロー
ルベクトルが全て0、またはベクトル長=0の場
合、一度も演算をしないわけだから、レジスタ5
27は一度もセツトされない。すなわち、CCは
前の命令のCCが残つたまゝである。仕様では、
このような場合、演算開始前の浮動小数点レジス
タの値によつてCCを決めることになつている。
演算は一度もしないわけだから、演算開始時の浮
動小数点レジスタの値がレジスタ521に残つて
いるので、レジスタ521の値を使つてCCをセ
ツトするのである。
このように、従来の計算機システムでは、マイ
クロプログラムによる後処理(第8図のステツプ
n−1,n)でCCをセツトし直しており、ベク
トル命令の実行時間がが長くなるという欠点があ
つた。
〔発明の目的〕
本発明の目的は、IAPを有する計算機システム
において、従来のベクトル命令の処理ではCCの
再セツトによつて実行時間が長くかゝつた後処理
を短縮することにより、ベクトル命令の実行を高
速化にする処理方式を提供することにある。
〔発明の概要〕
本発明は、従来、マイクロプログラムによる後
処理中で行つていたCCのセツトを、実際に演算
が始まる前にハードウエアで第1オペランド+0
の演算を実行して行うことにより、後処理でCC
をセツトする場合のオーバヘツドをなくしたこと
を特徴とするものである。
〔発明の実施例〕
第1図は本発明の一実施例の構成図であり、従
来の第7図に対応するものである。第7図と比
べ、セレクタ529がなくなつた以外、それほど
大きな構成上の相違はない。従つて、各部の働き
も第7図と同じである。
本発明の主眼は制御部51の構成にある。第2
図は制御部51の構成例を示したものである。
第2図において、制御部51はT0,T1,T2,
T3の4相クロツクで動くとしている。レジスタ
510〜518はT1セツト、レジスタ519、
51AはT2セツトである。信号53は、マイク
ロプログラムで「演算実行」を指定すると、第5
図における演算ユニツト40の制御部41から送
出され、そのサイクルのT0から1サイクルの間
出る。信号54はマイクロプログラムの実行信号
であり、同じく演算ユニツト40の制御部41か
ら出て、そのサイクルのT0からT2まで出る。信
号55はベクトル命令の副指令を表わし、同じく
演算ユニツト40の制御部41から出て、マイク
ロプログラムで「副指令をレジスタ514にセツ
ト」を指定すると、そのサイクルのT0から1サ
イクルの間出る。信号56は、副指令をレジスタ
514にセツトすることを表わし、同じく演算ユ
ニツト40の制御部41から送出され、マイクロ
プログラムで「副指令をレジスタ514にセツ
ト」を指定すると、そのサイクルのT0から1サ
イクルの間に出る。
レジスタ510,511,512,513は、
演算のステージを表わす。以下、これらのレジス
タを演算サイクルレジスタ群と呼ぶことにする。
マイクロプログラムで「演算実行」を指示する
と、そのサイクルのT1でレジスタ510が1に
なり、その後、信号54が来るたびに(すなわ
ち、マイクロ命令が1ステツプ実行されるたび
に)、レジスタ510の値はレジスタ511,5
12,513と移る。レジスタ514は、命令の
開始時にベクトル命令の副指令が格納され、次の
命令時まで内容は不変でデコーダ51Bによつて
デコードされ、そのデコード信号が演算部52の
制御信号になる。
レジスタ518は、ベクトル命令開始時に1サ
イクルの間だけ1になる。レジスタ514,51
8より、VSM命令が起動されたことを示す信号
59が出る。以後、信号54が来るたびに(すな
わち、マイクロ命令が1ステツプ実行されるたび
に)、信号59の値はレジスタ515,516、
517へと移る。すなわち、レジスタ518はレ
ジスタ515,516,517は、ベクトル命令
の開始時に起動される所のいわばダミーの演算ス
テージを形成している。これにより、命令で指定
するオペランドが演算する前に起動される。これ
らのレジスタをダミーサイクル・レジスタ群に呼
ぶことにする。
レジスタ511と515はオアされて、T2で
レジスタ519にセツトされ、信号54とアンド
がとられて信号57になる。同様に、レジスタ5
12と516はオアされて、T2でレジスタ51
Aにセツトされ、信号54とアンドがとられて信
号58になる。信号57はレジスタ625(加算
器623の出力レジスタ)のセツト信号、信号5
8はレジスタ627(CCレジスタ)のセツト信
号である。なお、レジスタ622,621のセツ
ト信号については、本発明と直接関係がないので
省略する。
本発明によるIAP50によつてVSM命令を実
行するマイクロプログラムの一例を第3図に示
す。第8図の従来のマイクロプログラムと異なる
点は、ステツプ2における制御レジスタのイニシ
ヤライズが副指令のレジスタ514へのセツトに
変わつた点と、演算とCCのセツトをハードウエ
ア制御にして、マイクロプログラムで「演算実
行」を指定すればハードウエアがそのサイクルで
演算実行して、結果をレジスタ521,525に
セツトし、次のサイクルでCCをセツトするよう
にした点で、及び後処理でCCの再セツトを行わ
ない点である。
第3図のマイクロプログラムを実行したときの
タイムチヤートを第4図に示す。
命令開始に先立つて、命令ユニツト10はレジ
スタ622で“0”、レジスタ621に第1オペ
ランド(レジスタ624の内容)をセツトしてい
る。ステツプ2のT1でレジスタ514に副指令
(VSM)がセツトされ、以後、次の命令まで値を
保つ。また、ステツプ2のT1でレジスタ518
が1になり、ステツプ3,4,5で、この値がレ
ジスタ515,516,517へと移る。ステツ
プ3,4,5,6,7では「演算実行」が指定さ
れているので、それぞれのサイクルのT1でレジ
スタ510がセツトされ、ステツプごとに、その
値がレジスタ511,512,513へと移る。
結果、レジスタ518、レジスタ515,51
6,517のダミーサイクル・レジスタ群による
信号57はステツプ4のT0で、信号58はステ
ツプ5のT0でそれぞれ出力され、「第1オペラン
ド+0」がステツプ4のT1でレジスタ625,
621に、この「第1オペランド+0」に対応す
るCCが、ステツプ5のT1でレジスタ627に入
る。レジスタ510,511,512,513の
演算サイクルレジスタ群による信号57はステツ
プ5以後に、信号58はステツプ6以後に出る。
演算ステージレジスタによる実行の様子は第4
図の通り、「演算実行」を指定したサイクルの次
の次のサイクルのT1で演算結果がレジスタ62
5にセツトされ、その次のサイクルでCCがセツ
トされる。この時対応するコントロールベクトル
が0であると、レジスタ625,627のセツト
は行われない。
このような方式であるため、演算が行われる指
令(ベクトル長が0でなく、かつ、コントロール
ベクトルが全て0でない)、最後の演算結果に対
するCCが最終的に残り、演算が行われない場合
(ベクトル長が0か、コントロールベクトルが全
て0の場合)、命令の最初に第1オペランドに対
するCCをセツトし、以後、演算は行わないので
CCはセツトされず、最終的に第1オペランドの
最初の値に対するCCが残るため、確かに命令仕
様を満たしている。
〔発明の効果〕
本発明によれば、ベクトル命令を実行する機構
を有する計算機システムにおいて、ベクトル命令
の後処理でのCCの再セツトをする必要がなくな
るので、実行時間が短縮できる。
【図面の簡単な説明】
第1図は本発明による計算機システムの主要部
の一実施例を示す図、第2図は第1図における制
御部の構成例を示す図、第3図は本発明を実施す
るマイクロプログラムの一例を示す図、第4図は
本発明の動作を説明するためのタイミング図、第
5図は本発明で対象とする計算機システムの構成
図、第6図は本発明で扱うベクトル命令の形式を
示す図、第7図は第1図に対する従来の構成例を
示す図、第8図は従来のベクトル命令のマイクロ
プログラムの一例を示す図、第9図は従来のベク
トル命令の実行経過を示す図である。 10…命令ユニツト、20…記憶制御ユニツ
ト、30…主記憶装置、40…演算ユニツト、5
0…内蔵型アレイプロセツサ、51…制御部、5
2…演算部、510,511,512,513…
演算サイクルレジスタ群、515,516,51
7,518…ダミーサイクル・レジスタ群。

Claims (1)

    【特許請求の範囲】
  1. 1 ベクトル命令をマイクロプログラム制御によ
    り実行する機構を有する電子計算機において、命
    令の種類をセツトしておくレジスタと、命令の種
    類がセツトされたことを示すレジスタと、該レジ
    スタの内容をマイクロプログラムのステツプが実
    行されるたびに後段へシフトするシフトレジスタ
    群と、前記レジスタ群から、演算器の出力を演算
    器の出力レジスタにセツトする信号、該レジスタ
    の内容から生成された条件コードを条件コードレ
    ジスタにセツトする信号を生成する手段とを設
    け、命令で指定されたオペランドの実行に先立つ
    て、演算器開始前のオペランドに対する条件コー
    ドを前記条件コードレジスタにセツトすることを
    特徴とするベクトル命令処理方式。
JP12600785A 1985-06-12 1985-06-12 ベクトル命令処理方式 Granted JPS61285577A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12600785A JPS61285577A (ja) 1985-06-12 1985-06-12 ベクトル命令処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12600785A JPS61285577A (ja) 1985-06-12 1985-06-12 ベクトル命令処理方式

Publications (2)

Publication Number Publication Date
JPS61285577A JPS61285577A (ja) 1986-12-16
JPH0357498B2 true JPH0357498B2 (ja) 1991-09-02

Family

ID=14924417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12600785A Granted JPS61285577A (ja) 1985-06-12 1985-06-12 ベクトル命令処理方式

Country Status (1)

Country Link
JP (1) JPS61285577A (ja)

Also Published As

Publication number Publication date
JPS61285577A (ja) 1986-12-16

Similar Documents

Publication Publication Date Title
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS6351287B2 (ja)
US4598358A (en) Pipelined digital signal processor using a common data and control bus
JP2993975B2 (ja) 中央演算処理装置
US5590359A (en) Method and apparatus for generating a status word in a pipelined processor
KR100188374B1 (ko) 연산처리장치
JPS60178580A (ja) 命令制御方式
JPH0357498B2 (ja)
JPH10124312A (ja) 中央処理装置
JP2758624B2 (ja) マイクロプログラムの調速方式
JPH0758460B2 (ja) 浮動小数点演算の正規化制御方式
JPS6134188B2 (ja)
JPS58200349A (ja) マイクロプログラム制御装置
US6996702B2 (en) Processing unit with cross-coupled ALUs/accumulators and input data feedback structure including constant generator and bypass to reduce memory contention
JPS61173345A (ja) 計算機システム
JP2637070B2 (ja) マイクロ命令先頭アドレス生成方式
JP2000029696A (ja) プロセッサおよびパイプライン処理制御方法
JP2825315B2 (ja) 情報処理装置
JPS595354A (ja) デ−タ処理装置
JPS5925264B2 (ja) ベクトル命令処理方式
JPH0222417B2 (ja)
JPH0317135B2 (ja)
JPH0561660B2 (ja)
JPH0528870B2 (ja)
JP2583614B2 (ja) ベクトル演算装置