JPH01305430A - キャッシュメモリ制御方式 - Google Patents
キャッシュメモリ制御方式Info
- Publication number
- JPH01305430A JPH01305430A JP63136675A JP13667588A JPH01305430A JP H01305430 A JPH01305430 A JP H01305430A JP 63136675 A JP63136675 A JP 63136675A JP 13667588 A JP13667588 A JP 13667588A JP H01305430 A JPH01305430 A JP H01305430A
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- address
- instruction
- operand
- 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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、データ処理装置におけるキャッシュメモリ制
御方式に係り、特にオペランドと命令で別々のキャッシ
ュメモリを備えたデータ処理装置において、オペラント
ストア時のデータの更新性を正しく保障するのに好適な
キャッシュメモリ制御方式に関する。
御方式に係り、特にオペランドと命令で別々のキャッシ
ュメモリを備えたデータ処理装置において、オペラント
ストア時のデータの更新性を正しく保障するのに好適な
キャッシュメモリ制御方式に関する。
キャッシュメモリを備えたデータ処理装置において、パ
イプライン制御を行い、命令を1サイクルピツチで動作
させる目的で、オペランドと命令で別々のキャッシュメ
モリを設ける方式が知られている。この複数キャッシュ
メモリ方式では、命令を1サイクルピツチで動作させて
も、オペランドフェッチはオペランドアクセス用キャッ
シュメモリを用いて、命令フェッチは命令フェッチ用キ
ャッシュメモリを用いて、各々独立に行うことができる
ため、オペランドフェッチ要求と命令フェッチ要求の競
合を回避できるが、両キャッシュメモリにおいてオペラ
ントストア時のデータの更新性を正しく保障する必要が
ある。従来、これは例えば特開昭58−29187号公
報に記載のように、オペラントス1へア時にオペランド
用及び命令用キャッシュメモリの2組を更新することで
実現していた。
イプライン制御を行い、命令を1サイクルピツチで動作
させる目的で、オペランドと命令で別々のキャッシュメ
モリを設ける方式が知られている。この複数キャッシュ
メモリ方式では、命令を1サイクルピツチで動作させて
も、オペランドフェッチはオペランドアクセス用キャッ
シュメモリを用いて、命令フェッチは命令フェッチ用キ
ャッシュメモリを用いて、各々独立に行うことができる
ため、オペランドフェッチ要求と命令フェッチ要求の競
合を回避できるが、両キャッシュメモリにおいてオペラ
ントストア時のデータの更新性を正しく保障する必要が
ある。従来、これは例えば特開昭58−29187号公
報に記載のように、オペラントス1へア時にオペランド
用及び命令用キャッシュメモリの2組を更新することで
実現していた。
上記従来技術は、オペラントストア時にストアデータを
命令用キャッシュメモリに格納するためのデータ線が必
要であり、また、オペランド格納要求と命令フェッチ要
求の競合を防止する為にオペランド格納要求アドレスと
命令フェッチ要求アドレスの比較を行う一致検出回路等
が必要であり、ハードウェアが多くなるという問題があ
った。
命令用キャッシュメモリに格納するためのデータ線が必
要であり、また、オペランド格納要求と命令フェッチ要
求の競合を防止する為にオペランド格納要求アドレスと
命令フェッチ要求アドレスの比較を行う一致検出回路等
が必要であり、ハードウェアが多くなるという問題があ
った。
本発明の目的は、オペランドと命令で別々のキャッシュ
メモリを備えたデータ処理装置において。
メモリを備えたデータ処理装置において。
ハードウェアを増加させることなく、オペランドストア
時のデータの更新性を正しく保障することのできるキャ
ッシュメモリ制御方式を提供することにある。
時のデータの更新性を正しく保障することのできるキャ
ッシュメモリ制御方式を提供することにある。
上記目的を達成するため1本発明のキャッシュメモリ制
御方式においては、主記憶装置にデータを格納する命令
の実行時に、ストアアドレスを用いて前記オペランドア
クセス用キャッシュメモリにストア要求を出すと共に、
該ストアアドレスを用いて前記フェッチ用キャッシュメ
モリにキャンセル要求を出すことを特徴とする。
御方式においては、主記憶装置にデータを格納する命令
の実行時に、ストアアドレスを用いて前記オペランドア
クセス用キャッシュメモリにストア要求を出すと共に、
該ストアアドレスを用いて前記フェッチ用キャッシュメ
モリにキャンセル要求を出すことを特徴とする。
パイプライン制御のデータ処理装置では、命令ユニツ1
〜でも命令分岐用にアドレス演算を行うため、オペラン
ドアドレスを演算するオペランドアドレス演算器とは別
に1分岐命令の分岐先アドレスを演算する分岐先アドレ
ス演算器を備えている。
〜でも命令分岐用にアドレス演算を行うため、オペラン
ドアドレスを演算するオペランドアドレス演算器とは別
に1分岐命令の分岐先アドレスを演算する分岐先アドレ
ス演算器を備えている。
主記憶装置にデータを格納する命令を実行時に。
該データを格納するオペランドアドレスを上記オペラン
ドアドレス演算器で演算すると同時に上記分岐先アドレ
ス演算器でも演算する。そして、オペランドアドレス演
算器で求めたス1〜アアドレスを用いてオペランドアク
セス用キャッシュメモリにストア要求を出すと共に1分
岐先アドレス演算器で求めたス1〜アアドレスを用いて
命令フェッチ用キャッシュメモリにキャンセル要求を出
す。この時、命令フェッチ用キャッシュメモリでは、当
該ス;・アアドレスのデータが存在すれば、そのデータ
を削除し、存在しなければなにもしない様に動作する。
ドアドレス演算器で演算すると同時に上記分岐先アドレ
ス演算器でも演算する。そして、オペランドアドレス演
算器で求めたス1〜アアドレスを用いてオペランドアク
セス用キャッシュメモリにストア要求を出すと共に1分
岐先アドレス演算器で求めたス1〜アアドレスを用いて
命令フェッチ用キャッシュメモリにキャンセル要求を出
す。この時、命令フェッチ用キャッシュメモリでは、当
該ス;・アアドレスのデータが存在すれば、そのデータ
を削除し、存在しなければなにもしない様に動作する。
これにより、オペラントストアする前のデータが命令フ
ェッチ用キャッシュメモリに残ることはなくなり、オペ
ランドアクセス用キャッシュメモリとのデータの不一致
による誤動作を防止できる。また、命令フェッチ用キャ
ッシュメモリにオペランドデータを格納するためのデー
タ線や、ス1〜ア要求と命令フェッチ要求との競合を防
止するためにストア要求アドレスと命令フェッチ要求ア
ドレスの比較を行う回路等は不要となる。
ェッチ用キャッシュメモリに残ることはなくなり、オペ
ランドアクセス用キャッシュメモリとのデータの不一致
による誤動作を防止できる。また、命令フェッチ用キャ
ッシュメモリにオペランドデータを格納するためのデー
タ線や、ス1〜ア要求と命令フェッチ要求との競合を防
止するためにストア要求アドレスと命令フェッチ要求ア
ドレスの比較を行う回路等は不要となる。
以下1本発明の一実施例を図面を用いて詳細に説明する
。
。
第1図は本発明の一実施例を示すブロック図である。第
1図において、1は主記憶装置、2はオペランドアクセ
ス用キャッシュメモリ、3は命令フェッチ用キャッシュ
メモリである。4はキャッシュメモリ2を制御するため
のオペランドアクセス用キャッシュメモリ制御回路、5
はキャッシュメモリ3を制御するための命令フェッチ用
キャッシュメモリ制御回路を示す。14は先読みした命
令を保持する命令先読みバッファ、15.15’は命令
先読みバッファ14から読出した命令を保持する命令レ
ジスタ、IG、 IG’は汎用目的レジスタである。
1図において、1は主記憶装置、2はオペランドアクセ
ス用キャッシュメモリ、3は命令フェッチ用キャッシュ
メモリである。4はキャッシュメモリ2を制御するため
のオペランドアクセス用キャッシュメモリ制御回路、5
はキャッシュメモリ3を制御するための命令フェッチ用
キャッシュメモリ制御回路を示す。14は先読みした命
令を保持する命令先読みバッファ、15.15’は命令
先読みバッファ14から読出した命令を保持する命令レ
ジスタ、IG、 IG’は汎用目的レジスタである。
6は汎用目的レジスタ16から読出したベースおよびイ
ンデクスレジスタとしての内容と命令レジスタ15のデ
ィスブレースメン1一部の加算を行うオペランドアドレ
ス演算器である。、7はアドレス演算器6と同じ構成の
演算器であるが、分岐命令での分岐先アドレスおよびス
トア命令でのオペラントストアドレスの演算時に使用す
る分岐先アドレス演算器である。8はオペランドアドレ
スを保持するオペランドアドレスレジスタ、9はオペラ
ンドアドレスを保持する分岐先アドレスレジスタ、10
は命令先読みバッファ14に命令を先読みするための命
令先読みアドレスレジスタ、11はストアデータレジス
タ、12はフェッチデータレジスタである。
ンデクスレジスタとしての内容と命令レジスタ15のデ
ィスブレースメン1一部の加算を行うオペランドアドレ
ス演算器である。、7はアドレス演算器6と同じ構成の
演算器であるが、分岐命令での分岐先アドレスおよびス
トア命令でのオペラントストアドレスの演算時に使用す
る分岐先アドレス演算器である。8はオペランドアドレ
スを保持するオペランドアドレスレジスタ、9はオペラ
ンドアドレスを保持する分岐先アドレスレジスタ、10
は命令先読みバッファ14に命令を先読みするための命
令先読みアドレスレジスタ、11はストアデータレジス
タ、12はフェッチデータレジスタである。
第1図の実施例について、第2図のタイムチャートを参
照してストア命令実行時の動作を説明する。
照してストア命令実行時の動作を説明する。
第2図中、D、A、L、Eは命令パイプラインの各ステ
ージで、各ステージの処理分担は次の通りである。
ージで、各ステージの処理分担は次の通りである。
D:命令の解読及びオペランドのアドレスを計算する6
A:前記オペランドのアドレスについて、キャッシュメ
モリにデータが存在するかテス1−する。
モリにデータが存在するかテス1−する。
r、二前記オペランドのアドレスについて、キャッシュ
メモリの読出し、書込みを行う。
メモリの読出し、書込みを行う。
E:演算を実行する。
さて、Dステージにおいて、命令先読みバッファ14か
ら読出された命令がストア命令と解読されると、該ス]
−ア命令は命令レジスタ15.15’にセラ1−され、
そのストアアドレスはオペランドアドレス演算器6及び
分岐先アドレス演算器7で同時に演算され、オペランド
アドレスレジスタ8及び分岐先アドレスレジスタ9に同
じ値のストアアドレスが格納される。アドレス計算それ
自体は周知であるので、説明を省略する。
ら読出された命令がストア命令と解読されると、該ス]
−ア命令は命令レジスタ15.15’にセラ1−され、
そのストアアドレスはオペランドアドレス演算器6及び
分岐先アドレス演算器7で同時に演算され、オペランド
アドレスレジスタ8及び分岐先アドレスレジスタ9に同
じ値のストアアドレスが格納される。アドレス計算それ
自体は周知であるので、説明を省略する。
次のAステージでは、制御回路4によりオペランド用キ
ャッシュメモリ2へはストア要求を出し。
ャッシュメモリ2へはストア要求を出し。
該キャッシュメモリ2にオペランドアドレスレジスタ8
で示されるストアアドレスのデータが存在するかテス1
−する。同時に、命令用キャッシュメモリ3へは、制御
回路5によりキャンセル要求を出し、該キャッシュメモ
リ3に分岐先アドレスレジスタ9で示されるストアアド
レスのデータが存在するかテス1−する。
で示されるストアアドレスのデータが存在するかテス1
−する。同時に、命令用キャッシュメモリ3へは、制御
回路5によりキャンセル要求を出し、該キャッシュメモ
リ3に分岐先アドレスレジスタ9で示されるストアアド
レスのデータが存在するかテス1−する。
次のしステージでは、上記Aステージでのデス1−結果
を用いて次の如く処理を行う。オペランド用キャッシュ
メモリ2にストアアドレスのデータが存在する場合、制
御回路4はストアデータレジスタ11の内容を該キャッ
シュメモリ2に書込む。
を用いて次の如く処理を行う。オペランド用キャッシュ
メモリ2にストアアドレスのデータが存在する場合、制
御回路4はストアデータレジスタ11の内容を該キャッ
シュメモリ2に書込む。
一方、制御回路5では、命令用キャッシュメモリ3にス
I・アアドレスのデータが存在する場合は該キャッシュ
メモリ3に分岐アドレスレジスタ9で示されるストアア
ドレスのデータが存在しない様にしくキャンセルする)
、存在しない場合は何もしない。その後、このLステー
ジにおいては、ストアデータレジスタ11の内容がスト
アデータレジスタ13に格納されると共に、主記憶装置
1にストア要求が出される。
I・アアドレスのデータが存在する場合は該キャッシュ
メモリ3に分岐アドレスレジスタ9で示されるストアア
ドレスのデータが存在しない様にしくキャンセルする)
、存在しない場合は何もしない。その後、このLステー
ジにおいては、ストアデータレジスタ11の内容がスト
アデータレジスタ13に格納されると共に、主記憶装置
1にストア要求が出される。
なお、上記実施例では、オペランドアドレス演算器を2
組用いているが、1つのオペランドアドレス演算器で求
まったアドレスを用いてオペランドアクセス用キャッシ
ュメモリ2にストア要求を出すと共に命令フ主ツチ用キ
ャッシュメモリ3にキャンセル要求を出してもよい。
組用いているが、1つのオペランドアドレス演算器で求
まったアドレスを用いてオペランドアクセス用キャッシ
ュメモリ2にストア要求を出すと共に命令フ主ツチ用キ
ャッシュメモリ3にキャンセル要求を出してもよい。
以上の説明から明らかな如く、本発明によれば。
オペランドと命令で別々のキャッシュメモリを備えたデ
ータ処理装置において、オペラントス1ルア時のデータ
の更新性を正しく保障するために、命令フェッチ用キャ
ッシュメモリにオペランドデータを格納するデータ線を
接続しなくて済む6又、本発明ではオペランドアクセス
用キャッシュメモリへのストア要求に同期して命令フェ
ッチ用キャッシュメモリへのキャンセル要求を行えば良
い為。
ータ処理装置において、オペラントス1ルア時のデータ
の更新性を正しく保障するために、命令フェッチ用キャ
ッシュメモリにオペランドデータを格納するデータ線を
接続しなくて済む6又、本発明ではオペランドアクセス
用キャッシュメモリへのストア要求に同期して命令フェ
ッチ用キャッシュメモリへのキャンセル要求を行えば良
い為。
ストア要求と命令フェッチ要求との競合を防止する為の
ストア要求アドレスと命令フェッチ要求アドレスの比較
を行うアドレス−数構出回路等も必要なくなり、ハード
ウェアを軽減できる。
ストア要求アドレスと命令フェッチ要求アドレスの比較
を行うアドレス−数構出回路等も必要なくなり、ハード
ウェアを軽減できる。
近年、データ処理装置において記憶容量が増大した事と
、命令列へのストアがパイプライン動作を乱す要因とな
る事から、プログラムでは命令とデータを分離する傾向
にある為、ストア動作により命令フェッチ用キャッシュ
メモリにキャンセル要求を行っても性能が低下すること
はない。
、命令列へのストアがパイプライン動作を乱す要因とな
る事から、プログラムでは命令とデータを分離する傾向
にある為、ストア動作により命令フェッチ用キャッシュ
メモリにキャンセル要求を行っても性能が低下すること
はない。
3、発明の詳細な説明
第1図は本発明の一実施例を示すブロック図、第2図は
本発明によるスl−ア命令実行時の動作を説明するため
のタイムチャー1−である。
本発明によるスl−ア命令実行時の動作を説明するため
のタイムチャー1−である。
1・・・主記憶装置、 2・・・オペランドアクセス用
キャッシュメモリ 3・・・命令フェッチ用キャッシュ
メモリ、 4・・・オペランドアクセス用キャッシュ
メモリ制御回路、 5・・・命令フェッチ用キャッシュ
メモリ制御回路、 6・・・オペランドアドレス演算器
、 7・・・分岐先アドレス演算器、8・・・オペラ
ンドアドレスレジスタ、 9・・・分岐先アドレスレ
ジスタ、 10・・・命令先読みアドレスレジスタ、
11・・・ス1ヘアデータレジスタ、12・・・フ
ェッチデータレジスタ、 13・・・ス1〜アバッフ
ァレジスタ、 14・・・命令先読みバッファ、
15.15’・・・命令レジスタ、16.16’ ・・
・汎用目的レジスタ。
キャッシュメモリ 3・・・命令フェッチ用キャッシュ
メモリ、 4・・・オペランドアクセス用キャッシュ
メモリ制御回路、 5・・・命令フェッチ用キャッシュ
メモリ制御回路、 6・・・オペランドアドレス演算器
、 7・・・分岐先アドレス演算器、8・・・オペラ
ンドアドレスレジスタ、 9・・・分岐先アドレスレ
ジスタ、 10・・・命令先読みアドレスレジスタ、
11・・・ス1ヘアデータレジスタ、12・・・フ
ェッチデータレジスタ、 13・・・ス1〜アバッフ
ァレジスタ、 14・・・命令先読みバッファ、
15.15’・・・命令レジスタ、16.16’ ・・
・汎用目的レジスタ。
第1図
Claims (1)
- (1)主記憶装置と、該主記憶装置上の命令やデータの
写しを格納するキャッシュメモリとしてオペランドアク
セス用キャッシュメモリと命令フェッチ用キャッシュメ
モリを備えたデータ処理装置において、 前記主記憶装置にデータを格納する命令の実行時に、ス
トアアドレスを用いて前記オペランドアクセス用キャッ
シュメモリにストア要求を出すと共に、該ストアアドレ
スを用いて前記フェッチ用キャッシュメモリにキャンセ
ル要求を出すことを特徴とするキャッシュメモリ制御方
式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63136675A JPH01305430A (ja) | 1988-06-03 | 1988-06-03 | キャッシュメモリ制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63136675A JPH01305430A (ja) | 1988-06-03 | 1988-06-03 | キャッシュメモリ制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01305430A true JPH01305430A (ja) | 1989-12-08 |
Family
ID=15180846
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63136675A Pending JPH01305430A (ja) | 1988-06-03 | 1988-06-03 | キャッシュメモリ制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01305430A (ja) |
-
1988
- 1988-06-03 JP JP63136675A patent/JPH01305430A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6321326B1 (en) | Prefetch instruction specifying destination functional unit and read/write access mode | |
| JPH11212788A (ja) | プロセッサのデータ供給装置 | |
| CN1226700A (zh) | 高性能推测性未对齐加载操作 | |
| JPH01305430A (ja) | キャッシュメモリ制御方式 | |
| US4853889A (en) | Arrangement and method for speeding the operation of branch instructions | |
| JPS6022376B2 (ja) | キャッシュメモリ制御装置 | |
| JPS6232508B2 (ja) | ||
| JPH0552539B2 (ja) | ||
| JPH07114509A (ja) | メモリアクセス装置 | |
| JPH04340145A (ja) | キャッシュメモリ装置 | |
| JPH05173778A (ja) | データ処理装置 | |
| JPH08161226A (ja) | データ先読み制御方法,キャッシュ制御装置およびデータ処理装置 | |
| JPH0248733A (ja) | 情報処理装置 | |
| JPH05257807A (ja) | キャッシュメモリ制御装置 | |
| JPH01255933A (ja) | 掃出し制御方式 | |
| JPH02259945A (ja) | ストア処理方式 | |
| JPH03119424A (ja) | 情報処理方式及び装置 | |
| JP2622026B2 (ja) | 中央処理装置におけるレジスタ書込制御方式 | |
| JPH0490038A (ja) | データ処理装置 | |
| JPS58109952A (ja) | 記憶アクセス処理装置 | |
| JPH0795288B2 (ja) | マイクロコンピュータ | |
| JPS6047615B2 (ja) | 逐次化命令実行制御方式 | |
| JPH01319825A (ja) | 情報処理装置 | |
| JPH03256141A (ja) | 実行確認方式 | |
| JPH03119425A (ja) | 情報処理方式及び装置 |