JPH06149569A - Register number changing device - Google Patents

Register number changing device

Info

Publication number
JPH06149569A
JPH06149569A JP29968892A JP29968892A JPH06149569A JP H06149569 A JPH06149569 A JP H06149569A JP 29968892 A JP29968892 A JP 29968892A JP 29968892 A JP29968892 A JP 29968892A JP H06149569 A JPH06149569 A JP H06149569A
Authority
JP
Japan
Prior art keywords
register
instruction
register number
change
conflict
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.)
Pending
Application number
JP29968892A
Other languages
Japanese (ja)
Inventor
Kazuya Okabe
和也 岡部
Makoto Odajima
眞 小田島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP29968892A priority Critical patent/JPH06149569A/en
Publication of JPH06149569A publication Critical patent/JPH06149569A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To shorten instruction decode time and to reduce the amount of circuit by changing the register number of an instruction generating any competition into an unused register number stored in an unused register number storage means. CONSTITUTION:A register competition detection part 5 detects the register competition, an instruction selection part 2 decides which instruction in an instruction buffer 1 is first executed, a register number change control part 7 performs reloading control to the register number of that instruction, and an execution unit 3 executes that instruction. In that case, the source operand of arithmetic is read from a register file 4 or a name change register 8, and the arithmetic result is written in the register file 4 or the name change register 8. Then, a name change register control part 9 holds the unused register in the name change register 8 with queue structure and reports the register number at the head of this queue to the register number change control part 7. When the register number of the instruction buffer 1 is reloaded, that number is extracted from the queue.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、情報処理装置に関し、
特に、レジスタ競合に対して効率的に処理できる情報処
理装置に用いられるレジスタ番号変更装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing device,
In particular, the present invention relates to a register number changing device used in an information processing device capable of efficiently processing register conflict.

【0002】[0002]

【従来の技術】従来、情報処理装置において、レジスタ
ハザ−ドすなわちレジスタ競合と呼ばれる状態が発生す
ることにより高速な実行が実現できないという問題があ
り、この問題を回避するためにレジスタリネ−ミングと
いう方式が採られていた。 まず、レジスタ競合につい
て説明し、その次に、レジスタリネ−ミング方式を説明
する。
2. Description of the Related Art Conventionally, in an information processing apparatus, there is a problem that a high speed execution cannot be realized due to a state called register hazard, that is, register conflict, and in order to avoid this problem, a method called register renaming Was taken. First, register conflict will be described, and then the register renaming method will be described.

【0003】図2は、そのレジスタ競合を起こす命令シ
−ケンスの例を示すものである。ここで、ADDとSU
Bは命令種別で、それぞれ加算と引き算の命令である。
その次に来る第一引数は命令実行結果を格納すべきレジ
スタ番号部で、その後の第二と第三の引数は演算の引数
を保持するレジスタ番号部である。ここでは、情報処理
装置はパイプライン制御を行うもので、図3に示すよう
なパイプラインステ−ジ処理を行うものとする。
FIG. 2 shows an example of an instruction sequence that causes register conflict. Where ADD and SU
B is an instruction type, which is an addition or subtraction instruction, respectively.
The first argument that comes next is the register number portion that should store the instruction execution result, and the second and third arguments that follow are the register number portion that holds the operation argument. Here, it is assumed that the information processing apparatus performs pipeline control and performs pipeline stage processing as shown in FIG.

【0004】図3において、各ステ−ジF、D、E、
M、Wは、各々命令フェッチ、命令デコ−ド/ソ−スオ
ペランド読み出し、命令実行/アドレス計算、メモリア
クセス、レジスタ書き込みを行うステ−ジを示すもので
ある。
In FIG. 3, each stage F, D, E,
Reference characters M and W respectively represent stages for fetching an instruction, reading an instruction decode / source operand, executing an instruction / calculating an address, accessing a memory, and writing a register.

【0005】図4は、図3に示すパイプラインステ−ジ
において、図2に示す命令を実行した場合のタイミング
を示すものである。図4により、図2に示す命令を実行
した場合の動作を説明する。
FIG. 4 shows the timing when the instruction shown in FIG. 2 is executed in the pipeline stage shown in FIG. The operation when the instruction shown in FIG. 2 is executed will be described with reference to FIG.

【0006】図2の(2)の命令は、(1)の加算命令
の実行結果R12を第二引数として用いる引算命令であ
るため、(1)のレジスタ書き込みステ−ジWの後に、
(2)の命令実行/アドレス計算ステ−ジEが行われな
ければならず、(2)の実行開始が遅れる。さらに、
(3)の命令は、(2)の実行結果R10を第二引数と
して用いる加算命令であるため、(2)のレジスタ書き
込みステ−ジWの後に、(3)の命令実行/アドレス計
算ステ−ジEが行われなければならず、(3)の実行開
始が遅れる。続く(4)の命令の場合は、これらの
(2)の命令のレジスタ書き込みステ−ジWと(3)の
命令によるR10の読み出しが終了してから、R10へ
の書き込みを行わなければならないために、(4)の命
令の実行開始が遅れる。実行開始を遅らせるこのような
要因をレジスタ競合という。特に、(3)と(4)の間
のレジスタ競合をWAR(write after r
ead)ハザ−ドといい、(2)と(4)の間のレジス
タ競合をWAW(write after writ
e)ハザ−ドという。
Since the instruction (2) of FIG. 2 is a subtraction instruction which uses the execution result R12 of the addition instruction of (1) as the second argument, after the register write stage W of (1),
The instruction execution / address calculation stage E of (2) must be performed, and the execution start of (2) is delayed. further,
Since the instruction (3) is an addition instruction that uses the execution result R10 of (2) as the second argument, after the register write stage W of (2), the instruction execution / address calculation step of (3) is performed. J must be performed, and the start of execution of (3) is delayed. In the case of the following instruction (4), it is necessary to write to R10 after the reading of R10 by the register write stage W of these instructions (2) and the instruction of (3) is completed. In addition, the execution start of the instruction of (4) is delayed. Such a factor that delays the start of execution is called register conflict. In particular, the register conflict between (3) and (4) is reduced to WAR (write after r).
ead) hazard, and register conflict between (2) and (4) is caused by WAW (write after write).
e) It is called a hazard.

【0007】従来、このレジスタ競合のうち、(3)と
(4)の間と(2)と(4)の間で起こるWARハザ−
ドとWAWハザ−ドによるデ−タハザ−ドの解決のため
に、レジスタリネ−ミング方式が採られていた。次にこ
の方式について説明する。
In the conventional register conflict, the WAR hazards that occur between (3) and (4) and between (2) and (4).
A register renaming method has been adopted in order to solve the data hazard between the data and the WAW hazard. Next, this method will be described.

【0008】図5に、そのレジスタリネ−ミング方式の
構成をブロック図で示す。図において、20は、複数の
命令をストアする命令バッファである。21は、レジス
タ競合の状態から命令の実行順序を決定し、選択する命
令選択部である。22は、命令間のレジスタ競合を検出
するレジスタ競合検出部である。23は、命令選択部に
より選択された命令を実行する実行ユニットである。2
4は、レジスタファイルである。25は、レジスタ変更
テ−ブルである。
FIG. 5 is a block diagram showing the structure of the register renaming system. In the figure, 20 is an instruction buffer for storing a plurality of instructions. Reference numeral 21 denotes an instruction selection unit that determines and selects the instruction execution order from the register conflict state. A register conflict detection unit 22 detects register conflict between instructions. An execution unit 23 executes the instruction selected by the instruction selection unit. Two
Reference numeral 4 is a register file. Reference numeral 25 is a register change table.

【0009】このような構成において、レジスタリネ−
ミング方式では、命令バッファ20から読み出された
(4)の命令をデコ−ドしたときに、レジスタファイル
24内の書き込み先レジスタが(2)と(3)の命令で
用いられることがレジスタ競合検出部22で検出され
る。レジスタ競合検出部22がそれを検出した場合に、
(4)の命令が実行されるための障害がこのレジスタ競
合だけであるときは、実行開始時に(4)の命令の書き
込み先レジスタ番号を変更し、さらに、レジスタ変更テ
−ブル25に、レジスタ番号が変更されること、および
その変更先が書き込まれる。このようにしてレジスタ番
号が変更されるため、命令列の実行タイミングは、図7
のようになり、(4)の命令の実行開始が早くなる。こ
の命令後に、ここでレジスタハザ−ドが発生したレジス
タを使用する命令を実行するときは、レジスタ変更テ−
ブル25がチェックされ、レジスタ番号が変更されてい
ることを識別し、かつその変更先を読み出して変更先の
レジスタがアクセスされることになる。
In such a configuration, the register line
In the Mming method, when the instruction (4) read from the instruction buffer 20 is decoded, the write destination register in the register file 24 is used in the instructions (2) and (3). It is detected by the detection unit 22. When the register conflict detection unit 22 detects it,
If this register conflict is the only obstacle for executing the instruction of (4), the write destination register number of the instruction of (4) is changed at the start of execution, and the register change table 25 further stores the register. The number is changed and the destination is written. Since the register number is changed in this way, the execution timing of the instruction sequence is as shown in FIG.
As a result, the execution of the instruction of (4) starts earlier. After this instruction, when executing the instruction that uses the register where the register hazard occurred, the register change table
The bull 25 is checked to identify that the register number has been changed, and the change destination is read to access the change destination register.

【0010】図6はそのレジスタ変更テ−ブル25の構
成を示すものである。そのテ−ブルにおいて、レジスタ
番号(1)にはR10が書かれ、それに対応してレジス
タ番号(2)にはR32が書き込まれているので、この
テ−ブルがチェックされると、R10にレジスタ番号の
変更があり、その変更先はR32であることが識別でき
ることになる。
FIG. 6 shows the configuration of the register change table 25. In that table, R10 is written in the register number (1) and R32 is written in the corresponding register number (2). Therefore, when this table is checked, the register is written in R10. There is a change in the number, and the change destination can be identified as R32.

【0011】[0011]

【従来技術の問題点】しかし、上述したような従来のレ
ジスタリネ−ミング方式では、レジスタアクセス毎にレ
ジスタ変更テ−ブル25を参照する必要があり、そのた
めに、レジスタ変更テ−ブル25の参照時間だけデコ−
ド時間が長くなってしまうという欠点があった。
However, in the conventional register renaming system as described above, it is necessary to refer to the register change table 25 for each register access. Therefore, the register change table 25 is referred to. Only time
It had the drawback that it would take a long time.

【0012】さらに、レジスタ変更テ−ブルは多くの回
路量を必要とするため、回路規模が増大するという欠点
があった。
Further, since the register change table requires a large amount of circuits, there is a drawback that the circuit scale increases.

【0013】[0013]

【課題を解決するための手段】そこで、本発明は、上記
したような欠点をなくすべくなされたもので、本発明の
レジスタ番号変更装置によれば、複数の命令を保持し、
これら複数の命令におけるレジスタ競合を検出するレジ
スタ競合検出機能と、レジスタ競合が発生しない命令か
ら先に実行を開始する先行制御機能とを有する情報処理
装置において、命令のレジスタ番号で指定されるレジス
タを有するレジスタファイルとは別に設けられた変更用
レジスタと、その変更用レジスタ中の未使用のレジスタ
番号を保持する未使用レジスタ番号記憶手段と、さらに
レジスタ競合が検出されたとき、競合の発生した命令の
レジスタ番号を、未使用レジスタ番号記憶手段に記憶さ
れている未使用レジスタ番号に変更するレジスタ番号変
更手段とを有するようにしたのである。
Therefore, the present invention has been made to eliminate the above-mentioned drawbacks. According to the register number changing device of the present invention, a plurality of instructions can be held.
In an information processing device having a register conflict detection function for detecting register conflict in a plurality of instructions and a preceding control function for starting execution from an instruction in which register conflict does not occur, a register specified by the register number of the instruction A register for change provided separately from the register file that it has, an unused register number storage means for holding an unused register number in the register for change, and an instruction in which a conflict occurs when register conflict is detected. Register number changing means for changing the register number of No. 1 to the unused register number stored in the unused register number storing means.

【0014】[0014]

【作用】このように構成したので、レジスタ競合の検出
の際に、常にレジスタ変更テ−ブルをチェックする必要
がなくなり、命令デコ−ド時間の短縮化と、従来のレジ
スタ変更テ−ブルに必要な回路量の削減を図ることがで
きる。
With this structure, it is not necessary to always check the register change table when register conflict is detected, which is necessary for shortening the instruction decoding time and for the conventional register change table. It is possible to reduce the number of circuits required.

【0015】[0015]

【実施例】以下、本発明を実施例により、説明する。EXAMPLES The present invention will be described below with reference to examples.

【0016】図1は、本発明の一実施例を示すブロック
図である。図において、1は、命令バッファである。2
は、命令選択部である。3は、実行ユニットである。4
は、レジスタファイルである。5は、レジスタ競合検出
部である。6は、レジスタ番号変更装置である。7は、
レジスタ番号変更制御部である。8は、名称変更レジス
タである。9は、名称変更レジスタ制御部である。
FIG. 1 is a block diagram showing an embodiment of the present invention. In the figure, 1 is an instruction buffer. Two
Is an instruction selection unit. 3 is an execution unit. Four
Is a register file. Reference numeral 5 is a register conflict detection unit. 6 is a register number changing device. 7 is
It is a register number change control unit. Reference numeral 8 is a name change register. Reference numeral 9 is a name change register control unit.

【0017】命令バッファ1は、複数の命令を実行に先
立って保持するものであり、図に示した情報処理装置は
この命令バッファ1の中から実行可能な命令を選択して
実行を行う。
The instruction buffer 1 holds a plurality of instructions prior to execution, and the information processing apparatus shown in the figure selects an executable instruction from the instruction buffer 1 and executes it.

【0018】レジスタ競合検出部5は、例えば、各レジ
スタ番号をすべて比較するというようにして、命令バッ
ファ1に保持されている命令間および実行中の命令間に
おけるレジスタ競合を検出するものである。
The register conflict detection unit 5 detects register conflict between instructions held in the instruction buffer 1 and between instructions being executed, for example, by comparing all register numbers.

【0019】命令選択部2は、レジスタ競合検出部5に
よるレジスタ競合の状態を受け取ることにより、命令バ
ッファ1の命令の中でどの命令を先に実行させるかを決
定し、選択するものである。
The instruction selecting section 2 receives the register conflict state from the register conflict detecting section 5 to determine which instruction among the instructions in the instruction buffer 1 is to be executed first and to select it.

【0020】レジスタ番号変更制御部7は、レジスタ競
合検出部5の競合判定結果により、命令バッファ1の命
令のレジスタ番号の書換制御を行うものである。
The register number change control unit 7 controls the rewriting of the register number of the instruction in the instruction buffer 1 based on the conflict determination result of the register conflict detection unit 5.

【0021】実行ユニット3は、命令選択部2によって
選択された命令を実行するものである。その際、演算の
ソ−スオペランドをレジスタファイル4または名称変更
レジスタ8から読み出し、演算結果をこれらのレジスタ
ファイル4または名称変更レジスタ8に書き込む。レジ
スタファイル4か名称変更レジスタファイル8かの選択
は、レジスタ番号変更制御部7によって書き換えられた
命令バッファ1内の命令のレジスタ番号によって指示さ
れる。
The execution unit 3 executes the instruction selected by the instruction selecting section 2. At that time, the source operand of the operation is read from the register file 4 or the name change register 8 and the operation result is written in the register file 4 or the name change register 8. The selection of the register file 4 or the name change register file 8 is instructed by the register number of the instruction in the instruction buffer 1 rewritten by the register number change control unit 7.

【0022】名称変更レジスタ制御部9は、名称変更レ
ジスタ8内の未使用レジスタをキュ−構造にして保持し
ており、このキュ−の先頭にあるレジスタ番号をレジス
タ番号変更制御部7に通知する。そして、このレジスタ
番号をレジスタ番号変更制御部7が受け取った後に命令
バッファ1のレジスタ番号をそのレジスタ番号に書き換
えたときは、そのレジスタ番号はキュ−から取り出され
る。また、名称変更レジスタ8において未使用になった
レジスタ番号は、このキュ−の最後尾に付け加えられ
る。
The name change register control section 9 holds an unused register in the name change register 8 in a queue structure, and notifies the register number change control section 7 of the register number at the head of this queue. . When the register number change control unit 7 receives this register number and rewrites the register number of the instruction buffer 1 with the register number, the register number is taken out from the queue. The unused register number in the name change register 8 is added to the end of this queue.

【0023】次に、その動作を図2に示した命令列によ
り説明する。また、図2に示す命令列が実行されるタイ
ミングは、図7と同じである。
Next, the operation will be described with reference to the instruction sequence shown in FIG. Further, the timing at which the instruction sequence shown in FIG. 2 is executed is the same as that in FIG.

【0024】まず、名称変更レジスタ8と名称変更レジ
スタ制御部9について説明する。図8に示すように、名
称変更レジスタ8は、レジスタファイル4から連続する
番号を付けられた8ワ−ドのレジスタであり、初期状態
は特に指定されないものである。
First, the name change register 8 and the name change register controller 9 will be described. As shown in FIG. 8, the name change register 8 is an 8-word register which is sequentially numbered from the register file 4, and its initial state is not specified.

【0025】名称変更レジスタ制御部9は、図9に示す
ように、名称変更レジスタ8で未使用になったレジスタ
の番号を入力としてキュ−の最後尾に入れ、レジスタ番
号変更制御部7に先頭のレジスタ番号を出力するもので
ある。
As shown in FIG. 9, the name change register control section 9 puts the number of the register which has become unused in the name change register 8 at the end of the queue as an input and causes the register number change control section 7 to start It outputs the register number of.

【0026】次に、上述した構成におけるレジスタ競合
発生時の動作を、図2の命令列で、図7により説明す
る。
Next, the operation when register conflict occurs in the above configuration will be described with reference to FIG. 7 with the instruction sequence of FIG.

【0027】時間1では、(1)と(2)の命令をフェ
ッチする。
At time 1, the instructions (1) and (2) are fetched.

【0028】時間2では、(3)および(4)の命令を
フェッチすると共に、(1)および(2)の命令デコ−
ドを行い、さらに、レジスタ競合検出部5がレジスタ競
合の検出を行う。ここでは、(1)と(2)の命令の間
にレジスタ番号R12に関してハザ−ドが存在するの
で、(1)の命令だけが発行されて実行ユニットに渡さ
れ、(2)の命令の発行は行われない。
At time 2, the instructions of (3) and (4) are fetched and the instruction decoding of (1) and (2) is performed.
The register conflict detection unit 5 further detects register conflict. Here, since there is a hazard regarding the register number R12 between the instructions (1) and (2), only the instruction (1) is issued and passed to the execution unit, and the instruction (2) is issued. Is not done.

