JPS60129839A - Information processor - Google Patents

Information processor

Info

Publication number
JPS60129839A
JPS60129839A JP23777883A JP23777883A JPS60129839A JP S60129839 A JPS60129839 A JP S60129839A JP 23777883 A JP23777883 A JP 23777883A JP 23777883 A JP23777883 A JP 23777883A JP S60129839 A JPS60129839 A JP S60129839A
Authority
JP
Japan
Prior art keywords
instruction
register
signal line
address
result
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
Application number
JP23777883A
Other languages
Japanese (ja)
Other versions
JPH0552534B2 (en
Inventor
Toru Shonai
亨 庄内
Yoichi Shintani
洋一 新谷
Shigeo Takeuchi
武内 茂雄
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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 Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP23777883A priority Critical patent/JPS60129839A/en
Publication of JPS60129839A publication Critical patent/JPS60129839A/en
Publication of JPH0552534B2 publication Critical patent/JPH0552534B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To cause no execution stop of a following instruction, and to improve a pipeline control by constituting so that a processing of the following instruction which is stopped at the time of confliction of a register can be started by using a forecasting outputted by a forecasting device. CONSTITUTION:The second operand data of a precedent instruction is stored in advance instead of an operation result of the precedent instruction in an associative storage device 320. When the precedent instruction is executed, the associative storage device 320 outputs the second operand data by the previous execution to a signal line 538 by an associative key. An operand code of the precedent instruction is inputted to an arithmetic logical circuit ALU360 through a signal line 604, and a register value of the precedent instruction is selected by a selector to which a field of its register has been applied, and inputted to the ALU360 through a signal line 606. As a result, a forecasting value is outputted to a signal line 600, and the following instruction is executed without an idle time.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は情報処理装置に係り、特にパイプライン制御の
情報処理装置の高速化に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to an information processing device, and particularly to speeding up an information processing device using pipeline control.

〔発明の背景〕[Background of the invention]

パイプライン制御の情報処理装置では、命令の処理全体
を組数の部分処理に分割し、各部分処理ごとに独立の処
理装置を設けている。まず第1命令が第1の部分処理を
行う処理装置で処理される。
In a pipeline-controlled information processing device, the entire instruction processing is divided into a number of sets of partial processing, and an independent processing device is provided for each partial processing. First, a first instruction is processed by a processing device that performs a first partial process.

その処理が完了して第2の部分処理を行う処理装置に移
ると、第1の部分処理を行う処理装置では第2命令の処
理が開始される。第1命令が第3の部分処理を行う処理
装置に移ると、第2命令は第2の部分処理を行う処理装
置で処理され、第3命令は第1の部分処理装置で処理さ
れる。このように、第1命令の処理の全体が完了する前
に、第1命令の後続命令の実行が開始されるので、パイ
プライン制御の情報処理装置では高い命令処理性能を実
現することが出来る。
When the processing is completed and the processing moves to the processing device that performs the second partial processing, the processing device that performs the first partial processing starts processing the second instruction. When the first instruction is transferred to the processing device that performs the third partial processing, the second instruction is processed by the processing device that performs the second partial processing, and the third instruction is processed by the first partial processing device. In this way, execution of instructions subsequent to the first instruction is started before the entire processing of the first instruction is completed, so that high instruction processing performance can be achieved in an information processing device using pipeline control.

しかし、ある命令(以降では後続命令と呼ぶ)より前に
ある命令(以降では先行命令と呼ぶ)があるレジスタを
変更する命令であり、後続命令がそのレジスタを参照す
る命令である場合(レジスタコンフリクト状態と呼ぶ。
However, if an instruction (hereinafter referred to as the preceding instruction) that precedes a certain instruction (hereinafter referred to as the subsequent instruction) modifies a certain register, and the subsequent instruction is an instruction that references that register (register conflict occurs). It's called a state.

)には、命令処理は上記の様には進まない。すなわち、
先行命令が演算結果をレジスタに書込むまで、もしくは
先行命令が演算結果を生成するまでは、後続命令の処理
全体5少なくともレジスタを参照する部分処理を停止さ
せなければならない。このようなレジストコンフリクト
による後続命令の実行停止は、パイプライン制御の情報
処理装置においては、性能向上の大きな阻止要因となっ
ている。
), instruction processing does not proceed as described above. That is,
Until the preceding instruction writes the operation result to the register or until the preceding instruction generates the operation result, the entire processing of the subsequent instruction 5 or at least the partial processing that refers to the register must be stopped. Suspension of execution of subsequent instructions due to such a registration conflict is a major impediment to performance improvement in pipeline-controlled information processing devices.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、レジスタコンフリクト時の後続命令の
実行停止をなくし、高い命令処理性能を有するパイプラ
イン制御の情報処理装置を提供することにある。
An object of the present invention is to provide a pipeline-controlled information processing device that eliminates the suspension of execution of subsequent instructions when a register conflict occurs and has high instruction processing performance.

〔発明の概要〕[Summary of the invention]

本発明では、後続命令との間でレジスタコンフリクトを
起している先行命令の命令アドレス又はその一部、およ
び該先行命令より前の命令の命令アドレス又はその一部
、および該先行命令を先読する際の先読みアドレス又は
その一部、および該先行命令より前の命令を先読する際
の先読みアドレス又はその一部、および該先行命令が参
照するレジスタの内容又はその一部、および該先行命令
語又はその一部の全体又は各部分の任意の組合せを連想
キーに用いて該先行命令の演算結果を予測する装置と、 該後続命令を実行する際に該連想キーにより該予測装置
が該先行命令の演算結果の予測値を出力したかを検出し
、検出された時には該予測値を用いて、該後続命令の停
止される処理を開始する装置と、 該予測値と該先行命令によって レジスタに書込まれる
演算結果とが等しいかを比較し、該比較結果が不一致の
時には、該先行命令によって、レジスタに書込まれる演
算結果を用いて該後続命令を再実行させる装置を持つ情
報処理装置を提案する。
In the present invention, the instruction address or a part thereof of the preceding instruction causing a register conflict with the succeeding instruction, the instruction address or a part thereof of the instruction before the preceding instruction, and the preceding instruction are read in advance. the prefetch address or part thereof when prefetching an instruction before the preceding instruction; the contents of a register referred to by the preceding instruction, or a part thereof; and the preceding instruction. a device for predicting the operation result of the preceding instruction by using the entire word or a part thereof or any combination of each part as an associative key; a device that detects whether a predicted value of an operation result of an instruction has been output, and when detected, uses the predicted value to start the stopped processing of the subsequent instruction; An information processing device is provided that has a device that compares whether the operation result to be written is equal or not, and when the comparison result is a mismatch, causes the preceding instruction to re-execute the subsequent instruction using the operation result written to the register. suggest.

これにより、レジスタコンフリクト時に停止される後続
命令の処理が、該予測装置の出力する予測を用いて開始
できるので、上記目的を達成できる。
Thereby, the processing of a subsequent instruction that is stopped when a register conflict occurs can be started using the prediction output from the prediction device, so that the above object can be achieved.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を図に従って詳細に説明する。 Hereinafter, one embodiment of the present invention will be described in detail with reference to the drawings.

まず、第1図Aを使って本実施例で用いる命令形式を説
明する。この命令形式では、各命令語は4バイト長から
構成される。第1バイトはオペコード(0P)を表わす
。第2バイト及び第3バイトの上4ビットは3つのレジ
スタ指示フィールド(R1,X2.B3)を表わす。第
3バイトの下4ビット及び第4バイトは変位(D2)を
表わす。
First, the instruction format used in this embodiment will be explained using FIG. 1A. In this instruction format, each instruction word has a length of 4 bytes. The first byte represents the opcode (0P). The upper four bits of the second and third bytes represent three register designation fields (R1, X2.B3). The lower four bits of the third byte and the fourth byte represent displacement (D2).

この命令形式では各レジスタ指示フィールドはそれぞれ
4ビツトであり、それぞれ15個のレジスタの1つを指
示する。
In this instruction format, each register designation field is 4 bits each and each designates one of the 15 registers.

この命令の意味は、X2フイールドの指示する汎用レジ
スタの内容とB2フィールドの指示する汎用レジスタの
内容と変位D2の和をオペランドアドレスとし、このア
ドレスの指す主記憶上のロケーションの内容(第2オペ
ランドと呼ぶ)と、R1フィールドの指示する汎用レジ
スタの内容(第1オペランドと呼ぶ)とに対して、オペ
コード0Pで示される演算を施し、R1フィールドの指
示する汎用レジスタに格納することである。
The meaning of this instruction is that the operand address is the sum of the contents of the general-purpose register indicated by the The operation indicated by the operation code 0P is performed on the contents of the general-purpose register indicated by the R1 field (called the first operand) and stored in the general-purpose register indicated by the R1 field.

なお、この命令形式ばI B M System/ 3
70を命令形式から引用したものであり、更に詳しくは
“I B M System/ 370 Pr1nci
ples of 0pera−tion”を参照された
い。
Note that this instruction format is IBM System/3
70 from the instruction format, and for more details, see “IBM System/370 Pr1nci.
Please refer to ``Pres of Pera-tion''.

第1B図は、第1A図で表わされた命令をニューモニツ
クで表わしたものである。
FIG. 1B is a mnemonic representation of the command shown in FIG. 1A.

