JPH0340046A - キャッシュメモリ制御方式および情報処理装置 - Google Patents

キャッシュメモリ制御方式および情報処理装置

Info

Publication number
JPH0340046A
JPH0340046A JP1174405A JP17440589A JPH0340046A JP H0340046 A JPH0340046 A JP H0340046A JP 1174405 A JP1174405 A JP 1174405A JP 17440589 A JP17440589 A JP 17440589A JP H0340046 A JPH0340046 A JP H0340046A
Authority
JP
Japan
Prior art keywords
data
store
block
cache memory
attribute
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
JP1174405A
Other languages
English (en)
Inventor
Masabumi Shibata
正文 柴田
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 JP1174405A priority Critical patent/JPH0340046A/ja
Publication of JPH0340046A publication Critical patent/JPH0340046A/ja
Priority to US08/063,953 priority patent/US5353428A/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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、マルチプロセッサシステムを採用する情報処
理装置に関し、特に、キャッシュメモリのデータの更新
の制御に関するものである。
[従来の技術] キャッシュメモリ制御方式は、一般的にストアスルー制
御方式とストアイン制御方式に大別される。
ストアスルー制御方式とは、主記憶への書込み要求が発
生すると、キャッシュメモリと主記憶の双方を逐次更新
していく制御方式であり、ストアイン制御方式は、書込
み要求発生時には、キャッシュのみを更新しておき、主
記憶の更新は後にまとめて書き戻す制御方式である。
データ処理装置等が、キャッシュメモリ制御方式を用い
る際、ストアスルー制御方式を採用するか、ストアイン
制御方式を採用するかは、データ処理装置の論理方式の
大きな決定要因となり、また、その性能をも大きく左右
する。
7 ストアスルー制御方式とストアイン制御方式の優劣につ
いては、例えば、コンピユーテイング・サーベイズ、1
4巻3号、1982年9月号、第500頁から502頁
(Computing 5urreys Vol、14
 Na 3゜Sep、1982 pp500−502)
