[go: up one dir, main page]

JP2943776B2 - Information processing device - Google Patents

Information processing device

Info

Publication number
JP2943776B2
JP2943776B2 JP19506997A JP19506997A JP2943776B2 JP 2943776 B2 JP2943776 B2 JP 2943776B2 JP 19506997 A JP19506997 A JP 19506997A JP 19506997 A JP19506997 A JP 19506997A JP 2943776 B2 JP2943776 B2 JP 2943776B2
Authority
JP
Japan
Prior art keywords
register
renaming
general
read
purpose register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP19506997A
Other languages
Japanese (ja)
Other versions
JPH1124926A (en
Inventor
政人 西田
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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP19506997A priority Critical patent/JP2943776B2/en
Publication of JPH1124926A publication Critical patent/JPH1124926A/en
Application granted granted Critical
Publication of JP2943776B2 publication Critical patent/JP2943776B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

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 apparatus, and more particularly to a processing function of an information processing apparatus that performs register renaming capable of executing instructions out of order.

【0002】近年、情報処理装置に対して、より一層の
性能向上が求められており、より高性能を実現するた
め、「スーパースカラ型」と呼ばれる高速化方式が採用
されている。
In recent years, there has been a demand for further improvement in performance of information processing apparatuses, and in order to achieve higher performance, a high-speed system called “super scalar type” has been adopted.

【0003】スーパースカラ型のプロセッサでは、複数
の命令を同時にデコードし、命令発行を行うが、各命令
間には処理結果に対する依存関係があり、依存関係を維
持したまま命令発行制御を行うと十分な性能が得られな
い。このため、多くのスーパースカラ型のプロセッサに
おいて、「アウトオブオーダ発行」と呼ばれる、命令出
現順序に従わない命令発行制御が行われている。
In a superscalar type processor, a plurality of instructions are simultaneously decoded and instructions are issued. However, each instruction has a dependency on a processing result, and it is sufficient to control the instruction issuance while maintaining the dependency. Performance cannot be obtained. For this reason, in many superscalar-type processors, instruction issuance control that does not follow the order in which instructions appear, which is called “out-of-order issuance”, is performed.

【0004】アウトオブオーダ発行制御では、命令の発
行順序の入れ替えが発生するため、各命令で処理された
結果を汎用レジスタ等に書き込む場合に、書き込み順序
の入れ替えも発生し得る。下記に示す例では、(2)の
命令が、(1)の除算命令による結果のS0レジスタへ
の書き込みを待ち合わせるため、アウトオブオーダ発行
制御によって、(3)の命令が(2)の命令に先行して
発行されることになるが、この場合、(3)の命令によ
るS3レジスタへの書き込みが、(2)の命令による書
き込みに先行して発生する。
In the out-of-order issuance control, the order of issue of instructions is changed. Therefore, when the result processed by each instruction is written in a general-purpose register or the like, the order of write may also be changed. In the example shown below, the instruction of (2) waits for the result of the division instruction of (1) to be written to the S0 register, so that the instruction of (3) is changed to the instruction of (2) by out-of-order issuance control. Although issued in advance, in this case, writing to the S3 register by the instruction (3) occurs prior to writing by the instruction (2).

【0005】S0←S1/S2 …(1) S3←S0十S4 …(2) S3←S5×S6 …(3)S0 ← S1 / S2 (1) S3 ← S0 × S4 (2) S3 ← S5 × S6 (3)

【0006】通常、命令出現順の実行結果が反映される
ことを期待しているので、最終的に書き込まれるレジス
タの順序保証制御が必要となる。この制御のために、書
き込みレジスタ名をシステム中でユニークになるような
番号“タグ”に付け替える操作である「リネーミング」
を行い、データの依存関係を特定する。
Normally, since it is expected that the execution results in the order in which instructions appear are reflected, it is necessary to control the order of registers to be finally written. For this control, "Renaming" is an operation of changing the write register name to a number "tag" that is unique in the system.
To identify data dependencies.

【0007】これらの機能を実現する手法としては、ス
コアボーディング、Tomasuloアルゴリズム等が
知られている。例えば文献(ヘネシー、及びパターソン
著、「コンピュータ・アーキテクチャ 設計・実現・評
価への定量的アプローチ」、1992年12月25日、
日経BP社、第293〜298頁)等の記載が参照され
る。
As a technique for realizing these functions, score boarding, the Tomasulo algorithm, and the like are known. For example, in the literature (Hennessy and Patterson, "A Quantitative Approach to Computer Architecture Design, Implementation, and Evaluation," December 25, 1992,
Reference is made to Nikkei BP, pages 293-298).

【0008】Tomasuloアルゴリズムでは、依存
関係があり先行命令の未確定データを機能ブロック単位
で待ち合わせるために、「リザべ−ションステーショ
ン」と呼ばれる、バッファを持つ。
The Tomasulo algorithm has a buffer called a "reservation station" in order to wait for indeterminate data of a preceding instruction in a functional block unit having a dependency.

【0009】また、リネーミングの制御の一方式とし
て、リネーミングされたレジスタの結果を、汎用レジス
タに直接書き込むのではなく、一旦、「リネーミングレ
ジスタ」と呼ばれるレジスタに、リネーミングされたタ
グ番号に対応する位置に格納しておき、実行順序が保証
される時点に、結果の書き込みを行う制御がある。
As one method of controlling renaming, a result of a renamed register is not directly written to a general-purpose register, but is temporarily stored in a register called a “renaming register”. There is a control for writing the result when the execution order is guaranteed.

【0010】図3に、従来方式の構成の一例を示す。図
3には、従来方式として、4リード3ライトポートを有
する汎用レジスタ1と、リザベーションステーションR
S18−1/18−2で3命令の同時発行、2演算命令
間のアウトオブオーダ発行が可能な構成を示す。図3に
おいて、2は読み出しアドレスデコーダ、4は書き込み
アドレスデコーダ、5〜7は書き込みデータレジスタ、
11−1〜11−3は書き込みアドレスレジスタ、12
−1〜12−4は読み出しデータレジスタ、13はアド
レスアダー、15、16は固定小数点/浮動小数点演算
器、17はキャッシュユニットを示している。
FIG. 3 shows an example of the configuration of the conventional system. FIG. 3 shows a general-purpose register 1 having four read and three write ports and a reservation station R as a conventional method.
In S18-1 / 18-2, a configuration is shown in which three instructions can be issued simultaneously and out-of-order issue between two operation instructions is possible. 3, 2 is a read address decoder, 4 is a write address decoder, 5 to 7 are write data registers,
11-1 to 11-3 are write address registers;
Reference numerals -1 to 12-4 denote a read data register, 13 denotes an address adder, 15 and 16 denote fixed-point / floating-point arithmetic units, and 17 denotes a cache unit.

【0011】命令発行制御ユニット(図示せず)でデコ
ードされた命令のオペランドデータは、読み出しレジス
タ9−1〜9−4に汎用レジスタ1の読み出しアドレス
がセットされ、読み出しデータレジスタ12−1〜12
−4に読み出され、アドレスアダー13、および、固定
小数点/浮動小数点演算器15、16に供給される。こ
の場合、命令はデコード順で汎用レジスタSR1から読
み出されることから、先行命令の処理が未完了であるた
めに発行が不可の命令が発生する。
As for the operand data of the instruction decoded by the instruction issuance control unit (not shown), the read address of the general-purpose register 1 is set in the read registers 9-1 to 9-4, and the read data registers 12-1 to 12-12 are read.
-4, and supplied to the address adder 13 and the fixed-point / floating-point arithmetic units 15 and 16. In this case, since the instructions are read from the general-purpose register SR1 in the decoding order, an instruction that cannot be issued occurs because the processing of the preceding instruction is not completed.

【0012】発行できない命令は、リザベーションステ
ーションRS18−1/18−2に、一旦格納され、先
行命令によるオペランドの確定を待ちあわせる。リザベ
ーションステーション18−1/18−2からは、オペ
ランドデータが確定した命令から順に演算器15/16
に対して発行される。
Instructions that cannot be issued are temporarily stored in the reservation stations RS18-1 / 18-2, and wait for determination of operands by preceding instructions. From the reservation stations 18-1 / 18-2, the arithmetic units 15/16 are sequentially ordered from the instruction whose operand data is determined.
Issued for

【0013】この従来方式では、アドレスアダー13側
には、リザベーションステーションを設けていないた
め、アドレスアダー13を利用するメモリアクセス命令
はアウトオブオーダ発行ができない。このため、命令デ
コードステージでオペランドの確定を待ちあわせること
になることから、後続命令の発行ができず、性能低下要
因になる。
In this conventional system, since no reservation station is provided on the address adder 13 side, a memory access instruction using the address adder 13 cannot be issued out-of-order. For this reason, the operand decode is waited for in the instruction decode stage, so that the subsequent instruction cannot be issued, which causes a decrease in performance.

【0014】処理結果の汎用レジスタ1への格納につい
ては、書き込みデータレジスタ5、6、7を介して汎用
レジスタ1に書き込まれるが、出力依存のある命令間で
の書き込みの追い越しがあった場合、先行命令の汎用レ
ジスタ1への書き込みを抑止する制御が行われる。そし
て、演算結果は、後続命令によって参照される可能性が
あるので、各ステージのレジスタ、リザベーションステ
ーションに対するデータの差し替えパスを有している。
The result of processing is stored in the general-purpose register 1 through the write data registers 5, 6, and 7. However, if there is a write overtaking between instructions that depend on output, Control is performed to suppress the writing of the preceding instruction into the general-purpose register 1. Since the operation result may be referred to by a subsequent instruction, it has a register for each stage and a data replacement path for the reservation station.

【0015】[0015]

【発明が解決しようとする課題】しかしながら、上記し
た従来方式は、下記記載の問題点を有している。
However, the above-mentioned conventional method has the following problems.

【0016】第1の問題点は、上記のように、レジスタ
リネーミング制御を行うための機能の組み込みが必要で
あるが、Tomasuloアルゴリズムによる、リザべ
−ションステーション方式等においては、リザベーショ
ンステーションは、構造上RAM(ランダムアクセスメ
モリ)構成で実現することは困難であり、また、レイア
ウト的にも分散する傾向があり、このため、遅延時間、
ハードウェア量としても大きくなる傾向にあるととも
に、制御も複雑になる、ということである。
The first problem is that, as described above, it is necessary to incorporate a function for performing register renaming control. However, in a reservation station system or the like based on the Tomasulo algorithm, the reservation station is Structurally, it is difficult to realize a RAM (random access memory) configuration, and the layout tends to be dispersed.
This means that the amount of hardware tends to be large and the control becomes complicated.

【0017】第2の問題点は、スーパースカラ方式で
は、同時に複数の命令の処理を行うため、複数のデータ
を汎用レジスタから同時に読み出すことが必要とされ、
このため、汎用レジスタは多数のリードライトポートを
持つRAMマクロで構成され、また、リネーミングレジ
スタ等からのデータの差し替えパス等の確保が必要であ
り、膨大なデータ線の引き回しが必要となる、というこ
とである。
The second problem is that in the superscalar system, a plurality of instructions are processed at the same time, so that a plurality of data must be read from a general-purpose register at the same time.
For this reason, the general-purpose register is composed of a RAM macro having a large number of read / write ports, and it is necessary to secure a path for replacing data from the renaming register and the like, and it is necessary to route an enormous data line. That's what it means.

【0018】なお、近年のマイクロプロセッサでは、4
命令程度の同時発行を実現するため、10以上のポート
を持つメモリで構成され、チップ設計が非常に困難にな
ってきている。
Incidentally, in recent microprocessors, 4
In order to realize the simultaneous issuance of instructions or the like, it is configured with a memory having 10 or more ports, and chip design has become extremely difficult.

【0019】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、レジスタリネー
ミング制御を非常に簡単な制御で実現することを可能と
すると共に、差し替えパスの多くがRAM構造の中で行
われ、多くの配線の引き回しが省略可能とし、収容性、
遅延の増加を大幅に改善する、情報処理装置を提供する
ことにある。
Therefore, the present invention has been made in view of the above-mentioned problems, and an object of the present invention is to enable register renaming control to be realized by a very simple control, and to realize a large number of replacement paths. Is performed in the RAM structure, and many wirings can be omitted.
It is an object of the present invention to provide an information processing apparatus that significantly improves an increase in delay.

【0020】[0020]

【課題を解決するための手段】前記目的を達成するた
め、本発明の情報処理装置は、レジスタリネーミングを
行い、アウトオブオーダで命令実行が可能な情報処理装
置であって、命令実行の結果を格納、取り出しを行うm
ワードの汎用レジスタと、アウトオブオーダ発行によっ
て実行された未確定の命令の実行結果を格納するnワー
ドのリネーミングレジスタをそれぞれ多ポートメモリで
構成し、前記汎用レジスタのメモリセルの読み出しビッ
ト線と、前記リネーミングレジスタのメモリセルの読み
出しビット線を結合し、m+nワードのレジスタとして
第一のアドレスデコーダによって指し示される位置のワ
ードデータを読み出す第一の読み出し手段と、前記汎用
レジスタのメモリセルの書き込みビット線と、前記リネ
ーミングレジスタのメモリセルの書き込みビット線を分
離し、第二のアドレスデコーダで指し示されるワード位
置の汎用レジスタに書き込む第一の書き込み手段と、第
三のアドレスデコーダで指し示されるワード位置のリネ
ーミングレジスタに書き込む第二の書き込み手段と、を
有する。
According to one aspect of the present invention, there is provided an information processing apparatus which performs register renaming and is capable of executing an instruction out of order. To store and retrieve
A word general-purpose register and an n-word renaming register for storing an execution result of an undetermined instruction executed by out-of-order issuance are each configured by a multi-port memory. A first read means for connecting the read bit lines of the memory cells of the renaming register to read word data at a position indicated by a first address decoder as a register of m + n words; A write bit line is separated from a write bit line of a memory cell of the renaming register, and first write means for writing to a general-purpose register at a word position indicated by a second address decoder; and a third address decoder. Renaming register for indicated word location It has a second writing means for writing, a.

【0021】また、本発明においては、前記第一の書き
込み手段によって汎用レジスタに書き込まれるデータ
は、前記第一の読み出し手段によって読み出されたリネ
ーミングレジスタの内容であることを特徴とする。
In the present invention, the data written to the general-purpose register by the first writing means is the contents of the renaming register read by the first reading means.

【0022】[0022]

【発明の実施の形態】本発明の実施の形態について説明
する。本発明は、その好ましい実施の形態において、レ
ジスタリネーミングを行い、アウトオブオーダで命令実
行が可能な情報処理装置において、命令実行の結果を格
納、取り出しを行うmワードの汎用レジスタ(図2の1
−2)と、アウトオブオーダ発行によって実行された未
確定の命令の実行結果を格納するnワードのリネーミン
グレジスタ(図2の1−1)をそれぞれ多ポートメモリ
で構成し、汎用レジスタの読み出しビット線とリネーミ
ングレジスタの読み出しビット線を共通化し、m+nワ
ードのレジスタとして読み出す手段と、汎用レジスタの
書き込みビット線とリネーミングレジスタの書き込みビ
ット線を分離し、処理結果を一旦、リネーミングレジス
タに書き込んでおき、汎用レジスタへ書き込む際は、上
記読み出し手段で読み出されたリネーミングレジスタの
内容を選択ラッチして(図2の1−3等)、汎用レジス
タ(図2の1−2)に書き込むようにしたものである。
Embodiments of the present invention will be described. According to a preferred embodiment of the present invention, in an information processing apparatus capable of performing register renaming and executing instructions out-of-order, an m-word general-purpose register (FIG. 2) for storing and retrieving the result of instruction execution is provided. 1
-2) and an n-word renaming register (1-1 in FIG. 2) for storing the execution result of an undetermined instruction executed by out-of-order issuance are each configured by a multi-port memory, and a general register is read. The bit line and the read bit line of the renaming register are shared, and the means for reading as a register of m + n words and the write bit line of the general-purpose register and the write bit line of the renaming register are separated, and the processing result is temporarily stored in the renaming register. When writing to a general-purpose register, the contents of the renaming register read by the above-mentioned reading means are selectively latched (1-3 in FIG. 2) and stored in the general-purpose register (1-2 in FIG. 2). It is intended to be written.

【0023】本発明の実施の形態によれば、レジスタリ
ネーミング制御を簡単な制御で実現することが可能にな
る。また、差し替えパスの多くがRAM構造の中で行わ
れ、多くの配線の引き回しが省略できるため、配線のた
めのレイアウト、収容性、遅延の増加を大幅に改善でき
る。
According to the embodiment of the present invention, register renaming control can be realized by simple control. In addition, since many of the replacement paths are performed in the RAM structure and many wirings can be omitted, it is possible to greatly improve the layout, accommodation, and delay of the wiring.

【0024】[0024]

【実施例】上記した本発明の実施の形態について更に詳
細に説明すべく、本発明の実施例を図面を参照して以下
に説明する。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing an embodiment of the present invention;

【0025】図1は、本発明の一実施例の構成を示すブ
ロック図である。図1を参照すると、レジスタ1は、1
28ワードの汎用レジスタSR部と、64ワードのリネ
ーミングレジスタRR部の2つの部分から構成されるレ
ジスタファイルである。8組の読み出しレジスタ9−1
〜9−8は、それぞれアドレスデコーダ2に接続され、
192ワードのデコード出力としてレジスタファイル1
に接続される。4組のRR(リネーミングレジスタ)書
き込みレジスタ10−1〜10−4は、それぞれアドレ
スデコーダ3に接続され、64ワードのデコード出力と
して、リネーミングレジスタRRにのみ接続される。4
組のSR(汎用レジスタ)書き込みレジスタ11−1〜
11−4は、それぞれアドレスデコーダ4に接続され、
128ワードのデコード出力として、汎用レジスタSR
にのみ接続される。8組の読み出しレジスタ9−1〜9
−8で指し示された位置から読み出された、リネーミン
グレジスタRR、及び、汎用レジスタSRの読み出し結
果は、それぞれ8組の読み出しデータレジスタ12−1
〜12−8に格納される。
FIG. 1 is a block diagram showing the configuration of one embodiment of the present invention. Referring to FIG. 1, register 1 contains 1
This is a register file composed of two parts, a 28-word general-purpose register SR and a 64-word renaming register RR. Eight sets of read registers 9-1
To 9-8 are connected to the address decoder 2, respectively.
Register file 1 as 192 word decode output
Connected to. The four sets of RR (renaming register) write registers 10-1 to 10-4 are respectively connected to the address decoder 3, and are connected only to the renaming register RR as a 64-word decode output. 4
A set of SR (general purpose register) write registers 11-1 to 11-1
11-4 are connected to the address decoder 4, respectively.
General-purpose register SR as 128-word decode output
Connected only to Eight sets of read registers 9-1 to 9
The read results of the renaming register RR and the general-purpose register SR read from the position indicated by -8 are respectively eight sets of read data registers 12-1.
To 12-8.

【0026】各読み出しデータレジスタ12−1〜12
−8は、アドレスアダー13、14、及び、2組の固定
小数点/浮動小数点演算器15、16に接続され、アド
レスアダー13、14は、さらにキャッシュユニット1
7に接続される。
Each of the read data registers 12-1 to 12-12
-8 is connected to address adders 13 and 14 and two sets of fixed point / floating point arithmetic units 15 and 16, and the address adders 13 and 14 are further connected to the cache unit 1.
7 is connected.

【0027】キャッシュユニット17では、アドレスア
ダー13、14で計算された、主記憶上のアドレス情報
を基に、プロセッサ内のキャッシュメモリをアクセス
し、ヒットした場合は、指定位置のキャッシュの内容
を、ミスヒットなら、主記憶からのデータの取り出しを
行う。
The cache unit 17 accesses the cache memory in the processor based on the address information in the main memory calculated by the address adders 13 and 14, and if a hit occurs, the contents of the cache at the specified position are read. If it is a mishit, data is fetched from the main memory.

【0028】また、固定小数点/浮動小数点演算器1
5、16では、読み出しレジスタ12を入カデータとし
て、命令発行ユニットによって指定された演算処理が行
われる。
The fixed point / floating point arithmetic unit 1
In steps 5 and 16, arithmetic processing specified by the instruction issuing unit is performed using the read register 12 as input data.

【0029】キャッシュユニット17、および、固定小
数点/浮動小数点演算器15、16で処理された結果
は、各々書き込みデータレジスタ5、6、および7、8
に格納され、RR書き込みレジスタ10−1〜10−4
で指定されるリネーミングレジスタ位置に書き込まれ
る。
The results processed by the cache unit 17 and the fixed-point / floating-point arithmetic units 15 and 16 are stored in the write data registers 5, 6, 7 and 8, respectively.
And the RR write registers 10-1 to 10-4
Is written to the renaming register location specified by.

【0030】図2に、本発明の一実施例における、汎用
レジスタSRとリネーミングレジスタRRを含むレジス
タファイル1の構造を示す。
FIG. 2 shows the structure of the register file 1 including the general-purpose register SR and the renaming register RR in one embodiment of the present invention.

【0031】図2を参照すると、レジスタファイル1
は、64ワードのリネーミングレジタ1−1と、128
ワードの汎用レジスタ1−2から構成されている。8組
のリードポートに対応するレジスタファイルのリードポ
ートのビット線101、102、103、104、10
5、106、107、108は、レジスタRで結合さ
れ、192ワードのレジスタとしてデータの読み出しが
行われる。
Referring to FIG. 2, register file 1
Is a 64-word renaming register 1-1 and 128
It comprises a word general register 1-2. Bit lines 101, 102, 103, 104, 10 of the read ports of the register file corresponding to the eight sets of read ports
5, 106, 107, and 108 are connected by a register R, and data is read as a 192 word register.

【0032】リネーミングレジスタ1−1に対する書き
込みビット線109、110、111、112は、書き
込みデータレジスタ5、6、7、8にそれぞれ接続さ
れ、書き込みデータレジスタの内容がRR書き込みアド
レスデコーダ3の指定するワード位置に書き込まれる。
The write bit lines 109, 110, 111, and 112 for the renaming register 1-1 are connected to the write data registers 5, 6, 7, and 8, respectively, and the contents of the write data registers are designated by the RR write address decoder 3. Is written to the corresponding word position.

【0033】また、信号線101、102を介して読み
出されるリネーミングレジスタ1−1の読み出しデータ
は、セレクタ付きラッチ1−3で選択、ラッチされ、該
ラッチされたデータは、汎用レジスタ1−2に対する書
き込みビット線113を介して、SR書き込みアドレス
デコ−ダ4の指定するワード位置に書き込まれる。
The read data of the renaming register 1-1 read via the signal lines 101 and 102 is selected and latched by the latch with selector 1-3, and the latched data is stored in the general-purpose register 1-2. Is written to the word position designated by the SR write address decoder 4 via the write bit line 113 for the write operation.

【0034】同様に、リネーミングレジスタ1−1の内
容が、信号線103、104を介してセレクタ付きラッ
チ1−4で選択、ラッチされ、信号線114を介して汎
用レジスタ1−2に書き込まれる。同様に、リネーミン
グレジスタ1−1の内容が、信号線105、106を介
してセレクタ付きラッチ1−5で選択、ラッチされ、信
号線115を介して汎用レジスタ1−2へ、信号線10
7、108を介してセレクタ付きラッチ1−6で選択、
ラッチされ、信号線116を介して、汎用レジスタ1−
2に書き込まれる。
Similarly, the contents of the renaming register 1-1 are selected and latched by the latch with selector 1-4 via the signal lines 103 and 104, and written into the general-purpose register 1-2 via the signal line 114. . Similarly, the contents of the renaming register 1-1 are selected and latched by the latch with selector 1-5 via the signal lines 105 and 106, and are sent to the general-purpose register 1-2 via the signal line 115.
Selected by latches 1-6 with selectors through 7 and 108,
Latched, and the general-purpose register 1-
2 is written.

【0035】本発明の一実施例の動作について、図3に
示した従来方式と比較して説明する。
The operation of the embodiment of the present invention will be described in comparison with the conventional system shown in FIG.

【0036】前述したように、図3を参照して説明した
上記従来方式では、アドレスアダー側には、リザベーシ
ョンステーションを設けていないため、アドレスアダー
を利用するメモリアクセス命令はアウトオブオーダ発行
ができないため、命令デコードステージでオペランドの
確定を待ちあわせることになり、後続命令の発行ができ
ず、性能低下要因になる。また処理結果の汎用レジスタ
への格納は、書き込みデータレジスタ5、6、7を介し
て汎用レジスタに書き込まれるが、出力依存のある命令
間での書き込みの追い越しがあった場合、先行命令の汎
用レジスタSRへの書き込みを抑止する制御が行われ
る。また演算結果は、後続命令によって参照される可能
性があるので、各ステージのレジスタ、リザベーション
ステーションに対するデータの差し替えパスを有する。
As described above, in the conventional method described with reference to FIG. 3, since no reservation station is provided on the address adder side, a memory access instruction using the address adder cannot be issued out-of-order. Therefore, it is necessary to wait for the determination of the operand in the instruction decode stage, and the subsequent instruction cannot be issued, which is a factor of performance degradation. The processing result is stored in the general-purpose register via the write data registers 5, 6, and 7. However, if there is a write overtaking between the output-dependent instructions, the general-purpose register of the preceding instruction is output. Control is performed to suppress writing to the SR. Further, since the operation result may be referred to by a subsequent instruction, each stage has a register and a data replacement path for the reservation station.

【0037】これに対して、図1に示す、本発明の一実
施例においては、大幅な性能改善を図るために、8つの
オペランドの同時読み出しと、4つ書き込みが同時にで
きるレジスタファイルを備えており、4つの命令の同時
発行が可能な構成としたものである。
On the other hand, in the embodiment of the present invention shown in FIG. 1, a register file capable of simultaneously reading eight operands and simultaneously writing four operands is provided in order to greatly improve the performance. In this configuration, four instructions can be issued simultaneously.

【0038】本実施例では、データパス内でオペランド
の待ち合わせを行うのではなく、命令発行制御ユニット
内で命令発行のリオーダリングする制御ユニット(図示
せず)を有し、RR/SRレジスタファイル1の読み出
しは、リネーミングレジスタRR、または汎用レジスタ
SRにデータ確定した、または、確定する予定の命令に
対して行われる。
In this embodiment, an instruction issuance control unit (not shown) has a control unit (not shown) for reordering instruction issuance, instead of waiting for operands in the data path. Is performed for an instruction whose data has been or will be determined in the renaming register RR or the general-purpose register SR.

【0039】各汎用レジスタ更新命令には、システム中
でユニークになるような、“タグ”情報=リネーミング
レジスタ番号が割り当てられ、各命令の処理結果は、一
旦リネーミングレジスタの該当位置に格納される。
Each of the general-purpose register update instructions is assigned a "tag" information = a renaming register number which is unique in the system, and the processing result of each instruction is temporarily stored in a corresponding position of the renaming register. You.

【0040】リネーミングレジスタRRに格納された処
理結果は、先行する命令すべての処理が完了した時点
で、汎用レジスタSRに対して書き込みが行われる。す
なわち、汎用レジスタSRへの書き込みはインオーダ
(in-order)化される。
The processing result stored in the renaming register RR is written to the general-purpose register SR when the processing of all preceding instructions is completed. That is, writing to the general-purpose register SR is made in-order.

【0041】オペランドデータの読み出しに関しては、
汎用レジスタSRへの書き込みが完了した命令に関して
は、汎用レジスタSRから、先行命令が未完了で汎用レ
ジスタSRへ書き込まれていない命令に関しては、リネ
ーミングレジスタRRから読み出される。
Regarding reading of operand data,
An instruction whose writing to the general-purpose register SR has been completed is read from the general-purpose register SR, and an instruction whose preceding instruction has not been completed and has not been written to the general-purpose register SR is read from the renaming register RR.

【0042】リネーミングレジスタRRから汎用レジス
タSRへの書き込み時の、リネーミングレジスタRRの
読み出すパスは、RR/SRの読み出すパスと共用され
る。
When writing data from the renaming register RR to the general-purpose register SR, the path for reading out the renaming register RR is shared with the path for reading out RR / SR.

【0043】すなわち、リネーミングレジスタRRと汎
用レジスタSRのメモリの読み出しデータのビット線は
共通であり、このビット線で読み出されたデータは、一
旦、リネーミングレジスタRRと汎用レジスタSRの間
に実装される、セレクタ付きラッチによって、選択ラッ
チされ、そのラッチ出力データが汎用レジスタSRに書
き込まれる。
That is, the bit lines of the read data of the memories of the renaming register RR and the general-purpose register SR are common, and the data read by this bit line is temporarily stored between the renaming register RR and the general-purpose register SR. The latch is selectively latched by the implemented latch with selector, and the latch output data is written to the general-purpose register SR.

【0044】リネーミングレジスタRRと汎用レジスタ
SRの読み出しビット線を共用すると、RR/SRの読
み出しと、汎用レジスタSRへの書き込みが競合するこ
とが懸念されるが、読み出し側が、命令発行の平均スル
ープットに対して余裕を見て作られるので、汎用レジス
タSR書き込みを、読み出しの合間を縫って実行して
も、それほど性能低下にはつながらない。
When the renaming register RR and the read bit line of the general-purpose register SR are shared, there is a concern that the reading of the RR / SR and the writing to the general-purpose register SR may compete with each other. Therefore, even if the writing to the general-purpose register SR is performed between reading operations, the performance is not significantly reduced.

【0045】本発明の一実施例において、RR/SRの
メモリ構成は、読み出し側はビット線を共用すること
で、倍の本数のビット線を配線したり、RR/SRの読
み出しデータを選択したりする必要がなくなる。
In one embodiment of the present invention, the memory configuration of the RR / SR is such that the read side shares the bit lines, thereby doubling the number of bit lines and selecting the RR / SR read data. Or need to be done.