第2図は、レジストコンフリクトを起している命令列の
例である。先行命令(■)はAdd命令であり、レジス
タ1の内容と、レジスタ2の内容と変位100を加えて
得られるアドレスの内容をレジスタ5の内容と加算して
レジスタ5に格納することを意味する。後続命令(■)
はSub’5t−ract命令であり、レジスタ1の内
容′と、レジスタの内容と変位150を加えて得られる
アドレスの内容をレジスタ8の内容から引いてレジスタ
8に格納することを意味する。
FIG. 2 is an example of an instruction sequence causing a registration conflict. The preceding instruction (■) is an Add instruction, which means that the contents of the address obtained by adding the contents of register 1, contents of register 2, and displacement 100 are added to the contents of register 5, and the result is stored in register 5. . Subsequent instruction (■)
is a Sub'5t-ract instruction, which means to subtract the contents of register 1 and the contents of the address obtained by adding the contents of register and displacement 150 from the contents of register 8 and store them in register 8.

先行命令は演算結果をレジスタ5に書込み、後続命令は
レジスタ5の内容を用いているので、レジスタコンフリ
クトが起きている。
Since the preceding instruction writes the operation result to register 5, and the subsequent instruction uses the contents of register 5, a register conflict occurs.

次に第3A図、第3B図を使って実施例の全体構成の概
要を説明する。第3A図と第3B図とを、結合すると、
実施例の全体構成図となる。この実施例は、先行命令の
演算結果の予測値として、先行命令の以前の実行での演
算結果を用いるものである。
Next, an overview of the overall configuration of the embodiment will be explained using FIGS. 3A and 3B. When FIG. 3A and FIG. 3B are combined,
This is an overall configuration diagram of the embodiment. In this embodiment, the calculation result of the previous execution of the preceding instruction is used as the predicted value of the calculation result of the preceding instruction.

まず、304は命令記憶装置であり、326はオペラン
ド記憶装置である。命令記憶装置304とオペランド記
憶装置はバイ1一単位に24ビツトのアドレスでアドレ
ス付けされている。
First, 304 is an instruction storage device, and 326 is an operand storage device. The instruction storage device 304 and the operand storage device are addressed by 24-bit addresses in units of bytes.

100は先読み命令レジスタである。命令の先読みは、
常に命令記憶装置上の4命令語境界から、始まる4命令
語単位に行われる。したがって先読み命令レジスタ(I
FA)100には24ピッl−のアドレスのうちの上位
20ビツト(ビット0−19)が格納される。
100 is a prefetch instruction register. Prefetching the command is
This is always performed in units of four instruction words starting from the four instruction word boundary on the instruction storage device. Therefore, the look-ahead instruction register (I
FA) 100 stores the upper 20 bits (bits 0-19) of the 24-pill address.

102は先読み命令レジスタの遅延レジスタである。102 is a delay register of the prefetch instruction register.

LO4,106,108,l’loはそれぞれ命令バッ
ファIBO,IBM、IB2.IB3であり、命令記憶
装置304から先読みされた4命令語がこの順に格納さ
れる。
LO4, 106, 108, l'lo are instruction buffers IBO, IBM, IB2. IB3, and the four instruction words read ahead from the instruction storage device 304 are stored in this order.

112は命令レジスタであり、114は命令カウンタで
ある。1命令語は命令記憶装置上の命令語境界からの4
バイトに必ず置かれる。したがって、命令カウンタには
24ビツトのアドレスのうちの上位22ビツト(ビット
0−21)が格納される。命令カウンタ114の値は、
その時の命令レジスタ112中の命令語の命令アドレス
となっている。
112 is an instruction register, and 114 is an instruction counter. One instruction word consists of 4 points from the instruction word boundary on the instruction storage device.
Always placed in the byte. Therefore, the upper 22 bits (bits 0-21) of the 24-bit address are stored in the instruction counter. The value of the instruction counter 114 is
This is the instruction address of the instruction word in the instruction register 112 at that time.

イ固 アイルである。Hard It is Isle.

324はアドレス加算器であり、命令語のX2フイール
ドの指示するレジスタの内容すなわち、X2レジスタ値
と82フイールドの指示するレジスタの内容すなわち、
B2レジスタ値と変位D2を加算する。加算結果はオペ
ランドアドレスレジスタ120に格納される。
324 is an address adder, and the content of the register indicated by the X2 field of the instruction word, that is, the X2 register value, and the content of the register indicated by the 82 field, that is,
Add B2 register value and displacement D2. The addition result is stored in operand address register 120.

122はオペランドデータレジスタであり、330はA
LUである。
122 is an operand data register, and 330 is an A
It is LU.

124.1.30,132,134,136はそれぞれ
命令レジスタ122の遅延レジスタ、命令カウンタ11
4の遅延レジスタ、X2レジスタ値の遅延レジスタ、B
2レジスタの遅延レジスタ値および先読み命令アドレス
の遅延レジスタであり、オペランドアドレスレジスタ1
20にオペランドアドレスが格納される時に、その命令
の命令レジスタ値、命令カウンタ値、X2レジスタ値、
B2レジスタ値およびその命令の先読み時の先読み命令
アドレスが格納される。
124.1.30, 132, 134, and 136 are the delay register of the instruction register 122 and the instruction counter 11, respectively.
4 delay register, X2 register value delay register, B
It is a delay register for the delay register value of 2 registers and a prefetch instruction address, and an operand address register 1.
When the operand address is stored in 20, the instruction register value, instruction counter value, X2 register value,
The B2 register value and the prefetch instruction address at the time of prefetching the instruction are stored.

T’)G、+”lR−+41’l 1A2− 144は
それぞれレジスタ124,138,140,142゜1
44の遅延レジスタであり、オペランドデータレジスタ
122にオペランドデータが格納される時に、その命令
の命令レジスタ値、命令カウンタ値、X2レジスタ値、
B2レジスタ値およびその命令の先読み時の先読み命令
アドレスがそJlぞれに格納される。
T')G, +"lR-+41'l 1A2- 144 are registers 124, 138, 140, 142°1, respectively
44 delay registers, and when operand data is stored in the operand data register 122, the instruction register value, instruction counter value, X2 register value,
The B2 register value and the prefetch instruction address at the time of prefetching the instruction are stored in each Jl.

320は予測記憶装置として用いる連想記憶装置であり
、322はレジスタコンフリクト検出装置である。
320 is an associative memory device used as a predictive storage device, and 322 is a register conflict detection device.

154は予測装置が出力する演算結果の予d1す値を格
納するレジスタであり、332は予測装置が出力した演
算結果の予測値が命令によってめられた演算結果と等し
いかを比較する比較器である。
154 is a register that stores the predetermined value of the operation result output by the prediction device, and 332 is a comparator that compares whether the predicted value of the operation result output by the prediction device is equal to the operation result determined by the instruction. be.

次に、第3A図、第3B図の全体構成図と第5図のタイ
ミングチャー1〜図を使って、レジスタコンフリクトが
ない場合の全体の動作を説明する。
Next, the overall operation in the case where there is no register conflict will be described using the overall configuration diagrams in FIGS. 3A and 3B and the timing charts 1 to 1 in FIG. 5.

第5図の如く時刻Toより先読みアドレスレジスタには
第1命令から第4命令を先読みする際の先読みアドレス
が格納されているとする。また命令レジスタ112と命
令カウンタ114には時刻T2以前において第1命令の
前の命令、すなわち第0命令の命令語と命令アドレスが
格納されているとする。先読みアドレスレジスタ100
のアドレスは信号線500を介して命令記憶装置304
に印加され、そのアドレスから始まる4命令語が信号線
506に出力され、第1命令語から第4命令語までの4
命令語は時刻T1にバッファ104゜106.108,
110に格納される。
As shown in FIG. 5, it is assumed that the prefetch address for prefetching the first to fourth instructions is stored in the prefetch address register from time To. Further, it is assumed that the instruction register 112 and the instruction counter 114 store the instruction word and instruction address of the instruction before the first instruction, that is, the 0th instruction before time T2. Look-ahead address register 100
The address of is sent to the instruction storage device 304 via the signal line 500.
The four command words starting from that address are output to the signal line 506, and the four command words from the first command word to the fourth command word
The instruction word is sent to the buffer 104°106.108 at time T1.
110.

アドレス増加器302は、先読みアドレスレジスタ1O
0のアドレスを入力として、そのアドレスを4命令語分
増加させたアドレスを信号線502に出力する。セレク
タ300の選択信号である信号線586の信号は通常「
右選択信号」であり(「右選択信号」以外の値を取る場
合は下記で説明される時だけである)、この時、信号線
502の信号がセレクタ300を通って信号線506に
出力されて、先読アドレスレジスタ100に格納される
。格納される時刻は時刻TOの4周期後の時刻T4であ
る。命令バッファ104.10’6゜108.110に
は次の4命令語が格納される時刻T5までこの4命令語
が格納される。先読みアドレスレジスタ100は通常こ
のように4命令語分ずつ増加されるので、命令バッファ
104,106.108..110には順々に後続の命
令が4命令単位に先読みされて格納されることとなる。
The address incrementer 302 is a look-ahead address register 1O.
An address of 0 is input, and an address incremented by 4 instruction words is output to the signal line 502. The signal on the signal line 586, which is the selection signal of the selector 300, is normally “
"right selection signal" (the only time it takes a value other than "right selection signal" is as explained below), and at this time, the signal on signal line 502 passes through selector 300 and is output to signal line 506. and stored in the prefetch address register 100. The stored time is time T4, which is four cycles after time TO. These four instruction words are stored in the instruction buffer 104.10'6°108.110 until time T5 when the next four instruction words are stored. Since the prefetch address register 100 is normally increased by four instruction words in this way, the instruction buffers 104, 106, 108 . .. Subsequent instructions are sequentially read ahead and stored in the memory 110 in units of four instructions.

時刻T2以前においては、命令カウンタ114には第0
命令の命令アドレスが格納されていた。
Before time T2, the instruction counter 114 has the 0th
The instruction address of the instruction was stored.

命令カウンタ114の値は信号線530を介してアドレ
ス増加器310に印加されて、1命令語分増加されて、
第1命令の命令アドレスとなる。増加された値は信号線
520を介してセレクタ3O8に入力される。セレクタ
308の選択信号586は上述したように通常「右選択
信号」てあり、この時、信号線520の値はセレクタ3
08を介して信号線518へ出力される。信号線518
の値は命令カウンタ114に格納される。また、その値
はセレクタ306に印加される。セレクタ306は、信
号線518の22ビツトアドレス値のQ +−/7′I
w: つ l/−、、、L b w y z h、+t
 n ?、Q +、f Ifr @ #、!Z508の
データが信号線516へ出力され、それが1ならば信号
線510のデータが信号線516出力される。又それが
2ならば信号線512のデータが信号516へ出力され
、それが3ならば信号線514のデータが信号線516
へ出力される。
The value of instruction counter 114 is applied to address incrementer 310 via signal line 530 and is incremented by one instruction word.
This is the instruction address of the first instruction. The increased value is input to selector 3O8 via signal line 520. As mentioned above, the selection signal 586 of the selector 308 is usually the "right selection signal", and at this time, the value of the signal line 520 is the same as that of the selector 3.
08 to the signal line 518. Signal line 518
The value of is stored in the instruction counter 114. The value is also applied to selector 306. The selector 306 selects the 22-bit address value Q+-/7'I on the signal line 518.
w: tsu l/-,,, L b w y z h, +t
n? , Q +, f Ifr @ #,! Data on Z508 is output to signal line 516, and if it is 1, data on signal line 510 is output to signal line 516. If it is 2, the data on the signal line 512 is output to the signal 516, and if it is 3, the data on the signal line 514 is output to the signal line 516.
Output to.

これにより、命令レジスタ前の時刻でセットされた命令
バッファの次の命令バッファの内容がセレクタ306で
選択されて命令レジスタ117に格納される。時刻T2
においては命令バッファIBO104から第1命令語が
命令レジスタ112に格納されて、同時に命令カウンタ
114には第1命令の命令アドレスが格納される。
As a result, the contents of the instruction buffer next to the instruction buffer set at the time before the instruction register are selected by the selector 306 and stored in the instruction register 117. Time T2
In the step, the first instruction word from the instruction buffer IBO 104 is stored in the instruction register 112, and at the same time, the instruction address of the first instruction is stored in the instruction counter 114.

また、I FADレジスタ102には、先読み命令アド
レスレジスタIFA100の2周期遅れの時刻T2に、
先読み命令アドレスレジスタの値が格納される。
In addition, the I FAD register 102 contains the following information at time T2, which is two cycles behind the prefetch instruction address register IFA100.
The value of the prefetch instruction address register is stored.

セレクタ312,314には信号線532を介して16
個のレジスタよりなるレジスタファイル118の値が印
加される。セレクタ312には更に信号線524を介し
て命令レジスタ112中の第1命令のX2フイールドの
4ビツトが印加される。セレクタ312はこれによりX
2フイールドの指示するレジスタの値を信号線534に
出力する。セレクタ314には更に信号線526を介し
て命令レジスタ112中の第1命令のB2フィールドの
4ピッ1−が印加される。セレクタ314はこれにより
B2フィールドの指示するレジスタの値を信号線536
に出力する。信号線592,590には通常「」二選択
信号」が印加されており(「上選択信号」以外の値が印
加されるのは下記で説明する場合だけである)、この時
、信号線534の値はセレクタ316を介して信号線5
40に出力され、信号線536の値はセレクタ318を
介して信号線542に出力される。
16 to the selectors 312 and 314 via the signal line 532.
The values of a register file 118 consisting of registers are applied. Furthermore, four bits of the X2 field of the first instruction in the instruction register 112 are applied to the selector 312 via a signal line 524. This causes the selector 312 to
The value of the register indicated by field 2 is output to the signal line 534. The selector 314 is further applied with 4 pins 1- of the B2 field of the first instruction in the instruction register 112 via a signal line 526. The selector 314 thereby sends the value of the register indicated by the B2 field to the signal line 536.
Output to. Normally, the "2 selection signal" is applied to the signal lines 592 and 590 (a value other than the "upper selection signal" is applied only in the case described below), and at this time, the signal line 534 The value of is passed through the selector 316 to the signal line 5.
40, and the value of signal line 536 is outputted to signal line 542 via selector 318.

アドレス加算器にはこのようにして信−9線540を介
して第1命令のX2フイールドの指示するレジスタの内
容が入力され、信号線542を介しては第1命令のB2
フィールドの指示するレジスタの内容が入力される。更
に、信号線528を介して命令レジスタ112中の第1
命令の変位D2が入力される。アドレス加算器は上記3
つの入力値を加算結果である第1命令のオペランドアド
レスを信号線548に出力し、それは時刻T3でオペラ
ンドアドレスレジスタ120に格納される。
In this way, the contents of the register indicated by the X2 field of the first instruction are input to the address adder via the signal line 540, and the contents of the register indicated by the B2 field of the first instruction are input via the signal line 542.
The contents of the register indicated by the field are input. Furthermore, the first
The command displacement D2 is input. The address adder is 3 above.
The operand address of the first instruction, which is the result of adding the two input values, is output to the signal line 548, and is stored in the operand address register 120 at time T3.

また同時刻に、IRIR1レジスタ124第1命令語が
信号線522を介して格納され、ICIレジスタ130
には第1命令アドレスが信号線530を介して格納され
、GRXIレジスタ132には第1命令のX2レジスタ
値が信号線540を介して格納され、GRB 11には
第1命令のB2レジスタ値が信号線542を介して格納
され、IFAルジスタ136には第1命令を先読みした
際の先読み命令アドレスが格納される。
Also, at the same time, the first command word of the IRIR1 register 124 is stored via the signal line 522, and the ICI register 130
The first instruction address is stored in the GRXI register 132 via the signal line 530, the X2 register value of the first instruction is stored in the GRXI register 132 via the signal line 540, and the B2 register value of the first instruction is stored in the GRB 11. It is stored via the signal line 542, and the IFA register 136 stores the prefetch instruction address when the first instruction is prefetched.

オペランド記憶装置326には信号線550を介してオ
ペランドアドレスレジスタ120中の第1命令のオペラ
ンドアドレスが印加され、信号線552にはそのアドレ
スで示されるロケーションにある第1命令のオペランド
データが出力される。
The operand address of the first instruction in the operand address register 120 is applied to the operand storage device 326 via a signal line 550, and the operand data of the first instruction at the location indicated by the address is outputted to the signal line 552. Ru.

時刻T4になると、この第1命令のオペランドデータは
オペランドデータレジスタ122に格納さ)Lう。
At time T4, the operand data of this first instruction is stored in the operand data register 122).

同時刻に、jR2レジスタ126には、信号線562を
介してIRIR1レジスタ第1命令語が格納され、IC
’2レジスタ138には、信号線572を介してICI
レジスタ130から第1命令の命令アドレスが格納され
、GRX2R1レジスタ14O信号線570を介してG
RXIレジスタ132から第1命令のX2レジスタ値が
格納さ九、GRB2R1レジスタ142信号線568を
介してGRB]R1レジスタ1341命令のB2レジス
タ値が格納され、IFA2レジスタ144には、信号線
566を介してIFAIレジスタ136から第1命令語
を先読みした際の先読み命令アドレスが格納される。
At the same time, the IRIR1 register first instruction word is stored in the jR2 register 126 via the signal line 562, and the IC
'2 register 138 is connected to ICI via signal line 572.
The instruction address of the first instruction is stored from the register 130, and the GRX2R1 register 14O signal line 570 is stored.
The X2 register value of the first instruction is stored from the RXI register 132; the B2 register value of the GRB]R1 register 1341 instruction is stored via the GRB2R1 register 142 signal line 568; The prefetch instruction address at which the first instruction word was prefetched from the IFAI register 136 is stored.

ALU330には3つの入力信号線がある。信号線55
4からは、オペランドデータレジスタ122にある第1
命令のオペランドデータが入力される。信号線594か
らは1.R,2レジスタ126にある第1命令のオペコ
ードが入力される。セレクタ328には信号線532を
介して16個のレジスタよりなるレジスタファイル11
8の値が印加され、更に信号線558を介して第1命令
のR11フイールドが印加される。これにより、セレク
タ328は、R1フィールドによって指示されるレジス
タの値、すなわちR1レジスタ値を信号線560に印加
し、それがALU330に入力される。ALUは、信号
線560からの入力データを第1オペランドデータとし
、信号線554からの入力データを第2オペランドデー
タとして、両者に信号線594に示されるオペコードの
演算を施し、その演算結果を信号線556に出力する。
ALU 330 has three input signal lines. signal line 55
4, the first
Operand data for the instruction is input. 1 from the signal line 594. The opcode of the first instruction in the R,2 register 126 is input. A register file 11 consisting of 16 registers is connected to the selector 328 via a signal line 532.
A value of 8 is applied, and the R11 field of the first instruction is also applied via signal line 558. Thereby, the selector 328 applies the value of the register indicated by the R1 field, that is, the R1 register value, to the signal line 560, which is input to the ALU 330. The ALU uses the input data from the signal line 560 as first operand data and the input data from the signal line 554 as second operand data, performs an operation on both of them using the opcode shown on the signal line 594, and outputs the result of the operation as a signal. output on line 556.

