JPH04175946A - マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置 - Google Patents
マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置Info
- Publication number
- JPH04175946A JPH04175946A JP2302414A JP30241490A JPH04175946A JP H04175946 A JPH04175946 A JP H04175946A JP 2302414 A JP2302414 A JP 2302414A JP 30241490 A JP30241490 A JP 30241490A JP H04175946 A JPH04175946 A JP H04175946A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- processor
- area
- data
- address
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野]
本発明はマルチプロセッサ・データ処理システムおよび
それに用いられるキャッシュ装置に関する。
それに用いられるキャッシュ装置に関する。
プロセッサシステムにおいて、プロセッサのマシンサイ
クル時間とメインメモリの動作時間のギャップを埋める
ために、高速の動作時間で働くキャッシュメモリをプロ
セッサとメインメモリの間に置き、システムの性能を向
上させる技術が知られている。従来、キャッシュへのス
トア方式については、ニー・シー・エム、コンピユーテ
イング・サーベイ、ボリューム14、ナンバー3、セブ
テンバー、1982の第500頁から第502頁(A
CM、 Computing、5urveys、VoQ
、 14 、 N13 。
クル時間とメインメモリの動作時間のギャップを埋める
ために、高速の動作時間で働くキャッシュメモリをプロ
セッサとメインメモリの間に置き、システムの性能を向
上させる技術が知られている。従来、キャッシュへのス
トア方式については、ニー・シー・エム、コンピユーテ
イング・サーベイ、ボリューム14、ナンバー3、セブ
テンバー、1982の第500頁から第502頁(A
CM、 Computing、5urveys、VoQ
、 14 、 N13 。
September 1982. pp、500−5
02)に述べられているように、ライト・スルー方式と
コピー・バック方式がある。
02)に述べられているように、ライト・スルー方式と
コピー・バック方式がある。
前者のライト・スルー方式は、プロセッサが書き込みを
行なう場合にキャッシュにヒツトすれば、キャッシュと
メインメモリの両方に書き込みを行ない常にキャッシュ
とメインメモリの内容を一致させておく方式である。後
者のコピー・バック方式ではプロセッサ書き込みを行な
う場合にキャッシュにヒツトすれば、メインメモリには
書き込みを行なわず、キャッシュにのみ書き込みを行な
う方式である。このコピー・バック方式に関連するもの
として例えば1971年9月1o日の米国特許出願第1
79,376を優先権主張の基礎とした日本特公昭51
−49535号が挙げられる。
行なう場合にキャッシュにヒツトすれば、キャッシュと
メインメモリの両方に書き込みを行ない常にキャッシュ
とメインメモリの内容を一致させておく方式である。後
者のコピー・バック方式ではプロセッサ書き込みを行な
う場合にキャッシュにヒツトすれば、メインメモリには
書き込みを行なわず、キャッシュにのみ書き込みを行な
う方式である。このコピー・バック方式に関連するもの
として例えば1971年9月1o日の米国特許出願第1
79,376を優先権主張の基礎とした日本特公昭51
−49535号が挙げられる。
しかしながら、性能面から見るとコピー・バック方式は
キャッシュにヒツトした時に、メインメモリに書き込み
を行なわないために、メインメモリへの書き込み時間が
省略でき、性能的にライト・スルー方式よりもメリット
がある。また、このメインメモリに対する書き込み時間
の省略により、メインメモリに要求されるスルー・プツ
トが軽減されるというメリットもある。マルチ・プロセ
ッサ・システムでは特にこのメモリ・スループットの軽
減が、システム性能を向上させるうえで重要なポイント
となる。
キャッシュにヒツトした時に、メインメモリに書き込み
を行なわないために、メインメモリへの書き込み時間が
省略でき、性能的にライト・スルー方式よりもメリット
がある。また、このメインメモリに対する書き込み時間
の省略により、メインメモリに要求されるスルー・プツ
トが軽減されるというメリットもある。マルチ・プロセ
ッサ・システムでは特にこのメモリ・スループットの軽
減が、システム性能を向上させるうえで重要なポイント
となる。
一方、米国特許筒4,264,953号には、ひとつの
メインメモリと通信する複数のプロセッサと、該複数の
プロセッサに対応した複数のキャッシュメモリと、複数
のプロセッサからの仮想アドレス(論理アドレス)を物
理アドレスに変換する複数のアドレス変換機構と、入出
力デバイスとを有するマルチプロセッサデータ処理シス
テムが開示されている。この米国特許によって開示され
たシステムにおいては、メインメモリの共有領域のデー
タがキャッシュに格納された場合にキャッシュ格納デー
タがメインメモリの共有領域の更新データと対応しなく
なると言う問題を回避するためにメインメモリの共有領
域のデータのキャッシュへの書き込みが禁止され、一方
入呂カデバイスのデータがキャッシュに格納された場合
にキャッシュ格納データが入出力デバイスの更新データ
と対応しなくなるという問題を回避するため入出力デバ
イスのデータがキャッシュ中で無効化(パージ)される
ものである。
メインメモリと通信する複数のプロセッサと、該複数の
プロセッサに対応した複数のキャッシュメモリと、複数
のプロセッサからの仮想アドレス(論理アドレス)を物
理アドレスに変換する複数のアドレス変換機構と、入出
力デバイスとを有するマルチプロセッサデータ処理シス
テムが開示されている。この米国特許によって開示され
たシステムにおいては、メインメモリの共有領域のデー
タがキャッシュに格納された場合にキャッシュ格納デー
タがメインメモリの共有領域の更新データと対応しなく
なると言う問題を回避するためにメインメモリの共有領
域のデータのキャッシュへの書き込みが禁止され、一方
入呂カデバイスのデータがキャッシュに格納された場合
にキャッシュ格納データが入出力デバイスの更新データ
と対応しなくなるという問題を回避するため入出力デバ
イスのデータがキャッシュ中で無効化(パージ)される
ものである。
また従来、メインメモリとの一致性を保証しない高速な
メモリとしてレジスタが用いられている。
メモリとしてレジスタが用いられている。
レジスタはプロセッサ固有のメモリとして、小容量では
あるが特に高速な動作が可能となっている。
あるが特に高速な動作が可能となっている。
〔発明が解決しようとする課題]
従来、キャッシュメモリはメインメモリとの整合性を保
証するため、扱うデータ量がキャッシュ容量を越えたり
、アクセスするデータがキャッシュ内に無いと、メイン
メモリへのアクセスを起こし、性能低下の要因となる。
証するため、扱うデータ量がキャッシュ容量を越えたり
、アクセスするデータがキャッシュ内に無いと、メイン
メモリへのアクセスを起こし、性能低下の要因となる。
しかし、マルチプロセッサシステムにおいて、共有メモ
リ空間へのアクセスの場合には整合性を取る必要がある
が、各プロセッサが個別に使用するメモリ空間へのアク
セスの場合には敢て整合性を保証する必要はない。
リ空間へのアクセスの場合には整合性を取る必要がある
が、各プロセッサが個別に使用するメモリ空間へのアク
セスの場合には敢て整合性を保証する必要はない。
従来技術ではこの点が考慮されていなかった。
またレジスタの場合には、ユーザー・アプリケーション
に合わせてレジスタ空間を適当なサイズに設定したり、
一つのマイクロプロセッサ内に収まりきれない容量のレ
ジスタ空間を持つことはできない。また、命令コード中
でも、メモリとレジスタへのアクセスは区別されている
。そのため、メモリ階層上のどの位置にどのデータを置
くといった指定をユーザーおよびシステム設計者が自由
に行なうことはできなかった。
に合わせてレジスタ空間を適当なサイズに設定したり、
一つのマイクロプロセッサ内に収まりきれない容量のレ
ジスタ空間を持つことはできない。また、命令コード中
でも、メモリとレジスタへのアクセスは区別されている
。そのため、メモリ階層上のどの位置にどのデータを置
くといった指定をユーザーおよびシステム設計者が自由
に行なうことはできなかった。
本発明の目的は、キャッシュメモリの特徴を活かしたう
えで、レジスタのようにローカルなメモリ空間をユーザ
ーが設定できるようにすることで、マルチプロセッサシ
ステムに適したメモリシステムを提供することにある。
えで、レジスタのようにローカルなメモリ空間をユーザ
ーが設定できるようにすることで、マルチプロセッサシ
ステムに適したメモリシステムを提供することにある。
上記目的を達成するために、メモリ空間は多段階に分割
される。各段階の区別を行ないたいレベルには、その段
階よりも下位(メインメモリ)側のメモリとの整合性を
とるべき領域へのアクセスであるか否かを判定する領域
判定回路を設ける。
される。各段階の区別を行ないたいレベルには、その段
階よりも下位(メインメモリ)側のメモリとの整合性を
とるべき領域へのアクセスであるか否かを判定する領域
判定回路を設ける。
例えば個々にキャッシュデバイスを有する複数のプロセ
ッサが、システムバスを介してメインメモリと結合して
いるマルチプロセッサシステムにおいては次のようにな
る。すなわち、メインメモリは複数のプロセッサ、入出
力デバイスによってライト・アクセスされる共有領域と
、複数のプロセッサによってそれぞれライト・アクセス
される複数のプライベート領域とに分割される。複数の
キャッシュデバイスは、プロセッサから発生されたアド
レスが共有領域またはプライベート領域のいずれかをア
クセスすることを判定する領域判定回路を具備する。プ
ロセッサからのアクセスが共有領域であれば、キャッシ
ュデバイスはライトスル一方式またはコピー・バック方
式に従って動作する。一方プロセッサからのアクセスが
プライベート領域であれば、キャッシュデバイスはあた
かもローカル・メモリのように動作する。
ッサが、システムバスを介してメインメモリと結合して
いるマルチプロセッサシステムにおいては次のようにな
る。すなわち、メインメモリは複数のプロセッサ、入出
力デバイスによってライト・アクセスされる共有領域と
、複数のプロセッサによってそれぞれライト・アクセス
される複数のプライベート領域とに分割される。複数の
キャッシュデバイスは、プロセッサから発生されたアド
レスが共有領域またはプライベート領域のいずれかをア
クセスすることを判定する領域判定回路を具備する。プ
ロセッサからのアクセスが共有領域であれば、キャッシ
ュデバイスはライトスル一方式またはコピー・バック方
式に従って動作する。一方プロセッサからのアクセスが
プライベート領域であれば、キャッシュデバイスはあた
かもローカル・メモリのように動作する。
さらに、キャッシュデバイスはメインメモリの共有領域
のデータが他のプロセッサもしくは入出力デバイスによ
って書き換えられた場合は、キャッシュの格納データを
無効化する無効化制御回路を具備する。
のデータが他のプロセッサもしくは入出力デバイスによ
って書き換えられた場合は、キャッシュの格納データを
無効化する無効化制御回路を具備する。
[作用]
物理的なメモリ階層の、ある特定のレベルにおいて、下
位メモリとの整合性を保証する必要がない領域へのアク
セスであると判定されると、そのアクセスは下位のメモ
リへのアクセスを引き起こさない。
位メモリとの整合性を保証する必要がない領域へのアク
セスであると判定されると、そのアクセスは下位のメモ
リへのアクセスを引き起こさない。
そこでユーザーは、物理的なメモリ階層に応じて、物理
的なメモリ空間を多段階に分割する。論理的に上位段階
に位置する領域には、物理的に上位階層に位置するメモ
リ空間を割り当てる。その結果、論理的に上位に位置す
る領域へのアクセスに要する時間は最悪ケースにおいて
、下位に位置する領域へのアクセス時間よりも短くなる
。さらに、頻繁にアクセスするデータを、より上位段階
の領域に、ユーザーが意図的には位置すれば、平均アク
セス時間も゛短縮される。
的なメモリ空間を多段階に分割する。論理的に上位段階
に位置する領域には、物理的に上位階層に位置するメモ
リ空間を割り当てる。その結果、論理的に上位に位置す
る領域へのアクセスに要する時間は最悪ケースにおいて
、下位に位置する領域へのアクセス時間よりも短くなる
。さらに、頻繁にアクセスするデータを、より上位段階
の領域に、ユーザーが意図的には位置すれば、平均アク
セス時間も゛短縮される。
例えば前記のマルチプロセッサシステムの場合、メイン
メモリもしくはキャッシュをアクセスするプロセッサの
アドレスが共有領域またはプライベート領域のいずれか
をアクセスするかが領域判定回路の出力によって判定さ
れる。
メモリもしくはキャッシュをアクセスするプロセッサの
アドレスが共有領域またはプライベート領域のいずれか
をアクセスするかが領域判定回路の出力によって判定さ
れる。
前者(共有領域アクセス)の場合、領域判定回路の出力
に従って、キャッシュデバイスはライト・スルー方式も
しくはコピー・バック方式に従って動作する。従って、
キャッシュとメインメモリの格納データの整合性が保証
され、他のプロセッサもしくは入出力デバイスは、メイ
ンメモリの格納データをリード・アクセスすることによ
って、プロセッサ間もしくはプロセッサー人出力デバイ
ス間のデータ通信が可能となる。コピー・バック方式に
従って動作しており、かつ、他のプロセッサもしくは入
出力デバイスがメインメモリの同一アドレスにライト動
作を行った場合は、キャッシュとメインメモリの格納デ
ータは一致しなくなるので、無効化制御回路はキャッシ
ュの格納データを無効化する。
に従って、キャッシュデバイスはライト・スルー方式も
しくはコピー・バック方式に従って動作する。従って、
キャッシュとメインメモリの格納データの整合性が保証
され、他のプロセッサもしくは入出力デバイスは、メイ
ンメモリの格納データをリード・アクセスすることによ
って、プロセッサ間もしくはプロセッサー人出力デバイ
ス間のデータ通信が可能となる。コピー・バック方式に
従って動作しており、かつ、他のプロセッサもしくは入
出力デバイスがメインメモリの同一アドレスにライト動
作を行った場合は、キャッシュとメインメモリの格納デ
ータは一致しなくなるので、無効化制御回路はキャッシ
ュの格納データを無効化する。
後者(プライベート領域アクセス)の場合、領域判定回
路の出力に従って、キャッシュデバイスはローカル・メ
モリとして動作する。すなわち、プロセッサからのライ
ト・アクセスのアドレスがキャッシュにヒツトした場合
は、プロセッサからのライト・データはメインメモリに
書き込まれることなく、キャッシュにのみ書き込まれる
ので、ライト動作を短時間で終了することが可能となる
。
路の出力に従って、キャッシュデバイスはローカル・メ
モリとして動作する。すなわち、プロセッサからのライ
ト・アクセスのアドレスがキャッシュにヒツトした場合
は、プロセッサからのライト・データはメインメモリに
書き込まれることなく、キャッシュにのみ書き込まれる
ので、ライト動作を短時間で終了することが可能となる
。
本発明のその他の目的および特徴は、下記の実施例から
明らかとなろう。
明らかとなろう。
以下、本発明の一実施例を説明する。
第2図は本発明の一実施例による共有メモリ型マルチプ
ロセッサシステムの構成を示したものである。プロセッ
サ1,2は各々それに付属するキャッシュ3,4を持つ
。キャッシュ3,4はメインメモリバス7に接続され、
命令およびデータを格納するメインメモリ5につながる
。メインメモリバス7には、入出力デバイス6も接続さ
れ、メインメモリバス7を介してデータのやり取りを行
なう。
ロセッサシステムの構成を示したものである。プロセッ
サ1,2は各々それに付属するキャッシュ3,4を持つ
。キャッシュ3,4はメインメモリバス7に接続され、
命令およびデータを格納するメインメモリ5につながる
。メインメモリバス7には、入出力デバイス6も接続さ
れ、メインメモリバス7を介してデータのやり取りを行
なう。
プロセッサ1,2内にはアドレス変換テーブル8.9が
存在し、プロセッサ1,2がデータをアクセスするとき
の論理アドレスから物理アドレスへのアドレス変換に用
いられる。プロセッサ1゜2とキャッシュ3,4とのイ
ンターフェース14゜15にはアドレス変換後の物理ア
ドレスが送出される。
存在し、プロセッサ1,2がデータをアクセスするとき
の論理アドレスから物理アドレスへのアドレス変換に用
いられる。プロセッサ1゜2とキャッシュ3,4とのイ
ンターフェース14゜15にはアドレス変換後の物理ア
ドレスが送出される。
キャッシュ3,4内にはアドレス・アレイ10゜11と
データ・アレイ12.13が存在する。データ・アレイ
12.13は、メインメモリ5のデータの一時記憶場所
として使用でき、かつその−部またはすべてをメインメ
モリ5とは独立なローカル・メモリとしても使用できる
。アドレス・アレイ10.11はデータアレイ12.1
3に格納されているデータの物理アドレスを保持してい
る。
データ・アレイ12.13が存在する。データ・アレイ
12.13は、メインメモリ5のデータの一時記憶場所
として使用でき、かつその−部またはすべてをメインメ
モリ5とは独立なローカル・メモリとしても使用できる
。アドレス・アレイ10.11はデータアレイ12.1
3に格納されているデータの物理アドレスを保持してい
る。
第1図はキャッシュ3の内部構成を示したものである。
尚、キャッシュ4の内部構成もキャッシュ3と同一であ
る。本実施例を通して、ワードは4バイト長のデータを
表す。14はプロセッサ1とキャッシュ3との間のイン
ターフェース信号群で、4バイト幅のデータ線14−1
、アドレスを示す24ビツト幅のアドレス線14−2、
および制御線14−3から成る。また、キャッシュ3は
メインメモリパス7につながる。メインメモリバス7は
、4バイト幅のデータ線7−1、ワードアドレスを示す
22ビツト幅のアドレス幅7−2、および制御線7−3
から成る。
る。本実施例を通して、ワードは4バイト長のデータを
表す。14はプロセッサ1とキャッシュ3との間のイン
ターフェース信号群で、4バイト幅のデータ線14−1
、アドレスを示す24ビツト幅のアドレス線14−2、
および制御線14−3から成る。また、キャッシュ3は
メインメモリパス7につながる。メインメモリバス7は
、4バイト幅のデータ線7−1、ワードアドレスを示す
22ビツト幅のアドレス幅7−2、および制御線7−3
から成る。
本実施例のキャッシュは、ブロック長4バイトのダイレ
クトマツプ方式を用いている。アドレス・アレイ10は
、8192カラムXIOビツトの2ボ一トRMA (R
andom Access Memory)で構成され
る。10ビツトの内訳は、9ビツトのアドレス・タグ、
1ビツトの有効ビットである。データ・アレイ12は8
192カラム×32ビツトのRAMで構成される。デー
タ・アレイ12はデータの一時記憶場所であり、データ
・アレイ12のあるカラムに有効なデータが格納されて
いる場合には、アドレス・アレイ10の同一のカラムに
該データのアドレスの上位9ビツトがアドレス・タグと
して格納され、有効ビットがオン(1)となる。
クトマツプ方式を用いている。アドレス・アレイ10は
、8192カラムXIOビツトの2ボ一トRMA (R
andom Access Memory)で構成され
る。10ビツトの内訳は、9ビツトのアドレス・タグ、
1ビツトの有効ビットである。データ・アレイ12は8
192カラム×32ビツトのRAMで構成される。デー
タ・アレイ12はデータの一時記憶場所であり、データ
・アレイ12のあるカラムに有効なデータが格納されて
いる場合には、アドレス・アレイ10の同一のカラムに
該データのアドレスの上位9ビツトがアドレス・タグと
して格納され、有効ビットがオン(1)となる。
第3図はアドレス24ビツトのフィールドを示したもの
である。第0ビツトは最上位ビットで、第23ビツトは
最下位ビットである。第○ビットから第8ビツトはアド
レス・タグ・フィールドであり、アドレス・アレイ10
に格納される情報である。第9ビツトから第21ビツト
はカラム・フィールドであり、アドレス・アレイ10、
あるいはデータ・アレイ12のカラム選択すなわち、R
AMのアドレスに用いられる。また第Oビットから第1
1ビツトは領域判定フィールドでもあり、領域の判定を
行なうのに用いられる。第22゜23ビツトは、ワード
内のバイト位置を示すバイト・フィールドである。
である。第0ビツトは最上位ビットで、第23ビツトは
最下位ビットである。第○ビットから第8ビツトはアド
レス・タグ・フィールドであり、アドレス・アレイ10
に格納される情報である。第9ビツトから第21ビツト
はカラム・フィールドであり、アドレス・アレイ10、
あるいはデータ・アレイ12のカラム選択すなわち、R
AMのアドレスに用いられる。また第Oビットから第1
1ビツトは領域判定フィールドでもあり、領域の判定を
行なうのに用いられる。第22゜23ビツトは、ワード
内のバイト位置を示すバイト・フィールドである。
第1図のアドレス・アレイ10のRAMのアドレスとし
ては、プロセッサ1からのアドレス線14−2のカラム
・フィールド33と、メインメモリバス7のアドレス線
7−2がらのカラム・フィールド34が用いられる。3
2.35は、14−2あるいは7−2のタグ・フィール
ドであり、アドレス・タグ比較器22.23に入力され
る。
ては、プロセッサ1からのアドレス線14−2のカラム
・フィールド33と、メインメモリバス7のアドレス線
7−2がらのカラム・フィールド34が用いられる。3
2.35は、14−2あるいは7−2のタグ・フィール
ドであり、アドレス・タグ比較器22.23に入力され
る。
アドレス・タグ比較器22.23のもう一方の入、
力は、アドレス・アレイ10の、2つのボートから読み
だされたアドレス・タグ41.42である。
力は、アドレス・アレイ10の、2つのボートから読み
だされたアドレス・タグ41.42である。
比較結果は、ヒツト/ミス信号43.44とじてキャッ
シュ制御回路21に報告される。38は14−2のアド
レス・タグ・フィールドである。
シュ制御回路21に報告される。38は14−2のアド
レス・タグ・フィールドである。
また、36は、プロセッサ側のアドレス線14−2とメ
インメモリ側のアドレス線7−2を結ぶパスである。
インメモリ側のアドレス線7−2を結ぶパスである。
データ・アレイ12のアドレス37は、アドレス線14
−2のカラム・フィールドが使われる。
−2のカラム・フィールドが使われる。
データ・アレイ12への書き込み/読み出しパス39は
、プロセッサ側のデータ線14−1とメインメモリ側の
アドレス線7−1につながる。
、プロセッサ側のデータ線14−1とメインメモリ側の
アドレス線7−1につながる。
20はキャッシュメモリ3.4とメインメモリ5の間で
デニタの整合性を保熱する領域(整合性保証領域)と、
整合性を保証しない領域(整合性非保証領域)を判定す
るための領域判定回路である。領域判定回路20への入
力は、アドレス線14−2の領域判定フィールドの12
ビツト(信号30)と、アドレス線7−2の領域判定フ
ィールドの12ビツト(信号46)であり、判定結果は
それぞれ信号線31.45で報告される。信号線31.
45共に、値が1の時には整合性非保証領域を示し、0
の時には整合性保証領域を示す。
デニタの整合性を保熱する領域(整合性保証領域)と、
整合性を保証しない領域(整合性非保証領域)を判定す
るための領域判定回路である。領域判定回路20への入
力は、アドレス線14−2の領域判定フィールドの12
ビツト(信号30)と、アドレス線7−2の領域判定フ
ィールドの12ビツト(信号46)であり、判定結果は
それぞれ信号線31.45で報告される。信号線31.
45共に、値が1の時には整合性非保証領域を示し、0
の時には整合性保証領域を示す。
信号線31はキャッシュ制御回路2■に入力され、ステ
ートマシン120の入力となる。また、メインメモリ5
からキャッシュ3,4にデータ転送がなされる際に、信
号線31の値がキャッシュ3のデータ・アレイ10の領
域識別ビットとしてセットされる。これに対して信号線
4Sは、キャッシュ3のカラムの無効化制御に用いられ
る。
ートマシン120の入力となる。また、メインメモリ5
からキャッシュ3,4にデータ転送がなされる際に、信
号線31の値がキャッシュ3のデータ・アレイ10の領
域識別ビットとしてセットされる。これに対して信号線
4Sは、キャッシュ3のカラムの無効化制御に用いられ
る。
第4図は領域判定回路20の内部構成を示す図である。
50.51はそれぞれ12ビツト長のレジスタであり、
50にはコピー・バック領域の上限アドレスの上位12
ビツトを設定し、51にはコピー・バック領域の下限ア
ドレスの上位12ビツトを設定するレジスタである。プ
ロセッサlからのアドレス線14−2の上位12ビツト
30の値Aとレジスタ50.51内の値U、Lが大lJ
X比較回路52で比較され、L≦A≦Uてあれば領域判
定信号31の値はl(整合性非保証領域を示す)となり
、A(LあるいはU)Aである時には信号31の値はO
(整合性保証領域を示す)となる。
50にはコピー・バック領域の上限アドレスの上位12
ビツトを設定し、51にはコピー・バック領域の下限ア
ドレスの上位12ビツトを設定するレジスタである。プ
ロセッサlからのアドレス線14−2の上位12ビツト
30の値Aとレジスタ50.51内の値U、Lが大lJ
X比較回路52で比較され、L≦A≦Uてあれば領域判
定信号31の値はl(整合性非保証領域を示す)となり
、A(LあるいはU)Aである時には信号31の値はO
(整合性保証領域を示す)となる。
(同様に、メインメモリバス7上のアドレス・タグ・フ
ィールド′値46に対してもレジスタ50゜51内の値
との比較がなされる。その結果は信号45に反映され、
L、Uの間の値である場合に信号45の値は1になる。
ィールド′値46に対してもレジスタ50゜51内の値
との比較がなされる。その結果は信号45に反映され、
L、Uの間の値である場合に信号45の値は1になる。
)
第5図はメモリ空間の領域分割を示す図である。
メモリ空間は16進数でooooooからFFFFFF
までアドレッシング可能である。このうち、ooooo
oからFFFFFFまでは整合性保証領域60である。
までアドレッシング可能である。このうち、ooooo
oからFFFFFFまでは整合性保証領域60である。
また、FF8000からFFFFFFまでは、整合性非
保証領域61゜62.63である。メインメモリの整合
性保証領域60には、プロセッサ1.プロセッサ2、お
よび、入出力デバイス6からのライト・アクセスが起こ
る。一方、メインメモリの整合性非保証領域61に対し
ては、入出力デバイス6からのライト・アクセスだけが
起こる。メモリ空間FF7FFFからFFFFFFにお
ける、プロセッサ1からのライト・アクセスはキャッシ
ュメモリ3に対してのみ起こり、プロセッサ2からのラ
イト・アクセスはキャッシュメモリ4に対してのみ起こ
る。プロセッサ1゜2からの整合性非保証領域62.6
3へのライト・アクセスはメインメモリに対しては行な
われない。これらのアクセス制御は、プロセッサ1ある
いはプロセッサ2内のアドレス変換テーブル8あるいは
9で行なわれる。例えば、プロセッサ1がデータをアク
セスするときに、その論理アドレスがメインメモリ5の
物理アドレスに変換されるが、その変換後のアドレスが
整合性保証領域60あるいは整合性非保証領域62のア
ドレス範囲になるように、アドレス変換テーブルの内容
が設定される。
保証領域61゜62.63である。メインメモリの整合
性保証領域60には、プロセッサ1.プロセッサ2、お
よび、入出力デバイス6からのライト・アクセスが起こ
る。一方、メインメモリの整合性非保証領域61に対し
ては、入出力デバイス6からのライト・アクセスだけが
起こる。メモリ空間FF7FFFからFFFFFFにお
ける、プロセッサ1からのライト・アクセスはキャッシ
ュメモリ3に対してのみ起こり、プロセッサ2からのラ
イト・アクセスはキャッシュメモリ4に対してのみ起こ
る。プロセッサ1゜2からの整合性非保証領域62.6
3へのライト・アクセスはメインメモリに対しては行な
われない。これらのアクセス制御は、プロセッサ1ある
いはプロセッサ2内のアドレス変換テーブル8あるいは
9で行なわれる。例えば、プロセッサ1がデータをアク
セスするときに、その論理アドレスがメインメモリ5の
物理アドレスに変換されるが、その変換後のアドレスが
整合性保証領域60あるいは整合性非保証領域62のア
ドレス範囲になるように、アドレス変換テーブルの内容
が設定される。
入出力デバイス6のみによってアクセスされるプライベ
ート領域である整合性非保証領域61゜プロセッサ1の
みによってアクセスされるプライベート領域である整合
性非保証領域62.プロセッサ2のみによってアクセス
されるプライベート領域である整合性非保証領域63の
アドレスはアドレス空間中で重複しているが、それぞれ
プライベート領域であるため、この重複アドレス空間の
同一アドレスに対応するこれら整合性非保証領域61.
62,6.3のデータ相互の整合性を保証する必要は一
切無い。従って、これらの領域61゜62.63は入出
力デバイス6.プロセッサl。
ート領域である整合性非保証領域61゜プロセッサ1の
みによってアクセスされるプライベート領域である整合
性非保証領域62.プロセッサ2のみによってアクセス
されるプライベート領域である整合性非保証領域63の
アドレスはアドレス空間中で重複しているが、それぞれ
プライベート領域であるため、この重複アドレス空間の
同一アドレスに対応するこれら整合性非保証領域61.
62,6.3のデータ相互の整合性を保証する必要は一
切無い。従って、これらの領域61゜62.63は入出
力デバイス6.プロセッサl。
2に対するローカルメモリのためのアドレス空間の領域
として利用することができる。
として利用することができる。
上記領域を判定するために第4図におけるレジスタ50
に16進数Uが設定され、レジスタ51には16進数り
が設定される。これにより、プロセッサ1から整合性非
保証領域62にアクセスがなされたときには信号線31
の値が1となら、キャッシュ制御回路21はキャッシュ
3をローカルメモリとして扱う。
に16進数Uが設定され、レジスタ51には16進数り
が設定される。これにより、プロセッサ1から整合性非
保証領域62にアクセスがなされたときには信号線31
の値が1となら、キャッシュ制御回路21はキャッシュ
3をローカルメモリとして扱う。
しかしながらここに一つの問題がある。すなわち、整合
性非保証領域のデータはすべてキャッシュ3,4に収ま
りきらなければならない。そのため、レジスタ5oと5
1を用いて設定する整合性非保証領域のサイズはキャッ
シュ容量によって制限され、本実施例の場合には最大で
32 kByteとなる。
性非保証領域のデータはすべてキャッシュ3,4に収ま
りきらなければならない。そのため、レジスタ5oと5
1を用いて設定する整合性非保証領域のサイズはキャッ
シュ容量によって制限され、本実施例の場合には最大で
32 kByteとなる。
第6図は上記動作を制御するキャッシュ制御回路21の
内部構成を示す図である。120は整合性保証領域への
リード/ライト動作および整合性非保証領域へのリード
/ライト動作を制御するステート・マシンであり、14
0はメインメモリバスの監視によるアドレスアレイの無
効化動作を制御する回路である。
内部構成を示す図である。120は整合性保証領域への
リード/ライト動作および整合性非保証領域へのリード
/ライト動作を制御するステート・マシンであり、14
0はメインメモリバスの監視によるアドレスアレイの無
効化動作を制御する回路である。
ステート・マシン120の入力は、現在のステートを示
すステート信号群110、プロセッサ側のアドレスタグ
とアドレスアレイ10内のタグとを比較した結果を報告
するヒツト/ミス信号43゜アドレスアレイ10から読
みだされた有効ビット信号100−a、および更新ビッ
ト信号100−b、領域判定結果の報告信号31.プロ
セッサとキャッシュ間のインターフェース制御入力信号
群1、4−3− a 、メモリバス制御信号7−3−a
である。インターフェース制御入力信号14−3−aは
、プロセッサがアクセスを開始したことを指示するアク
セス開始信号、リード/ライト識別信号からなる。メモ
リバス制御信号7−3−aは、メモリバスサイクル終了
を報告する信号である。
すステート信号群110、プロセッサ側のアドレスタグ
とアドレスアレイ10内のタグとを比較した結果を報告
するヒツト/ミス信号43゜アドレスアレイ10から読
みだされた有効ビット信号100−a、および更新ビッ
ト信号100−b、領域判定結果の報告信号31.プロ
セッサとキャッシュ間のインターフェース制御入力信号
群1、4−3− a 、メモリバス制御信号7−3−a
である。インターフェース制御入力信号14−3−aは
、プロセッサがアクセスを開始したことを指示するアク
セス開始信号、リード/ライト識別信号からなる。メモ
リバス制御信号7−3−aは、メモリバスサイクル終了
を報告する信号である。
ステート・マシン120の出力は、キャッシュ内のアド
レス・アレイ10.データ・アレイ12の読み出し・書
き込みを制御する内部制御信号群130、メモリバス制
御信号群7−3−b、インターフェース制御出力信号1
4−3−bである。
レス・アレイ10.データ・アレイ12の読み出し・書
き込みを制御する内部制御信号群130、メモリバス制
御信号群7−3−b、インターフェース制御出力信号1
4−3−bである。
メモリバス制御信号群7−3−bは、メモリバスサイク
ルの開始信号、読み出し/IFき込み指示信号から成る
。また、インターフェース制御出力信号14−3−bは
、プロセッサに対するアクセス終了信号である。
ルの開始信号、読み出し/IFき込み指示信号から成る
。また、インターフェース制御出力信号14−3−bは
、プロセッサに対するアクセス終了信号である。
ステート・マシン120は、各入力信号に反応して、前
記制御動作を実現する出力信号を送出する。特に本ステ
ート・マシン120には、領域判定結果の報告信号31
が入力されているので、この判定結果により整合性保証
領域と整合性非保証領域の両方へのアクセスの制御動作
がこのステート・マシン120だけで実現されている。
記制御動作を実現する出力信号を送出する。特に本ステ
ート・マシン120には、領域判定結果の報告信号31
が入力されているので、この判定結果により整合性保証
領域と整合性非保証領域の両方へのアクセスの制御動作
がこのステート・マシン120だけで実現されている。
アドレスアレイ10の無効化動作を制御する回路140
の入力は、メインメモリバス上のアドレスタグとアドレ
スアレイ内のタグとを比較した結果を報告するヒツト/
ミス信号44、同じくメインメモリバス7上のアドレス
・タグ・フィールド値の領域判定結果を報告する信号4
5.メインメモリバス上のアドレスによってアドレスア
レイから読み出された有効ビット信号100−c、およ
び、メモリバス制御信号群7.−3− bである。メモ
リバス制御信号群7−3−bはメモリバス開始信号、読
み呂し/書き込み指示信号からなる。
の入力は、メインメモリバス上のアドレスタグとアドレ
スアレイ内のタグとを比較した結果を報告するヒツト/
ミス信号44、同じくメインメモリバス7上のアドレス
・タグ・フィールド値の領域判定結果を報告する信号4
5.メインメモリバス上のアドレスによってアドレスア
レイから読み出された有効ビット信号100−c、およ
び、メモリバス制御信号群7.−3− bである。メモ
リバス制御信号群7−3−bはメモリバス開始信号、読
み呂し/書き込み指示信号からなる。
回路140は、メモリバス制御信号群7−3−すからメ
インメモリバス上の他のマスクからメインメモリに対す
る書き込みがある。ことを認識し、そのときの信号44
および100−cの状態に従って、アドレスアレイ無効
化のための無効化制御信号150を送出する。
インメモリバス上の他のマスクからメインメモリに対す
る書き込みがある。ことを認識し、そのときの信号44
および100−cの状態に従って、アドレスアレイ無効
化のための無効化制御信号150を送出する。
以下に、第7図、第8図および第9図のフローチャート
を参照してキャッシュメモリ3のキャラ“シュ制御回路
21の制御動作を説明する。
を参照してキャッシュメモリ3のキャラ“シュ制御回路
21の制御動作を説明する。
■、プロセッサ1によるキャッシュ3.メインメモリ5
のリード: プロセッサ1から発生されたアドレス信号が整合性保証
領域へのアクセスか、整合性非保証領域へのアクセスか
を判定する(第7図 ステップ700)。
のリード: プロセッサ1から発生されたアドレス信号が整合性保証
領域へのアクセスか、整合性非保証領域へのアクセスか
を判定する(第7図 ステップ700)。
(1)整合性保証領域からのリード。
整合性保証領域においてはライト・スルー方式でライト
・アクセスが行なわれる。
・アクセスが行なわれる。
第7図のステップ700において、プロセッサlから発
生されたアドレス信号の上位12ビツトの値AがA(L
またはUSAである時に、第4図の比較回路52の領域
判定信号31の値はOとなって、整合性保証領域60へ
のアクセスであることが判明する。この領域判定信号3
1が比較回路52より出力される間に、処理は第7図の
ステップ701のキャッシュ検索動作に移行される。
生されたアドレス信号の上位12ビツトの値AがA(L
またはUSAである時に、第4図の比較回路52の領域
判定信号31の値はOとなって、整合性保証領域60へ
のアクセスであることが判明する。この領域判定信号3
1が比較回路52より出力される間に、処理は第7図の
ステップ701のキャッシュ検索動作に移行される。
このステップ701のキャッシュ検索動作において、キ
ャッシュ3のアドレス・アレイ10が検索され、その結
果ヒツトしていれば(すなわち、アクセスアドレスのア
ドレス・タグ・フィールドの値32とアドレス・アレイ
10から読み出された値41が一致してヒツト信号43
がアサートされ、かつ、アドレス・タグと同時に読み呂
された有効ビットが1であれば)、キャッシュ3のキャ
ッシュ制御回路21のステート・マシン120は整合性
保証領域判定信号31.ヒツト信号43等に応答して処
理を第7図のステップ702に移行せしめる。
ャッシュ3のアドレス・アレイ10が検索され、その結
果ヒツトしていれば(すなわち、アクセスアドレスのア
ドレス・タグ・フィールドの値32とアドレス・アレイ
10から読み出された値41が一致してヒツト信号43
がアサートされ、かつ、アドレス・タグと同時に読み呂
された有効ビットが1であれば)、キャッシュ3のキャ
ッシュ制御回路21のステート・マシン120は整合性
保証領域判定信号31.ヒツト信号43等に応答して処
理を第7図のステップ702に移行せしめる。
このステップ702においては、プロセッサlから発生
されたアドレス信号のカラム・フィールドに従って、デ
ータ・アレイ12がらデータ線14−1にデータが高速
で読み出され、この読み出しデータはプロセット1に転
送される。
されたアドレス信号のカラム・フィールドに従って、デ
ータ・アレイ12がらデータ線14−1にデータが高速
で読み出され、この読み出しデータはプロセット1に転
送される。
一方、ステップ701のキャッシュ検索動作において、
検索の結果ヒツトしていなければ、キャッシュ3のキャ
ッシュ制御回路21のステート・マシン120は整合性
保証領域判定信号31、ミス信号43等に応答して処理
を第7図のステップ703に移行せしめる。
検索の結果ヒツトしていなければ、キャッシュ3のキャ
ッシュ制御回路21のステート・マシン120は整合性
保証領域判定信号31、ミス信号43等に応答して処理
を第7図のステップ703に移行せしめる。
このステップ703においては、アドレス・アレイ12
から読み出された有効ビットと領域識別ビットとを判定
する。アドレス・アレイ12がら読み出されたデータは
、プロセッサ側のアドレス信号14−2のカラムフィー
ルドのみを用いてアクセスされている。そのため、ステ
ップ701においてキャッシュミスと判断されても、そ
のカラムにアドレスタグフィールドの値が異なる、有効
なデータがそのカラムに保持されている場合がある。
から読み出された有効ビットと領域識別ビットとを判定
する。アドレス・アレイ12がら読み出されたデータは
、プロセッサ側のアドレス信号14−2のカラムフィー
ルドのみを用いてアクセスされている。そのため、ステ
ップ701においてキャッシュミスと判断されても、そ
のカラムにアドレスタグフィールドの値が異なる、有効
なデータがそのカラムに保持されている場合がある。
キャッシュ・ミスのリード時のアドレス・アレイ12か
ら読み出された有効ビットが1であり、領域識別ビット
が1であることは、プロセッサ1よりのアドレス信号の
カラム・フィールドに対応するキャッシュ3の格納デー
タが整合性非保証領域のデータであることを示している
。この場合、キャッシュメモリに保持されているデータ
を保持/ する必要があり、処理を第7図のステップ705に移行
する。それに対して、有効ビットが0(すなわち無効デ
ータが格納されている)の場合又は領域識別ビットがO
(すなわち整合性保証領域のデータである)の場合には
キャッシュメモリ中のそのカラムのデータを更新可能で
あり、処理を第7図のステップ704に移行する。
ら読み出された有効ビットが1であり、領域識別ビット
が1であることは、プロセッサ1よりのアドレス信号の
カラム・フィールドに対応するキャッシュ3の格納デー
タが整合性非保証領域のデータであることを示している
。この場合、キャッシュメモリに保持されているデータ
を保持/ する必要があり、処理を第7図のステップ705に移行
する。それに対して、有効ビットが0(すなわち無効デ
ータが格納されている)の場合又は領域識別ビットがO
(すなわち整合性保証領域のデータである)の場合には
キャッシュメモリ中のそのカラムのデータを更新可能で
あり、処理を第7図のステップ704に移行する。
このステップ704においては、ステート・マシン12
0はメモリバスサイクルを開始し、プロセッサ1からの
アドレスが信号線36を介してメインメモリバス7のア
ドレス線7−2に供給される。このアドレスに従って、
メインメモリ5のデータが読み出され、データ線7−1
を介してそのデータがデータ・アレイ】2に書き込まれ
ると同時に、データ線14−1を介してプロセッサ1に
そのデータが転送される。一方、アドレス・アレイ1o
には、対応するカラムにアドレス・タグが書き込まれ、
有効ビットに1、領域識別ビットにOが書き込まれる。
0はメモリバスサイクルを開始し、プロセッサ1からの
アドレスが信号線36を介してメインメモリバス7のア
ドレス線7−2に供給される。このアドレスに従って、
メインメモリ5のデータが読み出され、データ線7−1
を介してそのデータがデータ・アレイ】2に書き込まれ
ると同時に、データ線14−1を介してプロセッサ1に
そのデータが転送される。一方、アドレス・アレイ1o
には、対応するカラムにアドレス・タグが書き込まれ、
有効ビットに1、領域識別ビットにOが書き込まれる。
一方ステップ705においては、ステート・マシン12
0はメモリバスサイクルを開始し、プロセッサlからの
アドレスが信号線36を介してメインメモリバス7のア
ドレスM7−2に供給される。このアドレスに従って、
メインメモリ5のデータが読み出され、データ線7−1
とデータ線14−1を介してプロセッサ1にそのデータ
が転送される。ただしステップ705では、ステップ7
04と異なり、キャッシュ3への書き込みは行なわない
。
0はメモリバスサイクルを開始し、プロセッサlからの
アドレスが信号線36を介してメインメモリバス7のア
ドレスM7−2に供給される。このアドレスに従って、
メインメモリ5のデータが読み出され、データ線7−1
とデータ線14−1を介してプロセッサ1にそのデータ
が転送される。ただしステップ705では、ステップ7
04と異なり、キャッシュ3への書き込みは行なわない
。
(2)整合性非保証領域からのリード:第7図のステッ
プ700において、プロセッサ1から発生されたアドレ
ス信号の上位12ビツトの値AがL≦A≦Uである時に
、第4図の比較回路52の領域判定信号31の値は1と
なって、整合性非保証領域62へのアクセスであること
が判明する。この領域判定信号31が比較回路52より
出力される間に、処理は第7図のステップ706のキャ
ッシュ検索動作に移行される。
プ700において、プロセッサ1から発生されたアドレ
ス信号の上位12ビツトの値AがL≦A≦Uである時に
、第4図の比較回路52の領域判定信号31の値は1と
なって、整合性非保証領域62へのアクセスであること
が判明する。この領域判定信号31が比較回路52より
出力される間に、処理は第7図のステップ706のキャ
ッシュ検索動作に移行される。
このステップ706のキャッシュ検索動作において、キ
ャッシュ3のアドレス・アレイ10が検索され、その結
果ヒツトしていれば、キャッシュ3のキャッシュ制御回
路21のステート・マシン120は整合性非保証領域判
定信号31.ヒツト信号43等に応答して処理を第7図
の上述したステップ702に移行せしめる。
ャッシュ3のアドレス・アレイ10が検索され、その結
果ヒツトしていれば、キャッシュ3のキャッシュ制御回
路21のステート・マシン120は整合性非保証領域判
定信号31.ヒツト信号43等に応答して処理を第7図
の上述したステップ702に移行せしめる。
一方、ステップ706のキャッシュ検索動作において、
検索の結果ヒツトしていなければ、キャッシュ3のキャ
ッシュ制御回路21のステート・マシン120は整合性
非保証領域判定信号31゜ミス信号43等に応答して処
理を第7図のステップ707に移行せしめる。
検索の結果ヒツトしていなければ、キャッシュ3のキャ
ッシュ制御回路21のステート・マシン120は整合性
非保証領域判定信号31゜ミス信号43等に応答して処
理を第7図のステップ707に移行せしめる。
このステップ707おいては、キャッシュ3からプロセ
ッサ1に仮のデータが転送される。仮のデータは、0と
しても良いし、キャッシュ3のデータ・アレイ12から
読み出された値としてもよい。というのも、整合性非保
証領域からデータを読み出そうとしてキャッシュ・ミス
を起こす(ステップ7o7)ということは、とりもなお
さず設定されていないデータを読み出そうとしたことを
意味し、一般的にはそのプログラムにミスがあると判断
できるからである。
ッサ1に仮のデータが転送される。仮のデータは、0と
しても良いし、キャッシュ3のデータ・アレイ12から
読み出された値としてもよい。というのも、整合性非保
証領域からデータを読み出そうとしてキャッシュ・ミス
を起こす(ステップ7o7)ということは、とりもなお
さず設定されていないデータを読み出そうとしたことを
意味し、一般的にはそのプログラムにミスがあると判断
できるからである。
■、プロセッサ1によるキャッシュ3.メインメモリ5
へのライト: プロセッサ1から発生されたアドレス信号が整合性保証
領域へのアクセスか、整合性非保証領域へのアクセスか
を判断する(第8図 ステップ800)。
へのライト: プロセッサ1から発生されたアドレス信号が整合性保証
領域へのアクセスか、整合性非保証領域へのアクセスか
を判断する(第8図 ステップ800)。
(3)整合性保証領域へのライト:
第8図のステップ800において、プロセッサ1から発
生されたアドレス信号の上位12ビツトの値AがA(L
またはU<Aである時に、第4図の比較回路52の領域
判定信号31の値はOとなって、整合性保証領域60へ
のアクセスであることが判明する。この領域判定信号3
1が比較回路52より出力される間に、処理は第8図の
ステップ801のキャッシュ検索動作に移行される。
生されたアドレス信号の上位12ビツトの値AがA(L
またはU<Aである時に、第4図の比較回路52の領域
判定信号31の値はOとなって、整合性保証領域60へ
のアクセスであることが判明する。この領域判定信号3
1が比較回路52より出力される間に、処理は第8図の
ステップ801のキャッシュ検索動作に移行される。
このステップ801のキャッシュ検索動作において、キ
ャッシュ3のアドレス・アレイ10が検索され、その結
果ヒツトしていれば(すなわち、アクセスアドレスのア
ドレス・タグ・フィールドの値32とアドレス・アレイ
10から読み出された値41が一致してヒツト信号43
がアサートされ、かつ、アドレス・タグと同時に読み出
された有効ビットが1であれば)、キャッシュ3のキャ
ッシュ制御回路21のステート・マシン120は整合性
保証領域判定信号31.ヒツト信号43等に応答して処
理を第8図のステップ802に移行せしめる。
ャッシュ3のアドレス・アレイ10が検索され、その結
果ヒツトしていれば(すなわち、アクセスアドレスのア
ドレス・タグ・フィールドの値32とアドレス・アレイ
10から読み出された値41が一致してヒツト信号43
がアサートされ、かつ、アドレス・タグと同時に読み出
された有効ビットが1であれば)、キャッシュ3のキャ
ッシュ制御回路21のステート・マシン120は整合性
保証領域判定信号31.ヒツト信号43等に応答して処
理を第8図のステップ802に移行せしめる。
このステップ802においては、プロセッサ1から発生
されたアドレス信号に従って、ライト・データをキャッ
シュ3のデータ・アレイ12に書き込む。一方、ステー
ト・マシン120はメモリバスサイクルを開始し、メイ
ンメモリ5にも同様にライト・データを書き込む。
されたアドレス信号に従って、ライト・データをキャッ
シュ3のデータ・アレイ12に書き込む。一方、ステー
ト・マシン120はメモリバスサイクルを開始し、メイ
ンメモリ5にも同様にライト・データを書き込む。
一方、ステップ801のキャッシュ検索動作において、
検索の結果ヒツトしていなければ、キャッシュ3のキャ
ッシュ制御回路21のステート・マシン120の整合性
保証領域判定信号31.ミス信号43等に応答して処理
を第8図のステップ803に移行せしめる。
検索の結果ヒツトしていなければ、キャッシュ3のキャ
ッシュ制御回路21のステート・マシン120の整合性
保証領域判定信号31.ミス信号43等に応答して処理
を第8図のステップ803に移行せしめる。
このステップ803においては、ライト・データのキャ
ッシュ3のデータ・アレイ12への書き込みは行われな
い。一方、ステート・マシン120はメモリバスサイク
ルを開始し、プロセッサ1からのアドレスに従って、メ
インメモリ5ヘライト・データを書き込む。
ッシュ3のデータ・アレイ12への書き込みは行われな
い。一方、ステート・マシン120はメモリバスサイク
ルを開始し、プロセッサ1からのアドレスに従って、メ
インメモリ5ヘライト・データを書き込む。
(4)整合性非保証領域へのライト:
第8図のステップ800において、プロセッサ1から発
生されたアドレス信号の上位12ビツトの値AがL≦A
≦Uである時に、第4図の比較回路52の領域判定信号
31の値は1となって、整合性非保証領域62へのアク
セスであることが判明する。この場合、処理は第8図の
ステップ804に移行する。
生されたアドレス信号の上位12ビツトの値AがL≦A
≦Uである時に、第4図の比較回路52の領域判定信号
31の値は1となって、整合性非保証領域62へのアク
セスであることが判明する。この場合、処理は第8図の
ステップ804に移行する。
このステップ804においては、プロセッサ1からのラ
イト・データをキャッシュ3のデータ・アレイ12に書
き込む。この時、プロセッサ1からのライト・データは
メインメモリ5に書き込まれないので、ライト動作を短
時間で終了することが可能となる。また、この際書き替
えられるデータは他のデバイスから直接にはアクセスで
きないため、後述の無効化処理を行なうためにアドレス
線7−2にアドレスを8力する必要がない。その結果、
メモリバス7のバストラフィックを減じ、しかも他のデ
バイスの処理に悪影響を与えない。
イト・データをキャッシュ3のデータ・アレイ12に書
き込む。この時、プロセッサ1からのライト・データは
メインメモリ5に書き込まれないので、ライト動作を短
時間で終了することが可能となる。また、この際書き替
えられるデータは他のデバイスから直接にはアクセスで
きないため、後述の無効化処理を行なうためにアドレス
線7−2にアドレスを8力する必要がない。その結果、
メモリバス7のバストラフィックを減じ、しかも他のデ
バイスの処理に悪影響を与えない。
■、他のプロセッサ2又は入出力デバイス6によるメモ
リ・ライトに対する処理: プロセッサ1がキャッシュ3とメインメモリ5のライト
・スルー領域60とに同一データを書き込んだ後、他の
プロセッサ2または入出力デバイス6が上記データのア
ドレスと同一のアドレス位置のメインメモリ5に他のデ
ータを書き込む場合がある。この場合は、キャッシュ3
とメインメモリ5との格納データの対応が保証されなく
なるので、キャッシュ3に格納されたデータを無効化す
る必要がある。
リ・ライトに対する処理: プロセッサ1がキャッシュ3とメインメモリ5のライト
・スルー領域60とに同一データを書き込んだ後、他の
プロセッサ2または入出力デバイス6が上記データのア
ドレスと同一のアドレス位置のメインメモリ5に他のデ
ータを書き込む場合がある。この場合は、キャッシュ3
とメインメモリ5との格納データの対応が保証されなく
なるので、キャッシュ3に格納されたデータを無効化す
る必要がある。
この無効化のために、キャッシュ3のアドレス・アレイ
10はメインメモリバス7を介して、メインメモリ5に
対するプロセッサ2あるいは入出力デバイス6からの書
き込みアドレスを監視する。
10はメインメモリバス7を介して、メインメモリ5に
対するプロセッサ2あるいは入出力デバイス6からの書
き込みアドレスを監視する。
書き込みアドレスはメインメモリ側のアドレス線7−2
から入力され、そのカラム・フィールドがアドレス・ア
レイ10の1つのボート・アドレス34に入る。メイン
メモリ5に対して書き込みがなされているか否かは、キ
ャッシュ3のキャッシュ制御回路21の制御回路140
が制御線7−3−bを監視することによってなされる。
から入力され、そのカラム・フィールドがアドレス・ア
レイ10の1つのボート・アドレス34に入る。メイン
メモリ5に対して書き込みがなされているか否かは、キ
ャッシュ3のキャッシュ制御回路21の制御回路140
が制御線7−3−bを監視することによってなされる。
アドレス・アレイ10から読み出されたアドレス・タグ
42とアドレス線7−2のアドレス・タグ・フィールド
35の値が比較器23によって比較される。
42とアドレス線7−2のアドレス・タグ・フィールド
35の値が比較器23によって比較される。
これらの値が一致して、ビット信号44がアサートされ
、かつ同時に読み出された有効ビットが1である場合に
は、そのカラムを無効化するために制御信号線150を
介してこの有効ビットに0を書き込む。これらの動作は
キャッシュ制御回路21によって制御される。
、かつ同時に読み出された有効ビットが1である場合に
は、そのカラムを無効化するために制御信号線150を
介してこの有効ビットに0を書き込む。これらの動作は
キャッシュ制御回路21によって制御される。
以上の無効化の処理の流れが、第9図のフローチャート
に示されている。
に示されている。
メインメモリ側のアドレス線7−2から書き込みアドレ
スが供給されると、ステップ900に処理が移行され、
このステップ900では書き込みアドレスによるアドレ
ス・アレイ10のキャッシュ検索が実行される。
スが供給されると、ステップ900に処理が移行され、
このステップ900では書き込みアドレスによるアドレ
ス・アレイ10のキャッシュ検索が実行される。
この検索の結果、比較器23の出力からヒツト信号44
が出力されると、処理はステップ901の無効化処理に
移行される。このステップ901において、アドレス・
アレイ10の該当カラムの有効ビットにOが書き込まれ
る。一方、ステップ900のキャッシュ検索結果がミス
である場合、無効化のためのステップ901を経由する
こと無く、処理は終了される。この動作によりライト・
スルー領域にえけるキャッシュ3.キャッシュ4、およ
びメインメモリ5のデータの一貫性が保たれる。
が出力されると、処理はステップ901の無効化処理に
移行される。このステップ901において、アドレス・
アレイ10の該当カラムの有効ビットにOが書き込まれ
る。一方、ステップ900のキャッシュ検索結果がミス
である場合、無効化のためのステップ901を経由する
こと無く、処理は終了される。この動作によりライト・
スルー領域にえけるキャッシュ3.キャッシュ4、およ
びメインメモリ5のデータの一貫性が保たれる。
本発明は上記の実施例に限定されるものではなく、種々
の変形実施形態を採用することが可能である。
の変形実施形態を採用することが可能である。
例えば、第2図において、プロセッサ1,2およびキャ
ッシュ3,4の数は2個に限定されるものでは無く、3
個以上接続してデータ処理能力を強化できることは言う
までもない。尚、第2図において、プロセッサ1とキャ
ッシュ3とは1個のマイクロコンピュータのチップ中に
形成され、プロセッサ2とキャッシュ4とは別のマイク
ロコンピュータのチップ中に形成されることも可能であ
る。さらには、第2図の全構成要素を1個のマイクロコ
ンピュータのチップの中に形成することも可能である。
ッシュ3,4の数は2個に限定されるものでは無く、3
個以上接続してデータ処理能力を強化できることは言う
までもない。尚、第2図において、プロセッサ1とキャ
ッシュ3とは1個のマイクロコンピュータのチップ中に
形成され、プロセッサ2とキャッシュ4とは別のマイク
ロコンピュータのチップ中に形成されることも可能であ
る。さらには、第2図の全構成要素を1個のマイクロコ
ンピュータのチップの中に形成することも可能である。
本実施例では、整合性保証領域と整合性非保証領域を1
つのキャッシュメモリで扱っているが、キャッシュメモ
リを複数に分割し、独立にイネーブル、クリア、ローカ
ルに使用するか否かを制御可能とすれば、マルチタスク
処理への対応が可能になる。キャッシュメモリが複数ウ
ェイのセット・アソシアティブ方式の場合には、例えば
ウェイ別にこれらの制御を行なうことができる。その場
合、いくつかのウェイはローカル・メモリとして使用し
、残りは通常のキャッシュ・メモリとして使用する。タ
スク切り替え時には、オペレーティング・システムがこ
れらウェイ別の状態を待避し、異なるタスクが誤って同
じローカル・メモリを使用しないように管理する。タス
クの処理を再開するときには、待避しておいた情報を基
に、再びローカル・メモリの使用を可能にする。
つのキャッシュメモリで扱っているが、キャッシュメモ
リを複数に分割し、独立にイネーブル、クリア、ローカ
ルに使用するか否かを制御可能とすれば、マルチタスク
処理への対応が可能になる。キャッシュメモリが複数ウ
ェイのセット・アソシアティブ方式の場合には、例えば
ウェイ別にこれらの制御を行なうことができる。その場
合、いくつかのウェイはローカル・メモリとして使用し
、残りは通常のキャッシュ・メモリとして使用する。タ
スク切り替え時には、オペレーティング・システムがこ
れらウェイ別の状態を待避し、異なるタスクが誤って同
じローカル・メモリを使用しないように管理する。タス
クの処理を再開するときには、待避しておいた情報を基
に、再びローカル・メモリの使用を可能にする。
また本実施例では、整合性保証領域に対してはすべてラ
イト・スルー方式に採っているが、さらにこの領域をラ
イト・スルー方式で制御する領域とコピー・バック方式
で制御する領域に2分することが可能である。その場合
、領域判定回路は、整合性非保証領域、整合性保証領域
(コピー・バック領域)、整合性保証領域(ライト・ス
ルー領域)を区別し、その判定結果にしたがってキャッ
シュメモリが制御されることになる。そのようにすると
、複数プロセッサ間の共有データではあっても稀にした
他のデバイスによってアクセスされないデータを、コピ
ー・バック領域に置くことによってさらにメインメモリ
へのアクセスを減らすことができる。
イト・スルー方式に採っているが、さらにこの領域をラ
イト・スルー方式で制御する領域とコピー・バック方式
で制御する領域に2分することが可能である。その場合
、領域判定回路は、整合性非保証領域、整合性保証領域
(コピー・バック領域)、整合性保証領域(ライト・ス
ルー領域)を区別し、その判定結果にしたがってキャッ
シュメモリが制御されることになる。そのようにすると
、複数プロセッサ間の共有データではあっても稀にした
他のデバイスによってアクセスされないデータを、コピ
ー・バック領域に置くことによってさらにメインメモリ
へのアクセスを減らすことができる。
[従来の技術]
本発明によれば、高速アクセス可能なキャッシュメモリ
を、ローカルメモリとして使用するようにユーザーが設
定できる。その結果、平均データアクセス時間が短縮さ
れると共に、パストラフィックが減少し、システム性能
が向上する。
を、ローカルメモリとして使用するようにユーザーが設
定できる。その結果、平均データアクセス時間が短縮さ
れると共に、パストラフィックが減少し、システム性能
が向上する。
本発明の効果は、マルチプロセッサ・システムにおいて
、より顕著である。ローカルなメモリ空間へのアクセス
が、他のプロセッサのキャッシュの処理に影響を与えな
くできるため、システム性能が向上する。また、各プロ
セッサの使用するローカルな空間(整合性非保証領域)
はメモリ空間上で同じアドレスを指定することができる
ため、プログラムの共通化が図れる。
、より顕著である。ローカルなメモリ空間へのアクセス
が、他のプロセッサのキャッシュの処理に影響を与えな
くできるため、システム性能が向上する。また、各プロ
セッサの使用するローカルな空間(整合性非保証領域)
はメモリ空間上で同じアドレスを指定することができる
ため、プログラムの共通化が図れる。
第1図は本発明の実施例によるキャッシュデバイスの内
部構成を示すブロックダイヤグラム、第2図は本発明の
実施例によるマルチプロセッサ・データ処理システムの
ブロックダイヤグラム、第3図は本発明の実施例による
メモリ・アクセスのアドレス・フィールドを示す図、第
4図は本発明の実施例によるキャッシュデバイス中の領
域判定回路のブロックダイヤグラム、第5図は第2図の
システムにおけるメインメモリの領域分割を示す図、第
6図は本発明の実施例によるキャッシュデバイス中のキ
ャッシュ制御回路のブロックダイヤグラム、第7図は本
発明の実施例によるマルチプロセッサ・データ処理シス
テムのリード動作を説明するフローチャート、第8図は
本発明の実施例によるマルチプロセッサ・データ処理シ
ステムのライト動作を説明するフローチャート、第9図
は本発明の実施例によるマルチプロセッサ・データ処理
システムの無効化動作を説明するフローチャートである
。 1.2・・・プロセッサ、3,4・・・キャッシュ、5
・・・メインメモリ、6・・・入呂カデバイス、7・・
・メモリバス、8,9・・・アドレス変換器、10.1
1・・・アドレスアレイ、12.13・・・データアレ
イ、14゜15・・・プロセッサ・キャッシュ間信号線
、14−1・・・データ線、14−2、アドレス線、1
4−3・・・制御線、30・・・領域判定フィールド(
プロセッサ)、31・・・領域判定信号(プロセッサ)
、45・・・領域判定信号(メインメモリ)、46・・
・領域判定フィールド(メインメモリ)、5o・・・上
限アドレスレジスタ、51・・・下限アドレスレジスタ
、52・・・大小比較器、120・・・ステートマシン
、η2[2] !ti3 (2) ′fJ40 VI5 タ Y z 口 5q 図 f37 口 猶 方 口
部構成を示すブロックダイヤグラム、第2図は本発明の
実施例によるマルチプロセッサ・データ処理システムの
ブロックダイヤグラム、第3図は本発明の実施例による
メモリ・アクセスのアドレス・フィールドを示す図、第
4図は本発明の実施例によるキャッシュデバイス中の領
域判定回路のブロックダイヤグラム、第5図は第2図の
システムにおけるメインメモリの領域分割を示す図、第
6図は本発明の実施例によるキャッシュデバイス中のキ
ャッシュ制御回路のブロックダイヤグラム、第7図は本
発明の実施例によるマルチプロセッサ・データ処理シス
テムのリード動作を説明するフローチャート、第8図は
本発明の実施例によるマルチプロセッサ・データ処理シ
ステムのライト動作を説明するフローチャート、第9図
は本発明の実施例によるマルチプロセッサ・データ処理
システムの無効化動作を説明するフローチャートである
。 1.2・・・プロセッサ、3,4・・・キャッシュ、5
・・・メインメモリ、6・・・入呂カデバイス、7・・
・メモリバス、8,9・・・アドレス変換器、10.1
1・・・アドレスアレイ、12.13・・・データアレ
イ、14゜15・・・プロセッサ・キャッシュ間信号線
、14−1・・・データ線、14−2、アドレス線、1
4−3・・・制御線、30・・・領域判定フィールド(
プロセッサ)、31・・・領域判定信号(プロセッサ)
、45・・・領域判定信号(メインメモリ)、46・・
・領域判定フィールド(メインメモリ)、5o・・・上
限アドレスレジスタ、51・・・下限アドレスレジスタ
、52・・・大小比較器、120・・・ステートマシン
、η2[2] !ti3 (2) ′fJ40 VI5 タ Y z 口 5q 図 f37 口 猶 方 口
Claims (1)
- 【特許請求の範囲】 1、マルチプロセッサ・データ処理システムであって、 (1)アドレスを発生する第1と第2のプロセッサと、 (2)バスと、 (3)該バスに結合されたメインメモリと、 (4)該バスに結合された入出力デバイスと、 (5)上記第1のプロセッサと上記バスとの間に結合さ
れる第1のキャッシュデバイスと、 (6)上記第2のプロセッサと上記バスとの間に結合さ
れる第2のキャッシュデバイスとを具備してなり、 上記メインメモリは上記第1のプロセッサ、上記第2の
プロセッサ、上記入出力デバイスによってライト・アク
セスされる共有領域と、上記第1または第2のプロセッ
サによってライト・アクセスされるプライベート領域と
に分割されてなり、 該第1と第2のキャッシュデバイスのそれぞれは、 (A)上記第1または第2のプロセッサから発生された
アドレスが上記共有領域または上記プライベート領域の
いずれかをアクセスすることを判定する領域判定回路と
、 (B)上記領域判定回路の出力に応答して上記キャッシ
ュデバイスおよび上記メインメモリへのデータ格納を制
御するキャッシュ制御回路とを有してなり、 上記第1または第2のプロセッサから発生されたアドレ
スが上記共有領域をアクセスする際に、上記キャッシュ
制御回路の出力は上記キャッシュデバイスにライト・ス
ルー方式又はコピー・バック方式によるデータ・ライト
動作を行なわせしめ、 上記第1または第2のプロセッサから発生されたアドレ
スが上記プライベート領域をアクセスする際に、上記キ
ャッシュ制御回路の出力は上記キャッシュデバイスをロ
ーカルメモリとして、データ・ライト動作を行なわせし
めることを特徴とするマルチプロセッサ・データ処理シ
ステム。 2、請求項1記載のマルチプロセッサ・データ処理シス
テムであって、 上記第2のプロセッサもしくは上記入出力デバイスが上
記メインメモリの上記共有領域のデータを書き換える際
に、上記第1のキャッシュデバイスの上記キャッシュ制
御回路は上記第1のキャッシュデバイスの上記共有領域
の格納データを無効化することを特徴とするマルチプロ
セッサ・データ処理システム。 3、アドレスを発生する第1と第2のプロセッサと、バ
スと、該バスに結合されたメインメモリと、該バスに結
合された入出力デバイスとを有し、上記メインメモリは
上記第1のプロセッサ、上記第2のプロセッサ、上記入
出力デバイスによってライト・アクセスされる共有領域
と、上記第1または第2のプロセッサによってライト・
アクセスされるプライベート領域とに分割されてなるマ
ルチプロセッサ・データ処理システム中に用いられるキ
ャッシュ装置であって、該キャッシュ装置は上記第1の
プロセッサと上記バスとの間に結合される第1のキャッ
シュデバイスと、上記第2のプロセッサと上記バスとの
間に結合される第2のキャッシュデバイスとからなり、 該第1と第2のキャッシュデバイスのそれぞれは (A)上記第1または第2のプロセッサから発生された
アドレスが上記共有領域または上記プライベート領域の
いずれかをアクセスすることを判定する領域判定回路と
、 (B)上記領域判定回路の出力に応答して上記キャッシ
ュデバイスおよび上記メインメモリへのデータ格納を制
御するキャッシュ制御回路とを有してなり、 上記第1または第2のプロセッサから発生されたアドレ
スが上記共有領域をアクセスする際に、上記キャッシュ
制御回路の出力は上記キャッシュデバイスにライト・ス
ルー方式もしくはコピー・バック方式によるデータ・ラ
イト動作を行なわせしめ、 上記第1または第2のプロセッサから発生されたアドレ
スが上記プライベート領域をアクセスする際に、上記キ
ャッシュ制御回路の出力は上記キャッシュデバイスにロ
ーカルメモリとしてのデータ・ライト動作を行なわせし
めることを特徴とするキャッシュ装置。 4、請求項3記載のキャッシュ装置であって、上記第2
のプロセッサもしくは上記入出力デバイスが上記メイン
メモリの上記共有領域のデータを書き換える際に、上記
第1のキャッシュデバイスの上記キャッシュ制御回路は
上記第1のキャッシュデバイスの上記共有領域の格納デ
ータを無効化することを特徴とするキャッシュ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2302414A JPH04175946A (ja) | 1990-11-09 | 1990-11-09 | マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2302414A JPH04175946A (ja) | 1990-11-09 | 1990-11-09 | マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04175946A true JPH04175946A (ja) | 1992-06-23 |
Family
ID=17908637
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2302414A Pending JPH04175946A (ja) | 1990-11-09 | 1990-11-09 | マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04175946A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6253290B1 (en) | 1998-09-04 | 2001-06-26 | Mitsubishi Denki Kabushiki Kaisha | Multiprocessor system capable of circumventing write monitoring of cache memories |
| EP2634702A1 (en) | 2012-02-29 | 2013-09-04 | Fujitsu Limited | Processor, information processing apparatus, and arithmetic method |
| US8583872B2 (en) | 2007-12-28 | 2013-11-12 | Fujitsu Limited | Cache memory having sector function |
-
1990
- 1990-11-09 JP JP2302414A patent/JPH04175946A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6253290B1 (en) | 1998-09-04 | 2001-06-26 | Mitsubishi Denki Kabushiki Kaisha | Multiprocessor system capable of circumventing write monitoring of cache memories |
| US8583872B2 (en) | 2007-12-28 | 2013-11-12 | Fujitsu Limited | Cache memory having sector function |
| EP2634702A1 (en) | 2012-02-29 | 2013-09-04 | Fujitsu Limited | Processor, information processing apparatus, and arithmetic method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6092172A (en) | Data processor and data processing system having two translation lookaside buffers | |
| US4445174A (en) | Multiprocessing system including a shared cache | |
| JP3259969B2 (ja) | キャッシュメモリ制御装置 | |
| US5526509A (en) | Method and apparatus for controlling one or more hierarchical memories using a virtual storage scheme and physical to virtual address translation | |
| US5689679A (en) | Memory system and method for selective multi-level caching using a cache level code | |
| EP0408058B1 (en) | Microprocessor | |
| JPH0250237A (ja) | マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置 | |
| US5802574A (en) | Method and apparatus for quickly modifying cache state | |
| JPH0519176B2 (ja) | ||
| JPH0727492B2 (ja) | 緩衝記憶装置 | |
| JPH04175946A (ja) | マルチプロセッサ・データ処理システムおよびそれに用いられるキャッシュ装置 | |
| US6480940B1 (en) | Method of controlling cache memory in multiprocessor system and the multiprocessor system based on detection of predetermined software module | |
| JPH05216765A (ja) | 階層バッファ記憶装置 | |
| JP2580263B2 (ja) | バッファ記憶装置 | |
| JPH0736170B2 (ja) | マルチプロセッサシステム | |
| KR920005296B1 (ko) | 정보처리장치 | |
| JP3564343B2 (ja) | キャッシュバイパス時のデータ転送装置と方法 | |
| JPH01217530A (ja) | キヤツシユメモリ | |
| JPH04205154A (ja) | マイクロプロセッサシステム | |
| JPH02226447A (ja) | コンピユータ・システムおよびその記憶装置アクセス方法 | |
| JPH04205535A (ja) | コピーオンライト方式 | |
| JPH0237446A (ja) | キャッシュ制御方式 | |
| JPH0336648A (ja) | 電子計算機及びtlb装置とマイクロプロセッサチップ | |
| JPH06124235A (ja) | キャッシュ制御方式 | |
| JPH0775009B2 (ja) | 直接制御が可能なキャッシュメモリ |