[go: up one dir, main page]

JP2001243115A - 計算機システム - Google Patents

計算機システム

Info

Publication number
JP2001243115A
JP2001243115A JP2000053430A JP2000053430A JP2001243115A JP 2001243115 A JP2001243115 A JP 2001243115A JP 2000053430 A JP2000053430 A JP 2000053430A JP 2000053430 A JP2000053430 A JP 2000053430A JP 2001243115 A JP2001243115 A JP 2001243115A
Authority
JP
Japan
Prior art keywords
area
address space
external bus
computer
address
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
JP2000053430A
Other languages
English (en)
Inventor
Takeo Ogawa
武雄 小川
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000053430A priority Critical patent/JP2001243115A/ja
Publication of JP2001243115A publication Critical patent/JP2001243115A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 複数の計算機や入出力装置を1つの外部バス
に接続した計算機システムにおいて、計算機に搭載する
メモリ容量が増大したり、搭載する計算機の枚数が増大
し、CPUアドレス空間から全てのメモリにアクセスでき
なかったり、全ての計算機のメインメモリや入出力装置
のメモリを外部バスのアドレス空間にマッピングできな
いという課題があった。 【解決手段】 外部バスアドレス空間を複数の領域に分
割し、アドレスとバスを変換するメモリマップユニット
を有する計算機が、現在アドレスを写像する領域情報を
保持する手段とアドレスから、そのアドレスを含む領域
情報を取得する手段を有することによりCPUアドレス空
間に設定した領域から任意の外部バスアドレス空間にア
クセスすることを可能にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、外部バスに接続さ
れる複数の計算機間、または計算機と入出力装置間のメ
モリマッピングに関する。
【0002】
【従来の技術】膨大な計算量を高速に処理するために、
複数の計算機を、データの転送速度や信頼性において有
効な外部バスに接続する場合、バス接続された計算機
間、または、計算機と入出力装置の間でデータのやりと
りをするために、バスのアドレス空間に各計算機のメイ
ンメモリや入出力装置のメモリを相互に干渉しないよう
にメモリマッピングする必要があるが、計算機に搭載さ
れる物理メモリの容量が増大したり、増加する計算量を
処理するために、より複数の計算機を搭載するとき、図
9にあるように、メモリが外部バスアドレス空間のほと
んどの領域にメモリマッピングされてしまうため、CPU
アドレス空間に設定した領域から全てのメモリにアクセ
スできなくなってしまったり、全ての計算機や入出力装
置のメモリをバスのアドレス空間にマッピングするだけ
の空きがなくなってしまう。
【0003】
【発明が解決しようとする課題】複数の計算機や入出力
装置を1つの外部バスに接続した計算機システムにおい
て、計算機に搭載するメモリ容量が増大したり、搭載す
る計算機の枚数が増大したりして、全ての計算機のメイ
ンメモリや入出力装置のメモリが、外部バスアドレス空
間のほとんどの領域にメモリマッピングされてしまうた
め、CPUアドレス空間に設定した領域から全てのメモリ
にアクセスできなくなってしまったり、接続する外部バ
スのアドレス空間にマッピングできないという課題があ
る。
【0004】本発明は、かかる課題を解決するためにな
されたものであり、CPUアドレス空間に設定した領域か
ら全てのメモリにアクセスでき、また接続する外部バス
のアドレス空間にマッピングできる計算機システムを提
供するものである。。
【0005】
【課題を解決するための手段】第1の発明による計算機
システムは、外部バスに複数の計算機や入出力装置を接
続し、各計算機は、CPUアドレス空間の任意の領域を外
部バスアドレス空間の任意の領域に写像するメモリマッ
プユニットを有し、また、上記CPUアドレス空間に割り
当てた領域と同じ大きさで、外部バスアドレス空間を均
等分割し、それぞれ領域番号を割り振り、メモリマップ
ユニットは、この均等分割した領域のどこかに写像する
ように設定され、この領域番号を計算機に格納する手段
と、アクセスする外部バスアドレス空間のアドレスか
ら、そのアドレスが含まれる領域番号を取得する手段を
有しており、計算機が外部バスアドレス空間にアクセス
するときは、そのアドレスが含まれる領域番号と計算機
が格納した領域番号とを比較し、異なる場合はメモリマ
ップユニットを再設定してアクセスするアドレスが含ま
れる領域番号にCPUアドレス空間の領域をメモリマップ
ユニットが写像するように変更し、かつ、この新しく写
像される領域の領域番号を計算機に格納してから、CPU
アドレス空間の領域にアクセスすることにより、外部バ
スアドレス空間の任意のアドレスにアクセスすることを
可能とする。
【0006】また、第2の発明による計算機システム
は、外部バスに複数の計算機や入出力装置を接続し、各
計算機は、CPUアドレス空間の任意の領域を外部バスア
ドレス空間の任意の領域に写像するメモリマップユニッ
トを有し、また、CPUアドレス空間に割り当てた領域の
大きさを上限として、外部バスアドレス空間を分割し、
それぞれ領域番号を割り振り、メモリマップユニット
は、この分割した領域のどこかに写像するように設定さ
れ、この領域番号を計算機に格納する手段と、アクセス
する外部バスアドレス空間のアドレスから、そのアドレ
スが含まれる領域番号を取得する手段を有しており、計
算機が外部バスアドレス空間にアクセスするときは、そ
のアドレスが含まれる領域番号と計算機が格納した領域
番号とを比較し、異なる場合はメモリマップユニットを
再設定してアクセスするアドレスが含まれる領域番号に
CPUアドレス空間の領域をメモリマップユニットが写像
するようにし、かつ、この新しく写像される領域の領域
番号を計算機に格納してから、CPUアドレス空間の領域
にアクセスすることにより、外部バスアドレス空間の任
意のアドレスにアクセスすることを可能とする。
【0007】第3の発明による計算機システムは、複数
の異なるアドレス空間をもつ外部バスに複数の計算機や
入出力装置を接続し、各計算機は、CPUアドレス空間の
任意の領域を、外部バスのもつ複数のアドレス空間のう
ち、任意のアドレス空間の任意の領域に写像することが
できるメモリマップユニットを有し、また、各アドレス
空間を分割し、それぞれ番号を割り振り(この番号を以
下、領域番号と呼ぶ)、メモリマップユニットは、この
いずれのアドレス空間の分割された領域のどこかに写像
するように設定され、この領域番号と写像するアドレス
空間の種別を計算機に格納する手段と、アクセスする外
部バスアドレス空間の種別とアドレスからそのアドレス
が含まれる領域番号を取得する手段を有しており、計算
機が外部バスアドレス空間にアクセスするときは、アド
レス空間の種別とそのアドレスが含まれる領域番号が、
計算機が格納したアドレス空間の種別と領域番号と異な
る場合はメモリマップユニットを再設定して、アクセス
するアドレス空間のアドレスが含まれる領域番号にCPU
アドレス空間の領域をメモリマップユニットが写像する
ように変更し、かつ、この新しく写像されるアドレス空
間の種別と領域の領域番号を計算機に格納してから、CP
Uアドレス空間の領域にアクセスすることにより、外部
バスの任意のアドレス空間にある、任意のアドレスにア
クセスすることを可能とする。
【0008】第4の発明による計算機システムは、外部
バスに複数の計算機や入出力装置を接続し、各計算機
は、CPUアドレス空間の任意の領域を外部バスアドレス
空間の任意の領域に写像する複数のメモリマップユニッ
トを有し、また、外部バスアドレス空間を分割し、それ
ぞれ領域番号を割り振り、各メモリマップユニットは、
この分割した領域のどこかに写像するように設定され、
この各メモリマップユニットが写像する全ての領域番号
を計算機に格納する手段と、アクセスする外部バスアド
レス空間のアドレスからそのアドレスが含まれる領域番
号を取得する手段を有しており、計算機が外部バスアド
レス空間にアクセスするときは、そのアドレスが含まれ
る領域番号と計算機が格納した全ての領域番号とを比較
し、どれとも異なる場合は、任意に選択したメモリマッ
プユニットを再設定してアクセスするアドレスが含まれ
る領域番号にCPUアドレス空間の領域をメモリマップユ
ニットが写像するようにし、かつ、この新しく写像され
る領域の領域番号を計算機に格納してから、CPUアドレ
ス空間の領域にアクセスすることにより、外部バスアド
レス空間の任意のアドレスにアクセスすることを可能と
する。
【0009】第5の発明による計算機システムは、外部
バスに複数の計算機と1つの共有メモリを接続し、各計
算機は、共有メモリに対する排他的なアクセス手段と、
相互に通知を行う手段を有し、また、CPUアドレス空間
の任意の領域を外部バスアドレス空間の任意の領域に写
像し、かつ、外部バスアドレス空間の任意の領域をCPU
バスアドレス空間の任意の領域に写像することができる
メモリマップユニットを有し、かつ、メモリマップユニ
ットが、CPUアドレス空間の領域を外部バスアドレス空
間の領域に写像する領域番号を保持する手段とアクセス
する外部バスアドレス空間のアドレスから、そのアドレ
スが含まれる領域番号を取得する手段を有しており、メ
モリマップユニットが外部バスアドレス空間の領域をCP
Uアドレス空間の領域に写像するときは、共有メモリに
領域番号と計算機の識別番号を記録する。 計算機が、
異なる計算機のメインメモリにアクセスを行うとき、共
有メモリを検索し、アクセス対象の計算機の識別番号が
ないとき、共有メモリに格納されている計算機の任意の
識別番号を選択し、その計算機に対して、メモリマップ
ユニットの設定を無効にするように指示し、かつ、アク
セス対象の計算機のメインメモリが、この領域番号の領
域に写像されるように、アクセス対象の計算機に指示
し、共有メモリに新しく写像される計算機の識別番号と
領域番号を格納することによって、任意の計算機の任意
のメインメモリをアクセスすることを可能にし、また
は、共有メモリを検索し、アクセス対象の計算機の識別
番号があるときは、対応する領域番号と計算機が保持す
る領域番号が一致しないとき、自身のメモリマップユニ
ットの設定と保持領域番号を変更することで、任意の計
算機にある任意のメインメモリにアクセスすることを可
能にする。
【0010】
【発明の実施の形態】実施の形態1.図1は、この発明
の実施の形態1を示すシステム構成図であり、図におい
て、1はデータを記録するメインメモリ、2はCPU、3
はアドレスとバスの変換を行うメモリマップユニット、
4はメインメモリ1、CPU2、メモリマップユニット3
を相互に接続する内部バス、5はメインメモリ1、CPU
2、メモリマップユニット3を有する計算機、6は外部
バスに接続された入出力装置、7は入出力装置6が有す
るメモリ、8は計算機5間または、計算機5と入出力装
置6を相互に接続する外部バスである。メモリマップユ
ニット3は、内部バス4のアドレス空間の任意領域を外
部バス8のアドレス空間の任意領域に写像するユニット
である。
【0011】図2は、メモリマップユニット3が写像す
るアドレスマップを示した図であり、図において、10
はCPUアドレス空間、11はCPUアドレス空間でメインメ
モリ以外の任意の領域、12は外部バスアドレス空間、
13−1から13−Nは外部バスアドレス空間を領域1
1と同じ大きさで均等に分割し、それぞれ領域番号を割
り振った各領域、14、15は入出力装置のメモリ空間
を示しており、それぞれ、計算機5から領域13−1、
領域13−2へのアクセスで入出力装置6は応答する。
メモリマップユニット3は、領域11を領域13−1か
ら13−Nの任意の領域に写像するように設定すること
ができ、計算機5はメモリマップユニット3が写像して
いる領域番号を保持する手段をもち、かつ、外部バスア
ドレス空間のアドレスから、このアドレスを含む領域の
領域番号を取得する手段を持つ。
【0012】なお、入出力装置のメモリ空間14と15
の配置は、実施の形態1を説明するために例として設定
したものであり、この通りにマッピングされている必要
はないし、また、計算機が外部バスからのアクセスに応
答できるのなら、入出力装置の代わりに計算機のメイン
メモリ空間に置き換えることもできる。
【0013】ここでは、メモリマップユニット3は領域
11を領域13−1へ写像するように設定されており、
領域13−1、領域13−2は、それぞれ、領域番号と
して1、2が割り振られており、よって、計算機は保持
領域番号として、1を保持している状態を例に本発明の
説明を行う。まず、計算機が入出力装置のメモリ領域1
4にアクセスするために、外部バスアドレス空間のアド
レスXにアクセスするとき、そのアドレスが含まれる外
部バスアドレス空間の領域番号を取得する手段により領
域番号を取得する。本例では領域番号として1を取得で
きる。この領域番号は、計算機が保持している保持領域
番号と一致するため、アクセスするアドレスの領域内の
オフセットと同じオフセットアドレスで領域11をアク
セスすることで、入出力装置が応答するメモリ領域14
がマッピングされている外部バスアドレス空間の領域1
3−1に含まれるアドレスXにアクセスすることができ
る。
【0014】次に、計算機が、入出力装置のメモリ領域
15にアクセスするために、外部バスアドレス空間のア
ドレスYにアクセスするとき、同様に、そのアドレスが
含まれる外部バスアドレス空間の領域番号を取得する手
段により領域番号を取得する。本例では、領域番号とし
て2を取得できる。計算機が保持している、保持領域番
号と異なるため、メモリマップユニットを領域11が外
部バスアドレス空間の領域13−2に写像するように設
定を変更し、かつ、保持領域番号を2に変更してから、
アクセスするアドレスの領域内のオフセットと同じオフ
セットアドレスで領域11をアクセスすることで、入出
力装置が応答するメモリ領域15がマッピングされてい
る外部バスアドレス空間の領域13−2に含まれるアド
レスYにアクセスすることができる。このように、保持
領域番号とアクセスを行う領域番号が異なるときは、メ
モリマップユニットの設定変更を行うことにより、領域
11から外部バスアドレス空間の任意の領域にアクセス
を行うことができる。
【0015】実施の形態2.図3は、この発明の実施の
形態2を示すメモリマップユニット3のメモリマップを
示す図であり、20−1から20−Nは、領域11の大
きさを上限とする任意の大きさで外部バスアドレス空間
12を分割した各領域である。メモリマップユニット3
は、領域11を領域20−1から20−Nの任意の領域
に写像するように設定することができる。ただし、領域
20−1から領域20−Nの大きさが、領域11よりも
小さい場合は、少なくとも、小さい方の領域の大きさ分
が写像される。計算機はメモリマップユニット3が写像
している領域番号を記憶する手段をもち、かつ、外部バ
スアドレス空間のアドレスから、このアドレスを含む領
域の領域番号を取得する手段を持つ。
【0016】なお、入出力装置のメモリ空間14と15
の配置は、実施の形態2を説明するために例として設定
したものであり、この通りにマッピングされている必要
はないし、また、計算機が外部バスからのアクセスに応
答できるのなら、入出力装置の代わりに計算機のメイン
メモリ空間に置き換えることもできる。
【0017】ここでは、メモリマップユニット3は領域
11を領域20−1へ写像するように設定されており、
領域20−1、領域20−2は、それぞれ領域番号とし
て1、2が割り振られており、よって、計算機は保持領
域番号として、1を保持する手段と取得する手段を有し
ているとして、本発明の説明を行う。
【0018】まず、計算機が、入出力装置のメモリ領域
14にアクセスするために、外部バスアドレス空間のア
ドレスXにアクセスするとき、そのアドレスが含まれる
外部バスアドレス空間の領域番号を取得する手段により
領域番号を取得する。本例では領域番号として1を取得
できる。この領域番号は、計算機が保持している保持領
域番号と一致するため、アクセスするアドレスの領域内
のオフセットと同じオフセットアドレスで領域11をア
クセスすることで、入出力装置が応答するメモリ領域1
4がマッピングされている外部バスアドレス空間の領域
20−1に含まれるアドレスXにアクセスすることがで
きる。
【0019】次に、計算機が、入出力装置のメモリ領域
15にアクセスするために、外部バスアドレス空間のア
ドレスYにアクセスするとき、同様に、そのアドレスYが
含まれる外部バスアドレス空間の領域番号を取得する手
段により領域番号を取得する。本例では、領域番号とし
て2を取得できる。計算機が保持している、保持領域番
号と異なるため、メモリマップユニットを領域11が外
部バスアドレス空間の領域20−2に写像するように設
定を変更し、かつ、保持領域番号を2に変更してから、
アクセスするアドレスの領域内のオフセットと同じオフ
セットアドレスで領域11をアクセスすることで、入出
力装置が応答するメモリ領域14がマッピングされてい
る外部バスアドレス空間の領域20−2に含まれるアド
レスYにアクセスすることができる。
【0020】このように、保持領域番号とアクセスを行
う領域番号が異なるときは、メモリマップユニットの設
定変更を行うことにより、領域11から外部バスアドレ
ス空間の任意の領域にアクセスを行うことができる。
【0021】実施の形態3.図4は、この発明の実施の
形態3を示すメモリマップユニットが写像するアドレス
マップを示した図であり、図において、30は外部バス
がもつアドレス空間Aであり、30−1から30−Nはア
ドレス空間30を分割した各領域であり、31は外部バ
スがもつ別のアドレス空間Bであり、31−1から31
−Nはアドレス空間31を分割した各領域であり、32
と33はアドレス空間30に応答する入出力装置のメモ
リ空間、34はアドレス空間31に応答する入出力装置
のメモリ空間である。メモリマップユニット3は、領域
11を写像するアドレス空間を設定でき、アドレス空間
Aを指定したとき、領域11を領域30−1から30−N
の任意の領域に写像するように設定することができ、ま
たは、アドレス空間Bを指定したとき、領域11を領域
31−1から31−Nの任意の領域に写像するように設
定することができ、計算機はメモリマップユニット3が
写像している領域番号と指定したアドレス空間の種別を
記憶する手段を有し、かつ、外部バスアドレス空間のア
ドレスとアクセスするアドレス空間から、このアドレス
を含む領域の領域番号を取得する手段を有する。
【0022】なお、入出力装置のメモリ空間の配置は、
実施の形態3を説明するために例として設定したもので
あり、この通りにマッピングされている必要はないし、
計算機が外部バスからのアクセスに応答できるのなら、
入出力装置の代わりに計算機に置き換えることもでき
る。
【0023】ここでは、入出力装置のメモリ空間32と
33は、それぞれ、アドレス空間30の領域30−1と
領域30−2に応答し、入出力装置のメモリ空間34は
アドレス空間31の領域31−1に応答するようになっ
ており、また、メモリマップユニット3は領域11をア
ドレス空間30の領域30−1に写像するように設定さ
れており、領域30−1、領域30−2は、それぞれ、
領域番号として1、2が割り振られており、また、領域
31−1は、領域番号として1が割り振られており、よ
って、計算機は保持領域番号として1と、写像されるア
ドレス空間はアドレス空間Aであることを保持している
として、本発明の説明を行う。
【0024】まず、計算機が入出力装置のメモリ領域3
2にアクセスするために、外部バスアドレス空間30の
アドレスXにアクセスするとき、メモリマップユニット
が写像する外部バスアドレス空間の種別を取得する手段
により、取得したアドレス空間とアクセスしようとして
いるアドレス空間が一致するため、このアドレス空間と
アクセスするアドレスから、アドレスXが含まれる外部
バスアドレス空間の領域番号を取得する手段により領域
番号を取得する。本例では領域番号として1を取得でき
る。この領域番号は、計算機が保持している保持領域番
号と一致するため、アクセスするアドレスの領域内のオ
フセットと同じオフセットアドレスで領域11をアクセ
スすることで、入出力装置が応答するメモリ領域32が
マッピングされている外部バスアドレス空間30の領域
30−1に含まれるアドレスXにアクセスすることがで
きる。
【0025】次に、計算機が、入出力装置のメモリ領域
33にアクセスするために、外部バスアドレス空間のア
ドレスYにアクセスするとき、同様に、メモリマップユ
ニットが写像する外部バスアドレス空間の種別を取得す
る手段により、取得したアドレス空間とアクセスしよう
としているアドレス空間が一致するため、このアドレス
空間とアクセスするアドレスから、アドレスYが含まれ
る外部バスアドレス空間の領域番号を取得する手段によ
り領域番号を取得する。本例では、領域番号として2を
取得できる。この領域番号は、計算機が保持している保
持領域番号である1と異なるため、メモリマップユニッ
トを領域11が外部バスアドレス空間30の領域30−
2に写像するように設定を変更し、かつ、保持領域番号
を2に変更してから、アクセスするアドレス領域内のオ
フセットと同じオフセットアドレスで領域11をアクセ
スすることで、入出力装置が応答するメモリ領域32が
マッピングされている外部バスアドレス空間の領域30
−2に含まれるアドレスYにアクセスすることができ
る。
【0026】計算機が、入出力装置のメモリ領域34に
アクセスするために、外部バスアドレス空間31のアド
レスZにアクセスするとき、メモリマップユニットが写
像する外部バスアドレス空間の種別を取得する手段によ
り、取得したアドレス空間とアクセスするアドレス空間
が一致しないため、アクセスするアドレス空間とアドレ
スZから、アドレスZが含まれる外部バスアドレス空間の
領域番号を取得する手段により領域番号を取得し、メモ
リマップユニットを外部バスアドレス空間のアドレス空
間31にある、取得した領域番号の領域に写像するよう
に設定を変更し、新しく設定したアドレス空間の種別と
保持領域番号を変更してから、アクセスするアドレス領
域内のオフセットと同じオフセットアドレスで領域11
をアクセスすることで、入出力装置が応答するメモリ領
域34がマッピングされている外部バスアドレス空間3
1の領域31−1に含まれるアドレスZにアクセスする
ことができる。このように、アクセスするアドレス空間
が一致し、かつ、保持領域番号とアクセスを行う領域番
号が異なるとき、または、アクセスするアドレス空間が
一致しないときは、メモリマップユニットの設定変更を
行うことにより、領域11から外部バスのもつ、任意のア
ドレス空間の、任意の領域にアクセスを行うことができ
る。
【0027】実施の形態4.図5は、この発明の実施の
形態4を示す計算機の構成図であり、3−1から3−N
は、計算機5が有する各メモリマップユニットである。
図6は、この発明の実施の形態4を示す各メモリマップ
ユニットが写像するアドレスマップを示した図であり、
図において、11−1から11−nはCPUアドレス空間の
うち重ならない任意の領域をあらわしており、13−1
から13−Nは外部バスアドレス空間12を分割した各
領域であり、14、15、16、17は入出力装置のメ
モリ空間をあらわしている。計算機5は、各メモリマッ
プユニットが写像する領域番号を全て保持する手段と外
部バスアドレス空間のアドレスから、そのアドレスが含
まれる領域番号を取得する手段を有する。
【0028】ここでは、メモリマップユニット3−1は
領域11−1を領域13−1へ写像するように設定さ
れ、また、メモリマップユニット3−2は領域11−2
を領域13−2へ写像するように設定され、同様に、メ
モリマップユニット3−nは領域11−nを領域13−n
へ写像するように設定されているとし、また、入出力装
置メモリ空間40−1、40−2、40−n、40−(n+
1)はそれぞれ、領域13−1、13−2、13−n、1
3−(n+1)へのアクセスに応答するとし、また、領域1
3−1から13−Nには領域番号として、1からNの整数
が割り当てられているとして本発明の説明を行う。な
お、nは1より大きいが、Nより小さい値とする。
【0029】まず、計算機が入出力装置のメモリ空間4
0−1にアクセスするために、外部バスアドレス空間の
アドレスXにアクセスするとき、そのアドレスが含まれ
る外部バスアドレス空間の領域番号を取得する手段によ
り領域番号を取得する。本例では領域番号として1を取
得できる。この領域番号と、計算機が保持している各メ
モリマップユニットが写像する領域番号が一致している
かどうか検査することによって、本例では、領域11−
1が領域番号として1が割り当てられた領域13−1に
写像していることがわかるので、アクセスするアドレス
の領域内のオフセットと同じオフセットアドレスで領域
11−1をアクセスすることで、入出力装置が応答する
メモリ領域40−1がマッピングされている外部バスア
ドレス空間の領域13−1に含まれるアドレスXにアク
セスすることができる。
【0030】次に、計算機が、入出力装置のメモリ領域
40−(n+1)にアクセスするために、外部バスアドレス
空間のアドレスYにアクセスするとき、そのアドレスYが
含まれる外部バスアドレス空間の領域番号を取得する手
段により領域番号を取得する。本例では、領域番号とし
てn+1を取得することができる。計算機が保持してい
る、どの保持領域番号とも一致しないので、取得した保
持領域番号の任意の番号を選択し、本例では、この番号
として2を選択した場合、保持領域番号である2に対応
したメモリマップユニットが写像する領域11−2を外
部バスアドレス空間の領域n+1に写像するように変更
し、かつ、前述の保持領域番号をn+1に変更してから、
アクセスするアドレスの領域内のオフセットと同じオフ
セットアドレスで、領域11−2をアクセスすること
で、入出力装置が応答するメモリ領域40−(n+1)がマ
ッピングされている外部バスアドレス空間の領域13−
(n+1)に含まれるアドレスYにアクセスすることができ
る。このように、計算機が保持する、どの保持領域番号
とも、アクセスを行う領域番号が異なるときは、メモリ
マップユニットの設定変更を行うことにより、領域11
−1から11−Nのどれかから外部バスアドレス空間の
任意の領域にアクセスを行うことができる。
【0031】実施の形態5.図7は、この発明の実施の
形態5を示すシステム構成図であり、図において、5
a、5b、5c、5dは外部バス8に接続された計算機、5
0はCPUアドレス空間の任意の領域を外部バスアドレス
空間の任意の領域に写像することができ、かつ、外部バ
スアドレス空間の任意の領域をCPUアドレス空間の任意
の領域に写像することができるメモリマップユニット、
51は外部バスに接続された共有メモリ、各計算機5
a、5b、5c、5dは共有メモリ51への排他的アクセス
を行う手段を有している。
【0032】図8は、この発明の実施の形態5を示すメ
モリマップユニット50が写像するアドレスマップを示
した図であり、図において、10a、10b、10c、1
0dは各計算機のCPUアドレス空間、11a、11b、11
c、11dは各計算機のCPUアドレス空間でメインメモリ
以外の任意の領域、52a、52b、52c、52dは各計
算機のメインメモリ領域である。各計算機は、CPUアド
レス空間の任意の領域がメモリマップユニットにより写
像されている外部バスアドレス空間の領域番号を保持す
る手段を有しており、また、共有メモリに、外部バスア
ドレス空間の各領域13−1から13−Nが計算機のメ
インメモリ領域のどこに写像されているのかを示す情報
を保持し、かつ、計算機相互間で有効な通知手段を有し
ている。
【0033】ここでは、メモリマップユニット50によ
り、領域11aは外部バスアドレス空間の領域13−1
に写像され、領域11bは外部バスアドレス空間の領域
13−2に写像され、領域11cは外部バスアドレス空
間の領域13−Nに写像され、かつ、外部バスアドレス
空間の領域13−1は領域52bに写像され、外部バス
アドレス空間の領域13−2は領域52cに写像され、
外部バスアドレス空間の領域13−3は領域52aに写
像されているとする。
【0034】計算機5aが計算機5bのメインメモリにア
クセスしようとしたとき、共有メモリに記録された情報
を検索して、計算機5bのメインメモリの領域52bに写
像している外部バスアドレス空間の領域番号を取得す
る。本例の場合、1を取得することができる。計算機5
aは、計算機が保持する保持領域番号と、前述の共有メ
モリから取得した領域番号が一致するため、アクセスす
るアドレスの領域内のオフセットと同じオフセットアド
レスで領域11aをアクセスすることで、計算機5bのメ
インメモリ領域52bにアクセスすることができる。
【0035】次に、計算機5cが計算機5bのメインメモ
リにアクセスしようとしたとき、共有メモリに記録され
た情報を検索して、計算機5bのメインメモリの領域5
2bに写像している外部バスアドレス空間の領域番号を
取得する。本例の場合、1を取得することができる。計
算機5cは、計算機が保持する保持領域番号が、前述の
共有メモリから取得した領域番号と一致しないため、メ
モリマップユニットを領域11cが計算機5bのメインメ
モリに写像する外部バスアドレス空間の領域13−1に
写像するように設定を変更し、かつ、保持領域番号を1
に変更してから、アクセスするアドレス領域内のオフセ
ットと同じオフセットアドレスで領域11cをアクセス
することで、計算機5bのメインメモリ領域52bにアク
セスすることができる。
【0036】また計算機5bが計算機5dにアクセスしよ
うとするとき、共有メモリ51に記録された情報を検索
すると、計算機5dのメインメモリの領域52dに写像し
ている外部バスアドレス空間の領域番号が存在しないこ
とがわかるため、外部バスアドレス空間の任意の領域番
号を選択し、この領域が写像しているメインメモリをも
つ計算機に対して、メモリマップユニットが外部バスア
ドレス空間の領域をメインメモリに写像しないように通
知する。本例では、領域番号として2を選択したとする
と、この領域をメインメモリに写像している計算機は5
cに対応するため、計算機5cは計算機5bから通知を受
け、メモリマップユニットの設定を変更して外部バスア
ドレス領域の領域13−2を領域52cに写像しないよ
うに設定する。また、計算機5bは、計算機5dに対し
て、メモリマップユニットが前述の外部バスアドレス空
間の領域13−2を領域52dに写像するように通知
し、かつ、共有メモリに外部バスアドレス空間の領域1
3−2は計算機5dのメインメモリ領域52dに写像して
いるという情報を記録し、また、計算機5bが保持する
保持領域番号と前述の共有メモリに記録した領域番号が
一致するため、アクセスするアドレスの領域内のオフセ
ットと同じオフセットアドレスで領域11bをアクセス
することで、計算機5dのメインメモリ領域42dにアク
セスすることができる。
【0037】
【発明の効果】第1の発明によれば、CPUアドレス空間の
うち、外部バスへのアクセスのために割り当てることが
可能な領域が、外部バスアドレス空間にマッピングされ
ている各デバイスまたは計算機のメインメモリの合計よ
りも小さいときでも、外部バスアドレス空間の任意のア
ドレスにアクセスすることができる。
【0038】また、第2の発明によれば、第1の発明の
効果に加えて、各デバイスが要求するメモリ容量が均等
でない場合、一度のメモリマップユニットの設定変更だ
けで、アクセスするデバイスの全メモリにアクセスでき
ることを保証することができ、アクセス効率の向上を期
待できる。
【0039】第3の発明によれば、第1の発明の効果と
第2の発明の効果に加えて、デバイスが応答できるバス
のアドレス空間が異なる場合でも、外部バスがもつ任意
のアドレス空間の任意アドレスにマッピングされる全て
のデバイスにアクセスすることができる。
【0040】また、第4の発明によれば、第1の発明の
効果と第2の発明の効果に加えて、複数のデバイスが外
部バスアドレス空間にマッピングされており、かつ、複
数のデバイスに対して交互にアクセスするようなとき、
メモリマップユニットの設定を極力行わないようにする
ことで、アクセス効率の向上を期待できる。
【0041】第5の発明によれば、計算機のメインメモ
リの合計が外部バスアドレス空間の合計よりも大きいと
きであっても、全ての計算機のメインメモリにある、任
意のアドレスに外部バスを経由してアクセスすることが
できる。
【図面の簡単な説明】
【図1】 この発明による計算機システムの実施の形態
1における、システム構成図である。
【図2】 この発明による計算機システムの実施の形態
1における、メモリマップユニットが写像するアドレス
マップを示した図である。
【図3】 この発明による計算機システムの実施の形態
2における、メモリマップユニットが写像するアドレス
マップを示した図である。
【図4】 この発明による計算機システムの実施の形態
3における、メモリマップユニットが写像するアドレス
マップを示した図である。
【図5】 この発明による計算機システムの実施の形態
4における、計算機の構成図である。
【図6】 この発明による計算機システムの実施の形態
4における、メモリマップユニットが写像するアドレス
マップを示した図である。
【図7】 この発明による計算機システムの実施の形態
5における、計算機システムの構成図である。
【図8】 この発明による計算機システムの実施の形態
5における、メモリマップユニットが写像するアドレス
マップを示した図である。
【図9】 従来の計算機システムを示す図である。
【符号の説明】
1 計算機のメインメモリ、2 CPU、3、3−1〜3−N
メモリマップユニット、4 内部バス、5、5a、5b、
5c、5d 計算機、6 入出力装置のメインメモリ、7
入出力装置、8 外部バス、50 メモリマップユニッ
ト、51 共有メモリ。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/16 630 G06F 9/36 330C

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 CPUアドレス空間の任意の領域を、外部バ
    スアドレス空間の任意の領域に写像することができるメ
    モリマップユニットを有する計算機と入出力装置が、外
    部バスにより複数接続されている計算機システムにおい
    て、外部バスの全アドレス空間を、CPUアドレス空間に
    設定した領域と同じ大きさの領域に均等分割し、この分
    割された各領域に対して領域番号を割り振り現在、メモ
    リマップユニットによって写像されている外部バスアド
    レス空間の領域番号を各計算機が保持する手段と外部バ
    スのアドレスを含む領域の領域番号を取得する手段を有
    し、また、外部バスにアクセスするときは、アドレスか
    ら取得した領域番号と、計算機が保持する保持領域番号
    が異なるとき、CPUアドレス空間の領域を、アクセスす
    るアドレスを含む外部バスアドレス空間の領域に写像す
    るようにメモリマップユニットの設定を変更し、かつ、
    計算機が保持している番号を新しく写像される外部バス
    アドレスの領域番号に変更することによって、計算機が
    CPUアドレス空間に設定した領域から外部バスアドレス
    空間の任意の領域にアクセスできることを特徴とする計
    算機システム。
  2. 【請求項2】 CPUアドレス空間の任意の領域を、外部バ
    スアドレス空間の任意の領域に写像することができるメ
    モリマップユニットを有する計算機と入出力装置が、外
    部バスにより、複数接続されている計算機システムにお
    いて、外部バスの全アドレス空間を、CPUアドレス空間
    の領域がとることができる最大容量を上限とする任意の
    大きさの領域に分割し、この分割された各領域に対して
    領域番号を割り振り、現在、メモリマップユニットによ
    って写像されている外部バスアドレス空間の領域番号を
    各計算機が保持する手段と外部バスのアドレスを含む領
    域の領域番号を取得する手段を有し、また、外部バスに
    アクセスするときは、アドレスから取得した領域番号
    と、計算機が保持する保持領域番号が異なるとき、CPU
    アドレス空間の領域を、アクセスするアドレスを含む外
    部バスアドレス空間の領域に写像するようにメモリマッ
    プユニットの設定を変更し、かつ、計算機が保持してい
    る番号を新しく写像される外部バスアドレスの領域番号
    に変更することによって、計算機がCPUアドレス空間に
    設定した領域から外部バスアドレス空間の任意の領域に
    アクセスできることを特徴とする計算機システム。
  3. 【請求項3】 前記メモリマップユニットは、外部バス
    が複数の異なるアドレス空間を持つとき、アドレス空間
    の指定をしてアドレスを写像することができ、かつ、現
    在、メモリマップユニットが写像している外部バスアド
    レス空間の領域番号と設定されているアドレス空間の種
    別を計算機が保持する手段を有することを特徴とする請
    求項1又は2記載の計算機システム。
  4. 【請求項4】 前記計算機は、複数のメモリマップユニ
    ットを有し、かつ、現在各メモリマップユニットが写像
    している外部バスアドレス空間の領域番号を計算機が保
    持する手段を有することを特徴とする請求項1〜3いず
    れか記載の計算機システム。
  5. 【請求項5】 外部バスアドレス空間の任意の領域をCPU
    アドレス空間の任意の領域に写像することができ、か
    つ、CPUアドレス空間の任意の領域から外部バスアドレ
    ス空間の任意の領域に写像することができるメモリマッ
    プユニットを有する計算機が外部バスにより、複数接続
    されている計算機システムにおいて、外部バスには共有
    メモリが接続されており、各計算機は、この共有メモリ
    への排他的なアクセス手段と、相互に通知を行う手段を
    有し、また、外部バスアドレス空間の領域がCPUアドレ
    ス空間の領域に写像されているときは、この領域番号と
    計算機の識別番号を共有メモリに格納し、また、メモリ
    マップユニットがCPUアドレス空間の領域を外部バスア
    ドレス空間の領域に写像している領域番号を保持する手
    段と外部バスのアドレスから、このアドレスを含む領域
    番号を取得する手段を有することを特徴とする計算機シ
    ステム