【0046】また、本発明の一実施例においては、書き
込みポート数をそろえることで、RR/SRの幅が揃
い、収容性が改善され、チップレイアウトを容易化する
ものである。
Further, in one embodiment of the present invention, by making the number of write ports uniform, the width of RR / SR is uniform, the accommodating property is improved, and the chip layout is facilitated.

【0047】[0047]

【発明の効果】以上説明したように、本発明によれば、
レイアウトが容易で収容性が大幅に改善するという効果
を奏する。その理由は次の通りである。
As described above, according to the present invention,
The effect is that the layout is easy and the accommodation is greatly improved. The reason is as follows.

【0048】リザベーションステーション構成等では、
複数のバッファ、複数のデータパスが混在した構成とな
り、不規則なレイアウトになってしまうが、本発明によ
れば、多くのデータパスをレジスタファイルブロック内
に規則的に収容できるようにしたためである。
In the reservation station configuration and the like,
This is a configuration in which a plurality of buffers and a plurality of data paths are mixed, resulting in an irregular layout. However, according to the present invention, many data paths can be regularly accommodated in the register file block. .

【0049】また、本発明によれば、コンパクトで、短
い配線で各ブロック間を接続することが可能であるた
め、遅延時間の点でも改善が期待される。
Further, according to the present invention, since each block can be connected with a compact and short wiring, it is expected that the delay time is improved.

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

【図1】本発明の一実施例の構成を示す図である。FIG. 1 is a diagram showing a configuration of an embodiment of the present invention.

【図2】本発明の一実施例におけるレジスタファイル
(RR/SR)の構成を示すブロック図である。
FIG. 2 is a block diagram showing a configuration of a register file (RR / SR) in one embodiment of the present invention.

【図3】従来方式の構成の一例を示す図である。FIG. 3 is a diagram showing an example of a configuration of a conventional system.

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

1 レジスタファイル 1−1 リネーミングレジスタ 1−2 汎用レジスタ 1−3〜1−6 セレクタ付きラッチ 2 読み出しアドレスデコーダ 3〜4 書き込みアドレスデコーダ 5〜8 書き込みデ−タレジスタ 9−1〜9−8 読み出しアドレスレジスタ 10−1〜10−4 書き込みアドレスレジスタ 11−1〜11−4 書き込みアドレスレジスタ 12−1〜12−8 読み出しデータレジスタ 13、14 アドレスアダー 15、16 固定小数点/浮動小数点演算器 17 キャッシュユニット 18−1/18−2 リザべ−ションステーション 1 Register File 1-1 Renaming Register 1-2 General-purpose Register 1-3-1-6 Latch with Selector 2 Read Address Decoder 3-4 Write Address Decoder 5-8 Write Data Register 9-1-9-8 Read Address Registers 10-1 to 10-4 Write address registers 11-1 to 11-4 Write address registers 12-1 to 12-8 Read data registers 13, 14 Address adders 15, 16 Fixed point / floating point arithmetic unit 17 Cache unit 18 −1 / 18-2 Reservation Station

フロントページの続き (56)参考文献 Micheal D.Smith、外 2名”Boosting Beyond Static Scheduling in a Superscalar Processor”,Proceed ings of the 17th An nual Symposium on Computer Architect ure(May 1990),平成2年 (1990年)5月,p.344〜354 (58)調査した分野(Int.Cl.6,DB名) G06F 9/38 G06F 9/30 G06F 9/34 Continuation of the front page (56) References Michael D. Smith, 2 others, "Boosting Beyond Static Scheduling in a Superscalar Processor", Proceedings of the 17th Annual Symposium on Computer Architecture, 1990 (May. 1990, 1990). 344-354 (58) Field surveyed (Int.Cl. 6 , DB name) G06F 9/38 G06F 9/30 G06F 9/34

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】レジスタリネーミングを行い、アウトオブ
オーダで命令実行が可能な情報処理装置において、 命令実行の結果を格納し、且つ取り出しを行うmワード
の汎用レジスタと、アウトオブオーダ発行によって実行
された未確定の命令の実行結果を格納するnワードのリ
ネーミングレジスタをそれぞれ多ポートメモリで構成
し、 前記汎用レジスタのメモリセルの読み出しビット線と、
前記リネーミングレジスタのメモリセルの読み出しビッ
ト線と、を結合し、m+nワードのレジスタとして第一
のアドレスデコーダによって指し示される位置のワード
データを読み出す第一の読み出し手段と、 前記汎用レジスタのメモリセルの書き込みビット線と、
前記リネーミングレジスタのメモリセルの書き込みビッ
ト線と、を分離し、第二のアドレスデコーダで指し示さ
れるワード位置の汎用レジスタに書き込む第一の書き込
み手段と、 第三のアドレスデコーダで指し示されるワード位置のリ
ネーミングレジスタに書き込む第二の書き込み手段と、 を有することを特徴とする情報処理装置。
1. An information processing apparatus capable of executing register register renaming and executing instructions out-of-order, comprising: a general-purpose register of m words for storing and retrieving the result of instruction execution; An n-word renaming register for storing the execution result of the determined undetermined instruction is configured by a multi-port memory, and a read bit line of a memory cell of the general-purpose register;
First read means for combining the read bit line of the memory cell of the renaming register and reading word data at a position indicated by a first address decoder as a register of m + n words; and a memory cell of the general-purpose register A write bit line,
A first write unit that separates a write bit line of a memory cell of the renaming register and writes the general-purpose register at a word position indicated by a second address decoder; and a word indicated by a third address decoder. An information processing apparatus, comprising: second writing means for writing to a position renaming register.
【請求項2】前記第一の書き込み手段によって前記汎用
レジスタに書き込まれるデータが、前記第一の読み出し
手段によって読み出された前記リネーミングレジスタの
内容であることを特徴とする、請求項1記載の情報処理
装置。
2. The data writing device according to claim 1, wherein the data written to said general-purpose register by said first writing means is the contents of said renaming register read by said first reading means. Information processing device.
【請求項3】レジスタリネーミングを行い、アウトオブ
オーダで命令実行が可能な情報処理装置において、 命令実行の結果を格納し、且つ取り出しを行う汎用レジ
スタと、アウトオブオーダ発行によって実行された未確
定の命令の実行結果を格納するリネーミングレジスタを
それぞれ多ポートメモリで構成し、 前記汎用レジスタと前記リネーミングレジスタの読み出
しポートを共通化し、 前記汎用レジスタと前記リネーミングレジスタの書き込
みポートは分離し、 前記リネーミングレジスタに書き込まれた内容の読み出
しデータを選択ラッチして前記汎用レジスタに書き込
む、ように構成されてなることを特徴とする情報処理装
置。
3. An information processing apparatus capable of performing register renaming and executing instructions out-of-order, comprising: a general-purpose register for storing and retrieving a result of the instruction execution; The renaming registers for storing the execution result of the determined instruction are each configured by a multi-port memory, the read port of the general-purpose register and the read port of the renaming register are shared, and the write port of the general-purpose register and the renaming register are separated. An information processing apparatus configured to select and latch read data of the content written in the renaming register and write the read data to the general-purpose register.
JP19506997A 1997-07-04 1997-07-04 Information processing device Expired - Lifetime JP2943776B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19506997A JP2943776B2 (en) 1997-07-04 1997-07-04 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19506997A JP2943776B2 (en) 1997-07-04 1997-07-04 Information processing device

