JPS623341A - 条件付制御方法 - Google Patents

条件付制御方法

Info

Publication number
JPS623341A
JPS623341A JP61142436A JP14243686A JPS623341A JP S623341 A JPS623341 A JP S623341A JP 61142436 A JP61142436 A JP 61142436A JP 14243686 A JP14243686 A JP 14243686A JP S623341 A JPS623341 A JP S623341A
Authority
JP
Japan
Prior art keywords
instruction
bit
instructions
execution
arithmetic
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
JP61142436A
Other languages
English (en)
Inventor
Jiee Baumu Aren
アレン・ジエー・バウム
Jiee Mahon Maikeru
マイケル・ジエー・マホン
Shii Miraa Terensu
テレンス・シー・ミラー
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.)
Hewlett Packard Japan Inc
Original Assignee
Yokogawa Hewlett Packard 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 Yokogawa Hewlett Packard Ltd filed Critical Yokogawa Hewlett Packard Ltd
Publication of JPS623341A publication Critical patent/JPS623341A/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/30003Arrangements for executing specific machine instructions
    • G06F9/30072Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
    • 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

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)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、残留状態を生じないように条件付制御をにこ
ない、計算機の実行速度を高める方法に関する。
〔従来技術とその問題点〕
条件付演算で決定を行う能力は、有用な仕事を行う全て
の電A、機システムに関して重装な要件である。
デジタル電算機内での条件付演算は、典型的には、条件
符号レジスタをセットする命令と、それに続く分岐命令
とによって実行される。分岐すム己ないの決定は、1個
以上の事象に基づく。これらの事象は多くの場合条件コ
ードと呼ばれるが。
電算機の条件符号レジスタに記憶され、正・負、含む。
条件付き演算は、ループやイフ・ゼン・エルス(1f−
then−else)文等の高レベルプログラム構成の
ためや、最小値および最大値を求める機能の構成のため
に使用される。ルージャ1f−then−elseプロ
グラム構造は非常に一般的であるので、これらを実行す
る条件付演算は出来るだけ効率的であることが大切であ
る。
電算機命令は、2個以上のステップによって実行される
。典型的には、3ステツプである。即ち、第1ステツプ
はプログラムカウンタによって指示された命令を取出し
、第2ステツプはこれを解読し、その命令で指示された
演算を行ない、第3ステツプはその結果を記憶する。単
純分岐命令は、プログラムカウンタの内容を変え、これ
によって、実行位置が他の場所にジ・Yンプする。条件
付分岐命令は、ある発生した特定条件に応じて、単純分
岐を実行する。
電算機命令の実行を高速化するには、一時点で複数個の
命令を実行するバイグラ、イン方式と呼ばれる技術が開
発されている。パイプライン方式では1例えば、中央処
理装置が、11!算機命令を取出す間に、他の電′:S
、機命令を実行し、更に他の電算機命令の結果を記憶す
ることかり能である。パイプライン方式電算機アーキテ
クチャでは、分岐命令は、分岐命令の結果が出るまでパ
イプライン中の他の命令の実行を停止させるので、高価
な演算である。条件が真の場合に条件分岐命令が実行さ
れると1分岐先アドレスとして参照された新しいアドレ
スで′を算機の命令実行が続行される。命令取出しは、
パイプライン方式mILts内では命令解読および実行
と同時に行われるので、その分岐命令が実行完rとなる
迄には、電算機はプログラム内の分岐命令に続く命令を
取出している。これは、分岐先アドレスの命令とは異な
る。従って計算機は1分岐命令の結果が分り、適当な命
令が取出されるまで、分岐命令に続くパイプライン内の
命令の実行を停止せねばならない。
マルチサイクル命令または条件分岐命令を使用する従来
技術での問題は、条件符号レジスタである。各命令が正
しく実行されるためには、このレジスタを各命令の起動
時に適当に更新せねばならない、これは、条件符号が電
算機の残留状態を示し、従来技術電算機内では、多くの
命令の入力とされるからである。同時に数個の命令を実
行する従来のパイプライン方式電Xfiでは、直前の命
令からの条件符号を条件符号レジスタに転送するタイミ
ングが極めて際どかった。多くの従来の計算機では、条
件符号を生成する論理演算装置とシフタから条件符号レ
ジスタへの経路がクリティカル・バスであって、電算機
システムの最高速度を制限している。
条件付演算の他の従来技術は、空間逐次(スペース・シ
ーケンシャル)スキラフ命令テアル。これらの命令は典
型的には、逓増および逓減命令。
または、ある一定数の条件発生時に空間逐次命令をスキ
ップする他の単純論理演算に限られる。これらの命令を
パイプライン内に取込むこともできるが、スキップ可能
命令の取出しによって生成されるページタオールトのよ
うなエラーは、電算機システムによって処理されねばな
らないエラーとして取り扱われる。そしてこれらの命令
の多くは。
マイクロコードまたはマルチサイクル命令を使用して実
施される。
〔発明の目的〕
従って、本発明の目的は残留状態に依存した分岐命令、
特別な演算、爽にマイクロコード制御を使用しないで論
理演算および算術演算を実行する条件付演算の手法によ
り前記の従来技術における欠点を除去することであるっ 〔発明の概要〕 本発明の1実施例によれば、デジタル電算機内において
、残留状態を導入することなく、命令実行に対する条件
付制御方法が提供される。本発明の1実施例においては
、各算術、/論理命令は、3ピントまたは4ビツトの条
件指定子を有する。命令によって指定された条件がその
オペランドまたは結果によって満足されれば、時間逐次
(タイム・シーケンシャル)命令は無効化される。これ
により、1個の命令を条件付きで飛び越す機能または、
後続命令を無条件分岐命令とすることによってメモリ内
の任意位置に条件付き分岐させる機能が得られる。
本発明は、種々の点で従来技術に比べて優れている。第
1に、本発明の望ましい実施例は、従来技術で使用され
ていた条件符号を必要としない。
第2に、これは更に重J妹であるが、本発明の1実施例
では、条件符号を条件符号レジスタに転送するための遅
延に起因する従来技術でのタイミング遅延を除去する。
第3に、本発明の1実施例によれば、従来技術の2命令
でなく、1命令で、演算と飛び越し決定が実行できる。
最後に、本発明の1実施例では、バイグライン方式にお
けるエラー条件発生後の条件符号処理に関する問題を解
決する。
〔発明の実施例〕
第1図は、本発明のl実施例による算術/論理命令を示
す。算術/論理命令501は、この命令の実行のために
電算機が使用する32ビツト情報から成る。この命令は
、分岐機能と、2個のオペランドに対する算術/論理演
算とを結合したものである。命令5()1は、6ビツト
の演算符号部502.5ピントの第1オペランド・レジ
スターアドレス部503.5ピントの第2.オペランド
・レジスタ・アドレス部504.3ピントの条件符号部
505.5ビツトの結果レジスターアドレス部508.
7ビツトの拡張オペランド部506.および無効化ビッ
ト507を含む。
演算符号部502は拡張オペランド部505と共に。
この命令を算術/論理命令0例えば加算命令として識別
する。第1および第2オベラ/ド−レジスタ・アドレス
部503と504は、演算対象となる自答を含むレジス
タ?:識別する。結果レジスタ・アドレス部508は、
結果を記憶するレジスタ?識別する。本発明の1実施例
に2いては、命令パイグライン内の次の命令は、無効化
ビット部507と条件符号部505をセットすることに
よって、ある条件発生時に無効化される。
パイグライン方式計)1:機システムでは、次に実行さ
れる命令に関して2つの異なる考え方がある。
第1は、時間逐次命令で、これは、現時点の命令後に実
行される。パイプライン内の次の命令を示す。この命令
は、現時点の命令に引き続いて実行されて、無効化され
てなければその結果が記憶される。第2は、空間逐次命
令である。これは、プログラム内で現時点の命令の直後
にある命令を示す。一般に、現時点の命令に対する空間
逐次命令は時間逐次命令である。この規則の例外は、分
岐命令時に発生する。分岐命令実行前に、計算機は空間
逐次命令をパイプライン内に取り込み、これを時間逐次
命令とする。分岐実行後、時間逐次命令は現時点の命令
となり、取り込まれた次の命令は、分岐先アドレスから
始まる。このアドレスの命令は、現時点の命令に対する
空間逐次命令ではない。
本発明の1実施例においては1時間逐次命令の実行は、
現実点で実行中の算術/論理命令内で無効化ビット50
7および条件符号部505をセントすることによって条
件発生時に無効化できる。無効化処理の目的は、この命
令が取込まれ指示された演算が実行されたにもかかわら
ず、存在し−〔いないかのようにすることである。無効
化処理は、その命令が計1を機の状態を変化させること
な〈実施される。計算機の状態を変化させないためには
、無効化処理は、無効にされた命令の結果が両レジスタ
およびメモリに書込まれないようにし、更に、例えば無
効にされた命令に起因する割込発生等の副作用を禁止せ
ねばならないっ本発明の1実施例では、直前の算術、/
論理命令によって生成された無効化信号で、書込み1M
号を修飾することで実施される。それによって、現時点
の命令がいずれの計算結果も記憶することなく、計算機
システムの状態を変化させることもない。併込み信号の
簡単な修飾方法は、書込み信号と、無効化信号の保持さ
れていた写しとをALND処坤することであるっ無効化
信号の写しを保存する便利な場所はプロセッサ・ステー
タスワード(状態語)である。本発明の1実施例におい
ては、現時点での算術/論理命令の無効化ビットは、後
続命令を無効化するための無効化信号の発生に使用でき
る。先ず、条件符号部505が、算術/論理演算の結果
の条件に一致し、無効化ビットがオンであれば1、無効
化信号が生成されプロセッサ状態語に保存される。続い
て、後続命令が実行されると、無効化信号の保持されて
いた写しが書込み信号を修飾するのに使用され、これに
よって、後続命令の結果がレジスタとメモリに6込まれ
なくなり、更に、計算機内の状態情報が変化されないよ
うになる。
第2図は本発明の1実施例による。命令実行に対する条
件付制御方法を示す。第2図の方法を実現する計算機は
、算術/論理演算命令102を含む命令100によって
構成されるプログラム101を有する。算術/論理命令
102に対する空間逐次命令は、命令103である。プ
ログラムの実行をグラフ110と114に示す。通常の
実行ではプログラムは現時点の命令を実行して、その後
、現時点の命令に対する空間逐次命令を実行する。
グラフ110は、無効化ビットがオフの場合の算術/論
理命令の処理を示す。無効化ビットがオフなので、算術
/論理命令は、命令コードおよび拡張命令コード部に示
される命令を実行する。実行は時間逐次命令に続き、こ
れは通常、算術/論理命令に対する空間逐次命令である
グラフ110と114は、無効化ピントがオンの場合の
算術/論理命令の処理を示す。無効化゛ビットがオンな
ので1時間逐次命令の実行は、s、術/論理命令によっ
て生成された条件符号に依存する。
命令の条件符号部505が算術、/論理命令によって実
行された命令によって生成された条件符号に一致しなけ
れば、実行は、グラフ110に示すように。
空間逐次命令103に続けられる。命令の条件符号部が
、算術/論理命令によって実行された命令によつ−(生
成された条件符号に一致すれば、時間逐次命令は無効化
され、実行は、この無効化された時間逐次命令の後続命
令に続けられる。
〔発明の効果〕
本発明の1実施例においては、条件符号は、後続命令が
検査すべきレジスタに記憶されることはない。条件符号
は、これらの符号を生成した命令が実行されている間だ
け存在する。これによって、従来技術における条件符号
レジスタへのクリティカル・バスが除去されるっ更に、
命令の再実行は、その命令に必要な全ての条件符号を再
生成するので、命令実行中のエラー発生時における条件
符号     、。
復元の必要性がなくなる。パイプライン方式計算′。
機においては1条件符号はパイプライン内の命令   
  ′−? にそって渡されるので、計算機設計を単純化する。  
   ′;最後に、この条件符号は、文脈切替(コンテ
キス     ゛パご ″“1′″< V −f 47 f V“7”′1  
 。
って保存されなければならない計算機の残留状態ではな
いので、計算機構造が簡単化される。以上のようである
から本発明は実用に供して有益である。
【図面の簡単な説明】
第1図は本発明の1実施例における算術/論理    
 ゛命令の構成図、第2図は本発明の1実施例における
命令実行中の条件付制御方法を示す図。 501:]術、/論理命令。 502:演算符号部、 503 : 第1オペランド拳レジスタ参アドンス部、
504:第2オペランド・レジスタ・アドレス部。 505:条件符号部、 506:拡張オペランド部、 507:無効化ピント、 508:結果レジスターアドレス部、 100:命令、 101ニブログラム、 102 :算術7/論理演纏命令、 103 : 102の空間逐次命令、 110、114 ニブログラムの実行を示すグラフ。

Claims (1)

    【特許請求の範囲】
  1. 条件符号部を有する第1の命令と、この命令の時間逐次
    命令を含むプログラムの実行制御において、前記第1の
    命令の演算によつて生じた条件符号と前記条件符号部が
    一致しないとき前記時間逐次命令の実行をおこない残留
    状態を生じないようにした条件付制御方法。
JP61142436A 1985-06-28 1986-06-18 条件付制御方法 Pending JPS623341A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75038385A 1985-06-28 1985-06-28
US750383 1985-06-28

Publications (1)

Publication Number Publication Date
JPS623341A true JPS623341A (ja) 1987-01-09

Family

ID=25017645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61142436A Pending JPS623341A (ja) 1985-06-28 1986-06-18 条件付制御方法

Country Status (3)

Country Link
EP (1) EP0211487A1 (ja)
JP (1) JPS623341A (ja)
CA (1) CA1256580A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0307957B1 (en) * 1987-09-17 1994-07-06 Nec Corporation Central processing unit having instruction prefetch function
US5367648A (en) * 1991-02-20 1994-11-22 International Business Machines Corporation General purpose memory access scheme using register-indirect mode
US5537560A (en) * 1994-03-01 1996-07-16 Intel Corporation Method and apparatus for conditionally generating a microinstruction that selects one of two values based upon control states of a microprocessor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3577190A (en) * 1968-06-26 1971-05-04 Ibm Apparatus in a digital computer for allowing the skipping of predetermined instructions in a sequence of instructions, in response to the occurrence of certain conditions
BE789583A (fr) * 1971-10-01 1973-02-01 Sanders Associates Inc Appareil de controle de programme pour machine de traitement del'information
GB1480209A (en) * 1974-07-03 1977-07-20 Data Loop Ltd Digital computers
GB8327567D0 (en) * 1983-10-14 1983-11-16 Gen Electric Co Plc Computers

Also Published As

Publication number Publication date
EP0211487A1 (en) 1987-02-25
CA1256580A (en) 1989-06-27

Similar Documents

Publication Publication Date Title
EP2569694B1 (en) Conditional compare instruction
KR102629722B1 (ko) 이동 프리픽스 명령어
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
US7178011B2 (en) Predication instruction within a data processing system
KR100571322B1 (ko) 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템
JPH0429093B2 (ja)
CN108780397B (zh) 程序循环控制
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
JPH02297630A (ja) デイジタル・データ処理システム
JP2004529405A (ja) 依存性を決定するためのコンテンツ・アドレス指定可能メモリを実装したスーパースケーラ・プロセッサ
US7984276B2 (en) Method and system for altering processor execution of a group of instructions
JPS623341A (ja) 条件付制御方法
US6990569B2 (en) Handling problematic events in a data processing apparatus
JPS623336A (ja) 条件付きブランチ方式
KR102379886B1 (ko) 벡터 명령 처리
JP2843844B2 (ja) 並列演算処理装置
JP3100705B2 (ja) マイクロプロセッサ内の命令準備のための装置
JPH04338825A (ja) 演算処理装置
JPS62159233A (ja) 命令先取り装置
JPH04123229A (ja) パイプライン制御装置
JPH04168526A (ja) ループ制御方式
JPH04326425A (ja) ループ処理制御方式