において論じられているさらに、一般にストアスルー制
御方式に比べてストアイン制御方式は、制御が複雑でハ
ードウェア量が増大する欠点があるが、主記憶との転送
回数を低減することが可能となるため、1台の主記憶装
置を後続のプロセッサで共有する密結合マルチプロセッ
サ等に適しているとされている。
[発明が解決しようとする課題] 1台の主記憶装置を、ストアイン制御方式を採用したキ
ャッシュメモリを備える複数台のプロセッサで共有する
マルチプロセッサシステムにおいて、主記憶のある領域
が共有データ領域として使用されるケースについて考え
る。
1台目のプロセッサが、この領域をキャッシュメモリに
読み込み、キャッシュメモリ上で書込みを行なうと、最
新のデータは1台目のプロセッサ8− のキャッシュメモリのみに存在することになる。
ここで、2台目のデータ処理装置がこの領域をアクセス
すると、主記憶のデータは、書き込み前の古いデータで
あるため1台目のアクセスのキャッシュメモリにあるデ
ータを、主記憶に書き戻してから、2台目のデータ処理
装置が自身のバッファ記憶に登録する必要がある。
このバッファ記憶データの主記憶への書き戻しはライト
バックと呼ばれ、ストアイン制御方式の避けられないオ
ーバーヘッドである。
共有データ領域のように複数のデータ処理装置間に共有
されるデータは、このライトバックが多発するため、前
記オーバーヘッドが増大し、システムの性能が低下する
という問題点があった。
一方、ストアスルー制御方式のバッファ記憶を具備する
データ処理装置が、たとえば−台の主記憶装置に複数台
接続されるマルチプロセッサシステムにおける、ある特
定のジョブやタスクが専有して使用する固有データ領域
について考える。この領域は、そのジョブが特定のデー
タ処理装置で走行している間は、そのデータ処理装置内
のバッファ記憶にのみ存在すれば充分であるにもかかわ
らず、書込みが発生する毎に主記憶データを更新するた
め主記憶転送量を増大させ、システムの性能を低下させ
てしまう問題があった。
以上のように、両方式とも、不適当な状況下においては
、システムの性能を低下させてしまう。
本発明の目的は、マルチプロセッサシステムを採用する
情報処理装置において、状況に応じた制御を行えるキャ
ッシュメモリ制御方式、および、情報処理装置を提供す
ることを目的とする。
[課題を解決するための手段] 前記目的を達成するために、本発明は、キャッシュメモ
リとキャッシュメモリを介して記憶データにアクセスす
るプロセッサとを含む2以上のプロセッサユニットと、
主記憶装置と、を有する情報処理装置において、 制御対象データに関連した情報より状況を把握し、スト
アスルー方式とストアイン方式とを、制御対象データに
応じて切り替えることにより、状1− 況に応じた制御を行うキャッシュメモリ制御方式を提供
する。
また、前記目的達成のために、本発明は、キャッシュメ
モリとキャッシュメモリを介して記憶データにアクセス
するプロセッサとを含む1以上のプロセッサユニットと
、主記憶装置と、を有する情報処理装置であって、 前記プロセッサは、記憶データの種別にあらかじめ付与
したストアインもしくはストアスルーの属性を、書き込
む記憶データにつき判別する手段と、判別した記憶デー
タの種別の属性がストアインである場合にストアイン方
式で記憶データを書き込む手段と、判別した記憶データ
の種別の属性がストアスルーである場合にストアスルー
方式で記憶データを書き込む手段と、を有することを特
徴とする情報処理装置を提供する。
また、本発明は、キャッシュメモリとキャッシュメモリ
を介して記憶データにアクセスするプロセッサとを含む
1以上のプロセッサユニットと、主記憶装置と、を有す
る情報処理装置において、前記プロセッサに、書き込む
データの属する記憶空間上の領域にあらかじめ付与した
ストアインもしくはストアスルー属性を、書き込む記憶
データの記憶領域につき判別する手段と、判別した記憶
データの記憶領域の属性が、ストアインである場合にス
トアイン方式で記憶データを書き込む手段と、判別した
記憶データの記憶領域の属性が、ストアスルーである場
合にストアスルー方式で記憶データを書き込む手段を備
えたものである。
また、前記目的を達成するために、本発明は、ブロック
単位にデータを保持するキャッシュメモリと、キャッシ
ュメモリに保持されているデータの主記憶装置を含む記
憶空間における実アドレスをブロック単位に管理するバ
ッファアドレスアレイ部と、キャッシュメモリを介して
記憶データにアクセスするプロセッサとを含む1以上の
プロセッサユニットと、主記憶装置と、を有する情報処
理装置であって、 前記バッファアドレスアレイ部は、ブロック単位にスト
アインまたはストアスルーの記憶データの属性を示す識
別子を設定する領域を備え、前記プロセッサは、主記憶
のデータのキャッシュメモリへの読み込み時に、前記識
別子設定領域に識別子を設定する設定手段と、記憶デー
タの書き込み時に、そのデータの属するブロックの前記
識別子がストアインの属性を示すか、ストアスルーの属
性を示すか判別する手段と、判別した記憶データの属す
るブロックの識別子が、ストアインの属性を示す場合に
ストアイン方式で記憶データを書き込む手段と、判別し
た記憶データの属するブロックの属性が、ストアスルー
である場合にストアスルー方式で記憶データを書き込む
手段と、を有することを特徴とする情報処理装置を提供
する。
なお、前記設定手段は、キャッシュメモリへ主記憶から
読み込むデータがプログラムを構成するデータか否か判
定する判定部と、読み込むデータがプログラムを構成す
るデータである場合に、そのデータが属するブロックの
前記識別子設定領域に識別子をストアスルーの属性を示
すように設定し、読み込むデータがプログラムを構成す
るデータでない場合に、そのデータが属するブロックの
前記識別子設定領域に識別子をストアインの属性を示す
ように設定する設定部と、がら構成されるのが望ましい
また、本発明は、ページを用いて仮想空間を指定する多
重仮想記憶方式を採用する前記情報処理装置であって、 ページエントリテーブルに各ページ毎に、ストアインま
たはストアスルーの属性を示す識別符号を備え、前記設
定手段は、キャッシュメモリへ主記憶から読み込むデー
タを要求した命令が指定したページのページエントリテ
ーブルによる実アドレス変換時に、あわせて、該ページ
の前記識別符号の示す属性を、前記バッファアドレスア
レイの該ページに対応するブロックの識別子設定領域に
設定する設定部から構成されることを特徴とする情報処
理装置を提供する。
また、多重仮想記憶方式を採用する前記情報処理装置に
おいて、前記設定手段に、キャッシュメモリへ主記憶か
ら読み込むデータを要求した命令が、仮想記憶空間上に
おいての共有セグメントからのデータを要求する命令か
否か判定する判定部と、共有セグメントからのデータを
要求する命令である場合に、そのデータが属するブロッ
クの前記識別子設定領域に識別子をストアスルーの属性
を示すように設定し、共有セグメントからのデータを要
求する命令でない場合に、そのデータが属するブロック
の前記識別子設定領域に識別子をストアインの属性を示
すように設定する設定部と、を備えたものをも提供する
また、さらに、多重仮想記憶方式を採用する前記情報処
理装置において、前記設定手段に、キャッシュメモリへ
主記憶から読み込むデータを要求した命令が、仮想記憶
空間上においてのプライマリ空間からのデータを要求す
る命令か否か、プログラムステータスレジスタを参照し
て判定する判定部と、プライマリ空間からのデータを要
求する命令である場合に、そのデータが属するブロック
の前記識別子設定領域に識別子をストアスルーの15 属性を示すように設定し、プライマリ空間からのデータ
を要求する命令でない場合に、そのデータが属するブロ
ックの前記識別子設定領域に識別子をストアインの属性
を示すように設定する設定部と、を備えたものをも提供
する。
さらに、本発明は、前記目的達成のために、前記バッフ
ァアドレスアレイ部を有する情報処理装置の主記憶装置
に、前記各プロセッサユニットのキャッシュメモリ毎に
データ保持状態をブロック単位に、そのブロックのスト
アインまたはストアスルーの属性を含め管理するフロン
トアドレスアレイと、属性ストアインで1のプロセッサ
ユニットのキャッシュメモリに読み込まれている主記憶
上における1のブロックが、他のプロセッサユニットの
キャッシュメモリに読み込まれないよう、前記フロント
アドレスアレイを参照して制御する手段と、1のプロセ
ッサユニットのキャッシュメモリに読み込まれているブ
ロックに対応する主記憶上のブロックに、他のプロセッ
サユニットより書き込みが行われた場合に、1のプロセ
ッサユニ16 ツトのキャッシュメモリに読み込まれているブロックを
無効とするよう前記フロントアドレスアレイを参照して
制御する手段と、を備えたものである。
[作用コ 本発明によれば、情報処理装置において、キャッシュメ
モリにおける各制御対象データは、概制御対象データに
関連した情報に基づき定められた、ストアスルー、また
は、ストアインの方式で各々制御される。
次に、本発明に係る情報処理装置のl態様の作用として
、ブロック単位にデータを保持するキャッシュメモリと
、キャッシュメモリに保持されているデータの主記憶装
置を含む記憶空間における実アドレスをブロック単位に
管理するバッファアドレスアレイ部と、キャッシュメモ
リを介して記憶データにアクセスするプロセッサとを含
む1以上のプロセッサユニットと、主記憶装置と、を有
する多重仮想記憶方式を採用する情報処理装置を例にと
り説明する。
プロセッサの設定手段は、主記憶のデータのキャッシュ
メモリへの読み込み時に、そのデータの他のプロッセサ
ユニットとの共用の可能性を、そのデータがプログラム
を構成するものかどうか、のデータの属するページのペ
ージエントリの識別符号がストアスルーを示しているか
どうか、そのプロッセサユニットとの共有セグメントの
ものかどうか、プライマリ空間のものかどうか等により
調べ、共用の可能性が高い場合には、アドレスバッファ
アレイの識別子をストアスルーに設定する。
そうでない場合は、ストアインに設定する。
そして、記憶データの書き込み時に、そのデータの属す
るブロックの前記識別子がストアインの属性を示すか、
ストアスルーの属性を示すか判別し、判別した記憶デー
タの属するブロックの識別子が、ストアインの属性を示
す場合にストアイン方式で記憶データを書き込み、判別
した記憶データの属するブロックの属性が、ストアスル
ーである場合にストアスルー方式で記憶データを、書き
込む。
主記憶装置は、プロセッサユニットより読み込み要求が
あった場合、フロントアドレスアレイを参照し、要求の
あったブロックが、属性ストアインで他のプロセッサユ
ニットのキャッシュメモリに読み込まれているかどうか
調べる。
読み込まれている場合には、読み込まれているブロック
の書き戻しを要求する等の方法により、属性ストアイン
で1のプロセッサユニットのキャッシュメモリに読み込
まれている主記憶上における1のブロックが、他のプロ
セッサユニットのキャッシュメモリに読み込まれないよ
う制御する。
また、主記憶装置は、主記憶上のブロックに、プロセッ
サユニットより書き込みが行われた場合に、フロントア
ドレスアレイを参照し、そのブロックが、他のプロセッ
サユニット−のキャッシュメモリに読み込まれているか
どうかを調べる。他のプロセッサユニットのキャッシュ
メモリに読み込まれている場合には、その読み込んでい
るブロックを無効とするよう当該他のプロセッサユニッ
トに指示する。
19− [実施例] 以下、本発明の一実施例を図面を用いて詳細に説明する
まず、本発明の第1の実施例を説明する。
第1図は、本実施例に係る情報処理装置の構成を示す説
明図である。本実施例に係る情報処理装置においては、
2台のプロセッサユニットが主記憶制御装置を介して1
台の主記憶装置を共有している、 図中、1.2はプロセッサユニット、lla、11bは
キャッシュメモリ、6a、6bはキャッシュメモリll
a、llbに保持されているデータをブロック単位に管
理するバッファアドレスアレイである。
バッファアドレスアレイ6a、16bは、ブロック毎に
、ブロックの有効を示すバリッドビット(Vビット)7
a、7bと、ブロックのストアスルーとストアインの属
性を示すストアインフラグ(Fビット)8a、8bと、
ストアイン制御時、バッファ記憶デー9部11a、ll
bに保持して20− いるブロックデータ12a、12bが書き替られたこと
を示すダーティ−ビット(Dビット)9a、9bと、ブ
ロック実ア1くレス10a、10bを記憶する。
4は主記憶制御装置、20a、20bは接続されている
処理装置ごとにバップア記憶の保持状態を管理するフロ
ントアドレスアレイである。
フロントアドレスアレイ20a、20bはバッファアド
レスアレイ6a、6bと、はぼ同様の構成になっており
、バリッドビット(Vビット)13a、13bと、スト
アインフラグ(Fビット)14a、14b、および、ブ
ロック実アドレス15a、15bを記憶する。
第2図に、前記プロセッサユニット1の構成を示す。
図に示すようにプロセッサユニット1は、プロセッサ部
21と、主記憶のデータを一時保持し、プロセッサ部2
1の記憶データへの高速アクセスをサポートするバッフ
ァであるキャッシュメモリ11から構成される装 プロセッサ部21において、22は演算処理等を実行す
る演算部であり、該演算部22は論理アドレスで記憶空
間にアクセスする。
23は論理アドレスを物理アドレスに変換し、演算部の
論理アドレスによる、実アドレス空間である主記憶装置
へのアクセスを可能とする論理/物理アドレス変換部で
ある。
24はキャッシュメモリ制御部であり、前記バッファア
ドレスアレイ6(第1図中符号6)を用いてキャッシュ
メモリ11を制御する。
第3図に、前記の論理/物理アドレス変換部23の構成
を示す。
図中、33は演算部22よりの記憶データへのアクセス
要求を受は付けるリクエスト制御部、30はアクセスし
ようとする記憶データの論理アドレスが、リクエスト制
御部33により設定される論理アドレスレジスタ、31
は論理アドレスを物理アドレスに変換するアドレス変換
部、32は変換された物理アドレスが格納される実アド
レスレジスタである。また、実アドレスレジスタ322
3 には、設定された実アドレスが属する空間またはその実
アドレスに対応する記憶データの、ストアインまたはス
トアスルーの属性を示すストアイン識別符号32bが格
納される。
34は演算部が各部の制御の通知のために、制御ワード
を設定する制御ワードレジスタである。
また、制御ワードは記憶空間の制御内容を示す空間制御
ビット34bを含んでいる。
35はリクエスト制御部33が受は付けた演算部22よ
りの、アクセス要求の種類、および、制御ワードレジス
タ34に設定された空間制御ビット34aより、アクセ
ス要求があった記憶データが属するブロックのストアイ
ンまたはストアスルーの属性を決定し、ストア識別符号
を実アドレスレジスタ32に設定するストア制御方式決
定回路である。
以下、本実施例の動作について説明するプロセッサユニ
ットlにおいて、データ操作の要求が発生した場合につ
いて説明する。
まず、論理/物理アドレス変換部23の動作について、
第3図を参照して説明する。
プロセッサユニット1においてデータ操作の要求命令が
発生し、リクエスト制御部33にその命令が設定され、
制御ワードレジスタ34に制御ワード34aが設定され
ると、リクエスト制御部33は、命令に含まれるそのデ
ータの論理アドレスを論理アドレスレジスタ30に設定
する。
この論理アドレスレジスタ30に設定された仮想アドレ
スは、アドレス変換器31により物理アドレスに変換さ
れ、実アドレスレジスタ32に設定される。
一方、ストア制御方式決定回路35は、制御ワード34
aレジスタ34より空間制御ビット34bを読み込み、
リクエスト制御部33より命令を読み込む。そして、読
み込んだ命令の種類が命令フェッチ等のプログラムを構
成するデータを読み込むものであるか、もしくは、命令
に含まれるそのデータの論理アドレスが共有セグメント
上のものか、もしくは、読み込んだ空間制御ビット34
bがプライマリ空間アクセスを示している場合には、ス
1−ア識別符号32bをストアスルーとして設定する。
他の場合にはストアインとして設定する。
ところで、多重仮想記憶方式を採用する情報処理システ
ムにおいては、1のプロセスに提供される1の仮想記憶
空間が、さらに区切られた複数の仮想空間として提供さ
れる場合が多いが、この場合、さらに、前記の区切られ
た仮想空間のうち、プロセスが使用する、あるプログラ
ムを格納している1つの仮想空間と、そのプログラムに
関連するデータを格納する1つの仮想空間との、2つの
特定した仮想空間に、プロセスが、より簡易にアクセス
できるようサボー1〜されることがある。
通常、このサポートされる仮想空間のうち、プログラム
を格納している仮想空間はプライマリ空間と呼ばれ、そ
のプログラムに関連するデータを格納する仮想空間はセ
カンダリ空間と呼ばれる。
次に、プロセッサユニット1のデータ操作の要求が読み
込みである場合のキャッシュメモリ制御部24の動作を
説明する。
第6図にこの時の動作の流れを示す。
まず、実アドレスレジスタ32に実アドレスが設定され
ると(ステップ600) 、キャッシュメモリ制御部2
4は、実アドレスレジスタ32のアドレスに対応するデ
ータがキャッシュメモリ内に存在するかどうか調べる(
ステップ601)。
存在する場合には、そのデータをキャッシュメモリより
読み込み、プロセッサユニット1に転送しくステップ6
02)、処理を終了する。
存在しない場合には、キャッシュメモリに、そのデータ
が含まれるデータブロックを主記憶5より読み込む空き
ブロックが有るか否か調べる(ステップ603)。
空きブロックが有る場合には、実アドレスレジスタ32
よりスI・ア識別符号32bを読み(ステップ607)
、符号が、ストアインを示している場合は、実アドレス
レジスタ32が示す実アドレスが含まれるデータブロッ
クの属性をストアインとし、読み出しを主記憶5制御部
4に要求する(ステップ608)。
符号が、ストアスルーを示している場合は、実アドレス
レジスタ32が示す実アドレスが含まれるデータブロッ
クの属性をストアスルーとし、読み出しを主記憶制御部
4に要求する(ステップ610)。
そして、キャッシュメモリ制御部24は、主記憶制御部
4より要求したデータブロックが転送されると、そのデ
ータブロックをキャッシュメモリの空きブロックに記憶
すると共に、バッファアドレスアレイの、その記憶した
ブロックの対応部に、その主記憶5における実アドレス
を設定し、また、■ビット7aを1に設定することによ
りそのブロックを登録し、前記の読み出しの属性がスト
アインの場合はFビット8aをOに、読み出しの属性が
ストアスルーの場合はFビット8aを1に設定する(ス
テップ609.611)。
そして、キャッシュメモリに記憶したデータブロックよ
り要求された実アドレスに対応するデータをプロセッサ
ユニット1に転送しくステップ602)、処理を終了す
る。
27− データブロックを主記憶5より読み込む空きブロックが
無い場合は、まず通常のアルゴリズムにより、キャッシ
ュメモリより書き出すデータブロックを定める。
書き出すブロックのFビット8aが1、すなわち、スト
アスルーを示している場合は(ステップ604) 、そ
のブロックのVビット7aを0に設定することによりキ
ャッシュメモリの登録を抹消し、空きブロックを作る。
書き出すブロックのFビット8aが0、すなわちストア
インを示している場合は、Dビット9aを調べ(ステッ
プ605)、Dビット9aが0である場合は、そのブロ
ックのデータと、主記憶5のそのブロックに対応するデ
ータは一致しているので、そのブロックのVビット7a
を0に設定することによりキャッシュメモリの登録を抹
消し、空きブロックを作る。また、そのブロックのフロ
ントアドレスアレイの登録の抹消を主記憶制御部4に要
求する。
Dピッh 9 aが工である場合は、そのブロック28
− のデータは、キャッシュメモリ上で変更され、かつ、未
だその変更が主記憶5に反映されていないことを示すの
で、そのブロックの書き込み要求を主記憶制御部4に要
求し、主記憶5への書き出しを行い(ステップ606)
 、その後Vビット7aをOに設定し、キャッシュメモ
リの登録を抹消し、空きブロックを作る。
こうして、空きブロックを作った後は、前記した、空き
ブロックがある場合の処理を実行し、求めるデータブロ
ックをキャッシュメモリに記憶し、要求された実アドレ
スに対応するデータをプロセッサユニット1に転送し、
処理を終了する。
次に、プロセッサユニット1においてデータの操作の要
求が発生した場合の、主記憶制御部4の動作を説明する
主記憶制御部4は、キャッシュメモリ制御部24よりの
、読み出し要求または書き出し要求により起動し、要求
された処理を実行する。
第7図に読み出し要求時の処理の流れを、第8図に書き
込み要求時の処理の流れを示す。
まず、読み出し要求時の処理について説明する。
前記したプロセッサユニット1においてデータの要求が
発生した場合のキャッシュメモリ制御部24より、読み
出し要求を受けると、まず、主記憶制御部4は、その読
み出し要求の属性を判別する(ステップ701)。
属性がストアスルーである場合には、その要求されたブ
ロックが、他のプロセッサユニツ1〜2に属性ストアイ
ンで読みだされているか否か、プロセッサユニット2に
対応するフロントアドレスアレイ20bを実アドレス1
3bとVビット13bにより調べ(ステップ702)、
読み出されていれば、その読み出している他のプロセッ
サユニット2に書き戻しを要求する。他のプロセッサユ
ニツ1へ2にて、そのブロックのデータが変更されてい
る可能性があるからである。
書き戻しが実行されたら、その他のプロセッサユニット
2に対応するフロントアドレスアレイ20bの書き戻し
たブロックのVピッl−13bをOとし、そのデータブ
ロックの登録を抹消する31 (ステップ703)。
属性がストアインで有る場合および前記ストアスルーで
ある場合の処理が終了したら、要求されたブロックを主
記憶5より読み出し、要求したプロセッサユニ:7 h
 1に転送しくステップ704)、そのプロセッサユニ
