JPH0769821B2 - 情報処理装置におけるバイパスライン制御方式 - Google Patents

情報処理装置におけるバイパスライン制御方式

Info

Publication number
JPH0769821B2
JPH0769821B2 JP63050756A JP5075688A JPH0769821B2 JP H0769821 B2 JPH0769821 B2 JP H0769821B2 JP 63050756 A JP63050756 A JP 63050756A JP 5075688 A JP5075688 A JP 5075688A JP H0769821 B2 JPH0769821 B2 JP H0769821B2
Authority
JP
Japan
Prior art keywords
instruction
bypass line
register
execution
control unit
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
JP63050756A
Other languages
English (en)
Other versions
JPH01224840A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP63050756A priority Critical patent/JPH0769821B2/ja
Priority to DE68923108T priority patent/DE68923108T2/de
Priority to CA000592752A priority patent/CA1311563C/en
Priority to EP89103775A priority patent/EP0331191B1/en
Priority to AU31029/89A priority patent/AU609262B2/en
Publication of JPH01224840A publication Critical patent/JPH01224840A/ja
Priority to US07/727,937 priority patent/US5333281A/en
Publication of JPH0769821B2 publication Critical patent/JPH0769821B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • G06F9/3828Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage with global bypass, e.g. between pipelines, between clusters

