JPH09212465A - メモリ割り当て装置 - Google Patents

メモリ割り当て装置

Info

Publication number
JPH09212465A
JPH09212465A JP8015672A JP1567296A JPH09212465A JP H09212465 A JPH09212465 A JP H09212465A JP 8015672 A JP8015672 A JP 8015672A JP 1567296 A JP1567296 A JP 1567296A JP H09212465 A JPH09212465 A JP H09212465A
Authority
JP
Japan
Prior art keywords
memory
thread
processor
cache memory
coherent
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
JP8015672A
Other languages
English (en)
Inventor
Isao Ueki
勇雄 植木
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP8015672A priority Critical patent/JPH09212465A/ja
Publication of JPH09212465A publication Critical patent/JPH09212465A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】本発明は、ノンコヒーレントモードにおいてキ
ャッシュメモリの主記憶へのフラッシュをスレッドが待
機状態になったときのみ行うことによりバストラフィッ
ク量の低減をはかったメモリ割り当て装置を構築するこ
とを特徴とする。 【解決手段】メモリ管理テーブルを構成するエントリと
して、物理アドレスの他、少なくとも上記モード情報、
キャッシュ有効無効情報が記録され、外部から指定され
る仮想アドレスに基づき物理アドレスに変換するメモリ
管理装置23と、スレッドを実行する際、そのスレッド
の作業領域をノンコヒーレント領域に設定し、そのノン
コヒーレント領域に対応したキャッシュメモリを無効に
してスレッドの実行を行ない、実行中のスレッドを待機
状態にする際にのみノンコヒーレント領域に対応するキ
ャッシュメモリを主記憶に書き戻すメモリ制御装置とを
持つ。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサのそれ
ぞれがキャッシュメモリを内蔵し、主記憶を共有使用す
るマルチプロセッサシステムに用いて好適なメモリ割り
当て装置に関する。
【0002】
【従来の技術】複数のプロセッサを同時動作させるマル
チプロセッサシステムにおいて、プログラムを格納する
主記憶と演算処理を実行するキャッシュメモリ内蔵の複
数のプロセッサとはバスあるいはバススイッチ回路を介
して共通に接続される。
【0003】複数のプロセッサが主記憶を共有すること
でいずれのプロセッサからのリクエストにも応じられる
構成になっている。上述したプロセッサのそれぞれは、
メモリアクセスの高速化のために主記憶の一部写しが格
納されるキャッシュメモリを内蔵し、キャッシュミスが
発生した場合にはバスにアクセス要求を発し、バスを介
して共有メモリである主記憶をアクセスすることでその
キャッシュメモリをリファインする。
【0004】上述したマルチプロセッサシステムにおい
て、高い性能を得るためには、共有バスのトラフィック
を低減し、より多くのプロセッサを接続できることが望
ましい。しかしながら、上述したキャッシュミスが発生
した場合、共有バスを介して他の基板上のプロセッサの
キャッシュメモリにアクセスを行った旨伝達し、一貫性
を維持する必要がある。
【0005】
【発明が解決しようとする課題】上述した従来例に従え
ば、キャッシュミスの他、プロセッサ間でのキャッシュ
メモリの一貫性を保証するためのバストランザクション
により、バスに負担がかかっていた。
【0006】本発明は上記事情に鑑みてなされたもので
あり、キャッシュメモリの一貫性を保証するコヒーレン
トモードと一貫性を保証しないノンコヒーレントモード
を準備し、ノンコヒーレントモードにおいてキャッシュ
メモリの主記憶へのフラッシュをスレッドが待機状態に
なったときのみ行うことによりバストラフィック量の低
減をはかったメモリ割り当て装置を提供することを目的
とする。
【0007】
【課題を解決するための手段ならびに作用】本発明のメ
モリ割り当て装置は、キャッシュメモリの一貫性を保証
するコヒーレントモードと一貫性を保証しないノンコヒ
ーレントモードを備え、かつ、それぞれメモリをページ
単位で制御するマルチプロセッサシステムにおいて、プ
ログラムの処理単位であるスレッドを実行する際、その
スレッドの作業領域をノンコヒーレント領域に設定し、
そのノンコヒーレント領域に対応したキャッシュメモリ
を無効にしてスレッドの実行を行う手段と、実行中のス
レッドを待機状態にする際、ノンコヒーレント領域に対
応するキャッシュメモリを主記憶に書き戻す手段を具備
することを特徴とする。また、スレッドに対し、以前に
動作したプロセッサを記憶しておくことで、次に動作す
るプロセッサが以前に動作したプロセッサと同一の場合
には、メモリ割り当て時の無効化を不要とする。更に、
ノンコヒーレントモードに設定したページに対し、メモ
リ割り当て時に、以前に動作したプロセッサとこれから
動作するプロセッサが異なる場合、ノンコヒーレントモ
ードに対応するページのキャッシュメモリを無効とし、
例外処理でスレッドが以前に動作していたプロセッサに
通知して、キャッシュメモリの内容を主記憶に書き戻
し、自身のキャッシュメモリを無効化してそのスレッド
を実行することも特徴とする。また、動作するプロセッ
サを固定して、スレッドの移動を禁止することも特徴と
する。このこにより、バスのトラフィック量が低減し、
システム性能が向上する。
【0008】
【発明の実施の形態】以下図面を参照して本発明の実施
形態を説明する。図1は本発明が適用されるマルチプロ
セッサシテスムの構成例を示すブロック図である。
【0009】図において、符号11,12はプロセッサ
(CPU)であり、それぞれにキャッシュメモリ13,
14が実装される。符号15はプロセッサ11,12に
共有使用される主記憶装置(メインメモリ)である。上
述した各ブロック11〜15はアドレス、データ、コン
トロールのためのラインが複数本で構成されるバス16
に共通接続される。
【0010】図2は本発明の実施形態の動作概念を示す
ブロック図であり、メモリ管理ユニット内蔵のメモリテ
ーブルのエントリ構成も合わせて示す。図において、符
号21は仮想アドレス空間、符号22は物理アドレス、
符号23はメモリ管理ユニットを示す。メモリ管理ユニ
ットは図1に示すプロセッサ11,12のそれぞれに内
蔵される。メモリ管理ユニット23内蔵のアドレス変換
テーブルを構成する各エントリは、物理ページ番号とス
テイタス情報が割り付けられ、記憶される。本発明の実
施形態ではステイタス情報として、コヒーレント/ノン
コヒーレントのモードが設定されるコヒーレント情報、
キャッシュの有効/無効を示すバリッド/インバリッド
情報、そして、キャッシュの可不可情報が登録される。
【0011】図3,図4,図5は本発明の実施形態の動
作を示すフローチャートであり、それぞれ、ノンコヒー
レントモードの場合のキャッシュメモリの主記憶へのフ
ラッシュ処理のためのアルゴリズム、前に動作していた
プロセッサと次ぎに動作するプロセッサが同一の場合の
フラッシュ処理のアルゴリズム、前に動作していたプロ
セッサと次ぎに動作するプロセッサが異なり、例外処理
にてフラッシュ処理を行う場合のアルゴリズムを示す。
【0012】以下、本発明の実施形態の動作につき、フ
ローチャートを参照しながら詳細に説明する。本発明の
実施形態は、キャッシュメモリの書き替えを行なう場
合、プロセッサ間で、データの一貫性を保証するコヒー
レントモード、プロセッサ間で、データの一貫性を保証
しないノンコヒーレントモードの2つのモードが用意さ
れる。
【0013】これはページ単位で設定される。コヒーレ
ントモードの場合、プロセッサ11がキャッシュメモリ
13の内容を書き替える、プロセッサ12がキャッシュ
メモリ14をアクセスしたときに、書き替えたデータ部
分を読みに行く。ノンコヒーレントモードの場合、プロ
セッサ11がキャッシュメモリ12の内容を書き替えて
もそのままである。
【0014】まず、プログラム中から仮想アドレス21
にアクセス指令が出され、仮想メモリ機構がメモリ管理
ユニット23を用いて仮想アドレスから物理アドレスへ
のアドレス変換を行ない、物理アドレス22によって主
記憶にアクセスする。
【0015】メモリ管理ユニット23は、物理ページ番
号とステータス情報に分かれている。更に、ステータス
情報はコヒーレント情報とバリッド/インバリッド情報
とキャッシュ情報が割り当て記憶されており、それぞ
れ、コヒーレント/ノンコヒーレントモードの情報、バ
リッド/インバリッドの情報、キャッシュの可/不可の
情報が示される。
【0016】図3に、ノンコヒーレントモードにおける
キャッシュメモリの主記憶へのフラッシュ処理のアリゴ
リズムが示されている。プログラムの処理単位であるス
レッドを実行する時、まず、そのスレッドのローカルエ
リアおよびテキストエリアをノンコヒーレント領域に設
定する。そして、その領域に対応するキャッシュメモリ
13(14)をインバリッドとする。
【0017】その後、そのスレッドが待機状態になった
時に、ノンコヒーレント領域に対応するキャッシュメモ
リの内容を主記憶15にフラッシュする。この結果、ノ
ンコヒーレントモードの場合には、キャッシュメモリ1
3(14)の主記憶15へのフラッシュは、スレッドが
待機状態になった時のみに行なえば、キャッシュメモリ
の一貫性が保たれる。
【0018】本発明では、図1に示すマルチプロセッサ
システムにて使用するオペレーティングシステムに、以
下の機能を付加している。その一つは、スレッドに以前
に動作したプロセッサ11(12)を記録するプロセッ
サ記録機能であり、他の一つは、次に動作するプロセッ
サと直前に動作していたプロセッサを比較するプロセッ
サ比較機能である。
【0019】図4に、前に動作していたプロセッサと次
に動作するプロセッサが同一であった場合の処理のアリ
ゴリズムが示されている。上述したプロセッサ記録機能
を使い、スレッドに動作したプロセッサを記録してい
く。そして、ディスパッチ(計算機資源割り当て)時
に、上述したプロセッサ比較機能を使い、次に、動作す
るプロセッサと直前に動作していたプロセッサとを比較
する。
【0020】ここで、プロセッサが同一と判断された場
合には、ディスパッチ時にキャッシュメモリ13(1
4)のインバリッドを不要にする。この結果、次に動作
するプロセッサ11(12)が同一の場合には、キャュ
メモリ13(14)の主記憶15へのフラッシュの必要
がなくなる。
【0021】本発明の実施形態では、メモリ管理ユニッ
ト23がインバリッドに設定されている場合、以下に示
す例外処理を行なう。図5に、前に動作していたプロセ
ッサと次に動作するプロセッサが異なる場合の処理、お
よび例外処理のアルゴリズムを示す。
【0022】上述したプロセッサ記録機能を使い、スレ
ッドに動作したプロセッサ11(12)を記録してい
く。そして、ディスパッチ時に、プロセッサ比較機構を
用い、次に動作するプロセッサと直前に動作していたプ
ロセッサとを比較する。
【0023】もしプロセッサが異なる場合には、ノンコ
ヒーレント領域に対応するメモリ管理ユニット23をイ
ンバリッドに設定する。この場合、例外処理により、フ
ラッシュ機能を例外として発生させ、直前に動作してい
たプロセッサに通知してキャッシュメモリ13(14)
にフラッシュする。
【0024】この時に、現在、動作しているプロセッサ
におけるノンコヒーレントページに対応するキャッシュ
メモリ13(14)をインバリッドとする。その後、そ
のスレッドが待機状態になった時に、ノンコヒーレント
領域に対応するキャッシュメモリ13(14)の内容を
主記憶15にフラッシュする。
【0025】この結果、次に動作するプロセッサが異な
る場合には、例外処理でキャッシュメモリ13(14)
の主記憶15へのフラッシュを行なう。尚、本発明の実
施形態では、プロセッサ11、12を、あらかじめスレ
ッドが移動しないように固定する。この結果、スレッド
が移動する時にキャッシュメモリ13(14)をフラッ
シュする必要はなくなる。
【0026】
【発明の効果】以上説明したように、本発明によれば、
キャッシュメモリの一貫性を保証するコヒーレントモー
ドと一貫性を保証しないノンコヒーレントモードを準備
し、スレッドを実行する際、そのスレッドの作業領域を
ノンコヒーレント領域に設定し、そのノンコヒーレント
領域に対応したキャッシュメモリを無効にしてスレッド
の実行を行ない、実行中のスレッドを待機状態にする際
にのみノンコヒーレント領域に対応するキャッシュメモ
リを主記憶に書き戻すことにより、バスの負担を軽減す
ることが可能である。このことにより、システム性能の
向上がはかれる。
【図面の簡単な説明】
【図1】本発明が使用されるマルチプロセッサシステム
の構成例を示すブロック図。
【図2】本発明の実施形態の構成を示すブロック図。
【図3】上記実施形態の処理手順を示すフローチャー
ト。
【図4】上記実施形態の処理手順を示すフローチャー
ト。
【図5】上記実施形態の処理手順を示すフローチャー
ト。
【符号の説明】
11,12…プロセッサ、13,14…キャッシュメモ
リ、15…主記憶装置、16…バス、21…仮想アドレ
ス空間、22…物理アドレス、23…アドレス管理ユニ
ット。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュメモリの一貫性を保証するコ
    ヒーレントモードと一貫性を保証しないノンコヒーレン
    トモードを備え、かつ、それぞれメモリをページ単位で
    制御するマルチプロセッサシステムにおいて、プログラ
    ムの処理単位であるスレッドを実行する際、そのスレッ
    ドの作業領域をノンコヒーレント領域に設定し、そのノ
    ンコヒーレント領域に対応したキャッシュメモリを無効
    にしてスレッドの実行を行う手段と、実行中のスレッド
    を待機状態にする際、ノンコヒーレント領域に対応する
    キャッシュメモリを主記憶に書き戻す手段を具備するこ
    とを特徴とするメモリ割り当て装置。
  2. 【請求項2】 スレッドに対し、以前に動作したプロセ
    ッサを記憶しておくことで、次に動作するプロセッサが
    以前に動作したプロセッサと同一の場合には、メモリ割
    り当て時の無効化を不要とすることを特徴とする請求項
    1記載のメモリ割り当て装置。
  3. 【請求項3】 ノンコヒーレントモードに設定したペー
    ジに対し、メモリ割り当て時に、以前に動作したプロセ
    ッサとこれから動作するプロセッサが異なる場合、ノン
    コヒーレントモードに対応するページのキャッシュメモ
    リを無効とし、例外処理でスレッドが以前に動作してい
    たプロセッサに通知して、キャッシュメモリの内容を主
    記憶に書き戻し、自身のキャッシュメモリを無効化して
    そのスレッドを実行することを特徴とする請求項1記載
    のメモリ割り当て装置。
  4. 【請求項4】 動作するプロセッサを固定して、スレッ
    ドの移動を禁止することを特徴とする請求項1記載のメ
    モリ割り当て装置。
  5. 【請求項5】 キャッシュメモリの一貫性を保証するコ
    ヒーレントモードと一貫性を保証しないノンコヒーレン
    トモードを備え、かつ、それぞれメモリをページ単位で
    制御するマルチプロセッサシステムにおいて、コヒーレ
    ントモードが設定された際、あるプロセッサが内蔵する
    キャッシュメモリの内容を書き替えると、他のプロセッ
    サが内蔵するキャッシュメモリをアクセスしたときに上
    記書き替えた部分をリードする第1のメモリ制御装置
    と、複数のエントリで構成され、各エントリに物理アド
    レスの他、少なくとも上記モード情報、キャッシュ有効
    無効情報が記録され、外部から指定される仮想アドレス
    に基づき物理アドレスに変換するメモリ管理装置と、プ
    ログラムの処理単位であるスレッドを実行する際、その
    スレッドの作業領域をノンコヒーレント領域に設定し、
    そのノンコヒーレント領域に対応したキャッシュメモリ
    を無効化にしてスレッドの実行を行ない、実行中のスレ
    ッドを待機状態にする際、ノンコヒーレント領域に対応
    するキャッシュメモリを主記憶に書き戻す第2のメモリ
    制御装置とを具備することを特徴とするメモリ割り当て
    装置。
