JP2000181714A - Instruction controller - Google Patents
Instruction controllerInfo
- Publication number
- JP2000181714A JP2000181714A JP10359707A JP35970798A JP2000181714A JP 2000181714 A JP2000181714 A JP 2000181714A JP 10359707 A JP10359707 A JP 10359707A JP 35970798 A JP35970798 A JP 35970798A JP 2000181714 A JP2000181714 A JP 2000181714A
- Authority
- JP
- Japan
- Prior art keywords
- register
- update
- instruction
- address
- update buffer
- 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
Links
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、情報処理装置にお
いて命令処理を高速に実行するために順序を外れた方式
(アウト・オブ・オーダ方式)の命令実行を可能とする
命令制御装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an instruction control apparatus which enables an out-of-order instruction execution to execute instructions at a high speed in an information processing apparatus.
【0002】[0002]
【従来の技術】ここで、順序を外れた命令実行とは、プ
ログラムにより指示された命令順序とは異なった順序
で、入力データがそろった命令から随時実行する処理方
式である。実行は任意の順序であるが、プログラムから
アクセス可能な資源すなわち記憶領域,レジスタ内容等
はプログラム順序で更新参照されたように命令は実行さ
れなければならない。2. Description of the Related Art Here, out-of-order instruction execution is a processing method in which an instruction having input data is executed at any time in an order different from the instruction order specified by a program. Execution is in any order, but instructions must be executed as if resources accessible from the program, ie, storage areas, register contents, etc., were updated and referenced in program order.
【0003】レジスタ内容がプログラム順序で更新参照
されることを保障する技術としてレジスタ再ネーミング
技術がある。従来のレジスタ再ネーミング技術はレジス
タを更新する命令に対して、レジスタ更新バッファを割
り当て後続のレジスタ参照を行う命令は、レジスタの代
わりに割り当てられたレジスタ更新バッファを参照す
る。There is a register renaming technique as a technique for ensuring that register contents are updated and referenced in a program order. In the conventional register renaming technique, a register update buffer is assigned to an instruction to update a register, and an instruction to perform subsequent register reference refers to the assigned register update buffer instead of the register.
【0004】命令を発行するリザベーションステーショ
ンの上には更新保留指示ビットが登録され、この更新保
留指示ビットによってレジスタかそれともレジスタ更新
バッファが選択される。このようにして選択されたレジ
スタまたはバッファ内のデータはソースデータとして使
用される。以上のようにシンプルな命令を高速に動作さ
せるための機構としては効率的なハードウェアであっ
た。一方、複数のマシンサイクルで複数のリソースを更
新参照するような複雑な命令もある程度の速度で効率的
なハードウェアで実行されることが望ましい。このよう
な複雑な命令を実行する場合には、高速に参照可能な作
業用のレジスタがあるがどうかで実行速度が大きく異な
る。An update pending instruction bit is registered on the reservation station which issues the instruction, and the register or the register update buffer is selected by the update pending instruction bit. The data in the register or buffer thus selected is used as source data. As described above, efficient hardware was used as a mechanism for operating simple instructions at high speed. On the other hand, it is desirable that a complicated instruction such as updating and referring to a plurality of resources in a plurality of machine cycles is executed at a certain speed by efficient hardware. When such a complicated instruction is executed, the execution speed greatly differs depending on whether there is a work register that can be referred to at high speed.
【0005】ここで、従来の命令制御装置について説明
する。図12は従来における命令制御装置の動作を説明
する図であり、具体的にはレジスタ再ネーミング技術例
を示す。図12において、命令レジスタ20上の論理レ
ジスタアドレス(R)から更新テーブル22を構成する
更新バッファアドレステーブルとレジスタ更新保留テー
ブルとが索引され、レジスタ更新バッファアドレスと更
新保留指示が読み出され、その読み出された情報がリザ
ベーションステーション40の上に登録される。リザベ
ーションステーション40から読み出されたアドレスで
汎用レジスタ(GPR)42,レジスタ更新バッファ
(RUB)44が索引され、その索引された情報が演算
器35に送られる。なお、作業用レジスタ(WR)46
には、ソースデータや命令実行結果が格納される。Here, a conventional instruction control device will be described. FIG. 12 is a diagram for explaining the operation of a conventional instruction control device, and specifically shows an example of a register renaming technique. In FIG. 12, an update buffer address table and a register update suspension table that constitute the update table 22 are indexed from the logical register address (R) on the instruction register 20, and a register update buffer address and an update suspension instruction are read out. The read information is registered on the reservation station 40. The general-purpose register (GPR) 42 and the register update buffer (RUB) 44 are indexed by the address read from the reservation station 40, and the indexed information is sent to the arithmetic unit 35. The work register (WR) 46
Stores source data and instruction execution results.
【0006】図13はリザベーションステーション40
の例を示す図である。図13において、P1,P2はそ
れぞれ第1,第2オペランド更新保留指示、RA1,R
A2はそれぞれ第1,第2オペランド汎用レジスタアド
レス、UBA1,UBA2はそれぞれ第1オペランドレ
ジスタ更新バッファアドレスを示している。P1がオン
ならGPR42が読み出され、P1がオフならRUB4
4が読み出される。リザベーションステーション40は
エントリ毎に、かつ、第1,第2オペランド別に、オペ
ランド更新保留指示、オペランド汎用レジスタアドレ
ス、および、オペランドレジスタ更新バッファアドレス
を対応づけて記憶する。FIG. 13 shows a reservation station 40.
It is a figure showing the example of. In FIG. 13, P1 and P2 are first and second operand update pending instructions, RA1 and R2, respectively.
A2 indicates the first and second operand general-purpose register addresses, respectively, and UBA1 and UBA2 indicate the first operand register update buffer addresses, respectively. GPR42 is read if P1 is on, RUB4 if P1 is off
4 is read. The reservation station 40 stores an operand update pending instruction, an operand general register address, and an operand register update buffer address in association with each entry and for each of the first and second operands.
【0007】図14はWR46のためのアドレスを追加
登録したリザベーションステーションの例を示す図であ
る。図14において、41はリザベーションステーショ
ン40を変形させたリザベーションステーションを示
し、WA1,WA2はそれぞれ第1,第2オペランド作
業用レジスタアドレスを示している。FIG. 14 is a diagram showing an example of a reservation station in which an address for the WR 46 is additionally registered. In FIG. 14, reference numeral 41 denotes a reservation station obtained by modifying the reservation station 40, and WA1 and WA2 denote first and second operand work register addresses, respectively.
【0008】図15は、図12の構成においてロード
(L)命令とコンペア(C)命令とを説明する図、図1
6は更新テーブルの内容を説明する図、そして、図17
はリザベーションステーション41のエントリの一例を
示す図である。図15において、L命令はたとえばGP
R(3)(「3」はエントリ番号)をRUB(4)
(「4」はエントリ番号)にリネーミングして更新する
ものであり、C命令はL命令に後続し、GPR(3)と
GPR(4)とを比較するものである。L命令のデコー
ドが終了した時点では、図16のように、更新テーブル
22において、更新バッファアドレステーブルとレジス
タ更新保留テーブルとが更新される。FIG. 15 is a diagram for explaining a load (L) instruction and a compare (C) instruction in the configuration of FIG.
6 is a diagram for explaining the contents of the update table, and FIG.
FIG. 4 is a diagram showing an example of an entry of a reservation station 41. In FIG. 15, L instruction is, for example, GP
R (3) (“3” is the entry number) is RUB (4)
(“4” is an entry number) and is updated. The C instruction follows the L instruction and compares GPR (3) with GPR (4). When the decoding of the L instruction is completed, the update buffer address table and the register update pending table are updated in the update table 22, as shown in FIG.
【0009】すなわち、GPR(3)がRUB(4)に
リネーミングされており、GPR(3)の更新保留指示
P1は“1”である。C命令のデコードが終了した時点
では、図17に示したように、C命令の生成したリザベ
ーションステーション41が得られる。すなわち、第1
オペランド指示としては、P1が“1”であるのでRU
B(4)を使用することが示され、第2オペランド指示
としては、P2が0(ゼロ)であるのでGPR(4)を
使用することが示されている。C命令はシンプルな命令
であるので、WA1,WA2は使用されない。図13
(a)のタイミングでは、RUB(4)とGPR(4)
とが読み出されて、演算器36に送られ、比較される。That is, GPR (3) is renamed to RUB (4), and the update pending instruction P1 of GPR (3) is “1”. When the decoding of the C instruction is completed, the reservation station 41 in which the C instruction is generated is obtained as shown in FIG. That is, the first
As an operand instruction, since P1 is "1", RU
B (4) is used, and as the second operand instruction, GPR (4) is used because P2 is 0 (zero). Since the C instruction is a simple instruction, WA1 and WA2 are not used. FIG.
At the timing of (a), RUB (4) and GPR (4)
Are read, sent to the arithmetic unit 36, and compared.
【0010】[0010]
【発明が解決しようとする課題】しがしながら、従来の
レジスタ再ネーミング技術を採用しないような情報処理
装置のように、汎用レジスタと別の作業用レジスタ、作
業用レジスタアクセスのための専用アドレスを別に実装
するようにすると、ハードウェア量が爆発的に増大して
しまう。したがって、ハードウェア量を増大させずに効
率的かつ高速な作業用レジスタの実現方式が望まれてい
た。However, as in an information processing apparatus which does not employ the conventional register renaming technique, a general-purpose register and another work register, and a dedicated address for accessing the work register are used. If it is implemented separately, the amount of hardware will explode. Therefore, there has been a demand for a method of realizing an efficient and high-speed working register without increasing the amount of hardware.
【0011】この発明は、上述した従来例による問題を
解消するため、レジスタ再ネーミングを行う情報処理装
置においてハードウェア量を増加することなく作業用レ
ジスタを実装することが可能な命令制御装置を提供する
ことを目的とする。The present invention provides an instruction control apparatus capable of mounting work registers without increasing the amount of hardware in an information processing apparatus that performs register renaming in order to solve the above-described problem of the conventional example. The purpose is to do.
【0012】[0012]
【課題を解決するための手段】上述した課題を解決し、
目的を達成するため、請求項1の発明にかかる命令制御
装置は、リザベーションステーションと、オペランドの
更新保留指示とオペランドのレジスタ更新バッファアド
レスとをオペランド別に記憶するテーブルと、命令実行
結果を格納するレジスタ更新バッファと、更新バッファ
アドレスを指定する手段と、更新保留指示を指定する手
段と、これら指定された出力を選択的にリザベーション
ステーションに格納する手段と、を備えたことを特徴と
する。Means for Solving the Problems The above-mentioned problems are solved,
In order to achieve the above object, an instruction control apparatus according to the present invention includes a reservation station, a table for storing operand update pending instructions and operand register update buffer addresses for each operand, and a register for storing instruction execution results. An update buffer, means for designating an update buffer address, means for designating an update suspension instruction, and means for selectively storing these designated outputs in the reservation station are provided.
【0013】この請求項1の発明によれば、テーブルに
オペランドの更新保留指示とオペランドのレジスタ更新
バッファアドレスとをオペランド別に記憶しておき、そ
のテーブルに記憶された更新保留指示およびレジスタ更
新バッファアドレスにレジスタ更新バッファのアドレス
を対応させてリザベーションステーションへの書き込み
制御を行うようにしたので、レジスタ更新バッファを作
業用レジスタとして活用でき、これにより、ハードウェ
ア量を増加することなく作業用レジスタを実装すること
が可能となる。According to the first aspect of the present invention, the update pending instruction of the operand and the register update buffer address of the operand are stored for each operand in the table, and the update pending instruction and the register update buffer address stored in the table are stored. Control of writing to the reservation station by associating the address of the register update buffer with the address of the register update buffer, so that the register update buffer can be used as a work register, thereby implementing a work register without increasing the amount of hardware It is possible to do.
【0014】また、請求項2の発明にかかる命令制御装
置は、請求項1の発明において、前記制御手段の制御で
前記リザベーションステーションに書き込まれた更新保
留指示がオフ状態の場合に前記レジスタ更新バッファの
アドレスおよび命令実行結果の書き込み有無に応じて命
令実行結果を格納する汎用レジスタをさらに有し、前記
レジスタ更新バッファが、命令実行が完了する時点で、
指定された前記汎用レジスタを更新するためのデータを
供給するためのアドレスと、前記リザベーションステー
ション内に格納された前記レジスタ更新バッファの前ア
ドレスとを比較し、一致が検出された前記リザベーショ
ンステーション内の更新保留指示をオフ状態にして、指
定された前記汎用レジスタの更新を完了させるととも
に、データが格納される前記レジスタ更新バッファが作
業用であることを示す情報を前記リザベーションステー
ションに格納し、前記レジスタ更新バッファが作業用で
ある場合には、一致が検出された前記リザベーションス
テーション内の更新保留指示をオン状態で保持すること
を特微とする。According to a second aspect of the present invention, in the first aspect of the present invention, the register update buffer is provided when an update suspension instruction written in the reservation station under the control of the control means is in an off state. Further comprising a general-purpose register for storing an instruction execution result according to the address of the instruction and whether or not the instruction execution result is written.
An address for supplying data for updating the designated general-purpose register is compared with a previous address of the register update buffer stored in the reservation station, and a match is detected in the reservation station. The update pending instruction is turned off to complete the update of the specified general-purpose register, and information indicating that the register update buffer in which data is stored is for work is stored in the reservation station, and the register is updated. When the update buffer is for work, it is characterized in that the update hold instruction in the reservation station in which a match is detected is held in an ON state.
【0015】この請求項2の発明によれば、データが格
納されるレジスタ更新バッファが作業用であることを示
す情報をリザベーションステーションに格納し、レジス
タ更新バッファが作業用である場合には、一致が検出さ
れたリザベーションステーション内の更新保留指示をオ
ン状態で保持するようにしたので、レジスタ更新バッフ
ァを作業用レジスタとして活用でき、これによりハード
ウェア量を増加することなく、作業用レジスタを実装す
ることが可能となる。According to the second aspect of the present invention, information indicating that the register update buffer storing data is for work is stored in the reservation station. , The update pending instruction in the reservation station in which the is detected is held in the ON state, so that the register update buffer can be used as a work register, thereby implementing the work register without increasing the amount of hardware. It becomes possible.
【0016】また、請求項3の発明にかかる命令制御装
置は、請求項2の発明において、前記レジスタ更新バッ
ファの後段に前記汎用レジスタは接続され、前記レジス
タ更新バッファが作業用のデータ格納レジスタに指定さ
れた場合、前記汎用レジスタを更新する命令に前記レジ
スタ更新バッファを割り当てるのを抑止することを特徴
とする。According to a third aspect of the present invention, in the instruction control device according to the second aspect of the present invention, the general-purpose register is connected to a stage subsequent to the register update buffer, and the register update buffer is connected to a working data storage register. If specified, the register update buffer is prevented from being assigned to an instruction for updating the general-purpose register.
【0017】この請求項3の発明によれば、レジスタ更
新バッファの後段に汎用レジスタを接続しておき、レジ
スタ更新バッファが作業用のデータ格納レジスタに指定
された場合、汎用レジスタを更新する命令にレジスタ更
新バッファを割り当てるのを抑止するようにしたので、
レジスタ更新バッファを作業用レジスタとして活用で
き、これによりハードウェア量を増加することなく、作
業用レジスタを実装することが可能となる。According to the third aspect of the present invention, the general-purpose register is connected to the subsequent stage of the register update buffer, and when the register update buffer is designated as the working data storage register, the instruction for updating the general-purpose register is provided. Since the allocation of the register update buffer has been suppressed,
The register update buffer can be used as a work register, which makes it possible to implement the work register without increasing the amount of hardware.
【0018】また、請求項4の発明にかかる命令制御装
置は、請求項2の発明において、前記作業用レジスタア
ドレスとしてはある特定の番号のみが指定できるように
するとともに、前記汎用レジスタを更新する命令にレジ
スタ更新バッファアドレスを割り当てる場合には前記特
定の番号以外を割り当てるようにすることを特微とす
る。According to a fourth aspect of the present invention, in the instruction control device according to the second aspect of the present invention, only a specific number can be designated as the work register address, and the general-purpose register is updated. When assigning a register update buffer address to an instruction, it is characterized in that an address other than the specific number is assigned.
【0019】この請求項4の発明によれば、作業用レジ
スタアドレスとしてはある特定の番号のみが指定できる
ようにするとともに、汎用レジスタを更新する命令にレ
ジスタ更新バッファアドレスを割り当てる場合には特定
の番号以外を割り当てるようにしたので、レジスタ更新
バッファを作業用レジスタとして活用でき、これにより
ハードウェア量を増加することなく、作業用レジスタを
実装することが可能となる。According to the fourth aspect of the present invention, only a specific number can be designated as a work register address, and when a register update buffer address is assigned to an instruction for updating a general-purpose register, a specific register update buffer address is assigned. Since the numbers other than the numbers are assigned, the register update buffer can be used as a work register, and thus the work registers can be mounted without increasing the amount of hardware.
【0020】[0020]
【発明の実施の形態】以下に添付図面を参照して、この
発明にかかる好適な命令制御装置の実施の形態を詳細に
説明する。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
【0021】図1は本発明の実施の形態による命令制御
装置の一構成例を示すブロック図であり、同図におい
て、10は命令制御装置(CPU)を示す。この命令制
御装置10は、たとえば図1に示したように、実行ユニ
ット(EU)11、命令制御ユニット(IU)12、お
よび、記憶制御ユニット(SU)13より構成される。FIG. 1 is a block diagram showing an example of the configuration of an instruction control device according to an embodiment of the present invention. In FIG. 1, reference numeral 10 denotes an instruction control device (CPU). The instruction control device 10 includes, for example, an execution unit (EU) 11, an instruction control unit (IU) 12, and a storage control unit (SU) 13, as shown in FIG.
【0022】記憶制御ユニット13には、データなどを
一時的に記憶させておくバッファ記憶部14が設けられ
ている。実行ユニット11は、算術演算、論理演算、ア
ドレス計算などの演算を行うユニットであり、記憶制御
ユニット13は実行ユニット11が演算するデータを記
憶する。The storage control unit 13 is provided with a buffer storage unit 14 for temporarily storing data and the like. The execution unit 11 is a unit that performs an operation such as an arithmetic operation, a logical operation, and an address calculation, and the storage control unit 13 stores data operated by the execution unit 11.
【0023】命令制御ユニット12は、プログラムの命
令の実行を制御するものであり、記憶制御ユニット13
から実行ユニット11へ必要なデータを送信させること
や、実行ユニット11が行った演算結果を記憶制御ユニ
ット13に記憶させる処理の制御を行うとともに、順序
を外れた方式(アウト・オブ・オーダ方式)において
は、命令の実行順序などの制御も行う。The instruction control unit 12 controls execution of instructions of a program.
And control of processing for causing the execution unit 11 to transmit necessary data to the execution unit 11 and storing the operation result performed by the execution unit 11 in the storage control unit 13, and a method out of order (out-of-order method) In, the control of the execution order of the instructions is also performed.
【0024】図2は、本発明の実施の形態の一部構成図
であり、汎用レジスタを更新する場合の動作を説明する
図である。本実施の形態においては、汎用レジスタ26
を更新する場合、新しく設けられた更新テーブル22
と、レジスタ更新バッファ25とを使用する。更新テー
ブル22は、汎用レジスタに対応する複数のレジスタ更
新バッファ25の各アドレスが登録される更新バッファ
アドレステーブル29と、汎用レジスタ26に対する更
新が保留されているか否かを示す更新保留指示ビットを
登録するレジスタ更新保留テーブル28と、から構成さ
れる。FIG. 2 is a partial configuration diagram of the embodiment of the present invention, and is a diagram for explaining an operation when a general-purpose register is updated. In the present embodiment, the general-purpose register 26
Is updated, the newly provided update table 22
And the register update buffer 25. The update table 22 registers an update buffer address table 29 in which addresses of a plurality of register update buffers 25 corresponding to the general-purpose registers are registered, and an update suspension instruction bit indicating whether or not the update to the general-purpose registers 26 is suspended. And a register update pending table 28.
【0025】本実施の形態においては、レジスタ更新バ
ッファ25は、命令を実行する際に、命令実行の結果を
一時格納し、命令実行が完了する時点で当該汎用レジス
タ26に、その命令実行結果を格納するために用いられ
るものであり、複数個(図2では、一つのブロックで表
している)設けられている。In this embodiment, the register update buffer 25 temporarily stores the result of the instruction execution when executing the instruction, and stores the instruction execution result in the general-purpose register 26 when the instruction execution is completed. It is used for storing, and a plurality (in FIG. 2, represented by one block) is provided.
【0026】図1の命令制御装置10により実行される
プログラムの命令が不図示のメモリからフェッチされ、
命令制御装置10内の命令レジスタ20に格納される
と、命令レジスタ20からデコーダ21へ汎用レジスタ
26の論理アドレスが出力される。これをデコーダ21
でデコードすることにより、レジスタ更新保留テーブル
28を更新する。An instruction of a program executed by the instruction control device 10 of FIG. 1 is fetched from a memory (not shown),
When stored in the instruction register 20 in the instruction control device 10, the logical address of the general-purpose register 26 is output from the instruction register 20 to the decoder 21. This is called decoder 21
To update the register update pending table 28.
【0027】更新バッファアドレステーブル29は、汎
用レジスタ26を更新するデータがどのレジスタ更新バ
ッファ25(あるいは、どのレジスタ更新バッファ25
のアドレス)に格納されるかを示す更新バッファアドレ
スが、該汎用レジスタ26の番号(あるいは、アドレ
ス)と対応付けて格納するテーブルである。また、レジ
スタ更新保留テーブル28は、汎用レジスタ26が更新
保留になっていることを示す更新保留ビットが、該汎用
レジスタ26の番号(あるいは、アドレス)と対応付け
られ格納されているテーブルである。The update buffer address table 29 indicates which register update buffer 25 (or which register update buffer 25
This is a table in which an update buffer address indicating whether or not the update buffer is stored is associated with the number (or address) of the general-purpose register 26 and stored. The register update pending table 28 is a table in which an update pending bit indicating that the general-purpose register 26 is in an update pending state is stored in association with the number (or address) of the general-purpose register 26.
【0028】さらに、デコーダ21から送られてきた汎
用レジスタ26の物理アドレスに対応するレジスタ更新
保留テーブル28のエントリの更新保留指示ビットが1
と設定され、上記汎用レジスタ26の更新が保留されて
いることを示すように設定される。Further, the update pending instruction bit of the entry of the register update pending table 28 corresponding to the physical address of the general-purpose register 26 sent from the decoder 21 is 1
Is set to indicate that the update of the general-purpose register 26 is suspended.
【0029】更新テーブル22からレジスタ更新バッフ
ァ25のアドレスを受け取ったレジスタ更新バッファ2
5は、実行ユニット11あるいは記憶制御ユニット13
(図1参照)からの演算結果あるいは読み出し結果24
を受け取り、該当するアドレスに、このデータ24を格
納する。The register update buffer 2 receiving the address of the register update buffer 25 from the update table 22
5 is an execution unit 11 or a storage control unit 13
Operation result or read result 24 (see FIG. 1)
And the data 24 is stored in the corresponding address.
【0030】このとき、レジスタ更新バッファ25から
は、汎用レジスタ26の書き込みに使われた更新バッフ
ァアドレスが出力され、比較器23に送られる。一方、
比較器23は、更新バッファアドレステーブル29の各
アドレスと、いま、レジスタ更新バッファ25から送ら
れてきたアドレスとを比較し、一致したアドレスがあっ
た場合には、そのアドレスに対応するレジスタ更新保留
テーブル28の更新保留指示ビットを“0”にリセット
する。At this time, the update buffer address used for writing into the general-purpose register 26 is output from the register update buffer 25 and sent to the comparator 23. on the other hand,
The comparator 23 compares each address of the update buffer address table 29 with the address currently sent from the register update buffer 25. If there is a matched address, the register update corresponding to the address is suspended. The update pending instruction bit in the table 28 is reset to “0”.
【0031】図2に示す更新テーブル22におけるアド
レス比較はハードウェア的に行われるとともに、論理ア
ドレスに対応する物理アドレスを更新テーブル22から
出力する。また、物量の多い汎用レジスタ(物理レジス
タ)からではなく、物量の少ない本発明のレジスタ更新
バッファからデータを読み出すように構成されている。
したがって、セレクタやデータ授受のための論理回路な
どの回路の論理段数が少なくなり、マシンサイクルの周
波数を高くすることができ、パイプラインの各ステージ
の実行時間を速くすることができ、命令制御装置10の
処理の高速化を図ることができる。The address comparison in the update table 22 shown in FIG. 2 is performed by hardware, and a physical address corresponding to a logical address is output from the update table 22. In addition, data is read not from a general-purpose register (physical register) having a large physical quantity but from a register update buffer of the present invention having a small physical quantity.
Therefore, the number of logic stages of circuits such as a selector and a logic circuit for data transfer is reduced, the frequency of machine cycles can be increased, the execution time of each stage of the pipeline can be shortened, and the instruction control device can be controlled. 10 can be speeded up.
【0032】図3は、本実施の形態の一部構成図であ
り、レジスタ読み出し時の構成および動作を示す図であ
る。本実施の形態では、前述の更新テーブル22のほか
に、汎用レジスタアドレスおよび該汎用レジスタ26に
対応するレジスタ更新バッファアドレス(前記更新バッ
ファアドレステーブル29の出力)および該汎用レジス
タ26の更新保留指示ビットを格納するリザベーション
ステーション33を設けている。FIG. 3 is a partial configuration diagram of the present embodiment, showing the configuration and operation at the time of register reading. In the present embodiment, in addition to the above-described update table 22, a general-purpose register address, a register update buffer address corresponding to the general-purpose register 26 (output of the update buffer address table 29), and an update pending instruction bit of the general-purpose register 26 Is stored.
【0033】命令解読時にその命令でデータを読み出す
汎用レジスタ26が先行する命令で更新保留になってい
るかどうかを前記レジスタ更新保留テーブル28を索引
することにより検出し、更新保留になっていなければ、
該汎用レジスタ26のデータを読み出す。そして、命令
解読するとすぐに命令を実行ユニット(演算器35)に
ディスパッチする。一方、更新保留になっていれば汎用
レジスタアドレスおよび該汎用レジスタ26に対応する
レジスタ更新バッファアドレスおよび該汎用レジスタ2
6の更新保留指示ビットを、命令解読時に前記リザベー
ションステーション33に格納し、レジスタ更新バッフ
ァ25が使用可能になった時点で指定されたレジスタ更
新バッファ25のデータを読み出し、リザベーションス
テーション33から命令を実行ユニット11にディスパ
ッチする。When the instruction is decoded, the general-purpose register 26 from which data is read by the instruction is detected by indexing the register update pending table 28 to determine whether the update is pending by the preceding instruction.
The data in the general-purpose register 26 is read. Then, as soon as the instruction is decoded, the instruction is dispatched to the execution unit (arithmetic unit 35). On the other hand, if the update is pending, the general register address and the register update buffer address corresponding to the general register 26 and the general register 2
6 is stored in the reservation station 33 when the instruction is decoded, and when the register update buffer 25 becomes available, the data in the designated register update buffer 25 is read out and the instruction is executed from the reservation station 33. Dispatch to unit 11.
【0034】以上の機構により、アウト・オブ・オーダ
方式の命令実行を、マシンサイクルの遅延なく実行する
ことができる。With the above-described mechanism, an out-of-order instruction can be executed without delay of a machine cycle.
【0035】また、汎用レジスタ26の更新命令の実行
が完了する時点で、汎用レジスタ26を更新するための
データを供給するレジスタ更新バッファ25のアドレス
と、前記更新バッファアドレステーブル29内に登録さ
れた全レジスタ更新バッファアドレスとを比較し、一致
が検出されたレジスタ更新バッファアドレスに対応する
前記レジスタ更新保留テーブル28内の更新保留指示ビ
ットをリセットすることにより、汎用レジスタ26の更
新が完了したことを指示する。When the execution of the update instruction of the general-purpose register 26 is completed, the address of the register update buffer 25 for supplying data for updating the general-purpose register 26 and the address registered in the update buffer address table 29 are stored. By comparing with all the register update buffer addresses and resetting the update pending instruction bit in the register update pending table 28 corresponding to the register update buffer address for which a match is detected, the completion of the update of the general purpose register 26 is confirmed. To instruct.
【0036】同様に、汎用レジスタ26の更新命令の実
行が完了する時点で、汎用レジスタ26を更新するため
のデータを供給するレジスタ更新バッファ25のアドレ
スと、前記リザベーションステーション33内に登録さ
れた全レジスタ更新バッファアドレスとを比較し、一致
が検出されたレジスタ更新バッファアドレスに対応する
前記リザベーションステーション33内の更新保留指示
ビットをリセットすることにより、指定された汎用レジ
スタの更新が完了したことを指示する。Similarly, when the execution of the update instruction of the general-purpose register 26 is completed, the address of the register update buffer 25 for supplying data for updating the general-purpose register 26 and all the addresses registered in the reservation station 33 are stored. By comparing with the register update buffer address and resetting the update pending instruction bit in the reservation station 33 corresponding to the register update buffer address where the match is detected, it indicates that the update of the designated general-purpose register has been completed. I do.
【0037】まず、レジスタ読み出し命令が発行される
と、命令レジスタ20から汎用レジスタの論理アドレス
が出力され、その論理アドレスがデコーダ21によって
デコードされる。デコードされた汎用レジスタアドレス
に対応する更新テーブル22のエントリを探し、このア
ドレスに対応するレジスタ更新保留テーブル28のエン
トリを取得する。First, when a register read instruction is issued, a logical address of a general-purpose register is output from the instruction register 20, and the logical address is decoded by the decoder 21. An entry of the update table 22 corresponding to the decoded general-purpose register address is searched, and an entry of the register update pending table 28 corresponding to this address is obtained.
【0038】つぎに、レジスタ更新保留テーブル28の
該エントリから更新保留指示ピントを読み込み、これが
“0”の場合には、汎用レジスタ26に対応する汎用レ
ジスタアドレスが与えられ、このアドレスに対応するデ
ータ内容が演算器35に投入される。これは、更新保留
指示ビットが“0”である場合には、汎用レジスタ26
のデータ内容が更新済みであることを示すので、直接、
汎用レジスタ26からデータを演算器35に投入するの
である。Next, an update pending instruction focus is read from the entry of the register update pending table 28, and when this is "0", a general register address corresponding to the general register 26 is given, and data corresponding to this address is given. The content is input to the arithmetic unit 35. This is because when the update pending instruction bit is “0”, the general-purpose register 26
Indicates that the data content of has been updated,
Data is input from the general-purpose register 26 to the arithmetic unit 35.
【0039】デコーダ21から出力される汎用レジスタ
26の物理アドレスに対応するレジスタ更新保留テーブ
ル28内の更新保留指示ビットが“1”の場合には、該
保留指示ビットに対応するレジスタ更新バッファアドレ
ステーブル29内のレジスタ更新バッファ25のアドレ
スがリザベーションステーション33に対して出力され
る。If the update pending instruction bit in the register update pending table 28 corresponding to the physical address of the general purpose register 26 output from the decoder 21 is "1", the register update buffer address table corresponding to the pending instruction bit The address of the register update buffer 25 in 29 is output to the reservation station 33.
【0040】リザベーションステーション33では、更
新テーブル22から送られてくる情報を元にコラム30
には更新保留指示ビットを、コラム31にはレジスタ更
新バッファアドレスを、コラム32には汎用レジスタア
ドレスをそれぞれ対応して登録する。そして、リザベー
ションステーション33では、登録された上記3つの情
報そのほかを考慮して、各レジスタ読み出し命令の実行
順序にプライオリティをつけて、データのそろったもの
から実行するようにする。In the reservation station 33, the column 30 is stored based on the information sent from the update table 22.
, An update pending instruction bit, a column 31 for register update buffer addresses, and a column 32 for general register addresses. Then, the reservation station 33 gives priority to the execution order of each register read instruction in consideration of the above-mentioned three pieces of registered information and the like, and executes the instruction in the order of data.
【0041】リザベーションステーション33から送ら
れてきたレジスタ更新バッファアドレスを元にレジスタ
更新バッファ25からはデータが読み出され、そのデー
タが演算器35に投入される。つぎに、汎用レジスタ2
6を更新する命令が発行されると、いま、演算器35に
投入されたデータのレジスタ更新バッファアドレスがレ
ジスタ更新バッファ25から比較器34に送られる。一
方、リザベーションステーション33からは、コラム3
1の各エントリのレジスタ更新バッファアドレスが出力
され、それらが同じく比較器34に送られる。比較器3
4で一致したレジスタ更新バッファアドレスが検出され
ると、コラム30のそのアドレスに対応する更新保留指
示ビットが“1”から“0”にリセットされる。Data is read from the register update buffer 25 based on the register update buffer address sent from the reservation station 33, and the data is input to the arithmetic unit 35. Next, general-purpose register 2
6 is issued, the register update buffer address of the data input to the arithmetic unit 35 is sent from the register update buffer 25 to the comparator 34. On the other hand, from reservation station 33, column 3
The register update buffer address for each entry of 1 is output and they are also sent to comparator 34. Comparator 3
When the coincident register update buffer address is detected in step 4, the update pending instruction bit corresponding to that address in column 30 is reset from "1" to "0".
【0042】更新保留指示ビットが“0”にリセットさ
れたリザベーションステーション33のエントリは、適
切なタイミングで登録が消去される。このとき、図2で
説明したように、レジスタ更新バッファ25から対応す
るレジスタ更新バッファアドレスのデータが汎用レジス
タ26に送られて該汎用レジスタ26の内容が該データ
に更新される。また、同時に、レジスタ更新バッファ2
5から出力された、レジスタ更新バッファアドレスは比
較器23に入力され、更新バッファアドレステーブル2
9の各アドレスと比較される。一致したアドレスが得ら
れた場合には、そのアドレスに対応するレジスタ更新保
留テーブル28内の更新保留指示ビットが“1”から
“0”にリセットされる。The entry of the reservation station 33 whose update pending instruction bit has been reset to "0" is deleted at an appropriate timing. At this time, as described with reference to FIG. 2, the data of the corresponding register update buffer address is sent from the register update buffer 25 to the general purpose register 26, and the content of the general purpose register 26 is updated to the data. At the same time, the register update buffer 2
5, the register update buffer address is input to the comparator 23, and the update buffer address table 2
9 is compared with each address. When a coincident address is obtained, the update pending instruction bit in the register update pending table 28 corresponding to that address is reset from "1" to "0".
【0043】このように、更新テーブル22を参照し
て、汎用レジスタ26が更新されているときには(更新
保留指示ビットが“0”のときには)、汎用レジスタ2
6のデータを演算器35に投入する。一方、更新保留指
示ビットが“1”のときには、汎用レジスタ26のデー
タが更新されていないので、演算には使用できない。そ
こで、該汎用レジスタ26の更新用データを格納してい
るレジスタ更新バッファ25からデータを積算器35に
投入するようにする。As described above, when the general-purpose register 26 is updated with reference to the update table 22 (when the update pending instruction bit is "0"), the general-purpose register 2
The data of No. 6 is input to the computing unit 35. On the other hand, when the update pending instruction bit is "1", the data in the general-purpose register 26 has not been updated, and thus cannot be used for the operation. Therefore, data is input to the integrator 35 from the register update buffer 25 storing the update data of the general-purpose register 26.
【0044】また、汎用レジスタ26の更新命令が発行
された場合には、レジスタ更新バッファ25から汎用レ
ジスタ26にデータ更新を行い、リザベーションステー
ション33と更新テーブル22の対応するエントリの更
新保留指示ビットを“0”にリセットするようにする。
こうして、命令制御装置の論理構成を簡単化するととも
に、論理段数を減らすことができるので、マシンサイク
ルを短くすることができ、命令制御装置10のクロック
周波数を高め、処理速度の高速化を図ることができる。When an update instruction for the general-purpose register 26 is issued, the data is updated from the register update buffer 25 to the general-purpose register 26, and the update reservation instruction bits of the reservation station 33 and the corresponding entry of the update table 22 are set. Reset to “0”.
Thus, the logic configuration of the instruction control device can be simplified and the number of logic stages can be reduced, so that the machine cycle can be shortened, the clock frequency of the instruction control device 10 can be increased, and the processing speed can be increased. Can be.
【0045】図4は、更新テーブル22およびリザベー
ションステーション33の構成を示す図である。図4
(a)は、更新テーブル22の構成を示す図であり、0
〜15までのエントリを有する更新バッファアドレステ
ーブル29とレジスタ更新保留テーブル28が示されて
いる。なお、この0〜15は汎用レジスタアドレス(汎
用レジスタ番号)に対応している。FIG. 4 is a diagram showing the configuration of the update table 22 and the reservation station 33. FIG.
(A) is a diagram showing the configuration of the update table 22, where 0
An update buffer address table 29 having up to 15 entries and a register update pending table 28 are shown. Note that 0 to 15 correspond to general-purpose register addresses (general-purpose register numbers).
【0046】更新バッファアドレステーブル29は、レ
ジスタ更新バッファ25のアドレスをそれぞれ汎用レジ
スタアドレスに対応させて登録しておくものであり、レ
ジスタ更新保留テーブル28は対応する汎用レジスタ2
6のアドレスの更新が行われたか、保留されているかを
表す更新保留指示ビットを登録するものである。たとえ
ば、更新保留ビットが“0”になっていれば、対応する
汎用レジスタ26は更新されていることが示されるの
で、該汎用レジスタ26からデータを演算器35に入力
させ、更新保留ビットが“1”になっていれば、対応す
る汎用レジスタは更新が保留されているので、レジスタ
更新バッファ25からデータを読み出して演算器35に
そのデータを入力させるようにする。The update buffer address table 29 is for registering the address of the register update buffer 25 in correspondence with the general-purpose register address, and the register update suspension table 28 is for registering the corresponding general-purpose register 2.
In this case, an update hold instruction bit indicating whether the update of the address No. 6 has been performed or held is registered. For example, if the update pending bit is “0”, it indicates that the corresponding general-purpose register 26 has been updated, so that data is input from the general-purpose register 26 to the arithmetic unit 35 and the update pending bit is set to “0”. If it is "1", the update of the corresponding general purpose register is suspended, so that the data is read from the register update buffer 25 and the arithmetic unit 35 is made to input the data.
【0047】更新バッファアドレステーブル29の各エ
ントリとレジスタ更新保留テーブル28の各エントリは
互いに対応させており、汎用レジスタアドレスの数だけ
設けられる。図4(a)の場合には、汎用レジスタ26
のアドレスとして、複数設けられる汎用レジスタ26
(図3では一つのブロックで表されている)の番号を記
載しているが、もちろん汎用レジスタ26をメモリで構
成し、データが記録されるアドレスを登録するようにす
ることが可能である。したがって、以下、複数の汎用レ
ジスタ26の番号と汎用レジスタアドレスは同じ意味を
持つものとする。Each entry of the update buffer address table 29 and each entry of the register update pending table 28 correspond to each other, and are provided by the number of general-purpose register addresses. In the case of FIG.
, A plurality of general-purpose registers 26
Although the numbers (represented by one block in FIG. 3) are described, it is of course possible to configure the general-purpose register 26 with a memory and register an address where data is recorded. Therefore, hereinafter, the numbers of the general-purpose registers 26 and the general-purpose register addresses have the same meaning.
【0048】図4(b)は、リザベーションステーショ
ン33の構成を示す図である。リザベーションステーシ
ョン33の各エントリは、汎用レジスタアドレスと、レ
ジスタ更新バッファアドレスと、更新保留指示ビットが
それぞれの汎用レジスタアドレスに対応して登録され
る。FIG. 4B is a diagram showing the configuration of the reservation station 33. In each entry of the reservation station 33, a general-purpose register address, a register update buffer address, and an update pending instruction bit are registered corresponding to each general-purpose register address.
【0049】リザベーションステーション33へのエン
トリの登録は、更新テーブル22の更新保留指示ビット
が“1”の場合、すなわち、汎用レジスタ26が更新さ
れていないのでレジスタ更新バッファ25からデータを
読み出すべき場合に、該当する更新テーブル22のエン
トリをリザベーションステーション33に登録しておく
ものである。An entry is registered in the reservation station 33 when the update pending instruction bit of the update table 22 is "1", that is, when data is to be read from the register update buffer 25 because the general-purpose register 26 has not been updated. The corresponding entry of the update table 22 is registered in the reservation station 33.
【0050】リザベーションステーション33の各エン
トリは、そのエントリのアドレスを使用したい命令が発
行されたことを示すが、リザベーションステーション3
3では、不図示の機構により各エントリにどれを優先し
て実行するかのプライオリティを付加する機能が設けら
れている。リザベーションステーション33に登録され
る各アドレスは、命令レジスタ20からプログラムにし
たがって出力される順番でリザベーションステーション
33に入力されるが、プライオリティ付加機能によりデ
ータのそろったものを検出し、データのそろったものか
ら実行するように制御する。このプライオリティ付加機
能がアウト・オブ・オーダ方式の命令制御にあたる。Each entry of the reservation station 33 indicates that an instruction using the address of the entry has been issued.
In No. 3, there is provided a function of adding a priority as to which entry is to be executed with higher priority by a mechanism (not shown). Each address registered in the reservation station 33 is input to the reservation station 33 in the order output from the instruction register 20 according to the program. Control to execute from. This priority adding function corresponds to an out-of-order instruction control.
【0051】図5は、図2および図3における比較器2
3、34の具体的構成を示す図である。図5(a)は、
更新テーブル22の更新保留指示ビットをリセットする
ための構成である。更新バッファアドレステーブル29
の0〜15の各エントリから対応する更新バッファアド
レスを取り出すために結線がされており、各汎用レジス
タアドレスに対応する更新バッファアドレスがそれぞれ
に設けられたコンパレータ50−1〜50−16の一方
の端子に入力するようになっている。FIG. 5 is a circuit diagram of the comparator 2 shown in FIGS.
It is a figure which shows the specific structure of 3,34. FIG. 5 (a)
This is a configuration for resetting the update pending instruction bit of the update table 22. Update buffer address table 29
Are connected to take out the corresponding update buffer address from each of the entries 0 to 15, and one of the comparators 50-1 to 50-16 provided with the update buffer address corresponding to each general-purpose register address. Input to the terminal.
【0052】コンパレータ50−1〜50−16のもう
一方の端子には、レジスタ更新バッファ25からのレジ
スタ更新バッファアドレスがそれぞれ入力するように構
成されている。レジスタ更新バッファ25から送られて
くるレジスタ更新バッファアドレスは、レジスタ更新バ
ッファ25から汎用レジスタ26へのデータの更新が行
われたアドレスであるので、レジスタ更新保留テーブル
28の更新保留指示ビットを更新する必要がある。The other terminals of the comparators 50-1 to 50-16 are configured to receive the register update buffer address from the register update buffer 25, respectively. Since the register update buffer address sent from the register update buffer 25 is the address at which data has been updated from the register update buffer 25 to the general-purpose register 26, the update pending instruction bit of the register update pending table 28 is updated. There is a need.
【0053】図5(a)の構成によれば、更新バッファ
アドレステーブル29の各更新バッファアドレスとレジ
スタ更新バッファ25からのレジスタ更新バッファアド
レスをそれぞれ比較し、一致を検出したコンパレータ5
0−1〜50−16がリセット信号を出力するように構
成されている。According to the configuration of FIG. 5A, each of the update buffer addresses in the update buffer address table 29 is compared with the register update buffer address from the register update buffer 25, and the comparator 5 that detects a match is compared.
0-1 to 50-16 are configured to output a reset signal.
【0054】コンパレータ50−1〜50−16の出力
は、レジスタ更新保留テーブル29内のそれぞれ対応す
る更新保留指示ビットの欄に接続されており、コンパレ
ータ50−1〜50−16からリセット信号が出力され
ると、対応する更新保留指示ビットがリセットされるよ
うになっている。このように、コンパレータ50−1〜
50−16を複数設け、それぞれが更新バッファアドレ
ステーブル29の個々のエントリの更新バッファアドレ
スをレジスタ更新バッファ25から送られてくるレジス
タ更新バッファアドレスと比較することにより、更新バ
ッファアドレスの各エントリとの比較処理を並列に行う
ことができるので、高速に比較処理および更新保留指示
ビットのリセットを行うことができる。The outputs of the comparators 50-1 to 50-16 are connected to the corresponding update pending instruction bit columns in the register update pending table 29, and the reset signals are output from the comparators 50-1 to 50-16. Then, the corresponding update pending instruction bit is reset. Thus, the comparators 50-1 to 50-1
A plurality of update buffer addresses 50-16 are provided, each of which compares the update buffer address of an individual entry of the update buffer address table 29 with the register update buffer address sent from the register update buffer 25, thereby enabling the update buffer address and Since the comparison processing can be performed in parallel, the comparison processing and the reset of the update suspension instruction bit can be performed at high speed.
【0055】図5(b)は、リザベーションステーショ
ン33のコラム30の各エントリの更新保留指示ビット
をリセットするための構成である。図5(b)では、リ
ザベーションステーション33の構成のうち、レジスタ
更新バッファアドレスと更新保留指示ビットのみを示し
ている。図5(a)と同じように、各コンパレータ51
−1〜51−8の一方の端子には、0〜7の各エントリ
のレジスタ更新バッファアドレスを取得するための結線
が接続されている。FIG. 5B shows a configuration for resetting the update pending instruction bit of each entry in the column 30 of the reservation station 33. FIG. 5B shows only the register update buffer address and the update pending instruction bit in the configuration of the reservation station 33. As shown in FIG. 5A, each comparator 51
A connection for acquiring the register update buffer address of each of the entries 0 to 7 is connected to one terminal of -1 to 51-8.
【0056】各コンパレータ51−l〜51−8のもう
一方の端子には、レジスタ更新バッファ25からのレジ
スタ更新バッファアドレスが入力されるようになってお
り、各コンパレータ51−1〜51−8は、レジスタ更
新バッファアドレスとの一致が得られたリザベーション
ステーション33のエントリに対してリセット信号を出
力し、該エントリの更新保留指示ビットをリセットす
る。このために、各コンパレータ51−1〜51−8の
出力は、リザベーションステーション33の各エントリ
の更新保留指示ビットに結線がされている。The other terminal of each of the comparators 51-1 to 51-8 receives the register update buffer address from the register update buffer 25. , A reset signal is output for the entry of the reservation station 33 whose coincidence with the register update buffer address is obtained, and the update pending instruction bit of the entry is reset. For this purpose, the outputs of the comparators 51-1 to 51-8 are connected to update pending instruction bits of each entry of the reservation station 33.
【0057】図5(a)と同じように、レジスタ更新バ
ッファ25の出力であるレジスタ更新バッファアドレス
とリザベーションステーション33の各エントリのレジ
スタ更新バッファアドレスを並列処理で比較し、両アド
レスが一致するエントリの更新保留指示ビットをリセッ
トすることができるので、処理を高速に行うことができ
る。As in FIG. 5A, the register update buffer address output from the register update buffer 25 is compared with the register update buffer address of each entry of the reservation station 33 by parallel processing. Can be reset, so that the processing can be performed at high speed.
【0058】つぎに、本実施の形態によるレジスタ再ネ
ーミング技術について説明する。図6は本実施の形態に
よる命令制御装置の一例を示す図である。図6には、命
令レジスタ20、更新テーブル22、制御記憶12a、
リザベーションステーション33が示されている。Next, the register renaming technique according to the present embodiment will be described. FIG. 6 is a diagram illustrating an example of the instruction control device according to the present embodiment. FIG. 6 shows an instruction register 20, an update table 22, a control storage 12a,
A reservation station 33 is shown.
【0059】命令レジスタ20から更新テーブル22に
論理レジスタアドレスが供給される。そのとき、更新テ
ーブル22では、更新バッファアドレステーブル29と
レジスタ更新保留テーブル28とが索引され、対応する
情報P、UBAそれぞれが読み出される。一方、制御記
憶12aからは、ゲートに更新バッファアドレスを選択
する信号、および更新バッファアドレスを指定する信号
が送出され、更新バッファアドレステーブル29と制御
記憶12aから指定されたアドレスが選択されて、リザ
ベーションステーション33に登録される。The logical register address is supplied from the instruction register 20 to the update table 22. At this time, in the update table 22, the update buffer address table 29 and the register update pending table 28 are indexed, and the corresponding information P and UBA are read. On the other hand, a signal for selecting an update buffer address and a signal for specifying an update buffer address are sent from the control storage 12a to the gate, and the address specified from the update buffer address table 29 and the control storage 12a is selected. Registered in the station 33.
【0060】また、制御記憶12aからはゲートに更新
保留指示を示す信号が送出され、レジスタ更新保留テー
ブル28からの信号と、論理和がとられてリザベーショ
ンステーション33に登録される。同時に、制御記憶1
2aからはゲートにRUB25を更新することを指示す
る信号が送出され、リザベーションステーション33に
登録される。A signal indicating an update suspension instruction is sent from the control memory 12a to the gate, and the logical sum of the signal and the signal from the register update suspension table 28 is obtained and registered in the reservation station 33. At the same time, control memory 1
A signal instructing the gate to update the RUB 25 is transmitted from the gate 2 a and registered in the reservation station 33.
【0061】つづいてレジスタ更新バッファについて説
明する。図7は本実施の形態によるRUB25の動作例
を示す図である。図7には、リザベーションステーショ
ン33、演算器35、RUB25、および、GPR26
の直列接続状態が示されている。リザベーションステー
ション33からは宛て先としてのレジスタ更新バッファ
アドレスUBA1とUBA更新指示WRとが演算器35
に送出される。演算器35からは演算結果とともにRU
B書き込みアドレスDUBAと書き込み指示WRがRU
B25に送出され、RUB25に演算結果が格納され
る。さらにRUB25からのデータがGPR26に書き
込まれる。Next, the register update buffer will be described. FIG. 7 is a diagram showing an operation example of the RUB 25 according to the present embodiment. FIG. 7 shows a reservation station 33, a computing unit 35, a RUB 25, and a GPR 26.
Are connected in series. From the reservation station 33, the register update buffer address UBA1 and the UBA update instruction WR as destinations are calculated by the arithmetic unit 35.
Sent to The arithmetic unit 35 outputs the RU along with the operation result.
B write address DUBA and write instruction WR are RU
The result is sent to B25, and the calculation result is stored in RUB25. Further, data from the RUB 25 is written to the GPR 26.
【0062】つづいてリザベーションステーション33
について説明する。図8は本実施の形態によるリザベー
ションステーション33の制御回路の一例を示す図であ
る。+RSO_UBA1はリザベーションステーション
のエントリ0に格納されている第1オペランドUBAで
ある。+RUB_DUBAはRUBへの書き込みアドレ
スである。+RUB_WRはRUBへの書き込み指示で
ある。比較では、+RSO_UBA1と+RUB_DU
BAとが等しく、エントリ0の更新保留指示P1をリセ
ットする信号+RESET_RSO_P1を生成する。Next, the reservation station 33
Will be described. FIG. 8 is a diagram illustrating an example of a control circuit of the reservation station 33 according to the present embodiment. + RSO_UBA1 is the first operand UBA stored in entry 0 of the reservation station. + RUB_DUBA is a write address to RUB. + RUB_WR is an instruction to write to RUB. In comparison, + RSO_UBA1 and + RUB_DU
A signal + RESET_RSO_P1 for resetting the update pending instruction P1 of the entry 0 is generated.
【0063】つづいてGPR26の更新方法について説
明する。図9は本実施の形態において汎用レジスタ更新
命令にレジスタ更新バッファアドレスを割り当てる回路
例を示す図である。71はレジスタ更新バッファアドレ
スレジスタであり、汎用レジスタ更新命令が一つ実行さ
れるたびにその値を一つ進める。72はインクリメン
タ、76は更新バッファアドレステーブルである。Next, a method of updating the GPR 26 will be described. FIG. 9 is a diagram showing an example of a circuit for allocating a register update buffer address to a general-purpose register update instruction in the present embodiment. Reference numeral 71 denotes a register update buffer address register, which advances the value by one each time one general-purpose register update instruction is executed. 72 is an incrementer, and 76 is an update buffer address table.
【0064】73は更新バッファ作業用テーブルであ
り、どのレジスタ更新バッファが作業用に割り当てられ
ているかを保持している。74は命令レジスタ20のオ
ペコード部をデコードするデコーダである。デコーダ7
4は、GPR26を更新する命令を受け取り、更新バッ
ファアドレステーブル76を更新するための制御信号を
生成する。75はレジスタアドレスをデコードするデコ
ーダである。デコーダ75は、更新バッファアドレステ
ーブル76のどのエントリを更新するのかを示す制御信
号を生成する。Reference numeral 73 denotes an update buffer work table, which holds which register update buffer is allocated for work. 74 is a decoder for decoding the operation code part of the instruction register 20. Decoder 7
4 receives an instruction to update the GPR 26 and generates a control signal for updating the update buffer address table 76. A decoder 75 decodes a register address. The decoder 75 generates a control signal indicating which entry of the update buffer address table 76 is to be updated.
【0065】更新バッファアドレステーブル76のゲー
トには、更新バッファ作業用テーブル73のセレクト信
号により、デコーダ74と75のいずれか一方の出力を
格納する。更新バッファ作業用テーブル73には、レジ
スタ更新バッファアドレスレジスタ71に格納されるレ
ジスタ更新バッファアドレスをインクリメンタ72で順
次インクリメントして得られたものが格納される。The output of one of the decoders 74 and 75 is stored in the gate of the update buffer address table 76 according to the select signal of the update buffer work table 73. The update buffer work table 73 stores the result obtained by sequentially incrementing the register update buffer address stored in the register update buffer address register 71 by the incrementer 72.
【0066】更新バッファ作業用テーブル73のセレク
ト信号により、デコーダ74の制御信号が選択された場
合には、その制御信号にしたがって更新バッファアドレ
ステーブル76の更新バッファアドレスが更新される。
一方、デコーダ75の制御信号が選択された場合には、
その制御信号にしたがって更新バッファアドレステーブ
ル76のいずれかのエントリが更新される。When the control signal of the decoder 74 is selected by the select signal of the update buffer work table 73, the update buffer address of the update buffer address table 76 is updated according to the control signal.
On the other hand, when the control signal of the decoder 75 is selected,
Any entry of the update buffer address table 76 is updated according to the control signal.
【0067】またインクリメンタ72を少し変更しても
良い。たとえば、インクリメンタ72を0(ゼロ)から
12までを示すように作り、実際のRUB25には0
(ゼロ)から15までを実装するように構成する。そう
すれば、汎用レジスタ更新命令には0(ゼロ)から12
までのRUB25が割り当てられ、作業用レジスタとし
て13から15までが割り当てられ、互いに独立して使
用することが可能となる。The incrementer 72 may be slightly changed. For example, the incrementer 72 is made to indicate from 0 (zero) to 12, and the actual RUB 25 has 0
It is configured to implement from (zero) to 15. Then, from 0 (zero) to 12
RUB 25 is assigned, and 13 to 15 are assigned as working registers, and can be used independently of each other.
【0068】つづいて図9の動作について説明する。図
10、図11は更新バッファアドレステーブル76の更
新動作を説明するタイミングチャートである。図10,
図11において、Dはデコードサイクル、Wはライトサ
イクルを示す。まず、図10において、第1汎用レジス
タ更新命令(LOAD命令)で、レジスタ更新バッファ
アドレス71のレジスタ1が更新される。第2LOAD
命令では、同レジスタ2が更新される。クロック1で、
第1LOAD命令では、GPR(1)がRUB(1)に
マッピングされる。Next, the operation of FIG. 9 will be described. 10 and 11 are timing charts for explaining the update operation of the update buffer address table 76. FIG.
In FIG. 11, D indicates a decode cycle, and W indicates a write cycle. First, in FIG. 10, the register 1 of the register update buffer address 71 is updated by a first general-purpose register update instruction (LOAD instruction). 2nd LOAD
With the instruction, the register 2 is updated. At clock 1,
In the first LOAD instruction, GPR (1) is mapped to RUB (1).
【0069】つづくクロック2では、更新バッファアド
レステーブル76上で、GPR(1)のエントリに番号
1が書き込まれる。クロック3では、マイクロ命令がR
UB(2)を作業用レジスタとして割り当てる。クロッ
ク4では、GPR(2)がRUB(2)ではなく、RU
B(3)にマッピングされる。At the next clock 2, the number 1 is written to the entry of GPR (1) on the update buffer address table 76. At clock 3, the microinstruction is R
UB (2) is assigned as a working register. In clock 4, GPR (2) is not RUB (2) but RU
B (3).
【0070】つぎに図11の説明に移る。インクリメン
タ72は“12”のつぎが“0”となるように調整され
ている。第1LOAD命令では、レジスタ更新バッファ
アドレスレジスタ71のレジスタ1が更新される。第2
LOAD命令では、同レジスタ2が更新される。Next, the description moves to FIG. The incrementer 72 is adjusted so that the value following “12” becomes “0”. In the first LOAD instruction, the register 1 of the register update buffer address register 71 is updated. Second
With the LOAD instruction, the register 2 is updated.
【0071】クロック1では、第1LOAD命令で、G
PR(1)がRUB(12)にマッピングされる。クロ
ック2では、更新バッファアドレステーブル76上で、
GPR(1)のエントリに番号12が書き込まれる。ク
ロック3では、更新バッファアドレステーブル76上の
動作はなく、クロック4では、GPR(2)がRUB
(0)にマッピングされる。マイクロ命令は、RUB
(13)−(15)を自由に使える。At the clock 1, the first LOAD instruction causes G
PR (1) is mapped to RUB (12). At clock 2, on the update buffer address table 76,
The number 12 is written in the entry of GPR (1). At clock 3, there is no operation on the update buffer address table 76, and at clock 4, GPR (2)
(0). Micro instruction is RUB
(13)-(15) can be used freely.
【0072】以上説明したように、本実施の形態によれ
ば、テーブルにオペランドの更新保留指示とオペランド
のレジスタ更新バッファアドレスとをオペランド別に記
憶しておき、そのテーブルに記憶された更新保留指示お
よびレジスタ更新バッファアドレスにレジスタ更新バッ
ファのアドレスおよび命令実行結果の書き込み有無を対
応させてリザベーションステーションへの書き込み制御
を行い、その制御でリザベーションステーションに書き
込まれた更新保留指示がオン状態の場合、レジスタ更新
バッファにレジスタ更新バッファのアドレスおよび命令
実行結果の書き込み有無に応じて命令実行結果を格納す
る。As described above, according to the present embodiment, the update pending instruction of the operand and the register update buffer address of the operand are stored in the table for each operand, and the update pending instruction and the stored instruction are stored in the table. Performs write control to the reservation station by associating the register update buffer address with the address of the register update buffer and the presence / absence of writing of the instruction execution result.If the update pending instruction written to the reservation station is ON, the register update is performed. The instruction execution result is stored in the buffer according to the address of the register update buffer and whether or not the instruction execution result is written.
【0073】これにより、レジスタ更新バッファを作業
用レジスタとして活用できるので、レジスタ再ネーミン
グを行う情報処理装置において、ハードウェア量を増加
することなく作業用レジスタを実装することが可能であ
る。As a result, the register update buffer can be used as a work register, so that it is possible to mount the work register in an information processing device that performs register renaming without increasing the amount of hardware.
【0074】また、データが格納されるレジスタ更新バ
ッファが作業用であることを示す情報をリザベーション
ステーションに格納し、レジスタ更新バッファが作業用
である場合には、一致が検出されたリザベーションステ
ーション内の更新保留指示をオン状態で保持するように
したので、レジスタ更新バッファを作業用レジスタとし
て活用でき、これによりハードウェア量を増加すること
なく、作業用レジスタを実装できる。Further, information indicating that the register update buffer in which data is stored is for work is stored in the reservation station. If the register update buffer is for work, information in the reservation station in which a match is detected is stored. Since the update pending instruction is held in the ON state, the register update buffer can be used as a work register, and the work register can be implemented without increasing the amount of hardware.
【0075】また、レジスタ更新バッファの後段に汎用
レジスタを接続しておき、レジスタ更新バッファが作業
用のデータ格納レジスタに指定された場合、汎用レジス
タを更新する命令にレジスタ更新バッファを割り当てる
のを抑止するようにしたので、レジスタ更新バッファを
作業用レジスタとして活用でき、これによりハードウェ
ア量を増加することなく、作業用レジスタを実装でき
る。A general-purpose register is connected to the subsequent stage of the register update buffer, and when the register update buffer is designated as a work data storage register, the allocation of the register update buffer to an instruction for updating the general-purpose register is suppressed. As a result, the register update buffer can be used as a work register, whereby the work register can be implemented without increasing the amount of hardware.
【0076】また、作業用レジスタアドレスとしてはあ
る特定の番号のみが指定できるようにするとともに、汎
用レジスタを更新する命令にレジスタ更新バッファアド
レスを割り当てる場合には特定の番号以外を割り当てる
ようにしたので、レジスタ更新バッファを作業用レジス
タとして活用でき、これによりハードウェア量を増加す
ることなく、作業用レジスタを実装できる。Further, only a specific number can be designated as a working register address, and when a register update buffer address is allocated to an instruction for updating a general purpose register, a number other than the specific number is allocated. In addition, the register update buffer can be used as a work register, whereby the work register can be mounted without increasing the amount of hardware.
【0077】以上、この発明を実施の形態により説明し
たが、この発明の主旨の範囲内で種々の変形が可能であ
り、これらをこの発明の範囲から排除するものではな
い。Although the present invention has been described with reference to the embodiments, various modifications are possible within the scope of the present invention, and these are not excluded from the scope of the present invention.
【0078】[0078]
【発明の効果】以上説明したように、請求項1の発明に
よれば、テーブルにオペランドの更新保留指示とオペラ
ンドのレジスタ更新バッファアドレスとをオペランド別
に記憶しておき、そのテーブルに記憶された更新保留指
示およびレジスタ更新バッファアドレスにレジスタ更新
バッファのアドレスを対応させてリザベーションステー
ションへの書き込み制御を行うようにしたので、レジス
タ更新バッファを作業用レジスタとして活用でき、これ
により、ハードウェア量を増加することなく作業用レジ
スタを実装することが可能な命令制御装置が得られると
いう効果を奏する。As described above, according to the first aspect of the present invention, the instruction update pending instruction and the operand register update buffer address are stored in the table for each operand, and the update stored in the table is stored. Write control to the reservation station is performed by associating the address of the register update buffer with the pending instruction and the register update buffer address, so that the register update buffer can be used as a work register, thereby increasing the amount of hardware. There is an effect that an instruction control device capable of mounting a work register without the need is obtained.
【0079】また、請求項2の発明によれば、請求項1
の発明において、データが格納されるレジスタ更新バッ
ファが作業用であることを示す情報をリザベーションス
テーションに格納し、レジスタ更新バッファが作業用で
ある場合には、一致が検出されたリザベーションステー
ション内の更新保留指示をオン状態で保持するようにし
たので、レジスタ更新バッファを作業用レジスタとして
活用でき、これによりハードウェア量を増加することな
く、作業用レジスタを実装することができる。Further, according to the invention of claim 2, claim 1
In the invention, information indicating that the register update buffer storing data is for work is stored in the reservation station, and when the register update buffer is for work, the update in the reservation station in which a match is detected is stored. Since the hold instruction is held in the ON state, the register update buffer can be used as a work register, and the work register can be mounted without increasing the amount of hardware.
【0080】また、請求項3の発明によれば、請求項2
の発明において、レジスタ更新バッファの後段に汎用レ
ジスタを接続しておき、レジスタ更新バッファが作業用
のデータ格納レジスタに指定された場合、汎用レジスタ
を更新する命令にレジスタ更新バッファを割り当てるの
を抑止するようにしたので、レジスタ更新バッファを作
業用レジスタとして活用でき、これによりハードウェア
量を増加することなく、作業用レジスタを実装すること
ができる。According to the invention of claim 3, according to claim 2,
In the present invention, a general-purpose register is connected to the subsequent stage of the register update buffer, and when the register update buffer is designated as a work data storage register, allocation of the register update buffer to an instruction for updating the general-purpose register is suppressed. With this configuration, the register update buffer can be used as a work register, and the work register can be mounted without increasing the amount of hardware.
【0081】また、請求項4の発明によれば、請求項2
の発明において、作業用レジスタアドレスとしてはある
特定の番号のみが指定できるようにするとともに、汎用
レジスタを更新する命令にレジスタ更新バッファアドレ
スを割り当てる場合には特定の番号以外を割り当てるよ
うにしたので、レジスタ更新バッファを作業用レジスタ
として活用でき、これによりハードウェア量を増加する
ことなく、作業用レジスタを実装することができる。Further, according to the invention of claim 4, according to claim 2,
In the invention of the present invention, only a specific number can be designated as a work register address, and when a register update buffer address is allocated to an instruction for updating a general purpose register, a non-specific number is allocated. The register update buffer can be used as a work register, whereby the work register can be implemented without increasing the amount of hardware.
【図1】本発明の一実施の形態による命令制御装置の概
観を示すブロック図である。FIG. 1 is a block diagram showing an overview of an instruction control device according to an embodiment of the present invention.
【図2】本実施の形態においてGPRを更新する場合の
動作を説明する図である。FIG. 2 is a diagram illustrating an operation when updating a GPR in the present embodiment.
【図3】本実施の形態においてレジスタ読み出し時の構
成および動作を説明する図である。FIG. 3 is a diagram illustrating a configuration and operation at the time of register reading in this embodiment.
【図4】本実施の形態において更新テーブルおよびリザ
ベーションステーションの構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of an update table and a reservation station in the present embodiment.
【図5】本実施の形態において比較器の構成例を示す図
である。FIG. 5 is a diagram illustrating a configuration example of a comparator in the present embodiment.
【図6】本実施の形態におけるレジスタ再ネーミングを
実現する構成の一部を説明する図である。FIG. 6 is a diagram illustrating a part of a configuration for realizing register renaming according to the present embodiment;
【図7】本実施の形態におけるレジスタ再ネーミングを
実現する構成の他の一部を説明する図である。FIG. 7 is a diagram illustrating another part of the configuration for realizing register renaming in the present embodiment.
【図8】本実施の形態におけるレジスタ再ネーミングを
実現する構成の他の一部を説明する図である。FIG. 8 is a diagram for explaining another part of the configuration for realizing register renaming in the present embodiment.
【図9】本実施の形態において汎用レジスタ更新命令に
レジスタ更新バッファアドレスを割り当てる回路例を示
す図である。FIG. 9 is a diagram illustrating a circuit example in which a register update buffer address is assigned to a general-purpose register update instruction in the present embodiment.
【図10】本実施の形態において更新バッファアドレス
テーブルの更新動作を説明するタイミングチャートであ
る。FIG. 10 is a timing chart illustrating an update operation of an update buffer address table in the present embodiment.
【図11】本実施の形態において更新バッファアドレス
テーブルの更新動作を説明するタイミングチャートであ
る。FIG. 11 is a timing chart illustrating an update operation of an update buffer address table in the present embodiment.
【図12】従来における命令制御装置の動作を説明する
図である。FIG. 12 is a diagram illustrating the operation of a conventional instruction control device.
【図13】リザベーションステーションの一例を説明す
る図である。FIG. 13 is a diagram illustrating an example of a reservation station.
【図14】リザベーションステーションの他の例を説明
する図である。FIG. 14 is a diagram illustrating another example of the reservation station.
【図15】ロード(L)命令とコンペア(C)命令とを
説明する図である。FIG. 15 is a diagram illustrating a load (L) instruction and a compare (C) instruction.
【図16】更新テーブルの内容を説明する図である。FIG. 16 is a diagram illustrating the contents of an update table.
【図17】リザベーションステーションのエントリの一
例を示す図である。FIG. 17 is a diagram illustrating an example of a reservation station entry.
12a 制御記憶 20 命令レジスタ 22 更新テーブル 23 比較器 25 RUB 26 GPR 30 更新保留指示ビット 33 リザベーションステーション 35 演算器 71 レジスタ更新バッファアドレスレジスタ 72 インクリメンタ 73 更新バッファ作業用テーブル 74,75 デコーダ 76 更新バッファアドレステーブル 12a Control storage 20 Instruction register 22 Update table 23 Comparator 25 RUB 26 GPR 30 Update pending instruction bit 33 Reservation station 35 Operation unit 71 Register update buffer address register 72 Incrementer 73 Update buffer work table 74, 75 Decoder 76 Update buffer address table
Claims (4)
バッファアドレスとをオペランド別に記憶するテーブル
と、 命令実行結果を格納するレジスタ更新バッファと、 更新バッファアドレスを指定する手段と、 更新保留指示を指定する手段と、 これら指定された出力を選択的にリザベーションステー
ションに格納する手段と、 を備えたことを特徴とする命令制御装置。1. A reservation station, a table for storing an operand update pending instruction and an operand register update buffer address for each operand, a register update buffer for storing an instruction execution result, and means for specifying an update buffer address; An instruction control device comprising: means for designating an update suspension instruction; and means for selectively storing the designated output in a reservation station.
ンステーションに書き込まれた更新保留指示がオフ状態
の場合に前記レジスタ更新バッファのアドレスおよび命
令実行結果の書き込み有無に応じて命令実行結果を格納
する汎用レジスタをさらに有し、前記レジスタ更新バッ
ファが、命令実行が完了する時点で、指定された前記汎
用レジスタを更新するためのデータを供給するためのア
ドレスと、前記リザベーションステーション内に格納さ
れた前記レジスタ更新バッファの前アドレスとを比較
し、一致が検出された前記リザベーションステーション
内の更新保留指示をオフ状態にして、指定された前記汎
用レジスタの更新を完了させるとともに、データが格納
される前記レジスタ更新バッファが作業用であることを
示す情報を前記リザベーションステーションに格納し、
前記レジスタ更新バッファが作業用である場合には、一
致が検出された前記リザベーションステーション内の更
新保留指示をオン状態で保持することを特微とする請求
項1に記載の命令制御装置。2. A general-purpose memory for storing an instruction execution result according to an address of the register update buffer and whether or not an instruction execution result is written, when an update suspension instruction written to the reservation station under the control of the control means is in an off state. A register updating buffer, wherein when the instruction execution is completed, an address for supplying data for updating the designated general-purpose register and the register stored in the reservation station are provided. The update of the designated general-purpose register is completed while the update pending instruction in the reservation station in which the match is detected is turned off by comparing the previous address of the update buffer with the previous address of the update buffer. The information indicating that the buffer is for work is Storage station,
2. The instruction control device according to claim 1, wherein when the register update buffer is for work, an update hold instruction in the reservation station in which a match is detected is held in an ON state.
汎用レジスタは接続され、前記レジスタ更新バッファが
作業用のデータ格納レジスタに指定された場合、前記汎
用レジスタを更新する命令に前記レジスタ更新バッファ
を割り当てるのを抑止することを特徴とする請求項2に
記載の命令制御装置。3. The general-purpose register is connected to a stage subsequent to the register update buffer, and when the register update buffer is designated as a working data storage register, the register update buffer is allocated to an instruction for updating the general-purpose register. 3. The instruction control apparatus according to claim 2, wherein
る特定の番号のみが指定できるようにするとともに、前
記汎用レジスタを更新する命令にレジスタ更新バッファ
アドレスを割り当てる場合には前記特定の番号以外を割
り当てるようにすることを特微とする請求項2に記載の
命令制御装置。4. A method in which only a specific number can be designated as the work register address, and when a register update buffer address is allocated to an instruction for updating the general purpose register, a number other than the specific number is allocated. 3. The instruction control device according to claim 2, wherein:
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35970798A JP3481479B2 (en) | 1998-12-17 | 1998-12-17 | Command controller |
US09/461,429 US6807624B1 (en) | 1998-12-17 | 1999-12-16 | Instruction control device and method therefor |
US10/747,291 US7313674B2 (en) | 1998-12-17 | 2003-12-30 | Instruction control device and method therefor |
US10/747,138 US7275146B2 (en) | 1998-12-17 | 2003-12-30 | Instruction control device and method therefor |
US10/747,286 US7127591B2 (en) | 1998-12-17 | 2003-12-30 | Instruction control device and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35970798A JP3481479B2 (en) | 1998-12-17 | 1998-12-17 | Command controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000181714A true JP2000181714A (en) | 2000-06-30 |
JP3481479B2 JP3481479B2 (en) | 2003-12-22 |
Family
ID=18465894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35970798A Expired - Fee Related JP3481479B2 (en) | 1998-12-17 | 1998-12-17 | Command controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3481479B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590827B2 (en) | 2002-07-05 | 2009-09-15 | Fujitsu Limited | Processor and instruction control method having a storage of latest register for updating data of source operands, and instruction control |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5625903B2 (en) | 2010-12-29 | 2014-11-19 | 富士通株式会社 | Arithmetic processing apparatus and arithmetic processing method |
-
1998
- 1998-12-17 JP JP35970798A patent/JP3481479B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590827B2 (en) | 2002-07-05 | 2009-09-15 | Fujitsu Limited | Processor and instruction control method having a storage of latest register for updating data of source operands, and instruction control |
Also Published As
Publication number | Publication date |
---|---|
JP3481479B2 (en) | 2003-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8555039B2 (en) | System and method for using a local condition code register for accelerating conditional instruction execution in a pipeline processor | |
US5150470A (en) | Data processing system with instruction queue having tags indicating outstanding data status | |
US6484255B1 (en) | Selective writing of data elements from packed data based upon a mask using predication | |
JPH03282958A (en) | Electronic computer | |
US4541045A (en) | Microprocessor architecture employing efficient operand and instruction addressing | |
US7822948B2 (en) | Apparatus, system, and method for discontiguous multiple issue of instructions | |
US7552313B2 (en) | VLIW digital signal processor for achieving improved binary translation | |
US6862676B1 (en) | Superscalar processor having content addressable memory structures for determining dependencies | |
US20210089305A1 (en) | Instruction executing method and apparatus | |
JPH02227730A (en) | Data processing system | |
US5274777A (en) | Digital data processor executing a conditional instruction within a single machine cycle | |
EP0093430A2 (en) | Pipeline data processing system | |
US20200326940A1 (en) | Data loading and storage instruction processing method and device | |
JP5680574B2 (en) | Power saving method and apparatus for selectively enabling a comparator in a CAM renaming register file based on known processor states | |
US7047397B2 (en) | Method and apparatus to execute an instruction with a semi-fast operation in a staggered ALU | |
JPH1165839A (en) | Instruction control mechanism of processor | |
JP3611304B2 (en) | Pipeline processor system and method for generating one-cycle pipeline stalls | |
US6016541A (en) | Instruction controlling system and method thereof | |
CN112540789B (en) | Instruction processing device, processor and processing method thereof | |
JP2000181714A (en) | Instruction controller | |
CN111813447B (en) | Processing method and processing device for data splicing instruction | |
JP3534987B2 (en) | Information processing equipment | |
JPH0764790A (en) | System and method for processing of operation | |
US6789185B1 (en) | Instruction control apparatus and method using micro program | |
JP2000163265A (en) | Instruction issuing circuit |
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: 20030930 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071010 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081010 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081010 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091010 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091010 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101010 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101010 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111010 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121010 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121010 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131010 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |