JP2778913B2 - マルチプロセッサシステム及びメモリアロケーション方法 - Google Patents

マルチプロセッサシステム及びメモリアロケーション方法

Info

Publication number
JP2778913B2
JP2778913B2 JP6088445A JP8844594A JP2778913B2 JP 2778913 B2 JP2778913 B2 JP 2778913B2 JP 6088445 A JP6088445 A JP 6088445A JP 8844594 A JP8844594 A JP 8844594A JP 2778913 B2 JP2778913 B2 JP 2778913B2
Authority
JP
Japan
Prior art keywords
cache line
size
memory space
allocation
memory
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 - Fee Related
Application number
JP6088445A
Other languages
English (en)
Other versions
JPH07295884A (ja
Inventor
秀昭 平山
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 JP6088445A priority Critical patent/JP2778913B2/ja
Publication of JPH07295884A publication Critical patent/JPH07295884A/ja
Priority to US08/768,590 priority patent/US5715430A/en
Application granted granted Critical
Publication of JP2778913B2 publication Critical patent/JP2778913B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、プロセッサがキャッシ
ュを持ったマルチプロセッサシステム及びメモリのアロ
ケーション方法に関する。
【0002】
【従来の技術】近年、プロセッサの急激な性能向上によ
って、プロセッサとメモリの性能差はますます大きくな
っている。このプロセッサとメモリの性能差を埋めるた
めに、キャッシュが大きな役割を果たしている。
【0003】また一方では、マルチプロセッサ技術が大
きな注目を浴びているが、マルチプロセッサシステムの
各プロセッサがキャッシュを持つ場合には、各プロセッ
サのキャッシュの一貫性を取るために、キャッシュのス
ヌープという機能が重要になる。
【0004】スヌープ機能としては様々な方式がある
が、何れの方式においても、例えばキャッシュをもつ複
数のプロセッサがメモリ上の共通するデータを順番に更
新すると、対象とするデータを各プロセッサのキャッシ
ュの間で順番に受け渡すことによって一貫性を保つ。
【0005】図10はこの状況を説明するための図であ
る。図10に示されたコンピュータシステムは、複数の
プロセッサ90a,90bと、プロセッサ90a,90
bに共有されるメモリ91が、バス92によって接続さ
れたマルチプロセッサシステムである。プロセッサ90
a,90bは、各々キャッシュ93a,93bを持って
いる。
【0006】両プロセッサ90a,90bがメモリ91
上のデータAを更新し合うものとすると、データAは両
プロセッサ90a,90bのキャッシュ93a,93b
の間で相互に受け渡される。
【0007】各プロセッサ90a,90bのキャッシュ
93a,93bの一貫性を取るために、キャッシュ93
a,93bの間での受け渡しが頻繁になると、バス92
のトラフィックが増大し、性能の低下を招いてしまう。
従って、トラフィックの量を低減させることがスヌープ
機能にとっては重要となる。
【0008】ところで、マルチプロセッサシステムで
は、メモリ91からキャッシュ93a,93bにデータ
を持ってくる場合、及びキャッシュ93a,93bから
メモリ91にデータを戻す場合、データ転送をバイトあ
るいはワード単位で行なっていては、キャッシュ93
a,93bとメモリ91の間のデータ転送のオーバヘッ
ドが大きくなり、性能の向上が望めなくなる。
【0009】そのため一般的には、メモリ91とキャッ
シュ93a,93bの間のデータ交換の単位を、16バ
イト,32バイト,64バイト等の所定の単位毎で行な
っている。このデータ交換の単位を、キャッシュライン
と呼んでいる。
【0010】前述した図10に示す例では、データAと
いう1つのデータを、2つのプロセッサ90a,90b
で更新するため、両プロセッサ90a,90bのキャッ
シュ93a,93b間でデータAの受け渡しは必須とな
る。
【0011】さらに、キャッシュラインを考慮しない
で、キャッシュにメモリ空間をアロケーションした場合
には、バス92のトラフィック量を増加させる状況があ
る。以下、その具体的な状況について説明する。
【0012】例えば、キャッシュラインを考慮しないで
メモリ空間をアロケーションした場合、1つのデータが
複数のキャッシュラインに跨がり、データの全バイト数
に対して必要以上のキャッシュライン数に渡ってしまう
ことがある。
【0013】この場合には、単純にキャッシュライン数
が多くなるため、データの内容の一貫性を保つためのト
ラフィック量が多くなってしまう。また、図11は別の
状況を説明する図であり、図11に示すコンピュータシ
ステムは、プロセッサ100a,100bとメモリ10
1が、バス102によって接続されたマルチプロセッサ
システムである。プロセッサ100a,100bは、各
々キャッシュ103a,103bを持っている。
【0014】また例えば、両プロセッサ100a,10
0bは、各々メモリ101上のデータA,Bを更新し、
データA,Bは、同じキャッシュライン上にアロケーシ
ョンされているものとし、プロセッサ100aがデータ
Aを更新し、プロセッサ100bがデータBを更新する
ものとする。
【0015】この場合、2つのプロセッサ100a,1
00bは、それぞれ別のデータA,Bを更新している
が、2つのデータA,Bが同じキャッシュライン上にア
ロケーションされているために、各プロセッサ100
a,100bが対応するデータA,Bを更新することに
より、両プロセッサ100a,100bのキャッシュ1
03a,103bの間で順番に受け渡しが行なわれてし
まう。
【0016】すなわち、バス102のトラフィックが増
大するため、バス102に多数のプロセッサを接続する
ことが不可能になってしまい、マルチプロセッサシステ
ムを構成する上での制約となってしまう。
【0017】図11に示す例において、プロセッサ10
0a,100bによるデータA,Bに対する処理が無関
係であって(互いのキャッシュに存在しない)、データ
A,Bがそれぞれ異なるキャッシュラインにアロケーシ
ョンされていれば、プロセッサ100a,100bがそ
れぞれに対応するデータA,Bを更新しても、両データ
は無関係であるので、キャッシュ103a,103b間
で受け渡しが行なわれないため、トラフィック量は増加
しない。
【0018】
【発明が解決しようとする課題】このように従来のマル
チプロセッサシステムでは、メモリアロケーションを行
なう場合にキャッシュラインを考慮していないため、ス
ヌープ機能を実現するためには多くのバストランザクシ
ョンが発生するという問題があった。
【0019】本発明は前記のような事情を考慮してなさ
れたもので、スヌープ機能を実現するためのバストラン
ザクション量を低減させることが可能なマルチプロセッ
サシステム及びメモリアロケーション方法を提供するこ
とを目的とする。
【0020】
【課題を解決するための手段】本発明は、キャッシュを
もつ複数のプロセッサが設けられ、前記プロセッサで実
行されるプロセスが、メモリに対するメモリ空間のアロ
ケーションを行なうマルチプロセッサシステムにおい
て、前記メモリに対するメモリ空間のアロケーション要
求と共にアロケーション要求サイズを指定するためのメ
モリ空間アロケーション要求手段と、システム中のデー
タ交換の単位となるキャッシュラインのサイズを認識す
るためのキャッシュラインサイズ認識手段と、前記キャ
ッシュラインのアラインメントを認識するためのキャッ
シュラインアラインメント認識手段と、前記メモリ空間
アロケーション要求手段によって指定されたアロケーシ
ョン要求サイズ、前記キャッシュラインサイズ認識手段
によって認識されたキャッシュラインサイズ、及び前記
キャッシュラインアラインメント認識手段によって認識
されたキャッシュラインのアラインメントに基づいて、
データ交換の際のキャッシュライン数が最低限となると
なるように、メモリ空間のアロケーションを行なうメモ
リ空間アロケーション手段とを具備したことを特徴とす
る。
【0021】また、前記メモリ空間アロケーション手段
は、前記メモリ空間アロケーション要求手段によって指
定されたアロケーション要求サイズ、及び前記キャッシ
ュラインサイズ認識手段によって認識されたキャッシュ
ラインサイズに基づいて、アロケーション済みの前記キ
ャッシュラインの残りの部分がキャッシュラインサイズ
のN%(N=0〜100の範囲で任意に設定される値)
に達するか否かを判別し、前記残りの部分を使用するか
否かを決定することを特徴とする。
【0022】また本発明は、キャッシュをもつ複数のプ
ロセッサが設けられ、前記プロセッサで実行されるプロ
セスが、メモリに対するメモリ空間のアロケーションを
行なうマルチプロセッサシステムにおいて、前記メモリ
に対するメモリ空間のアロケーション要求と共にメモリ
空間の最小アロケーション要求サイズを指定するための
メモリ空間アロケーション要求手段と、システム中のデ
ータ交換の単位となるキャッシュラインのサイズを認識
するためのキャッシュラインサイズ認識手段と、前記キ
ャッシュラインのアラインメントを認識するためのキャ
ッシュラインアラインメント認識手段と、前記メモリ空
間アロケーション要求手段によって指定された最小アロ
ケーション要求サイズ、前記キャッシュラインサイズ認
識手段によって認識されたキャッシュラインサイズ、及
び前記キャッシュラインアラインメント認識手段によっ
て認識されたキャッシュラインのアラインメントに基づ
いて、前記最小アロケーション要求サイズをキャッシュ
ライン単位で切り上げてキャッシュラインのアラインメ
ントされた位置からメモリ空間をアロケーションするメ
モリ空間アロケーション手段とを具備したことを特徴と
する。
【0023】さらに、前記メモリ空間アロケーション要
求手段は、アロケーション要求毎に、前記メモリ空間ア
ロケーション手段に対して、前記キャッシュラインサイ
ズ認識手段によって認識されたキャッシュラインサイズ
を考慮したメモリ空間のアロケーションの実行を指示で
きることを特徴とする。
【0024】
【作用】このような構成によれば、システム中のキャッ
シュとメモリ間、キャッシュ間等においてデータ交換の
単位となるキャッシュラインを考慮した、メモリ空間の
アロケーションが行なわれる。
【0025】すなわち、アロケーションすべきデータの
サイズに応じて、必要以上のキャッシュライン数を要し
ないようにメモリ空間のアロケーションを行なうことに
より、メモリ中のデータに対する更新等の処理の際に、
システム内で移動するデータのキャッシュライン数が必
要最低限とすることができるため、スヌープ機能の実現
のためにバスのトラフィック量を低減させることができ
る。
【0026】また、データ(アロケーション要求毎)に
よってキャッシュラインが異なるように、メモリ空間の
アロケーションを行なうことで、例えば無関係なデータ
が1キャッシュライン中に存在することによる、異なる
プロセッサが異なるデータに対して更新等の処理を施す
場合であっても発生するデータの移動をなくすことがで
きる。
【0027】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図1は本発明の第1実施例に係わるマルチプロセ
ッサシステムの概略構成を示すブロック図である。図1
に示すマルチプロセッサシステムは、複数のプロセッサ
1a,1b,…と、プロセッサ1a,1b,…に共有さ
れる共有メモリ2が、バス3によって接続された構成と
なっている。
【0028】プロセッサ1aには、キャッシュ4a、メ
モリアロケーション制御手段5aが設けられている。メ
モリアロケーション制御手段5aは、共有メモリ2に格
納されたプログラムを、プロセッサ1a上で実行するこ
とによって機能が実現される。
【0029】メモリアロケーション制御手段5aは、図
2に示すような機能によって構成されている。図2に示
すように、メモリアロケーション制御手段5aは、メモ
リ空間アロケーション要求手段10、キャッシュライン
サイズ認識手段11、キャッシュラインアライメント認
識手段12、メモリ空間アロケーション手段13、及び
メモリ空間アロケーション結果通知手段14によって構
成されている。
【0030】メモリ空間アロケーション要求手段10
は、処理に応じてアロケーションしたいバイト数をメモ
リ空間アロケーション手段13に要求するものである。
また、メモリ空間アロケーション要求手段10は、メモ
リアロケーションを使用するか否かを、メモリ空間のア
ロケーション要求毎に指示する指示手段10aを有して
いる。さらに、アロケーション済みのキャッシュライン
の残り部分の空き領域について、後のメモリ空間のアロ
ケーションに使用すべきか否かを判別する機能の実行を
指示することができる。この際、判別の基準となる、キ
ャッシュラインのサイズに対する割合(N%、N=0〜
100)を、予め任意の値で設定することができる。
【0031】キャッシュラインサイズ認識手段11は、
自マルチプロセッサシステムのキャッシュラインのサイ
ズを調べ、メモリ空間アロケーション手段13に通知す
るものである。
【0032】キャッシュラインアラインメント認識手段
12は、自マルチプロセッサシステムのキャッシュライ
ンのアラインメントを調べ、メモリ空間アロケーション
手段13に通知する。
【0033】メモリ空間アロケーション手段13は、メ
モリ空間アロケーション要求手段10から要求されたバ
イト数(及び指示手段10aによる指示)、キャッシュ
ラインサイズ認識手段11から通知されたキャッシュラ
インサイズ、及びキャッシュラインアラインメント認識
手段12から通知されたキャッシュラインアラインメン
トに基づいて、バストランザクションの発生が最低限に
できるように、キャッシュラインに対してメモリアロケ
ーションを行なう。すなわち、メモリ空間アロケーショ
ン手段13は、後述する式で求められる数のキャッシュ
ラインに収まるように、メモリアロケーションを行な
う。
【0034】メモリ空間アロケーション結果通知手段1
4は、メモリ空間アロケーション手段13によってアロ
ケーションされたメモリ空間の先頭アドレスを戻すもの
である。
【0035】プロセッサ1bに設けられたメモリアロケ
ーション制御手段5bは、前述したメモリアロケーショ
ン制御手段5aと同様の構成を有しているものとして説
明を省略する。その他のプロセッサに設けられるメモリ
アロケーション制御手段についても同様である。
【0036】次に、第1実施例の動作について、図3に
示すフローチャートを参照しながら説明する。ここで
は、プロセッサ1aのメモリアロケーション制御手段5
aについて、一連の流れについて説明する。
【0037】まず、メモリ空間アロケーション要求手段
10は、プロセッサで実行される処理に応じた、キャッ
シュ4aに対するメモリ空間のアロケーション要求を、
メモリ空間アロケーション手段13に対して行なう(ス
テップA1)。この際、指示手段10aにより、メモリ
空間のアロケーション要求と共に、本発明の方法による
メモリアロケーションの実行を指示するものとする。
【0038】また、キャッシュラインサイズ認識手段1
1は、自らのシステムにおけるキャッシュラインのサイ
ズを求め、メモリ空間アロケーション手段13に通知し
ている(ステップA2)。
【0039】また、キャッシュラインアラインメント認
識手段12は、キャッシュラインのアラインメントを求
め、メモリ空間アロケーション手段13に通知している
(ステップA3)。
【0040】メモリ空間アロケーション手段13は、メ
モリ空間アロケーション要求手段10からのアロケーシ
ョン要求に応じて、メモリ空間のアロケーションを行な
うために必要なキャッシュライン数、すなわち必要最低
限のライン数を、以下の式(1)に基づいて、メモリ空
間アロケーション要求手段10から要求されたバイト
数、キャッシュラインサイズ認識手段11から通知され
たキャッシュラインサイズを用いて求める。
【0041】(メモリ空間アロケーション要求サイズ+
キャッシュラインサイズ−1)÷キャッシュラインサイ
ズ …(1) メモリ空間アロケーション手段13は、前述した(1)
式に基づいて求められたキャッシュライン数に収まるよ
うに、キャッシュラインアラインメント認識手段12か
ら通知されたキャッシュラインアラインメントに応じ
て、要求されたメモリ空間のアロケーションを行なう。
【0042】最後にメモリ空間アロケーション結果通知
手段14は、メモリ空間アロケーション手段13によっ
てアロケーションされたメモリ空間の先頭アドレスをメ
モリ空間アロケーション要求手段10に戻す。
【0043】図4は第1実施例において、メモリ空間ア
ロケーション手段13によって、メモリ空間がアロケー
ションされる処理の様子を示す図である。図4では、1
ワードが4バイト、1キャッシュラインが16バイトと
して説明する。なお、実際には、1ワード及び1キャッ
シュラインの値は、コンピュータシステムによってバイ
ト数が異なる。
【0044】まず、メモリ空間アロケーション手段13
は、メモリ空間アロケーション要求手段10から、例え
ば12バイトのメモリ空間のアロケーション要求を受け
とると、キャッシュラインサイズ認識手段11によっ
て、1キャッシュラインが16バイトであることを求め
る。
【0045】従来のメモリ空間のアロケーションであれ
ば、キャッシュラインを考慮しないため、例えば図4中
34に示すように、2キャッシュラインに跨るようなア
ロケーションが行われることがある。
【0046】メモリ空間アロケーション手段13は、キ
ャッシュアラインメント認識手段12によって求められ
たキャッシュラインアラインメントに応じて、メモリア
ロケーションを、前述した式(1)で求められる数のキ
ャッシュラインに収まるように行なう。
【0047】具体的には、キャッシュライン数は、(1
2+16−1)÷16=1であるので、メモリ空間アロ
ケーション手段13は、1キャッシュライン中にメモリ
空間がアロケーションされる。例えば、結果として図4
中35に“0040”番地から始まる12バイト、ある
いは図4中36に示すように、“0064”番地から始
まる12バイトのように、メモリ空間アロケーション手
段13は、メモリ空間をアロケーションする。
【0048】なお、メモリ空間アロケーション要求手段
10の指示手段10aからの指示に応じて、メモリ空間
アロケーション手段13は、キャッシュライン中の空き
領域について、メモリ空間のアロケーションに使用すべ
きか否かを判別するための機能を実行する。
【0049】この場合、メモリ空間アロケーション手段
13は、メモリ空間のアロケーションを行なった後、メ
モリ空間をアロケーションしたキャッシュラインを後の
アロケーションの際に使用すべきか否かを、以下の式
(2)を用いて判別する。
【0050】(((メモリ空間アロケーション要求サイ
ズ+キャッシュラインサイズ−1)÷キャッシュライン
サイズ)×キャッシュラインサイズ)−メモリ空間アロ
ケーション要求サイズ) …(2) すなわち、メモリ空間アロケーション手段13は、既に
アロケーション済みであるキャッシュラインの、アロケ
ーションされていない残りの部分のサイズを、前述した
式(2)から求めている。
【0051】メモリ空間アロケーション手段13は、キ
ャッシュラインの残り部分のキャッシュラインサイズ
が、予め設定されたキャッシュラインサイズに対する割
合、すなわちN%(N=0〜100)に達するか否かに
よって判別する。
【0052】ここでは例えば、予め設定されたキャッシ
ュラインサイズに対する割合を70%とすると、前述し
た(2)式によって求めた残り部分のキャッシュライン
サイズが70%に達する場合には、そのキャッシュライ
ンの残りの部分は使用しないものとして扱う。
【0053】例えば、図5中42に示すようなアロケー
ションがされた場合には、キャッシュラインの50%し
か使用されていないので、残りの部分(8バイト)は他
のメモリアロケーション要求の際に使用するものとして
判別する。
【0054】また、図5中43に示すようなアロケーシ
ョンがされた場合には、キャッシュラインの75%が使
用されているので、残りの部分(4バイト)は他のメモ
リアロケーション要求の際に使用しないものとして判別
する。
【0055】メモリ空間アロケーション手段13は、キ
ャッシュラインに対する判別結果を保持し、後のメモリ
空間アロケーション要求手段10からの要求に対して、
メモリ空間をアロケーションする際に考慮し、使用する
と判別したキャッシュラインの残り空間をアロケーショ
ンに用いる。
【0056】このようにして、メモリ空間アロケーショ
ン手段13は、メモリ空間アロケーション要求手段10
からのアロケーション要求に対して、キャッシュライン
数が最も少なくなるようにメモリ空間のアロケーション
を行なう。このため、異なるプロセッサ1a,1bのキ
ャッシュ4a,4bに格納された共通するデータに対し
て、更新等の処理が施された場合に、データの一貫性を
保つスヌープ機能のために、キャッシュ4a,4b間で
データの受け渡しが行なう必要があっても、バス3のト
ラフィック量を最低限に押さえることができる。
【0057】また、アロケーション済みのキャッシュラ
インの残り部分の空き領域について、後のメモリ空間の
アロケーションに使用すべきか否かを判別し、後のアロ
ケーションに考慮することができる。すなわち、データ
毎にアロケーションの対象とするキャッシュラインを別
にすることにより、データの一貫性を保つための不必要
なデータの移動をなくすことができる。また、キャッシ
ュラインの残りの空き領域が大きければ、この領域を後
のアロケーションに用いることでキャッシュの効率的な
利用が可能となる。
【0058】その際、どちらを優先させるべきかは、基
準となるキャッシュサイズに対する割合(N%)を設定
することにより、任意に指定することができるので、キ
ャッシュの容量、システム構成等、各種要因に応じて最
適化が可能な柔軟性のあるシステムとすることができ
る。
【0059】次に、第2実施例について説明する。第2
実施例は、前述した第1実施例と同様の構成によるメモ
リアロケーション制御手段5aによって実現されるもの
とする。ただし、第3実施例では、メモリ空間アロケー
ション要求手段10、及びメモリ空間アロケーション手
段13の機能動作が異なるので、これらの手段10,1
3について説明して、他の手段については第1実施例と
同じものとして説明を省略する。
【0060】第2実施例のメモリ空間アロケーション要
求手段10は、アロケーションサイズではなく、最小ア
ロケーションサイズを指定することによって、メモリ空
間アロケーション手段13に対してアロケーション要求
を行なう。
【0061】メモリ空間アロケーション手段13は、メ
モリ空間アロケーション要求手段10から要求された最
小アロケーションサイズ、キャッシュラインサイズ認識
手段11から通知されたキャッシュラインサイズ、及び
キャッシュラインアラインメント認識手段12から通知
されたキャッシュラインアラインメントに基づいて、バ
ストランザクションの発生が最低限にできるようにメモ
リアロケーションを行なう。すなわち、メモリ空間アロ
ケーション手段13は、後述する式(3)で求められる
数のキャッシュラインに収まるように、メモリアロケー
ションを行なう。
【0062】((メモリ空間最小アロケーション要求サ
イズ+キャッシュラインサイズ−1)÷キャッシュライ
ンサイズ)×キャッシュラインサイズ …(3) 図6は第2実施例において、メモリ空間アロケーション
手段13によって、メモリ空間がアロケーションされる
処理の様子を示す図である。図6では、第1実施例と同
様に、1ワードが4バイト、1キャッシュラインが16
バイトとして説明する。
【0063】まず、メモリ空間アロケーション手段13
は、メモリ空間アロケーション要求手段10から、最小
アロケーション要求サイズとして、例えば4バイトが指
定されると、前述した式(3)で求められる数に基づい
て、図6中52に示すように例えば“0000”番地か
らの1キャッシュライン(16バイト)のメモリ空間が
アロケーションされる。
【0064】また、メモリ空間アロケーション手段13
は、メモリ空間アロケーション要求手段10から、最小
アロケーション要求サイズとして、例えば20バイトが
指定されると、アロケーション要求を行なった場合で、
前述した式(3)で求められる数に基づいて、図6中5
3に示すように例えば“0020”番地からの2キャッ
シュライン(32バイト)のメモリ空間がアロケーショ
ンされる。
【0065】このようにして、キャッシュライン単位
で、最低限必要となる数のキャッシュラインにメモリ空
間をアロケーションするので、1キャッシュライン中に
複数のデータがアロケーションされることがなく、第1
実施例と同様に、データの一貫性を保つスヌープ機能の
ために不必要なデータの移動の発生を押さえることがで
きる。
【0066】次に、本発明の第3実施例について説明す
る。第3実施例は、本発明によるメモリアロケーション
方法をコンパイラ/リンカに適用したものである。図7
(a)はグループ化された変数領域を宣言できるプログ
ラミング言語としてC言語における例を示したものであ
る。図7(a)ではグループ化された変数領域「gro
up」のサイズを12バイトとする。
【0067】図7(a)に示すような3個のint型変
数を含む構造体は、そのサイズが12バイトなので、従
来のメモリアロケーション方式では例えば図7(b)中
63に示すように、2個のキャッシュブロックに跨るよ
うにアロケーションされることがある。
【0068】本発明の第3実施例におけるメモリアロケ
ーション方法を適用したコンパイラ/リンカは、図7
(a)に示すような指示に対し、この構造体を収めるた
めに必要なキャッシュライン数を、以下の式(4)で求
める。
【0069】(グループ化された変数領域のサイズ+キ
ャッシュラインサイズ−1)÷キャッシュラインサイズ
…(4) 第3実施例におけるコンパイラ/リンカは、前述した式
(4)で求められた、メモリ空間のアロケーションを行
なうために必要なキャッシュライン数、すなわち必要最
低限のキャッシュライン数を求めると、その数のキャッ
シュラインに治まるように、例えば図7(b)中64,
65に示すように、「group」のアロケーションを
強制して行なう。
【0070】このようにして、プログラム中で定義され
た領域をアロケーションする際に、必要なサイズに基づ
いて、アロケーションに必要な最低限のキャッシュライ
ン数を求め、求めた数のキャッシュラインに領域を強制
的にアロケーションするので、異なるプロセッサのキャ
ッシュに格納された共通するデータに対して、更新等の
処理が施された場合に、データの一貫性を保つスヌープ
機能のために、キャッシュ間でデータの受け渡しが行な
う必要があっても、バスのトラフィック量を最低限に押
さえることができる。
【0071】なお、アロケーション済みのキャッシュラ
インの残り部分の空き領域について、後のメモリ空間の
アロケーションに使用すべきか否かを判別し、後のアロ
ケーションに考慮することができる。
【0072】この場合、メモリ空間のアロケーションを
行なった後、メモリ空間をアロケーションしたキャッシ
ュラインを後のアロケーションの際に使用すべきか否か
を、以下の式(5)を用いて判別する。
【0073】(((グループ化された変数領域のサイズ
+キャッシュラインサイズ−1)÷キャッシュラインサ
イズ)×キャッシュラインサイズ)−グループ化された
変数領域のサイズ) …(5) すなわち、既にアロケーション済みであるキャッシュラ
インの、アロケーションされていない残りの部分のサイ
ズを、前述した式(5)から求めている。
【0074】ここで、残り部分のキャッシュラインサイ
ズが、予め設定されたキャッシュラインサイズに対する
割合、すなわちN%(N=0〜100)に達するか否か
によって判別する。
【0075】ここでは例えば、予め設定されたキャッシ
ュラインサイズに対する割合を70%とすると、前述し
た(5)式によって求めた残り部分のキャッシュライン
サイズが70%に達する場合には、そのキャッシュライ
ンの残りの部分は使用しないものとして扱う。
【0076】例えば、図8中72に示すようなアロケー
ションがされた場合には、キャッシュラインの50%し
か使用されていないので、残りの部分(8バイト)は他
のメモリアロケーションのために使用するものとして判
別する。
【0077】また、図8中73に示すようなアロケーシ
ョンがされた場合には、キャッシュラインの75%が使
用されているので、残りの部分(4バイト)は他のメモ
リアロケーションのために使用しないものとして判別す
る。
【0078】そして、キャッシュラインに対する判別結
果を保持し、後のアロケーション要求に対して、メモリ
空間をアロケーションする際に考慮し、使用すると判別
したキャッシュラインの残り空間をアロケーションに用
いる。
【0079】このようにして、キャッシュに変数領域等
をアロケーションする場合に、キャッシュライン数が最
も少なくなるようにメモリ空間のアロケーションを行な
う。このため、データの一貫性を保つスヌープ機能のた
めに、キャッシュ間でデータの受け渡しが行なう必要が
あっても、バスのトラフィック量を最低限に押さえるこ
とができる。
【0080】また、データ毎にアロケーションの対象と
するキャッシュラインを別にすることにより、データの
一貫性を保つための不必要なデータの移動をなくすこと
ができる。また、キャッシュラインの残りの空き領域が
大きければ、この領域を後のアロケーションに用いるこ
とでキャッシュの効率的な利用が可能となる。
【0081】次に、第4実施例について説明する。第4
実施例は、本発明によるメモリアロケーション方式をコ
ンパイラ/リンカに適用したものである。図9(a)は
グループ化された変数領域を宣言できるプログラミング
言語としてC言語における例を示したものである。
【0082】通常ならば、図9(a)で示される構造体
のサイズは12バイトなので、従来のメモリアロケーシ
ョン方式では、構造体の3個の配列をアロケーションす
ると、図9(b)中83に示すように、キャッシュライ
ンに跨ってしまう構造体ができる。
【0083】本発明の第4実施例におけるメモリアロケ
ーション方法を適用したコンパイラ/リンカは、図9
(a)に示すような定義に対し、この構造体が以下の式
(6)で求められる数のキャッシュラインに収まるよう
にメモリアロケーションを行なう。
【0084】((グループ化された変数領域のサイズ+
キャッシュラインサイズ−1)÷キャッシュラインサイ
ズ)×キャッシュラインサイズ …(6) 第6実施例におけるコンパイラ/リンカは、例えば図9
(b)中84に示すように、前述した式(6)で求めら
れたメモリ空間のアロケーションを行なうために必要な
キャッシュライン数、すなわち必要最低限のライン数の
キャッシュラインに収まるように、構造体のサイズを切
り上げてメモリ空間をアロケーションする。
【0085】これにより、構造体のサイズは16バイト
となり、構造体の3個の配列をアロケーションしても、
キャッシュラインに跨ってしまう構造体はできなくな
る。従って、データの一貫性を保つスヌープ機能のため
に不必要なデータの移動の発生を押さえることができ
る。
【0086】なお、前述した実施例におけるシステム
は、1段階のキャッシュしか持たないものとして説明し
ているが、プロセッサ毎に多段階のキャッシュを持った
コンピュータシステムにも適用可能である。このような
システムの場合には、キャッシュの各段毎に本発明によ
るメモリアロケーション方式を適用していくと、より効
果的である。
【0087】
【発明の効果】以上のように本発明によれば、プロセッ
サがキャッシュを持ったマルチプロセッサシステムにお
いて、メモリアロケーションを行なう場合にキャッシュ
ラインを考慮することにより、バストランザクションの
発生を低減させることが可能となるものである。
【図面の簡単な説明】
【図1】本発明の第1実施例に係わるマルチプロセッサ
システムの概略構成を示すブロック図。
【図2】本発明の第1実施例におけるメモリアロケーシ
ョン制御手段5aの構成を示すブロック図。
【図3】本発明の第1実施例におけるメモリアロケーシ
ョンの動作を説明するためのフローチャート。
【図4】本発明の第1実施例によりメモリ空間がアロケ
ーションされる処理の様子を示す図。
【図5】メモリ空間がアロケーションされた様子を示す
図。
【図6】本発明の第2実施例においてメモリ空間がアロ
ケーションされる処理の様子を示す図。
【図7】本発明の第3実施例を適用したメモリアロケー
ションの説明図。
【図8】メモリ空間がアロケーションされた様子を示す
図。
【図9】本発明の第4実施例においてメモリ空間がアロ
ケーションされる処理の様子を示す図。
【図10】マルチプロセッサシステムにおけるスヌープ
機能を説明するための図。
【図11】キャッシュラインを持ったマルチプロセッサ
におけるスヌープ機能を説明するための図。
【符号の説明】
10…メモリ空間アロケーション手段、10a…指示手
段、11…キャッシュラインサイズ認識手段、12…キ
ャッシュラインアラインメント認識手段、13…メモリ
空間アロケーション手段、14…メモリ空間アロケーシ
ョン結果通知手段。

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 キャッシュをもつ複数のプロセッサが設
    けられ、前記プロセッサで実行されるプロセスが、メモ
    リに対するメモリ空間のアロケーションを行なうマルチ
    プロセッサシステムにおいて、 前記メモリに対するメモリ空間のアロケーション要求と
    共にアロケーション要求サイズを指定するためのメモリ
    空間アロケーション要求手段と、 システム中のデータ交換の単位となるキャッシュライン
    のサイズを認識するためのキャッシュラインサイズ認識
    手段と、 前記キャッシュラインのアラインメントを認識するため
    のキャッシュラインアラインメント認識手段と、 前記メモリ空間アロケーション要求手段によって指定さ
    れたアロケーション要求サイズ、前記キャッシュライン
    サイズ認識手段によって認識されたキャッシュラインサ
    イズ、及び前記キャッシュラインアラインメント認識手
    段によって認識されたキャッシュラインのアラインメン
    トに基づいて、データ交換の際のキャッシュライン数が
    最低限となるとなるように、メモリ空間のアロケーショ
    ンを行なうメモリ空間アロケーション手段と、 を具備したことを特徴とするマルチプロセッサシステ
    ム。
  2. 【請求項2】 前記メモリ空間アロケーション手段は、 前記メモリ空間アロケーション要求手段によって指定さ
    れたアロケーション要求サイズ、及び前記キャッシュラ
    インサイズ認識手段によって認識されたキャッシュライ
    ンサイズに基づいて、アロケーション済みの前記キャッ
    シュラインの残りの部分がキャッシュラインサイズのN
    %(N=0〜100の範囲で任意に設定される値)に達
    するか否かを判別し、前記残りの部分を使用するか否か
    を決定することを特徴とする請求項1記載のマルチプロ
    セッサシステム。
  3. 【請求項3】 キャッシュをもつ複数のプロセッサが設
    けられ、前記プロセッサで実行されるプロセスが、メモ
    リに対するメモリ空間のアロケーションを行なうマルチ
    プロセッサシステムにおいて、 前記メモリに対するメモリ空間のアロケーション要求と
    共にメモリ空間の最小アロケーション要求サイズを指定
    するためのメモリ空間アロケーション要求手段と、 システム中のデータ交換の単位となるキャッシュライン
    のサイズを認識するためのキャッシュラインサイズ認識
    手段と、 前記キャッシュラインのアラインメントを認識するため
    のキャッシュラインアラインメント認識手段と、 前記メモリ空間アロケーション要求手段によって指定さ
    れた最小アロケーション要求サイズ、前記キャッシュラ
    インサイズ認識手段によって認識されたキャッシュライ
    ンサイズ、及び前記キャッシュラインアラインメント認
    識手段によって認識されたキャッシュラインのアライン
    メントに基づいて、前記最小アロケーション要求サイズ
    をキャッシュライン単位で切り上げてキャッシュライン
    のアラインメントされた位置からメモリ空間をアロケー
    ションするメモリ空間アロケーション手段と、 を具備したことを特徴とするマルチプロセッサシステ
    ム。
  4. 【請求項4】 前記メモリ空間アロケーション要求手段
    は、アロケーション要求毎に、前記メモリ空間アロケー
    ション手段に対して、前記キャッシュラインサイズ認識
    手段によって認識されたキャッシュラインサイズを考慮
    したメモリ空間のアロケーションの実行を指示できるこ
    とを特徴とする請求項1または請求項3記載のマルチプ
    ロセッサシステム。
  5. 【請求項5】 キャッシュをもつ複数のプロセッサが設
    けられたコンピュータシステムを対象として実行される
    ものであって、グループ化された変数領域を宣言できる
    プログラミング言語に基づくメモリアロケーション方法
    において、 前記グループ化された変数領域のサイズ、前記コンピュ
    ータシステムにおけるキャッシュラインサイズ、及び前
    記コンピュータシステムのキャッシュラインのアライン
    メントを認識し、 前記変数領域のサイズ、前記キャッシュラインサイズ、
    及び前記キャッシュラインアラインメントに基づいて、
    データ交換の際のキャッシュライン数が最低限となると
    なるように、グループ化された変数領域についてのメモ
    リ空間のアロケーションを行なうことを特徴とするメモ
    リアロケーション方法。
  6. 【請求項6】 前記グループ化された変数領域のサイ
    ズ、及び前記コンピュータシステムにおけるキャッシュ
    ラインサイズに基づいて、アロケーション済みのキャッ
    シュラインの残りの部分がキャッシュラインサイズのN
    %(N=0〜100の範囲で任意に設定される値)に達
    するか否かを判別し、前記残りの部分を使用するか否か
    を決定することを特徴とする請求項5記載のメモリアロ
    ケーション方法。
  7. 【請求項7】 キャッシュをもつ複数のプロセッサが設
    けられたコンピュータシステムを対象として実行される
    ものであって、グループ化された変数領域を宣言できる
    プログラミング言語に基づくメモリアロケーション方法
    において、 前記グループ化された変数領域のサイズ、前記コンピュ
    ータシステムにおけるキャッシュラインサイズ、及び前
    記コンピュータシステムのキャッシュラインのアライン
    メントを認識し、 前記変数領域のサイズ、前記キャッシュラインサイズ、
    及び前記キャッシュラインアラインメントに基づいて、
    前記グループ化された変数領域に対してアロケーション
    されるメモリ空間をキャッシュライン単位で切り上げ
    て、キャッシュラインのアラインメントされた位置から
    メモリ空間をアロケーションすることを特徴とするメモ
    リアロケーション方法。
  8. 【請求項8】 前記グループ化された変数領域毎に、キ
    ャッシュラインサイズを考慮したメモリ空間のアロケー
    ションを実行することを特徴とする請求項5または請求
    項7記載のメモリアロケーション方法。
