JPH01222329A - 条件分岐命令を含むプログラムの実行方式 - Google Patents

条件分岐命令を含むプログラムの実行方式

Info

Publication number
JPH01222329A
JPH01222329A JP4587188A JP4587188A JPH01222329A JP H01222329 A JPH01222329 A JP H01222329A JP 4587188 A JP4587188 A JP 4587188A JP 4587188 A JP4587188 A JP 4587188A JP H01222329 A JPH01222329 A JP H01222329A
Authority
JP
Japan
Prior art keywords
instruction
pipeline
instructions
branch
processing
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
JP4587188A
Other languages
English (en)
Inventor
Shigeru Kobayashi
茂 小林
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4587188A priority Critical patent/JPH01222329A/ja
Publication of JPH01222329A publication Critical patent/JPH01222329A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、パイプライン処理により命令実行が行われ
る計算機システムに係り、特に分岐条件成立時の分岐先
が共通で且つ近接して出現する幾つかの条件分岐命令を
含むプログラムの実行方式に関する。
(従来の技術) 計算機におけるプログラム処理の高速化を図るための技
術の1つとして、従来からパイプライン処理が知られて
いる。このパイプライン処理は、計算機における個々の
命令処理が、実際には更に小さな数ステップの内部処理
に分解できることに注目し、後続命令についてフェーズ
をずらしながら同時に先行処理することにより、見掛は
上、1命令を内部処理の1ステツプの時間で実行する方
式である。この同時に実行される一連のステップ処理機
構がパイプラインと呼ばれる。
さて、従来のパイプライン処理では、条件分岐命令によ
って分岐条件成立が判定され、先行処理が行われていな
かった方向へ制御の移行が生じると、分岐条件不成立を
前提として先行処理されていた命令処理は無効となるた
め、移行先の命令から新規に処理を開始しなければなら
ない。このパイプラインの中断は、条件分岐においてプ
ログラムの実行速度を低下させる要因となっており問題
であった。
そこで、パイプラインの流れを中断させないために、パ
イプラインを2本(2系統)用意しておき、条件分岐命
令が出現したら、一方のパイプラインではそのまま条件
不成立時の命令処理を、他方のパイプラインでは条件成
立時の命令処理を、それぞれ並行して実行するパイプラ
イン方式が考えられる。しかしこの方式でも、並行パイ
プライン処理中に新たな条件分岐命令が出現した場合に
は対処できず、やはりパイプラインの中断を招いてしま
う。
(発明が解決しようとする課題) 上記したように従来は、条件分岐命令が出現した場合の
パイプライン処理の効率化のため2系統のパイプライン
を用意し、条件成立を前提とするパイプライン処理と、
条件不成立を前提とするパイプライン処理とを並行して
行なうようにしても、この並行処理中に新たに条件分岐
命令が出現した場合には対処できないという問題があっ
た。
したがってこの発明は、近接して出現する幾つかの条件
分岐命令を含むプログラム処理が、2系統のパイプライ
ンを用いて効率的に行えるようにすることを解決すべき
課題とする。
[発明の構成] (課題を解決するための手段) この発明は、近接して出現する幾つかの条件分岐命令の
示す分岐先は一般に共通であることに着目し、上記条件
分岐命令に代えて分岐先を示すオペランドを持たない特
定条件分岐命令を用意すると共に、これらの特定条件分
岐命令を含む命令群の直前に上記共通の分岐先を予約す
るための分岐先予約命令を用意し、この予約命令および
後続の命令処理を主パイプラインで実行する一方、この
予約命令で予約された分岐先以降の命令処理を別のパイ
プラインである従パイプラインで実行し、主パイプライ
ンにおいて上記幾つかの特定分岐命令でいずれも条件不
成立が判定されてパイプライン無効化命令まで達した場
合には従パイプラインを無効化し、上記幾つかの特定分
岐命令のいずれかで条件成立が判定された場合には主パ
イプラインを無効化し、従パイプラインを主パイプライ
ンとして用いるようにしたことを特徴とする。
(作用) 上記の構成によれば、2系統のパイプラインのうち、主
パイプラインでは条件不成立を前提とするパイプライン
処理を行うことができ、従パイプラインンでは幾つかの
特定条件分岐命令を含む命令群の直前に設けた分岐先予
約命令の指定により、条件成立を前提とするパイプライ
ン処理が条件分岐命令の出現を待たずに且つ主パイプラ
インによるパイプライン処理と並列に行うことができる
。また上記の構成によれば、主パイプラインにおいて条
件分岐命令(特定条件分岐命令)が出現しても、もし条
件成立であれば、主パイプラインは無効化されて従パイ
プラインが新たな主パイプラインとされるので、パイプ
ラインの流れは中断しない。また、条件不成立であれば
そのまま次の命令処理に進み、最終的に幾つかの特定条
件分岐命令で全て分岐条件成立が判定されてパイプライ
ン無効化命令まで達した場合には、即ち条件成立時の処
理が不要であることが確認された場合には、従パイプラ
インが無効化されて主パイプラインによるパイプライン
がそのまま継続されるので、やはりパイプラインの流れ
は中断しない。即ち上記の構成によれば、近接して出現
する幾つかの条件分岐命令(特定条件分岐命令)を含む
プログラム処理が、2系統のパイプラインを用いるだけ
で、パイプラインの流れの中断を招くことなく実行でき
る。
(実施例) 第1図はこの発明を適用する計算機システムの一実施例
を示す機能ブロック構成図である。同図において、lO
はCPUであり、2系統のパイプラインを形成するため
のパイプライン機構11.12を有している。パイプラ
イン機構11は命令デコードを行う命令デコード部13
を有している。またパイプライン機構12もパイプライ
ン機構11と同様の構成(図示せず)を有している。C
PUl0には図示せぬシステムバスを介して主メモリ2
0が接続されている。この主メモリ20は、命令群から
成る各種プログラムやデータの格納等に供される。
第2図は第1図の計算機システムで適用される各種命令
のうち、この発明に直接関係する命令を主として示すも
のである。同図において、TSTEQ、TSTNE、T
STLT。
TSTLE、TSTGT、TSTGEで記述された命令
(TSTxx命令)は特定条件分岐命令(テスト分岐命
令)であり、それぞれBEQ。
BNE、BLT、BLE、BGT、BGEで記述される
周知の条件分岐命令に相当しており、それぞれ結果が0
のとき、非0のとき(0でないとき)、負のとき、非圧
のとき(正でないとき)、正のとき、非負のとき(負で
ないとき)分岐条件が成立して分岐する。但し、特定分
岐条件命令であるTSTxx命令(xxはEQ、NE、
LT、LE。
GT、GE)は、通常の条件分岐命令と異なって分岐先
を示すオペランドを有していない。次にBR8Vで記述
された命令は分岐先予約命令であり、この命令に後続す
る幾つかのTSTxx命令に共通な分岐先を予約するの
に用いられる。また、TRUEで記述された命令はパイ
プライン無効化命令であり、他方のパイプラインを無効
化することを指定する。このTRUE命令は、分岐先を
共通とする幾つかのTSTxx命令のいずれにおいても
条件不成立となった場合に行われる処理ルーチンの直前
に設定して用いられる。最後にBで記述された命令は周
知の無条件分岐命令であり、必ず分岐することを示す。
次に、この発明の一実施例の動作を、第3図および第4
図を参照して説明する。まず主メモリ20には、第3図
にリスト形式で示したプログラムが格納されているもの
とする。今、CPUl0内のパイプライン機構11が主
パイプラインを形成するマスク機構として作動しており
、主メモリ20からBR8V命令(分岐先予約命令)を
フェッチしたものとする。パイプライン機構11内の命
令デコード部13は、主メモリ20からフェッチされた
命令のデコード処理を行う。ここでは、BR8v命令が
判断される。この場合、パイプライン機構11は、第1
図においてステップSlで示すように従パイプライン形
成のためにパイプライン機構12をスレーブ機構として
起動し、BR8V命令の示す分岐先(ここではL1番地
)以降の処理(ここでは処理2)を第4図(a)または
同図(b)に示すように行わせる。そしてパイプライン
機構11は、BR8V命令に後続する命令列(ここでは
第3図に示すように比較命令であるCMP命令から始ま
り、BR8V命令によって予約された分岐先を共通の分
岐先とするTSTNE命令、TSTGT命令などを含む
命令列)のパイプライン処理を第4図(a)または同図
(b)に示すように行う。
パイプライン機構11は、上記のパイプライン処理で命
令デコード部13によってTSTxx命令が判断された
場合、第1図においてステップS2で示す処理を行う。
即ちパイプライン機構11は、TSTxx命令の実行で
分岐条件不成立が判定されたならばパイプライン処理を
継続する。これに対してTSTXX命令の実行で分岐条
件成立が判定されたならば、パイプライン機構11はパ
イプライン処理を停止し、主パイプラインを無効化する
同時にパイプライン機構11は、パイプライン機構12
をマスク機構に切替え、現在の従パイプラインを主パイ
プラインとする。したがって、第4図(a)に示すよう
に2回目のTSTxx命令(ここではTSTNE)命令
で条件成立が判定された場合には、パイプライン機構1
1における以降のパイプライン処理が停止される一方、
パイプライン機構12におけるパイプライン処理は今度
は主パイプライン処理として継続される。
一方、パイプライン機構11における幾つかのTSTx
x命令の実行でいずれも分岐条件不成立が判定された場
合には、第3図から明らかなようにTRUE命令が実行
される。この場合、パイプライン機構11は、BR3V
命令からTRUE命令までの命令列に含まれている全て
のTSTxx命令でいずれも分岐不成立が判定され、し
たがってパイプライン機構12における(条件成立を前
提とした)従パイプライン処理は不要であるものと判断
し、第1図においてステップS3で示す制御により第4
図(b)に示すようにパイプライン機構12のパイプラ
イン処理を停止させ、従パイプラインを無効化する。そ
してパイプライン機構11は、第4図(b)に示すよう
に主パイプラインのパイプライン処理を継続する。
[発明の効果] 以上詳述したようにこの発明によれば、分岐条件成立時
の分岐先が共通であり近接して出現する幾つかの特定条
件分岐命令を含む命令群の直前に設定された分岐先予約
命令を実行することにより、条件成立を前提とするパイ
プライン(従パイプライン)処理が条件分岐命令の出現
前から現パイプライン(主パイプライン)処理と並行に
行え、しかも主パイプラインで出現する条件分岐命令で
条件成立が判定された場合には主パイプラインが無効化
されて従パイプラインが新たな主パイプラインとされ、
上記幾つかの特定分岐命令でいずれも分岐条件不成立が
判定された場合にはその旨がパイプライン無効化命令で
確認されて従パイプラインが無効化されるので、いずれ
の場合にもパイプラインが中断することがなく、シたが
って条件分岐命令を含むプログラム処理の高速化が図れ
る。
【図面の簡単な説明】
第1図はこの発明を適用する計算機システムの一実施例
を示す機能ブロック構成図、第2図は第1図の計算機シ
ステムで適用される各種命令の幾つかを説明するための
図、第3図は特定条件分岐命令(TSTxx命令)を含
むプログラムの一例を示す図、第4図は第3図に示すプ
ログラムをパイプライン処理で実行する場合の動作を説
明するための図である。 10・・・CP U、 11.12・・・パイプライン
機構、2o・・・主メモリ。 出願人代理人  弁理士 鈴江武彦 第1図 1!2  図 第3図 第4図

