JPH0350295B2 - - Google Patents

Info

Publication number
JPH0350295B2
JPH0350295B2 JP62501223A JP50122387A JPH0350295B2 JP H0350295 B2 JPH0350295 B2 JP H0350295B2 JP 62501223 A JP62501223 A JP 62501223A JP 50122387 A JP50122387 A JP 50122387A JP H0350295 B2 JPH0350295 B2 JP H0350295B2
Authority
JP
Japan
Prior art keywords
command
execution
condition
conditional branch
order
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
JP62501223A
Other languages
English (en)
Other versions
JPH01500066A (ja
Inventor
Dagurasu Daburyu Kuraaku
Deburaa Baansutain
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment 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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH01500066A publication Critical patent/JPH01500066A/ja
Publication of JPH0350295B2 publication Critical patent/JPH0350295B2/ja
Granted 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
    • G06F9/3842Speculative instruction execution
    • G06F9/3846Speculative instruction execution using static prediction, e.g. branch taken strategy

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)
  • Executing Machine-Instructions (AREA)

Description

請求の範囲 1 オーバラツプマイクロ指令の条件的ブランチ
順序の実施方法において、 第1サイクル期間にマイクロ指令の原初順序の
1番目のマイクロ指令の実行を開始する工程と、 第2サイクル期間に非条件的ブランチマイクロ
指令として実行準備を開始する工程と、 第3及び第4サイクル期間に前記マイクロ指令
の原初順序の2番目及び3番目のマイクロ指令の
実行をそれぞれ開始する工程と、 第5サイクル期間に条件的ブランチマイクロ指
令の実行を開始する工程と、 第6サイクル期間に終わりマイクロ指令の実行
を開始する工程と、 第7及び第8サイクル期間に前記非条件的ブラ
ンチマイクロ指令として選択されたマイクロ指令
の新規順序の1番目及び2番目のマイクロ指令の
実行をそれぞれ開始し、また前記第8サイクル期
間に前記条件的ブランチマイクロ指令の条件が真
であるかを決定する工程と、 前記条件が真である場合に第9サイクル期間に
前記マイクロ指令の新規順序の3番目のマイクロ
指令の実行を開始する工程と、 前記条件が偽である場合に前記第9サイクル期
間に前記マイクロ指令の新規順序をキヤンセル
し、その後は前記マイクロ指令の原初順序に再び
もどる工程とを有することを特徴とする条件的ブ
ランチ順序の実施方法。
発明の背景 1 発明の分野 本発明は情報処理システムに関し、特に、指令
の実施が連続する指令の実施ないで重複を許容す
る複数個の下部操作に分割される情報処理システ
ムに関し、典型的には指令の実施のパイプライン
化に関する。本技術はしばしば情報処理ユニツト
システム内で指令実施のレートを増加させるのに
使用される。本発明は条件によるブランチ指令の
実施において遭遇する遅延を減少するものであ
る。
2 関連技術の説明 第1図を参照すると、典型的な情報処理システ
ムが図示されている。本情報処理システムは少な
くとも1個の中央処理ユニツト10(又は11)
と、少なくとも1個の入/出力装置13(又は1
4)と、メモリユニツト15と、情報処理システ
ムの複数個のサブシステム乃至ユニツトを接続し
ているシステムバス19とを含んでいる。中央処
理ユニツトはソフトウエア及び/又はフアームウ
エアの指令に従つて論理信号群を処理する。処理
すべき論理信号群は典型的にはメモリユニツト1
5中に記憶されている。コンソールユニツト12
は中央処理ユニツトに接続する事が出来、装置と
記憶指令とを有しシステムをイニシアライズして
情報処理システムの動作中は端末として動作出来
る。入/出力ユニツトは情報処理ユニツトの端末
ユニツト、大量記憶ユニツト、通信ユニツト、及
び、論理信号群をシステムと交換する、情報処理
システムと結合されるその他任意のユニツトへの
インターフエースを行う。本発明は中央処理ユニ
ツトの操作に関し、情報信号群の処理を制御する
プログラムの相当な部分の更に有効な実施の為の
装置と方法に関する。
情報処理システム、例えば第1図に示すものに
おいて、情報信号群の実際の操作は、通常プログ
ラムと称される関連するインストラクシヨン
(instruction;以下指令と称す)群の制御の下に
行われる。これ等の指令は順番に実施される。次
に第2a図を見ると、関連する技術による一連の
指令の実施が図示されている。最初の時間範囲
T0中に、指令#1が中央処理ユニツトサブシス
テムによつて実行される。第1指令が実行された
後、順番上次の指令#2が第2時間範囲T0の間
に中央処理ユニツトサブシステムで実行される。
指令#2の完了後、情報処理ユニツトが第3時間
範囲T0内で実施する。指令を順番に実施する為
に、情報処理ユニツトは所定の時間範囲を要求す
る。若し指令の為の実行時間の長さが変えられる
ならば、中央処理システムと情報処理システムの
その他のサブシステムとの間の情報信号群の交換
をコオーヂネートするのに中央処理システム内に
複雑な装置が含まれねばならない。即ち、3指令
の実行の期間は基本的な時間範囲の3倍になるの
が普通である。基本的時間範囲は、次に述べる様
な更に手の込んだ技術を使用して指令の実施が為
されない限り、各指令中の最長の指令の実行を可
能とするのに十分な時間範囲でなければならな
い。情報処理システムの迅速な操作を行う為に、
指令の実行を複数個の指令のセグメントに分割す
る技術が工夫されている。指令セグメントはマイ
クロ指令の成分であり、マイクロ指令の関連群は
マクロ指令を実行する。セグメントを実行してい
る装置が適当に組織されていると、指令の実行は
重複する要領で実施可能である。この技術を指令
セツトの実行の「パイプライン化」と称する。各
パイプライン化指令の実施は非パイプライン化指
令の実行に比較して長い時間を要する可能性があ
るが、指令を指令セグメントに分割するのに必要
な付加装置の為に、指令の流れは非パイプライン
化指令で可能なよりも速く実行される。第2b図
において、複数個のセグメントへの指令の分割を
示す。各セグメントは中央処理ユニツト内の個々
独立して動作する要素グループに関連すると理解
されたい。レジスタとゲートとは、情報処理シス
テム設計の業界周知の原理によつて、特定のセグ
メントを実行する要素グループの動作を実行する
事が出来る。各セグメントの為のサブ時間範囲t0
は、各装置グループ中で全可能セグメントの実行
可能な十分な長さでなければならない。
次に第2c図を参照すると、パイプライン化技
術の使用によつて可能となつた指令の順序の実施
の割合いの結果としての増加が図示されている。
指令#1は今回はt0のn倍に等しいT0′時間範囲
(できるだけ長い)で完成されるが、ここでt0
各指令セグメントの実施に必要なサブインターバ
ルで、nは各指令の実行に必要な指令セグメント
の数である。次の順番の指令、即ち指令#2は、
指令#1の開始後の区間t0後に始まる。次の順序
の第3指令即ち指令#3は、その後の区間t0で始
まる。各指令はその実行に時間の増加を来たし得
る。しかし第1指令の完了の為の最初の区間を一
度通過すると、指令は各区間t0の後に完成する。
従つて、指令の順番に関しては、個々の指令は実
施に時間を余計に要する事とはなるが、順序の実
施は加速され得る。
パイプライン化技術はインストラクシヨンシケ
ンス(instruction sequence;以下指令順序と称
する)を迅速に実施し得るが、指令順序内の条件
的に生じる「ブランチ」指令の能率を失う。ブラ
ンチ指令は一つの指令順序から第2の指令順序へ
の切換えを含んでいる。条件的に生じるブランチ
指令は、所定の条件に対しての量の試験を含んで
いる。試験の結果にもとずいて指令順序は現在の
順序を継続する事も出来、指令順序は新指令順序
に飛ぶ、即ち側路する事ともなり得る。第2a図
に示す様に実施されている指令順序に関しては、
指令#1は条件を試験する指令であり得、特定の
次の順序的指令、指令#2で図示されるものは指
令#1の結果によつて決定される。第2c図に図
示されている様な指令セツトのパイプライン実行
の場合、条件試験実施の結果は指令#1の指令セ
グメントDまでは得る事が出来ない。しかし、指
令#2は通常の動作状態では既に実施が開始され
ており、指令#2の指令セグメントAとBとは完
成しておくことも出来る。
指令順序のパイプライン化実施でのブランチン
グの問題にアドレスする為の、典型的なアプロー
チはブランチ条件が判明するまで指令順序の実施
を中止するか、EP−A−162778に開示されてい
る様にブランチ条件を試験する前にあらかじめ指
令を読込んでおく事であつた。ブランチ条件が一
度試験されると、正確な指令順序の実施、即ち最
初の指令順序、又は新指令順序が開始される。こ
の計画は中央処理ユニツトの不十分な使用をもた
らし、指令実施順序に遅れを生じる。条件の試験
を待つ為に遅れが生じるのみならず、複数個の指
令セグメントが指令の完了前に実行され、時とし
てこれをパイプラインの詰まりと称される別の遅
れに遭遇する。
従つて、この上の増加設備無しに、又、パイプ
ライン化指令順序実施の使用からの改良指令の実
施の妥協を最低限にして、システムパフオーマン
スのブランチ指令の効果を最少にする指令順序の
パイプライン実施用の操作法と装置に対する必要
性が感じられていた。
発明の要約 改良情報処理システムを提供する事が本発明の
目的である。
指令順序の実施の為の改良形情報処理ユニツト
を提供する事が本発明の別の目的である。
指令順序のパイプライン化実施用の改良情報処
理ユニツトを提供する事が本発明の更に別の目的
である。
条件の真偽の決定が完了する前に最初の指令順
序又はブランチ指令順序のいずれかを開始し得る
パイプライン指令順序を有する情報処理ユニツト
を提供する事が本発明の更に特殊な目的である。
上述の、及びその他の目的は、本発明によれば条
件的ブランチ指令の存在を認識する装置を有する
情報処理ユニツトを提供する事によつて、完成さ
れる。条件的ブランチ指令の認識によつて、情報
処理ユニツトはブランチ条件が真と決定された時
実施すべき順序で1番目の指令の修正を開始す
る。情報処理システムが行う次の指令はブランチ
条件が偽である、即ち最初の指令順序が継続され
る時に実行さるべき指令である。この指令(およ
び最初の指令順序のこれに続く指令)が実施され
ている間、情報処理システムはブランチ条件で決
定された指令順序を実施する準備(真の時)を行
つている。ブランチ条件についての真偽の決定が
出た場合、情報処理ユニツトは、条件が偽のとき
既に実施している最初の指令順序を継続する事が
できる。ブランチ条件が真の場合、真指令順序の
実施のために準備中の情報処理ユニツト内のアク
チビテイが使用されて、真指令順序の実施が進行
中の最初の指令順序の実施に置き換わる。選択条
件的ブランチ指令に対しては、ブランチ条件が起
こる可能性が高いが、中央処理ユニツトは新順序
として非条件的ブランチ指令を実行する。新指令
順序の準備が完成後条件が試験される。条件(最
初にインタープリートされたものとして)が真で
ある場合には、中央処理ユニツトは新指令順序の
実行を継続する。反対の場合は、指令順序の実行
は最初の指令順序に反転される。
このように本発明によれば、条件的ブランチ指
令を認識すると、これを条件の付与されていない
非条件的ブランチ指令として実行する場合のマイ
クロ指令の準備と、そのまま指令の原初順序が継
続される場合のマイクロ指令の準備との両方を行
なつている。そして まず、原初順序によるマイクロ指令の実行を開
始し、 次に、非条件的ブランチ指令としてマイクロ指
令の実行準備を開始し、 次に、条件的ブランチ指令の実行を開始し、 次に、前記非条件的ブランチ指令として新規順
序のマイクロ指令の実行を開始しながら、同時に
前記条件的ブランチ指令の条件の真偽を決定し、 次に前記条件が真の場合には、新規順序のマイ
クロ指令の実行を継続し、条件が偽である場合に
は、新規順序をキヤンセルして原初順序のマイク
ロ指令にもどる。
条件的ブランチマイクロ指令は、大略上記の順
に処理される。なおこの処理順序の詳細は例えば
請求の範囲等に明記されています。
このように本発明においては、条件的ブランチ
マイクロ指令を実施する場合に、ブランチしない
場合の原初順序によるマイクロ指令と、ブランチ
する場合の新規順序によるマイクロ指令を並列的
に実行させ、条件の真偽が決まると、新規順序を
継続するか原初順序にもどるようにしている。
このため本発明では、条件的ブランチマクロ指
令におけるブランチが成功する確率及び成功しな
い確率をあらかじめ算出しておく工程、並びにこ
の指令を解読したときに前記成功する確率と成功
しない確立とを比較して、その確立の高い方の指
令順序を選択する工程は設けていません。
従つて本発明による条件的ブランチマイクロ指
令の実施方法によれば、制御タイミングの各サイ
クル期間が第1から第9までに固定され、この各
サイクル期間に対応して実行すべき各処理工程が
あらかじめ決められているため、処理論理の単純
化、論理回路の簡略化及び装置の低コスト化など
の効果が得られます。
これ等の及びその他の本発明の特徴は図面と共
に以下の説明を読む事によつて理解されよう。
【図面の簡単な説明】
第1図は本発明を使用可能な情報処理システ
ムの要素のブロツク図である。
第2a図は関連技術による指令順序の実行を示
す図であり:第2b図は指令の複数個の指令セグ
メントへの分割の仕方を示す図であり:第2c図
はパイプライン化指令の実行が中央処理ユニツト
によつてパフオーマンスを増加させ得る事を図示
している。
第3図は指令順序のパイプライン化実行を実施
する情報処理システムのブロツク図である。
第4図は非条件的ブランチ指令の実行を示す図
である。
第5図は、別の指令の処理が条件の決定が完了
するまで停止されている条件的ブランチ指令の実
行を示す図である。
第6図は本発明による条件的ブランチ指令の実
行を示す図である。
第7図は本発明による、新指令順序へのブラン
チの可能性が大きい、条件的ブランチ指令の実行
を示す図である。
第8a図は付属信号と共に中央処理ユニツトの
ブロツク図を示し、条件的ブランチマクロ指令の
一部の動作を示す。
第8b図は条件的ブランチマクロ指令の残余の
動作を示す附随信号と共に中央処理ユニツトのブ
ロツク図である。
好ましい実施例の詳細な説明 1 図面の詳細な説明 第1図と第2図とは関連技術に関連して説明し
た。
第3図と次に参照すると、指令順序のパイプラ
イン実施を実行する中央処理ユニツトの組織を示
している。中央処理ユニツトは指令サブユニツト
31と付属制御ユニツト32、実行ユニツト33
とカツシ(cache)(即ちローカル)メモリーサ
ブユニツト34とに分割される。カツシメモリー
サブユニツト34はシステムバス19に接続さ
れ、制御ユニツト32の制御の下にシステムバス
によつて情報処理システムの別のサブシステムと
論理信号群を交換する。実行ユニツト33は、や
はり中央ユニツト32の制御の下で、実行中の指
令で定義される情報信号群の操作
(manipulation)を行う。指令ユニツトは実行す
べき指令を受取り中央処理ユニツトの操作を制御
するのに使用し得る様に指令を再編成する。この
再編成された指令又はその一部は制御ユニツト3
2に加えられて情報処理ユニツトの論理素子の配
列を作り指令で定められた動作を実行する。
上述した構造はマクロ指令を実行する為のマイ
クロ指令の使用をサポートする。マクロ指令は単
一マイクロ指令又は複数個のマイクロ指令によつ
て実施されるが、これはその複雑さ、中央処理ユ
ニツトの装置の性質、その他のパラメータで定ま
る。第2b図に示すようにマイロ指令セグメント
(複数)に分割されたのはマイクロ指令である。
各マイクロ指令は指令セグメント群を制御する
「マイクロ命令」を含んでいる。
第3図に示し、本発明の説明の為のものである
情報処理ユニツトの簡略化した分割を参照する
と、指令の一部分の実行を完了する為の中央処理
ユニツトの各ユニツトの為の時間の長さは等しく
取られる事となろう。即ち、情報処理ユニツトに
よつて実行されるべき指令に対しての指令のセツ
トの実行を第2c図に示す。第1指令は最初の期
間t0の間に指令ユニツトによつて為される。第3
期間t0の間に、カツシユメモリユニツトは指令
#1を実行出来、実行ユニツトは指令#2を実行
でき、指令ユニツトは指令#3を実行出来る。こ
の3レベルのパイプラインは指令が指令ユニツト
に到着する限り継続される。
情報処理ユニツトの図示の機能ユニツトへの分
割は、一般に、操作可能パイプライン形態を提供
するのに十分ではない。上述した各々の機能的ユ
ニツトは各指令の実行を完了するのに複数個のサ
ブ操作を必要とする。説明の為に、第3図を参照
して説明した3セグメントではなく、4セグメン
トを有するパイプラインを本発明の説明の為に使
用する。
次に第4図を参照すると、非条件的ブランチ指
令の実行が図示されている。非条件的ブランチ指
令は中央処理ユニツトに非条件的ブランチ指令で
定められた指令に始まる新指令順序を実施す様に
強制する。第4図に見るように、非条件的ブラン
チマクロ指令4010は開始され、最初の対応マ
イクロ指令が中央処理ユニツトの装置を指令のタ
ーゲツト順序を取戻させる。順序指令の中の次の
3指令、即ち4011,4012,4013、は
「動作無し」指令で、その中では制御ユニツトか
らの信号が指令の実施に寄与する動作を行なうこ
とはない。マイクロ指令4014は「終わり指
令」マイクロ命令を含んでおり、非条件的ブラン
チマクロ指令の実行を完了し、マクロ指令のター
ゲツト順序の実行を開始させる様にする。
次に第5図を参照すると、本発明を使用してい
ない条件的ブランチマクロ指令が図示されてい
る。このプロセスにおいては、マクロ指令を実行
するマイクロ指令は、条件テストマイクロ指令5
010であり得る。この指令条件的ブランチ指令
の条件をテストする。この指令が終わるまでは条
件の結果は不明なので、テストの結果が決定する
まではその上の処理の実行は中止される。即ち、
マイクロ指令5011,5012及び5013は
「動作無し」指令である。条件的ブランチ指令は
真か偽かの条件決定を行う。条件が真の場合、ブ
ランチがなされ、新指令順序が実行される。第5
図の例では、非条件的ブランチ指令5016が実
行され、第4図の指令順序が実行される。条件が
偽の場合、最初の指令順序が継続される。第5図
に図示の様に、指令5015等は、最初の指令順
序でここで実行される。
次に第6図を参照すると、本発明による条件的
ブランチ指令が図示されている。この本発明の指
令順序は条件的ブランチマクロ指令を実施には移
すが、個々のマイクロ指令は第4図の条件的ブラ
ンチ指令と等しくはない。順序の第1ミクロ指令
6010は条件的ブランチミクロ命令を含んでい
る。指令6010は条件テスト加えて、非条件的
ブランチ指令が実行される様に、第1指令のカツ
シユメモリユニツトに指令の新順序でアドレスを
設ける。ブランチ指令の後に3つの「動作なし」
指令が見られる非条件的ブランチ指令とは異なつ
て、本発明においては、最初の順序を実行する3
つのミクロ指令が実行されている。第3原初順序
指令の第1セグメントの終わりに、例えば第6図
の指令6010の矢印に示す様に、条件の真偽の
決定がなされる。条件が偽の時は、指令6014
で示す様に最初のミクロ指令順序が続けられる。
条件が真の時は1マイクロ指令ブランチトラツプ
ルーチン6015が実行されて指令6016に示
すように新順序の実行に指令順序を変更する。更
に、指令6011,6012、及び6013は、
新順序が条件で選定された時には不適切とされて
破棄される。
次に第7図を参照すると、新順序へのブランチ
の可能性が高いと考えられるタイプの条件的ブラ
ンチ指令の実行が図示されている。このタイプの
マクロ指令は指令ループの制御を含んでおり、そ
こでは複数個のマクロ指令が、マクロ指令順序が
引き続いての指令順序で続けられる前に、通常繰
返して実行される。指令7010と7011とは
マイクロ指令を決定するパラメータである。指令
7012は条件が真と決定された時、行き先アド
レスを決定する。この行き先アドレスの決定と同
時に、指令7012は新しい又はターゲツト指令
順序の実行を起こさせる非条件的ブランチ指令で
ある。しかし、この条件的ブランチ指令は旧順序
の次のアドレスをたくわえる。第4図に示す様
に、非条件的ブランチ指令7013から4番目の
指令、指令7016、は終了指令マイクロ命令を
含んでいる。従つて、その次の指令7017は、
新順序の最初の指令である。非条件的指令ブラン
チ順序内の3個の「動作なし」指令とは異なり、
指令の一つ、7015は、第6図に示すタイプの
条件的ブランチ指令である。更に、指令7013
と7014とはマクロ指令を実施するマイクロ指
令順序の一部である。条件に対する情況がここで
逆転し、非条件的ブランチ指令は、潜在的な新指
令順序をアクチブな指令順序とする様にさせる。
しかし、原初の順序を続けるべきであるとする比
較的まれな情況が条件的ブランチ指令で確認され
たとすると、その指令のアドレスは指令7012
の中でたくわえられる。尚又原初指令順序が継続
されるべき場合、実行済み新順序指令、701
7,7018及び7019、は使用されない事と
なろう。
次に第8a図を参照すると、条件的ブランチマ
クロ指令を実行する装置が図示されている。複数
のマクロ指令は指令サブユニツト31に加えられ
る。各マクロ指令はデコードされて、マクロ指令
を実行すべきアドレス信号制御ユニツト32に加
えられる。加えられたアドレス信号にもとずい
て、制御ユニツト32からのマイクロコード制御
信号が実行サブユニツト33、カツシメモリサブ
ユニツト34及び条件的ブランチロジツク81に
加えられる。条件的ブランチロジツク81は条件
信号を実行サブユニツト33から受取り、条件信
号と印加されたマイクロコード制御信号に応じ
て、2出力信号の一方を発生する。マイクロコー
ド制御信号は実行サブユニツト33でデータ信号
を発生し条件的ブランチロジツク81に加えられ
る条件信号を発生する。加えられた条件信号とマ
イクロコード制御信号によつて、その結果の出力
信号(1個又は複数個)が条件的ブランチロジツ
クユニツト81から発生される。本発明において
は、条件が真である時(即ちブランチが起こる)、
信号はマイクロトラツプ論理ユニツト82の選択
された場所に加えられる。条件が偽の場合(即ち
ブランチしない)、信号はカツシメモリサブユニ
ツト34に加えられ、指令サブユニツト31ころ
の廃棄すべき信号に応じて制御ユニツト32で開
始されてデータ読出し動作を起こさせる。
第8b図を参照すると、信号のマイクロトラツ
プロジツクへの印加の結果、例えばブランチ実施
が図示されている。マイクロトラツプ論理ユニツ
ト82はグローバル(gloval)トラツプ信号を指
令サブユニツト31、実行サブユニツト33、カ
ツシサブユニツト34及び制御ユニツト32に送
付する。グローバルトラツプ信号の指令サブユニ
ツト31、実行サブユニツト33及びカツシメモ
リサブユニツト34への送付の結果は条件的ブラ
ンチマイクロ指令の後実行されたマイクロ指令の
結果を破棄する事である。制御ユニツト32への
グローバルトラツプ信号の作用は、マイクロトラ
ツプ論理ユニツト82に印加され、マイクロトラ
ツプロジツクから使用すべき制御ユニツト32に
印加された「条件は真」信号の結果によつて、ア
ドレスさせる事(トラツプベクトル)である。ト
ラツプベクトルの結果は、まず何よりもトラツプ
解放信号をマイクロトラツプ論理ユニツト82に
提供する事で、これによつて、「条件は真」信号
の印加の結果マイクロトラツプ論理ユニツトによ
つて実行されているルーチンを中止させる。
2 好ましい実施例の動作 条件的ブランチ指令内に含まれる遅延は2つ存
在する。第1に、適切な指令順序の実行が、条件
の真偽の決定を見るまでは確実に行う事が出来な
い。第2に、条件の充足のために一度決定がなさ
れたとしても、プロセツサーパイプラインによる
迅速な実行という長所が実現し得る前に、各種の
指令セグメントを実行しなければならない。パイ
プライン化情報処理環境内での条件的指令に含ま
れる遅延を避ける為に、本発明では条件的ブラン
チ指令を2グループに分類する。
条件的ブランチ指令の第1グループにおいて
は、条件のテストの最も可能性のある結果が未知
である。本発明ではこのタイプの条件的ブランチ
指令は、次の指令を指令の結果としてプログラム
内で実際のブランチの結果となるアドレスでの情
報を検索する事によつて、処理される。この検索
は複数個のマイクロ指令サイクルを実行する事に
なるので、この時間に実行される指令は、条件テ
ステイングの結果としてプログラムブランチが起
こらなかつたとして実行されるべき原初の順序か
らの指令である。即ち、条件のテストの結果が確
定した時、条件が偽であるとすると、即ち原初の
プログラム順序を継続すべきであるとなると、検
索のプロセスの情報は廃棄され、既に実行中の原
初の指令順序が継続される。実際には第4図の実
行に当たつては只一つのマイクロ指令サイクルの
みが必要である。反対に、条件が真で新しい指令
順序が実行されるべき時には、新指令順序の第1
信号グループの検索プロセスは3マイクロ指令サ
イクルにわたつて継続され、この指令順序の実行
は次のプロセツサ活動の前に条件テスト結果を待
つているのに比較して改善されている。条件が真
の場合、条件のテスト中生じる原初プログラムの
指令実行順序の結果は不適切なものとなるので廃
棄しなければならない事は明らかである。即ち、
本発明の条件的ブランチ指令のスピードは条件が
偽の時1システムクロツクサイクルのみを使用
し、条件が真の場合の非条件的ブランチ指令の時
と同様の速さで指令を実行する事は明らかであろ
う。
第7図に図示の第2グループの指令に関して
は、本第2グループに付属する条件的ブランチ指
令の確認の下に、新指令順序へのブランチが条件
のテストの最も可能性の大きい結果であると仮定
する。この仮定の結果として、条件的ブランチ指
令は非条件的ブランチ指令として評価され、条件
がテストされなくてもブランチ操作を行うのに必
要な活動が実行される。新指令順序が実行の為に
準備された後、条件をテストする指令が実行され
る。しかしながら、条件テスト手段はこの時反転
され、継続の条件が、指令順序が実際に原初指令
順序であつたとしても、新指令順序の実行の条件
となる。条件的ブランチ指令の実行は第6図に図
示の条件的ブランチ指令の実行と同様な要領で行
われる。ブランチが条件のテストの最も可能性に
高い結果であると言う仮定は、殆どの場合実際に
正しい事は明らかであろう。この結果は第7図か
ら明らかな様に、原初条件が偽である場合、指令
順序の2変更が生じるべきであるという結果をも
たらす。条件的ブランチ指令は、非条件的マイク
ロオーダーを第2(ブランチ)アドレスが分り次
第実行させる様にし、又、前述した条件的ブラン
チ指令を使用することによつて、指令の実行を改
善して、原初指令順序への(余り起こらない)復
帰のインパクトを減少する。
JP62501223A 1986-01-29 1987-01-29 ブランチ指令を実施するための方法 Granted JPH01500066A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82377686A 1986-01-29 1986-01-29
US823,776 1986-01-29

