JPH0736170B2 - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム

Info

Publication number
JPH0736170B2
JPH0736170B2 JP3096194A JP9619491A JPH0736170B2 JP H0736170 B2 JPH0736170 B2 JP H0736170B2 JP 3096194 A JP3096194 A JP 3096194A JP 9619491 A JP9619491 A JP 9619491A JP H0736170 B2 JPH0736170 B2 JP H0736170B2
Authority
JP
Japan
Prior art keywords
page
processor
cache
processors
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP3096194A
Other languages
English (en)
Other versions
JPH04306750A (ja
Inventor
庄三 磯部
滋博 浅野
Original Assignee
工業技術院長
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 工業技術院長 filed Critical 工業技術院長
Priority to JP3096194A priority Critical patent/JPH0736170B2/ja
Publication of JPH04306750A publication Critical patent/JPH04306750A/ja
Publication of JPH0736170B2 publication Critical patent/JPH0736170B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/682Multiprocessor TLB consistency

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、固有のキャッシュおよ
びアドレス変換バッファを各別に有するとともに、ペー
ジテーブルを共有した複数のプロセッサを備えたマルチ
プロセッサシステムに関するものである。
【0002】
【従来の技術】最近の計算機は、ますます複雑な計算処
理などに用いられるようになっており、これら要求に対
応できるものとして、複数のマルチプロセッサを有する
マルチプロセッサシステムが実用化されている。
【0003】しかして、このようなマルチプロセッサシ
ステムでは、各プロセッサにそれぞれ固有のキャッシュ
とアドレス変換部を有している。この場合、アドレス変
換部は、ページ単位で論理アドレスを物理アドレスに変
換するもので、アドレス変換を効率よく行うために、ア
ドレス変換バッファ(以下、TLBと呼ぶ)とページ先
頭アドレスを引くテーブルとしてのページテーブルを有
している。
【0004】ところで、TLBを有する単一プロセッサ
システムでは、ページフォールトによって新たなページ
が必要になり、その結果としてページを追い出すとき、
そのページに対してアクセスがありTLBがエントリと
してそのページに対応するページテーブルエントリを保
持している場合にTLBを無効化する必要がある。一
方、キャッシュブロックの一貫性をコピーバック方式で
保つシステムでも、ページフォールトによりあるページ
を追い出すとき、そのページに対してアクセスがありキ
ャッシュがブロックとして追い出すページに含まれる場
合は、キャッシュを無効化する必要がある。この場合、
ページ内のエントリに対して書き込みがあったときは、
キャッシュの無効化に先立ちコピーバックを行う必要が
あり、書き込みがなかった場合にはコピーバックする必
要はなく無効化だけを行えばよい。
【0005】そこで、従来では、図5に示すようにペー
ジテーブルエントリにページ先頭アドレス1、その他の
制御情報2とともに、ページの有効/無効を表すビット
3、参照ビット4、書き込みビット5を設け、参照ビッ
ト4によりページがアクセスされたか否かの状態を表
し、書き込みビット5によりページのエントリーに書き
込みがあったか否かの状態を表すようになっている。
【0006】従って、ページを追い出す際には、ページ
テーブルエントリ中の参照ビットの状態を参照し、この
ビットが立っている「1」のときのみ、プロセッサに対
して割り込みをかけてページの入れ替えを通知するとと
もに、TLBを無効化することが行われ、一方、キャッ
シュの一貫性をコピーバック方式で保つシステムでは、
書き込みビットが立っている「1」ときにキャッシュの
内容がメモリにフラッシュされた後、そのページが追い
出される。これら参照ビットおよび書き込みビットを利
用することでページ入れ替えに際して、メモリ階層間の
一貫性が保たれる。
【0007】このような参照ビットおよび書き込みビッ
トを利用する考えは、マルチプロセッサシステムにおい
ても採用されており、図5に示したと同様にして、参照
ビット4、書き込みビット5が1ビットずつ設けられて
いる。この場合、ページテーブルは複数のプロセッサで
共有されていて、あるページに対応するページテーブル
エントリ中の参照ビットが立つのは、いずれかのプロセ
ッサがそのページを参照したときであり、書き込みビッ
トが立つのは、いずれかのプロセッサがそのページに書
き込みをしたときである。
【0008】ところが、ページテーブルを複数のプロセ
ッサで共用しているために、あるプロセッサがページ入
れ替えしてページテーブルを書き替えたとすると、他の
すべてのプロセッサにページを追い出したことを通知し
て、TLBまたはキャッシュを無効化するかどうかを、
これらプロセッサに判断してもらう必要がある。
【0009】このことは、ページ追い出しの場合には、
そのページにアクセスしていないプロセッサに対しても
割り込みをかけることになるため、そのプロセッサの割
り込みのためにに無駄な時間を費やさなければならず、
ページ入れ替えの際のオーバヘッドが大きくなる欠点が
あった。
【0010】
【発明が解決しようとする課題】このように従来のマル
チプロセッサシステムでは、ページテーブルを複数のプ
ロセッサで共用していることから、あるプロセッサがペ
ージ入れ替えしてページテーブルを書き替えると、他の
すべてのプロセッサにページについてTLBまたはキャ
ッシュを無効化するかどうかを判断してもらう必要が生
じ、このため各プロセッサの割り込みのためにに無駄な
時間を費やさなければならず、ページ入れ替えの際のオ
ーバヘッドが大きくなる問題点があった。
【0011】本発明は、上記事情に鑑みてなされたもの
で、ページ入れ替えの際の無駄な割り込み処理を省くこ
とができ、割り込み処理の際のオーバヘッドを低減でき
るマルチプロセッサシステムを提供することを目的とす
る。
【0012】
【課題を解決するための手段】
【0013】本発明は、固有のキャッシュ及びアドレス
変換バッファを各別に有するとともに、ページテーブル
を共有した複数のプロセッサを備え、且つ上記キャッシ
ュの一貫性をコピーバックにより保つようにしたマルチ
プロセッサシステムであって、上記ページテーブルのペ
ージテーブルエントリ中に、複数のプロセッサに対応さ
せてそのページを参照したか否かを示す参照ビットとそ
のページに書き込みをしたか否かを示す書き込みビット
をそれぞれ設け、ページ入れ替えの際、対応する参照ビ
ットの立っているプロセッサに割り込みをかけ、このプ
ロセッサに対応するキャッシュ及びアドレス変換バッフ
ァの無効化を指示するとともに、前記割り込みをかけら
れたプロセッサのうち対応する書き込みビットの立って
いるプロセッサに対応するキャッシュのコピーバックを
指示するように構成している。
【0014】
【作用】この結果、本発明によれば、ページの入れ替え
の際に、対応する参照ビットと書き込みビットが立って
いるプロセッサに対して割り込みをかけるとともに、こ
のプロセッサに対応するキャッシュの一貫性を保つため
のコピーバックおよび無効化を指示でき、対応する参照
ビットのみが立っているプロセッサに対応するキャッシ
ュの無効化を指示することができ、ページ入れ替えの際
のプロセッサに対する無駄な割り込み処理を省くことん
ができる。
【0015】
【実施例】以下、本発明の一実施例を図面に従い説明す
る。
【0016】図1は、本発明が適用されるマルチプロセ
ッサシステムを示すものである。図において、111 、
112 、113 は複数のプロセッサで、これらプロセッ
サ111 、112 、113 は、それぞれ固有のキャッシ
ュ121 、122 、123 および固有のTLB131 、
132 、133 を有している。
【0017】そして、各キャッシュ121 、122 、1
23 およびTLB131 、132 、133 は、ネットワ
ーク14により主記憶部15に結合している。
【0018】主記憶部15は、ページテーブル151を
有している。この場合、ページテーブル151には、図
2に示すページテーブルエントリ152を有している。
【0019】ページテーブルエントリ152は、ページ
先頭アドレス1521、その他の制御情報1522とと
もに、ページの有効/無効を表すビット1523、参照
ビット1524a、1524b、1524c、書き込み
ビット1525a、1525b、1525cを設けてい
る。この場合、参照ビット1524a、1524b、1
524cは、それぞれプロセッサ111 、112 、11
3 に対応して、そのページを参照したか否かを表し、書
き込みビット1525a、1525b、1525cは、
それぞれプロセッサ111 、112 、113 に対応し
て、そのページのエントリに書き込みがあったか否かを
表すようにしている。
【0020】次に、以上のように構成した実施例の動作
を説明する。
【0021】いま、一例として、あるページに対してプ
ロセッサ111 が参照し、プロセッサ112 が書き込み
をした後、プロセッサ113 がそのページを参照するこ
となくページの追い出しを行う場合を説明する。
【0022】この場合、ページを追い出す直前のページ
テーブルエントリ152でのビット状態は、図2に示す
ように参照ビット1524a、1524bは「1」、1
524cは「0」となり、また、書き込みビット152
5a、1525cは「0」、1525bは「1」となっ
ている。
【0023】この状態から、ページを追い出すときに行
うプロセッサへの割り込みを考える。この場合、図3の
フローチャートにおいて、プロセッサ111 〜113 を
表わすiを0に初期化し(ステップS1)、次いで、i
を+1してプロセッサ111を特定する(ステップS
2)。
【0024】次に、i>n(プロセッサの数=3)を判
断するが(ステップS3)、ここではNOなので、プロ
セッサ111 に対応する参照ビット1524aを参照す
る(ステップS4)。この場合、参照ビット1524a
は「1」なので、YESと判断され、プロセッサ111
へ割り込みをかける(ステップS5)。
【0025】次いで、プロセッサ111 に対応する書き
込みビット1525aを参照する(ステップS6)。こ
の場合、書き込みビット1525aは「0」なので、N
Oと判断される。これにより、プロセッサ111 の固有
のキャッシュ121 とTLB131 の無効化を行う(ス
テップS8)。
【0026】次に、iを+1してプロセッサ112 を特
定する(ステップS2)。そして、上述したと同様な動
作が繰り返されるが、ここでも、プロセッサ112 に対
応する参照ビット1524bは「1」なので、プロセッ
サ112 へ割り込みをかける(ステップS5)。一方、
プロセッサ112 に対応する書き込みビット1525a
は「1」なので、プロセッサ112 の固有のキャッシュ
122 の一貫性を保つためのコピーバックを行った後
(ステップS7)、キャッシュ122 とTLB132 の
無効化を行う(ステップS8)。
【0027】次に、iを+1してプロセッサ113 を特
定する(ステップS2)。そして、上述したと同様な動
作が繰り返されるが、ここでは、プロセッサ113 に対
応する参照ビット1524bは「0」なので、プロセッ
サ113 に対しては割り込みをかけない。そして、ステ
ップS2に戻りiを+1するが、これによりi>nがY
ESと判断されるので(ステップS3)、処理を終了す
る。
【0028】したがって、このようにすればページテー
ブルエントリ152中の参照ビット1524a、152
4b、1524cと書き込みビット1525a、152
5b、1525cの状態を確認することにより、参照ビ
ットの立っているプロセッサ111 、112 に対しての
み割り込みをかけるとともに、プロセッサ111 にTL
B131 とキャッシュ121 の無効化を行わせ、プロセ
ッサ112 にTLB132 の無効化とコピーバックを伴
うキャッシュ122 の無効化を行わせ、プロセッサ11
3 に対して割り込みをかけないようにできることにな
る。この結果、すべてのプロセッサ111 〜113 に対
して割り込みをかける必要がなくなるので、ページ入れ
替えの際の無駄な割り込み処理を省くことができ、ペー
ジ入れ替えの際のオーバヘッドを低減できることにな
る。
【0029】ちなみに、図5に示す従来のページテーブ
ルエントリでは、参照ビット4と書き込みビット5がと
もに「1」になるので、ページを追い出すときにすべて
のプロセッサに割り込みをかけ、各プロセッサはTLB
とキャッシュの無効化の必要の有無を判断しなくてはな
らない。従って、従来の方式を上述した実施例に適用し
てみると、プロセッサ113 は、そのページを参照して
いないためTLBおよびキャッシュの無効化を行う必要
がないにもかかわらず、プロセッサ113 に割り込みが
かかり、プロセッサ112 はその割り込み処理に無駄な
時間を費やすことになる。
【0030】なお、本発明は、上記実施例にのみ限定さ
れず、要旨を変更しない範囲で適宜変形して実施でき
る。例えば、上述した実施例では、ページテーブルエン
トリを主記憶部のページテーブルに設けた場合を述べた
が、各プロセッサ固有のTLBにページテーブルエント
リの写しを保持するようにしてもよい。この場合のペー
ジテーブルエントリは、参照ビットおよび書き込みビッ
トを自己のプロセッサに対応する1ビットだけ保持すれ
ばよい。図4は、上述したTLB131 に設けられるペ
ージテーブルエントリの例で、ページ先頭アドレス13
1、その他の制御情報132、ページの有効/無効を表
すビット133とともに、プロセッサ111 に対応する
参照ビット134、書き込みビット135を設けるよう
になる。また、図3に示すフローチャートは、動作を説
明するために用いられるもので、これの実現には、ハー
ドウェアシステムまたは図1に示す各プロセッサ111
、112 、113 上のプログラムで実現可能である。
【0031】
【発明の効果】本発明によれば、ページ入れ替えの際の
無駄な割り込み処理を省くことがかのとなり、割り込み
処理によるオーバヘッドを低減させることができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す概略的構成図。
【図2】図1の実施例に用いられるページテーブルエン
トリの一例を示す図。
【図3】図1の実施例の動作を説明するためのフローチ
ャート。
【図4】本発明の他の実施例に用いられるページテーブ
ルエントリの一例を示す図。
【図5】従来用いられているページテーブルエントリの
一例を示す図。
【符号の説明】
111 、112 、113 …プロセッサ、121 、122
、123 …キャッシュ、131 、132 、133…TL
B、14…ネットワーク、15…主記憶部、151…ペ
ージテーブル、152…ページテーブルエントリ。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 固有のキャッシュ及びアドレス変換バッ
    ファを各別に有するとともに、ページテーブルを共有し
    た複数のプロセッサを備え、且つ上記キャッシュの一貫
    性をコピーバックにより保つようにしたマルチプロセッ
    サシステムにおいて、上記ページテーブルのページテー
    ブルエントリ中に上記複数のプロセッサに対応させてそ
    のページを参照したか否かを示す参照ビットとそのペー
    ジに書き込みをしたか否かを示す書き込みビットをそれ
    ぞれ設け、ページ入れ替えの際、対応する参照ビットの
    立っているプロセッサに割り込みをかけ、このプロセッ
    サに対応するキャッシュ及びアドレス変換バッファの無
    効化を指示するとともに、前記割り込みをかけられたプ
    ロセッサのうち対応する書き込みビットの立っているプ
    ロセッサに対応するキャッシュのコピーバックを指示す
    ることを特徴とするマルチプロセッサシステム。
JP3096194A 1991-04-03 1991-04-03 マルチプロセッサシステム Expired - Lifetime JPH0736170B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3096194A JPH0736170B2 (ja) 1991-04-03 1991-04-03 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3096194A JPH0736170B2 (ja) 1991-04-03 1991-04-03 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JPH04306750A JPH04306750A (ja) 1992-10-29
JPH0736170B2 true JPH0736170B2 (ja) 1995-04-19

Family

ID=14158494

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3096194A Expired - Lifetime JPH0736170B2 (ja) 1991-04-03 1991-04-03 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JPH0736170B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2107056C (en) * 1993-01-08 1998-06-23 James Allan Kahle Method and system for increased system memory concurrency in a multiprocessor computer system
JP2005250830A (ja) * 2004-03-04 2005-09-15 Hitachi Ltd プロセッサおよび主記憶共有マルチプロセッサ
WO2012070291A1 (ja) * 2010-11-26 2012-05-31 インターナショナル・ビジネス・マシーンズ・コーポレーション キャッシュコヒーレンシ制御の方法、システムおよびプログラム
JP5968068B2 (ja) 2011-05-24 2016-08-10 キヤノン株式会社 露出制御を行う撮像装置、撮像装置の制御方法、プログラム及び記録媒体
JP2014086889A (ja) 2012-10-24 2014-05-12 Toshiba Corp 固体撮像装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4581702A (en) * 1983-01-10 1986-04-08 International Business Machines Corporation Critical system protection
JPS62172451A (ja) * 1986-01-24 1987-07-29 Mitsubishi Electric Corp デ−タ処理装置
JPH03235148A (ja) * 1990-02-13 1991-10-21 Hitachi Ltd 計算機システム

Also Published As

Publication number Publication date
JPH04306750A (ja) 1992-10-29

Similar Documents

Publication Publication Date Title
US8417913B2 (en) Superpage coalescing which supports read/write access to a new virtual superpage mapping during copying of physical pages
US5241664A (en) Multiprocessor system
US10552339B2 (en) Dynamically adapting mechanism for translation lookaside buffer shootdowns
US5829038A (en) Backward inquiry to lower level caches prior to the eviction of a modified line from a higher level cache in a microprocessor hierarchical cache structure
CN101446923B (zh) 一种响应于指令而清洗高速缓冲存储器线的装置和方法
US5119485A (en) Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
KR100491435B1 (ko) 다수의 시스템 버스를 가지는 컴퓨터 시스템 내의 메모리 일관성을 유지하기 위한 시스템 및 방법
US5671391A (en) Coherent copyback protocol for multi-level cache memory systems
JP5414912B2 (ja) キャッシュコヒーレンシ制御の方法、システムおよびプログラム
US5692149A (en) Block replacement method in cache only memory architecture multiprocessor
JPS6135584B2 (ja)
US20060059317A1 (en) Multiprocessing apparatus
KR19980079433A (ko) 비포함 캐쉬 메모리 계층 구조에서 사용하기 위한 캐쉬 일관성 메카니즘 구현 방법 및 시스템
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
JPH0340046A (ja) キャッシュメモリ制御方式および情報処理装置
US5606687A (en) Method and apparatus for optimizing supervisor mode store operations in a data cache
US5761724A (en) Write-invalidate cache system for a split transaction bus based shared memory multiprocessor
JP3295436B2 (ja) マイクロプロセッサキャッシュの一貫性
US5010475A (en) Consistency ensuring system for the contents of a cache memory
JPH0797352B2 (ja) コンピュータ・システム及び入出力コントローラ
JPH05324468A (ja) 階層化キャッシュメモリ
JPH0736170B2 (ja) マルチプロセッサシステム
US9442856B2 (en) Data processing apparatus and method for handling performance of a cache maintenance operation
US5619673A (en) Virtual access cache protection bits handling method and apparatus
JPH0721781B2 (ja) マルチプロセツサ・システム

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term