JPS61285577A - ベクトル命令処理方式 - Google Patents

ベクトル命令処理方式

Info

Publication number
JPS61285577A
JPS61285577A JP12600785A JP12600785A JPS61285577A JP S61285577 A JPS61285577 A JP S61285577A JP 12600785 A JP12600785 A JP 12600785A JP 12600785 A JP12600785 A JP 12600785A JP S61285577 A JPS61285577 A JP S61285577A
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.)
Granted
Application number
JP12600785A
Other languages
English (en)
Other versions
JPH0357498B2 (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

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00—Digital computers in general; Data processing equipment in general
    • G06F15/76—Architectures of general purpose stored program computers
    • G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053—Vector 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)

Abstract

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

Description

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

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 true JPS61285577A (ja) 1986-12-16
JPH0357498B2 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
JPH0357498B2 (ja) 1991-09-02

Similar Documents

Publication Publication Date Title
US5299320A (en) Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in accordance with a vector pipeline
US4539635A (en) Pipelined digital processor arranged for conditional operation
US4954947A (en) Instruction processor for processing branch instruction at high speed
JPS62115542A (ja) 情報処理装置
KR100188374B1 (ko) 연산처리장치
JPS60178580A (ja) 命令制御方式
JPS6161416B2 (ja)
JPH0357498B2 (ja)
JP2758624B2 (ja) マイクロプログラムの調速方式
JP2812610B2 (ja) パイプライン制御方式
JP3531856B2 (ja) プログラム制御方法及びプログラム制御装置
JP2819733B2 (ja) 情報処理装置
JPH0222417B2 (ja)
JPS595354A (ja) デ−タ処理装置
JP2545594B2 (ja) オペランドデータ先取り方式
JPH0721018A (ja) マイクロプログラム制御方式の中央処理装置
JP2825315B2 (ja) 情報処理装置
JPS63293638A (ja) データ処理装置
JPH0638235B2 (ja) 情報処理装置
JPH0561660B2 (ja)
JPS5927351A (ja) デ−タ処理装置
JPH0317135B2 (ja)
JPS6327975A (ja) ベクトル演算制御方式
JPH0512009A (ja) デイジタル信号処理装置
JPS6028014B2 (ja) マイクロプロセツサ