JP6088445A 1994-04-26 1994-04-26 マルチプロセッサシステム及びメモリアロケーション方法 Expired - Fee Related JP2778913B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6088445A JP2778913B2 (ja) 1994-04-26 1994-04-26 マルチプロセッサシステム及びメモリアロケーション方法
US08/768,590 US5715430A (en) 1994-04-26 1996-12-18 Multiprocessor computer system and a method for memory allocation to optimize cache coherency within the system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6088445A JP2778913B2 (ja) 1994-04-26 1994-04-26 マルチプロセッサシステム及びメモリアロケーション方法

Publications (2)

Publication Number Publication Date
JPH07295884A JPH07295884A (ja) 1995-11-10
JP2778913B2 true JP2778913B2 (ja) 1998-07-23

Family

ID=13943009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6088445A Expired - Fee Related JP2778913B2 (ja) 1994-04-26 1994-04-26 マルチプロセッサシステム及びメモリアロケーション方法

Country Status (2)

Country Link
US (1) US5715430A (ja)
JP (1) JP2778913B2 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134708A (en) * 1997-02-13 2000-10-17 Nec Corporation Program compilation execution system
US6058456A (en) * 1997-04-14 2000-05-02 International Business Machines Corporation Software-managed programmable unified/split caching mechanism for instructions and data
US5966733A (en) * 1997-06-24 1999-10-12 Hewlett-Packard Company Optimizing data movement with hardware operations
US6317816B1 (en) * 1999-01-29 2001-11-13 International Business Machines Corporation Multiprocessor scaleable system and method for allocating memory from a heap
US6684393B1 (en) 1999-01-29 2004-01-27 International Business Machines Corporation Compilation method and system to reuse memory storage instead of allocating it
US6442597B1 (en) 1999-07-08 2002-08-27 International Business Machines Corporation Providing global coherence in SMP systems using response combination block coupled to address switch connecting node controllers to memory
US6467012B1 (en) 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US6779036B1 (en) * 1999-07-08 2004-08-17 International Business Machines Corporation Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system
US6591348B1 (en) 1999-09-09 2003-07-08 International Business Machines Corporation Method and system for resolution of transaction collisions to achieve global coherence in a distributed symmetric multiprocessor system
US6438560B1 (en) 1999-09-16 2002-08-20 International Business Machines Corporation Reuse of immutable objects during object creation
US6750872B1 (en) * 1999-09-17 2004-06-15 S3 Graphics, Co., Ltd. Dynamic allocation of texture cache memory
US6725307B1 (en) 1999-09-23 2004-04-20 International Business Machines Corporation Method and system for controlling data transfers with physical separation of data functionality from address and control functionality in a distributed multi-bus multiprocessor system
US6587930B1 (en) 1999-09-23 2003-07-01 International Business Machines Corporation Method and system for implementing remstat protocol under inclusion and non-inclusion of L1 data in L2 cache to prevent read-read deadlock
US6457085B1 (en) 1999-11-04 2002-09-24 International Business Machines Corporation Method and system for data bus latency reduction using transfer size prediction for split bus designs
US6606676B1 (en) 1999-11-08 2003-08-12 International Business Machines Corporation Method and apparatus to distribute interrupts to multiple interrupt handlers in a distributed symmetric multiprocessor system
US6542949B1 (en) 1999-11-08 2003-04-01 International Business Machines Corporation Method and apparatus for increased performance of a parked data bus in the non-parked direction
US6529990B1 (en) 1999-11-08 2003-03-04 International Business Machines Corporation Method and apparatus to eliminate failed snoops of transactions caused by bus timing conflicts in a distributed symmetric multiprocessor system
US6684279B1 (en) 1999-11-08 2004-01-27 International Business Machines Corporation Method, apparatus, and computer program product for controlling data transfer
US6535941B1 (en) 1999-11-08 2003-03-18 International Business Machines Corporation Method and apparatus for avoiding data bus grant starvation in a non-fair, prioritized arbiter for a split bus system with independent address and data bus grants
US7529799B2 (en) 1999-11-08 2009-05-05 International Business Machines Corporation Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
US6523076B1 (en) 1999-11-08 2003-02-18 International Business Machines Corporation Method and apparatus for synchronizing multiple bus arbiters on separate chips to give simultaneous grants for the purpose of breaking livelocks
US6516379B1 (en) 1999-11-08 2003-02-04 International Business Machines Corporation Method and apparatus for transaction pacing to reduce destructive interference between successive transactions in a distributed symmetric multiprocessor system
US6356983B1 (en) 2000-07-25 2002-03-12 Src Computers, Inc. System and method providing cache coherency and atomic memory operations in a multiprocessor computer architecture
US6807608B2 (en) 2002-02-15 2004-10-19 International Business Machines Corporation Multiprocessor environment supporting variable-sized coherency transactions
US7339837B2 (en) * 2004-05-18 2008-03-04 Infineon Technologies Ag Configurable embedded processor
JP2005339299A (ja) * 2004-05-28 2005-12-08 Hitachi Ltd ストレージ装置のキャッシュ制御方法
US7437618B2 (en) * 2005-02-11 2008-10-14 International Business Machines Corporation Method in a processor for dynamically during runtime allocating memory for in-memory hardware tracing
US7421619B2 (en) * 2005-02-11 2008-09-02 International Business Machines Corporation Method in a processor for performing in-memory tracing using existing communication paths
US7437617B2 (en) * 2005-02-11 2008-10-14 International Business Machines Corporation Method, apparatus, and computer program product in a processor for concurrently sharing a memory controller among a tracing process and non-tracing processes using a programmable variable number of shared memory write buffers
US7418629B2 (en) * 2005-02-11 2008-08-26 International Business Machines Corporation Synchronizing triggering of multiple hardware trace facilities using an existing system bus
US20060227788A1 (en) * 2005-03-29 2006-10-12 Avigdor Eldar Managing queues of packets
US8321651B2 (en) * 2008-04-02 2012-11-27 Qualcomm Incorporated System and method for memory allocation in embedded or wireless communication systems
JP5225010B2 (ja) * 2008-10-14 2013-07-03 キヤノン株式会社 プロセッサ間通信方法、マルチプロセッサシステム及びプロセッサ。
KR101592974B1 (ko) * 2009-03-27 2016-02-12 삼성전자주식회사 복수의 프로세서들을 포함하는 시스템 장치 및 그 변수 선언 및 사용 방법
JP5283128B2 (ja) 2009-12-16 2013-09-04 学校法人早稲田大学 プロセッサによって実行可能なコードの生成方法、記憶領域の管理方法及びコード生成プログラム
KR101463536B1 (ko) * 2012-11-30 2014-11-19 성균관대학교산학협력단 메모리 관리 장치, 방법 및 시스템
CN105677583B (zh) * 2015-12-31 2019-01-08 华为技术有限公司 一种缓存管理方法及装置
JP6944107B2 (ja) 2017-07-11 2021-10-06 富士通株式会社 情報処理装置、情報処理システム及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095424A (en) * 1986-10-17 1992-03-10 Amdahl Corporation Computer system architecture implementing split instruction and operand cache line-pair-state management
US5222225A (en) * 1988-10-07 1993-06-22 International Business Machines Corporation Apparatus for processing character string moves in a data processing system
US5019965A (en) * 1989-02-03 1991-05-28 Digital Equipment Corporation Method and apparatus for increasing the data storage rate of a computer system having a predefined data path width
US5130922A (en) * 1989-05-17 1992-07-14 International Business Machines Corporation Multiprocessor cache memory system using temporary access states and method for operating such a memory
US5113514A (en) * 1989-08-22 1992-05-12 Prime Computer, Inc. System bus for multiprocessor computer system
US5170477A (en) * 1989-10-31 1992-12-08 Ibm Corporation Odd boundary address aligned direct memory acess device and method
CA2044689A1 (en) * 1990-06-15 1991-12-16 Roger E. Tipley Multilevel inclusion in multilevel cache hierarchies
EP0468831B1 (en) * 1990-06-29 1997-10-15 Digital Equipment Corporation Bus protocol for write-back cache processor
JPH04353947A (ja) * 1991-02-13 1992-12-08 Hewlett Packard Co <Hp> メモリページ特性タグ付けシステム
US5313609A (en) * 1991-05-23 1994-05-17 International Business Machines Corporation Optimum write-back strategy for directory-based cache coherence protocols
US5335332A (en) * 1991-12-24 1994-08-02 International Business Machines Corporation Method and system for stack memory alignment utilizing recursion
US5511226A (en) * 1992-08-25 1996-04-23 Intel Corporation System for generating snoop addresses and conditionally generating source addresses whenever there is no snoop hit, the source addresses lagging behind the corresponding snoop addresses
US5434993A (en) * 1992-11-09 1995-07-18 Sun Microsystems, Inc. Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories

Also Published As

Publication number Publication date
JPH07295884A (ja) 1995-11-10
US5715430A (en) 1998-02-03

Similar Documents

Publication Publication Date Title
JP2778913B2 (ja) マルチプロセッサシステム及びメモリアロケーション方法
US5029070A (en) Coherent cache structures and methods
US4928225A (en) Coherent cache structures and methods
US20020062352A1 (en) Multiprocessor system and control method thereof
JP2837341B2 (ja) ディスクアレイ用キャッシュシステム
US5829052A (en) Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
JPH02178756A (ja) マルチプロセッサ作業スケジュールシステム
US20060064518A1 (en) Method and system for managing cache injection in a multiprocessor system
US5825649A (en) Kernel substitution method in multi-processor system and multi-processor system having kernel substitution function
US5295265A (en) Device for enhancing the performance of a real time executive kernel associated with a multiprocessor structure that can include a large number of processors
US6721948B1 (en) Method for managing shared tasks in a multi-tasking data processing system
JPH0922384A (ja) キャッシュ付きマルチプロセッサシステムのための分散型デーキャッシュ
JPWO2008114415A1 (ja) マルチプロセッシングシステム
JP5168800B2 (ja) マルチプロセッサシステム
JPH09146904A (ja) アドレス空間共有システム
JP4506292B2 (ja) キャッシュ制御方法およびデータ処理システム並びにその処理プログラム
JPH06309231A (ja) キャッシュメモリ制御方法
JPH04140860A (ja) マルチプロセッサにおけるバス制御方法
JPH09190375A (ja) 共有メモリ管理方法
US20230042247A1 (en) Shared unit instruction execution
JP3381080B2 (ja) 処理の中断が可能な排他制御方式
JP2926873B2 (ja) 計算機システム
JPS63167953A (ja) マルチプロセツサシステム
JPH09265405A (ja) 共有資源の排他アクセス方法
JPH03282756A (ja) 非同期入出力方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees