JPS581246A - 命令処理順序制御方式 - Google Patents

命令処理順序制御方式

Info

Publication number
JPS581246A
JPS581246A JP56099201A JP9920181A JPS581246A JP S581246 A JPS581246 A JP S581246A JP 56099201 A JP56099201 A JP 56099201A JP 9920181 A JP9920181 A JP 9920181A JP S581246 A JPS581246 A JP S581246A
Authority
JP
Japan
Prior art keywords
instruction
order
register
execution
processing
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
JP56099201A
Other languages
English (en)
Inventor
Shigeaki Okuya
茂明 奥谷
Tetsuo Okamoto
岡本 哲郎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP56099201A priority Critical patent/JPS581246A/ja
Publication of JPS581246A publication Critical patent/JPS581246A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 本発明は、演算処理部を複数個備えてプログラム順に命
令を受取るがその実行は蚊演算部で並行して行ない、従
って命令実行終了はプログラム順とは限らないデータ処
理装置における命令処理順序制御方式に関する。
データ処理装置は例えばaとbを加算しその結果・を求
めよ等の、オペランドが単一エレメントの命令の実行を
行なうものが普通であるが、複数のエレメントを有する
第2オペランド(1・、18.・・・・=”・a @ 
−1)と複数のエレメントを有する第3オペランドB(
b・、bl・・・・・−・・bB−t )とを対応する
エレメント同士に演算を施して結果の第1オペランドC
(C・、@宜・・・・・−@、−1)を得るものもあシ
、これは、ベクトル処理装置とよばれている。菖1図は
ベクトル処理装置の概要を示すもので、1は主記憶装置
、2は主記憶制御装置〜3はベクトル処理装置であって
、その4はストア処理部、5はμmド処理部、6はベク
トル・レジスタ群、7は乗算器18ti加算器、セして
9は命令制御部である。lj線の矢印はデータの流れを
示し、点線の矢印は制御信号の流れを示す、ストア処理
部4はベクトル・レジスタ群6のデータを主記憶装置1
に格納するためのものであシ、ロード処理部5は逆に主
記憶装置1かものデータをベクトル・レジスタ群6に□
格納するためのものである。ベクトル・レジスタ群6は
、複数のエレメントよ)なるベクトルデ−タ(前記のA
、Bなど)を保持するレジスタを複数個有している。ス
トア処理部4、ロード処理部5、乗算器7および加算器
8はパイプライン構造のもので、1つの処理が終了しな
い前に次の処理を開始することができる。
ベクトル命令は、命令(oIL)コード、第1オペラン
ド、第2オペランド、および第3オペランド各指定部を
有している。そして、ベクトル乗算命令は例えば VMl、2.3 で表わされる。これは、第2ベクトル・レジスタと第6
ベクトル・レジスタの内容とを乗算し、結果を第1ベク
トル・レジスタに入れよという命令である。ベクトル加
算命令は例えば Vム4,5.1 で表わされこれは、第5ベクトル・レジスタと第1ベク
トル・レジスタの内容を加算し、結果を第4ベクトル・
レジスタに入れよという命令である。
これらの命令を処理する乗算器7、加算器8はパイプラ
イン構造で、例えば加算器8におけるベクトル加算命令
の処理は第2図に示す如く■ データの続出しくREA
D) ■ 両オペランドの指数比較(COMPARE )■ 
指数合わせのためのシフ) (PRESHIFT )■
 加算(ムDD) ■ 演算後の正規化のためのシフ) (PO8TSHI
FT) ■ データの書込み(WRITE) 06段階で行なわれ、最初のニレメン)(&1IIbO
)についてこの6段階の処理が行なわれている間に、第
2.第5−−−−−−のエレメント(’le 1)IL
 (’!+ bl)・・・・・・・・・K対する同様処
理が次々と開始される。従って命令処理は、絡2図に示
すように平行四辺形で表わされる。今一 アドレス     命   令 ■   100    vム 1,2.3■   10
4.Vム 4,5.6 ■   108     VM  7.8.7という命
令列があったとする。一般的な処理手順に従えばアドレ
ス100から読出したベクトル加算命令Vム1,2.5
を実行し、次いでアドレス104から続出したベクトル
加算命令Vム4.5.6を実行し、その後アドレス10
8から読出したベクトル乗算命令VM7..8.7を実
行することKなる。しかし第1図のような加算器と乗算
器を別に持っているデータ処理装置でか\るプログラム
順序通シの処理を行なったのでは徒らに処理時間を長く
することになるので、これらの命令を順次先取りし、加
算器8が■の加算命令を実行しているときに乗算器7で
は■の乗算命令を実行し、■の加算命令は加算器8が空
いてから実行するという命令処理方式(第3図参照)を
本発明者等は先に提案したく特願昭56−47774号
参照)。この命令処理方式はベクトル処理装置の概念お
よび命令の実行順序をハードウェア上でダイナミックに
変更し、処理時間を短縮する上で非常に効果的である。
、ところで、この命令処理方式ではプログラム割込み等
を考慮すると次の様な問題が生ずる0例えば第3図の時
刻Tで乗算に対する割込みが発生したとすると、この■
VM 7.8.7の命令の実行終了で次に処理すべき命
令のアドレスは108とし、この状態で割込みの処理に
入ってしまう、何故なら命令VM7,8.7はプログラ
ムの順序は本例では3番目であるが、実行は2番目に行
なっており、処理終了は2番目(図示のように2誉目の
命令■Vム4,5.6の実行終了はこの後)であるから
、何らかの特別な処理をしなければ割込みは2帯目の命
令の実行中にありたと判断され、次に実行すき命令は6
番目即ち■VM7,8.7であり、メモリ上のそのアド
レスは108とガる。こうして命令■が2膨突行されて
しまう、命令■VM7,8.7は第7レジスタの内容〔
7〕と第8レジスタの内容〔8〕とを乗算(*)シてそ
の結果を第7レジスタに書込めというベクトルに乗算命
令であるから、割込み後の命令アドレスが再び10Bで
あると〔7〕←(s) * ((8) * (7) )
となりて第8レジスタの内容〔8〕が1回余分に乗算さ
れ、誤った結果を生じる。正しくは、割込み□ 処理後
の再開命令アドレスは112にならなければならないが
、これには点線矢印で示すように命令■の実行終了でア
ドレス更新するのではなく、命令■の実行終了通知を延
期して実線矢印で示すように命令■の実行終了後の時点
でアドレス更新をする必要がある。これは命令アドレス
部では命令の内容にタッチするのではなく、単に命令が
何個路りた時に割込みが検出されたかという判断しかし
ていないからに依るもので、時刻Tの割込みは命令■の
後の命令■の実行中に生じたものであり、次に処理すべ
きは命令■、アドレスは112であるという判断はでき
ない・ 本発明は、主記憶から取り込んだ命令列に命令順序番号
を付け、その番号順に終了通知を上げるようにすること
により上述した問題点を解決しようとするものであり、
その特徴とするところは複数の演算処理部を持ち、プロ
グラム順序通すに命令を受取るが命令の実行は骸複数の
演算処理部を並行動作させて行ない、命令の実行終了は
プロゲラ五順序通夛とは限らないデータ処理装置の命令
処理順序制御方式において、受取りた命令に前記プログ
ラム順の命令順序番号を付し、演算実行中命令情報保持
レジスタからの完了命令取出しは該命令順序番号の順に
行なうようにする点にある。
以下図示の実施例を参照しながらこれを詳細に説明する
第4図は本発明の一実施例を示すブロック図で、第1図
における命令制御部9の詳細を示すものである。10は
7エツチレジスタで、ζこには主記憶装置1から順次読
み出された命令情報(前述したVム、VM等)が取シ込
まれる。そして、このレジスタ10の内容は待合せレジ
スタ投入制御回路11によりて待合せレジスタ12.1
5のうちの空いたレジスタに書込まれる。この時命令番
号付与回路14によって各命令に命令順序番号IDが付
される。この命令順序番号IDは命令を取り入れてから
その命令の順序が不明になるまでの間、本回路ではレジ
スタ12.L5に書込むまでに付す必要がある。命令順
序番号の付与はカウンタ15の内容を最初0にセットし
ておき、命令を取り込む都度カウントアツプし、そして
前述した例であれば最初の命令Vム1,2.3に命令順
序番号IDとして■(2ピット2進符号では00)を、
同様にして2番目の命令Vム4.5.6に■(同01)
を、そして3番目の命令VM7.8.74C■(同10
)を付す、以下同様である。レジスタ12.13はセレ
クタ16で1サイクル毎に選択され、その命令発信条件
が命令発信制御回路17で検査される。具体的には、(
1)当該命令が使用する演算処理部7゜8が空いている
か否か、(2)先行命令とのレジスタ干渉がないか、(
5)実行中命令管理部18.21が空いているか否か等
がチェックされる。そして、命令実行開始を妨げる要因
がなければ当該命令に従って演算処理部7tたは8に演
算処理部起動情報を送ると共に、当該命令がベクトル加
算命令Vムなら演算実行中命令情報保持レジスタ22に
、またベクトル乗算命令VMなら演算実行中命令情報保
持レジスタ19に転送する。
次に20は実行中命令管理部18の割込みレジスタで、
乗算に対する割込みが記憶される。同様にして25は実
行中命令管理部21の割込みレジスタで、加算に対する
割込みが記憶される。24は完了命令取出し部で、セレ
クタ25、レジスタ26、デコーダ27からなる。28
は終了順序識別回路で、カウンタ29と一致回路50.
51からなる。32は命令アドレス部で、加算器63と
命令アドレスレジスタ34からなる。カウンタ15゜2
9はレジスタ12,15,19.22の数(本例では4
)と等しいかそれ以上の数を計数できるものであシ、ま
た命令順序番号IDはそのカウンタの値を保持し得るビ
ット数である。従って、カウンタ15.29が0〜3を
巡回して計数する場合にはIDは2ビツトで足りる。
本例の命令制御部では籐3図の時刻Tで割込みが発生し
たとき、それが乗算器7に関するものであればレジスタ
20にそれがセットされる。レジスタ20は割込み有り
、無しを′″i Il、“0”で示し本例では11m出
力状態となる。この時点ではレジスタ19の内容は命令
■VMであり、またレジスタ22の内容は命令■Vムで
ある。命令■Vムは□既に実行が終了しているのでレジ
スタ22から完了命令取出し部24のレジスタ26へ転
送されておシ、その命令長(本例では4バイト)がデコ
ーダ27でデコードされ、命令アドレス部32へ送られ
てそのレジスタ34の内容を加算器55により+4する
。つまり、アドレス100は104に更新される。この
段階で命令■VMK割込みが発生するとその処理に入る
が、割込み発生時点で直ちに命令■■の実行が中断する
ことはなく、実行完了まで継続する。カウンタ29はカ
ウンタ15と同様に初期値は2連符号の00であシ、そ
の内容は一致回路30.31でレジスタ19.22の命
令順序番号IDと比較される。レジスタ22内の命令■
の実行が終了したとき、命令■のIDとカウンタ29の
内容00とは一致回路31で一致し該回路51はセレク
タ25に信号を与えてレジスタ22内の命令を上述のよ
うにレジスタ26へ取込ませ、カウンタ29の内容は0
1になる。続いて命令■の処理が実行されている関に命
令■の処理が終了するとカウンタ29の内容01と命令
■の順序番号5とが一致回路30で比較されるがこれら
は異なるので咳回路30は一致出力を生ぜず、レジスタ
19内の命令■の送出は待機される。そして命令■の処
理が終了すると一致回路51でカウンタ29の内容と一
致がとれるのでレジスタ22の内容(命令■)が完了命
令取出し部24へ転送され、命令アドレス部52のアド
レスは104から108へ更新される。またカウンタ2
9はカウントアツプして計数値10となり、今度は一致
回路30でカウンタ29の内容と一致がとれてレジスタ
19で待機していた命令■は完了命令取出し部24へ転
送され、命令アドレス部22のアドレスが108から1
12に更新される。この後前述した割込みに対する処理
がなされるが、中断したベクトル演算処理は命令アドレ
ス部32が指示する次のアドレス112の命令■から再
開できるので、アドレス108の命令■を2重に実行す
る誤動作は防止される。
以上の説明は加算、乗算処理で行なったが、メモリアク
セスを伴う、ロード命令処理やストア命令処理について
も本発明を適用してよく、ロードやストアはメモリの競
合による処理時間の乱れが起きて処理時間が不定になる
場合や、更に1メモリアクセス時間が長くかかるような
場合にも有効である。また命令■■■はこの順に実行す
るが、命令■の処理終了が命令■の処理終了よシ遅れる
場合彦どKも本発明は適用でき、有効である。
以上述べたように本発明によれば、複数の演算処理部を
並行動作させ、例えば後に取シ出した命令を先に実行す
る等して処理時間の短縮を図るベクトル処理装置等のデ
ータ処理装置で命令実行完了順序が狂ってしまう場合に
も、命令実行完了通知はプログラム順とするので、割込
み等があっても誤動作することはなく、リトライなどを
保証することができる。
【図面の簡単な説明】
第1図はベクトル処理装置の一例を示すブロック図、第
2図はベクトル加算命令の処理手順を示す説明図、第5
図は命令処理順序を主記憶からの命令取シ出し順序と異
ならせて処理時間の短縮を図る命令処理順序の説明図、
第4図は本発明の−□実施例を示すブロック図である。 図中、7.8は演算処理部、14は命令番号付与回路、
19.22は演算実行中命令情報保持レジスタ、24は
完了命令取出し部、28は終了順序識別回路、32は命
令アドレス部、IDは命令順序番号である。 出願人 富士通株式会社

