JPH0926912A - キャッシュメモリのストア処理方式 - Google Patents
キャッシュメモリのストア処理方式Info
- Publication number
- JPH0926912A JPH0926912A JP7196032A JP19603295A JPH0926912A JP H0926912 A JPH0926912 A JP H0926912A JP 7196032 A JP7196032 A JP 7196032A JP 19603295 A JP19603295 A JP 19603295A JP H0926912 A JPH0926912 A JP H0926912A
- Authority
- JP
- Japan
- Prior art keywords
- address
- block
- write request
- request
- read
- 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
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 ストアイン方式のキャッシュを有する情報処
理装置で、ストア処理の高速化を図るとともにデータ転
送の負荷を軽減せしめて性能を向上させる。 【構成】 書き込み要求がオペランドキャッシュ1にミ
スヒットした場合に、該書き込み要求がブロック内の連
続ストア処理であるか否かをブロック内連続ストア処理
判定手段20にて判定し、ブロックの先頭アドレスから
途中のアドレス迄の連続するアドレスへの書き込み要求
である場合には、該途中のアドレスを含むワードから最
終のアドレスを含むワード迄を、ブロックの途中のアド
レスから最終アドレス迄の連続するアドレスへの書き込
み要求である場合には、先頭アドレスを含むワードから
該途中のアドレスを含むワード迄を、リクエスト生成手
段7によりブロックロードリクエストに替わるリクエス
トを生成する事により読み出して処理を行う。また1ブ
ロック分全てを連続ストア処理する場合には、競み出し
処理を行わずに処理を行う。
理装置で、ストア処理の高速化を図るとともにデータ転
送の負荷を軽減せしめて性能を向上させる。 【構成】 書き込み要求がオペランドキャッシュ1にミ
スヒットした場合に、該書き込み要求がブロック内の連
続ストア処理であるか否かをブロック内連続ストア処理
判定手段20にて判定し、ブロックの先頭アドレスから
途中のアドレス迄の連続するアドレスへの書き込み要求
である場合には、該途中のアドレスを含むワードから最
終のアドレスを含むワード迄を、ブロックの途中のアド
レスから最終アドレス迄の連続するアドレスへの書き込
み要求である場合には、先頭アドレスを含むワードから
該途中のアドレスを含むワード迄を、リクエスト生成手
段7によりブロックロードリクエストに替わるリクエス
トを生成する事により読み出して処理を行う。また1ブ
ロック分全てを連続ストア処理する場合には、競み出し
処理を行わずに処理を行う。
Description
【0001】
【産業上の利用分野】本発明は、ストアイン方式のキャ
ッシュメモリを有する情報処理装置のキャッシュメモリ
のストア処理方式に関する。
ッシュメモリを有する情報処理装置のキャッシュメモリ
のストア処理方式に関する。
【0002】
【従来の技術】キャッシュメモリは、中央処理装置(C
PU)と主記憶の速度ギャップを埋め、メモリアクセス
の高速化を実現するためのものであり、主記憶に用いら
れるDRAMよりもアクセスタイムが高速のSRAMを
キャッシュメモリとして用い、キャッシュメモリ上に主
記憶のデータの一部をブロック単位で一時的に保持して
CPUからのアクセスを行うようにしたものである。す
なわち、CPUからデータの読み込み要求が出た場合、
まずキャッシュメモリ上に、要求する主記憶のアドレス
のデータがあるかどうか調べ、データがある場合には
(キャッシュヒット)、キャッシュメモリからCPUの
演算部にデータを転送し、データがない場合のみ(ミス
ヒット)、主記憶からデータを転送してくる。キャッシ
ュメモリ方式においては、キャッシュメモリ上にデータ
があるかどうかを調べる必要があるために、ミスヒット
が発生した場合は、直接主記憶をアクセスする場合に比
べて時間が掛かることとなるが、キャッシュメモリの容
量や制御方式によって、ヒット率は90%以上を得るこ
とが可能である。キャッシュメモリへのデータ転送は、
ブロックという主記憶及びキャッシュメモリを一定の大
きさに区切った単位で行われる。
PU)と主記憶の速度ギャップを埋め、メモリアクセス
の高速化を実現するためのものであり、主記憶に用いら
れるDRAMよりもアクセスタイムが高速のSRAMを
キャッシュメモリとして用い、キャッシュメモリ上に主
記憶のデータの一部をブロック単位で一時的に保持して
CPUからのアクセスを行うようにしたものである。す
なわち、CPUからデータの読み込み要求が出た場合、
まずキャッシュメモリ上に、要求する主記憶のアドレス
のデータがあるかどうか調べ、データがある場合には
(キャッシュヒット)、キャッシュメモリからCPUの
演算部にデータを転送し、データがない場合のみ(ミス
ヒット)、主記憶からデータを転送してくる。キャッシ
ュメモリ方式においては、キャッシュメモリ上にデータ
があるかどうかを調べる必要があるために、ミスヒット
が発生した場合は、直接主記憶をアクセスする場合に比
べて時間が掛かることとなるが、キャッシュメモリの容
量や制御方式によって、ヒット率は90%以上を得るこ
とが可能である。キャッシュメモリへのデータ転送は、
ブロックという主記憶及びキャッシュメモリを一定の大
きさに区切った単位で行われる。
【0003】このようなキャッシュメモリの書き込み制
御方式には、ストアスルー方式とストアイン方式があ
る。ストアスルー方式は、書き込み発生によってキャッ
シュメモリ上に対応するブロックがあれば、書き込むの
と同時に主記憶にも書き込みを行う方式である。これに
対し、ストアイン方式は、書き込み要求があっても主記
憶にはすぐには反映させないで、キャッシュメモリ上だ
けで書き込み動作を終え、ブロックを追い出すときに主
記憶への書き込みを行う方式で、速度向上を図る上では
ストアスルー方式に比べ有利である。
御方式には、ストアスルー方式とストアイン方式があ
る。ストアスルー方式は、書き込み発生によってキャッ
シュメモリ上に対応するブロックがあれば、書き込むの
と同時に主記憶にも書き込みを行う方式である。これに
対し、ストアイン方式は、書き込み要求があっても主記
憶にはすぐには反映させないで、キャッシュメモリ上だ
けで書き込み動作を終え、ブロックを追い出すときに主
記憶への書き込みを行う方式で、速度向上を図る上では
ストアスルー方式に比べ有利である。
【0004】従来のストアスルー方式のキャッシュメモ
リでは、書き込み要求がミスヒットした場合に、ブロッ
クのロードを行って1ブロック分の全ワードをキャッシ
ュメモリ上に書き込み、その後、後続の処理を行ってい
る。
リでは、書き込み要求がミスヒットした場合に、ブロッ
クのロードを行って1ブロック分の全ワードをキャッシ
ュメモリ上に書き込み、その後、後続の処理を行ってい
る。
【0005】
【発明が解決しようとする課題】しかしながら上述した
従来の処理方式では、可変長命令等のストア処理で、キ
ャッシュメモリのブロック内の先頭或いは最終ワードの
み部分書き込みとなり他のワードは全書き込みとなる場
合や、1ブロック全てを更新するような処理の場合に、
結果的に不要となるデータをブロックロードで読み出す
まで後続の処理を待ち合わせていたため、このようなス
トア処理の処理時間が遅くなり、また結果的に不要とな
るデータを転送する事により自プロセッサと主記憶・他
プロセッサとの間の負荷を増大させてしまうという問題
があった。
従来の処理方式では、可変長命令等のストア処理で、キ
ャッシュメモリのブロック内の先頭或いは最終ワードの
み部分書き込みとなり他のワードは全書き込みとなる場
合や、1ブロック全てを更新するような処理の場合に、
結果的に不要となるデータをブロックロードで読み出す
まで後続の処理を待ち合わせていたため、このようなス
トア処理の処理時間が遅くなり、また結果的に不要とな
るデータを転送する事により自プロセッサと主記憶・他
プロセッサとの間の負荷を増大させてしまうという問題
があった。
【0006】本発明は、上記従来の問題点に鑑みてなさ
れたものであり、連続ストア処理の書き込み要求がミス
ヒットした場合のデータ転送効率を高め、ミスヒットの
場合のストア処理の高速化を実現するキャッシュメモリ
のストア処理方式を提供することを目的とする。
れたものであり、連続ストア処理の書き込み要求がミス
ヒットした場合のデータ転送効率を高め、ミスヒットの
場合のストア処理の高速化を実現するキャッシュメモリ
のストア処理方式を提供することを目的とする。
【0007】
【課題を解決するための手段】上記従来の課題を目的を
達成するため本発明のキャッシュのストア処理方式は、
ストアイン方式のキャッシュを有する情報処理装置にお
いて、書き込み要求の目的のアドレスがキャッシュ上に
存在しない場合に、該書き込み要求がキャッシュのブロ
ック内の連続するアドレスへの書き込み要求であるか否
かを判定し、前記ブロックの先頭アドレスから途中のア
ドレス迄の連続するアドレスへの書き込み要求である場
合には、該途中のアドレスを含むワードから最終のアド
レスを含むワード迄を読み出し、前記ブロックの途中の
アドレスから最終アドレス迄の連続するアドレスへの書
き込み要求である場合には、先頭アドレスを含むワード
から該途中のアドレスを含むワード迄を読み出し、前記
ブロックの先頭アドレスから最終アドレス迄の連続する
アドレスへの書き込み要求である場合には、読み出しを
行わないことを特徴として構成されている。
達成するため本発明のキャッシュのストア処理方式は、
ストアイン方式のキャッシュを有する情報処理装置にお
いて、書き込み要求の目的のアドレスがキャッシュ上に
存在しない場合に、該書き込み要求がキャッシュのブロ
ック内の連続するアドレスへの書き込み要求であるか否
かを判定し、前記ブロックの先頭アドレスから途中のア
ドレス迄の連続するアドレスへの書き込み要求である場
合には、該途中のアドレスを含むワードから最終のアド
レスを含むワード迄を読み出し、前記ブロックの途中の
アドレスから最終アドレス迄の連続するアドレスへの書
き込み要求である場合には、先頭アドレスを含むワード
から該途中のアドレスを含むワード迄を読み出し、前記
ブロックの先頭アドレスから最終アドレス迄の連続する
アドレスへの書き込み要求である場合には、読み出しを
行わないことを特徴として構成されている。
【0008】また、本発明キャッシュのストア処理装置
は、ストアイン方式のキャッシュを有する情報処理装置
において、実行される命令を解読し、該命令がキャッシ
ュのブロック内のアドレスへの書き込み要求である場合
に、書き込み要求信号を出力するデコーダと、書き込み
要求の目的のアドレスがキャッシュ上に存在しない場合
に、前記書き込み要求信号が連続するアドレスへの書き
込み要求であるか否かを判定する書き込み要求判定手段
と、前記要求判定手段に入力された書き込み要求信号
が、前記ブロックの先頭アドレスから途中のアドレス迄
の連続するアドレスへの書き込み要求である場合には、
該途中のアドレスを含むワードから最終のアドレスを含
むワード迄の読み出しを主記憶又は他のプロセッサに要
求し、前記ブロックの途中のアドレスから最終アドレス
迄の連続するアドレスへの書き込み要求である場合に
は、先頭アドレスを含むワードから該途中のアドレスを
含むワード迄の読み出しを主記憶又は他のプロセッサに
要求し、前記ブロックの先頭アドレスから最終アドレス
迄の連続するアドレスへの書き込み要求である場合に
は、主記憶又は他のプロセッサに読み出し不要の信号を
出力するリクエスト生成手段とを備えたことを特徴とし
て構成されている。
は、ストアイン方式のキャッシュを有する情報処理装置
において、実行される命令を解読し、該命令がキャッシ
ュのブロック内のアドレスへの書き込み要求である場合
に、書き込み要求信号を出力するデコーダと、書き込み
要求の目的のアドレスがキャッシュ上に存在しない場合
に、前記書き込み要求信号が連続するアドレスへの書き
込み要求であるか否かを判定する書き込み要求判定手段
と、前記要求判定手段に入力された書き込み要求信号
が、前記ブロックの先頭アドレスから途中のアドレス迄
の連続するアドレスへの書き込み要求である場合には、
該途中のアドレスを含むワードから最終のアドレスを含
むワード迄の読み出しを主記憶又は他のプロセッサに要
求し、前記ブロックの途中のアドレスから最終アドレス
迄の連続するアドレスへの書き込み要求である場合に
は、先頭アドレスを含むワードから該途中のアドレスを
含むワード迄の読み出しを主記憶又は他のプロセッサに
要求し、前記ブロックの先頭アドレスから最終アドレス
迄の連続するアドレスへの書き込み要求である場合に
は、主記憶又は他のプロセッサに読み出し不要の信号を
出力するリクエスト生成手段とを備えたことを特徴とし
て構成されている。
【0009】さらに本発明のストアイン方式のキャッシ
ュを有する情報処理装置は、主記憶又は他のプロセッサ
上のデータ又は命令の一部をブロック単位で保持するキ
ャッシュメモリと、データ又は命令のアクセス命令を受
けて前記キャッシュメモリ上に目的のアドレスが存在す
るか否かを判定するヒット検出手段と、実行される命令
を解読し、該命令がキャッシュメモリのブロック内のア
ドレスへの書き込み要求である場合に、書き込み要求信
号を出力するデコーダと、書き込み要求の目的のアドレ
スがキャッシュメモリ上に存在しない場合に、前記書き
込み要求信号が連続するアドレスへの書き込み要求であ
るか否かを判定する書き込み要求判定手段と、前記ヒッ
ト検出手段により前記キャッシュメモリ上に目的のアド
レスが存在しないと判定された場合に、主記憶又は他の
プロセッサから必要なデータ又は命令を含むブロックの
読み込みを要求すると共に、前記要求判定手段に入力さ
れた書き込み要求信号が、前記ブロックの先頭アドレス
から途中のアドレス迄の連続するアドレスへの書き込み
要求である場合には、前記ブロックの読み込み要求に替
えて該途中のアドレスを含むワードから最終のアドレス
を含むワード迄の読み出しを要求し、前記ブロックの途
中のアドレスから最終アドレス迄の連続するアドレスへ
の書き込み要求である場合には、前記ブロックの読み込
み要求に替えて先頭アドレスを含むワードから該途中の
アドレスを含むワード迄の読み出しを要求し、前記ブロ
ックの先頭アドレスから最終アドレス迄の連続するアド
レスへの書き込み要求である場合には、前記ブロックの
読み込み要求に替えて読み出し不要の信号を出力するリ
クエスト生成手段と、前記リクエスト生成手段の要求に
基づく主記憶又は他のプロセッサからのデータ又は命令
を格納するリードバッファと、前記キャッシュメモリ上
に目的のアドレスが存在する場合には該アドレスのデー
タ又は命令を入力し、存在しない場合には前記リードバ
ッファのデータ又は命令を入力して演算を行う演算手段
と、前記演算手段の実行により更新されたデータを前記
キャッシュメモリに格納する更新手段とを備えたことを
特徴として構成されている。
ュを有する情報処理装置は、主記憶又は他のプロセッサ
上のデータ又は命令の一部をブロック単位で保持するキ
ャッシュメモリと、データ又は命令のアクセス命令を受
けて前記キャッシュメモリ上に目的のアドレスが存在す
るか否かを判定するヒット検出手段と、実行される命令
を解読し、該命令がキャッシュメモリのブロック内のア
ドレスへの書き込み要求である場合に、書き込み要求信
号を出力するデコーダと、書き込み要求の目的のアドレ
スがキャッシュメモリ上に存在しない場合に、前記書き
込み要求信号が連続するアドレスへの書き込み要求であ
るか否かを判定する書き込み要求判定手段と、前記ヒッ
ト検出手段により前記キャッシュメモリ上に目的のアド
レスが存在しないと判定された場合に、主記憶又は他の
プロセッサから必要なデータ又は命令を含むブロックの
読み込みを要求すると共に、前記要求判定手段に入力さ
れた書き込み要求信号が、前記ブロックの先頭アドレス
から途中のアドレス迄の連続するアドレスへの書き込み
要求である場合には、前記ブロックの読み込み要求に替
えて該途中のアドレスを含むワードから最終のアドレス
を含むワード迄の読み出しを要求し、前記ブロックの途
中のアドレスから最終アドレス迄の連続するアドレスへ
の書き込み要求である場合には、前記ブロックの読み込
み要求に替えて先頭アドレスを含むワードから該途中の
アドレスを含むワード迄の読み出しを要求し、前記ブロ
ックの先頭アドレスから最終アドレス迄の連続するアド
レスへの書き込み要求である場合には、前記ブロックの
読み込み要求に替えて読み出し不要の信号を出力するリ
クエスト生成手段と、前記リクエスト生成手段の要求に
基づく主記憶又は他のプロセッサからのデータ又は命令
を格納するリードバッファと、前記キャッシュメモリ上
に目的のアドレスが存在する場合には該アドレスのデー
タ又は命令を入力し、存在しない場合には前記リードバ
ッファのデータ又は命令を入力して演算を行う演算手段
と、前記演算手段の実行により更新されたデータを前記
キャッシュメモリに格納する更新手段とを備えたことを
特徴として構成されている。
【0010】この場合に前記書き込み要求判定手段は、
書き込み要求が連続するアドレスへの書き込み要求であ
る場合に、該アドレス情報を前記リクエスト生成手段に
渡すことを特徴とする。
書き込み要求が連続するアドレスへの書き込み要求であ
る場合に、該アドレス情報を前記リクエスト生成手段に
渡すことを特徴とする。
【0011】
【実施例】次に本発明の一実施例について図面を参照し
て説明する。第1図は本発明の一実施例を示すプロセッ
サ内部のオペランドキャッシュ制御周辺のブロック図で
ある。
て説明する。第1図は本発明の一実施例を示すプロセッ
サ内部のオペランドキャッシュ制御周辺のブロック図で
ある。
【0012】初めに図に沿って、オペランドキャッシュ
へのリード処理についての動作を説明する。1はストア
イン方式のオペランドキャッシュであり、メモリアクセ
ス毎に生成されるオペランドアクセスのためのリクエス
トアドレス2により索引される。オペランドキャッシュ
索引の有効性はヒット検出手段3にてキャッシュヒット
の有無が調べられる事により行われ、ヒットしていれば
ヒットデータ4がオペランドとして演算手段5に供給さ
れる。
へのリード処理についての動作を説明する。1はストア
イン方式のオペランドキャッシュであり、メモリアクセ
ス毎に生成されるオペランドアクセスのためのリクエス
トアドレス2により索引される。オペランドキャッシュ
索引の有効性はヒット検出手段3にてキャッシュヒット
の有無が調べられる事により行われ、ヒットしていれば
ヒットデータ4がオペランドとして演算手段5に供給さ
れる。
【0013】またミスヒットであった場合には、ヒット
検出手段3よりミスヒット信号6が出力され、リクエス
ト生成手段7にてブロックロードリクエスト信号8が生
成されて、主記憶・他プロセッサとのインターフェース
手段9を経由して主記憶・他プロセッサに対してブロッ
クロード要求が行われ、所望のデータが得られるまで演
算手段5の処理は待ち合わされる。
検出手段3よりミスヒット信号6が出力され、リクエス
ト生成手段7にてブロックロードリクエスト信号8が生
成されて、主記憶・他プロセッサとのインターフェース
手段9を経由して主記憶・他プロセッサに対してブロッ
クロード要求が行われ、所望のデータが得られるまで演
算手段5の処理は待ち合わされる。
【0014】ブロックロード要求したブロックが主記憶
或いは他プロセッサから返却されると、返却されたデー
タはインターフェース手段9を経由してリードデータ1
0としてリードバッファ11に蓄えられた後、演算手段
5に送られるとともに、インターフェース手段9よりデ
ータ到着完了信号12が処理再開指示手段13に送ら
れ、処理再開指示手段13から演算手段5に対して処理
再開指示信号14が送られる事により、演算手段5によ
る処理が再開される。またリードバッファ11の出力は
オペランドキャッシュ1にも送られ、オペランドキャッ
シュ1に対する登録処理も行われる。
或いは他プロセッサから返却されると、返却されたデー
タはインターフェース手段9を経由してリードデータ1
0としてリードバッファ11に蓄えられた後、演算手段
5に送られるとともに、インターフェース手段9よりデ
ータ到着完了信号12が処理再開指示手段13に送ら
れ、処理再開指示手段13から演算手段5に対して処理
再開指示信号14が送られる事により、演算手段5によ
る処理が再開される。またリードバッファ11の出力は
オペランドキャッシュ1にも送られ、オペランドキャッ
シュ1に対する登録処理も行われる。
【0015】次にオペランドキャッシュへのブロック内
の連続ストア処理ではない、通常のストア処理について
の動作を説明する。オペランドキャッシュ1へのアクセ
スにより、ヒット・ミスヒット何れの場合も演算手段5
に所望のデータが送られる動作については、前記リード
処理の場合と同様である。但し、ミスヒットした場合に
演算手段5にリードバッファ11より送られるときのオ
ペランドキャッシュ1への登録動作は行われない。
の連続ストア処理ではない、通常のストア処理について
の動作を説明する。オペランドキャッシュ1へのアクセ
スにより、ヒット・ミスヒット何れの場合も演算手段5
に所望のデータが送られる動作については、前記リード
処理の場合と同様である。但し、ミスヒットした場合に
演算手段5にリードバッファ11より送られるときのオ
ペランドキャッシュ1への登録動作は行われない。
【0016】演算手段5に送られた上記ヒットデータ4
或いはリードバッファ11の出力は、演算手段5にてス
トアデータが求まると、該ストアデータとオペランドキ
ャッシュ1或いはブロックロードにて得たデータ11と
の結合が行われ、オペランドキャッシュ1を更新するた
めのデータが生成され、ストアバッファ15を経由して
更新手段16に送られ、オペランドキャッシュ1の更新
が行われる。これらリード処理及び通常のストア処理
は、従来のキャッシュメモリにおける動作と同様のもの
である。
或いはリードバッファ11の出力は、演算手段5にてス
トアデータが求まると、該ストアデータとオペランドキ
ャッシュ1或いはブロックロードにて得たデータ11と
の結合が行われ、オペランドキャッシュ1を更新するた
めのデータが生成され、ストアバッファ15を経由して
更新手段16に送られ、オペランドキャッシュ1の更新
が行われる。これらリード処理及び通常のストア処理
は、従来のキャッシュメモリにおける動作と同様のもの
である。
【0017】次に本発明の特徴である可変長命令等のブ
ロック内の連続ストア処理に於いて、キャッシュがミス
ヒットした場合の動作について説明する。なおブロック
内の連続ストア処理でオペランドキャッシュにヒットし
た場合の処理は、前述した通常のリード及びストア処理
でオペランドキャッシュにヒットした場合の処理と同じ
である。
ロック内の連続ストア処理に於いて、キャッシュがミス
ヒットした場合の動作について説明する。なおブロック
内の連続ストア処理でオペランドキャッシュにヒットし
た場合の処理は、前述した通常のリード及びストア処理
でオペランドキャッシュにヒットした場合の処理と同じ
である。
【0018】図2は、ストア処理要求が発生してから連
続ストア処理が終了するまでのフローチャートである。
以下、図1及び図2に沿って本発明の特徴を説明する。
まず、ストアリクエストの発生により、リクエストアド
レス2がオペランドキャッシュ1に存在するかが、ヒッ
ト検出手段3により判定され(ステップ201)、存在
する場合にはキャッシュヒットとなり、ヒットデータ4
が演算手段5に転送される(ステップ202)。このリ
クエストアドレス2によるオペランドキャッシュ索引時
に、命令17を入力とするデコーダ18に於いて、スト
アリクエストである事が解読されると、その解読信号1
9がブロック内連続ストア判定手段20に送られる。ブ
ロック内連続ストア判定手段20には、デコーダ18か
らの解読信号19に加えて、リクエストアドレス2と別
途生成されるストアアドレスからの最終書き込み位置を
示すリクエストレングス21が入力され、キャッシュの
ブロック内の連続ストア処理であるか否かの判定が行わ
れる(ステップ203)。
続ストア処理が終了するまでのフローチャートである。
以下、図1及び図2に沿って本発明の特徴を説明する。
まず、ストアリクエストの発生により、リクエストアド
レス2がオペランドキャッシュ1に存在するかが、ヒッ
ト検出手段3により判定され(ステップ201)、存在
する場合にはキャッシュヒットとなり、ヒットデータ4
が演算手段5に転送される(ステップ202)。このリ
クエストアドレス2によるオペランドキャッシュ索引時
に、命令17を入力とするデコーダ18に於いて、スト
アリクエストである事が解読されると、その解読信号1
9がブロック内連続ストア判定手段20に送られる。ブ
ロック内連続ストア判定手段20には、デコーダ18か
らの解読信号19に加えて、リクエストアドレス2と別
途生成されるストアアドレスからの最終書き込み位置を
示すリクエストレングス21が入力され、キャッシュの
ブロック内の連続ストア処理であるか否かの判定が行わ
れる(ステップ203)。
【0019】そしてストア処理の内容が、キャッシュの
1ブロック全てを更新するストア処理である場合には、
ブロックロードで当該ブロックのデータを一切読み出す
必要が無いため、フルストア検出信号22がリクエスト
生成手段7に送られ(ステップ204)、リクエスト生
成手段7にてブロックロードリクエスト信号8を生成す
る替わりにブロック所有通知信号23が生成され、イン
ターフェース手段9を経由して主記憶及び他プロセッサ
に対して当該ブロックの最新データを所有する事の通知
が行われる(ステップ205)。そして当該ブロックの
1ブロック分のデータが演算手段5により求まると、更
新手段16によりオペランドキャッシュ1に対する登録
処理が行われる。
1ブロック全てを更新するストア処理である場合には、
ブロックロードで当該ブロックのデータを一切読み出す
必要が無いため、フルストア検出信号22がリクエスト
生成手段7に送られ(ステップ204)、リクエスト生
成手段7にてブロックロードリクエスト信号8を生成す
る替わりにブロック所有通知信号23が生成され、イン
ターフェース手段9を経由して主記憶及び他プロセッサ
に対して当該ブロックの最新データを所有する事の通知
が行われる(ステップ205)。そして当該ブロックの
1ブロック分のデータが演算手段5により求まると、更
新手段16によりオペランドキャッシュ1に対する登録
処理が行われる。
【0020】またブロック内連続ストア判定手段20に
て、ブロックの途中のアドレスから最終アドレス迄、ま
たはブロックの先頭アドレスから途中のアドレス迄の連
続ストア処理である事が判定されると、これらの判定情
報がアドレス情報信号24としてリクエスト生成手段7
及び処理再開指示手段13に送られる(ステップ20
6)。アドレス情報信号24を受けたりクエスト生成手
段7では、ブロックロードリクエスト信号の替わりにブ
ロックの内、必要なワードのみを要求するワードリクエ
スト信号25が生成され、インターフェース手段9を経
由して主記憶・他プロセッサに対して送出される(ステ
ップ207)。
て、ブロックの途中のアドレスから最終アドレス迄、ま
たはブロックの先頭アドレスから途中のアドレス迄の連
続ストア処理である事が判定されると、これらの判定情
報がアドレス情報信号24としてリクエスト生成手段7
及び処理再開指示手段13に送られる(ステップ20
6)。アドレス情報信号24を受けたりクエスト生成手
段7では、ブロックロードリクエスト信号の替わりにブ
ロックの内、必要なワードのみを要求するワードリクエ
スト信号25が生成され、インターフェース手段9を経
由して主記憶・他プロセッサに対して送出される(ステ
ップ207)。
【0021】このときブロックの途中のアドレスから最
終アドレス迄の連続ストア処理の場合は、先頭アドレス
を含むワードから途中のアドレスを含むワードに対する
要求が、またブロックの先頭アドレスから途中のアドレ
ス迄の連続ストア処理であった場合には、途中のアドレ
スを含むワードから最終アドレスを含むワードに対する
要求が行われる。該当ワードが返却されると処理再開指
示手段13に対してデータ到着完了信号12が送られる
事により処理が再開され、演算手段5及び更新手段16
では、該当ワードとストアデータとを結合したデータと
全書き込みとなるワードとでオペランドキャッシュ1へ
の登録処理が行われる。
終アドレス迄の連続ストア処理の場合は、先頭アドレス
を含むワードから途中のアドレスを含むワードに対する
要求が、またブロックの先頭アドレスから途中のアドレ
ス迄の連続ストア処理であった場合には、途中のアドレ
スを含むワードから最終アドレスを含むワードに対する
要求が行われる。該当ワードが返却されると処理再開指
示手段13に対してデータ到着完了信号12が送られる
事により処理が再開され、演算手段5及び更新手段16
では、該当ワードとストアデータとを結合したデータと
全書き込みとなるワードとでオペランドキャッシュ1へ
の登録処理が行われる。
【0022】ブロック内連続ストア判定手段20にて、
ストアリクエストが連続処理要求でない通常の処理要求
である場合には、リクエスト生成手段7はブロックロー
ドリクエスト信号を送出してブロックの転送を前述した
手順により主記憶・他のプロセッサに要求する(ステッ
プ208)。
ストアリクエストが連続処理要求でない通常の処理要求
である場合には、リクエスト生成手段7はブロックロー
ドリクエスト信号を送出してブロックの転送を前述した
手順により主記憶・他のプロセッサに要求する(ステッ
プ208)。
【0023】なお上述した全てのオペランドキャッシュ
1への登録処理を行うに当たり、置換ブロックが自プロ
セッサのみに最新データが存在するブロックであった場
合は、登録処理に先立って置換ブロックのデータの掃き
出し処理が行われるが、これはオペランドキャッシュ1
より読み出した掃き出しデータ26をインターフェース
手段9に送出する事により、従来技術の場合と同様にし
て行われる。
1への登録処理を行うに当たり、置換ブロックが自プロ
セッサのみに最新データが存在するブロックであった場
合は、登録処理に先立って置換ブロックのデータの掃き
出し処理が行われるが、これはオペランドキャッシュ1
より読み出した掃き出しデータ26をインターフェース
手段9に送出する事により、従来技術の場合と同様にし
て行われる。
【0024】以上説明したように、可変長命令等でブロ
ックの先頭アドレスから途中のアドレス迄の連続ストア
処理、またブロックの途中のアドレスから最終アドレス
迄の連続ストア処理、及び1ブロック全てを更新する連
続ストア処理が行われる場合に、ミスヒットが発生して
も、主記憶・他プロセッサに対しブロック単位のデータ
転送を要求するのでなく、必要なデータの含まれたワー
ドのみの転送を行う。以上好ましい実施例をあげて本発
明を説明したが、本発明は必ずしも上記実施例に限定さ
れるものではない。
ックの先頭アドレスから途中のアドレス迄の連続ストア
処理、またブロックの途中のアドレスから最終アドレス
迄の連続ストア処理、及び1ブロック全てを更新する連
続ストア処理が行われる場合に、ミスヒットが発生して
も、主記憶・他プロセッサに対しブロック単位のデータ
転送を要求するのでなく、必要なデータの含まれたワー
ドのみの転送を行う。以上好ましい実施例をあげて本発
明を説明したが、本発明は必ずしも上記実施例に限定さ
れるものではない。
【0025】
【発明の効果】以上説明したように本発明は、プロセッ
サにストアイン方式のキャッシュを有する情報処理装置
に於いて、可変長命令等でキャッシュのブロックの先頭
アドレスから途中のアドレス迄の連続ストア処理、ブロ
ックの途中のアドレスから最終アドレス迄の連続ストア
処理、及び1ブロック全てを更新する連続ストア処理の
場合の実行時間を大幅に短縮するとともに、不要なデー
タ転送を省く事により主記憶・他プロセッサとの間のデ
ータ転送の負荷を軽減する効果がある。
サにストアイン方式のキャッシュを有する情報処理装置
に於いて、可変長命令等でキャッシュのブロックの先頭
アドレスから途中のアドレス迄の連続ストア処理、ブロ
ックの途中のアドレスから最終アドレス迄の連続ストア
処理、及び1ブロック全てを更新する連続ストア処理の
場合の実行時間を大幅に短縮するとともに、不要なデー
タ転送を省く事により主記憶・他プロセッサとの間のデ
ータ転送の負荷を軽減する効果がある。
【図1】 本発明の一実施例を示すプロセッサ内部のキ
ャッシュ制御周辺のブロック図である。
ャッシュ制御周辺のブロック図である。
【図2】 ストア処理要求が発生してから主記憶・他の
プロセッサに出力されるまでのフローチャートである。
プロセッサに出力されるまでのフローチャートである。
1 オペランドキャッシュ 2 リクエストアドレス 3 ヒット検出手段 4 ヒットデータ 5 演算手段 6 ミスヒット信号 7 リクエスト生成手段 8 ブロックロードリクエスト信号 9 インターフェース手段 10 リードデータ 11 リードバッファ 12 データ到着完了信号 13 処理再開指示手段 14 処理再開指示信号 15 ストアバッファ 16 更新手段 17 命令 18 デコーダ 19 ストアリクエスト解読信号 20 ブロック内連続ストア判定手段 21 リクエストレングス 22 フルストア検出信号 23 ブロック所有通知信号 24 アドレス情報信号 25 ワードリクエスト信号 26 掃き出しデータ
Claims (4)
- 【請求項1】 ストアイン方式のキャッシュメモリを有
する情報処理装置において、 書き込み要求の目的のアドレスがキャッシュメモリ上に
存在しない場合に、該書き込み要求がキャッシュメモリ
のブロック内の連続するアドレスへの書き込み要求であ
るか否かを判定し、 前記ブロックの先頭アドレスから途中のアドレス迄の連
続するアドレスへの書き込み要求である場合には、該途
中のアドレスを含むワードから最終のアドレスを含むワ
ード迄を読み出し、 前記ブロックの途中のアドレスから最終アドレス迄の連
続するアドレスへの書き込み要求である場合には、先頭
アドレスを含むワードから該途中のアドレスを含むワー
ド迄を読み出し、 前記ブロックの先頭アドレスから最終アドレス迄の連続
するアドレスへの書き込み要求である場合には、読み出
しを行わないことを特徴とするキャッシュメモリのスト
ア処理方式。 - 【請求項2】 ストアイン方式のキャッシュメモリを有
する情報処理装置において、 実行される命令を解読し、該命令がキャッシュメモリの
ブロック内のアドレスへの書き込み要求である場合に、
書き込み要求信号を出力するデコーダと、 書き込み要求の目的のアドレスがキャッシュメモリ上に
存在しない場合に、前記書き込み要求信号が連続するア
ドレスへの書き込み要求であるか否かを判定する書き込
み要求判定手段と、 前記要求判定手段に入力された書き込み要求信号が、前
記ブロックの先頭アドレスから途中のアドレス迄の連続
するアドレスへの書き込み要求である場合には、該途中
のアドレスを含むワードから最終のアドレスを含むワー
ド迄の読み出しを主記憶又は他のプロセッサに要求し、
前記ブロックの途中のアドレスから最終アドレス迄の連
続するアドレスへの書き込み要求である場合には、先頭
アドレスを含むワードから該途中のアドレスを含むワー
ド迄の読み出しを主記憶又は他のプロセッサに要求し、
前記ブロックの先頭アドレスから最終アドレス迄の連続
するアドレスへの書き込み要求である場合には、主記憶
又は他のプロセッサに読み出し不要の信号を出力するリ
クエスト生成手段と、 を備えたことを特徴とするキャッシュメモリのストア処
理方式。 - 【請求項3】 主記憶又は他のプロセッサ上のデータ又
は命令の一部をブロック単位で保持するキャッシュメモ
リと、 データ又は命令のアクセス命令を受けて前記キャッシュ
メモリ上に目的のアドレスが存在するか否かを判定する
ヒット検出手段と、 実行される命令を解読し、該命令がキャッシュメモリの
ブロック内のアドレスへの書き込み要求である場合に、
書き込み要求信号を出力するデコーダと、 書き込み要求の目的のアドレスがキャッシュメモリ上に
存在しない場合に、前記書き込み要求信号が連続するア
ドレスへの書き込み要求であるか否かを判定する書き込
み要求判定手段と、 前記ヒット検出手段により前記キャッシュメモリ上に目
的のアドレスが存在しないと判定された場合に、主記憶
又は他のプロセッサから必要なデータ又は命令を含むブ
ロックの読み込みを要求すると共に、前記要求判定手段
に入力された書き込み要求信号が、前記ブロックの先頭
アドレスから途中のアドレス迄の連続するアドレスへの
書き込み要求である場合には、前記ブロックの読み込み
要求に替えて該途中のアドレスを含むワードから最終の
アドレスを含むワード迄の読み出しを要求し、前記ブロ
ックの途中のアドレスから最終アドレス迄の連続するア
ドレスへの書き込み要求である場合には、前記ブロック
の読み込み要求に替えて先頭アドレスを含むワードから
該途中のアドレスを含むワード迄の読み出しを要求し、
前記ブロックの先頭アドレスから最終アドレス迄の連続
するアドレスへの書き込み要求である場合には、前記ブ
ロックの読み込み要求に替えて読み出し不要の信号を出
力するリクエスト生成手段と、 前記リクエスト生成手段の要求に基づく主記憶又は他の
プロセッサからのデータ又は命令を格納するリードバッ
ファと、 前記キャッシュメモリ上に目的のアドレスが存在する場
合には該アドレスのデータ又は命令を入力し、存在しな
い場合には前記リードバッファのデータ又は命令を入力
して演算を行う演算手段と、 前記演算手段の実行により更新されたデータを前記キャ
ッシュメモリに格納する更新手段と、 を備えたことを特徴とするストアイン方式のキャッシュ
メモリを有する情報処理方式。 - 【請求項4】 前記書き込み要求判定手段は、書き込み
要求が連続するアドレスへの書き込み要求である場合
に、該アドレス情報を前記リクエスト生成手段に渡すこ
とを特徴とする請求項3記載のストアイン方式のキャッ
シュメモリを有する情報処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7196032A JPH0926912A (ja) | 1995-07-07 | 1995-07-07 | キャッシュメモリのストア処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7196032A JPH0926912A (ja) | 1995-07-07 | 1995-07-07 | キャッシュメモリのストア処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0926912A true JPH0926912A (ja) | 1997-01-28 |
Family
ID=16351080
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7196032A Pending JPH0926912A (ja) | 1995-07-07 | 1995-07-07 | キャッシュメモリのストア処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0926912A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011530103A (ja) * | 2008-07-29 | 2011-12-15 | フリースケール セミコンダクター インコーポレイテッド | 書戻し割当アルゴリズムを用いてキャッシュモジュールに対する情報をフェッチするためのシステムおよび方法 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57189385A (en) * | 1981-05-14 | 1982-11-20 | Nec Corp | Cashe storage system |
-
1995
- 1995-07-07 JP JP7196032A patent/JPH0926912A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57189385A (en) * | 1981-05-14 | 1982-11-20 | Nec Corp | Cashe storage system |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011530103A (ja) * | 2008-07-29 | 2011-12-15 | フリースケール セミコンダクター インコーポレイテッド | 書戻し割当アルゴリズムを用いてキャッシュモジュールに対する情報をフェッチするためのシステムおよび方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5353426A (en) | Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete | |
| JP3587591B2 (ja) | キャッシュ・ミスを制御する方法およびその計算機システム | |
| JP3289661B2 (ja) | キャッシュメモリシステム | |
| EP0097790A2 (en) | Apparatus for controlling storage access in a multilevel storage system | |
| US7124252B1 (en) | Method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system | |
| US20100217937A1 (en) | Data processing apparatus and method | |
| JPH0342745A (ja) | 複数キャッシュ・メモリ・アクセス方法 | |
| US6434665B1 (en) | Cache memory store buffer | |
| JPH10501914A (ja) | 共用キャッシュ・メモリ装置 | |
| US20040153610A1 (en) | Cache controller unit architecture and applied method | |
| US20080140934A1 (en) | Store-Through L2 Cache Mode | |
| US7577791B2 (en) | Virtualized load buffers | |
| CN115061953B (zh) | 指定目标进行核内至核外高速缓存内容迁移的处理器及方法 | |
| JPH0926912A (ja) | キャッシュメモリのストア処理方式 | |
| JP3733604B2 (ja) | キャッシュメモリ | |
| JP3295728B2 (ja) | パイプラインキャッシュメモリの更新回路 | |
| JP2002007212A (ja) | キャッシュ・メモリ・システム及びキャッシュ・メモリ制御方法 | |
| JP3757768B2 (ja) | ベクトルメモリアクセス時スカラメモリアクセス命令発行制御方式 | |
| JP4111645B2 (ja) | キャッシュミスした後のメモリバスアクセス制御方式 | |
| JP2002236614A (ja) | キャッシュ制御方法及びキャッシュ制御回路 | |
| KR20040047398A (ko) | 캐쉬 메모리를 이용한 데이터 억세스 방법 | |
| JP3735373B2 (ja) | マイクロコンピュータ | |
| JP3729832B2 (ja) | キャッシュメモリ装置 | |
| JP2703255B2 (ja) | キャッシュメモリ書込み装置 | |
| JPH0421044A (ja) | 1チップキャッシュメモリ |