レジスタファイル118には、信号線556を介して第
1命令の演算結果が印加され、信号線558を介してI
R2レジスタ126にある第1命令のR1フィールドが
印加される。時刻T5になると、上記第1命令の演算結
果はR1フィールドの指示するレジスタ、すなわちR1
レジスタに書込まれる。
The calculation result of the first instruction is applied to the register file 118 via a signal line 556, and the I/O signal is applied via a signal line 558.
The R1 field of the first instruction in R2 register 126 is applied. At time T5, the operation result of the first instruction is stored in the register indicated by the R1 field, that is, R1.
written to a register.

以上により第1命令の処理は終了する。With the above steps, the processing of the first instruction is completed.

第2命令の処理は、まず時刻T3に第2命令語が命令レ
ジスタ112に格納され、第2命令の命令アドレスが命
令カウンタICに格納される。以降、第1命令と同様に
順々に処理が進む。
In the processing of the second instruction, first, at time T3, the second instruction word is stored in the instruction register 112, and the instruction address of the second instruction is stored in the instruction counter IC. Thereafter, the processing proceeds in the same way as the first instruction.

第3命令以降の命令の処理は、前の命令処理の1周期遅
れの時刻で第1.第2命令のように進む。
The processing of the third and subsequent commands is performed at a time one cycle behind the processing of the previous command. Proceed as per the second command.

ただし、命令の先読みは4命令語単位であるので、先読
み命令レジスタ100.命令バッファ104゜106.
108,110.IFADレジスタ1O2への格納はそ
れぞれ4周期ごとに1度ずつ行なわ九る。
However, since the prefetching of instructions is in units of four instruction words, the prefetching instruction register 100. Instruction buffer 104°106.
108,110. Storage into the IFAD register 1O2 is performed once every four cycles.

以上のように、レジスタコンフリクトがない場合には1
周期ごとに命令処理が進んでいく。
As mentioned above, if there is no register conflict, 1
Instruction processing progresses in each cycle.

次に、レジスタコンフリクトのある場合の全体の動作説
明に移るが、その前に第4図を用いて、連想記憶装置3
20の説明をする。
Next, we will move on to an explanation of the overall operation when there is a register conflict, but before that, we will explain the content addressable memory device 3 using FIG.
Explain 20.

実施例における連想記憶装置の記憶装置は10ワードで
ある。
The content addressable memory device in this embodiment has a storage capacity of 10 words.

各ワードは、IC記憶部ICP346とIR記憶部IR
P348とX2レジスタ値記憶部GRXP350とB2
レジスタ値記憶部GRBP352と先読み命令アドレス
記憶部IFAP354と予測データと予測データ記憶部
PDP356からなる。
Each word is divided into an IC storage section ICP346 and an IR storage section IR.
P348 and X2 register value storage unit GRXP350 and B2
It consists of a register value storage unit GRBP352, a prefetch instruction address storage unit IFAP354, and a prediction data and prediction data storage unit PDP356.