JP2000053430A 2000-02-29 2000-02-29 計算機システム Pending JP2001243115A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000053430A JP2001243115A (ja) 2000-02-29 2000-02-29 計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000053430A JP2001243115A (ja) 2000-02-29 2000-02-29 計算機システム

Publications (1)

Publication Number Publication Date
JP2001243115A true JP2001243115A (ja) 2001-09-07

Family

ID=18574817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000053430A Pending JP2001243115A (ja) 2000-02-29 2000-02-29 計算機システム

Country Status (1)

Country Link
JP (1) JP2001243115A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018195A (ja) * 2005-07-06 2007-01-25 Sony Computer Entertainment Inc 情報処理方法および情報処理装置
JP2011039981A (ja) * 2009-08-18 2011-02-24 Toshiba Corp マルチメディア処理制御装置
JP2013516010A (ja) * 2009-12-29 2013-05-09 ゼットティーイー コーポレイション マルチプロセッサの完全な相互アクセス方法及びシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007018195A (ja) * 2005-07-06 2007-01-25 Sony Computer Entertainment Inc 情報処理方法および情報処理装置
JP2011039981A (ja) * 2009-08-18 2011-02-24 Toshiba Corp マルチメディア処理制御装置
US8386584B2 (en) 2009-08-18 2013-02-26 Kabushiki Kaisha Toshiba Multimedia processing control apparatus and multimedia processing control method
JP2013516010A (ja) * 2009-12-29 2013-05-09 ゼットティーイー コーポレイション マルチプロセッサの完全な相互アクセス方法及びシステム

