JPH0460720A - 条件分岐命令制御方式 - Google Patents

条件分岐命令制御方式

Info

Publication number
JPH0460720A
JPH0460720A JP2170036A JP17003690A JPH0460720A JP H0460720 A JPH0460720 A JP H0460720A JP 2170036 A JP2170036 A JP 2170036A JP 17003690 A JP17003690 A JP 17003690A JP H0460720 A JPH0460720 A JP H0460720A
Authority
JP
Japan
Prior art keywords
instruction
condition
branch
conditional branch
branch instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2170036A
Other languages
English (en)
Inventor
Toru Hiraoka
徹 平岡
Koji Nakamura
幸二 中村
Toru Shonai
亨 庄内
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP2170036A priority Critical patent/JPH0460720A/ja
Priority to US07/724,113 priority patent/US5418917A/en
Priority to US07/797,892 priority patent/US5317703A/en
Publication of JPH0460720A publication Critical patent/JPH0460720A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、パイプライン方式の処理装置における、条件
分岐命令制御方式に関する。
〔従来の技術〕
第3図は従来技術の一例を示すブロック図である。30
0は命令バッファ、301は命令バッファの制御を行う
命令バッファ制御回路、302は命令バッファ300か
ら命令を選択するための選択回路、303は上記選択回
路302の制御を行う命令読出し制御回路、304は上
記選択回路302により選択された命令を格納する命令
レジスタ、305は命令レジスタ304に格納された命
令の解読を行う命令解読回路、306はアドレス計算を
行うアドレス計算回路、307はメモリ、308は演算
ユニット、309は演算ユニット308により求まる条
件コードを格納する条件コード格納レジスタ、310は
条件分岐命令の分岐条件を格納する分岐条件格納レジス
タ、311は上記条件コード格納レジスタ309と上記
分岐条件格納レジスタ310より該条件分岐命令の条件
比較を行う条件比較回路、312は該条件分岐命令の実
行を意味する条件分岐命令実行コマンド、315は該条
件分岐命令の分岐成功/不成功判定信号である。
第4図に示すパイプラインのフロー図を用いて、従来の
方式を説明する。
第4図において横軸はパイプラインの実行サイクルを示
しており、■ないし は順次のサイクルを参照可能にす
るため便宜上番号付けしたものである。
図示の例は条件コードを変更する命令1に続いて条件コ
ードを変更しない命令2、命令3、命令4が実行され、
次に条件分岐命令5が実行される。
さらに、条件分岐命令の分岐成功判定が行われた後、該
条件分岐命令の分岐先命令である命令6、命令7を実行
する場合のものである。
命令1はサイクル■でパイプラインに投入され、サイク
ル■で演算を実行し、サイクル■で条件コードを設定す
る。
命令2は命令1よりも1サイクル後のサイクル■にパイ
プラインへ投入され、サイクル■で演算を実行する。こ
のとき、命令2は条件コードを変更しない命令であるた
め命令1で設定した条件コードは変更されない。
同様に、命令3、命令4は順次パイプラインへ投入され
るがいづれも条件コードは変更されない。
条件分岐命令5はサイクル■にパイプラインへ投入され
る。条件分岐命令5はサイクル■で分岐先命令のアドレ
ス計算を行いサイクル■でメモリから分岐先命令を読出
すが、分岐成功判定がまだ行われないため該分岐先命令
をパイプラインに投入することは行わない。一方、条件
分岐命令5の分岐条件はサイクル■で設定され、該条件
分岐命令5の実行コマンドはサイクル■に発行される。
該条件分岐命令5の実行コマンドと該条件コードと該分
岐条件よりサイクル■に分岐成功判定が行われ、これに
より分岐先命令である命令6が該条件分岐命令5のパイ
プライン投入から5サイクル後のサイクル■)にパイプ
ラインへ投入される。
他方、該条件分岐命令5の分岐が不成功である場合につ
いては、予め分岐が成功しない場合を考えて該条件分岐
命令5の後続命令を順次パイプラインへ投入しておく方
法がとられているので特別な遅れは生じない。なお分岐
が成功した場合、予めパイプラインに投入さ九ていたこ
九らの後続命令は無効化されるので不都合は生じない。
第4図において、命令1の条件コードがサイクル■で設
定しているのにもかかわらずサイクル■で分岐成功判定
が行なわれるのは、次の理由による。
すなわち、サイクル■で分岐成功判定を行なうと決めて
しまうと、何かの都合で命令1の条件コードがサイクル
■で設定できなかった場合に、誤った分岐をしてしまう
からである。
したがって、従来の技術では、先の命令の条件コードが
必ず確定しているサイクル■(分岐命令の実行サイクル
)で分岐成功判定を行なうものである。
なお、この種の装置として関連するものには例えば、特
開昭63−247833号公報に示される装置が挙げら
れる。
〔発明が解決しようとする課題〕
上記従来技術は条件コードが条件分岐命令の実行サイク
ルより早期に確定している場合の分岐成功/不成功判定
について配慮がされておらず、条件コード、分岐条件と
もに確定しているにもかかわらず分岐成功/不成功判定
が該条件分岐命令の実行サイクルまで待たされ、ひいて
は分岐先命令の解読、実行が遅れることがあるという問
題があった・ 本発明は条件コードが条件分岐命令の実行サイクルより
早期に確定している場合の分岐成功/不成功判定を早め
ることを目的としており、さらに分岐先命令の解読、実
行を早めることを目的とする。
〔課題を解決するための手段〕
上記目的を達成するために、条件分岐命令の有効性を示
す第1の表示子と、条件コードの有効性を示す第2の表
示子と、上記第1の表示子と第2の表示子の状態を制御
する条件分岐命令制御回路を設け、上記第1の表示子の
状態と上記第2の表示子の状態と条件比較回路による条
件比較結果より分岐成功/不成功判定を行うものである
〔作用〕
条件分岐命令が解読されるとその分岐条件を分岐条件格
納手段に設定すると同時に条件分岐命令の有効性を示す
第1の表示子をON状態とする。
一方、該条件分岐命令が必要とする条件コードが条件コ
ード格納手段に設定されると同時に条件コートの有効性
を示す第2の表示子をON状態とする。上記第1の表示
子と第2の表示子の両方がON状態であるとき、条件比
較回路からの条件比較結果により分岐成功/不成功判定
を行う。該分岐成功/不成功判定により第1の表示子を
OFF状態とするため、次サイクル以降の分岐成功/不
成功判定は抑止される。
このように条件分岐命令がパイプラインに投入される毎
に、条件分岐命令の有効性を示す第1の表示子と条件コ
ードの有効性を示す第2の表示子を監視しつづけ分岐成
功/不成功判定を行う。
〔実施例〕
以下、本発明の実施例を第1図により説明する。
100は命令バッファ、101は命令バッファの制御を
行う命令バッファ制御回路、102は命令バッファ10
0から命令を選択するための選択回路、103は上記選
択回路102の制御を行う命令読出し制御回路、104
は上記選択回路102により選択された命令を格納する
命令レジスタ、105は命令レジスタ104に格納され
た命令の解読を行う命令解読回路、106はアドレス計
算を行うアドレス計算回路、107はメモリ、108は
演算ユニット、109は演算ユニット108により求ま
る条件コードを格納する条件コード格納レジスタ、11
0は条件分岐命令の分岐条件を格納する分岐条件格納レ
ジスタ、111は上記条件コード格納レジスタ109と
上記分岐条件格納レジスタ110より該条件分岐命令の
条件比較を行う条件比較回路、113は条件分岐命令の
有効性を示す表示子(B CValid)、114は該
条件分岐命令の必要とする条件コートの有効性を示す表
示子(CCValid) 、 !12は上記BCVal
idl13とCCValidl14の状態を制御する条
件分岐命令制御回路、115は該条件分岐命令の分岐成
功/不成功判定信号である。
第2図に示すパイプラインのフロー図を用いて本実施例
の動作を説明する。第2図は第4図に示した従来方式の
フロー図に対応するものであり、図中の記号、番号およ
び適用されている命令等の具体例は共通であるので重複
する説明は省酩する。
命令1はサイクル■でパイプラインに投入され、サイク
ル■で演算を実行し、サイクルe7で条件コードを設定
するとともにCC〜’alidをON状態とする。命令
2はサイクル■にパイプラインへ投入され、サイクルC
で演算を実行する。このとき命令2は条件コードを変更
しない命令であるため、命令1で設定した条件コードは
変更されない。条件分岐命令5はサイクル■にパイプラ
インへ投入される。条件分岐命令5の分岐条件はサイク
ル■で設定するとともにB CValid ON状態と
する。
次に、BCValidとCCValidの両方が0Ni
tk態となったサイクル■で、条件比較回路からの比較
結果により条件成功判定が行われる。また、該条件成功
判定により、BCValidはサイクル■で○FF状態
とする。
一方、該条件分岐命令5はサイクル■で分岐先命令のア
ドレス計算を行いサイクル■でメモリから分岐先命令を
読出し、命令6をパイプラインに投入する。
これにより、該条件分岐命令5のパイプライン投入から
4サイクル(分岐先命令の読出しに必要なサイクル)後
のサイクル■に1分岐先命令である命令6がパイプライ
ンへ投入される。
また、分岐先アドレスを含む情報を登録する連想記憶手
段を設け、該条件分岐命令5の分岐先命令をこの連想記
憶手段を用いて先読みを行った場合、命令6は分岐成功
判定の行われたlサイクル後のサイクル■にパイプライ
ンへ投入することが可能である。
また、上記CCValidと上記B CV a 1 i
dと上記条件分岐命令制御回路と上記条件コード格納レ
ジスタと上記分岐条件格納レジスタと上記条件比較回路
とを複数もつことにより、パイプラインに複数の条件分
岐命令が投入された場合、各々独立に該条件分岐命令の
分岐成功/不成功判定を行うことが可能である。
本実施例によれば、第2図に示すように、条件分岐命令
の分岐成功/不成功判定を早めることが可能となり、さ
らに分岐先命令の解読、実行を早めることができる。こ
のため、パイプラインの効率が向上し、処理装置の処理
速度が改善される。
〔発明の効果〕
本発明によれば、条件分岐命令の分岐成功/不成功判定
を早めることができるので、分岐先命令の解読5実行を
早める効果がある。
また、このためパイプラインの効率が向上し、処理装置
の処理速度が改善される効果がある。
【図面の簡単な説明】
第1図は本発明の実施例を示すブロック図、第2図は本
発明の実施例の動作の一例を示すパイプラインのフロー
図、第3図は従来技術の一例を示すブロック図、第4図
は従来技術における動作の一例を示すパイプラインのフ
ロー図である。 100・・・命令バッファ、101・・・命令バッファ
制御回路、102・・・選択回路、103・・・命令読
出し制御回路、104・・命令レジスタ、105・・・
命令解読回路、106・・・アドレス計算回路、107
・・・メモリ、108・演算ユニット、109・・条件
コード格納レジスタ、110・・・分岐条件格納レジス
タ、111・・・条件比較回路、212・・・条件分岐
命令制御回路、113・・・条件分岐命令の有効性を示
す表示子(B CValid) 、 114・・・条件
コードの有効性を示す表示子(CCValid) 、1
15・・分岐成功/不成功判定信号。 81 図 亮 図 寸イクルの■■■■■■■■■■@@■■算 図