Publications (2)

Publication Number Publication Date
JPH01500066A JPH01500066A (ja) 1989-01-12
JPH0350295B2 true JPH0350295B2 (ja) 1991-08-01

Family

ID=25239679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62501223A Granted JPH01500066A (ja) 1986-01-29 1987-01-29 ブランチ指令を実施するための方法

Country Status (5)

Country Link
EP (1) EP0290465A1 (ja)
JP (1) JPH01500066A (ja)
AU (1) AU7021387A (ja)
CA (1) CA1285657C (ja)
WO (1) WO1987004821A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6341932A (ja) * 1985-08-22 1988-02-23 Nec Corp 分岐命令処理装置
JPH01283635A (ja) * 1988-05-11 1989-11-15 Nec Corp バッファ制御回路
SE510295C2 (sv) * 1997-07-21 1999-05-10 Ericsson Telefon Ab L M Metod vid processor för att hantera villkorade hoppinstruktioner samt processor anpassad att verka enligt den angivna metoden

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200927A (en) * 1978-01-03 1980-04-29 International Business Machines Corporation Multi-instruction stream branch processing mechanism
JPS56140445A (en) * 1980-04-01 1981-11-02 Hitachi Ltd Information processing device
US4373180A (en) * 1980-07-09 1983-02-08 Sperry Corporation Microprogrammed control system capable of pipelining even when executing a conditional branch instruction
JPS57153342A (en) * 1981-03-19 1982-09-21 Mitsubishi Electric Corp Pipeline computer
JPS6049339A (ja) * 1983-08-30 1985-03-18 Dainippon Screen Mfg Co Ltd 複製画像の編集装置
US4742451A (en) * 1984-05-21 1988-05-03 Digital Equipment Corporation Instruction prefetch system for conditional branch instruction for central processor unit

Also Published As

Publication number Publication date
CA1285657C (en) 1991-07-02
AU7021387A (en) 1987-08-25
EP0290465A1 (en) 1988-11-17
WO1987004821A1 (en) 1987-08-13
JPH01500066A (ja) 1989-01-12

Similar Documents

Publication Publication Date Title
US5325495A (en) Reducing stall delay in pipelined computer system using queue between pipeline stages
US5235686A (en) Computer system having mixed macrocode and microcode
US4594659A (en) Method and apparatus for prefetching instructions for a central execution pipeline unit
EP0378425A2 (en) Branch instruction execution apparatus
JPH0115093B2 (ja)
JPH02257219A (ja) パイプラインプロセッサ装置および方法
JPH06236271A (ja) プロセッサおよび命令推測実行方法
US6959004B2 (en) Data driven information processing apparatus
EP0730223B1 (en) Pipeline data processing apparatus for executing a plurality of data processes having a data-dependent relationship
JPH0139132B2 (ja)
EP0592404A1 (en) Apparatus and method for providing a stall cache
EP0497485A2 (en) Computer for implementing two-operand instructions
US20040054950A1 (en) Apparatus and method for device selective scans in data streaming test environment for a processing unit having multiple cores
JPH0350295B2 (ja)
JPS63228225A (ja) ディジタルコンピュータシステム
US4794527A (en) Microprogrammed data processing system using latch circuits to access different control stores with the same instruction at different times
CN105446700B (zh) 一种指令执行方法以及顺序处理器
JPS62117039A (ja) コントロ−ラ
JPH04215129A (ja) 連続指令実行方法及び装置
EP0500193A1 (en) Apparatus and method for execution of branch instructions
US7130988B2 (en) Status register update logic optimization
KR910001055B1 (ko) 파이프라인방식으로 처리되는 데이터처리시스템에 있어서 트랩된 마이크로어드레스의 재배열방법 및 그 장치
JP2000194556A (ja) 命令ルックアヘッドシステムおよびハ―ドウェア
JP3955843B2 (ja) マイクロプロセッサの並列シミュレーションシステム
JPS59183434A (ja) 命令先取り制御方式