JPH03216744A - 内蔵キャッシュ・メモリ制御方式 - Google Patents

内蔵キャッシュ・メモリ制御方式

Info

Publication number
JPH03216744A
JPH03216744A JP2012220A JP1222090A JPH03216744A JP H03216744 A JPH03216744 A JP H03216744A JP 2012220 A JP2012220 A JP 2012220A JP 1222090 A JP1222090 A JP 1222090A JP H03216744 A JPH03216744 A JP H03216744A
Authority
JP
Japan
Prior art keywords
address
cpu
cache
tag
section
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
JP2012220A
Other languages
English (en)
Inventor
Hidenobu Ota
大田 秀信
Taizo Sato
泰造 佐藤
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 JP2012220A priority Critical patent/JPH03216744A/ja
Priority to DE69131212T priority patent/DE69131212T2/de
Priority to CA002034709A priority patent/CA2034709C/en
Priority to EP91300469A priority patent/EP0439325B1/en
Publication of JPH03216744A publication Critical patent/JPH03216744A/ja
Priority to US08/406,785 priority patent/US5517633A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 主記憶内のデータをコピーしたキャッシュを内蔵するデ
ータ処理装置において,主記憶と内蔵キャンシュとの一
貫性を保つ内蔵キャッシュ・メモリ制御方式に関し, キャッシュのセットアドレスに論理アドレスのオフセッ
ト部以外を使う場合にも.主記憶と内蔵キャンシェとの
一貫性を保つことができるようにすることを目的とし. Nウエイセットアソティアティブ構成をとり,セットア
ドレスとして論理アドレスのオフセット部Aビットおよ
びオフセット部以外のBビットを使用するキャッシュ・
メモリ部とタグ部とをCPU内に備えるとともに,アド
レスモニタ用のタグ部であって,セットアドレスとして
オフセット部Aビットのみを使用し,2” XNウェイ
セットアソティアティブ構成をとるタグ部を有するアド
レスモニタ部を備え,cpu内部のタグ部とアドレスモ
ニタ部のタグ部を相互に対応させる制御を行うように構
成する. 〔産業上の利用分野〕 本発明は,主記憶内のデータをコピーしたキャッシュを
内蔵するデータ処理装置において,主記憶と内蔵キャッ
シュとの一貫性を保つ内蔵キャッシュ・メモリ制御方式
に関する. 近年のデータ処理装置の高速化の要求に従い.主記憶装
置へのデータアクセスの高速化が要求されてきている.
このため,データ処理装置内に主記憶をコピーするキャ
ッシュ・メモリが提供されており.またキャッシュ・サ
イズの拡大化が行われている. また.装置の性能を上げるために,マイクロプロセッサ
(MPU)1個ではなく.複数個使用するマルチプロセ
ッサ構成や,メモリ間の転送速度を上げるために,DM
Aコントローラを使用するシステムが増えてきている. このような構成をとるシステムで,MPU/CPUにキ
ャッシュ・メモリを内蔵しているものを使用している場
合,他のプロセッサが書き込みをして内容が変わってし
まった主記憶のデータを内蔵キャッシュ・メモリに持っ
ていても意味がないため.内蔵キャッシュ・メモリと主
記憶との一貫性を保つ機能は不可欠である. 〔従来の技術〕 内蔵キャッシュ・メモリと主記憶の一貫性を保つために
.従来からアドレスモニタと呼ばれる機能がある.これ
は,主記憶がつながっているシステム・バスを監視する
機構で,他のバス・マスクが主記憶に対して書き込み信
号を出したならば,システム・バス上のアドレスを読み
.このアドレスと内蔵キャッシュ・メモリのタグ部の内
容の比較を行い,もし一致したなら,内蔵キャッシュ・
メモリの対応するデータを無効化することにより,主記
憶と内蔵キャッシュ・メモリとの一貫性を保つというも
のである. ところで,通常のプログラムは,論理アドレスで書かれ
ているために.実際のハードウェア上で動作するように
.物理アドレスに変換する必要がある.この操作をアド
レス変換を行うという.この変換を受ける論理アドレス
のオフセット部は,物理アドレスになっても変更される
ことはないが,オフセット部以外の部分については,ア
ドレス変換テーブルにより,必ずしも同じものにはなら
ない。
従来のデータ処理装置においては,内蔵キャッシュ・サ
イズが小さかったため.論理アドレスのオフセット部の
みをセットアドレスとして,Nウエイセットアソテイア
テイブのキャッシュを構成できた.この場合,オフセッ
ト部は.アドレス変換を行っても.論理アドレスと物理
アドレスとで異なることはないため,アドレスモニタを
行う際に,システム・バスに出力される物理アドレスを
直接使って,アドレスを比較すべきキャッシュのセット
を決めていた。
〔発明が解決しようとする課題〕
ところが.キャッシュ・メモリのサイズ拡大化の要求に
より,キャッシュ・サイズを大きくしていった場合に,
セットアドレスとしてオフセット部では足りなくなり,
アドレスにより論理アドレスと物理アドレスとが異なる
可能性のある部分を使うことになる。
こうなると.システム・バスの物理アドレスをキャッシ
ュのセットアドレスとして使用した場合.論理アドレス
と物理アドレスとが同一なら問題ないが,論理アドレス
と物理アドレスとが異なるときに.従来のような制御で
は.異なるキャッシュ・メモリを無効化してしまい.無
効化すべきところが有効のまま残ってしまうという問題
が生じる.以下,第7図に示すキャッシュの状態説明図
に従って説明する.以下の説明において,LAは論理ア
ドレス,PAは物理アドレスを表す.また.LA (a
 : b)は.論理アドレスの第aビットから第bビッ