JP8015672A 1996-01-31 1996-01-31 メモリ割り当て装置 Pending JPH09212465A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8015672A JPH09212465A (ja) 1996-01-31 1996-01-31 メモリ割り当て装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8015672A JPH09212465A (ja) 1996-01-31 1996-01-31 メモリ割り当て装置

Publications (1)

Publication Number Publication Date
JPH09212465A true JPH09212465A (ja) 1997-08-15

Family

ID=11895244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8015672A Pending JPH09212465A (ja) 1996-01-31 1996-01-31 メモリ割り当て装置

Country Status (1)

Country Link
JP (1) JPH09212465A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204292A (ja) * 2007-02-21 2008-09-04 Toshiba Corp メモリ管理システム
KR101529003B1 (ko) * 2013-03-27 2015-06-15 후지쯔 가부시끼가이샤 처리 장치
JP2019175006A (ja) * 2018-03-27 2019-10-10 日本電気株式会社 計算機、半導体装置、制御方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008204292A (ja) * 2007-02-21 2008-09-04 Toshiba Corp メモリ管理システム
KR101529003B1 (ko) * 2013-03-27 2015-06-15 후지쯔 가부시끼가이샤 처리 장치
JP2019175006A (ja) * 2018-03-27 2019-10-10 日本電気株式会社 計算機、半導体装置、制御方法及びプログラム

