JP2001222466A - マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体 - Google Patents

マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体

Info

Publication number
JP2001222466A
JP2001222466A JP2000033227A JP2000033227A JP2001222466A JP 2001222466 A JP2001222466 A JP 2001222466A JP 2000033227 A JP2000033227 A JP 2000033227A JP 2000033227 A JP2000033227 A JP 2000033227A JP 2001222466 A JP2001222466 A JP 2001222466A
Authority
JP
Japan
Prior art keywords
processor
shared memory
identifier
block
storage area
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
JP2000033227A
Other languages
English (en)
Inventor
Shigeru Suganuma
滋 菅沼
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2000033227A priority Critical patent/JP2001222466A/ja
Priority to US09/777,771 priority patent/US20010014932A1/en
Publication of JP2001222466A publication Critical patent/JP2001222466A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】マルチプロセッサの各プロセッサの処理を効率
化するとともに、共有メモリの利用を効率化するシステ
ムの提供。 【解決手段】共有メモリを小ブロックに分け、各小ブロ
ックに当該小ブロックを最後に更新したプロセッサの識
別子を示す識別子記憶領域を設け、各プロセッサは、識
別子記憶領域の値と自プロセッサの識別子が一致した場
合は、共有メモリの参照は行わず、占有メモリ上のコピ
ーを参照する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は複数のプロセッサを
有するマルチプロセッサ・システムに関し、特に、複数
のプロセッサからアクセスが可能な共有メモリと、個々
のプロセッサに付随する占有メモリとを有するマルチプ
ロセッサ・システム、共有メモリの制御システム及び方
法並びに記録媒体に関する。
【0002】
【従来の技術】複数のプロセッサと共有メモリを備えた
従来の分散共有型マルチプロセッサ・システムにおい
て、共有メモリ上のデータの更新処理は、システム全体
の性能を決定する上で重要な問題である。個々のプロセ
ッサの共有メモリに対する参照、更新などのアクセスで
は、共有メモリをいくつかの小ブロックに分割し、個々
の小ブロックに対し、セマフォア管理あるいはテストア
ンドセット(Test and Set)などの排他制御を用い
て、一時的な、占有使用権を確保する必要がある。
【0003】小ブロックに対する占有使用権を得たプロ
セッサは、自身の処理が完了次第、それまで占有してい
た小ブロックの占有を解除しなければならない。
【0004】そして、共有メモリを参照する場合、各プ
ロセッサは、他プロセッサによる当該共有メモリの更新
を考慮しなければならない。
【0005】第1の方法は、共有メモリに対する全ての
アクセスを、更新されたことを前提として行うものであ
る。
【0006】即ち、分散共有型マルチプロセッサ・シス
テムにおいて、各プロセッサが共有メモリをアクセスす
る際、排他制御を用いて占有権を確保した後、共有メモ
リを直接、参照、更新する方法である。この方法では、
必要な情報を、常に、共有メモリから読み込まねばなら
ず、共有メモリに対するアクセス頻度が増える。
【0007】また、各プロセッサは、共有メモリのコピ
ーを持つことができないため、高速な占有メモリや、プ
ロセッサの内部キャッシュを利用することができない。
【0008】第2の方法は、各プロセッサが共有メモリ
のコピーを持ち、コピーを更新する際に、排他制御を用
いて、占有権を確保した後、更新処理を行い、更新完了
後、他プロセッサに対して、更新の通知を行うというも
のである。
【0009】
【発明が解決しようとする課題】しかしながら、前記し
た第1、第2の方法は、それぞれ、以下のような問題点
を有している。
【0010】第1の方法は、必要な情報を、常に、共有
メモリから読み込まねばならず、共有メモリに対するア
クセス頻度が増える。
【0011】また、各プロセッサは、共有メモリのコピ
ーを持つことができないため、高速な占有メモリやプロ
セッサの内部キャッシュを利用することができない。
【0012】一方、第2の方法は、共有メモリの更新を
通知するために、特別なハードウェア機能や、ソフトウ
エア処理を用意しなけらればならない。
【0013】また、共有メモリ内部の同一の小ブロック
に対する更新でも、各更新処理毎に、更新の通知を行わ
なくてはならない。
【0014】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、マルチプロセッ
サの各プロセッサの処理を効率化するとともに、共有メ
モリの利用を効率化するシステム及び方法並びに記録媒
体を提供することにある。
【0015】
【課題を解決するための手段】前記目的を達成する本発
明は、複数のプロセッサと、前記複数のプロセッサによ
り共有される共有メモリと、前記共有メモリに対する各
プロセッサの処理を調停する排他制御手段と、を備え、
前記共有メモリは、前記共有メモリ内部の小ブロック毎
に、該小ブロックを最後に更新したプロセッサを示す識
別子を記憶する識別子記憶領域を有し、前記共有メモリ
内の小ブロックに対する処理を行うプロセッサが、前記
識別子記憶領域の内容と、前記自プロセッサの識別子と
を比較し、前記自プロセッサの識別子と一致した場合に
は、前記共有メモリを参照せずに、前記自プロセッサの
占有メモリを参照する、ことを特徴とする。
【0016】
【発明の実施の形態】本発明の実施の形態について説明
する。本発明に係るシステムは、複数のプロセッサで共
通にアクセスされる共有メモリの参照および更新を、小
ブロック単位に行うことを前提として、各小ブロック毎
に、最後に更新を行ったプロセッサを示す識別子を保存
する識別子記憶領域を設ける。
【0017】プロセッサは、当該小ブロックへのアクセ
スを行う場合、該ブロックの識別子記録領域を参照する
ことで、最後に更新を行ったのが自プロセッサか否かを
判断する。最後に更新を行ったのが自プロセッサであれ
ば、共有メモリの内容を参照する代わりに、自プロセッ
サ付随の占有メモリ、もしくは自プロセッサ内のキャッ
シュメモリを参照する。
【0018】本発明は、その好ましい一実施の形態にお
いて、共通バスに接続され、それぞれ固有の識別子を有
する複数のプロセッサ(3、4)と、前記共通バスに接
続され前記複数のプロセッサにより共有される共有メモ
リ(1、2)と、共有メモリに対する各プロセッサの処
理を調停し排他制御を行う排他制御部(11、21)
と、を備えたマルチプロセッサシステムにおいて、共有
メモリ(1;2)は、前記共有メモリの記憶領域が複数
のブロック(121、122、…;221、222、
…)に分割されており、各ブロック毎に、データブロッ
ク(1221、1222、…;2221、2222、
…)と、データブロックを最後に更新したプロセッサを
示す識別子を記憶する識別子記憶領域(1211、12
12、…;2211、2212、…)とを備えている。
【0019】プロセッサ(3;4)は、前記排他制御部
を介して占有が許可された前記共有メモリのブロックの
写しを記憶保持する占有メモリ(32;42)を備え、
前記共有メモリのブロックに対する処理を行うプロセッ
サは、前記ブロックの前記識別子記憶領域の内容と、前
記自プロセッサの識別子とを比較し、前記識別子記憶領
域の内容が前記自プロセッサの識別子と一致した場合に
は、前記共有メモリを参照せずに、前記自プロセッサの
前記占有メモリに格納されているデータを参照する。
【0020】本発明は、その好ましい一実施の形態にお
いて、前記共有メモリのブロックに対する処理を行うプ
ロセッサは、前記ブロックの前記識別子記憶領域の内容
と、前記自プロセッサの識別子とを比較し、前記識別子
記憶領域の内容が、前記自プロセッサの識別子と一致し
ない場合には、前記共有メモリから前記ブロックデータ
を前記自プロセッサの占有メモリに読み出し、前記識別
子記憶領域の内容はそのままとする。
【0021】本発明は、その好ましい一実施の形態にお
いて、前記共有メモリから前記ブロックデータを前記自
プロセッサの占有メモリに読み出したプロセッサにおい
て、前記占有メモリに保持される前記ブロックデータを
更新した場合、更新された前記占有メモリ上の前記ブロ
ックデータの写しを前記共有メモリの該当するブロック
に書き込むとともに、前記ブロックの前記識別子記憶領
域の内容を前記自プロセッサの識別子に更新する。
【0022】本発明は、その好ましい一実施の形態にお
いて、前記共有メモリの排他制御部でブロックの占有権
を確保したプロセッサが、前記ブロックの識別子記憶領
域を参照し、前記識別子記憶領域の値が自プロセッサの
識別子と一致しない場合、前記プロセッサは、前記共有
メモリのデータブロックを参照するとともに、自プロセ
ッサの占有メモリに前記データブロックの写しがある場
合にはこれを破棄する。
【0023】本発明は、その好ましい一実施の形態にお
いて、前記共有メモリ内部の小ブロックの識別子記憶領
域の内容と、占有権を持つプロセッサの識別子と、を比
較し、占有権を持つプロセッサの識別子と一致した場合
には、前記共有メモリに対する参照処理に対して、占有
権を持つプロセッサに対して、該プロセッサの占有メモ
リを参照するように通知する識別子制御部(図6の1
3、23)を備えた構成としてもよい。
【0024】本発明は、その好ましい一実施の形態にお
いて、前記共有メモリのブロックに対する処理を行うプ
ロセッサにおいて、前記ブロックの前記識別子記憶領域
の内容と、前記自プロセッサの識別子とを比較し、前記
識別子記憶領域の内容が前記自プロセッサの識別子と一
致した場合には、前記共有メモリを参照せずに、前記自
プロセッサの前記占有メモリに格納されているデータを
参照する処理は、プロセッサでプログラムを実行するこ
とで実現される。
【0025】本発明は、その好ましい一実施の形態にお
いて、共有メモリのブロックに対する処理を行うプロセ
ッサにおいて、前記ブロックの前記識別子記憶領域の内
容と、前記自プロセッサの識別子とを比較し、前記識別
子記憶領域の内容が、前記自プロセッサの識別子と一致
しない場合には、前記共有メモリから前記ブロックのデ
ータを前記自プロセッサの占有メモリに読み出し、前記
識別子記憶領域の内容はそのままとし、前記共有メモリ
から前記ブロックのデータを前記自プロセッサの占有メ
モリに読み出したプロセッサにおいて、前記占有メモリ
に保持される前記データを更新した場合、更新された前
記占有メモリ上の前記データの写しを前記共有メモリの
該当するブロックに書き込むとともに、前記ブロックの
前記識別子記憶領域の内容を前記自プロセッサの識別子
に更新する、処理も、前記プロセッサでプログラムを実
行することで、実現される。さらに、前記共有メモリの
排他制御部でブロックの占有権を確保したプロセッサ
が、前記ブロックの識別子記憶領域を参照し、前記識別
子記憶領域の値が自プロセッサの識別子と一致しない場
合、前記プロセッサは、前記共有メモリのデータブロッ
クを参照するとともに、自プロセッサの占有メモリに前
記データブロックの写しがある場合にはこれを破棄する
処理も前記プロセッサでプログラムを実行することで実
現される。本発明の一実施の形態において、該プログラ
ムを記録した記録媒体(磁気ディスク、磁気テープ、半
導体メモリ、CD−ROM,DVD(Digital Versati
le Disk)等の光ディスク)から読み出し装置を介して
読み出すか、もしくはサーバ等から通信媒体を介してダ
ウンロードすることで該プロセッサのハードディスク等
にインストールし、プロセッサのメモリに該プログラム
を読み出し、実行することで、上記した本発明における
プロセッサの各処理が実現される。
【0026】
【実施例】上記した本発明の実施の形態についてさらに
詳細に説明すべく、本発明の実施例について図面を参照
して以下に説明する。
【0027】図1は、本発明の一実施例のシステム構成
を示す図である。図1を参照すると、2つのプロセッサ
と2つの共有メモリを持つ、本発明の一実施例の分散共
有メモリ型マルチプロセッサ・システムが示されてい
る。本発明は、図1に示した構成に限定されるものでな
く、任意数のプロセッサと任意数の共有メモリを持つ分
散共有メモリ型マルチプロセッサ・システムに適用可能
である。
【0028】共有メモリ1および共有メモリ2は、共有
バス5を介して、プロセッサ3およびプロセッサ4に接
続されている。共有メモリ1、2には、それぞれ、排他
制御部11および排他制御部21が実装されており、プ
ロセッサ3およびプロセッサ4によるアクセスの競合処
理を行う。
【0029】共有メモリ1は、その内部が、小ブロック
121、小ブロック122…と区分されており、共有メ
モリ2は、その内部が、小ブロック221、小ブロック
222…と区分されている。
【0030】各小ブロック121、122、…、22
1、222、…には、最後に当該小ブロックを更新した
プロセッサの識別子を記憶する識別子記憶領域121
1、1212…、2211、2212、…と、実データ
を記憶するデータブロック1221、1222、…、2
221、2222、…とが設けられている。
【0031】各プロセッサ3、4は、共有メモリへのア
クセスに際して、小ブロックの識別子記憶領域を参照
し、自プロセッサの識別子と比較を行う。識別子記憶領
域に書き込まれている識別子と、自プロセッサの識別子
とが一致している場合には、共通メモリ1、2上のデー
タブロックの参照は行わず、占有メモリ32、42上の
データを参照する。
【0032】図2は、図1に示した本発明の一実施例の
動作を説明するための図である。図2において、小ブロ
ック121の識別子記憶領域1211には、プロセッサ
3を示す識別子(3)が記憶されている。なお、以下で
は簡単のため、プロセッサの識別子として数字を用いて
説明するが、本発明において、プロセッサの識別子(I
D)は数字に限定されるものでないことは勿論である。
【0033】プロセッサ3が小ブロック121を参照す
る場合、排他制御部11により小ブロック121の占有
権を確保した後、識別子記憶領域1211を参照する。
【0034】ここで、識別子記憶領域1211には、識
別子(3)が書き込まれているので、プロセッサ3は、
共有メモリ1のデータブロック1221を参照せずに、
対応する占有メモリ32上のコピー321を参照する。
共有メモリ1のデータブロック1221と、占有メモリ
32のコピー321の内容は、共に(D1)であり同一
とされる。
【0035】必要な処理の後、プロセッサ3は、排他制
御部11を用い、小ブロック121を解放する。但し、
解放処理によっても、識別子記憶領域1211の内容
(3)は変化しない。
【0036】同様に、小ブロック222の識別子記憶領
域2212には、プロセッサ4を示す識別子(4)が記
されている。プロセッサ4が小ブロック222を参照す
る場合、排他制御部21により、小ブロック222の占
有権を確保した後、識別子記憶領域2221を参照す
る。
【0037】ここで、識別子記憶領域2221には識別
子(4)が書き込まれているため、プロセッサ3は、デ
ータブロック2222を参照せず、識別子(4)のプロ
セッサ4に対応する占有メモリ42上のコピー422を
参照する。共有メモリ2のデータブロック2222と、
占有メモリ42のコピー422の内容は共に(D4)で
ある。
【0038】必要な処理の後、プロセッサ4は、排他制
御部21を用い、小ブロック222を解放する。但し、
解放処理によっても、識別子記憶領域2221の内容
(4)は変化しない。
【0039】図2において、識別子記憶領域1212、
及び識別子記憶領域2211の内容(0)は、共に、当
該小ブロックを更新したプロセッサが存在しない、こと
を示す。
【0040】図3は、図1に示した本発明の一実施例に
おいて、プロセッサが、共有メモリの小ブロックを更新
するための前準備の動作を示す図である。
【0041】図3を参照すると、プロセッサ3は、共有
メモリ2の排他制御部21を用いて、小ブロック221
の占有権を確保する。
【0042】次に、プロセッサ3は、識別子記憶領域2
211を参照して、自プロセッサの識別子と比較する。
この場合、識別子記憶領域2211の値は(0)である
ため自プロセッサ3の識別子と一致しない。
【0043】このため、プロセッサ3は、共有メモリ2
の小ブロック221内のデータブロック2221を読み
出して、占有メモリ32に、そのコピー322を生成す
る。共有メモリ2のデータブロック2221、及び、占
有メモリ32のコピー322の内容は共に(D3)であ
る。
【0044】同様に、プロセッサ4は、共有メモリ1の
排他制御部11を用いて、小ブロック121の占有権を
確保する。次にプロセッサ4は識別子記憶領域1211
を参照し、自プロセッサの識別子と比較するが、識別子
記憶領域1211の値は(3)であり、一致しない。こ
のため、プロセッサ4は、共有メモリ1の小ブロック1
21内のデータブロック1221を読み出し、占有メモ
リ42にそのコピー421を生成する。共有メモリ1の
データブロック1221及び占有メモリ42のコピー4
21の内容は、共に(D1)である。
【0045】図4は、図1に示した本発明の一実施例に
おいて、プロセッサが共有メモリの小ブロックを更新す
る動作を示す図である。
【0046】図4を参照すると、プロセッサ3は、共有
メモリ2の排他制御部21を用いて、小ブロック221
の占有権を確保しているものとする。プロセッサ3は、
占有メモリ32上のコピー322に対して、データ(D
5)を書き込む。
【0047】次に、プロセッサ3は、共有メモリ2の小
ブロック221上の識別子保存領域2211に対して、
自プロセッサの識別子(3)を書き込む。
【0048】次に、プロセッサ3は、共有メモリ2の小
ブロック221のデータブロック2221に、占有メモ
リ32のコピー322上のデータ(D5)を書き写す。
【0049】最後に、排他制御部21を用い、共有メモ
リ2の小ブロック221を解放する。
【0050】同様に、図4を参照すると、プロセッサ4
は、排他制御部11を用いて、小ブロック121の占有
権を確保しているものとする。
【0051】プロセッサ4は、占有メモリ42上のコピ
ー421に対して、データ(D6)を書き込む。
【0052】次に、プロセッサ4は、共有メモリ1の小
ブロック121上の識別子保存領域1211に対して、
自プロセッサの識別子(4)を書き込む。
【0053】次にプロセッサ4は、共有メモリ1の小ブ
ロック121のデータブロック1221に、コピー42
1上のデータ(D6)を書き写す。
【0054】最後に、共有メモリ1の排他制御部11を
用い、小ブロック121を解放する。
【0055】このとき、プロセッサ3上の占有メモリ3
2のコピー321には、何ら影響を与えないことが特徴
である。
【0056】図5は、図1に示した本発明の一実施例に
おいて、異なるプロセッサによって小ブロックの内容が
更新された場合の動作を示す図である。
【0057】図5を参照すると、プロセッサ3は、共有
メモリ1の排他制御部11で小ブロック121の占有権
を確保した後、識別子記憶領域1211を参照するが、
識別子記憶領域1211の値が(4)であるため、自プ
ロセッサの識別子(3)と一致しない。そのため、プロ
セッサ3は、共有メモリデータブロック1211を直接
参照すると同時に、占有メモリ32内のコピー321を
破棄する。
【0058】本発明においては、共有メモリと占有メモ
リ上のコピーとの関係については、特定の機構やアルゴ
リズムを想定しない。本発明における共有メモリ上と占
有メモリ上の各々のデータの対応関係が、1対1であれ
ば十分である。
【0059】次に本発明の第2の実施例について説明す
る。図6は、本発明の第2の実施例の構成を示す図であ
る。図6を参照すると、本発明の第2の実施例において
は、共有メモリ1及び共有メモリ2には、それぞれ、識
別子制御部13、及び識別子制御部23が実装されてい
る。これらの識別子制御部13、23は、排他制御部1
1、21から、小ブロックの占有権を獲得したプロセッ
サの識別子を取得し、当該小ブロックの識別子記憶領域
の値と比較して、比較結果を当該プロセッサに通知す
る。
【0060】通知を受けたプロセッサは、結果によって
ブロックデータを参照するか、占有メモリ上のコピーを
参照するかを判断する。
【0061】また、識別子制御部13、23は、プロセ
ッサによるデータブロックの更新も監視し、データブロ
ックが更新された場合には、識別子記憶領域の値を、更
新したプロセッサの識別子に更新する。
【0062】以上本発明を上記実施例に即して説明した
が、本発明は上記実施例の構成に限定されるものでな
く、特許請求の範囲の請求項の範囲内で、当業者がなし
得るであろう各種変形、修正を含むことは勿論である。
【0063】
【発明の効果】以上説明したように、本発明によれば下
記記載の効果を奏する。
【0064】本発明の第1の効果は、マルチプロセッサ
の各プロセッサの処理を効率化する、ということであ
る。
【0065】その理由は次の通りである。他のプロセッ
サにより更新されない共有メモリの情報についてプロセ
ッサ毎の占有を可能としており、各プロセッサの占有メ
モリやキャッシュメモリなどの高速メモリを利用可能と
し、プロセッサの処理を効率化、高速化しているためで
ある。
【0066】本発明の第2の効果は、共有メモリの利用
を効率化する、ということである。
【0067】その理由は、他のプロセッサにより更新さ
れない共有メモリの情報は、更新書き込みのみを行い、
参照読み出しの必要がなくなるため、共有メモリへのア
クセス回数が減少し、共有メモリの利用の効率化を図
り、かつ共通バスの転送数も減少することができるため
である。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示す図である。
【図2】本発明の一実施例において、占有メモリ上のコ
ピーを参照する場合の動作を説明するための図である。
【図3】本発明の一実施例において、共有メモリ上のデ
ータを更新するための準備動作を説明するための図であ
る。
【図4】本発明の一実施例において、共有メモリ上のデ
ータを更新する動作を説明するための図である。
【図5】本発明の一実施例において、他プロセッサが更
新したデータを参照する場合動作を説明するための図で
ある。
【図6】本発明の第2の実施例の構成を示す図である。
【符号の説明】
1 共有メモリ1 11 共有メモリ1の排他制御部 121 共有メモリ1の小ブロック1 1211 共有メモリ1の小ブロック1上の識別子記憶
領域 1212 共有メモリ1の小ブロック2上の識別子記憶
領域 122 共有メモリ1の小ブロック2 1221 共有メモリ1の小ブロック1上のデータブロ
ック 1222 共有メモリ1の小ブロック2上のデータブロ
ック 13 共有メモリ1上の識別子制御部 2 共有メモリ2 21 共有メモリ2の排他制御部 221 共有メモリ2の小ブロック1 2211 共有メモリ2の小ブロック1上の識別子記憶
領域 2212 共有メモリ2の小ブロック2上の識別子記憶
領域 222 共有メモリ2の小ブロック2 2221 共有メモリ2の小ブロック1上のデータブロ
ック 2222 共有メモリ2の小ブロック2上のデータブロ
ック 23 共有メモリ2上の識別子制御部 3 プロセッサ3 32 プロセッサ3の占有メモリ 321 プロセッサ3の占有メモリ上の共有メモリのコ
ピー1 322 プロセッサ3の占有メモリ上の共有メモリのコ
ピー2 4 プロセッサ4 42 プロセッサ4の占有メモリ 421 プロセッサ4の占有メモリ上の共有メモリのコ
ピー1 422 プロセッサ4の占有メモリ上の共有メモリのコ
ピー2 5 共有メモリ1、2とプロセッサ3、4とを繋ぐ共有
バス

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサと、 前記複数のプロセッサにより共有される共有メモリと、 前記共有メモリに対する各プロセッサの処理を調停する
    排他制御手段と、 を備え、 前記共有メモリは、前記共有メモリ内部の小ブロック毎
    に、該小ブロックを最後に更新したプロセッサを示す識
    別子を記憶する識別子記憶領域を有し、 前記共有メモリ内の小ブロックに対する処理を行うプロ
    セッサが、前記識別子記憶領域の内容と、前記自プロセ
    ッサの識別子とを比較し、前記自プロセッサの識別子と
    一致した場合には、前記共有メモリを参照せずに、前記
    自プロセッサの占有メモリを参照する、ことを特徴とす
    る、分散共有メモリ型マルチプロセッサ・システム。
  2. 【請求項2】複数のプロセッサにより共有される共有メ
    モリの制御システムにおいて、 前記共有メモリに対する各プロセッサの処理を調停する
    排他制御手段を備え、 前記共有メモリは、前記共有メモリ内部の小ブロック毎
    に、前記小ブロックを最後に更新したプロセッサを示す
    識別子を記憶する識別子記憶領域を備え、 前記共有メモリ内の小ブロックに対する処理を行うプロ
    セッサは、前記識別子記憶領域の内容と自プロセッサの
    識別子とを比較する手段を備え、 前記比較の結果、前記自プロセッサの識別子と一致した
    場合には、前記共有メモリを参照せず、前記自プロセッ
    サの占有メモリを参照する、ことを特徴とする、共有メ
    モリ制御システム。
  3. 【請求項3】複数のプロセッサと、 前記複数のプロセッサにより共有される共有メモリと、 前記共有メモリに対する各プロセッサの処理を調停する
    排他制御手段と、 を備え、 前記共有メモリは、前記共有メモリ内部の小ブロック毎
    に、前記小ブロックを最後に更新したプロセッサを示す
    識別子を記憶する識別子記憶領域を有し、 前記共有メモリに付随して設けられ、前記共有メモリ内
    部の小ブロックの識別子記憶領域の内容と、占有権を持
    つプロセッサの識別子と、を比較し、前記識別子記憶領
    域の内容が前記占有権を持つプロセッサの識別子と一致
    した場合には、前記共有メモリに対する参照処理に対し
    て、占有権を持つプロセッサに対して、該プロセッサの
    占有メモリを参照するよう通知する識別子制御部を備え
    たことを特徴とする、分散共有メモリ型マルチプロセッ
    サ・システム。
  4. 【請求項4】共通バスに接続されそれぞれ固有の識別子
    を有する複数のプロセッサと、 前記共通バスに接続され前記複数のプロセッサにより共
    有される共有メモリと、 前記共有メモリに対する各プロセッサの処理を調停し排
    他制御を行う排他制御部と、を備えたマルチプロセッサ
    ・システムにおいて、 前記共有メモリは、前記共有メモリの記憶領域を複数の
    ブロックに分割してなるデータブロックと、該分割され
    た個々のブロック毎に、データブロックを最後に更新し
    たプロセッサを示す識別子を記憶する識別子記憶領域
    と、を備え、 前記プロセッサは、前記排他制御部を介して占有が許可
    された前記共有メモリのデータブロックの写しを記憶保
    持する占有メモリを備え、 前記共有メモリのブロックに対する処理を行うプロセッ
    サは、前記ブロックの前記識別子記憶領域の内容と、前
    記自プロセッサの識別子とを比較し、前記識別子記憶領
    域の内容が前記自プロセッサの識別子と一致した場合に
    は、前記共有メモリの前記ブロックのデータをアクセス
    せずに、前記自プロセッサの前記占有メモリに格納され
    ているデータをアクセスする、ことを特徴とする、マル
    チプロセッサ・システム。
  5. 【請求項5】前記共有メモリのブロックに対する処理を
    行うプロセッサは、前記ブロックの前記識別子記憶領域
    の内容と、前記自プロセッサの識別子とを比較し、前記
    識別子記憶領域の内容が、前記自プロセッサの識別子と
    一致しない場合には、前記共有メモリから前記ブロック
    のデータを前記自プロセッサの占有メモリに読み出し、
    前記識別子記憶領域の内容はそのままとする、ことを特
    徴とする、請求項4記載のマルチプロセッサ・システ
    ム。
  6. 【請求項6】前記共有メモリから前記ブロックのデータ
    を前記自プロセッサの占有メモリに読み出したプロセッ
    サにおいて、前記占有メモリに保持される前記ブロック
    のデータを更新した場合、更新された前記占有メモリ上
    の前記データの写しを前記共有メモリの該当するブロッ
    クに書き込むとともに、前記ブロックの前記識別子記憶
    領域の内容を前記自プロセッサの識別子に更新する、こ
    とを特徴とする、請求項4又は5記載のマルチプロセッ
    サ・システム。
  7. 【請求項7】前記共有メモリの排他制御部でブロックの
    占有権を確保したプロセッサが、前記ブロックの識別子
    記憶領域を参照し、前記識別子記憶領域の値が自プロセ
    ッサの識別子と一致しない場合、前記プロセッサは、前
    記共有メモリの前記ブロックのデータを参照するととも
    に、自プロセッサの占有メモリに前記ブロックのデータ
    の写しがある場合にはこれを破棄する、ことを特徴とす
    る、請求項4乃至6のいずれか一に記載のマルチプロセ
    ッサ・システム。
  8. 【請求項8】前記共有メモリのブロックの識別子記憶領
    域の内容と、占有権を持つプロセッサの識別子と、を比
    較し、占有権を持つプロセッサの識別子と一致した場合
    には、前記共有メモリに対する参照処理に対して、占有
    権を持つプロセッサに対して、該プロセッサの占有メモ
    リを参照するように通知する識別子制御部を備えたこと
    を特徴とする、請求項4記載のマルチプロセッサ・シス
    テム。
  9. 【請求項9】共通バスに接続され、それぞれ固有の識別
    子を有する複数のプロセッサと、 前記共通バスに接続され前記複数のプロセッサにより共
    有される共有メモリと、 前記共有メモリに対する各プロセッサの処理を調停し排
    他制御を行う排他制御部と、を備えたマルチプロセッサ
    システムにおいて、 前記共有メモリは、前記共有メモリの記憶領域を複数の
    ブロックに分割してなるデータブロックと、該分割され
    た個々のブロック毎に、データブロックを最後に更新し
    たプロセッサを示す識別子を記憶する識別子記憶領域
    と、を備え、 前記プロセッサは、前記排他制御部を介して占有が許可
    された前記共有メモリのブロックの写しを記憶保持する
    占有メモリを備え、 前記共有メモリのブロックに対する処理を行うプロセッ
    サにおいて、前記ブロックの前記識別子記憶領域の内容
    と、前記自プロセッサの識別子とを比較し、前記識別子
    記憶領域の内容が前記自プロセッサの識別子と一致した
    場合には、前記共有メモリのデータをアクセスせずに、
    前記自プロセッサの前記占有メモリに格納されているデ
    ータをアクセスする、 処理を前記プロセッサに実行させるためのプログラムを
    記録した記録媒体。
  10. 【請求項10】請求項9記載の記録媒体において、前記
    共有メモリのブロックに対する処理を行うプロセッサに
    おいて、前記ブロックの前記識別子記憶領域の内容と、
    前記自プロセッサの識別子とを比較し、前記識別子記憶
    領域の内容が、前記自プロセッサの識別子と一致しない
    場合には、前記共有メモリから前記ブロックのデータを
    前記自プロセッサの占有メモリに読み出し、前記識別子
    記憶領域の内容はそのままとし、 前記共有メモリから前記データブロックを前記自プロセ
    ッサの占有メモリに読み出したプロセッサにおいて、前
    記占有メモリに保持される前記ブロックデータを更新し
    た場合、更新された前記占有メモリ上の前記データの写
    しを前記共有メモリの該当するブロックに書き込むとと
    もに、前記ブロックの前記識別子記憶領域の内容を前記
    自プロセッサの識別子に更新する、処理を前記プロセッ
    サに実行させるためのプログラムを記録した記録媒体。
  11. 【請求項11】請求項9又は10記載の記録媒体におい
    て、前記共有メモリの排他制御部でブロックの占有権を
    確保したプロセッサが、前記ブロックの識別子記憶領域
    を参照し、前記識別子記憶領域の値が自プロセッサの識
    別子と一致しない場合、前記プロセッサは、前記共有メ
    モリのブロックのデータを参照するとともに、自プロセ
    ッサの占有メモリに前記ブロックのデータの写しがある
    場合にはこれを破棄する処理を前記プロセッサに実行さ
    せるためのプログラムを記録した記録媒体。
  12. 【請求項12】複数のプロセッサにより共有される共有
    メモリと、前記共有メモリに対する各プロセッサの処理
    を調停する排他制御部を備えたマルチプロセッサの共有
    メモリの制御方法であって、 前記共有メモリは、前記共有メモリを複数に分割してな
    るブロック毎に、前記ブロックを最後に更新したプロセ
    ッサを示す識別子を記憶する識別子記憶領域を備え、 前記共有メモリ内のブロックに対する処理を行うプロセ
    ッサは、前記識別子記憶領域の内容と自プロセッサの識
    別子とを比較し、前記比較の結果、前記自プロセッサの
    識別子と一致した場合には、前記共有メモリを参照せ
    ず、前記自プロセッサの占有メモリを参照する、ことを
    特徴とする、共有メモリの制御方法。