トまでのビット列を表す。PA (a :b)も同様で
ある.この例では.論理アドレス,物理アドレスともに
32ビットであり.最上位ビットが第31ビット,最下
位ビットが第0ビットである。
今.第7図(a)に示すようなアドレス変換テーブルが
あり,アドレスとデータとの対応が.第7図(b)に示
すようになっていたとする.また.キャッシュには,第
7図(C)に示すように,データが登録されていたとす
る. システム・バスにアドレスモニタすべきアドレスとして
,  PA (3 1 : 0) =I{’00003
000が載ってきたとき,  PA (1 4 : 4
) =H’300をセットアドレスとすると,PA(3
1:0)−H’ 00002000を無効化してしまい
,本来無効化すベきP A ( 3 1 : 0 ) 
= H’OO003000は残ってしまうことになる. このように.キャッシェのセットアドレスとして,論理
アドレスのオフセット部以外を使用した場合には.物理
アドレスでアドレス比較すべきセットを決めることがで
きなくなる. したがって,セットアソティアティプ構成のキャッシュ
のセットアドレスに.論理アドレスのオフセット部以外
を使う場合には,従来の方式では.主記憶と内蔵キャッ
シュとの一貫性を保てなくなっていた. 本発明は上記問題点の解決を図り,キャッシェのセット
アドレスに論理アドレスのオフセット部以外を使う場合
にも,主記憶と内蔵キャッシュとの一貫性を保つことが
できるようにすることを目的としている. 〔課題を解決するための手段〕 第1図は本発明の構成例を示す. 第1図(イ)において,10はCPUであり.ここで演
算やメモリ管理等を行う.11はCPU10の内蔵する
キャッシュ・メモリ部.12はキャッシュ・メモリ部1
lに対するタグ部を表す.13は内蔵キャッシュのため
のアドレスモニタ部.14はCPUIOのタグ部12に
対応するアドレスモニタ用タグ部を表す.15はCPU
IOが処理するプログラムやデータが入っている主記憶
装L16はシステム・バスの負荷を軽減するための外部
キャッシェであって,cputoの内蔵キャッシュより
容量の大きいもの.17はデータパス.18はアドレス
バスを表す.また,19はCPUI Oとアドレスモニ
タ部13との間のモニタバス,20は外部アドレスバス
,21は外部データパスを表す。
本システムは.複数のデータ処理装置と,主記憶装置1
5と,これらを結合する外部アドレスバス20,外部デ
ータパス21等のシステム・バスからなる. データ処理装置の少なくとも1つは,CPUIO.アド
レスモニタ部13.外部キャッシュ16からなり.デー
タバスl7により,CPUIOと外部キャッシュ16と
が結合され.アドレスバスl8により,CPUIOと外
部キャッシュ16とアドレスモニタ部13とが結合され
ている.また.外部アドレスバス20により.主記憶装
置15とアドレスモニタ部13と外部キャッシュ16と
が結合され,外部データバス21により.主記憶装置l
5と外部キャッシュ16とが結合されている.この例で
は,CPUIOとアドレスモニタ部13とが.別チップ
で構成されている. CPUIOにおける論理アドレスLAから物理アドレス
PAへのアドレス変換では.第1図(口)に示すオフセ
ット部を除いた部分が変換の対象となる. CPUIOにおけるキャッシュ・メモリ部11およびタ
グ部l2は,第1図(口)に示す論理アドレスのオフセ
ット部Aビットと,オフセット部以外のBビットを使用
し,  (A+B)ビットのセットアドレスで,キャッ
シュを引くようなNウェイセットアソティアティブ構成
となっている.タグ部l2は.キャッシュ・メモリ部1
1に保持されるデータの主記憶装置15におけるアドレ
ス等を更新管理するアドレス情報記録部と,キャッシュ
・メモリ部11のデータが有効であることを示す記録部
を有する. アドレスモニタ部13は,CPUIOとは別チップとな
っており,CPUIOのキャッシュ・メモリ部11と.
主記憶装置l5の内容の一貫性を保つために使用される
.アドレスモニタ部13内部に,セットアドレスとして
CPUIO内で使用したセットアドレスのオフセット部
分(Aビット)のみを使用し,2” XNウェイセット
アソティアティプ構成をとるアドレスモニタ用タグ部l
4を有している。
このようなデータ処理装置において,CPUIO内部の
タグ部12と.アドレスモニタ部13のアドレスモニタ
用タグ部14とを相互に対応させ.アドレスモニタ機能
をアドレスモニタ部13のチップで行い,その結果をC
PUIOに送ることにより,cputo内の対応するタ
グの記録部を無効化することができるようにしている.
〔作用〕 本発明では.第1図(イ)に示すように,アドレスモニ
タを行うときには.外部アドレスバス20の物理アドレ
スとアドレスモニタ用タグ部14の21×NウェイのA
ビットのセットについてそれぞれ比較を行い,その各々
のウェイ(2” XN本)の比較結果を.タグ部l2の
セットアドレスのBビットとウェイ信号と無効化を行う
かを示す無効化イネーブル信号に変換して,CPUIO
側へ送る. CPUIO側では,モニタバス19で伝えられる外部ア
ドレスバス20の物理アドレスのオフセット部のAビッ
トと合わせて,CPUIOの内藏するタグ部12の該当
セットを決め,アドレスモニタ部13から出力されるウ
エイ信号に基づいて,該当部分のバリッドビットを無効
にすることにより,主記憶とCPUIOの内蔵キャッシ
ュとの一貫性を保つ。
〔実施例〕
第2図は本発明の実施例におけるCPU内部とアドレス
モニタ部との対応関係説明図,第3図は本発明の実施例
によるキャッシュへのデータ登録の例,第4図は本発明
の実施例によるアドレスモニタの例,第5図は本発明の
実施例に係るTLBとキャッシュの関係を説明するため
のブロック図.第6図は第5図に示すブロック図におけ
るリード動作タイミング図を示す. 以下に説明する実施例では,次のような構成をとるもの
とする。もちろん.本発明の実施にあたって,これらの
条件については,システムの構成条件に応じて種々の変
更が可能である。
■ 論理アドレスLAは32ビットで.そのオフセソト
部分はLA (1 1 : O)の12ビットである。
■ CPUの内蔵キャンシュ・メモリのフ゜ロンクサイ
ズは16バイトである。
■ CPUの内蔵キャンシュの構成は,2ウエイセット
アソティアティブである. ■ CPUの内蔵キャッシュ・メモリのサイズは32K
バイトである. ■ アドレスモニタ部内のタグ部は.セットアドレスが
LA (1 1 : 4)の16ウェイセットアソティ
アティブ構成である. 上記■の条件から,CPU内藏キャッシュのセットアド
レスとして.■、A(14:4)を使用することになる
まず.キャッシュにデータを登録する場合について,第
1図および第3図を参照して説明する.プログラム中で
指定される論理アドレスについて,アドレス変換を行い
,物理アドレスに変換し,その物理アドレスをアドレス
バス18に出力し.外部キャッシュ16から登録すべき
16バイトのデータをデータバス17を通して入力する
このとき,CPUIOのタグ部12についてCPUウエ
イ選択回路30で示されるほうのウエイの論理アドレス
LA(14:4)に対応するセントに,登録データに対
する物理アドレスPA(31:12)を登録し.バリッ
ドビットを有効にする.このとき,本発明には直接関係
がないため,詳しい説明は省くが.キャッシュ・メモリ
部11についても,タグ部I2と同様のウェイとセット
の部分に,16バイトの登録データを登録する. 同時に,アドレスモニタ部13のアドレスモニタ用タグ
部14について,CPUウェイ番号十論理アドレスLA
(14:12)をうエイとみなし.論理アドレスをLA
(11:4)をセットアドレストスるところに,前記物
理アドレスPA (3l:12)を登録する.第3図に
示す51はCPUウェイ信号である。
第2図(イ)は,CPUIO内部からアドレスモニタ部
13に送られる信号と.アドレスモニタ用タグ部14の
ウェイとの対応を示しており,アドレスモニタ部ウェイ
選択回路3lは.この図に従ったウェイの選択制御を行
う. 例えば.第3図に示すように,論理アドレスが2000
番地で,アドレス変換により,物理アドレスが3000
番地になるようなケースを考える.このとき,CPUI
O内部のキャッシュのセットアドレスとして,200が
使用され,CPUウェイ選択回路30が例えばWAYO
を示していたとすると.タグ部12に00003が登録
され,かつそのバリッドビットが有効にされる。
同時に.アドレスモニタ部ウェイ選択回路3lに,CP
Uウエイ選択回路30からのウエイ選択信号(WAY=
0)と論理アドレスLA(14:12)=B’010が
入力され,第2図(イ)に示す対応表により,アドレス
モニタ用タグ部14のウェイとして,WAY2が選ばれ
る.セントアドレスとして,論理アドレスLA (11
 : 4),WAY2で指示されるところニ,OO00
3を登録し.同時にバリッドビノトを有効にする.この
ように,CPUIOとアドレスモニタ部13の対応する
タグ部12.14に.同じ物理アドレスを登録する. 次に,第4図に従って.アドレスモニタを行う場合につ
いて説明する。
まず.外部アドレスバス20から.モニタすべき外部ア
ドレスEAを,アドレスモニタ部13の外部アドレスバ
ッファ40に入力ラッチし.外部アドレスEAの(1 
1 : 4)を使って.モニタすべきセットを決め.ア
ドレスモニタ用タグ部l4に登録されているWAYO〜
WAY15までの各ウェイについて.外部アドレスEA
の(3l:12)と,アドレス比較部4lにより各々比
較する.その結果.一致するものがあれば,そのウェイ
のHIT信号から,信号の変換と無効化制御を行う回路
42により.第2図(口)に示すような対応関係に従っ
て.無効化のCPUウェイとアドレスモニタ用論理アド
レスLA (14 712)に変換したものを.CPU
IOへ送る.また.キ+,シュの無効化を行う必要があ
るか否かの無効化イネーブル信号53(ヒント信号の論
理和をとったもの)をCPUIOに出力する. CPUIOでは,アドレスモニタ部13から出力される
外部アドレスEA(11:4),すなわちアドレスモニ
タ用論理アドレスLA (1 1 :4)と合わせてセ
ットアドレスとして,タグ部12をアクセスする.今.
アドレスモニタ用タグ部14は,バリッドピットを有し
ているため,アドレスモニタ部13で一致したものは.
必ずCPUIOでも一致することになる.そこで,cp
utOのタグ部12でアクセスされたところのバリッド
ビットを無効にする. 同時にアドレスモニタ部13の対応する部分,すなわち
外部アドレスEAとの比較を行い一致したところのバリ
ッドピットも無効にする.なお.第1図に示す外部キャ
ッシュ16については,自分自身でアドレスモニタを行
っているものとする.今.外部アドレスバス20に3(
100番地がのっていて,かつアドレスモニタをする必
要がある場合について考える。まず,外部アドレスバッ
ファ40に外部アドレスEA(31:4)を入力ラッチ
する.この外部アドレスEAの(1 1 : 4)から
.アドレスモニタ用タグ部14のセントアドレスはOO
となり,このセット番号で指示されるWAYO−WAY
1 5について,外部アドレスEA(31:12)−0
0003と比較すると.HIT2がアサートされる. 他のHIT線がアサートされることはないので,第2図
(口)に示す対応表により,CPUIOのタグ部12に
対するウェイを示す無効化ウエイ54はWAYO,セッ
トアドレス用のアドレスモニタ用論理アドレスLA (
1 4 : 1 2) =B’010と決まり.無効化
イネーブル信号53もアサートされる。同時に外部アド
レスEA(11:4)もCPUIOに伝えられる.また
同時に.アドレスモニタ用タグ部14におけるヒットし
たセットアドレスーOO,ウェイ=2のところのバリッ
ドビットは無効化される. CPUIOでは.アドレスモニタ部13から送られたア
ドレスをタグ部12のセットアドレスとし.無効化ウエ
イ54を人力として.CPUウエイ選択回路30により
.無効化すべきWAYOを選択し.バリッドピット制御
回路43により.以上のセットアドレスとウェイで選択
されるところのバリノドビットを無効にする。
もし.外部アドレスEAとアドレスモニタ用タグ部14
のアドレスが一致しなかった場合には.無効化イネーブ
ル信号53をネゲート状態にしたままにすることにより
,CPUIOは無効化処理を行わず.通常の処理を行う
. 上述の例では,モニタバス19として,CPUIOから
アドレスモニタ部13へのバスとしての論理アドレスL
A(14:4)と,CPUウェイ信号51,アドレスモ
ニタ部l3からCPUI Oへのバスとしてアドレスモ
ニタ用論理アドレスLA (14 : 12)52と無
効化イネーブル信号53と無効化ウェイ54と外部アド
レスEA(11:4)55を使用したが,アドレスモニ
タ部13のチップの比較信号を直接CPUIOに出力し
て,CPUIO側で論理アドレスに変換することも可能
である.また.アドレスモニタ部l3にアドレスを登録
する際に.アドレスバス18を使用したが.これの代わ
りに,モニタバスl9の本数を増やして.モニタバス1
9を使用することも可能である. 次に.本実施例におけるT L B (Transla
tionLookaside Buffer)とキー?
 ”/シェの関係について.第5図に示すブロック図を
参照して説明する.なお,第6図は,第5図に示すブロ
ック図におけるリード動作のタイミングを示している.
ここでは,TLB,キャッシュともに.2ウェイセット
アソティアティプ方式とする。
キャッシュにデータを登録するには,まずキャッシュミ
スする必要がある。本実施例では.第5図に示すような
構成をとることにより,TLBとタグ部12とを,1マ
シンサイクル中に引くようにしている。
まず,論理アドレスLA(16:12)で.TLBの論
理アドレス部60と物理アドレス部61とを引<,TL
Bの論理アドレス部60には.物理アドレスに変換可能
な対応する論理アドレスLAの(31:17)が登録さ
れている.IFI理アドレス部61には.変換される物
理アドレスPA(31:12)が登録されている。
比較回路CMP 1により,実際の論理アドレスLA(
31:17)と,TLBの論理アドレス部60のWAY
OおよびWAY1から読み出した部分とを比較する.こ
れにより,TLBに物理アドレスが登録されているかを
みる, hito. hitlとも″0”ならば,TL
Bミスであり,動的アドレス変換(DAT)処理に移る
. また.比較回路CMP2により,TLBの物理アドレス
部61から読み出した物理アドレスPA(31:12)
のWAYO,WAYIと,タグ部12から読み出した物
理アドレスPA(31:12)のWAYO,WAYIに
ついて比較する.これらの比較回路CMPI,CMP2
の出力により.一致を示すヒット信号旧TOO〜HIT
IIを生成し,旧TOOまたは旧TIOならば,キャッ
シュ・メモリ部l1から読み出したWAYOのデータを
出力し, l{ITOIまたは旧Tllならば,キャッ
シュ・メモリ部11から読み出したWAYIのデータを
出力する. ところで,オペレーティング・システムによるプログラ
ムの動作のさせ方によって,複数の論理アドレスLAが
1つの物理アドレスPAを指す場合がある.この場合.
論理アドレスLA(14:12)が同じでないと.同じ
物理アドレスにマッピングすることができない. これに対する解決法として,例えば以下のような案が考
えられる. (1)  アドレス変換テーブル作成時の制限とする.
(2)TLBミスしたときには,キャッシュに登録しな
い。
i)TLBにも登録しない.→この場合, DATの回
数が増大してしまい,キャッシュを大きくしたメリット
がなくなってしまう.ii)TLBには登録する.→T
LBミスしたなら.第5図に示すTLBの物理アドレス
部61の全エントリとTLBミスした論理アドレスに対
する物理アドレスとの比較を行う。
もし一致するものがなかったなら,TLB登録して次の
処理に移る(キャッシュ登録も可).もし一致するもの
があったなら,TLB登録する際にTLBミスしたエン
トリに対するTLBのNC(ノン・キャッシャブル)フ
ラグを有効にすることにより,キャッシュ登録しないよ
うにする. 以上の(2)の方式では,性能が落ちてしまい,キャッ
シュを大きくしたメリットがなくなる可能性があるので
,性能の点を考えると,(1)の論理アドレスLA(1
4:12)が同じでないと.同じ物理アドレスにマッピ
ングすることができないという.アドレス変換テーブル
作成に対する制限を設けることが実用的である.他の解
決案も考えられるが.本発明の要旨とは直接関係がない
ので.この程度の説明にとどめる. 〔発明の効果〕 以上説明したように.本発明によれば,CPUの内蔵キ
ャッシュがNウェイセットアソティアティブ構成であっ
て,セットアドレスに論理アドレスのオフセット部以外
が入ったときでも.アドレスモニタを行うことが可能に
なるため.主記憶と内蔵キャッシュとの一貫性を保つこ
とができる.したがって.内蔵キャッシュのサイズを大
きくすることができ.データ処理装置の性能向上に寄与
するところが大きい.
【図面の簡単な説明】
第1図は本発明の構成例, 第2図は本発明の実施例におけるCPU内部とアドレス
モニタ部との対応関係説明図,第3図は本発明の実施例
によるキャッシュへのデータ登録の例. 第4図は本発明の実施例によるアドレスモニタの例. 第5図は本発明の実施例に係るTLBとキャッシェの関
係を説明するためのブロック図.第6図は第5図に示す
ブロック図におけるリード動作タイミング図. 第7図は本発明の課題を説明するためのキャッシュの状
態説明図を示す.

Claims (1)

  1. 【特許請求の範囲】 主記憶装置(15)と、各々CPU(10)を備えた複
    数のデータ処理装置と、それらを結合するシステムバス
    とを有する計算機システムにおける内蔵キャッシュ・メ
    モリ制御方式において、 Nウェイセットアソティアティブ構成をとり、セットア
    ドレスとして論理アドレスのアドレス変換を受けないオ
    フセット部Aビットおよびアドレス変換を受けるオフセ
    ット部以外のBビットを使用するキャッシュ・メモリ部
    (11)とタグ部(12)とをCPU内に備えるととも
    に、 前記CPUのタグ部に対応するアドレスモニタ用のタグ
    部であって、セットアドレスとしてCPU内で使用した
    セットアドレスのオフセット部Aビットのみを使用し、
    2^B×Nウェイセットアソティアティブ構成をとるタ
    グ部(14)を有するアドレスモニタ部(13)を備え
    、 CPU内部のタグ部とアドレスモニタ部のタグ部を相互
    に対応させることにより、アドレスの監視を行い、その
    結果をCPUに送ることにより、CPU内の対応するタ
    グの記録部を無効化する制御を行うようにしたことを特
    徴とする内蔵キャッシュ・メモリ制御方式。
JP2012220A 1990-01-22 1990-01-22 内蔵キャッシュ・メモリ制御方式 Pending JPH03216744A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012220A JPH03216744A (ja) 1990-01-22 1990-01-22 内蔵キャッシュ・メモリ制御方式
DE69131212T DE69131212T2 (de) 1990-01-22 1991-01-22 Cache-Kohärenz in logischen Caches
CA002034709A CA2034709C (en) 1990-01-22 1991-01-22 System for controlling an internally-installed cache memory
EP91300469A EP0439325B1 (en) 1990-01-22 1991-01-22 Cache coherence in logical caches
US08/406,785 US5517633A (en) 1990-01-22 1995-03-20 System for controlling an internally-installed cache memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012220A JPH03216744A (ja) 1990-01-22 1990-01-22 内蔵キャッシュ・メモリ制御方式

Publications (1)

Publication Number Publication Date
JPH03216744A true JPH03216744A (ja) 1991-09-24

Family

ID=11799299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012220A Pending JPH03216744A (ja) 1990-01-22 1990-01-22 内蔵キャッシュ・メモリ制御方式

Country Status (5)

Country Link
US (1) US5517633A (ja)
EP (1) EP0439325B1 (ja)
JP (1) JPH03216744A (ja)
CA (1) CA2034709C (ja)
DE (1) DE69131212T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259498A (ja) * 1999-03-10 2000-09-22 Internatl Business Mach Corp <Ibm> マルチスレッド・プロセッサの命令キャッシュ
JP2010282520A (ja) * 2009-06-08 2010-12-16 Nec Corp コヒーレンシ制御システム、コヒーレンシ制御装置及びコヒーレンシ制御方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748627A (en) * 1994-06-10 1998-05-05 Harris Corporation Integrated network switch with flexible serial data packet transfer system
US5809548A (en) * 1996-08-30 1998-09-15 International Business Machines Corporation System and method for zeroing pages with cache line invalidate instructions in an LRU system having data cache with time tags
US5809528A (en) * 1996-12-24 1998-09-15 International Business Machines Corporation Method and circuit for a least recently used replacement mechanism and invalidated address handling in a fully associative many-way cache memory
US6434671B2 (en) * 1997-09-30 2002-08-13 Intel Corporation Software-controlled cache memory compartmentalization
US6226731B1 (en) * 1998-09-08 2001-05-01 International Business Machines Corporation Method and system for accessing a cache memory within a data-processing system utilizing a pre-calculated comparison array
DE10158393A1 (de) 2001-11-28 2003-06-12 Infineon Technologies Ag Speicher für die Zentraleinheit einer Rechenanlage, Rechenanlage und Verfahren zum Synchronisieren eines Speichers mit dem Hauptspeicher einer Rechenanlage
US6654865B2 (en) * 2002-01-31 2003-11-25 Ubicom, Inc. Netbufs: communication protocol packet buffering using paged memory management
WO2007149026A1 (en) * 2006-06-22 2007-12-27 Nordnav Technologies Ab Software-based spread spectrum signal processing
US20110055482A1 (en) * 2009-08-28 2011-03-03 Broadcom Corporation Shared cache reservation
CN111290972B (zh) * 2020-03-11 2022-07-15 深圳忆联信息系统有限公司 数据搬运效率的提升方法、装置和计算机设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01199250A (ja) * 1987-10-02 1989-08-10 Hitachi Ltd データ処理装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4332010A (en) * 1980-03-17 1982-05-25 International Business Machines Corporation Cache synonym detection and handling mechanism
JPS5948879A (ja) * 1982-09-10 1984-03-21 Hitachi Ltd 記憶制御方式
JPS6093563A (ja) * 1983-10-27 1985-05-25 Hitachi Ltd バツフア記憶制御方式
US4985829A (en) * 1984-07-31 1991-01-15 Texas Instruments Incorporated Cache hierarchy design for use in a memory management unit
US4991081A (en) * 1984-10-31 1991-02-05 Texas Instruments Incorporated Cache memory addressable by both physical and virtual addresses
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
JPH0661066B2 (ja) * 1986-10-20 1994-08-10 株式会社日立製作所 記憶制御装置
US4926317A (en) * 1987-07-24 1990-05-15 Convex Computer Corporation Hierarchical memory system with logical cache, physical cache, and address translation unit for generating a sequence of physical addresses
KR920001282B1 (ko) * 1987-10-02 1992-02-10 가부시키가이샤 히타치세이사쿠쇼 버퍼메모리 제어장치
US5119290A (en) * 1987-10-02 1992-06-02 Sun Microsystems, Inc. Alias address support
US5003459A (en) * 1988-04-01 1991-03-26 Digital Equipment Corporation Cache memory system
US5029070A (en) * 1988-08-25 1991-07-02 Edge Computer Corporation Coherent cache structures and methods
US5155824A (en) * 1989-05-15 1992-10-13 Motorola, Inc. System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5226133A (en) * 1989-12-01 1993-07-06 Silicon Graphics, Inc. Two-level translation look-aside buffer using partial addresses for enhanced speed
US5210845A (en) * 1990-11-28 1993-05-11 Intel Corporation Controller for two-way set associative cache

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01199250A (ja) * 1987-10-02 1989-08-10 Hitachi Ltd データ処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259498A (ja) * 1999-03-10 2000-09-22 Internatl Business Mach Corp <Ibm> マルチスレッド・プロセッサの命令キャッシュ
JP2010282520A (ja) * 2009-06-08 2010-12-16 Nec Corp コヒーレンシ制御システム、コヒーレンシ制御装置及びコヒーレンシ制御方法
US8578103B2 (en) 2009-06-08 2013-11-05 Nec Corporation Coherency control system, coherency control apparatus and coherency control method

Also Published As

Publication number Publication date
US5517633A (en) 1996-05-14
EP0439325A2 (en) 1991-07-31
CA2034709C (en) 1998-07-28
EP0439325A3 (en) 1992-07-08
DE69131212D1 (de) 1999-06-17
DE69131212T2 (de) 1999-09-23
CA2034709A1 (en) 1991-07-23
EP0439325B1 (en) 1999-05-12

Similar Documents

Publication Publication Date Title
US5067078A (en) Cache which provides status information
US5513335A (en) Cache tag memory having first and second single-port arrays and a dual-port array
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
EP0408058B1 (en) Microprocessor
US5146603A (en) Copy-back cache system having a plurality of context tags and setting all the context tags to a predetermined value for flushing operation thereof
US6343344B1 (en) System bus directory snooping mechanism for read/castout (RCO) address transaction
JP3609656B2 (ja) コンピュータシステム
US6535958B1 (en) Multilevel cache system coherence with memory selectively configured as cache or direct access memory and direct memory access
JPH03216744A (ja) 内蔵キャッシュ・メモリ制御方式
AU612515B2 (en) Data processing apparatus
US20070130426A1 (en) Cache system and shared secondary cache with flags to indicate masters
EP0470739B1 (en) Method for managing a cache memory system
US5905997A (en) Set-associative cache memory utilizing a single bank of physical memory
JP2930071B2 (ja) 情報処理装置およびプロセッサ
US7464227B2 (en) Method and apparatus for supporting opportunistic sharing in coherent multiprocessors
US6484237B1 (en) Unified multilevel memory system architecture which supports both cache and addressable SRAM
EP0439952A2 (en) Dual-port cache tag memory
US9842051B1 (en) Managing aliasing in a virtually indexed physically tagged cache
JPH03172947A (ja) マイクロコンピュータ・システム
GB2307319A (en) Dual-directory virtual cache
JPH02188847A (ja) 階層キャッシュメモリにおけるデータ交換方式
JPH02213960A (ja) キャッシュメモリ
JP2976980B2 (ja) キャッシュ制御方式
JPH0481948A (ja) データ処理システム
JP2542284B2 (ja) 緩衝記憶装置および緩衝記憶装置システム