JPH06161895A - 多階層メモリにおけるアクセスブロック通知方法 - Google Patents

多階層メモリにおけるアクセスブロック通知方法

Info

Publication number
JPH06161895A
JPH06161895A JP4313214A JP31321492A JPH06161895A JP H06161895 A JPH06161895 A JP H06161895A JP 4313214 A JP4313214 A JP 4313214A JP 31321492 A JP31321492 A JP 31321492A JP H06161895 A JPH06161895 A JP H06161895A
Authority
JP
Japan
Prior art keywords
cache memory
block
access
processing unit
memory
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
JP4313214A
Other languages
English (en)
Inventor
Tsunemichi Shiozawa
恒道 塩澤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP4313214A priority Critical patent/JPH06161895A/ja
Publication of JPH06161895A publication Critical patent/JPH06161895A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 上位レベルのキャッシュメモリを未使用状態
にしたり、処理を開始する時点毎に上位キャッシュメモ
リの全エントリのバリッド部の値を無効にする必要性を
なくす。 【構成】 キャッシュメモリは、ブロックデータ部82
及びアクセス状態部84を有する複数のエントリからな
り、ある任意のレベルのキャッシュメモリは処理ユニッ
ト又は上位のキャッシュメモリからのブロックへのアク
セスに対して、該ブロックを格納するエントリのアクセ
ス状態部に処理ユニットで実行中の処理からのアクセス
が行われたことを示す「1」をセットし、処理ユニット
で実行中の処理が終了すると、処理ユニットからの指示
によってエントリのアクセス状態部を「0」にリセット
するとともに、上位からのアクセスに対して、当該ブロ
ックを格納するエントリが存在し、当該エントリのアク
セス状態部が「0」の場合に当該ブロックへのアクセス
を行った旨の通知を下位メモリに対して行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、多階層のキャッシュメ
モリを有するメモリにおいて、連続する二つの階層間
で、処理ユニットがアクセスしたブロックの情報を上位
レベル(処理ユニットにより近い)のキャッシュメモリ
から下位レベル(メインメモリメモリにより近い)のキ
ャッシュメモリ(又はメインメモリ)に通知するアクセ
スブロック通知方法に関するものである。
【0002】
【従来の技術】最近の情報化社会においては、大容量の
データを高速に処理することが望まれており、そのため
の情報処理装置についても、高速大容量化のための技術
が研究開発されている。メモリにおいても同様であり、
従来から低速大容量のメモリと高速小容量のメモリを組
み合わせて相対的に高速大容量のメモリを構成する階層
形のメモリとして、仮想メモリシステム、キャッシュメ
モリシステムなどが開発され広く利用されている。一般
にメインメモリは大容量であるが低速であり、一方高速
なメモリは小容量である。キャッシュメモリシステム
は、これら両方を階層的に組み合わせて高速大容量のメ
モリを実現させたものである。即ち、機械命令プログラ
ムのメインメモリ参照は、短い時間間隔で見るとメイン
メモリ中の局所的な部分に集中している。キャッシュメ
モリシステムは、この性質を利用したものであり、メイ
ンメモリ中のデータのうち参照される確率が高いデータ
を高速小容量メモリに転送しておき、処理ユニットから
はこの高速小容量メモリをアクセスするようにして実質
的な高速化を図っている。以下、この高速小容量メモリ
をキャッシュメモリという。従って、処理ユニットから
みるとキャッシュメモリに要求データが存在する確率
(ヒット率)が高いほど高速にアクセスすることができ
る。キャッシュメモリに要求するデータが存在しなけれ
ば(ミスヒット時)メインメモリにアクセスしなければ
ならない。技術の発展にともないメインメモリと最高速
のキャッシュメモリとの間のアクセス時間に大きな差が
生じるようになったため、キャッシュメモリを複数段に
した多階層メモリが考えられて実現されるようになっ
た。メインメモリとキャッシュメモリの間、キャッシュ
メモリ同士の間でのデータ転送は、32バイトないし1
28バイトのブロック単位で行われる。
【0003】図1は、2段のキャッシュメモリとメイン
メモリからなる多階層メモリで構成される情報処理装置
を説明するための図である。図1において、1は処理ユ
ニット、2及び3はキャッシュメモリ、4はメインメモ
リである。また、10は処理ユニット1がキャッシュメ
モリ2にアクセスするための処理ユニットバスであり、
20はキャッシュメモリ2がキャッシュメモリ3にアク
セスするためのキャッシュバスであり、30はキャッシ
ュメモリ3がメインメモリ4にアクセスするためのメモ
リバスである。メインメモリ4のアドレス空間は複数の
ブロックに分割されている。またキャッシュメモリ2及
び3は複数のエントリからなる。図5に従来のキャッシ
ュメモリのエントリの構成を示す。図5に示すように、
従来のキャッシュメモリのエントリは、ブロックのアド
レスを格納するアドレス情報部81、ブロックデータを
格納するブロックデータ部82、及びエントリに格納さ
れている内容が有効(値が「1」)か無効(値が
「0」)であるかを示すバリッド部83からなる。
【0004】処理ユニット1からメインメモリ4へのア
クセスは、キャッシュメモリ2、キャッシュメモリ3の
順に行われる。メインメモリ4のアドレスaで指定され
るデータを含むブロックをBaとし、処理ユニット1が
ブロックBaをアクセスするときのキャッシュメモリ2
及び3での処理を説明するフローチャートを図6に示
す。ここで、図6は処理ユニット1又はキャッシュメモ
リ2からのアクセスに対するキャッシュメモリ2又はキ
ャッシュメモリ3での処理を説明するための図であり、
論理回路を用いることによって、この処理の各部分を並
列に実行することができる。
【0005】図6のフローチャートにおいて、ステップ
51で処理ユニット1からアドレスaで指定されるデー
タの読みだし又は書き換えが要求されたとき、キャッシ
ュメモリ2は以下のように処理を行う。(下位のキャッ
シュメモリ3でも同様の処理がおこなわれる。) ステップ52で処理ユニットからのアクセス種別が書き
換えか否かを判定し、読みだしの場合には下記(イ)に
進み、書き換えの場合には下記(ロ)に進む。 (イ)読みだしの場合:ステップ53で、“処理ユニッ
ト1から処理ユニットバス10を介して要求されたアド
レスaのデータを含むブロックBaを格納する有効なエ
ントリEがキャッシュメモリ2に存在するか否かを判定
し、もし存在しなければ下記(イ−a)に進み、存在す
れば(イ−b)に進む。
【0006】(イ−a)有効なエントリEが存在しない
場合:ステップ54において、キャッシュメモリ2はキ
ャッシュバス20上にアドレスa、ブロック要求指示を
出力する。下位のキャッシュメモリ3からブロックBa
が転送されてくると、ステップ55において、予め定め
られた方法(種々の方法があるが、例えば、最近最も長
くアクセスされていないブロックを置き換え対象ブロッ
クとして選択するLRUアルゴリズムなど)によってエ
ントリEを選択し、選択されたエントリEのブロックデ
ータ部82にBaを、アドレス情報部81にアドレスa
の情報を、バリッド部83に値「1」を格納する。(キ
ャッシュメモリ3の場合には、メモリバス30上にアド
レスa、ブロック要求指示を出力し、上位のメインメモ
リからブロックBaが転送されてくると、予め定められ
た方法によってエントリEを選択し、選択されたエント
リEのブロックデータ部82にBaを、アドレス情報部
81にアドレスaの情報を、バリッド部83に値「1」
を格納する。)その後、ステップ56で処理ユニット1
へブロックBaを転送する。(キャッシュメモリ3の場
合には、上位のキャッシュメモリ2へブロックBaを転
送する。)
【0007】(イ−b)有効なエントリEが存在する場
合:ステップ56において、キャッシュメモリ2は処理
ユニット1に要求するデータを転送する。このとき、キ
ャッシュメモリ3へのアクセスは行わない。(キャッシ
ュメモリ3の場合には上位のキャッシュメモリ2に要求
するブロックBaを転送する。このとき、メインメモリ
4へのアクセスは行わない。) (ロ)書き換えの場合:ステップ57において、処理ユ
ニット1から処理ユニットバス10を介して要求された
アドレスaのデータを含むブロックBaを格納する有効
なエントリがキャッシュメモリ2に存在する場合、ステ
ップ58で当該エントリのブロックデータ部82に格納
されているブロックを書き換え、ステップ59で当該エ
ントリの存在に関わらず下位のキャッシュメモリ3にも
ブロックBaの書き換えを指示する。(キャッシュメモ
リ3の場合にも同様に処理を行い、下位のメインメモリ
4にブロックBaの書き換えを指示する。)
【0008】複数のプロセッサ及びメインメモリをメモ
リバスで相互に結合したマルチプロセッサの構成を図2
に示す。本発明者は、図2のようなマルチプロセッサに
おいて、各処理ユニットで実行中の処理が最初にアクセ
スしてから処理が終了するまでにアクセスしたデータを
処理ユニットに接続されたキャッシュメモリ13、2
3、及び33中に中間状態部を設けてそこにその旨を登
録することによって中間状態として管理し、他の処理ユ
ニットから中間状態のブロックへのアクセスが発生した
場合、他の処理ユニットで実行中の処理又は自処理ユニ
ットで実行中の処理を中断又は無効化することによって
共通データへの無矛盾アクセスを保証する排他制御方式
を発明した(出願中の「マルチプロセッサシステムにお
ける排他制御方式」特願平4−287245号)。
【0009】
【発明が解決しようとする課題】従来の多階層メモリに
おけるキャッシュメモリにおいては、処理ユニットが読
みだすブロックが上位レベルのキャッシュメモリ(図2
におけるキャッシュメモリ12、22、32)に存在す
る場合、キャッシュメモリは当該ブロックを処理ユニッ
トに転送するのみであり、次レベルのキャッシュメモリ
(図2におけるキャッシュメモリ13、23、33)へ
のアクセスは行わない。このため、図2に示すような多
階層メモリで構成されるプロセッサを複数結合させたマ
ルチプロセッサシステムにおいては、最下位レベルのキ
ャッシュメモリ13、23、33で各処理ユニットが処
理を開始してから処理を終了するまでにアクセスするブ
ロックを中間状態として管理しようとしても、上位レベ
ルのキャッシュメモリ12、22、32に存在するブロ
ックについては中間状態として管理できなくなる。
【0010】従来の方法でこの問題を解決する方法とし
ては次のような手段が考えられる。 (1)上位レベルのキャッシュメモリを未使用状態とす
る。 (2)各処理ユニットで処理を開始する時点毎に上位キ
ャッシュメモリの全エントリのバリッド部の値を「0
(無効)」とする。 上記(1)の方法では、上位レベルに処理ユニットが高
速にアクセスできるキャッシュメモリを設けることによ
って性能を向上させるという多階層メモリの利点が失わ
れ、また上記(2)の方法では、多階層キャッシュメモ
リは使用できるが、処理の開始時点毎に上位レベルのキ
ャッシュメモリに格納されているブロックを最下位レベ
ルのキャッシュメモリ又はメインメモリから再転送する
必要が生じ、性能が低下する欠点がある。本発明の目的
はこのような欠点を除去することにある。
【0011】
【課題を解決するための手段】本発明は、上記の如き欠
点を除去するために、処理ユニットと、多階層のキャッ
シュメモリ及びメインメモリで構成される情報処理装置
において、キャッシュメモリはブロックデータ部及びア
クセス状態部を有する複数のエントリからなり、ある任
意のレベルのキャッシュメモリは処理ユニット又は上位
のキャッシュメモリからのブロックへのアクセスに対し
て、当該ブロックをブロックデータ部に格納するエント
リのアクセス状態部にアクセス状態であることを示す情
報をセットし、当該ブロックに対するアクセスが終了す
ると、処理ユニットからの指示によってエントリのアク
セス状態部に格納されているアクセス状態をリセット
し、上記任意のレベルのキャッシュメモリは上位レベル
からのブロックへのアクセスに対して、該任意レベルの
キャッシュメモリに当該ブロックを格納するエントリが
存在し、当該エントリのアクセス状態部にアクセス状態
であることを示す情報がセットされていない場合に当該
ブロックへのアクセスを行った旨の通知を行うために下
位レベルのキャッシュメモリにアクセスすることを特徴
とする。即ち、本発明は、処理ユニットで実行中の処理
が最初にアクセスしてから処理が終了するまでにアクセ
スするデータを上位レベルのキャッシュメモリでアクセ
ス状態として管理し、上位レベルのキャッシュメモリに
おいてアクセスされるブロックが存在し、かつ当該ブロ
ックがアクセス状態でない場合、下位レベルのキャッシ
ュメモリに対して当該ブロックへのアクセスが行われた
旨の情報を通知するものである。
【0012】
【作用】上記のように、アクセス状態部を設け、また下
位のメモリへブロックがアクセスされたことを通知する
ような構成をとることにより、上位レベルのキャッシュ
メモリを未使用状態にしたり、各処理ユニットで処理を
開始する時点毎に上位キャッシュメモリの全エントリの
バリッド部の値を「0(無効)」とすることが不要とな
り、性能を低下させることなく処理ユニットが処理の開
始から終了までにアクセスするすべてのブロックの情報
を(排他制御を行う)最下位レベルのキャッシュメモリ
に通知することが可能となる。
【0013】
【実施例】図3に本発明の一実施例を説明するためのキ
ャッシュメモリのエントリの構成図を示す。図3に示さ
れているように、キャッシュメモリの各エントリは、ブ
ロックのアドレスを格納するアドレス情報部81、ブロ
ックのデータを格納するブロックデータ部82、当該エ
ントリに格納されている内容が有効(値「1」)である
か無効(値「0」)であるかを示すバリッド部83、処
理の開始以降にアクセスを行った(値「1」)か行わな
かった(値「0」)かを示すアクセス状態部84からな
る。処理終了指示信号810から「処理の終了」が指示
されると、アクセス状態部の値を「0」とする。
【0014】図1に示す多階層メモリで構成される情報
処理装置において、処理ユニット1からメインメモリ4
へのアクセスは、キャッシュメモリ2、キャッシュメモ
リ3の順に行われる。メインメモリ4のアドレスaで指
定されるデータを含むブロックをBaとし、処理ユニッ
ト1がブロックBaをアクセスするときのキャッシュメ
モリ2及び3での処理を説明するフローチャートを図4
に示す。キャッシュメモリは多階層(一般的に、Nを1
以上の正の整数としてN階層)でよい。ここで、図4は
処理ユニット又はキャッシュメモリ2からのアクセスに
対する一段下位のキャッシュメモリでの処理を説明する
ためのフローチャートであり、論理回路を用いることに
よって、この処理の各部分を並列に実行することができ
る。
【0015】図4のフローチャートにおいて、ステップ
61で処理ユニット1からアドレスaで指定されるデー
タの読みだし又は書き換えが要求されたとき、キャッシ
ュメモリ2はステップ62の処理を行う。(キャッシュ
メモリ3でも同様な処理が行われる。) ステップ62において、処理ユニット1からのアクセス
種別が書き換えか否かの判断を行う。読みだしの場合に
は下記(イ)に進み、書き換えの場合には下記(ロ)に
進む。 (イ)読みだしの場合:ステップ63において、キャッ
シュメモリ2にアドレスaで指定されるデータを含むブ
ロックBaを格納する有効なエントリが存在するか否か
を判断し、存在しない場合には下記(イ−a)に進み、
存在する場合には下記(イ−b)に進む。
【0016】(イ−a)有効なエントリが存在しない場
合:ステップ64において、キャッシュメモリ2はキャ
ッシュバス20上にアドレスa、ブロック要求指示を出
力する。キャッシュメモリ3からブロックBaが転送さ
れると、ステップ65において、予め定められた方法
(例えばLRUアルゴリズム)によってエントリEを選
択し、選択されたエントリEのブロックデータ部82に
ブロックデータBaを、アドレス情報部81にアドレス
aの情報を、バリッド部83に値「1」を格納し、ステ
ップ66でアクセス状態部84に値「1」を格納する。
処理ユニット1がブロック要求指示を出力していれば
(ステップ67)、ステップ68において、アドレスa
で指定されるデータを処理ユニット1に転送する。(キ
ャッシュメモリ3の場合には、メモリバス30上にアド
レスaとブロック要求指示を出力し、メインメモリ4か
ら転送されるブロックデータBaを格納し、キャッシュ
メモリ2にブロックデータBaを転送する。但し、キャ
ッシュメモリ2がキャッシュバス20上にブロック転送
要求指示を出していなければキャッシュメモリ2へのブ
ロックデータBaの転送は行わない。)
【0017】(イ−b)有効なエントリが存在する場
合:ステップ69において、当該エントリのアクセス状
態部84の値が「1」であるか否かを判定し、「1」で
あればステップ67へ進んで、処理ユニット1がブロッ
ク要求指示を出力していれば(ステップ67)、キャッ
シュメモリ2は処理ユニット1に要求するデータを転送
する。また「0」であればステップ70へ進む。ステッ
プ70において、キャッシュメモリ3へのアクセスは行
わず、当該エントリのアクセス状態部84の値が「0」
であればキャッシュメモリ2はキャッシュバス20上に
アドレスaのみを出力する。このとき、ブロック要求指
示は出力せず、キャッシュメモリ3からキャッシュメモ
リ2へのブロック転送は行わない。(キャッシュメモリ
3の場合にも同様に、キャッシュメモリ2に要求するブ
ロックBaを転送し、当該エントリのアクセス状態部8
4の値が「1」であればメインメモリ4へのアクセスは
行わず、当該エントリのアクセス状態部84の値が
「0」であればキャッシュメモリ3はメモリバス30上
にアドレスaを出力する。但し、キャッシュメモリ2が
キャッシュバス20上にブロック要求指示を出していな
ければキャッシュメモリ2へのブロックBaの転送は行
わない。)
【0018】(ロ)書き換えの場合:ステップ71にお
いて、処理ユニット1から処理ユニットバス10を介し
て要求されたアドレスaのデータを含むブロックBaを
格納する有効なエントリがキャッシュメモリ2に存在す
るか否かを判定し、存在すればステップ72に、存在し
なければステップ73に進む。ステップ72では当該エ
ントリのブロックデータ部82に格納されているブロッ
クを書き換えてステップ73に進む。ステップ73では
当該エントリの存在に関わらずキャッシュメモリ3にブ
ロックBaの書き換えを指示する。(キャッシュメモリ
3の場合にも同様に処理を行い、メインメモリ4にブロ
ックの書き換えを指示する。) 処理ユニット1で実行中の処理が終了したとき、処理ユ
ニット1は図3の処理終了指示信号810を「1(オ
ン)」とし、キャッシュメモリ2及び3のすべてのエン
トリのアクセス状態部を「0」にする。これにより、処
理ユニットが処理の開始から終了までにアクセスするす
べてのブロックの情報をすべてのレベルのキャッシュメ
モリに通知することが可能となる。
【0019】すなわち、上記の第1の実施例は、N(N
は1以上の正整数)レベルのキャッシュメモリを有する
多階層のメモリで構成される情報処理装置において、処
理ユニットからメインメモリへのアクセスは、第1レベ
ルのキャッシュメモリ、第2レベルのキャッシュメモ
リ、・・・、第Nレベルのキャッシュメモリと予め定め
られた条件が満足するまで順次行われ、上記キャッシュ
メモリは複数のエントリからなり、各エントリはブロッ
クデータ部及びアクセス状態部からなり、上記第K(K
は1からNまでの任意の整数)レベルのキャッシュメモ
リは処理ユニット(K=1の場合)又は第K−1レベル
のキャッシュメモリ(K>1の場合)からのブロックへ
のアクセスに対して、当該ブロックをブロックデータ部
に格納するエントリのアクセス状態部にアクセス状態を
示す情報を設定し、当該ブロックに対するアクセスを行
った処理ユニットで実行中の処理が終了すると、上記処
理ユニットからの指示によってエントリのアクセス状態
部に格納されているアクセス状態を解除し、第Kレベル
のキャッシュメモリは処理ユニット(K=1の場合)又
は第K−1レベルのキャッシュメモリ(K>1の場合)
からのブロックへのアクセスに対して、第Kレベルのキ
ャッシュメモリに当該ブロックを格納するエントリが存
在し、当該エントリのアクセス状態部に設定されている
アクセス状態を示す情報が予め定められている情報であ
る場合に当該ブロックへのアクセスを行った旨の通知を
行うために第K+1レベルのキャッシュメモリ(K<N
の場合)またはメインメモリ(K=Nの場合)にアクセ
スすることを特徴としたものである。。
【0020】本発明の第2の実施例を以下に説明する。
第2の実施例は、上記本発明の第1の実施例において、
キャッシュメモリ2は処理ユニットからのアクセス種別
がデータの読みだし又は書き換えの場合のみアクセス状
態部の値を「1」にするとともに、下位レベルのキャッ
シュメモリ3へ処理ユニット1がアクセスしたブロック
の情報を通知し、処理ユニット1からのアクセス種別が
命令の読みだしの場合にはアクセス状態部の値に依らず
アクセスしたブロックの情報を下位レベルのキャッシュ
メモリ3には通知しないようにしたものである。また、
上記本発明の第1の実施例において、処理ユニット1が
アクセスするアドレスaが予め定められた範囲の場合の
みアクセス状態部の値を「1」とするとともに、下位レ
ベルのキャッシュメモリ3に処理ユニット1がアクセス
したブロックの情報を通知し、処理ユニット1がアクセ
スするアドレスaが予め定められた範囲でない場合には
アクセス状態部の値に依らずアクセスしたブロックの情
報を下位レベルのキャッシュメモリ3に通知しないよう
にしてもよい。
【0021】一般に、メインメモリに格納されている命
令は同時並列的に書き換えられることは無く、排他制御
は不要である。また、メインメモリ上の領域が各処理ユ
ニットに対して個別にアドレス範囲で割り当てられてい
る場合にも、特定の領域が複数の処理ユニットから同時
並列的に書き換えられることは無く、無矛盾性を保証す
るための排他制御は不要である。このような、本発明の
第2の実施例によると、排他制御が不要なブロックへの
アクセスについては下位レベルのキャッシュメモリへの
通知のためにキャッシュバス20を介したアクセスが行
われなくなり、キャッシュバス20の使用率を低くする
ことができる。これにより、キャッシュメモリ2がキャ
ッシュバス20を介してキャッシュメモリ3からブロッ
クを転送する際の待合せ発生率を低くすることが可能と
なる。
【0022】本発明の第3の実施例を示す。この第3の
実施例は、上記第1及び第2の実施例において、キャッ
シュメモリ内にモードレジスタを設けたものでり、該モ
ードレジスタの値が「0」の場合は、アクセスブロック
の通知を行わず、モードレジスタの値が「1」の場合に
はアクセスブロックの通知を行うようにしたものであ
る。即ち、この実施例は、図4のフローチャート中ステ
ップ69において『エントリEのアクセス状態部が
「1」?』を『エントリEのアクセス状態部が「1」又
はモードレジスタの値が「0」?』とすることによっ
て、モードレジスタの値を変更することで、アクセスブ
ロックの通知を行う動作と行わない動作の制御を行うこ
とができるようにしたものである。
【0023】これにより、処理ユニットで実行する処理
に対するアクセスブロックの通知が不要な場合に、処理
が終了した時点でキャッシュメモリへの終了の指示が不
要になるとともに、下位レベルのキャッシュメモリ3へ
の通知のためにキャッシュバス20を介したアクセスが
全く発生することがなくなり、キャッシュバス20の使
用率を低くすることができる。これによって、キャッシ
ュメモリ2がキャッシュバス20を介してキャッシュメ
モリ3からブロックを転送する際の待合せ発生率を低く
することが可能となる。なお、以上はアクセス状態部の
情報をアクセス無しを「0」、アクセス有りを「1」と
して説明したが、アクセス無しを「0」、読みだしアク
セスのみ有りを「1」、書き換えアクセスのみ有りを
「2」、読みだし及び書き換えアクセスともに有りを
「3」というように管理して、アクセス種別毎に1回以
上のアクセスが有った場合に下位レベルのキャッシュメ
モリ又はメインメモリに通知するようにすることもでき
る。
【0024】
【発明の効果】以上説明したように、本発明を用いるこ
とによって、処理ユニットが多階層からなるメモリにア
クセスする場合、上位レベルのキャッシュメモリを未使
用状態にしたり、各処理ユニットで処理を開始する時点
毎に上位キャッシュメモリの全エントリのバリッド部の
値を「0(無効)」とすることが不要となり、性能を低
下させることなく処理ユニットが処理の開始から終了ま
でにアクセスするすべてのブロックの情報を任意のレベ
ルのキャッシュメモリまで通知することが可能となる。
【0025】また、上記の効果に加えて、次のような効
果も有している。 (a)キャッシュメモリにおいてはアクセスされたブロ
ックBaを格納するエントリが存在しない場合、ブロッ
クBaを格納するエントリを予め定められた手続に従っ
て選択する、一般に、予め定められた手続としては、最
近最もアクセスされていないブロックを格納しているエ
ントリを優先して選択する方法(LRU(Least Recentl
y Used)アルゴリズム)を用いている。これは、処理ユニ
ットで実行する処理は最近アクセスしたブロックに再度
アクセスする確率がより大きいという性質に基づいてい
る。本発明を用いることによって、処理ユニットで実行
する処理がアクセスするブロックをすべてのキャッシュ
メモリに通知することが可能となり、下位レベルのキャ
ッシュメモリで新たにブロックを格納するエントリを選
択する場合にアクセスされていないブロックが下位レベ
ルのキャッシュメモリに存在する確率を高めることがで
きる。
【0026】(b)処理ユニットで実行するプログラム
のデバッグ(誤り修正)を行う有効な手段として、特定
のアドレス(又はアドレス範囲)にアクセスした場合に
処理ユニットでの実行を中止し、メモリなどの状態を参
照する方法がある。一般に、処理ユニットバスに比べて
キャッシュバス又はメモリバスの動作は遅いので、本発
明を用いることによって、処理ユニットで実行する処理
がアクセスするすべてのブロックを監視することが可能
となる。
【図面の簡単な説明】
【図1】多階層メモリで構成される情報処理装置を説明
するための図である。
【図2】多階層メモリで構成されるマルチプロセッサを
説明する図である。
【図3】本発明のキャッシュメモリのエントリの構成を
説明するための図である。
【図4】本発明のキャッシュメモリの動作を説明するた
めのフローチャートである。
【図5】従来のキャッシュメモリのエントリの構成を説
明するための図である。
【図6】従来のキャッシュメモリの動作を説明するため
のフローチャートである。
【符号の説明】
1、11、21、31 処理ユニット 2、12、22、32 レベル1のキャッシュメモリ 3、13、23、33 レベル2のキャッシュメモリ 4 メインメモリ 51 アドレス情報部 52 ブロックデータ部 53 バリッド部 54 アクセス状態部 510 無効化指示信号 610 処理終了指示信号 10、110、210、310 処理ユニットバス 20、120、220、320 キャッシュバス 30 メモリバス

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 処理ユニットと、N(Nは1以上の正整
    数)レベルのキャッシュメモリ及びメインメモリなどの
    多階層のメモリで構成される情報処理装置において、上
    記メインメモリのアドレス空間は複数のブロックに分割
    され、上記処理ユニットからメインメモリへのアクセス
    は、第1レベルのキャッシュメモリ、第2レベルのキャ
    ッシュメモリ、・・・、第Nレベルのキャッシュメモリ
    と予め定められた条件が満足するまで順次行われ、上記
    キャッシュメモリは複数のエントリからなり、各エント
    リはブロックデータ部及びアクセス状態部からなり、 上記第Kレベルのキャッシュメモリは上記処理ユニット
    (K=1の場合)又は第K−1レベルのキャッシュメモ
    リ(K>1の場合)からのブロックへのアクセスに対し
    て、当該ブロックをブロックデータ部に格納するエント
    リのアクセス状態部にアクセス状態を示す情報を設定す
    る手段、当該ブロックに対するアクセスが終了すると、
    上記処理ユニットからの指示によってエントリのアクセ
    ス状態部に格納されているアクセス状態を解除する手段
    を有し、 上記第Kレベルのキャッシュメモリは上記処理ユニット
    (K=1の場合)又は第K−1レベルのキャッシュメモ
    リ(K>1の場合)からのブロックへのアクセスに対し
    て、第Kレベルのキャッシュメモリに当該ブロックを格
    納するエントリが存在し、当該エントリのアクセス状態
    部に設定されているアクセス状態を示す情報が予め定め
    られている情報である場合に当該ブロックへのアクセス
    を行った旨の通知を行うために第K+1レベルのキャッ
    シュメモリ(K<Nの場合)またはメインメモリ(K=
    Nの場合)にアクセスすることを特徴とするアクセスブ
    ロック通知方法。
  2. 【請求項2】 請求項1記載のアクセスブロック通知方
    式において、第Kレベルのキャッシュメモリは上記処理
    ユニット(K=1の場合)又は第K−1レベルのキャッ
    シュメモリ(K>1の場合)からのブロックへのアクセ
    スに対して、上記処理ユニットからのアクセス種別がデ
    ータの読みだし又は書き換えの場合、又はアクセスする
    アドレスが予め定められた条件の場合、アクセス状態部
    にアクセス状態であることを示す情報を設定するととも
    に、当該ブロックへのアクセスを行った旨の通知を行う
    ために第K+1レベルのキャッシュメモリ(K<Nの場
    合)またはメインメモリ(K=Nの場合)にアクセスす
    ることを特徴とするアクセスブロック通知方法。
  3. 【請求項3】 請求項1又は請求項2記載のアクセスブ
    ロック通知方式において、キャッシュメモリ内に処理ユ
    ニットがアクセスするブロックを格納しているエントリ
    が存在する場合、アクセスブロックを通知するか否かの
    動作モードを設定するモードレジスタを設け、上記モー
    ドレジスタにアクセスブロックを通知する動作モードが
    設定されている場合、アクセスブロックの情報を通知す
    ることを特徴とするアクセスブロック通知方法。
JP4313214A 1992-11-24 1992-11-24 多階層メモリにおけるアクセスブロック通知方法 Pending JPH06161895A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4313214A JPH06161895A (ja) 1992-11-24 1992-11-24 多階層メモリにおけるアクセスブロック通知方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4313214A JPH06161895A (ja) 1992-11-24 1992-11-24 多階層メモリにおけるアクセスブロック通知方法

Publications (1)

Publication Number Publication Date
JPH06161895A true JPH06161895A (ja) 1994-06-10

Family

ID=18038486

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4313214A Pending JPH06161895A (ja) 1992-11-24 1992-11-24 多階層メモリにおけるアクセスブロック通知方法

Country Status (1)

Country Link
JP (1) JPH06161895A (ja)

Similar Documents

Publication Publication Date Title
JP4447580B2 (ja) 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ
TWI522802B (zh) 確保微處理器之快取記憶體層級之資料一致性的裝置與方法
CN101446923B (zh) 一种响应于指令而清洗高速缓冲存储器线的装置和方法
US7590802B2 (en) Direct deposit using locking cache
JPH0364893B2 (ja)
JP3236287B2 (ja) マルチプロセッサシステム
JPH0340046A (ja) キャッシュメモリ制御方式および情報処理装置
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
JP3900025B2 (ja) 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式
JPS6111865A (ja) メモリアクセス制御方式
US7219197B2 (en) Cache memory, processor and cache control method
US7596665B2 (en) Mechanism for a processor to use locking cache as part of system memory
KR100395768B1 (ko) 멀티 레벨 캐쉬 시스템
US20040243765A1 (en) Multithreaded processor with multiple caches
JP6674085B2 (ja) 演算処理装置及び演算処理装置の制御方法
JP2001290704A (ja) マルチプロセス制御装置及びマルチプロセス制御方法
JPH06161895A (ja) 多階層メモリにおけるアクセスブロック通知方法
JPH06309231A (ja) キャッシュメモリ制御方法
JPH11143774A (ja) キャッシュ制御機構
JP4765249B2 (ja) 情報処理装置およびキャッシュメモリ制御方法
JPH08137753A (ja) ディスクキャッシュ装置
JPH06243045A (ja) キャッシュメモリ
JPH06282487A (ja) キャッシュ装置
JPH01125638A (ja) キャッシュメモリ装置
JPH01228036A (ja) キャッシュメモリ