信号線530,522,540,542,500にデー
タを印加すると、連想記憶装置は探索をする。信号線5
30,522’、540,542゜500上のデータと
IC記憶部ICP346.IR記憶部IRP348.X
2レジスタ値記憶部GRXP350.B2レジスタ値記
憶部GRBP352、先読み命令アドレス記憶部IFA
P354のデータがそれぞれ全部一致するワードがある
時には、一致検出器344は「1」を出力してHITL
レジスタ156を「1」にし、かつそのワードの予測デ
ータ記憶部FDP356のデータをPDルジスタ158
に格納する。一致するワードがない時は、一致検出器3
44は[0」を出力してHITLレジスタ156を「0
」にする。
Applying data to signal lines 530, 522, 540, 542, and 500 causes the content addressable memory to search. signal line 5
30, 522', 540, 542. Data on 500 and IC storage unit ICP346. IR storage unit IRP348. X
2 register value storage unit GRXP350. B2 register value storage unit GRBP352, prefetch instruction address storage unit IFA
When there is a word in which all the data in P354 match, the match detector 344 outputs "1" and outputs HITL.
The register 156 is set to “1” and the data in the prediction data storage unit FDP356 of that word is transferred to the PD register 158.
Store in. When there is no matching word, match detector 3
44 outputs [0] and sets the HITL register 156 to "0".
”.

一方、信号線584に「1」又は信号線586に「0」
が印加された時には、連想記憶装置は、45号線580
,564.5’78,576.574゜556上のデー
タをそれぞれIC記憶部ICP346、IR記憶部IR
P348.X2レジスタ値記憶部GRXP350.B2
レジスタ値記憶部GRBP352.先読み命令アドレス
記憶部IFAP354.予測データ記憶部FDP356
のデータとするワードを登録する。その際、IC記憶部
ICP346.IR記憶部IRP34B、X2レジスタ
値記憶部GRXP350.B2レジスタ値記憶部GRB
P352.先読み命令アドレス記憶部1FAP354の
データが全部一致するワードがすでに記憶されている時
には、そのワードの上に重ね書きされる。一致するワー
ドがまた記憶されていない時には、新しくワードがつく
られて登録される。
On the other hand, “1” is placed on the signal line 584 or “0” is placed on the signal line 586.
is applied, the associative memory device outputs line 45 580.
, 564.5'78, 576.574°556 are stored in the IC storage unit ICP346 and the IR storage unit IR, respectively.
P348. X2 register value storage unit GRXP350. B2
Register value storage unit GRBP352. Prefetch instruction address storage unit IFAP354. Prediction data storage unit FDP356
Register the word to be used as data. At that time, the IC storage unit ICP346. IR storage unit IRP34B, X2 register value storage unit GRXP350. B2 register value storage unit GRB
P352. When a word in which all the data in the prefetch instruction address storage unit 1FAP 354 match has already been stored, the word is overwritten on top of that word. If no matching word is stored, a new word is created and registered.

以上で連想記憶装置の説明を終わる。This concludes the explanation of the associative memory device.

次に、レジスタコンフリクトのある場合の動作説明を行
なう。レジスタコンフリクトのある命令としては第2図
の2命令を考え、Add命令が第1命令とし、5ubs
tract命令が第2命令とする。第3命令以降はこれ
らの命令との間でレジスタコンフリク1〜を起さない任
意の命令とする。
Next, the operation when there is a register conflict will be explained. Consider the two instructions in Figure 2 as instructions with register conflicts, with the Add instruction as the first instruction and 5ubs as the first instruction.
It is assumed that the tract instruction is the second instruction. The third and subsequent instructions are any instructions that do not cause register conflicts 1 to 1 with these instructions.

本発明では、レジスタコンフリクトを起している先行命
令(以下で考える例では第1命令)の演算結果を予測す
るのに連想記憶装置を使用している。したがって先行命
令を実行する際に、その連想記憶装置に以前の実行時の
情報がある否かで予測が出来るか出来ないかが決まる。
In the present invention, an associative memory device is used to predict the operation result of the preceding instruction (the first instruction in the example considered below) that has caused a register conflict. Therefore, when a preceding instruction is executed, whether prediction is possible or not depends on whether or not the associative memory device has information about the previous execution.

まず、連想記憶装置に以前の実行時の情報すなわち、演
算結果がある場合を説明する。第6図をタイミングチャ
ート図として用いる。
First, a case will be described in which the associative memory device contains information from previous executions, that is, calculation results. FIG. 6 is used as a timing chart.

第1命令から第4命令までの命令先読み、および第1命
令の処理の大部分は、上述のレジスタコンフリクトがな
い場合の動作と同じである。すなわち、第6図のタイミ
ングチャート図のうち、第1命令から第4命令に関する
IFA、IBO〜3IFAD、第1命令に関するIR/
IC,OA/IRI/IC1/GRX1/GRB1/’
IFAI。
Most of the instruction prefetching from the first instruction to the fourth instruction and the processing of the first instruction are the same as those in the case where there is no register conflict as described above. That is, in the timing chart of FIG. 6, IFA for the first to fourth instructions, IBO to 3IFAD, and IR/IR for the first instruction.
IC, OA/IRI/IC1/GRX1/GRB1/'
IFAI.

○D/IR2/IC2/GRX2/C;RB2/IFA
2.GRのタイミングは、第5図のものと同一である。
○D/IR2/IC2/GRX2/C; RB2/IFA
2. The timing of GR is the same as in FIG.

以下ではそれ以外部分を説明する。The other parts will be explained below.

まず、時刻TOより先読み命令アドレスレジスタ100
に格納されている先読み命令アドレスは、信号線500
を介して連想記憶装置の先読み命令アドレス記憶部IF
AP354に印加されている。
First, from time TO, the prefetch instruction address register 100
The prefetch instruction address stored in the signal line 500
The prefetch instruction address storage unit IF of the associative memory device via
It is applied to AP354.

また、時刻T2になると第1命令の命令語、命令アドレ
スX2レジスタ値、B2レジスタ値がそれぞれ信号線5
22,530,540.542を介してそわぞれ連想記
憶装置のIR記憶部348゜IC,記憶部346.X2
レジスタ値記憶部350゜B2レジスタ値記憶部352
に印加される。
Also, at time T2, the instruction word of the first instruction, the instruction address X2 register value, and the B2 register value are respectively transferred to the signal line 5.
22, 530, 540, and 542 respectively to the IR storage section 348. X2
Register value storage unit 350° B2 register value storage unit 352
is applied to

連想記憶装置は、上記信号線530.’522゜540
.542,500のデータで探索をする。
The associative memory device is connected to the signal line 530. '522゜540
.. Search using 542,500 data.

今は、連想記憶装置に以前の実行時の情報がある場合を
考えているので、時刻T3においてPDLレジスタ15
8には第1命令の演算結果の子aiす値が格納され、H
ITLレジスタ156には「1」が格納される。更に、
この「1」は信号線546に印加される。
Now, we are considering a case where the associative memory has information from the previous execution, so at time T3, the PDL register 15
8 stores the child ai value of the operation result of the first instruction, and H
“1” is stored in the ITL register 156. Furthermore,
This “1” is applied to signal line 546.

時刻T3においてIRIレジスタ124には第1命令で
あるA’dd命令の命令語が格納されており、命令レジ
スタ112には第2命令である5ubstract命令
の命令語が格納されている。
At time T3, the instruction word of the A'dd instruction, which is the first instruction, is stored in the IRI register 124, and the instruction word of the 5ubstract instruction, which is the second instruction, is stored in the instruction register 112.

したがって、信号線582上には第1命令のR1フィー
ルドの「5」が印加され、信号線524には第2命令の
X2フイールド「5」が印加される。
Therefore, the R1 field "5" of the first instruction is applied to the signal line 582, and the X2 field "5" of the second instruction is applied to the signal line 524.

第1命令と第2命令以外ではレジスタコンフリフタがな
いと仮定しているので、信号線558,526には[5
」とは異なる値が印加されている。
Since it is assumed that there is no register confrifter for instructions other than the first and second instructions, the signal lines 558 and 526 have [5
” is applied.

したがって、−数比較回路160の出力は「1」になり
、他の一致比較回路162,164,166の出力は「
0」となる。故にOR回路168の出力信号線593と
OR回路182の出力信号線596と、AND回路17
2の出力信号線172は「1」になる。また、OR回路
の出力信号線591、AND回路174の出力信号線5
90.AND回路180の出力信号線は「0」になる。
Therefore, the output of the minus number comparison circuit 160 becomes "1", and the outputs of the other coincidence comparison circuits 162, 164, and 166 become "1".
0". Therefore, the output signal line 593 of the OR circuit 168, the output signal line 596 of the OR circuit 182, and the AND circuit 17
The output signal line 172 of No. 2 becomes "1". Also, the output signal line 591 of the OR circuit and the output signal line 5 of the AND circuit 174
90. The output signal line of the AND circuit 180 becomes "0".

信号線596はIC8Vレジスタ158のセット信号と
なっており、この信号線がrlJなので時刻T4におい
てIC3Vレジスタ116には第2命令の命令アドレス
が格納されPDSVレジスタ154には第1命令の演算
結果の予測値が格納される。
The signal line 596 is a set signal for the IC8V register 158, and since this signal line is rlJ, the instruction address of the second instruction is stored in the IC3V register 116 at time T4, and the operation result of the first instruction is stored in the PDSV register 154. Predicted values are stored.

二九により、セレクタ316は信号線538上の第1命
令の演算結果の予測値を信号線540を介してアドレス
加算器324に印加し、セレクタ318は信号線536
上の第2命令のB2レジスタ値を信号線542を介して
アドレス加算器324に印加する。信号線528からは
第2命令の変位がアドレス加算器に印加される。これに
より、時刻T4において、第2命令のオペランドアドレ
スがオペランドアドレスレジスタ]、 20に格納され
る。
29, the selector 316 applies the predicted value of the operation result of the first instruction on the signal line 538 to the address adder 324 via the signal line 540;
The B2 register value of the second instruction above is applied to address adder 324 via signal line 542. From signal line 528, the displacement of the second instruction is applied to the address adder. As a result, at time T4, the operand address of the second instruction is stored in the operand address register 20.

また、LRIレジスタ124.ICIレジスタ130、
GRXIレジスタ132.GRI3ルジスタ134.I
FAIレジスタ136には、レジスタコンフリク1−の
ない時の動作と同一のデータが時刻T4で格納される。
Additionally, the LRI register 124. ICI register 130,
GRXI register 132. GRI3 Lujistar 134. I
The same data as in the operation when there is no register conflict 1- is stored in the FAI register 136 at time T4.

以降の第2命令の動作は、レジスタコンフリクトがない
場合と同様に進む。
The subsequent operation of the second instruction proceeds in the same way as in the case where there is no register conflict.

時刻T4から第1命令の演算がALU330で行なわれ
ており、時刻T4とT5の中間でその演算結果が信号線
556を介して比較器332に印加される。比較器33
2のもう一方の入力にはPDSVレジスタに格納されて
いる第1命令の演算結果の予測値が印加されている。
The calculation of the first instruction is being performed in the ALU 330 from time T4, and the calculation result is applied to the comparator 332 via the signal line 556 between times T4 and T5. Comparator 33
The predicted value of the operation result of the first instruction stored in the PDSV register is applied to the other input of No. 2.

ALU330での演算結果が予測値と一致するか否かで
以下の動作は2通りに分かれる。まず、一致する場合を
説明する。この場合、信号線586上には「1」が印加
される。この「1」はセレクタ300と308に入力さ
れる。この時、セレクタ300は信号線502のデータ
を信号線506に出力し、セレクタ308は信号$52
0のデータを信号線518に出力する。これは、レジス
タコンフリクトがない場合の動作と同一であり。
The following operation is divided into two types depending on whether the calculation result in the ALU 330 matches the predicted value or not. First, the case where they match will be explained. In this case, “1” is applied on signal line 586. This "1" is input to selectors 300 and 308. At this time, the selector 300 outputs the data on the signal line 502 to the signal line 506, and the selector 308 outputs the data on the signal line 502 to the signal line 506.
Data of 0 is output to the signal line 518. This is the same behavior as if there were no register conflicts.

以降の動作はその場合と同じに進んでいく。The subsequent operations proceed in the same way as in that case.

ALU330での演算結果が予測値と一致しない場合を
次に説明する。以上の説明ではタイミングチャート図と
しては第6図を用いてきたが、以下の説明では第7図を
用いる。この場合、信号線586には「0」が印加され
る。この[0」はセレクタ300と308に入力される
。この時、セレクタ300は信号線504のデータを信
号線506に出力し、セレクタ308は、信号線504
のデータを信号線518に出力する。これにより、時刻
T5において、先読み命令アドレスレジスタ100には
IC3Vレジスタ116に格納されていた第2命令の命
令アドレスの上位20ビツトが格納される。この値は第
1命令から第4命令までの先読みアドレスと同一である
。これにより先読みが実行されて時刻T6で第1命令か
ら第4命令が命令バッファ104,106,108,1
10に格納される。信号線518には第2命令の命令ア
ドレスが印加されているので、時刻T7において命令レ
ジスタ112には命令レジスタ106上の第2命令が格
納される。第2命令とレジスタコンフリクトを起こして
いた第1命令は時刻5において、すでに演算結果をR1
フィールドの指示するレジスタに書込んである。したが
って、時刻1゛7においては第1命令と第2命令の間に
はレジスタコンフリク1−はなく、第2命令はレジスタ
コンフリクl−のない場合の動作説明と同じに進んでい
く。
A case where the calculation result in the ALU 330 does not match the predicted value will be described next. Although FIG. 6 has been used as a timing chart in the above explanation, FIG. 7 will be used in the following explanation. In this case, “0” is applied to the signal line 586. This [0] is input to selectors 300 and 308. At this time, the selector 300 outputs the data on the signal line 504 to the signal line 506, and the selector 308 outputs the data on the signal line 504.
data is output to the signal line 518. As a result, at time T5, the upper 20 bits of the instruction address of the second instruction stored in the IC3V register 116 are stored in the prefetch instruction address register 100. This value is the same as the prefetch addresses for the first to fourth instructions. As a result, lookahead is executed, and at time T6, the first to fourth instructions are transferred to the instruction buffers 104, 106, 108, 1.
10. Since the instruction address of the second instruction is applied to the signal line 518, the second instruction on the instruction register 106 is stored in the instruction register 112 at time T7. The first instruction, which had a register conflict with the second instruction, has already transferred the operation result to R1 at time 5.
It is written to the register indicated by the field. Therefore, at time 1-7, there is no register conflict 1- between the first and second instructions, and the second instruction proceeds in the same manner as described in the case where there is no register conflict 1-.

更に、信号線586上の「0」は連想記憶装置に印加さ
れる。これにより、連想記憶装置のIC記憶部346.
IR記憶部348.X2レジスタ値記憶部350.B2
レジスタ値記憶部352゜先読み命令アドレス記憶部3
54.予測データ記憶部356がそれぞれ信号線580
上の第1命令の命令アドレス、信号線564上の第1命
令語。
Additionally, a "0" on signal line 586 is applied to the content addressable memory. As a result, the IC storage section 346 of the associative memory device.
IR storage section 348. X2 register value storage section 350. B2
Register value storage unit 352° Prefetch instruction address storage unit 3
54. Each prediction data storage unit 356 has a signal line 580.
the instruction address of the first instruction above, the first instruction word on signal line 564;

信号線578上の第1命令のX2レジスタ値、信号線5
76上の第1命令のB2レジスタ値、信号線574上の
第1命令の先読み時の先読み命令アドレス、信号線55
6上の第1命令の演算結果であるワードが時刻T5にお
いて登録される。
X2 register value of the first instruction on signal line 578, signal line 5
B2 register value of the first instruction on signal line 576, prefetch instruction address when prefetching the first instruction on signal line 574, signal line 55
The word that is the operation result of the first instruction on 6 is registered at time T5.

以上でALU330での演算結果が予測値と一致しない
場合の説明を終わる。
This concludes the explanation of the case where the calculation result in the ALU 330 does not match the predicted value.

更に、これにより、連想記憶装置に以前の実行時の情報
がある場合の説明に終わる。
Moreover, this concludes the description of the case where the associative memory has information from a previous run.

次に、連想記憶装置に以前の実行時の情報がない場合を
説明する。第8図をタイミングチャート図として用いる
Next, a case where there is no information about previous execution in the associative memory will be described. FIG. 8 is used as a timing chart.

第1命令から第4命令までの命令先読み、および第1命
令の処理の大部分は、上述のレジスタコンフリクトかな
い場合の動作と同じである。すなわち、第8図のタイミ
ングチャー1・図のうち、第1命令から第4命令に関す
るIFA、TBO〜■FAD、第1命令に関するIR/
IC,OA/IR1/ICI/GRXI/GRB 1/
I FΔ」。
The prefetching of the instructions from the first to the fourth instructions and most of the processing of the first instruction are the same as the operations described above when there is no register conflict. That is, in the timing chart 1 of FIG. 8, IFA for the first to fourth instructions, TBO to ■FAD, and IR/
IC, OA/IR1/ICI/GRXI/GRB 1/
I FΔ”.

○D/IR2/IC2/GRX2/GRB2/IFA2
.GRのタイミングは、第5図のものと同一である。以
下ではそれ以外部分を説明する。
○D/IR2/IC2/GRX2/GRB2/IFA2
.. The timing of GR is the same as in FIG. The other parts will be explained below.

まず、時刻TOより先読み命令アドレスレジスタ100
に格納されている先読み命令アドレスは信号線500を
介して連想記憶装置の先読み命令アドレス記憶部1FA
P354に印加されている。
First, from time TO, the prefetch instruction address register 100
The prefetch instruction address stored in the prefetch instruction address is sent to the prefetch instruction address storage unit 1FA of the associative memory device via the signal line 500.
P354 is applied.

また、時刻T2になると第]命令の命令語、命令アドレ
スX2レジスタ値、B2レジスタ値がそれぞれ信号線5
22,530,540,542を介してそれぞれ連想記
憶装置の1R記憶部348゜IC記憶部346.X2レ
ジスタ値記憶部350゜B2レジスタ値記憶部352に
印加される。
Furthermore, at time T2, the instruction word of the [th] instruction, the instruction address X2 register value, and the B2 register value are respectively
22, 530, 540, 542, respectively, through the 1R storage section 348 and the IC storage section 346. X2 register value storage section 350° is applied to B2 register value storage section 352.

連想記憶装置は上記信号線530,522.540.5
42,500のデータで探索をする。今は年連想記憶装
置に以前の実行時の情報がない場合を考えているので、
時刻T3においてHIT’Lレジスタ156には「0」
が格納される。更に、この「0」信号線546に印加さ
れる。
The associative memory device is connected to the signal lines 530, 522.540.5.
Search using 42,500 pieces of data. We are currently considering a case where the year associative memory does not have information from previous executions, so
At time T3, the HIT'L register 156 is set to "0".
is stored. Furthermore, this “0” signal line 546 is applied.

時刻T3においてIR]レジスタ124には第1命令で
あるAdd命令の命令語が格納されており、命令レジス
タ112には第2命令である5ubstract命令の
命令語が格納されている。
At time T3, the instruction word of the Add instruction, which is the first instruction, is stored in the IR register 124, and the instruction word of the 5ubstract instruction, which is the second instruction, is stored in the instruction register 112.

したがって、信号線582上には第1命令のR1フィー
ルドの「5」が印加され、信号線524には第2命令の
X2フイールド「5ノが印加される。
Therefore, “5” in the R1 field of the first instruction is applied to the signal line 582, and “5” in the X2 field of the second instruction is applied to the signal line 524.

第1命令と第2命令以外ではレジスタコンフリクI−が
ないと仮定しているので、信号線558,526には「
5」とは異なる値が印加さオしている。
Since it is assumed that there is no register conflict I- except for the first and second instructions, the signal lines 558 and 526 are
5" is being applied.

したがって、−数比較回路160の出力は「1」になり
、他の一致比較回路162,1.64,166の出力は
「0」となる。故にOR回路168の出力信号線593
は[1」になる。また、OR回路の出力信号線5910
R回路182の出力信号線596.AND回路172の
出力信号線AND回路174の出力信号線590.AN
D回路180の出力信号線はrOJになる。
Therefore, the output of the minus number comparison circuit 160 becomes "1", and the outputs of the other match comparison circuits 162, 1.64, and 166 become "0". Therefore, the output signal line 593 of the OR circuit 168
becomes [1]. In addition, the output signal line 5910 of the OR circuit
Output signal line 596 of R circuit 182. Output signal line 590 of AND circuit 172 Output signal line 590 of AND circuit 174. AN
The output signal line of the D circuit 180 becomes rOJ.

信号線592は「0」であり、信号線593は「1」で
あるので、信号線54 O」二に有意なデータは出力さ
れない。一方、セレクタ3]8は信号線536上の第2
命令のB2レジスタ値を信号線542を介してアドレス
加算器324に印加するゎ信号線528からは第2命令
の変位がアドレス加算器に印加される。これにより、時
刻T4において、第2命令のオペランドアドレスがオペ
ランドアドレスレジスタ120に格納される。
Since the signal line 592 is "0" and the signal line 593 is "1", no significant data is output to the signal line 54O. On the other hand, selector 3]8 is the second selector on signal line 536.
The B2 register value of the instruction is applied to the address adder 324 via the signal line 542.The displacement of the second instruction is applied to the address adder from the signal line 528. As a result, the operand address of the second instruction is stored in the operand address register 120 at time T4.