Similar Documents

Publication Publication Date Title
JP2819982B2 (ja) 範囲指定可能なキャッシュ一致保証機能を有するマルチプロセッサシステム
US5802582A (en) Explicit coherence using split-phase controls
EP0766179A2 (en) Information handling system including non-disruptive command and data movement between storage and one or more auxiliary processors
JPH0272452A (ja) 無効要求を選別する方法及び装置
JP3295436B2 (ja) マイクロプロセッサキャッシュの一貫性
US5010475A (en) Consistency ensuring system for the contents of a cache memory
JP3814521B2 (ja) データ処理方法および装置
JPH09212465A (ja) メモリ割り当て装置
EP0396940B1 (en) Cache memory and related consistency protocol
JPH0736170B2 (ja) マルチプロセッサシステム
JPH03230238A (ja) キャッシュメモリ制御方式
JPH09190375A (ja) 共有メモリ管理方法
JPH0711790B2 (ja) データ処理装置
JPH057740B2 (ja)
KR20000028207A (ko) 교환시스템에서 메인 프로세스보드의 캐쉬사용방법
KR101192423B1 (ko) 멀티코어 시스템 및 멀티코어 시스템의 메모리 관리 장치
JPH0793220A (ja) 仮想記憶管理方式
JPH0336648A (ja) 電子計算機及びtlb装置とマイクロプロセッサチップ
JPH04291642A (ja) キャッシュ制御方式
JPH04151751A (ja) マルチプロセッサ
JPH02226447A (ja) コンピユータ・システムおよびその記憶装置アクセス方法
JPH03210645A (ja) キヤツシユ制御方式
JPH03127146A (ja) 情報処理装置
JPH0469748A (ja) 論理キャッシュメモリ
JPS6158061A (ja) バツフアメモリの制御方式