Publications (2)

Publication Number Publication Date
JPH1124926A JPH1124926A (en) 1999-01-29
JP2943776B2 true JP2943776B2 (en) 1999-08-30

Family

ID=16335047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19506997A Expired - Lifetime JP2943776B2 (en) 1997-07-04 1997-07-04 Information processing device

Country Status (1)

Country Link
JP (1) JP2943776B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000065435A1 (en) * 1999-04-22 2000-11-02 Seki, Hajime Computer system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Micheal D.Smith、外2名"Boosting Beyond Static Scheduling in a Superscalar Processor",Proceedings of the 17th Annual Symposium on Computer Architecture(May 1990),平成2年(1990年)5月,p.344〜354

Also Published As

Publication number Publication date
JPH1124926A (en) 1999-01-29

Similar Documents

Publication Publication Date Title
US7028170B2 (en) Processing architecture having a compare capability
US7366881B2 (en) Method and apparatus for staggering execution of an instruction
US6631439B2 (en) VLIW computer processing architecture with on-chip dynamic RAM
US6988181B2 (en) VLIW computer processing architecture having a scalable number of register files
US5530817A (en) Very large instruction word type computer for performing a data transfer between register files through a signal line path
US7555738B2 (en) Integrated structure layout and layout of interconnections for an instruction execution unit of an integrated circuit chip
US5471628A (en) Multi-function permutation switch for rotating and manipulating an order of bits of an input data byte in either cyclic or non-cyclic mode
US5764943A (en) Data path circuitry for processor having multiple instruction pipelines
JP3593346B2 (en) Multiport memory and data processing device accessing the same
JPH1097461A (en) Multi-thread cell for memory
JP2005508546A (en) System and method for reducing execution of instructions containing unreliable data in speculative processors
JPH06242954A (en) Method and system for improving order dispatch in superscalar processor system by using middle storage area that is independently accessed
US6594753B2 (en) Method and apparatus for dual issue of program instructions to symmetric multifunctional execution units
US5787454A (en) Recorder buffer with interleaving mechanism for accessing a multi-parted circular memory array
US6092184A (en) Parallel processing of pipelined instructions having register dependencies
US5428811A (en) Interface between a register file which arbitrates between a number of single cycle and multiple cycle functional units
US6725355B1 (en) Arithmetic processing architecture having a portion of general-purpose registers directly coupled to a plurality of memory banks
JP2943776B2 (en) Information processing device
US5752271A (en) Method and apparatus for using double precision addressable registers for single precision data
US20040128475A1 (en) Widely accessible processor register file and method for use
US20020032849A1 (en) VLIW computer processing architecture having the program counter stored in a register file register
US6393552B1 (en) Method and system for dividing a computer processor register into sectors
US5961615A (en) Method and apparatus for queuing data
EP1632845B1 (en) Processor with a register file that supports multiple-issue execution
US20020087821A1 (en) VLIW computer processing architecture with on-chip DRAM usable as physical memory or cache memory

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: 19990525

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 11