ット1に対応するフロントアドレスアレイ20aの転送
したブロックのVビット13aを1にすることによりそ
のブロックを登録し、Fピッh 14 aをOに設定し
、処理を終了する。
読み出し要求の属性が、ストアインであった場合は、ま
ず、その要求されたブロックが、他のプロセッサユニッ
ト2に属性ストアインで読みだされているか否か(ステ
ップ705)、属性ストアスルーで読みだされているか
否か(ステップ708)調べる。
ストアインで読み出されていれば、その読み出している
他のプロセッサユニッ1〜2に書き戻しを要求する。書
き戻しが実行されたら、その他のプロセッサユニツ1〜
2に対応するフロントアドレス2− アレイ20bの書き戻したブロックのVピッ1.13b
をOとし、そのデータブロックの登録を抹消する(ステ
ップ706)。
ストアスルーで読み出されていれば、その読み出してい
る他のプロセッサユニット2にそのブロックの登録を抹
消するよう要求し、その他のプロセッサユニット2に対
応するフロントアドレスアレイ20bのブロックのVビ
ット13bを○とし、登録を抹消する(ステップ709
)。
要求されたブロックが、他のプロセッサユニット2に読
み出されていない場合、もしくは、書き戻しまたは登録
野抹消の要求の処理が終了したら、要求されたブロック
を主記憶5より読み出し、要求したプロセッサユニット
↓に転送し、そのプロセッサユニット1に対応するフロ
ントアドレスアレイ20aの転送したブロックのVビッ
ト13aを1に、Fビット14aをOに設定しくステッ
プ707)、処理を終了する。
次に、キャッシュメモリ制御部24より、書き込み要求
があった場合の主記憶制御部4の動作について、第8図
を参照して説明する。
書き込み要求があると、主記憶5正誤部は、まず、その
書き込みを要求されたブロックの属性を調べる(ステッ
プ801)。
属性が、ストアスルーである場合には、そのブロックを
主記憶5に書き込み、書き込みを要求したプロセッサユ
ニツl−1に対応するフロントアドレスアレイ20aの
そのブロックのVビット13aをOに設定する(ステッ
プ802)。
そして、次に、他のプロセッサユニツ1〜2が、前記主
記憶5に書き込んだブロックと同じブロックを読み込ん
でいるか否か調べる(ステップ803)。
そして、読み込んでいる場合には、他のプロセッサユニ
ット2に、そのブロックの登録の抹消を要求すると共に
、他のプロセッサユニット2に対応するフロントアドレ
スアレイ20bのそのブロックのVビット13bをOに
設定し、処理を終了する(ステップ804)。他のプロ
セッサユニット2が、読み込んでいる変更前のブロック
のデー夕を使用を防止するためである。
属性が、ストアインである場合には、そのブロックを主
記憶5に書き込み、書き込みを要求したプロセッサユニ
ット1に対応するフロントアドレスアレイ20aの、そ
のブロックのVビット13aをOに設定し、処理を終了
する(ステップ8o5)。なお、この時、前記した主記
憶制御部4の読み出し要求時の処理で説明したように、
lのプロセッサユニットに属性ストアインで読み込まれ
ているブロックは、他のプロセッサユニットに読み込ま
れることは無いため、他のプロセッサユニット2は考慮
する必要が無い。
次に、プロセッサユニット1のデータ操作の要求が書き
込みである場合のキャッシュメモリ制御部24の動作を
説明する。
第9図にこの時の動作の流れを示す。
まず、実アドレスレジスタ32に実アドレスが設定され
ると、キャッシュメモリ制御部24は、ストア識別符号
32bを読み、符号が、ストアスルーを示しているか否
か(ステップ901)判別する。
ストアスルーを示している場合は、実アドレスレジスタ
32のアドレスに対応するデータを含むでブロックがキ
ャッシュメモリ内に存在するかどうか調べ(ステップ9
02)、存在する場合には、キャッシュメモリに書き込
む(ステップ903)。
このキャッシュメモリへの書き込み処理が終了した場合
、もしくは、ブロックがキャッシュメモリ内に存在しな
い場合には、主記憶制御部4に書き込みを要求しくステ
ップ904)、処理を終了する。
読み込んだストア識別符号が、ストアインを示している
場合は、実アドレスレジスタ32のアドレスに対応する
データを含むでブロックがキャッシュメモリ内に存在す
るかどうか調べ(ステップ905)、存在する場合しこ
は、キャッシュメモリに書き込み、バッファアドレスア
レイの、そのブロックのDビット9aを1に設定(ステ
ップ906)し、処理を終了する。
キャッシュメモリ内に存在しない場合は、キャー35− ッシュメモリに、そのデータが含まれるデータブロック
を主記憶5より読み込む空きブロックが有るか否か調べ
る(ステップ907)。
空きブロックが有る場合には、実アドレスレジスタ32
が示す実アドレスが含まれるデータブロックの属性をス
トアインとし、読み出しを主記憶制御部4に要求する(
ステップ912)。
主記憶制御部4より、要求したデータブロックが転送さ
れると、そのデータブロックをキャッシュメモリの空き
ブロックに記憶すると共に、バッファアドレスアレイの
、その記憶したブロックの対応部に、その主記憶5にお
ける、実アドレスを登録し、また、Vビット7aを1に
設定し、Fビット8aを1に設定する(ステップ913
)。
そして、キャッシュメモリに記憶したデータブロックに
対し、プロセッサユニット上より書き込みを要求された
データを書き込み、バッファアドレスアレイそのブロッ
クのDビット9aを1に設定しくステップ906)、処
理を終了する。
データブロックを主記憶5より読み込む空きブー36 0ツクが無い場合は、まず通常のアルゴリズムにより、
キャッシュメモリより書き出すデータブロックを定める
書き出すブロックのFピッl” 8 aが1、すなわち
ストアスルーを示している場合は、そのブロックのVビ
ット7aをOに設定することによりキャッシュメモリの
登録を抹消し、空きブロックを作る(ステップ908)
書き出すブロックのFビット8aが0、すなわちストア
インを示している場合は、次ぎにDビット9aを調べ、
Dピッl−9aがOである場合には、そのブロックのデ
ータと、主記憶5のそのブロックに対応するデータは一
致していることになるので、そのブロックのVビット7
aをOに設定することによりキャッシュメモリの登録を
抹消し、空きブロックを作る(ステップ909)。また
、そのブロックのフロントアドレスアレイの登録の抹消
を主記憶制御部4に要求する。
Dビット9aがlである場合には、そのブロックのデー
タは、キャッシュメモリ上で変更され、かつ、未だその
変更が主記憶5に反映されていないことになるので、そ
のブロックの書き込み要求を主記憶制御部4に要求し、
主記憶5への書き出しを行い、その後Vビット7aを0
に設定し、キャッシュメモリの登録を抹消し、空きブロ
ックを作る(ステップ910)。
こうして、空きブロックを作った後は、前記した、空き
ブロックがある場合の処理を実行し、求めるデータブロ
ックをキャッシュメモリに記憶し、キャッシュメモリに
記憶したデータブロックに。
プロセッサユニット1より書き込みを要求されたデータ
を書き込み、バッファアドレスアレイの、そのブロック
のDビット9aを1に設定し、処理を終了する。
なお、この処理でDビット9aをOに設定されたブロッ
クは、その後、通常のアルゴリズムに従い主記憶5に書
き出されていく。
プロセッサユニット1のデータ操作の要求が書き込みで
ある場合の主記憶制御部4の動作は、プロセッサユニッ
ト1のデータ操作の要求が読み込みである場合の主記憶
制御部4の動作と変わらず、キャッシュメモリ制御部2
4よりの、読み込み、または、書き込み要求に応じ同様
に動作する。
次に、前記した主記憶制御部4より書き戻し要求を受け
た場合と、登録の抹消要求を受けた場合のキャッシュメ
モリ制御部24の動作について説明する。
第10図は書き戻しの要求を受けた場合のキャッシュメ
モリ制御部24の動作の流れを示した図であり、第11
図は登録の抹消要求を受けた場合のキャッシュメモリ制
御部24の動作の流れを示した図である。
初めに、書き戻しの要求を受けた場合の動作を第10図
を参照して説明する。
キャッシュメモリ制御部24は、書き戻しの要求を受け
ると、要求されたブロックを主記憶5に転送しくステッ
プ1001)、バッファアドレスアレイの転送したブロ
ックのVビット7aをOに設定し、そのブロックの登録
を抹消する(ステップ1002)。
次に、登録の抹消要求を受けた場合のキャッシュメモリ
制御部24の動作を第11図を参照して説明する。
登録の抹消要求を受けるとキャッシュメモリ制御部24
は、バッファアドレスアレイの要求されたブロックのV
ビット7aをOに設定し、そのブロックの登録を抹消す
る(ステップ1101)。
なお、主記憶制御部4がキャッシュメモリ制御部24よ
り、登録の抹消要求を受けた場合の動作も同様であり、
要求したプロセッサユニット1に対応するフロントアド
レスアレイの要求されたブロックのVビット7aをOに
設定し、そのブロックの登録を抹消する。
なお、本実施例においては、ストア制御方式決定回路3
5は、プログラムを構成するデータまたはプライマリ空
間のアクセス時に、ストア識別符号32bをストアスル
ーとして設定したが、たとえば、共有セグメント等の他
の基準により、プロセッサユニット間の共有性の高いデ
ータや記憶空間のアクセス時に、ストア識別符号32b
をスト40 アスルーとして設定しても良い。
以上のように、第1の実施例によれば、キャッシュメモ
リにおいて、プロセッサユニラミ・間の共有性の高いデ
ータや記憶空間のブロックをストアスルー方式、他のブ
ロックはストアイン方式で制御することができる。
また、第1の実施例によれば、キャッシュメモリの制御
の切換を、ストア方式決定回路35により自動的に行う
ので、情報処理装置の利用者は、以前と同様に情報処理
装置を使用できる、すなわち、従来のソフトウェア資産
を有効としたまま、キャッシュメモリの制御の切換によ
る情報処理装置の処理速度の高速化を実現できる。
なお、本実施例においては、記憶データの操作を要求す
る命令の種類が命令フェッチ等のプログラムを構成する
データを読み込むものであるか、もしくは、命令に含ま
れるそのデータの論理アドレスが共有セグメント上のも
のか、もしくは、読み込んだ空間制御ビットがプライマ
リ空間アクセスを示している場合には、ストア識別符号
32bをストアスルーとして設定し、そのデータに関し
てはストアスルー方式によりキャッシュメモリ制御を行
う例について説明したが、情報処理装置によっては、前
記3つの条件のうち、1つ、または、2つの条件により
、ストア識別符号32bをストアスルーとして設定し、
そのデータに関してストアスルー方式によりキャッシュ
メモリ制御を行っても良い。また、その他の、データの
共用性の高さを示すパラメータ等によっても良い。
また、前記各条件やパラメータは、プログラマブルに切
り替え可能にすることが望ましい。
この場合、さらに、ダイナミックに、実行するジョブ等
に適したキャッシュメモリの制御が行える。
次に、本発明の第2の実施例を説明する。
第4図に本実施例に係る論理/物理アドレス変換部23
の構成を示す。
図中、30は論理アドレスレジスタ、31はアドレス変
換器、32は変換された物理アドレスが格納される実ア
ドレスレジスタ32であり、第13一 実施例における同一符号各部と同一部分を示す。
第5図に前記本実施例に係るアドレス変換器31の構成
を示す。
図中、30は論理アドレスレジスタ30であり、論理ア
ドレスは、セグメントテーブルインデックス30a、ペ
ージテーブルインデックス30b、ページ内オフセット
30cより構成される。
50は説明上セグメントテーブル52の先頭アドレスを
示す。5工、53は加算器、52は提供されている仮想
空間においてセグメントテーブルインデックス30aに
対応するページテーブルオフセットを格納しているセグ
メントテーブルエントリ、54はページテーブルアドレ
スに対応する物理アドレスを記憶しているページテーブ
ルエントリである。また、ページテーブルエン1−リ5
4は、各ページ毎にストアインまたはストアスルーの属
性を示すストア識別符号54. bが、あらかじめ貫己
憶されている。
実アドレスレジスタ32には、論理アドレスのセグメン
トテーブルインデックス30aに対応するページテーブ
ルオフセットと、ページテーブルインデックス30bと
の、加算器54での加算値であるページテーブルアドレ
スに対応する物理アドレスを上位アドレス、ページ内オ
フセット30を下位アドレスとする実アドレスが格納さ
れる。
また、ページテーブルエントリ54に記憶されているペ
ージの属性がストア識別符号として格納される。
以下、第2の実施例の動作について説明する。
プロセッサユニット1においてデータ操作の要求が発生
した場合について、説明する。
まず、論理/物理アドレス変換部23の動作について、
第4図を参照して説明する。
プロセッサユニット1においてデータ操作の要求命令が
発生すると、命令に含まれる、そのデータを記憶してい
る仮想記憶アドレスが論理アドレスレジスタ30に設定
される。この論理アドレスレジスタ30に設定された仮
想アドレスは、アドレス変換器31により物理アドレス
に変換され、実アドレスレジスタ32に設定される。こ
の時、同時にそのデータの属するページのストアインま
たはストアスルーの属性がストア識別符号32bとして
格納される。
次に、前記アドレス変換器31の動作について、第5図
を参照して説明する。
論理アドレスレジスタ30に論理アドレスが設定される
と、セグメント先頭アドレスと加算される。そして、そ
の加算値をキーとして、セグメントテーブルエントリを
検索し、セグメントテーブルインデックス30aに対応
するページテーブルオフセットを得る。今度は、この得
られたページテーブルオフセットと、ページテーブルイ
ンデックス30bを加算したページテーブルアドレスよ
り、ページテーブルエントリ54を検索し、ページテー
ブルアドレスに対応する物理アドレスと、そのデータの
属するページのストアインまたはストアスルーの属性を
検索する。
この論理ページテーブルアドレスに対応する物理アドレ
スを上位アドレス、ページ内オフセット30Cを下位ア
ドレスとする実アドレスが、実アドレスレジスタ32に
設定される。また、前記、ストアインまたはストアスル
ーの属性も、ストア識別符号32bとして実アドレスレ
ジスタ32に設定される。
以上の動作により、第1の実施例と同様に実アドレスレ
ジスタ32に、論理アドレスに対応する物理アドレスと
ストア識別符号を設定することができる。
以降の動作は、第1の実施例と同様に実現される。
以上のように、第2の実施例によれば、ページテーブル
エントリに各ページの属性を、たとえば。
共有ページはストアスルー、他のページはストアインに
、あらかじめ設定することにより、ページ単位に、プロ
セッサユニット間の共有性の高いデータや記憶空間のブ
ロックをストアスルー方式で、他のブロックはストアイ
ン方式で制御することができる。
なお、本第2の実施例においては、セグメントとページ
を用いて仮想記憶空間を指定する情報処理装置について
説明したが、セグメントを用いずのに仮想記憶空間を指
定する情報装置においても同様に実現できる。この場合
は、本第2の実施例におけるセグメントに関する処理が
不用となる。
また、本第2の実施例においては、ページ単位に、プロ
セッサユニット間の共有性の高いデータや記憶空間のブ
ロックをストアスルー方式で、他のブロックはストアイ
ン方式で制御する例について説明したが、セグメントテ
ーブルエン1〜りに、各セグメントの属性を、あらかじ
め設定することにより、本第2の実施例と同様に、セグ
メント単位にストアスルー方式とストアイン方式を切り
替えるようにしても良い。
また、ストアスルー方式とストアイン方式を切り替える
記憶空間の単位は、プログラマブルに変更できるように
しても良い。
なお、第工、第2の実施例においては、プロセッサユニ
ットを2つ有する情報処理装置について説明したが、2
つ以上のプロセッサユニットを有する情報処理装置にお
いても同様に実現できる。
=47− また、多重仮想記憶空間方式を採用しない情報処理装置
においても、同様に実現できる。この場合は、プライマ
リ空間、セカンダリ空間についての処理が不用となる。
[発明の効果] 以上のように、本発明に係る、キャッシュメモリ制御方
式、および、情報処理装置によれば、状況に応じてキャ
ッシュメモリを制御することができる。
【図面の簡単な説明】
第1図は本発明の実施例の情報処理装置のシステム構成
を示す説明図、第2図はプロセッサユニットの構成を示
すブロック図、第3図は第1の実施例に係る論理/物理
アドレス変換部の構成を示すブロック図、第4図は第2
の実施例に係る論理/物理アドレス変換部の構成を示す
ブロック図、第5図は第2の実施例に係るアドレス変換
器の構成を示すブロック図、第6図はキャッシュメモリ
制御部の動作を示すフローチャート、第7図および第8
図は主記憶制御部の動作を示すフローチャ48− 一ト、第9図および第10図および第11図はキャッシ
ュメモリ制御部の動作を示すフローチャートである。 1.2・・・プロセッサユニット、3・・・バス、4・
・・主記憶制御装置、5・・・主記憶、6a、6b・・
・バッファアドレスアレイ、11a、llb・・バッフ
ァ記憶データ部、20a、20b・・・フロントアドレ
スアレイ、2工・・・プロセッサ部、22・・・演算部
、23・・・論理/物理アドレス変換部、24・・・キ
ャッシュメモリ制御部、 30・・・論理アドレスレジスタ、 31・・・アドレス変換器、 32・・・実アドレスレジスタ、 33・・・リクエスト制御部、 34・・・制御ワードレジスタ、 35・・・ストア制御方式決定回路、 52・・・セグメントテーブルエントリ、54・・・ペ
ージテーブルエントリ。 手 続 補 正 書(自発) 2、発明の名称 キャッシュメモリ制御方式および情報処理装置(510
)株式会社 日立製作所 4、代理人 住  所 〒220神奈川県横浜市西区高島二丁目12番6号崎陽
軒ビル ヨコハマ・ジャスト7階 電  話  045−453−0872 (代)(87
17)  弁理士  富  田゛  和  子5、補正
命令の日付 自   発 正 誤 表

Claims (1)

  1. 【特許請求の範囲】 1、キャッシュメモリとキャッシュメモリを介して記憶
    データにアクセスするプロセッサとを含む2以上のプロ
    セッサユニットと、主記憶装置と、を有する情報処理装
    置において、 制御対象データに関連した情報に基づきストアスルー方
    式とストアイン方式とを、制御対象データに応じて切り
    替えることを特徴とするキャッシュメモリ制御方式。 2、キャッシュメモリとキャッシュメモリを介して記憶
    データにアクセスするプロセッサとを含む2以上のプロ
    セッサユニットと、主記憶装置と、を有する情報処理装
    置であって、 前記プロセッサは、記憶データの種別にあらかじめ付与
    したストアインもしくはストアスルーの属性を、書き込
    む記憶データにつき判別する手段と、判別した記憶デー
    タの種別の属性がストアインである場合にストアイン方
    式で記憶データを書き込む手段と、判別した記憶データ
    の種別の属性がストアスルーである場合にストアスルー
    方式で記憶データを書き込む手段と、を有することを特
    徴とする情報処理装置。 3、キャッシュメモリとキャッシュメモリを介して記憶
    データにアクセスするプロセッサとを含む2以上のプロ
    セッサユニットと、主記憶装置と、を有する情報処理装
    置であって、 前記プロセッサは、記憶空間上の領域に、あらかじめ付
    与したストアインもしくはストアスルー属性を、書き込
    む記憶データの記憶領域につき判別する手段と、判別し
    た記憶データの記憶領域の属性がストアインである場合
    にストアイン方式で記憶データを書き込む手段と、判別
    した記憶データの記憶領域の属性がストアスルーである
    場合にストアスルー方式で記憶データを書き込む手段と
    、を有することを特徴とする情報処理装置。 4、ブロック単位にデータを保持するキャッシュメモリ
    と、キャッシュメモリに保持されているデータの主記憶
    装置を含む記憶空間における実アドレスをブロック単位
    に管理するバッファアドレスアレイ部と、キャッシュメ
    モリを介して記憶データにアクセスするプロセッサと、
    を含む2以上のプロセッサユニットと、主記憶装置と、
    を有する情報処理装置であって、 前記バッファアドレスアレイ部は、ブロック単位に、ス
    トアインまたはストアスルーの記憶データの属性を示す
    識別子を設定する領域を備え、 前記プロセッサは、主記憶のデータのキャッシュメモリ
    への読み込み時に、前記識別子設定領域に識別子を設定
    する設定手段と、記憶データの書き込み時に、そのデー
    タの属するブロックの前記識別子がストアインの属性を
    示すか、ストアスルーの属性を示すか判別する手段と、
    判別した記憶データの属するブロックの識別子が、スト
    アインの属性を示す場合にストアイン方式で記憶データ
    を書き込む手段と、判別した記憶データの属するブロッ
    クの属性が、ストアスルーである場合にストアスルー方
    式で記憶データを書き込む手段と、を有することを特徴
    とする情報処理装置。 5、請求項4記載の情報処理装置であって、前記設定手
    段は、キャッシュメモリへ主記憶から読み込むデータが
    プログラムを構成するデータか否か判定する判定部と、
    読み込むデータがプログラムを構成するデータである場
    合に、そのデータが属するブロックの前記識別子設定領
    域に識別子をストアスルーの属性を示すように設定し、
    読み込むデータがプログラムを構成するデータでない場
    合に、そのデータが属するブロックの前記識別子設定領
    域に識別子をストアインの属性を示すように設定する設
    定部と、から構成されることを特徴とする情報処理装置
    。 6、ページを用いて仮想空間を指定する多重仮想記憶方
    式を採用する請求項4記載の情報処理装置であって、 ページエントリテーブルに各ページ毎に、ストアインま
    たはストアスルーの属性を示す識別符号を備え、かつ、
    前記設定手段は、キャッシュメモリへ主記憶から読み込
    むデータを要求した命令が指定したページのページエン
    トリテーブルによる実アドレス変換時に、あわせて、該
    ページの前記識別符号が示す属性を、前記バッファアド
    レスアレイの該ページに対応するブロックの識別子設定
    領域に設定する設定部から構成されることを特徴とする
    情報処理装置。 7、セグメントを用いて仮想空間を指定する多重仮想記
    憶方式を採用する請求項4記載の情報処理装置であって
    、 前記設定手段は、キャッシュメモリへ主記憶から読み込
    むデータを要求した命令が、仮想記憶空間上においての
    共有セグメントのデータを要求する命令か否か判定する
    判定部と、共有セグメントからのデータを要求する命令
    である場合には、そのデータが属するブロックの前記識
    別子設定領域に識別子をストアスルーの属性を示すよう
    に設定し、共有セグメントからのデータを要求する命令
    でない場合には、そのデータが属するブロックの前記識
    別子設定領域に識別子をストアインの属性を示すように
    設定する設定部と、から構成されることを特徴とする情
    報処理装置。 8、多重仮想記憶方式を採用する請求項4記載の情報処
    理装置であって、 前記設定手段は、キャッシュメモリへ主記憶から読み込
    むデータを要求した命令が、仮想記憶空間上においての
    プライマリ空間からのデータを要求する命令か否かをプ
    ログラムステータスレジスタを参照して判定する判定部
    と、プライマリ空間からのデータを要求する命令である
    場合に、そのデータが属するブロックの前記識別子設定
    領域に識別子をストアスルーの属性を示すように設定し
    、プライマリ空間からのデータを要求する命令でない場
    合に、そのデータが属するブロックの前記識別子設定領
    域に識別子をストアインの属性を示すように設定する設
    定部と、から構成されることを特徴とする情報処理装置
    。 9、請求項4記載の情報処理装置であって、前記主記憶
    装置は、前記各プロセッサユニットのキャッシュメモリ
    毎にデータ保持状態をブロック単位に、そのブロックの
    ストアインまたはストアスルーの属性を含め管理するフ
    ロントアドレスアレイと、属性ストアインで1のプロセ
    ッサユニットのキャッシュメモリに読み込まれている主
    記憶上における1のブロックが、他のプロセッサユニッ
    トのキャッシュメモリに読み込まれないよう、前記フロ
    ントアドレスアレイを参照して制御する手段と、1のプ
    ロセッサユニットのキャッシュメモリに読み込まれてい
    るブロックに対応する主記憶上のブロックに、他のプロ
    セッサユニットより書き込みが行われた場合に、1のプ
    ロセッサユニットのキャッシュメモリに読み込まれてい
    るブロックを無効とするよう前記フロントアドレスアレ
    イを参照して制御する手段と、を有することを特徴とす
    る情報処理装置。
