Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0350295B2 - - Google Patents
[go: Go Back, main page]

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
Japanese (ja)
Other versions
JPH01500066A (en
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/en
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サイクル期
間に前記マイクロ指令の新規順序をキヤンセル
し、その後は前記マイクロ指令の原初順序に再び
もどる工程とを有することを特徴とする条件的ブ
ランチ順序の実施方法。
Claim 1: A method for implementing a conditional branch order of overlapping microcommands, comprising: starting execution of a first microcommand in an original order of microcommands during a first cycle; starting preparation for execution as a branch micro-instruction in the third and fourth cycle periods, respectively, starting execution of the second and third micro-instructions in the original order of said micro-instructions, and in the fifth cycle period beginning execution of a conditional branch micro-instruction; beginning execution of a micro-instruction ending in a sixth cycle period; and micro-instruction selected as the non-conditional branch micro-instruction during a seventh and eighth cycle period. initiating execution of the first and second microdirectives of the new sequence, respectively, and determining whether a condition of the conditional branch microdirective is true during the eighth cycle; initiating execution of a third micro-instruction in the new order of micro-instructions during a ninth cycle period if the condition is false; and canceling the new order of micro-instructions in the ninth cycle period if the condition is false; and then returning to the original order of the microinstructions.

発明の背景 1 発明の分野 本発明は情報処理システムに関し、特に、指令
の実施が連続する指令の実施ないで重複を許容す
る複数個の下部操作に分割される情報処理システ
ムに関し、典型的には指令の実施のパイプライン
化に関する。本技術はしばしば情報処理ユニツト
システム内で指令実施のレートを増加させるのに
使用される。本発明は条件によるブランチ指令の
実施において遭遇する遅延を減少するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to information processing systems, and more particularly, to information processing systems in which the execution of a command is divided into a plurality of sub-operations that allow duplication without execution of consecutive commands; Concerning the pipelining of the implementation of the Directive. This technique is often used within information processing unit systems to increase the rate of command execution. The present invention reduces the delays encountered in executing conditional branch commands.

2 関連技術の説明 第1図を参照すると、典型的な情報処理システ
ムが図示されている。本情報処理システムは少な
くとも1個の中央処理ユニツト10(又は11)
と、少なくとも1個の入/出力装置13(又は1
4)と、メモリユニツト15と、情報処理システ
ムの複数個のサブシステム乃至ユニツトを接続し
ているシステムバス19とを含んでいる。中央処
理ユニツトはソフトウエア及び/又はフアームウ
エアの指令に従つて論理信号群を処理する。処理
すべき論理信号群は典型的にはメモリユニツト1
5中に記憶されている。コンソールユニツト12
は中央処理ユニツトに接続する事が出来、装置と
記憶指令とを有しシステムをイニシアライズして
情報処理システムの動作中は端末として動作出来
る。入/出力ユニツトは情報処理ユニツトの端末
ユニツト、大量記憶ユニツト、通信ユニツト、及
び、論理信号群をシステムと交換する、情報処理
システムと結合されるその他任意のユニツトへの
インターフエースを行う。本発明は中央処理ユニ
ツトの操作に関し、情報信号群の処理を制御する
プログラムの相当な部分の更に有効な実施の為の
装置と方法に関する。
2 Description of Related Art Referring to FIG. 1, a typical information processing system is illustrated. The information processing system includes at least one central processing unit 10 (or 11).
and at least one input/output device 13 (or one
4), a memory unit 15, and a system bus 19 connecting a plurality of subsystems or units of the information processing system. A central processing unit processes the logic signals according to software and/or firmware instructions. The logic signals to be processed are typically stored in memory unit 1.
It is memorized in 5. Console unit 12
can be connected to a central processing unit, have a device and a storage command, initialize the system, and operate as a terminal during operation of the information processing system. The input/output unit interfaces the information handling unit to terminal units, mass storage units, communication units, and any other units coupled to the information handling system that exchange logic signals with the system. The present invention relates to the operation of a central processing unit, and to an apparatus and method for a more efficient implementation of a significant portion of a program for controlling the processing of information signals.

情報処理システム、例えば第1図に示すものに
おいて、情報信号群の実際の操作は、通常プログ
ラムと称される関連するインストラクシヨン
(instruction;以下指令と称す)群の制御の下に
行われる。これ等の指令は順番に実施される。次
に第2a図を見ると、関連する技術による一連の
指令の実施が図示されている。最初の時間範囲
T0中に、指令#1が中央処理ユニツトサブシス
テムによつて実行される。第1指令が実行された
後、順番上次の指令#2が第2時間範囲T0の間
に中央処理ユニツトサブシステムで実行される。
指令#2の完了後、情報処理ユニツトが第3時間
範囲T0内で実施する。指令を順番に実施する為
に、情報処理ユニツトは所定の時間範囲を要求す
る。若し指令の為の実行時間の長さが変えられる
ならば、中央処理システムと情報処理システムの
その他のサブシステムとの間の情報信号群の交換
をコオーヂネートするのに中央処理システム内に
複雑な装置が含まれねばならない。即ち、3指令
の実行の期間は基本的な時間範囲の3倍になるの
が普通である。基本的時間範囲は、次に述べる様
な更に手の込んだ技術を使用して指令の実施が為
されない限り、各指令中の最長の指令の実行を可
能とするのに十分な時間範囲でなければならな
い。情報処理システムの迅速な操作を行う為に、
指令の実行を複数個の指令のセグメントに分割す
る技術が工夫されている。指令セグメントはマイ
クロ指令の成分であり、マイクロ指令の関連群は
マクロ指令を実行する。セグメントを実行してい
る装置が適当に組織されていると、指令の実行は
重複する要領で実施可能である。この技術を指令
セツトの実行の「パイプライン化」と称する。各
パイプライン化指令の実施は非パイプライン化指
令の実行に比較して長い時間を要する可能性があ
るが、指令を指令セグメントに分割するのに必要
な付加装置の為に、指令の流れは非パイプライン
化指令で可能なよりも速く実行される。第2b図
において、複数個のセグメントへの指令の分割を
示す。各セグメントは中央処理ユニツト内の個々
独立して動作する要素グループに関連すると理解
されたい。レジスタとゲートとは、情報処理シス
テム設計の業界周知の原理によつて、特定のセグ
メントを実行する要素グループの動作を実行する
事が出来る。各セグメントの為のサブ時間範囲t0
は、各装置グループ中で全可能セグメントの実行
可能な十分な長さでなければならない。
In an information processing system, such as the one shown in FIG. 1, the actual manipulation of information signals is performed under the control of a related set of instructions, commonly referred to as a program. These directives will be implemented in sequence. Turning now to FIG. 2a, the implementation of a series of commands in accordance with the related art is illustrated. first time range
During T0 , instruction #1 is executed by the central processing unit subsystem. After the first command is executed, the next command in sequence, #2, is executed in the central processing unit subsystem during a second time period T 0 .
After completion of command #2, the information processing unit executes within the third time range T0 . In order to carry out the commands in sequence, the information processing unit requires a predetermined time range. If the length of execution time for a command is varied, a complex system within the central processing system is required to coordinate the exchange of information signals between the central processing system and other subsystems of the information processing system. equipment must be included. That is, the period of execution of the three commands is usually three times the basic time range. The basic time range must be sufficient to allow execution of the longest command in each command, unless implementation of the command is done using more elaborate techniques such as those described below. Must be. In order to quickly operate the information processing system,
Techniques have been devised to divide the execution of a command into multiple command segments. Command segments are components of micro-commands, and related groups of micro-commands execute macro-commands. If the devices executing the segments are properly organized, the execution of the commands can be performed in an overlapping manner. This technique is referred to as "pipelining" the execution of a set of instructions. Although execution of each pipelined command may take longer than execution of a non-pipelined command, the flow of commands is Executes faster than possible with non-pipelined directives. In Figure 2b, the division of the command into multiple segments is shown. It is to be understood that each segment relates to a group of independently operating elements within the central processing unit. Registers and gates enable the operations of groups of elements to perform particular segments according to principles well known in the art of information handling system design. Sub-time range t 0 for each segment
must be long enough to allow all possible segments to be run in each device group.

次に第2c図を参照すると、パイプライン化技
術の使用によつて可能となつた指令の順序の実施
の割合いの結果としての増加が図示されている。
指令#1は今回はt0のn倍に等しいT0′時間範囲
(できるだけ長い)で完成されるが、ここでt0
各指令セグメントの実施に必要なサブインターバ
ルで、nは各指令の実行に必要な指令セグメント
の数である。次の順番の指令、即ち指令#2は、
指令#1の開始後の区間t0後に始まる。次の順序
の第3指令即ち指令#3は、その後の区間t0で始
まる。各指令はその実行に時間の増加を来たし得
る。しかし第1指令の完了の為の最初の区間を一
度通過すると、指令は各区間t0の後に完成する。
従つて、指令の順番に関しては、個々の指令は実
施に時間を余計に要する事とはなるが、順序の実
施は加速され得る。
Referring now to FIG. 2c, the resulting increase in the rate of execution of the order of instructions made possible through the use of pipelining techniques is illustrated.
Command #1 is now completed in a time span of T 0 ' (as long as possible) equal to n times t 0, where t 0 is the sub-interval required for the implementation of each command segment and n is the time span of each command. This is the number of command segments required for execution. The next order of commands, namely command #2, is
Starts after interval t 0 after the start of command #1. The third command in the next sequence, command #3, begins at the subsequent interval t 0 . Each command may incur an increase in time for its execution. However, once the first interval for completion of the first command is passed, the command is completed after each interval t 0 .
Therefore, with respect to the order of commands, the implementation of the order can be accelerated, although each individual command will require additional time to implement.

パイプライン化技術はインストラクシヨンシケ
ンス(instruction sequence;以下指令順序と称
する)を迅速に実施し得るが、指令順序内の条件
的に生じる「ブランチ」指令の能率を失う。ブラ
ンチ指令は一つの指令順序から第2の指令順序へ
の切換えを含んでいる。条件的に生じるブランチ
指令は、所定の条件に対しての量の試験を含んで
いる。試験の結果にもとずいて指令順序は現在の
順序を継続する事も出来、指令順序は新指令順序
に飛ぶ、即ち側路する事ともなり得る。第2a図
に示す様に実施されている指令順序に関しては、
指令#1は条件を試験する指令であり得、特定の
次の順序的指令、指令#2で図示されるものは指
令#1の結果によつて決定される。第2c図に図
示されている様な指令セツトのパイプライン実行
の場合、条件試験実施の結果は指令#1の指令セ
グメントDまでは得る事が出来ない。しかし、指
令#2は通常の動作状態では既に実施が開始され
ており、指令#2の指令セグメントAとBとは完
成しておくことも出来る。
Pipelining techniques can quickly implement an instruction sequence, but at the expense of conditionally occurring "branch" instructions within the instruction sequence. A branch command involves switching from one command sequence to a second command sequence. A conditionally occurring branch command involves testing a quantity for a predetermined condition. Based on the results of the test, the command sequence may continue in the current order, or the command sequence may jump, or bypass, to a new command sequence. Regarding the order of commands implemented as shown in Figure 2a,
Command #1 may be a command that tests a condition, and the particular next sequential command, illustrated by command #2, is determined by the result of command #1. In the case of pipeline execution of a command set as illustrated in FIG. 2c, results of conditional test execution cannot be obtained up to command segment D of command #1. However, command #2 has already begun to be executed under normal operating conditions, and command segments A and B of command #2 can be completed.

指令順序のパイプライン化実施でのブランチン
グの問題にアドレスする為の、典型的なアプロー
チはブランチ条件が判明するまで指令順序の実施
を中止するか、EP−A−162778に開示されてい
る様にブランチ条件を試験する前にあらかじめ指
令を読込んでおく事であつた。ブランチ条件が一
度試験されると、正確な指令順序の実施、即ち最
初の指令順序、又は新指令順序が開始される。こ
の計画は中央処理ユニツトの不十分な使用をもた
らし、指令実施順序に遅れを生じる。条件の試験
を待つ為に遅れが生じるのみならず、複数個の指
令セグメントが指令の完了前に実行され、時とし
てこれをパイプラインの詰まりと称される別の遅
れに遭遇する。
To address the problem of branching in a pipelining implementation of a command sequence, a typical approach is to suspend execution of the command sequence until the branch condition is known, or to use a method such as that disclosed in EP-A-162778. The first thing to do was to read the directives in advance before testing the branch conditions. Once the branch condition is tested, execution of the correct command sequence begins, either the original command sequence or a new command sequence. This scheme results in underutilization of the central processing unit and causes delays in the order of command implementation. Not only are there delays due to waiting for conditions to be tested, but multiple command segments are executed before the command completes, sometimes encountering another delay known as pipeline jamming.

従つて、この上の増加設備無しに、又、パイプ
ライン化指令順序実施の使用からの改良指令の実
施の妥協を最低限にして、システムパフオーマン
スのブランチ指令の効果を最少にする指令順序の
パイプライン実施用の操作法と装置に対する必要
性が感じられていた。
Therefore, the pipe command sequence minimizes the effect of branch commands on system performance without any additional equipment on this, and with minimal compromise of improved command implementation from the use of pipelined command sequence implementation. A need was felt for operating procedures and equipment for line implementation.

発明の要約 改良情報処理システムを提供する事が本発明の
目的である。
SUMMARY OF THE INVENTION It is an object of the present invention to provide an improved information processing system.

指令順序の実施の為の改良形情報処理ユニツト
を提供する事が本発明の別の目的である。
It is another object of the present invention to provide an improved information processing unit for implementing command sequences.

指令順序のパイプライン化実施用の改良情報処
理ユニツトを提供する事が本発明の更に別の目的
である。
It is a further object of the present invention to provide an improved information processing unit for implementing pipelining of command sequences.

条件の真偽の決定が完了する前に最初の指令順
序又はブランチ指令順序のいずれかを開始し得る
パイプライン指令順序を有する情報処理ユニツト
を提供する事が本発明の更に特殊な目的である。
上述の、及びその他の目的は、本発明によれば条
件的ブランチ指令の存在を認識する装置を有する
情報処理ユニツトを提供する事によつて、完成さ
れる。条件的ブランチ指令の認識によつて、情報
処理ユニツトはブランチ条件が真と決定された時
実施すべき順序で1番目の指令の修正を開始す
る。情報処理システムが行う次の指令はブランチ
条件が偽である、即ち最初の指令順序が継続され
る時に実行さるべき指令である。この指令(およ
び最初の指令順序のこれに続く指令)が実施され
ている間、情報処理システムはブランチ条件で決
定された指令順序を実施する準備(真の時)を行
つている。ブランチ条件についての真偽の決定が
出た場合、情報処理ユニツトは、条件が偽のとき
既に実施している最初の指令順序を継続する事が
できる。ブランチ条件が真の場合、真指令順序の
実施のために準備中の情報処理ユニツト内のアク
チビテイが使用されて、真指令順序の実施が進行
中の最初の指令順序の実施に置き換わる。選択条
件的ブランチ指令に対しては、ブランチ条件が起
こる可能性が高いが、中央処理ユニツトは新順序
として非条件的ブランチ指令を実行する。新指令
順序の準備が完成後条件が試験される。条件(最
初にインタープリートされたものとして)が真で
ある場合には、中央処理ユニツトは新指令順序の
実行を継続する。反対の場合は、指令順序の実行
は最初の指令順序に反転される。
It is a more specific object of the present invention to provide an information processing unit with a pipelined command sequence that can initiate either an initial command sequence or a branch command sequence before the determination of the truth of a condition is completed.
The above and other objects are accomplished according to the invention by providing an information processing unit having a device for recognizing the existence of a conditional branch instruction. Upon recognition of a conditional branch command, the information processing unit begins modifying the first command in the order in which it should be executed when the branch condition is determined to be true. The next command executed by the information handling system is the command to be executed when the branch condition is false, ie, the initial command sequence is continued. While this command (and subsequent commands in the initial command order) is being executed, the information processing system is preparing (when true) to implement the command order determined by the branch condition. If a true or false determination is made for the branch condition, the information processing unit may continue with the original command sequence that it was already executing when the condition was false. If the branch condition is true, the activity in the information processing unit that is preparing for execution of the true command sequence is used to cause the execution of the true command sequence to replace the execution of the first command sequence in progress. For selective conditional branch instructions, the branch condition is likely to occur, but the central processing unit executes the non-conditional branch instruction as a new order. After the preparation of the new directive order is completed, the conditions will be tested. If the condition (as originally interpreted) is true, the central processing unit continues executing the new command sequence. In the opposite case, execution of the command sequence is reversed to the original command sequence.

このように本発明によれば、条件的ブランチ指
令を認識すると、これを条件の付与されていない
非条件的ブランチ指令として実行する場合のマイ
クロ指令の準備と、そのまま指令の原初順序が継
続される場合のマイクロ指令の準備との両方を行
なつている。そして まず、原初順序によるマイクロ指令の実行を開
始し、 次に、非条件的ブランチ指令としてマイクロ指
令の実行準備を開始し、 次に、条件的ブランチ指令の実行を開始し、 次に、前記非条件的ブランチ指令として新規順
序のマイクロ指令の実行を開始しながら、同時に
前記条件的ブランチ指令の条件の真偽を決定し、 次に前記条件が真の場合には、新規順序のマイ
クロ指令の実行を継続し、条件が偽である場合に
は、新規順序をキヤンセルして原初順序のマイク
ロ指令にもどる。
In this way, according to the present invention, when a conditional branch instruction is recognized, the preparation of a microinstruction for executing it as a non-conditional branch instruction to which no conditions are attached and the original order of instructions are continued. We are doing both with the preparation of micro-directives in case. and first starts executing the micro-instruction in the primitive order, then starts preparing the micro-instruction for execution as a non-conditional branch instruction, then starts executing the conditional branch instruction, and then starts executing the micro-instruction as a non-conditional branch instruction; While starting the execution of a new order of micro-instructions as a conditional branch instruction, at the same time determining the truth or falsehood of a condition of said conditional branch instruction, and then, if said condition is true, executing the new order of micro-instructions. and if the condition is false, cancel the new order and return to the original order microinstruction.

条件的ブランチマイクロ指令は、大略上記の順
に処理される。なおこの処理順序の詳細は例えば
請求の範囲等に明記されています。
Conditional branch microdirectives are processed generally in the order listed above. The details of this processing order are specified in, for example, the scope of claims.

このように本発明においては、条件的ブランチ
マイクロ指令を実施する場合に、ブランチしない
場合の原初順序によるマイクロ指令と、ブランチ
する場合の新規順序によるマイクロ指令を並列的
に実行させ、条件の真偽が決まると、新規順序を
継続するか原初順序にもどるようにしている。
In this way, in the present invention, when executing a conditional branch micro-instruction, the micro-instruction in the original order when not branching and the micro-instruction in the new order when branching are executed in parallel, and the truth or falsity of the condition is determined. Once determined, the new order is continued or the original order is returned.

このため本発明では、条件的ブランチマクロ指
令におけるブランチが成功する確率及び成功しな
い確率をあらかじめ算出しておく工程、並びにこ
の指令を解読したときに前記成功する確率と成功
しない確立とを比較して、その確立の高い方の指
令順序を選択する工程は設けていません。
For this reason, the present invention includes a step of calculating in advance the probability that a branch in a conditional branch macro command will succeed and a probability that it will not succeed, and comparing the probability that the branch will succeed and the probability that it will not succeed when this command is decoded. , there is no process to select the command order with the highest probability.

従つて本発明による条件的ブランチマイクロ指
令の実施方法によれば、制御タイミングの各サイ
クル期間が第1から第9までに固定され、この各
サイクル期間に対応して実行すべき各処理工程が
あらかじめ決められているため、処理論理の単純
化、論理回路の簡略化及び装置の低コスト化など
の効果が得られます。
Therefore, according to the method for implementing a conditional branch microcommand according to the present invention, each cycle period of the control timing is fixed from the first to the ninth period, and each processing step to be executed corresponding to each cycle period is predetermined. Because it is fixed, effects such as simplification of processing logic, simplification of logic circuits, and lower cost of equipment can be obtained.

これ等の及びその他の本発明の特徴は図面と共
に以下の説明を読む事によつて理解されよう。
These and other features of the invention will be understood from the following description in conjunction with the drawings.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明を使用可能な情報処理システ
ムの要素のブロツク図である。
FIG. 1 is a block diagram of the elements of an information handling system in which the present invention can be used.

第2a図は関連技術による指令順序の実行を示
す図であり:第2b図は指令の複数個の指令セグ
メントへの分割の仕方を示す図であり:第2c図
はパイプライン化指令の実行が中央処理ユニツト
によつてパフオーマンスを増加させ得る事を図示
している。
FIG. 2a is a diagram illustrating the execution of a command sequence according to the related art; FIG. 2b is a diagram illustrating how a command is divided into multiple command segments; and FIG. 2c is a diagram illustrating the execution of a pipelined command. It illustrates that performance can be increased by a central processing unit.

第3図は指令順序のパイプライン化実行を実施
する情報処理システムのブロツク図である。
FIG. 3 is a block diagram of an information processing system that implements pipelined execution of command sequences.

第4図は非条件的ブランチ指令の実行を示す図
である。
FIG. 4 is a diagram illustrating execution of a non-conditional branch command.

第5図は、別の指令の処理が条件の決定が完了
するまで停止されている条件的ブランチ指令の実
行を示す図である。
FIG. 5 is a diagram illustrating execution of a conditional branch command in which processing of another command is halted until the determination of the condition is completed.

第6図は本発明による条件的ブランチ指令の実
行を示す図である。
FIG. 6 is a diagram illustrating execution of a conditional branch instruction according to the present invention.

第7図は本発明による、新指令順序へのブラン
チの可能性が大きい、条件的ブランチ指令の実行
を示す図である。
FIG. 7 is a diagram illustrating the execution of a conditional branch command with a high probability of branching to a new command order, in accordance with the present invention.

第8a図は付属信号と共に中央処理ユニツトの
ブロツク図を示し、条件的ブランチマクロ指令の
一部の動作を示す。
FIG. 8a shows a block diagram of the central processing unit with accompanying signals to illustrate the operation of some of the conditional branch macro commands.

第8b図は条件的ブランチマクロ指令の残余の
動作を示す附随信号と共に中央処理ユニツトのブ
ロツク図である。
FIG. 8b is a block diagram of the central processing unit with accompanying signals indicating the remaining operation of the conditional branch macro command.

好ましい実施例の詳細な説明 1 図面の詳細な説明 第1図と第2図とは関連技術に関連して説明し
た。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 1 DETAILED DESCRIPTION OF THE DRAWINGS FIGS. 1 and 2 have been described in connection with the related art.

第3図と次に参照すると、指令順序のパイプラ
イン実施を実行する中央処理ユニツトの組織を示
している。中央処理ユニツトは指令サブユニツト
31と付属制御ユニツト32、実行ユニツト33
とカツシ(cache)(即ちローカル)メモリーサ
ブユニツト34とに分割される。カツシメモリー
サブユニツト34はシステムバス19に接続さ
れ、制御ユニツト32の制御の下にシステムバス
によつて情報処理システムの別のサブシステムと
論理信号群を交換する。実行ユニツト33は、や
はり中央ユニツト32の制御の下で、実行中の指
令で定義される情報信号群の操作
(manipulation)を行う。指令ユニツトは実行す
べき指令を受取り中央処理ユニツトの操作を制御
するのに使用し得る様に指令を再編成する。この
再編成された指令又はその一部は制御ユニツト3
2に加えられて情報処理ユニツトの論理素子の配
列を作り指令で定められた動作を実行する。
Referring now to FIG. 3, the organization of a central processing unit that performs pipeline implementation of command sequences is shown. The central processing unit includes a command subunit 31, an attached control unit 32, and an execution unit 33.
and a cache (or local) memory subunit 34. The memory subunit 34 is connected to the system bus 19 and exchanges logic signals with other subsystems of the information handling system via the system bus under the control of the control unit 32. The execution unit 33, also under the control of the central unit 32, performs the manipulation of information signals defined by the command being executed. The command unit receives commands to be executed and reorganizes the commands for use in controlling the operation of the central processing unit. This reorganized command or part of it is transmitted to the control unit 3.
2, it creates an array of logic elements in the information processing unit and executes the operation specified by the command.

上述した構造はマクロ指令を実行する為のマイ
クロ指令の使用をサポートする。マクロ指令は単
一マイクロ指令又は複数個のマイクロ指令によつ
て実施されるが、これはその複雑さ、中央処理ユ
ニツトの装置の性質、その他のパラメータで定ま
る。第2b図に示すようにマイロ指令セグメント
(複数)に分割されたのはマイクロ指令である。
各マイクロ指令は指令セグメント群を制御する
「マイクロ命令」を含んでいる。
The structure described above supports the use of micro-instructions to execute macro-instructions. A macroinstruction may be implemented by a single microinstruction or multiple microinstructions, depending on its complexity, the nature of the central processing unit equipment, and other parameters. It is the microcommand that is divided into microcommand segments as shown in Figure 2b.
Each microinstruction contains "microinstructions" that control a group of command segments.

第3図に示し、本発明の説明の為のものである
情報処理ユニツトの簡略化した分割を参照する
と、指令の一部分の実行を完了する為の中央処理
ユニツトの各ユニツトの為の時間の長さは等しく
取られる事となろう。即ち、情報処理ユニツトに
よつて実行されるべき指令に対しての指令のセツ
トの実行を第2c図に示す。第1指令は最初の期
間t0の間に指令ユニツトによつて為される。第3
期間t0の間に、カツシユメモリユニツトは指令
#1を実行出来、実行ユニツトは指令#2を実行
でき、指令ユニツトは指令#3を実行出来る。こ
の3レベルのパイプラインは指令が指令ユニツト
に到着する限り継続される。
Referring to the simplified division of the information processing unit shown in FIG. They will be taken equally. That is, the execution of a set of instructions for instructions to be executed by the information processing unit is shown in FIG. 2c. The first command is made by the command unit during the first period t 0 . Third
During period t0 , the cash memory unit can execute command #1, the execution unit can execute command #2, and the command unit can execute command #3. This three-level pipeline continues as long as commands arrive at the command unit.

情報処理ユニツトの図示の機能ユニツトへの分
割は、一般に、操作可能パイプライン形態を提供
するのに十分ではない。上述した各々の機能的ユ
ニツトは各指令の実行を完了するのに複数個のサ
ブ操作を必要とする。説明の為に、第3図を参照
して説明した3セグメントではなく、4セグメン
トを有するパイプラインを本発明の説明の為に使
用する。
The illustrated division of the information processing unit into functional units is generally not sufficient to provide an operational pipeline configuration. Each of the functional units described above requires multiple sub-operations to complete the execution of each command. For purposes of illustration, a pipeline having four segments will be used to illustrate the invention, rather than the three segments described with reference to FIG.

次に第4図を参照すると、非条件的ブランチ指
令の実行が図示されている。非条件的ブランチ指
令は中央処理ユニツトに非条件的ブランチ指令で
定められた指令に始まる新指令順序を実施す様に
強制する。第4図に見るように、非条件的ブラン
チマクロ指令4010は開始され、最初の対応マ
イクロ指令が中央処理ユニツトの装置を指令のタ
ーゲツト順序を取戻させる。順序指令の中の次の
3指令、即ち4011,4012,4013、は
「動作無し」指令で、その中では制御ユニツトか
らの信号が指令の実施に寄与する動作を行なうこ
とはない。マイクロ指令4014は「終わり指
令」マイクロ命令を含んでおり、非条件的ブラン
チマクロ指令の実行を完了し、マクロ指令のター
ゲツト順序の実行を開始させる様にする。
Referring now to FIG. 4, execution of a non-conditional branch instruction is illustrated. A non-conditional branch command forces the central processing unit to implement a new order of instructions starting with the command specified by the non-conditional branch command. As seen in FIG. 4, a non-conditional branch macro command 4010 is initiated and the first corresponding micro command causes the central processing unit to restore the target order of commands. The next three commands in the sequential commands, namely 4011, 4012, and 4013, are "no action" commands in which the signal from the control unit does not perform any action that contributes to the execution of the command. Microinstruction 4014 includes an "end instruction" microinstruction that completes execution of the non-conditional branch macroinstruction and causes execution of the macroinstruction's target sequence to begin.

次に第5図を参照すると、本発明を使用してい
ない条件的ブランチマクロ指令が図示されてい
る。このプロセスにおいては、マクロ指令を実行
するマイクロ指令は、条件テストマイクロ指令5
010であり得る。この指令条件的ブランチ指令
の条件をテストする。この指令が終わるまでは条
件の結果は不明なので、テストの結果が決定する
まではその上の処理の実行は中止される。即ち、
マイクロ指令5011,5012及び5013は
「動作無し」指令である。条件的ブランチ指令は
真か偽かの条件決定を行う。条件が真の場合、ブ
ランチがなされ、新指令順序が実行される。第5
図の例では、非条件的ブランチ指令5016が実
行され、第4図の指令順序が実行される。条件が
偽の場合、最初の指令順序が継続される。第5図
に図示の様に、指令5015等は、最初の指令順
序でここで実行される。
Referring now to FIG. 5, a conditional branch macro directive that does not utilize the present invention is illustrated. In this process, the microdirective that executes the macrodirective is the condition test microdirective 5.
010. Tests the condition of this directive conditional branch directive. Since the result of the condition is unknown until the end of this command, execution of the above process is halted until the result of the test is determined. That is,
Microcommands 5011, 5012 and 5013 are "no action" commands. A conditional branch directive makes a true or false conditional determination. If the condition is true, the branch is taken and the new instruction sequence is executed. Fifth
In the illustrated example, non-conditional branch command 5016 is executed and the command sequence of FIG. 4 is executed. If the condition is false, the original order of commands continues. As shown in FIG. 5, commands 5015, etc. are now executed in the order of the first command.

次に第6図を参照すると、本発明による条件的
ブランチ指令が図示されている。この本発明の指
令順序は条件的ブランチマクロ指令を実施には移
すが、個々のマイクロ指令は第4図の条件的ブラ
ンチ指令と等しくはない。順序の第1ミクロ指令
6010は条件的ブランチミクロ命令を含んでい
る。指令6010は条件テスト加えて、非条件的
ブランチ指令が実行される様に、第1指令のカツ
シユメモリユニツトに指令の新順序でアドレスを
設ける。ブランチ指令の後に3つの「動作なし」
指令が見られる非条件的ブランチ指令とは異なつ
て、本発明においては、最初の順序を実行する3
つのミクロ指令が実行されている。第3原初順序
指令の第1セグメントの終わりに、例えば第6図
の指令6010の矢印に示す様に、条件の真偽の
決定がなされる。条件が偽の時は、指令6014
で示す様に最初のミクロ指令順序が続けられる。
条件が真の時は1マイクロ指令ブランチトラツプ
ルーチン6015が実行されて指令6016に示
すように新順序の実行に指令順序を変更する。更
に、指令6011,6012、及び6013は、
新順序が条件で選定された時には不適切とされて
破棄される。
Referring now to FIG. 6, a conditional branch instruction in accordance with the present invention is illustrated. Although this inventive command order implements conditional branch macro commands, the individual micro commands are not equivalent to the conditional branch commands of FIG. The first microinstruction 6010 in the sequence includes a conditional branch microinstruction. In addition to testing the condition, command 6010 provides an address in the first command's cache memory unit in the new order of commands so that the non-conditional branch command is executed. 3 "no action" after branch command
Unlike non-conditional branch directives where the directive is seen, in the present invention three
Two micro-directives are being executed. At the end of the first segment of the third primitive order command, a determination is made as to whether the condition is true or false, as shown by the arrow of command 6010 in FIG. 6, for example. When the condition is false, command 6014
The initial microcommand sequence continues as shown in .
When the condition is true, a one microcommand branch trap routine 6015 is executed to change the command order to execute the new order as shown by command 6016. Furthermore, directives 6011, 6012, and 6013 are
When a new order is selected based on a condition, it is deemed inappropriate and is discarded.

次に第7図を参照すると、新順序へのブランチ
の可能性が高いと考えられるタイプの条件的ブラ
ンチ指令の実行が図示されている。このタイプの
マクロ指令は指令ループの制御を含んでおり、そ
こでは複数個のマクロ指令が、マクロ指令順序が
引き続いての指令順序で続けられる前に、通常繰
返して実行される。指令7010と7011とは
マイクロ指令を決定するパラメータである。指令
7012は条件が真と決定された時、行き先アド
レスを決定する。この行き先アドレスの決定と同
時に、指令7012は新しい又はターゲツト指令
順序の実行を起こさせる非条件的ブランチ指令で
ある。しかし、この条件的ブランチ指令は旧順序
の次のアドレスをたくわえる。第4図に示す様
に、非条件的ブランチ指令7013から4番目の
指令、指令7016、は終了指令マイクロ命令を
含んでいる。従つて、その次の指令7017は、
新順序の最初の指令である。非条件的指令ブラン
チ順序内の3個の「動作なし」指令とは異なり、
指令の一つ、7015は、第6図に示すタイプの
条件的ブランチ指令である。更に、指令7013
と7014とはマクロ指令を実施するマイクロ指
令順序の一部である。条件に対する情況がここで
逆転し、非条件的ブランチ指令は、潜在的な新指
令順序をアクチブな指令順序とする様にさせる。
しかし、原初の順序を続けるべきであるとする比
較的まれな情況が条件的ブランチ指令で確認され
たとすると、その指令のアドレスは指令7012
の中でたくわえられる。尚又原初指令順序が継続
されるべき場合、実行済み新順序指令、701
7,7018及び7019、は使用されない事と
なろう。
Referring now to FIG. 7, the execution of a type of conditional branch instruction in which branching to a new order is considered likely is illustrated. This type of macro command involves control of a command loop in which a plurality of macro commands are typically executed repeatedly before the macro command sequence is continued in a subsequent command sequence. Commands 7010 and 7011 are parameters that determine micro commands. Directive 7012 determines the destination address when the condition is determined to be true. Upon determination of this destination address, command 7012 is a non-conditional branch command that causes execution of a new or target command sequence. However, this conditional branch command stores the next address in the old order. As shown in FIG. 4, the fourth command from non-conditional branch command 7013, command 7016, includes a termination command microinstruction. Therefore, the next command 7017 is:
This is the first directive of the new order. Unlike the three "no action" commands in the non-conditional command branch order,
One of the instructions, 7015, is a conditional branch instruction of the type shown in FIG. Additionally, Directive 7013
and 7014 are part of the microcommand sequence that implements the macrocommand. The situation for conditions is now reversed, and the non-conditional branch command causes the potential new command sequence to become the active command sequence.
However, if a relatively rare situation in which the original order should be continued is identified in a conditional branch directive, the address of that directive is directive 7012.
stored inside. Furthermore, if the original command order is to be continued, the executed new order command, 701
7, 7018 and 7019 will not be used.

次に第8a図を参照すると、条件的ブランチマ
クロ指令を実行する装置が図示されている。複数
のマクロ指令は指令サブユニツト31に加えられ
る。各マクロ指令はデコードされて、マクロ指令
を実行すべきアドレス信号制御ユニツト32に加
えられる。加えられたアドレス信号にもとずい
て、制御ユニツト32からのマイクロコード制御
信号が実行サブユニツト33、カツシメモリサブ
ユニツト34及び条件的ブランチロジツク81に
加えられる。条件的ブランチロジツク81は条件
信号を実行サブユニツト33から受取り、条件信
号と印加されたマイクロコード制御信号に応じ
て、2出力信号の一方を発生する。マイクロコー
ド制御信号は実行サブユニツト33でデータ信号
を発生し条件的ブランチロジツク81に加えられ
る条件信号を発生する。加えられた条件信号とマ
イクロコード制御信号によつて、その結果の出力
信号(1個又は複数個)が条件的ブランチロジツ
クユニツト81から発生される。本発明において
は、条件が真である時(即ちブランチが起こる)、
信号はマイクロトラツプ論理ユニツト82の選択
された場所に加えられる。条件が偽の場合(即ち
ブランチしない)、信号はカツシメモリサブユニ
ツト34に加えられ、指令サブユニツト31ころ
の廃棄すべき信号に応じて制御ユニツト32で開
始されてデータ読出し動作を起こさせる。
Referring now to FIG. 8a, an apparatus for executing conditional branch macro instructions is illustrated. A plurality of macro commands are added to command subunit 31. Each macro command is decoded and applied to the address signal control unit 32 which is to execute the macro command. Based on the applied address signals, microcode control signals from control unit 32 are applied to execution subunit 33, cache memory subunit 34, and conditional branch logic 81. Conditional branch logic 81 receives condition signals from execution subunit 33 and generates one of two output signals depending on the condition signal and the applied microcode control signal. The microcode control signals generate data signals in execution subunit 33 and condition signals applied to conditional branch logic 81. The applied condition signals and microcode control signals cause the resulting output signal(s) to be generated from the conditional branch logic unit 81. In the present invention, when a condition is true (i.e., a branch occurs),
Signals are applied to selected locations of microtrap logic unit 82. If the condition is false (ie, do not branch), a signal is applied to the cache memory subunit 34 and initiates a data read operation in the control unit 32 in response to the discard signal from the command subunit 31.

第8b図を参照すると、信号のマイクロトラツ
プロジツクへの印加の結果、例えばブランチ実施
が図示されている。マイクロトラツプ論理ユニツ
ト82はグローバル(gloval)トラツプ信号を指
令サブユニツト31、実行サブユニツト33、カ
ツシサブユニツト34及び制御ユニツト32に送
付する。グローバルトラツプ信号の指令サブユニ
ツト31、実行サブユニツト33及びカツシメモ
リサブユニツト34への送付の結果は条件的ブラ
ンチマイクロ指令の後実行されたマイクロ指令の
結果を破棄する事である。制御ユニツト32への
グローバルトラツプ信号の作用は、マイクロトラ
ツプ論理ユニツト82に印加され、マイクロトラ
ツプロジツクから使用すべき制御ユニツト32に
印加された「条件は真」信号の結果によつて、ア
ドレスさせる事(トラツプベクトル)である。ト
ラツプベクトルの結果は、まず何よりもトラツプ
解放信号をマイクロトラツプ論理ユニツト82に
提供する事で、これによつて、「条件は真」信号
の印加の結果マイクロトラツプ論理ユニツトによ
つて実行されているルーチンを中止させる。
Referring to FIG. 8b, the result of applying a signal to the microtrap logic, eg, branch implementation, is illustrated. Microtrap logic unit 82 sends global trap signals to command subunit 31, execution subunit 33, cutter subunit 34, and control unit 32. The effect of sending a global trap signal to command subunit 31, execution subunit 33, and cache memory subunit 34 is to discard the results of microinstructions executed after the conditional branch microinstruction. The effect of the global trap signal on the control unit 32 is as a result of the ``condition is true'' signal applied to the microtrap logic unit 82 and from the microtrap logic to the control unit 32 to be used. It is to address (trap vector). The result of the trap vector is, first and foremost, to provide a trap release signal to the microtrap logic unit 82, thereby allowing the execution by the microtrap logic unit as a result of the application of the ``condition is true'' signal. Abort the routine being executed.

2 好ましい実施例の動作 条件的ブランチ指令内に含まれる遅延は2つ存
在する。第1に、適切な指令順序の実行が、条件
の真偽の決定を見るまでは確実に行う事が出来な
い。第2に、条件の充足のために一度決定がなさ
れたとしても、プロセツサーパイプラインによる
迅速な実行という長所が実現し得る前に、各種の
指令セグメントを実行しなければならない。パイ
プライン化情報処理環境内での条件的指令に含ま
れる遅延を避ける為に、本発明では条件的ブラン
チ指令を2グループに分類する。
2 Operation of the Preferred Embodiment There are two delays included within the conditional branch command. First, execution of the proper order of commands cannot be ensured until determining the truth or falsity of a condition. Second, even once a decision is made to satisfy a condition, the various command segments must be executed before the advantage of rapid execution by the processor pipeline can be realized. To avoid the delays involved in conditional commands within a pipelined information processing environment, the present invention classifies conditional branch commands into two groups.

条件的ブランチ指令の第1グループにおいて
は、条件のテストの最も可能性のある結果が未知
である。本発明ではこのタイプの条件的ブランチ
指令は、次の指令を指令の結果としてプログラム
内で実際のブランチの結果となるアドレスでの情
報を検索する事によつて、処理される。この検索
は複数個のマイクロ指令サイクルを実行する事に
なるので、この時間に実行される指令は、条件テ
ステイングの結果としてプログラムブランチが起
こらなかつたとして実行されるべき原初の順序か
らの指令である。即ち、条件のテストの結果が確
定した時、条件が偽であるとすると、即ち原初の
プログラム順序を継続すべきであるとなると、検
索のプロセスの情報は廃棄され、既に実行中の原
初の指令順序が継続される。実際には第4図の実
行に当たつては只一つのマイクロ指令サイクルの
みが必要である。反対に、条件が真で新しい指令
順序が実行されるべき時には、新指令順序の第1
信号グループの検索プロセスは3マイクロ指令サ
イクルにわたつて継続され、この指令順序の実行
は次のプロセツサ活動の前に条件テスト結果を待
つているのに比較して改善されている。条件が真
の場合、条件のテスト中生じる原初プログラムの
指令実行順序の結果は不適切なものとなるので廃
棄しなければならない事は明らかである。即ち、
本発明の条件的ブランチ指令のスピードは条件が
偽の時1システムクロツクサイクルのみを使用
し、条件が真の場合の非条件的ブランチ指令の時
と同様の速さで指令を実行する事は明らかであろ
う。
In the first group of conditional branch directives, the most likely outcome of the test of the condition is unknown. In the present invention, this type of conditional branch command is handled by retrieving information at the address that will result in the actual branch in the program as the result of the next command. Since this search will execute multiple microinstruction cycles, the instructions executed at this time are instructions from the original order that would have been executed if the program branch had not occurred as a result of condition testing. . That is, when the test result of the condition is determined and the condition is false, i.e., the original program order should be continued, the information of the search process is discarded and the original command that is already being executed is discarded. The order continues. In fact, only one microcommand cycle is required to execute FIG. Conversely, when the condition is true and a new command sequence should be executed, the first
The signal group search process continues over three microcommand cycles, and the execution of this command sequence is improved compared to waiting for condition test results before the next processor activity. It is clear that if the condition is true, the result of the original program's instruction execution order that occurs during the test of the condition will be inappropriate and must be discarded. That is,
The speed of the conditional branch command of the present invention is that it uses only one system clock cycle when the condition is false, and it is not possible to execute the command as fast as a non-conditional branch command when the condition is true. It should be obvious.

第7図に図示の第2グループの指令に関して
は、本第2グループに付属する条件的ブランチ指
令の確認の下に、新指令順序へのブランチが条件
のテストの最も可能性の大きい結果であると仮定
する。この仮定の結果として、条件的ブランチ指
令は非条件的ブランチ指令として評価され、条件
がテストされなくてもブランチ操作を行うのに必
要な活動が実行される。新指令順序が実行の為に
準備された後、条件をテストする指令が実行され
る。しかしながら、条件テスト手段はこの時反転
され、継続の条件が、指令順序が実際に原初指令
順序であつたとしても、新指令順序の実行の条件
となる。条件的ブランチ指令の実行は第6図に図
示の条件的ブランチ指令の実行と同様な要領で行
われる。ブランチが条件のテストの最も可能性に
高い結果であると言う仮定は、殆どの場合実際に
正しい事は明らかであろう。この結果は第7図か
ら明らかな様に、原初条件が偽である場合、指令
順序の2変更が生じるべきであるという結果をも
たらす。条件的ブランチ指令は、非条件的マイク
ロオーダーを第2(ブランチ)アドレスが分り次
第実行させる様にし、又、前述した条件的ブラン
チ指令を使用することによつて、指令の実行を改
善して、原初指令順序への(余り起こらない)復
帰のインパクトを減少する。
For the second group of commands illustrated in Figure 7, branching to a new command sequence is the most likely outcome of testing the condition, subject to confirmation of the conditional branching commands attached to this second group. Assume that As a result of this assumption, conditional branch directives are evaluated as non-conditional branch directives, and the activities necessary to perform the branch operation are performed even if the condition is not tested. After the new command sequence is prepared for execution, the commands that test the conditions are executed. However, the condition testing means is now reversed and the condition for continuation becomes a condition for execution of the new command order, even if the command order was actually the original command order. Execution of a conditional branch command occurs in a manner similar to the execution of a conditional branch command illustrated in FIG. It should be clear that the assumption that a branch is the most likely outcome of testing a condition is in fact true in most cases. This result, as is clear from FIG. 7, has the consequence that if the original condition is false, two changes in the order of commands should occur. Conditional branch directives cause non-conditional micro-orders to be executed as soon as the second (branch) address is known, and the use of the conditional branch directives described above improves the execution of instructions by: Reduces the impact of a (rare) reversion to the original command order.

JP62501223A 1986-01-29 1987-01-29 Methods for implementing the Branch Directive Granted JPH01500066A (en)

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 (en) 1989-01-12
JPH0350295B2 true JPH0350295B2 (en) 1991-08-01

Family

ID=25239679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62501223A Granted JPH01500066A (en) 1986-01-29 1987-01-29 Methods for implementing the Branch Directive

Country Status (5)

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

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6341932A (en) * 1985-08-22 1988-02-23 Nec Corp Branching instruction processing device
JPH01283635A (en) * 1988-05-11 1989-11-15 Nec Corp Buffer control circuit
SE510295C2 (en) * 1997-07-21 1999-05-10 Ericsson Telefon Ab L M Processor method for handling conditional jump instructions and processor adapted to operate according to the specified method

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 (en) * 1983-08-30 1985-03-18 Dainippon Screen Mfg Co Ltd Editing device for copy image
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 (en) 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 (en)
JPH02257219A (en) Pipeline processing apparatus and method
JPH06236271A (en) Processor and method for guess and execution of instruction
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 (en)
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 (en)
JPS63228225A (en) Digital computer system
US4794527A (en) Microprogrammed data processing system using latch circuits to access different control stores with the same instruction at different times
CN105446700B (en) A kind of instruction executing method and sequence processor
JPS62117039A (en) Controller
JPH04215129A (en) Method and apparatus for executing continuous command
EP0500193A1 (en) Apparatus and method for execution of branch instructions
US7130988B2 (en) Status register update logic optimization
KR910001055B1 (en) Rearrangement method of trapped microaddress and apparatus in data processing system processed by pipeline method
JP2000194556A (en) Instruction look-ahead system and hardware
JP3955843B2 (en) Microprocessor parallel simulation system
JPS59183434A (en) Prefetch control system of instruction