(57)【特許請求の範囲】
【請求項１】
主記憶領域の参照更新を汎用レジスタに仮想アドレスを設定して行うとともに汎用レジスタに実アドレスを設定して特定の主記憶領域を参照更新する計算機システムにおいて、
システムの立上げ時に仮想アドレス空間に専用仮想領域を予めリザーブしておくリザーブ手段と、
参照更新の対象となる主記憶領域が所定バイト以上あるか否かを判別する判別手段と、所定のバイト以上あるときは前記専用仮想領域に対応して専用に設けられた仮想−実アドレス変換テーブルに要求された特定の主記憶領域のブロック番号を設定する番号設定手段と、
前記リザーブ手段でリザーブした専用仮想領域の仮想アドレスにより仮想記憶機構を用いて前記仮想−実アドレス変換テーブルに設定したブロック番号を読み出して特定の主記憶領域の参照更新を指示する参照更新指示手段と、を備えたことを特徴とする計算機システム。
【請求項２】
請求項１記載の計算機システムにおいて、
前記リザーブ手段により予めリザーブされる専用仮想領域は、所定の固定サイズを有し、参照用と更新用とにより構成されることを特徴とする計算機システム。
【請求項３】
請求項１〜２のいずれかに記載の計算機システムにおいて、前記仮想−実アドレス変換テーブルにブロック番号を設定した後に仮想−実アドレス変換モードを有効に設定し、特定の主記憶領域の参照更新後に仮想−実アドレス変換モードを無効に設定するモード設定手段を設けたことを特徴とする計算機システム。
【請求項４】
コンピュータを
システムの立上げ時に仮想アドレス空間に専用仮想領域を予めリザーブしておくリザーブ手段、
参照更新の対象となる主記憶領域が所定バイト以上あるか否かを判別する判別手段、
所定のバイト以上あるときは前記専用仮想領域に対応して専用に設けられた仮想−実アドレス変換テーブルに要求された特定の主記憶領域のブロック番号を設定するブロック番号設定手段、
前記リザーブ手段でリザーブした専用仮想領域の仮想アドレスにより仮想記憶機構を用いて前記仮想−実アドレス変換テーブルに設定したブロック番号を読み出して特定の主記憶領域の参照更新を指示する参照更新手段、
として機能させるためのプログラムを記録したことを特徴とする参照更新プログラムを記録した記録媒体。
【請求項５】
請求項４記載の参照更新プログラムを記録した記録媒体において、
前記リザーブを行うリザーブ手段により予めリザーブされる専用仮想領域は、所定の固定サイズを有し、参照用と更新用とに分けられることを特徴とする参照更新プログラムを記録した記録媒体。
【請求項６】
請求項４〜５のいずれかに記載の参照更新プログラムを記録した記録媒体において、
前記コンピュータを
前記仮想−実アドレス変換テーブルにブロック番号を設定した後に仮想−実アドレス変換モードを有効に設定し、特定の主記憶領域の参照更新後に仮想−実アドレス変換モードを無効に設定するモード設定手段として機能させるためのプログラムを記録したことを特徴とする参照更新プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、仮想記憶機構を利用し、汎用アドレスによるアドレス表現が不可能な位置に配置されている特定の主記憶領域の参照、更新を汎用レジスタの拡張を伴わずに実現するようにした計算機システムおよび参照更新プログラムを記録した媒体に関する。
【０００２】
現状では、１クラスタに装備可能な主記憶サイズの上限は２ＧＢ（ギガバイト）である。しかし、計算機システムの大規模化に伴い、装備される実記憶サイズも日増しに拡張されており、将来的には、２ＧＢ（ギガバイト）以上の実記憶を装備した計算機が要求されることは明らかである。ところが、現状では、実アドレス２ＧＢ（ギガバイト）以上に配置されたと特定の主記憶領域へのアクセス手段は提供されていない。したがって、２ＧＢ（ギガバイト）以上の実記憶を装備した計算機の開発が要望されている。
【０００３】
【従来の技術】
従来の仮想記憶機構を有する計算機システムとしては、例えば図７に示すようなものがある。
図７において、１０１はＣＰＵであり、ＣＰＵ１０１には端末１０２、ディスク装置よりなる外部記憶装置１０３および主記憶装置１０４がそれぞれ接続されている。ここで、主記憶装置１０４の主記憶領域１０５のサイズは、２ＧＢ（ギガバイト）になっている。
【０００４】
ＣＰＵ１０１内には汎用レジスタ１０６が設定され、主記憶装置１０４の主記憶領域１０５の参照、更新は、仮想アドレス空間１０７に設けられる仮想アドレスを汎用レジスタ１０６に設定することにより行う。また、特定の主記憶領域１０５の参照、更新は、汎用レジスタ１０６に主記憶装置１０４の実アドレスを設定することで行う。
【０００５】
主記憶装置１０４の主記憶領域１０５は固定サイズ（４０９６バイト）の複数のブロック１０８を有し、仮想アドレス空間１０７も同じ固定サイズ（４０９６バイト）の複数のブロック１０９を有し、仮想アドレスと実アドレスの対応付けは、固定サイズのブロック単位で行われる。
主記憶装置１０４内には仮想アドレスを実アドレスに変換するために、実記憶管理スーパバイザ１１０、仮想−実アドレス変換テーブル１１１を有する仮想記憶機構１１２が設けられている。
【０００６】
一般のプログラムにおいては、主記憶領域１０５の参照、更新を仮想アドレス空間１０７の仮想アドレスを汎用レジスタ１０６に設定することで行う。この仮想アドレスと実アドレスの対応付けは、実記憶管理スーパバイザ１１０が仮想記憶機構１１２を利用して行っており、一般のプログラムは参照、更新する主記憶領域１０５の実アドレスを意識する必要はない。
【０００７】
仮想記憶機構１１２においては、仮想アドレスを実アドレスに変換するために、仮想−実アドレス変換テーブル１１１が用いられる。仮想アドレスと実アドレスの対応付けは、固定サイズのブロック単位で行われており、仮想−実アドレス変換テーブル１１１には実領域のブロック番号を指定するようになっている。
ところが、実記憶管理スーパバイザ１１０では、仮想アドレスと実アドレスの対応付けを行う過程において、仮想アドレスによる主記憶領域１０５の参照、更新を行うことができない場合がある。例えば、
・仮想アドレスに対応付けられる実アドレス領域のクリア
・仮想アドレスに対応付けられる実アドレス領域のページ交換、あるいはページスチール
などの処理は、仮想アドレスと実アドレスの対応付けを行う以前に遂行されなければならない。この場合、仮想記憶機構１１２を使用せずに、汎用レジスタ１０６にアクセス対象となる主記憶領域１０５の実アドレスを設定し、直接主記憶領域１０５にアクセスしていた。
【０００８】
すなわち、特定の主記憶領域１０５の参照、更新を実現するため、汎用レジスタ１０６にアクセス対象となる主記憶領域１０５の実アドレスを格納した後、ＣＰＵ１０１に当該主記憶領域１０５の参照、更新命令を実行させていた。
【０００９】
【発明が解決しようとする課題】
しかしながら、従来の仮想記憶機構を有する計算機システムにあっては、汎用レジスタによるアドレス表現には限界があるため、実記憶管理スーパバイザが特定の主記憶領域を参照、更新する場合には、主記憶サイズの拡張に伴い、汎用レジスタによるアドレス表現が不可能（すなわち、実アドレスによるアクセスが不可能である）な領域が生じる。
【００１０】
例えば、汎用レジスタが１語（３２ビット）から形成されており、ビット１〜ビット３１（計３１ビット）で基底アドレスが生成される場合には、２ＧＢ（ギガバイト）以上に配置された特定の主記憶領域の参照、更新ができなくなるといった問題が生じる。
本発明は、このような従来の問題点に鑑みてなされたものであって、汎用レジスタによるアドレス表現が不可能な位置に配置されている特定の主記憶領域の参照、更新を、汎用レジスタの拡張を伴わずに、実現することができる計算機システムおよび参照更新プログラムを記録した媒体を提供することを目的とする。
【００１１】
【課題を解決するための手段】
この目的を達成するために、本発明は、図１に示すように構成する。
請求項１の発明は、主記憶領域の参照更新を汎用レジスタに仮想アドレスを設定して行うとともに汎用レジスタに実アドレスを設定して特定の主記憶領域を参照更新する計算機システムにおいて、
システムの立上げ時に仮想アドレス空間に専用仮想領域８Ａ，８Ｂを予めリザーブしておくリザーブ手段９Ｃと、
参照更新の対象となる主記憶領域が所定バイト以上あるか否かを判別する判別手段９Ｄと、
所定のバイト以上あるときは前記専用仮想領域８Ａ，８Ｂに対応して専用に設けられた仮想−実アドレス変換テーブル９Ａ，９Ｂに要求された特定の主記憶領域のブロック番号を設定する番号設定手段９Ｅと、
前記リザーブ手段９Ｃでリザーブした専用仮想領域８Ａ，８Ｂの仮想アドレスにより仮想記憶機構１２を用いて前記仮想−実アドレス変換テーブル９Ａ，９Ｂに設定したブロック番号を読み出して特定の主記憶領域の参照更新を指示する参照更新指示手段９Ｇと、を備える。
【００１２】
請求項２の発明は、前記リザーブ手段９Ｃにより予めリザーブされる専用仮想領域８Ａ，８Ｂが所定の固定サイズを有し、参照用と更新用とにより構成される。
請求項３の発明は、前記専用仮想領域８Ａ，８Ｂに対応して専用に設けられる仮想−実アドレス変換テーブル９Ａ，９Ｂは、所定バイトまでのブロック番号を格納できるサイズを有し、参照用と更新用とにより構成される。
【００１３】
請求項４の発明は、前記仮想−実アドレス変換テーブル９Ａ，９Ｂにブロック番号を設定した後に仮想−実アドレス変換モードを有効に設定し、特定の主記憶領域の参照更新後に仮想−実アドレス変換モードを無効に設定するモード設定手段を設けた。
請求項５の発明は、主記憶領域の参照更新を汎用レジスタに仮想アドレスを設定して行うとともに汎用レジスタに実アドレスを設定して特定の主記憶領域を参照更新するための参照更新プログラムを記録した媒体において、
システムの立上げ時に仮想アドレス空間に専用仮想領域８Ａ，８Ｂを予めリザーブしておく手段９Ｃと、
参照更新の対象となる主記憶領域が所定バイト以上あるか否かを判別する手段９Ｒと、
所定のバイト以上あるときは前記専用仮想領域８Ａ，８Ｂに対応して専用に設けられた仮想−実アドレス変換テーブル９Ａ，９Ｂに要求された特定の主記憶領域のブロック番号を設定する手段９Ｅと、
前記リザーブ手段９Ｃでリザーブした専用仮想領域８Ａ，８Ｂの仮想アドレスにより仮想記憶機構１２を用いて前記仮想−実アドレス変換テーブル９Ａ，９Ｂに設定したブロック番号を読み出して特定の主記憶領域の参照更新を指示する手段９Ｇと、を備える。
【００１４】
請求項６の発明は、参照更新プログラムを記録した媒体において、前記リザーブを行う手段９Ｃにより予めリザーブされる専用仮想領域８Ａ，８Ｂは、所定の固定サイズを有し、参照用と更新用とにより構成される。
請求項７の発明は、参照更新プログラムを記録した媒体において、
前記専用仮想領域８Ａ，８Ｂに対応して専用に設けられる仮想−実アドレス変換テーブル９Ａ，９Ｂは、所定バイトまでのブロック番号を格納できるサイズを有し、参照用と更新用とにより構成される。
【００１５】
請求項８の発明は、参照更新プログラムを記録した媒体において、
前記仮想−実アドレス変換テーブル９Ａ，９Ｂにブロック番号を設定した後に仮想−実アドレス変換モードを有効に設定し、特定の主記憶領域の参照更新後に仮想−実アドレス変換モードを無効に設定するモード設定手段を設けた。
このような構成を備えた本発明によれば、主記憶領域のサイズが所定バイト以上になっても専用の仮想領域８Ａ，８Ｂに対応した専用に仮想−実アドレス変換テーブル９Ａ，９Ｂを設け、仮想記憶機構１２を利用して、汎用レジスタによるアドレス表現が不可能な位置に配置されている特定の主記憶領域の参照、更新を、汎用レジスタの拡張を伴わずに、実現することが可能になる。
【００１６】
このことにより、実記憶管理スーパバイザによる、実ページ割り当て時のページクリア、実メモリを効率的に割り当てるために行われるページスワップ、ページスチールなどの従来処理を安価に実現することができる。
また、汎用レジスタによるアクセス不可となる主記憶領域を、専用の仮想−実アドレス変換テーブルにて一括管理することにより、複数の汎用レジスタでのアクセスと比較して、システムの信頼性は高いものとなる。
【００１７】
さらに、主記憶領域の拡張に伴い、主記憶領域を別目的で使用する場合にも、本発明を応用できる。例えば、主記憶領域を分割し、主記憶として利用する以外に、一時データセット、あるいはデバイスキャッシュなどに利用することも考えられる。この場合、本発明によれば、各々に対して専用に仮想−実アドレス変換テーブルを作成するだけですむので、（ハードウェアからアプリケーションプログラムまで含めた）システム全体を考えると、安価で、信頼性の高いものとすることができる。
【００１８】
【発明の実施の形態】
図２は本発明の一実施形態を示すブロック図である。
図２において、１は仮想記憶機構を有する計算機システムのＣＰＵであり、ＣＰＵ１には端末２、外部記憶装置３および主記憶装置４がそれぞれ接続されている。ＣＰＵ１には汎用レジスタ５が設けられ、一般のプログラムにおいて主記憶装置４の主記憶領域６の参照、更新を汎用レジスタ５に仮想アドレスを設定することで行う。
【００１９】
主記憶領域６のサイズが２ＧＢ（ギガバイト）以下のときは、従来例で説明したように、汎用レジスタ５に実アドレスを設定して、特定の主記憶領域６の参照、更新を行うが、主記憶領域６のサイズが２ＧＢ（ギガバイト）を越えるときは、汎用アドレス５によるアドレス表現が不可能な領域が生じ、実アドレスによるアクセスが不可能である。この場合には、汎用レジスタ５には実アドレスを設定しないで、後述するように仮想記憶機構などを用いる。
【００２０】
外部記憶装置３としては例えばディスク装置を用い、主記憶装置４内に空領域を作りたい場合には、主記憶装置４のデータを外部記憶装置３内に退避させるようにして主記憶装置４の有効利用を図る。
計算機システムの大規模化に伴い、主記憶領域６も拡張されており、ここでは、２ＧＢ（ギガバイト）を越えるサイズの主記憶領域６を用いる。これに対して、仮想アドレス空間のサイズ拡張の必要性は小さい。多重仮想アドレス空間などを利用し、複数の仮想アドレス空間７，７Ａを使用すれば対応できる。
【００２１】
図３は仮想アドアドレス空間７の構成例を示す図である。
図３において、仮想アドレス空間７は、複数のブロック８により構成され、ブロック８は固定サイズ（４０９６バイト）を有する。仮想アドレス空間７のブロック８は、主記憶領域６の各ブロックに対応している。主記憶領域６の各ブロックも同じ固定サイズ（４０９６バイト）を有し、仮想アドレスは実アドレスに対応している。
【００２２】
計算機システムの立ち上げ時には、仮想アドレス空間７に専用仮想領域８Ａ，８Ｂがそれぞれ予めリザーブされる。専用仮想領域８Ａ，８Ｂは、同じ固定サイズ（４０９６バイト）のブロックからそれぞれ構成される。
一方の専用仮想領域８Ａは、特定の主記憶領域６の参照用のものであり、他方の専用仮想領域８Ｂは所定の主記憶領域６の更新用のものであり、それぞれ特定の仮想アドレスを有する。
【００２３】
図２に戻り、主記憶装置６内には、参照更新プログラム９が格納され、参照更新プログラム９は汎用アドレス５によるアドレス表現が不可能な位置に配置されている特定の主記憶領域６の参照、更新を実現するために設けられ、専用仮想領域８Ａ，８Ｂに対応した専用の仮想−実アドレス変換テーブル９Ａ，９Ｂを有する。
【００２４】
図４は主記憶装置４の構成例を示す図である。
図４において、主記憶装置４内にはユーザプログラム１０、実記憶管理スーパバイザ１１、仮想記憶機構１２、参照更新プログラム９などが設けられ、また、主記憶領域６が設けられている。
ユーザプログラム１０は、仮想アドレスに対応付けられる実アドレス領域のクリア、仮想アドレスに対応付けられる実アドレス領域のページ交換、あるいはページスチールなどの処理で計算機システムの運用中に特定の主記憶領域６の参照、更新を要求する。この参照、更新の要求を受けて、仮想−実アドレス変換テーブル９Ａ，９Ｂ内には特定の主記憶領域６の実ブロック番号が格納される。
【００２５】
仮想アドレスと実アドレスの対応付けは、実記憶管理スーパバイザ１１が仮想記憶機構１２を利用して行っており、仮想アドレス空間７に予めリザーブされた専用仮想領域８Ａ，８Ｂの特定のアドレスを用いて仮想記憶機構１２により仮想−実アドレス変換テーブル９Ａ，９Ｂに格納された実ブロック番号を読み出す。
仮想−実アドレス変換テーブル９Ａ，９Ｂは、仮想アドレス空間７の専用仮想領域８Ａ，８Ｂに対応して専用に設けられており、参照用と更新用の２つのテーブルにより構成されている。
【００２６】
したがって、仮想アドレスにより参照、更新可能な主記憶領域６の上限は、仮想−実アドレス変換テーブル９Ａ，９Ｂにおけるブロック番号格納域サイズと、仮想−実領域対応ブロックの固定サイズにより決定される。
例えば、
・仮想−実領域対応ブロック番号格納域サイズ：２８ビット
・仮想−実領域対応ブロックの固定サイズ    ：４０９６バイト
の場合を考える。仮想−実アドレス変換テーブル９Ａ，９Ｂは、最大２５６ＭＢ（メガバイト）までのブロック番号を格納できる。これに、１ブロックあたりの固定サイズを乗じた結果が、仮想アドレスにより参照、更新可能な主記憶領域６の上限である。この場合には、仮想アドレスにより、１ＴＢ（テラバイト）までの主記憶領域６が参照、更新可能となる。
【００２７】
すなわち、仮想−実アドレス変換テーブル９Ａ，９Ｂは、図４（Ｂ）に示すように、２８ビットで構成され、２５６ＭＢ×４０９６＝１，０４８，５７６ＭＢ、すなわち約１ＴＢ（テラバイト）までの主記憶領域６の参照、更新が可能となる。
参照更新プログラム９は、リザーブ手段としてのリザーブ部９Ｃ、判別手段としての判別部９Ｄ、番号設定手段としての番号設定部９Ｅ、モード設定手段としてのモード設定部９Ｆおよび参照更新指示手段としての参照更新指示部９Ｇを有する。
【００２８】
リザーブ部９Ｃはシステムの立ち上げ時に仮想アドレス空間７に専用仮想領域８Ａ，８Ｂを予めリザーブしておく。判別部９Ｄは参照更新の対象となる主記憶領域６が所定バイト、例えば２ＧＢ以上あるか否かを判別する。番号設定部９Ｅは所定のバイト、例えば２ＧＢ以上あるときは専用仮想領域８Ａ，８Ｂに対応して専用に設けられた仮想−実アドレス変換テーブル９Ａ，９Ｂに要求された所定の主記憶領域６のブロック番号を設定する。
【００２９】
モード設定部９Ｆは、仮想−実アドレス変換テーブル９Ａ，９Ｂにブロック番号を設定した後に仮想−実アドレス変換モードを有効に設定し、特定の主記憶領域の参照、更新後に仮想−実アドレス変換モードを無効に設定する。参照更新指示部９Ｇは、リザーブ部９Ｃでリザーブした専用仮想領域８Ａ，８Ｂの仮想アドレスにより仮想記憶機構１２を用いて仮想−実アドレス変換テーブル９Ａ，９Ｂに設定したブロック番号を読み出して特定の主記憶領域６の参照、更新を指示する。この特定の主記憶領域の参照、更新の指示により、ＣＰＵ１は特定の主記憶領域６の参照、更新を実行する。
【００３０】
図５は主記憶領域６の構成例を示す。
図５において、主記憶領域６は、４０９６バイトの固定サイズの複数のブロック６Ａにより構成され、各ブロック６Ａは仮想アドレス空間７の各ブロック８に対応している。仮想アドレスと実アドレスの対応付けは、固定サイズのブロック単位で行われる。この主記憶領域６は、２ＭＢ（メガバイト）以上のサイズを有し、１ＴＢ（テラバイト）まで拡張することができる。汎用レジスタ５によるアドレス表現が不可能な２ＭＢ（メガバイト）以上の特定の主記憶領域６Ｂを参照、更新することができる。
【００３１】
図６は特定の主記憶領域６Ｂに対する更新、参照を説明するフローチャートである。
図６において、まず、ステップＳ１で専用仮想領域８Ａ，８Ｂを仮想アドレス空間７にリザーブする。すなわち、リザーブ部９Ｃにより、計算機システムの立ち上げ時に、仮想アドレス空間７に、参照用の専用仮想領域８Ａと更新用の専用仮想領域８Ｂを予めリザーブしておく。
【００３２】
図３に示すように、仮想アドレス空間７には４０９６バイトの固定サイズの専用仮想領域８Ａ，８Ｂがそれぞれリザーブされる。専用仮想領域８Ａ，８Ｂにそれぞれ特定の仮想アドレスを有し、この仮想アドレスは特定の主記憶領域６Ｂの実アドレスに変換するためのものである。
次に、ステップＳ２で参照、更新の対象となる主記憶領域６は所定のサイズ以上であるか否かを判別する。すなわち、ユーザプログラム１０が特定の主記憶領域８Ｂの参照、更新の要求を有するとき、判別部９Ｄは主記憶領域６のサイズが例えば２ＧＢ（ギガバイト）を越えるか否かを判別する。
【００３３】
前記のように、ユーザプログラム１０は、特定の主記憶領域６Ｂの参照、更新の要求を行うことがあるが、これは次のような場合に生じる。すなわち、実記憶管理スーパバイザ１１では、仮想アドレスと実アドレスの対応付けを行う過程において、仮想アドレスによる主記憶領域６の参照、更新を行うことができない場合がある。
【００３４】
例えば、
・仮想アドレスに対応付けられる実アドレス領域のクリア
・仮想アドレスに対応付けられる実アドレス領域のページ交換、あるいはページスチール
などの処理は、仮想アドレスと実アドレスの対応付けを行う以前に遂行されなければならない。この場合、直接特定の主記憶領域６Ｂにアクセスする必要がある。
【００３５】
主記憶領域６のサイズが２ＧＢ（ギガバイト）を越えるときは、ステップＳ５に進み、２ＧＢ（ギガバイト）以下のときは、ステップＳ３に進んで、従来と同様な処理を行う。主記憶領域６が２ＧＢ（ギガバイト）以下のときは、汎用レジスタ５による主記憶領域６のアドレス表現が可能であるため、汎用レジスタ５に特定の主記憶領域の実アドレスを設定する。そして、ステップＳ４でＣＰＵ１により特定の主記憶領域の参照、更新を実行していた。
【００３６】
主記憶領域６のサイズが２ＧＢ（ギガバイト）を越えるときは、仮想−実アドレス変換テーブル９Ａ，９Ｂにブロック番号を設定する。すなわち、番号設定部９Ｅにより、専用仮想領域８Ａ，８Ｂに対応した専用の仮想−実アドレス変換テーブル９Ａ，９Ｂにユーザプログラム１０が要求する実ブロック番号を設定する。参照のときは、参照用の仮想−実アドレス変換テーブル９Ａに実ブロック番号を設定し、更新のときは更新用の仮想−実アドレス変換テーブル９Ｂ実ブロック番号を設定する。
【００３７】
次に、ステップＳ６でモード設定部９Ｆにより、仮想−実アドレス変換テーブル９Ａ，９Ｂに実ブロック番号を設定した後に、仮想−実アドレス変換モードを有効にする。
次に、ステップＳ７で特定の主記憶領域６Ｂの参照、更新を指示し、ＣＰＵ１で実行する。仮想−実アドレス変換モードを有効にした状態において、仮想アドレス空間７の専用仮想領域８Ａ，８Ｂの特定のアドレスをアクセスすると、この仮想アドレスと実アドレスの対応付けは実記憶管理スーパバイザ１１が仮想記憶機構１２を利用して行っており、仮想記憶機構１２は、仮想−実アドレス変換テーブル９Ａ，９Ｂ内に設定された実ブロック番号を読み出す。
【００３８】
読み出された実ブロック番号によりＣＰＵ１に特定の主記憶領域６Ｂの参照、更新を指示し、ＣＰＵ１は特定の主記憶領域６Ｂの参照、更新を実行する。
次にステップＳ８で仮想−実アドレス変換モードをモード設定部９Ｆにより無効に設定する。
このように、専用の仮想−実アドレステーブル９Ａ，９Ｂを設けて、仮想記憶機構１２を利用して、汎用レジスタ５によるアドレス表現が不可能な位置に配置されている特定の主記憶領域６Ｂの参照、更新を、汎用レジスタ５の拡張を伴わずに、実現することが可能になる。
【００３９】
このことにより、実記憶管理スーパバイザ１１による、実ページ割当て時のページクリア、実メモリを効率的に割り当てるために行われるページスワップ、ページスチールなどの従来処理を安価に実現することができる。
また、汎用レジスタ５によるアクセス不可となる主記憶領域６を、専用の仮想−実アドレス変換テーブルにて一括管理することにより、複数の汎用レジスタでのアクセスと比較して、システムの信頼性は高いものとなる。
【００４０】
さらに、主記憶領域６の拡張に伴い、主記憶領域６を別目的で使用する場合にも、本発明を応用できる。例えば、主記憶領域６を分割し、主記憶として利用する以外に、一時データセット、あるいはデバイスキャッシュなどに利用することも考えられる。この場合、本発明によれば、各々に対して専用の仮想−実アドレス変換テーブルを作成するだけですむので、（ハードウェアからアプリケーションプログラムまで含めた）システム全体を考えると、安価で、信頼性の高いものとすることができる。
【００４１】
【発明の効果】
以上説明してきたように、本発明によれば、主記憶領域の大きさが所定バイト以上になったとき、仮想アドレス空間に専用仮想領域をリザーブしておき、専用の仮想−実アドレス変換テーブルを設けて要求されたブロック番号を設定し、専用仮想領域の仮想アドレスで仮想記憶機構を用いて特定の主記憶領域を参照、更新するため、汎用レジスタによるアドレス表現が不可能な位置に配置されている特定の主記憶領域を汎用レジスタの拡張を伴わずに、参照、更新することができる。その結果、コストを低減することができ、計算機システムの信頼性を高めることができる。
【図面の簡単な説明】
【図１】本発明の原理説明図
【図２】本発明の一実施形態を示すブロック図
【図３】仮想アドレス空間の構成例を示す図
【図４】主記憶装置の構成例および仮想−実アドレス変換テーブルの構成例を示す図
【図５】主記憶領域の構成例を示す図
【図６】動作を説明するフローチャート
【図７】従来例を示す図
【符号の説明】
１：ＣＰＵ
２：端末
３：外部記憶装置
４：主記憶装置
５：汎用レジスタ
６：主記憶領域
６Ａ，８：ブロック
６Ｂ：特定の主記憶領域
７：仮想アドレス空間
８Ａ，８Ｂ：専用仮想領域
９：参照更新プログラム
９Ａ，９Ｂ：仮想−実アドレス変換テーブル
９Ｃ：リザーブ部（リザーブ手段）
９Ｄ：判別部（判別手段）
９Ｅ：番号設定部（番号設定手段）
９Ｆ：モード設定部（モード設定手段）
９Ｇ：参照更新指示部（参照更新指示手段）
１０：ユーザプログラム
１１：実記憶管理スーパバイザ
１２：仮想記憶機構
【図１】
0003827112.tif 000002
【図２】
0003827112.tif 000003
【図３】
0003827112.tif 000004
【図４】
0003827112.tif 000005
【図５】
0003827112.tif 000006
【図６】
0003827112.tif 000007
【図７】
0003827112.tif 000008