JPH04205237A - メモリアクセス方式 - Google Patents
メモリアクセス方式Info
- Publication number
- JPH04205237A JPH04205237A JP33089390A JP33089390A JPH04205237A JP H04205237 A JPH04205237 A JP H04205237A JP 33089390 A JP33089390 A JP 33089390A JP 33089390 A JP33089390 A JP 33089390A JP H04205237 A JPH04205237 A JP H04205237A
- Authority
- JP
- Japan
- Prior art keywords
- address
- memory
- processors
- storage means
- access
- 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
Links
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
本発明はメモリアクセス方式に関し、特に、マルチプロ
セッサシステムに使用されるメモリアクセス方式に関す
るものである。
セッサシステムに使用されるメモリアクセス方式に関す
るものである。
[従来の技術]
従来、マルチプロセッサシステム(以下、システムとい
う)においては、全てのプロセッサからアクセスされる
共有メモリを有する構成、また処理効率の向上のため共
有メモリに加えて各プロセッサに付属する固有メモリを
有する構成が一般的であった。この共有メモリは1つの
記憶装置に全てのメモリを集中配置する構成、各プロセ
ッサに対応するよう複数の記憶装置に共有メモリを分散
配置する構成、及びその中間形態とがあった。
う)においては、全てのプロセッサからアクセスされる
共有メモリを有する構成、また処理効率の向上のため共
有メモリに加えて各プロセッサに付属する固有メモリを
有する構成が一般的であった。この共有メモリは1つの
記憶装置に全てのメモリを集中配置する構成、各プロセ
ッサに対応するよう複数の記憶装置に共有メモリを分散
配置する構成、及びその中間形態とがあった。
[発明が解決しようとしている課題]
しかしながら、共有メモリを集中配置する構成のシステ
ムでは、複数プロセッサからのメモリアクセス競合が発
生し、バスネックあるいはメモリネックのために処理効
率が低下するという問題が生じていた。この問題を解決
するため、−船釣番こは各プロセッサに付属する固有メ
モリを追加したシステムが使用されているが、この固有
メモ’J 41他のプロセッサからアクセスすることが
できなl/Aため、共有データを固有メモリに格納する
ことはできないという問題があった。仮に固有メモする
こ共有データを格納する場合、他のプロセッサに付属す
る固有メモリに存在する可能性のある共有データとの一
貫性保持のために、プロセッサ間通信を頻繁に行わねば
ならず、そのためにシステムに余分な負荷がかかるとい
う別の問題が生じてしまた。
ムでは、複数プロセッサからのメモリアクセス競合が発
生し、バスネックあるいはメモリネックのために処理効
率が低下するという問題が生じていた。この問題を解決
するため、−船釣番こは各プロセッサに付属する固有メ
モリを追加したシステムが使用されているが、この固有
メモ’J 41他のプロセッサからアクセスすることが
できなl/Aため、共有データを固有メモリに格納する
ことはできないという問題があった。仮に固有メモする
こ共有データを格納する場合、他のプロセッサに付属す
る固有メモリに存在する可能性のある共有データとの一
貫性保持のために、プロセッサ間通信を頻繁に行わねば
ならず、そのためにシステムに余分な負荷がかかるとい
う別の問題が生じてしまた。
さらに共有メモリを分散配置する構成の場合、プロセッ
サとメモリを対として1つの単位(以下、PUという)
とする場合が多く、PUごと心こユニット番号(以下、
PU−IDという)を設け、PU間でメモリアドレスの
競合が発生しなし1ようPU−I DとPU内のメモリ
アドレスからシステムの共有メモリアドレスを決定して
いた。つまり、システム起動時にシステム構成に従って
、共有メモリのアドレスがシステム全体で共通するアド
レスとなるようにメモリ配置を行っていた。
サとメモリを対として1つの単位(以下、PUという)
とする場合が多く、PUごと心こユニット番号(以下、
PU−IDという)を設け、PU間でメモリアドレスの
競合が発生しなし1ようPU−I DとPU内のメモリ
アドレスからシステムの共有メモリアドレスを決定して
いた。つまり、システム起動時にシステム構成に従って
、共有メモリのアドレスがシステム全体で共通するアド
レスとなるようにメモリ配置を行っていた。
−しかしながらこのようなシステム構成では、例えば、
8PUのシステムの場合、IPUの故障により、物理メ
モリ空間上に歯抜けが生じてしまうのでシステムの再構
成や再起動が必要となる欠点があった。
8PUのシステムの場合、IPUの故障により、物理メ
モリ空間上に歯抜けが生じてしまうのでシステムの再構
成や再起動が必要となる欠点があった。
本発明は上記従来例に鑑みてなされたもので、マルチプ
ロセッサシステムにおいて、各プロセッサ専用メモリに
対するアクセスを可能とするメモリアクセス方式を提供
することを目的とする。
ロセッサシステムにおいて、各プロセッサ専用メモリに
対するアクセスを可能とするメモリアクセス方式を提供
することを目的とする。
[課題を解決するための手段]
上記目的を達成するために本発明のメモリアクセス方式
は以下の様な構成からなる。即ち、マルチプロセッサシ
ステムにおいて、複数のプロセッサ各々に付属した記憶
手段と、前記複数のブ9セッサの間で互いに情報を交換
するための経路として使用する情報伝達手段と、前記複
数のプロセッサ各々にあって、前記複数のプロセッサの
1つが他のプロセッサに付属する前記記憶手段にアクセ
スするために記憶アドレスのアドレス変換を行う第1の
アドレス変換手段と、前記複数のプロセッサ各々にあっ
て、前記複数のプロセッサの1つに付属する前記記憶手
段に対して他のプロセッサからのアクセスを行わせるた
めに記憶アドレスのアドレス変換を行う第2のアドレス
変換手段と、前記複数のプロセッサ各々にあって、前記
記憶手段に対する、前記記憶手段が属するプロセッサか
らのアクセスと他のプロセッサからのアクセスを制御す
る制御手段とを設ける。
は以下の様な構成からなる。即ち、マルチプロセッサシ
ステムにおいて、複数のプロセッサ各々に付属した記憶
手段と、前記複数のブ9セッサの間で互いに情報を交換
するための経路として使用する情報伝達手段と、前記複
数のプロセッサ各々にあって、前記複数のプロセッサの
1つが他のプロセッサに付属する前記記憶手段にアクセ
スするために記憶アドレスのアドレス変換を行う第1の
アドレス変換手段と、前記複数のプロセッサ各々にあっ
て、前記複数のプロセッサの1つに付属する前記記憶手
段に対して他のプロセッサからのアクセスを行わせるた
めに記憶アドレスのアドレス変換を行う第2のアドレス
変換手段と、前記複数のプロセッサ各々にあって、前記
記憶手段に対する、前記記憶手段が属するプロセッサか
らのアクセスと他のプロセッサからのアクセスを制御す
る制御手段とを設ける。
[作用]
以上の構成により本発明は、プロセッサが有する第1の
アドレス変換手段と、プロセッサ間を接続している情報
伝達手段と、アクセスを望む記憶手段を有する他のプロ
セッサが有する第2のアドレス変換手段とを通じて他の
プロセッサの記憶手段に対してアクセスするよう動作す
る。
アドレス変換手段と、プロセッサ間を接続している情報
伝達手段と、アクセスを望む記憶手段を有する他のプロ
セッサが有する第2のアドレス変換手段とを通じて他の
プロセッサの記憶手段に対してアクセスするよう動作す
る。
[実施例]
以下添付図面を参照して本発明の好適な実施例を説明す
る。
る。
第1図は本発明の代表的な実施例であるマルチプロセッ
サシステムの構成を示すブロック図である。第1図にお
いて、1は各プロセッサからアクセスされる共有メモリ
、2は各プロセッサユニット(以下、PUという)と共
有メモリ1及び不図示のI10システム等が接続される
共通バス、3a〜3b等はPUである。また各PUは、
CPU4、キャッシュメモリ(以下、キャッシュという
)5、トランスレーションルックアサイドバッファ(以
下、TLBという)6、仮想アドレスから内部メモリア
ドレス(以下、内部アドレスという)にアドレス変換す
るページマツプii7、仮想アドレスをシステム共通中
間アドレスに変換するページマツプie8、システム共
通中間アドレスから内部アドレスに変換するページマツ
プei9、PU内部からの要求により発生したメモリア
クセスと、外部からの要求によって発生したメモリアク
セスを調停するアビータ10、他のPUから参照可能な
固有メモリ11から構成されている。
サシステムの構成を示すブロック図である。第1図にお
いて、1は各プロセッサからアクセスされる共有メモリ
、2は各プロセッサユニット(以下、PUという)と共
有メモリ1及び不図示のI10システム等が接続される
共通バス、3a〜3b等はPUである。また各PUは、
CPU4、キャッシュメモリ(以下、キャッシュという
)5、トランスレーションルックアサイドバッファ(以
下、TLBという)6、仮想アドレスから内部メモリア
ドレス(以下、内部アドレスという)にアドレス変換す
るページマツプii7、仮想アドレスをシステム共通中
間アドレスに変換するページマツプie8、システム共
通中間アドレスから内部アドレスに変換するページマツ
プei9、PU内部からの要求により発生したメモリア
クセスと、外部からの要求によって発生したメモリアク
セスを調停するアビータ10、他のPUから参照可能な
固有メモリ11から構成されている。
また、キャッシュ5はキャッシュタグやコンパレータ等
、キャッシュシステムを構成するのに必要なユニットを
包含しているものとする。本実施例では、キャッシュ5
はCPU4に外付けされる構成としているが、キャッシ
ュ内蔵型CPUを用いることもできる。
、キャッシュシステムを構成するのに必要なユニットを
包含しているものとする。本実施例では、キャッシュ5
はCPU4に外付けされる構成としているが、キャッシ
ュ内蔵型CPUを用いることもできる。
さてCPU4から発行された仮想アドレスは、キャッシ
ュ5、TLB6、ページマツプii7、及び、ページマ
ツプie8に与えられる0次に、CPU4から発行され
た仮想アドレスは、初めにキャッシュ5にヒツトするか
どうかキャッシュ5によって判別される。キャッシュ5
にヒツトした場合はTLB6、ページマツプii7、ペ
ージマツプie8でのアドレス変換は中止され、ヒツト
したデータをCPU4に転送するとともに、ライトヒツ
ト時にはキャッシュコヒーレンスプロトコルに従った情
報を共通バス2に伝達する。
ュ5、TLB6、ページマツプii7、及び、ページマ
ツプie8に与えられる0次に、CPU4から発行され
た仮想アドレスは、初めにキャッシュ5にヒツトするか
どうかキャッシュ5によって判別される。キャッシュ5
にヒツトした場合はTLB6、ページマツプii7、ペ
ージマツプie8でのアドレス変換は中止され、ヒツト
したデータをCPU4に転送するとともに、ライトヒツ
ト時にはキャッシュコヒーレンスプロトコルに従った情
報を共通バス2に伝達する。
これに対してキャッシュ5において、キャツシュヒツト
がなかった場合、さらに固有メモリ11に仮想アドレス
が存在するかどうかについて、その内部アドレスを保有
するTLB6で、CPU4から発行された仮想アドレス
が固有メモリ11に存在するかを判別する。ここでTL
B6に、その仮想アドレスに対応するエントリがあれば
、該仮想アドレスはTLB6で内部アドレスに変換され
アービタ10を経由して固有メモリ11に与えられる。
がなかった場合、さらに固有メモリ11に仮想アドレス
が存在するかどうかについて、その内部アドレスを保有
するTLB6で、CPU4から発行された仮想アドレス
が固有メモリ11に存在するかを判別する。ここでTL
B6に、その仮想アドレスに対応するエントリがあれば
、該仮想アドレスはTLB6で内部アドレスに変換され
アービタ10を経由して固有メモリ11に与えられる。
この時、同時にその旨がページマツプii7に通知され
内部アドレスへのアドレス変換が禁止される。さらに、
同じ通知がページマツプie8に伝達され、ページマツ
プie8によるアドレス変換が禁止される。
内部アドレスへのアドレス変換が禁止される。さらに、
同じ通知がページマツプie8に伝達され、ページマツ
プie8によるアドレス変換が禁止される。
TLB6のエントリに該仮想アドレスのエントリが存在
しない場合には、ページマツプii7を使用してアドレ
ス変換を行う。その変換は、メモリマネジメントユニッ
ト(MMU)がハードウェア的に実行してもCPU4を
介してソフトウェア的に実行しても良い。
しない場合には、ページマツプii7を使用してアドレ
ス変換を行う。その変換は、メモリマネジメントユニッ
ト(MMU)がハードウェア的に実行してもCPU4を
介してソフトウェア的に実行しても良い。
第2図は本実施例のアドレスマツピングの状態を示した
図である。第2図では仮想空間が24ビツトアドレシン
グアーキテクチユアに基づいてマツピングされるものと
している・ 第2図において、左側から順にPU (3a)で実行中
のプロセスの仮想空間、PU (3a)の内部空間(固
有メモリ11のアドレス空間)、中間実空間、PU(3
b)の内部空間(PU (3b)の固有メモリのアドレ
ス空間)、及び、共有メモリ1の実空間のアドレスマツ
ピングを各々示している。第2図によると、PU(3a
)で実行中プロセスの仮想空間アドレスのい(つかの部
分は、矢印群aによりPU (3a)の固有メモリ11
に対応する内部空間にマツピングされていることが示さ
れている。ここで矢印群aは、TLB6またはページマ
ツプii7を介して仮想空間と内部空間との間でアドレ
ス変換が行なわれていることを示す。
図である。第2図では仮想空間が24ビツトアドレシン
グアーキテクチユアに基づいてマツピングされるものと
している・ 第2図において、左側から順にPU (3a)で実行中
のプロセスの仮想空間、PU (3a)の内部空間(固
有メモリ11のアドレス空間)、中間実空間、PU(3
b)の内部空間(PU (3b)の固有メモリのアドレ
ス空間)、及び、共有メモリ1の実空間のアドレスマツ
ピングを各々示している。第2図によると、PU(3a
)で実行中プロセスの仮想空間アドレスのい(つかの部
分は、矢印群aによりPU (3a)の固有メモリ11
に対応する内部空間にマツピングされていることが示さ
れている。ここで矢印群aは、TLB6またはページマ
ツプii7を介して仮想空間と内部空間との間でアドレ
ス変換が行なわれていることを示す。
ページマツプie8はCPU4が現在実行しているプロ
セスの仮想空間をシステム全体の共通な中間実空間にマ
ツプする。中間実空間上には各PU内の固有メモリ、共
有メモリ1、及び、不図示のI10システムのI10空
間がマツピングされている。第2図の矢印群すに示され
ているように、PU(3a)で実行中のプロセスの仮想
空間アドレス及びその他の空間各々は、ページマツプi
e8の作用で中間実空間上では連続したアドレスとして
マツピングされる。
セスの仮想空間をシステム全体の共通な中間実空間にマ
ツプする。中間実空間上には各PU内の固有メモリ、共
有メモリ1、及び、不図示のI10システムのI10空
間がマツピングされている。第2図の矢印群すに示され
ているように、PU(3a)で実行中のプロセスの仮想
空間アドレス及びその他の空間各々は、ページマツプi
e8の作用で中間実空間上では連続したアドレスとして
マツピングされる。
このようにCPU4から発行された仮想アドレスが固有
メモリ11に存在しないと、該仮想アドレスはページマ
ツプie8を通して中間実空間上のアドレスに変換され
、ここではじめてPU3外部の共通バス2に中間実アド
レスが出力される。
メモリ11に存在しないと、該仮想アドレスはページマ
ツプie8を通して中間実空間上のアドレスに変換され
、ここではじめてPU3外部の共通バス2に中間実アド
レスが出力される。
さて、共通バス2に出力された中間実アドレスは、共有
メモリ1もしくは他のPUによって取り込まれる。この
ことを示しているのが第2図の矢印群Cと矢印dである
。ここで矢印群Cは中間実空間が各PU(ここではPU
3a〜3b)の固有メモリにページマツプei9の作用
によりマツプされることを示している。また矢印dは、
共有メモリ1の実空間アドレスが中間実空間アドレスと
同一アドレスを有するようにとられていることを示して
いる。
メモリ1もしくは他のPUによって取り込まれる。この
ことを示しているのが第2図の矢印群Cと矢印dである
。ここで矢印群Cは中間実空間が各PU(ここではPU
3a〜3b)の固有メモリにページマツプei9の作用
によりマツプされることを示している。また矢印dは、
共有メモリ1の実空間アドレスが中間実空間アドレスと
同一アドレスを有するようにとられていることを示して
いる。
まず共有メモリ1にそのアドレスに対応する部分の領域
が存在する場合について述べる。
が存在する場合について述べる。
CPU4から発生された仮想アドレスは、中間実空間上
の共有メモリ1がマツプされた空間の定められた領域を
示すようページマツプie8により中間実空間アドレス
に変換される。中間実空間アドレスは共通バス2を経由
して共有メモリ1に与えられる。
の共有メモリ1がマツプされた空間の定められた領域を
示すようページマツプie8により中間実空間アドレス
に変換される。中間実空間アドレスは共通バス2を経由
して共有メモリ1に与えられる。
次に、前記仮想空間アドレスに対応する部分の領域が別
のPU(ここでは、PU (3b))の固有メモリに存
在する場合を考える。
のPU(ここでは、PU (3b))の固有メモリに存
在する場合を考える。
PU (3b)の固有メモリ11はPU (3a)の固
有メモリ11と同様にPU (3b)に含まれるページ
マツプeiによって中間実空間上にマツピングされる。
有メモリ11と同様にPU (3b)に含まれるページ
マツプeiによって中間実空間上にマツピングされる。
それで、PU (3a)のページマツプie8にPU
(3b)のページマツプeiによって中間実空間上にマ
ツピングされたアドレスを準備してお(。このような状
態で、CPU4から発生された仮想アドレスは、中間実
空間上のPU (3b)がマツプした空間の定められた
領域を示すようPU (3a)のページマツプie8に
より中間実空間アドレスに変換される。中間実空間アド
レスは共通バス2を経由してPU (3b)に供給され
る。一方、PU (3b)ページマツプeiでは、中間
実空間アドレスをPU (3b)の内部アドレスに変換
し固有メモリに与える。このようにして、PU(3a)
で発行された仮想アドレスによりPU(3a)のページ
マツプie8とPU (3b)のページマツプeiを経
由することによって、PU(3b)の固有メモリをアク
セスできる。
(3b)のページマツプeiによって中間実空間上にマ
ツピングされたアドレスを準備してお(。このような状
態で、CPU4から発生された仮想アドレスは、中間実
空間上のPU (3b)がマツプした空間の定められた
領域を示すようPU (3a)のページマツプie8に
より中間実空間アドレスに変換される。中間実空間アド
レスは共通バス2を経由してPU (3b)に供給され
る。一方、PU (3b)ページマツプeiでは、中間
実空間アドレスをPU (3b)の内部アドレスに変換
し固有メモリに与える。このようにして、PU(3a)
で発行された仮想アドレスによりPU(3a)のページ
マツプie8とPU (3b)のページマツプeiを経
由することによって、PU(3b)の固有メモリをアク
セスできる。
以上説明したように、固有メモリ11はTLB6、ペー
ジマツプii7、及び、ページマツプei9の3つの経
路でアクセスされる。しかし、TLB6とページマツプ
ii7からのアクセスは排他的に発生するので、TLB
6またはページマツプii7を通じたPU内部からのア
クセスと、ページマツプ、ei9による外部からのアク
セス経路をもつことになる。
ジマツプii7、及び、ページマツプei9の3つの経
路でアクセスされる。しかし、TLB6とページマツプ
ii7からのアクセスは排他的に発生するので、TLB
6またはページマツプii7を通じたPU内部からのア
クセスと、ページマツプ、ei9による外部からのアク
セス経路をもつことになる。
本実施例においては、PU内部からのアクセスを優先す
るようアービタ10を使用させ、外部アクセスが実行中
であっても、そのサイクルの終了後、直ちに、内部アク
セスを割り込ませて優先的に実行し、内部アクセス動作
が終了後、外部アクセスを再開するように固有メモリへ
のアクセス優先権を制御している。
るようアービタ10を使用させ、外部アクセスが実行中
であっても、そのサイクルの終了後、直ちに、内部アク
セスを割り込ませて優先的に実行し、内部アクセス動作
が終了後、外部アクセスを再開するように固有メモリへ
のアクセス優先権を制御している。
従って本実施例に従うなら、共有メモリ1がマツプされ
た空間の定められた領域を示すアドレスと、PU (3
b)の固有メモリ(不図示)がマツピングされた中間実
空間を示すアドレスをPU(3a)のページマツプie
8に準備しておくことにより、PU(3a)のCPU4
で発生した仮想アドレスで共有メモリ1とPU (3b
)の固有メモリをアクセスすることができる。さらに、
固有メモリに対する自プロセッサからのアクセスを他プ
ロセツサからのアクセスに優先させることによって、自
プロセッサ内での処理効率の低下を防止することができ
る。
た空間の定められた領域を示すアドレスと、PU (3
b)の固有メモリ(不図示)がマツピングされた中間実
空間を示すアドレスをPU(3a)のページマツプie
8に準備しておくことにより、PU(3a)のCPU4
で発生した仮想アドレスで共有メモリ1とPU (3b
)の固有メモリをアクセスすることができる。さらに、
固有メモリに対する自プロセッサからのアクセスを他プ
ロセツサからのアクセスに優先させることによって、自
プロセッサ内での処理効率の低下を防止することができ
る。
[他の実施例]
前述の実施例においては、共有メモリは中間実空間と同
一アドレスにマツピングし、中間実空間から各PUの内
部空間へのアドレス変換には各領域のベースアドレスの
みをシフトさせ各領域それ自体は連続したアドレス空間
としてマツピングするものとして説明した。本実施例で
は共有メモリを、共有メモリと共通バスとの間に別のペ
ージマツプを置くことにより、さらに中間実空間を所定
の小さな処理単位(以下、ページという)ごとに取り扱
い、その単位ごとに任意の中間実空間を共有メモリの実
空間や各PUの内部空間にマツピングする例について説
明する。
一アドレスにマツピングし、中間実空間から各PUの内
部空間へのアドレス変換には各領域のベースアドレスの
みをシフトさせ各領域それ自体は連続したアドレス空間
としてマツピングするものとして説明した。本実施例で
は共有メモリを、共有メモリと共通バスとの間に別のペ
ージマツプを置くことにより、さらに中間実空間を所定
の小さな処理単位(以下、ページという)ごとに取り扱
い、その単位ごとに任意の中間実空間を共有メモリの実
空間や各PUの内部空間にマツピングする例について説
明する。
なお本実施例においては、共有メモリと共通バスとの間
に別のページマツプを設ける以外は前述の実施例で用い
たメモリアクセス装置と同じ構成の装置を用いるので、
装置参照番号は第1図と同じものを使用し、前述の実施
例と共通な装置各部の説明は省略する。
に別のページマツプを設ける以外は前述の実施例で用い
たメモリアクセス装置と同じ構成の装置を用いるので、
装置参照番号は第1図と同じものを使用し、前述の実施
例と共通な装置各部の説明は省略する。
第3図は本実施例で用いる共有メモリ12の構成を示す
図であり、メモリ部14と共通バス2との間にページマ
ツプem13を設けている。このページマツプe+n1
3により、共通バス2上の中間実アドレスがメモリ部1
4をアクセスするためにメモリ部14の内部アドレスに
変換される。
図であり、メモリ部14と共通バス2との間にページマ
ツプem13を設けている。このページマツプe+n1
3により、共通バス2上の中間実アドレスがメモリ部1
4をアクセスするためにメモリ部14の内部アドレスに
変換される。
第4図は本実施例におけるアドレス空間のマツピングを
示した図である。第4図を用いて、PU(3a)で実行
中のプロセスが共有メモリ12ヘアクセスする場合と、
PU (3b)の固有メモリへアクセスする場合につい
て説明する。
示した図である。第4図を用いて、PU(3a)で実行
中のプロセスが共有メモリ12ヘアクセスする場合と、
PU (3b)の固有メモリへアクセスする場合につい
て説明する。
まず、PU (3a)で実行中のプロセスの仮想空間の
ページは、ページマツプie8により、中間実空間アド
レスC0〜Cmaxの領域にアドレス変換される。次に
、中間実空間アドレスは共有メモリ12内部のページマ
ツプem13によりメモリ部14の内部アドレスに変換
される。このとき、メモリ部14への内部アドレス変換
はページ単位に実行されるので、ページサイズ単位に連
続したアドレスがメモリ部14に存在すれば、アドレス
変換は正常に実行される。従って、たとえ共有メモリ1
の一部に障害がありアクセス不能である場合(第4図の
共有メモリの実空間の[xxxx]で示す箇所)でも、
そこを使用せずとも中間実空間をマツプすることができ
る。
ページは、ページマツプie8により、中間実空間アド
レスC0〜Cmaxの領域にアドレス変換される。次に
、中間実空間アドレスは共有メモリ12内部のページマ
ツプem13によりメモリ部14の内部アドレスに変換
される。このとき、メモリ部14への内部アドレス変換
はページ単位に実行されるので、ページサイズ単位に連
続したアドレスがメモリ部14に存在すれば、アドレス
変換は正常に実行される。従って、たとえ共有メモリ1
の一部に障害がありアクセス不能である場合(第4図の
共有メモリの実空間の[xxxx]で示す箇所)でも、
そこを使用せずとも中間実空間をマツプすることができ
る。
次に、PU (3b)の固有メモリへアクセスする場合
について述べる。
について述べる。
まず、第4図に示すPU (3a)で実行中のプロセス
のテキストの一部のページ(SA)のアドレスは、ペー
ジマツプie8によるアドレス変換で中間実空間上の領
域(SC)のアドレスに変換される。次に、PU (3
b)のページマツプeiによりPU (3b)の固有メ
モリのある領域(SB)にマツプされる。本実施例では
、PU (3a)で実行中のプロセスの一部のページ、
特にプロセス実行のための共通領域を第4図に示す斜線
領域のようにPU (3a及び3b)のそれぞれの内部
空間にマツピングすることで、高速に応答可能な内部メ
モリを利用している。
のテキストの一部のページ(SA)のアドレスは、ペー
ジマツプie8によるアドレス変換で中間実空間上の領
域(SC)のアドレスに変換される。次に、PU (3
b)のページマツプeiによりPU (3b)の固有メ
モリのある領域(SB)にマツプされる。本実施例では
、PU (3a)で実行中のプロセスの一部のページ、
特にプロセス実行のための共通領域を第4図に示す斜線
領域のようにPU (3a及び3b)のそれぞれの内部
空間にマツピングすることで、高速に応答可能な内部メ
モリを利用している。
従って本実施例に従うなら、共有メモリ1の一部に障害
があり使用不能であったとしても、その障害部分を使用
せず中間実空間をマツプすることができるので、共有メ
モリ部分障害に起因するシステムダウンを防止すること
ができる。また、ページ単位で他PUの固有メモリをア
クセスできるので、効率的なメモリ資源利用が可能とな
る。
があり使用不能であったとしても、その障害部分を使用
せず中間実空間をマツプすることができるので、共有メ
モリ部分障害に起因するシステムダウンを防止すること
ができる。また、ページ単位で他PUの固有メモリをア
クセスできるので、効率的なメモリ資源利用が可能とな
る。
なお、以上2つの本実施例では、PU内部からの固有メ
モリのアクセスを外部からのアクセスに優先させる場合
について説明したが、本発明はこれに限定されるもので
はない。例えば、固有メモリアクセス権優先順位なPU
各々の負荷バランスを考慮して動的に制御することも可
能である。
モリのアクセスを外部からのアクセスに優先させる場合
について説明したが、本発明はこれに限定されるもので
はない。例えば、固有メモリアクセス権優先順位なPU
各々の負荷バランスを考慮して動的に制御することも可
能である。
即ち、処理分割不可能なプロセスAがマルチプロセッサ
システムの1つのPUだけで実行されているような場合
、そのプロセスを実行するPUの負荷だけが増大し、他
のPUはシステムの維持のための少量の負荷、例えば、
クロックやネットワーク管理等によるものだけとなる。
システムの1つのPUだけで実行されているような場合
、そのプロセスを実行するPUの負荷だけが増大し、他
のPUはシステムの維持のための少量の負荷、例えば、
クロックやネットワーク管理等によるものだけとなる。
このため、他のPUに付属する固有メモリへの内部cP
Uからのアクセス頻度は低下するので、その固有メモリ
がプロセスA実行のため、割り当てられているコトカあ
る。このような条件下では、プロセスAの処理効率を高
めるために、割り込み処理のような高速応答の必要があ
るプロセスを実行すべきPUを除いて、他のPUの固有
メモリのアクセス優先順位を外部アクセス優先になるよ
う動的に制御する。このことにより、大量にメモリを必
要とするプロセスを効率良く動作させることができ、メ
モリ資源の有効な活用が可能となる。
Uからのアクセス頻度は低下するので、その固有メモリ
がプロセスA実行のため、割り当てられているコトカあ
る。このような条件下では、プロセスAの処理効率を高
めるために、割り込み処理のような高速応答の必要があ
るプロセスを実行すべきPUを除いて、他のPUの固有
メモリのアクセス優先順位を外部アクセス優先になるよ
う動的に制御する。このことにより、大量にメモリを必
要とするプロセスを効率良く動作させることができ、メ
モリ資源の有効な活用が可能となる。
[発明の効果]
以上説明したように本発明によれば、マルチプロセッサ
システムにおいて、各プロセッサ専用の固有メモリが他
のプロセッサからアクセス可能となるので、メモリの使
用効率が向上するという効果がある。
システムにおいて、各プロセッサ専用の固有メモリが他
のプロセッサからアクセス可能となるので、メモリの使
用効率が向上するという効果がある。
第1図は本発明の代表的な実施例であるマルチプロセッ
サシステムの構成を示すブロック図、第2図はアドレス
空間のマツピングを示す図、第3図は他の実施例に従う
共有メモリの構成を示すブロック図、そして、 第4図は他の実施例に従うアドレス空間のマツピングを
示す図である。 図中、1・・・共有メモリ、2・・・共有バス、3a。 3b・・・プロセッサユニット、4・・・CPU、5・
・・キャッシュメモリ、6・・・TLB、7・・・ペー
ジマツプii、 8・・・ページマツプie、9・・・
ページマツプei、10・・・アービタ、11・・・固
有メモリ、13・・・ページマツプemである。 特許出願人 キャノン株式会社
サシステムの構成を示すブロック図、第2図はアドレス
空間のマツピングを示す図、第3図は他の実施例に従う
共有メモリの構成を示すブロック図、そして、 第4図は他の実施例に従うアドレス空間のマツピングを
示す図である。 図中、1・・・共有メモリ、2・・・共有バス、3a。 3b・・・プロセッサユニット、4・・・CPU、5・
・・キャッシュメモリ、6・・・TLB、7・・・ペー
ジマツプii、 8・・・ページマツプie、9・・・
ページマツプei、10・・・アービタ、11・・・固
有メモリ、13・・・ページマツプemである。 特許出願人 キャノン株式会社
Claims (3)
- (1)マルチプロセッサシステムにおいて、複数のプロ
セッサ各々に付属した記憶手段と、前記複数のプロセッ
サの間で互いに情報を交換するための経路として使用す
る情報伝達手段と、前記複数のプロセッサ各々にあつて
、前記複数のプロセッサの1つが他のプロセッサに付属
する前記記憶手段にアクセスするために記憶アドレスの
アドレス変換を行う第1のアドレス変換手段と、 前記複数のプロセッサ各々にあつて、前記複数のプロセ
ッサの1つに付属する前記記憶手段に対して他のプロセ
ッサからのアクセスを行わせるために記憶アドレスのア
ドレス変換を行う第2のアドレス変換手段と、 前記複数のプロセッサ各々にあつて、前記記憶手段に対
する、前記記憶手段が属するプロセッサからのアクセス
と他のプロセッサからのアクセスを制御する制御手段と
を設けたことを特徴とするメモリアクセス方式。 - (2)前記制御手段は前記記憶手段に対する前記記憶手
段が属するプロセッサからのアクセスを他のプロセッサ
からのアクセスに優先して実行するように制御すること
を特徴とする請求項第1項に記載のメモリアクセス方式
。 - (3)前記制御手段は前記記憶手段に対する前記記憶手
段が属するプロセッサからのアクセスと他のプロセッサ
からのアクセスとの優先順位を、マルチプロセッサシス
テム全体の負荷に応じて、動的に制御することを特徴と
する請求項第1項に記載のメモリアクセス方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33089390A JPH04205237A (ja) | 1990-11-30 | 1990-11-30 | メモリアクセス方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33089390A JPH04205237A (ja) | 1990-11-30 | 1990-11-30 | メモリアクセス方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04205237A true JPH04205237A (ja) | 1992-07-27 |
Family
ID=18237682
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33089390A Pending JPH04205237A (ja) | 1990-11-30 | 1990-11-30 | メモリアクセス方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04205237A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06274638A (ja) * | 1993-03-23 | 1994-09-30 | Fuji Xerox Co Ltd | 3バス接続システム |
-
1990
- 1990-11-30 JP JP33089390A patent/JPH04205237A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06274638A (ja) * | 1993-03-23 | 1994-09-30 | Fuji Xerox Co Ltd | 3バス接続システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0497600B1 (en) | Memory access method and apparatus | |
| US6725336B2 (en) | Dynamically allocated cache memory for a multi-processor unit | |
| US5274789A (en) | Multiprocessor system having distributed shared resources and dynamic and selective global data replication | |
| US7617376B2 (en) | Method and apparatus for accessing a memory | |
| US5502828A (en) | Reducing memory access in a multi-cache multiprocessing environment with each cache mapped into different areas of main memory to avoid contention | |
| EP3992802B1 (en) | Input/output device operational modes for a system with memory pools | |
| WO2008031678A1 (en) | Dmac address translation miss handling mechanism | |
| US6789168B2 (en) | Embedded DRAM cache | |
| US20030229721A1 (en) | Address virtualization of a multi-partitionable machine | |
| US5727179A (en) | Memory access method using intermediate addresses | |
| EP1103898A2 (en) | Microprocessor and memory | |
| JPH04205237A (ja) | メモリアクセス方式 | |
| JP2618223B2 (ja) | シングルチツプマイクロコンピユータ | |
| JPH04288643A (ja) | マルチプロセッサシステムのメモリマッピング方式 | |
| JPS60173655A (ja) | マルチプロセツサのメモリ方式 | |
| JP2005209206A (ja) | マルチプロセッサシステムにおけるデータ転送方法、マルチプロセッサシステム、及び、この方法を実施するプロセッサ | |
| US6721858B1 (en) | Parallel implementation of protocol engines based on memory partitioning | |
| JPH0427583B2 (ja) | ||
| JP2823038B2 (ja) | 論理ダイレクトメモリアクセス方式 | |
| JPWO2012127534A1 (ja) | バリア同期方法、バリア同期装置及び演算処理装置 | |
| JP2003348183A (ja) | 通信制御装置 | |
| JP4214521B2 (ja) | 情報処理システム及びマルチプロセッサ・システム | |
| KR950009411Y1 (ko) | 시분할에 의한 다중 프로세서의 메모리 공유회로 | |
| JPS6043756A (ja) | メモリ管理方式 | |
| WO2006011063A2 (en) | Dmac issue mechanism via streaming id method |