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
Application number
JP2505555A
Other languages
English (en)
Other versions
JPH05503381A (ja
Inventor
オルソン,スティーヴン・ダブリュー
マクドナルド,ジェームズ・ビー
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.)
ERU JII SEMIKON CO Ltd
Original Assignee
ERU JII SEMIKON CO 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 ERU JII SEMIKON CO Ltd filed Critical ERU JII SEMIKON CO Ltd
Publication of JPH05503381A publication Critical patent/JPH05503381A/ja
Application granted granted Critical
Publication of JP2840444B2 publication Critical patent/JP2840444B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • 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, look ahead
    • G06F9/3824Operand 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の間に生成される結果が、
サイクルN+1の間にレジスタファイルに書き戻される
ために要求され、そしてまたサイクルN+1の間にオペ
ランドとして使用されることが要求されるような、これ
らの形式のCPU命令に対して、この解決法は問題を生じ
る。このような状態は、先行の第1の命令の実行が完了
される前に第2の命令が開始されるというように、命令
の実行がオーバーラップされているパイプライン化され
たCPUで発生する。
図1aはマルチプレクサ(MUX)2を有する従来のCPU1
パイプラインの一部分をブロック図形式で示している。
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の単純化されたブロック図では
示されていない多数の他の回路にも送られる。
この従来のシステムに従いそして図1bを参照すると、
形式A+B=Bを有する第1の命令が示されている。即
ち、レジスタファイル位置B内に記憶されたオペランド
は、レジスタファイル位置B内に記憶されたオペランド
に加えられ、結果がレジスタファイル位置Bに書き戻し
(更新)される。次の命令は形式C+B=Dであり、オ
ペランドの1つ(B)は前の命令からの更新されたレジ
スタ内に含まれいる。この場合、オペレーションはCPU
内でパイプラインされ、そして互いにオーバーラップす
る状態で実行されるので、第1のオペレーションの結果
は、第2のオペレーションが開始された時には、レジス
タファイル内でまだ更新されていないかもしれない。例
によると、C+D=Dに後続される形式A+C=Cの命
令は、更新されるレジスタファイル位置(C)もまた第
2のパイプラインされた命令に対するオペランドとして
要求される、という点で同じ問題を提示する。
従って、本発明の目的は、ALUの結果が、レジスタフ
ァイル内で最初に更新されることなくすぐ後のパイプラ
インされたオペレーションの間にオペランドとして直接
的に提供される、改良されたCPU算術/論理パイプライ
ンを提供することである。
本発明の他の目的は、ローカルオペランド記憶装置内
の位置を更新するためにALUの結果が要求されるサイク
ルの間にALUの結果がALUへの入力として要求されるとき
に、ローカルオペランド記憶装置をバイパスするための
回路、を含む改良されたCPU算術/論理パイプラインを
提供することである。
本発明の概要 前のオペレーションの結果で更新されるように、そし
て次のオペレーションのためのオペランドを提供するた
めに同時にアクセスされるようにレジスタファイル位置
又は作業レジスタなどの記憶装置エレメントが要求され
るこれらの形式のオペレーションに対して、大幅な速度
の改良を提供する装置及び方法によって、前記の問題は
克服され本発明の目的は実現される。本発明はこのよう
な状況を検出し、最初に更新し次に続いて記憶装置エレ
メントにアクセスするために要求される更なる遅延を招
くことなく、前のオペレーションの出力を直接ALUに提
供するように働く。
特定の一実施例に従うと、レジスタファイルのA出力
とB出力とはそれぞれ関連のマルチプレクサに提供され
る。各マルチプレクサはALUからの結果を運ぶ更なる入
力としてバスを有する。マルチプレクサの出力は、ALU
の対応するA又はB入力に提供される。各マルチプレク
サは関連するレジスタファイルアドレスコンパレータに
よって制御される。アドレスコンパレータの各々は、入
力として、対応するレジスタファイルA及びBアクセス
アドレス及びレジスタ更新アドレスを有する。、アドレ
スコンパレータは、アクセスのために選択されたレジス
タファイルレジスタが更新のために選択されたレジスタ
ファイルレジスタと等しいかどうかを決定するように、
それらの関連するレジスタファイル更新アドレスとアク
セスアドレスとを比較する。もしこれら2つのアドレス
が等しいということが見いだされたならば、命令サイク
ルNの間のALUオペレーションの結果がサイクルN+1
の間のALUオペレーションのためのオペランドとして用
いられる、ということが示される。この状況が検出され
るとき、関連するアドレスコンパレータの出力は、対応
するマルチプレクサ選択入力がALUの結果を直接的にALU
の対応する入力にゲートすることを可能にし、それによ
って効率的にレジスタファイルをバイパスする。
図面の簡単な説明 前記及び他の本発明の特徴は添付の図面と関連して次
の本発明の詳細な説明を読むとより明確にされる。
図1aは、従来のレジスタファイル/ALU相互連結を示す
ブロック図である。
図1bは、サイクルN+1の間に前のALUの結果がレジ
スタファイル位置を更新するために要求され、そしてま
た現在のALUオペレーションのためのオペランドとして
要求される形式を有する2つのパイプライン命令のグラ
フ的な説明図である。
図2は、本発明に従って構成されそして動作するバイ
パス回路を有するレジスタファイルを示す詳細なブロッ
ク図である。
本発明の詳細な説明 次の説明は各32ビット幅の128レジスタを有するレジ
スタファイルを背景にされる。しかしながら、本発明は
何れの実用的な深さ及び幅のレジスタファイルでも実施
でき、以下の特定の例によるオペレーションに制限する
ものではないことに留意されたい。
図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アクセスバスによってアドレス及びアクセ
スされる。
図1aで示されるようなシステムのような、従来のシス
テムでは、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をバイパスする。
もし更新アドレスが対応するA又はBアクセスアドレ
スと等しくなければ、MUX18及びMUX20へのS入力はアサ
ート(assert)されず、これらのマルチプレクサは代わ
りにREG FILE16の対応する出力をALU22のためのデータ
のソースとして選択する。例えば、オペレーションA+
D=Eが後に続くオペレーションA+B=Cは、第1の
命令の結果として第2の命令の何れのオペランド(A又
はD)も更新されないから、REG FILE16がバイパスされ
る結果とはならない。
図2に示されたCPU10の部分の説明を続けると、ALU22
の出力はラッチ28aへ、そしてラッチ28aからALUシフタ2
8へ提供される。シフタ28はシフト制御論理ブロック30
の制御のもとにある。ALUシフタ28は、もし要求された
ならば、ラッチされたALUの結果をその結果がCB00:31バ
スに提供される前に位置付けるように、従来の様式で動
作する。
更に本発明に従うと、A作業レジスタ(WR−A)32の
ため及び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入力に結合され戻される。
REG FILE16又は作業レジスタのうちの1つがバイパス
される前記で説明されたケースについては、ALU22の結
果をもってのレジスタの更新はサイクル(N+1)の間
に好ましくなお発生する。しかしながら、ALU22は更新
されたデータが同時に与えられ、従ってREG FILE16又は
作業レジスタの更新されるのを待つことが要求されな
い。
CPU10は更に、マイクロ命令を復号するため、そしてC
PU命令サイクルクロック(CLK)と関連してCPU10のオペ
レーションに要求される多種の制御及びアドレス信号を
生成するために使用可能な、制御論理ブロック44を含
む。
前記の説明に従うと、本発明は、レジスタファイル位
置又は作業レジスタの様な記憶装置エレメントが、前の
オペレーションの結果で更新されそして次のオペレーシ
ョンのためのオペランドを提供するように同時にアクセ
スされることが要求されるこれらの形式のオペレーショ
ンに対して、大きな速度の改良を提供することが理解さ
れる。
本発明は、好ましい実施例に関して特定的に示され説
明されたが、形式または詳細の変更は本発明の範囲と精
神から離れることなくその中でなされるであろうこと
が、当業者には理解されるであろう。
フロントページの続き (56)参考文献 特開 昭63−86033(JP,A) 特開 昭63−136138(JP,A) 特開 昭60−178539(JP,A) 特開 昭60−178540(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 9/38

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項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. 【請求項2】請求項1に記載の方法において、前記の第
    2の時間間隔の間に判定するステップは、前記記憶手段
    に関連した更新アドレスと前記記憶手段に関連したアク
    セスアドレスとを比較し、前記の2つのアドレスが等し
    いかどうかを検出する比較ステップを含む、方法。
  3. 【請求項3】請求項1に記載の方法において、前記の結
    合するステップ及び非結合にするステップは、前記ALU
    手段の結果を有する入力を、マルチプレクサ手段の出力
    に結合するために、前記マルチプレクサ手段に結合され
    た前記ALU結果を有する入力を選択するように該マルチ
    プレクサ手段を活動化するステップであって、前記マル
    チプレクサ手段の前記出力は前記ALU手段の入力に結合
    されている、活動化ステップを含む、方法。
  4. 【請求項4】請求項1に記載の方法において、前記の第
    2の時間間隔の間に判定するステップは、前記作業レジ
    スタ手段に対する更新信号が前記作業レジスタ手段に対
    するアクセス信号に関連してアサートされたかどうかを
    検出するステップを含む、方法。
  5. 【請求項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. 【請求項6】請求項5に記載のデータプロセッシング装
    置において、前記判定する手段は、前記記憶手段に関連
    した更新アドレスと前記記憶手段に関連したアクセスア
    ドレスとを比較し、前記の2つのアドレスは等しいかど
    うかを検出する比較器手段を備える、データプロセッシ
    ング装置。
  7. 【請求項7】請求項5に記載のデータプロセッシング装
    置において、前記結合する手段は、マルチプレクサ手段
    の入力に結合された前記ALU手段出力を有する前記マル
    チプレクサ手段であって、前記マルチプレクサ手段の出
    力は前記ALU手段の入力の1つに結合されている、マル
    チプレクサ手段を備える、データプロセッシング装置。
  8. 【請求項8】請求項5に記載のデータプロセッシング装
    置において、前記判定する手段は、前記作業レジスタ手
    段に対する更新信号が前記作業レジスタ手段に対するア
    クセス信号に関連してアサートされたかどうかを検出す
    るための手段を備える、データプロセッシング装置。
  9. 【請求項9】請求項5に記載のデータプロセッシング装
    置において、前記記憶手段は、各々がmビットからなる
    n個の位置として編成されたレジスタファイル手段から
    なり、前記n個の位置のうちの特定のものは、レジスタ
    ファイル更新アドレスによって及び/又はレジスタファ
    イルアクセスアドレスによって指定される、データプロ
    セッシング装置。
  10. 【請求項10】請求項5に記載のデータプロセッシング
    装置において、前記記判定する手段は命令に関連するマ
    イクロ命令の内容に応答する、データプロセッシング装
    置。
  11. 【請求項11】請求項1に記載の方法において、前記作
    業レジスタ手段は第1の作業レジスタ手段と第2の作業
    レジスタ手段を含み、前記第1の作業レジスタ手段は前
    記ALU手段の前記出力に結合された入力と前記ALU手段の
    前記A入力に結合された出力とを有し、前記第2の作業
    レジスタ手段は前記ALU手段の前記出力に結合された入
    力と前記ALU手段の前記B入力に結合された出力とを有
    する、方法。
  12. 【請求項12】請求項5に記載のデータプロセッシング
    装置において、前記作業レジスタ手段は第1の作業レジ
    スタ手段と第2の作業レジスタ手段を含み、前記第1の
    作業レジスタ手段は前記ALU手段の前記出力に結合され
    た入力と前記ALU手段の前記A入力に結合された出力と
    を有し、前記第2の作業レジスタ手段は前記ALU手段の
    前記出力に結合された入力と前記ALU手段の前記B入力
    に結合された出力とを有する、データプロセッシング装
    置。
JP2505555A 1989-09-11 1990-03-28 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置 Expired - Lifetime JP2840444B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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