JPH02224025A - コンピューターシステム - Google Patents
コンピューターシステムInfo
- Publication number
- JPH02224025A JPH02224025A JP1270136A JP27013689A JPH02224025A JP H02224025 A JPH02224025 A JP H02224025A JP 1270136 A JP1270136 A JP 1270136A JP 27013689 A JP27013689 A JP 27013689A JP H02224025 A JPH02224025 A JP H02224025A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- condition code
- sequence
- instructions
- register
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
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)
- Devices For Executing Special Programs (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、コンピューター命令実行及びコンバイソング
システムに関するものであり、且つ特に条件コード状態
の確立、後の条件コード依存命令の実行間に生じる待ち
時間命令に藺連するコンピュータープロセッサー、及び
コンバイリングシステム技術に関するものである。
システムに関するものであり、且つ特に条件コード状態
の確立、後の条件コード依存命令の実行間に生じる待ち
時間命令に藺連するコンピュータープロセッサー、及び
コンバイリングシステム技術に関するものである。
コンピューターアーキテクチャ−において、所与の命令
の実行の結果により、プロセッサーは特定の状態を維持
される。所与の動作の結果の概要は、条件コードとして
記憶され、且つ状態は条件コード状態と呼ばれる。条件
付き分岐により生じられる様なプログラムフローの変化
は、特定の条件マード状態でのテスト及び分岐によって
達成される。
の実行の結果により、プロセッサーは特定の状態を維持
される。所与の動作の結果の概要は、条件コードとして
記憶され、且つ状態は条件コード状態と呼ばれる。条件
付き分岐により生じられる様なプログラムフローの変化
は、特定の条件マード状態でのテスト及び分岐によって
達成される。
しかしながら、多くのコンピューターシステムは条件付
き分岐命令によるその条件コードの使用に対する条件コ
ードの設定間の固定遅延を被る。
き分岐命令によるその条件コードの使用に対する条件コ
ードの設定間の固定遅延を被る。
いくつかのコンピューターシステムにおいては、マシン
サイクル時間の増大、又はシステム停止の送り込みのい
ずれかにより時間が浪費される。いずれのアプローチも
、低下するシステム性能を安定させるために、条件コー
ドを持つための分岐命令を必要とする。バイブラインプ
ロセッサーは、いくつかの実行サイクルに分割される命
令を有し、その各サイクルは異なるシーケンシャルな時
間期間で完了され、且つ全てのこの様なパイプライン処
理された命令が最も能率的に実行する様に、部分的にオ
ーバーラツプする命令のサイクルを有する。パイプライ
ンプロセッサーは、プログラムフローが分岐命令によっ
て変更される時、特にペナルティ−を課される。このペ
ナルティ−を減じる技術として、命令(i+l)により
条件コード状態で分岐する段階が、先の命令iによる命
令実行段階とオーバーラツプされる。しかしながら、こ
の作用は条件コードが命令i+2における使用のために
安定している間、命令(i+1)が条件コード状態を変
更しないために、1個のサイクルの条件コード固定遅延
をもたらす。条件コード固定は、その更新された状態を
使用する命令に関して、条件コード状態を変更する命令
間に(後の命令と呼ばれる)命令遅延がたった1つしか
存在しないという制限を課す。この制限は、コンパイラ
が命令を待ち時間命令として割当てないように抑制する
。その結果、有用な待ち時間命令を割当てることができ
ないためにプロセッサー性能が低下される。
サイクル時間の増大、又はシステム停止の送り込みのい
ずれかにより時間が浪費される。いずれのアプローチも
、低下するシステム性能を安定させるために、条件コー
ドを持つための分岐命令を必要とする。バイブラインプ
ロセッサーは、いくつかの実行サイクルに分割される命
令を有し、その各サイクルは異なるシーケンシャルな時
間期間で完了され、且つ全てのこの様なパイプライン処
理された命令が最も能率的に実行する様に、部分的にオ
ーバーラツプする命令のサイクルを有する。パイプライ
ンプロセッサーは、プログラムフローが分岐命令によっ
て変更される時、特にペナルティ−を課される。このペ
ナルティ−を減じる技術として、命令(i+l)により
条件コード状態で分岐する段階が、先の命令iによる命
令実行段階とオーバーラツプされる。しかしながら、こ
の作用は条件コードが命令i+2における使用のために
安定している間、命令(i+1)が条件コード状態を変
更しないために、1個のサイクルの条件コード固定遅延
をもたらす。条件コード固定は、その更新された状態を
使用する命令に関して、条件コード状態を変更する命令
間に(後の命令と呼ばれる)命令遅延がたった1つしか
存在しないという制限を課す。この制限は、コンパイラ
が命令を待ち時間命令として割当てないように抑制する
。その結果、有用な待ち時間命令を割当てることができ
ないためにプロセッサー性能が低下される。
本発明は、コンパイラが任意の命令を待ち時間命令とし
て割当て、条件コードを設定または使用し得る命令を、
介入する待ち時間期間に充填し、それによってバイブラ
イン処理された命令を用いてプロセッサー性能を最大限
に改良し得る2組の条件コードを維持するための装置及
び方法を提供する。
て割当て、条件コードを設定または使用し得る命令を、
介入する待ち時間期間に充填し、それによってバイブラ
イン処理された命令を用いてプロセッサー性能を最大限
に改良し得る2組の条件コードを維持するための装置及
び方法を提供する。
ここに述べられる発明の特定の実施例において、待ち時
間命令の数は1であると仮定される。本発明によれば、
アーキテクチャ−はcurrent、cc及びNex
t 、 ccと呼ばれる2組の条件コードを支持する。
間命令の数は1であると仮定される。本発明によれば、
アーキテクチャ−はcurrent、cc及びNex
t 、 ccと呼ばれる2組の条件コードを支持する。
この状態変数は、両方の組の条件コードで表される。分
岐は全て、Currcnt、ccに保持された条件コー
ドに関連する。current、ccは常にNaxt、
ccから更新され、それはその命令のオプションで実行
命令から更新されてもよい。命令iの実行が完了すると
、Next、ceに維持された状態はcurrent、
ccに送られ、Next、ccに維持された状態は、現
在の命令実行を反映する様に選択的に更新される。その
時、命令が条件コードを変更しないならば、Nex t
、 eeは変えられないままであり、Current
、ce状態がNext、ee状態に等しくなる様に強制
する。
岐は全て、Currcnt、ccに保持された条件コー
ドに関連する。current、ccは常にNaxt、
ccから更新され、それはその命令のオプションで実行
命令から更新されてもよい。命令iの実行が完了すると
、Next、ceに維持された状態はcurrent、
ccに送られ、Next、ccに維持された状態は、現
在の命令実行を反映する様に選択的に更新される。その
時、命令が条件コードを変更しないならば、Nex t
、 eeは変えられないままであり、Current
、ce状態がNext、ee状態に等しくなる様に強制
する。
待ち時間命令又は後の命令i+1が完了すると、Nex
t、ccに維持された状態はCurrent、ecに送
られ、月つN15X t 、 ceに維持された状態は
、現在の実行命令を反映する様に再度更新される。もし
次の又は第3の命令(i + 2 )が非シーケンシャ
ル命令実行を生じる分岐又は他の命令であるならば、こ
の分岐はeurrent、ccに維持される条件コード
に基づく。
t、ccに維持された状態はCurrent、ecに送
られ、月つN15X t 、 ceに維持された状態は
、現在の実行命令を反映する様に再度更新される。もし
次の又は第3の命令(i + 2 )が非シーケンシャ
ル命令実行を生じる分岐又は他の命令であるならば、こ
の分岐はeurrent、ccに維持される条件コード
に基づく。
それ故に、本発明の装置及び方法により能率が上がり、
ここでは命令iにより状態を変えられたバイブラインプ
ロセッサーは、待ち時間命令i+1により変えられ、命
令t+2及びi+3の実行にそれぞれ影響を及ぼす可能
性があり、この様な命令が条件コード状態に依存するな
らば、他の点で無用な待ち時間命令をより大きい組の動
作に作用可能にすることにより、システム性能を向上さ
せることになる。
ここでは命令iにより状態を変えられたバイブラインプ
ロセッサーは、待ち時間命令i+1により変えられ、命
令t+2及びi+3の実行にそれぞれ影響を及ぼす可能
性があり、この様な命令が条件コード状態に依存するな
らば、他の点で無用な待ち時間命令をより大きい組の動
作に作用可能にすることにより、システム性能を向上さ
せることになる。
本発明による、これらの及び他の特徴は、図面と共に以
下の詳細な説明を解することにより、より良く理解され
るであろう。
下の詳細な説明を解することにより、より良く理解され
るであろう。
本発明によるシステムは、整数及び浮動小数点状態コー
ドの内の1つ、又は両方のためのバイブライン構造を提
供する。分岐動作述語は、整数及び浮動小数点分岐状態
部分に分割される。示された特定の実施例において、整
数プロセッサーは整数及び浮動小数点分岐述語の両方を
解釈する責任があり、且つ整数プロセッサーとは無関係
の整数状態コードを発生する。この維持された状態のコ
ピーが送られ、整数プロセッサー内に保持される。第1
図のプロセッサーにより受取られる命令は、プログラム
・カウンター130により与えられるキャッシュアドレ
ス信号PCSRCに応答して、命令フェッチ(IF)期
間中、命令キャッシュ102によりこの命令デコードレ
ジスター104に与えられる。実行ユニット110のフ
ァイルレジスター112は、命令デコードレジスター1
04から命令を受取り、オペランドフェッチ(OF)期
間中、受取られた命令に応答して、オペランドA及びオ
ペランドBを与える。実行レジスター10Gが、命令デ
コードレジスター104に記憶された命令を受取り、且
つ記憶するのと実質的に同時に、オペランドA及びBが
受取られ、且つレジスター114及び116に記憶され
る。演算論理装置(A L U)118はオペランドA
及びBを処理し、且つ信号がレジスター120及び12
2にそれぞれ記憶された命令実行(IE)期間中、結末
及び条件コード信号を与える。A L U 118から
レジスター120及び122に信号を記憶するのと実質
的に同時に、命令が更新レジスター108に記憶される
。更新レジスターに記憶された命令は、書戻し実行(W
E)及びデータキャッシュ(DC)期間中に実行される
特定の命令で決定される様に、結果レジスター120に
現在記憶されている信号をどこに記憶するかを示すため
に、ファイルレジスター112により受承られてもよい
。代わりに、後の書戻しロード(WL)期間中に結果が
記憶されでもよい。
ドの内の1つ、又は両方のためのバイブライン構造を提
供する。分岐動作述語は、整数及び浮動小数点分岐状態
部分に分割される。示された特定の実施例において、整
数プロセッサーは整数及び浮動小数点分岐述語の両方を
解釈する責任があり、且つ整数プロセッサーとは無関係
の整数状態コードを発生する。この維持された状態のコ
ピーが送られ、整数プロセッサー内に保持される。第1
図のプロセッサーにより受取られる命令は、プログラム
・カウンター130により与えられるキャッシュアドレ
ス信号PCSRCに応答して、命令フェッチ(IF)期
間中、命令キャッシュ102によりこの命令デコードレ
ジスター104に与えられる。実行ユニット110のフ
ァイルレジスター112は、命令デコードレジスター1
04から命令を受取り、オペランドフェッチ(OF)期
間中、受取られた命令に応答して、オペランドA及びオ
ペランドBを与える。実行レジスター10Gが、命令デ
コードレジスター104に記憶された命令を受取り、且
つ記憶するのと実質的に同時に、オペランドA及びBが
受取られ、且つレジスター114及び116に記憶され
る。演算論理装置(A L U)118はオペランドA
及びBを処理し、且つ信号がレジスター120及び12
2にそれぞれ記憶された命令実行(IE)期間中、結末
及び条件コード信号を与える。A L U 118から
レジスター120及び122に信号を記憶するのと実質
的に同時に、命令が更新レジスター108に記憶される
。更新レジスターに記憶された命令は、書戻し実行(W
E)及びデータキャッシュ(DC)期間中に実行される
特定の命令で決定される様に、結果レジスター120に
現在記憶されている信号をどこに記憶するかを示すため
に、ファイルレジスター112により受承られてもよい
。代わりに、後の書戻しロード(WL)期間中に結果が
記憶されでもよい。
プログラム・カウンター130は、選択された条件コー
ド(12B)及びファイルレジスター112による実行
のためにデコードされている命令(104)に応答して
、PCソース選択器134の動作をコント9−ルする分
岐選択論理132を含む。プログラム争カウンターやレ
ジスター13Bは、キャッシュ102における次の命令
のアドレス差に対応する値(例えば138により与えら
れる8)だけゼロ増分されることにより増分され得る。
ド(12B)及びファイルレジスター112による実行
のためにデコードされている命令(104)に応答して
、PCソース選択器134の動作をコント9−ルする分
岐選択論理132を含む。プログラム争カウンターやレ
ジスター13Bは、キャッシュ102における次の命令
のアドレス差に対応する値(例えば138により与えら
れる8)だけゼロ増分されることにより増分され得る。
各条件コードは、ゼロ(Z)、ネガチブ(N)、オーバ
ーフロー(V)及びキャリー(C)を含む少なくとも4
個のシングルビット整数条件コード(ee)を含む。本
発明の特定の実施例において、6個の浮動小数点コード
、即ちノット・ア・ナンバー(NAN) 、ゼロ(Z)
、ネガチブ(N)、(1)インフィニティ、グラフィッ
クトリビアルアクセブト及びグラフィックトリビアルリ
ジェクトがある。浮動小数点分岐の述語フィールドは、
本発明と共に出願され、引用により援用された°分岐命
令に続く命令の選択的実行のための装置”と題される、
同時係属中の特例出願APOLL−108XXに例示さ
れる様な浮動小数点分岐型式を32個まで支持する。プ
ロセッサーステータスロード(IPSW)における条件
コードの場所は、以下の第1表に示される。本発明によ
るシステムもまた、条件コードを設定する命令と、条件
コード固定のための時間を与える様にその条件コードに
基づく分岐である命令(または非連続命令実行を生じる
他の命令)との間に、少なくとも1個の命令を無条件に
挿入するコンパイラを含む。挿入された命令も又、後の
分岐(テスト)命令により、基準のための条件コードを
設定し得るが、又は前に設定された条件コードを使用し
得る。条件コード状態は、整数プロセッサーステータス
ロングワードレジスター(IPSW)と呼ばれるレジス
ターに維持される。
ーフロー(V)及びキャリー(C)を含む少なくとも4
個のシングルビット整数条件コード(ee)を含む。本
発明の特定の実施例において、6個の浮動小数点コード
、即ちノット・ア・ナンバー(NAN) 、ゼロ(Z)
、ネガチブ(N)、(1)インフィニティ、グラフィッ
クトリビアルアクセブト及びグラフィックトリビアルリ
ジェクトがある。浮動小数点分岐の述語フィールドは、
本発明と共に出願され、引用により援用された°分岐命
令に続く命令の選択的実行のための装置”と題される、
同時係属中の特例出願APOLL−108XXに例示さ
れる様な浮動小数点分岐型式を32個まで支持する。プ
ロセッサーステータスロード(IPSW)における条件
コードの場所は、以下の第1表に示される。本発明によ
るシステムもまた、条件コードを設定する命令と、条件
コード固定のための時間を与える様にその条件コードに
基づく分岐である命令(または非連続命令実行を生じる
他の命令)との間に、少なくとも1個の命令を無条件に
挿入するコンパイラを含む。挿入された命令も又、後の
分岐(テスト)命令により、基準のための条件コードを
設定し得るが、又は前に設定された条件コードを使用し
得る。条件コード状態は、整数プロセッサーステータス
ロングワードレジスター(IPSW)と呼ばれるレジス
ターに維持される。
プロセッサーステータスロングワード(I PSW)に
おける条件コードの位置は、以下の第1表に例示される
。
おける条件コードの位置は、以下の第1表に例示される
。
N>ZCJct:l
整数条件コードを設定し得る命令に対して3つのクラス
がある。
がある。
■)条件コードを設定するレジスター・レジス9−命令
(rr、 cc)。ここでは計算された結果に基づいて
、実行ユニットが条件コードを指定する。
(rr、 cc)。ここでは計算された結果に基づいて
、実行ユニットが条件コードを指定する。
2)条件コードを設定する整数ロード命令(load。
cC)。ここではデータキャッシュインタフェースによ
り与えられる、入って来る結果から条件コードが発生さ
れる。1oad、 ccはrr、 ccに関して条件コ
ードを発生する様に、1個の追加サイクルをとる。
り与えられる、入って来る結果から条件コードが発生さ
れる。1oad、 ccはrr、 ccに関して条件コ
ードを発生する様に、1個の追加サイクルをとる。
3)条件コードバイブラインを更新する、プロセッサー
レジスターへの移動命令(stpr、 1psv)。
レジスターへの移動命令(stpr、 1psv)。
mtpr、 5psvは、rr、 eeに関して条件コ
ードを発生する様に、1個の追加サイクルをとる。
ードを発生する様に、1個の追加サイクルをとる。
条件コードバイブラインは、第2図のブロック図150
に示される。Current、ccレジスター124は
、実行される(最後の命令−1)に関して整数条件コー
ドを保持し、Current、cc選択マルチプレクサ
−1eoからソースされる。Next、ccレジスター
122は、実行される(最後の命令)に関して整数条件
コードを保持し、且つNcxt、cc選択マルチプレク
サ−182からソースされる。ee選択マルチプレクサ
−16Bは、プログラムコントロールユニット130に
分岐条件コードを与え(第3図)、それらは命令ストリ
ーム方向を変えるために使用され、且ツcurrent
、ce又はNext、ccレジスター124及び122
から選択的にソースされる。Nex L、 cc選択マ
ルチプレクサ−162は、整数条件コードのソースをN
ext、ecレジスター122に与えるために使用され
、且つ実行ユニット(第1図の110)、logd
ecレジスター154またはIItpr tpswレ
ジスター156から選択的にソースされる。curre
nt、cc選択マルチプレクサ−160は、整数条件コ
ードのソースをCurrent、ccレジスター124
に与えるために使用され、且つNext、ccレジスタ
ー122.1oad ccレジスター154またはm
tpr 1psvレジスター15Bからソースされる
。logd ecレジスター154は、1oad。
に示される。Current、ccレジスター124は
、実行される(最後の命令−1)に関して整数条件コー
ドを保持し、Current、cc選択マルチプレクサ
−1eoからソースされる。Next、ccレジスター
122は、実行される(最後の命令)に関して整数条件
コードを保持し、且つNcxt、cc選択マルチプレク
サ−182からソースされる。ee選択マルチプレクサ
−16Bは、プログラムコントロールユニット130に
分岐条件コードを与え(第3図)、それらは命令ストリ
ーム方向を変えるために使用され、且ツcurrent
、ce又はNext、ccレジスター124及び122
から選択的にソースされる。Nex L、 cc選択マ
ルチプレクサ−162は、整数条件コードのソースをN
ext、ecレジスター122に与えるために使用され
、且つ実行ユニット(第1図の110)、logd
ecレジスター154またはIItpr tpswレ
ジスター156から選択的にソースされる。curre
nt、cc選択マルチプレクサ−160は、整数条件コ
ードのソースをCurrent、ccレジスター124
に与えるために使用され、且つNext、ccレジスタ
ー122.1oad ccレジスター154またはm
tpr 1psvレジスター15Bからソースされる
。logd ecレジスター154は、1oad。
cc命令実行に関して条件コード状態に保持する。
1tpr 1psvレジスター15Bは、atpr、
Ipsv命令実行に関Lr条件コード状態を保持する
。Ipsνレジスタ・−156は、過去の命令履歴に関
してバ4ブラインを先行させるために、条件コードバイ
ブライン(Current及びxext、eeレジスタ
ー)の状態及び全ての必要な状態を表す。
Ipsv命令実行に関Lr条件コード状態を保持する
。Ipsνレジスタ・−156は、過去の命令履歴に関
してバ4ブラインを先行させるために、条件コードバイ
ブライン(Current及びxext、eeレジスタ
ー)の状態及び全ての必要な状態を表す。
以下の説明では、唯一の条件コー ド更新ソ〜スS(実
行ユニット、1oad〜eei/シスターまたは1、m
tpr Ipsvレジスター)は、マシンサイクル毎
に条件コードバイブラインに送り込まれ得る。
行ユニット、1oad〜eei/シスターまたは1、m
tpr Ipsvレジスター)は、マシンサイクル毎
に条件コードバイブラインに送り込まれ得る。
しかしながら他の実施1り1は、γシンザイクル毎に多
重コード更新ソー・・・スを許容し得る。rr、eeが
1oad、 eeまたはll1tpr Ipsvに続
くならば、命令コントロールハードウェアはrr、 c
cを1サイクルだけ停止させ、実行ユニット内で空サイ
クルを強制する。
重コード更新ソー・・・スを許容し得る。rr、eeが
1oad、 eeまたはll1tpr Ipsvに続
くならば、命令コントロールハードウェアはrr、 c
cを1サイクルだけ停止させ、実行ユニット内で空サイ
クルを強制する。
レジスター・レジスター命令実行に対【7命令が実行さ
れると、 CC選択マルチプレクサ−はNext。
れると、 CC選択マルチプレクサ−はNext。
ccl/シスターがC1,Jrrent、eeレジスタ
ー・に条件付きでローディングされた状態で分岐条件コ
ードを与えるために、Next、eeレジスターを選択
する。
ー・に条件付きでローディングされた状態で分岐条件コ
ードを与えるために、Next、eeレジスターを選択
する。
Noxt、eeレジスターは、ah条件コード(rr、
ee)を設定する有効命令が現行実行されているなら
ば1、実行ユニットから更新される。ニットがあるなら
ば、Next、ee Iノジスクーは更新されない。も
しく条件コードを設定し得るか、又は設定できない)有
効命令が実行されているならば1、Current、e
eレジスターはNext、ee bシスターから更新さ
れる。
ee)を設定する有効命令が現行実行されているなら
ば1、実行ユニットから更新される。ニットがあるなら
ば、Next、ee Iノジスクーは更新されない。も
しく条件コードを設定し得るか、又は設定できない)有
効命令が実行されているならば1、Current、e
eレジスターはNext、ee bシスターから更新さ
れる。
全ての命令は実行ユニットにサイクルを割当てられるが
、リソース停止、命令キャッシュミスなどにより、全て
のサイクルが命令を実行(、ているわi、lではない。
、リソース停止、命令キャッシュミスなどにより、全て
のサイクルが命令を実行(、ているわi、lではない。
実行コ4ユツト内に有効命令がないならば、Curre
nt、ee又はNext、ecレジスターのいずれも更
新されない。ee選択マルチブ1ノクサーはNext、
eeレジスターを選択する。
nt、ee又はNext、ecレジスターのいずれも更
新されない。ee選択マルチブ1ノクサーはNext、
eeレジスターを選択する。
1oad、 ee命令に対l−てCC選択マルチプレク
サ−は、分岐条件を与えるためにNext、ee L/
シスターを選択し、Next、ecレジスターは1oa
d、 cc!ノジスクーから更新され、且っCurre
nt、eeレジスター・は1oaa eeL/eスタ
ーから条侑付きで更新される。
サ−は、分岐条件を与えるためにNext、ee L/
シスターを選択し、Next、ecレジスターは1oa
d、 cc!ノジスクーから更新され、且っCurre
nt、eeレジスター・は1oaa eeL/eスタ
ーから条侑付きで更新される。
1oad、 ee命令は、cc状態を指定するため(7
二追加のサイクルをとるので、実行ユニットにより追加
命令が実行された可能性がある。それ故に、条件コード
バイブライン先回りは、1oad eeレジスターが
1oad eeレジスターを介して、6条件コードパ
イプラインに条件コード状態を与える準備をした時、追
加命令が実行されたかど・うかの関数である。この履歴
は、IPSWのRビットに維持される。実行ユニットに
より追加命令が実行された場合(この命令は条件コード
を設定し、得ないことに注目) 、Currcnt、e
eレジスタ・−も又1oad−,=c、e L・シスタ
ーから更新される。この結果、Current、ee及
びNext、eeレジスターの両方が、1oad e
e [/シスターから更新されることになる。2つの命
令が実行されているので(load、 eeとその陰影
ン、条件コードバイブラインは−μ1oad、 ec条
件コードが利用可能になると、これを反映するために2
つだ(]先行されなければならない。追加命令が実行さ
れていないならば、Next、t:eレジスターのみが
1oad eelノジスターから更新される。
二追加のサイクルをとるので、実行ユニットにより追加
命令が実行された可能性がある。それ故に、条件コード
バイブライン先回りは、1oad eeレジスターが
1oad eeレジスターを介して、6条件コードパ
イプラインに条件コード状態を与える準備をした時、追
加命令が実行されたかど・うかの関数である。この履歴
は、IPSWのRビットに維持される。実行ユニットに
より追加命令が実行された場合(この命令は条件コード
を設定し、得ないことに注目) 、Currcnt、e
eレジスタ・−も又1oad−,=c、e L・シスタ
ーから更新される。この結果、Current、ee及
びNext、eeレジスターの両方が、1oad e
e [/シスターから更新されることになる。2つの命
令が実行されているので(load、 eeとその陰影
ン、条件コードバイブラインは−μ1oad、 ec条
件コードが利用可能になると、これを反映するために2
つだ(]先行されなければならない。追加命令が実行さ
れていないならば、Next、t:eレジスターのみが
1oad eelノジスターから更新される。
1tpr、 lpsw命令に対1〜て、ee選選択マ
ルチブレクー−CLirrOnj、ees及びNcxt
、ccレジスターがmtpr ipswレジスターか
ら無条件で更新された状態で分岐条件を与える様に、N
ext、ecレジスターを選択する。即ち、Curre
nt、eeレジスターはIPSWのCurrent、C
C部分から更新され、且っNexL、ccレジスターは
IPSWのNQXL、CC部分から更新される。eeバ
イブラインを重ね書きするために、ff1tpr、 I
psν命令が使用される。
ルチブレクー−CLirrOnj、ees及びNcxt
、ccレジスターがmtpr ipswレジスターか
ら無条件で更新された状態で分岐条件を与える様に、N
ext、ecレジスターを選択する。即ち、Curre
nt、eeレジスターはIPSWのCurrent、C
C部分から更新され、且っNexL、ccレジスターは
IPSWのNQXL、CC部分から更新される。eeバ
イブラインを重ね書きするために、ff1tpr、 I
psν命令が使用される。
mtpr、 Ipsv命令に対して、ec選択マルチプ
レクサ−はCurrent、ec及びNexL、e(H
レジスターがIPSW状態のztpr ipsν1/
シスターから無条件で更新された状態で、分岐条件を与
える様に、Current 、ecレジスターを選択す
る。即ち、current、ceレジスターは、IPS
WのCurrent、ce線部分ら更新され、且つNe
xt、eeレジスターはIPSWのNey+t、CC部
分から更新される。条件コードバイブラインを重ね書き
するために、+1ltpr。
レクサ−はCurrent、ec及びNexL、e(H
レジスターがIPSW状態のztpr ipsν1/
シスターから無条件で更新された状態で、分岐条件を与
える様に、Current 、ecレジスターを選択す
る。即ち、current、ceレジスターは、IPS
WのCurrent、ce線部分ら更新され、且つNe
xt、eeレジスターはIPSWのNey+t、CC部
分から更新される。条件コードバイブラインを重ね書き
するために、+1ltpr。
lpsw命令が使用される。
例外トラットエントリーで、条件コードバイプラ・イン
は、実行される最後の2つの命令の状態を反映する。命
令i−1及び1が実行される最後の2つの命令ならば、
Current、ccレジスターは命令i−1で更新さ
れた条件コード状態を反映し、且つNext、ccレジ
スターは、命令1で更新された条件コード状態を反映す
る。例外からの復帰の同条件コードバイブラインは先行
できなくなる。例外から復帰した後の最初の命令が実行
ユニットに到達するまで、条件コードパイプラインは先
行しない。これは、例外からの復帰に続く第2のサイク
ルに等しいことを示す。例外復帰からの第1のサイクル
の間、cc選択マルチプレクサ−は、Current、
CCレジスターを選択する。例外復帰からの第2のサイ
クルの間、cc選択マルチプレクサ−は、Next、c
cレジスターを選択する。第3のサイクルから、cc選
択マルチプレクサ−はNext、ccレジスターを選択
する。
は、実行される最後の2つの命令の状態を反映する。命
令i−1及び1が実行される最後の2つの命令ならば、
Current、ccレジスターは命令i−1で更新さ
れた条件コード状態を反映し、且つNext、ccレジ
スターは、命令1で更新された条件コード状態を反映す
る。例外からの復帰の同条件コードバイブラインは先行
できなくなる。例外から復帰した後の最初の命令が実行
ユニットに到達するまで、条件コードパイプラインは先
行しない。これは、例外からの復帰に続く第2のサイク
ルに等しいことを示す。例外復帰からの第1のサイクル
の間、cc選択マルチプレクサ−は、Current、
CCレジスターを選択する。例外復帰からの第2のサイ
クルの間、cc選択マルチプレクサ−は、Next、c
cレジスターを選択する。第3のサイクルから、cc選
択マルチプレクサ−はNext、ccレジスターを選択
する。
上記作用を示す条件表(第2ないし6表)は、以下の通
りである。
りである。
コード・シーケンス
1:rr、cc
1+1 : rr、 cc
1+2 : tyccond>tar11+3 : b
ccond〉tar2 第 表 RR/RR,cc命令実行9.。
ccond〉tar2 第 表 RR/RR,cc命令実行9.。
コード0シーケンス
f:rr、cc
1+1:rr
1+2 : bccond>tar1
1+8 : b−ccond〉tar2コードやシーケ
ンス i : 1oad、 cc 1+1 : rr 1+2 : bccond>tart 1+3 目yccond>tar2 第 表 第 表 例外作用、、。
ンス i : 1oad、 cc 1+1 : rr 1+2 : bccond>tart 1+3 目yccond>tar2 第 表 第 表 例外作用、、。
トラップ入口
例外作用、、。
トラップ出口
コード・シーケンス
1:rr、ee
14−1 : rr、 ce
1+2 : tyceond>tart1+3 : b
a−cond>tar2ここではトラップ 1及びi4□i完了8.。
a−cond>tar2ここではトラップ 1及びi4□i完了8.。
コード・シーケンス
l :
i+1=
1+2 : b〈Cond>tar1
1+3 : 障nd>tar2
復帰戊、6
条件表の定義は以下の通りである。
命令フェッチ(IF)
命令フェッチ段階には、命令キャッシュから次の命令を
フェッチする責任がある。このサイクルの間、IPがフ
ェッチされるべき後の命令の仮想PCアドレスを与えて
いる。
フェッチする責任がある。このサイクルの間、IPがフ
ェッチされるべき後の命令の仮想PCアドレスを与えて
いる。
オペランドフェッチ/命令デコード(OF)オペランド
フェッチ及び命令デコー ド段階は、命令をデコード1
.且つ必要なオペランド及びコントロールを実行ユニッ
トに送る責任がある。整数Lノジスターファイルオベラ
ンドは、この段階でフェッチされる。マクロ分岐命令に
対して、この段階はフェッチされるべき次の命令の分岐
ターゲットアドレス、又は次のシーケンシャルアドレス
を与える。
フェッチ及び命令デコー ド段階は、命令をデコード1
.且つ必要なオペランド及びコントロールを実行ユニッ
トに送る責任がある。整数Lノジスターファイルオベラ
ンドは、この段階でフェッチされる。マクロ分岐命令に
対して、この段階はフェッチされるべき次の命令の分岐
ターゲットアドレス、又は次のシーケンシャルアドレス
を与える。
命令実行(EX)
命令実行段階には、命令を実行する責任がある。
メモリー基準命令に対]2て、この段階は有効アドレス
を計算する。
を計算する。
書戻し実行結果(WE)
書戻し実行段階は、計算された実行ユニット結果を、整
数レジスターファイルに書戻ず。
数レジスターファイルに書戻ず。
データキャッシュアクセス(DE)
データキャッシュアクセス段階は、メモリー基準命令の
ためのデー、クキャッシュをアクセスする責任がある。
ためのデー、クキャッシュをアクセスする責任がある。
記憶動作のために、この段階はブタキャッシュにデータ
を送る。ロード動作のために、この段階はデータキャッ
シュからデータを受取る。メモリー基準命令のみがこの
段階を有する。
を送る。ロード動作のために、この段階はデータキャッ
シュからデータを受取る。メモリー基準命令のみがこの
段階を有する。
書房170−ド結果(WL)
書戻しロード結果段階は、整数レジスターファイルにロ
ードデータを書き込む責任がある。メモリー基準命令の
みがこの段階を有する。
ードデータを書き込む責任がある。メモリー基準命令の
みがこの段階を有する。
本発明に従っ゛Cプロセッサー内で実行されるべき命令
は、第3図のプログラムコントロールユニットブロック
図1.30のプログラム・カウンターソースバス(PC
5RC)152より与えられるアドレス信号のシーケン
スに従って、命令キPツシュ102、メモリー又は他の
命令記憶装置(図示せず)から与えられる。リード15
2上のアドレス信号は、プログラム番カウンター・マル
チプレクサ−134Aにより選択的に与えられ、それは
分岐選択論理エレメント158により与えられるコント
ロール信号により、種々のソースからプログラム・カウ
ンター信号を選択する。命令トラップ条件が呼び出され
ると、トラップアドレスがトラップユニット160によ
り与えられ、且つトラップ選択信号162により選択さ
れる。同様に分岐型信号1B4により、分岐選択論理1
58及びマルチプレクサ−184Aが、レジスターファ
イルAバート1、又は36ビツト加算器176のいずれ
かから信号を選択し得る。第2図の条件コードバイブラ
イン150は、分岐条件コードを分岐発生コントロール
論理174に与える。プログラム・カウンター・マルチ
プレクサ−134Aは、178上の変位と180上の減
分プログラム・カウンター信号との合計からの結果をア
ドレス上に与える加算器178からアドレス信号を選択
的に受取り、それは取られる分岐の先行場所に関連する
。さらなる例として、分岐を取った後プログラム拳カウ
ンターΦアドレスが、フェッチレジスター13Bにより
記憶され、且つ増分プログラム・カウンター信号をマル
チプレクサ−158に与える様に、命令レジスター・コ
ントロール信号を受取って加算器138により条件付き
で増分される。
は、第3図のプログラムコントロールユニットブロック
図1.30のプログラム・カウンターソースバス(PC
5RC)152より与えられるアドレス信号のシーケン
スに従って、命令キPツシュ102、メモリー又は他の
命令記憶装置(図示せず)から与えられる。リード15
2上のアドレス信号は、プログラム番カウンター・マル
チプレクサ−134Aにより選択的に与えられ、それは
分岐選択論理エレメント158により与えられるコント
ロール信号により、種々のソースからプログラム・カウ
ンター信号を選択する。命令トラップ条件が呼び出され
ると、トラップアドレスがトラップユニット160によ
り与えられ、且つトラップ選択信号162により選択さ
れる。同様に分岐型信号1B4により、分岐選択論理1
58及びマルチプレクサ−184Aが、レジスターファ
イルAバート1、又は36ビツト加算器176のいずれ
かから信号を選択し得る。第2図の条件コードバイブラ
イン150は、分岐条件コードを分岐発生コントロール
論理174に与える。プログラム・カウンター・マルチ
プレクサ−134Aは、178上の変位と180上の減
分プログラム・カウンター信号との合計からの結果をア
ドレス上に与える加算器178からアドレス信号を選択
的に受取り、それは取られる分岐の先行場所に関連する
。さらなる例として、分岐を取った後プログラム拳カウ
ンターΦアドレスが、フェッチレジスター13Bにより
記憶され、且つ増分プログラム・カウンター信号をマル
チプレクサ−158に与える様に、命令レジスター・コ
ントロール信号を受取って加算器138により条件付き
で増分される。
当業者によって成される代用及び変更は、本発明の範囲
内にある、例えば本発明によるプロセス内の介入段階の
付加、及び本発明による構造に例示される様な命令パイ
プライン内のレジスターの付加は、本発明の範囲内にあ
る。更に、分岐陰影命令を選択的に実行するために、こ
こに述べられた命令又はコードのフォーマットに対する
変更も又、本発明の範囲内にあると考えられ、特許請求
の範囲による以外は、限定されるべきではない。
内にある、例えば本発明によるプロセス内の介入段階の
付加、及び本発明による構造に例示される様な命令パイ
プライン内のレジスターの付加は、本発明の範囲内にあ
る。更に、分岐陰影命令を選択的に実行するために、こ
こに述べられた命令又はコードのフォーマットに対する
変更も又、本発明の範囲内にあると考えられ、特許請求
の範囲による以外は、限定されるべきではない。
第1図は、本発明に従った装置の一実施例のブロック図
である。 第2図は、第1図の実施例の条件コードバイブラインの
、より詳細な図である。 第3図は、第1図の実施例に従ったプロセスコントロー
ルユニットの、より詳細な図である。 フb/)′5ムコ兆n−)1ユニ・すに外1名 手続補正書 く方式〉 平成2年3月 ! 日
である。 第2図は、第1図の実施例の条件コードバイブラインの
、より詳細な図である。 第3図は、第1図の実施例に従ったプロセスコントロー
ルユニットの、より詳細な図である。 フb/)′5ムコ兆n−)1ユニ・すに外1名 手続補正書 く方式〉 平成2年3月 ! 日
Claims (3)
- (1)アドレス信号の選択的に与えられたシーケンスに
従って、シーケンスプログラム命令を与えるための手段
を備えるプログラム可能コンピューターであって、ここ
ではプログラム記憶手段内の選択された連続する場所が
、条件コードの変化を可能にする少なくとも1個のプロ
グラム命令を有する、シーケンスで実行されるべきプロ
グラム命令を含み、 前記連続するプログラム命令が、前記条件コードに影響
を及ぼす前記プログラム命令に続く少なくとも2つの場
所のオフセットを有する条件コード応答命令を更に含み
、 条件コード応答手段を含む、前記プログラム命令のシー
ケンスに従ってデータを処理するための手段を備え、こ
こでは前記連続するプログラム命令が、予め定められた
アドレスシーケンスと前記条件コード応答手段の状態と
に従って実行される、プログラム可能コンピューター。 - (2)命令のプログラム可能シーケンスを実行する方法
であって、 アドレス信号の選択的に与えられたシーケンスに従って
、プログラム命令のシーケンスを与える段階を備え、前
記プログラム命令のシーケンスが実行される時、条件コ
ードの状態を設定する少なくとも1個のプログラム命令
を備え、 前記条件コードに影響を及ぼす前記命令に続く少なくと
も2つの場所のオフセットを有する前記プログラム命令
のシーケンスで、条件コード応答命令を与える段階と、 アドレス信号の予め定められたシーケンスと前記条件コ
ードの状態とに従って、前記プログラム命令のシーケン
スを実行する段階とを備える方法。 - (3)コンピュータープログラムをコンパイルする方法
であって、 より高いレベルのプログラムコマンドに従って連続する
シーケンスでマシンコード命令を与える段階と、 前記連続するシーケンスで条件コードの状態を争うマシ
ンコード命令を与える段階と、 条件コードの状態をコントロールする前記マシンコード
命令に続く少なくとも2個のマシンコード命令のシーケ
ンシャルオフセットで、前記条件コードに応答するマシ
ンコード命令を与える段階とを備える方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US25934588A | 1988-10-18 | 1988-10-18 | |
| US259345 | 1988-10-18 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02224025A true JPH02224025A (ja) | 1990-09-06 |
| JP3120152B2 JP3120152B2 (ja) | 2000-12-25 |
Family
ID=22984558
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP01270136A Expired - Lifetime JP3120152B2 (ja) | 1988-10-18 | 1989-10-17 | コンピューターシステム |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5193157A (ja) |
| EP (1) | EP0365188B1 (ja) |
| JP (1) | JP3120152B2 (ja) |
| DE (1) | DE68927218T2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7516305B2 (en) | 1992-05-01 | 2009-04-07 | Seiko Epson Corporation | System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor |
| US7555631B2 (en) | 1991-07-08 | 2009-06-30 | Sanjiv Garg | RISC microprocessor architecture implementing multiple typed register sets |
| US7558945B2 (en) | 1992-12-31 | 2009-07-07 | Seiko Epson Corporation | System and method for register renaming |
| JP2013174942A (ja) * | 2012-02-23 | 2013-09-05 | Le Tekku:Kk | 複数のコンディションフラグを有するcpu |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2559868B2 (ja) * | 1990-01-06 | 1996-12-04 | 富士通株式会社 | 情報処理装置 |
| JPH03288228A (ja) * | 1990-04-04 | 1991-12-18 | Koufu Nippon Denki Kk | 情報処理装置 |
| JP2580396B2 (ja) * | 1991-01-31 | 1997-02-12 | 富士通株式会社 | パイプラインにおける分岐命令制御方式 |
| US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
| EP0550287A3 (en) * | 1992-01-02 | 1994-08-17 | Amdahl Corp | Computer system having high performance processing for program status word (psw) key-setting instructions |
| JPH0576148U (ja) * | 1992-03-13 | 1993-10-15 | 日本無線株式会社 | 携帯電話機用充電器 |
| WO1993020505A2 (en) * | 1992-03-31 | 1993-10-14 | Seiko Epson Corporation | Superscalar risc instruction scheduling |
| US5628021A (en) * | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
| JPH06266556A (ja) * | 1993-03-15 | 1994-09-22 | Fujitsu Ltd | データ処理装置 |
| JP3452655B2 (ja) * | 1993-09-27 | 2003-09-29 | 株式会社日立製作所 | ディジタル信号処理プロセッサおよびそれを用いて命令を実行する方法 |
| EP0650116B1 (en) * | 1993-10-21 | 1998-12-09 | Sun Microsystems, Inc. | Counterflow pipeline processor |
| DE69430352T2 (de) * | 1993-10-21 | 2003-01-30 | Sun Microsystems Inc., Mountain View | Gegenflusspipeline |
| US5815695A (en) * | 1993-10-28 | 1998-09-29 | Apple Computer, Inc. | Method and apparatus for using condition codes to nullify instructions based on results of previously-executed instructions on a computer processor |
| WO1996025705A1 (en) * | 1995-02-14 | 1996-08-22 | Fujitsu Limited | Structure and method for high-performance speculative execution processor providing special features |
| JPH08265405A (ja) * | 1995-03-28 | 1996-10-11 | Nec Corp | コードレス電話機の充電端子構造 |
| JPH0969047A (ja) | 1995-09-01 | 1997-03-11 | Sony Corp | Risc型マイクロプロセッサおよび情報処理装置 |
| US5761515A (en) * | 1996-03-14 | 1998-06-02 | International Business Machines Corporation | Branch on cache hit/miss for compiler-assisted miss delay tolerance |
| US5881277A (en) * | 1996-06-13 | 1999-03-09 | Texas Instruments Incorporated | Pipelined microprocessor with branch misprediction cache circuits, systems and methods |
| US5850553A (en) * | 1996-11-12 | 1998-12-15 | Hewlett-Packard Company | Reducing the number of executed branch instructions in a code sequence |
| US6862563B1 (en) | 1998-10-14 | 2005-03-01 | Arc International | Method and apparatus for managing the configuration and functionality of a semiconductor design |
| US7505974B2 (en) | 1999-02-12 | 2009-03-17 | Gropper Robert L | Auto update utility for digital address books |
| US6883000B1 (en) | 1999-02-12 | 2005-04-19 | Robert L. Gropper | Business card and contact management system |
| US6272618B1 (en) | 1999-03-25 | 2001-08-07 | Dell Usa, L.P. | System and method for handling interrupts in a multi-processor computer |
| EP1190303B1 (en) * | 1999-05-13 | 2003-12-17 | ARC International U.S. Holdings Inc. | Method and apparatus for jump control in a pipelined processor |
| US6560754B1 (en) | 1999-05-13 | 2003-05-06 | Arc International Plc | Method and apparatus for jump control in a pipelined processor |
| US6574728B1 (en) * | 1999-08-10 | 2003-06-03 | Cirrus Logic, Inc. | Condition code stack architecture systems and methods |
| US6820193B1 (en) * | 1999-12-17 | 2004-11-16 | Koninklijke Philips Electronics N.V. | Branch instructions with decoupled condition and address |
| WO2001069411A2 (en) | 2000-03-10 | 2001-09-20 | Arc International Plc | Memory interface and method of interfacing between functional entities |
| US7114063B1 (en) * | 2000-12-01 | 2006-09-26 | Unisys Corporation | Condition indicator for use by a conditional branch instruction |
| US7493470B1 (en) | 2001-12-07 | 2009-02-17 | Arc International, Plc | Processor apparatus and methods optimized for control applications |
| US7299343B2 (en) * | 2002-09-27 | 2007-11-20 | Verisilicon Holdings (Cayman Islands) Co. Ltd. | System and method for cooperative execution of multiple branching instructions in a processor |
| US9195460B1 (en) * | 2006-05-02 | 2015-11-24 | Nvidia Corporation | Using condition codes in the presence of non-numeric values |
| US8127113B1 (en) | 2006-12-01 | 2012-02-28 | Synopsys, Inc. | Generating hardware accelerators and processor offloads |
| US9952864B2 (en) * | 2009-12-23 | 2018-04-24 | Intel Corporation | System, apparatus, and method for supporting condition codes |
| US9652242B2 (en) * | 2012-05-02 | 2017-05-16 | Apple Inc. | Apparatus for predicate calculation in processor instruction set |
| US10713048B2 (en) * | 2017-01-19 | 2020-07-14 | International Business Machines Corporation | Conditional branch to an indirectly specified location |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3881173A (en) * | 1973-05-14 | 1975-04-29 | Amdahl Corp | Condition code determination and data processing |
| US4378589A (en) * | 1976-12-27 | 1983-03-29 | International Business Machines Corporation | Undirectional looped bus microcomputer architecture |
| US4484303A (en) * | 1979-06-19 | 1984-11-20 | Gould Inc. | Programmable controller |
| JPS6015745A (ja) * | 1983-07-06 | 1985-01-26 | Nec Corp | 情報処理装置 |
| US4578750A (en) * | 1983-08-24 | 1986-03-25 | Amdahl Corporation | Code determination using half-adder based operand comparator |
| US4764861A (en) * | 1984-02-08 | 1988-08-16 | Nec Corporation | Instruction fpefetching device with prediction of a branch destination for each branch count instruction |
| US5027315A (en) * | 1984-09-28 | 1991-06-25 | Advanced Micro Devices, Inc. | Programmable logic array using internally generated dynamic logic signals as selection signals for controlling its functions |
| US4791551A (en) * | 1985-02-11 | 1988-12-13 | Analog Devices, Inc. | Microprogrammable devices using transparent latch |
| US4794521A (en) * | 1985-07-22 | 1988-12-27 | Alliant Computer Systems Corporation | Digital computer with cache capable of concurrently handling multiple accesses from parallel processors |
| US4777587A (en) * | 1985-08-30 | 1988-10-11 | Advanced Micro Devices, Inc. | System for processing single-cycle branch instruction in a pipeline having relative, absolute, indirect and trap addresses |
| US4933897A (en) * | 1986-02-07 | 1990-06-12 | Advanced Micro Devices, Inc. | Method for designing a control sequencer |
| US4845659A (en) * | 1986-08-15 | 1989-07-04 | International Business Machines Corporation | Accelerated validity response permitting early issue of instructions dependent upon outcome of floating point operations |
| US4811211A (en) * | 1986-09-26 | 1989-03-07 | Performance Semiconductor Corporation | On-line overflow response system and ALU branching structure |
| US4967351A (en) * | 1986-10-17 | 1990-10-30 | Amdahl Corporation | Central processor architecture implementing deterministic early condition code analysis using digit based, subterm computation and selective subterm combination |
| US4914581A (en) * | 1987-10-26 | 1990-04-03 | Motorola, Inc. | Method and apparatus for explicitly evaluating conditions in a data processor |
| US4881194A (en) * | 1987-11-16 | 1989-11-14 | Intel Corporation | Stored-program controller for equalizing conditional branch delays |
| EP0365187A3 (en) * | 1988-10-18 | 1992-04-29 | Apollo Computer Inc. | Apparatus for selective execution of instructions following a branch instruction |
-
1989
- 1989-10-06 EP EP89310271A patent/EP0365188B1/en not_active Expired - Lifetime
- 1989-10-06 DE DE68927218T patent/DE68927218T2/de not_active Expired - Fee Related
- 1989-10-17 JP JP01270136A patent/JP3120152B2/ja not_active Expired - Lifetime
-
1991
- 1991-09-27 US US07/769,165 patent/US5193157A/en not_active Expired - Lifetime
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7555631B2 (en) | 1991-07-08 | 2009-06-30 | Sanjiv Garg | RISC microprocessor architecture implementing multiple typed register sets |
| US7516305B2 (en) | 1992-05-01 | 2009-04-07 | Seiko Epson Corporation | System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor |
| US7523296B2 (en) | 1992-05-01 | 2009-04-21 | Seiko Epson Corporation | System and method for handling exceptions and branch mispredictions in a superscalar microprocessor |
| US7558945B2 (en) | 1992-12-31 | 2009-07-07 | Seiko Epson Corporation | System and method for register renaming |
| JP2013174942A (ja) * | 2012-02-23 | 2013-09-05 | Le Tekku:Kk | 複数のコンディションフラグを有するcpu |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0365188A2 (en) | 1990-04-25 |
| EP0365188A3 (en) | 1992-04-29 |
| DE68927218T2 (de) | 1997-02-06 |
| EP0365188B1 (en) | 1996-09-18 |
| US5193157A (en) | 1993-03-09 |
| JP3120152B2 (ja) | 2000-12-25 |
| DE68927218D1 (de) | 1996-10-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3120152B2 (ja) | コンピューターシステム | |
| CA1212476A (en) | Data processing apparatus and method employing instruction flow prediction | |
| US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
| WO1990014629A2 (en) | Parallel multithreaded data processing system | |
| EP0357188B1 (en) | Pipelined processor | |
| US5905881A (en) | Delayed state writes for an instruction processor | |
| JP2002544588A (ja) | データ処理装置、ロード又は格納命令を実行する方法、及び、プログラムをコンパイルする方法 | |
| KR19980079506A (ko) | 멀티스레드 프로세서에서 스레드 스위치 대기 시간을 감소시키기 위한 방법 및 장치 | |
| JP2000330789A (ja) | コンピュータシステムおよびその命令実行方法 | |
| IE74215B1 (en) | Pipelined Processor | |
| JPS5831014B2 (ja) | 命令先取り装置 | |
| JPH06332697A (ja) | データ処理システム | |
| JPH02297630A (ja) | デイジタル・データ処理システム | |
| KR102458467B1 (ko) | 벡터 생성 명령 | |
| US6725365B1 (en) | Branching in a computer system | |
| US5867699A (en) | Instruction flow control for an instruction processor | |
| JPH0736848A (ja) | 情報処理装置および処理方法 | |
| EP1974254B1 (en) | Early conditional selection of an operand | |
| US5434986A (en) | Interdependency control of pipelined instruction processor using comparing result of two index registers of skip instruction and next sequential instruction | |
| US5634047A (en) | Method for executing branch instructions by processing loop end conditions in a second processor | |
| JP2004516571A (ja) | 資源を効率的に用いるハードウェア・ループ | |
| US4977496A (en) | Branching control system | |
| JPH06266556A (ja) | データ処理装置 | |
| JP3146058B2 (ja) | 並列処理型プロセッサシステムおよび並列処理型プロセッサシステムの制御方法 | |
| US5363490A (en) | Apparatus for and method of conditionally aborting an instruction within a pipelined architecture |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081020 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091020 Year of fee payment: 9 |
|
| EXPY | Cancellation because of completion of term |