Claims (1)

  1. 【特許請求の範囲】 1、条件分岐命令の分岐条件を格納する手段と、該条件
    分岐命令の分岐成功/不成功判定を行うために必要な条
    件コードを格納する手段と、上記分岐条件格納手段と上
    記条件コード格納手段を用いて条件比較を行う条件比較
    回路を持つパイプライン方式の処理装置において、条件
    分岐命令の有効性を示す第1の表示子と、条件コードの
    有効性を示す第2の表示子と、上記第1の表示子と上記
    第2の表示子の状態を制御する条件分岐命令制御回路と
    、上記第1の表示子の状態と上記第2の表示子の状態と
    上記条件比較回路による条件比較結果より該条件分岐命
    令の分岐成功/不成功判定を行う手段を有することを特
    徴とする条件分岐命令制御方式。 2、上記第1の表示子は、条件分岐命令がパイプライン
    に投入され、かつ該条件分岐命令の分岐成功/不成功判
    定がまだ行われていない状態のとき第1の状態をとり、
    条件分岐命令がパイプラインに投入されていない状態及
    び、該条件分岐命令の分岐成功/不成功判定が既に行わ
    れた状態のとき第2の状態をとり、第2の状態であると
    きには分岐成功/不成功判定を行わないことを特徴とす
    る請求項(1)記載の条件分岐命令制御方式。 3、上記第2の表示子は、条件分岐命令が必要とする条
    件コードが有効な状態のとき第1の状態をとり、該条件
    分岐命令が必要とする条件コードが無効な状態のとき第
    2の状態をとり、第2の状態であるときには分岐成功/
    不成功判定を行わないことを特徴とする請求項(1)記
    載の条件分岐命令制御方式。 4、分岐命令の命令アドレスを含む情報をキーとして分
    岐先命令アドレスを含む情報を出力する連想記憶手段を
    設け、該連想記憶から読出した分岐先命令アドレスを用
    いて、分岐命令の解読以前に分岐先命令の先読みを行う
    ことを特徴とする、請求項(1)記載の条件分岐命令制
    御方式。 5、上記分岐条件格納手段と、上記条件コード格納手段
    と、上記条件比較回路と、上記第1の表示子と、上記第
    2の表示子を複数もつことを特徴とする請求項(1)記
    載の条件分岐命令制御方式。