Claims (1)

  1. 【特許請求の範囲】 パイプライン処理によりプログラム実行が行われる計算
    機システムにおいて、 主パイプラインで処理対象となっている命令が、分岐条
    件成立時の分岐先が共通で且つこの分岐先を指定するた
    めのオペランドを持たない幾つかの特定条件分岐命令を
    含む命令群に先行して用意され、上記分岐先を予約する
    ための分岐先予約命令である場合に、上記主パイプライ
    ンにより上記幾つかの特定条件分岐命令を含む後続の命
    令処理を継続する一方、上記主パイプラインとは独立の
    従パイプラインを用いて上記分岐先予約命令で予約され
    た分岐先以降の命令処理を実行する手段と、上記主パイ
    プラインで処理対象となっている命令が、上記幾つかの
    特定分岐命令でいずれも分岐条件不成立が判定された場
    合に処理すべき命令群の直前に設定されたパイプライン
    無効化命令の場合に、上記従パイプラインを無効化する
    手段と、上記幾つかの特定分岐命令のいずれかで分岐条
    件成立が判定された場合には上記主パイプラインを無効
    化し、上記従パイプラインを主パイプラインとして用い
    る手段とを具備し、上記特定条件分岐命令を含むプログ
    ラム処理を上記主パイプラインおよび上記従パイプライ
    ンの2系統を用いて実行するようにしたことを特徴とす
    る条件分岐命令を含むプログラムの実行方式。