JP1174405A 1989-07-06 1989-07-06 キャッシュメモリ制御方式および情報処理装置 Pending JPH0340046A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1174405A JPH0340046A (ja) 1989-07-06 1989-07-06 キャッシュメモリ制御方式および情報処理装置
US08/063,953 US5353428A (en) 1989-07-06 1993-05-20 Information processing apparatus in which a cache memory can be operated in both store-in and store-through modes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1174405A JPH0340046A (ja) 1989-07-06 1989-07-06 キャッシュメモリ制御方式および情報処理装置

Publications (1)

Publication Number Publication Date
JPH0340046A true JPH0340046A (ja) 1991-02-20

Family

ID=15977988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1174405A Pending JPH0340046A (ja) 1989-07-06 1989-07-06 キャッシュメモリ制御方式および情報処理装置

Country Status (2)

Country Link
US (1) US5353428A (ja)
JP (1) JPH0340046A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480940B1 (en) 1998-10-30 2002-11-12 Nec Corporation Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module
JP2005149290A (ja) * 2003-11-18 2005-06-09 Seiko Epson Corp 情報処理装置およびキャッシュメモリ制御方法
JP2005235219A (ja) * 2004-02-18 2005-09-02 Harman Becker Automotive Systems Gmbh Atapiスイッチ
JP2006289587A (ja) * 2005-04-14 2006-10-26 Nsk Ltd 回転位置決め装置
JP2010517179A (ja) * 2007-01-24 2010-05-20 クゥアルコム・インコーポレイテッド プロセッサにおいてキャッシュポリシーを設定するための方法および装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604882A (en) * 1993-08-27 1997-02-18 International Business Machines Corporation System and method for empty notification from peer cache units to global storage control unit in a multiprocessor data processing system
US5895496A (en) * 1994-11-18 1999-04-20 Apple Computer, Inc. System for an method of efficiently controlling memory accesses in a multiprocessor computer system
USRE38514E1 (en) 1994-11-18 2004-05-11 Apple Computer, Inc. System for and method of efficiently controlling memory accesses in a multiprocessor computer system
US5652915A (en) * 1995-02-21 1997-07-29 Northern Telecom Limited System for controlling mode of operation of a data cache based on storing the DMA state of blocks by setting the DMA state to stall
US6728839B1 (en) * 1998-10-28 2004-04-27 Cisco Technology, Inc. Attribute based memory pre-fetching technique
JP4252139B2 (ja) * 1998-12-16 2009-04-08 株式会社日立製作所 記憶装置システム
JP2002032265A (ja) 2000-07-14 2002-01-31 Hitachi Ltd キャッシュ・アクセス制御方式およびデータ処理システム
US6851024B1 (en) * 2000-08-17 2005-02-01 Hewlett-Packard Development Company, L.P. Exclusive caching in computer systems
US6760817B2 (en) 2001-06-21 2004-07-06 International Business Machines Corporation Method and system for prefetching utilizing memory initiated prefetch write operations
US6754782B2 (en) 2001-06-21 2004-06-22 International Business Machines Corporation Decentralized global coherency management in a multi-node computer system
US6711652B2 (en) 2001-06-21 2004-03-23 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that provides precise notification of remote deallocation of modified data
US6615322B2 (en) 2001-06-21 2003-09-02 International Business Machines Corporation Two-stage request protocol for accessing remote memory data in a NUMA data processing system
US6658538B2 (en) * 2001-06-21 2003-12-02 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control
US6654857B2 (en) 2001-06-21 2003-11-25 International Business Machines Corporation Non-uniform memory access (NUMA) computer system having distributed global coherency management
US6901485B2 (en) 2001-06-21 2005-05-31 International Business Machines Corporation Memory directory management in a multi-node computer system
US6760809B2 (en) 2001-06-21 2004-07-06 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system having remote memory cache incorporated within system memory
JP3884990B2 (ja) * 2002-04-26 2007-02-21 富士通株式会社 マルチプロセッサ装置
US7039765B1 (en) 2002-12-19 2006-05-02 Hewlett-Packard Development Company, L.P. Techniques for cache memory management using read and write operations
US8527710B2 (en) * 2009-02-17 2013-09-03 Hitachi, Ltd. Storage controller and method of controlling storage controller
US8671245B2 (en) * 2010-12-27 2014-03-11 Lsi Corporation Using identification in cache memory for parallel requests
CN108090079B (zh) * 2016-11-22 2021-03-02 阿里巴巴集团控股有限公司 一种即时聊天工具的聊天记录处理方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484267A (en) * 1981-12-30 1984-11-20 International Business Machines Corporation Cache sharing control in a multiprocessor
US4755930A (en) * 1985-06-27 1988-07-05 Encore Computer Corporation Hierarchical cache memory system and method
FR2590699B1 (fr) * 1985-11-25 1994-07-01 Nec Corp Systeme assurant la coherence pour les contenus d'une antememoire
US4797814A (en) * 1986-05-01 1989-01-10 International Business Machines Corporation Variable address mode cache
US4885680A (en) * 1986-07-25 1989-12-05 International Business Machines Corporation Method and apparatus for efficiently handling temporarily cacheable data
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
GB8728494D0 (en) * 1987-12-05 1988-01-13 Int Computers Ltd Multi-cache data storage system
US5023776A (en) * 1988-02-22 1991-06-11 International Business Machines Corp. Store queue for a tightly coupled multiple processor configuration with two-level cache buffer storage
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480940B1 (en) 1998-10-30 2002-11-12 Nec Corporation Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module
JP2005149290A (ja) * 2003-11-18 2005-06-09 Seiko Epson Corp 情報処理装置およびキャッシュメモリ制御方法
JP2005235219A (ja) * 2004-02-18 2005-09-02 Harman Becker Automotive Systems Gmbh Atapiスイッチ
JP2006289587A (ja) * 2005-04-14 2006-10-26 Nsk Ltd 回転位置決め装置
JP2010517179A (ja) * 2007-01-24 2010-05-20 クゥアルコム・インコーポレイテッド プロセッサにおいてキャッシュポリシーを設定するための方法および装置