JP2170036A 1990-06-29 1990-06-29 条件分岐命令制御方式 Pending JPH0460720A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2170036A JPH0460720A (ja) 1990-06-29 1990-06-29 条件分岐命令制御方式
US07/724,113 US5418917A (en) 1990-06-29 1991-07-01 Method and apparatus for controlling conditional branch instructions for a pipeline type data processing apparatus
US07/797,892 US5317703A (en) 1990-06-29 1991-11-26 Information processing apparatus using an advanced pipeline control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2170036A JPH0460720A (ja) 1990-06-29 1990-06-29 条件分岐命令制御方式

Publications (1)

Publication Number Publication Date
JPH0460720A true JPH0460720A (ja) 1992-02-26

Family

ID=15897423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2170036A Pending JPH0460720A (ja) 1990-06-29 1990-06-29 条件分岐命令制御方式

Country Status (2)

Country Link
US (1) US5418917A (ja)
JP (1) JPH0460720A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003127A (en) * 1995-10-04 1999-12-14 Nippondenso Co., Ltd. Pipeline processing apparatus for reducing delays in the performance of processing operations
JP2008305185A (ja) * 2007-06-07 2008-12-18 Nec Electronics Corp プロセッサ装置及び複合条件処理方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764788A (ja) * 1993-06-14 1995-03-10 Mitsubishi Electric Corp マイクロコンピュータ
US5659722A (en) * 1994-04-28 1997-08-19 International Business Machines Corporation Multiple condition code branching system in a multi-processor environment
DE69836056T2 (de) * 1997-08-29 2007-04-12 Matsushita Electric Industrial Co., Ltd., Kadoma Prozessor mit verringerter Zahl von bedingten Befehlen
US6430682B1 (en) * 1998-09-11 2002-08-06 Agere Systems Guardian Corp. Reliable branch predictions for real-time applications
US6883000B1 (en) * 1999-02-12 2005-04-19 Robert L. Gropper Business card and contact management system
US7505974B2 (en) 1999-02-12 2009-03-17 Gropper Robert L Auto update utility for digital address books
US6513134B1 (en) * 1999-09-15 2003-01-28 International Business Machines Corporation System and method for tracing program execution within a superscalar processor
US7512724B1 (en) * 1999-11-19 2009-03-31 The United States Of America As Represented By The Secretary Of The Navy Multi-thread peripheral processing using dedicated peripheral bus
US7518993B1 (en) * 1999-11-19 2009-04-14 The United States Of America As Represented By The Secretary Of The Navy Prioritizing resource utilization in multi-thread computing system
US20040047347A1 (en) * 2000-11-13 2004-03-11 Michael Worry Method, system and apparatus for reprogramming a digital electronic device via a computer network
EP1870803A4 (en) * 2005-03-31 2008-04-30 Matsushita Electric Ind Co Ltd PROCESSOR
US20060294345A1 (en) * 2005-06-23 2006-12-28 Tellabs Operations, Inc. Methods and apparatus for implementing branching instructions within a processor
EP1986122A1 (fr) * 2007-04-23 2008-10-29 Stmicroelectronics Sa Unite de traitement securisee
US20210165654A1 (en) * 2019-12-03 2021-06-03 Marvell International Ltd. Eliminating execution of instructions that produce a constant result

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5896345A (ja) * 1981-12-02 1983-06-08 Hitachi Ltd 階層型演算方式
JPH01199233A (ja) * 1988-02-03 1989-08-10 Fujitsu Ltd パイプライン処理における条件分岐制御方式

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4477872A (en) * 1982-01-15 1984-10-16 International Business Machines Corporation Decode history table for conditional branch instructions
US4742451A (en) * 1984-05-21 1988-05-03 Digital Equipment Corporation Instruction prefetch system for conditional branch instruction for central processor unit
US4691277A (en) * 1984-10-24 1987-09-01 International Business Machines Corp. Small instruction cache using branch target table to effect instruction prefetch
JPS6341932A (ja) * 1985-08-22 1988-02-23 Nec Corp 分岐命令処理装置
JPS6393038A (ja) * 1986-10-07 1988-04-23 Mitsubishi Electric Corp 計算機
JPS63247833A (ja) * 1987-04-02 1988-10-14 Hitachi Ltd 条件分岐命令制御方法
JPH0769811B2 (ja) * 1988-12-21 1995-07-31 松下電器産業株式会社 データ処理装置
US5034880A (en) * 1988-12-22 1991-07-23 Wang Laboratories, Inc. Apparatus and method for executing a conditional branch instruction
US5127091A (en) * 1989-01-13 1992-06-30 International Business Machines Corporation System for reducing delay in instruction execution by executing branch instructions in separate processor while dispatching subsequent instructions to primary processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5896345A (ja) * 1981-12-02 1983-06-08 Hitachi Ltd 階層型演算方式
JPH01199233A (ja) * 1988-02-03 1989-08-10 Fujitsu Ltd パイプライン処理における条件分岐制御方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003127A (en) * 1995-10-04 1999-12-14 Nippondenso Co., Ltd. Pipeline processing apparatus for reducing delays in the performance of processing operations
US6308263B1 (en) 1995-10-04 2001-10-23 Nippondenso Co., Ltd. Pipeline processing apparatus for reducing delays in the performance of processing operations
JP2008305185A (ja) * 2007-06-07 2008-12-18 Nec Electronics Corp プロセッサ装置及び複合条件処理方法

Also Published As

Publication number Publication date
US5418917A (en) 1995-05-23

Similar Documents

Publication Publication Date Title
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
JPH0460720A (ja) 条件分岐命令制御方式
EP0155211A2 (en) System for by-pass control in pipeline operation of computer
US5497496A (en) Superscalar processor controlling fetching of instructions based upon number of empty instructions registers detected for each cycle
JPH07129413A (ja) 割込み処理装置
EP0223150A2 (en) Information processing apparatus
JP2798121B2 (ja) データ処理装置
JPH06168263A (ja) ベクトル処理装置
JP2778610B2 (ja) パイプライン演算制御方法およびシステム
JPH0377137A (ja) 情報処理装置
JP2503223B2 (ja) 先行制御方式
JPS60175147A (ja) 命令先取方式
JPS60231241A (ja) プログラム先行フエツチ制御方式
JP3476314B2 (ja) マイクロプロセッサ
JPH0342723A (ja) データ処理装置
JPS60186936A (ja) プログラマブルコントロ−ラ
JP3558481B2 (ja) データ処理装置
JPH02206836A (ja) データ処理装置
JPH0991139A (ja) 情報処理装置
JPS62103736A (ja) ブランチ制御方式
JPH08272608A (ja) パイプライン処理装置
JPS62159230A (ja) 命令先取り装置
JPH02254541A (ja) 条件分岐命令の制御方式
JPS6058489B2 (ja) 分岐命令先行制御方式
JP2002333985A (ja) レジスタ退避復旧方法