JP4587188A 1988-03-01 1988-03-01 条件分岐命令を含むプログラムの実行方式 Pending JPH01222329A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4587188A JPH01222329A (ja) 1988-03-01 1988-03-01 条件分岐命令を含むプログラムの実行方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4587188A JPH01222329A (ja) 1988-03-01 1988-03-01 条件分岐命令を含むプログラムの実行方式

Publications (1)

Publication Number Publication Date
JPH01222329A true JPH01222329A (ja) 1989-09-05

Family

ID=12731268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4587188A Pending JPH01222329A (ja) 1988-03-01 1988-03-01 条件分岐命令を含むプログラムの実行方式

Country Status (1)

Country Link
JP (1) JPH01222329A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790845A (en) * 1995-02-24 1998-08-04 Hitachi, Ltd. System with reservation instruction execution to store branch target address for use upon reaching the branch point

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790845A (en) * 1995-02-24 1998-08-04 Hitachi, Ltd. System with reservation instruction execution to store branch target address for use upon reaching the branch point
US5878254A (en) * 1995-02-24 1999-03-02 Hitachi, Ltd. Instruction branching method and a processor

Similar Documents

Publication Publication Date Title
US7178062B1 (en) Methods and apparatus for executing code while avoiding interference
JP3120152B2 (ja) コンピューターシステム
US4782441A (en) Vector processor capable of parallely executing instructions and reserving execution status order for restarting interrupted executions
JPS6239780B2 (ja)
US4562538A (en) Microprocessor having decision pointer to process restore position
JP2560988B2 (ja) 情報処理装置および処理方法
JPH0348537B2 (ja)
KR920004290B1 (ko) 명령파이프라인방식의 마이크로프로세서
JPS62226232A (ja) 分岐先アドレス算出回路
JPS63317828A (ja) マイクロコ−ド読み出し制御方式
JPS63307535A (ja) パイプライン制御回路
JP3469469B2 (ja) 情報処理装置
EP0140299A2 (en) Vector mask control system
JPH01222329A (ja) 条件分岐命令を含むプログラムの実行方式
JPH06266556A (ja) データ処理装置
JPH0895798A (ja) データ処理装置
JP2814683B2 (ja) 命令処理装置
JPH04288625A (ja) マイクロコンピュータ
JP2552738B2 (ja) データ処理装置
JP3547562B2 (ja) マイクロプロセッサ
JP2979108B2 (ja) データ処理装置における非同期処理の同期化方式
JPH09146782A (ja) ジョブ間データ引き継ぎにおける異常発生時の対応方法
JPS60250438A (ja) 情報処理装置
JPH036734A (ja) 命令フェッチ方式
JPH04145531A (ja) マイクロプログラム制御装置