JP2000033227A 2000-02-10 2000-02-10 マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体 Pending JP2001222466A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000033227A JP2001222466A (ja) 2000-02-10 2000-02-10 マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体
US09/777,771 US20010014932A1 (en) 2000-02-10 2001-02-08 Multi-processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000033227A JP2001222466A (ja) 2000-02-10 2000-02-10 マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体

Publications (1)

Publication Number Publication Date
JP2001222466A true JP2001222466A (ja) 2001-08-17

Family

ID=18557735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000033227A Pending JP2001222466A (ja) 2000-02-10 2000-02-10 マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体

Country Status (2)

Country Link
US (1) US20010014932A1 (ja)
JP (1) JP2001222466A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171547A (ja) * 2012-02-23 2013-09-02 Hitachi Automotive Systems Ltd 車両用制御装置
JP2021190002A (ja) * 2020-06-04 2021-12-13 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363447B1 (en) * 2001-08-07 2008-04-22 Symantec Operating Corporation System and method for providing safe data movement using third party copy techniques
US7281081B1 (en) * 2001-08-07 2007-10-09 Symantec Operating Corporation System and method for preventing sector slipping in a storage area network
US7089368B2 (en) * 2002-02-12 2006-08-08 Ip-First, Llc Microprocessor apparatus and method for exclusively prefetching a block of cache lines from memory
US7080210B2 (en) * 2002-02-12 2006-07-18 Ip-First, Llc Microprocessor apparatus and method for exclusive prefetch of a cache line from memory
US7080211B2 (en) * 2002-02-12 2006-07-18 Ip-First, Llc Microprocessor apparatus and method for prefetch, allocation, and initialization of a cache line from memory
US7089371B2 (en) * 2002-02-12 2006-08-08 Ip-First, Llc Microprocessor apparatus and method for prefetch, allocation, and initialization of a block of cache lines from memory
US7111125B2 (en) * 2002-04-02 2006-09-19 Ip-First, Llc Apparatus and method for renaming a data block within a cache
US7188215B2 (en) * 2003-06-19 2007-03-06 Ip-First, Llc Apparatus and method for renaming a cache line
US8935485B2 (en) 2011-08-08 2015-01-13 Arm Limited Snoop filter and non-inclusive shared cache memory
US10310897B2 (en) * 2016-09-30 2019-06-04 Intel Corporation Hardware accelerators and methods for offload operations

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171547A (ja) * 2012-02-23 2013-09-02 Hitachi Automotive Systems Ltd 車両用制御装置
JP2021190002A (ja) * 2020-06-04 2021-12-13 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP7463855B2 (ja) 2020-06-04 2024-04-09 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム

Also Published As

Publication number Publication date
US20010014932A1 (en) 2001-08-16

Similar Documents

Publication Publication Date Title
JPH04306748A (ja) 情報処理装置
JP2001222466A (ja) マルチプロセッサ・システムと共有メモリ制御システム及び方法並びに記録媒体
US6446149B1 (en) Self-modifying synchronization memory address space and protocol for communication between multiple busmasters of a computer system
JP5241384B2 (ja) 分散共有メモリ型マルチプロセッサ及びデータ処理方法
JP3965784B2 (ja) 共有メモリ排他アクセス制御方法
JP3381079B2 (ja) キャッシュメモリを用いた排他制御システム
JPH06110785A (ja) キャッシュメモリ同期方式
JP2707958B2 (ja) キャッシュ一致処理制御装置
US11874767B2 (en) Memory partitions for processing entities
JP3381080B2 (ja) 処理の中断が可能な排他制御方式
JP3940701B2 (ja) ディスクアレイ装置及び同装置に適用されるキャッシュ一致化制御方法
US20100082909A1 (en) Memory system and control method
JPH04291642A (ja) キャッシュ制御方式
JPH03271859A (ja) 情報処理装置
JPS61196355A (ja) 排他制御方式
JPH08272667A (ja) ファイルアクセス制御システム
JP2000020477A (ja) 情報処理システム
JPH01300365A (ja) マルチプロセッサシステムの排他制御方式
KR20210064545A (ko) 파티션 간 데이터 공유장치 및 공유방법
JPS63286959A (ja) メモリアクセス方式
JPH0346033A (ja) ジヨブ間データ転送制御方法
JPS6074057A (ja) デイスク・キヤツシユ制御システム
JP2001022581A (ja) データ処理装置及びコンピュータ読み取り可能な記憶媒体
JPH0612363A (ja) メモリ制御装置およびマルチプロセッサシステム
JPS635460A (ja) 並列計算機

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20031024

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20031204

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20031226

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050311