JPH0769865B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH0769865B2 JPH0769865B2 JP63252906A JP25290688A JPH0769865B2 JP H0769865 B2 JPH0769865 B2 JP H0769865B2 JP 63252906 A JP63252906 A JP 63252906A JP 25290688 A JP25290688 A JP 25290688A JP H0769865 B2 JPH0769865 B2 JP H0769865B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- shared
- block
- memory
- flag
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0808—Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
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)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は,情報処理装置に関し,特に,ローカルキャッ
シュメモリを有するマルチプロセッサシステムのキャッ
シュ一致制御に関する。
シュメモリを有するマルチプロセッサシステムのキャッ
シュ一致制御に関する。
従来,この種の情報処理装置は,ローカルキャッシュメ
モリ中のデータと複数のプロセッサによって共有される
共有メモリ(主記憶)との一致性を保障するために,自
プロセッサが更新した主記憶上の記憶を他のプロセッサ
に通知することで,他のプロセッサのローカルキャッシ
ュ内のエントリをフラッシュする方法や,複数のプロセ
ッサでアクセスされる可能性の有る共有メモリ上の領域
をアクセスする時は,ローカルキャッシュをバイパスし
て読み書きを行う方法,またはキャッシュの全エントリ
をクリアすることによって主記憶とキャッシュで不一致
が生じない様な制御を行なっていた。
モリ中のデータと複数のプロセッサによって共有される
共有メモリ(主記憶)との一致性を保障するために,自
プロセッサが更新した主記憶上の記憶を他のプロセッサ
に通知することで,他のプロセッサのローカルキャッシ
ュ内のエントリをフラッシュする方法や,複数のプロセ
ッサでアクセスされる可能性の有る共有メモリ上の領域
をアクセスする時は,ローカルキャッシュをバイパスし
て読み書きを行う方法,またはキャッシュの全エントリ
をクリアすることによって主記憶とキャッシュで不一致
が生じない様な制御を行なっていた。
しかしながら,上述した従来の情報処理装置は,他プロ
セッサのローカルキャッシュのアクセス状態を監視する
様な複雑なハードウェアが必要であったり,共有領域に
対する共有メモリアクセスのたびに,キャッシュをバイ
パスして読まなければならないため,アクセスタイムが
大きく性能低下をひきおこすという欠点があった。
セッサのローカルキャッシュのアクセス状態を監視する
様な複雑なハードウェアが必要であったり,共有領域に
対する共有メモリアクセスのたびに,キャッシュをバイ
パスして読まなければならないため,アクセスタイムが
大きく性能低下をひきおこすという欠点があった。
そこで本発明の技術的課題は上記欠点に鑑み,共有領域
に対するメモリアクセスの頻度は比較的少なく共有領域
に対するメモリアクセスは,つねに各プロセッサ間で調
停をとって行なわれるような,効率的にキャッシュの一
致性を保障し得る情報処理装置を提供するものである。
に対するメモリアクセスの頻度は比較的少なく共有領域
に対するメモリアクセスは,つねに各プロセッサ間で調
停をとって行なわれるような,効率的にキャッシュの一
致性を保障し得る情報処理装置を提供するものである。
本発明によれば,ローカルキャッシュメモリの複数のブ
ロックのうちの特定数のブロックが複数のプロセッサに
よって共通してアクセスされる主記憶上の共有領域であ
ることを示す共有ブロックフラグと,キャッシュブロッ
ク登録時に必要に応じて共有ブロックフラグをセットす
るフラグ設定手段と,キャッシュクリア時に共有ブロッ
クフラグがセットされた特定数のブロックを全てクリア
するブロック解消手段とを有する情報処理装置が得られ
る。
ロックのうちの特定数のブロックが複数のプロセッサに
よって共通してアクセスされる主記憶上の共有領域であ
ることを示す共有ブロックフラグと,キャッシュブロッ
ク登録時に必要に応じて共有ブロックフラグをセットす
るフラグ設定手段と,キャッシュクリア時に共有ブロッ
クフラグがセットされた特定数のブロックを全てクリア
するブロック解消手段とを有する情報処理装置が得られ
る。
更に,上記情報処理装置に主記憶からローカルキャッシ
ュにデータをロードする際に,該ブロックが複数のプロ
セッサによってアクセスされる共有領域内のブロックで
あることを検出する共有ブロック検出手段を設け,フラ
グ設定手段が共有ブロック検出手段の結果を参照して共
有ブロックフラグをセットする構成としても良い。
ュにデータをロードする際に,該ブロックが複数のプロ
セッサによってアクセスされる共有領域内のブロックで
あることを検出する共有ブロック検出手段を設け,フラ
グ設定手段が共有ブロック検出手段の結果を参照して共
有ブロックフラグをセットする構成としても良い。
次に本発明の実施例について図面を参照して説明する。
第1図は,本発明の一実施例の概略図である。
主記憶1は,信号線101,102によって,それぞれのプロ
セッサのローカルキャッシュユニット(A)2およびロ
ーカルキャッシュユニット(B)4に接続されている。
各ローカルキャッシュユニット(A)2および(B)4
は,信号線301および501によって,命令処理ユニット
(A)3および(B)5に接続されている。
セッサのローカルキャッシュユニット(A)2およびロ
ーカルキャッシュユニット(B)4に接続されている。
各ローカルキャッシュユニット(A)2および(B)4
は,信号線301および501によって,命令処理ユニット
(A)3および(B)5に接続されている。
キャッシュユニット2は,キャッシュメモリ2−1,ブロ
ックロード回路2−2,共有ブロックロード検出回路2−
3,共有ブロックフラグ2−4,キャッシュクリア回路2−
5等によって構成される。ブロックロード回路2−2は
信号線101によって主記憶1に接続され,さらに信号線2
01によってキャッシュメモリ2−1に接続される。共有
ブロックロード検出回路2−3は,信号線202によって
共有ブロックフラグ2−4に接続され,共有ブロックフ
ラグ2−4は,信号線203によってキャッシュクリア回
路2−5に接続される。キャッシュクリア回路2−5
は,信号線204によってキャッシュメモリ2−1に接続
される。
ックロード回路2−2,共有ブロックロード検出回路2−
3,共有ブロックフラグ2−4,キャッシュクリア回路2−
5等によって構成される。ブロックロード回路2−2は
信号線101によって主記憶1に接続され,さらに信号線2
01によってキャッシュメモリ2−1に接続される。共有
ブロックロード検出回路2−3は,信号線202によって
共有ブロックフラグ2−4に接続され,共有ブロックフ
ラグ2−4は,信号線203によってキャッシュクリア回
路2−5に接続される。キャッシュクリア回路2−5
は,信号線204によってキャッシュメモリ2−1に接続
される。
次に動作について説明する。
命令処理ユニット3は,キャッシュユニット2に対して
キャッシュ上または主記憶1上にあるデータの取り出し
を行なうためのリクエストを送出する。キャッシュユニ
ット2では,該要求されたデータがキャッシュメモリ2
−1にない場合,ブロックロード回路2−2によって主
記憶1上のデータブロックをキャッシュメモリ2−1上
へ読み込んでくる。該読込みデータブロックが複数のプ
ロセッサから共通してアクセスされる共有領域であるか
否かは,ページングを行なうメモリ管理方式であればペ
ージテーブルワード中等に,共有領域であることを示す
ビットをもたせるか,命令処理ユニット3よりのリクエ
スト自体に共有領域に対するアクセスであることを示す
フラグを持たせること(即ち,こうしたメモリ管理方式
のテーブルや命令処理ユニット3はキャッシュブロック
登録時に共有ブロックフラグ2−4をセットするフラグ
設定手段として機能する)により,共有ブロックロード
検出回路2−3によって検出され,信号線202を通じて
キャッシュメモリ2−1のブロックロード対象エントリ
に対応する共有ブロックフラグ2−4のビットをセット
する。
キャッシュ上または主記憶1上にあるデータの取り出し
を行なうためのリクエストを送出する。キャッシュユニ
ット2では,該要求されたデータがキャッシュメモリ2
−1にない場合,ブロックロード回路2−2によって主
記憶1上のデータブロックをキャッシュメモリ2−1上
へ読み込んでくる。該読込みデータブロックが複数のプ
ロセッサから共通してアクセスされる共有領域であるか
否かは,ページングを行なうメモリ管理方式であればペ
ージテーブルワード中等に,共有領域であることを示す
ビットをもたせるか,命令処理ユニット3よりのリクエ
スト自体に共有領域に対するアクセスであることを示す
フラグを持たせること(即ち,こうしたメモリ管理方式
のテーブルや命令処理ユニット3はキャッシュブロック
登録時に共有ブロックフラグ2−4をセットするフラグ
設定手段として機能する)により,共有ブロックロード
検出回路2−3によって検出され,信号線202を通じて
キャッシュメモリ2−1のブロックロード対象エントリ
に対応する共有ブロックフラグ2−4のビットをセット
する。
共有ブロックのキャッシュクリアは,命令処理ユニット
3より信号線301を介して共有ブロックのキャッシュク
リアのリクエストをキャッシュクリア回路2−5で受信
し,キャッシュクリア回路2−5では共有ブロックフラ
グ2−4の内容に従ってキャッシュメモリ2−1のエン
トリの無効化を行なう。即ち,ここでのキャッシュクリ
ア回路2−5はキャッシュクリア時に共有ブロックフラ
グ2−4がセットされた特定数のブロックを全てクリア
するブロック解消手段として機能する。尚,上述したフ
ラグ設定手段はキャッシュメモリ2−1にロードされる
データが共通領域であるか否かを検出する共有ブロック
ロード検出回路2−3による検出結果を参照して共有ブ
ロックフラグ2−4をセットする構成としても良い。
3より信号線301を介して共有ブロックのキャッシュク
リアのリクエストをキャッシュクリア回路2−5で受信
し,キャッシュクリア回路2−5では共有ブロックフラ
グ2−4の内容に従ってキャッシュメモリ2−1のエン
トリの無効化を行なう。即ち,ここでのキャッシュクリ
ア回路2−5はキャッシュクリア時に共有ブロックフラ
グ2−4がセットされた特定数のブロックを全てクリア
するブロック解消手段として機能する。尚,上述したフ
ラグ設定手段はキャッシュメモリ2−1にロードされる
データが共通領域であるか否かを検出する共有ブロック
ロード検出回路2−3による検出結果を参照して共有ブ
ロックフラグ2−4をセットする構成としても良い。
従って,この情報処理装置における基本動作はキャッシ
ュメモリ2−1が共有領域と非共有領域とに分割される
場合のプロセッサによる共有領域に関するメモリアクセ
スの効率面で有効となる。
ュメモリ2−1が共有領域と非共有領域とに分割される
場合のプロセッサによる共有領域に関するメモリアクセ
スの効率面で有効となる。
以上説明したように,本発明は,キャッシュメモリの複
数のブロックのうちの特定数のブロックが複数のプロセ
ッサによってアクセスされる領域であることを示す共有
ブロックフラグを持たせることにより,単純なハードウ
ェアの追加で,他のプロセッサによって書き換えられた
可能性のある,キャッシュのデータを無効化することが
出来る。また,一度キャッシュ内にデータを読み込んで
しまえば,キャッシュをバイパスしてロードするケース
の様に共有データブロックのロードのアクセスタイムが
大きくなることもない。また共有ブロックのみクリアを
することで他のプロセッサによってアクセスされる可能
性のない領域のキャッシュのエントリの無効化が行なわ
れないので共有領域以外のメモリアクセスの性能低下を
まねくことは回避出来る。このことは,非共有領域に比
して共有領域でアクセスするものが十分小さい時に特に
有効である。
数のブロックのうちの特定数のブロックが複数のプロセ
ッサによってアクセスされる領域であることを示す共有
ブロックフラグを持たせることにより,単純なハードウ
ェアの追加で,他のプロセッサによって書き換えられた
可能性のある,キャッシュのデータを無効化することが
出来る。また,一度キャッシュ内にデータを読み込んで
しまえば,キャッシュをバイパスしてロードするケース
の様に共有データブロックのロードのアクセスタイムが
大きくなることもない。また共有ブロックのみクリアを
することで他のプロセッサによってアクセスされる可能
性のない領域のキャッシュのエントリの無効化が行なわ
れないので共有領域以外のメモリアクセスの性能低下を
まねくことは回避出来る。このことは,非共有領域に比
して共有領域でアクセスするものが十分小さい時に特に
有効である。
第1図は,本発明の実施例を示す概略図である。 1……主記憶(共有メモリ),2……キャッシュユニット
(A),2−1……キャッシュメモリ,2−2……ブロック
ロード回路,2−3……共有ブロックロード検出回路,2−
4……共有ブロックフラグ,2−5……キャッシュクリア
回路,3……命令処理ユニット(A),4……キャッシュユ
ニット(B),5……命令処理ユニット(B)。
(A),2−1……キャッシュメモリ,2−2……ブロック
ロード回路,2−3……共有ブロックロード検出回路,2−
4……共有ブロックフラグ,2−5……キャッシュクリア
回路,3……命令処理ユニット(A),4……キャッシュユ
ニット(B),5……命令処理ユニット(B)。
Claims (1)
- 【請求項1】ローカルキャッシュメモリの複数のブロッ
クのうちの特定数のブロックが複数のプロセッサによっ
て共通してアクセスされる主記憶上の共有領域であるこ
とを示す共有ブロックフラグと,キャッシュブロック登
録時に必要に応じて前記共有ブロックフラグをセットす
るフラグ設定手段と,キャッシュクリア時に前記共有ブ
ロックフラグがセットされた前記特定数のブロックを全
てクリアするブロック解消手段とを有することを特徴と
する情報処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63252906A JPH0769865B2 (ja) | 1988-10-08 | 1988-10-08 | 情報処理装置 |
CA 2000180 CA2000180C (en) | 1988-10-08 | 1989-10-05 | Cache unit capable of efficiently insuring cache coherence |
DE1989624318 DE68924318T2 (de) | 1988-10-08 | 1989-10-06 | Zum wirksamen Versichern von Cache-Speicherübereinstimmung geeignete Cache-Speichereinheit. |
EP19890118583 EP0363840B1 (en) | 1988-10-08 | 1989-10-06 | Cache unit capable of efficiently insuring cache coherence |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63252906A JPH0769865B2 (ja) | 1988-10-08 | 1988-10-08 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02100741A JPH02100741A (ja) | 1990-04-12 |
JPH0769865B2 true JPH0769865B2 (ja) | 1995-07-31 |
Family
ID=17243812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63252906A Expired - Lifetime JPH0769865B2 (ja) | 1988-10-08 | 1988-10-08 | 情報処理装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0363840B1 (ja) |
JP (1) | JPH0769865B2 (ja) |
CA (1) | CA2000180C (ja) |
DE (1) | DE68924318T2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04347749A (ja) * | 1991-05-24 | 1992-12-02 | Nec Corp | 情報処理装置 |
US5724549A (en) * | 1992-04-06 | 1998-03-03 | Cyrix Corporation | Cache coherency without bus master arbitration signals |
JP2008200806A (ja) * | 2007-02-20 | 2008-09-04 | Denso Corp | 放電加工装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5073532A (ja) * | 1973-10-31 | 1975-06-17 | ||
US4410944A (en) * | 1981-03-24 | 1983-10-18 | Burroughs Corporation | Apparatus and method for maintaining cache memory integrity in a shared memory environment |
US4785398A (en) * | 1985-12-19 | 1988-11-15 | Honeywell Bull Inc. | Virtual cache system using page level number generating CAM to access other memories for processing requests relating to a page |
-
1988
- 1988-10-08 JP JP63252906A patent/JPH0769865B2/ja not_active Expired - Lifetime
-
1989
- 1989-10-05 CA CA 2000180 patent/CA2000180C/en not_active Expired - Fee Related
- 1989-10-06 EP EP19890118583 patent/EP0363840B1/en not_active Expired - Lifetime
- 1989-10-06 DE DE1989624318 patent/DE68924318T2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2000180A1 (en) | 1990-04-08 |
CA2000180C (en) | 1996-01-30 |
EP0363840A3 (en) | 1991-09-11 |
JPH02100741A (ja) | 1990-04-12 |
DE68924318D1 (de) | 1995-10-26 |
EP0363840B1 (en) | 1995-09-20 |
EP0363840A2 (en) | 1990-04-18 |
DE68924318T2 (de) | 1996-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4847804A (en) | Apparatus and method for data copy consistency in a multi-cache data processing unit | |
EP0347040A1 (en) | Data memory system | |
US5249283A (en) | Cache coherency method and apparatus for a multiple path interconnection network | |
US20030135669A1 (en) | DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces | |
US6381681B1 (en) | System and method for shared memory protection in a multiprocessor computer | |
JPH0319976B2 (ja) | ||
JPH0769865B2 (ja) | 情報処理装置 | |
EP0323123A2 (en) | A storage control system in a computer system | |
JPS63253448A (ja) | マルチ計算機装置 | |
US6826655B2 (en) | Apparatus for imprecisely tracking cache line inclusivity of a higher level cache | |
US5907853A (en) | Method and apparatus for maintaining duplicate cache tags with selectable width | |
JP3061818B2 (ja) | マイクロ・プロセッサ用アクセス・モニタ装置 | |
JPH06309229A (ja) | データ処理装置 | |
JPH0415496B2 (ja) | ||
JP2696899B2 (ja) | マルチプロセッサシステム | |
JPS6349257B2 (ja) | ||
JP3047992B2 (ja) | 主記憶キー制御方法 | |
JP3088293B2 (ja) | キャッシュメモリの記憶一致制御装置及び記憶一致制御方法 | |
JPH03127146A (ja) | 情報処理装置 | |
JPH113288A (ja) | キャッシュメモリ装置およびキャッシュメモリの障害制御方法 | |
JPH05233443A (ja) | マルチプロセッサシステム | |
JPH077357B2 (ja) | バッファ制御方式 | |
JPH04291642A (ja) | キャッシュ制御方式 | |
JPS58185083A (ja) | キヤツシユメモリ制御方式 | |
JPS63143659A (ja) | ロ−カルメモリ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070731 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080731 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090731 Year of fee payment: 14 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090731 Year of fee payment: 14 |