JP2840444B2 - 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置 - Google Patents
算術パイプラインをオペレーティングする方法及びデータプロセッシング装置Info
- Publication number
- JP2840444B2 JP2840444B2 JP2505555A JP50555590A JP2840444B2 JP 2840444 B2 JP2840444 B2 JP 2840444B2 JP 2505555 A JP2505555 A JP 2505555A JP 50555590 A JP50555590 A JP 50555590A JP 2840444 B2 JP2840444 B2 JP 2840444B2
- Authority
- JP
- Japan
- Prior art keywords
- alu
- input
- operand
- output
- result
- 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
Links
- 238000000034 method Methods 0.000 title claims description 9
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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, look ahead
- G06F9/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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, look ahead
- G06F9/3824—Operand accessing
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
に関連し、特に、レジスタファイル更新アドレスがレジ
スタファイルアクセスアドレスに等しいときに、レジス
タファイルバイパスを用いる改良された速度及び効率の
中央処理装置(CPU)の算術/論理パイプラインに関す
る。
ットで見られ、それは算術/論理ユニット(ALU)に結
合された複数のレジスタからなり、そのレジスタは、浮
動小数点オペレーション、多種の制御オペレーション等
のような算術又は論理オペレーションのオペランド又は
結果を記憶するのに用いられる。レジスタファイルは高
速、高性能ランダムアクセスメモリ(RAM)のローカル
記憶装置又はキャッシュと考えてもよい。レジスタファ
イル内のレジスタの数が多いと、CPU自身の中に記憶さ
れているであろうデータの量も多い。従って、レジスタ
ファイルがより大きく作られると、典型的な遅いシステ
ムメモリには、オペランドを検索しALUオペレーション
の結果を記憶するようにさせるのに、より少ないアクセ
スが要求される。そのように、レジスタファイル及びAL
Uのオペレーションに関して達成された速度及び効率に
おけるいずれの改良も、CPUの全体的な速度及びプロセ
ッシングの効率への直接の影響を有する、ということが
理解される。
1つのCPU命令サイクルの間にアクセス(読み取り)さ
れ更新(書き込み)される。しかしながら、CPUサイク
ル時間が減らされると、レジスタにはALUオペレーショ
ンに対してアクセスされる十分な時間がなく、同じサイ
クルの間にALUオペレーションの結果がレジスタファイ
ルに書き戻される、という点で問題が発生する。この問
題に対する1つの解決法は、最初のCPUサイクル(サイ
クルN)の間にレジスタファイルをアクセスし、次の連
続するCPUサイクル(サイクルN+1)の間にレジスタ
ファイルを更新することである。
サイクルN+1の間にレジスタファイルに書き戻される
ために要求され、そしてまたサイクルN+1の間にオペ
ランドとして使用されることが要求されるような、これ
らの形式のCPU命令に対して、この解決法は問題を生じ
る。このような状態は、先行の第1の命令の実行が完了
される前に第2の命令が開始されるというように、命令
の実行がオーバーラップされているパイプライン化され
たCPUで発生する。
パイプラインの一部分をブロック図形式で示している。
MUX2は、CPUデータバスから第1の入力を、そしてALU4
の結果(R)出力から第2の入力を受信する。MUX2とAL
U4の間にレジスタファイル3が配置されている。レジス
タファイル3は、16、64、128、又は256レジスタの様
な、複数のレジスタからなる。多種のデータ経路のビッ
トの数(m)及び個々のレジスタの幅は、装置間で変化
し、通常は8乃至128ビットの範囲内である。レジスタ
ファイル3は、サイクルNの間に更新レジスタアドレス
を、サイクルN+1の間にアクセスレジスタアドレスを
受信する。更新アドレスはレジスタを選択するアドレス
であり、そのレジスタにはALU4の結果が書き込まれてい
る。アクセスアドレスは、Aポート又はBポートの何れ
か及びその後ALU4の対応する入力に読み出されるレジス
タを選択するアドレスである。ALUの結果(R)出力
は、レジスタファイル内のレジスタを更新するためにマ
ルチプレクサの入力に戻される。もちろん、ALUのR出
力は、典型的には、図1の単純化されたブロック図では
示されていない多数の他の回路にも送られる。
形式A+B=Bを有する第1の命令が示されている。即
ち、レジスタファイル位置B内に記憶されたオペランド
は、レジスタファイル位置B内に記憶されたオペランド
に加えられ、結果がレジスタファイル位置Bに書き戻し
(更新)される。次の命令は形式C+B=Dであり、オ
ペランドの1つ(B)は前の命令からの更新されたレジ
スタ内に含まれいる。この場合、オペレーションはCPU
内でパイプラインされ、そして互いにオーバーラップす
る状態で実行されるので、第1のオペレーションの結果
は、第2のオペレーションが開始された時には、レジス
タファイル内でまだ更新されていないかもしれない。例
によると、C+D=Dに後続される形式A+C=Cの命
令は、更新されるレジスタファイル位置(C)もまた第
2のパイプラインされた命令に対するオペランドとして
要求される、という点で同じ問題を提示する。
ァイル内で最初に更新されることなくすぐ後のパイプラ
インされたオペレーションの間にオペランドとして直接
的に提供される、改良されたCPU算術/論理パイプライ
ンを提供することである。
の位置を更新するためにALUの結果が要求されるサイク
ルの間にALUの結果がALUへの入力として要求されるとき
に、ローカルオペランド記憶装置をバイパスするための
回路、を含む改良されたCPU算術/論理パイプラインを
提供することである。
て次のオペレーションのためのオペランドを提供するた
めに同時にアクセスされるようにレジスタファイル位置
又は作業レジスタなどの記憶装置エレメントが要求され
るこれらの形式のオペレーションに対して、大幅な速度
の改良を提供する装置及び方法によって、前記の問題は
克服され本発明の目的は実現される。本発明はこのよう
な状況を検出し、最初に更新し次に続いて記憶装置エレ
メントにアクセスするために要求される更なる遅延を招
くことなく、前のオペレーションの出力を直接ALUに提
供するように働く。
とB出力とはそれぞれ関連のマルチプレクサに提供され
る。各マルチプレクサはALUからの結果を運ぶ更なる入
力としてバスを有する。マルチプレクサの出力は、ALU
の対応するA又はB入力に提供される。各マルチプレク
サは関連するレジスタファイルアドレスコンパレータに
よって制御される。アドレスコンパレータの各々は、入
力として、対応するレジスタファイルA及びBアクセス
アドレス及びレジスタ更新アドレスを有する。、アドレ
スコンパレータは、アクセスのために選択されたレジス
タファイルレジスタが更新のために選択されたレジスタ
ファイルレジスタと等しいかどうかを決定するように、
それらの関連するレジスタファイル更新アドレスとアク
セスアドレスとを比較する。もしこれら2つのアドレス
が等しいということが見いだされたならば、命令サイク
ルNの間のALUオペレーションの結果がサイクルN+1
の間のALUオペレーションのためのオペランドとして用
いられる、ということが示される。この状況が検出され
るとき、関連するアドレスコンパレータの出力は、対応
するマルチプレクサ選択入力がALUの結果を直接的にALU
の対応する入力にゲートすることを可能にし、それによ
って効率的にレジスタファイルをバイパスする。
の本発明の詳細な説明を読むとより明確にされる。
ブロック図である。
スタファイル位置を更新するために要求され、そしてま
た現在のALUオペレーションのためのオペランドとして
要求される形式を有する2つのパイプライン命令のグラ
フ的な説明図である。
パス回路を有するレジスタファイルを示す詳細なブロッ
ク図である。
スタファイルを背景にされる。しかしながら、本発明は
何れの実用的な深さ及び幅のレジスタファイルでも実施
でき、以下の特定の例によるオペレーションに制限する
ものではないことに留意されたい。
理装置(CPU)10の一部分を示すブロック図である。CPU
10は、これらの物に制限しないがマイクロプロセッサ、
マイクロコンピュータ及びメインフレームコンピュータ
を含む多数の異なる形式のハードウエア具体物において
実施され得る。例えばCPU10はVSタイプのコンピュー
タ、特定的にはマサチューセッツのローウェルのウォン
グラボラトリーズ社によって製造されているVS−8000コ
ンピュータで有り得る。CPU10は両方向バッファ12を通
じてマルチプレクサ(MUX)14の第1の入力に結合され
た32ビットデータバスDB00:31を含む。MUX14の第2の入
力は32ビットCバス(CB00:31)に結合されている。MUX
14を通じての結合のためのDB00:31又はCB00:31の選択
は、MUX14の選択(S)入力へのREG FILE SELECT入力に
よってなされる。選択された32ビットバスはMUX14の出
力に送られ、128×32レジスタファイル(REG FILE)16
として実施されているローカルオペランド記憶装置の入
力に提供される。REG FILE16はまた、アクセスされる
(読み取られる)REG FILE16内の128レジスタの特定の
ものを識別するために、入力として7ビットAアクセス
アドレスバス及び7ビットBアクセスバスを有する。RE
G FILE16はまた、更新される(書き込まれる)レジスタ
を識別するために、入力として7ビット更新アドレスバ
スを有する。更新アドレスバスはBアクセスバスの記録
又は遅延されたバージョンである。即ち、サイクルNの
間に、更新アドレスバスはBアクセスアドレスによって
サイクルN−1の間にアクセスされたレジスタを更新す
る。REG FILE16はまた、32ビットA出力及び32ビットB
出力を含む。A出力に現れるデータはAアクセスバスに
よってアドレス及びアクセスされ、そしてB出力に現れ
るデータはBアクセスバスによってアドレス及びアクセ
スされる。
テムでは、32ビットA及びB出力はALUに直接結合され
るであろう。しかしながら、そして本発明に従うと、RE
G FILE16の32ビットA出力及び32ビットB出力は代わり
にそれぞれ関連するMUX18及びMUX20に各々提供される。
MUX18及びMUX20各々は更なる入力CB00:31を有する。MUX
18の出力はALU22のA入力に提供され、MUX20の出力はAL
U22のB入力に提供される。MUX18及びMUX20はそれぞれ
関連するアドレスコンパレータ(ADDR COMP)24及び26
によって各々制御される。アドレスコンパレータ24及び
26の各々はREG FILE16アクセスアドレス及び更新アドレ
スに対応する入力を有する。アドレスコンパレータ24及
び26は、アクセスのために現在のサイクルの間に選択さ
れたREG FILE16のレジスタがこのサイクルの間に更新す
るために選択されたREG FILE16のレジスタと等しいかど
うかを決定するために、これらREG FILE16のアドレスを
比較する。もしこれら2つのアドレスが等しいと見いだ
されたならば、命令サイクルNの間のALUオペレーショ
ンの結果が次のサイクルN+1の間にALUオペレーショ
ンのためのオペランドとして用いられることが、示され
る。この状態が検出されるとき、関連するアドレスコン
パレータ24及び26の出力は、対応するマルチプレクサMU
X18又はMUX20選択の(S)入力がCB00:31のALU22の結果
を直接ALU22の対応する入力にゲートすることを可能に
し、それによって効果的にREG FILE16をバイパスする。
スと等しくなければ、MUX18及びMUX20へのS入力はアサ
ート(assert)されず、これらのマルチプレクサは代わ
りにREG FILE16の対応する出力をALU22のためのデータ
のソースとして選択する。例えば、オペレーションA+
D=Eが後に続くオペレーションA+B=Cは、第1の
命令の結果として第2の命令の何れのオペランド(A又
はD)も更新されないから、REG FILE16がバイパスされ
る結果とはならない。
の出力はラッチ28aへ、そしてラッチ28aからALUシフタ2
8へ提供される。シフタ28はシフト制御論理ブロック30
の制御のもとにある。ALUシフタ28は、もし要求された
ならば、ラッチされたALUの結果をその結果がCB00:31バ
スに提供される前に位置付けるように、従来の様式で動
作する。
ため及びB作業レジスタ(WR−B)34のためのバイパス
もまた提供される。この場合、作業レジスタは特定の算
術/論理オペレーションのために用いられる一時的レジ
スタである。本発明に従うと、作業レジスタの出力は関
連するマルチプレクサAMUX36又はBMUX38の入力に提供さ
れる。AMUX36及びBMUX38の両方への第2の入力は、シフ
タ28からALU22の結果を運ぶCB00:31バスである。マルチ
プレクサ36及び38の各々は関連するコンパレータ40及び
42の出力に結合された選択入力をそれぞれ有する。オペ
レーションのソースがWR−A32(ACCESS(アクセス)WR
A)であり、また、同じサイクルの間にWRA32がALU22か
ら更新されていることを、論理信号の状態が示すとき
に、コンパレータ40は、AMUX36がWR−A32出力の代わり
にCB00:31入力を選択するようにさせるように、出力を
生成する。コンパレータ42はデータをALU22のBポート
に提供するのと同じ形で動作する。従ってAMUX36及びコ
ンパレータ40のオペレーションは、REG FILE16について
前に説明されたのと類似の様式で、WR−A32が同じサイ
クルで更新及びアクセスされることを要求されることが
決定されたときに、WR−A32の周りに速いバイパスを提
供するように働く。同様にBMUX38及びコンパレータ42の
オペレーションは、WR−B34が同じサイクルで更新及び
アクセスされることを要求されることが決定されたとき
に、WR−B34の周りに速いバイパスを提供するように働
く。即ち、作業レジスタのうちの1つに対する更新信号
が作業レジスタに対するアクセス信号に関連してアサー
トされたかどうかを、本発明のこの面は検出し、そし
て、もしそうならば、作業レジスタはバイパスされ、AL
U22出力はALU22入力に結合され戻される。
される前記で説明されたケースについては、ALU22の結
果をもってのレジスタの更新はサイクル(N+1)の間
に好ましくなお発生する。しかしながら、ALU22は更新
されたデータが同時に与えられ、従ってREG FILE16又は
作業レジスタの更新されるのを待つことが要求されな
い。
PU命令サイクルクロック(CLK)と関連してCPU10のオペ
レーションに要求される多種の制御及びアドレス信号を
生成するために使用可能な、制御論理ブロック44を含
む。
置又は作業レジスタの様な記憶装置エレメントが、前の
オペレーションの結果で更新されそして次のオペレーシ
ョンのためのオペランドを提供するように同時にアクセ
スされることが要求されるこれらの形式のオペレーショ
ンに対して、大きな速度の改良を提供することが理解さ
れる。
明されたが、形式または詳細の変更は本発明の範囲と精
神から離れることなくその中でなされるであろうこと
が、当業者には理解されるであろう。
Claims (12)
- 【請求項1】オペランドを記憶するための複数の位置を
有するローカルのアドレス指定可能な記憶手段を含む形
式の算術パイプラインであって、前記パイプラインは、
前記記憶手段から別々にアクセスされ且つALU手段の出
力に結合された入力を有しておりオペランドへのオペレ
ーションの一時的な結果を記憶するための作業レジスタ
手段を含み、前記パイプラインは、前記記憶手段から又
は前記作業レジスタ手段から第1のオペランド及び第2
のオペランドを受けるための入力を有するALU手段を更
に備え、前記ALU手段は前記第1のオペランド及び前記
第2のオペランドに行われたオペレーションの結果を表
すための出力を有する、算術パイプラインをオペレーテ
ィングする方法において、 第1の時間間隔の間に、前記第1のオペランド及び前記
第2のオペランドを前記記憶手段から検索するように前
記記憶手段をアドレスするステップと、 前記記憶手段内への記憶のための結果又は前記作業レジ
スタ手段内への記憶のための一時的結果をALU手段の出
力で生成するように、前記第1のオペランド及び前記第
2のオペランドをそれぞれに前記ALU手段のA入力及び
B入力に加えるステップと、 第2の時間間隔の間に、次のオペレーションが、前記第
1の時間間隔の間に生成された前記結果又は前記一時的
結果を、第1のオペランド又は第2のオペランドの何れ
かのために要求するかどうかを判定するステップと、 もし前記第1の時間間隔の間に生成された前記結果又は
前記一時的結果が、前記第1のオペランド又は前記第2
のオペランドの何れかに対する次のオペレーションのた
めに要求されると判定されるならば、前記方法は、前記
ALU手段のA入力又はB入力の何れかを、前記記憶手段
から及び前記作業レジスタ手段から非結合とするステッ
プ及び前記ALU手段の出力を前記ALU手段のA入力又はB
入力の何れかに結合するステップを含む、ステップと、 を備える方法。 - 【請求項2】請求項1に記載の方法において、前記の第
2の時間間隔の間に判定するステップは、前記記憶手段
に関連した更新アドレスと前記記憶手段に関連したアク
セスアドレスとを比較し、前記の2つのアドレスが等し
いかどうかを検出する比較ステップを含む、方法。 - 【請求項3】請求項1に記載の方法において、前記の結
合するステップ及び非結合にするステップは、前記ALU
手段の結果を有する入力を、マルチプレクサ手段の出力
に結合するために、前記マルチプレクサ手段に結合され
た前記ALU結果を有する入力を選択するように該マルチ
プレクサ手段を活動化するステップであって、前記マル
チプレクサ手段の前記出力は前記ALU手段の入力に結合
されている、活動化ステップを含む、方法。 - 【請求項4】請求項1に記載の方法において、前記の第
2の時間間隔の間に判定するステップは、前記作業レジ
スタ手段に対する更新信号が前記作業レジスタ手段に対
するアクセス信号に関連してアサートされたかどうかを
検出するステップを含む、方法。 - 【請求項5】オペランドを記憶するための複数の位置を
有するローカルのアドレス指定可能な記憶手段を含む形
式の算術パイプラインを備えるデータブロセッシング装
置であって、前記パイプラインは、前記記憶手段から第
1のオペランド及び第2のオペランドを受けるための入
力を有するALU手段を更に備え、前記ALU手段は、前記第
1のオペランド及び前記第2のオペランドに行われたオ
ペレーションの結果を表すための出力を有する、データ
プロセッシング装置において、 オペランドへのオペレーションの一時的な結果を記憶す
るために前記記憶手段から別々にアクセスされる作業レ
ジスタ手段であって、前記ALU手段の前記出力に結合さ
れた入力と前記ALU手段の第1の入力に及び第2の入力
に結合された出力とを有する作業レジスタ手段と、 第1のオペランドと第2のオペランドとを前記記憶手段
から検索するように第1の時間間隔の間に前記記憶手段
をアドレスする手段と、 結果又は一時的結果をALU手段出力で生成するように、
前記第1のオペランド及び前記第2のオペランドをそれ
ぞれに前記ALU手段の前記第1の入力に及び前記第2の
入力に与える手段と、 前記ALU手段が前記第1の時間間隔の間に生成された前
記結果又は前記一時的結果を第1のオペランド又は第2
のオペランドの何れかのために要求するかどうかを第2
の時間間隔の間に判定する手段と、 前記判定する手段に結合され且つそれのオペレーション
に応答し、もし次のオペレーションが前記第1の時間間
隔の間に生成された前記結果又は前記一時的結果を前記
第1のオペランド又は前記第2のオペランドの何れかの
ために要求するならば前記ALU手段出力を前記ALU手段の
A入力又はB入力の何れかに結合するため及び前記ALU
手段のA入力又はB入力の何れかを前記記憶手段から及
び前記作業レジスタ手段から非結合とするための手段
と、 を備えるデータプロセッシング装置。 - 【請求項6】請求項5に記載のデータプロセッシング装
置において、前記判定する手段は、前記記憶手段に関連
した更新アドレスと前記記憶手段に関連したアクセスア
ドレスとを比較し、前記の2つのアドレスは等しいかど
うかを検出する比較器手段を備える、データプロセッシ
ング装置。 - 【請求項7】請求項5に記載のデータプロセッシング装
置において、前記結合する手段は、マルチプレクサ手段
の入力に結合された前記ALU手段出力を有する前記マル
チプレクサ手段であって、前記マルチプレクサ手段の出
力は前記ALU手段の入力の1つに結合されている、マル
チプレクサ手段を備える、データプロセッシング装置。 - 【請求項8】請求項5に記載のデータプロセッシング装
置において、前記判定する手段は、前記作業レジスタ手
段に対する更新信号が前記作業レジスタ手段に対するア
クセス信号に関連してアサートされたかどうかを検出す
るための手段を備える、データプロセッシング装置。 - 【請求項9】請求項5に記載のデータプロセッシング装
置において、前記記憶手段は、各々がmビットからなる
n個の位置として編成されたレジスタファイル手段から
なり、前記n個の位置のうちの特定のものは、レジスタ
ファイル更新アドレスによって及び/又はレジスタファ
イルアクセスアドレスによって指定される、データプロ
セッシング装置。 - 【請求項10】請求項5に記載のデータプロセッシング
装置において、前記記判定する手段は命令に関連するマ
イクロ命令の内容に応答する、データプロセッシング装
置。 - 【請求項11】請求項1に記載の方法において、前記作
業レジスタ手段は第1の作業レジスタ手段と第2の作業
レジスタ手段を含み、前記第1の作業レジスタ手段は前
記ALU手段の前記出力に結合された入力と前記ALU手段の
前記A入力に結合された出力とを有し、前記第2の作業
レジスタ手段は前記ALU手段の前記出力に結合された入
力と前記ALU手段の前記B入力に結合された出力とを有
する、方法。 - 【請求項12】請求項5に記載のデータプロセッシング
装置において、前記作業レジスタ手段は第1の作業レジ
スタ手段と第2の作業レジスタ手段を含み、前記第1の
作業レジスタ手段は前記ALU手段の前記出力に結合され
た入力と前記ALU手段の前記A入力に結合された出力と
を有し、前記第2の作業レジスタ手段は前記ALU手段の
前記出力に結合された入力と前記ALU手段の前記B入力
に結合された出力とを有する、データプロセッシング装
置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/405,794 US5123108A (en) | 1989-09-11 | 1989-09-11 | Improved cpu pipeline having register file bypass and working register bypass on update/access address compare |
US405,794 | 1989-09-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05503381A JPH05503381A (ja) | 1993-06-03 |
JP2840444B2 true JP2840444B2 (ja) | 1998-12-24 |
Family
ID=23605267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2505555A Expired - Lifetime JP2840444B2 (ja) | 1989-09-11 | 1990-03-28 | 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5123108A (ja) |
EP (1) | EP0491693B1 (ja) |
JP (1) | JP2840444B2 (ja) |
AU (1) | AU643432B2 (ja) |
CA (1) | CA2064819C (ja) |
DE (1) | DE69027932T2 (ja) |
WO (1) | WO1991003784A1 (ja) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0594546A (ja) * | 1991-02-05 | 1993-04-16 | American Teleph & Telegr Co <Att> | デジタルプロセツサ |
JPH04275628A (ja) * | 1991-03-01 | 1992-10-01 | Mitsubishi Electric Corp | 演算処理装置 |
JP2693651B2 (ja) * | 1991-04-30 | 1997-12-24 | 株式会社東芝 | 並列プロセッサー |
US5488729A (en) * | 1991-05-15 | 1996-01-30 | Ross Technology, Inc. | Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution |
JPH0520066A (ja) * | 1991-07-16 | 1993-01-29 | Mitsubishi Electric Corp | 並列計算機 |
JP2539974B2 (ja) * | 1991-11-20 | 1996-10-02 | 富士通株式会社 | 情報処理装置におけるレジスタの読出制御方式 |
EP0628912B1 (en) * | 1992-02-28 | 2001-10-04 | Oki Electric Industry Company, Limited | Cache memory apparatus |
JPH0612107A (ja) * | 1992-06-02 | 1994-01-21 | Mitsubishi Electric Corp | シーケンス演算プロセッサおよびシーケンス演算処理装置 |
AU4219693A (en) * | 1992-09-30 | 1994-04-14 | Apple Computer, Inc. | Inter-task buffer and connections |
EP0650116B1 (en) * | 1993-10-21 | 1998-12-09 | Sun Microsystems, Inc. | Counterflow pipeline processor |
US5704052A (en) * | 1994-11-06 | 1997-12-30 | Unisys Corporation | Bit processing unit for performing complex logical operations within a single clock cycle |
US5870581A (en) * | 1996-12-20 | 1999-02-09 | Oak Technology, Inc. | Method and apparatus for performing concurrent write operations to a single-write-input register file and an accumulator register |
US5799163A (en) * | 1997-03-04 | 1998-08-25 | Samsung Electronics Co., Ltd. | Opportunistic operand forwarding to minimize register file read ports |
US5996065A (en) * | 1997-03-31 | 1999-11-30 | Intel Corporation | Apparatus for bypassing intermediate results from a pipelined floating point unit to multiple successive instructions |
US5872986A (en) * | 1997-09-30 | 1999-02-16 | Intel Corporation | Pre-arbitrated bypassing in a speculative execution microprocessor |
US6131108A (en) * | 1998-03-31 | 2000-10-10 | Lsi Logic Corporation | Apparatus, and associated method, for generating multi-bit length sequences |
US6088784A (en) * | 1999-03-30 | 2000-07-11 | Sandcraft, Inc. | Processor with multiple execution units and local and global register bypasses |
EP1124181B8 (en) * | 2000-02-09 | 2012-03-21 | Texas Instruments Incorporated | Data processing apparatus |
US7206927B2 (en) * | 2002-11-19 | 2007-04-17 | Analog Devices, Inc. | Pipelined processor method and circuit with interleaving of iterative operations |
US20040249782A1 (en) * | 2003-06-04 | 2004-12-09 | International Business Machines Corporation | Method and system for highly efficient database bitmap index processing |
EP2996035A1 (en) | 2008-10-15 | 2016-03-16 | Hyperion Core, Inc. | Data processing device |
US20190377580A1 (en) * | 2008-10-15 | 2019-12-12 | Hyperion Core Inc. | Execution of instructions based on processor and data availability |
TWI607375B (zh) * | 2012-11-05 | 2017-12-01 | 義隆電子股份有限公司 | 提升處理器之數值比較效能方法及應用在電子裝置進行數值比較的處理器 |
US9569214B2 (en) * | 2012-12-27 | 2017-02-14 | Nvidia Corporation | Execution pipeline data forwarding |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4594682A (en) * | 1982-12-22 | 1986-06-10 | Ibm Corporation | Vector processing |
GB8401807D0 (en) * | 1984-01-24 | 1984-02-29 | Int Computers Ltd | Pipelined data processing apparatus |
AU553416B2 (en) * | 1984-02-24 | 1986-07-17 | Fujitsu Limited | Pipeline processing |
JPS6386033A (ja) * | 1986-09-30 | 1988-04-16 | Fujitsu Ltd | パイプライン処理方式 |
JPH0810430B2 (ja) * | 1986-11-28 | 1996-01-31 | 株式会社日立製作所 | 情報処理装置 |
US4901267A (en) * | 1988-03-14 | 1990-02-13 | Weitek Corporation | Floating point circuit with configurable number of multiplier cycles and variable divide cycle ratio |
-
1989
- 1989-09-11 US US07/405,794 patent/US5123108A/en not_active Expired - Lifetime
-
1990
- 1990-03-28 JP JP2505555A patent/JP2840444B2/ja not_active Expired - Lifetime
- 1990-03-28 EP EP90905845A patent/EP0491693B1/en not_active Expired - Lifetime
- 1990-03-28 AU AU53539/90A patent/AU643432B2/en not_active Ceased
- 1990-03-28 CA CA002064819A patent/CA2064819C/en not_active Expired - Lifetime
- 1990-03-28 DE DE69027932T patent/DE69027932T2/de not_active Expired - Fee Related
- 1990-03-28 WO PCT/US1990/001643 patent/WO1991003784A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
EP0491693B1 (en) | 1996-07-24 |
AU5353990A (en) | 1991-04-08 |
DE69027932T2 (de) | 1997-02-27 |
WO1991003784A1 (en) | 1991-03-21 |
JPH05503381A (ja) | 1993-06-03 |
DE69027932D1 (de) | 1996-08-29 |
CA2064819A1 (en) | 1991-03-12 |
US5123108A (en) | 1992-06-16 |
CA2064819C (en) | 2000-02-08 |
EP0491693A1 (en) | 1992-07-01 |
AU643432B2 (en) | 1993-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2840444B2 (ja) | 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置 | |
US6233670B1 (en) | Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing | |
US4734852A (en) | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor | |
US4187539A (en) | Pipelined data processing system with centralized microprogram control | |
US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
US5204953A (en) | One clock address pipelining in segmentation unit | |
US4701844A (en) | Dual cache for independent prefetch and execution units | |
US4961162A (en) | Multiprocessing system for performing floating point arithmetic operations | |
US6343337B1 (en) | Wide shifting in the vector permute unit | |
JPH04309131A (ja) | 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置 | |
US5696939A (en) | Apparatus and method using a semaphore buffer for semaphore instructions | |
JPH05100948A (ja) | 2乗演算を実行する速度改良型データ処理システム及びその方法 | |
US5717909A (en) | Code breakpoint decoder | |
US6178500B1 (en) | Vector packing and saturation detection in the vector permute unit | |
JPH0748187B2 (ja) | レジスタ間接モードを用いる汎用メモリ・アクセス方法およびコンピュータ・システム | |
US5276822A (en) | System with enhanced execution of address-conflicting instructions using immediate data latch for holding immediate data of a preceding instruction | |
US5526500A (en) | System for operand bypassing to allow a one and one-half cycle cache memory access time for sequential load and branch instructions | |
US6161171A (en) | Apparatus for pipelining sequential instructions in synchronism with an operation clock | |
KR100974401B1 (ko) | 주소 레지스터의 내용을 스와핑하기 위한 방법 및 장치 | |
US5928357A (en) | Circuitry and method for performing branching without pipeline delay | |
US5732005A (en) | Single-precision, floating-point register array for floating-point units performing double-precision operations by emulation | |
US5504870A (en) | Branch prediction device enabling simultaneous access to a content-addressed memory for retrieval and registration | |
US4853889A (en) | Arrangement and method for speeding the operation of branch instructions | |
US7191432B2 (en) | High frequency compound instruction mechanism and method for a compare operation in an arithmetic logic unit | |
JPH0814791B2 (ja) | 処理システム |
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: 20071016 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081016 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091016 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091016 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101016 Year of fee payment: 12 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101016 Year of fee payment: 12 |