【0029】時間3では、(1)の命令が実行ユニット
3で実行されると共に、(3)および(4)の命令がデ
コ−ドされ、さらに次に実行される命令が決定される。
このとき、(2)の命令は、(1)の命令の実行結果が
まだレジスタファイル4にはないので実行命令の候補と
はされない。(3)の命令は、(2)の命令との間でレ
ジスタ番号R10に関してハザ−ドが存在するので同様
に実行命令の候補とはならない。(4)の命令は、
(2)および(3)の命令との間でR10に関してWA
WおよびWARハザ−ドが存在するが、次に示すように
(2)と(3)の命令のレジスタ番号R10を他のレジ
スタ番号に書き換えることにより、(2)および(3)
の命令より先に実行を開始させることができる。
At time 3, the instruction of (1) is executed by the execution unit 3, the instructions of (3) and (4) are decoded, and the instruction to be executed next is determined.
At this time, the instruction (2) is not considered as a candidate for the execution instruction because the execution result of the instruction (1) is not yet in the register file 4. The instruction (3) is not a candidate for an execution instruction because there is a hazard regarding the register number R10 between the instruction (3) and the instruction (2). The command of (4) is
WA with respect to R10 between the instructions of (2) and (3)
Although there are W and WAR hazards, by rewriting the register number R10 of the instructions of (2) and (3) to another register number as shown below, (2) and (3)
Execution can be started before the instruction of.

【0030】まず、レジスタ競合検出部5が、(2)お
よび(3)の命令と(4)の命令のハザ−ドを検出す
る。これを、レジスタ番号変更制御部7に通知すると、
レジスタ番号変更制御部7では名称変更レジスタ制御部
9からキュ−の先頭のレジスタ番号R32を取り出し、
命令バッファ1の(2)および(3)の命令のR10を
R32に書き換える。名称変更レジスタ制御部9ではキ
ュ−の先頭からR32が取り出される。
First, the register conflict detection unit 5 detects the hazard between the instructions (2) and (3) and the instruction (4). When this is notified to the register number change control unit 7,
The register number change control unit 7 takes out the register number R32 at the head of the queue from the name change register control unit 9,
R10 of the instructions (2) and (3) in the instruction buffer 1 is rewritten to R32. The name change register control unit 9 extracts R32 from the beginning of the queue.

【0031】どの命令のどのレジスタ番号を書き換える
かは、処理時間等の種々の条件から決定される。
Which register number of which instruction is rewritten is determined from various conditions such as processing time.

【0032】時間4では、(1)の命令のメモリアクセ
スと、(4)の命令の実行/アドレス計算が行われる。
At time 4, the memory access of the instruction (1) and the execution / address calculation of the instruction (4) are performed.

【0033】時間5では、(1)の命令の演算結果がレ
ジスタファイル4に書き込まれると共に、(4)の命令
のメモリアクセスが行われる。さらに、(1)の命令の
レジスタファイル4への書き込みによって(2)の命令
のソ−スオペランドが得られるので、命令選択部2によ
り、(2)の命令が選択されることになる。
At time 5, the operation result of the instruction (1) is written in the register file 4 and the memory access of the instruction (4) is performed. Furthermore, since the source operand of the instruction of (2) is obtained by writing the instruction of (1) to the register file 4, the instruction selecting unit 2 selects the instruction of (2).

【0034】そして、時間6では、(2)の命令の実行
が行われると共に、(4)の命令の実行結果がレジスタ
ファイル4に書き込まれる。
At time 6, the instruction (2) is executed and the execution result of the instruction (4) is written in the register file 4.

【0035】時間7では、(2)の命令のメモリアクセ
スのステ−ジとなる。
At time 7, the memory access stage of the instruction (2) is started.

【0036】時間8では、(2)の命令の演算結果が本
来ならレジスタファイル4に書き込まれるのであるが、
書き込み先がレジスタ番号R32に変更されているの
で、名称変更レジスタ8内のR32にその結果が書き込
まれる。さらに、最後に残った(3)の命令のソ−スオ
ペランドが、(2)の命令の終了によって得られたの
で、命令選択部2により、(3)の命令が選択され、ソ
−スオぺランドの読み出しが行われる。このときも
(3)の命令のソ−スオペランドのR10がR32に書
き換えられているので、名称変更レジスタ8内のR32
からそのデ−タが読み出される。
At time 8, although the operation result of the instruction (2) is originally written in the register file 4,
Since the write destination is changed to the register number R32, the result is written to R32 in the name change register 8. Furthermore, since the last remaining source operand of the instruction of (3) is obtained by the end of the instruction of (2), the instruction selecting unit 2 selects the instruction of (3) and the source operation is performed. The land is read. At this time as well, since R10 of the source operand of the instruction (3) is rewritten to R32, R32 in the name change register 8 is changed.
The data is read from.

【0037】さらに、時間9、10そして11におい
て、(3)の命令実行/アドレス計算、メモリアクセ
ス、そしてレジスタ書き込みの各ステ−ジが行われ、終
了する。
Further, at times 9, 10 and 11, each stage of (3) instruction execution / address calculation, memory access and register write is performed and completed.

【0038】以上は、パイプライン制御による情報処理
装置でレジスタ番号変更装置の動作を説明したが、例え
ば、レジスタの共有によるレジスタハザ−ドの生じ得る
ような情報処理装置等についても適用が可能である。
The operation of the register number changing device in the information processing device under pipeline control has been described above, but the present invention is also applicable to an information processing device in which register hazards may occur due to sharing of registers. .

【0039】[0039]

【発明の効果】以上説明したように、本発明のレジスタ
番号変更装置によれば、従来のように命令デコ−ド時に
発行しようとする命令の内容を変更し、さらにレジスタ
内でマッピングを行うことなく、レジスタ競合の解消す
ることができる。よって、命令デコ−ド時間の短縮化
と、回路量も削減を図ることができる。従って、本発明
は、情報処理装置における大きな性能向上を図ることが
できるものである。
As described above, according to the register number changing device of the present invention, the contents of the instruction to be issued at the time of instruction decoding are changed as in the prior art, and mapping is performed in the register. Instead, register conflict can be resolved. Therefore, it is possible to reduce the instruction decoding time and the circuit amount. Therefore, the present invention can improve the performance of the information processing apparatus.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例のレジスタ番号変更装置を含
む情報処理装置のブロック図である。
FIG. 1 is a block diagram of an information processing apparatus including a register number changing device according to an exemplary embodiment of the present invention.

【図2】命令列の一例を示す図である。FIG. 2 is a diagram showing an example of an instruction sequence.

【図3】情報処理装置のパイプラインステ−ジの一例を
示す図である。
FIG. 3 is a diagram showing an example of a pipeline stage of an information processing apparatus.

【図4】図2に示す命令列を処理するときのタイミング
チャ−トである。
FIG. 4 is a timing chart when processing the instruction sequence shown in FIG.

【図5】従来方式の情報処理装置のブロック図である。FIG. 5 is a block diagram of a conventional information processing apparatus.

【図6】従来方式による情報処理装置の中のレジスタ変
更テ−ブルのブロック図である。
FIG. 6 is a block diagram of a register change table in a conventional information processing apparatus.

【図7】図2に示す命令列をレジスタリネーミング方式
で処理した場合のタイミングチャ−トである。
FIG. 7 is a timing chart when the instruction sequence shown in FIG. 2 is processed by a register renaming method.

【図8】本発明にかかる情報処理装置のレジスタファイ
ルと名称変更レジスタの一例を示す構成図である。
FIG. 8 is a configuration diagram showing an example of a register file and a name change register of the information processing apparatus according to the present invention.

【図9】本発明にかかるレジスタ番号変更装置の名称変
更レジスタ制御部のレジスタキュ−の構成図である。
FIG. 9 is a configuration diagram of a register queue of a name change register control unit of the register number change device according to the present invention.

【符号の説明】[Explanation of symbols]