Claims (1)

    【特許請求の範囲】
  1. 複数の演算処理部を持ち、プログラム順序通シに命令を
    受取るが命令の実行は誼複数の演算処理部を並行動作さ
    せて行表い、命令の実行終了はプログラム順序通)とは
    限ら表いデータ処理装置の命令処理順序制御方式におい
    て、受取った命令に前記プログラム順の命令順序番号を
    付し、演算実行中命令情報保持レジスタからの完了命令
    取出しは該命令順序番号の順に行なうようKすることを
    特徴とした命令処理順序制御方式。
JP56099201A 1981-06-26 1981-06-26 命令処理順序制御方式 Pending JPS581246A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56099201A JPS581246A (ja) 1981-06-26 1981-06-26 命令処理順序制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56099201A JPS581246A (ja) 1981-06-26 1981-06-26 命令処理順序制御方式

Publications (1)

Publication Number Publication Date
JPS581246A true JPS581246A (ja) 1983-01-06

Family

ID=14241030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56099201A Pending JPS581246A (ja) 1981-06-26 1981-06-26 命令処理順序制御方式

Country Status (1)

Country Link
JP (1) JPS581246A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61286931A (ja) * 1985-06-14 1986-12-17 Hitachi Ltd 情報処理装置
JPS62278639A (ja) * 1986-05-27 1987-12-03 Nec Corp 情報処理装置
JPH0248732A (ja) * 1988-08-11 1990-02-19 Toshiba Corp 命令パイプライン方式のマイクロプロセッサ
JPH06149567A (ja) * 1992-11-04 1994-05-27 Nec Corp 先行制御装置
JPH06236275A (ja) * 1993-01-08 1994-08-23 Internatl Business Mach Corp <Ibm> スーパースカラ・プロセッサ・システムにおける非逐次命令ディスパッチおよび実行のための方法およびシステム
JPH06242954A (ja) * 1993-01-08 1994-09-02 Internatl Business Mach Corp <Ibm> 独立にアクセスされる中間記憶域を利用してスーパースカラ・プロセッサ・システムにおける命令ディスパッチを改善する方法およびシステム
JPH06242955A (ja) * 1993-01-08 1994-09-02 Internatl Business Mach Corp <Ibm> スーパースカラ・プロセッサ・システムにおける中間記憶バッファの割当てをインデックスする方法およびシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5110746A (ja) * 1974-07-17 1976-01-28 Hitachi Ltd
JPS53108254A (en) * 1977-03-02 1978-09-20 Nec Corp Information processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5110746A (ja) * 1974-07-17 1976-01-28 Hitachi Ltd
JPS53108254A (en) * 1977-03-02 1978-09-20 Nec Corp Information processor

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61286931A (ja) * 1985-06-14 1986-12-17 Hitachi Ltd 情報処理装置
JPS62278639A (ja) * 1986-05-27 1987-12-03 Nec Corp 情報処理装置
JPH0248732A (ja) * 1988-08-11 1990-02-19 Toshiba Corp 命令パイプライン方式のマイクロプロセッサ
JPH06149567A (ja) * 1992-11-04 1994-05-27 Nec Corp 先行制御装置
JPH06236275A (ja) * 1993-01-08 1994-08-23 Internatl Business Mach Corp <Ibm> スーパースカラ・プロセッサ・システムにおける非逐次命令ディスパッチおよび実行のための方法およびシステム
JPH06242954A (ja) * 1993-01-08 1994-09-02 Internatl Business Mach Corp <Ibm> 独立にアクセスされる中間記憶域を利用してスーパースカラ・プロセッサ・システムにおける命令ディスパッチを改善する方法およびシステム
JPH06242955A (ja) * 1993-01-08 1994-09-02 Internatl Business Mach Corp <Ibm> スーパースカラ・プロセッサ・システムにおける中間記憶バッファの割当てをインデックスする方法およびシステム

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US6219775B1 (en) Massively parallel computer including auxiliary vector processor
JP2645669B2 (ja) データ処理システム
JPS5911943B2 (ja) デ−タ処理装置の為のトラツプ機構
US6223278B1 (en) Method and apparatus for floating point (FP) status word handling in an out-of-order (000) Processor Pipeline
JP2003029986A (ja) プロセッサ間レジスタ継承方法及びその装置
JP2620511B2 (ja) データ・プロセッサ
US20230084523A1 (en) Data Processing Method and Device, and Storage Medium
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
US5301331A (en) Interruption handling system
JPH0348537B2 (ja)
JPH11272474A (ja) レジスタの複数割当てを利用した演算の処理中に割込み可能な複数実行装置
JPS581246A (ja) 命令処理順序制御方式
JP3146058B2 (ja) 並列処理型プロセッサシステムおよび並列処理型プロセッサシステムの制御方法
WO2021037124A1 (zh) 一种任务处理的方法以及任务处理装置
JPS6161416B2 (ja)
JPH01503340A (ja) データ処理ユニット
JP2783285B2 (ja) 情報処理装置
JPH0373010B2 (ja)
JP2824484B2 (ja) パイプライン処理計算機
JP2876791B2 (ja) 例外処理装置および例外処理方法
EP1235139A2 (en) System and method for supporting precise exceptions in a data processor having a clustered architecture
JP2814683B2 (ja) 命令処理装置
US20040148494A1 (en) Method and apparatus for reducing register usage within a pipelined processor
JPH10283178A (ja) 命令を発行するための方法及びシステム