JP2539974B2 - 情報処理装置におけるレジスタの読出制御方式 - Google Patents
情報処理装置におけるレジスタの読出制御方式Info
- Publication number
- JP2539974B2 JP2539974B2 JP3304895A JP30489591A JP2539974B2 JP 2539974 B2 JP2539974 B2 JP 2539974B2 JP 3304895 A JP3304895 A JP 3304895A JP 30489591 A JP30489591 A JP 30489591A JP 2539974 B2 JP2539974 B2 JP 2539974B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- instruction
- data
- sel
- reg
- 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 - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 9
- 238000000034 method Methods 0.000 title description 21
- 238000001514 detection method Methods 0.000 claims description 27
- 238000010586 diagram Methods 0.000 description 15
- 238000007796 conventional method Methods 0.000 description 3
- 230000000593 degrading effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 101100422768 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SUL2 gene Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 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/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- 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 or 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
ジスタの読出制御方式に関し、特に演算処理の低下を来
すことなくレジスタの読出ポート数の削減が可能な方式
に関する。
化手法、たとえばスーパスカラー方式、VLIW(VERY
-LONG-INSTRUCTION-WORD)方式、スーパパイプライン方
式等では、1サイクル間に複数の命令を実行することが
可能となっている。
パス(BPS))を有するパイプライン処理の一例を図
に基づいて説明する。パイプライン処理におけるステー
ジ動作は、図2に示すように、プログラムカウンタ(P
C)に基づいて、命令キャッシュデータ(ICACH
E)を取り込む命令フェッチステージ(Inst Fe
tch)と、命令を解析するデコードステージ(Dec
ode)と、レジスタファイル(REG)の内容をオペ
ランドレジスタ(OP)に取り込み加算器(ALU)で
演算を行う実行ステージ(Execute)と、演算結
果を前記レジスタファイル(REG)に書き込む書き込
みステージ(Write)とからなる。
して他命令と並列処理することにより、処理の高速化を
図っている。そして、同図に示すように、加算器(AL
U)の結果を、後続命令でのオペランドレジスタ(O
P)に演算回路出力バイパス(BPS)を通じてバイパ
ス転送させることによって、前命令の演算結果を用いる
後続命令の処理等を高速化していた。
ライン処理では、命令の並列動作数が増加するにしたが
って図3に示すようにレジスタファイル(REG)から
の読出ポート(PT)も増加し(同図では4ポート構成
となっている)、ハードウエア量が増加し、これにとも
ない、レジスタファイル(REG)の中に設けられたセ
レクタ(SEL)の処理遅延時間が大きくなり、コスト
高のみならず、処理効率・処理速度ともに低下する懸念
があった。
のであり、その目的は、レジスタファイル(REG)に
おける読出ポートを増加させることなく、少ないハード
ウエア量で複数命令の演算処理を効率かつ高速化できる
技術を提供することにある。
処理により複数の命令を並列して逐次実行する際に、レ
ジスタファイル(REG)と、一時格納レジスタ(C
R)と、セレクタ(SEL)と、演算回路(1)と、レ
ジスタキャッシュパス(RCPS)と、一致検出回路
(COMP)とを有する構成として、この一致検出回路
(COMP)において、前命令の一時格納レジスタ(C
R)の保持データと後続命令でのオペランドとの一致を
検出した場合には、前記セレクタ(SEL)を制御して
セレクタの入力として前記レジスタキャッシュパス(R
CPS)を選択し、前記一時格納レジスタ(CR)の保
持データをレジスタキャッシュパス(RCPS)を経由
して当該一時格納レジスタ(CR)に直接帰還入力する
こととした。
タは後続の命令でも読み出しをする可能性が高い。具体
例として、フレームポインタ、セグメントベースレジス
タ、ループ変数(これらは計算機のアーキテクチャやコ
ンパイラ、プログラムによっても変化する)を考える
と、サブプログラム間のパラメータやローカル変数をス
タックフレーム上に作成するようなソフトウエアシステ
ムでは、フレームポインタが数命令に1度はアクセスさ
れる可能性が高い。
すように、演算回路1(たとえばALU)において、一
時格納レジスタ(CR)を設け、この保持データが後続
命令で使用されるデータと一致する場合は、レジスタキ
ャッシュパス(RCPS)を通じて演算回路(ALU)
に保持データを出力する。
タ(OP)を一時格納レジスタ(CR)として用いてい
る。そして演算回路1(ALU)において演算を行う際
に、一致回路(COMP)において前命令と後続命令と
でレジスタデータを比較する。ここで同じレジスタデー
タを用いることを検出した場合には、演算入力セレクタ
(SEL)を制御して、一時格納レジスタ(CR)のデ
ータを演算入力セレクタ(SEL)に戻して演算回路
(ALU)に再入力させる。
としたことにより、レジスタファイル(REG)からの
読み出し回数が大幅に低減でき、レジスタファイル(R
EG)の読出ポート(PT)を増加させることなく、効
率的かつ高速な演算処理を実現できる。
ッシュ専用のレジスタであってもよいし、図1に示した
ような演算回路1(ALU)のオペランドを保持するオ
ペランドレジスタ(OP)であってもよい。
あり、本発明はたとえば同図に示す回路構成で実現され
る。なお同図では2ポート構成(PT1,PT2)のレ
ジスタシステムを例にしている。
1命令部(OP1)と、第2命令部(OP2)とに区分
され、さらに各命令部(OP1・OP2)は、第1レジ
スタ部(R11,R21)と第2レジスタ部(R21,
R22)とに分割されている。
スタ出力用セレクタ(ISEL1・ISEL2)を経て
レジスタファイル(REG)に入力される。また、命令
レジスタ内あるいは命令レジスタ外には前レジスタデー
タ保持部(OR11・OR21)が設けられており、後
述のオペランドレジスタ(OP11・OP21)の読み
出しが行われたレジスタデータ(アドレス)が格納され
る。
21)と前記各レジスタ部の値は、一致検出回路(CO
MP)に出力され、両保持値が比較される。そしてこの
一致検出回路(COMP)の判定値によって演算入力セ
レクタ(SEL)が制御される。この制御については後
述する。
スタ、浮動小数点レジスタ等のレジスタ群からなる記憶
回路で構成されており、一対の演算回路(ALU1・A
LU2)に対してそれぞれ1個ずつの出力ポート(PT
1,PT2)を備えている。
れの前段には、一対ずつのオペランドレジスタ(OP1
1−OP12,OP21−OP22)が設けられてお
り、このオペランドレジスタの前段には、前述の演算入
力セレクタ(SEL:SEL11−SEL22)が設け
られている。この演算入力セレクタ(SEL)のうち、
SEL11とSEL21には、演算回路(ALU)から
の出力と、レジスタファイル(REG)からの出力と、
一時格納レジスタ(CR)としてのオペランドレジスタ
(OP)からのレジスタキャッシュパス(RCPS1・
RCPS2)とが接続され、演算回路(ALU)からの
出力、レジスタファイル(REG)からの出力またオペ
ランドレジスタ(OP11,OP22)のいずれかを選
択的にオペランドレジスタ(OP)に入力させる機能を
有している。
前述の一致検出回路(COMP)によって行われる。す
なわち、一致検出回路(COMP)によって、前レジス
タデータ保持部(OR11・OR21)の保持値と、後
続の命令の中のレジスタアドレスとが一致する場合に
は、演算入力セレクタ(SEL)の入力として前記レジ
スタキャッシュパス(RCPS)を選択する。これによ
り、レジスタキャッシュが実現され、レジスタファイル
(REG)からの読み出し処理を経ることなく、前命令
のオペランドを後続命令においてもそのまま用いること
が可能となる。
回路(COMP)の配置位置としては、下記の3通りの
構成が可能である。 (構成1)第1の構成は、パイプライン処理において、
デコード処理に送られる信号をそのまま用いて一致・不
一致を検出する方法で、この場合、図5および図6に示
す回路構成となる。
簡略化したものである。すなわち、命令レジスタ(I
R)の出力側に一致検出回路(COMP)を配置して、
命令レジスタ(IR)から命令を読み出す際に、命令の
レジスタ指示フィールドがレジスタキャッシュとしての
前レジスタデータ保持部(OR)に保持されている内容
と一致しているか否かが検出される。
ウエア構成において、命令レジスタ(IR)を用いるこ
となく、直接命令バッファ(IB)から命令を読み出す
場合があるが、この場合には図6に示すように、命令バ
ッファ(IB)の出力側に一致検出回路(COMP)を
配置することができる。この時には、命令バッファ(I
B)から命令を読み出す際に、命令のレジスタ指示フィ
ールドがレジスタキャッシュとしての前レジスタデータ
保持部(OR)に保持されている内容と一致するか否か
を検出する。 (構成2) 第2の構成はデコードステージよりも前の段階で一致・
不一致を検出する方法で、図7に示す回路構成となる。
に一致検出回路(COMP)を配置して、命令バッファ
(IB)から命令レジスタ(IR)に命令を引き渡すの
に同期して、現時点で命令レジスタ(IR)に引き渡し
ている命令の直前のサイクルに実行された命令のレジス
タアドレス(すなわち現時点で命令レジスタ(IR)内
に格納されている命令のレジスタ指示フィールド)と、
命令バッファ(IB)の中の命令が参照するレジスタア
ドレスとを比較する。
に示したものが図13である。すなわち、前述の「命令
レジスタ(IR)に引き渡している命令の直前のサイク
ルに実行された命令」とは、現時点(前命令)でデコー
ドステージにおいて命令レジスタ(IR)に入っている
命令である。後続命令では自身の次のデコードステージ
(D)で命令レジスタ(IR)に格納すべきレジスタ指
示フィールドを、前記前命令の命令レジスタ(IR)に
格納されている命令のレジスタ指示フィールドと比較し
ている。
も前の段階で一致・不一致の判定が完了しているため、
比較的高速な演算処理を実現できる。 (構成3) 第3の構成は、図8に示すように、命令バッファ(I
B:IB0〜IB2)のそれぞれについてその命令中に
含まれるレジスタアドレスを、デコードされた命令中に
含まれるレジスタアドレスと一致検出回路(COMP)
で比較して一致・不一致を検出する。 また、一致検出回
路(COMP)において一致を検出した場合には、当該
レジスタアドレスを命令バッファ(IB:IB0〜IB
2)に再度格納される。 このように図8に示した構成
は、命令レジスタ(IR)を有しない命令バッファだけ
のハードウエア構成である場合に極めて高速な演算処理
を実現できる。
一致検出回路(COMP)を設け、この一致検出回路
(COMP)の一方の入力は命令バッファ(IB)中に
保持されているレジスタアドレスとし、他方の入力は現
在デコード中のレジスタアドレスとする。この一致検出
回路(COMP)で現在デコード中のレジスタアドレス
と命令バッファ(IB)の保持するレジスタアドレスと
の一致が検出された場合には、一致検出信号が一旦命令
バッファ(IB)に格納された後、図中において破線で
示す経路を経て、次のステージに同期して演算入力セレ
クタ(SEL)を直接作動させる。なお図中において符
号31および32はセレクタである。
おいて、デコードステージよりも前のステージ段階で、
その時点では使用されていない命令バッファ(IB)の
タイミングでレジスタ番号の一致・不一致を検出してお
くため、次のデコード処理を全く遅延させることなくレ
ジスタのキャッシュを実現できる。
来のバイパス処理を行う制御システムも併有している。
すなわち、演算回路(ALU)の結果が後続命令で参照
しようとしているレジスタに格納されているか否かを検
出する回路(図示省略)を有しており、この回路から出
力される一致信号によって、演算入力セレクタ(SE
L)はその入力として演算回路出力バイパス(BPS)
を選択する。これによって、本システムでは従来技術に
おけるバイパス処理も可能となっている。この場合、演
算入力セレクタ(SEL)はバイパス処理とレジスタキ
ャッシュ処理とで共有可能であるため、ハードウエア構
成が増加することはない。
演算入力セレクタ(SEL)の制御について場合分けを
して説明する。図9は、オペランドレジスタ(OP1
1)の入力側に配置された演算入力セレクタ(SEL)
の動作を示している。
バイパス処理を説明する。選択条件として、命令レジス
タ(IR)の第1レジスタ部(R11)に格納されてい
るレジスタアドレスが現在実行ステージ(Execut
e)を実行している命令の1番目のディストネーション
オペランド(ODR1)のレジスタアドレスを示してい
る場合、演算入力セレクタ(SEL11)には演算回路
(ALU1)の出力、すなわち演算回路出力バイパス
(BPS1)を選択的に取り込む。また、第2番目のデ
ィストネーションオペランド(ODR2)のレジスタア
ドレスを示している場合には、演算回路(ALU2)側
の演算回路出力バイパス(BPS2)を選択する。以上
はパイプライン処理における一般的なバイパス処理であ
る。これらの選択条件の判断回路等については、本実施
例では説明を省略する。
の場合を説明する。命令レジスタ(IR)の第1レジス
タ部(R11)のレジスタアドレスが実行ステージにお
ける命令の第1番目のソースオペランドのレジスタアド
レス(OR11に格納されているOP11のレジスタア
ドレス)を示している場合、演算入力セレクタ(SEL
11)にはオペランドレジスタ(OP11)の出力、す
なわちレジスタキャッシュパス(RCPS11)を選択
する。
キャッシュ処理以外の場合は、演算入力セレクタ(SE
L11)は通常の処理(レジスタファイルの読み込み処
理)として、レジスタファイル(REG)からの第1ポ
ート(PT1)の出力を選択する。
2)の入力側に配置された演算入力セレクタ(SEL1
2)の動作、図11はペランド入力セレクタ(SEL2
1)の動作、図12は演算入力セレクタ(SEL22)
の動作をそれぞれ示している。なお、図4では、オペラ
ンドレジスタ(OP11)の保持値が他の3個のオペラ
ンドレジスタ(OP12,OP21,OP22)でキャ
ッシュ可能であり、オペランドレジスタ(OP21)の
保持値がオペランドレジスタ(OP21・OP22)で
キャッシュ可能となっているが、レジスタキャッシュの
組み合わせはこれに限定されない。
低減できる具体例として、シーケンシャル探索のプログ
ラム(C言語で記述)を下記の(数1)式で示す。
コーディングしたものが下記の(数2)である。
発生するため、loop−unrolling処理とし
た(数3)。ループの処理時間は1τ増加しただけであ
るが、2エレメントずつのサーチが可能となる。またポ
インタ更新用の定数8,16は予め「GR」に割当られて
いるものとする。下記の(数3)において説明の便宜の
ため行番号を付してある。また、各行の右端に示されて
いる数字は、左側が従来のバイパス処理のみの場合で必
要となるレジスタポート数、右側が従来のバイパス処理
と本実施例のレジスタキャッシュ方式を併用した場合に
必要となるポート数である。
9」の読み込みのために2ポート必要である。また、「G
1」は第01行目または第07行目により、バイパス処
理が可能である。第04行目ではバイパス処理の場合、
「G1」が前命令からバイパスされるため、「G3」と「G
8」のための2ポートとなる。これに対して、本実施例
のレジスタキャッシュを併用した場合、「G8」がキャッ
シュされるため、「G3」の読み込みのみとなり1ポート
で足りる。
されるため、また「G5」はバイパス処理が可能なのでポ
ートを使用しない。ここで、ダミー命令を追加すること
により、さらに効率的な処理が可能となる。
らのループ帰還の場合、従来技術のバイパス処理では、
「G1」がバイパス処理可能なためレジスタファイル(R
EG)からの読み込みは「G8」と「G9」、すなわち2ポ
ートが必要である。
併用した場合には、「G9」は第07行目からキャッシュ
されるため、「G8」のみの読み込み、すなわち1ポート
のみで足りる。
パス処理、「G8」が本実施例でのレジスタキャッシュ処
理が可能であるため、レジスタファイル(REG)から
の読み込みは「G3」のみの1ポートで足りる。
バイパス処理が可能であるため、「G6」を読み込むため
の1ポートでよい。さらに第06行目では、「G5」をL
OAD命令からバイパス処理できるため、「G6」および
「G1」の読み込みのみでよいが、本実施例によれば「G
6」についてはレジスタキャッシュが可能であるため、
「G1」の読み込みのみ、すなわち1ポートのみが必要と
なる。
を僅かに手直し(ダミー命令を追加:第06行目「G1=G
1」)するだけで1ポートのみでシーケンシャル探索の
全プログラムの実行が可能となっている。
低減できる別の具体例として、データ転送プログラムを
説明する。
(数6)式で示す。なお説明の便宜上(数6)式には各
行に行番号を付してある。また各行の右端に示されてい
る数字は、前記と同様に左側が従来のバイパス処理のみ
の場合で必要となるレジスタポート数、右側が従来のバ
イパス処理と本実施例のレジスタキャッシュ方式を併用
した場合に必要となるポート数である。
処理を行うためには、従来のバイパス処理のみの場合、
レジスタファイル(REG)より「G3」,「G2」,「G
2」を読み出さなければならない。このときループから
分岐してくる場合には「G2」に直接書き込みは行わない
ので「G2」をバイパス処理することはできない場合がほ
とんどである。しかし本実施例では、前の第07行目に
おいてSTOREのアドレス生成のためにレジスタ読み出し
を行っているので、「G2」の内容はキャッシュされるた
め、レジスタファイル(REG)からは「G3」のみを読
み出せばよい。
パス処理が行われるため、レジスタファイル(REG)
からの読み出しは「G5」のみとなる。第07行目では、
「G2」も「G4」もバイパス処理ができない。しかし、本
実施例では第06行目の処理で使用された「G2」がキャ
ッシュされるため、本実施例では「G4」のみを読み出せ
ばよい。
シュ方式と従来のバイパス処理とを併用することにより
ハードウエア量を大幅に低減できる。すなわち、従来の
バイパス処理のみので対応する場合には最低3ポートな
ければレジスタの読み出し待ちが必要であった処理を、
本実施例のレジスタキャッシュ処理との併用により同一
の処理を1ポートで実現できるという極めて顕著な効果
を有している。
ア構成で行った場合、2ポート(PT1,PT2)の
内、いずれか一方のポートが完全に空き時間となるた
め、この空き時間を利用して非同期または優先度の低い
レジスタ読み出し等を行うことができる。
制御方法として、当該セレクタ(SEL)はレジスタフ
ァイル(REG)のポート出力(PT)を選択できない
ようにしてもよい。この場合には、先行命令の参照また
は更新したレジスタデータをバイパス処理することのみ
が可能なハードウエア構成となる。このような構成であ
っても本発明は実現可能である。なぜならば、サブ命令
に対して2つのソースレジスタの指定が可能であるが、
多くの場合一方のレジスタ指示しか必要ない場合や、本
実施例のレジスタキャッシュや従来のバイパス処理が併
用可能な場合が多く、レジスタ番号は指示したものの、
レジスタファイル(REG)から実際に読み込む必要が
無い場合が多く存在するためである。
Uを用いた例で説明したが、演算回路としては、シフト
あるいは浮動小数演算器等を用いた構成としてもよい。
来すことなくレジスタの読み出しポート数を低減し、こ
れによって少ないハードウエア構成で高速かつ効率的な
演算処理が可能な情報処理装置を実現することができ
る。
図
図
説明図
説明図
説明図
説明図
を示す説明図
件を示す説明図
件を示す説明図
件を示す説明図
の動作を示す説明図
レジスタ) SEL・・演算入力セレクタ COMP・・一致検出回路 OR・・前レジスタ番号保持部 IB・・命令バッファ RCPS・・レジスタキャッシュパス PT・・読み出しポート
Claims (2)
- 【請求項1】 命令の一部にオペランドとなるレジスタ
データを選択する情報を有しているパイプライン処理の
情報処理装置であって、 前記レジスタデータを記憶するレジスタファイル(RE
G)と、 このレジスタファイル(REG)から出力されたレジス
タデータを一時格納する一時格納レジスタ(CR)と、 データを取り込んで演算処理を行う演算回路(1)と、 前記レジスタファイル(REG)と演算回路(1)との
間に介装された演算入力セレクタ(SEL)と、 前記一時格納レジスタ(CR)の出力と前記演算入力セ
レクタ(SEL)の入力を結ぶレジスタキャッシュパス
(RCPS)と、 一時格納レジスタ(CR)に格納されたデータと、後続
命令が使用するレジスタデータとの一致を検出する一致
検出回路(COMP)と、 前記レジスタファイル(REG)の前段に設けられ前記
一時格納レジスタ(CR)のデータを読み出すのに使用
したレジスタ指示データを保持する前レジスタデータ保
持部(OR)と、命令バッファ(IB)と命令レジスタ
(IR)とを有し、 前記一致検出回路(COMP)は、前記命令バッファ
(IB)から命令レジスタ(IR)に命令を引き渡すの
に同期してその時点においてデコードされているレジス
タ指示情報、すなわち命令レジスタ(IR)内のレジス
タ指示情報と、命令バッファ(IB)内のレジスタ指示
情報との一致・不一致を検出し、一致する場合には、演
算入力セレクタ(SEL)を制御して該セレクタの入力
として前記レジスタキャッシュパス(RCPS)を選択
し、前記一時格納レジスタ(CR)のレジスタデータが
レジスタキャッシュパス(RCPS)を経由して演算回
路(1)に入力されるようにしたことを特徴とする情報
処理装置。 - 【請求項2】 命令の一部にオペランドとなるレジスタ
データを選択する情報を有しているパイプライン処理の
情報処理装置であって、 前記レジスタデータを記憶するレジスタファイル(RE
G)と、 このレジスタファイル(REG)から出力されたレジス
タデータを一時格納する一時格納レジスタ(CR)と、 データを取り込んで演算処理を行う演算回路(1)と、 前記レジスタファイル(REG)と演算回路(1)との
間に介装された演算入力セレクタ(SEL)と、 前記一時格納レジスタ(CR)の出力と前記演算入力セ
レクタ(SEL)の入力を結ぶレジスタキャッシュパス
(RCPS)と、 前記レジスタファイル(REG)の前段に設けられた命
令バッファ(IB)と、 前記命令バッファ(IB)のさらに前段に設けられ前記
命令バッファ(IB)に保持されているレジスタ指示デ
ータとデコードされているレジスタ指示データとの一致
を検出する一致検出回路(COMP)とを有し、 前記一致検出回路(COMP)において両値の一致が検
出された場合には、この一致検出回路(COMP)から
出力される一致検出信号は前記命令バッファ(IB)に
一旦格納された後、次のステージに同期して演算入力セ
レクタ(SEL)を直接制御して、前記一時格納レジス
タ(CR)のレジスタデータがレジスタキャッシュパス
(RCPS)を経由して演算回路(1)に入力されるよ
うにしたことを特徴とする情報処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3304895A JP2539974B2 (ja) | 1991-11-20 | 1991-11-20 | 情報処理装置におけるレジスタの読出制御方式 |
DE69228360T DE69228360T2 (de) | 1991-11-20 | 1992-11-20 | Registerlesekontrolle |
EP92119838A EP0543415B1 (en) | 1991-11-20 | 1992-11-20 | Controlling register read operations |
US08/364,512 US5638526A (en) | 1991-11-20 | 1994-12-27 | Apparatus for operand data bypassing having previous operand storage register connected between arithmetic input selector and arithmetic unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3304895A JP2539974B2 (ja) | 1991-11-20 | 1991-11-20 | 情報処理装置におけるレジスタの読出制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05143328A JPH05143328A (ja) | 1993-06-11 |
JP2539974B2 true JP2539974B2 (ja) | 1996-10-02 |
Family
ID=17938581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3304895A Expired - Fee Related JP2539974B2 (ja) | 1991-11-20 | 1991-11-20 | 情報処理装置におけるレジスタの読出制御方式 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5638526A (ja) |
EP (1) | EP0543415B1 (ja) |
JP (1) | JP2539974B2 (ja) |
DE (1) | DE69228360T2 (ja) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5956747A (en) * | 1994-12-15 | 1999-09-21 | Sun Microsystems, Inc. | Processor having a plurality of pipelines and a mechanism for maintaining coherency among register values in the pipelines |
US5761475A (en) * | 1994-12-15 | 1998-06-02 | Sun Microsystems, Inc. | Computer processor having a register file with reduced read and/or write port bandwidth |
EP0717359A3 (en) * | 1994-12-15 | 1997-02-05 | Sun Microsystems Inc | Register cache memory for a computer processor |
JP3546980B2 (ja) * | 1996-03-29 | 2004-07-28 | 松下電器産業株式会社 | データ処理装置 |
US5778248A (en) * | 1996-06-17 | 1998-07-07 | Sun Microsystems, Inc. | Fast microprocessor stage bypass logic enable |
US5875346A (en) * | 1996-09-13 | 1999-02-23 | International Business Machines Corporation | System for restoring register data in a pipelined data processing system using latch feedback assemblies |
US5793944A (en) * | 1996-09-13 | 1998-08-11 | International Business Machines Corporation | System for restoring register data in a pipelined data processing system using register file save/restore mechanism |
US5802386A (en) * | 1996-11-19 | 1998-09-01 | International Business Machines Corporation | Latency-based scheduling of instructions in a superscalar processor |
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 |
US6000016A (en) * | 1997-05-02 | 1999-12-07 | Intel Corporation | Multiported bypass cache in a bypass network |
US7139899B2 (en) * | 1999-09-03 | 2006-11-21 | Cisco Technology, Inc. | Selected register decode values for pipeline stage register addressing |
ATE529802T1 (de) | 2000-02-09 | 2011-11-15 | Texas Instruments Inc | Datenverarbeitungsvorrichtung |
US6785847B1 (en) * | 2000-08-03 | 2004-08-31 | International Business Machines Corporation | Soft error detection in high speed microprocessors |
US6920547B2 (en) * | 2000-12-20 | 2005-07-19 | Intel Corporation | Register adjustment based on adjustment values determined at multiple stages within a pipeline of a processor |
JP3708853B2 (ja) * | 2001-09-03 | 2005-10-19 | 松下電器産業株式会社 | マルチプロセッサシステムおよびプログラム制御方法 |
US6934830B2 (en) * | 2002-09-26 | 2005-08-23 | Sun Microsystems, Inc. | Method and apparatus for reducing register file access times in pipelined processors |
CN100350389C (zh) * | 2003-10-24 | 2007-11-21 | 英特尔公司 | 用于检测软错误的方法、设备和处理器 |
US8977836B2 (en) * | 2006-02-03 | 2015-03-10 | Russell H. Fish, III | Thread optimized multiprocessor architecture |
JP2007305027A (ja) * | 2006-05-15 | 2007-11-22 | Toshiba Corp | 汎用レジスタ回路 |
JP2009169767A (ja) * | 2008-01-17 | 2009-07-30 | Toshiba Corp | パイプライン型プロセッサ |
JP2010079361A (ja) * | 2008-09-24 | 2010-04-08 | Nec Corp | プロセッサ、プロセッサのデータ処理方法、情報処理装置 |
JP5181127B2 (ja) * | 2008-11-05 | 2013-04-10 | 亮太 塩谷 | 半導体集積回路 |
JP5589169B2 (ja) * | 2012-10-03 | 2014-09-17 | 亮太 塩谷 | 半導体集積回路 |
US20140281391A1 (en) * | 2013-03-14 | 2014-09-18 | Qualcomm Incorporated | Method and apparatus for forwarding literal generated data to dependent instructions more efficiently using a constant cache |
JP6926727B2 (ja) | 2017-06-28 | 2021-08-25 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
CN108845829B (zh) * | 2018-07-03 | 2021-06-25 | 中国人民解放军国防科技大学 | 一种系统寄存器访问指令的执行方法 |
JP7384374B2 (ja) * | 2019-02-27 | 2023-11-21 | 株式会社ウーノラボ | 中央演算処理装置 |
CN111045732B (zh) * | 2019-12-05 | 2023-06-09 | 腾讯科技(深圳)有限公司 | 数据处理方法、芯片、设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0150177A1 (en) * | 1983-07-11 | 1985-08-07 | Prime Computer, Inc. | Data processing system |
AU553416B2 (en) * | 1984-02-24 | 1986-07-17 | Fujitsu Limited | Pipeline processing |
JPS62189535A (ja) * | 1986-02-15 | 1987-08-19 | Fujitsu Ltd | マイクロプロセツサ制御装置 |
JPH081599B2 (ja) * | 1988-02-24 | 1996-01-10 | 三菱電機株式会社 | データ処理装置 |
US5129067A (en) * | 1989-06-06 | 1992-07-07 | Advanced Micro Devices, Inc. | Multiple instruction decoder for minimizing register port requirements |
JPH0355642A (ja) * | 1989-07-25 | 1991-03-11 | Nec Corp | メモリー制御方式 |
US5123108A (en) * | 1989-09-11 | 1992-06-16 | Wang Laboratories, Inc. | Improved cpu pipeline having register file bypass and working register bypass on update/access address compare |
JP2816248B2 (ja) * | 1989-11-08 | 1998-10-27 | 株式会社日立製作所 | データプロセッサ |
AU629007B2 (en) * | 1989-12-29 | 1992-09-24 | Sun Microsystems, Inc. | Apparatus for accelerating store operations in a risc computer |
US5222240A (en) * | 1990-02-14 | 1993-06-22 | Intel Corporation | Method and apparatus for delaying writing back the results of instructions to a processor |
JPH04275628A (ja) * | 1991-03-01 | 1992-10-01 | Mitsubishi Electric Corp | 演算処理装置 |
-
1991
- 1991-11-20 JP JP3304895A patent/JP2539974B2/ja not_active Expired - Fee Related
-
1992
- 1992-11-20 DE DE69228360T patent/DE69228360T2/de not_active Expired - Lifetime
- 1992-11-20 EP EP92119838A patent/EP0543415B1/en not_active Expired - Lifetime
-
1994
- 1994-12-27 US US08/364,512 patent/US5638526A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0543415B1 (en) | 1999-02-03 |
EP0543415A2 (en) | 1993-05-26 |
JPH05143328A (ja) | 1993-06-11 |
DE69228360D1 (de) | 1999-03-18 |
US5638526A (en) | 1997-06-10 |
EP0543415A3 (ja) | 1994-03-02 |
DE69228360T2 (de) | 1999-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2539974B2 (ja) | 情報処理装置におけるレジスタの読出制御方式 | |
US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
US5499349A (en) | Pipelined processor with fork, join, and start instructions using tokens to indicate the next instruction for each of multiple threads of execution | |
US7418575B2 (en) | Long instruction word processing with instruction extensions | |
KR100346515B1 (ko) | 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일 | |
JPS6217252B2 (ja) | ||
US6145074A (en) | Selecting register or previous instruction result bypass as source operand path based on bypass specifier field in succeeding instruction | |
US5404558A (en) | Data driven type information processor having a plurality of memory banks | |
US6108768A (en) | Reissue logic for individually reissuing instructions trapped in a multiissue stack based computing system | |
EP0093430A2 (en) | Pipeline data processing system | |
US5274777A (en) | Digital data processor executing a conditional instruction within a single machine cycle | |
JPH10143365A (ja) | 並列処理装置及びその命令発行方式 | |
US6237086B1 (en) | 1 Method to prevent pipeline stalls in superscalar stack based computing systems | |
KR950012118B1 (ko) | 병렬 파이프라인 명령 처리 장치 | |
US4924377A (en) | Pipelined instruction processor capable of reading dependent operands in parallel | |
US7134000B2 (en) | Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information | |
JP2620505B2 (ja) | スーパースカラ・プロセッサ・システムの同期化効率を向上させる方法およびシステム | |
JP2503984B2 (ja) | 情報処理装置 | |
US11036510B2 (en) | Processing merging predicated instruction with timing permitting previous value of destination register to be unavailable when the merging predicated instruction is at a given pipeline stage at which a processing result is determined | |
JP2861560B2 (ja) | データ処理装置 | |
JP3771682B2 (ja) | ベクトル処理装置 | |
JP2763450B2 (ja) | パイプライン処理データ処理装置 | |
JP2915131B2 (ja) | データ処理装置 | |
JP2591325B2 (ja) | 分岐制御装置 | |
JPS60178539A (ja) | 情報処理装置におけるバイパス制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19960604 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080708 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090708 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100708 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110708 Year of fee payment: 15 |
|
LAPS | Cancellation because of no payment of annual fees |