JPH0423148A - キャッシュ制御装置 - Google Patents

キャッシュ制御装置

Info

Publication number
JPH0423148A
JPH0423148A JP2126864A JP12686490A JPH0423148A JP H0423148 A JPH0423148 A JP H0423148A JP 2126864 A JP2126864 A JP 2126864A JP 12686490 A JP12686490 A JP 12686490A JP H0423148 A JPH0423148 A JP H0423148A
Authority
JP
Japan
Prior art keywords
cache
instruction
address
data
tag
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
Application number
JP2126864A
Other languages
English (en)
Inventor
Tsuyoshi Honkurumada
強 本車田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2126864A priority Critical patent/JPH0423148A/ja
Publication of JPH0423148A publication Critical patent/JPH0423148A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概   要〕 命令用キャッシュとオペランド用キャッシュを有するキ
ャッシュ制御装置に関し、 回路の筒略化を計るとともにメインメモリでの負荷を軽
減したキャッシュ制御装置を徒供することを目的とし、 命令用キャッシュとオペランド用キャッシュの少なくと
も2種類のキャッシュを有する装置において、前記命令
用キャッシュに命令実行時に命令制御装置よりストア要
求が発生した時、前記命令用キャッシュの該当する領域
を無効とする無効手段を設けるように構成する。
〔産業上の利用分野〕
本発明はメインストレージユニットの情報を記憶し、命
令制御装置に対するリアクションを高速に行うキャッシ
ュ装置に係り、さらに詳しくは命令用キャッシュとオペ
ランド用キャッシュを有するキャッシュ制御装置に関す
る。
〔従来の技術〕
コンピューターの高速処理の要求に対応しメインストレ
ージで記憶するプログラムやデータをキャッシュ装置で
記憶し、コンピューターの命令装置(IU:インストラ
クションユニット)からのアクセスに対し、メインスト
レージより高速にして全処理を高速化するキャッシュ制
御が現在多く使用されている。
さらに前述のキャッシュ装置を2つ設け、一方を命令キ
ャッシュ用とし他方をデータキャッシュ用としたシステ
ムが用いられている。命令用キャッシュは命令制御装置
への命令(インストラクション)を記憶しており、命令
制御装置よりアクセスされキャッシュ内に該当するイン
ストラクションが存在する時にはその記憶した命令を命
令制御装置に出力する。またデータ用キャッシュはオペ
ランドや実行した結果を格納するキャッシュであり、前
述の命令用キャッシュとデータ用キャッシュとは並列に
アクセスできる。この並列化により、従来の一個のキャ
ッシュを用いた場合に比べ、その処理はさらに高速化で
きる。
前述の命令用キャッシュやデータ用キャッシュにはスト
アスル一方式とストアイン方式とがある。
ストアスル一方式は格納時にバッファストレージ(キャ
ッシュ)にストアするとともにメインストレージにもス
トアする方式であり、ストアイソ方式はバッファストレ
ージにしかストアしない方式である。前述のデータ用キ
ャッシュと命令用キャッシュとに分けたキャッシュ制御
装置は、この2つの方式により目的によってそれぞれ使
い分けている。例えば高速性を優先するのであるならば
ストアイン方式、また信較性を要求するならばストアス
ル一方式とに分けられる。
第5図は従来のストアイン方式の構成図である。
インストラクションフェッチタグアドレスレジスタ(I
F−TAG)12はインストラクションユニット(命令
制御装置)からの命令等読み出しアドレス、メインメモ
リ (メインストレージ)からツム−ブイ77’ドレス
(MOVE  IN  ADR8)、メインメモリへ読
みだすアドレス(MOVE  OUT  ADR3) 
、無効アドレス(BIADR3)が加わり、図示しない
制御装置により制御され目的に応じ前述の4つのアドレ
スの1個を記憶する。
ムーブイン時にはインストラクションフェッチデータメ
モリ (I F  DATA  MEMORY)16に
記憶させるためムーブインデータ(MOVE  IN 
 DATA)がECC回路13を介しインストラクショ
ンデータムーブインレジスタ14に記憶される。この時
ムーブインアドレスがインストラクションタグアドレス
レジスタ10に記憶され、ECC回路11を介しインス
トラクションフェッチタグメモリ12に入力する。この
インストラクションタグメモリ12へ加わるアドレスは
インストラクションタグアドレスレジスタ10内の下位
アドレスである。
ムーブイン時にはこの下位アドレスによってインストラ
クションフェッチタグメモリ12内に上位アドレスが下
位アドレスで指示される位置に記憶される。またさらに
下位アドレスはインストラクションフェッチデータアド
レスレジスタ15に加わる。そしてこのインストラクシ
ョンフェッチデータアドレスレジスタ15で指示される
アドレスの位置にインストラクションフェッチデータメ
モリ16はインストラクションフェフチデータムーブイ
ンレジスク14に格納したデータを記憶する。一方、ム
ーブアウト時にはインストラクションフェッチタグアド
レスレジスタ10はムーブアウトアドレスを記憶し、下
位アドレスでインストラクションフェッチタグメモリ1
2をアクセスし、記憶しである上位アドレスを読み出す
。そしてECC回路17を介し比較回路18に加える。
またインストラクションタグアドレスレジスタ10の上
位アドレスは比較回路18に加わっており、比較回路1
8はこのインストラクションフェッチタグアドレスレジ
スタ10内の上位アドレスとインストラクションフェッ
チタグメモリ12内で記憶したアドレスとを比較し、ヒ
ント (同一アドレスであった)した時にはヒントウェ
イレジスタ19にヒツト情報を格納し、インストラクシ
ョンフエッチデータメモリ16より出力される記憶した
データをセレクタ20で選択してECC回路21を介し
出力する。またこの出力したデータはムーブアウトバッ
ファ22に格納され、メインストレイシュニット(主記
憶装置)に格納される。ムーブアウト時も前述と同様に
、さらにはインストラクションユニットからの呼び出し
或いは格納においても同様の動作によりデータの格納或
いは呼び出しを行う。
一方、記憶したインストラクションを無効とする時には
、バッファインバリッドアドレスをアドレスレジスタ1
0に格納しIF−TAGメモリ12内のアドレスを無効
とするとともにその対応するデータをも無効とする。
前述した動作はインストラクションフェッチに対応する
ものであり、オペランドに対しても同様の回路を設は構
成している。
〔発明が解決しようとする課題〕
前述した如く、キャッシュの制御方式には2つの方式が
あるが、ストアスル一方式の場合には書き込み要求がお
こる度にキャッシュとメインメモリに書き込みを行うの
でメインメモリのスルーブツトが要求される。またスト
アイン方式の場合は、最新のデータが、キャッシュにし
かないのでキャッシュのソフトエラーなどエラーに対す
る救済の為にECC等のRAS回路を必要とし、またそ
の回路は大きくなる。またストアイン方式の特徴である
ムーブアウトの回路も必要となる。
このようにストアスル一方式は物量は比較的少なくてす
むがメインメモリへの負荷が大きくなり、ストアイン方
式ではメインメモリの負荷があまりかからないかわりに
周辺回路の物量が大きくなるという問題を有している。
本発明は回路の簡略化を計るとともにメインメモリでの
負荷を軽減したキャッシュ制御装置を提供することを目
的とする。
〔課題を解決するための手段〕
第1図は本発明の原理ブロック図である。
本発明は命令用キャッシュ1とオペランド用キャッシュ
2の少なくとも二種類のキャッシュを有する装置にかか
るものである。
無効手段3は前記命令用キャッシュ1に命令実行時に命
令制御装置よりストア要求が発生した時、前記命令用キ
ャッシュの該当する領域を無効とする0例えば命令用キ
ャッシュ1はストアスル一方式のキャッシュであり、オ
ペランド用キャッシュスルー2はストアイン方式のキャ
ッシュである。
〔作   用〕
命令制御装置より命令実行時にストア要求が発生した場
合、命令用キャッシュへの書き込みが生じたならば前記
無効手段3が命令用キャッシュ内に該当する領域を無効
とする。
命令実行時には命令用キャッシュ1への格納はほとんど
発生しないので、無効化しても、命令用キャッシュのヒ
ツト率を低下させることなく行わせることができる。ま
たオペランド用キャッシュをストアイン方式とすること
により、同様に処理の実行を低下させることはなくメイ
ンメモリへの負荷を軽減できる。また命令用キャッシュ
がストアスル一方式であるので回路が簡単化する。
〔実  施  例〕
以下図面を用いて本発明の詳細な説明する。第2図は本
発明の実施例の構成図である。本発明の実施例において
は命令用キャッシュはストアスル一方式を用いオペラン
ド用キャッシュはストアイン方式を用いている。
インストラクションフェッチタグアドレスレジスタ30
にはインストラクションユニット(IU)からのアドレ
ス、ムーブインアドレス(MOVEIN  ADR5)
 、パンファインバリデートアドレス(BI  ADR
3)が加わり、命令制御回路により目的に応じ記憶され
る。インストラクションフェッチタグ(IF−TAG)
アドレスレジスタ30で記憶したアドレスの内、上位ア
ドレスはインストラクションフェッチタグメモリ (I
FTAC;  MEMORY)31に入力しくタグ)、
さらに比較回路(C)31の一方の入力回路端子に加わ
る。インストラクションフェッチタグメモリ31の出力
は比較回路33の他方の入力端子に加わっている。また
インストラクションフェッチタグメモリ31のアドレス
にはインストラクションフェッチタグアドレスレジスタ
30内の下位アドレスが加わっており、この下位アドレ
スによってインストラクションフェッチタグメモリがア
ドレスされる。比較回路33はインストラクションフェ
ッチタグアドレスレジスタ30内で記憶した下位アドレ
スとそのアドレスに対応したインストラクションフェッ
チタグメモリ31内の記憶している上位アドレスとが等
しいか否かを判別する回路であり、等しい時にはインス
トラクションフェッチデータメモリ (I F  DA
TA  MEMORY)34内にデータを記憶している
場合であるのでヒツトとし、インストラクションタグヒ
ツトウェイレジスタ35内にその結果を格納しさらにセ
レクタ36でインストラクションフェッチデータメモリ
34の内容を選択し出力する。この時、インストラクシ
ョンフェッチデータメモリ34はインストラクションフ
ェッチデータアドレスレジスタ37で記憶する下位アド
レス(インストラクションフェッチタグアドレスレジス
タ30内の下位アドレス)によってアドレスされ、目的
のインストラクションフェッチデータ(IF  DAT
A)を出力している。
前述の動作は命令制御装置(インストラクションユニッ
ト)からの読み出しの場合であり、ムーブイン時にはイ
ンストラクションフェッチタグメモリ31、インストラ
クションフェッチデータメモリ34に上位アドレスとイ
ンストラクションフェッチデータムーブインレジスタに
格納されたムーブインデータ38のデータを記憶する。
尚、この記憶時にはムーブインアドレスの下位アドレス
によってインストラクションフェッチデータメモリに記
憶する。
オペランド用キャッシュについても前述したインストラ
クションユニットからのアドレス並びにムーブインアド
レスに対しては同様の動作を行う。
オペランドタグアドレスレジスタ50にはインストラク
ションユニットよりフェッチや読出しのアドレス、ムー
ブインアドレス、ムーブアウトアドレス、バッファイン
バリデートアドレスが加わっており、図示しない回路に
よって目的に応じオペランドタグアドレスレジスタ50
はその内のアドレスの1個を記憶する。例えばムーブイ
ン時にはオペランドタグ(OP−TAG)アドレスレジ
スタ50はムーブインアドレスを記憶し、ECC回路5
1を介しオペランドタグメモリ52にオペランドタグア
ドレスレジスタ50で記憶したムーブインアドレスの上
位アドレスを記憶する。尚この記憶位置(アドレス)は
オペランドタグアドレスレジスタ50で記憶したムーブ
インアドレスの下位アドレスである。また下位アドレス
はオペラントンデータアドレスレジスタ53で記憶され
、オペランドデータメモリ54のアドレスに加わる。
この時ムーブインデータが選択回路55、ECC回路5
6を介し予めオペランドデータ(OP −DATA)ス
トアデータレジスタ57に格納されているので、このオ
ペランドデータストアデータレジスタ57より出力され
るムーブインデータを前述の下位アドレス位置のオペラ
ンドデータメモリ54に格納する。
一方、IUからの読出し要求時には、IUからのアドレ
スがオペランドタグアドレスレジスタ50に格納され、
上位アドレスが比較回路58に加わる。また下位アドレ
スによってオペランドタグメモリ52がアドレスされ、
記憶している上位アドレスを出力し、ECC回路59を
介し比較回路58に加える。また比較回路58には、オ
ペランドタグアドレスレジスタ50で記憶する上位アド
レスも加わる。この2つのアドレスすなわち入力したム
ーブインアドレスの上位アドレスと、ムーブインアドレ
スの下位アドレスによって読み出した上位アドレスとを
比較回路58は比較し、一致している時にはオペランド
データメモリ54に対応するデータを記憶しているので
オペランドタグヒツトとなり、ヒント情報をオペランド
タグヒフトウエイレジスタ60に記憶し、選択回路(S
EL)61に加えて、オペランドデータメモリ54より
出力されるデータの1個を選択しECC回路62を介し
オペランドデータとして出力する。ムーブアウト時には
このバッファを介しメインストレージユニットにデータ
を格納する。またインストラクションユニットからの書
き込みにおいてもほぼ同様である。
一方、オペランド用キャッシュに記憶した領域が命令用
キャッシュに存在しているか確認し、無効とする場合に
は、バッファインバリデートアドレスを、ゲート回路G
を介してインストラクションフェッチタグアドレスレジ
スタ30に加え、図示しない制御回路によってタグメモ
リを、無効とする。
本発明はインストラクション実行待命令制御装置がオペ
ランド用キャッシュに書き込みを生じインストラクショ
ンデータメモリに該当するアドレスがあるならば同アド
レスを無効とする。さらに第4図を用いて説明すると、
インストラクションユニットからの命令実行時にキヤ・
ノシュへの格納が発生した場合、インストラクションユ
ニットから入力したアドレスがインストラクションフェ
ッチタグアドレスレジスタ30に格納され(TAI)イ
ンストラクションフェッチタグメモリ31を下位アドレ
スでアクセスし、インストラクションフェッチタグメモ
リ31より出力される対応する上位アドレスと入力した
上位アドレスとをコンパレータ33で比較する(TA2
)。そして一致している時にはパンファインバリッド(
Bl)アドレスレジスタ40に下位アドレス並びに上位
アドレスさらにヒツトを表す情報を記憶する(TA3)
この記憶したアドレスはバッファインバリドアドレスと
してゲート回路Gを介しインストラクションフェッチタ
グアドレスレジスタ30に加わり(TA4)、インスト
ラクションフェッチタグメモリ31内の情報を無効とす
る。すなわちバッファインバリッドアドレスレジスタ4
0内に記憶したデータを例えば次のクロックによってイ
ンストラクションフェッチタグアドレスレジスタ30に
格納し、従来と同様の無効の処理によって無効とする。
前述した本発明をさらに説明するならば、インストラク
ションユニットより命令フェッチ要求がきた時はインス
トラクションフェッチタグ(命令用キャッシュタグ)を
引いて、結果登録されていればインストラクションフェ
ッチデータ(命令用キャッシュ)を読み出してインスト
ラクションユニットヘフェフチデータを返す。また登録
されていなければオペランド用タグ(オペランド用キャ
ッシュタグ)とメインメモリに当該ブロックの読み出し
要求を出し、オペランド用タグに当該ブロックが登録さ
れていればオペランド用データメモリ (オペランド用
キャッシュ)より読み出して、ムーブインし、メインメ
モリへの要求をキャンセルする。オペランド用タグに当
該ブロックがなければメインメモリよりムーブインする
とともにインストラクションユニットへフェッチデータ
を返す。
オペランドフェッチ要求がきた時は、オペランドタグを
引いて結果登録されていればインストラクションユニソ
トヘフェッチデータを返す。登録されていなければメイ
ンメモリへ当該フ゛ロックの読み出し要求を出して、読
み出してきたデータをムーブインするとともにインスト
ラクションユニソトヘフェソチデータを返す。
ストア要求が来た時はオペランドタグ、インストラクシ
ョンフェッチタグを引く。この引いた結果、オペランド
タグに当該ストアアドレスが登録されていればストアデ
ータをオペランド用データに格納し、登録されていなけ
ればメインメモリに当該ブロックの読み出し要求を出し
て読み出してきたデータとストアデータをマージしてム
ーブインする。すなわちストアインするのである。また
、インストラクションフェッチタグに当該ストアアドレ
スが登録されていれば該エントリを無効とし、登録され
ていなければ何もしない。
本発明の実施例においては、ムーブアウト時・ノツプ6
3の出力はメインストレージユニットの他に選択回路(
SEL)64に加わっている。またムーブインデータは
選択回路64.55に加わっている。命令用キャッシュ
においてキャッシュミスした場合、データがムーブアウ
トバッファ63内にある時にはムーブアウトバッファ6
3内のデータをムーブインする。それ以外の時にはムー
ブインデータをムーブインする。ムーブアウトバッファ
内のデータがどのエントリかを示すアドレスレジスタの
アドレスとインストラクションフェッチタグアドレスレ
ジスタのアドレスとをインストラクションフェッチタグ
を引くタイミングで比較することによりムーブアウトバ
ッファ内のデータをムーブインする。また、データ用キ
ャッシュ内には、選択回路55が設けてあり、第4図に
示す如くキャッシュミスした時、ムーブインデータから
のデータをストアし、インストラクションユニットから
ストアリクエストが発生した時にはEUからのデータを
ストアする。
また、本発明の実施例においては1組のインストラクシ
ョンキャッシュとデータキャッシュとで行っているが、
これに限らず複数個のキャッシュを用いた場合にも同様
に各組のキャッシュで行うことができる。
〔発明の効果〕
以上述べたように本発明によれば命令用キャッシュにス
トアスル一方式を用いているが、命令実行時に格納する
ことはないので処理を高速化することができる。また命
令用キャッシュがストアスル一方式であるのでECC等
のRAS回路を必要とせず回路を大型化することができ
る。
【図面の簡単な説明】
第1図は本発明の原理ブロック図、 第2図は本発明の実施例の構成図、 第3図はタイミングチャート、 第4図はタイミングチャート、 第5図は従来方式の構成図である。 1・・・命令用キャッシュ、 2・・・オペランド用キャッシュ、 3・・・無効手段。