Similar Documents

Publication Publication Date Title
US5940870A (en) Address translation for shared-memory multiprocessor clustering
CN1929026B (zh) 一种存储器集成电路以及存储器阵列
US4980822A (en) Multiprocessing system having nodes containing a processor and an associated memory module with dynamically allocated local/global storage in the memory modules
US9697111B2 (en) Method of managing dynamic memory reallocation and device performing the method
US10824555B2 (en) Method and system for flash-aware heap memory management wherein responsive to a page fault, mapping a physical page (of a logical segment) that was previously reserved in response to another page fault for another page in the first logical segment
US20170286005A1 (en) Virtual bucket multiple hash tables for efficient memory in-line deduplication application
CN111881068B (zh) 多入口的全相联的高速缓冲存储器及数据管理方法
CN116431530B (zh) 一种cxl内存模组、内存的处理方法及计算机系统
CN103605478B (zh) 存储地址标示、配置方法和数据存取方法及系统
CN115729849B (zh) 内存管理方法及计算设备
JP2001166960A (ja) 共有メモリに個別領域を有するマルチプロセッサシステム
JP2007513438A (ja) 最適なキャッシュ・ハードウェア性能を可能にするための適応性のあるレイアウトのキャッシュ構成
JP2001243115A (ja) 計算機システム
US6687786B1 (en) Automated free entry management for content-addressable memory using virtual page pre-fetch
US20180165202A1 (en) Tag and data organization in large memory caches
JP4445708B2 (ja) マップテーブルを使用して入出力モジュールにアクセスする方法
US20190377671A1 (en) Memory controller with memory resource memory management
CN107797757B (zh) 影像处理系统中的快取存储器管理方法及装置
CN116107509A (zh) 一种数据处理方法、装置和电子设备
CN110096355B (zh) 一种共享资源分配方法、装置和设备
US6775742B2 (en) Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device
US20210117114A1 (en) Memory system for flexibly allocating memory for multiple processors and operating method thereof
GB2204721A (en) Method and apparatus for determining available memory size
US10691625B2 (en) Converged memory device and operation method thereof
US6742077B1 (en) System for accessing a memory comprising interleaved memory modules having different capacities