JP3164732B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP3164732B2 JP3164732B2 JP15244694A JP15244694A JP3164732B2 JP 3164732 B2 JP3164732 B2 JP 3164732B2 JP 15244694 A JP15244694 A JP 15244694A JP 15244694 A JP15244694 A JP 15244694A JP 3164732 B2 JP3164732 B2 JP 3164732B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- write
- request
- write request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 239000000872 buffer Substances 0.000 claims description 104
- 230000004044 response Effects 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 230000007704 transition Effects 0.000 claims description 9
- 230000005764 inhibitory process Effects 0.000 claims description 4
- 238000000034 method Methods 0.000 claims description 2
- 230000014759 maintenance of location Effects 0.000 claims 2
- 230000002401 inhibitory effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 13
- 238000013500 data storage Methods 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明はキャッシュメモリを有す
るデータ処理装置に係り、更に詳しくはキャッシュライ
トバッファからキャッシュメモリへのデータ書込み要求
と、キャッシュメモリからのデータ読出し要求とのどち
らを優先させるかを、各種の条件に応じて変更できるキ
ャッシュ制御装置を有するデータ処理装置に関する。
るデータ処理装置に係り、更に詳しくはキャッシュライ
トバッファからキャッシュメモリへのデータ書込み要求
と、キャッシュメモリからのデータ読出し要求とのどち
らを優先させるかを、各種の条件に応じて変更できるキ
ャッシュ制御装置を有するデータ処理装置に関する。
【0002】
【従来の技術】図9は従来のキャッシュブロックとCP
Uブロックとの概略構成図である。同図において、キャ
ッシュブロックはデータキャッシュ記憶装置1、データ
キャッシュ記憶装置1に対するデータ入出力を制御する
データキャッシュ制御装置2、およびデータキャッシュ
記憶装置1に書き込むべきデータを一時的に保持するキ
ャッシュライトバッファ3から構成され、またCPUブ
ロックはデータキャッシュ制御装置2に対して、例えば
ロード/ストア命令を出力する命令制御装置4、各種演
算を行う演算処理装置5、および演算データなどを保持
するためのレジスタファイル6によって構成されてい
る。
Uブロックとの概略構成図である。同図において、キャ
ッシュブロックはデータキャッシュ記憶装置1、データ
キャッシュ記憶装置1に対するデータ入出力を制御する
データキャッシュ制御装置2、およびデータキャッシュ
記憶装置1に書き込むべきデータを一時的に保持するキ
ャッシュライトバッファ3から構成され、またCPUブ
ロックはデータキャッシュ制御装置2に対して、例えば
ロード/ストア命令を出力する命令制御装置4、各種演
算を行う演算処理装置5、および演算データなどを保持
するためのレジスタファイル6によって構成されてい
る。
【0003】図9において、CPUブロック側で命令制
御装置4がロード/ストア命令を検出すると、その命令
の実行がデータキャッシュ制御装置2に要求され、演算
処理装置5で計算されたキャッシュアクセスアドレス
(データアドレス)が、データキャッシュ制御装置2、
およびデータキャッシュ記憶装置1に送られる。ロード
命令の場合には、ヒット判定の後にロードデータはデー
タキャッシュ記憶装置1からレジスタファイル6に出力
される。ストア命令の場合には、レジスタファイル6か
らストアデータが一旦キャッシュライトバッファ3に格
納され、キャッシュライトバッファ3からデータキャッ
シュ制御装置2に対して書込み要求が出力され、この書
込み要求に応じて、データキャッシュ制御装置2によっ
て、キャッシュライトバッファ3からデータキャッシュ
記憶装置1へのストアデータの書き込みが制御される。
御装置4がロード/ストア命令を検出すると、その命令
の実行がデータキャッシュ制御装置2に要求され、演算
処理装置5で計算されたキャッシュアクセスアドレス
(データアドレス)が、データキャッシュ制御装置2、
およびデータキャッシュ記憶装置1に送られる。ロード
命令の場合には、ヒット判定の後にロードデータはデー
タキャッシュ記憶装置1からレジスタファイル6に出力
される。ストア命令の場合には、レジスタファイル6か
らストアデータが一旦キャッシュライトバッファ3に格
納され、キャッシュライトバッファ3からデータキャッ
シュ制御装置2に対して書込み要求が出力され、この書
込み要求に応じて、データキャッシュ制御装置2によっ
て、キャッシュライトバッファ3からデータキャッシュ
記憶装置1へのストアデータの書き込みが制御される。
【0004】図10は図9におけるロード命令実行時の
動作タイムチャートである。同図において、サイクルT
1でデータキャッシュ制御装置2がロード命令をデータ
アドレスと共に受理すると、次のサイクルT2でキャッ
シュアクセスが行われる。データキャッシュ記憶装置1
は、例えばキャッシュ内のラインのラインアドレスなど
を保持するキャッシュタグと、ランダムアクセスメモリ
(RAM)部とから構成され、サイクルT2においては
キャッシュタグとRAMの両方にアクセスが行われる。
読出し要求データがキャッシュに存在するか否か、すな
わちキャッシュヒットの判定は次のサイクルT3で行わ
れ、キャッシュヒットと判定されるとキャッシュから読
み出されたロードデータはレジスタファイル6に転送さ
れる。
動作タイムチャートである。同図において、サイクルT
1でデータキャッシュ制御装置2がロード命令をデータ
アドレスと共に受理すると、次のサイクルT2でキャッ
シュアクセスが行われる。データキャッシュ記憶装置1
は、例えばキャッシュ内のラインのラインアドレスなど
を保持するキャッシュタグと、ランダムアクセスメモリ
(RAM)部とから構成され、サイクルT2においては
キャッシュタグとRAMの両方にアクセスが行われる。
読出し要求データがキャッシュに存在するか否か、すな
わちキャッシュヒットの判定は次のサイクルT3で行わ
れ、キャッシュヒットと判定されるとキャッシュから読
み出されたロードデータはレジスタファイル6に転送さ
れる。
【0005】図11は図9におけるストア命令に対する
動作のタイムチャートである。同図において、サイクル
T1でストア命令がデータアドレスと共にデータキャッ
シュ制御装置2において受理されると、図10のロード
命令の場合と同様に、次のサイクルT2でキャッシュア
クセスが行われ、更にサイクルT3でヒット判定が行わ
れる。例えばこのストア命令がデータキャッシュ記憶装
置1に格納されているデータの書き替えを行う命令の場
合には、キャッシュヒットと判定され、ストアデータは
図9においてキャッシュライトバッファ3にサイクルT
4で格納される。
動作のタイムチャートである。同図において、サイクル
T1でストア命令がデータアドレスと共にデータキャッ
シュ制御装置2において受理されると、図10のロード
命令の場合と同様に、次のサイクルT2でキャッシュア
クセスが行われ、更にサイクルT3でヒット判定が行わ
れる。例えばこのストア命令がデータキャッシュ記憶装
置1に格納されているデータの書き替えを行う命令の場
合には、キャッシュヒットと判定され、ストアデータは
図9においてキャッシュライトバッファ3にサイクルT
4で格納される。
【0006】キャッシュライトバッファ3に格納された
ストアデータは、他の命令、例えばロード命令に優先し
てデータキャッシュ記憶装置1に書き込まれるか、また
はロード命令などの他の命令が実行されないサイクルに
おいて格納される。この場合、キャッシュライトバッフ
ァ3からストアデータの書込み要求がデータキャッシュ
制御装置2に出力され、この書込み要求に応じて、スト
アデータのデータキャッシュ記憶装置1への書込みが、
データキャッシュ制御装置2によって制御される。すな
わちサイクルT4において、キャッシュライトバッファ
3にキャッシュに格納すべきデータが存在することか
ら、書込み要求(キャッシュ格納要求)がデータキャッ
シュ制御装置2に送られ、例えば実行すべき他の命令が
ない時には、サイクルT5においてストアデータのデー
タキャッシュ記憶装置1への書き込みが行われる。
ストアデータは、他の命令、例えばロード命令に優先し
てデータキャッシュ記憶装置1に書き込まれるか、また
はロード命令などの他の命令が実行されないサイクルに
おいて格納される。この場合、キャッシュライトバッフ
ァ3からストアデータの書込み要求がデータキャッシュ
制御装置2に出力され、この書込み要求に応じて、スト
アデータのデータキャッシュ記憶装置1への書込みが、
データキャッシュ制御装置2によって制御される。すな
わちサイクルT4において、キャッシュライトバッファ
3にキャッシュに格納すべきデータが存在することか
ら、書込み要求(キャッシュ格納要求)がデータキャッ
シュ制御装置2に送られ、例えば実行すべき他の命令が
ない時には、サイクルT5においてストアデータのデー
タキャッシュ記憶装置1への書き込みが行われる。
【0007】図12は、図11におけるストア命令に対
応したキャッシュライトバッファ3からデータキャッシ
ュ記憶装置1へのデータ書込み要求と、データキャッシ
ュ記憶装置1からのデータ読出しを実行すべきロード命
令がデータキャッシュ制御装置2において衝突した場合
の動作タイムチャートである。図12においては、この
ような場合、ストア命令が優先されるものとして動作を
説明する。同図において、サイクルT3までは図11に
おけると同様であるが、サイクルT4においてロード命
令がデータキャッシュ制御装置2に対してデータアドレ
スと共に与えられる。
応したキャッシュライトバッファ3からデータキャッシ
ュ記憶装置1へのデータ書込み要求と、データキャッシ
ュ記憶装置1からのデータ読出しを実行すべきロード命
令がデータキャッシュ制御装置2において衝突した場合
の動作タイムチャートである。図12においては、この
ような場合、ストア命令が優先されるものとして動作を
説明する。同図において、サイクルT3までは図11に
おけると同様であるが、サイクルT4においてロード命
令がデータキャッシュ制御装置2に対してデータアドレ
スと共に与えられる。
【0008】すなわち、サイクルT4で、キャッシュラ
イトバッファ3からのデータ書込み要求としてのキャッ
シュ格納要求とロード命令とが衝突することになるが、
この場合はストア命令優先であるので、ロード命令はこ
のサイクルでは受理されず、キャッシュライトバッファ
3からデータキャッシュ記憶装置1へのデータ格納が行
われ、ロード命令の受理が次のサイクルT5まで待たさ
れ、サイクルT5でロード命令を受理することができる
ようになったことを示す命令応答が命令制御装置4に返
され、サイクルT6でキャッシュアクセスが行われ、T
7でキャッシュヒットと判定された時点でロードデータ
がレジスタファイル6に出力される。
イトバッファ3からのデータ書込み要求としてのキャッ
シュ格納要求とロード命令とが衝突することになるが、
この場合はストア命令優先であるので、ロード命令はこ
のサイクルでは受理されず、キャッシュライトバッファ
3からデータキャッシュ記憶装置1へのデータ格納が行
われ、ロード命令の受理が次のサイクルT5まで待たさ
れ、サイクルT5でロード命令を受理することができる
ようになったことを示す命令応答が命令制御装置4に返
され、サイクルT6でキャッシュアクセスが行われ、T
7でキャッシュヒットと判定された時点でロードデータ
がレジスタファイル6に出力される。
【0009】図13はストア命令とロード命令が衝突し
た場合の動作タイムチャートの例であり、ここではロー
ド命令が優先されるものとして動作を説明する。図12
と同様に、サイクルT3までは図11におけると同じ動
作が行われる。サイクルT4においてロード命令とデー
タアドレスがデータキャッシュ制御装置2に与えられ、
キャッシュ格納要求と衝突することになる。この場合は
ロード命令優先であるので、サイクルT4において命令
応答が命令制御装置4に返され、サイクルT5でキャッ
シュアクセスが行われ、T6でキャッシュヒットと判定
され、ロードデータがレジスタファイル6に出力され
る。一方サイクルT4におけるキャッシュライトバッフ
ァ3からのキャッシュ格納要求は、次のサイクルT5に
おいてデータキャッシュ制御装置2に受理され、キャッ
シュ格納応答が出力され、サイクルT6でストアデータ
がデータキャッシュ記憶装置1のRAMに反映される。
た場合の動作タイムチャートの例であり、ここではロー
ド命令が優先されるものとして動作を説明する。図12
と同様に、サイクルT3までは図11におけると同じ動
作が行われる。サイクルT4においてロード命令とデー
タアドレスがデータキャッシュ制御装置2に与えられ、
キャッシュ格納要求と衝突することになる。この場合は
ロード命令優先であるので、サイクルT4において命令
応答が命令制御装置4に返され、サイクルT5でキャッ
シュアクセスが行われ、T6でキャッシュヒットと判定
され、ロードデータがレジスタファイル6に出力され
る。一方サイクルT4におけるキャッシュライトバッフ
ァ3からのキャッシュ格納要求は、次のサイクルT5に
おいてデータキャッシュ制御装置2に受理され、キャッ
シュ格納応答が出力され、サイクルT6でストアデータ
がデータキャッシュ記憶装置1のRAMに反映される。
【0010】
【発明が解決しようとする課題】図13で説明したよう
に、例えばロード命令が優先される場合には、キャッシ
ュライトバッファからデータキャッシュ記憶装置へのス
トアデータの格納は、ロード命令が受理され、ロード命
令に対する命令応答が‘L’となった時点で実行される
が、例えばロード命令のキャンセルが行われた場合に
は、その命令キャンセルが行われている限りは、キャッ
シュライトバッファからデータキャッシュ記憶装置への
ストアデータの書き込みを実行することができないと言
う問題点があった。
に、例えばロード命令が優先される場合には、キャッシ
ュライトバッファからデータキャッシュ記憶装置へのス
トアデータの格納は、ロード命令が受理され、ロード命
令に対する命令応答が‘L’となった時点で実行される
が、例えばロード命令のキャンセルが行われた場合に
は、その命令キャンセルが行われている限りは、キャッ
シュライトバッファからデータキャッシュ記憶装置への
ストアデータの書き込みを実行することができないと言
う問題点があった。
【0011】図14はそのような問題点の説明図であ
る。同図においては、図13におけると同様に、サイク
ルT4においてロード命令とキャッシュ格納要求とが衝
突しており、ロード命令優先の場合には、サイクルT4
でのストアデータのキャッシュへの格納が行われない。
そして、サイクルT5において、図9の命令制御装置4
からデータキャッシュ制御装置2に対して、ロード命令
キャンセルが伝えられる。この命令のキャンセルとは、
何らかの原因でCPU側で命令の実行を中止するような
場合に、命令制御装置4からデータキャッシュ制御装置
2に対して伝えられるものである。この命令キャンセル
について、図15を用いて説明する。
る。同図においては、図13におけると同様に、サイク
ルT4においてロード命令とキャッシュ格納要求とが衝
突しており、ロード命令優先の場合には、サイクルT4
でのストアデータのキャッシュへの格納が行われない。
そして、サイクルT5において、図9の命令制御装置4
からデータキャッシュ制御装置2に対して、ロード命令
キャンセルが伝えられる。この命令のキャンセルとは、
何らかの原因でCPU側で命令の実行を中止するような
場合に、命令制御装置4からデータキャッシュ制御装置
2に対して伝えられるものである。この命令キャンセル
について、図15を用いて説明する。
【0012】図15において、命令制御装置側でのパイ
プラインは命令の解読すなわちデコード、命令の実行す
なわちエグゼキュート、および実行結果の書込みすなわ
ちライトの3つのステージ(D,E,W)から成るもの
とし、1つのパイプのデコードのステージの後に、何ら
かの原因で実行のステージがインタロック、すなわち次
のステージであるライトに進まない状態になったものと
する。この場合、キャッシュ制御装置側では、命令のE
ステージに対応するプライオリティチェックすなわちP
に続いて、タグ判定のT、ヒット判定のCの3つのステ
ージからなるパイプは、一旦命令制御装置側から命令が
与えられると次々と動くことになり、命令制御装置側で
Eのステージが3つ分インタロックすると、キャッシュ
制御装置側ではパイプにおけるプライオリティチェッ
クのステージと、パイプにおけるタグ判定とヒット判
定のステージのみが有効となり、その間のパイプにお
けるタグ判定からパイプにおけるプライオリティチェ
ックのステージまでの動作はキャンセルが行われるべき
ものとなる。
プラインは命令の解読すなわちデコード、命令の実行す
なわちエグゼキュート、および実行結果の書込みすなわ
ちライトの3つのステージ(D,E,W)から成るもの
とし、1つのパイプのデコードのステージの後に、何ら
かの原因で実行のステージがインタロック、すなわち次
のステージであるライトに進まない状態になったものと
する。この場合、キャッシュ制御装置側では、命令のE
ステージに対応するプライオリティチェックすなわちP
に続いて、タグ判定のT、ヒット判定のCの3つのステ
ージからなるパイプは、一旦命令制御装置側から命令が
与えられると次々と動くことになり、命令制御装置側で
Eのステージが3つ分インタロックすると、キャッシュ
制御装置側ではパイプにおけるプライオリティチェッ
クのステージと、パイプにおけるタグ判定とヒット判
定のステージのみが有効となり、その間のパイプにお
けるタグ判定からパイプにおけるプライオリティチェ
ックのステージまでの動作はキャンセルが行われるべき
ものとなる。
【0013】図14において、サイクルT5でロード命
令キャンセルがデータキャッシュ制御装置2に伝えら
れ、そのロード命令キャンセルが継続されている間は、
キャッシュライトバッファ3に格納されたストアデータ
のデータキャッシュ記憶装置1へのストアデータの格納
がいつまでたっても実行されない。すなわちサイクルT
4において命令制御装置4から与えられるロード命令は
サイクルT5においてキャンセルされるが、データキャ
ッシュ記憶装置1に対するアクセス権はロード命令側に
保持されているために、本来無効なロード命令のために
キャッシュライトバッファ3に格納されたストアデータ
のキャッシュメモリへの反映が行われないと言うことに
なる。
令キャンセルがデータキャッシュ制御装置2に伝えら
れ、そのロード命令キャンセルが継続されている間は、
キャッシュライトバッファ3に格納されたストアデータ
のデータキャッシュ記憶装置1へのストアデータの格納
がいつまでたっても実行されない。すなわちサイクルT
4において命令制御装置4から与えられるロード命令は
サイクルT5においてキャンセルされるが、データキャ
ッシュ記憶装置1に対するアクセス権はロード命令側に
保持されているために、本来無効なロード命令のために
キャッシュライトバッファ3に格納されたストアデータ
のキャッシュメモリへの反映が行われないと言うことに
なる。
【0014】このようにキャンセルされるロード命令と
ストア命令とが衝突するような場合には、ストア命令と
ロード命令とが干渉する期間を長くさせるだけでなく、
キャンセル方法によってはシステムが正常に動作しない
と言う重大な問題点を生ずる可能性がある。
ストア命令とが衝突するような場合には、ストア命令と
ロード命令とが干渉する期間を長くさせるだけでなく、
キャンセル方法によってはシステムが正常に動作しない
と言う重大な問題点を生ずる可能性がある。
【0015】本発明はキャッシュライトバッファからキ
ャッシュメモリへのストアデータ格納を含むストア命令
と、例えばロード命令のような他の命令とが衝突した場
合にも、キャッシュライトバッファからキャッシュメモ
リへのデータ格納を優先させて実行させることが可能な
データ処理装置を提供することを目的とする。
ャッシュメモリへのストアデータ格納を含むストア命令
と、例えばロード命令のような他の命令とが衝突した場
合にも、キャッシュライトバッファからキャッシュメモ
リへのデータ格納を優先させて実行させることが可能な
データ処理装置を提供することを目的とする。
【0016】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図である。同図はキャッシュ記憶装置10を有する
データ処理装置における本発明の原理構成ブロック図で
ある。
ック図である。同図はキャッシュ記憶装置10を有する
データ処理装置における本発明の原理構成ブロック図で
ある。
【0017】図1においてキャッシュ書込みデータ保持
手段11は、例えばキャッシュライトバッファであり、
キャッシュ記憶装置10に書き込むための書込みデータ
を一旦保持するものである。データのストア要求に対応
して、例えばデータ処理装置の中央処理装置(CPU)
内のレジスタファイルからストアデータが供給され、キ
ャッシュ書込みデータ保持手段11に保持される。スト
アデータが保持されると、キャッシュ書込みデータ保持
手段11からキャッシュ制御手段12に対してデータ書
込み要求が出力される。
手段11は、例えばキャッシュライトバッファであり、
キャッシュ記憶装置10に書き込むための書込みデータ
を一旦保持するものである。データのストア要求に対応
して、例えばデータ処理装置の中央処理装置(CPU)
内のレジスタファイルからストアデータが供給され、キ
ャッシュ書込みデータ保持手段11に保持される。スト
アデータが保持されると、キャッシュ書込みデータ保持
手段11からキャッシュ制御手段12に対してデータ書
込み要求が出力される。
【0018】キャッシュ制御手段12は例えばデータキ
ャッシュ制御装置であり、例えばCPUの命令制御装置
からのロード命令に対応するキャッシュ記憶装置1から
のデータ読出し要求と、キャッシュ書込みデータ保持手
段11から与えられるデータ書込み要求とが競合した時
に、例えばロード命令に対応するデータ読出し要求を優
先させる制御と、キャッシュ書込みデータ保持手段11
からのデータ書込み要求を優先させる制御とのいずれを
も実行することのできるものである。
ャッシュ制御装置であり、例えばCPUの命令制御装置
からのロード命令に対応するキャッシュ記憶装置1から
のデータ読出し要求と、キャッシュ書込みデータ保持手
段11から与えられるデータ書込み要求とが競合した時
に、例えばロード命令に対応するデータ読出し要求を優
先させる制御と、キャッシュ書込みデータ保持手段11
からのデータ書込み要求を優先させる制御とのいずれを
も実行することのできるものである。
【0019】
【作用】本発明においては、キャッシュ書込みデータ保
持手段11は、キャッシュ記憶装置10への書込みデー
タを保持する1つ以上のキャッシュライトバッファと、
これらのキャッシュライトバッファを制御するキャッシ
ュライトバッファ制御装置とによって構成される。
持手段11は、キャッシュ記憶装置10への書込みデー
タを保持する1つ以上のキャッシュライトバッファと、
これらのキャッシュライトバッファを制御するキャッシ
ュライトバッファ制御装置とによって構成される。
【0020】このキャッシュライトバッファ制御装置
は、1つ以上のキャッシュライトバッファのいずれかに
書込みデータが保持されている時に、その書込みデータ
のキャッシュ記憶装置10への書き込みを、前述の例え
ばロード命令に対応するデータ読出し要求よりも優先さ
せることを要求する書込み要求ハイ信号、または書込み
データの書き込みよりもデータ読出し要求の優先を認め
る書込み要求ロー信号のいずれかをキャッシュ制御手段
12に出力し、キャッシュ制御手段12は書込み要求ハ
イ信号、または書込み要求ロー信号のいずれが入力され
ているかに応じて、キャッシュライトバッファからキャ
ッシュ記憶装置10へのデータ書込みを制御する。
は、1つ以上のキャッシュライトバッファのいずれかに
書込みデータが保持されている時に、その書込みデータ
のキャッシュ記憶装置10への書き込みを、前述の例え
ばロード命令に対応するデータ読出し要求よりも優先さ
せることを要求する書込み要求ハイ信号、または書込み
データの書き込みよりもデータ読出し要求の優先を認め
る書込み要求ロー信号のいずれかをキャッシュ制御手段
12に出力し、キャッシュ制御手段12は書込み要求ハ
イ信号、または書込み要求ロー信号のいずれが入力され
ているかに応じて、キャッシュライトバッファからキャ
ッシュ記憶装置10へのデータ書込みを制御する。
【0021】本発明においては、前述のようにストア命
令とロード命令が衝突した時、ロード命令を優先させる
制御が行われている場合にも、例えばCPUの命令制御
装置からそのロード命令に対する命令キャンセル信号が
キャッシュライトバッファ制御装置に入力された時点
で、キャッシュライトバッファ制御装置から書込み要求
ハイ信号がキャッシュ制御手段12に出力され、これに
応じてキャッシュ制御手段12によって、ロード命令に
伴うデータ読出し要求よりもキャッシュライトバッファ
からキャッシュ記憶装置10へのデータ書込みを優先さ
せる制御が行われ、キャッシュライトバッファに保持さ
れたデータのキャッシュ記憶装置10への格納が行われ
る。
令とロード命令が衝突した時、ロード命令を優先させる
制御が行われている場合にも、例えばCPUの命令制御
装置からそのロード命令に対する命令キャンセル信号が
キャッシュライトバッファ制御装置に入力された時点
で、キャッシュライトバッファ制御装置から書込み要求
ハイ信号がキャッシュ制御手段12に出力され、これに
応じてキャッシュ制御手段12によって、ロード命令に
伴うデータ読出し要求よりもキャッシュライトバッファ
からキャッシュ記憶装置10へのデータ書込みを優先さ
せる制御が行われ、キャッシュライトバッファに保持さ
れたデータのキャッシュ記憶装置10への格納が行われ
る。
【0022】以上のように、本発明によれば、例えばス
トア命令とロード命令とが衝突し、かつロード命令のキ
ャンセルが行われた場合にも、キャッシュライトバッフ
ァに保持されているストアデータのキャッシュ記憶装置
への格納が効率的に実行される。
トア命令とロード命令とが衝突し、かつロード命令のキ
ャンセルが行われた場合にも、キャッシュライトバッフ
ァに保持されているストアデータのキャッシュ記憶装置
への格納が効率的に実行される。
【0023】
【実施例】図2は本発明におけるキャッシュブロックと
CPUブロックの構成図である。同図において、図9の
従来例と同じ部分には同じ符号を付してある。図9と異
なる部分を中心に説明すると、命令制御装置4からデー
タキャッシュ制御装置21に出力される命令キャンセル
信号がキャッシュライトバッファ20に対しても与えら
れる。またキャッシュライトバッファ20にデータが保
持されている時には、データキャッシュ制御装置21に
対して書込み要求ロー、または書込み要求ハイのいずれ
かの信号が、キャッシュライトバッファ20からデータ
キャッシュ記憶装置1へのストアデータ書込み要求とし
て出力される。ここで書込み要求ロー信号は、データキ
ャッシュ制御装置21に与えられるロード命令に対応す
るデータ読出し要求をキャッシュライトバッファ20に
格納されているストアデータの書き込みよりも優先させ
ることを認める信号であり、また書込み要求ハイ信号は
キャッシュライトバッファ20に保持されているストア
データの書き込みを、ロード命令に対応するデータ読出
し要求よりも優先させることを、データキャッシュ制御
装置21に対して要求する信号である。
CPUブロックの構成図である。同図において、図9の
従来例と同じ部分には同じ符号を付してある。図9と異
なる部分を中心に説明すると、命令制御装置4からデー
タキャッシュ制御装置21に出力される命令キャンセル
信号がキャッシュライトバッファ20に対しても与えら
れる。またキャッシュライトバッファ20にデータが保
持されている時には、データキャッシュ制御装置21に
対して書込み要求ロー、または書込み要求ハイのいずれ
かの信号が、キャッシュライトバッファ20からデータ
キャッシュ記憶装置1へのストアデータ書込み要求とし
て出力される。ここで書込み要求ロー信号は、データキ
ャッシュ制御装置21に与えられるロード命令に対応す
るデータ読出し要求をキャッシュライトバッファ20に
格納されているストアデータの書き込みよりも優先させ
ることを認める信号であり、また書込み要求ハイ信号は
キャッシュライトバッファ20に保持されているストア
データの書き込みを、ロード命令に対応するデータ読出
し要求よりも優先させることを、データキャッシュ制御
装置21に対して要求する信号である。
【0024】更に図2においては、キャッシュライトバ
ッファ20に対してアドレス変換有効信号を出力するア
ドレス変換制御装置22と、キャッシュライトバッファ
20に対して書込み要求ロー信号のデータキャッシュ制
御装置21への出力を禁止する、例えばロー要求禁止フ
ラグが設定されるレジスタ23が備えられている。
ッファ20に対してアドレス変換有効信号を出力するア
ドレス変換制御装置22と、キャッシュライトバッファ
20に対して書込み要求ロー信号のデータキャッシュ制
御装置21への出力を禁止する、例えばロー要求禁止フ
ラグが設定されるレジスタ23が備えられている。
【0025】このうちアドレス変換制御装置22はメモ
リマネージメントユニット(MMU)の一部であり、物
理アドレスでキャッシュを引く場合にはこのMMUはC
PU側にある。CPUが論理アドレスだけを出す時に
は、物理アドレスには外部で変換されることになる。
リマネージメントユニット(MMU)の一部であり、物
理アドレスでキャッシュを引く場合にはこのMMUはC
PU側にある。CPUが論理アドレスだけを出す時に
は、物理アドレスには外部で変換されることになる。
【0026】このアドレス変換自体は本発明の内容と本
質的には関係のないものであり、トランスレーションル
ックアサイドバッファ(TLB)による動的アドレス変
換におけるミス発生時に行われるが、このアドレス変換
の最後にページテーブルのエントリのストアが行われ、
キャッシュにそのページテーブルが入っている場合には
キャッシュヒットするために、キャッシュライトバッフ
ァ20に保持されているデータ全てのデータキャッシュ
記憶装置1への格納を済ませてしまう必要がでてくる。
質的には関係のないものであり、トランスレーションル
ックアサイドバッファ(TLB)による動的アドレス変
換におけるミス発生時に行われるが、このアドレス変換
の最後にページテーブルのエントリのストアが行われ、
キャッシュにそのページテーブルが入っている場合には
キャッシュヒットするために、キャッシュライトバッフ
ァ20に保持されているデータ全てのデータキャッシュ
記憶装置1への格納を済ませてしまう必要がでてくる。
【0027】このためにアドレス変換有効信号がアサー
トされた時点で、キャッシュライトバッファ20から書
込み要求ハイ信号をデータキャッシュ制御装置21に出
力させ、キャッシュライトバッファ20が保持している
データを直ちにデータキャッシュ記憶装置1に書き込ま
せる制御が行われる。
トされた時点で、キャッシュライトバッファ20から書
込み要求ハイ信号をデータキャッシュ制御装置21に出
力させ、キャッシュライトバッファ20が保持している
データを直ちにデータキャッシュ記憶装置1に書き込ま
せる制御が行われる。
【0028】またレジスタ23は、例えばインプリメン
ト依存の制御レジスタであり、このレジスタにロー要求
禁止フラグが設定されると、キャッシュライトバッファ
20からデータキャッシュ制御装置21への書込み要求
ロー信号の出力が禁止される。このロー要求禁止フラグ
の設定はレジスタ23に入力されるロー要求禁止信号の
アサートによって成されるが、この信号は例えば図12
で説明したようなストア命令優先の場合にアサートされ
る。
ト依存の制御レジスタであり、このレジスタにロー要求
禁止フラグが設定されると、キャッシュライトバッファ
20からデータキャッシュ制御装置21への書込み要求
ロー信号の出力が禁止される。このロー要求禁止フラグ
の設定はレジスタ23に入力されるロー要求禁止信号の
アサートによって成されるが、この信号は例えば図12
で説明したようなストア命令優先の場合にアサートされ
る。
【0029】図3は、図2におけるキャッシュライトバ
ッファ20からの書込み要求ロー信号出力状態と、書込
み要求ハイ信号出力状態との間の状態遷移の説明図であ
る。同図において、キャッシュ格納要求がハイの状態
は、キャッシュライトバッファ20からのストアデータ
格納要求がロード命令に伴うデータ読出し要求よりも優
先される状態を、また状態ローはデータ読出し要求の方
が優先される状態を示す。なおシステムスタート時、す
なわち初期状態では、キャッシュライトバッファ20か
らは例えば書込み要求ロー信号が出力される状態にシス
テム設定が行われているものとする。
ッファ20からの書込み要求ロー信号出力状態と、書込
み要求ハイ信号出力状態との間の状態遷移の説明図であ
る。同図において、キャッシュ格納要求がハイの状態
は、キャッシュライトバッファ20からのストアデータ
格納要求がロード命令に伴うデータ読出し要求よりも優
先される状態を、また状態ローはデータ読出し要求の方
が優先される状態を示す。なおシステムスタート時、す
なわち初期状態では、キャッシュライトバッファ20か
らは例えば書込み要求ロー信号が出力される状態にシス
テム設定が行われているものとする。
【0030】図3において、ロー要求禁止信号がアサー
トされている場合には、状態ローへの遷移は禁止され
る。ロー状態からハイ状態へのローハイ遷移要求は、キ
ャッシュライトバッファ20に対する命令制御装置4か
らの命令キャンセル信号の入力、またはアドレス変換制
御装置22からのアドレス変換有効信号のアサートに対
応して行われると共に、キャッシュライトバッファ20
にストアデータが格納されてからある一定時間が経過し
た時点で行われる。またハイロー遷移は、ロー要求禁止
信号がアサートされていないと言う条件の下で、キャッ
シュライトバッファ20の内部に有効なデータが存在し
なくなった時点で行われる。キャッシュライトバッファ
が有効なデータを保持しているか否かは、例えば図示し
ない有効性信号がネゲートされていることを確認するこ
とによって判定される。有効性信号は、キャッシュライ
トバッファ20に有効なデータが格納された時アクティ
ブとなり、キャッシュ記憶装置にそのストアデータが書
き込まれた時点でネゲートされる。
トされている場合には、状態ローへの遷移は禁止され
る。ロー状態からハイ状態へのローハイ遷移要求は、キ
ャッシュライトバッファ20に対する命令制御装置4か
らの命令キャンセル信号の入力、またはアドレス変換制
御装置22からのアドレス変換有効信号のアサートに対
応して行われると共に、キャッシュライトバッファ20
にストアデータが格納されてからある一定時間が経過し
た時点で行われる。またハイロー遷移は、ロー要求禁止
信号がアサートされていないと言う条件の下で、キャッ
シュライトバッファ20の内部に有効なデータが存在し
なくなった時点で行われる。キャッシュライトバッファ
が有効なデータを保持しているか否かは、例えば図示し
ない有効性信号がネゲートされていることを確認するこ
とによって判定される。有効性信号は、キャッシュライ
トバッファ20に有効なデータが格納された時アクティ
ブとなり、キャッシュ記憶装置にそのストアデータが書
き込まれた時点でネゲートされる。
【0031】図4は本発明におけるストア命令とロード
命令の衝突時の動作フローチャートである。同図におい
て、図14と同様にロード命令が優先されるものとし、
またこのロード命令に対するロード命令キャンセル信号
が図2のデータキャッシュ制御装置21、およびキャッ
シュライトバッファ20に入力されるものとして、動作
タイムチャートを説明する。
命令の衝突時の動作フローチャートである。同図におい
て、図14と同様にロード命令が優先されるものとし、
またこのロード命令に対するロード命令キャンセル信号
が図2のデータキャッシュ制御装置21、およびキャッ
シュライトバッファ20に入力されるものとして、動作
タイムチャートを説明する。
【0032】図4において、サイクルT3までの動作は
図14と同じである。サイクルT4においてロード命令
がデータキャッシュ制御装置21に与えられ、また同時
にキャッシュライトバッファ20に格納されたストアデ
ータのデータキャッシュ記憶装置1への書き込みが、書
込み要求ロー信号を用いて要求されている。この時点で
はロード命令が優先されるために、ロード命令に対する
命令応答が命令制御装置4に返されるが、次のサイクル
T5においてロード命令キャンセル信号がデータキャッ
シュ制御装置21に入力され、命令応答は‘H’のまま
となる。
図14と同じである。サイクルT4においてロード命令
がデータキャッシュ制御装置21に与えられ、また同時
にキャッシュライトバッファ20に格納されたストアデ
ータのデータキャッシュ記憶装置1への書き込みが、書
込み要求ロー信号を用いて要求されている。この時点で
はロード命令が優先されるために、ロード命令に対する
命令応答が命令制御装置4に返されるが、次のサイクル
T5においてロード命令キャンセル信号がデータキャッ
シュ制御装置21に入力され、命令応答は‘H’のまま
となる。
【0033】しかしながら、ロード命令キャンセル信号
のキャッシュライトバッファ20への入力によって、キ
ャッシュライトバッファ20からデータキャッシュ制御
装置21への書込み要求はハイにサイクルT6で変わ
り、このサイクルではキャッシュライトバッファ20か
らのストアデータのデータキャッシュ記憶装置1への書
き込みが優先され、ロード命令に対する命令応答は
‘L’になると同時にキャッシュ格納応答が出力され、
キャッシュライトバッファ20に保持されているデータ
は次のサイクルT7でRAMに反映される。図4ではサ
イクルT7においてロード命令キャンセル信号は‘L’
となり、キャンセルとなっていたロード命令の実行が可
能となり、データキャッシュ制御装置21がこの命令を
受理したことを命令応答として命令制御装置4に返す。
のキャッシュライトバッファ20への入力によって、キ
ャッシュライトバッファ20からデータキャッシュ制御
装置21への書込み要求はハイにサイクルT6で変わ
り、このサイクルではキャッシュライトバッファ20か
らのストアデータのデータキャッシュ記憶装置1への書
き込みが優先され、ロード命令に対する命令応答は
‘L’になると同時にキャッシュ格納応答が出力され、
キャッシュライトバッファ20に保持されているデータ
は次のサイクルT7でRAMに反映される。図4ではサ
イクルT7においてロード命令キャンセル信号は‘L’
となり、キャンセルとなっていたロード命令の実行が可
能となり、データキャッシュ制御装置21がこの命令を
受理したことを命令応答として命令制御装置4に返す。
【0034】図5はキャッシュブロックとCPUブロッ
クの詳細構成図である。同図を図2の概略構成図と比較
すると、図2におけるキャッシュライトバッファ20が
キャッシュライトバッファ制御装置25と、3本のキャ
ッシュライトバッファ26〜28によって構成されてい
る点が異なっている。
クの詳細構成図である。同図を図2の概略構成図と比較
すると、図2におけるキャッシュライトバッファ20が
キャッシュライトバッファ制御装置25と、3本のキャ
ッシュライトバッファ26〜28によって構成されてい
る点が異なっている。
【0035】各キャッシュライトバッファ26〜28
は、それぞれストアデータ幅として、例えば8バイトの
バッファであり、8バイトのデータを格納すると共にそ
のデータの格納場所を示すアドレス、およびデータ有効
性フラグを格納する。データ有効性フラグ(V)は、キ
ャッシュライトバッファに有効なデータが保持されてい
ることを示す。3本のキャッシュライトバッファ26〜
28は、例えばFIFOの形式で制御される。
は、それぞれストアデータ幅として、例えば8バイトの
バッファであり、8バイトのデータを格納すると共にそ
のデータの格納場所を示すアドレス、およびデータ有効
性フラグを格納する。データ有効性フラグ(V)は、キ
ャッシュライトバッファに有効なデータが保持されてい
ることを示す。3本のキャッシュライトバッファ26〜
28は、例えばFIFOの形式で制御される。
【0036】キャッシュライトバッファ制御装置25
は、キャッシュライトバッファ26〜28に対するデー
タ入出力を制御するものである。またアドレス変換制御
装置22は、前述のように演算処理装置5から転送され
てきた仮想アドレスがトランスレーションルックアサイ
ドバッファに存在せず、動的アドレス変換が必要となっ
た場合の操作を行うものであり、アドレス変換有効信号
はアドレス変換制御装置22においてアドレス変換が実
行中であることを示す信号である。
は、キャッシュライトバッファ26〜28に対するデー
タ入出力を制御するものである。またアドレス変換制御
装置22は、前述のように演算処理装置5から転送され
てきた仮想アドレスがトランスレーションルックアサイ
ドバッファに存在せず、動的アドレス変換が必要となっ
た場合の操作を行うものであり、アドレス変換有効信号
はアドレス変換制御装置22においてアドレス変換が実
行中であることを示す信号である。
【0037】図5の構成に対応して、本発明における動
作タイムチャートを更に詳細に説明する。図6は、図5
のアドレス変換制御装置22においてアドレス変換が実
行される場合の、ストア命令とロード命令衝突時の動作
タイムチャートである。同図において、3本のキャッシ
ュライトバッファ26〜28のそれぞれにすでにデータ
が保持されているものとして、動作を説明する。
作タイムチャートを更に詳細に説明する。図6は、図5
のアドレス変換制御装置22においてアドレス変換が実
行される場合の、ストア命令とロード命令衝突時の動作
タイムチャートである。同図において、3本のキャッシ
ュライトバッファ26〜28のそれぞれにすでにデータ
が保持されているものとして、動作を説明する。
【0038】図6においては、最初のサイクルT1から
最後のサイクルT7まで、ロード命令がデータキャッシ
ュ制御装置21に対して常に与えられているものとす
る。そこでサイクルT1〜T3においてロード命令に対
する命令応答が‘H’となっており、これらのサイクル
における命令応答に対応してサイクルT3〜T5におい
てそれぞれキャッシュヒットと判定され、ロードデータ
がデータキャッシュ記憶装置1からレジスタファイル6
に出力される。
最後のサイクルT7まで、ロード命令がデータキャッシ
ュ制御装置21に対して常に与えられているものとす
る。そこでサイクルT1〜T3においてロード命令に対
する命令応答が‘H’となっており、これらのサイクル
における命令応答に対応してサイクルT3〜T5におい
てそれぞれキャッシュヒットと判定され、ロードデータ
がデータキャッシュ記憶装置1からレジスタファイル6
に出力される。
【0039】一方サイクルT3においてアドレス変換有
効信号が‘H’となり、このサイクルまでローであった
キャッシュ格納要求はサイクルT4からハイに変化し、
ロード命令に対する命令応答は‘L’となり、キャッシ
ュライトバッファに格納されていたデータのキャッシュ
記憶装置への格納が開始される。すなわちサイクルT4
においてライトバッファ0に保持されていたデータ、サ
イクルT5においてライトバッファ1に保持されていた
データ、サイクルT6においてライトバッファ2に保持
されていたデータに対するキャッシュ格納応答が出力さ
れ、これらのデータはそれぞれ次のサイクルでRAMに
反映される。そしてサイクルT7でキャッシュライトバ
ッファ2に有効なデータが存在しなくなるために、格納
要求ハイ信号は‘L’となり、ロード命令を受理可能な
状態となり、命令応答が返される。
効信号が‘H’となり、このサイクルまでローであった
キャッシュ格納要求はサイクルT4からハイに変化し、
ロード命令に対する命令応答は‘L’となり、キャッシ
ュライトバッファに格納されていたデータのキャッシュ
記憶装置への格納が開始される。すなわちサイクルT4
においてライトバッファ0に保持されていたデータ、サ
イクルT5においてライトバッファ1に保持されていた
データ、サイクルT6においてライトバッファ2に保持
されていたデータに対するキャッシュ格納応答が出力さ
れ、これらのデータはそれぞれ次のサイクルでRAMに
反映される。そしてサイクルT7でキャッシュライトバ
ッファ2に有効なデータが存在しなくなるために、格納
要求ハイ信号は‘L’となり、ロード命令を受理可能な
状態となり、命令応答が返される。
【0040】図7、および図8は、キャッシュライトバ
ッファにデータが保持されてからある一定時間が経過し
た時点で、キャッシュ格納要求がローからハイに遷移す
る場合の動作タイムチャートである。図7において、ま
ずサイクルT1でストア命令が命令制御装置4からデー
タキャッシュ制御装置21にデータアドレスと共に与え
られ、サイクルT3でキャッシュヒットと判定され、ス
トアデータがキャッシュライトバッファ26〜28のい
ずれかに対するものとして、レジスタファイル6から出
力される。このデータは例えばサイクルT4においてラ
イトバッファ0に格納され、このサイクルからキャッシ
ュ格納要求ロー信号がデータキャッシュ制御装置21に
対して出力される。
ッファにデータが保持されてからある一定時間が経過し
た時点で、キャッシュ格納要求がローからハイに遷移す
る場合の動作タイムチャートである。図7において、ま
ずサイクルT1でストア命令が命令制御装置4からデー
タキャッシュ制御装置21にデータアドレスと共に与え
られ、サイクルT3でキャッシュヒットと判定され、ス
トアデータがキャッシュライトバッファ26〜28のい
ずれかに対するものとして、レジスタファイル6から出
力される。このデータは例えばサイクルT4においてラ
イトバッファ0に格納され、このサイクルからキャッシ
ュ格納要求ロー信号がデータキャッシュ制御装置21に
対して出力される。
【0041】一方ロード命令がサイクルT2以降におい
てデータキャッシュ制御装置21に与えられ、これに対
する命令応答がサイクルT2〜T7まで返され、これに
対応してサイクルT4以降においてロードデータのレジ
スタファイル6への出力が順次行われる。この間、キャ
ッシュライトバッファにデータが格納されてからカウン
トが開始される有効サイクルカウント数がサイクルT7
において‘4’となる。
てデータキャッシュ制御装置21に与えられ、これに対
する命令応答がサイクルT2〜T7まで返され、これに
対応してサイクルT4以降においてロードデータのレジ
スタファイル6への出力が順次行われる。この間、キャ
ッシュライトバッファにデータが格納されてからカウン
トが開始される有効サイクルカウント数がサイクルT7
において‘4’となる。
【0042】図8は図7の動作タイムチャートの続きで
ある。同図において、サイクルT8において前述の有効
サイクルカウント数が‘5’となる。本実施例ではこの
有効サイクルカウント数が‘5’に達した時点で、キャ
ッシュライトバッファ制御装置25から出力される書込
み要求がローからハイに遷移するものとすると、次のサ
イクルT9においてキャッシュ格納要求はハイとなり、
これに対応してロード命令に対する命令応答は‘L’、
キャッシュ格納応答は‘H’となり、ライトバッファ0
に保持されていたデータのデータキャッシュ記憶装置1
への書き込みが行われ、保持されていたデータはサイク
ルT10においてRAMに反映される。
ある。同図において、サイクルT8において前述の有効
サイクルカウント数が‘5’となる。本実施例ではこの
有効サイクルカウント数が‘5’に達した時点で、キャ
ッシュライトバッファ制御装置25から出力される書込
み要求がローからハイに遷移するものとすると、次のサ
イクルT9においてキャッシュ格納要求はハイとなり、
これに対応してロード命令に対する命令応答は‘L’、
キャッシュ格納応答は‘H’となり、ライトバッファ0
に保持されていたデータのデータキャッシュ記憶装置1
への書き込みが行われ、保持されていたデータはサイク
ルT10においてRAMに反映される。
【0043】その後の動作は本発明に直接の関係はない
が、ロード命令のデータキャッシュ制御装置21への出
力はサイクルT10で終了し、サイクルT11では新た
なストア命令がデータキャッシュ制御装置21に与えら
れ、これに対応するキャッシュヒットがサイクルT13
で判定され、T14でライトバッファ0にストアデータ
が格納され、キャッシュライトバッファ制御装置25か
ら書込み要求ロー信号が出力され、直ちにキャッシュ格
納応答が返される。
が、ロード命令のデータキャッシュ制御装置21への出
力はサイクルT10で終了し、サイクルT11では新た
なストア命令がデータキャッシュ制御装置21に与えら
れ、これに対応するキャッシュヒットがサイクルT13
で判定され、T14でライトバッファ0にストアデータ
が格納され、キャッシュライトバッファ制御装置25か
ら書込み要求ロー信号が出力され、直ちにキャッシュ格
納応答が返される。
【0044】
【発明の効果】以上詳細に説明したように、本発明によ
ればキャッシュへのデータ格納に際してそのデータを一
旦キャッシュライトバッファに保持させる形式のデータ
処理装置において、キャッシュライトバッファからキャ
ッシュメモリへのデータ書込み要求とキャッシュメモリ
からのデータ読出し要求とが衝突した場合に、キャッシ
ュライトバッファに保持されているデータのキャッシュ
メモリへの書込みを必要以上に遅らせることなく実行す
ることが可能となり、データ処理の効率を向上させるこ
とができる。
ればキャッシュへのデータ格納に際してそのデータを一
旦キャッシュライトバッファに保持させる形式のデータ
処理装置において、キャッシュライトバッファからキャ
ッシュメモリへのデータ書込み要求とキャッシュメモリ
からのデータ読出し要求とが衝突した場合に、キャッシ
ュライトバッファに保持されているデータのキャッシュ
メモリへの書込みを必要以上に遅らせることなく実行す
ることが可能となり、データ処理の効率を向上させるこ
とができる。
【図1】本発明の原理構成ブロック図である。
【図2】本発明におけるキャッシュブロックとCPUブ
ロックとの構成を示す図である。
ロックとの構成を示す図である。
【図3】本発明におけるキャッシュ格納要求の状態遷移
を説明する図である。
を説明する図である。
【図4】本発明におけるストア命令とロード命令の衝突
時の動作タイムチャートである。
時の動作タイムチャートである。
【図5】キャッシュブロックとCPUブロックの実施例
の詳細構成を示す図である。
の詳細構成を示す図である。
【図6】アドレス変換有効信号が入力されている時のス
トア命令とロード命令が衝突した場合の動作タイムチャ
ートである。
トア命令とロード命令が衝突した場合の動作タイムチャ
ートである。
【図7】有効サイクルカウント数が一定値を越えた時に
書込み要求信号がハイとなる場合の動作タイムチャート
(その1)である。
書込み要求信号がハイとなる場合の動作タイムチャート
(その1)である。
【図8】有効サイクルカウント数が一定値を越えた時に
書込み要求信号がハイとなる場合の動作タイムチャート
(その2)である。
書込み要求信号がハイとなる場合の動作タイムチャート
(その2)である。
【図9】キャッシュブロックとCPUブロックの従来例
の構成を示す図である。
の構成を示す図である。
【図10】図9の従来例におけるロード命令に対する動
作タイムチャートである。
作タイムチャートである。
【図11】図9の従来例におけるストア命令に対する動
作タイムチャートである。
作タイムチャートである。
【図12】図9の従来例におけるストア命令とロード命
令が衝突した場合(ストア命令優先)の動作タイムチャ
ートである。
令が衝突した場合(ストア命令優先)の動作タイムチャ
ートである。
【図13】図9の従来例におけるストア命令とロード命
令が衝突した場合(ロード命令優先)の動作タイムチャ
ートである。
令が衝突した場合(ロード命令優先)の動作タイムチャ
ートである。
【図14】図9の従来例におけるキャンセルされるロー
ド命令とストア命令が衝突した場合の動作タイムチャー
トである。
ド命令とストア命令が衝突した場合の動作タイムチャー
トである。
【図15】命令キャンセルを説明する図である。
1 データキャッシュ記憶装置 2,21 データキャッシュ制御装置 3,20 キャッシュライトバッファ 4 命令制御装置 5 演算処理装置 6 レジスタファイル 10 キャッシュ記憶装置 11 キャッシュ書込みデータ保持手段 12 キャッシュ制御手段 22 アドレス変換制御装置 23 レジスタ 25 キャッシュライトバッファ制御装置 26〜28 キャッシュライトバッファ0〜2
フロントページの続き (72)発明者 坂田 英樹 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平1−280851(JP,A) 特開 昭61−220046(JP,A) 特開 昭61−220045(JP,A) 特開 平5−20192(JP,A) 特開 昭59−136859(JP,A) 特開 昭58−208982(JP,A) 特開 昭64−82149(JP,A) 特開 平2−236748(JP,A) 特開 昭61−131047(JP,A) 特開 昭58−29187(JP,A) 特開 昭57−44279(JP,A) 特開 平4−145552(JP,A) 特開 平1−305452(JP,A) 特表 平4−501326(JP,A) 国際公開94/8287(WO,A1) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12
Claims (12)
- 【請求項1】 キャッシュ記憶装置を有するデータ処理
装置において、 該キャッシュ記憶装置に書込むための書込みデータを保
持するキャッシュ書込みデータ保持手段と、 該キャッシュ記憶装置に格納されているデータの読出し
要求と、該キャッシュ書込みデータ保持手段からキャッ
シュ記憶装置へのデータ書込み要求とが競合した時、該
データ読出し要求を優先させる制御と、該データ書込み
要求を優先させる制御とのいずれかを実行することがで
き、データ書込み要求を優先させるべき契機として、デ
ータ読出しを要求する命令のキャンセルが行われた場合
にはデータ書込み要求を優先させる制御を実行するキャ
ッシュ制御手段とを備えたことを特徴とするデータ処理
装置。 - 【請求項2】 キャッシュ記憶装置を有するデータ処理
装置において、 該キャッシュ記憶装置に書込むための書込みデータを保
持するキャッシュ書込みデータ保持手段と、 該キャッシュ記憶装置に格納されているデータの読出し
要求と、該キャッシュ書込みデータ保持手段からキャッ
シュ記憶装置へのデータ書込み要求とが競合した時、該
データ読出し要求を優先させる制御と、該データ書込み
要求を優先させる制御とのいずれかを実行することがで
き、データ書込み要求を優先させるべき契機として、仮
想アドレスと物理アドレスとの対応関係を格納する連想
記憶の検索がミスヒットした時に仮想アドレスから物理
アドレスへの変換を行うアドレス変換装置によるアドレ
ス変換が行われた場合にはデータ書込み要求を優先させ
る制御を実行するキャッシュ制御手段とを備えたことを
特徴とするデータ処理装置。 - 【請求項3】 キャッシュ記憶装置を有するデータ処理
装置において、 該キャッシュ記憶装置に書込むための書込みデータを保
持するキャッシュ書込みデータ保持手段と、 該キャッシュ記憶装置に格納されているデータの読出し
要求と、該キャッシュ書込みデータ保持手段からキャッ
シュ記憶装置へのデータ書込み要求とが競合した時、該
データ読出し要求を優先させる制御と、該データ書込み
要求を優先させ る制御とのいずれかを実行することがで
き、データ書込み要求を優先させるべき契機として、前
記キャッシュ書込みデータ保持手段に保持されているデ
ータの保持期間がある一定値を越えた場合にはデータ書
込み要求を優先させる制御を実行するキャッシュ制御手
段とを備えたことを特徴とするデータ処理装置。 - 【請求項4】 キャッシュ記憶装置を有するデータ処理
装置において、 該キャッシュ記憶装置に書込むための書込みデータを保
持するキャッシュ書込みデータ保持手段と、 該キャッシュ記憶装置に格納されているデータの読出し
要求と、該キャッシュ書込みデータ保持手段からキャッ
シュ記憶装置へのデータ書込み要求とが競合した時、該
データ読出し要求を優先させる制御と、該データ書込み
要求を優先させる制御とのいずれかを実行することがで
き、データ書込み要求を優先させるべき契機として、デ
ータ読出しを要求する命令のキャンセル、または、仮想
アドレスと物理アドレスとの対応関係を格納する連想記
憶の検索がミスヒットした時に仮想アドレスから物理ア
ドレスへの変換を行うアドレス変換装置によるアドレス
変換実行、または、前記キャッシュ書込みデータ保持手
段に保持されているデータの保持期間がある一定値を越
えたことの少なくともいずれか1つが生じた場合にデー
タ書込み要求を優先させる制御を実行するキャッシュ制
御手段とを備えたことを特徴とするデータ処理装置。 - 【請求項5】 前記キャッシュ書込みデータ保持手段
が、1つ以上のキャッシュライトバッファ手段と、該1
つ以上のキャッシュライトバッファ手段に対するデータ
入出力を制御するキャッシュライトバッファ制御手段と
を備えたことを特徴とする請求項1、2、3、または4
記載のデータ処理装置。 - 【請求項6】 前記キャッシュライトバッファ制御手段
が、前記1つ以上のキャッシュライトバッファ手段のい
ずれかに書込みデータが保持されている時、該書込みデ
ータの前記キャッシュ記憶装置への書き込みを前記デー
タ読出し要求よりも優先させることを要求する書込み要
求ハイ信号、または該書込みデータの書き込みよりも前
記データ読出し要求の優先を認める書込み要求ロー信号
のいずれかを前記キャッシュ制御手段に出力することを
特徴とする請求項5記載のデータ処理装置。 - 【請求項7】 前記キャッシュ制御手段が、前記キャッ
シュライトバッファ制御手段からの書込み要求ロー信号
の入力に応じて前記データ読出し要求を優先させる制御
を行い、書込み要求ハイ信号の入力に応じて前記データ
書込み要求を優先させる制御を行うことを特徴とする請
求項6記載のデータ処理装置。 - 【請求項8】 前記キャッシュライトバッファ制御手段
が、前記書込み要求ロー信号を出力している状態におい
て、前記データ書込み要求を優先させるべき契機が生じ
た時点で前記書込み要求ハイ信号を出力する状態に遷移
することを特徴とする請求項6記載のデータ処理装置。 - 【請求項9】 前記キャッシュライトバッファ制御手段
が、前記書込み要求ハイ信号を出力している状態におい
て、前記キャッシュライトバッファ手段に保持されてい
る全ての有効データが前記キャッシュ記憶装置に格納さ
れたことを契機として該書込み要求ハイ信号の出力を停
止し、該キャッシュライトバッファ手段に新たな有効デ
ータが格納された時に前記書込み要求ロー信号を出力す
る状態に遷移することを特徴とする請求項6記載のデー
タ処理装置。 - 【請求項10】 前記キャッシュライトバッファ制御手
段が、前記書込み要求ロー信号を出力している状態にお
いて、前記データ書込み要求を優先させるべき契機が生
じた時点で前記書込み要求ハイ信号を出力する状態に遷
移することと、 該キャッシュライトバッファ制御手段が、前記書込み要
求ハイ信号を出力している状態において、前記キャッシ
ュライトバッファ手段に保持されている全ての有効デー
タが前記キャッシュ記憶装置に格納されたことを契機と
して該書込み要求ハイ信号の出力を停止し、該キャッシ
ュライトバッファ手段に新たな有効データが格納された
時に前記書込み要求ロー信号を出力する状態に遷移する
ことを特徴とする請求項6記載のデータ処理装置。 - 【請求項11】 前記キャッシュライトバッファ制御手
段が、初期状態において、前記キャッシュライトバッフ
ァ手段に有効データが格納された時、前記書込み要求ロ
ー信号を出力する状態にあることを特徴とする請求項6
記載のデータ処理装置。 - 【請求項12】 前記キャッシュライトバッファ制御手
段に対して、前記書込み要求ロー信号の前記キャッシュ
制御手段への出力を禁止するロー要求禁止信号を出力す
るレジスタ手段を更に備えたことを特徴とする請求項6
記載のデータ処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15244694A JP3164732B2 (ja) | 1994-07-04 | 1994-07-04 | データ処理装置 |
US08/954,561 US6374334B1 (en) | 1994-07-04 | 1997-10-20 | Data processing apparatus with a cache controlling device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15244694A JP3164732B2 (ja) | 1994-07-04 | 1994-07-04 | データ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0816472A JPH0816472A (ja) | 1996-01-19 |
JP3164732B2 true JP3164732B2 (ja) | 2001-05-08 |
Family
ID=15540707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15244694A Expired - Fee Related JP3164732B2 (ja) | 1994-07-04 | 1994-07-04 | データ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6374334B1 (ja) |
JP (1) | JP3164732B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081298B (zh) * | 2010-11-17 | 2012-06-06 | 泉州市东南光电有限公司 | 基于自然光的摄像机红外光源开关阀值测试装置及方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014759A (en) * | 1997-06-13 | 2000-01-11 | Micron Technology, Inc. | Method and apparatus for transferring test data from a memory array |
US6044429A (en) * | 1997-07-10 | 2000-03-28 | Micron Technology, Inc. | Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths |
JP2002051055A (ja) * | 2000-08-04 | 2002-02-15 | Sony Corp | 通信制御方法、通信システム及び通信装置 |
JP4234361B2 (ja) * | 2002-06-28 | 2009-03-04 | 富士通株式会社 | 記憶制御装置およびデータ格納方法 |
US7146484B2 (en) * | 2004-06-15 | 2006-12-05 | Hitachi, Ltd. | Method and apparatus for caching storage system |
JP4128551B2 (ja) * | 2004-07-29 | 2008-07-30 | 富士通株式会社 | 情報処理装置及びストア命令制御方法 |
WO2015193777A1 (en) * | 2014-06-20 | 2015-12-23 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
US9916105B1 (en) * | 2015-11-05 | 2018-03-13 | Crossbar, Inc. | Page management for data operations utilizing a memory device |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4217640A (en) * | 1978-12-11 | 1980-08-12 | Honeywell Information Systems Inc. | Cache unit with transit block buffer apparatus |
JPS5829187A (ja) | 1981-08-14 | 1983-02-21 | Nec Corp | キヤツシユメモリ制御装置 |
JPS6022376B2 (ja) | 1980-08-28 | 1985-06-01 | 日本電気株式会社 | キャッシュメモリ制御装置 |
JPS58208982A (ja) | 1982-05-31 | 1983-12-05 | Nec Corp | ストアバツフア |
JPS59136859A (ja) | 1983-01-27 | 1984-08-06 | Nec Corp | バツフア制御装置 |
JPS61131047A (ja) | 1984-11-29 | 1986-06-18 | Toshiba Corp | パイプライン制御方式 |
JPS61220046A (ja) | 1985-03-26 | 1986-09-30 | Nec Corp | 情報処理装置 |
JPS61220045A (ja) | 1985-03-26 | 1986-09-30 | Nec Corp | 情報処理装置 |
US4789925A (en) * | 1985-07-31 | 1988-12-06 | Unisys Corporation | Vector data logical usage conflict detection |
JPS6482149A (en) | 1987-09-24 | 1989-03-28 | Nec Corp | Information processor |
US4933901A (en) * | 1988-01-11 | 1990-06-12 | Texas Instruments Incorporated | Method for assigning priority to read and write requests received closely in time |
JPH01280851A (ja) | 1988-05-06 | 1989-11-13 | Mitsubishi Electric Corp | キャッシュ・ストア制御方式 |
JPH01305452A (ja) | 1988-06-02 | 1989-12-08 | Fujitsu Ltd | バッファ記憶装置のストア制御方式 |
WO1990000284A1 (en) | 1988-06-30 | 1990-01-11 | Wang Laboratories, Inc. | Memory control unit |
US5125083A (en) * | 1989-02-03 | 1992-06-23 | Digital Equipment Corporation | Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system |
JPH02236748A (ja) | 1989-03-10 | 1990-09-19 | Nec Corp | ストア・バッファ |
US5432918A (en) * | 1990-06-29 | 1995-07-11 | Digital Equipment Corporation | Method and apparatus for ordering read and write operations using conflict bits in a write queue |
JPH04145552A (ja) | 1990-10-05 | 1992-05-19 | Nec Corp | キャッシュ記憶装置 |
JP3130569B2 (ja) | 1991-07-17 | 2001-01-31 | 日本電気株式会社 | キャッシュメモリのストア方式 |
WO1994008287A1 (en) | 1992-09-29 | 1994-04-14 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
US5471598A (en) * | 1993-10-18 | 1995-11-28 | Cyrix Corporation | Data dependency detection and handling in a microprocessor with write buffer |
-
1994
- 1994-07-04 JP JP15244694A patent/JP3164732B2/ja not_active Expired - Fee Related
-
1997
- 1997-10-20 US US08/954,561 patent/US6374334B1/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081298B (zh) * | 2010-11-17 | 2012-06-06 | 泉州市东南光电有限公司 | 基于自然光的摄像机红外光源开关阀值测试装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
US6374334B1 (en) | 2002-04-16 |
JPH0816472A (ja) | 1996-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0408058A2 (en) | Microprocessor | |
JP2006146965A (ja) | ペンディング要求間の仲裁方法 | |
JPH08272693A (ja) | 仮想アドレスについてのキャッシュ可能性属性ビットを備えた変換テーブル・エントリ及びそのビットを用いた仮想アドレスの参照方法並びにその仮想アドレスの参照装置 | |
JP4574712B2 (ja) | 演算処理装置、情報処理装置及び制御方法 | |
JP3164732B2 (ja) | データ処理装置 | |
JP2001290706A (ja) | Tlbキャッシュのためのプリフェッチ | |
US7577791B2 (en) | Virtualized load buffers | |
US5920889A (en) | Apparatus and method for write miss processing in a copy-back data cache with an allocating load buffer and a non-allocating store buffer | |
US5619673A (en) | Virtual access cache protection bits handling method and apparatus | |
US20040153610A1 (en) | Cache controller unit architecture and applied method | |
JP3614428B2 (ja) | キャッシュメモリ装置 | |
JP4037806B2 (ja) | キャッシュメモリ装置 | |
JP3799451B2 (ja) | 電子計算機システム | |
JPH07234819A (ja) | キャッシュメモリ | |
JP3729832B2 (ja) | キャッシュメモリ装置 | |
JPH09231133A (ja) | キャッシュメモリ装置 | |
JP3757768B2 (ja) | ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式 | |
JP3761890B2 (ja) | キャッシュメモリ装置 | |
JP3161422B2 (ja) | マイクロコンピュータ | |
JP2001344152A (ja) | キャッシュメモリ装置 | |
US20040103267A1 (en) | Data processor having cache memory | |
JPH07141174A (ja) | レジスタ装置 | |
JP3260566B2 (ja) | 情報処理システムにおける記憶制御方法および記憶制御装置 | |
JPH01251248A (ja) | スタックデータ構造用キャッシュ制御方式 | |
JP3437224B2 (ja) | 遅延無効化方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010220 |
|
LAPS | Cancellation because of no payment of annual fees |