JPH07182166A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH07182166A JPH07182166A JP5328381A JP32838193A JPH07182166A JP H07182166 A JPH07182166 A JP H07182166A JP 5328381 A JP5328381 A JP 5328381A JP 32838193 A JP32838193 A JP 32838193A JP H07182166 A JPH07182166 A JP H07182166A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- operand
- instruction
- subsequent
- store
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 ライトバック方式のキャッシュでヒットアン
ダーミスを行っている情報処理装置において、キャッシ
ュミスしたオペランドと後続の命令のオペランドとの間
でキャッシュ上のロケーションが競合した場合にも、処
理性能を低下させることなく命令の処理を続けること。 【構成】 キャッシュ制御回路105は、キャッシュミ
スしたオペランドを主記憶から読み出し中、そのオペラ
ンドアドレスをラッチ106に保持し、後続命令のオペ
ランドアドレスとラッチ106のアドレスとを比較器1
10により比較して、キャッシュ上でロケーションが競
合するか否かをチェックする。後続命令がストア命令
で、ロケーションの競合が検出された場合、キャッシュ
制御回路105は、後続のストア命令のストアオペラン
ドをキャッシュに書き込まず、直接主記憶に対して書き
込みを行うように制御する。これにより、キャッシュミ
スしたオペランドが読み出しが到着したときに、後続ス
トア命令の結果をキャッシュから追い出す処理を不要と
することができる。
ダーミスを行っている情報処理装置において、キャッシ
ュミスしたオペランドと後続の命令のオペランドとの間
でキャッシュ上のロケーションが競合した場合にも、処
理性能を低下させることなく命令の処理を続けること。 【構成】 キャッシュ制御回路105は、キャッシュミ
スしたオペランドを主記憶から読み出し中、そのオペラ
ンドアドレスをラッチ106に保持し、後続命令のオペ
ランドアドレスとラッチ106のアドレスとを比較器1
10により比較して、キャッシュ上でロケーションが競
合するか否かをチェックする。後続命令がストア命令
で、ロケーションの競合が検出された場合、キャッシュ
制御回路105は、後続のストア命令のストアオペラン
ドをキャッシュに書き込まず、直接主記憶に対して書き
込みを行うように制御する。これにより、キャッシュミ
スしたオペランドが読み出しが到着したときに、後続ス
トア命令の結果をキャッシュから追い出す処理を不要と
することができる。
Description
【0001】
【産業上の利用分野】本発明は、キャッシュを有する情
報処理装置に係り、特に、ライトバック方式のキャッシ
ュを有し、命令により参照したオペランドが前記キャッ
シュに存在しない場合にも、後続命令の実行を継続する
ことのできる情報処理装置に関する。
報処理装置に係り、特に、ライトバック方式のキャッシ
ュを有し、命令により参照したオペランドが前記キャッ
シュに存在しない場合にも、後続命令の実行を継続する
ことのできる情報処理装置に関する。
【0002】
【従来の技術】一般に、キャッシュを有する情報処理装
置は、命令により参照したオペランドがキャッシュに存
在せずキャッシュミスが発生した場合、前記オペランド
を主記憶から読み出す処理を行っている。通常、この読
み出しには、キャッシュアクセスの数倍から数十倍の時
間を要する。従って、この間、後続命令の実行を待たせ
ていたのでは命令の実行時間が長くなってしまい、情報
処理装置の性能が抑えられてしまうことになる。
置は、命令により参照したオペランドがキャッシュに存
在せずキャッシュミスが発生した場合、前記オペランド
を主記憶から読み出す処理を行っている。通常、この読
み出しには、キャッシュアクセスの数倍から数十倍の時
間を要する。従って、この間、後続命令の実行を待たせ
ていたのでは命令の実行時間が長くなってしまい、情報
処理装置の性能が抑えられてしまうことになる。
【0003】そこで、このような問題を解決するため
に、前述のキャッシュミスによる主記憶のアクセス期間
中にも、オペランドの参照を含む後続命令を実行し、キ
ャッシュミスのペナルティを低減することのできる従来
技術として、ヒットアンダーミスまたはノンブロッキン
グキャッシュと呼ばれる方式が知られている。
に、前述のキャッシュミスによる主記憶のアクセス期間
中にも、オペランドの参照を含む後続命令を実行し、キ
ャッシュミスのペナルティを低減することのできる従来
技術として、ヒットアンダーミスまたはノンブロッキン
グキャッシュと呼ばれる方式が知られている。
【0004】図2はこの従来技術の方式によるヒットア
ンダーミスの動作を説明するタイミングチャートであ
り、以下、これにより従来技術を説明する。図2におい
て、命令は、IF(命令フェッチ)、D(デコード)、
E(実行)、A(オペランドアクセス)、W(レジスタ
書き込み)の5段階のパイプラインステージで処理され
るものとする。
ンダーミスの動作を説明するタイミングチャートであ
り、以下、これにより従来技術を説明する。図2におい
て、命令は、IF(命令フェッチ)、D(デコード)、
E(実行)、A(オペランドアクセス)、W(レジスタ
書き込み)の5段階のパイプラインステージで処理され
るものとする。
【0005】図2(a)はヒットアンダーミスが行われ
ない場合の動作例を示している。ヒットアンダーミスが
行われない場合、命令1のオペランドアクセス時に、キ
ャッシュミスが起き、主記憶からこのオペランドを読み
出す処理が開始されたとする。この場合、図2(a)の
例においては、命令1のWステージが待たされることに
なる。そして、これに伴い、命令2、3のA、Eステー
ジおよび以降の命令処理が全て待たされることになる。
ない場合の動作例を示している。ヒットアンダーミスが
行われない場合、命令1のオペランドアクセス時に、キ
ャッシュミスが起き、主記憶からこのオペランドを読み
出す処理が開始されたとする。この場合、図2(a)の
例においては、命令1のWステージが待たされることに
なる。そして、これに伴い、命令2、3のA、Eステー
ジおよび以降の命令処理が全て待たされることになる。
【0006】すなわち、ヒットアンダーミスを行ってい
ない情報処理装置は、キャッシュミスに要する時間の全
てがペナルティとして表れてしまう。
ない情報処理装置は、キャッシュミスに要する時間の全
てがペナルティとして表れてしまう。
【0007】図2(b)はヒットアンダーミスが行われ
る場合の動作例を示している。この場合、命令1のオペ
ランドアクセス時に、キャッシュミスが起き、主記憶か
らこのオペランドを読み出す処理が開始されても、この
間に、後続の命令2、命令3及びそれ以降の命令が実行
される。
る場合の動作例を示している。この場合、命令1のオペ
ランドアクセス時に、キャッシュミスが起き、主記憶か
らこのオペランドを読み出す処理が開始されても、この
間に、後続の命令2、命令3及びそれ以降の命令が実行
される。
【0008】このため、ヒットアンダーミスを行ってい
る情報処理装置は、キャッシュミスが生じても、そのペ
ナルティを隠すことができる。
る情報処理装置は、キャッシュミスが生じても、そのペ
ナルティを隠すことができる。
【0009】図3はヒットアンダーミスを行っている従
来技術による情報処理装置のライトバック方式のキャッ
シュ部の構成を示すブロック図である。図3において、
101、102、107はセレクタ、103はキャッシ
ュタグ部、104はキャッシュデータ部、105はキャ
ッシュ制御回路、106はラッチである。
来技術による情報処理装置のライトバック方式のキャッ
シュ部の構成を示すブロック図である。図3において、
101、102、107はセレクタ、103はキャッシ
ュタグ部、104はキャッシュデータ部、105はキャ
ッシュ制御回路、106はラッチである。
【0010】以下、図3を参照して、ヒットアンダーミ
スを行っている従来技術による情報処理装置のキャッシ
ュ部の動作を説明する。
スを行っている従来技術による情報処理装置のキャッシ
ュ部の動作を説明する。
【0011】図3において、キャッシュは、キャッシュ
タグ部103とキャッシュデータ部104とにより構成
され、キャッシュタグ部103は、オペランドアドレス
とオペランド制御情報とにより構成されている。セレク
タ101は、キャッシュ制御回路105により制御さ
れ、命令によりオペランドが参照される場合、オペラン
ドアドレスを選択する。この結果、キャッシュタグ部1
03及びキャッシュデータ部104は、セレクタ101
により選択されたオペランドアドレスにより参照され
る。
タグ部103とキャッシュデータ部104とにより構成
され、キャッシュタグ部103は、オペランドアドレス
とオペランド制御情報とにより構成されている。セレク
タ101は、キャッシュ制御回路105により制御さ
れ、命令によりオペランドが参照される場合、オペラン
ドアドレスを選択する。この結果、キャッシュタグ部1
03及びキャッシュデータ部104は、セレクタ101
により選択されたオペランドアドレスにより参照され
る。
【0012】キャッシュ制御回路105には、前述で参
照されたキャッシュタグ部103の出力及び参照オペラ
ンドタイプ、すなわち、キャッシュに対するアクセスが
読み出しアクセスか書き込みアクセスかがに入力され
る。キャッシュ制御回路105は、参照されたオペラン
ドがキャッシュに存在しない場合、主記憶制御装置に対
して、オペランドの読み出し要求を発行する。また、キ
ャッシュ制御回路105は、キャッシュを参照したオペ
ランドアドレスをラッチ106に保持し、前記オペラン
ド読み出し要求に対応するアドレスとしてラッチ106
から出力させる。
照されたキャッシュタグ部103の出力及び参照オペラ
ンドタイプ、すなわち、キャッシュに対するアクセスが
読み出しアクセスか書き込みアクセスかがに入力され
る。キャッシュ制御回路105は、参照されたオペラン
ドがキャッシュに存在しない場合、主記憶制御装置に対
して、オペランドの読み出し要求を発行する。また、キ
ャッシュ制御回路105は、キャッシュを参照したオペ
ランドアドレスをラッチ106に保持し、前記オペラン
ド読み出し要求に対応するアドレスとしてラッチ106
から出力させる。
【0013】図示しない主記憶制御装置は、前述でキャ
ッシュ制御回路105から発行されたオペランドの読み
出し要求と、ラッチ105からのオペランドアドレスと
により、図示しない主記憶からオペランドを読み出す処
理を実行する。
ッシュ制御回路105から発行されたオペランドの読み
出し要求と、ラッチ105からのオペランドアドレスと
により、図示しない主記憶からオペランドを読み出す処
理を実行する。
【0014】前述した主記憶からのオペランドの読み出
し処理の実行により、前述のオペランド読み出し要求に
対する応答及びオペランドデータが到着すると、キャッ
シュ制御回路105は、セレクタ107を制御して読み
出されて到着したオペランドデータを選択させ、セレク
タ107の出力をレジスタ書き込みデータ、すなわち、
ロードオペランドデータとして、キャッシュにアクセス
を行った要求元に送出する。
し処理の実行により、前述のオペランド読み出し要求に
対する応答及びオペランドデータが到着すると、キャッ
シュ制御回路105は、セレクタ107を制御して読み
出されて到着したオペランドデータを選択させ、セレク
タ107の出力をレジスタ書き込みデータ、すなわち、
ロードオペランドデータとして、キャッシュにアクセス
を行った要求元に送出する。
【0015】また、キャッシュ制御回路105は、セレ
クタ101にラッチ106の出力を選択させ、セレクタ
102に読み出しオペランドデータを選択させると共
に、キャッシュタグ部103の出力により、キャッシュ
データ部104への書き込みが可能であるか否かをチェ
ックし、可能であれば、セレクタ102の出力である読
み出しオペランドデータをキャッシュデータ部104
に、セレクタ101の出力である読み出しオペランドア
ドレス及び制御情報をキャッシュタグ部103に格納す
る。
クタ101にラッチ106の出力を選択させ、セレクタ
102に読み出しオペランドデータを選択させると共
に、キャッシュタグ部103の出力により、キャッシュ
データ部104への書き込みが可能であるか否かをチェ
ックし、可能であれば、セレクタ102の出力である読
み出しオペランドデータをキャッシュデータ部104
に、セレクタ101の出力である読み出しオペランドア
ドレス及び制御情報をキャッシュタグ部103に格納す
る。
【0016】前述のような主記憶からのオペランド読み
出しの間、キャッシュ制御回路105は、セレクタ10
1にオペランドアドレス入力を、セレクタ102にスト
アオペランドデータ入力を、セレクタ107にキャッシ
ュデータ部104の出力を選択させ、後続の命令による
オペランドの参照を可能にしている。
出しの間、キャッシュ制御回路105は、セレクタ10
1にオペランドアドレス入力を、セレクタ102にスト
アオペランドデータ入力を、セレクタ107にキャッシ
ュデータ部104の出力を選択させ、後続の命令による
オペランドの参照を可能にしている。
【0017】前述の従来技術は、ヒットアンダーミスを
行っているとき、キャッシュミスしたオペランドと後続
のストア命令のオペランドとの間でキャッシュ上のロケ
ーションが競合すると、読み出しオペランドが到着した
ときに、キャッシュから後続のストア命令の結果を追い
出す処理が必要になるものである。このため、前述の従
来技術は、このキャッシュからの後続のストア命令の結
果の追い出しの間、後続の命令によるオペランドのキャ
ッシュ参照を行うことができないために、後続の命令の
処理が待たされ、情報処理装置の性能を低下させてしま
うという問題点を生じる。
行っているとき、キャッシュミスしたオペランドと後続
のストア命令のオペランドとの間でキャッシュ上のロケ
ーションが競合すると、読み出しオペランドが到着した
ときに、キャッシュから後続のストア命令の結果を追い
出す処理が必要になるものである。このため、前述の従
来技術は、このキャッシュからの後続のストア命令の結
果の追い出しの間、後続の命令によるオペランドのキャ
ッシュ参照を行うことができないために、後続の命令の
処理が待たされ、情報処理装置の性能を低下させてしま
うという問題点を生じる。
【0018】以下、前述した競合が発生した場合の動作
を図3を参照して説明する。
を図3を参照して説明する。
【0019】キャッシュミスにより主記憶からのオペラ
ンドの読み出し中に後続のストア命令が実行されると、
キャッシュ制御回路105は、そのストア命令のストア
オペランドデータをセレクタ102を通じてキャッシュ
データ部104に書き込む。また、ライトバック方式の
キャッシュの場合、これと共に、キャッシュ制御回路1
05は、キャッシュタグ部103に対して、ストアデー
タの書き込みが行われたことを示す制御情報を格納す
る。
ンドの読み出し中に後続のストア命令が実行されると、
キャッシュ制御回路105は、そのストア命令のストア
オペランドデータをセレクタ102を通じてキャッシュ
データ部104に書き込む。また、ライトバック方式の
キャッシュの場合、これと共に、キャッシュ制御回路1
05は、キャッシュタグ部103に対して、ストアデー
タの書き込みが行われたことを示す制御情報を格納す
る。
【0020】その後、前記オペランド読み出し要求に対
する応答及びオペランドデータが主記憶から到着する
と、キャッシュ制御回路105は、セレクタ101にラ
ッチ106の出力を選択させ、キャッシュタグ部103
の出力と主記憶からのオペランドデータの制御情報とを
比較することにより、主記憶からのオペランドデータの
キャッシュデータ部104への書き込みが可能であるか
否かをチェックする。
する応答及びオペランドデータが主記憶から到着する
と、キャッシュ制御回路105は、セレクタ101にラ
ッチ106の出力を選択させ、キャッシュタグ部103
の出力と主記憶からのオペランドデータの制御情報とを
比較することにより、主記憶からのオペランドデータの
キャッシュデータ部104への書き込みが可能であるか
否かをチェックする。
【0021】前述のチェックで、読み出しオペランドを
格納するロケーションに、後続のストア命令の結果の書
き込みが行われていた場合、主記憶から到着したオペラ
ンドデータを直ちに格納することはできない。なぜな
ら、後続のストア命令の結果が失われてしまうからであ
る。
格納するロケーションに、後続のストア命令の結果の書
き込みが行われていた場合、主記憶から到着したオペラ
ンドデータを直ちに格納することはできない。なぜな
ら、後続のストア命令の結果が失われてしまうからであ
る。
【0022】そこで、キャッシュ制御回路105は、前
記後続のストア命令の結果をキャッシュから追い出し
て、主記憶に書き込むためオペランド書き込み要求を発
行し、これと共に、後続のストア命令の結果であるキャ
ッシュデータ部104の出力を、書き込みオペランドデ
ータとして主記憶に送る。その後、キャッシュ制御回路
105は、前記読み出し要求に対する主記憶からのオペ
ランドデータをキャッシュデータ部に格納する。
記後続のストア命令の結果をキャッシュから追い出し
て、主記憶に書き込むためオペランド書き込み要求を発
行し、これと共に、後続のストア命令の結果であるキャ
ッシュデータ部104の出力を、書き込みオペランドデ
ータとして主記憶に送る。その後、キャッシュ制御回路
105は、前記読み出し要求に対する主記憶からのオペ
ランドデータをキャッシュデータ部に格納する。
【0023】なお、前述のようなキャッシュミスにより
主記憶からオペランドを読み出している間に、キャッシ
ュ参照を含む後続の命令の処理を実行することのできる
情報処理装置に関する従来技術として、例えば、COMPCO
N SPRING '92 Eric Delano他“A High Specd Superscal
ar PARiSC Processor”の“Cache Optimizations”項に
記載された技術が知られている。
主記憶からオペランドを読み出している間に、キャッシ
ュ参照を含む後続の命令の処理を実行することのできる
情報処理装置に関する従来技術として、例えば、COMPCO
N SPRING '92 Eric Delano他“A High Specd Superscal
ar PARiSC Processor”の“Cache Optimizations”項に
記載された技術が知られている。
【0024】
【発明が解決しようとする課題】前述したように従来技
術は、ヒットアンダーミスを行っているとき、キャッシ
ュミスしたオペランドと後続のストア命令のオペランド
との間でキャッシュ上のロケーションが競合すると、読
み出しオペランドが到着したときに、キャッシュから後
続のストア命令の結果を追い出す処理が必要になるもの
である。
術は、ヒットアンダーミスを行っているとき、キャッシ
ュミスしたオペランドと後続のストア命令のオペランド
との間でキャッシュ上のロケーションが競合すると、読
み出しオペランドが到着したときに、キャッシュから後
続のストア命令の結果を追い出す処理が必要になるもの
である。
【0025】そして、前述の従来技術は、このキャッシ
ュからの後続のストア命令の結果の追い出しの間、後続
の命令によるオペランドのキャッシュ参照を行うことが
できないために、後続の命令の処理が待たされ、情報処
理装置の性能を低下させてしまうという問題点を生じて
しまうものである。
ュからの後続のストア命令の結果の追い出しの間、後続
の命令によるオペランドのキャッシュ参照を行うことが
できないために、後続の命令の処理が待たされ、情報処
理装置の性能を低下させてしまうという問題点を生じて
しまうものである。
【0026】本発明の目的は、前述した従来技術の問題
点を解決し、ライトバック方式のキャッシュでヒットア
ンダーミスを行っている情報処理装置において、キャッ
シュミスしたオペランドと後続の命令のオペランドとの
間でキャッシュ上のロケーションが競合した場合にも、
処理性能を低下させることなく命令の処理を続けること
ができる情報処理装置を提供することにある。
点を解決し、ライトバック方式のキャッシュでヒットア
ンダーミスを行っている情報処理装置において、キャッ
シュミスしたオペランドと後続の命令のオペランドとの
間でキャッシュ上のロケーションが競合した場合にも、
処理性能を低下させることなく命令の処理を続けること
ができる情報処理装置を提供することにある。
【0027】
【課題を解決するための手段】本発明によれば前記目的
は、ライトバック方式のキャッシュにおいて、キャッシ
ュミスしたオペランドと後続の命令のオペランドとのア
ドレス依存関係を検出し、キャッシュ上ロケーションが
競合していないか、または、競合していても後続の命令
の参照が読み出しである場合に、後続命令の参照をキャ
ッシュに対して行い、キャッシュ上のロケーションが競
合しており、かつ、後続の命令の参照が書き込みである
場合に、後続の命令の参照をキャッシュを介することな
く、直接主記憶に対して行うようにすることにより達成
される。
は、ライトバック方式のキャッシュにおいて、キャッシ
ュミスしたオペランドと後続の命令のオペランドとのア
ドレス依存関係を検出し、キャッシュ上ロケーションが
競合していないか、または、競合していても後続の命令
の参照が読み出しである場合に、後続命令の参照をキャ
ッシュに対して行い、キャッシュ上のロケーションが競
合しており、かつ、後続の命令の参照が書き込みである
場合に、後続の命令の参照をキャッシュを介することな
く、直接主記憶に対して行うようにすることにより達成
される。
【0028】
【作用】本発明は、キャッシュミスしたオペランドと後
続の命令のオペランドの間でキャッシュ上のロケーショ
ンが競合した場合、後続のストア命令の書き込みをキャ
ッシュを介さずに直接主記憶に対して行っている。この
ため、前記キャッシュミスしたオペランドが主記憶から
到着したとき、キャッシュには前記後続のストア命令の
結果が格納されていない。
続の命令のオペランドの間でキャッシュ上のロケーショ
ンが競合した場合、後続のストア命令の書き込みをキャ
ッシュを介さずに直接主記憶に対して行っている。この
ため、前記キャッシュミスしたオペランドが主記憶から
到着したとき、キャッシュには前記後続のストア命令の
結果が格納されていない。
【0029】従って、本発明は、後続のストア命令の結
果をキャッシュから追い出す処理を不要とすることがで
き、前記キャッシュミスにより主記憶から到着したオペ
ランドを直ちにキャッシュに格納することができ、この
結果、後続命令によるキャッシュの参照を妨げることを
防止することができる。
果をキャッシュから追い出す処理を不要とすることがで
き、前記キャッシュミスにより主記憶から到着したオペ
ランドを直ちにキャッシュに格納することができ、この
結果、後続命令によるキャッシュの参照を妨げることを
防止することができる。
【0030】
【実施例】以下、本発明による情報処理装置の一実施例
を図面により詳細に説明する。
を図面により詳細に説明する。
【0031】図1は本発明の一実施例による情報処理装
置のライトバック方式のキャッシュ部の構成を示すブロ
ック図である。図1において、108はラッチ、109
はセレクタ、110はアドレス比較器であり、他の符号
は図3の場合と同一である。
置のライトバック方式のキャッシュ部の構成を示すブロ
ック図である。図1において、108はラッチ、109
はセレクタ、110はアドレス比較器であり、他の符号
は図3の場合と同一である。
【0032】図1において、キャッシュは、従来技術の
場合と同様に、キャッシュタグ部103とキャッシュデ
ータ部104とにより構成され、キャッシュタグ部10
3は、オペランドアドレスとオペランド制御情報とによ
り構成されている。セレクタ101は、キャッシュ制御
回路105により制御され、命令によりオペランドが参
照される場合、オペランドアドレスを選択する。この結
果、キャッシュタグ部103及びキャッシュデータ部1
04は、セレクタ101により選択されたオペランドア
ドレスにより参照される。
場合と同様に、キャッシュタグ部103とキャッシュデ
ータ部104とにより構成され、キャッシュタグ部10
3は、オペランドアドレスとオペランド制御情報とによ
り構成されている。セレクタ101は、キャッシュ制御
回路105により制御され、命令によりオペランドが参
照される場合、オペランドアドレスを選択する。この結
果、キャッシュタグ部103及びキャッシュデータ部1
04は、セレクタ101により選択されたオペランドア
ドレスにより参照される。
【0033】キャッシュ制御回路105には、前述で参
照されたキャッシュタグ部103の出力及び参照オペラ
ンドタイプ、すなわち、キャッシュに対するアクセスが
読み出しアクセスか書き込みアクセスかがに入力され
る。キャッシュ制御回路105は、参照されたオペラン
ドがキャッシュに存在しない場合、主記憶制御装置に対
して、オペランドの読み出し要求を発行する。また、キ
ャッシュ制御回路105は、キャッシュを参照したオペ
ランドアドレスをラッチ106に保持し、前記オペラン
ド読み出し要求に対応するアドレスとしてラッチ106
から出力させる。
照されたキャッシュタグ部103の出力及び参照オペラ
ンドタイプ、すなわち、キャッシュに対するアクセスが
読み出しアクセスか書き込みアクセスかがに入力され
る。キャッシュ制御回路105は、参照されたオペラン
ドがキャッシュに存在しない場合、主記憶制御装置に対
して、オペランドの読み出し要求を発行する。また、キ
ャッシュ制御回路105は、キャッシュを参照したオペ
ランドアドレスをラッチ106に保持し、前記オペラン
ド読み出し要求に対応するアドレスとしてラッチ106
から出力させる。
【0034】図示しない主記憶制御装置は、前述でキャ
ッシュ制御回路105から発行されたオペランドの読み
出し要求と、ラッチ105からのオペランドアドレスと
により、図示しない主記憶からオペランドを読み出す処
理を実行する。
ッシュ制御回路105から発行されたオペランドの読み
出し要求と、ラッチ105からのオペランドアドレスと
により、図示しない主記憶からオペランドを読み出す処
理を実行する。
【0035】前述した主記憶からのオペランドの読み出
し処理の実行により、前述のオペランド読み出し要求に
対する応答及びオペランドデータが到着すると、キャッ
シュ制御回路105は、セレクタ107を制御して読み
出されて到着したオペランドデータを選択させ、セレク
タ107の出力をレジスタ書き込みデータ、すなわち、
ロードオペランドデータとして、キャッシュにアクセス
を行った要求元に送出する。
し処理の実行により、前述のオペランド読み出し要求に
対する応答及びオペランドデータが到着すると、キャッ
シュ制御回路105は、セレクタ107を制御して読み
出されて到着したオペランドデータを選択させ、セレク
タ107の出力をレジスタ書き込みデータ、すなわち、
ロードオペランドデータとして、キャッシュにアクセス
を行った要求元に送出する。
【0036】また、キャッシュ制御回路105は、セレ
クタ101にラッチ106の出力を選択させ、セレクタ
102に読み出しオペランドデータを選択させると共
に、キャッシュタグ部103の出力により、キャッシュ
データ部104への書き込みが可能であるか否かをチェ
ックし、可能であれば、セレクタ102の出力である読
み出しオペランドデータをキャッシュデータ部104
に、セレクタ101の出力である読み出しオペランドア
ドレス及び制御情報をキャッシュタグ部103に格納す
る。
クタ101にラッチ106の出力を選択させ、セレクタ
102に読み出しオペランドデータを選択させると共
に、キャッシュタグ部103の出力により、キャッシュ
データ部104への書き込みが可能であるか否かをチェ
ックし、可能であれば、セレクタ102の出力である読
み出しオペランドデータをキャッシュデータ部104
に、セレクタ101の出力である読み出しオペランドア
ドレス及び制御情報をキャッシュタグ部103に格納す
る。
【0037】前述のような主記憶からのオペランド読み
出しの間、キャッシュ制御回路105は、セレクタ10
1にオペランドアドレス入力を、セレクタ102にスト
アオペランドデータ入力を、セレクタ107にキャッシ
ュデータ部104の出力を選択させ、後続の命令による
オペランドの参照を可能にしている。
出しの間、キャッシュ制御回路105は、セレクタ10
1にオペランドアドレス入力を、セレクタ102にスト
アオペランドデータ入力を、セレクタ107にキャッシ
ュデータ部104の出力を選択させ、後続の命令による
オペランドの参照を可能にしている。
【0038】次に、このオペランド読み出しの間、後続
の命令によるオペランドの参照が実行された場合の動作
について説明する。
の命令によるオペランドの参照が実行された場合の動作
について説明する。
【0039】前記オペランド読み出し中に後続の命令が
実行されると、後続の命令のオペランドアドレスがセレ
クタ101により選択され、このオペランドアドレスと
前記読み出し中のラッチ106内のオペランドアドレス
とがアドレス比較器110により比較される。アドレス
比較器110の出力は、両アドレスがキャッシュ上のロ
ケーションで競合しているか否かを示している。
実行されると、後続の命令のオペランドアドレスがセレ
クタ101により選択され、このオペランドアドレスと
前記読み出し中のラッチ106内のオペランドアドレス
とがアドレス比較器110により比較される。アドレス
比較器110の出力は、両アドレスがキャッシュ上のロ
ケーションで競合しているか否かを示している。
【0040】キャッシュ制御回路105は、ロケーショ
ンが競合していない場合、後続のオペランドが、ロード
であるかストアであるかに関わらず、通常通りにキャッ
シュの参照を行う。すなわち、この場合、キャッシュ制
御回路105は、後続の命令がストア命令である場合、
そのストアオペランドデータをセレクタ102を通じて
キャッシュデータ部104に書き込む。また、キャッシ
ュ制御回路105は、これと同時に、ストアデータの書
き込みが行われたことを示す制御情報をキャッシュタグ
部103に格納する。また、キャッシュ制御回路105
は、ロケーションが競合している場合でも、後続のオペ
ランドがストアであれば、通常通りにキャッシュの参照
を行う。
ンが競合していない場合、後続のオペランドが、ロード
であるかストアであるかに関わらず、通常通りにキャッ
シュの参照を行う。すなわち、この場合、キャッシュ制
御回路105は、後続の命令がストア命令である場合、
そのストアオペランドデータをセレクタ102を通じて
キャッシュデータ部104に書き込む。また、キャッシ
ュ制御回路105は、これと同時に、ストアデータの書
き込みが行われたことを示す制御情報をキャッシュタグ
部103に格納する。また、キャッシュ制御回路105
は、ロケーションが競合している場合でも、後続のオペ
ランドがストアであれば、通常通りにキャッシュの参照
を行う。
【0041】キャッシュ制御回路105は、アドレス比
較器110の出力がロケーションの競合を示しており、
かつ、後続の命令がストア命令である場合、そのストア
オペランドデータをキャッシュデータ部104に書き込
まず、もし、ストアオペランドに対応するアドレスがす
でにキャッシュに存在していれば、これを無効化するた
め、キャッシュタグ部103に制御情報を書き込む。そ
して、キャッシュ制御部105は、オペランド書き込み
要求を直接主記憶に対して発行する。
較器110の出力がロケーションの競合を示しており、
かつ、後続の命令がストア命令である場合、そのストア
オペランドデータをキャッシュデータ部104に書き込
まず、もし、ストアオペランドに対応するアドレスがす
でにキャッシュに存在していれば、これを無効化するた
め、キャッシュタグ部103に制御情報を書き込む。そ
して、キャッシュ制御部105は、オペランド書き込み
要求を直接主記憶に対して発行する。
【0042】キャッシュ制御部105は、このとき、オ
ペランドアドレスをラッチ106に保持させ、ストアオ
ペランドをラッチ108に保持させ、セレクタ109に
ラッチ108を選択させ、ラッチ107の出力と共に、
それぞれ書き込みオペランドデータ、書き込みオペラン
ドアドレスとして主記憶制御装置へ送出する。
ペランドアドレスをラッチ106に保持させ、ストアオ
ペランドをラッチ108に保持させ、セレクタ109に
ラッチ108を選択させ、ラッチ107の出力と共に、
それぞれ書き込みオペランドデータ、書き込みオペラン
ドアドレスとして主記憶制御装置へ送出する。
【0043】前述したように本発明の一実施例は、キャ
ッシュミスしたオペランドと後続の命令のオペランドの
間でキャッシュ上のロケーションが競合した場合、後続
の命令がストア命令であれば、その書き込みをキャッシ
ュを介さずに直接主記憶に対して行っているので、後続
のストア命令の結果をキャッシュから追い出す処理を不
要とすることができる。
ッシュミスしたオペランドと後続の命令のオペランドの
間でキャッシュ上のロケーションが競合した場合、後続
の命令がストア命令であれば、その書き込みをキャッシ
ュを介さずに直接主記憶に対して行っているので、後続
のストア命令の結果をキャッシュから追い出す処理を不
要とすることができる。
【0044】これにより、本発明の一実施例は、前記キ
ャッシュミスにより主記憶から到着したオペランドを直
ちにキャッシュに格納することができ、この結果、後続
命令によるキャッシュの参照を妨げることを防止するこ
とができる。
ャッシュミスにより主記憶から到着したオペランドを直
ちにキャッシュに格納することができ、この結果、後続
命令によるキャッシュの参照を妨げることを防止するこ
とができる。
【0045】
【発明の効果】以上説明したように本発明によれば、ラ
イトバック方式のキャッシュにおいて、ヒットアンダー
ミスを行っている場合に、キャッシュミスしたオペラン
ドと後続のストア命令のオペランドとの間でキャッシュ
上のロケーションが競合した場合であっても、後続のス
トア命令のオペランドをキャッシュを介さずに直接主記
憶に対して書き込まむことができ、これによりキャッシ
ュミスしたオペランド読み出しが到着した後に、後続の
ストア命令の結果をキャッシュから追い出すという処理
を不要とすることができ、後続命令のキャッシュ参照を
続行できるため、情報処理装置の性能の低下を防止する
ことができる。
イトバック方式のキャッシュにおいて、ヒットアンダー
ミスを行っている場合に、キャッシュミスしたオペラン
ドと後続のストア命令のオペランドとの間でキャッシュ
上のロケーションが競合した場合であっても、後続のス
トア命令のオペランドをキャッシュを介さずに直接主記
憶に対して書き込まむことができ、これによりキャッシ
ュミスしたオペランド読み出しが到着した後に、後続の
ストア命令の結果をキャッシュから追い出すという処理
を不要とすることができ、後続命令のキャッシュ参照を
続行できるため、情報処理装置の性能の低下を防止する
ことができる。
【図1】本発明の一実施例による情報処理装置のライト
バック方式のキャッシュ部の構成を示すブロック図であ
る。
バック方式のキャッシュ部の構成を示すブロック図であ
る。
【図2】従来技術の方式による動作を説明するタイミン
グチャートである。
グチャートである。
【図3】ヒットアンダーミスを行っている従来技術によ
る情報処理装置のキャッシュ部の構成を示すブロック図
である。
る情報処理装置のキャッシュ部の構成を示すブロック図
である。
101、102、107、109 セレクタ 103 キャッシュタグ部 104 キャッシュデータ部 105 キャッシュ制御回路 106、108 ラッチ 110 アドレス比較器
Claims (2)
- 【請求項1】 ライトバック方式のキャッシュを有し、
命令により参照したオペランドが前記キャッシュに存在
しない場合、主記憶から前記オペランドを読み出し、前
記主記憶からの読み出し期間中にオペランドの参照を含
む後続の命令を実行する情報処理装置において、前記主
記憶から読み出し中のオペランドと前記後続の命令の参
照オペランドとのアドレスの依存関係を検出する手段を
備え、該検出手段により前記両オペランドのロケーショ
ンが競合することが検出され、かつ、前記後続の命令の
参照が書き込みである場合、前記後続の命令の参照をキ
ャッシュを介することなく直接主記憶に対して行うこと
を特徴とする情報処理装置。 - 【請求項2】 前記検出手段により前記両オペランドの
ロケーションが競合しないことが検出された場合、また
は、競合することが検出され、かつ、前記後続の命令の
参照が読み出しである場合、前記後続の命令の参照をキ
ャッシュに対して行うことを特徴とする請求項1記載の
情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5328381A JPH07182166A (ja) | 1993-12-24 | 1993-12-24 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5328381A JPH07182166A (ja) | 1993-12-24 | 1993-12-24 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH07182166A true JPH07182166A (ja) | 1995-07-21 |
Family
ID=18209615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5328381A Pending JPH07182166A (ja) | 1993-12-24 | 1993-12-24 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH07182166A (ja) |
-
1993
- 1993-12-24 JP JP5328381A patent/JPH07182166A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3512678B2 (ja) | キャッシュメモリ制御装置および計算機システム | |
US5297281A (en) | Multiple sequence processor system | |
JPS59165144A (ja) | 命令取出し装置 | |
US20080098174A1 (en) | Cache memory having pipeline structure and method for controlling the same | |
JP2004171177A (ja) | キャッシュシステムおよびキャッシュメモリ制御装置 | |
US6581138B2 (en) | Branch-prediction driven instruction prefetch | |
JP2596712B2 (ja) | 近接した分岐命令を含む命令の実行を管理するシステム及び方法 | |
JPH0340047A (ja) | キヤツシユ・ライン・ストア方法 | |
US7191319B1 (en) | System and method for preloading cache memory in response to an occurrence of a context switch | |
US20210294609A1 (en) | Processor and pipeline processing method | |
JP3481425B2 (ja) | キャッシュ装置 | |
JPH07182166A (ja) | 情報処理装置 | |
JPH09218823A (ja) | キャッシュメモリ制御装置 | |
JP4111645B2 (ja) | キャッシュミスした後のメモリバスアクセス制御方式 | |
JP2534662B2 (ja) | 命令キヤツシユ制御方法 | |
JPH07114509A (ja) | メモリアクセス装置 | |
JPH08212068A (ja) | 情報処理装置 | |
JPH0447350A (ja) | 主記憶読み出し応答制御方式 | |
JPH08161226A (ja) | データ先読み制御方法,キャッシュ制御装置およびデータ処理装置 | |
JPH1185613A (ja) | キャッシュメモリ | |
JPH086853A (ja) | 記憶制御方法 | |
JP2902847B2 (ja) | 自己変更コード実行方式 | |
JP2806690B2 (ja) | マイクロプロセッサ | |
JPH03119424A (ja) | 情報処理方式及び装置 | |
JPH07219838A (ja) | データ先読み制御装置 |