JPH01500066A - ブランチ指令を実施するための方法 - Google Patents

ブランチ指令を実施するための方法

Info

Publication number
JPH01500066A
JPH01500066A JP50122387A JP50122387A JPH01500066A JP H01500066 A JPH01500066 A JP H01500066A JP 50122387 A JP50122387 A JP 50122387A JP 50122387 A JP50122387 A JP 50122387A JP H01500066 A JPH01500066 A JP H01500066A
Authority
JP
Japan
Prior art keywords
command
condition
execution
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.)
Granted
Application number
JP50122387A
Other languages
English (en)
Other versions
JPH0350295B2 (ja
Inventor
クラーク,ダグラス ダブリュ.
バ−ンスタイン,デブラ−
Original Assignee
ディジタル エクイプメント コ−ポレ−ション
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 ディジタル エクイプメント コ−ポレ−ション filed Critical ディジタル エクイプメント コ−ポレ−ション
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; 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
    • 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)

Abstract

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

Description

【発明の詳細な説明】
ブランチ指令を実施するための装置及び方法発明の背景 1、発明の分野 本発明は情報処理システムに関し、特に、指令の実施が連続する指令の実施ない で重複を許容する複数個の下部操作に分割される情報処理システムに関し、典型 的には指令の実施のパイプライン化に関する。本技術はしばしば情報処理ユニッ トシステム内で指令実施のレートを増加させるのに使用される。本発明は条件に よるブランチ指令の実施において遭遇する遅延を減少するものである。 2、関連技術の説明 第1図を参照すると、典型的な情報処理システムが図示されている。本情報処理 システムは少なくとも1個の中央処理ユニット10(又は11)と、少なくとも 1個の入/出力装置13(又は14)と、メモリユニット15と、情報処理シス テムの複数個のサブシステム乃至ユニットを接続しているシステムバス19とを 含んでいる。中央処理ユニットはソフトウェア及び/又は4フアームウエアの指 令に従って論理信号群を処理する。処理すべき論理信号群は典型的にはメモリユ ニット15中に記憶色れている。コンソールユニット12は中央処理二ニットに 接続する事が出来、装置と記憶指令とを有しシステムをイニシアライズして情報 処理システムの動作中は端末として動作出来る。入/出カニニットは情報処理ユ ニットの端末ユニ5)、大量記憶ユニット、過信ユニット、及び、論理信号群を システムと交換する、情報処理システムと結合されるその他任意のユニットへの インターフェースを行う。本発明は中央処理ユニットの操作に関し、情報信号群 の処理を制御するプログラムの相当な部分の更に有効な実施の為の装置と方法に 関する。 情報処理システム、例えば第1図に示すものにおいて、情報信号群の実際の操作 は、通常プログラムと称される関連するインストラクション(1nstr*ct 1on ;以下指令と称す)郡の制御の下、に行われる。これ等の指令は順番に 実施される。次に第2a図を見ると、関連する技術による一連の指令の実施が図 示されている。最初の時間範囲To中に、指令#1が中央処理ユニットサブシス テムによって実行される。第1指令が実行された後、順番上次の指令#2が第2 時間範囲T。の間に中央処理ユニットサブシステムで実行される。指令#2の完 了後、情報処理ユニットが第3時間範囲T。内で実施する。指令を順番に実施す る為に、情報処理ユニットは所定の時間範囲を要求する。若し指令の為の実行時 間の長さが変えられるならば、中央処理システムと情報処理システムのその他の サブシステムとの間の情報信号群の交換をコオーヂネートするのに中央処理シス テム内に複雑な装置が含まれねばならない。即ち、3指令の実行の期間は基本的 な時間範囲の3倍になるのが普通である。基本的時間範囲は、次に述べる様な更 に手の込んだ技術を使用して指令の実施が為され、ない限り、各指令中の最長の 指令の実行を可能とするのに十分な時間範囲でなければならない。 情報処理システムの迅速な操作を行う為に、指令の実行を複数個の指令のセグメ ントに分割する技術が工夫されている。指令セグメントはミクロ指令の部品であ り、ミクロ指令の関連群はマクロ指令を実行する。セグメントを実行している装 置が適当に組織されていると、指令の実行は重複する要領で実施可能である。こ の技術を指令セットの実行の「バイブライン化」と称する。各パイプライン化指 令の実施は非バイブライン化指令の実行に比較して長い時間を要する可能性があ るが、指令を指令セグメントに分割するのに必要な付加装置の為に、指令の流れ は非バイブライン化指令で可能なよりも速く実行される。第2b図において、複 数個のセグメントへの指令の分割を示す。各セグメントは中央処理ユニット内の 個々独立して動作する要素グループに関連すると理解されたい。レジスタとゲー トとは、情報処理システム設計の業界周知の原理によって、特定のセグメントを 実行する要素グループの動作を実行する事が出来る。各セグメントの為のサブ時 間範囲t。は、各装置グループ中で全可能セグメントの実行可能な十分な長さで なければならない。 次に第2C図を参照すると、バイブライン化技術の使用によって可能となった指 令の順序の実施の割合いの結果としての増加が図示されている。指令#1は今回 はt のn倍に等し、いTo′時間範囲(できるだけ長い)で完成されるが、こ こでt。は各指令セグメントの実施に必要なサブインターバルで、nは各指令の 実行に必要な指令セグメントの数である。次の順番の指令、即ち指令#2は、指 令#1の開始後の区間t。後に始まる。次の順序の第3指令即ち指令#3は、そ の後の区間t。で始まる。各指令はその実行に時間の増加を来たし得る。 しかし第1指令の完了の為の最初の区間を一度通過すると、指令は各区間t。の 後に完成する。従って、指令の順番に関しては、個々の指令は実施に時間を余計 に要する事とはなるが、順序の実施は加速され得る。 パイプライン化技術はインストラクションシケンス(Instruction  5equence;以下指令順序と称する)を迅速に実施し得るが、指令順序内 の条件的に生じる「ブランチ」指令の能率を失う。ブランチ指令は一つの指令順 序から第2の指令順序への切換えを含んでいる。条件的に生じるブランチ指令は 、所定の条件に対しての量の試験を含んでいる。試験の結果にもとずいて指令順 序は現在の順序を継続する事も出来、指令順序は新指令順序に飛ぶ、即ち側路す る事ともなり得る。第2a図に示す様に実施されている指令順序に関しては、指 令#1は条件を試験する指令であり得、特定の次の順序的指令、指令#2で図示 されるものは指令#1の結果によって決定される。第2C図に図示されている様 な指令セットのパイプライン実行の場合、条件試験実施の結果は指令#1の指令 セグメントDま、では得る事が出来ない。しかし、指令#2は通常の動作状態で は既に実施が開始されており、指令#2の指令セグメントAとBとは完成してお くことも出来る。 指令順序のパイプライン化実施でのブランチングの問題にアドレスする為の、典 型的なアプローチはブランチ条件が判明するまで指令順序の実施を中止する事で あった。ブランチ条件が一度試験されると、正確な指令順序の実施、即ち最初の 指令順序、又は新指令順序が開始される。この計画は中央処理ユニットの不十分 な使用をもたらし、指令実施順序に遅れを生じる。条件の試験を待つ為に遅れが 生じるのみならず、複数個の指令セグメントが指令の完了前に実行され、時とし てこれをパイプラインの詰まりと称される別の遅れに遭遇する。 従って、この上の増加設備無しに、又、パイプライン化指令順序実施の使用から の改良指令の実施の妥協を最低限にして、システムパフォーマンスのブランチ指 令の効果を最少にする指令順序のパイプライン、実施用の操作法と装置に対する 必要性が感じられていた。 発明の要約 改良情報処理システムを提供する事が本発明の目的である。 指令順序の実施の為の改良形情報処理ユニットを提供する事が本発明の別の目的 である。 指令順序のパイプライン化実施用の改良情報処理ユニットを提供する事が本発明 の更に別の目的である・状態の発生の決定が完了する前に最初の指令順序又はブ ランチ指令順序のいずれかを開始し得るパイプライン指令順序を有する情報処理 ユニットを提供する事が本発明の更に特殊な目的である。上述の、及びその他の 目的は、本発明によれば条件的ブランチ指令の存在を認識する装置を有する情報 処理ユニットを提供する事によって完成される。条件的ブランチ指令の認識によ って、情報処理ユニットはブランチ条件が真と決定された時実施すべき順序で第 1指令の修正を開始する。情報処理システムが行う次の指令はブランチ条件が偽 である、即ち最初の指令順序が継続される時に実行さるべき指令である。 この指令(および最初の指令順序のこれに続く指令)が実施されている間、情報 処理システムはブランチ条件で決定された指令順序を実施する準#i(真の時) を行っている。ブランチ条件に関して決定が出た場合、情報処理ユニットは、条 件が偽のとき既に実施している最初の指令順序を継続する事ができる。ブランチ 条件が真の場合、真指令順序の実施のために準備中の情報処理ユニット内のアク チビテイが使用されて、真指令順序の実施が進行中の最初の指令順序の実施に置 き換わる。選択条件的ブランチ指令に対しては、ブランチ条件が起こる可能性が 高いが、中央処理ユニットは新順序として非選択的ブランチ指令を実行する。新 指令順序の準備が完成後条件が試験される。条件(最初にインターブリートされ たものとして)が真であ、る場合には、中央処理ユニットは新指令順序の実行を 継続する。反対の場合は、指令順序の実行は最初の指令順序に反転される。 これ等の及びその他の本発明の特徴は図面と共に以下の説明を読む事によって理 解されよう。 図面の簡単な説明 第1図は本発明を使用可能な情報処理システムの要素のブロック図である。 第2a図は関連技術による指令順序の実行を示す図で゛あり二第2b図は指令の 複数個の指令セグメントへの分割の仕方を示す図であり二第2C図はパイプライ ン化指令の実行が中央処理ユニットによってパフォーマンスを増加させ得る事を 図示している。 第3図は指令順序のパイプライン化実行を実施する情報処理システムのブロック 図である。 第4図は非条件的ブランチ指令の実行を示す図である。 第5図は、別の指令の処理が条件の決定が完了するまで停止されている条件的ブ ランチ指令の実行を示す図である。 第6図は本発明による条件的ブランチ指令の実行を示す図である。 第7図は本発明による、新指令順序へのブランチの可能性が大きい、条件的ブラ ンチ指令の実行を示す図である。 第8a図は付属信号と共に中央処理ユニットのブロック図を示し、条件釣ブラン チマクロ指令の一部の動作を示す。 第8b図は条件的ブランチマクロ指令の残余の動作を示す附随信号と共に中央処 理ユニットのブロック図である。 好ましい実施例の詳細な説明 4、
【図面の簡単な説明】
第1図と第2図とは関連技術に関連して説明した。 第3図を次に参照すると、指令順序のパイプライン実施を実行する中央処理ユニ ットの組織を示している。中央処理ユニットは指令サブユニット31と付属制御 ユニット32、実行ユニット33とカッシ((ache)(即ちローカル)メモ リーサブユニット34とに分割される。カッシメモリーサブユニット34はシス テムバス19に接続され、制御ユニット32の制御の下にシステムバスによって 情報処理システムの別のサブシステムと論理信号群を交換する。実行ユニット3 3は、やはり中央ユニット32の制御の下で、実行中の指令で定義される情報信 号群の操作(manipulation)を行う。指令ユニットは実行すべき指 令を受取り中央処理ユニットの操作を制御するのに使用し得る様に指令をリフォ ームする。リフォームされた指令又はその一部は制御ユニット32に加えられて 情報処理ユニットの論理素子の配列を作り指令で定められた動作を実行する。 上述した構造はマクロ指令を実行する為のミクロ指令の使用をサポートする。マ クロ指令は単一ミクロ指令又は複数個のミクロ指令によって実施されるが、これ はその複雑さ、中央処理ユニットの装置の性質、その他のパラメータで定まる。 第2b図に示すようにミクロ指令セグメント(複数)に分割されたのはミクロ指 令である。 各ミクロ指令は部品グループを制御する「ミクロ命令」を含んでいる。 第3図に示し、本発明の説明の為のものである情報処理ユニットの簡略化した分 割を参照すると、指令の一部分の実行を完了する為の中央処理ユニットの各ユニ ットの為の時間の長さは等しく取られる事となろう。即ち、情報処理ユニットに よって実行されるべき指令に対しての指令のセットの実行を% 2 c図に示す 。第1指令は最初の期間10の間に指令ユニットによりて為される。第3期間1 0の間に、カッシュメモリユニットは指令#1を実行出来、実行ユニットは指令 #2を実行でき、指令ユニットは指令#3を実行出来る。この3レベルのパイプ ラインは指令が指令ユニットに到着する限り継続される。 情報処理ユニットの図示の機能ユニットへの分割は、一般に、操作可能パイプラ イン形態を提供するのに十分ではない。上述した各々の機能的ユニットは各指令 の実行を完了するのに複数個のサブ操作を必要とする。説明の為に、第3図を参 照して説明した3セグメントではなく、4セグメントを有するパイプラインを本 発明の説明の為に使用する。・ 次に第4図を参照すると、非条件的ブランチ指令の実行が図示されている。非条 件的ブランチ指令は中央処理ユニットに非条件的ブランチ指令で定められた指令 に始まる新指令順序を実施する様に強制する。第4図に見るように、非条件的ブ ランチマクロ指令4010は開始され、最初の対応ミクロ指令が中央処理ユニッ トの装置を指令のターゲット順序を取戻させる。順序指令の中の次の3指令、即 ち40114012.4013、は「操作無し」指令で、その中では制御ユニッ トからの信号が指令の実施に寄与する動作を結果しない。ミクロ指令4014は 「終わり指令」ミクロ命令を含んでおり、非条件的ブランチマクロ指令の実行を 完了し、マクロ指令のターゲット順序の実行を開始させる様にする。 次に第5図を参照すると、本発明を使用していない条件的ブランチマクロ指令が 図示されている。このプロセスにおいては、マクロ指令を実行するミクロ指令は 、条件テストミクロ指令5010であり得る。この指令は条件的ブランチ指令の 条件をテストする。この指令が終わるまでは条件の結果は不明なので、テストの 結果が決定するまではその上の処理の実行は中止される。即ち、ミ指令である。 条件的ブランチ指令は真か偽かの条件決定を行う。条件が真の場合、ブランチが なされ、新指令順序が実行される。第5図の例では、非条件的ブランチ指令50 16が実行、され、第4図の指令順序が実行される。 条件が偽の場合、最初の指令順序が継続される。第5図に図示の様に、指令50 15等は、最初の指令順序でここで実行される。 次に第6図を参照すると、本発明による条件的ブランチ指令が図示されている。 この本発明の指令順序は条件的ブランチミクロ指令を実行はしないものの、個々 のミクロ指令は第4図の条件的ブランチ指令と等しくはない。 順序の第1ミクロ指令6010は条件的ブランチミクロ命令を含んでいる。指令 6010は条件テストに加えて、非条件的ブランチ指令が実行される様に、第1 指令のカッシュメモリユニットに指令の新順序でアドレスを設ける。ブランチ指 令の後に3つの「動作なし」指令が見られる非条件的ブランチ指令とは異なって 、本発明においては、最初の順序を実行する3つのミクロ指令が実行されている 。第3原初順序指令の第1セグメントの終わりに、例えば第6図の指令6010 の矢印に示す様に、条件の真偽の決定がなされる。条件が偽の時は、指令601 4で示す様に最初のミクロ指令順序が続けられる。条件が真の時は1ミクロ指令 トラツプルーチン6015が実行されて指令6016に示すように新順序の実行 に指令順序を変更する。更に、指令6011.6012、及び6013は、新順 序が条件で選定された時には不適切とされて破棄される。 次に第7図を参照すると、新順序へのブランチの可能性が高いと考えらねるタイ プの条件的ブランチ指令の実行が図示されている。このタイプのマクロ指令は指 令ループの制御を含んでおり、そこでは複数個のマクロ指令が、マクロ指令順序 が引き続いての指令順序で続けられる前に、通常繰返して実行される。指令70 1oと7011とはミクロ指令を決定するパラメータである。 指令7012は条件が真と決定された時、デスチネーションアドレスを決定する 。デスチネーションアドレスの決定と同時に、指令7012は新しい又はターゲ ット指令順序の実行を起こさせる非条件的ブランチ指令である。 しかし、この条件的ブランチ指令は旧順序の次のアドレスをたくわえる。第4図 に示す様に、非条件的ブランチ指令7013から4番目の指令、指令7o16、 は終了指令ミクロ命令を含んでいる。従って、その次の指令7017は、新順序 の最初の指令である。非条件的指令ブランチ順序内の3個の「操作なし」指令と は異なり、指令の一つ、7D15は、第6図に示すタイプの条件的ブランチ指令 である。更に、指令7013と7,014とはマクロ指令を実施するミクロ指令 順序の一部である。 条件に対するシチニエーションがここで逆転し、非条件的ブランチ指令は、潜在 的な新指令順序をアクチブな指令順序とする様にさせる。しかし、原初の順序を 続けるべきであるとする比較的肴なシチュエーションが条件的ブランチ指令で確 認されたとすると、その指令のアドレスは指令7012の中でたくわえられる。 尚又原初指令順序が継続さる。べき場合、実行済み新順序指令、7017.70 18及び7019、は使用されない事となろう。 次に第8図を参照すると、条件的ブランチマクロ指令を実行する装置が図示され ている。マクロ指令は指令サブユニット31に加えられる。各マクロ指令はデコ ードされて、マクロ指令を実行すべきアドレス信号が制御ユニット32に加えら れる。加えられたアドレス信号にもとずいて、制御ユニット32からのミクロコ ード制御信号が実行サブユニット33、カッシメモリサブユニット34及び条件 的ブランチロジック81に加えられる。条件的ブランチロジック81は条件信号 を実行サブユニット33から受取り、条件信号と印加ミクロコード制御信号に応 じて、2出力信号の一方を発生する。ミクロコード制御信号は実行サブユニット 33でデータ信号を発生し条件的ブランチロジック8に加えられる条件信号を発 生する。加えられた条件信号とミクロコード制御信号によって、その結果の出力 信号(1個又は複数個)が条件的ブランチロジックユニット81から発生される 。本発明においては、条件が真である時(即ちブランチが起された場所に加えら れる。条件が偽の場合(即ちブランチしない)、信号はカッシメモリサブユニッ ト34に加えられ、指令サブユニット31からの廃棄すべき信号に応じて制御ユ ニット32で開始されてフェッチ操作を起こさせる。 第8b図を参照すると、信号のミクロトラップロジックへの印加の結果、例えば ブランチ実施が図示されている。ミクロトラップ論理ユニット82はグローバル (gloval))ラップ信号を指令サブユニット31、実行サブユニット33 、カッシサブユニット34及び制御ユニット32に送付する。グローバルトラッ プ信号の指令サブユニット31、実行サブユニット33及びカブシメモリサブユ ニット34への送付の結果は条件的ブランチミクロ指令の後実行されたミクロ指 令の結果を破棄する事である。制御ユニット32へのグローバルトラップ信号の 作用は、ミクロトラップ論理ユニット82に印加され、ミクロトラップロジック から使用すべき制御ユニット32に印加された「条件は真j信号の結果によって 、アドレスさせる事(トラップベクトル)である。トラップベクトルの結果は、 まず何よりもトラップ解放信号をミクロトラップ論理ユニット82に提供する事 で、これによって、「条件は真」信号の印加の結果ミクロトラップ論理ユニット によって実行されているルーチンを中止させる。 2、好ましい実施例の動作 条件的ブランチ指令内に含まれる遅延は2つ存在する。 第1に、適切な指令順序の実行が、条件の真偽の決定を見るまでは確実に行う事 が出来ない。第2に、条件の充足のために一度決定がなされたとしても、プロセ ッサーパイプラインによ、る迅速な実行という長所が実現し得る前に、各種の指 令セグメントを実行しなければならない。 バイブライン化情報処理環境内での条件的指令に含まれる遅延を避ける為に、本 発明では条件的ブランチ指令を2グループに分類する。 条件的ブランチ指令の第1グループにおいては、条件のテストの最も可能性のあ る結果が未知である。本発明はこのタイプの条件的ブランチ指令を、次の指令を 、指令の結果としてのプログラム内のアクチュアルブランチの結果としてのアド レスでの情報の検索とする事によって処理している。この検索は複数個のミクロ 指令サイクルを実行する事になるので、この時間に実行される指令は、条件テス ティングの結果としてプログラムブランチが起こらなかったとして実行されるべ き原初の順序からの指令である。即ち、条件のテストの結果が確定した時、条件 が偽であるとすると、即ち原初のプログラム順序を継続すべきであるとなると、 検索のプロセスの情報は廃棄され、既に実行中の原初の指令順序が継続される。 実際には第4図の実行に当たっては只一つのミクロ指令サイクルのみが必要であ る。反対に、条件が真で新しい指令順序が実行されるべき時には、新指令順序の 第1信号グループの検索プロセスは3ミクロ指令サイクルにわたって継続され、 この指令順序の実行は次のプロセッサ活動の前に条件テスト結果を待っているの に比較して改善されている。条件が真の場合、条件のテスト中止じる原初プログ ラムの指令実行順序の結果は不適切なものとなるので廃棄しなければならない事 は明らかである。即ち、本発明の条件的ブランチ指令のスピードは条件が偽の時 1システムクロツクサイクルのみを使用し、条件が真の場合の非条件的ブランチ 指令の時と同様の速さで指令を実行する事は明らかであろう。 第7図に図示の第2グループの指令に関しては、本第2グループに付属する条件 的ブランチ指令の確認の下に、新指令順序へのブランチが条件のテストの最も可 能性の大きい結果であると仮定する。この仮定の結果として、条件的ブランチ指 令は非条件的ブランチ指令として評価され、条件がテストされなくてもブランチ 操作を行うのに必要な活動が実行される。新指令順序が実行の為に準備された後 、条件をテストする指令が実行される。しかし、条件テスト手続きはこの時反対 にされ、継続の条件が、指令順序が実際に原初指令順序であったとしても、新指 令順序の実行の条件となる。条件的ブランチ指令の実行は第6図に図示の条件的 ブランチ指令の実行と同様な要領で行われる。ブランチが条件のテストの最も可 能性の高い結果であると言う仮定は、殆どの場合実際に正しい事は明らかであろ う。この結果は第7図から明らかな様に、原初条件が偽である場合、指令順序の 2変更が生じるべきであるという結果をもたらす。条件的ブランチ指令は、非条 件的ミクロオーダーを第2(ブランチ)アドレスが分り次第実行させる様にし、 又、前述した条件的ブランチ指令を使用することによって、指令の実行を改善し て、原初指令順序への(余り起こらない)復帰のインパクトを減少する。 上記の説明は好ましい実施例の動作の例を含むもので、本発明の範囲を限定する 事を意味するものではない。発明の範囲は以下記載の請求範囲によって限定され る。上述の説明から、多数の変形が本発明の精神と範囲の中に含まれるべきもの が当業者にとって明゛らかであろう。 FIo、 6 マクロブランチ化しr ′隋密幻錫 FIG、ごシう 補正書の翻訳文提出書(特許法第184条の8)昭和 6別7月29日

Claims (7)

    【特許請求の範囲】
  1. 1.条件の真偽を決定する第1ミクロ指令を実行し、前記第1ミクロ指令をブラ ンチ指令順序のメモリフェッチを開始する様に用意し、 前記第1ミクロ指令の完了の前には非ブランチ指令順序の実行を継続させ、 前記第1ミクロ指令の完了後、前記条件が真の時前記新指令順序の実行を行わせ るミクロ指令の実行をする、各工程を有する条件的ブランチプログラム順序の実 施方法。
  2. 2.更に、前記条件が偽のときは、前記非ブランチの前記実行を継続させる工程 を有する、請求の範囲第1項に記載の条件的ブランチプログラムの実施方法。
  3. 3.第1ミクロ指令によって非条件的ブランチを実行し、デスチネーションアド レスを決定し、 新指令順序の実行が始まっている前記ミクロ指令の完了の前に、条件的ブランチ 指令を実行し、前記新指令順序を、条件が偽と決定された時、実行を継続する、 各工程を有するマクロ指令順序内での条件的ブランチを実行する方法。
  4. 4.前記条件が真の時、前記原初指令に戻る工程を更に有するマクロ指令内での 条件的ブランチの実行方法。
  5. 5.ミクロプログラム化情報処理ユニットにおいて、条件的ブランチマクロ指令 を、指令サブユニット、実行サブユニット、カッシメモリサブユニットを有する 中央処理ユニット内で実施する装置が、 第1ミクロ指令と予め選択された情報信号グループに応じて条件を決定し所定の 指令順序をフェッチを開始する論理装置と、 前記条件信号と前記第1ミクロ指令とに応じて第1信号と第2信号の一方を提供 するブランチ論理装置と、前記第1信号に応じて、前記指令サブユニット、前記 実行サブユニット、及び前記カッシメモリユニット中の所定の指令順序の前記フ ェッチに関係のない能力を破棄するトラップ論理装置と、 を有する装置。
  6. 6.更に前記第1信号に応じて前記トラップ論理装置をイネーブルする装置を有 する、請求の範囲第5項に記載の条件的ブランチ装置。
  7. 7.前記第2信号に応じて前記所定の指令順序フェッチを破棄する装置を更に含 む、請求の範囲第5項に記載の条件的ブランチ装置。
JP50122387A 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 true JPH01500066A (ja) 1989-01-12
JPH0350295B2 JPH0350295B2 (ja) 1991-08-01

Family

ID=25239679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50122387A 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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56140445A (en) * 1980-04-01 1981-11-02 Hitachi Ltd Information processing device
JPS5748138A (en) * 1980-07-09 1982-03-19 Sperry Rand Corp Address controlling circuit for microprocessor system
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 複製画像の編集装置

Family Cites Families (2)

* 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
US4742451A (en) * 1984-05-21 1988-05-03 Digital Equipment Corporation Instruction prefetch system for conditional branch instruction for central processor unit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56140445A (en) * 1980-04-01 1981-11-02 Hitachi Ltd Information processing device
JPS5748138A (en) * 1980-07-09 1982-03-19 Sperry Rand Corp Address controlling circuit for microprocessor system
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 複製画像の編集装置

Also Published As

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

Similar Documents

Publication Publication Date Title
US5235686A (en) Computer system having mixed macrocode and microcode
US4080650A (en) Facilitating return from an on-line debugging program to a target program breakpoint
US6694427B1 (en) Method system and apparatus for instruction tracing with out of order processors
JP5611756B2 (ja) プログラム・フロー制御
JPH0533423B2 (ja)
EP1390841A1 (en) Data processing using multiple instruction sets
JPS61109147A (ja) 命令フェッチ及び実行制御方法
JP2513417B2 (ja) 情報処理装置
EP0592404A1 (en) Apparatus and method for providing a stall cache
JPH01500066A (ja) ブランチ指令を実施するための方法
EP0279953B1 (en) Computer system having mixed macrocode and microcode instruction execution
US5787241A (en) Method and apparatus for locating exception correction routines
CN111324948A (zh) 模拟方法及模拟系统
JPS62117039A (ja) コントロ−ラ
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
TWI237788B (en) Context execution in a pipelined computer processor
AU1490888A (en) Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units
US7130988B2 (en) Status register update logic optimization
EP0500193A1 (en) Apparatus and method for execution of branch instructions
WO1987004819A1 (en) Apparatus and method for a microprogrammed data processing system having a plurality of control stores
JP2000194556A (ja) 命令ルックアヘッドシステムおよびハ―ドウェア
CN116841614B (zh) 乱序访存机制下的顺序向量调度方法
US8055888B2 (en) Initialisation of a pipelined processor
JP2758624B2 (ja) マイクロプログラムの調速方式
KR910001055B1 (ko) 파이프라인방식으로 처리되는 데이터처리시스템에 있어서 트랩된 마이크로어드레스의 재배열방법 및 그 장치