また、IRIレジスタ124.ICIレジスタ130.
0RXルジスタ]、32.GItB ルジスタ134.
IFΔルジスタ13Gには、レジスタコンフリク1〜の
ない時の動作と同一のデータが時刻T4で格納される。
Also, IRI register 124. ICI register 130.
0RX Lujista], 32. GItB Lujista 134.
The same data as the operation when there is no register conflict 1 to 1 is stored in the IFΔ register 13G at time T4.

以降の第2命令の動作は、レジスタコンフリタト信号線
540上には有意なデータは出力されないのでアドレス
加算器548は有意なデータを出力しない。したがって
、時刻T4になってもオペランドアドレスレジスタ12
0には有意なデータは格納されない。また、IRIレジ
スタI24゜ICIレジスタ130.GRXIレジスタ
13□2゜GRB ルジスタ134.IFAレジスタ1
36にも有いなデータは格納されない。
In the subsequent operation of the second instruction, since no significant data is output on the register conflict signal line 540, the address adder 548 does not output any significant data. Therefore, even at time T4, the operand address register 12
No significant data is stored in 0. Also, IRI register I24°ICI register 130. GRXI register 13□2゜GRB register 134. IFA register 1
Data that is also present in 36 is not stored.

一方、時刻T4になるとIR2レジスタ126には第1
命令であるAd4命令の命令語が格納されている。この
時には、−数比較回路164の出力はrlJになり、他
の一致比較回路160,162、.166の出力はrO
Jになる。故に、OR回路168の出力信号線593と
AND回路180の出力信号線584は[1」になる。
On the other hand, at time T4, the first
The instruction word of the Ad4 instruction, which is an instruction, is stored. At this time, the output of the minus number comparison circuit 164 becomes rlJ, and the output of the other coincidence comparison circuits 160, 162, . The output of 166 is rO
Become J. Therefore, the output signal line 593 of the OR circuit 168 and the output signal line 584 of the AND circuit 180 become [1].

また、OR回路170,182の出力信号線591,5
96とAND回路172と174の出力信号線592.
590は「0」になる。この時も信号線592は「0」
であり、信号線593は「1」なので信号線540上に
は何のデータも出力されない。
Furthermore, the output signal lines 591 and 5 of the OR circuits 170 and 182
96 and the output signal line 592 of the AND circuits 172 and 174.
590 becomes "0". At this time, the signal line 592 is also “0”
Since the signal line 593 is "1", no data is output on the signal line 540.

信号線540上には有意なデータが出力されなり)ので
アドレス加算器548は有意なデータを出力しない。し
たがって時刻T5になってもオペランドアドレスレジス
タ]20には有意なデータは格納されない。また、1R
]レジスタ1.2/l、1.Cルジスタ130.GRX
]レジスタ132.GRBIレジスタ134.IFAレ
ジスタ]、 36にも有意なデータは格納さオしない。
Since no significant data is output on signal line 540), address adder 548 does not output significant data. Therefore, no significant data is stored in the operand address register 20 even at time T5. Also, 1R
]Register 1.2/l, 1. C Lujista 130. GRX
]Register 132. GRBI register 134. No significant data is stored in the IFA register] or 36.

一方、時刻T5になると1R−2レジスタ138には有
意なデータは格納されていない。この時には一致比較回
路160,162,1.64,166の出力は「0」と
なる。故に信号線590,591.592,593,5
84.596はずへて「0」どなる。
On the other hand, at time T5, no significant data is stored in the 1R-2 register 138. At this time, the outputs of the match comparison circuits 160, 162, 1.64, and 166 become "0". Therefore, signal lines 590, 591. 592, 593, 5
84.596 jumps and yells "0".

これにより、セレクタ31Gは信号線534」二の第2
アドレスのX2レジスタ値を信号線540を介してアド
レス加算器324に印加し、セレクタ318は信号線5
361の第2アドレスのB2レジスタ値を信号から54
2を介してアドレス加算器324に印加する。信号線5
28からは第2アドレスの変位がアドレス加算器に印加
される。
As a result, the selector 31G selects the second signal line 534''.
The X2 register value of the address is applied to the address adder 324 via the signal line 540, and the selector 318 is applied to the address adder 324 via the signal line 540.
361 second address B2 register value from the signal 54
2 to the address adder 324. signal line 5
From 28, the displacement of the second address is applied to the address adder.

これにより、時刻T6において、第2アドレスのオペラ
ンドアドレスがオペランドアドレスレジスタ120に格
納される。
As a result, the operand address of the second address is stored in the operand address register 120 at time T6.

また、I R]レジスタ124.ICIレジスタ130
、GRXIレジスタ132.GRBIレジスタ134.
、IFAIレジスタ136には、レジスタコンフリク1
〜のない時の動作と同一のデータが時刻T6で格納され
る。
Also, the IR] register 124. ICI register 130
, GRXI register 132. GRBI register 134.
, IFAI register 136 contains register conflict 1.
The same data as in the operation without ~ is stored at time T6.

以降の第2アドレスの動作は、レジスタコンフIJり1
・かない場合と同様に進む。
The subsequent operation of the second address is the register configuration IJRI1.
・Proceed in the same way as in the case where there is no problem.

時刻T 4から第171−レスの演算かA L U 3
3Oで行なわれており、時刻T4とT5の中間でその演
算結果が信号線556を介して連続記憶装置に印加され
る。
Calculation of 171st-response from time T 4?ALU 3
30, and the calculation result is applied to the continuous storage device via the signal line 556 between times T4 and T5.

更に、信−じ線5841の「1」は連想記憶装置に印力
11される。これにより、連想記・億装置のIC記憶部
346.IR記憶部348.X2レジスタ値記憶部35
0.B2レジスタ値記憶部352゜先読み命令アドレス
記・腕部354.予測データ記憶部35Gがそ11ぞれ
信号線580上の第1命令の命令アドレスl (i帯線
564上の第1命令語、信号線578上の第1命令のX
2レジスタ値、信号線576上の第1命令のB2レジス
タ値、信号線574上の第1命令の先読み時の先読み命
令アドレス信号線556上の第1命令の演算結果である
ワードが時刻T5において登録される。
Further, "1" on the belief line 5841 is outputted to the associative memory device. As a result, the IC storage section 346 of the associative memory device 346. IR storage section 348. X2 register value storage section 35
0. B2 register value storage section 352. Prefetch instruction address record/arm section 354. The prediction data storage unit 35G stores the instruction address l of the first instruction on the signal line 580 (the first instruction word on the i-band line 564, and the X of the first instruction on the signal line 578).
2 register value, the B2 register value of the first instruction on signal line 576, and the word that is the operation result of the first instruction on signal line 556, the prefetch instruction address when prefetching the first instruction on signal line 574, at time T5. be registered.

更に、これにより、連想記憶装置に以前の実行時の情報
がない場合の説明を終わる。
Furthermore, this concludes the description of the case where the associative memory does not have information from a previous run.

次に、本実施例特有の効果を述べる。Next, effects specific to this embodiment will be described.

本発明を使用しない場合、先行命令とレジスタコンフリ
クI−のある後続命令を実行すると、上述の動作説明の
連想記憶装置に以前の実行の情報がない場合と同じ動作
となり、2周期の空き時間を生ずる。
When the present invention is not used, if a subsequent instruction with a register conflict I- is executed with the preceding instruction, the operation will be the same as when there is no information about the previous execution in the associative memory device described above, and two periods of idle time will be used. arise.

本発明を使用すれば空き時間はまったくなくなるので、
レジスタコンフリクト発生時の命令処理性能が向上する
With this invention, there will be no free time at all,
Improves instruction processing performance when a register conflict occurs.

上述の実施例は先行命令の演算結果の予測値として、先
行命令の以前の実行での演算結果を用いるものであった
。しかし本発明は、先行命令の演算結果の予測値として
、先行命令の以前の実行でのオペランドデータの一部と
、実行時に得られる残りのオペランドデータとに演算を
施した結果を用いる場合にも適用できる。
The above-described embodiment uses the calculation result of the previous execution of the preceding instruction as the predicted value of the calculation result of the preceding instruction. However, the present invention also applies to the case where the result of performing an operation on part of the operand data from the previous execution of the preceding instruction and the remaining operand data obtained during execution is used as the predicted value of the operation result of the preceding instruction. Applicable.

この場合の実施例の全体構成図を第10A図。FIG. 10A is an overall configuration diagram of the embodiment in this case.

図 第10BJt、l’に示す。figure Shown in 10th BJt, l'.

この図の連想記憶装置には、先行命令の演算結果の代わ
りに先行命令の第2オペランドデータを蓄えておく。先
行命令実施時に連想キーにより連想記憶装置は以前の実
行での第2オペランドデータを信号線538に出力する
。先行命令のオペコードは信号線604を介してALU
360に入力され、先行命令のR1レジスタ値はR1フ
ィールドを印加されたセレクタ362で選択されて信号
線606を介してALU360に入力される。これによ
り信号線600には予測値が出力されて、後続命令が空
き時間なく実行される。
The associative memory shown in this figure stores the second operand data of the preceding instruction instead of the operation result of the preceding instruction. When the preceding instruction is executed, the associative key causes the associative memory to output the second operand data from the previous execution to signal line 538. The opcode of the preceding instruction is sent to the ALU via the signal line 604.
The R1 register value of the preceding instruction is selected by the selector 362 to which the R1 field is applied and is input to the ALU 360 via the signal line 606. As a result, the predicted value is output to the signal line 600, and subsequent instructions are executed without any idle time.

上記の実施例では、予測値と演算結果を直接比較してい
たが、連続記憶装置の出力したオペランドデータと実行
時に得られるオペランドデータを比較してもよい。
In the above embodiment, the predicted value and the calculation result are directly compared, but the operand data output from the continuous storage device and the operand data obtained at the time of execution may be compared.

この場合の実施例の全体構成図を第11A図。FIG. 11A is an overall configuration diagram of the embodiment in this case.

第11B図に示す。Shown in FIG. 11B.

この図の比較器332の左入力には、信号線554を介
して先行命令実行時の第2オペランドが入力され、右入
力には、PDSVレジスター54を介して連想記憶装置
の出力した第2オペランドを比較している。
The second operand at the time of execution of the preceding instruction is input to the left input of the comparator 332 in this figure via the signal line 554, and the second operand output from the associative memory device via the PDSV register 54 is input to the right input. are being compared.

この方法によっても、上記の実施例で行った予測値と演
算結果の比較結果と同一の結果が信号線586上に得ら
れる。
With this method as well, the same result as the comparison result between the predicted value and the calculation result performed in the above embodiment can be obtained on the signal line 586.

上述の実施例では、先行命令の先読みアドレスと命令ア
ドレスを更想アドレスを連想キーに用いていた。しかし
先行命令より前の先読みアドレス泪 と命令アドレスをよけいても、この発明は適用できる。
In the embodiment described above, the look-ahead address of the preceding instruction, the instruction address, and the recall address are used as the associative keys. However, the present invention can be applied even if the instruction address and the read-ahead address before the preceding instruction are avoided.

この時には、信号線544」二と信号線530のICル
ジスター30の直前に遅延レジ入夕を設ければ良い。こ
れにより、登録時に先行命令より前の命令の先読みアド
レスと命令アドレスが連想記憶装置に書き込まれるので
、これらを連想キーに用いることができる。
In this case, a delay register may be provided immediately before the IC register 30 on the signal line 544 and the signal line 530. As a result, at the time of registration, the prefetch address and the instruction address of the instruction before the preceding instruction are written into the associative memory device, so that they can be used as an associative key.

更に、連想キーとしては、今まで述べたすべてを使うこ
ともできるし、任意の組合せを使うこともできる。その
際、キー構成要素の一部のビット位置を使うこともでき
る。
Further, as the associative keys, all of the above-mentioned keys can be used, or any combination can be used. In this case, it is also possible to use some bit positions of the key components.

〔発明の効果〕〔Effect of the invention〕

本発明を使用しない場合、レジスタコンフリク1〜を起
こす先行命令が開始されてから、後続命令が開始される
までに、先行命令のアドレス計算時間、オペランド読出
し時間、演算時間がかかる。
If the present invention is not used, it takes address calculation time, operand read time, and operation time for the preceding instruction after the preceding instruction that causes register conflict 1 to starts is started until the subsequent instruction is started.

しかし、本発明を用いることにより、連想キーを予測装
置に入力してから予測値が出力するまでの時間しかかか
らない。後者の時間は、連想キーに何を用いるかによっ
て異なるが、先行命令の命令アドレスを連想キーに用い
る最悪の場合でも、その時間は本発明を使用しない場合
より十分短い。
However, by using the present invention, it only takes time from inputting the associative key to the prediction device to outputting the predicted value. The latter time varies depending on what is used as the associative key, but even in the worst case where the instruction address of the preceding instruction is used as the associative key, the time is sufficiently shorter than when the present invention is not used.

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

第1A図は命令形式図、第1B図はロード命令の例、第
2図はレジスタコンフリクトを起こす二つの命令の例、
第3A図、第3B図は実施例の全体構成図、第4図は連
想記憶装置の構成図、第5〜8図はタイミングチャート
図、第9図ぽレジスタコンフリクト検出装置の構成図、
第10A図、第10B図及び第11A図、第11B図は
それぞれ他の実施例の全体構成図。 符号の説明 100・・・先読み命令アドレスレジスタ304・・・
命令記憶装置 104.106,108,110・・・命令バッファ1
12・・・命令レジスタ 114・・・命令カウンタ 324・・・アドレス加算器 120・・オペランド・アドレスレジスタ326・・・
オペランド記憶装置 126・・・オペランドデータレジスタ330・・・A
LU 118・・・レジスタファイル 320・・・予測装置 322・・・レジスタコンフリクト検出装置第1A図 第18回 0pR1,Dz (Bit、Xz) 葬2図 ■ A 5.100 (j、2) ■ S 8 、150 (7,5) ■h 第8図 IFAD []]=「−−−−− vsv 信号#I58乙 詰 9 図
Figure 1A is an instruction format diagram, Figure 1B is an example of a load instruction, Figure 2 is an example of two instructions that cause a register conflict,
3A and 3B are general configuration diagrams of the embodiment, FIG. 4 is a configuration diagram of an associative memory device, FIGS. 5 to 8 are timing chart diagrams, and FIG. 9 is a configuration diagram of a register conflict detection device.
FIG. 10A, FIG. 10B, and FIG. 11A, FIG. 11B are overall configuration diagrams of other embodiments, respectively. Explanation of symbols 100...Prefetch instruction address register 304...
Instruction storage devices 104, 106, 108, 110...instruction buffer 1
12...Instruction register 114...Instruction counter 324...Address adder 120...Operand address register 326...
Operand storage device 126...operand data register 330...A
LU 118...Register file 320...Prediction device 322...Register conflict detection device Figure 1A No. 18 0pR1, Dz (Bit, Xz) Figure 2 ■ A 5.100 (j, 2) ■ S 8, 150 (7, 5) ■h Fig. 8 IFAD []] = “----- vsv Signal #I58 Otsuzume 9 Fig.

Claims (1)

【特許請求の範囲】 1、先行命令によってレジスタに書込まれる演算結果を
用いて後続命令が実行される際に、該演算結果が確定す
るまで、該後続命令の処理であって該演算結果を用いる
処理を停止させる情報処理装置において 該先行命令の命令アドレス、該先行命令より前の命令の
命令アドレス、該先行命令を先読みする際の先読みアド
レス、該先行命令より前の命令を先読みする際の先読み
アドレス、該先行命令が参照するレジスタ内容、又は該
先行命令語を連想キーに用いて該先行命令の演算結果を
予測する予測装置と、 該後続命令を実行する際に、該連想キーにより該予測装
置が該該先行命令の演算結果の予測値を出力したかを検
出して、検出した時に該予測値を用いて上記停止される
処理を開始させる装置と、該予測値が該先行命令によっ
てレジスタに書込まhる演算結果と等しいかを検証する
装置と、該検証結果が不一致の時には、該先行命令によ
ってレジスタに書込まれる演算結果を用いて該後続命令
を再続行させる装置を持つ情報処理装置。 2、該予測装置の予測値として、該先行命令の以前の実
行での演算結果を用いることを特徴とする特許請求の範
囲第1項記載の情報処理装置。 3、該先行命令の演算結果が、該先行命令の1つ以上の
オペランドデータに演算を施した結果得られるものであ
って、該予測装置内に該先行命令の以前の実行でのオペ
ランドデータの一部を蓄えておき、該先行命令実行時に
、該蓄えられたオペランドデータの一部と、実行時に得
られる残りのオペランドデータとに演算を施した結果を
、該予i1+!l装置の予測値として用いることを特徴
とする特許請求の範囲第1項記載の情報処理装置。 4、該予測値が該先行命令によってレジスタに書込まれ
る演算結果と等しいかを検証する装置として、 該予測装置内に蓄えられた該先行命令の以前の実行での
オペランドデータの一部と、該先行命令実行時に得られ
るオペランドデータの一部を比較する装置を用いること
を特徴とする特許請求の範囲第3項記載の情報処理装置
[Claims] 1. When a subsequent instruction is executed using the operation result written to the register by the preceding instruction, the processing of the subsequent instruction does not include the operation result until the operation result is determined. An instruction address of the preceding instruction, an instruction address of the instruction before the preceding instruction, a pre-reading address when prefetching the preceding instruction, and a pre-reading address when prefetching the instruction before the preceding instruction in the information processing device that stops the processing used. a prediction device that predicts the operation result of the preceding instruction by using a look-ahead address, the contents of a register referred to by the preceding instruction, or the preceding instruction word as an associative key; a device for detecting whether a prediction device outputs a predicted value of the operation result of the preceding instruction, and starting the stopped process using the predicted value when detected; Information having a device that verifies whether the result of the operation written to the register is equal to the result of the operation written to the register, and a device that restarts the subsequent instruction using the result of the operation written to the register by the preceding instruction when the verification result does not match. Processing equipment. 2. The information processing device according to claim 1, wherein the prediction device uses a calculation result from a previous execution of the preceding instruction as the predicted value. 3. The operation result of the preceding instruction is obtained as a result of performing an operation on one or more operand data of the preceding instruction, and the prediction device contains operand data from previous execution of the preceding instruction. A part of the operand data is stored, and when the preceding instruction is executed, the result of performing an operation on the stored part of the operand data and the remaining operand data obtained at the time of execution is calculated as the pre-i1+! 2. The information processing device according to claim 1, wherein the information processing device is used as a predicted value for a device. 4. A part of operand data from a previous execution of the preceding instruction stored in the prediction device as a device for verifying whether the predicted value is equal to the operation result written to the register by the preceding instruction; 4. The information processing apparatus according to claim 3, further comprising a device for comparing part of operand data obtained during execution of the preceding instruction.
JP23777883A 1983-12-19 1983-12-19 Information processor Granted JPS60129839A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23777883A JPS60129839A (en) 1983-12-19 1983-12-19 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23777883A JPS60129839A (en) 1983-12-19 1983-12-19 Information processor

Publications (2)

Publication Number Publication Date
JPS60129839A true JPS60129839A (en) 1985-07-11
JPH0552534B2 JPH0552534B2 (en) 1993-08-05

Family

ID=17020287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23777883A Granted JPS60129839A (en) 1983-12-19 1983-12-19 Information processor

Country Status (1)

Country Link
JP (1) JPS60129839A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01187634A (en) * 1988-01-22 1989-07-27 Hitachi Ltd Information processing device
JPH076033A (en) * 1994-04-11 1995-01-10 Hitachi Ltd Data processor
WO1998011484A1 (en) * 1996-09-13 1998-03-19 Hitachi, Ltd. Command processor having history memory
US6421771B1 (en) 1998-06-29 2002-07-16 Fujitsu Limited Processor performing parallel operations subject to operand register interference using operand history storage
US6810474B1 (en) * 1998-03-04 2004-10-26 Hitachi, Ltd. Information processor
US8549263B2 (en) 2006-03-07 2013-10-01 Intel Corporation Counter-based memory disambiguation techniques for selectively predicting load/store conflicts

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01187634A (en) * 1988-01-22 1989-07-27 Hitachi Ltd Information processing device
JPH076033A (en) * 1994-04-11 1995-01-10 Hitachi Ltd Data processor
WO1998011484A1 (en) * 1996-09-13 1998-03-19 Hitachi, Ltd. Command processor having history memory
US6810474B1 (en) * 1998-03-04 2004-10-26 Hitachi, Ltd. Information processor
US6421771B1 (en) 1998-06-29 2002-07-16 Fujitsu Limited Processor performing parallel operations subject to operand register interference using operand history storage
US8549263B2 (en) 2006-03-07 2013-10-01 Intel Corporation Counter-based memory disambiguation techniques for selectively predicting load/store conflicts
US8812823B2 (en) 2006-03-07 2014-08-19 Intel Corporation Memory disambiguation techniques using counter ratio to selectively disable load/store conflict prediction

Also Published As

Publication number Publication date
JPH0552534B2 (en) 1993-08-05

Similar Documents

Publication Publication Date Title
US3840861A (en) Data processing system having an instruction pipeline for concurrently processing a plurality of instructions
US5421022A (en) Apparatus and method for speculatively executing instructions in a computer system
JP2744890B2 (en) Branch prediction data processing apparatus and operation method
JP2992223B2 (en) Computer system, instruction bit length compression method, instruction generation method, and computer system operation method
US5428807A (en) Method and apparatus for propagating exception conditions of a computer system
JP3509067B2 (en) Store instruction transfer method and processor
US5420990A (en) Mechanism for enforcing the correct order of instruction execution
US3881173A (en) Condition code determination and data processing
JPH0557616B2 (en)
JPS6028015B2 (en) information processing equipment
JPH0429093B2 (en)
JPS6255736A (en) Digital processor control
US5313644A (en) System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word
US4739470A (en) Data processing system
EP0094535B1 (en) Pipe-line data processing system
JP2620511B2 (en) Data processor
US5761467A (en) System for committing execution results when branch conditions coincide with predetermined commit conditions specified in the instruction field
JP3093673B2 (en) Method and processor for allocating rename register
JPH03286332A (en) Digital data processor
US6704861B1 (en) Mechanism for executing computer instructions in parallel
JPH07120284B2 (en) Data processing device
JPS60129839A (en) Information processor
EP0550289A2 (en) A mechanism to detect stores into the instruction stream
JP3452771B2 (en) Command control system and method
JPS6284340A (en) Data processor