Also Published As

Publication number Publication date
US5353428A (en) 1994-10-04

Similar Documents

Publication Publication Date Title
JPH0340046A (ja) キャッシュメモリ制御方式および情報処理装置
US8417913B2 (en) Superpage coalescing which supports read/write access to a new virtual superpage mapping during copying of physical pages
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
CN101727405B (zh) 虚拟地址高速缓冲存储器和方法以及处理器
US5761734A (en) Token-based serialisation of instructions in a multiprocessor system
JP2662603B2 (ja) 無効要求を選別する方法及び装置
JP3281893B2 (ja) キャッシュ・メモリ階層内で利用するキャッシュ・コヒーレンシ機構を実施するための方法およびシステム
US5379394A (en) Microprocessor with two groups of internal buses
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
US6560681B1 (en) Split sparse directory for a distributed shared memory multiprocessor system
JPH03142644A (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
JPH0997214A (ja) 補助プロセッサのためのアドレス変換を含む情報処理システム
JPH10293720A (ja) コンピュータシステムにおけるキャッシュ・コヒーレンシー機構および主メモリに保持されている項目に関してキャッシュの内容のコヒーレンシー状態を変更する方法
JP7139719B2 (ja) 情報処理装置、演算処理装置及び情報処理装置の制御方法
JPH0519176B2 (ja)
JPH04191946A (ja) スヌープキャッシュメモリ制御方式
JP2685455B2 (ja) データ処理装置
US20040143711A1 (en) Mechanism to maintain data coherency for a read-ahead cache
US6249843B1 (en) Store instruction having horizontal memory hierarchy control bits
JPH08263374A (ja) キャッシュ制御方法およびそれを用いたマルチプロセッサシステム
JP2637853B2 (ja) キャッシュメモリ装置
JP3213758B2 (ja) 記憶一致制御方法およびそれを用いたマルチプロセッサシステム
JPH05324466A (ja) 階層キャッシュ・メモリ装置
JPH01226056A (ja) アドレス変換回路
JPH10207773A (ja) バス接続装置