1、10…命令バッファ 2、21…命令選択部 3、23…実行ユニット 4、24…レジスタファイル 5、22…レジスタ競合検出部 25…レジスタ変更テ−ブル 6…レジスタ番号変更装置 7…レジスタ番号変更制御部 8…名称変更レジスタ 9…名称変更レジスタ制御部 1, 10 ... Instruction buffer 2, 21 ... Instruction selection unit 3, 23 ... Execution unit 4, 24 ... Register file 5, 22 ... Register conflict detection unit 25 ... Register change table 6 ... Register number changing device 7 ... Register number Change control unit 8 ... Name change register 9 ... Name change register control unit

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 複数の命令を保持し、これら複数の命令
におけるレジスタ競合を検出するレジスタ競合検出機能
と、レジスタ競合が発生しない命令から先に実行を開始
する先行制御機能とを有する情報処理装置において、 命令のレジスタ番号で指定されるレジスタを有するレジ
スタファイルとは別に設けられた変更用レジスタと、 該変更用レジスタ中の未使用レジスタ番号を保持する未
使用レジスタ番号記憶手段と、 レジスタ競合が検出されたとき、競合の発生した命令の
レジスタ番号を、前記未使用レジスタ番号記憶手段に記
憶されている未使用レジスタ番号に変更するレジスタ番
号変更手段とを有することを特徴とするレジスタ番号変
更装置。
1. An information processing apparatus having a register conflict detection function for holding a plurality of instructions and detecting register conflict in the plurality of instructions, and a preceding control function for starting execution from an instruction in which register conflict does not occur. In the above, there is a register conflict with a register for change provided separately from a register file having a register specified by the register number of the instruction, an unused register number storage means for holding an unused register number in the register for change, A register number changing device for changing the register number of the instruction in which the conflict has occurred to the unused register number stored in the unused register number storing means when detected. .
JP29968892A 1992-11-10 1992-11-10 Register number changing device Pending JPH06149569A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29968892A JPH06149569A (en) 1992-11-10 1992-11-10 Register number changing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29968892A JPH06149569A (en) 1992-11-10 1992-11-10 Register number changing device

Publications (1)

Publication Number Publication Date
JPH06149569A true JPH06149569A (en) 1994-05-27

Family

ID=17875766

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29968892A Pending JPH06149569A (en) 1992-11-10 1992-11-10 Register number changing device

Country Status (1)

Country Link
JP (1) JPH06149569A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08110901A (en) * 1994-10-12 1996-04-30 Nec Shizuoka Ltd Microprocessor
WO2001018645A1 (en) * 1999-09-08 2001-03-15 Hajime Seki Register renaming system
US6212619B1 (en) * 1998-05-11 2001-04-03 International Business Machines Corporation System and method for high-speed register renaming by counting

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08110901A (en) * 1994-10-12 1996-04-30 Nec Shizuoka Ltd Microprocessor
US6212619B1 (en) * 1998-05-11 2001-04-03 International Business Machines Corporation System and method for high-speed register renaming by counting
WO2001018645A1 (en) * 1999-09-08 2001-03-15 Hajime Seki Register renaming system
US7171541B1 (en) * 1999-09-08 2007-01-30 Hajime Seki Register renaming system

Similar Documents

Publication Publication Date Title
US4734852A (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
JPH0682320B2 (en) Data processing device
JPH06149569A (en) Register number changing device
JPS63228225A (en) Digital computer system
JP2001306334A (en) Emulation device
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
KR970012141A (en) Data processing device performing pipeline processing
JPH06230963A (en) Memory access controller
JPH0954694A (en) Pipeline processor and its processing method
JPH07114509A (en) Memory access device
JPS60241136A (en) Data processor
JPH0646381B2 (en) Instruction fetching device
JPH04127326A (en) Information processor and instruction generating method
JP3017866B2 (en) Interrupt processing method
JP4151497B2 (en) Pipeline processing equipment
JP2545594B2 (en) Operand data prefetching method
JPS6220032A (en) Information processor
JPS62254237A (en) Inter-printer type branch instruction executing system
JP3057732B2 (en) Information processing device
JPH0269825A (en) Pipe line control system
JPH0740226B2 (en) Branch instruction control method
JPS6047616B2 (en) information processing equipment
JP2000267931A (en) Software execution system
JPH0527972A (en) Instruction prefetch device
JPH0578052B2 (en)