JP2569867B2 - Effective Address Precalculation Pipeline Microprocessor - Google Patents
Effective Address Precalculation Pipeline MicroprocessorInfo
- Publication number
- JP2569867B2 JP2569867B2 JP2044018A JP4401890A JP2569867B2 JP 2569867 B2 JP2569867 B2 JP 2569867B2 JP 2044018 A JP2044018 A JP 2044018A JP 4401890 A JP4401890 A JP 4401890A JP 2569867 B2 JP2569867 B2 JP 2569867B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- address
- copy
- effective address
- instruction
- 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
- 238000012986 modification Methods 0.000 claims description 20
- 230000004048 modification Effects 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 14
- 238000000034 method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 5
- 101001106432 Homo sapiens Rod outer segment membrane protein 1 Proteins 0.000 description 1
- 102100021424 Rod outer segment membrane protein 1 Human genes 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は、実効アドレス先行計算型パイプライン・マ
イクロプロセッサに関し、特に、実効アドレス先行計算
に際し発生し得るレジスタ・ハザードを回避する機構に
関する。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an effective address pre-computation type pipelined microprocessor, and more particularly, to a mechanism for avoiding a register hazard that may occur in an effective address pre-computation calculation.
従来の技術 従来、パイプライン方式で動作する大型コンピュータ
では、実効アドレス計算ユニットか命令デコードユニッ
トに全ての汎用レジスタの内容をコピーするコピーレジ
スタを備えている場合がある。そして、この種のコンピ
ュータでは、デコーダが汎用レジスタの内容を変更する
命令をデコードした場合には、実効アドレス計算ユニッ
トか命令デコードユニットかが当該命令の実行結果を予
測して、コピーレジスタ値を更新するように構成されて
いる。従って、汎用レジスタをレジスタ間接アドレシン
グのベースレジスタとして使用する場合には、汎用レジ
スタをコピーしているコピーレジスタをベースレジスタ
として使用することによって、実効アドレス先行計算ス
テージで生じるレジスタハザードを回避している。2. Description of the Related Art Conventionally, a large-scale computer operating in a pipeline system may be provided with a copy register for copying the contents of all general-purpose registers to an effective address calculation unit or an instruction decode unit. In this type of computer, when the decoder decodes an instruction that changes the contents of the general-purpose register, the effective address calculation unit or the instruction decode unit predicts the execution result of the instruction and updates the copy register value. It is configured to be. Therefore, when a general-purpose register is used as a base register for register indirect addressing, a register hazard generated in the effective address preceding calculation stage is avoided by using a copy register that copies the general-purpose register as a base register. .
しかしながら、このような構成では、ハードウェアの
規模が非常に大きくなるので、同じ実効アドレス先行計
算型パイプライン方式であっても、マイクロプロセッサ
の場合には採用できなかった。従って、実効アドレス先
行計算型パイプライン方式マイクロプロセッサでは、先
行する命令でのオードモディファイ付きアドレシングに
より内容をモディファイされ得る汎用レジスタを、後続
の命令でレジスタ間接アドレシングで使用する場合に
は、レジスタハザードの発生が不可避であった。However, in such a configuration, the scale of hardware becomes very large, so that even the same effective address pre-calculation type pipeline system cannot be adopted in the case of a microprocessor. Therefore, in a pipeline microprocessor of the effective address preceding calculation type, when a general-purpose register whose contents can be modified by addressing with auto-modifying in a preceding instruction is used in register indirect addressing in a subsequent instruction, a register hazard is used. The occurrence was inevitable.
特に、ベース・アドレス・レジスタ値をオペランド・
アドレスとしアドレシング後命令実行時にベース・アド
レス・レジスタ値をデータ・サイズ分増加または減少す
るアドレシング・モード(以下、ポスト、モディファイ
・アドレシングと称す)、またはベース・アドレス・レ
ジスタ値にデータ・サイズ分の加算または減算を行なっ
た結果をオペランド・アドレスとし命令実行時に前記ベ
ース・アドレス・レジスタ値をデータ・サイズ分の加算
または減算結果にするアドレシング・モード(以下、プ
リ・モディファイ・アドレシングと称し、前記ポスト・
モディファイ・アドレシングと合せてオート・モディフ
ァイ・アドレシングと称す)の直後に、前記オート・モ
ディファイ・アドレシングによりモディファイ指定を受
けたレジスタを後続の命令でオペランド・アドレス計算
のベース・アドレス・レジスタとして指定した場合、先
行のオート・モディファイ・アドレシングを有している
命令の実行が終了するまで後続命令のアドレス生成が行
なえずパイプラインに空きが生じていた。In particular, the base address register value is
An addressing mode in which the base address register value is increased or decreased by the data size during instruction execution after addressing as an address (hereinafter referred to as “post” or “modify addressing”), or the base address register value is replaced by the data size. An addressing mode in which the result of addition or subtraction is used as an operand address to make the base address register value an addition or subtraction result of the data size at the time of instruction execution (hereinafter referred to as pre-modify addressing;・
Immediately after "modify addressing" and "auto-modify addressing", the register specified by the auto-modify addressing is specified as the base address register for operand address calculation by a subsequent instruction Until the execution of the instruction having the preceding auto-modify addressing is completed, the address generation of the succeeding instruction cannot be performed, and the pipeline has an empty space.
パイプラインの空きを、従来技術の実効アドレス先行
計算型パイプライン・マイクロプロセッサの実効アドレ
ス先行計算部周辺のブロック図である第5図及びそのタ
イミング図である第6図を参照して説明する。The vacancy of the pipeline will be described with reference to FIG. 5 which is a block diagram around the effective address advance calculation section of the prior art effective address advance calculation type pipeline microprocessor and FIG. 6 which is a timing diagram thereof.
従来技術の実効アドレス先行計算型パイプライン、マ
イクロプロセッサでは、命令コード108の内のアドレシ
グ・モード記述部501をアドレシング・モード・デコー
ダ107に入力して、モディファイ量指定信号を503を得る
と共に、命令コード108のベース・アドレス・レジスタ
識別符号部502をベース・アドレス・デコーダ105により
デコードとして、レジスタ・ファイル104からベース・
アドレス・レジスタ値506を得る。In the prior art effective address pre-computation type pipeline and microprocessor, the addressing mode description section 501 of the instruction code 108 is input to the addressing mode decoder 107 to obtain a modification amount designation signal 503, and the instruction The base address register identification code part 502 of the code 108 is decoded by the base address decoder 105 and the base
Get address register value 506.
プリ・モディファイ・アドレシングの場合、定数ROM1
03がモディファイ量を実効アドレス加算器102に供給す
るように、定数ROM103にモディファイ量指定信号503が
入力され、実効アドレス加算器102は、実効アドレス出
力505としてベース・アドレス・レジスタ値506にモディ
ファイ量を加算した値をアドレス変換器(TL)106へ出
力する。Constant ROM1 for pre-modify addressing
A modification amount designation signal 503 is input to the constant ROM 103 so that 03 supplies the modification amount to the effective address adder 102, and the effective address adder 102 outputs the modification amount to the base address register value 506 as an effective address output 505. Is output to the address translator (TL) 106.
次にポスト・モディファイ・アドレシングの場合、定
数ROM103の出力はゼロとなるように制御され、アドレス
変換器106にはベース・アドレス・レジスタ値506がその
まま出力される。Next, in the case of post-modify addressing, the output of the constant ROM 103 is controlled to be zero, and the base address register value 506 is output to the address converter 106 as it is.
実効アドレス先行計算型パイプライン・マイクロプロ
セッサにおいて、命令デコードの後の一命令処理は、実
効アドレス計算ステージ、アドレス変換ステージ、命令
実行ステージに分けることができる。In the effective address preceding calculation type pipeline microprocessor, one instruction process after instruction decoding can be divided into an effective address calculation stage, an address conversion stage, and an instruction execution stage.
例えば第8図に示す命令列を実行する場合、第6図の
命令に於けるベース・アドレス・レジスタのモディフ
ァイは、命令の実行ステージの最後(時刻Mとする)
に行なわれ、命令実行の逐次性を守るため命令の実効
アドレス計算ステージは、レジスタ・ファイル104の値
が命令実行部901により実際にモディファイされる時刻
Mまで延長される。このような先行する命令のレジスタ
値変更による後続命令の実効アドレス計算待ち状態がレ
ジスタ・ハザードと呼ばれる。For example, when executing the instruction sequence shown in FIG. 8, the modification of the base address register in the instruction shown in FIG. 6 is performed at the end of the instruction execution stage (time M).
The effective address calculation stage of the instruction is extended until the time M at which the value of the register file 104 is actually modified by the instruction execution unit 901 in order to maintain the sequentiality of instruction execution. Such a waiting state of the effective address calculation of the succeeding instruction due to the change of the register value of the preceding instruction is called a register hazard.
レジスタ・ハザードが発生した場合、命令の実効ア
ドレス計算及びアドレス変換ステージの遅れにより、命
令の実効終了から命令の開始までに2ステージ分の
実行の空きが生じる。When a register hazard occurs, two stages of execution space are generated between the end of the instruction execution and the start of the instruction due to the delay of the effective address calculation and address translation stages of the instruction.
発明が解決しようとする問題点 上述したように従来の実効アドレス先行計算型パイプ
ライン・マイクロプロセッサでは、レジスタ・ハザード
に対する回避機構をまったく有していなかったので、先
行する命令により値を書き換えられるレジスタを後続の
命令で実効アドレス計算のベース・アドレス・レジスタ
とした場合実効アドレス計算ステージでレジスタ・ハザ
ードが発生し、性能が低下することがあった。Problems to be Solved by the Invention As described above, the conventional effective address pre-computation type pipelined microprocessor has no mechanism for avoiding register hazards, so that the register whose value can be rewritten by the preceding instruction can be rewritten. Is used as the base address register for the effective address calculation in the subsequent instruction, a register hazard occurs in the effective address calculation stage, and the performance may be degraded.
そこで、本発明は、回路規模を極端に拡大することな
く、パイプラインに生じるレジスタハザードを有効に減
少することのできる新規な実効アドレス先行計算型パイ
プラインマイクロプロセッサの構成を提供することをそ
の目的としている。Accordingly, an object of the present invention is to provide a configuration of a new effective address preceding calculation type pipeline microprocessor which can effectively reduce register hazards occurring in a pipeline without extremely increasing the circuit scale. And
課題を解決するための手段 本発明によるならば、オペランド・アドレスの基底値
(以下、ベース・アドレスと称す)として使用可能なレ
ジスタ・ファイルと、 前記レジスタファイル中の任意にレジスタをベース・
アドレス・レジスタとして命令実行に先行してオペラン
ドの実効アドレスを計算生成する実効アドレス生成器
と、 実効アドレス生成結果に定数値を加算した値(以下、
モディファイ量加算結果と称す)と実効アドレス生成結
果とのいずれか一方を選択し保持するレジスタ(以下、
コピー・レジスタと称す)と、 特定のオペランド・アドレス指定方法(以下、特定の
アドレシング・モードと称す)を検出する機構と、 前記特定のアドレシング・モード使用時にコピー・レ
ジスタに実効アドレス生成結果またはモディファイ量加
算結果を書き込む制御機構と、 その書き込み履歴を記憶する機構(以下、コピー・バ
リッド・ビットと称す)と、 前記特定アドレシング・モード指定時のベース・アド
レス・レジスタとして使用するレジスタの識別符号を記
憶するレジスタ(以下、コピー・レジスタ識別符号ラッ
チと称す)と、 前記コピー・バリッド・ビットがコピー・レジスタに
書き込みが有ったことを示す状態(以下、バリット状態
と称す)でありかつ前記コピー・レジスタ識別符号ラッ
チの値とベース・アドレス・レジスタ番号が一致した場
合に、レジスタ・ファイルからではなく前記コピー・レ
ジスタ値を実効アドレス生成器を供給するデータ・バス
と を有することを特徴とする実効アドレス先行計算型パイ
プライン・マイクロプロセッサが提供される。Means for Solving the Problems According to the present invention, a register file that can be used as a base value of an operand address (hereinafter, referred to as a base address);
An effective address generator that calculates and generates an effective address of an operand prior to instruction execution as an address register, and a value obtained by adding a constant value to an effective address generation result (hereinafter, referred to as an address register).
A register (hereinafter referred to as a register) that selects and holds one of a modification amount addition result and an effective address generation result.
A mechanism for detecting a specific operand addressing method (hereinafter referred to as a specific addressing mode); and an effective address generation result or a modification in the copy register when the specific addressing mode is used. A control mechanism for writing the result of the quantity addition, a mechanism for storing the write history (hereinafter referred to as a copy valid bit), and an identification code of a register used as a base address register when the specific addressing mode is designated. A register to be stored (hereinafter, referred to as a copy register identification code latch); and a state in which the copy valid bit indicates that the copy register has been written (hereinafter, referred to as a valid state).・ Register identification code latch value and base address register A data bus for providing the effective address generator with the copy register value, rather than from a register file, if the data numbers match. Is done.
本発明の好ましい実施態様においては、コピー・レジ
スタ識別符号ラッチが保持するレジスタ識別符号を予め
固定し(以下、本識別符号で指定されるレジスタを特定
レジスタと称す)、命令コードの全部あるいは一部をデ
コードして特定レジスタがベース・アドレス・レジスタ
として使用されることを検出した場合のみコピー・レジ
スタへの書き込みと実効アドレス生成器への読み出しを
個別に行なう制御機構が設けられる。In a preferred embodiment of the present invention, the register identification code held by the copy register identification code latch is fixed in advance (hereinafter, the register specified by this identification code is referred to as a specific register), and all or part of the instruction code is stored. And a control mechanism for individually writing to the copy register and reading to the effective address generator only when it is detected that the specific register is used as the base address register.
また、本発明の好ましい別の実施態様においては、ベ
ース・アドレス・レジスタの識別符号が特定レジスタの
識別符号である場合に、コピー・レジスタ識別符号ラッ
チへのラッチ動作を抑制する機構と、前記特定レジスタ
がベース・アドレス・レジスタとして使用される場合の
み別に専用に設けたコピー・レジスタへの書き込みと実
効アドレス生成器への読み出しを個別に行なう制御機構
とが設けられる。Further, in another preferred embodiment of the present invention, when the identification code of the base address register is the identification code of the specific register, a mechanism for suppressing a latch operation to the copy register identification code latch, Only when the register is used as a base address register, there is provided a control mechanism for separately writing to a dedicated copy register and reading to an effective address generator.
作用 前述したように、従来の実効アドレス先行計算型パイ
プラインマイクロプロセッサでは、実効アドレス先行計
算ステージで発生するレジスタハザードに対して何ら対
策されていなかった。Operation As described above, in the conventional effective address advance calculation type pipeline microprocessor, no countermeasures are taken against the register hazard generated in the effective address advance calculation stage.
このような従来技術に対して、本発明に係る実効アド
レス先行計算型パイプラインマイクロプロセッサは、先
行する命令でオート・モディファイ・アドレシング・モ
ードを使用しかつ後続の命令で前記オート・モディファ
イ・アドレシングでモーディファイ指定されたレジスタ
をベース・アドレス・レジスタとして使用する場合、先
行命令で実効アドレスを生成すると共に計算しておいた
ベース・アドレス・レジスタのモディファイ後の値をコ
ピー・レジスタに保持し、後続の命令で実効アドレス計
算のベース・アドレス・レジスタ値として先行供給する
機構を有する。Contrary to such prior art, the effective address pre-computation type pipeline microprocessor according to the present invention uses the auto-modify addressing mode for the preceding instruction and uses the auto-modify addressing mode for the subsequent instruction. When a modified register is used as the base address register, the effective address is generated by the preceding instruction and the modified value of the base address register calculated and held in the copy register is stored in the copy register. Has a mechanism to pre-supply as the base address register value of the effective address calculation by the instruction of (1).
このように構成された本発明に係るマイクロプロセッ
サでは、先行する命令のオートモディファイ付きレジス
タ間接アドレシングで使用した汎用レジスタと同一のレ
ジスタをベースアドレスレジスタとして使用する後続命
令の実効アドレス先行計算ステージにおいて生じるレジ
スタハザードを比較的小規模なハードウエアで効果的に
回避することができる。In the microprocessor according to the present invention configured as described above, this occurs in the effective address pre-calculation stage of the subsequent instruction using the same register as the base address register as the general-purpose register used in the register indirect addressing with auto-modification of the preceding instruction. Register hazards can be effectively avoided with relatively small hardware.
以下に図面を参照して本発明をより具体的に詳述する
が、以下の開示は本発明の一実施例に過ぎず、本発明の
技術的範囲を何ら限定するものではない。Hereinafter, the present invention will be described in more detail with reference to the drawings. However, the following disclosure is merely an example of the present invention, and does not limit the technical scope of the present invention.
実施例1 第1図は、本発明に係る実効アドレス先行計算型パイ
プラインマイクロプロセッサの第1実施例を示すブロッ
ク図である。Embodiment 1 FIG. 1 is a block diagram showing a first embodiment of a pipeline microprocessor of an effective address preceding calculation type according to the present invention.
尚、この実効アドレス先行計算型パイプライン方式の
マイクロプロセッサは、汎用レジスタ内にスタックポイ
ンタを備え、このスタックポインタをベースアドレスと
するポストインクリメント付きレジスタ間接アドレシン
グモードとプリデクリメント付きレジスタ間接アドレシ
ングモードとの2種類のオートモディファイ付きレジス
タ間接アドレシング機能を備えている。Note that this effective address preceding calculation type pipelined microprocessor has a stack pointer in a general-purpose register, and a register indirect addressing mode with post-increment and a register indirect addressing mode with pre-decrement using the stack pointer as a base address. It has two types of register indirect addressing functions with auto-modify.
第1図に示すように、この実効アドレス先行計算型パ
イプラインマイクロプロセッサは、命令デコーダ11、実
効アドレス計算ユニット12および命令実効ユニット13か
ら主に構成されている。As shown in FIG. 1, the effective address preceding calculation type pipeline microprocessor mainly includes an instruction decoder 11, an effective address calculation unit 12, and an instruction execution unit 13.
実効アドレス計算ユニット12は以下のような要素を備
えている。即ち、オートモディファイ付き間接アドレシ
ングに使用されたレジスタのモディファイ後のレジスタ
値を計算するために、モディファイ量を出力する定数RO
M16と、そのモディファイ量をベースレジスタバス24上
のデータと加算するアドレス加算器17と、ベースレジス
タバス24上のデータあるいはアドレス加算器17の出力の
いずれか一方をオペランドアドレス選択信号35に従って
選択してオペランドアドレスバス23に供給するオペラン
ドアドレスマルチプレクサ25と、アドレス加算結果をア
ドレス加算器17からコピーアドレスレジスタ18に導くた
めの実効アドレスライトバックバス22と、命令デコーダ
ドニット101からの指令であるベースアドレスレジスタ
選択信号33により、命令実行ユニット13内の汎用レジス
タファイル26からベースレジスタバス21を介して出力さ
れる出力またはコピーアドレスレジスタ18の出力をマル
チプレックスするベースレジスタマルチプレクサ19とを
備えている。The effective address calculation unit 12 has the following elements. That is, in order to calculate the modified register value of the register used for the indirect addressing with auto-modification, a constant RO for outputting the amount of modification is used.
M16, an address adder 17 for adding the amount of modification to the data on the base register bus 24, and either one of the data on the base register bus 24 or the output of the address adder 17 is selected according to the operand address selection signal 35. And an effective address write-back bus 22 for guiding the address addition result from the address adder 17 to the copy address register 18, and a base which is a command from the instruction decoder unit 101. A base register multiplexer 19 multiplexes an output output from the general-purpose register file 26 in the instruction execution unit 13 via the base register bus 21 or an output of the copy address register 18 in response to the address register selection signal 33.
また、命令デコードユニット11は、以下のように構成
されている。即ち、命令デコーダ14と、命令実行指令情
報レジスタ27と、コピーレジスタバリッドビット15とを
備えている。命令デコーダ14からは定数ROM16の出力を
指定するモディファイ量指定信号31が出力される。更
に、命令デコーダ14からは、コピーライト信号34と、ベ
ースアドレスレジスタとして使用する汎用レジスタを指
定するベースレジスタ指定信号32と、ベースアドレスレ
ジスタとしてコピーの対象とすべきスタックポインタが
指定されていることを検出する信号であるスタックポイ
ンタ使用検出信号37と、プリデクリメント付きレジスタ
間接アドレス計算か否かを指示するオペランドアドレス
選択信号35とが出力される。The instruction decode unit 11 is configured as follows. That is, it includes an instruction decoder 14, an instruction execution instruction information register 27, and a copy register valid bit 15. The instruction decoder 14 outputs a modify amount designation signal 31 for designating the output of the constant ROM 16. Further, the instruction decoder 14 specifies a copyright signal 34, a base register specifying signal 32 for specifying a general-purpose register to be used as a base address register, and a stack pointer to be copied as a base address register. And an operand address selection signal 35 indicating whether or not to calculate a register indirect address with pre-decrement.
更に、命令実行ユニット13内は、レジスタ間接アドレ
シングモードでベースアドレスレジスタとして使用する
汎用レジスタファイル26を備えている。そのモディファ
イおよび命令の実行情報は、実効アドレス計算の後に命
令実行指定情報レジスタ27にセットされ、その出力であ
る命令実行指定情報36により指示される。Further, the instruction execution unit 13 includes a general-purpose register file 26 used as a base address register in the register indirect addressing mode. The modification and instruction execution information are set in the instruction execution designation information register 27 after the effective address calculation, and are specified by the instruction execution designation information 36 which is the output.
以上のように構成された本発明に係る実効アドレス先
行計算型パイプラインマイクロプロセッサでは、通常
は、レジスタ間接アドレシングの実効アドレス計算は、
ベースレジスタ指定信号32により指定された命令実行ユ
ニット13内の汎用レジスタファイル26からの出力をベー
スアドレスとして実行される。In the effective address preceding calculation type pipeline microprocessor according to the present invention configured as described above, usually, the effective address calculation of the register indirect addressing is as follows.
The output from the general-purpose register file 26 in the instruction execution unit 13 designated by the base register designation signal 32 is executed as a base address.
命令によりアドレシングモードとしてプリデクリメン
ト付きレジスタ間接アドレシングが指定された場合は、
オペランドアドレス選択信号35により、ベースアドレス
バス24上のデータがオペランドアドレスバス23に出力さ
れるように、一方、その他のアドレシングモードが指定
された場合は、アドレス加算器17の出力がオペランドア
ドレスバス23上に出力されるように、オペランドアドレ
ス選択信号35がオペランドアドレスマルチプレクサ25に
入力される。If the instruction specifies register indirect addressing with pre-decrement as the addressing mode,
Operand address selection signal 35 causes data on base address bus 24 to be output to operand address bus 23. On the other hand, when another addressing mode is specified, the output of address adder 17 is output to operand address bus 23. As output above, operand address select signal 35 is input to operand address multiplexer 25.
更に、それとは別に、オートモディファイ付きレジス
タ間接アドレシングモードの場合には、モディファイ量
をモディファイ量指定信号31により指定し、定数ROM16
から出力させ、ベースアドレスバス24上のデータとアド
レス加算器17により加算する。Further, separately from the above, in the case of the register indirect addressing mode with auto-modification, the modification amount is designated by the modification amount designation signal 31, and the constant ROM 16
And adds the data on the base address bus 24 to the address adder 17.
オートモディファイ付きレジスタ間接アドレス計算の
ベースアドレスレジスタとしてスタックポインタが指定
された場合には、コピーライト信号34をアクティブに
し、実効アドレスライトバックバス22経由でアドレス加
算器17から送られてくるデータをコピーアドレスレジス
タ18に書き込むと同時に、コピーレジスタバリッドビッ
ト15をアクティブにする。When the stack pointer is specified as the base address register for register indirect address calculation with auto-modify, the copy signal 34 is activated, and the data sent from the address adder 17 via the effective address write-back bus 22 is copied. At the same time as writing to the address register 18, the copy register valid bit 15 is activated.
次に、前記命令に続く命令において、スタックポイン
タをベースアドレスレジスタとして使用する場合には、
コピーレジスタバリッドビット15がアクティブであるか
ぎりコピーアドレスレジスタ18の出力を汎用レジスタフ
ァイル26の出力であるベースレジスタバス21上のデータ
の代替として使用する。Next, in a case where the stack pointer is used as a base address register in an instruction following the instruction,
As long as the copy register valid bit 15 is active, the output of the copy address register 18 is used as a substitute for the data on the base register bus 21, which is the output of the general-purpose register file 26.
ベースアドレスとしてベースレジスタバス21のデータ
を使用するか、コピーアドレスレジスタ18の出力データ
を使用するかは、スタックポインタ使用検出信号37とコ
ピーレジスタバリッドビット15の論理積であるベースア
ドレスレジスタ選択信号33により指定された、それがア
クティブのときコピーアドレスレジスタ18をベースアド
レスレジスタとして使用する。Whether to use the data of the base register bus 21 or the output data of the copy address register 18 as the base address is determined by the logical product of the stack pointer use detection signal 37 and the copy register valid bit 15 and the base address register selection signal 33. Use the copy address register 18 as the base address register when it is active.
このように、汎用レジスタの内容とコピーアドレスレ
ジスタの内容を使い分けることにより、本発明の実効ア
ドレス先行計算型パイプラインマイクロプロセッサは、
スタックポインタ使用時のレジスタ間接アドレス計算に
おいて、レジスタハザード状態による待合わせがなく、
パイプラインの効率が低下しない。As described above, by selectively using the contents of the general-purpose register and the contents of the copy address register, the effective address preceding calculation type pipeline microprocessor of the present invention can
When calculating the register indirect address when using the stack pointer, there is no waiting due to the register hazard state.
Pipeline efficiency does not decrease.
以上説明したように、第1実施例による実効アドレス
先行計算型パイプラインマイクロプロセッサは、その実
効アドレス計算ユニット内にオートモディファイ付きア
ドレシングに使用される頻度の高い汎用レジスタファイ
ル内の一部の特定レジスタのモディファイ結果の予測値
を保持するコピーアドレスレジスタを備えている。従っ
て、後続命令の実効アドレス先行計算ステージにおいて
前記特定汎用レジスタをレジスタ間接アドレシングのベ
ースアドレスレジスタとして使用するよう指定されてい
る場合には、実効アドレス先行計算ユニット内のコピー
アドレスレジスタ値を代替に使用して、正しい実効アド
レス値を得ることができる。As described above, the effective address pre-computation type pipeline microprocessor according to the first embodiment includes, in its effective address calculation unit, some specific registers in a general-purpose register file frequently used for addressing with auto-modify. Is provided with a copy address register that holds a predicted value of the modification result. Therefore, when the specific general-purpose register is specified to be used as the base address register of the register indirect addressing in the effective address preceding calculation stage of the subsequent instruction, the copy address register value in the effective address preceding calculation unit is used instead. Thus, a correct effective address value can be obtained.
特に、オートモディファイアドレシング時にスタック
ポインタ等の一部のベースアドレスレジスタとして多用
されるレジスタのコピーを実効アドレス計算ユニット内
に設けることによって、比較的小規模にハードウェア量
で実効アドレス先行計算ステージにおけるレジスタハザ
ードの発生を抑止し、パイプラインの効率低下を防ぐこ
とができる。In particular, by providing a copy of a register frequently used as a part of the base address register such as a stack pointer at the time of auto-modify addressing in the effective address calculation unit, the register in the effective address preceding calculation stage can be relatively small in hardware amount. Hazard generation can be suppressed, and a decrease in pipeline efficiency can be prevented.
実施例2 第2図は、本発明を実効アドレス先行計算型パイプラ
イン・マイクロプロセッサに実施した第2実施例のブロ
ック図である。なお、第5図に示す構成要素に対応する
構成要素には同一の参照番号を付してある。Embodiment 2 FIG. 2 is a block diagram of a second embodiment in which the present invention is applied to an effective address pre-calculation type pipeline microprocessor. The components corresponding to the components shown in FIG. 5 are denoted by the same reference numerals.
図示の実効アドレス先行計算型パイプライン・マイク
ロプロセッサを第2実施例は、ベース・アドレス・レジ
スタ識別符号部502を記憶するコピー・レジスタ識別符
号ラッチ205と、そのコピー・レジスタ識別符号ラッタ2
05が保持する値とベース・アドレス・レジスタ識別符号
部502を比較し等しいことを検出する識別符号比較品206
とを有している。図示の実効アドレス先行計算型パイプ
ライン・マイクロプロセッサは更に、実効アドレス加算
器出力607を保持するコピー・レジスタ201と、ベース・
アドレス・バス609上の値を保持するベース・アドレ
ス、バイパス・レジスタ209と、実効アドレス加算器102
の出力607とベース・アドレス・バイパス・レジスタ209
の出力とのいずれか一方を、アドレシング・モード・デ
コーダ107の出力である実効アドレス選択信号601により
選択して、アドレス変換器106に出力する実効アドレス
・マルチプレクサ204とを有している。加えて、コピー
・レジスタ出力バッファ202と、レジスタ・ファイル出
力バッファ203と、コピー・レジスタ・バリッド・ビッ
ト207とを具備している。The illustrated effective address pre-computation type pipeline microprocessor according to the second embodiment includes a copy register identification code latch 205 for storing a base address register identification code unit 502 and a copy register identification code latch 2.
An identification code comparison product 206 that compares the value held by 05 with the base address register identification code unit 502 and detects that they are equal.
And The illustrated effective address pre-computation pipelined microprocessor further includes a copy register 201 holding an effective address adder output 607, and a base register.
Base address holding the value on address bus 609, bypass register 209 and effective address adder 102
Output 607 and base address bypass register 209
And an effective address multiplexer 204 that selects one of the outputs from the effective address selection signal 601 output from the addressing mode decoder 107 and outputs it to the address converter 106. In addition, it includes a copy register output buffer 202, a register file output buffer 203, and a copy register valid bit 207.
タイミング生成器208が設けられている。このタイミ
ング生成器208は、コピー・レジスタ識別符号ラッチ205
へのオート・モディファイ・アドレシング時のベース・
アドレス・レジスタ識別符号をラッチするタイミング信
号(コピー・レジスタ識別符号ラッチ信号604)と、コ
ピー・レジスタ201への実効アドレス加算器102の出力60
7をラッチするタイミング信号(コピー・レジスタ・ラ
ッチ信号603)と、コピー・レジスタ・バリッド・ビッ
ト207のセット・タイミング信号(コピー・バリット・
セット信号605)とを生成する。なお、コピー・レジス
タ・バリッド・ビット207の初期状態はインバリッドで
ある。A timing generator 208 is provided. The timing generator 208 includes a copy register identification code latch 205
Base during auto-modify addressing
A timing signal (copy register identification code latch signal 604) for latching the address register identification code, and the output 60 of the effective address adder 102 to the copy register 201
7 (copy register latch signal 603) and a set timing signal of copy register valid bit 207 (copy valid bit 207).
And a set signal 605). The initial state of the copy register valid bit 207 is invalid.
いま前述の従来例と同様の命令列が、第2実施例の実
効アドレス先行計算型パイプライン・マイクロプロセッ
サに供給された場合、命令の実効アドレス計算ステー
ジではレジスタr31の値をレジスタ・ファイル104からレ
ジスタ・ファイル出力バッファ203を介してベース・ア
ドレス・バス609に供給し、同時にモディファイ量を定
数ROM103から得て実効アドレス加算器102で加算され実
効アドレス出力505に転送するように、アドレシング・
モード・デコーダ107からモディファイ量指定信号503及
び実効アドレス選択信号601が出力される。If an instruction sequence similar to that of the above-described conventional example is supplied to the effective address preceding calculation type pipeline microprocessor of the second embodiment, the value of the register r31 is read from the register file 104 in the effective address calculation stage of the instruction. The addressing signal is supplied to the base address bus 609 via the register file output buffer 203, and at the same time, the amount of modification is obtained from the constant ROM 103, added by the effective address adder 102, and transferred to the effective address output 505.
The mode decoder 107 outputs a modify amount designation signal 503 and an effective address selection signal 601.
これと同時にタイミング生成器208は、オート・モデ
ィファイ・アドレジング検出信号602を受けることによ
り、実効アドレス加算器出力607をコピー・レジスタ201
にラッチするようにコピー・レジスタ・ラッチ信号603
を出力し、命令で指定したベース・アドレス・レジス
タ識別符号をコピー・レジスタ識別符号ラッチ205へ格
納するようコピー・レジスタ識別符号ラッチ信号604を
出力し、コピー・レジスタ・バリッド・ビット207をセ
ットするようにコピー・バリッド・セット信号605を出
力する。タイミング生成器208の各出力及びコピー・レ
ジスタ・バリッド信号606の関係のタイミング図を第7
図に示す。At the same time, the timing generator 208 receives the auto-modify addressing detection signal 602, and outputs the effective address adder output 607 to the copy register 201.
Copy register latch signal 603
And outputs a copy register identification code latch signal 604 to store the base address register identification code specified by the instruction in the copy register identification code latch 205, and sets the copy register valid bit 207. Thus, a copy valid set signal 605 is output. FIG. 7 is a timing chart showing the relationship between each output of the timing generator 208 and the copy register valid signal 606.
Shown in the figure.
次に、命令に於ける実効アドレス計算ステージのタ
イミングについて解説する。命令コード108中のベース
・アドレス・レジスタ識別符号502は命令と同様にレ
ジスタr31を示し、コピー・レジスタ識別符号ラッチ205
値と一致するため、識別符号比較器206の出力はアクテ
ィブとなる。その識別符号比較器206の出力は、コピー
・レジスタ・バリッド信号606と論理積をとられ、コピ
ー・レジスタ・リード信号610をアクティブにし、コピ
ー・レジスタ201の値がベース・アドレス・バス609に読
み出される。Next, the timing of the effective address calculation stage in the instruction will be described. The base address register identification code 502 in the instruction code 108 indicates the register r31 similarly to the instruction, and the copy register identification code latch 205
Since the value matches the value, the output of the identification code comparator 206 becomes active. The output of the identification code comparator 206 is ANDed with the copy register valid signal 606 to activate the copy register read signal 610, and the value of the copy register 201 is read to the base address bus 609. It is.
コピー・レジスタ・リード信号610は、同時にレジス
タ・ファイル104からの出力ベース・アドレス・レジス
タ値506が前記ベース・アドレス・バス609上に出力され
ることを抑制する。The copy register read signal 610 inhibits the output base address register value 506 from the register file 104 from being output on the base address bus 609 at the same time.
ここで、コピー・レジスタ201の値は命令実効結果
を先行して得られた値であるため、レジスタ・ハザード
は発生しない。Here, since the value of the copy register 201 is a value obtained in advance of the instruction execution result, no register hazard occurs.
また、命令はポスト・モディファイ・アドレシング
を持つので、実効アドレス出力505が、ベース・アドレ
ス・バイパス・ラッチ209介したベース・アドレス・バ
ス609上の値をとるように、実効アドレス選択信号601が
実効アドレス・マルラプレクサ204を制御し、命令の
実効アドレス計算ステージの最後で実効アドレス加算器
102の出力607をコピー・レジスタ201に再ラッチし、ポ
スト・モディファイ・アドレシグ結果つまり命令実行
後のレジスタr31の値を得る。Also, since the instruction has post-modify addressing, the effective address select signal 601 is activated so that the effective address output 505 takes the value on the base address bus 609 via the base address bypass latch 209. Controls the address multiplexer 250 and provides an effective address adder at the end of the effective address calculation stage of the instruction.
The output 607 of 102 is relatched in the copy register 201, and the result of the post-modify addressing, that is, the value of the register r31 after execution of the instruction is obtained.
かくして、従来技術で示したような命令におけるレ
ジスタ・ハザードが回避され、第7図に示すように命令
の実効アドレス先行計算期間は短縮され、かつ命令
と命令の間の命令実行ステージの空きが削除される。Thus, register hazard in the instruction as shown in the prior art is avoided, the effective address preceding calculation period of the instruction is shortened as shown in FIG. 7, and the vacancy of the instruction execution stage between instructions is eliminated. Is done.
実施例3 第3図は、本発明を実効アドレス先行計算型パイプラ
イン・マイクロプロセッサに実施した第3実施例のブロ
ック図である。なお、第2図に示す構成要素に対応する
構成要素には同一の参照番号を付してある 第3実施例は、第2実施例におるコピー・レジスタ識
別符号ラッチ205、識別符号比較器206、コピー・レジス
タ識別符号ラッチ信号604を廃し、代りにレジスタ・フ
ァイル104中の特定レジスタをベース・アドレス・レジ
スタとして使用することを命令コード108をデコードし
て固定的に検出する特定レジスタ使用検出器301を設け
ている。Third Embodiment FIG. 3 is a block diagram of a third embodiment in which the present invention is applied to an effective address precalculation type pipeline microprocessor. The components corresponding to the components shown in FIG. 2 are denoted by the same reference numerals. In the third embodiment, the copy register identification code latch 205 and the identification code comparator 206 in the second embodiment are used. A specific register use detector that abolishes the copy register identification code latch signal 604 and instead detects the fixed use of the instruction code 108 by decoding the instruction code 108 to use the specific register in the register file 104 as the base address register. 301 is provided.
ベース・アドレス・レジスタとして特定レジスタが指
定された場合のみ特定レジスタ使用検出器301の出力が
アクティブとなり、タイミング生成器208が活性化さ
れ、第1実施例と同様のコピー・レジスタ201の値の更
新動作及びベース・アドレス・バス609上への読み出し
動作が行なわれる。Only when a specific register is designated as the base address register, the output of the specific register use detector 301 becomes active, the timing generator 208 is activated, and the value of the copy register 201 is updated as in the first embodiment. An operation and a read operation on the base address bus 609 are performed.
実施例4 第4図は、本発明を実効アドレス先行計算型パイプラ
イン・マイクロプロセッサに実施した第4実施例のブロ
ック図である。なお、第2図及び第3図に示す構成要素
に対応する構成要素には同一の参照番号を付してある。Embodiment 4 FIG. 4 is a block diagram of a fourth embodiment in which the present invention is applied to an effective address pre-computation type pipeline microprocessor. The components corresponding to those shown in FIGS. 2 and 3 are denoted by the same reference numerals.
第4実施例の実効アドレス先行計算型パイプライン・
マイクロプロセッサは、第2実施例で述べたコピー・レ
ジスタ識別符号ラッチ205と識別符号比較器206、第3実
施例で述べた特定レジスタ式用検出器301に加えて、特
定レジスタがベース・アドレス・レジスタとして指定さ
れた場合用の特定レジスタ用コピー・レジスタ403と、
特定レジスタ用コピー・レジスタ・リード・バッファ40
7と、特定レジスタ用タイミング生成器401と、特定レジ
スタ用コピー・バリッド・ビット402と、ベース・アド
レス・レジスタが特定レジスタ以外の任意のレジスタで
ある場合用の特定外レジスタ用コピー・レジスタ406
と、特定外コピー・レジスタ・リード・バッファ408
と、特定外レジスタ用タイミング生成器404と、特定外
レジスタ用コピー・バリッド・ビット405とを有してい
る。Effective address preceding calculation type pipeline of the fourth embodiment
The microprocessor includes a copy register identification code latch 205 and an identification code comparator 206 described in the second embodiment, and a specific register type detector 301 described in the third embodiment. A copy register 403 for a specific register for when specified as a register;
Copy register read buffer 40 for specific register
7, a specific register timing generator 401, a specific register copy valid bit 402, and a non-specific register copy register 406 for a case where the base address register is any register other than the specific register.
And unspecified copy register read buffer 408
And a non-specific register timing generator 404 and a non-specific register copy valid bit 405.
特定レジスタ用タイミング生成器401は、特定レジス
タ使用検出器301の出力とオート・モディファイ・アド
レシング検出信号602の論理積により活性化され、特定
レジスタ用コピー・レジスタ・ラッタ信号708と、特定
レジスタ用コピー・バリッド・セット信号709を出力す
る。逆に、特定外レジスタ用タイミング生成器404の出
力である特定外レジスタ用コピー・レジスタ識別符号ラ
ッチ信号703、特定外レジスタ用コピー・バリッド・セ
ット信号702、特定外レジスタ用コピー・レジスタ・ラ
ッチ信号701は、特定レジスタ使用検出器301の出力によ
り抑制される。従って、特定レジスタの先行モディファ
イ値の特定レジスタ用コピー・レジスタ403と特定外レ
ジスタ用コピー・レジスタ406への冗長記憶を回避して
いる。The specific register timing generator 401 is activated by the logical product of the output of the specific register use detector 301 and the auto-modify addressing detection signal 602, and the specific register copy / register / rutter signal 708 and the specific register copy -Output the valid set signal 709. Conversely, the non-specific register timing generator 404 outputs non-specific register copy register identification code latch signal 703, non-specific register copy valid set signal 702, non-specific register copy register latch signal 701 is suppressed by the output of the specific register use detector 301. Therefore, redundant storage of the preceding modify value of the specific register in the specific register copy register 403 and the non-specific register copy register 406 is avoided.
また、レジスタ・ファイル104からのベース・アドレ
ス・レジスタ値の読み出しは、特定レジスタ用コピー・
レジスタ・リード信号706及び特定外レジスタ用コピー
・レジスタ・リード信号707が共にインアクティブ状態
の時のみ行なわれる。Reading of the base address register value from the register file 104 is performed by copying a specific register.
This is performed only when both the register read signal 706 and the non-specific register copy register read signal 707 are in the inactive state.
第4実施例の基本的動作は、上述した事項を除き先に
述べた第2実施例及び第3実施例と同様である。The basic operation of the fourth embodiment is the same as that of the above-described second and third embodiments except for the matters described above.
発明の効果 以上説明したように本発明の実効アドレス先行計算型
パイプライン・マイクロプロセッサでは、オート・モデ
ィファイ・アドレシングにおいてベース・アドレス・レ
ジスタとして使用したレジスタを後続の命令でベース・
アドレス・レジスタとして使用した場合のレジスタ・ハ
ザードを回避する機構を有しているので、前記条件に於
いて性能の低下を防ぐことができる。Effect of the Invention As described above, in the effective address pre-computation type pipeline microprocessor of the present invention, the register used as the base address register in the auto-modify addressing is used in the subsequent instruction.
Since a mechanism for avoiding register hazard when used as an address register is provided, it is possible to prevent a decrease in performance under the above conditions.
第1図は、本発明に係る実効アドレス先行計算型パイプ
ラインマイクロプロセッサの第1実施例を示すブロック
図である。 第2図、第3図及び第4図は、各々本発明の実施例2、
3、4による実効アドレス先行計算型パイプライン・マ
イクロプロセッサの実効アドレス先行計算に関わる主な
部分を説明したブロック図である。 第5図は、従来技術による実効アドレス先行計算型パイ
プライン・マイクロプロセッサの実効アドレス先行計算
に関わる主な部分を説明したブロック図である。 第6図は、従来技術による実効アドレス先行計算型パイ
プライン・マイクロプロセッサの実効アドレス計算及び
命令実行のタイミングチャートである。 第7図は、本発明による実効アドレス先行計算型パイプ
ライン・マイクロプロセッサの実効アドレス計算及び命
令実行のタイミングチャートである。 第8図は、本発明の実施例の結果を示すために用いた命
令列である。 〔主な参照番号〕 11……命令デコーダ、 12……実効アドレス計算ユニット、 13……命令実行ユニット、 14……命令デコーダ、 15……コピーレジスタバリッドビット、 16、103……定数ROM 17、102……アドレス加算器 18……コピーアドレスレジスタ、 19……ベースレジスタマルチプレクサ、 25……オペランドアドレスマルチプレクサ、 26、104……レジスタファイル、 27……命令実行指定情報レジスタ、 21……ベースレジスタバス、 22……実効アドレスライトバックバス、 23……オペランドアドレスバス、 24……ベースアドスバス、 32……ベースレジスタ指定信号、 33……ベースアドレスレジスタ選択信号、 34……コピーライト信号、 35……オペランドアドレス選択信号、 36……命令実行指定情報、 37……スタックポインタ使用検出信号 105……ベース・アドレス・レジスタ・デコーダ 106……アドレス変換器 107……アドレシング・モード・デコーダ 108……命令コード 201……コピー・レジスタ 204……実効アドレス・マルチプレクサ 205……コピー・レジスタ識別符号ラッチ 206……識別符号比較器 207……コピー・レジスタ・バリッド・ビット 208……タイミング生成器 209……ベース・アドレス・バイパス・レジスタ 301……特定レジスタ使用検出器 401……特定レジスタ用タイミング生成器 402……特定レジスタ用コピー・バリット・ビット 403……特定レジスタ用コピー・レジスタ 404……特定外レジスタ用タイミング生成器 405……特定外レジスタ用コピー・バリッド・ビット 406……特定外レジスタ用コピー・レジスタ 407……特定レジスタ用コピー・レジスタ・リード・バ
ッファ 408……特定外レジスタ用コピー・レジスタ・リード・
バッファ 501……アドレシング・モード記述部 502……ベース・アドレス・レジスタ識別符号部 503……モディファイ量指定信号 505……実効アドレス出力 506……ベース・アドレス・レジスタ値 601……実効アドレス選択信号 602……オート・モディファイ・アドレシング検出信号 603……コピー・レジスタ・ラッチ信号 604……コピー・レジスタ識別符号ラッチ信号 605……コピー・バリッド・セット信号 606……コピー・レジスタ・バリッド信号 607……実効アドレス加算器出力 609……ベース・アドレス・バス 610……コピー・レジスタ・リード信号 901……命令実行部FIG. 1 is a block diagram showing a first embodiment of a pipeline microprocessor of an effective address preceding calculation type according to the present invention. FIGS. 2, 3 and 4 show Embodiment 2 of the present invention, respectively.
FIG. 3 is a block diagram illustrating a main part related to effective address advance calculation of an effective address advance calculation type pipeline microprocessor according to 3 and 4. FIG. 5 is a block diagram for explaining the main part related to the effective address advance calculation of the effective address advance calculation type pipeline microprocessor according to the prior art. FIG. 6 is a timing chart of the effective address calculation and the instruction execution of the prior art effective-precision pipeline microprocessor. FIG. 7 is a timing chart of the effective address calculation and the instruction execution of the effective address preceding calculation type pipeline microprocessor according to the present invention. FIG. 8 is an instruction sequence used to show the result of the embodiment of the present invention. [Main Reference Numbers] 11: Instruction decoder, 12: Effective address calculation unit, 13: Instruction execution unit, 14: Instruction decoder, 15: Copy register valid bit, 16, 103: Constant ROM 17, 102: Address adder 18: Copy address register, 19: Base register multiplexer, 25: Operand address multiplexer, 26, 104: Register file, 27: Instruction execution designation information register, 21: Base register bus 22, effective address write-back bus, 23, operand address bus, 24, base address bus, 32, base register designation signal, 33, base address register selection signal, 34, copyright signal, 35 ... Operand address selection signal, 36 ... Instruction execution designation information, 37 ... Stack pointer use detection signal 105 ... Base -Address register decoder 106-Address converter 107-Addressing mode decoder 108-Instruction code 201-Copy register 204-Effective address multiplexer 205-Copy register identification code latch 206- Identification code comparator 207… Copy register valid bit 208… Timing generator 209… Base address bypass register 301… Specific register use detector 401… Specific register timing generator 402… Copy valid bit for specific register 403: Copy register for specific register 404: Timing generator for non-specific register 405: Copy valid bit for non-specific register 406: Copy register for non-specific register 407 …… Specified register copy register read buffer 408 …… Unspecified register Copy register read
Buffer 501: Addressing mode description unit 502: Base address register identification code unit 503: Modification amount designation signal 505: Effective address output 506: Base address register value 601: Effective address selection signal 602 …… Auto-modify addressing detection signal 603 …… Copy register latch signal 604 …… Copy register identification code latch signal 605 …… Copy valid set signal 606 …… Copy register valid signal 607 …… Effective Address adder output 609: Base address bus 610: Copy register read signal 901: Instruction execution unit
Claims (1)
として使用可能なレジスタ・ファイルと、 前記レジスタファイル中の任意のレジスタをベース・ア
ドレス・レジスタとして命令実行に先行してオペランド
の実効アドレスを計算生成する実効アドレス生成器と、 実効アドレス生成結果に定数値を加算して得られるモデ
ィファイ量加算結果と、実効アドレス生成結果との一方
を選択し保持するコピー・レジスタと、 特定のオペランド・アドレス指定方法を検出する機構
と、 前記特定のオペランド・アドレス指定方法の使用時に前
記コピー・レジスタに実効アドレス生成結果またはモデ
ィファイ量加算結果を書き込む制御機構と、 該書き込む制御機構の書き込み履歴を記憶する履歴記憶
機構と、 前記特定のオペランド・アドレス指定方法においてベー
ス・アドレス・レジスタとして使用するレジスタの識別
符号を記憶する識別符号記憶レジスタと、 前記履歴記憶機構が前記コピー・レジスタに書き込みが
有ったことを示す状態でありかつ前記識別符号記憶レジ
スタの値とベース・アドレス・レジスタ番号が一致した
場合、前記レジスタ・ファイルからではなく前記コピー
・レジスタの値を実効アドレス生成器に供給するデータ
・バスと を有すること特徴とする実効アドレス先行計算型パイプ
ライン・マイクロプロセッサ。1. A register file that can be used as a base address of an operand address, and an effective address of an operand is calculated and generated prior to execution of an instruction by using an arbitrary register in the register file as a base address register. An effective address generator, a copy register that selects and holds one of the effective address generation result and a modification amount addition result obtained by adding a constant value to the effective address generation result, and a specific operand address designation method. A control mechanism for writing an effective address generation result or a modification amount addition result to the copy register when the specific operand addressing method is used; and a history storage mechanism for storing a write history of the write control mechanism. The specific operand addressing method An identification code storage register for storing an identification code of a register to be used as a base address register, wherein the history storage mechanism indicates that the copy register has been written, and the identification code storage register And a data bus for supplying the value of the copy register to the effective address generator instead of from the register file when the value of the base address register number matches the effective address pre-calculation type. Pipeline microprocessor.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2044018A JP2569867B2 (en) | 1989-02-28 | 1990-02-23 | Effective Address Precalculation Pipeline Microprocessor |
EP91102762A EP0443629B1 (en) | 1990-02-23 | 1991-02-25 | Effective address pre-calculation type pipelined microprocessor |
US07/660,779 US5333288A (en) | 1990-02-23 | 1991-02-25 | Effective address pre-calculation type pipelined microprocessor |
DE69130129T DE69130129T2 (en) | 1990-02-23 | 1991-02-25 | Pipeline microprocessor with pre-calculation of the effective address |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4783189 | 1989-02-28 | ||
JP1-47831 | 1989-02-28 | ||
JP2044018A JP2569867B2 (en) | 1989-02-28 | 1990-02-23 | Effective Address Precalculation Pipeline Microprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02306342A JPH02306342A (en) | 1990-12-19 |
JP2569867B2 true JP2569867B2 (en) | 1997-01-08 |
Family
ID=26383866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2044018A Expired - Fee Related JP2569867B2 (en) | 1989-02-28 | 1990-02-23 | Effective Address Precalculation Pipeline Microprocessor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2569867B2 (en) |
-
1990
- 1990-02-23 JP JP2044018A patent/JP2569867B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH02306342A (en) | 1990-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0380859B1 (en) | Method of preprocessing multiple instructions | |
US5142631A (en) | System for queuing individual read or write mask and generating respective composite mask for controlling access to general purpose register | |
JP3120152B2 (en) | Computer system | |
US5692167A (en) | Method for verifying the correct processing of pipelined instructions including branch instructions and self-modifying code in a microprocessor | |
US4734852A (en) | Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor | |
US6665776B2 (en) | Apparatus and method for speculative prefetching after data cache misses | |
US4398245A (en) | Data processing system having an instruction pipeline for processing a transfer instruction | |
US5826074A (en) | Extenstion of 32-bit architecture for 64-bit addressing with shared super-page register | |
JPH0429093B2 (en) | ||
EP1093611A1 (en) | Data processing device, method for executing load or store instructions and method for compiling programs | |
US6959379B1 (en) | Multiple execution of instruction loops within a processor without accessing program memory | |
KR100875377B1 (en) | Apparatus and Method for Performing Stack Pop and Push Operations in a Processing System | |
EP0772819B1 (en) | Apparatus and method for efficiently determining addresses for misaligned data stored in memory | |
JPH07210381A (en) | Processor and computer system | |
JP3837289B2 (en) | Microprocessor containing multiple register files occupying the same logical space | |
US6591359B1 (en) | Speculative renaming of data-processor registers | |
EP0550289A2 (en) | A mechanism to detect stores into the instruction stream | |
WO1998014867A1 (en) | Method and apparatus for address disambiguation | |
JPH06266556A (en) | Data processor | |
EP0443629B1 (en) | Effective address pre-calculation type pipelined microprocessor | |
US7275146B2 (en) | Instruction control device and method therefor | |
JP2569867B2 (en) | Effective Address Precalculation Pipeline Microprocessor | |
US5363490A (en) | Apparatus for and method of conditionally aborting an instruction within a pipelined architecture | |
JP2894438B2 (en) | Pipeline processing equipment | |
US7415599B1 (en) | Instruction operation and operand memory location determined based on preceding instruction operation and operand memory location |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081024 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091024 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |