JPH0540629A - Information processor - Google Patents
Information processorInfo
- Publication number
- JPH0540629A JPH0540629A JP14619891A JP14619891A JPH0540629A JP H0540629 A JPH0540629 A JP H0540629A JP 14619891 A JP14619891 A JP 14619891A JP 14619891 A JP14619891 A JP 14619891A JP H0540629 A JPH0540629 A JP H0540629A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- instruction
- store
- load
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Advance Control (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、ストア命令とこれに続
くロード命令とを高速処理することができる情報処理装
置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus capable of processing a store instruction and a load instruction following the store instruction at high speed.
【0002】[0002]
【従来の技術】従来より、情報処理装置の実行速度を上
げるために、パイプライン処理方式、並列処理方式等が
用いられている。図6はこのような従来の情報処理装置
の概略構成を示すものである。図6に於いて、1はレジ
スタファイル、2はレジスタファイル1を有する演算処
理部、3はメインメモリのバッファメモリとして機能す
るデータキュッシュメモリである。28はストア命令用
データバス、30はロード命令用データバスである。2. Description of the Related Art Conventionally, a pipeline processing method, a parallel processing method, and the like have been used to increase the execution speed of an information processing apparatus. FIG. 6 shows a schematic configuration of such a conventional information processing apparatus. In FIG. 6, 1 is a register file, 2 is an arithmetic processing unit having the register file 1, and 3 is a data cache memory that functions as a buffer memory of the main memory. Reference numeral 28 is a store instruction data bus, and 30 is a load instruction data bus.
【0003】以上のような構成を有する情報処理装置の
動作について説明する。ここで、ストア命令とロード命
令とはこの順に実行されるべきものとする。また、演算
処理部2はパイプライン処理を行うものとする。図7は
図6の情報処理装置に於いてストア命令とロード命令と
をパイプライン処理する場合の各命令のステージの順序
を示すものである。図7に於いて、Fは命令フェッチス
テージ、Lは命令デコードステージ、Eは命令実行ステ
ージ、Mはメモリステージ、Sはストアステージであ
る。The operation of the information processing apparatus having the above configuration will be described. Here, it is assumed that the store instruction and the load instruction should be executed in this order. Further, the arithmetic processing unit 2 is assumed to perform pipeline processing. FIG. 7 shows the order of stages of respective instructions when the store instruction and the load instruction are pipelined in the information processing apparatus of FIG. In FIG. 7, F is an instruction fetch stage, L is an instruction decode stage, E is an instruction execution stage, M is a memory stage, and S is a store stage.
【0004】先に実行されるストア命令では、命令実行
ステージEに於いてデータキャッシュメモリ3からタグ
が読み出され、キャッシュヒットが確認されると、メモ
リステージMでデータキャッシュメモリ3へデータが書
き込まれる。一方、ストア命令の次に実行されるべきロ
ード命令では、命令実行ステージEに於いてデータキャ
ッシュメモリ3からタグが読み出され、キャッシュヒッ
トが確認され、命令実行ステージEに於いてデータが読
み出される。このようにストア命令の次にロード命令が
パイプライン処理によって実行される場合には、ストア
命令に於いてデータキャッシュメモリ3へのデータ書き
込みを行うメモリステージMと、ロード命令に於いてデ
ータキャッシュメモリ3からのデータの読み出しを行う
命令実行ステージEとが重なってしまう。In the store instruction executed first, the tag is read from the data cache memory 3 in the instruction execution stage E, and when a cache hit is confirmed, the data is written in the data cache memory 3 in the memory stage M. Be done. On the other hand, in the load instruction to be executed next to the store instruction, the tag is read from the data cache memory 3 in the instruction execution stage E, the cache hit is confirmed, and the data is read in the instruction execution stage E. .. In this way, when the load instruction is executed next to the store instruction by pipeline processing, the memory stage M for writing data to the data cache memory 3 in the store instruction and the data cache memory in the load instruction The instruction execution stage E for reading the data from 3 overlaps.
【0005】このようなステージの重なりが生じた場合
に於いて、ストア命令に於ける格納アドレスとロード命
令に於ける読み出しアドレスとが一致しない場合には、
以下の2つの方法によってパイプライン処理を行うこと
ができる。即ち、第1の方法は、図6に示すようにスト
ア命令用データバス28とロ−ド命令用データバス30
とを独立して設け、データキャッシュメモリ3を2ポー
トメモリセル構成とすることである。これにより、ロー
ドデータの読み出しとストアデータの書き込みを同時に
処理することができる。第2の方法は、ロード命令の命
令実行ステージEに於けるデータキャッシュメモリ3か
らのデータの読み出しを先に処理し、ストア命令のメモ
リステージMに於けるデータキャッシュメモリ3へのデ
ータの書き込みを遅らせてストアステージSで処理する
ことである。When such a stage overlap occurs, if the storage address in the store instruction and the read address in the load instruction do not match,
Pipeline processing can be performed by the following two methods. That is, the first method is, as shown in FIG. 6, a data bus 28 for a store instruction and a data bus 30 for a load instruction.
Are independently provided, and the data cache memory 3 has a two-port memory cell configuration. As a result, it is possible to simultaneously read the load data and write the store data. In the second method, the data read from the data cache memory 3 in the instruction execution stage E of the load instruction is processed first, and the data write to the data cache memory 3 in the memory stage M of the store instruction is performed. That is, it is delayed and processed in the store stage S.
【0006】[0006]
【発明が解決しようとする課題】しかし、ストア命令の
格納アドレスとロード命令の読み出しアドレスとに一致
する部分が存在する場合には、先にデータキャッシュメ
モリ3にストアデータが書き込まれた後でなければ、ロ
ード命令で正しいロードデータをデータキャッシュメモ
リ3からレジスタファイル1に読み込むことができな
い。このような場合、前記第1の方法に於いては、デー
タキャッシュメモリ3を2ポートメモリセル構成として
もデータの格納とデータの読み出しとが重なり、誤動作
を生じることになる。また、前記第2の方法に於いて
は、ストア命令によってストアデータが書き込まれる前
の古いデータをロードデータとして読み出すという誤動
作が生じる。However, if there is a portion that matches the storage address of the store instruction and the read address of the load instruction, it must be done after the store data has been written to the data cache memory 3 first. For example, the correct load data cannot be read from the data cache memory 3 into the register file 1 by the load instruction. In such a case, in the first method, even if the data cache memory 3 has a two-port memory cell configuration, the data storage and the data reading overlap with each other, resulting in malfunction. Further, in the second method, an erroneous operation occurs in which old data before the store data is written by the store instruction is read as the load data.
【0007】このようにストア命令の格納アドレスとロ
ード命令の読み出しアドレスとが一致する場合には、図
7に示すように、後に実行されるロード命令の命令実行
ステージEの前に1サイクルの停止サイクルAが設けら
れる。この停止サイクルAを設けることによって、スト
ア命令のメモリステージMとロード命令の命令実行ステ
ージEとは同時には実行されなくなり、誤動作は生じな
くなる。When the storage address of the store instruction and the read address of the load instruction match in this way, as shown in FIG. 7, one cycle is stopped before the instruction execution stage E of the load instruction to be executed later. Cycle A is provided. By providing this stop cycle A, the memory stage M of the store instruction and the instruction execution stage E of the load instruction are not executed at the same time, and no malfunction occurs.
【0008】しかしながら、このような停止サイクルA
を設ければ、ロード命令の実行ステージEは1サイクル
の停止サイクルAの後に処理されることになり、パイプ
ライン処理に於ける処理効率を低下させるという問題点
が生じる。このような問題点は、並列処理を行う情報処
理装置に於いても同様に生じるものである。However, such a stop cycle A
, The load instruction execution stage E is processed after one stop cycle A, which causes a problem that the processing efficiency in the pipeline processing is lowered. Such a problem similarly occurs in an information processing device that performs parallel processing.
【0009】本発明は上記の問題点を解決するものであ
り、本発明の目的は、停止サイクルを設けることなく、
ストア命令とそのストア命令の次に実行すべきロード命
令とをパイプライン処理又は並列処理し得る情報処理装
置を提供することである。The present invention solves the above problems, and an object of the present invention is to provide a stop cycle without
An object of the present invention is to provide an information processing device capable of pipeline processing or parallel processing of a store instruction and a load instruction to be executed next to the store instruction.
【0010】[0010]
【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明は、ストア命令とストア命令の次に
実行すべきロード命令とをパイプライン処理する情報処
理装置に於いて、ストア命令に於ける格納アドレスと、
その次に実行すべきロード命令の読み出しアドレスとの
間に一致する部分がある場合に、ストア命令に於けるス
トアデータを一時的にデータ保持回路に保持し、この保
持されているデータとデータキャッシュメモリから読み
出したデータとに基づいて、ロード命令に於けるロード
データを生成するものである。In order to achieve the above object, the invention of claim 1 is an information processing apparatus for pipeline processing a store instruction and a load instruction to be executed next to the store instruction. The storage address in the instruction,
When there is a part that matches the read address of the load instruction to be executed next, the store data in the store instruction is temporarily held in the data holding circuit, and this held data and the data cache are held. The load data in the load instruction is generated based on the data read from the memory.
【0011】具体的に請求項1の発明が講じた手段は、
ストア命令と該ストア命令の次に実行すべきロード命令
とをパイプライン処理し得る情報処理装置を対象とし、
レジスタファイルを有する演算処理部と、データキャッ
シュメモリと、前記ストア命令に基づいて前記レジスタ
ファイルから読み出して前記データキャッシュメモリに
格納すべきストアデータを一時的に保持するデータ保持
回路と、前記ストア命令に於ける格納アドレスを保持す
るアドレス保持回路と、該アドレス保持回路に保持され
ているアドレスと前記ロード命令に於ける読み出しアド
レスとを比較するアドレス比較器と、該アドレス比較器
が前記アドレス保持回路に保持されている格納アドレス
と前記ロード命令に於ける読み出しアドレスとに一致部
分があることを検出した場合に、前記データ保持回路に
保持されている前記ストアデータと前記データキャッシ
ュメモリから読み出したデータとに基づいて、前記ロー
ド命令に於ける前記レジスタファイルへのロードデータ
を生成するデータ処理部とを備えた構成とするものであ
る。Specifically, the means taken by the invention of claim 1 is as follows.
Targeting an information processing device capable of pipeline processing a store instruction and a load instruction to be executed next to the store instruction,
An arithmetic processing unit having a register file, a data cache memory, a data holding circuit for temporarily holding store data to be read from the register file and stored in the data cache memory based on the store instruction, and the store instruction Address holding circuit for holding the storage address in the load instruction, an address comparator for comparing the address held in the address holding circuit with the read address in the load instruction, and the address holding circuit for the address holding circuit. Data stored in the data holding circuit and the data read from the data cache memory when it is detected that there is a matching portion between the storage address held in the memory and the read address in the load instruction. Based on and before in the load instruction It is an arrangement comprising a data processing unit that generates load data to the register file.
【0012】また、請求項2の発明は、ストア命令とス
トア命令の次に実行すべきロード命令とを同時に並列処
理する情報処理装置に於いて、ストア命令に於ける格納
アドレスと、その次に実行すべきロード命令の読み出し
アドレスとの間に一致する部分がある場合に、ストア命
令に於けるストアデータとデータキャッシュメモリから
読み出したデータとに基づいて、ロード命令に於けるロ
ードデータを生成するものである。According to a second aspect of the present invention, in an information processing apparatus for concurrently processing a store instruction and a load instruction to be executed next to the store instruction in parallel, the storage address of the store instruction and then the storage address of the store instruction. When there is a part that matches the read address of the load instruction to be executed, the load data in the load instruction is generated based on the store data in the store instruction and the data read from the data cache memory. It is a thing.
【0013】具体的に請求項2の発明が講じた手段は、
ストア命令と該ストア命令の次に実行すべきロード命令
とを並列処理し得る情報処理装置対象とし、レジスタフ
ァイルを有する演算処理部と、データキャッシュメモリ
と、前記ストア命令に於ける格納アドレスと前記ロード
命令に於ける読み出しアドレスとを比較するアドレス比
較器と、該アドレス比較器が前記ストア命令に於ける格
納アドレスと前記ロード命令に於ける読み出しアドレス
とに一致部分があることを検出した場合に、前記ストア
命令に於けるストアデータと前記データキャッシュメモ
リから読み出したデータとに基づいて、前記ロード命令
に於ける前記レジスタファイルへのロードデータを生成
するデータ処理部とを備えた構成とするものである。Specifically, the means taken by the invention of claim 2 is as follows.
An arithmetic processing unit having a register file, a data cache memory, a storage address in the store instruction, and the storage instruction for the information processing apparatus capable of parallel processing a store instruction and a load instruction to be executed next to the store instruction. An address comparator for comparing the read address in the load instruction and the address comparator, when the address comparator detects that there is a matching portion between the storage address in the store instruction and the read address in the load instruction A data processing unit for generating load data to the register file in the load instruction based on the store data in the store instruction and the data read from the data cache memory. Is.
【0014】[0014]
【作用】請求項1の発明の構成により、アドレス比較器
が、アドレス保持回路に保持されているストア命令に於
ける格納アドレスと、ロード命令に於ける読み出しアド
レスとの間に一致部分があることを検出した場合に、ス
トア命令に於いてデータキャッシュメモリに格納すべき
データを一時的に保持しているデータ保持回路のストア
データと、データキャッシュメモリから読み出したデー
タとに基づいて、ロード命令に於けるレジスタファイル
へのロードデータを生成するデータ処理部を設けたた
め、停止サイクルを設けることなくストア命令とロード
命令とをパイプライン処理することが可能となる。According to the structure of the present invention, the address comparator has a coincident portion between the storage address in the store instruction held in the address holding circuit and the read address in the load instruction. If the load instruction is detected, based on the store data of the data holding circuit that temporarily holds the data to be stored in the data cache memory in the store instruction and the data read from the data cache memory, Since the data processing unit that generates the load data to the register file is provided, it becomes possible to pipeline the store instruction and the load instruction without providing a stop cycle.
【0015】また、請求項2の発明の構成により、アド
レス比較器が、ストア命令に於ける格納アドレスとロー
ド命令に於ける読み出しアドレスとの間に一致部分があ
ることを検出した場合に、ストア命令に於いてデータキ
ャッシュメモリに格納すべきストアデータと、データキ
ャッシュメモリから読み出したデータとに基づいて、ロ
ード命令に於けるレジスタファイルへのロードデータを
生成するデータ処理部を設けたため、ストア命令とロー
ド命令とを停止サイクルを設けることなく並列処理する
ことが可能となる。According to the second aspect of the present invention, when the address comparator detects that there is a coincident portion between the store address in the store instruction and the read address in the load instruction, the store is performed. Since the data processing unit that generates the load data to the register file in the load instruction based on the store data to be stored in the data cache memory in the instruction and the data read from the data cache memory is provided, And the load instruction can be processed in parallel without providing a stop cycle.
【0016】[0016]
【実施例】以下、本発明の情報処理装置の実施例につい
て、図面を参照しながら説明する。図1に本発明の第1
の実施例に係る情報処理装置の概略構成を示す。本実施
例の情報処理装置は、図1に示すように、レジスタファ
イル1を有する演算処理部2と、メインメモリのバッフ
ァメモリとして機能するデータキャッシュメモリ3と、
ストア命令によりレジスタファイル1から読み出される
データを一時的に保持するデータ保持回路4と、ストア
命令に於ける格納アドレスを保持するアドレス保持回路
11と、このアドレス保持回路11のアドレスとこのス
トア命令の次に実行されるロード命令の読み出しアドレ
スとを比較するアドレス比較器12と、データ保持回路
4に保持されているストアデータとデータキャッシュメ
モリ3から読み出されるデータとに基づいてレジスタフ
ァイル1へ格納するロードデータを生成するデータ処理
部5とを有している。Embodiments of the information processing apparatus according to the present invention will be described below with reference to the drawings. 1 of the present invention
2 shows a schematic configuration of an information processing apparatus according to the embodiment of FIG. As shown in FIG. 1, the information processing apparatus of the present embodiment includes an arithmetic processing unit 2 having a register file 1, a data cache memory 3 functioning as a buffer memory of a main memory,
A data holding circuit 4 for temporarily holding the data read from the register file 1 by the store instruction, an address holding circuit 11 for holding the storage address in the store instruction, an address of the address holding circuit 11 and the store instruction An address comparator 12 for comparing the read address of the load instruction to be executed next, and store it in the register file 1 based on the store data held in the data holding circuit 4 and the data read from the data cache memory 3. And a data processing unit 5 for generating load data.
【0017】レジスタファイル1からのストアデータは
第1のストア命令用データバス6によってデータ保持回
路4に転送され、データ保持回路4に保持されているデ
ータは、第2のストア命令用データバス8によってデー
タキャッシュメモリ3へ、また、バイパス用データバス
9によってデータ処理部5へ転送される。また、データ
キャッシュメモリ3のデータは第2のロード命令用デー
タバス10によってデータ処理部5へ転送され、データ
処理部5で生成されたロードデータは第1のロード命令
用データバス7によってレジスタファイル1に転送され
る。演算処理部2から出力される実行アドレスは、第1
のアドレスバス13を介してアドレス比較器12及びア
ドレス保持回路11に入力される。アドレス保持回路1
1に保持されているアドレスは、第2のアドレスバス1
4によってアドレス比較器12に入力される。アドレス
比較器12での比較結果は比較信号ライン15によって
データ処理部5に入力される。また、演算処理部2から
はデータサイズ信号ライン16を介して、各命令に於け
るデータの大きさを示す信号がデータ処理部5へ入力さ
れている。The store data from the register file 1 is transferred to the data holding circuit 4 by the first store instruction data bus 6, and the data held in the data holding circuit 4 is stored in the second store instruction data bus 8. To the data cache memory 3 and to the data processing unit 5 by the bypass data bus 9. Further, the data of the data cache memory 3 is transferred to the data processing unit 5 by the second load instruction data bus 10, and the load data generated by the data processing unit 5 is transferred to the register file by the first load instruction data bus 7. Forwarded to 1. The execution address output from the arithmetic processing unit 2 is the first
Is input to the address comparator 12 and the address holding circuit 11 via the address bus 13. Address holding circuit 1
The address held in 1 is the second address bus 1
4 is input to the address comparator 12. The comparison result of the address comparator 12 is input to the data processing unit 5 via the comparison signal line 15. Further, a signal indicating the size of data in each instruction is input to the data processing unit 5 from the arithmetic processing unit 2 via the data size signal line 16.
【0018】本実施例の情報処理装置では、ストア命令
とこれに続いて実行されるべきロード命令とがこの順で
パイプライン処理されるものとする。図2は図1の情報
処理装置に於いてストア命令とロード命令とをパイプラ
イン処理する場合の各命令のステージの順序を示すもの
である。図2に於いて、Fは命令フェッチステージ、L
は命令デコードステージ、Eは命令実行ステージ、Mは
メモリステージ、Sはストアステージである。In the information processing apparatus of this embodiment, it is assumed that the store instruction and the load instruction to be subsequently executed are pipelined in this order. FIG. 2 shows the order of the stages of each instruction when the store instruction and the load instruction are pipelined in the information processing apparatus of FIG. In FIG. 2, F is the instruction fetch stage, L
Is an instruction decode stage, E is an instruction execution stage, M is a memory stage, and S is a store stage.
【0019】本実施例に於いては、ストア命令の格納ア
ドレスと次に実行されるロード命令の読み出しアドレス
とが一致しない場合には、ストア命令では命令実行ステ
ージEに於いてデータキャッシュメモリ3からタグが読
み出され、キャッシュヒットが確認された後、メモリス
テージMでデータキャッシュメモリ3へデータが書き込
まれる。一方、ストア命令の次に実行されるべきロード
命令では、命令実行ステージEに於いてデータキャッシ
ュメモリ3からタグが読み出され、キャッシュヒットが
確認された後、命令実効ステージEに於いてデータが読
み出される。また、ストア命令の格納アドレスとロード
命令の読み出しアドレスとが一致する場合には、ロード
データの読み出しを行う命令実行ステージEがストアデ
ータの格納よりも先に実行され、ストアデータの格納は
ストアステージSに於いて行われる。In this embodiment, when the store address of the store instruction and the read address of the load instruction to be executed next do not match, the store instruction is executed from the data cache memory 3 in the instruction execution stage E. After the tag is read and the cache hit is confirmed, the data is written in the data cache memory 3 in the memory stage M. On the other hand, in the load instruction to be executed next to the store instruction, the tag is read from the data cache memory 3 in the instruction execution stage E, and after the cache hit is confirmed, the data is read in the instruction execution stage E. Read out. When the store address of the store instruction and the read address of the load instruction match, the instruction execution stage E for reading the load data is executed before the store data is stored, and the store data is stored in the store stage. It is done in S.
【0020】以下、本実施例の情報処理装置の動作につ
いて詳細に説明する。まず、ストア命令により演算処理
部2から格納アドレスが第1のアドレスバス13に出力
され、アドレス保持回路に保持される。次に、ロード命
令により演算処理部2から読み出しアドレスが第1のア
ドレス13に出力され、アドレス比較器12に入力され
ると共に、アドレス保持回路11からストア命令に於け
る格納アドレスがアドレス比較器12に入力される。ア
ドレス比較器12では、ストア命令に於ける格納アドレ
スとロード命令に於ける読み出しアドレスとが比較さ
れ、格納アドレスと読み出しアドレスとの間に一致する
部分があるかどうかが検査される。The operation of the information processing apparatus of this embodiment will be described in detail below. First, a storage instruction outputs a storage address from the arithmetic processing unit 2 to the first address bus 13 and holds it in the address holding circuit. Next, the read address is output from the arithmetic processing unit 2 to the first address 13 by the load instruction, is input to the address comparator 12, and the storage address in the store instruction is output from the address holding circuit 11 to the address comparator 12. Entered in. The address comparator 12 compares the storage address in the store instruction with the read address in the load instruction to check whether there is a coincident portion between the storage address and the read address.
【0021】図3は、ストア命令に於けるストアデータ
の格納アドレスA1と、ロード命令に於けるロードデー
タの読み出しアドレスA2との位置関係を示している。
アドレス比較器12で比較されるアドレスは、ストア命
令及びロード命令に於いて扱われる最大の大きさのアド
レスデータであり、それぞれストア命令に於ける格納ア
ドレス及びロード命令に於ける読み出しアドレスとは異
なる場合がある。ここではアドレス比較器12で比較さ
れるアドレスは8バイト単位のアドレスとし、これを8
バイトアドレスと定義する。図3(a)に示すように、
ストア命令に於ける格納アドレスA1が1000番地、
デ−タサイズが8バイト、ロード命令に於ける読み出し
アドレスA2が1008番地、データサイズが8バイト
の場合、即ち、ストア命令の8バイトアドレスとロード
命令の8バイトアドレスとに一致する部分がない場合を
考える。この場合には、ストア命令とロード命令とは互
いにデータ依存関係がなく、ストア命令とロード命令と
は前述の従来例と同様にパイプライン処理される。FIG. 3 shows the positional relationship between the storage address A1 of the store data in the store instruction and the read address A2 of the load data in the load instruction.
The address compared by the address comparator 12 is the maximum size of address data handled in the store instruction and the load instruction, and is different from the storage address in the store instruction and the read address in the load instruction, respectively. There are cases. Here, the address compared by the address comparator 12 is an address in 8-byte units, and this is 8
Defined as a byte address. As shown in FIG.
The storage address A1 in the store instruction is 1000,
When the data size is 8 bytes, the read address A2 in the load instruction is address 1008, and the data size is 8 bytes, that is, when there is no part that matches the 8-byte address of the store instruction and the 8-byte address of the load instruction think of. In this case, the store instruction and the load instruction have no data dependency relationship with each other, and the store instruction and the load instruction are pipelined as in the above-mentioned conventional example.
【0022】一方、図3(b)に示すように、ストア命
令の格納アドレスA1が1000番地、データサイズが
4バイト、ロード命令の読み出しアドレスA2が100
0番地、データサイズが8バイトの場合を考える。この
場合には、ストア命令の8バイトアドレスとロード命令
の8バイトアドレスとに一致する部分がある。即ち、格
納アドレスA1の1000番地から1003番地までの
4バイトのストアデータが、読み出しアドレスA2の1
000番地から1003番地までにロードデータの一部
分として含まれている。On the other hand, as shown in FIG. 3B, the store address A1 of the store instruction is 1000, the data size is 4 bytes, and the read address A2 of the load instruction is 100.
Consider the case where the address is 0 and the data size is 8 bytes. In this case, there is a portion that matches the 8-byte address of the store instruction and the 8-byte address of the load instruction. That is, the 4-byte store data from the address 1000 to the address 1003 of the storage address A1 corresponds to the read address A2 of 1
It is included as part of the load data from addresses 000 to 1003.
【0023】この場合には、比較器12からストア命令
に於ける格納アドレスとロード命令に於ける読み出しア
ドレスとの一致部分を示す信号が、比較信号ライン15
によってデータ処理部5に送られる。一方、データ処理
部5には、ストア命令に於けるストアデータの大きさを
示す信号とロード命令に於けるロードデータの大きさを
示す信号とが、演算処理部2からデータサイズ信号ライ
ン16を介して入力される。また、データ処理部5に
は、データ保持回路4に保持されているストアデータが
バイパス用データバス9を介して入力されると共に、デ
ータキャッシュメモリ3に保持されているストア命令実
行前のデータが第2のロード命令用データバス10を介
して入力される。そして、データ処理部5では比較信号
ライン15の信号とデータサイズ信号ライン16の信号
とが解析され、データ保持回路4からのストアデータと
ストア命令実行前のデータキャッシュメモリ3からのデ
ータとに基づいて、ロード命令に於けるロードデータが
生成される。即ち、図3(b)に示すように、アドレス
A2に格納されているストア命令実行前のデータキャッ
シュメモリ3からのデータのうち、1000番地から1
003番地までのデータが、ストア命令に於けるアドレ
スA1の1000番地から1003番地までのデータに
置き換えられ、ロード命令でロードすべきロードデータ
が生成される。In this case, the comparison signal line 15 outputs a signal from the comparator 12 indicating the coincidence portion between the store address in the store instruction and the read address in the load instruction.
Is sent to the data processing unit 5. On the other hand, the data processing unit 5 sends a signal indicating the size of the store data in the store instruction and a signal indicating the size of the load data in the load instruction from the arithmetic processing unit 2 to the data size signal line 16. Entered through. Further, the data processing unit 5 receives the store data held in the data holding circuit 4 via the bypass data bus 9 and stores the data held in the data cache memory 3 before the execution of the store instruction. It is input via the second load instruction data bus 10. Then, the data processing unit 5 analyzes the signal of the comparison signal line 15 and the signal of the data size signal line 16, and based on the store data from the data holding circuit 4 and the data from the data cache memory 3 before executing the store instruction. Then, the load data in the load instruction is generated. That is, as shown in FIG. 3B, of the data from the data cache memory 3 before execution of the store instruction, which is stored in the address A2, the data from the address 1000 to 1
The data up to address 003 is replaced with the data from address 1000 to address 1003 of address A1 in the store instruction, and load data to be loaded by the load instruction is generated.
【0024】また、図3(c)に示すように、ストア命
令の格納アドレスA1が1004番地、データサイズが
4バイト、ロード命令の読み出しアドレスA2が100
0番地、データサイズが8バイトの場合にも、ストア命
令の8バイトアドレスとロード命令の8バイトアドレス
とに一致する部分が存在する。即ち、格納アドレスA1
の1004番地から1007番地までの4バイトのスト
アデータが、読み出しアドレスA2の1004番地から
1007番地までにロードデータの一部分として含まれ
ている。As shown in FIG. 3C, the store address A1 of the store instruction is address 1004, the data size is 4 bytes, and the read address A2 of the load instruction is 100.
Even if the address is 0 and the data size is 8 bytes, there is a portion that matches the 8-byte address of the store instruction and the 8-byte address of the load instruction. That is, storage address A1
4 bytes of store data from addresses 1004 to 1007 are included as part of the load data from addresses 1004 to 1007 of the read address A2.
【0025】この場合には、アドレスA2に格納されて
いるストア命令実行前のデータキャッシュメモリ3から
のデータのうち、1004番地から1007番地までの
データが、ストア命令に於けるアドレスA1の1004
番地から1007番地までのデータに置き換えられ、ロ
ード命令でロードすべきロードデータが生成される。In this case, of the data from the data cache memory 3 before execution of the store instruction stored in the address A2, the data from address 1004 to address 1007 is 1004 of the address A1 in the store instruction.
It is replaced with the data from the address to the address 1007, and the load data to be loaded by the load instruction is generated.
【0026】図3(b)及び(c)で説明したように、
データの置き換えによって生成されたロードデータは、
ロード命令の命令実行ステージEに於いて第1のロード
命令用データバス7を介してレジスタファイル1に転送
される。データ保持回路4に保持されているストアデー
タは、ストア命令のストアステージSに於いてデータキ
ャッシュメモリ3に格納される。As described with reference to FIGS. 3B and 3C,
The load data generated by data replacement is
In the instruction execution stage E of the load instruction, it is transferred to the register file 1 via the first load instruction data bus 7. The store data held in the data holding circuit 4 is stored in the data cache memory 3 in the store stage S of the store instruction.
【0027】本実施例では、アドレス比較器12がアド
レス保持回路11に保持されているストア命令に於ける
格納アドレスとロード命令に於ける読み出しアドレスと
の間に一致部分があることを検出した場合に、データ処
理部に於いて、ストア命令に於いてデータキャッシュメ
モリ3に格納すべきデータを一時的に保持しているデー
タ保持回路4のデータと、データキャッシュメモリ3か
ら読み出したデータとに基づいて、ロード命令に於ける
レジスタファイル1へのロードデータが生成されるの
で、パイプライン処理を行うに際して停止サイクルを設
ける必要がない。In the present embodiment, when the address comparator 12 detects that there is a coincident portion between the storage address in the store instruction held in the address holding circuit 11 and the read address in the load instruction. Based on the data read from the data cache memory 3 and the data in the data holding circuit 4 which temporarily holds the data to be stored in the data cache memory 3 in the store instruction in the data processing unit. Since the load data to the register file 1 in the load instruction is generated, it is not necessary to provide a stop cycle when performing pipeline processing.
【0028】なお、本実施例はストア命令の後に複数の
ロード命令をパイプライン処理する情報処理装置に於い
ても同様に適用できる。The present embodiment can be similarly applied to an information processing apparatus that pipeline-processes a plurality of load instructions after a store instruction.
【0029】図4に本発明の第2の実施例に係る情報処
理装置の概略構成を示す。本実施例の情報処理装置で
は、図5に示すようにストア命令とロード命令とが並列
処理され、前述の図1に於けるアドレス保持回路11及
びデータ保持回路4は設けられていない。レジスタファ
イル1、演算処理部2、データキャッシュメモリ3、ア
ドレス比較器12及びデータ処理部5の構成は、前述の
図1の実施例と同様である。また、ストア命令及びロー
ド命令に於ける各ステージの表記は、前述の第1の実施
例と同様である。FIG. 4 shows a schematic configuration of an information processing apparatus according to the second embodiment of the present invention. In the information processing apparatus of this embodiment, the store instruction and the load instruction are processed in parallel as shown in FIG. 5, and the address holding circuit 11 and the data holding circuit 4 shown in FIG. 1 are not provided. The configurations of the register file 1, the arithmetic processing unit 2, the data cache memory 3, the address comparator 12, and the data processing unit 5 are the same as those in the embodiment shown in FIG. The notation of each stage in the store instruction and the load instruction is the same as that in the first embodiment described above.
【0030】本実施例では、レジスタファイル1からの
ストアデータはストア命令用データバス28によってデ
ータキャッシュメモリ3に転送され、また、バイパス用
データバス29によってデータ処理部5へ転送される。
また、データキャッシュメモリ3のデータは第2のロー
ド命令用データバス20によってデータ処理部5へ転送
され、データ処理部5で生成されたデータは第1のロー
ド命令用データバス27によってレジスタファイル1に
転送される。演算処理部2から出力されるストア命令の
実行アドレスは、第1のアドレスバス23を介してアド
レス比較器12に入力され、演算処理部2から出力され
るロード命令の実行アドレスは、第2のアドレスバス2
4を介してアドレス比較器12に入力される。アドレス
比較器12での比較結果は比較信号ライン25によって
データ処理部5に入力される。また、演算処理部2から
はストア命令に於けるストアデータの大きさを示す信号
が第1のデータサイズ信号ライン21を介してデータ処
理部5へ入力され、ロード命令に於けるロードデータの
大きさを示す信号が第2のデータサイズ信号ライン22
を介してデータ処理部5へ入力されている。In this embodiment, the store data from the register file 1 is transferred to the data cache memory 3 by the store instruction data bus 28 and transferred to the data processing unit 5 by the bypass data bus 29.
Further, the data of the data cache memory 3 is transferred to the data processing unit 5 by the second load instruction data bus 20, and the data generated by the data processing unit 5 is transmitted by the first load instruction data bus 27 to the register file 1. Transferred to. The execution address of the store instruction output from the arithmetic processing unit 2 is input to the address comparator 12 via the first address bus 23, and the execution address of the load instruction output from the arithmetic processing unit 2 is the second address. Address bus 2
4 is input to the address comparator 12. The comparison result of the address comparator 12 is input to the data processing unit 5 via the comparison signal line 25. Further, a signal indicating the size of the store data in the store instruction is input from the arithmetic processing unit 2 to the data processing unit 5 via the first data size signal line 21, and the size of the load data in the load instruction is input. The signal indicating the level is the second data size signal line 22
Is input to the data processing unit 5 via.
【0031】本実施例に於いても、ストア命令の格納ア
ドレスと次に実行されるロード命令の読み出しアドレス
とが一致しない場合には、ストア命令に於いては命令実
行ステージEに於いてデータキャッシュメモリ3からタ
グが読み出され、キャッシュヒットが確認された後、メ
モリステージMでデータキャッシュメモリ3へデータが
書き込まれる。一方、ストア命令の次に実行すべきロー
ド命令もストア命令と同時に実行され、ロード命令の命
令実行ステージEに於いてデータキャッシュメモリ3か
らタグが読み出され、キャッシュヒットが確認された
後、命令実効ステージEに於いてデータが読み出され
る。また、ストア命令の格納アドレスとロード命令の読
み出しアドレスとに一致する部分が存在する場合には、
ロードデータはストアデータとデータキャッシュメモリ
3に格納されているデータとに基づいてロード命令に於
けるロードデータが生成されると同時に、ストアデータ
のデータキャッシュメモリ3への格納が行われる。Also in this embodiment, if the store address of the store instruction and the read address of the load instruction to be executed next do not match, the data cache in the instruction execution stage E in the store instruction. After the tag is read from the memory 3 and the cache hit is confirmed, the data is written in the data cache memory 3 in the memory stage M. On the other hand, the load instruction to be executed next to the store instruction is also executed simultaneously with the store instruction, the tag is read from the data cache memory 3 in the instruction execution stage E of the load instruction, and after the cache hit is confirmed, the instruction Data is read in the effective stage E. If there is a part that matches the store address of the store instruction and the read address of the load instruction,
As the load data, the load data is generated in the load instruction based on the store data and the data stored in the data cache memory 3, and at the same time, the store data is stored in the data cache memory 3.
【0032】以下、本実施例の情報処理装置の動作につ
いて詳細に説明する。まず、ストア命令により演算処理
部2から格納アドレスが第1のアドレスバス23を介し
てアドレス比較器12に出力されると同時に、ロード命
令により演算処理部2から読み出しアドレスが第2のア
ドレスバス24を介してアドレス比較器12に出力され
る。アドレス比較器12では、ストア命令に於ける格納
アドレスとロード命令に於ける読み出しアドレスとが比
較され、格納アドレスと読み出しアドレスとに一致する
部分があるかどうかが検査される。The operation of the information processing apparatus of this embodiment will be described in detail below. First, a storage instruction outputs a storage address from the arithmetic processing unit 2 to the address comparator 12 via the first address bus 23, and at the same time, a load instruction outputs a read address from the arithmetic processing unit 2 to the second address bus 24. Is output to the address comparator 12 via. In the address comparator 12, the storage address in the store instruction and the read address in the load instruction are compared, and it is checked whether or not there is a part where the storage address and the read address match.
【0033】ストア命令に於けるストアデータの格納ア
ドレスA1と、ロード命令に於けるロードデータの読み
出しアドレスA2との位置関係は、前述の図3と同様で
あり、アドレス比較器12で比較されるアドレスは、前
述の第1の実施例と同様に、8バイトアドレスである。
図3(a)に示すように、ストア命令に於ける格納アド
レスA1が1000番地、デ−タサイズが8バイト、ロ
ード命令に於ける読み出しアドレスA2が1008番
地、データサイズが8バイトの場合、即ち、ストア命令
の8バイトアドレスとロード命令の8バイトアドレスと
に一致する部分がない場合には、ストア命令とロード命
令とは互いにデータ依存関係がなく、ストア命令とロー
ド命令とは並列処理される。The positional relationship between the store data storage address A1 in the store instruction and the load data read address A2 in the load instruction is the same as that in FIG. The address is an 8-byte address, as in the first embodiment described above.
As shown in FIG. 3A, when the storage address A1 in the store instruction is 1000 addresses, the data size is 8 bytes, the read address A2 in the load instruction is 1008 addresses, and the data size is 8 bytes, that is, If there is no part that matches the 8-byte address of the store instruction and the 8-byte address of the load instruction, the store instruction and the load instruction have no data dependency relationship with each other, and the store instruction and the load instruction are processed in parallel. ..
【0034】一方、図3(b)に示すように、ストア命
令の格納アドレスA1が1000番地、データサイズが
4バイト、ロード命令の読み出しアドレスA2が100
0番地、データサイズが8バイトの場合には、ストア命
令の8バイトアドレスとロード命令の8バイトアドレス
とに一致する部分が存在する。即ち、格納アドレスA1
の1000番地から1003番地までの4バイトのスト
アデータが、読み出しアドレスA2の1000番地から
1003番地までにロードデータの一部分として含まれ
ている。On the other hand, as shown in FIG. 3B, the store address A1 of the store instruction is 1000, the data size is 4 bytes, and the read address A2 of the load instruction is 100.
If the address is 0 and the data size is 8 bytes, there is a portion that matches the 8-byte address of the store instruction and the 8-byte address of the load instruction. That is, storage address A1
4 bytes of store data from address 1000 to address 1003 are included as part of the load data from address 1000 to address 1003 of the read address A2.
【0035】この場合には、比較器12からストア命令
に於ける格納アドレスとロード命令に於ける読み出しア
ドレスとの一致部分を示す信号が、比較信号ライン25
によってデータ処理部5に送られる。一方、データ処理
部5には、ストア命令に於けるストアデータの大きさを
示す信号とロード命令に於けるロードデータの大きさを
示す信号とが、演算処理部2からそれぞれ第1のデータ
サイズ信号ライン21及び第2のデータサイズ信号ライ
ン22を介して入力される。また、データ処理部5に
は、データキャッシュメモリ3に保持されているストア
命令実行前のデータが第2のロード命令用データバス2
0を介して入力される。更にデータ処理部5には、レジ
スタファイル1からのストアデータがバイパス用データ
バス29を介して入力される。データ処理部5では、比
較信号ライン25の信号と第1及び第2のデータサイズ
信号ライン21及び22の信号とが解析され、ストアデ
ータとストア命令実行前のデータキャッシュメモリ3の
データとに基づいて、ロード命令に於けるロードデータ
が生成される。即ち、アドレスA2に格納されているス
トア命令実行前のデータキャッシュメモリ3からのデー
タのうち、1000番地から1003番地までのデータ
が、ストア命令に於けるアドレスA1の1000番地か
ら1003番地までのデータに置き換えられ、ロード命
令でロードすべきロードデータが生成される。In this case, the comparison signal line 25 outputs a signal from the comparator 12 indicating the coincidence portion between the storage address in the store instruction and the read address in the load instruction.
Is sent to the data processing unit 5. On the other hand, the data processing unit 5 receives the signal indicating the size of the store data in the store instruction and the signal indicating the size of the load data in the load instruction from the arithmetic processing unit 2 as the first data size. It is inputted via the signal line 21 and the second data size signal line 22. In the data processing unit 5, the data stored in the data cache memory 3 before the execution of the store instruction is stored in the second load instruction data bus 2
Input via 0. Further, the store data from the register file 1 is input to the data processing unit 5 via the bypass data bus 29. The data processing unit 5 analyzes the signal on the comparison signal line 25 and the signals on the first and second data size signal lines 21 and 22, and based on the store data and the data in the data cache memory 3 before executing the store instruction. Then, the load data in the load instruction is generated. That is, of the data from the data cache memory 3 before execution of the store instruction stored at the address A2, the data from the address 1000 to the address 1003 is the data from the address A1 at the address A1 to the address 1003 in the store instruction. And load data to be loaded by the load instruction is generated.
【0036】また、図3(c)に示すように、ストア命
令の格納アドレスA1が1004番地、データサイズが
4バイト、ロード命令の読み出しアドレスA2が100
0番地、データサイズが8バイトの場合には、アドレス
A2に格納されているストア命令実行前のデータキャッ
シュメモリ3からのデータのうち、1004番地から1
007番地までのデータが、ストア命令に於けるアドレ
スA1の1004番地から1007番地までのデータに
置き換えられ、ロード命令でロードすべきロードデータ
が生成される。As shown in FIG. 3C, the store address A1 of the store instruction is address 1004, the data size is 4 bytes, and the read address A2 of the load instruction is 100.
If the address 0 and the data size are 8 bytes, of the data from the data cache memory 3 before execution of the store instruction stored in the address A2, the address 1004 to 1
The data up to the address 007 is replaced with the data from the addresses 1004 to 1007 of the address A1 in the store instruction, and the load data to be loaded by the load instruction is generated.
【0037】上記に於いて図3(b)及び(c)を用い
て説明したように、データの置き換えによって生成され
たロードデータは、ロード命令の命令実行ステージEに
於いて第1のロード命令用データバス27を介してレジ
スタファイル1に転送される。As described above with reference to FIGS. 3B and 3C, the load data generated by the data replacement is the first load instruction in the instruction execution stage E of the load instruction. It is transferred to the register file 1 via the data bus 27 for data.
【0038】本実施例では、アドレス比較器12がスト
ア命令に於ける格納アドレスとロード命令に於ける読み
出しアドレスとの間に一致部分があることを検出した場
合に、ストア命令に於いてデータキャッシュメモリ3に
格納すべきデータと、データキャッシュメモリ3から読
み出したデータとに基づいて、データ処理部5に於いて
ロード命令に於けるレジスタファイル1へのロードデー
タが生成されので、ストア命令とロード命令とを停止サ
イクルを設けることなく並列処理することが可能とな
る。In this embodiment, when the address comparator 12 detects that there is a coincident portion between the storage address in the store instruction and the read address in the load instruction, the data cache is executed in the store instruction. Based on the data to be stored in the memory 3 and the data read from the data cache memory 3, the load data to the register file 1 in the load instruction is generated in the data processing unit 5, so the store instruction and the load It is possible to process the instruction and the instruction in parallel without providing a stop cycle.
【0039】なお、本実施例は、ストア命令と複数のロ
ード命令とを並列処理する情報処理装置にも同様に適用
することができる。The present embodiment can be similarly applied to an information processing apparatus which processes a store instruction and a plurality of load instructions in parallel.
【0040】[0040]
【発明の効果】以上説明したように、請求項1の発明に
係る情報処理装置によると、アドレス比較器がアドレス
保持回路に保持されているストア命令に於ける格納アド
レスとロード命令に於ける読み出しアドレスとの間に一
致部分があることを検出した場合に、データキャッシュ
メモリに格納すべきデータを一時的に保持しているデー
タ保持回路のストアデータと、データキャッシュメモリ
から読み出したデータとに基づいて、ロード命令に於け
るレジスタファイルへのロードデータを生成するデータ
処理部を設けたため、停止サイクルを設けることなくス
トア命令とロード命令とをパイプライン処理することが
できる。As described above, according to the information processing device of the first aspect of the invention, the address comparator stores the storage address in the store instruction held in the address holding circuit and the read in the load instruction. Based on the data read from the data cache memory and the store data of the data holding circuit that temporarily holds the data to be stored in the data cache memory when it is detected that there is a match with the address. Since the data processing unit for generating the load data to the register file in the load instruction is provided, the store instruction and the load instruction can be pipelined without providing a stop cycle.
【0041】また、請求項2の発明に係る情報処理装置
によると、アドレス比較器がストア命令に於ける格納ア
ドレスとロード命令に於ける読み出しアドレスとの間に
一致部分があることを検出した場合に、ストア命令に於
いてデータキャッシュメモリに格納すべきストアデータ
と、データキャッシュメモリから読み出したデータとに
基づいて、ロード命令に於けるレジスタファイルへのロ
ードデータを生成するデータ処理部を設けたため、スト
ア命令とロード命令とを停止サイクルを設けることなく
並列処理することが可能となる。According to the information processing apparatus of the second aspect of the invention, when the address comparator detects that there is a coincident portion between the store address in the store instruction and the read address in the load instruction. In addition, a data processing unit that generates load data to the register file in the load instruction based on the store data to be stored in the data cache memory in the store instruction and the data read from the data cache memory , Store instructions and load instructions can be processed in parallel without providing a stop cycle.
【0042】このように、請求項1及び2の発明によ
り、データキャッシュがヒットする場合には、ストア命
令の次に実行されるべきロード命令を完全に1クロック
で高速に処理することが可能となり、本発明を電子計算
機、特にスーパースカラ・プロセッサへ応用すれば、高
速処理を実現することができる。As described above, according to the first and second aspects of the present invention, when the data cache hits, the load instruction to be executed next to the store instruction can be processed completely in one clock at a high speed. If the present invention is applied to an electronic computer, especially a superscalar processor, high speed processing can be realized.
【図1】本発明の第1の実施例に係る情報処理装置の概
略構成図である。FIG. 1 is a schematic configuration diagram of an information processing apparatus according to a first embodiment of the present invention.
【図2】第1の実施例に於けるパイプライン処理の各ス
テージの実行順を示す図である。FIG. 2 is a diagram showing an execution order of each stage of pipeline processing in the first embodiment.
【図3】第1の実施例に於けるロードデータの生成方法
を示す図である。FIG. 3 is a diagram showing a method of generating load data according to the first embodiment.
【図4】本発明の第2の実施例に係る情報処理装置の概
略構成図である。FIG. 4 is a schematic configuration diagram of an information processing apparatus according to a second embodiment of the present invention.
【図5】第2の実施例に於ける並列処理の各ステージの
実行順を示す図である。FIG. 5 is a diagram showing an execution order of each stage of parallel processing in the second embodiment.
【図6】従来の情報処理装置の概略構成図である。FIG. 6 is a schematic configuration diagram of a conventional information processing apparatus.
【図7】従来の情報処理装置に於けるパイプライン処理
の各ステージの実行順を示す図である。FIG. 7 is a diagram showing an execution order of each stage of pipeline processing in a conventional information processing apparatus.
1 レジスタファイル 2 演算処理部 3 データキャッシュメモリ 4 データ保持回路 5 データ処理部 11 アドレス保持回路 12 アドレス比較器 1 register file 2 arithmetic processing unit 3 data cache memory 4 data holding circuit 5 data processing unit 11 address holding circuit 12 address comparator
Claims (2)
べきロード命令とをパイプライン処理し得る情報処理装
置であって、 レジスタファイルを有する演算処理部と、 データキャッシュメモリと、 前記ストア命令に基づいて前記レジスタファイルから読
み出して前記データキャッシュメモリに格納すべきスト
アデータを一時的に保持するデータ保持回路と、 前記ストア命令に於ける格納アドレスを保持するアドレ
ス保持回路と、 該アドレス保持回路に保持されているアドレスと前記ロ
ード命令に於ける読み出しアドレスとを比較するアドレ
ス比較器と、 該アドレス比較器が前記アドレス保持回路に保持されて
いる格納アドレスと前記ロード命令に於ける読み出しア
ドレスとに一致部分があることを検出した場合に、前記
データ保持回路に保持されている前記ストアデータと前
記データキャッシュメモリから読み出したデータとに基
づいて、前記ロード命令に於ける前記レジスタファイル
へのロードデータを生成するデータ処理部とを備えたこ
とを特徴とする情報処理装置。1. An information processing apparatus capable of pipeline processing a store instruction and a load instruction to be executed next to the store instruction, the arithmetic processing section having a register file, a data cache memory, and the store instruction. A data holding circuit for temporarily holding store data to be read from the register file and stored in the data cache memory based on the above, an address holding circuit for holding a storage address in the store instruction, and the address holding circuit An address comparator for comparing an address held in the address and a read address in the load instruction, a storage address held in the address holding circuit by the address comparator and a read address in the load instruction When it is detected that there is a matching part in the Information comprising a data processing unit for generating load data to the register file in the load instruction based on the stored store data and data read from the data cache memory Processing equipment.
べきロード命令とを並列処理し得る情報処理装置であっ
て、 レジスタファイルを有する演算処理部と、 データキャッシュメモリと、 前記ストア命令に於ける格納アドレスと前記ロード命令
に於ける読み出しアドレスとを比較するアドレス比較器
と、 該アドレス比較器が前記ストア命令に於ける格納アドレ
スと前記ロード命令に於ける読み出しアドレスとに一致
部分があることを検出した場合に、前記ストア命令に於
けるストアデータと前記データキャッシュメモリから読
み出したデータとに基づいて、前記ロード命令に於ける
前記レジスタファイルへのロードデータを生成するデー
タ処理部とを備えたことを特徴とする情報処理装置。2. An information processing device capable of parallel processing a store instruction and a load instruction to be executed next to the store instruction, the arithmetic processing section having a register file, a data cache memory, and the store instruction. An address comparator that compares a storage address in the load instruction with a read address in the load instruction, and the address comparator has a coincident portion between the storage address in the store instruction and the read address in the load instruction. And a data processing unit that generates load data to the register file in the load instruction based on the store data in the store instruction and the data read from the data cache memory. An information processing device characterized by being provided.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14619891A JPH0540629A (en) | 1991-06-18 | 1991-06-18 | Information processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14619891A JPH0540629A (en) | 1991-06-18 | 1991-06-18 | Information processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0540629A true JPH0540629A (en) | 1993-02-19 |
Family
ID=15402349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14619891A Pending JPH0540629A (en) | 1991-06-18 | 1991-06-18 | Information processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0540629A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100397683B1 (en) * | 1995-02-16 | 2003-11-28 | 선 마이크로시스템즈 인코퍼레이티드 | Method and apparatus for accessing individual tags and data arrays in a load / store unit with a load buffer |
JP2008293378A (en) * | 2007-05-25 | 2008-12-04 | Panasonic Corp | Program rewriting device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5218138A (en) * | 1975-08-01 | 1977-02-10 | Nec Corp | Buffer storage device |
-
1991
- 1991-06-18 JP JP14619891A patent/JPH0540629A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5218138A (en) * | 1975-08-01 | 1977-02-10 | Nec Corp | Buffer storage device |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100397683B1 (en) * | 1995-02-16 | 2003-11-28 | 선 마이크로시스템즈 인코퍼레이티드 | Method and apparatus for accessing individual tags and data arrays in a load / store unit with a load buffer |
JP2008293378A (en) * | 2007-05-25 | 2008-12-04 | Panasonic Corp | Program rewriting device |
US8286145B2 (en) | 2007-05-25 | 2012-10-09 | Panasonic Corporation | Program re-writing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8127205B2 (en) | Error correction code generation method and memory control device | |
EP0721619B1 (en) | Execution of data processing instructions | |
JP2620511B2 (en) | Data processor | |
JPS59231652A (en) | Detection system for memory access overlap | |
US6920515B2 (en) | Early exception detection | |
JPH06295243A (en) | Data processor | |
JPH0540629A (en) | Information processor | |
US5421026A (en) | Data processor for processing instruction after conditional branch instruction at high speed | |
US5717891A (en) | Digital signal processor with caching of instructions that produce a memory conflict | |
US20240095113A1 (en) | Processor and method of detecting soft error from processor | |
JP3251148B2 (en) | Pipeline data processing device | |
JPH0248733A (en) | Information processor | |
JPS61288230A (en) | Pipeline control system | |
JPH07182165A (en) | Processing method/device for instruction with committing condition | |
JPH10154072A (en) | Pipeline processor | |
JPH01231126A (en) | Information processor | |
US8117383B2 (en) | Hardware accelerator based method and device for string searching | |
JPH02127731A (en) | Bypass check system for arithmetic register | |
JP2869414B1 (en) | Data processing device | |
JPH03241435A (en) | Pipe line system | |
JPH06110784A (en) | Microprocessor device | |
JPH07105098A (en) | Replace device of instruction cache | |
JPH01188941A (en) | Control system for execution of program | |
JPH02206836A (en) | Data processor | |
JP2002149438A (en) | Method for controlling buffer storage for recovery control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970311 |