Landscapes

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、先行する命令の演算結果を後続の命令が使用
する場合、演算結果を格納すべきレジスタ群をバイパス
させて先行演算結果を演算器へ送出するようにした演算
処理装置におけるバイパスライン制御方式の改良に関す
る。
〔従来の技術〕
従来、この種の情報処理装置は、複数のレジスタから構
成されるレジスタ群と、同時動作可能な複数の演算器
と、演算器の演算結果をレジスタ群に供給するラインと
は別にレジスタ群をバイパスしてレジスタ群の読出しラ
インに供給するバイパスラインと、これらの要素を制御
する制御部とを備え、バイパスラインの制御は、レジス
タ群への演算結果の書込みレジスタ番号と、後続演算の
データ読出しレジスタ番号との比較により実現してい
た。このような従来の方式を次の命令列を例にして以下
説明する。
SFT S0←S1<S2 …(1) ADD S4←S0+S3 …(2) LD S0←M(a) …(3) なお、命令(1)は、レジスタ群中のレジスタS1のデー
タを同じくレジスタ群中のレジスタS2のデータの値だけ
シフトし、そのシフト結果をレジスタ群中のレジスタS0
に格納する命令、命令(2)は、命令(1)で得られた
シフト結果にレジスタ群中のレジスタS3のデータを加算
し、その結果をレジスタ群中のレジスタS4に格納する命
令、命令(3)はメモリのデータをレジスタ群中のレジ
スタS0にロードする命令である。
まず、命令(1)を制御部が解読すると、命令(1)で
指示されるレジスタS1,S2のデータをレジスタ群から読
出して読出しラインを介して演算器の一種であるシフタ
に供給し、演算起動をかける。制御部は命令(1)を解
読し演算起動をかけると、次に命令(2)の解読を行な
い、この解読により命令(2)が命令(1)の演算結果
(レジスタ群中のレジスタS0に格納されるべきデータ)
を必要とする命令であることを判断すると、その演算結
果がシフタから出力されるまで命令(2)の起動を待ち
合わせ、起動待ちの命令(2)が発生したことにより、
後続する命令(3)については無条件に処理を待ち合わ
せる。
シフト演算に必要な時間が経過すると、シフタから演算
結果が出力される。このとき、制御部はその演算結果を
格納すべきレジスタS0の番号と先行演算結果待ちで演算
起動を保留していた命令(2)の第1オペランドで指示
される読出しレジスタS0の番号とが一致していることを
検出し、バイパスラインを活性化して命令(1)の演算
結果をレジスタ群をバイパスさせてレジスタ群の読出し
ラインに直接に供給する。これにより、先行する演算結
果を後続の命令が使用する場合で、後続の命令が先行す
る演算終了を待ち合わせている場合には、先行する演算
結果をレジスタ群に一度格納しこの格納したデータを読
出して後続の演算に使用する場合に比べ、レジスタ群を
バイパスした分だけ後続処理の立ち上がりを高速化する
ことができる。
さらに制御部は命令(2)を起動すると、次の命令
(3)の解読を開始する。
第4図(a)は前述した命令(1),(2),(3)の
実行動作状態を表すタイムチャートであり、同図に示す
ように従来方式は、後続する命令(2)が先行する命令
(1)の演算結果を使用する場合、その後続の命令
(2)の起動を待ち合わせると共に、その待ち合わせた
命令(2)の起動後に次の命令(3)を起動していた。
〔発明が解決しようとする問題点〕
上述した従来の情報処理装置では、先行命令の演算結果
を後続の命令で使用する場合、先行命令の演算が終了す
るまでは、先行命令の演算結果を使用する命令のみなら
ず、それ以降の命令も実行していなかった。
ところが、前述の命令(1),(2),(3)について
みると、命令(2)は命令(1)の演算結果待ちである
ので命令(1)の演算終了までは実行することはできな
いが、命令(3)に関しては先行する演算結果を使用し
ないので、本来は命令(1)と並行して実行することが
できる。
第4図(b)は従来の情報処理装置において、前述した
同時実行可能な命令(3)を先廻り実行させた際の動作
実行状態を示すタイムチャートであり、このように先廻
り実行させることにより、情報処理装置の性能を高める
ことが可能となる。
しかし、このような同時実行可能な命令の先廻り実行を
従来の情報処理装置において採用することはできない。
その理由は、バイパスラインの制御を、レジスタ群への
演算結果の書込みレジスタ番号と、後続演算のデータ読
出しレジスタ番号との比較により実現していたからであ
る。すなわち、命令(3)のように、先行する命令
(1)と同一のレジスタS0にデータを格納する命令が後
続命令として続く場合、命令(3)を先廻り実行させて
命令(1)と並行して実行すると、命令(1)の演算結
果より先に命令(3)の演算結果が得られることもあ
り、実行待ちの命令(2)の読出しレジスタS0の番号
と、先行する命令の演算結果書込みレジスタS0の番号と
を単に比較するだけでは、命令(3)で得られた演算結
果を命令(2)で使用してしまうといった問題が生じ
る。このような為、従来の情報処理装置では先廻り実行
を行なっていなかったものである。
本発明はこのような事情に鑑みて為されたものであり、
その目的は、命令の先廻り実行を行なってもバイパスラ
イン制御を正しく行なうことができるバイパスライン制
御方式を提供することにある。
〔問題点を解決するための手段〕
本発明は上記目的を達成するために、 複数のレジスタから構成されるレジスタ群と、演算デー
タ供給パスを介して前記レジスタ群からデータが供給さ
れる同時動作可能な複数の演算器と、該複数の演算器の
演算結果を前記レジスタ群をバイパスして前記演算デー
タ供給パスに送り出すバイパスラインと、これらの各要
素を制御する制御部とを備え、同時に複数の演算を実行
することができる情報処理装置において、 前記制御部は、実行中の命令を実行中命令間でそれぞれ
異なる即ちユニークな番号に関連付けて管理すると共に
実行完了命令の演算結果を前記レジスタ群に格納するタ
イミングより所定サイクル前のタイミングサイクル時に
前記実行完了命令に対応する前記番号を出力する実行中
命令管理部と、先行する演算結果を使用する後続命令
を、その待ちの要因となった先行命令に関連付けた前記
番号と共に保持する実行待命令バッファと、該実行待命
令バッファに保持された前記番号と前記実行中命令管理
部から出力された前記番号との比較結果により前記バイ
パスラインを制御するバイパスライン制御部とを含んで
いる。
〔作用〕
本発明の作用を前記命令(1),(2),(3)を例に
して説明すると、命令(1),命令(3)が並行して実
行されており、命令(2)が命令(1)の演算結果待ち
のとき、実行中命令は命令(1),(3)なので、実行
中の命令を管理する実行中命令管理部は命令(1),命
令(3)をユニークな番号α,βに関連付けて管理し、
実行待ち命令バッファには上記命令(1)と関連付けら
れた番号αと共に命令(2)が格納される。したがっ
て、たとえ命令(3)が命令(1)より早く演算終了し
実行中命令管理部から先に番号βがバイパスライン制御
部に出力されても、バイパスライン制御部は実行待ち命
令バッファに保持された番号αと相違するのでバイパス
ラインを活性化せず、命令(1)の番号αが出力される
ことにより、バイパスラインを活性化する。これによっ
て、後続する命令(3)が先行する命令(1)と同一レ
ジスタへ演算結果を格納するものであっても、バイパス
ライン制御を正しく行なうことができる。
〔実施例〕
次に本発明の実施例について図面を参照して説明する。
第1図は本発明を適用した情報処理装置の一例を示すブ
ロック図である。
同図において、レジスタ群1は複数のレジスタS0〜Snか
ら構成され、各レジスタS0〜Snのデータはバイパスライ
ン選択器10を介して演算データ読出レジスタ7に読出す
ことができ、また演算結果書込レジスタ6に保持された
データを各レジスタS0〜Snに格納することができる。
複数の演算器2a〜2nは、同時に動作可能であり、加算,
乗算,シフト等の演算を行なう。各演算器2a〜2nへは演
算データ読出レジスタ7に保持されたデータが演算デー
タ供給パス3を介して供給され、各演算器2a〜2nで得ら
れた演算結果は対応する演算結果受信パス4a〜4nより取
出される。演算結果受信パス4a〜4nは演算結果選択器5
に接続され、この演算結果選択器5で選択された演算結
果が演算結果書込レジスタ6及び第1のバイパスライン
8に出力される。また、演算結果書込レジスタ6の保持
されたデータは前述したようにレジスタ群1に供給され
ると共に第2のバイパスライン9に送出される。
第1のバイパスライン8及び第2のバイパスライン9は
何れもレジスタ群1をバイパスしており、第1のバイパ
スライン8は演算結果選択器5の出力とバイパスライン
選択器10との間をつなぎ、第2のバイパスライン9は演
算結果書込レジスタ6の出力とバイパスライン選択器10
との間をつないでいる。
演算すべきデータは、通常は、レジスタ群1からバイパ
スライン選択器10を経由して演算データ読出レジスタ7
に格納され、ここから演算データ供給パス3を介して各
演算器2a〜2nに送出される。また、演算結果選択器5で
選択された演算結果は第1のバイパスライン8を経由し
てバイパスライン選択器10に加わり、演算結果書込レジ
スタ6の出力は第2のバイパスライン9を経由してバイ
パスライン選択器10に加わっているので、或る演算器の
演算結果を後続の演算で使用する場合には、何れかのバ
イパスラインを活性化すなわちバイパスライン選択器10
で何れかのバイパスラインを選択することにより、レジ
スタ群1を経由せずに演算データを各演算器2a〜2nに送
出することができる。
制御部11は、命令の解読,演算器2a〜2nの動作状態の管
理など、複数の演算を同時に行なうために各構成要素の
制御を行なう。このような制御部11の構成例を第2図に
示す。
第2図において、命令は命令解読部12で解読され、その
解読結果(その命令がどういう種別の命令であったかを
示す命令種別情報,その命令で書き込む又は読み込むレ
ジスタの番号およびその命令で使用する演算器の番号)
が実行起動制御部13へ送られる。実行起動制御部13で
は、解読された命令の実行に必要なデータ,演算器等の
リソースが準備されているか否かを実行中命令管理部14
から送られてきている、実行中の命令で使用しているレ
ジスタ番号および演算器番号に基づいて判定する。
即ち、後述するように実行中命令管理部14は、実行中の
命令で書き込み又は読み込みのために使用しているレジ
スタの番号およびその命令で使用する演算器の番号をス
タック140のエントリに保持して管理しており、そのエ
ントリの内容はそのエントリ番号と共に実行起動制御部
13へ送出されているので、実行起動制御部13は、解読さ
れた命令で使用するレジスタおよび演算器と実行中命令
管理部14から番号で通知されている実行中命令で使用し
ているレジスタおよび演算器が競合しないときには実行
するためのリソースに競合が無く起動可能と判定し、レ
ジスタ,演算器の何れかが競合する場合にはリソースに
競合があるため起動不可と判定する。
そして、命令を起動可能と判定した場合、実行起動制御
部13は、該当する演算器へ起動信号を出力して当該命令
を起動すると共に、その命令で書き込む又は読み込むレ
ジスタの番号,その命令で使用する演算器の番号および
その演算に要する演算時間を実行中命令管理部14に送出
する。
実行中命令管理部14は、同図に示すような複数のエント
リのスタック140と各エントリに対応する図示しない実
行中命令時間カウンタとを有しており、実行起動制御部
13から、起動された命令で使用するレジスタ番号,演算
器番号,演算時間を入力すると、スタック140の空きの
エントリに、そのレジスタ番号と演算器番号とを格納す
ると共に、そのエントリに対応する実行中命令時間カウ
ンタに演算時間をセットしカウントダウンを開始する。
なお、スタック140の各エントリの内容はそのエントリ
番号と共に実行起動制御部13へ送出されている。
そして、演算が完了した命令の演算結果格納に必要な情
報あるいは制御信号を第1図のレジスタ群1,演算結果選
択器5等の各構成要素に対して送出する。また、演算結
果をレジスタ群1に格納すべきタイミングの3タイミン
グサイクル前になったことを、実行中命令時間カウンタ
の値が所定値までカウントダウンされたことで判断する
と、その実行中命令時間カウンタ対応のスタック140の
エントリ番号(#1〜#m)をバイパスライン制御部15
へ出力する。なお、命令が使用するエントリはその命令
の実行が完了した時点で解放される。したがって、エン
トリ番号は実行中命令内、つまりは装置内でユニークな
命令認識指標となる。
一方、実行起動制御部13は、解読された命令で使用する
レジスタおよび演算器の何れかが、実行中命令管理部14
から送られてきている実行中命令で使用しているレジス
タおよび演算器と競合することにより、リソースに競合
があるため起動不可と判定すると、その要因となってい
る命令が使用しているスタック140のエントリ番号と、
実行待ちにする命令の解読結果とを実行待命令バッファ
16に登録し、その要因が解除されるのを待ち合わせる。
実行待命令バッファ16に格納されたエントリ番号はバイ
パスライン制御部15に送出される。
バイパスライン制御部15は、本実施例ではバイパスライ
ンが2本あるため、2個のレジスタRG1,RG2と2個の比
較器CM1,CM2とで構成されている。実行中命令管理部14
から出力されたエントリ番号はレジスタRG1に格納さ
れ、次のタイミングサイクルでレジスタRG2に格納さ
れ、次のタイミングサイクルでレジスタRG2から追い出
される。比較器CM1はレジスタRG1に保持されたエントリ
番号と実行待命令バッファ16から出力されるエントリ番
号とを比較した結果を第1のバイパスライン8活性用と
してバイパスライン選択器10に出力し、比較器CM2はレ
ジスタRG2に保持されたエントリ番号と実行待命令バッ
ファ16から出力されるエントリ番号とを比較した結果を
第2のバイパスライン9活性用としてバイパスライン選
択器10に出力する。
いま、演算結果がレジスタ群1に格納されるタイミング
サイクルをTとすると、演算結果はタイミングサイクル
T-1の期間中、演算結果書込みレジスタ6に保持され、
タイミングサイクルT-2で演算器の出力段レジスタ(図
示せず)に保持されている。一方、前述したように実行
中命令管理部14からは演算結果をレジスタ群1に格納す
る3タイミングサイクル前にエントリ番号がバイパスラ
イン制御部15へ出力されるから、そのエントリ番号はレ
ジスタRG1にはタイミングサイクルT-2の期間格納され、
レジスタRG2にはタイミングサイクルT-1の期間格納され
る。このため、タイミングサイクルT-2で実行待命令バ
ッファ16から同一エントリ番号が出力されていればその
タイミングで比較器CM1の一致出力により第1のバイパ
スライン8が活性化され、演算結果は第1のバイパスラ
イン8を経由して演算データ読出レジスタ7に格納され
ることになる。また、タイミングサイクルT-1のとき初
めて実行待命令バッファ16から同一エントリ番号が出力
されたならば、タイミングサイクルT-1で比較器CM2の一
致出力により第2のバイパスライン9が活性化され、演
算結果は第2のバイパスライン9を経由して演算データ
読出レジスタ7に格納されることになる。
次に、従来技術でも用いた下記の命令列を例として本実
施例の動作を説明する。
SFT S0←S1<S2 …(1) ADD S4←S0+S3 …(2) LD S0←M(a) …(3) まず、命令(1)が制御部11の命令解読部12で解読され
実行起動制御部13に送られると、実行起動制御部13は、
命令(1)が使用するシフタ(例えば演算器2aとする)
が空いているか否か及び演算に必要なデータがレジスタ
S1,S2に揃っているか否かを判断し、すべての条件が揃
った時点で演算に必要なデータをレジスタ群1からバイ
パスライン選択器10,演算データ読出レジスタ7を介し
て演算器2aに送出し、演算器2aに起動をかけると同時
に、演算結果が得られるタイミング,演算結果を格納す
べきレジスタS0の番号,演算結果が演算結果選択器5へ
戻ってきたタイミングでその演算結果選択器5を制御す
るための情報等を実行中命令管理部14に送出する。
実行中命令管理部14は、スタック140の空いているエン
トリを見つけ(例えばエントリ番号#0のエントリE0と
する)、このエントリE0に実行起動制御部13からの前記
情報を格納し、その命令(1)の実行動作タイミングを
管理し、演算結果格納動作にあわせて必要な制御情報を
送出する。また、前述したように演算結果をレジスタS0
に格納する3タイミングサイクル前に、命令(1)が使
用しているエントリE0のエントリ番号#0をバイパスラ
イン制御部15に送出する。
命令(2)については、命令(1)の解読が終わり実行
起動制御部13へ送られると命令解読が開始され、以下同
様に各処理部とも前命令の処理が完了し次の処理部へ送
出されると、次命令の情報を受信して処理を開始するパ
イプライン構造となっている。
命令(2)の解読が終わると、その情報が実行起動制御
部13に渡され、実行起動制御部13は命令(2)の起動条
件のチェックを実行する。今の例では、命令(2)は命
令(1)の演算結果を使用する演算であり、現時刻では
命令(1)の演算は終了していないので、演算結果待ち
となる。そこで、実行起動制御部13は前述したようにそ
の待ちの要因となっている命令(1)が使用しているス
タック140におけるエントリE0のエントリ番号#0と共
に、命令(2)に関する情報を実行待ち命令バッファ16
に登録する。この時点でエントリ番号#0が実行待命令
バッファ16からバイパスライン制御部15に送出される。
さらに命令(3)についても同様に命令(2)に続いて
解読,実行起動制御が実行され(ここでは待ちの要因が
ないとして)、実行中命令管理部14のスタック140にお
ける空きのエントリ(例えばエントリ番号#1のエント
リE1とする)に制御情報が登録される。
他方、バイパスライン制御部15では、実行中命令管理部
14からレジスタ格納タイミングの3タイミングサイクル
前のタイミングで送出された実行完了命令対応のエント
リ番号を2段のレジスタRG1,RG2で受け、そのそれぞれ
のタイミングのエントリ番号と、実行待ち命令バッファ
16から送出されている演算結果待命令の待要因命令対応
のエントリ番号とを、比較器CM1,CM2で比較し、一致す
れば第1のバイパスライン8,第2のバイパスライン9を
活性化するための制御情報をバイパスライン選択器10に
送出する。従って、前述した命令列の場合、実行待命令
バッファ16から送出される命令(2)の待要因命令対応
のエントリ番号#0と、実行中命令管理部14から送出さ
れる命令(1)対応のエントリ番号#0との一致が検出
されたタイミングで、第1と第2のバイパスライン8,9
の何れか一方が活性化され、その活性化されたバイパス
ラインを経由して演算器2aの演算結果が演算データ読出
レジスタ7に格納され、命令(2)の実行に使用され
る。
第3図は上述したバイパスライン制御のタイムチャート
例を示す。命令(1)の演算結果D(1)がレジスタS0
に格納されるタイミングサイクルをTとすると、演算結
果D(1)はタイミングサイクルT-1に演算結果書込レ
ジスタ6に格納されており、タイミングサイクルT-2に
演算器2aの出力段レジスタ(図示せず)に保持されてい
る。一方、実行中命令管理部14は命令(1)に対応する
エントリ番号#0をタイミングサイクルT-3にバイパス
ライン制御部15へ出力し、レジスタRG1はタイミングサ
イクルT-2の期間だけエントリ番号#0を保持し、レジ
スタRG2はタイミングサイクルT-1の期間だけエントリ番
号#0を保持する。したがって、第3図の実線に示すよ
うに命令(2)がタイミングサイクルT-2の時点で既に
実行待命令バッファ16に格納されており従ってその時点
で既にエントリ番号#0が実行待命令バッファ16からパ
イプライン制御部15の比較器CM1,CM2に加えられていた
とすると、タイミングサイクルT-2で比較器CM1は一致を
検出し、第1のバイパスライン選択器10は第1のバイパ
スライン8を選択することになる。このため、タイミン
グサイクルT-2で演算結果選択器5の出力に現れていた
演算結果D(1)がバイパスライン選択器10を経由して
次のタイミングサイクルT-1で演算データ読出レジスタ
7に格納されることになる。
他方、第3図の破線に示すように命令(2)がタイミン
グサイクルT-2の時点では実行待命令バッファ16中にな
く次のタイミングサイクルT-1において実行待命令バッ
ファ16に格納され、その時点でエントリ番号#0が実行
待命令バッファ16からバイパスライン制御部15の比較器
CM1,CM2に加えられた場合は、タイミングサイクルT-1で
比較器CM2が一致を検出し、バイパスライン選択器10は
第2のバイパスライン9を選択することになる。このと
きはタイミングサイクルT-1で演算結果書込レジスタ5
の出力に現れていた演算結果D(1)が第2のバイパス
ライン9,バイパスライン選択器10を経由してタイミング
サイクルTで演算データ読出レジスタ7に格納される。
以上本発明の実施例について説明したが、本発明は以上
の実施例にのみ限定されず、その他各種の付加変更が可
能である。例えば、上述した実施例は、バイパスライン
を2本としたが、1本あるいは3本以上のバイパスライ
ンを有する情報処理装置に対しも本発明は適用可能であ
る。また、実行中命令内でユニークになる番号は、ユニ
ークな値であればエントリ番号以外の番号を使用するこ
とができる。
〔発明の効果〕
以上説明したように、本発明は、バイパスラインの制御
に、実行中命令管理部のエントリ番号等の如く実行中命
令間でそれぞれ異なる番号を使用したので、例えば前述
の如く第1番目の命令(1)が書き込むレジスタと、第
2番目の命令(2)が読み込むレジスタと、第3番目の
命令(3)が書き込むレジスタが同一のレジスタS0であ
るような命令列の実行において、先行する命令の演算結
果を使用しない命令(3)を、先行命令(1)とのリソ
ース競合により起動待ちとなっている先行命令(2)よ
り先に実行するような先回り実行制御を行っても、命令
(2)のオペランドとして命令(1)の演算結果が確実
に使用されるようなバイパスライン制御が可能となる。
【図面の簡単な説明】
第1図は本発明を適用した情報処理装置の一例を示すブ
ロック図、 第2図は制御部11の構成例を示すブロック図、 第3図はバイパスライン制御のタイムチャートおよび、 第4図は命令列の実行動作状態を表すタイムチャートで
ある。 図において、 1……レジスタ群、9……第2のバイパスライン 2a〜2n……演算器 3……演算データ供給パス、10……バイパスライン選択
器 4a〜4n……演算結果受信パス、11……制御部 12……命令解読部 5……演算結果選択器、13……実行起動制御部 6……演算結果書込レジスタ、14……実行中命令管理部 7……演算データ読出レジスタ、15……バイパスライン
制御部 8……第1のバイパスライン、16……実行待命令バッフ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭61−188628(JP,A) 特開 昭60−126734(JP,A) 特開 昭60−178540(JP,A) 特開 昭60−178580(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のレジスタから構成されるレジスタ群
    と、演算データ供給パスを介して前記レジスタ群からデ
    ータが供給される同時動作可能な複数の演算器と、該複
    数の演算器の演算結果を前記レジスタ群をバイパスして
    前記演算データ供給パスに送り出すバイパスラインと、
    これらの各要素を制御する制御部とを備え、同時に複数
    の演算を実行することができる情報処理装置において、 前記制御部は、実行中の命令を実行中命令間でそれぞれ
    異なる番号に関連付けて管理すると共に実行完了命令の
    演算結果を前記レジスタ群に格納するタイミングより所
    定サイクル前のタイミングサイクル時に前記実行完了命
    令に対応する前記番号を出力する実行中命令管理部と、
    先行する演算結果を使用する後続命令を、その待ちの要
    因となった先行命令に関連付けた前記番号と共に保持す
    る実行待命令バッファと、該実行待命令バッファに保持
    された前記番号と前記実行中命令管理部から出力された
    前記番号との比較結果により前記バイパスラインを制御
    するバイパスライン制御部とを含むことを特徴とする情
    報処理装置におけるバイパスライン制御方式。
JP63050756A 1988-03-04 1988-03-04 情報処理装置におけるバイパスライン制御方式 Expired - Lifetime JPH0769821B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP63050756A JPH0769821B2 (ja) 1988-03-04 1988-03-04 情報処理装置におけるバイパスライン制御方式
DE68923108T DE68923108T2 (de) 1988-03-04 1989-03-03 Informationsverarbeitungssystem das geeignet ist, eine vorzeitige Ausführung durchzuführen.
CA000592752A CA1311563C (en) 1988-03-04 1989-03-03 Information processing system capable of carrying out advanced execution
EP89103775A EP0331191B1 (en) 1988-03-04 1989-03-03 Information processing system capable of carrying out advanced execution
AU31029/89A AU609262B2 (en) 1988-03-04 1989-03-06 Information processing system capable of carrying out advanced execution
US07/727,937 US5333281A (en) 1988-03-04 1991-07-10 Advanced instruction execution system for assigning different indexes to instructions capable of parallel execution and same indexes to instructions incapable of parallel execution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63050756A JPH0769821B2 (ja) 1988-03-04 1988-03-04 情報処理装置におけるバイパスライン制御方式

Publications (2)

Publication Number Publication Date
JPH01224840A JPH01224840A (ja) 1989-09-07
JPH0769821B2 true JPH0769821B2 (ja) 1995-07-31

Family

ID=12867685

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63050756A Expired - Lifetime JPH0769821B2 (ja) 1988-03-04 1988-03-04 情報処理装置におけるバイパスライン制御方式

Country Status (6)

Country Link
US (1) US5333281A (ja)
EP (1) EP0331191B1 (ja)
JP (1) JPH0769821B2 (ja)
AU (1) AU609262B2 (ja)
CA (1) CA1311563C (ja)
DE (1) DE68923108T2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2241801B (en) * 1990-03-05 1994-03-16 Intel Corp Data bypass structure in a register file on a microprocessor chip to ensure data integrity
JPH04367936A (ja) 1991-06-17 1992-12-21 Mitsubishi Electric Corp スーパースカラープロセッサ
US5539911A (en) 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5604909A (en) 1993-12-15 1997-02-18 Silicon Graphics Computer Systems, Inc. Apparatus for processing instructions in a computing system
JP2677202B2 (ja) * 1994-08-12 1997-11-17 日本電気株式会社 マイクロプロセッサ
JPH0877143A (ja) * 1994-09-02 1996-03-22 Kofu Nippon Denki Kk ベクトルデータ処理装置
US5802346A (en) * 1995-06-02 1998-09-01 International Business Machines Corporation Method and system for minimizing the delay in executing branch-on-register instructions
US6092184A (en) * 1995-12-28 2000-07-18 Intel Corporation Parallel processing of pipelined instructions having register dependencies
US5887160A (en) * 1996-12-10 1999-03-23 Fujitsu Limited Method and apparatus for communicating integer and floating point data over a shared data path in a single instruction pipeline processor
US6016543A (en) * 1997-05-14 2000-01-18 Mitsubishi Denki Kabushiki Kaisha Microprocessor for controlling the conditional execution of instructions
US7293160B2 (en) * 2004-06-14 2007-11-06 Sun Microsystems, Inc. Mechanism for eliminating the restart penalty when reissuing deferred instructions
US7984272B2 (en) * 2007-06-27 2011-07-19 International Business Machines Corporation Design structure for single hot forward interconnect scheme for delayed execution pipelines
RU2533541C1 (ru) * 2013-07-15 2014-11-20 Виктор Александрович Прохоров Способ игры в виртуальные городки

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4128880A (en) * 1976-06-30 1978-12-05 Cray Research, Inc. Computer vector register processing
US4594682A (en) * 1982-12-22 1986-06-10 Ibm Corporation Vector processing
WO1985000453A1 (en) * 1983-07-11 1985-01-31 Prime Computer, Inc. Data processing system
JPS60126734A (ja) * 1983-12-13 1985-07-06 Nec Corp 情報処理装置
JPS60178540A (ja) * 1984-02-24 1985-09-12 Fujitsu Ltd 情報処理装置におけるバイパス制御方式
JPS60178580A (ja) * 1984-02-24 1985-09-12 Fujitsu Ltd 命令制御方式
AU553416B2 (en) * 1984-02-24 1986-07-17 Fujitsu Limited Pipeline processing
US4683547A (en) * 1984-10-25 1987-07-28 International Business Machines Corporation Special accumulate instruction for multiple floating point arithmetic units which use a putaway bus to enhance performance
JPS61188628A (ja) * 1985-02-16 1986-08-22 Nec Corp 情報処理装置における命令処理制御方式
DE3650578T2 (de) * 1985-06-17 1997-03-06 Nippon Electric Co Informationsverarbeitungssystem mit einer Steuerschaltung zum Abwarten einer Registererneuerung und einem Aufnahmemittel des zu erneuernden Registers

Also Published As

Publication number Publication date
DE68923108T2 (de) 1995-12-07
AU609262B2 (en) 1991-04-26
US5333281A (en) 1994-07-26
AU3102989A (en) 1989-09-07
EP0331191B1 (en) 1995-06-21
CA1311563C (en) 1992-12-15
JPH01224840A (ja) 1989-09-07
DE68923108D1 (de) 1995-07-27
EP0331191A2 (en) 1989-09-06
EP0331191A3 (en) 1991-12-04

Similar Documents

Publication Publication Date Title
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
EP0213842A2 (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
EP0025087B1 (en) Pipeline control apparatus for generating instructions in a digital computer
JPH02161524A (ja) パイプラインコンピュータに使用する分岐システムとその動作方法
JPH0769821B2 (ja) 情報処理装置におけるバイパスライン制御方式
EP0730223B1 (en) Pipeline data processing apparatus for executing a plurality of data processes having a data-dependent relationship
JP2531760B2 (ja) ベクトル処理装置
JPS58149541A (ja) デ−タ処理装置
EP0181462B1 (en) Microcode control of a parallel architecture microprocessor
JPS6161416B2 (ja)
US4987534A (en) Processor having synchronized operation between a CPU and a vector processor
EP0700005A1 (en) Vector data bypass mechanism for vector computer
JP2906799B2 (ja) 情報処理装置
JPS6259829B2 (ja)
JPS6134186B2 (ja)
JPS59163671A (ja) ベクトル処理装置
JP3558481B2 (ja) データ処理装置
JP2888710B2 (ja) ベクトル命令実行制御方式および命令制御処理装置
JPH03257665A (ja) 情報処理装置
WO1993018451A1 (en) Elimination of the critical path in memory control unit and input/output control unit operations
JPH04116726A (ja) 情報処理装置
JP2761324B2 (ja) 高速演算処理方式
JPS63223829A (ja) 情報処理装置
JPH052485A (ja) パイプライン制御方式
JPH0769819B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070731

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 13

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 13