JPH05503381A - 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置 - Google Patents

算術パイプラインをオペレーティングする方法及びデータプロセッシング装置

Info

Publication number
JPH05503381A
JPH05503381A JP2505555A JP50555590A JPH05503381A JP H05503381 A JPH05503381 A JP H05503381A JP 2505555 A JP2505555 A JP 2505555A JP 50555590 A JP50555590 A JP 50555590A JP H05503381 A JPH05503381 A JP H05503381A
Authority
JP
Japan
Prior art keywords
operand
alu
input
storage device
output
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
Application number
JP2505555A
Other languages
English (en)
Other versions
JP2840444B2 (ja
Inventor
オルソン,スティーヴン・ダブリュー
マクドナルド,ジェームズ・ビー
Original Assignee
エルジー・セミコン・カンパニー・リミテッド
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 エルジー・セミコン・カンパニー・リミテッド filed Critical エルジー・セミコン・カンパニー・リミテッド
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

Abstract

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

Description

【発明の詳細な説明】 更新/アクセスアドレス比較において レジスタファイルバイパスを有する改良されたCPUパイプライン発明の分野 本発明は一般にデータプロセッシングの装置及び方法に関連し、特に、レジスタ ファイル更新アドレスがレジスタファイルアクセスアドレスに等しいときに、レ ジスタファイルバイパスを用いる改良された速度及び効率の中央処理装置(CP U)の算術/論理パイプラインに関する。
本発明の背景 レジスタファイルは多くのデータプロセッシングユニットで見られ、それは算術 /論理ユニット(ALU)に結合された複数のレジスタからなり、そのIノジス タは、浮動小数点オベレー・ノヨン、多種の制御オペレーション等のような算術 又は論理オペレーションのオペランド又は結果を記憶するのに用いられる。レジ スタファイルは高速、高性能ランダムアクセスメモリ(RAM)のローカル記憶 装置又はキャッシュと考えてもよい。レジスタファイル内のレジスタの数が多い と、CPU自身の中に記憶されているであろうデータの量も多い。従って、レジ スタファイルがより大きく作られると、典型的な遅いシステムメモリには、オペ ランドを検索しALUオペレーションの結果を記憶するようにさせるのに、より 少ないアクセスが要求される。そのように、レジスタファイル及びALUのオペ レーションに関して達成された速度及び効率におけるいずれの改良も、CPUの 全体的な速度及びプロセッシングの効率への直接の影響を有する、ということが 理解される。
いくつかの形式のシステムでは、レジスタファイルは1つのCPU命令サイクル の間にアクセス(読み取り)され更新(書き込み)される。しかしながら、CP Uサイクル時間が減らされると、レジスタにはALUオペレーションに対してア クセスされる十分な時間がなく、同じサイクルの間にALUオペレーションの結 果がレジスタファイルに書き戻される、という点で問題が発生する。この問題に 対する1つの解決法は、最初のCPUサイクル(サイクルN)の間にレジスタフ ァイルをアクセスし、次の連続するCPUサイクル(サイクルN+1)の開にレ ジスタファイルを更新することである。
しかしながら、サイクルNの間に生成される結果が、サイクルN+1の間にレジ スタファイルに書き戻されるために要求され、そしてまたサイクルN+1の間に オペランドとして使用されることが要求されるような、これらの形式のCPU命 令に対して、この解決法は問題を生じる。このような状態は、先行の第1の命令 の実行が完了される前に第2の命令が開始されるというように、命令の実行がオ ーバーラツプされているパイプライン化されたCPUで発生する。
Eiolaはマルチプレクサ(MUX)2を有する従来のCPUIパイプライン の一部分をブロック図形式で示している。MUX2は、CPUデータバスから第 1 。
の入力を、そしてALU4の結果(R)出力から第2の入力を受信する。MUX 2とALU4の間にレジスタファイル3が配置されている。レジスタファイル3 は、16.64.128、又は256レジスタの様な、複数のレジスタからなる 。
多種のデータ経路のビットの数(m)及び個々のレジスタの幅は、装置間で変化 し、通常は8乃至128ビツトの範囲内である。レジスタファイル3は、サイク ルNの間に更新レジスタアドレスを、サイクルN+1の間にアクセスレジスタア ドレスを受信する。更新アドレスはレジスタを選択するアドレスであり、そのレ ジスタにはALU4の結果が書き込まれている。アクセスアドレスは、Aボート 又はBポートの何れか及びその後ALU4の対応する入力に読み出されるレジス タを選択するアドレスである。ALUの結果(R)出力は、レジスタファイル内 のレジスタを更新するためにマルチプレクサの入力に戻される。もちろん、AL Uの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算術/論理パイプラインを提供するこ とである。
本発明の他の目的は、ローカルオペランド記憶装置内の位置を更新するためにA LUの結果が要求されるサイクルの間にALUの結果がALUへの入力として要 求されるときに、ローカルオペランド記憶装置をバイパスするための回路、を含 む改良されたCPU算術/論理パイプラインを提供することである。
本発明の概要 前のオペレーションの結果で更新されるように、そして次のオペレーションのた めのオペランドを提供するために同時にアクセスされるようにレジスタファイル 位置又は作業レジスタなどの記憶装置エレメントが要求されるこれらの形式のオ ペレーションに対して、大幅な速度の改良を提供する装置及び方法によって、前 記の問題は克服され本発明の目的は実現される。本発明はこのような状況を検出 し、最初に更新し次に続いて記憶装置エレメントにアクセスするために要求され る更なる遅延を招(ことな(、前のオペレーションの出力を直接ALUに提供す るように働く。
特定の一実施例に従うと、レジスタファイルのA出力とB出力とはそれぞれ関連 のマルチプレクサに提供される。各マルチプレクサはALUからの結果を運ぶ更 なる入力としてバスを有する。マルチプレクサの出力は、ALUの対応するA又 はS入力に提供される。各マルチプレクサは関連するレジスタファイルアドレス コンパレータによって制御される。アドレスコンパレータの各々は、入力として 、対応するレジスタファイルA及びBアクセスアドレス及びレジスタ更新アドレ スを有する。、アドレスコンパレータは、アクセスのために選択されたレジスタ ファイルレジスタが更新のために選択されたレジスタファイルレジスタと等しい かどうかを決定するように、それらの関連するレジスタファイル更新アドレスと アクセスアドレスとを比較する。もしこれら2つのアドレスが等しいということ が見いだされたならば、命令サイクルNの間のALUオペレーションの結果がサ イクルN+1の間のALUオペレーションのためのオペランドとして用いられる 、ということが示される。この状況が検出されるとき、関連するアドレスコンパ レータの出力は、対応するマルチプレクサ選択入力がALUの結果を直接的にA LUの対応する入力にゲートすることを可能にし、それによって効率的にレジス タファイルをバイパスする。
図面の簡単な説明 前記及び他の本発明の特徴は添付の図面と関連して次の本発明の詳細な説明を読 むとより明確にされる。
図1aは、従来のレジスタファイル/ALU相互連結を示すブロック図である。
図1bは、サイクルN+1の間に前のALUの結果がレジスタファイル位置を更 新するために要求され、そしてまた現在のALUオペレーションのためのオペラ ンドとして要求される形式を有する2つのパイプライン命令のグラフ的な説明図 である。
図2は、本発明に従って構成されそして動作するバイパス回路を有するレジスタ ファイルを示す詳細なブロック図である。
本発明の詳細な説明 次の説明は各32ビット幅の128レジスタを有するレジスタファイルを背景に される。しかしながら、本発明は何れの実用的な深さ及び幅のレジスタファイル でも実施でき、以下の特定の例によるオペレーションに制限するものではないこ とに留意されたい。
図2は、本発明に従って構成され且つ動作する中央処理装置(CPU)10の一 部分を示すブロック図である。CPUl0は、これらの物に制限しないがマイク ロプロセッサ、マイクロコンピュータ及びメインフレームコンピュータを含む多 数の異なる形式のハードウェア具体物において実施され得る。例えばCPUl0 はVSタイプのコンピュータ、特定的にはマサチューセッツのローウェルのウォ ングラボラトリーズ社によって製造されているVS−8000コンピユータで有 り得る。CPUl0は両方向バッファ12を通じてマルチプレクサ(MUX)1 4の第1の入力に結合された32ビツトデータバスDBOO: 31を含む。M UX14の第2の入力は32ビツトCバス(CBOO: 31)に結合されてい る。
MUXI4を通e7M!;合のため17)DBOO: 31又1tCBOO:  31のa択は、MUX14の選択(S)入力へのREG FILE 5ELEC T入力によってなされる。選択された32ビツトバスはMUX14の出力に送ら れ、128X32レジスタフアイル(REG FILE)16として実施されて いるローカルオペランド記憶装置の入力に提供される。REG FILE16は また、アクセスされる(読み取られる)REG FILE16内の128レジス タの特定のものを識別するために、入力として7ビツトAアクセスアドレスバス 及び7ビツトBアクセスバスを有する。REG FILE16はまた、更新され る(書き込まれる)レジスタを識別するために、入力として7ビツト更新アドレ スバスを有する。
更新アドレスバスはBアクセスパスの記録又は遅延されたバージョンである。即 ち、サイクルNの間に、更新アドレスバスはBアクセスアドレスによってサイク ルN−1の間にアクセスされたレジスタを更新する。REG FILE16はま た、32ビツトA出力及び32ビツトB出力を含む。A出力に現れるデータはA アクセスバスによってアドレス及びアクセスされ、そしてB出力に現れるデータ はBアクセスバスによってアドレス及びアクセスされる。
図1aで示されるようなシステムのような、従来のシステムでは、32ビツトA 及びB出力はA、 L Uに直接結合されるであろう。しかしながら、そして本 発明に従うと、REG FILE16の32ビツトA出力及び32ビツトB出力 は代わりにそれぞれ関連するMUX18及びMUX20に各々提供される。MU XI8及びMUX20各々は更なる入力CBOO:31を有する。MUX18の 出力はALU22のA入力に提供され、MUX20の出力はALU22のS入力 に提供される。MUX18及びMUX20はそれぞれ関連するアドレスコンパレ ータ(ADDRCOMP)24及び26によって各々制御される。アドレスコン パレータ24及び26の各々はREG FILE16アクセスアドレス及び更新 アドレスに対応する入力を有する。アドレスコンパレータ24及び26は、アク セスのために現在のサイクルの間に選択されたREG FILE16のレジスタ がこのサイクルの間に更新するために選択されたREG FILE16のレジス タと等しいかどうかを決定するために、これらREG FILE16のアドレス を比較する。もしこれら2つのアドレスが等しいと見いだされたならば、命令サ イクルNの間のALUオペレーションの結果が次のサイクルN+1の間にALU オペレーションのためのオペランドとして用いられることが、示される。この状 態が検出されるとき、関連するアドレスコンパレータ24及び26の出力は、対 応するマルチプレクサMUX18又はMUX20選択の(S)入力がCBOO:  31のALU22の結果を直接ALU22の対応する入力にゲートすることを 可能にし、それによって効果的にREG FILE16をバイパスする。
もし更新アドレスが対応するA又はBアクセスアドレスと等しくなければ、MU X18及びMUX20へのS入力は断定(assert)されず、これらのマル チプレクサは代わりにREG FILE16の対応する出力をALU22のため のデータのソースとして選択する。例えば、オペレーションA+D=Eが後に続 くオペレーションA十B=Cは、第1の命令の結果としてjlI2の命令の何れ のオペランド(八又はD)も更新されないから、REG FILE16がバイパ スされる結果とはならない。
図2に示されたCPUl0の部分の説明を続けると、ALU22の出力はラッチ 28aへ、そしてラッチ28aからALUシフタ28へ提供される。シフタ28 はシフト制御論理ブロック30の制御のもとにある。ALUシフタ28は、もし 要求されたならば、ラッチされたALUの結果をその結果がCBOO:31バス に提供される前に位置付けるように、従来の様式で動作する。
更に本発明に従うと、A作業レジスタ(WR−A)32のため及びB作業レジス タ(WR−B)34のためのバイパスもまた提供される。この場合、作業レジス タは特定の算術/論理オペレーションのために用いられる一時的レジスタである 。本発明に従うと、作業レジスタの出力は関連するマルチプレクサAMUX36 又はBMUX38の入力に提供される。AMUX36及びBMUX38の両方へ の第2の入力は、シフタ28からALU22の結果を運ぶCBOO:31バスで ある。マルチプレクサ36及び38の各々は関連するコンパレータ40及び42 の出力に結合された選択入力をそれぞれ有する。オペレーションのソースがWR −A32 (ACCESS (アクセス) WRA)であり、また、同じサイク ルの間にWRA32がALU22から更新されていることを、論理信号の状態が 示すときに、コンパレータ40は、AMUX36がWR−A32出力の代わりに CBOO:31人力を選択するようにさせるように、出力を生成する。コンパレ ータ42はデータをALU22のBポートに提供するのと同じ形で動作する。従 っテAMUX 36及’Cjコニ//<L/−940(1)*ヘレー’i g  ンハ、REG FILEI6について前に説明されたのと類似の様式で、WR− A32が同じサイクルで更新及びアクセスされることを要求されることが決定さ れたときに、WR−A32の周りに速いバイパスを提供するように働く。同様に BMUX38及びコンパレータ42のオペレーションは、WR−834が同じサ イクルで更新及びアクセス号が作業レジスタに対するアクセス信号に関連して断 定されたかどうかを、本発明のこの面は検出し、そして、もしそうならば、作業 レジスタはバイパスされ、ALU22出力はALU22人力に結合され戻される 。
REG FILE16又は作業レジスタのうちの1つがバイパスされる前記で説 明されたケースについては、ALU22の結果をもってのレジスタの更新はサイ クル(N+1)の間に好ましくなお発生する。しかしながら、ALU22は更新 されたデータが同時に与えられ、従ってREG FILE16又は作業レジスタ の更新されるのを待つことが要求されない。
CPUl0は更に、マイクロ命令を復号するため、そしてCPU命令サイクルク ロック(CLK)と関連してCPUl0のオペレーションに要求される多種の制 御及びアドレス信号を生成するために使用可能な、制御論理ブロック44を含む 。
前記の説明に従うと、本発明は、レジスタファイル位置又は作業レジスタの様な 記憶装置エレメントが、前のオペレーションの結果で更新されそして次のオペレ ーションのためのオペランドを提供するように同時にアクセスされることが要求 されるこれらの形式のオペレーションに対して、大きな速度の改良を提供するこ とが理解される。
本発明は、好ましい実施例に関して特定的に示され説明されたが、形式または詳 細の変更は本発明の範囲と精神から離れることなくその中でなされるであろうこ とが、当業者には理解されるであろう。
浄書(内容に変更なし) FIG・1a <従来技術) 命令1 捕丁婁の社説す理由書 挙 M& (特許法第184条の7第1項) lc1条補正 補正の範囲 1、 オペランドを記憶するための複数の位置を有するローカルのアドレス指定 可能記憶手段と、オペランドへのオペレーションの一時的な結果を記憶するため に記憶手段から別々にアクセスされる作業レジスタ手段を含む記憶手段とを含む 形式の算術パイプラインであって、前記記憶手段から第1のオペランドと第2の オペランドとを受けるための入力を有するALU手段であって前記第1のオペラ ンドと前記第2のオペランドとに行われたオペレーションの結果を表すための出 力を有するALU手段を更に備える算術パイプラインをオペレーティングする方 法が、 第1の時間間隔の間に、前記第1のオペランドと前記第2のオペランドとを前記 記憶手段から検索するように前記記憶装置をアドレスするステップ、ドと前記第 2のオペランドとを前記ALU手段のA人力に及びB入力に、それぞれ、加える ステップ、 第2の時間間隔の間に、次のオペレーションが前記第1の時間間隔の開に生成さ れた前記結果又は前記一時的結果を第1のオペランド又は第2のオペランドの何 れかのために要求するかどうかを決定するステップ、及びもし前記第1の時間間 隔の間に生成された前記結果又は前記一時的結果が前記第1のオペランド又は前 記第2のオペランドの何れかの次のオペレーションのために要求されるように決 定されると、前記方法は、前記ALU手段のA入力又はB入力の何れかを前記記 憶装置から非結合するステップ及び前記ALU手段の出力を前記ALU手段のA 入力又はB入力の何れかに結合するステップを含む、ステップ、 を備える方法。
2、 前記第2の時間間隔の間に決定するステップは、前記記憶手段に関連した 更新アドレスと前記記憶手段に関連したアクセスアドレスとを比較し前記2つの アドレスは等しいかどうかを検出する、比較ステップを含む、請求の範囲第1項 に記載の方法。
3、 前記結合するステップ及び非結合するステップは、前記ALU手段の結果 を有する入力をマルチプレクサ手段の出力に結合するために、前記マルチプレク サ手段に結合された前記ALU結果を有する入力を選択するように該マルチプレ クサ手段を活動化するステップであって、前記マルチプレクサ手段の前記出力は 前記ALU手段の入力に結合されている、活動化ステップを含む、請求の範囲第 1項に記載の方法。
4、 前記第2の時開間隔の間に決定するステップは、前記作業レジスタ手段に 対する更新信号が前記作業レジスタ手段に対するアクセス信号に関連して断定さ れたかどうかを検出するステップを含む、請求の範囲第1項に記載の方法。
5、 オペランドを記憶するための複数の位置を有するローカルのアドレス指定 可能記憶手段を含む形式の算術パイプラインを備えるデータプロセッシング装置 であって、前記記憶手段から第1のオペランドと第2のオペランドとを受けるた めの入力を有するALU手段であって前記第1のオペランドと前記第2のオペラ ンドとに行われたオペレーションの結果を表すための出力を有するALU手段を 更に備える前記バイブライン手段を備えるデータプロセッシング装置が、オペラ ンドへのオペレーションの一時的な結果を記憶するために記憶手段から別々にア クセスされる作業レジスタ手段であって、前記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入力の何れかに結合するための手段、を備えるデータプロセッシング装置。
6、 前記決定する手段は、前記記憶手段に関連した更新アドレスと前記記憶手 段に関連したアクセスアドレスとを比較し前記2つのアドレスは等しいかどうか を検出する比較器手段を備える、請求の範囲第5項に記載のデータプロセッシン グ装置。
7、 前記結合する手段は、マルチプレクサ手段の入力に結合された前記ALU 手段出力を有する前記マルチプレクサ手段であって、前記マルチプレクサ手段の 出力は前記ALU手段の入力の1つに結合されている、マルチプレクサ手段を備 える、請求の範囲第5項に記載のデータプロセッシング装置。
8、 前記決定する手段は、前記作業レジスタ手段に対する更新信号が前記作業 レジスタ手段に対するアクセス信号に関連して断定されたかどうかを検出するた めの手段を備える、請求の範囲第5項に記載のデータプロセッシング装置。
9、 前記記憶手段は、各々がmビットからなるn個の位置として編成されたレ ジスタファイル手段からなり、前記n個の位置のうちの独特の1つはレジスタフ ァイル更新アドレスによってモして/またはレジスタファイルアクセスアドレス によって指定される、請求の範囲第5項に記載のデータプロセッシング装置。
10、前記記決定する手段は命令に関連するマイクロ命令の内容に応答する、請 求の範囲第5項に記載のデータプロセッシング装置。
1、事件の表示 PCT/US9010164B 平成2年特許願第505555号 2、発明の名称 更新/アクセスアドレス比較においてレジスタファイルバイパスを有する改良さ れたCPUパイプラインI3、補正をする者 事件との関係 特許出願人 名 称 ウォング・ラボラトリーズ・インコーホレーテッド4、代理人 住 所 東京都千代田区大手町二丁目2番1号新大手町ビル 206区 6、補正の対象 (1)委任状及び翻訳文 国除調査報告 8;;;二二r::′シーニー1=!;舎u;H’、h +ht?:二;、二二 二°二’14m1二7二;;7;; フ7.7++ eilg“°2°−〜ラー ’rNs°ン°()8”aa+++l *−““7tMIurep+#PpHH +611+e11RMwhfIll・(臂揃嘗Thn師慶M+cwl−デ1++ nc+tsrs+s書+wlY翌月s11−響”+mp+ul−−−1mm喝i ly!−一−菅−〇−1

Claims (10)

    【特許請求の範囲】
  1. 1.オペランドを記憶するための位置を有するローカルのアドレス指定可能記憶 装置と、前記記憶装置から第1のオペランドと第2のオペランドとを受けるため の入力を有するALUであって前記第1のオペランドと前記第2のオペランドと に行われたオペレーションの結果を表すための出力を有するALU、とを有する 形式のCPUパイプラインをオペレーティングする方法が、第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.前記第2の時間間隔の間に決定するステップは、前記記憶装置に関連した更 新アドレスと前記記憶装置に関連したアクセスアドレスとを比較し前記2つのア ドレスは等しいかどうかを検出する、比較ステップを含む、請求の範囲第1項に 記載の方法。
  3. 3.前記結合するステップ及び非結合するステップは、前記ALU結果を有する 入力をマルチプレクサ手段の出力に結合するために、前記マルチプレクサ手段に 結合された前記ALU結果を有する入力を選択するように該マルチプレクサ手段 を活動化するステップであって、前記マルチプレクサ手段の前記出力は前記AL Uの入力に結合されている、活動化ステップを含む、請求の範囲第1項に記載の 方法。
  4. 4.前記第2の時間間隔の間に決定するステップは、作業レジスタ手段に対する 更新信号が前記作業レジスタ手段に対するアクセス信号に関連して断定されたか を検出するステップを含む、請求の範囲第1項に記載の方法。
  5. 5.オペランドを記憶するための記憶位置を有するローカルのアドレス指定可能 記憶装置と、前記記憶装置からAオペランドとBオペランドとを受けるために前 記記憶装置に結合されたALUであって前記第1のオペランドと前記第2のオペ ランドとに行われたオペレーションの結果を示すための出力を有するALU、と を有する形式の算術パイプラインを用いる装置が、前記第1のオペランドと前記 第2のオペランドとを前記記憶装置から検索するように第1の時間間隔の間に前 記記憶装置をアドレスする手段、ALU出力で結果を生成するように前記第1の オペランドと前記第2のオペランドとをALUのA入力にそしてB入力に、それ ぞれ、加える手段、前記第1の時間間隔の間に生成された前記結果が前記記憶装 置に書き戻されることが要求されるかどうかを第2の時間間隔の間に決定するた め、及び前記ALUが前記第1の時間間隔の間に生成された前記結果を第1のオ ペランド又は第2のオペランドの何れかのために要求するかどうかを第2の時間 間隔の間に決定するための手段、及び 前記決定する手段に結合されそして応答し、前記第1の時間間隔の間に生成され た結合が前記記憶装置に書き戻されされるように要求されるように決定されたと き及び次のオペレーションが前記第1の時間間隔の間に生成された前記結果を前 記第1のオペランド又は前記第2のオペランドのために要求するときのみ前記A LU出力を前記ALUのA入力又はB入力の何れかに結合するための手段、を備 える装置。
  6. 6.前記決定する手段は、前記記憶装置に関連した更新アドレスと前記記憶装置 に関連したアクセスアドレスとを比較し前記2つのアドレスは等しいかどうかを 検出する比較器手段を備える、請求の範囲第5項に記載の装置。
  7. 7.前記結合する手段は、マルチプレクサ手段の入力に結合された前記ALU結 果を有する前記マルチプレクサ手段であって、前記マルチプレクサ手段の出力は 前記ALUの入力に結合されているマルチプレクサ手段を備える、請求の範囲第 5項に記載の装置。
  8. 8.前記決定する手段は、作業レジスタ手段に対する更新信号が前記作業レジス タ手段に対するアクセス信号に関連して断定されたかどうかを検出するための手 段を備える、請求の範囲第5項に記載の装置。
  9. 9.前記記憶装置は、各々がmビットからなるn個の位置として編成されたレジ スタファイル手段からなり、前記n個の位置のうちの独特の1つはレジスタファ イル更新アドレスによってそして/またはレジスタファイルアクセスアドレスに よって指定される、請求の範囲第5項に記載の装置。
  10. 10.前記記決定する手段は命令に関連するマイクロ命令の内容に応答する、請 求の範囲第5項に記載の装置。
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 true JPH05503381A (ja) 1993-06-03
JP2840444B2 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 富士通株式会社 情報処理装置におけるレジスタの読出制御方式
EP0943998B1 (en) * 1992-02-28 2006-07-12 Oki Electric Industry Co., Ltd. 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
DE69415126T2 (de) * 1993-10-21 1999-07-08 Sun Microsystems Inc Gegenflusspipelineprozessor
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
US20190377580A1 (en) * 2008-10-15 2019-12-12 Hyperion Core Inc. Execution of instructions based on processor and data availability
WO2010043401A2 (en) 2008-10-15 2010-04-22 Martin Vorbach Data processing device
TWI607375B (zh) * 2012-11-05 2017-12-01 義隆電子股份有限公司 提升處理器之數值比較效能方法及應用在電子裝置進行數值比較的處理器
US9569214B2 (en) * 2012-12-27 2017-02-14 Nvidia Corporation Execution pipeline data forwarding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6386033A (ja) * 1986-09-30 1988-04-16 Fujitsu Ltd パイプライン処理方式

Family Cites Families (5)

* 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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6386033A (ja) * 1986-09-30 1988-04-16 Fujitsu Ltd パイプライン処理方式

Also Published As

Publication number Publication date
WO1991003784A1 (en) 1991-03-21
DE69027932D1 (de) 1996-08-29
AU5353990A (en) 1991-04-08
DE69027932T2 (de) 1997-02-27
JP2840444B2 (ja) 1998-12-24
US5123108A (en) 1992-06-16
CA2064819C (en) 2000-02-08
CA2064819A1 (en) 1991-03-12
EP0491693A1 (en) 1992-07-01
AU643432B2 (en) 1993-11-18
EP0491693B1 (en) 1996-07-24

Similar Documents

Publication Publication Date Title
JPH05503381A (ja) 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置
US4187539A (en) Pipelined data processing system with centralized microprogram control
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
US5204953A (en) One clock address pipelining in segmentation unit
JP3509067B2 (ja) ストア命令転送方法およびプロセッサ
JP3151444B2 (ja) ロード命令を処理する方法及びスーパースカラ・プロセッサ
US6266768B1 (en) System and method for permitting out-of-order execution of load instructions
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
US6301654B1 (en) System and method for permitting out-of-order execution of load and store instructions
US4630192A (en) Apparatus for executing an instruction and for simultaneously generating and storing related information
US6192461B1 (en) Method and apparatus for facilitating multiple storage instruction completions in a superscalar processor during a single clock cycle
US5053986A (en) Circuit for preservation of sign information in operations for comparison of the absolute value of operands
US5119324A (en) Apparatus and method for performing arithmetic functions in a computer system
JPH04504626A (ja) 情報処理システム
US6240507B1 (en) Mechanism for multiple register renaming and method therefor
US5678016A (en) Processor and method for managing execution of an instruction which determine subsequent to dispatch if an instruction is subject to serialization
CN111414196B (zh) 一种零值寄存器的实现方法及装置
US6393446B1 (en) 32-bit and 64-bit dual mode rotator
US5732005A (en) Single-precision, floating-point register array for floating-point units performing double-precision operations by emulation
JPS58105345A (ja) 中央処理装置のバスソ−シングおよびシフタ制御
US4737908A (en) Buffer memory control system
US5926645A (en) Method and system for enabling multiple store instruction completions in a processing system
US6671781B1 (en) Data cache store buffer
EP1050800A1 (en) A pipelined execution unit

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