Claims (1)

  1. 【特許請求の範囲】 1)命令用キャッシュ(1)とオペランド用キャッシュ
    (2)の少なくとも2種類のキャッシュを有する装置に
    おいて、 前記命令用キャッシュ(1)に命令実行時に命令制御装
    置よりストア要求が発生した時、前記命令用キャッシュ
    (1)の該当する領域を無効とする無効手段を設けてな
    ることを特徴とするキャッシュ制御装置。 2)前記命令用キャッシュ(1)はストアスルー方式の
    キャッシュであり、前記オペランド用キャッシュはスト
    アイン方式のキャッシュであることを特徴とする請求項
    1記載のキャッシュ制御装置。
JP2126864A 1990-05-18 1990-05-18 キャッシュ制御装置 Pending JPH0423148A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2126864A JPH0423148A (ja) 1990-05-18 1990-05-18 キャッシュ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2126864A JPH0423148A (ja) 1990-05-18 1990-05-18 キャッシュ制御装置

Publications (1)

Publication Number Publication Date
JPH0423148A true JPH0423148A (ja) 1992-01-27

Family

ID=14945730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2126864A Pending JPH0423148A (ja) 1990-05-18 1990-05-18 キャッシュ制御装置

Country Status (1)

Country Link
JP (1) JPH0423148A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06195264A (ja) * 1992-12-22 1994-07-15 Nec Corp キャッシュ一致処理装置
JP2006318471A (ja) * 2005-05-09 2006-11-24 Sony Computer Entertainment Europe Ltd データ処理におけるメモリキャッシング

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06195264A (ja) * 1992-12-22 1994-07-15 Nec Corp キャッシュ一致処理装置
JP2006318471A (ja) * 2005-05-09 2006-11-24 Sony Computer Entertainment Europe Ltd データ処理におけるメモリキャッシング
JP4666511B2 (ja) * 2005-05-09 2011-04-06 ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド データ処理におけるメモリキャッシング

Similar Documents

Publication Publication Date Title
US11803486B2 (en) Write merging on stores with different privilege levels
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
US4725947A (en) Data processor with a branch target instruction storage
EP0407052B1 (en) Method to increase performance in a multi-level cache system by the use of forced cache misses
US5717895A (en) Associative scalar data cache with write-through capabilities for a vector processor
KR100294105B1 (ko) 멀티 프로세서 컴퓨터 시스템의 일관성 카피-백 버퍼용 방법 및 장치
JP2735781B2 (ja) キャッシュ・メモリ制御システム及び方法
JP2575598B2 (ja) マルチプロセッサ・コンピュータ・システムのシステム・メモリの並行性を増大する方法およびシステム
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems
JPH06318174A (ja) キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法
US5619673A (en) Virtual access cache protection bits handling method and apparatus
US20050273563A1 (en) System and method for canceling write back operation during simultaneous snoop push or snoop kill operation in write back caches
JPH0423148A (ja) キャッシュ制御装置
JP2552704B2 (ja) データ処理装置
JPH0477344B2 (ja)
JP3171639B2 (ja) データ処理装置
JPH0342744A (ja) キャッシュ・メモリを有する計算システムおよびキャッシュ・メモリ管理方法
IE901532A1 (en) Improved scheme for insuring data consistency between a¹plurality of cache memories and the main memory in a¹multiprocessor computer system
JPH0740245B2 (ja) メモリ干渉検出装置
JPH0683707A (ja) キャッシュメモリ制御装置
JPH01251252A (ja) キャッシュメモリ