[go: up one dir, main page]

JP2833062B2 - キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 - Google Patents

キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置

Info

Publication number
JP2833062B2
JP2833062B2 JP1282664A JP28266489A JP2833062B2 JP 2833062 B2 JP2833062 B2 JP 2833062B2 JP 1282664 A JP1282664 A JP 1282664A JP 28266489 A JP28266489 A JP 28266489A JP 2833062 B2 JP2833062 B2 JP 2833062B2
Authority
JP
Japan
Prior art keywords
cache memory
address
entry
array
level
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.)
Expired - Lifetime
Application number
JP1282664A
Other languages
English (en)
Other versions
JPH03142644A (ja
Inventor
俊雄 土井
毅 竹本
康弘 中塚
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1282664A priority Critical patent/JP2833062B2/ja
Priority to US07/603,620 priority patent/US5257361A/en
Publication of JPH03142644A publication Critical patent/JPH03142644A/ja
Priority to US08/103,791 priority patent/US5392416A/en
Priority to US08/386,757 priority patent/US5526509A/en
Application granted granted Critical
Publication of JP2833062B2 publication Critical patent/JP2833062B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • 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/1063Address 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 virtually 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)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、他の演算処理装置とメインメモリを共有す
る演算処理装置において、キャッシュメモリの制御、特
にキャッシュメモリの無効化処理を効率良く制御するキ
ャッシュメモリ制御方法とこのキャッシュメモリ制御方
法を用いたプロセッサおよび情報処理装置に関するもの
である。
〔従来の技術〕
メインメモリのデータは、キャッシュメモリにブロッ
ク単位で写像される。その場合、キャッシュメモリに
は、各ブロック毎に対応するメインメモリブロックのア
ドレスを保持するアドレスアレイ(ディレクトリとも呼
ばれる)が設けられる。
演算処理装置からメインメモリを参照する際に、先ず
このアドレスアレイに登録されているアドレスと参照ア
ドレスとを比較して、一致するブロックがあれば、キャ
ッシュメモリ内のそのブロックを参照することにより、
アクセスタイムを短縮することができる。なお、任意の
メインメモリブロックを任意のキャッシュメモリブロッ
クに写像する方式をフルアソシアティブ方式と呼び、メ
インメモリ上のカラムのブロックと1対1に対応させる
方式をダイレクトマップ方式(コングルエント方式)と
呼ぶ。以下、ダイレクトマップ方式のキャッシュメモリ
について、述べる。
ところで、複数の演算処理装置がメインメモリを共有
するマルチプロセッサシステムでは、各演算処理装置対
応のキャッシュメモリの内容が常に最新であるように制
御する必要がある。このために、1つのキャッシュメモ
リの内容を更新(書き込み)する場合には、このブロッ
クについて全てのキャッシュメモリを無効化する。そし
て、無効化されるブロックのみが最新データを有してい
ることがあるので、このときにはキャッシュメモリの無
効化に先立ってこのブロックをメインメモリに書き戻す
必要がある。
従来のキャッシュメモリの無効化制御方式としては、
例えば、特開昭62−214453号公報に記載された方式があ
る。上記方式においては、第11図に示すように、キャッ
シュメモリ制御のために論理アドレスでアクセスされる
論理タグメモリ71と物理タグメモリ72を設けて、これら
を用いて無効化処理の高速化を図っている。なお、第11
図では、キャッシュメモリは記載が省略されている。
第11図において、先ずタグメモリ71,72へのアドレス
の登録動作を説明する。ある論理アドレスでのアクセス
がキャッシュメモリでミスヒットとなった場合には、新
しいブロックをメインメモリより読み出し、これを演算
処理装置に渡す。それと同時に、そのアドレスを含むブ
ロックをキャッシュメモリに登録する。このために、論
理タグメモリ71には、論理アドレスレジスタ15上の論理
アドレス(32ビット)のうちのページ内アドレス8とビ
ット+ページアドレス1ビットである第4〜第12ビット
(9ビット)のセット(アドレス)に対応して、論理ア
ドレスの第13〜第31ビット(19ビット)を登録し、物理
タグメモリ72には、同じセットアドレスに対応してアド
レス変換部75によるアドレス変換後の物理アドレス(24
ビット)の第12〜第23ビット(12ビット)を登録する。
同じセットアドレスへの登録は、マルチプレクサ73を介
して論理アドレスレジスタ15から両タグメモリ71,72に
同じ論理アドレスを与えればよい。
次に、無効化処理の制御を説明する。他の処理装置か
らの無効化アドレスがアドレス入力レジスタ17にセット
されると、このセットアドレスのうちの第4〜第11ビッ
トは物理アドレスと論理アドレスが同一であるページ内
オフセットアドレスであるから、そのままマルチプレク
サ73を介して物理タグメモリ72に入力される。また、第
12ビット目は物理アドレスの第12ビットからは決定でき
ない値であるため、カウンタ74により‘0'を発生させて
第12ビットとし、物理タグメモリ72を読み出して、アド
レス入力レジスタ17の第12〜第23ビット(22ビット)と
比較器77で比較する。一致したならば、制御装置76は論
理タグメモリ71の該当ブロックのフラグを‘0'にして無
効化する。また、不一致であれば、カウンタから‘1'を
発生させ、第12ビットを‘1'として物理タグメモリ72を
アクセスする。この場合、論理アドレスとセットアドレ
スとの重なりが1ビットであるため、カウンタで2回の
カウント動作およびアクセス動作が必要となるが、もし
重なりが2ビット以上の場合には、カウンタのビット数
を重なりのビット数に設定して複数回のカウントにより
何回かのアクセスを行う必要がある。すなわち、重なり
が2ビットでは最大22=4回のアクセス、重なりが3ビ
ットでは最大23=8回のアクセス、重なりが4ビットで
は最大24=16回のアクセスが必要となる。
〔発明が解決しようとする課題〕
前述のように、従来の技術では、キャッシュメモリの
容量が増加して、論理アドレス内のページアドレスとセ
ットアドレスとの重なりのビット数が増加すると、キャ
ッシュメモリのブロック無効化処理に伴う物理タグメモ
リのアクセス回数が増加することになる。つまり、キャ
ッシュメモリのエントリ指定ビット数が1ビット増加す
ることはキャッシュメモリのエントリ数が2倍になるこ
とであり、そのときには、物理アドレスへの最大アクセ
ス回数が2回から4回に増加することになる。すなわ
ち、第11図で説明した例では、物理タグメモリのアドレ
ス12ビット以上はカウンタ74で生成しており、このカウ
ンタ74は無効化処理を実施する度にカウントアップ(2
の(n−11)乗回、但しn≧11)されるものである。そ
して、物理タグメモリとして12ビットを想定すると、論
理アドレスとセットアドレスの重なりが1ビットである
ため、無効化処理に2の1乗回すなわち2回のカウント
動作とアクセス動作が必要となる。さらに、物理タグメ
モリのアドレスが13ビットとなると、論理アドレスとセ
ットアドレスの重なりが2ビットであるため、カウント
動作とアクセス動作の回数は2の2乗回すなわち4回と
なる。このように、キャッシュメモリの容量が2倍にな
ると物理タグメモリのアクセス回数も2倍となる。その
結果、キャッシュメモリのブロック無効化処理に要する
時間が増加するという問題があった。
本発明の目的は、上述のような従来の課題を解決し、
キャッシュメモリの容量がどのように増加しても、ブロ
ック無効化処理に伴うタグメモリのアクセスが1回のみ
で済み、無効化処理に要する時間を従来より短縮するこ
とが可能なキャッシュメモリ制御方法とこのキャッシュ
メモリ制御方法を用いたプロセッサおよび情報処理装置
を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するため、本発明のキャッシュメモリ
制御方法は、仮想記憶方式を用いた演算部と、この演算
部から物理アドレスによりエントリが指定される第2層
のキャッシュメモリと、演算部から論理アドレスにより
エントリが指定され、かつ第2層のキャッシュメモリの
内容のコピーを保持する第1層のキャッシュメモリと、
第1層のキャッシュメモリと同じ論理アドレスによりエ
ントリが指定され、かつ対応する第1層のキャッシュメ
モリの各エントリの管理情報を記憶する第1のアドレス
アレイと、第2層のキャッシュメモリと同じ物理アドレ
スによりエントリが指定され、かつ各エントリに、論理
アドレスに変換するための追加情報およびエントリに対
応する第2層のキャッシュメモリのエントリのコピーが
第1層のキャッシュメモリに存在するか否かの情報を記
憶する第2のアドレスアレイとを設けた演算処理装置に
おけるキャッシュ制御方法であって、外部からキャッシ
ュメモリの無効化要求のための無効化対象となる物理ア
ドレスが入力すると、この物理アドレスを用いて第2の
アドレスアレイをアクセスし、この第2のアドレスアレ
イから追加情報を得て、論理アドレスを生成することに
より、この論理アドレスを用いて第1のアドレスアレイ
をアクセスし、管理情報に対して無効化処理を行うこと
を特徴とする。
また、上記記載のキャッシュ制御方法において、第2
のアドレスアレイは、登録可能なエントリ数を第1のア
ドレスアレイに登録可能なエントリ数より多く設けるこ
とを特徴とする。
また、本発明のプロセッサは、仮想記憶方式で動作す
る演算部と、この演算部からの論理アドレスで定義され
るエントリを有する第1のレベルのキャッシュメモリを
内蔵し、演算部からの物理アドレスで指定されるエント
リを有し集積化された第2のレベルのキャッシュメモリ
を外部に接続するための手段を有するプロセッサであっ
て、第1のレベルのキャッシュメモリは第2のレベルの
キャッシュメモリの内容のコピーを保持し、第1のレベ
ルのキャッシュメモリと同じ論理アドレスで定義された
エントリを有し、第1のレベルのキャッシュメモリのエ
ントリが有効か否かを表示する第1の制御情報を有する
アドレスアレイと、演算部からの物理アドレスにより第
2のレベルのキャッシュメモリのエントリが指定された
場合、各エントリを指定するために用いられていない部
分を記憶する物理アドレスタグ、第1のレベルのキャッ
シュメモリのエントリを指定するための論理アドレスを
生成する論理アドレスタグ、及び第2のレベルのキャッ
シュメモリの各エントリが有効であるか否かを示す第2
の管理情報を、第2のレベルのキャッシュメモリから入
力し、第1及び第2のレベルのキャッシュメモリを制御
する制御手段とを有し、少なくとも演算部、第1のレベ
ルのキャッシュメモリ、アドレスアレイ、制御手段が単
一の半導体チップに集積されていることを特徴とする。
また、本発明の情報処理装置は、仮想記憶方式で動作
する演算部と、この演算部からの論理アドレスで定義さ
れるエントリを有する第1のレベルのキャッシュメモリ
を内蔵し、演算部からの物理アドレスで指定されるエン
トリを有し集積化された第2のレベルのキャッシュメモ
リを外部に接続するための手段を有する情報処理装置で
あって、第1のレベルのキャッシュメモリは第2のレベ
ルのキャッシュメモリの内容のコピーを保持し、第1の
レベルのキャッシュメモリと同じ論理アドレスで定義さ
れたエントリを有し、第1のレベルのキャッシュメモリ
のエントリが有効か否かを表示する第1の制御情報を有
するアドレスアレイと、演算部からの物理アドレスによ
り第2のレベルのキャッシュメモリのエントリが指定さ
れた場合、各エントリを指定するために用いられていな
い部分を記憶する物理アドレスタグ、第1のレベルのキ
ャッシュメモリのエントリを指定するための論理アドレ
スを生成する論理アドレスタグ、及び第2のレベルのキ
ャッシュメモリの各エントリが有効であるか否かを示す
第2の管理情報を、第2のレベルのキャッシュメモリか
ら入力し、第1及び第2のレベルのキャッシュメモリを
制御する制御手段とを有することを特徴とする。
〔作用〕
本発明では、2階層のキャッシュメモリを設けた演算
処理装置において、第2層のキャッシュメモリを管理す
るアドレスアレイ(第2のアドレスアレイ)に、対応す
るエントリの写しが第1層のキャッシュメモリ内に存在
するか否かを示すフラグ(コピーフラグ)を格納してい
る。そして、外部から、キャッシュメモリの無効化要求
のための無効化対象となる物理アドレスが入力される
と、まず、この物理アドレスを用いて第2のアドレスア
レイをアクセスし、この第2のアドレスアレイにおい
て、該当するエントリに対する無効化処理を行う。さら
に、コピーフラグが、第1層のキャッシュメモリ内にエ
ントリの写しが存在することを示していれば、追加情報
に基づき物理アドレスに対応する論理アドレスを生成
し、この論理アドレスを用いて第1のアドレスアレイを
アクセスし、この第1のアドレスアレイにおいて、管理
情報に対する無効化処理を行う。
このように、第2層のキャッシュメモリのみに無効化
すべきエントリが存在する場合には、物理アドレスアレ
イをアクセスするだけで無効化処理が完了する。また、
第1層のキャッシュメモリにも無効化すべきエントリが
存在する場合にも、物理アドレスアレイに加えて、論理
アドレスアレイを1回アクセスするだけで、無効化処理
が完了する。
〔実施例〕
以下、本発明の実施例を、図面により詳細に説明す
る。
第1図は、キャッシュメモリ制御を行う演算処理装置
の全体ブロック図である。
第1図において、11はキャッシュメモリ無効化の対象
となる演算処理装置、12はプログラムを実行することに
より、演算を行う演算部、13はメインメモリに記憶され
ているデータブロックの写しを格納するダイレクトマッ
プ方式のキャッシュメモリ、14は論理アドレスを物理ア
ドレスに変換するアドレス変換部(TLB等)、15はキャ
ッシュメモリに所望のデータブロックが格納されている
か否かを判別するため、論理アドレスアレイを参照する
論理アドレスをセットする論理アドレスレジスタ、16は
メインメモリをアクセスするために、アドレス変換され
た物理アドレスをセットするアドレス出力レジスタ、17
はキャッシュメモリの無効化処理を行うために、参照用
の物理アドレスをセットするアドレス入力レジスタ、18
は論理アドレスでアクセスされ、各エントリにはキャッ
シュメモリ13に格納されているデータブロックの先頭の
物理ページアドレスと、そのブロックが有効か否かを示
す制御フラグとを記憶する論理アドレスアレイ、19は物
理アドレスでアクセスされ、各エントリにはキャッシュ
也メモリに格納されているデータブロックの物理ページ
アドレスタグと、それに対応する論理ページアドレスタ
グと、そのブロックが有効か否かを示す制御フラグとを
記憶する物理アドレスアレイ、SEL11は登録または参照
時に、論理アドレスレジスタ15からのアクセス、または
無効処理時に、物理アドレスアレイ19とアドレス入力レ
ジスタ17からのアクセスのいずれか一方を選択するセレ
クタ、SEL12はアドレス出力レジスタ16からのアクセス
とアドレス入力レジスタ17からのアクセスのいずれか一
方を選択するセレクタ、CMP11は参照時にアドレス変換
された物理ページアドレスと論理アドレスアレイの内容
である物理ページアドレスとを比較する比較器、CMP12
はアドレス出力レジスタ16またはアドレス入力レジスタ
17の物理ページアドレスタグと物理アドレスアレイ19の
内容である物理ページアドレスタグとを比較する比較
器、A−BUSはアドレスバス、D−BUSはデータバスであ
る。
本例では、第1図に示すように、(イ)論理ページア
ドレスタグを格納し、物理アドレスによりアドレッシン
グされる物理アドレスアレイ19を設けたことと、(ロ)
キャッシュメモリの無効化処理時に、アドレス入力レジ
スタ17内のページ内オフセットアドレスを出力する線a
と物理アドレスアレイ19内の論理ページアドレスタグを
出力する線bとを設け、これらのページ内オフセットア
ドレスと論理ページアドレスタグとをマージして、セレ
クタSEL11を介して論理アドレスアレイ18をアクセスす
ること、が最も重要な点である。
第2図(a)(b)は、第1図に示す演算処理装置を
含む計算機すなわち情報処理装置の構成図である。
第2図において、21〜25は演算処理装置、26はメイン
メモリ、27は入出力処理装置、28はアドレスバス、29は
データバスである。
先ず、(a)では、演算処理装置21,メインメモリ26
および入出力処理装置27が、アドレスバス28とデータバ
ス29を介して相互に接続されている。演算処理装置21は
メモリアクセス時間を短縮するために内部にキャッシュ
メモリ(図示省略)を持ち、そこにはメインメモリ26の
内容の一部の写しを保持している。一方、入出力処理装
置27は、周辺装置(図示省略)とメインメモリ26間のデ
ータ転送を行う。
演算処理装置21内のキャッシュメモリに写しが存在す
る領域のメインメモリ26の内容を、入出力処理装置27が
変更する場合には、メインメモリ26の内容と上記キャッ
シュメモリの内容とに不一致が生じる。従って、その不
一致による誤動作を防止するためには、メインメモリ26
の内容の変更と同時に、その内容の写しを持つキャッシ
ュメモリの内容を無効にする必要がある。このため、入
出力処理装置27は、メインメモリ26の内容を変更した領
域のアドレス(物理アドレス)をA−BUSを通して演算
処理装置21に通知する。演算処理装置21はこの物理アド
レスを受け取り(第1図のアドレス入力レジスタ17にセ
ット)、該当する領域の写しがキャッシュメモリ内に存
在するか否かを調べて、もし存在していればその部分を
無効化する(第1図の論理アドレスアレイ18の対応する
制御フラグをOFFにする)。
次に、第2図(b)は、演算処理装置を複数台設けた
マルチプロセッサ構成の計算機を示している。この場合
には、上述の(a)の動作(入出力処理装置27によるメ
インメモリ26の内容変更の通知)に加えて、演算処理装
置22〜25がメインメモリ26の内容を変更した際にも、そ
のアドレスを他の演算処理装置に通知して、それぞれ無
効化処理を行う必要がある。
第3図(a)(b)は、第1図に示す演算処理装置の
論理アドレスおよび物理アドレスのビット構成図であ
る。
第3図(a)に示すように、論理アドレスは32ビット
からなり、第12〜第31ビット(20ビット)の論理ページ
アドレスと、第0〜第11ビット(12ビット)のページ内
オフセットアドレスから構成される。ここで、論理アド
レスと物理アドレスのページ内オフセットアドレスのビ
ット内容は同一である。
論理アドレスアレイ18をアクセスするためのLAAエン
トリ指定アドレスは、第4〜第14ビット(11ビット)で
あり、これはページ内オフセットアドレスの8ビットと
論理ページアドレスの3ビットからなる。すなわち、論
理アドレス内のページアドレスとセットアドレスとの重
なりのビット数は、第12〜第14ビットの3ビットであ
る。
物理アドレスアレイ19に格納されるPAA論理ページア
ドレスタグは、第12〜第14ビット(3ビット)であっ
て、これは論理アドレス内のページアドレスとセットア
ドレスとの重なりの部分である。この論理ページアドレ
スタグを物理アドレスアレイ19に格納することにより、
これとページ内オフセットアドレスをマージすれば、論
理アドレスが完成されることになる。
次に、第3図(b)に示すように、物理アドレスは24
ビットからなり、第12〜第23ビット(12ビット)の物理
ページアドレスと、第0〜第11ビット(12ビット)のペ
ージ内オフセットアドレスから構成される。物理アドレ
スアレイ19をアクセスするためのPAAエントリ指定アド
レスは、第4〜第14ビット(11ビット)であり、これは
ページ内オフセットアドレス8ビットと物理ページアド
レス3ビットからなる。重なりの部分の3ビットのみ
が、LAAエントリ指定アドレスの内容と異なる。物理ア
ドレスアレイ19に格納されているPAA物理ページアドレ
スタグは、第15〜第23ビット(9ビット)であって、物
理ページアドレスの一部である。また、無効化処理のと
きに通知される無効化ブロック指定アドレスは、第4〜
第23ビット(10ビット)であって、第1図のアドレス入
力レジスタ17にセットされた無効化ブロック指定アドレ
スのうちのPAAエントリ指定アドレス部分で物理アドレ
スアレイ19をアクセスして、該当するエントリのPAA物
理ページアドレスタグを読み出す。物理アドレスアレイ
19から読み出されたPAA物理ページアドレスタグと無効
化ブロック指定アドレスのうちの対応する第15〜第23ビ
ット(9ビット)が比較器CMP12で比較され、その結
果、両者が一致して、かつこのエントリの制御フラグが
セットされていれば、次に物理アドレスアレイ19から論
理ページアドレスタグを読み出し、これと無効化ブロッ
ク指定アドレスのうちのページ内オフセットアドレス部
分とをマージして、論理アドレスアレイ18をアクセスす
る。そして、該当するエントリの制御フラグをOFFにす
ることにより、キャッシュメモリ13に格納されている該
当データブロックを無効化する。
次に、第1図の演算処理装置の動作を詳述する。
演算部12が処理中にメモリをアクセスする際には、先
ず対象のメモリの論理アドレスを論理アドレスレジスタ
15に出力する。次に、対象のメモリの写しがキャッシュ
メモリ13内に存在するか否かを調べるために、セレクタ
SEL11により論理アドレスレジスタ15の出力を選択し、
この論理アドレスにより論理アドレスアレイ18をアクセ
スして、該当するエントリを検索する。
第3図に示すように、論理アドレスアレイ18およびキ
ャッシュメモリ13のエントリの指定は、ページ内オフセ
ットアドレスの上位8ビットおよび論理ページアドレス
の下位3ビット(計11ビット)により行われる。同時
に、その指定アドレスでキャッシュメモリ13にもアクセ
スする。論理アドレスアレイ18およびキャッシュメモリ
13のアクセスと並行して、論理ページアドレスを物理ペ
ージアドレスに変換するが、これを行うために、例え
ば、『情報処理』VOL.21 No.4(1980年4月)第332頁〜
第340頁において記載されているTLB(Translation Look
aside Buffer)等を用いることができる。
論理アドレスアレイ18にアクセスされて、該当するエ
ントリから読み出された物理ページアドレスと、アドレ
ス変換部14で変換された物理ページアドレスとが比較器
CMP11で比較される。
比較器CMP11での比較の結果、これらが一致して、か
つ論理アドレスアレイ18の制御フラグが該当するエント
リが有効であることを示していれば、キャッシュメモリ
13内に対象のメモリの写しが存在することになる。これ
により、演算部12がキャッシュメモリ13をアクセスし
て、キャッシュメモリ13から読み出されたデータブロッ
クを使用することができる。
第4図(a)(b)は、第1図における論理アドレス
アレイと物理アドレスアレイに格納されているデータの
内部構成図である。
(a)の論理アドレスアレイ18では、各エントリはLA
Aエントリ指定アドレスで指定される。論理アドレスア
レイ18の各エントリの内容は、キャッシュメモリ13の対
応するエントリの物理ページアドレスおよび制御フラグ
である。制御フラグは、対応するキャッシュメモリ13の
エントリが有効か無効かを示すものであって、例えば有
効の場合には‘1'を、無効の場合には‘0'をそれぞれ記
憶しておけばよい。
また、(b)の物理アドレスアレイ19では、各エント
リはPAAエントリ指定アドレスで指定される。そして、
物理アドレスアレイ19の各エントリの内容は、物理ペー
ジアドレスのうちのエントリ指定に使用されていない部
分を記憶している物理ページアドレスタグ,対応するキ
ャッシュメモリ13のエントリがLAAエントリ指定アドレ
スで指定される際に必要な論理ページアドレスタグおよ
び対応するエントリがキャッシュメモリ内に存在するか
否かを記憶しておく制御フラグである。このうち、論理
ページアドレスタグが新たに格納された内容である。
第5図は、第1図におけるキャッシュメモリ無効化処
理を示す動作フローチャートである。
第1図に示す演算処理装置に対して、第2図に示す入
出力処理装置27および他の演算処理装置からキャッシュ
メモリ無効化要求が到来した場合を述べる。
第1図において、先ず、無効化すべき領域の物理アド
レスがA−BUSを通して、アドレス入力レジスタ17に取
り込まれる(ステップ51)。なお、アドレス入力レジス
タ17の構成は、第3図(b)に示したようになってお
り、また物理アドレスアレイ19のエントリの指示は、同
じく(b)に示すように、ページ内オフセットの上位8
ビットおよび物理ページアドレスの下位3ビットで行わ
れる。
無効化処理の際には、セレクタSEL12を制御して、ア
ドレス入力レジスタ17の出力により物理アドレスアレイ
19のエントリが指定されるように設定する。これによ
り、物理アドレスアレイ19をアクセスし、該当するエン
トリの物理ページアドレスタグを読み出す(ステップ5
2)。
読み出された物理ページアドレスタグを比較器CMP12
でアドレス入力レジスタ17の出力と比較し、両者が一致
し、かつ対応するエントリがキャッシュメモリ13内に存
在することを制御フラグが示していれば(ステップ5
3)、無効化すべきエントリがキャッシュメモリ13内に
存在することになる(ヒット)。ヒットしない場合に
は、無効化すべきエントリが無いので、処理は完了する
(ステップ54)。ヒットした場合には、物理アドレスア
レイ19のエントリを無効化するとともに、アドレス入力
レジスタ17のページ内オフセットアドレスおよび物理ア
ドレスアレイ19の論理ページアドレスタグを用いて、物
理アドレスを論理アドレスに変更して、LAAエントリ指
定アドレスを生成する(ステップ55)。
すなわち、第1図の信号線aを通してアドレス入力レ
ジスタ17のページ内オフセットを送出するとともに、信
号線bを通して物理アドレスアレイ19の論理ページアド
レスタグを送出し、両者を信号aとbの結合点でマージ
することにより、LAAエントリ指定アドレスを生成す
る。そして、これを用いて論理アドレスアレイ18をアク
セスし、LAA制御フラグをそのエントリが無効であるこ
とを示すっように書き換えることにより、無効化を行う
(ステップ56)。これにより、無効化処理は完了する。
このように、本例においては、入出力装置や他の演算
処理装置からの無効化要求に対して、どのようにキャッ
シュメモリ13の容量が増大されても、無効化処理に伴う
論理アドレスアレイ18を1回だけアクセスすればよく、
その結果、無効化処理に要する時間および論理アドレス
アレイ18における演算部12からおよび外部からのアクセ
スの衝突頻度を低減することができ、演算処理の高速化
を図ることが可能である。
なお、上述の例では、論理アドレスアレイ18と物理ア
ドレスアレイ19のエントリ数は同数であるものとして説
明したが、この点は必須の条件ではなく、物理アドレス
アレイ19に格納されるエントリの数を論理アドレスアレ
イ18に格納されるエントリの数より多くすることができ
る。すなわち、論理アドレスアレイ18の同一エントリに
対して、複数の論理アドレスがマッピングされる場合、
後からマッピングされた方が有効となるが、キャッシュ
メモリ13のエントリが無駄になることはない。これに対
し、論理アドレスアレイ18のエントリでは衝突していな
い論理アドレスが、物理アドレスアレイ19に対して衝突
した場合には、キャッシュメモリ13および論理アドレス
アレイ18には余裕があるにもかかわらず登録できなくな
るため、キャッシュメモリ13の領域が無駄になる。従っ
て、後者の場合は何としても回避したいので、物理アド
レスアレイ19のエントリを論理アドレスアレイ18のエン
トリより多くすることにより、衝突頻度を低減させた。
以上の例では、演算部12から見たメモリの階層はキャ
ッシュメモリとメインメモリの2階層であった。しかる
に、近年、演算部12の高速化に伴ってキャッシュメモリ
も高速化が図られており、例えばアクセス時間が10ns以
下というような高性能のキャッシュメモリが用いられて
いる。一方、メインメモリは大容量が要求されるので、
高速化の傾向はキャッシュメモリに比べると緩やかであ
り、例えばアクセス時間が100ns程度のD−RAMが用いら
れている。従って、キャッシュメモリとメインメモリの
速度の差は大きくなる傾向にある。
従って、従来より、キャッシュメモリとメインメモリ
の間に、両者の中間のアクセス時間を持つ第2のキャッ
シュメモリを挿入して、メモリを3階層にする方法が提
案されている。
第7図は、2階層と3階層のメモリ方式の情報処理装
置の比較図である。
第7図(a)は2階層のメモリ方式の情報処理層装置
であり、(b)は3階層のメモリ方式の情報処理装置で
ある。すなわち、(a)では、演算部12の下には、キャ
ッシュメモリ13とメインメモリMMの2階層が設けられる
のに対して、(b)では、演算部62の下に、第1のキャ
ッシュメモリ63と第2のキャッシュメモリ68とメインメ
モリMMの3階層が設けられている。第2のキャッシュメ
モリ68内には、メインメモリMMの内容の一部の写しが存
在し、さらに第1のキャッシュメモリ63内には第2のキ
ャッシュメモリ68の内容の一部の写しが存在する。
第6図は、本発明の実施例を示す演算処理装置の全体
構成図である。
本例は、3階層のメモリ方式の演算処理装置(プロセ
ッサ)からなる情報処理装置に適用したものである。
第6図において、61は演算処理装置、62は演算部、63
は第1層キャッシュメモリ、64はアドレス変換部、65は
論理アドレスレジスタ、66はアドレス出力レジスタ、67
はアドレス入力レジスタ、68は第2層キャッシュメモ
リ、69は論理アドレスアレイ、70は物理アドレスアレ
イ、SEL61,62,63はそれぞれセレクタ、CMP61,62はそれ
ぞれ比較器である。
本実施例においては、第1層キャッシュメモリ63は論
理アドレスを用いてアクセスされ、また第2層キャッシ
ュメモリ68は物理アドレスを用いてアクセスされる。
本実施例における特徴点は、物理アドレスアレイ70内
に、第2層キャッシュメモリ68のそのエントリの写しが
第1層キャッシュメモリ63に格納されていることを示す
コピーフラグを持っている点と、物理アドレスアレイ70
内の論理ページアドレスタグを転送する信号線bおよび
アドレス入力レジスタ67のページ内オフセットアドレス
を転送する信号線aを設け、これらの信号の途中でマー
ジして論理アドレスアレイ69をアクセスするLAAエント
リ指定アドレスを生成している点である。
第8図(a)(b)は、第6図における演算処理装置
の論理アドレスおよび物理アドレスのビット構成図であ
る。
第8図(a)に示すように、論理アドレスは第12〜第
31ビット(20ビット)の論理ページアドレスと第0〜第
11ビット(12ビット)のページ内オフセットアドレスか
らなる。論理アドレスアレイ69および第1層キャッシュ
メモリ63のエントリ指定アドレスは、第4〜第14ビット
(11ビット)であり、論理ページアドレスとセットアド
レスとの重なりのビット数は3ビットである。物理アド
レスアレイ70に格納されるPAA論理ページアドレスタグ
は、上記重なりのビットである第12〜第14ビット(3ビ
ット)である。
第8図(b)に示すように、物理アドレスは第12〜第
23ビット(12ビット)の物理ページアドレスと第0〜第
11ビット(12ビット)のページ内オフセットアドレスか
らなる。物理アドレスアレイ70および第2層キャッシュ
メモリ68のエントリ指定アドレスは、第5〜第17ビット
(13ビット)である。また、物理アドレスアレイ70に格
納されているPAA物理ページアドレスタグは、第18〜第2
3ビット(6ビット)である。また、無効化処理のため
に物理アドレスアレイ70をアクセスする無効化ブロック
指定アドレスは、第5〜第23ビット(19ビット)であ
る。
第9図(a)(b)は、第6図における論理アドレス
アレイおよび物理アドレスアレイの内部構成を示す図で
ある。
(a)の論理アドレスアレイ69のエントリは、LAAエ
ントリ指定アドレスで指定される。そして、各エントリ
の内容は指定された論理アドレスに対応する物理ページ
アドレスおよび第1層キャッシュメモリ63に格納されて
いるエントリが有効であるか否かを示す制御フラグであ
る。また、(b)の物理アドレスアレイ70のエントリ
は、PAAエントリ指定アドレスで指定される。そして、
各エントリの内容は、物理ページアドレスのうちエント
リ指定に使用されていない部分を記憶している物理ペー
ジアドレスタグと、論理ページアドレスとセットアドレ
スとの重なり部分である論理ページアドレスタグと、そ
のエントリの内容のコピーが第1層キャッシュメモリ63
内に存在するか否かを示すコピーフラグと、対応するエ
ントリが第2層キャッシュメモリ内に存在するか否かを
示す制御フラグである。コピーフラグ以外は、第4図に
おける内容と同一である。
次に、第6図により、演算処理装置の動作について詳
述する。
演算部62が処理中にメインメモリをアクセスする際に
は、先ず対象のメモリの論理アドレスを論理アドレスレ
ジスタ65に出力する。この論理アドレスの内容のコピー
が第1層キャッシュメモリ63内に存在するか否かを、論
理アドレスアレイ69を検索することにより調べる。これ
は、第1図の例の動作と同じである。第1層キャッシュ
メモリ63内にコピーが存在しない場合には、第2層キャ
ッシュメモリ68内に存在するか否かを、物理アドレスア
レイ70を検索することにより調べる。物理アドレスアレ
イ70のエントリ指定アドレス(物理アドレス)を生成す
るために、論理アドレスレジスタ65の内容をアドレス変
換部64を介して物理アドレスに変換し、アドレス出力レ
ジスタ66にセットする。セレクタSEL62をアドレス出力
レジスタ66側に切換えることにより、PAAエントリ指定
アドレスで物理アドレスアレイ70をアクセスすると共
に、セレクタSEL63をアドレス出力レジスタ66側に切換
えることにより、比較器CMP62でヒット判定を行う。物
理アドレスアレイ70の各エントリは、第2層キャッシュ
メモリ68の各エントリに対応しており、物理アドレスア
レイ70でヒットすれば、対応する第2層キャッシュメモ
リ68のエントリを第1層キャッシュメモリ63にコピーす
るとともに、物理アドレスアレイ70のコピーフラグをセ
ット(‘1'にする)することにより、このエントリが第
1層キャッシュメモリ63に存在することを示す。なお、
エントリを第2層キャッシュメモリ68から第1層キャッ
シュメモリ63にコピーする場合、図示されていない制御
部により第2層キャッシュメモリ68から該当するエント
リを読み出し、これを第1層キャッシュメモリ63の空き
エントリ領域に転送して格納する。
第10図は、第6図におけるキャッシュメモリ無効化処
理の動作フローチャートである。
入出力処理装置や他の演算処理装置から、第6図の演
算処理装置に対してキャッシュメモリ無効化要求が入力
した場合には、先ず、その無効化すべき領域の物理アド
レスをA−BUSからアドレス入力レジスタ67に取り込む
(ステップ101)。次に、セレクタSEL62をアドレス入力
レジスタ67側に切換えて、アドレス入力レジスタ67の第
5〜第17ビットをPAAエントリ指定アドレスとして物理
アドレスアレイ70をアクセスする(ステップ102)。そ
して、セレクタSEL63をアドレス入力レジスタ67側に切
換え、物理アドレスアレイ70から読み出された物理ペー
ジアドレスアレイタグを比較器CMP62でアドレス入力レ
ジスタ67の出力と比較して、両者が一致し、かつそのエ
ントリが有効であることを制御フラグが示しているか否
かを調べる(ステップ103)。ヒットしないならば、無
効化すべきエントリが無いものと判断して、処理を完了
する(ステップ104)。
一方、ヒットしたならば、物理アドレスアレイ70のそ
のエントリを無効化する(制御フラグをOFF)(ステッ
プ105)。そして、そのエントリのコピーフラグがセッ
トされているか否かを調べる(ステップ106)。コピー
フラグがセットされていない場合には、第1層キャッシ
ュメモリ63にはコピーが無いため、処理は完了する(ス
テップ107)。また、コピーフラグがセットされている
場合には、物理アドレスアレイ70から論理ページアドレ
スタグを読み出し、信号線bを介してセレクタSEL61に
転送するとともに、アドレス入力レジスタ67のページ内
オフセットアドレスを読み出し、信号線aを介してセレ
クタSEL61に転送する。その途中で両者をマージするこ
とにより、LAAエントリ指定アドレスを生成する(ステ
ップ108)。セレクタSEL61を物理アドレスアレイ70側に
切換えることにより、LAAエントリ指定アドレスを用い
て論理アドレスアレイ69をアクセスし、該当するエント
リの制御フラグをOFFにして、無効化を完了する(ステ
ップ109)。
このように、3階層のメモリを持つ演算処理装置にお
いて、(i)第2層キャッシュメモリ68のみに無効化す
べきエントリが存在する場合には、物理アドレスアレイ
70をアクセスするだけで無効化処理が完了する。また、
(ii)第1層キャッシュメモリ63にも無効化すべきエン
トリが存在する場合には、物理アドレスアレイ70に加え
て、論理アドレスアレイ69を1回アクセスするだけで、
無効化処理が完了する。
これによって、無効化処理に伴うアドレスアレイのア
クセス回数を最小限に抑えることができるので、無効化
処理の高速化が可能となる。
なお、本実施例で示したもの以外の構成、およびアド
レス空間を持つ論理アドレスでキャッシュメモリをアク
セスする演算処理装置に対しても、本発明を適用するこ
とが可能であって、同じような効果を得ることができ
る。
〔発明の効果〕
以上説明したように、本発明によれば、第1の(第1
層)キャッシュメモリとメインメモリの間に両者の中間
のアクセス時間を持つ第2の(第2層)キャッシュメモ
リを備え、かつ入出力処理装置や他の演算処理装置とメ
インメモリを共有する演算処理装置(プロセッサ)を含
む計算機システムすなわち情報処理装置において、メイ
ンメモリの内容を変更する場合のキャッシュメモリの無
効化処理に伴うメモリアクセスの回数を従来の方式に比
較して低減できるので、無効化処理を高速化して、計算
機システムの性能を向上させることが可能である。
【図面の簡単な説明】
第1図はキャッシュメモリ制御を行なう演算処理装置の
全体ブロック図、第2図は第1図の演算処理装置を含む
計算機システムの全体ブロック図、第3図は第1図にお
けるアドレス構成図、第4図は第1図における論理アド
レスアレイおよび物理アドレスアレイの内部構成図、第
5図は第1図におけるキャッシュメモリ無効化処理の動
作フローチャート、第6図は本発明の実施例を示す演算
処理装置の全体ブロック図、第7図は第1図と第6図の
実施例構成の比較図、第8図は第6図におけるアドレス
構成図、第9図は第6図における論理アドレスアレイお
よび物理アドレスアレイの内部構成図、第10図は第6図
におけるキャッシュメモリ無効化処理の動作フローチャ
ート、第11図は従来のキャッシュメモリ無効化処理の機
能ブロック図である。 11,61:演算処理装置、12,62:演算部、13:キャッシュメ
モリ、63:第1層キャッシュメモリ、68:第2層キャッシ
ュメモリ、18,69:論理アドレスアレイ、19,70:物理アド
レスアレイ、26:メインメモリ、27:入出力処理装置、1
4,64:アドレス変換部、15,65:論理アドレスレジスタ、1
6,66:アドレス出力レジスタ、17,67:アドレス入力レジ
スタ、SEL11,12,13,61,62,63:セレクタ、CAP11,12,61,6
2:比較器、A−BUS:アドレスバス、D−BUS:データバ
ス。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭57−117170(JP,A) 特開 昭58−150186(JP,A) 特開 昭62−266634(JP,A) 特開 昭47−56519(JP,A) 特開 昭56−44178(JP,A) 特開 昭64−18859(JP,A) 特開 昭64−13650(JP,A) 米国特許4825412(US,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/08 - 12/12

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】仮想記憶方式を用いた演算手段と、該演算
    手段から物理アドレスによりエントリが指定される第2
    層のキャッシュメモリと、上記演算手段から論理アドレ
    スによりエントリが指定され、かつ上記第2層のキャッ
    シュメモリの内容のコピーを保持する第1層のキャッシ
    ュメモリと、上記第1層のキャッシュメモリと同じ論理
    アドレスによりエントリが指定され、かつ対応する第1
    層のキャッシュメモリの各エントリの管理情報を記憶す
    る第1のアドレスアレイと、上記第2層のキャッシュメ
    モリと同じ物理アドレスによりエントリが指定され、か
    つ各エントリに、論理アドレスに変換するための追加情
    報および上記エントリに対応する上記第2層のキャッシ
    ュメモリのエントリのコピーが上記第1層のキャッシュ
    メモリに存在するか否かの情報を記憶する第2のアドレ
    スアレイとを設けた演算処理装置におけるキャッシュ制
    御方法であって、 外部からキャッシュメモリの無効化要求のための無効化
    対象となる物理アドレスが入力すると、該物理アドレス
    を用いて上記第2のアドレスアレイをアクセスし、該第
    2のアドレスアレイから上記追加情報を得て、論理アド
    レスを生成することにより、該論理アドレスを用いて上
    記第1のアドレスアレイをアクセスし、上記管理情報に
    対して無効化処理を行うことを特徴とするキャッシュメ
    モリ制御方法。
  2. 【請求項2】上記第2のアドレスアレイは、登録可能な
    エントリ数を上記第1のアドレスアレイに登録可能なエ
    ントリ数より多く設けることを特徴とする請求項1に記
    載のキャッシュメモリ制御方法。
  3. 【請求項3】仮想記憶方式で動作する演算手段と、該演
    算手段からの論理アドレスで定義されるエントリを有す
    る第1のレベルのキャッシュメモリを内蔵し、上記演算
    手段からの物理アドレスで指定されるエントリを有し集
    積化された第2のレベルのキャッシュメモリを外部に接
    続するための手段を有するプロセッサであって、 上記第1のレベルのキャッシュメモリは上記第2のレベ
    ルのキャッシュメモリの内容のコピーを保持し、上記第
    1のレベルのキャッシュメモリと同じ論理アドレスで定
    義されたエントリを有し、上記第1のレベルのキャッシ
    ュメモリのエントリが有効か否かを表示する第1の制御
    情報を有するアドレスアレイと、上記演算手段からの物
    理アドレスにより上記第2のレベルのキャッシュメモリ
    のエントリが指定された場合、各エントリを指定するた
    めに用いられていない部分を記憶する物理アドレスタ
    グ、上記第1のレベルのキャッシュメモリのエントリを
    指定するための論理アドレスを生成する論理アドレスタ
    グ、及び上記第2のレベルのキャッシュメモリの各エン
    トリが有効であるか否かを示す第2の管理情報を、上記
    第2のレベルのキャッシュメモリから入力し、上記第1
    及び第2のレベルのキャッシュメモリを制御する制御手
    段とを有し、少なくとも上記演算手段、上記第1のレベ
    ルのキャッシュメモリ、上記アドレスアレイ、上記制御
    手段が単一の半導体チップに集積されているプロセッ
    サ。
  4. 【請求項4】仮想記憶方式で動作する演算手段と、該演
    算手段からの論理アドレスで定義されるエントリを有す
    る第1のレベルのキャッシュメモリを内蔵し、上記演算
    手段からの物理アドレスで指定されるエントリを有し集
    積化された第2のレベルのキャッシュメモリを外部に接
    続するための手段を有する情報処理装置であって、上記
    第1のレベルのキャッシュメモリは上記第2のレベルの
    キャッシュメモリの内容のコピーを保持し、上記第1の
    レベルのキャッシュメモリと同じ論理アドレスで定義さ
    れたエントリを有し、上記第1のレベルのキャッシュメ
    モリのエントリが有効か否かを表示する第1の制御情報
    を有するアドレスアレイと、上記演算手段からの物理ア
    ドレスにより上記第2のレベルのキャッシュメモリのエ
    ントリが指定された場合、各エントリを指定するために
    用いられていない部分を記憶する物理アドレスタグ、上
    記第1のレベルのキャッシュメモリのエントリを指定す
    るための論理アドレスを生成する論理アドレスタグ、及
    び上記第2のレベルのキャッシュメモリの各エントリが
    有効であるか否かを示す第2の管理情報を、上記第2の
    レベルのキャッシュメモリから入力し、上記第1及び第
    2のレベルのキャッシュメモリを制御する制御手段とを
    有することを特徴とする情報処理装置。
JP1282664A 1989-10-30 1989-10-30 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 Expired - Lifetime JP2833062B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP1282664A JP2833062B2 (ja) 1989-10-30 1989-10-30 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US07/603,620 US5257361A (en) 1989-10-30 1990-10-26 Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation
US08/103,791 US5392416A (en) 1989-10-30 1993-08-10 Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation
US08/386,757 US5526509A (en) 1989-10-30 1995-02-10 Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1282664A JP2833062B2 (ja) 1989-10-30 1989-10-30 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP10093013A Division JP2930071B2 (ja) 1997-05-12 1998-04-06 情報処理装置およびプロセッサ

Publications (2)

Publication Number Publication Date
JPH03142644A JPH03142644A (ja) 1991-06-18
JP2833062B2 true JP2833062B2 (ja) 1998-12-09

Family

ID=17655451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1282664A Expired - Lifetime JP2833062B2 (ja) 1989-10-30 1989-10-30 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置

Country Status (2)

Country Link
US (3) US5257361A (ja)
JP (1) JP2833062B2 (ja)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2833062B2 (ja) * 1989-10-30 1998-12-09 株式会社日立製作所 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JPH04246745A (ja) * 1991-02-01 1992-09-02 Canon Inc 情報処理装置及びその方法
JP2974526B2 (ja) * 1992-12-18 1999-11-10 富士通株式会社 データ転送処理方法及びデータ転送処理装置
US5826094A (en) * 1993-09-30 1998-10-20 Intel Corporation Register alias table update to indicate architecturally visible state
US5623627A (en) * 1993-12-09 1997-04-22 Advanced Micro Devices, Inc. Computer memory architecture including a replacement cache
US5784706A (en) * 1993-12-13 1998-07-21 Cray Research, Inc. Virtual to logical to physical address translation for distributed memory massively parallel processing systems
US6128714A (en) 1994-03-17 2000-10-03 Hitachi, Ltd. Method of processing a data move instruction for moving data between main storage and extended storage and data move instruction processing apparatus
US5604889A (en) * 1994-06-15 1997-02-18 Texas Instruments Incorporated Memory management system for checkpointed logic simulator with increased locality of data
JPH0877073A (ja) * 1994-08-31 1996-03-22 Toshiba Corp 集合光ディスク装置
EP0713181A1 (en) * 1994-11-16 1996-05-22 International Business Machines Corporation Data processing system including mechanism for storing address tags
US6006312A (en) * 1995-02-27 1999-12-21 Sun Microsystems, Inc. Cachability attributes of virtual addresses for optimizing performance of virtually and physically indexed caches in maintaining multiply aliased physical addresses
DE69628079T2 (de) * 1995-03-31 2004-02-26 Sun Microsystems, Inc., Santa Clara Mechanismus auf Systemebene zum Entwerten von Daten, die im externen Cache eines Prozessors in einem Computersystem gespeichert sind
US5875462A (en) * 1995-12-28 1999-02-23 Unisys Corporation Multi-processor data processing system with multiple second level caches mapable to all of addressable memory
US6857099B1 (en) * 1996-09-18 2005-02-15 Nippon Steel Corporation Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program
US5946710A (en) * 1996-11-14 1999-08-31 Unisys Corporation Selectable two-way, four-way double cache interleave scheme
US5875201A (en) * 1996-12-30 1999-02-23 Unisys Corporation Second level cache having instruction cache parity error control
US5960455A (en) * 1996-12-30 1999-09-28 Unisys Corporation Scalable cross bar type storage controller
US6122711A (en) 1997-01-07 2000-09-19 Unisys Corporation Method of and apparatus for store-in second level cache flush
US5860093A (en) * 1997-01-21 1999-01-12 Unisys Corporation Reduced instruction processor/storage controller interface
US5996061A (en) * 1997-06-25 1999-11-30 Sun Microsystems, Inc. Method for invalidating data identified by software compiler
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6092156A (en) * 1997-11-05 2000-07-18 Unisys Corporation System and method for avoiding deadlocks utilizing split lock operations to provide exclusive access to memory during non-atomic operations
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
FR2787216B1 (fr) * 1998-12-11 2001-07-27 Bull Cp8 Procede de stockage et d'exploitation d'unites d'information dans un module de securite, et module de securite associe
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US6825848B1 (en) * 1999-09-17 2004-11-30 S3 Graphics Co., Ltd. Synchronized two-level graphics processing cache
US6892303B2 (en) * 2000-01-06 2005-05-10 International Business Machines Corporation Method and system for caching virus-free file certificates
JP4006445B2 (ja) 2002-11-21 2007-11-14 富士通株式会社 キャッシュ制御方法及びプロセッサシステム
US7996619B2 (en) * 2004-04-22 2011-08-09 Intel Corporation K-way direct mapped cache
US7146484B2 (en) * 2004-06-15 2006-12-05 Hitachi, Ltd. Method and apparatus for caching storage system
US7685400B2 (en) * 2004-12-15 2010-03-23 International Business Machines Corporation Storage of data blocks of logical volumes in a virtual disk storage subsystem
US7707383B2 (en) * 2006-11-21 2010-04-27 Intel Corporation Address translation performance in virtualized environments
US20090307415A1 (en) * 2008-06-05 2009-12-10 Yong-Hoon Kang Memory device having multi-layer structure and driving method thereof
US20100138575A1 (en) 2008-12-01 2010-06-03 Micron Technology, Inc. Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices
US20100174887A1 (en) 2009-01-07 2010-07-08 Micron Technology Inc. Buses for Pattern-Recognition Processors
US9323994B2 (en) 2009-12-15 2016-04-26 Micron Technology, Inc. Multi-level hierarchical routing matrices for pattern-recognition processors
US9104546B2 (en) * 2010-05-24 2015-08-11 Silicon Motion Inc. Method for performing block management using dynamic threshold, and associated memory device and controller thereof
KR20120126389A (ko) * 2011-05-11 2012-11-21 삼성전자주식회사 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 온칩 버퍼 프로그램 방법
US20130275709A1 (en) 2012-04-12 2013-10-17 Micron Technology, Inc. Methods for reading data from a storage buffer including delaying activation of a column select
US9524248B2 (en) 2012-07-18 2016-12-20 Micron Technology, Inc. Memory management for a hierarchical memory system
US9448965B2 (en) 2013-03-15 2016-09-20 Micron Technology, Inc. Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine
US9703574B2 (en) 2013-03-15 2017-07-11 Micron Technology, Inc. Overflow detection and correction in state machine engines
US9411745B2 (en) * 2013-10-04 2016-08-09 Qualcomm Incorporated Multi-core heterogeneous system translation lookaside buffer coherency
WO2016109570A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Systems and devices for accessing a state machine
WO2016109571A1 (en) 2014-12-30 2016-07-07 Micron Technology, Inc Devices for time division multiplexing of state machine engine signals
US11366675B2 (en) 2014-12-30 2022-06-21 Micron Technology, Inc. Systems and devices for accessing a state machine
US10691964B2 (en) 2015-10-06 2020-06-23 Micron Technology, Inc. Methods and systems for event reporting
US10977309B2 (en) 2015-10-06 2021-04-13 Micron Technology, Inc. Methods and systems for creating networks
US10846103B2 (en) 2015-10-06 2020-11-24 Micron Technology, Inc. Methods and systems for representing processing resources
US10146555B2 (en) 2016-07-21 2018-12-04 Micron Technology, Inc. Adaptive routing to avoid non-repairable memory and logic defects on automata processor
US10268602B2 (en) 2016-09-29 2019-04-23 Micron Technology, Inc. System and method for individual addressing
US10019311B2 (en) 2016-09-29 2018-07-10 Micron Technology, Inc. Validation of a symbol response memory
US10592450B2 (en) 2016-10-20 2020-03-17 Micron Technology, Inc. Custom compute cores in integrated circuit devices
US12197510B2 (en) 2016-10-20 2025-01-14 Micron Technology, Inc. Traversal of S portion of a graph problem to be solved using automata processor
US10929764B2 (en) 2016-10-20 2021-02-23 Micron Technology, Inc. Boolean satisfiability
US10126964B2 (en) * 2017-03-24 2018-11-13 Seagate Technology Llc Hardware based map acceleration using forward and reverse cache tables
GB2579921B (en) * 2018-02-28 2021-02-17 Imagination Tech Ltd Coherency manager
GB2601900B (en) * 2018-02-28 2022-11-16 Imagination Tech Ltd Coherency manager
GB2589022B (en) * 2018-02-28 2021-12-15 Imagination Tech Ltd Coherency manager
GB2571539B (en) 2018-02-28 2020-08-19 Imagination Tech Ltd Memory interface
GB2571536B (en) 2018-02-28 2020-03-11 Imagination Tech Ltd Coherency manager

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4825412A (en) 1988-04-01 1989-04-25 Digital Equipment Corporation Lockout registers

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4084230A (en) * 1976-11-29 1978-04-11 International Business Machines Corporation Hybrid semiconductor memory with on-chip associative page addressing, page replacement and control
JPS57117170A (en) * 1981-01-10 1982-07-21 Nec Corp Processing system for buffer memory coincidence
US4464712A (en) * 1981-07-06 1984-08-07 International Business Machines Corporation Second level cache replacement method and apparatus
JPS58150186A (ja) * 1982-03-03 1983-09-06 Nec Corp バツフアメモリコントロ−ルシステム
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
JPS6214453A (ja) * 1985-07-11 1987-01-23 Toshiba Corp 半導体装置の製造方法
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
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
US5119290A (en) * 1987-10-02 1992-06-02 Sun Microsystems, Inc. Alias address support
GB8728494D0 (en) * 1987-12-05 1988-01-13 Int Computers Ltd Multi-cache data storage system
US5003459A (en) * 1988-04-01 1991-03-26 Digital Equipment Corporation Cache memory system
JP2833062B2 (ja) * 1989-10-30 1998-12-09 株式会社日立製作所 キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4825412A (en) 1988-04-01 1989-04-25 Digital Equipment Corporation Lockout registers

Also Published As

Publication number Publication date
US5392416A (en) 1995-02-21
US5257361A (en) 1993-10-26
US5526509A (en) 1996-06-11
JPH03142644A (ja) 1991-06-18

Similar Documents

Publication Publication Date Title
JP2833062B2 (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JP3924206B2 (ja) 不均一メモリ・アクセス(numa)データ処理システム
US4800489A (en) Paged memory management unit capable of selectively supporting multiple address spaces
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
US10042778B2 (en) Collapsed address translation with multiple page sizes
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US6647466B2 (en) Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy
US9208103B2 (en) Translation bypass in multi-stage address translation
US6430670B1 (en) Apparatus and method for a virtual hashed page table
US4763250A (en) Paged memory management unit having variable number of translation table levels
JPH10177520A (ja) データプロセッサ及びデータ処理システム
JPS60221851A (ja) メモリ・アクセス・コントローラを具えるデータ処理装置
JPH0555898B2 (ja)
US12093186B2 (en) Process dedicated in-memory translation lookaside buffers (TLBs) (mTLBs) for augmenting memory management unit (MMU) TLB for translating virtual addresses (VAs) to physical addresses (PAs) in a processor-based system
JP2930071B2 (ja) 情報処理装置およびプロセッサ
US6766434B2 (en) Method for sharing a translation lookaside buffer between CPUs
US20050027960A1 (en) Translation look-aside buffer sharing among logical partitions
US4766537A (en) Paged memory management unit having stack change control register
EP0531123B1 (en) A dynamic address translation processing apparatus in a data processing system
JPH0519176B2 (ja)
JPH03211643A (ja) 並行例外検査及び更新バイパスを有する変換索引バッファ
KR0173854B1 (ko) 캐시메모리제어 방법 및 장치
JPS63284649A (ja) キャッシュメモリ制御方法
JP2001282616A (ja) メモリ管理方式
JPH06250926A (ja) 複数階層のキャッシュメモリを備えたデータ処理システム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081002

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091002

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091002

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101002

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101002

Year of fee payment: 12