JPH0944402A - キャッシュメモリの記憶一致制御装置及び方法 - Google Patents
キャッシュメモリの記憶一致制御装置及び方法Info
- Publication number
- JPH0944402A JPH0944402A JP7192232A JP19223295A JPH0944402A JP H0944402 A JPH0944402 A JP H0944402A JP 7192232 A JP7192232 A JP 7192232A JP 19223295 A JP19223295 A JP 19223295A JP H0944402 A JPH0944402 A JP H0944402A
- Authority
- JP
- Japan
- Prior art keywords
- lock
- cache memory
- processor
- acquisition
- lock acquisition
- 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.)
- Granted
Links
Abstract
(57)【要約】
【課題】各プロセッサがキャッシュメモリを有するマル
チプロセッサシステムにおいて、キャッシュメモリの記
憶一致処理によるキャッシュメモリ間の無駄なデータ転
送を抑えデータ転送性能を上げる。 【解決手段】ロックフラグ10とロック取得プロセッサ
ID11からなるロック状態を保持しておき、共有デー
タロック取得アドレスで指定されたロックフラグ10に
つきロック取得判定機構12によりロック可否を判定す
る。ロック取得可でロック取得CPU番号とロック取得
プロセッサIDより前回のプロセッサと同一かどうかを
プロセッサID判定機構13で判定する。同一でない場
合にのみ、キャッシュメモリ制御機構14により前回ロ
ック取得のプロセッサに接続されたキャッシュメモリか
らデータ転送して記憶一致処理を行なう。
チプロセッサシステムにおいて、キャッシュメモリの記
憶一致処理によるキャッシュメモリ間の無駄なデータ転
送を抑えデータ転送性能を上げる。 【解決手段】ロックフラグ10とロック取得プロセッサ
ID11からなるロック状態を保持しておき、共有デー
タロック取得アドレスで指定されたロックフラグ10に
つきロック取得判定機構12によりロック可否を判定す
る。ロック取得可でロック取得CPU番号とロック取得
プロセッサIDより前回のプロセッサと同一かどうかを
プロセッサID判定機構13で判定する。同一でない場
合にのみ、キャッシュメモリ制御機構14により前回ロ
ック取得のプロセッサに接続されたキャッシュメモリか
らデータ転送して記憶一致処理を行なう。
Description
【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は各々がキャッシュメ
モリを備えた複数のプロセッサから構成されるマルチプ
ロセッサシステムにおけるキャッシュメモリの記憶一致
制御装置及び方法に関する。
モリを備えた複数のプロセッサから構成されるマルチプ
ロセッサシステムにおけるキャッシュメモリの記憶一致
制御装置及び方法に関する。
【0002】
【従来の技術】キャッシュメモリ制御方式には、キャッ
シュ書き込み時に主記憶を更新しないストアイン方式
と、キャッシュ書き込み時には主記憶も更新するストア
スルー方式とがあるが、大規模なマルチプロセッサシス
テムにおいてはストアイン方式が適していると言われ
る。ストアイン方式の方がストアスルー方式に比べて主
記憶アクセス回数が少なくてすみ、システム全体の性能
が上がるからである。しかし、各々がストアイン方式の
キャッシュメモリを備えたプロセッサを複数台接続して
マルチプロセッサを構成する場合には、キャッシュメモ
リ間のデータの一致性制御が問題となる。
シュ書き込み時に主記憶を更新しないストアイン方式
と、キャッシュ書き込み時には主記憶も更新するストア
スルー方式とがあるが、大規模なマルチプロセッサシス
テムにおいてはストアイン方式が適していると言われ
る。ストアイン方式の方がストアスルー方式に比べて主
記憶アクセス回数が少なくてすみ、システム全体の性能
が上がるからである。しかし、各々がストアイン方式の
キャッシュメモリを備えたプロセッサを複数台接続して
マルチプロセッサを構成する場合には、キャッシュメモ
リ間のデータの一致性制御が問題となる。
【0003】従来、この種の問題に対しては、あるプロ
セッサがデータをキャッシュメモリに書き込む場合に対
応するブロックが他プロセッサのキャッシュメモリに存
在するときは、他プロセッサのキャッシュメモリのブロ
ックを無効化(無効化ビットを立てる)することにより
データの一致制御を行なう(無効化方式)か、あるい
は、他プロセッサのキャッシュメモリにも書き込みに行
くことで一致制御を行なう(ブロードキャスト方式)こ
とにより対処している。
セッサがデータをキャッシュメモリに書き込む場合に対
応するブロックが他プロセッサのキャッシュメモリに存
在するときは、他プロセッサのキャッシュメモリのブロ
ックを無効化(無効化ビットを立てる)することにより
データの一致制御を行なう(無効化方式)か、あるい
は、他プロセッサのキャッシュメモリにも書き込みに行
くことで一致制御を行なう(ブロードキャスト方式)こ
とにより対処している。
【0004】
【発明が解決しようとする課題】この従来のメモリ一致
性制御方式のうちの無効化方式では、プロセッサ間で共
有するデータに対しては、プロセッサ間で相互に無効化
し合うためデータ転送が増えるという問題がある。ここ
で、共有データとはOSが管理しているテーブルのデー
タなどを指し、複数のプロセッサが共に用いるようなデ
ータ、また複数のプログラムが共に用いるようなデータ
である。一方、ブロードキャスト方式では、共有データ
でない場合でも他プロセッサのキャッシュメモリにデー
タがあると、キャッシュ書き込み毎に他のプロセッサの
キャッシュメモリに書き込みにいくことになり、データ
の転送量が増えるという問題点が存在する。さらに、こ
れらの方式を用いたデータ処理装置の性能を低下させる
ことになる。
性制御方式のうちの無効化方式では、プロセッサ間で共
有するデータに対しては、プロセッサ間で相互に無効化
し合うためデータ転送が増えるという問題がある。ここ
で、共有データとはOSが管理しているテーブルのデー
タなどを指し、複数のプロセッサが共に用いるようなデ
ータ、また複数のプログラムが共に用いるようなデータ
である。一方、ブロードキャスト方式では、共有データ
でない場合でも他プロセッサのキャッシュメモリにデー
タがあると、キャッシュ書き込み毎に他のプロセッサの
キャッシュメモリに書き込みにいくことになり、データ
の転送量が増えるという問題点が存在する。さらに、こ
れらの方式を用いたデータ処理装置の性能を低下させる
ことになる。
【0005】本発明は、あるプロセッサで共有データを
アクセスする場合に、要求するデータのアクセス開始時
に共有データロック取得の指令を出し、共有データロッ
クを取得できるかどうかを判定し、要求データで前回共
有データロックを取得していたプロセッサと同一かどう
かを判定し、共有データロックを取得し前回ロックを取
得していたプロセッサと同一でない場合、前回共有デー
タロックを取得していたプロセッサのキャッシュメモリ
の対応するブロックの内容で現在共有データロックを取
得しているプロセッサのキャッシュメモリの内容の更新
を行なうことにより、共有データを必要とするときのみ
メモリ一致の判定とキャッシュメモリ間のデータ転送を
行い、ブロードキャスト方式によるデータ転送増加を防
止し、また無効化方式によりメモリ一致無効化処理のた
めのキャッシュメモリ間制御処理の増加を避けメモリア
クセス性能を向上させる。
アクセスする場合に、要求するデータのアクセス開始時
に共有データロック取得の指令を出し、共有データロッ
クを取得できるかどうかを判定し、要求データで前回共
有データロックを取得していたプロセッサと同一かどう
かを判定し、共有データロックを取得し前回ロックを取
得していたプロセッサと同一でない場合、前回共有デー
タロックを取得していたプロセッサのキャッシュメモリ
の対応するブロックの内容で現在共有データロックを取
得しているプロセッサのキャッシュメモリの内容の更新
を行なうことにより、共有データを必要とするときのみ
メモリ一致の判定とキャッシュメモリ間のデータ転送を
行い、ブロードキャスト方式によるデータ転送増加を防
止し、また無効化方式によりメモリ一致無効化処理のた
めのキャッシュメモリ間制御処理の増加を避けメモリア
クセス性能を向上させる。
【0006】
【課題を解決するための手段】本発明の装置は、各々が
キャッシュメモリを有する複数のプロセッサと、該プロ
セッサによって共有される主記憶を備えるマルチプロセ
ッサシステムにおけるキャッシュメモリの一致制御装置
において、前記キャッシュメモリが全て接続された記憶
制御ユニットを備え、該記憶制御ユニットは、主記憶ア
ドレスに対応したアドレス単位毎にロック取得状況とロ
ック取得プロセッサ番号を保持する機構と、ロック取得
動作時に該ロック取得状況によりロック取得可否を判定
するロック取得判定機構と、該ロック取得状況と該ロッ
ク取得プロセッサ番号を更新する機構と、ロック取得時
に前回と今回のロック取得プロセッサ番号の相違を判定
するプロセッサID判定機構と、プロセッサ番号が一致
する場合を除いて、前回のプロセッサ番号に対応するキ
ャッシュメモリの内容を今回ロックを取得したプロセッ
サに対応するキャッシュメモリにコピーするキャッシュ
メモリ制御機構を有することを特徴とする。
キャッシュメモリを有する複数のプロセッサと、該プロ
セッサによって共有される主記憶を備えるマルチプロセ
ッサシステムにおけるキャッシュメモリの一致制御装置
において、前記キャッシュメモリが全て接続された記憶
制御ユニットを備え、該記憶制御ユニットは、主記憶ア
ドレスに対応したアドレス単位毎にロック取得状況とロ
ック取得プロセッサ番号を保持する機構と、ロック取得
動作時に該ロック取得状況によりロック取得可否を判定
するロック取得判定機構と、該ロック取得状況と該ロッ
ク取得プロセッサ番号を更新する機構と、ロック取得時
に前回と今回のロック取得プロセッサ番号の相違を判定
するプロセッサID判定機構と、プロセッサ番号が一致
する場合を除いて、前回のプロセッサ番号に対応するキ
ャッシュメモリの内容を今回ロックを取得したプロセッ
サに対応するキャッシュメモリにコピーするキャッシュ
メモリ制御機構を有することを特徴とする。
【0007】本発明の方法は、各々がキャッシュメモリ
を有する複数のプロセッサと、該プロセッサによって共
有される主記憶を備えるマルチプロセッサシステムにお
ける各キャッシュメモリの記憶一致制御方法において、
前記複数のプロセッサで共有するデータに対しロックを
設定し、該共有データのアクセス開始時に該共有データ
のアドレスをもとにしてロックを取得し、該共有データ
のアクセス終了時にロックを解除し、主記憶のアドレス
をもとにして主記憶全域のロック取得状況と取得プロセ
ッサ番号からなるロック状態を保持し、いずれかのプロ
セッサで実行されるロック取得動作はそのアドレスに対
応する該ロック状態よりロックを取得できるか否かを判
定し、ロックを取得できる場合にそのアドレスに対応す
る該ロック状態をロック取得中として更新し、ロックを
取得できない場合は既に他のプロセッサにそのアドレス
で取得されているロックが解除されるまで該ロック取得
動作は完了を待ち合わせ、ロック取得成功時に、前記ロ
ック状態により以前に同一アドレスでロックを取得して
いたプロセッサがあることが判明した場合、以前にロッ
クを取得していたプロセッサのキャッシュメモリの内容
で今回ロックを取得したプロセッサのキャッシュメモリ
の内容を更新するが、そのプロセッサが今回ロックを取
得したプロセッサと同一であった場合には、キャッシュ
メモリの内容の更新処理をキャンセルすることを特徴と
する。
を有する複数のプロセッサと、該プロセッサによって共
有される主記憶を備えるマルチプロセッサシステムにお
ける各キャッシュメモリの記憶一致制御方法において、
前記複数のプロセッサで共有するデータに対しロックを
設定し、該共有データのアクセス開始時に該共有データ
のアドレスをもとにしてロックを取得し、該共有データ
のアクセス終了時にロックを解除し、主記憶のアドレス
をもとにして主記憶全域のロック取得状況と取得プロセ
ッサ番号からなるロック状態を保持し、いずれかのプロ
セッサで実行されるロック取得動作はそのアドレスに対
応する該ロック状態よりロックを取得できるか否かを判
定し、ロックを取得できる場合にそのアドレスに対応す
る該ロック状態をロック取得中として更新し、ロックを
取得できない場合は既に他のプロセッサにそのアドレス
で取得されているロックが解除されるまで該ロック取得
動作は完了を待ち合わせ、ロック取得成功時に、前記ロ
ック状態により以前に同一アドレスでロックを取得して
いたプロセッサがあることが判明した場合、以前にロッ
クを取得していたプロセッサのキャッシュメモリの内容
で今回ロックを取得したプロセッサのキャッシュメモリ
の内容を更新するが、そのプロセッサが今回ロックを取
得したプロセッサと同一であった場合には、キャッシュ
メモリの内容の更新処理をキャンセルすることを特徴と
する。
【0008】
【発明の実施の形態】次に、本発明の実施例を図面を用
いて説明する。
いて説明する。
【0009】先ず、本発明の実施しうるマルチプロセッ
サシステムの一例を図2に示す。このマルチプロセッサ
システムは、2つのCPU1,2と、CPU対応のキャ
ッシュメモリ3,4と、記憶制御ユニット5と、主記憶
6とから構成され、キャッシュメモリ3,4と、記憶制
御ユニット5と、主記憶6とはシステムバス7で結合さ
れている。
サシステムの一例を図2に示す。このマルチプロセッサ
システムは、2つのCPU1,2と、CPU対応のキャ
ッシュメモリ3,4と、記憶制御ユニット5と、主記憶
6とから構成され、キャッシュメモリ3,4と、記憶制
御ユニット5と、主記憶6とはシステムバス7で結合さ
れている。
【0010】CPUはメモリアクセス時に、主記憶デー
タ読み出し指令または書き込み指令を対応するキャッシ
ュメモリへ送る。CPU間のデータ共有を考慮しない
(考慮すべきか否かはOSが認識している)場合、要求
されたデータがキャッシュメモリにあればそのキャッシ
ュメモリからデータを取り出し、またはそのキャッシュ
メモリにデータを格納する。しかし要求されたデータが
キャッシュメモリにない場合にはキャッシュミスが生じ
る。そのときには、要求されたデータを含むブロック
を、主記憶からキャッシュメモリへ転送する。その後
は、キャッシュメモリにデータが存在した場合と同様に
動作する。このデータアクセス動作ではデータの共有な
しで動作しているので、他CPUに接続されているキャ
ッシュメモリに対応するブロックが存在するかどうかの
判定及び存在した場合の記憶一致のためのキャッシュメ
モリ制御は行われない。
タ読み出し指令または書き込み指令を対応するキャッシ
ュメモリへ送る。CPU間のデータ共有を考慮しない
(考慮すべきか否かはOSが認識している)場合、要求
されたデータがキャッシュメモリにあればそのキャッシ
ュメモリからデータを取り出し、またはそのキャッシュ
メモリにデータを格納する。しかし要求されたデータが
キャッシュメモリにない場合にはキャッシュミスが生じ
る。そのときには、要求されたデータを含むブロック
を、主記憶からキャッシュメモリへ転送する。その後
は、キャッシュメモリにデータが存在した場合と同様に
動作する。このデータアクセス動作ではデータの共有な
しで動作しているので、他CPUに接続されているキャ
ッシュメモリに対応するブロックが存在するかどうかの
判定及び存在した場合の記憶一致のためのキャッシュメ
モリ制御は行われない。
【0011】これに反して、CPU間のデータ共有を考
慮する場合には、キャッシュメモリへの主記憶データ読
み出し指令または書き込み指令を行なう前に、CPUは
共有データロック取得の指令を対応するキャッシュメモ
リを通して記憶制御ユニット5へ送る。記憶制御ユニッ
ト5では、後述の方法により、要求されたアドレスのロ
ックが解除されていないことがわかれば待ち合わせ、ロ
ックが解除されていればロックを取得し、その結果を要
求したCPUを返す。このとき、前回このアドレスでロ
ックを取得していたCPUが同一CPUでなければ、前
回ロックを取得していたCPUに接続されたキャッシュ
メモリの対応するブロックの内容を今回ロックを取得し
たCPUに接続されているキャッシュメモリに転送す
る。
慮する場合には、キャッシュメモリへの主記憶データ読
み出し指令または書き込み指令を行なう前に、CPUは
共有データロック取得の指令を対応するキャッシュメモ
リを通して記憶制御ユニット5へ送る。記憶制御ユニッ
ト5では、後述の方法により、要求されたアドレスのロ
ックが解除されていないことがわかれば待ち合わせ、ロ
ックが解除されていればロックを取得し、その結果を要
求したCPUを返す。このとき、前回このアドレスでロ
ックを取得していたCPUが同一CPUでなければ、前
回ロックを取得していたCPUに接続されたキャッシュ
メモリの対応するブロックの内容を今回ロックを取得し
たCPUに接続されているキャッシュメモリに転送す
る。
【0012】次いで、CPUから共有データに対する読
み出し指令または書き込み指令を対応するキャッシュメ
モリへ送り、そのキャッシュメモリでデータの取り出し
または格納が行われる。
み出し指令または書き込み指令を対応するキャッシュメ
モリへ送り、そのキャッシュメモリでデータの取り出し
または格納が行われる。
【0013】一方、前回このアドレスでロックを取得し
ていたCPUが同一CPUの場合もしくは初めてロック
を取得するアドレスであった場合は、データ共有を考慮
しないときと同様の動作をする。
ていたCPUが同一CPUの場合もしくは初めてロック
を取得するアドレスであった場合は、データ共有を考慮
しないときと同様の動作をする。
【0014】共有データアクセスを完了すると、CPU
は取得していた共有データロック解除の指令を対応する
キャッシュメモリを通して記憶制御ユニット5へ送る。
記憶制御ユニット5は、ロック解除指令前に行われたデ
ータ書き込み動作が完了するのを待ち合わせてロック解
除指令完了をCPUに返す。
は取得していた共有データロック解除の指令を対応する
キャッシュメモリを通して記憶制御ユニット5へ送る。
記憶制御ユニット5は、ロック解除指令前に行われたデ
ータ書き込み動作が完了するのを待ち合わせてロック解
除指令完了をCPUに返す。
【0015】次に、CPU間のデータ共有を考慮する場
合のキャッシュメモリの制御の方法について以下に更に
詳しく説明する。まず、共有データロックについて図1
により説明する。共有データロックを管理制御する記憶
制御ユニット5は、ロックフラグ10,ロック取得プロ
セッサID11,ロック取得判定機構12,プロセッサ
ID判定機構13及びキャッシュメモリ制御機構14か
ら構成される。
合のキャッシュメモリの制御の方法について以下に更に
詳しく説明する。まず、共有データロックについて図1
により説明する。共有データロックを管理制御する記憶
制御ユニット5は、ロックフラグ10,ロック取得プロ
セッサID11,ロック取得判定機構12,プロセッサ
ID判定機構13及びキャッシュメモリ制御機構14か
ら構成される。
【0016】ロックフラグ10とロック取得プロセッサ
ID11はロック取得対象となるアドレス単位に設けら
れ、ロックフラグ10は当該アドレス単位がロックされ
ているか否か、またロック取得プロセッサID11はロ
ックを取得しているプロセッサを示し、CPUからの共
有データロック取得指令で示された共有データロック取
得アドレスで一つのロックフラグとロック取得プロセッ
サIDが選択される。ロック取得判定機構12は、共有
データロック取得アドレスにより選択されたロックフラ
グをもとにロック取得の可否を判定する。
ID11はロック取得対象となるアドレス単位に設けら
れ、ロックフラグ10は当該アドレス単位がロックされ
ているか否か、またロック取得プロセッサID11はロ
ックを取得しているプロセッサを示し、CPUからの共
有データロック取得指令で示された共有データロック取
得アドレスで一つのロックフラグとロック取得プロセッ
サIDが選択される。ロック取得判定機構12は、共有
データロック取得アドレスにより選択されたロックフラ
グをもとにロック取得の可否を判定する。
【0017】また、プロセッサID判定機構13は、選
択されたロック取得プロセッサIDとロック取得指令を
出したCPUの識別番号が同一かどうか判定する。ロッ
ク取得可能のとき、プロセッサID判定機構13は、要
求したCPUと選択されたロック取得プロセッサIDに
格納されている前回のロック取得CPUを比較する。同
一でない場合、前回ロックを取得していたCPUに対応
のキャッシュメモリの当該ブロックの内容ろ今回ロック
を取得したCPUに接続されているキャッシュメモリに
転送する指示をキャッシュメモリ制御機構14に送る。
そして、キャッシュメモリ制御機構14によるキャッシ
ュメモリの転送終了後、記憶制御ユニット5における書
込機構(図示省略)により、ロックフラグ10をロック
取得状態とするとともに、ロック取得指令を出したCP
Uの識別番号を選択されたロック取得プロセッサID1
1に格納する。
択されたロック取得プロセッサIDとロック取得指令を
出したCPUの識別番号が同一かどうか判定する。ロッ
ク取得可能のとき、プロセッサID判定機構13は、要
求したCPUと選択されたロック取得プロセッサIDに
格納されている前回のロック取得CPUを比較する。同
一でない場合、前回ロックを取得していたCPUに対応
のキャッシュメモリの当該ブロックの内容ろ今回ロック
を取得したCPUに接続されているキャッシュメモリに
転送する指示をキャッシュメモリ制御機構14に送る。
そして、キャッシュメモリ制御機構14によるキャッシ
ュメモリの転送終了後、記憶制御ユニット5における書
込機構(図示省略)により、ロックフラグ10をロック
取得状態とするとともに、ロック取得指令を出したCP
Uの識別番号を選択されたロック取得プロセッサID1
1に格納する。
【0018】次に、CPUは共有データアクセス完了時
の共有データロック解除指令により、指定されたロック
フラグ10をロック解除状態とし、キャッシュメモリ制
御機構14により直前までにおこなわれたデータ書き込
み動作完了を待ち合わせる。
の共有データロック解除指令により、指定されたロック
フラグ10をロック解除状態とし、キャッシュメモリ制
御機構14により直前までにおこなわれたデータ書き込
み動作完了を待ち合わせる。
【0019】なお、共有データロック取得指令に使用し
た共有データロック取得アドレス20は、図3に示すよ
うに、キャッシュメモリのブロックロード単位に合わせ
て下位ビットを削除し記憶制御ユニット21へ送り、ブ
ロックロード単位に保持するロックフラグとロック取得
プロセッサIDを指定することもできる。
た共有データロック取得アドレス20は、図3に示すよ
うに、キャッシュメモリのブロックロード単位に合わせ
て下位ビットを削除し記憶制御ユニット21へ送り、ブ
ロックロード単位に保持するロックフラグとロック取得
プロセッサIDを指定することもできる。
【0020】次に、上述のような共有データロック機能
を用いたソフトウェアによりキャッシュメモリの記憶一
致処理の流れを図4により説明する。
を用いたソフトウェアによりキャッシュメモリの記憶一
致処理の流れを図4により説明する。
【0021】まず、ソフトウェアにより共有データロッ
クの取得解除を行なうためflash命令とsync命
令を新設する。flash命令は共有データロック取得
指令を行ないsync命令は共有データロック解除指令
を行なう。図1のCPU1で動作中のプログラムXが主
記憶上のシステム共用テーブルを操作する処理101を
行なう場合、その直前にflash命令100を実行
し、操作する共用テーブルのデータについてロックを取
得し、図1のキャッシュメモリ3の記憶一致処理を行わ
れ最新のデータへ更新される。これによりプログラムX
は最新のデータが反映された状態で共用テーブルを操作
する事ができる。処理101を完了後は、sync命令
102を実行し処理101で行なったメモリ書き込み動
作を全て完了させflash命令で行なったロックを解
除する。
クの取得解除を行なうためflash命令とsync命
令を新設する。flash命令は共有データロック取得
指令を行ないsync命令は共有データロック解除指令
を行なう。図1のCPU1で動作中のプログラムXが主
記憶上のシステム共用テーブルを操作する処理101を
行なう場合、その直前にflash命令100を実行
し、操作する共用テーブルのデータについてロックを取
得し、図1のキャッシュメモリ3の記憶一致処理を行わ
れ最新のデータへ更新される。これによりプログラムX
は最新のデータが反映された状態で共用テーブルを操作
する事ができる。処理101を完了後は、sync命令
102を実行し処理101で行なったメモリ書き込み動
作を全て完了させflash命令で行なったロックを解
除する。
【0022】一方、図1のCPU2上で動作するプログ
ラムYもプログラムXと同様に同じシステム共用テーブ
ルを操作する処理111を行なう。このときもflas
h命令110を実行するが、CPU1上のflash命
令100実行よりも後に行われることとなるのでロック
取得のための待ち合わせが発生する。
ラムYもプログラムXと同様に同じシステム共用テーブ
ルを操作する処理111を行なう。このときもflas
h命令110を実行するが、CPU1上のflash命
令100実行よりも後に行われることとなるのでロック
取得のための待ち合わせが発生する。
【0023】CPU1上でのsync命令102実行に
よるロック解除により、プログラムYのflash命令
110のロック待ち状態が解ける。flash命令11
0ではロックに成功すると、CPU1に対応のキャッシ
ュメモリ3の該当ブロックの最新データをプログラムY
で使用するキャッシュメモリ4へコピーする。このコピ
ー処理によるキャッシュメモリの記憶一致処理完了によ
りflash命令110を完了する。この後、プログラ
ムXの処理101の結果が反映された共用テーブルを使
用したプログラムYの処理111が行われる。次に、プ
ログラムYではsync命令112を実行して処理11
1で行なったメモリ書き込み動作を全て完了させfla
sh命令110で取得した共有テーブルロックを解除す
る。
よるロック解除により、プログラムYのflash命令
110のロック待ち状態が解ける。flash命令11
0ではロックに成功すると、CPU1に対応のキャッシ
ュメモリ3の該当ブロックの最新データをプログラムY
で使用するキャッシュメモリ4へコピーする。このコピ
ー処理によるキャッシュメモリの記憶一致処理完了によ
りflash命令110を完了する。この後、プログラ
ムXの処理101の結果が反映された共用テーブルを使
用したプログラムYの処理111が行われる。次に、プ
ログラムYではsync命令112を実行して処理11
1で行なったメモリ書き込み動作を全て完了させfla
sh命令110で取得した共有テーブルロックを解除す
る。
【0024】以上のように制御を行なう手段を設けるこ
とにより、効率の良いキャッシュメモリの記憶一致制御
を行なうことができ、マルチプロセッサシステムの性能
を向上させることができる。
とにより、効率の良いキャッシュメモリの記憶一致制御
を行なうことができ、マルチプロセッサシステムの性能
を向上させることができる。
【0025】
【発明の効果】以上説明したように本発明は、共有デー
タのアクセスに際し、そのアクセス開始終了時に指令を
行い、その期間指定したメモリブロックを他プロセッサ
からアクセスされないようロックすることにより、従来
おこなわれていた転送データ1バイト単位の記憶一致制
御を止めることができ、データ転送の性能を上げる効果
がある。また、共有データを使用する時に、始めてキャ
ッシュメモリの記憶一致のため他キャッシュメモリに存
在する最新データを転送するため、キャッシュメモリを
有効に使用することができ、キャッシュメモリのヒット
率を上げる効果があり、ひいては、これらを用いたマル
チプロセッサシステムは同様の理由により性能を向上さ
れることができる。
タのアクセスに際し、そのアクセス開始終了時に指令を
行い、その期間指定したメモリブロックを他プロセッサ
からアクセスされないようロックすることにより、従来
おこなわれていた転送データ1バイト単位の記憶一致制
御を止めることができ、データ転送の性能を上げる効果
がある。また、共有データを使用する時に、始めてキャ
ッシュメモリの記憶一致のため他キャッシュメモリに存
在する最新データを転送するため、キャッシュメモリを
有効に使用することができ、キャッシュメモリのヒット
率を上げる効果があり、ひいては、これらを用いたマル
チプロセッサシステムは同様の理由により性能を向上さ
れることができる。
【図1】本発明の記憶制御ユニット構成を示す図であお
る。
る。
【図2】本発明が適用されるマルチプロセッサシステム
の構成を示すブロック図である。
の構成を示すブロック図である。
【図3】図1の記憶制御ユニットの入力するロックアド
レスの構造例を示す図である。
レスの構造例を示す図である。
【図4】本発明の共有データロック機能を用いたソフト
ウェアにより記憶一致処理の流れを示した図である。
ウェアにより記憶一致処理の流れを示した図である。
1,2 CPU 3,4 キャッシュメモリ 5 記憶制御ユニット 6 主記憶 10 ロックフラグ 11 ロック取得プロセッサID 12 ロック取得判定機構 13 プロセッサID判定機構 14 キャッシュメモリ制御機構 20 共有データロックアドレス 21 記憶制御ユニット。
Claims (3)
- 【請求項1】 各々がキャッシュメモリを有する複数の
プロセッサと、該プロセッサによって共有される主記憶
を備えるマルチプロセッサシステムにおけるキャッシュ
メモリの一致制御装置において、前記キャッシュメモリ
が全て接続された記憶制御ユニットを備え、 該記憶制御ユニットは、主記憶アドレスに対応したアド
レス単位毎にロック取得状況とロック取得プロセッサ番
号を保持する機構と、ロック取得動作時に該ロック取得
状況によりロック取得可否を判定するロック取得判定機
構と、該ロック取得状況と該ロック取得プロセッサ番号
を更新する機構と、ロック取得時に前回と今回のロック
取得プロセッサ番号の相違を判定するプロセッサID判
定機構と、プロセッサ番号が一致する場合を除いて、前
回のプロセッサ番号に対応するキャッシュメモリの内容
を今回ロックを取得したプロセッサに対応するキャッシ
ュメモリにコピーするキャッシュメモリ制御機構を有す
ることを特徴とするキャッシュメモリの一致制御装置。 - 【請求項2】 前記ロック取得状態保持をキャッシュの
ブロックロード単位に行なう手段と、ロック取得状態保
持中の場所を示すロック取得時のアドレス単位をキャッ
シュメモリのブロックロード単位とする手段を設けたこ
とを特徴とする請求項1記載のキャッシュメモリの記憶
一致制御装置。 - 【請求項3】 各々がキャッシュメモリを有する複数の
プロセッサと、該プロセッサによって共有される主記憶
を備えるマルチプロセッサシステムにおける各キャッシ
ュメモリの記憶一致制御方法において、 前記複数のプロセッサで共有するデータに対しロックを
設定し、該共有データのアクセス開始時に該共有データ
のアドレスをもとにしてロックを取得し、該共有データ
のアクセス終了時にロックを解除し、主記憶のアドレス
をもとにして主記憶全域のロック取得状況と取得プロセ
ッサ番号からなるロック状態を保持し、いずれかのプロ
セッサで実行されるロック取得動作はそのアドレスに対
応する該ロック状態よりロックを取得できるか否かを判
定し、ロックを取得できる場合にそのアドレスに対応す
る該ロック状態をロック取得中として更新し、ロックを
取得できない場合は既に他のプロセッサにそのアドレス
で取得されているロックが解除されるまで該ロック取得
動作は完了を待ち合わせ、ロック取得成功時に、前記ロ
ック状態により以前に同一アドレスでロックを取得して
いたプロセッサがあることが判明した場合、以前にロッ
クを取得していたプロセッサのキャッシュメモリの内容
で今回ロックを取得したプロセッサのキャッシュメモリ
の内容を更新するが、そのプロセッサが今回ロックを取
得したプロセッサと同一であった場合には、キャッシュ
メモリの内容の更新処理をキャンセルすることを特徴と
するキャッシュメモリの記憶一致制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07192232A JP3093609B2 (ja) | 1995-07-27 | 1995-07-27 | キャッシュメモリの記憶一致制御装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07192232A JP3093609B2 (ja) | 1995-07-27 | 1995-07-27 | キャッシュメモリの記憶一致制御装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0944402A true JPH0944402A (ja) | 1997-02-14 |
JP3093609B2 JP3093609B2 (ja) | 2000-10-03 |
Family
ID=16287861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07192232A Expired - Fee Related JP3093609B2 (ja) | 1995-07-27 | 1995-07-27 | キャッシュメモリの記憶一致制御装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3093609B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163149A (ja) * | 2000-10-31 | 2002-06-07 | Hewlett Packard Co <Hp> | マルチプロセッサシステムのキャッシュコヒーレンスプロトコル |
JP2008046969A (ja) * | 2006-08-18 | 2008-02-28 | Fujitsu Ltd | 共有メモリのアクセス監視方法及び装置 |
JP2008525923A (ja) * | 2004-12-29 | 2008-07-17 | インテル・コーポレーション | マルチプロセッサ環境におけるトランザクションベースの共有データオペレーション |
CN109305705A (zh) * | 2017-07-28 | 2019-02-05 | 芜湖美的厨卫电器制造有限公司 | 净水机及其电控板的通讯提示系统和通讯提示方法 |
JP2020135196A (ja) * | 2019-02-15 | 2020-08-31 | Necプラットフォームズ株式会社 | 情報処理装置、制御装置、制御方法、およびプログラム |
-
1995
- 1995-07-27 JP JP07192232A patent/JP3093609B2/ja not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002163149A (ja) * | 2000-10-31 | 2002-06-07 | Hewlett Packard Co <Hp> | マルチプロセッサシステムのキャッシュコヒーレンスプロトコル |
JP2008525923A (ja) * | 2004-12-29 | 2008-07-17 | インテル・コーポレーション | マルチプロセッサ環境におけるトランザクションベースの共有データオペレーション |
US7984248B2 (en) | 2004-12-29 | 2011-07-19 | Intel Corporation | Transaction based shared data operations in a multiprocessor environment |
JP4764430B2 (ja) * | 2004-12-29 | 2011-09-07 | インテル・コーポレーション | マルチプロセッサ環境におけるトランザクションベースの共有データオペレーション |
US8176266B2 (en) | 2004-12-29 | 2012-05-08 | Intel Corporation | Transaction based shared data operations in a multiprocessor environment |
US8458412B2 (en) | 2004-12-29 | 2013-06-04 | Intel Corporation | Transaction based shared data operations in a multiprocessor environment |
JP2008046969A (ja) * | 2006-08-18 | 2008-02-28 | Fujitsu Ltd | 共有メモリのアクセス監視方法及び装置 |
CN109305705A (zh) * | 2017-07-28 | 2019-02-05 | 芜湖美的厨卫电器制造有限公司 | 净水机及其电控板的通讯提示系统和通讯提示方法 |
CN109305705B (zh) * | 2017-07-28 | 2022-06-03 | 芜湖美的厨卫电器制造有限公司 | 净水机及其电控板的通讯提示系统和通讯提示方法 |
JP2020135196A (ja) * | 2019-02-15 | 2020-08-31 | Necプラットフォームズ株式会社 | 情報処理装置、制御装置、制御方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3093609B2 (ja) | 2000-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7814281B2 (en) | Method to provide atomic update primitives in an asymmetric heterogeneous multiprocessor environment | |
JP2566701B2 (ja) | 共有キャッシュ内のデータ・ユニットに対する所有権の変更制御装置 | |
US6625698B2 (en) | Method and apparatus for controlling memory storage locks based on cache line ownership | |
US5652859A (en) | Method and apparatus for handling snoops in multiprocessor caches having internal buffer queues | |
US5539895A (en) | Hierarchical computer cache system | |
US7228385B2 (en) | Processor, data processing system and method for synchronizing access to data in shared memory | |
EP0514024B1 (en) | Method and apparatus for an improved memory architecture | |
JPH0799509B2 (ja) | メモリへのデータブロックのエントリを制御する方法 | |
US8255591B2 (en) | Method and system for managing cache injection in a multiprocessor system | |
JP2001522091A (ja) | メモリ最適化状態 | |
EP0372201B1 (en) | Method for fetching potentially dirty data in multiprocessor systems | |
JPH02141845A (ja) | マルチプロセッサシステムにおいて中央処理ユニットにより主メモリからデータブロックを読み取る方法 | |
KR20070040340A (ko) | 소형 캐시 시스템에서 원자적 보존 라인에 라이트백하는것을 배제하는 방법 및 시스템 | |
KR101858597B1 (ko) | 프로세싱 인 메모리 시스템의 연산할 작업, 연산할 데이터 및 연산 결과 데이터 전달 방법 및 프로세싱 인 메모리 시스템 | |
US6973541B1 (en) | System and method for initializing memory within a data processing system | |
US6477622B1 (en) | Simplified writeback handling | |
JPH0944402A (ja) | キャッシュメモリの記憶一致制御装置及び方法 | |
US6496907B1 (en) | System and method for updating from a read-only to a read-write entry and concurrently invalidating stale cache copies from head-to-tail and tail-to-head directions | |
JP2004102825A (ja) | キャッシュメモリ制御装置 | |
US7197604B2 (en) | Processor, data processing system and method for synchronzing access to data in shared memory | |
JPH07105091A (ja) | キャッシュの制御装置および制御方法 | |
JP4506292B2 (ja) | キャッシュ制御方法およびデータ処理システム並びにその処理プログラム | |
JP3381086B2 (ja) | 排他制御可能なマルチプロセッサシステム | |
EP0380861A2 (en) | Improved data consistency between cache memories and the main memory in a multi-processor computer system | |
JP3566746B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000711 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |