(57)【要約】【課題】  装置の電源を切ることなく、メモリを増設・利用可能な計算機を提供することにある。【解決手段】  情報処理装置の電源が投入された状態でメモリを増設する場合に、プロセッサ１０と、情報処理装置に初めから接続されている主メモリ２０、および増設される増設主メモリ６０とを接続スイッチ５０が接続し、主メモリ２０内の主メモリ管理情報２１が、プロセッサ１０に接続されているメモリの容量を記憶し、接続スイッチ５０内の記憶領域が、プロセッサ１０とメモリ各々が接続されているか否かに関する情報を記憶する。【選択図】  図１５
2005092901.tif 000002
【特許請求の範囲】
【請求項１】
メモリの一部を活栓挿入可能なコンピュータシステムにおけるメモリ管理方法であって、
コンピュータシステムの初期化処理において不揮発性メモリから搭載されている第１のメモリと活栓挿入可能な第２のメモリに関する容量情報をプロセッサが取得する第１のステップと、
前記容量情報を用いて前記第１のメモリがマッピングされる第２のステップと、
を有することを特徴とするメモリ管理方法。
【請求項２】
請求項１記載のメモリ管理方法において、
前記第２のステップは、
前記第１のメモリに前記第２のメモリに対する論理アドレス物理アドレス変換テーブルの少なくとも一部を格納するための領域を予約する第３のステップを有することを特徴とするメモリ管理方法。
【請求項３】
請求項２記載のメモリ管理方法において、
前記第３のステップにおいて、前記第１のメモリのアドレス変換不要領域に前記領域を予約することを特徴とするメモリ管理方法。
【請求項４】
請求項１乃至３のいずれかに記載のメモリ管理方法において、
前記第２のステップは、
前記第１のメモリに対する論理アドレス物理アドレス変換テーブルの少なくとも一部を前記第１のメモリにマッピングする第４のステップを有することを特徴とするメモリ管理方法。
【請求項５】
請求項４記載のメモリ管理方法において、
前記第４のステップにおいて、前記第１のメモリに対する論理アドレス物理アドレス変換テーブルの少なくとも一部を前記第１のメモリのアドレス変換不要領域にマッピングすることを特徴とするメモリ管理方法。
【請求項６】
請求項１乃至５いずれかに記載のメモリ管理方法において、さらに
前記プロセッサが前記第１のメモリに対して仮想アドレス方式を用いてアクセスする第５のステップを有することを特徴とするメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作中に主メモリの増設を可能とする情報処理装置に関する。
【背景技術】
【０００２】
従来技術においては、メモリの増設をおこなうためには、一度システムを停止してからメモリの増設を行い、システムを再起動することが必要であった。このような技術は、パーソナルコンピュータのマニュアル「日立パーソナルコンピュータ ＦＬＯＡＲＡ１０１０ＤＬ／ＤＭ はじめてのあなたに （ハードウエアマニュアル）のＰ１０７からＰ１１０」（公知例１）に開示されている。本公知例には、パーソナルコンピュータにおいて電源ケーブルを接続しない状態における増設の必要性について述べている。動作中にデバイスを接続するための接続技術が、 Ｒｏｓｃｈ， Ｗｉｎｎ Ｌ．著， 出版社ＳＡＭＳＵＮＧ ＡＭＥＲＩＣＡ， ＩＮＣ．Ｔｈｅ Ｗｉｎｎ Ｌ． Ｒｏｓｃｈ Ｈａｒｄｗａｒｅ Ｂｉｂｌｅ，Ｐ３４７−Ｐ３５６（公知例２）に開示されている。本公知例は、通電中に挿抜することが可能なＰＣＭＣＩＡ規格の仕様について述べている。また、動作中にデバイスを接続するための別の接続技術が日経エレクトロニクス１９９７．６．２号１０９頁〜１１２頁（公知例３）に開示されている。本公知例には、通電中に挿抜することが可能なＰＣＩバス規格の仕様について述べている。
【０００３】
【非特許文献１】パーソナルコンピュータのマニュアル「日立パーソナルコンピュータ ＦＬＯＡＲＡ１０１０ＤＬ／ＤＭ はじめてのあなたに （ハードウエアマニュアル）」
【非特許文献２】Ｒｏｓｃｈ， Ｗｉｎｎ Ｌ．著、出版社ＳＡＭＳＵＮＧ ＡＭＥＲＩＣＡ， ＩＮＣ．Ｔｈｅ Ｗｉｎｎ Ｌ． Ｒｏｓｃｈ Ｈａｒｄｗａｒｅ Ｂｉｂｌｅ，Ｐ３４７−Ｐ３５６
【非特許文献３】日経エレクトロニクス１９９７．６．２号１０９頁〜１１２頁
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術においては、メモリを増設する際に電源を停止する必要があるため、メモリ増設の際に、システム停止処理とシステム初期化処理を行うことが必要であった。ワークステーション／サーバにおいて通常使用されているＯＳ（オペレーティングシステム）において、アプリケーションソフトウエアの停止、初期化処理を含めると、システム停止処理及びシステム初期化処理を行うためには、３０分から１時間程度の時間が掛かるという問題があった。
【０００５】
動作中にメモリを増設する手法としては、クラスタシステムがある。クラスタシステムでは、ある特定のサービスを行うための複数の情報処理装置があり、ある情報処理装置が停止している間にも他方がサービスを継続することができる。しかし、この場合には情報処理装置を複数台用意する必要があるという問題がある。
【０００６】
本発明の目的は、複数台の情報処理装置を用意せずに、動作中にメモリを増設することができるメモリ管理方法を提供することにある。
【０００７】
本発明の他の目的は、プロセッサに接続されている第１のメモリの管理領域を予約することにより、増設される第２のメモリをプロセッサが利用することができるメモリ管理方法を提供することにある。
【０００８】
本発明の他の目的は、予め設定したメモリ量に応じて、そのメモリ量と実装されているメモリ量との差を増設メモリ量とすることができるメモリ管理方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のメモリ管理方法は、第１のメモリと、第１のメモリ内の情報を処理するプロセッサとを有し、電源が投入された状態で第２のメモリを増設することができる情報処理装置において、プロセッサと第１及び第２のメモリの少なくともいずれかとを接続し、プロセッサに接続された第１及び第２のメモリの容量を記憶し、プロセッサと第１及び第２のメモリ各々が接続されているか否かに関する情報を記憶する。
【００１０】
また、上記課題を解決するために、本発明のメモリ管理方法は、第１のメモリを含む情報処理装置に第２のメモリを増設する場合に、情報処理装置におけるトータルメモリ量を設定し、情報処理装置起動時に、情報処理装置に実装されているメモリの実装メモリ量を算出し、トータルメモリ量に基づいて、メモリ管理領域を第１のメモリに確保し、実装メモリに対する管理情報を設定し、情報処理装置の動作中に行う第２のメモリ増設に応じて、トータルメモリ量と実装メモリ量との差を増設メモリ量として算出し、増設メモリ量に対するメモリ管理情報を第１のメモリに設定する。
【００１１】
また、上記課題を解決するために、本発明は、電源が投入された状態でメモリを増設することができる情報処理装置であって、第１のメモリと、第１のメモリ内の情報を処理するプロセッサと、情報処理装置におけるトータルメモリ量を設定する設定手段とを備え、プロセッサは、情報処理装置の起動に応じて、情報処理装置に実装されているメモリの実装メモリ量を算出し、トータルメモリ量に基づいて、メモリ管理領域を第１のメモリに確保し、実装メモリに対するメモリ管理情報を第１のメモリに設定し、かつ、情報処理装置の動作中に行う第２のメモリ増設に応じて、トータルメモリ量と実装メモリ量との差を増設メモリ量として算出し、増設メモリ量に対するメモリ管理情報を第１のメモリに設定する構成とする。
【発明の効果】
【００１２】
本発明により、情報処理装置が動作中にメモリを増設することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施例を図面を参照して詳細に説明する。
【００１４】
まず、図１に本発明による情報処理装置の実施の形態の一つである計算機を示す。
【００１５】
図１の計算機は、プロセッサ１０と主メモリ２０が接続スイッチ５０に接続されて構成される。増設主メモリ６０は、電源投入時には計算機に接続されておらず、計算機の動作が開始されてから接続スイッチ５０に接続される。
【００１６】
プロセッサ１０は、例えばＣＰＵである。主メモリ２０と増設主メモリ６０は、例えばＲＡＭである。接続スイッチ５０は、プロセッサ１０、主メモリ２０、増設主メモリ６０を接続するための接続機構であり、例えばＴＴＬやＣＭＯＳなどの論理回路によって構成される。接続スイッチ５０は、論理的な接続状態を管理する接続管理手段４０を有する。接続管理手段４０は、プロセッサ１０と接続スイッチ５０間、主メモリ２０と接続スイッチ５０間、増設主メモリ６０と接続スイッチ５０間で、論理的な接続がされているかどうか、つまり信号を授受できる状態かどうかを管理する。
【００１７】
管理情報４１は、接続スイッチの各Ｐｏｒｔ毎に接続状態を管理している。図１では、Ｐｏｒｔ０とＰｏｒｔ１が接続状態、即ちプロセッサ１０と接続スイッチ５０間、主メモリ２０と接続スイッチ５０間はそれぞれ論理的に接続されており、増設主メモリ６０と接続スイッチ５０間は論理的に接続されていない状態である。
【００１８】
接続管理手段４０は、例えばＴＴＬやＣＭＯＳなどの論理回路であり、管理情報４１はＲＡＭに保持されてもよい。
【００１９】
この計算機において、論理的に接続されていない部分に対しては信号が伝達されない。そのため論理的に接続されていない部分を物理的に接続してもノイズは伝達されない。即ち、ある２つの部分を物理的に接続した状態であっても、論理的な接続を行わない限り、それらの間では信号の授受は行われない。電源投入時に、プロセッサ１０と接続スイッチ５０間、主メモリ２０と接続スイッチ５０間については、物理的な接続と論理的な接続が確立された状態となっており、増設主メモリ６０は、物理的に接続されていないとする。接続スイッチ５０は、動作中に物理的に接続しても論理的には接続していない。物理的に接続したのち、接続時のノイズがなくなるまでの一定時間待ってから、接続管理手段４０を更新して論理的に接続することにより、動作中の増設が可能である。
【００２０】
増設通知手段３０は、増設を通知するための手段であり、各増設部分に対応したスイッチなどによって実現できる。図１の場合であれは、Ｐｏｒｔ０、Ｐｏｒｔ１、Ｐｏｒｔ２のおのおのに対して個別のスイッチがあれば、どのポートを論理的に接続するか／非接続にするかを設定することができる。接続管理手段４０は増設通知手段３０から増設を通知されると、管理情報４１を更新して対応する部分が論理的に接続するよう設定する。
【００２１】
増設通知手段３０は、プロセッサ１０上で動作するプログラムとキーボードとディスプレイとからなる入出力装置によっても実現することができる。例えば、キーボードから文字列が入力され、プロセッサ１０が対応する接続管理手段４０の管理情報４１を変更することによっても同様の効果が得られる。図１では、増設通知手段３０は接続スイッチに設けたが、接続スイッチとは別でも良い。
【００２２】
図２の例では、初期化時にプロセッサ１０と接続スイッチ５０間、主メモリ２０と接続スイッチ５０間は論理的に接続される。この段階では、増設主メモリ６０は物理的に接続されていない。また、プロセッサ１０がアクセスできるメモリの範囲は、主メモリ２０内の主メモリ管理情報２１に保持される。主メモリ管理情報２１の内容は、図２に示すように、利用可能先頭アドレス２２と利用可能最終アドレス２３とから構成される。利用可能先頭アドレス２２は、プロセッサが利用できる先頭アドレスを示し、利用可能最終アドレス２３には、プロセッサが利用できる最終アドレスを示す。
【００２３】
次に、情報処理装置の動作中にメモリ増設を行う場合の動作について説明する。まず、図１に示す増設主メモリ６０が接続スイッチ５０に接続される。この状態では、接続管理手段４０によるとＰｏｒｔ２が論理的に接続されていないので、増設主メモリ６０が接続スイッチ５０に物理的に接続されたことにより電気的なノイズが発生してもシステムに影響はない。次に、増設主メモリ６０が接続スイッチ５０に物理的に接続された後、一定時間経過して電気的に安定な状態になったら、増設通知手段３０は、接続管理手段４０に増設主メモリ６０の増設を通知する。この通知により、接続管理手段４０は、管理情報４１のＰｏｒｔ２を接続状態「ｏｎ」に設定する。この処理により、接続スイッチ５０と増設主メモリ６０を接続するＰｏｒｔ２は、論理的に接続された状態となる。接続スイッチ５０は、各Ｐｏｒｔごとに接続／非接続を切り替えることが可能であり、増設主メモリ６０を挿入するためにＰｏｒｔ２を非接続状態にしても、他のＰｏｒｔは接続状態のままにできるので、この間もプロセッサ１０は主メモリ２０にアクセスできる。
【００２４】
次にプロセッサ１０は、増設主メモリ６０を初期化し、利用可能なメモリ量を検査する。最後に、プロセッサ１０が、主メモリ管理情報２１に保持されている利用可能最終アドレス２３（図２に示す）を、増設により増えたメモリの量だけ追加し、プロセッサから増設主メモリ６０を利用することが可能となる。
【００２５】
図３に本発明による情報処理装置の実施の形態である他の計算機を示す。
【００２６】
図３では、プロセッサ１０、主メモリ２０、バス制御機構７０がバス８０に接続されて構成される。活線挿抜技術については、例えば公知例２または公知例３に記載の技術を適用することができる。
【００２７】
増設主メモリ６０は、電源投入時には接続されておらず、システムの運用が開始された後にバス８０に接続される。
【００２８】
この構成では、増設主メモリ６０をバス８０に接続する際に、バス８０に電気的なノイズが発生する可能性があるため、バス制御手段７０が、そのノイズを回避する必要がある。プロセッサ１０、主メモリ２０、増設主メモリ６０は、バスによって接続される以外は、図１と同一である。バス制御手段７０は、バスに接続されている要素間でのバス調停をする機構であり、例えばＴＴＬやＣＭＯＳなどの論理回路である。バス制御手段７０は、バスに接続されている各要素に対して、バス上の信号を受け付けてよい情報か、受け付けてはいけない情報かを通知することができる。
【００２９】
図３に示す計算機にメモリを増設する場合の処理について説明する。まず、増設主メモリ６０をバス８０に接続する際にバス８０に発生するノイズを回避するために、増設通知手段３０は、バス制御手段７０に増設主メモリ６０がバス８０に接続されることを通知する。次に、バス制御手段７０は、バス８０上の情報を受け付けないように、バス８０に接続された各要素に通知する。バス制御手段７０が接続／非接続を制御することで、バス全体の単位での接続、非接続の切り替えが可能になる。次に、増設主メモリ６０がバス８０に接続される。増設主メモリ６０をバス８０に接続したことによるノイズがなくなったと思われる程度に時間が経過したら、増設通知手段３０は、バス制御手段７０に、バス８０上の信号を授受可能になったことを通知する。これにより、バス８０に接続されている各要素がノイズの影響を受けることなく、動作中にメモリを増設することができる。
【００３０】
次にプロセッサ１０は、増設主メモリ６０を初期化し、利用可能なメモリ量を検査する。最後に、プロセッサ１０は、主メモリ管理情報２１に保持されている利用可能最終アドレス２３を、増設により増えたメモリの量だけ追加することにより、プロセッサ１０が増設主メモリ６０を利用することが可能となる。
【００３１】
（実施例１）
図４に本発明による情報処理装置の一実施例である計算機を示す。
【００３２】
計算機１００は、最小構成はプロセッサ１１０、不揮発性メモリ１２０、Ｉ／Ｏ装置１３０、二次記憶装置１４０、メモリ−１（２００−１），メモリ−２（２００−２）、バス制御手段７０がシステムバス１５０に結合されて構成される。ここでは、電源投入時には、メモリ−１（２００−１）のみ実装されており、途中から、メモリ−２（２００−２）を電源投入後の動作中に接続する例を示すが、電源投入時と電源投入後の動作中に接続するメモリの数に制限はない。以下、各メモリを分けて示す場合は、メモリ−１（２００−１），メモリ−２（２００−２）と記述するが、装置の構成について示す場合は、メモリ２００として記述する。
【００３３】
計算機１００は、システムの構成によっては、二つ以上のＩ／Ｏ装置１３０を持つ場合もある。
【００３４】
プロセッサ１１０は、たとえばＣＰＵである。不揮発性メモリ１２０は、主電源が投入されていない間でも内容が保持されている記憶装置であって、例えばＲＯＭまたはバッテリーによって常時通電されているＲＡＭである。このＲＯＭは、内容の変更を可能とするために、ＥＥＰＲＯＭ（ＥｌｅｃｔｒｉｃａｌｌｙＥｒａｓａｂｌｅ Ｐｒｏｇｒａｍａｂｌｅ Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）であることが望ましい。不揮発性メモリ１２０は、Ｆｉｒｍｗａｒｅ１２１と構成情報１２２とからなる。
【００３５】
Ｆｉｒｍｗａｒｅ１２１は、システムの初期化処理や基本的な入出力制御を行うためのプログラムから構成される。構成情報１２２は、システムの構成を示す情報であり、Ｆｉｒｍｗａｒｅ１２１を介して参照される。構成情報１２２は、ある時点で実装されているメモリ量を示す実メモリ量情報１２３と追加可能なメモリの情報を示す追加可能メモリ情報１２４を含む。構成情報１２２は、Ｆｉｒｍｗａｒｅ１２１の設定メニューやＵｔｉｌｉｔｙ１４２によって設定される。この設定の際に、ＯＳ１４１に関連する制約条件等をチェックしてから設定変更をすることが好ましい。 Ｕｔｉｌｉｔｙ１４２は、通常プログラムとして実装される。
【００３６】
Ｉ／Ｏ装置１３０は、入出力を行うための装置であり、キーボード、ディスプレイ装置、プリンタ、ネットワークなどによって構成される。
【００３７】
二次記憶装置１４０は、主電源が投入されていない間でも内容が保持されている記憶装置であって、ハードディスク、ＣＤ−ＲＯＭなどの光デバイス、ＭＯなどの光磁気ディスク装置又は磁気テープデバイスなどによって構成される。二次記憶装置には、ＯＳ１４１、Ｕｔｉｌｉｔｙ１４２、及びデータ１４３が保持される。
【００３８】
メモリ２００は、メモリバスインタフェース２１０と記憶機構２２０から構成される。メモリバスインタフェース２１０は、記憶機構２２０の内容をバスを介して入出力するための機構であり、例えばＴＴＬやＣＭＯＳなどの論理回路によって構成され、活線挿抜機能を有する。活線挿抜機能は、例えば従来例で引用したＰＣＭＣＩＡで適用している技術を利用することで実現できる。
【００３９】
記憶機構２２０は、例えばＲＡＭである。メモリ−１（２００−１）の記憶機構２２０−１は、ＯＳによって使用されるＯＳ領域２４０と、ユーザプログラムによって使用されるユーザ領域２３０を有する。ＯＳ領域２４０は、資源管理情報２５０を有し、資源管理情報２５０の中には、主メモリ管理情報２１が含まれる。メモリ−２（２００−２）は、記憶機構２２０−２と、ユーザプログラムによって使用されるユーザ領域２３０−２とを含む。バス制御機構７０及び増設通知手段３０は、図３にて示したものと同一である。
【００４０】
次に図５を用いて、計算機の初期化処理フローについて説明する。
【００４１】
まず、ステップ３１０に示すように、Ｆｉｒｍｗａｒｅ１２１が、プロセッサ１１０を初期化する。次にステップ３２０に示すようにＦｉｒｍｗａｒｅ１２１が、メモリ２００を初期化する。この初期化処理により、プロセッサ１１０がメモリ２００に対して読み書きが正常にできるようになる。この後、ステップ３３０に示すように、Ｆｉｒｍｗａｒｅ１２１がＩ／Ｏ装置１３０及び二次記憶装置１４０の初期化処理を行う。次にステップ３４０に示すように、Ｆｉｒｍｗａｒｅ１２１が二次記憶装置１４０からＯＳ１４１を読み出して、メモリ２００に書き込む。次にステップ３５０に示すように、プロセッサ１１０がＦｉｒｍｗａｒｅ１２１からＯＳ１４１に制御を移す。次にステップ３６０に示すようにＯＳ１４１がＦｉｒｍｗａｒｅ１２１を介して、構成情報１２２を読み出して、資源管理情報２５０を作成し、初期化処理を完了する。
【００４２】
通常動作を行う際に、プログラムは、通常ユーザ領域２３０にて動作する。ＯＳ領域２４０は、電源投入時に接続されていたメモリ２００に確保される。プログラムを起動する際には、通常ＯＳ１４１は、資源管理情報２５０に保持されている主メモリ管理情報２１を参照し、利用可能なメモリ領域を確認してそのプログラムを起動する。起動の際に要求されたメモリ量が利用可能メモリ量よりも大きければ、ＯＳ１４１はプログラムを起動できない。
【００４３】
次に、図６を用いて、メモリ追加処理フローについて説明する。
【００４４】
まず、ステップ４０５に示すように、増設通知手段３０は、バス制御手段７０にバス１５０の閉塞を要求する。次にステップ４０８に示すように、バス制御手段７０がバス１５０を閉塞状態にする。この状態では、各接続要素は、バス１５０上の電気信号を論理的な信号として取り扱わないので、バス１５０に対してメモリ２００−２を挿入したときの電気的なノイズに対して異常をきたさない状態になる。続いて、ステップ４１０に示すように、メモリ−２（２００−２）をバス１５０に接続する。ここで、接続が完了して、電気的なノイズがなくなるまで、待つ必要がある場合もある。次に、ステップ４１５に示すように増設通知手段３０を介して、バス制御手段７０にバス１５０の閉塞解除を要求する。次にステップ４１８に示すようにバス制御手段７０がバス１５０を閉塞状態を解除する。この段階で、システム内の各要素は、バスを介して相互にアクセス可能となる。
【００４５】
次に、ステップ４２０に示すように、プロセッサ１１０がＵｔｉｌｉｔｙ１４２を起動し、Ｕｔｉｌｉｔｙ１４２がＦｉｒｍｗａｒｅ１２１を起動する。そしてＦｉｒｍｗａｒｅ１２１が、構成情報１２２に保持されている追加可能メモリ情報１２４に基づき、新規追加されたメモリ−２（２００−２）を初期化する。
【００４６】
このＵｔｉｌｉｔｙ１４２の起動は、メモリ−２（２００−２）がバス１５０に接続される際に、図示しないメモリ−２のバスインタフェース部分がプロセッサ１１０に割り込みを発行して、その割り込みによって起動される方法で実装されてもよいし、一定時間間隔で自動的に動作するパトロールプログラムによって起動されてもよいし、または、ユーザがコマンド投入することによって起動されてもよい。
【００４７】
その後、プロセッサ１１０は、メモリ−１（２００−１）のＯＳ領域２４０内の実メモリ量情報１２３内容を、追加されたメモリ量を基に更新する。さらに、プロセッサ１１０は、Ｆｉｒｍｗａｒｅ１２１からＵｔｉｌｉｔｙ１４２に制御を戻す。次に、ステップ４４０に示すように、Ｕｔｉｌｉｔｙ１４２は、ＯＳ１４１を呼び出し、ＯＳ１４１は、Ｆｉｒｍｗａｒｅ１２１を介して、実メモリ量情報１２３を取得し、主メモリ管理情報２１を更新し、メモリ追加処理を完了する。また、上記のメモリ追加処理フローにおいて、プロセッサ１１０がＵｔｉｌｉｔｙ１４２を起動する時やＦｉｒｍｗａｒｅ１２１を呼び出す時に（ステップ４２０）、プロセッサ１１０が二次記憶装置１４０や不揮発性メモリ１２０にメモリ追加処理を行った変更記録を残す処理を行うことが好ましい。
【００４８】
ＯＳ管理下の主メモリ管理情報２１にはメモリ追加後の情報が保持されているため（ステップ４４０）、メモリ追加処理が完了した後に、プログラムを起動する際には、 追加後のメモリをユーザプログラムから利用することができる。主メモリ管理情報２１は、図２に示した構造の様に実現できる。
【００４９】
図４は、計算機内の各要素がバスを介して接続する例を示したが、これは図１のように計算機内の各要素が接続スイッチを介して接続する構成で実現することも可能である。
【００５０】
次に、図７を用いて、本発明を仮想記憶システムをサポートする計算機へ適用した場合の例を示す。図７には仮想記憶制御を行う場合の主メモリ管理情報２１が示される。仮想記憶制御を行う場合には、図２で示したデータ（利用可能先頭アドレス２２と利用可能最終アドレス２３）に加えて、アドレス変換不要先頭アドレス２４とアドレス変換不要最終アドレス２５、論理アドレス物理アドレス変換対２６、およびフリーリスト２７が主メモリ管理情報２１に追加される。これらは、アドレス変換不要な領域を示すためのものである。論理アドレス物理アドレス変換対２６は、仮想記憶制御において、論理アドレスを対応する物理アドレスに変換するための情報を保持する。フリーリスト２７は、利用可能なメモリ資源を管理するための情報を保持する。仮想記憶制御ソフトウエアに関する技術は、バーニー・グッドハート、ジェームス・コックス著、桜川貴司監訳プレンティスホール出版、ＵＮＩＸ（ＵＮＩＸは登録商標です）カーネルの魔法Ｓｙｓｔｅｍ Ｖ リリース４のアーキテクチャＰ８０−８５（公知例４）に開示されている。本公知例には、仮想記憶を適用するＯＳの実装方法について述べられている。公知例４に示されているように、仮想記憶では、プロセッサ１１０が論理アドレス物理アドレス変換対を用いて、仮想アドレスを物理アドレスに変換することが必要である。仮想記憶動作を行うプロセッサ１１０は、この変換を高速に行うためにＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ Ｌｏｏｋａｓｉｄｅ Ｂｕｆｆｅｒ）と呼ばれるハードウエア資源を内蔵している場合が多いが、ＴＬＢは通常は主メモリすべてをカバーすることができる容量がないので、ほとんどの論理アドレス物理アドレス変換対情報は、主メモリ上に存在する必要がある。また、アドレス変換情報がプロセッサのＴＬＢ内に存在しない場合、プロセッサはアドレス変換情報を主メモリから取得する必要があるが、この処理は通常割込処理として実行される。割込処理内では、同一優先度の割込は待たされるので、アドレス変換対は、更なる割り込みを生成しないで取得できることが必要である。よってアドレス変換対は、アドレス変換不要な領域に保持される。アドレス変換不要な領域は管理方法が異なるため、あらかじめ予約しておくことが必要である。予約が必要な領域は、論理アドレス物理アドレス変換対２６や、公知例４に記載されているフリーリストなどの構造体があり、これはＯＳ１４１の実装によって異なる。ここでは、論理アドレス物理アドレス変換対２６とフリーリスト２７を保持する領域を予約するＯＳ１４１についての処理を記述する。予約処理は、図７のアドレス変換不要な領域を示すための情報であるアドレス変換不要先頭アドレス２４とアドレス変換不要最終アドレス２５の範囲に必要なデータサイズ分だけを追加しておくことによって行われる。
【００５１】
ここで、論理アドレス物理アドレス変換対２６と各アドレスの管理状況について、図８を用いて詳細に説明する。図８では、図４に示す計算機において、メモリ−１ （２００−１）に、アドレス０ｘ０からアドレス０ｘ８０００００００までの分のメモリが実装されており、メモリ−２（２００−２）に、アドレス０ｘ８０００００００からアドレス ０ｘ１００００００００までの分のメモリが増設可能として予約されている場合の論理アドレス物理アドレス変換対２６と主メモリ内のデータ配置について示している。論理アドレス物理アドレス変換対２６は、ＯＳ領域２４０の主メモリ管理情報２１の中に存在し、アドレス変換が不要な領域内に保持される。図８に示す例の場合、アドレス変換不要領域は、アドレス０からアドレス０ｘ２００００００であり、図７に示したアドレス変換不要先頭アドレス２４にはアドレス「０」が、アドレス変換不要最終アドレス２５にはアドレス「０ｘ２００００００」が設定されている。メモリ増設前には、メモリ−１ （図４の２００−１）しか利用できないので、利用可能なメモリの範囲は、アドレス０からアドレス０ｘ８０００００００であるから、図７に示した利用可能先頭アドレス２２にはアドレス「０」が、利用可能最終アドレス２３にはアドレス「０ｘ８０００００００」が設定されている。メモリ増設後には、メモリ−１およびメモリ−２（図４の２００−１および２００−２）が利用できるので、利用可能なメモリの範囲は、アドレス０からアドレス０ｘ１００００００００となり、図７に示した利用可能最終アドレス２３には、アドレス「０ｘ１００００００００」が設定される。
【００５２】
増設予定の記憶機構−２（２２０−２）の分について予め予約領域を保持することが必要である。ここで、予約領域は、電源投入時に存在する記憶機構内部になければならないため、記憶機構−１（２２０−１）の中に保持される必要がある。
【００５３】
また、領域を予約することにより、本来予約をしなければ利用できたユーザ領域のサイズが減少するので、計算機が、領域予約サイズを決定するための指針を提供することが望ましい。以下、その領域予約のためのＵｔｉｌｉｔｙ１４２の動作について説明する。
【００５４】
図９を用いてに領域予約処理フローを説明する。 Ｕｔｉｌｉｔｙ１４２がこの領域予約処理を行う。まず、ステップ５１０に示すように、 Ｕｔｉｌｉｔｙ１４２は、予約する仮想記憶容量に対して必要となる主メモリ占有メモリ量を算出する。この算出処理は、ＯＳ１４１のソースプログラムを調査して計算するか、ＯＳ１４１が通知するためのインタフェースとなるシステムコールを提供することによって行うことできる。この処理は、ＯＳ１４１の内部構造を調査してユーティリティを作成することによって実現できる。ＰＡ−ＲＩＳＣの論理アドレス物理アドレス変換対２５２の情報については、Ｇｅｒｒｙ Ｋａｎｅ著、Ｐｒｅｎｔｉｃｅ Ｈａｌｌ出版ＰＡ−ＲＩＳＣ ２．０ ＡＲＣＨＩＴＥＣＴＵＲＥ、Ｐ３−９〜Ｐ３−１６（公知例５）に開示されている。公知例５では、仮想記憶を実現するために必要なハードウエアやソフトウエア資源について述べている。公知例５に示されているように、図７に示した論理アドレス物理アドレス変換対２５２の情報は、１ページ（例えば４キロバイト）当たり３２ｂｙｔｅで構成できる。ただし、このサイズは、ＯＳ１４１の実装に依存して変化するので、ＰＡ−ＲＩＳＣ ２．０であれば必ず１ページ当たり、３２ｂｙｔｅとなるとは限らない。また、前述のフリーリストについては、上記アドレス変換対情報を示すアドレスとして実装すれば、１ページ当たり８ｂｙｔｅというように決定できる。フリーリストについても、そのサイズはＯＳ１４１の実装に依存して異なり得る。Ｕｔｉｌｉｔｙ１４２は、その他の必要に資源についても 、対応するＯＳ１４１の実装にしたがってメモリ量を算出することができる。
【００５５】
次にステップ５２０に示すように、Ｕｔｉｌｉｔｙ１４２は、現状実装メモリサイズと上記の計算値から、予約可能上限値を決定する。各ＯＳ毎に必要最小メモリサイズが規定されている。ＯＳ１４１が正常に動作するためには、実装メモリ量から増設メモリ分のＰａｇｅ構造体分のメモリ量を差し引いた値が、必要最小メモリ量以上あることが必要である。したがって、現在の実装メモリ量から増設メモリ分のＰａｇｅ構造体分のメモリ量を差し引いた値が最小メモリ量となるような増設メモリ量の値と、システムの最大実装可能メモリ量から現在の実装メモリ量を差し引いた値とを比較し、小さい方を追加可能メモリ情報１２４に設定可能な最大値とし、値０を追加可能メモリ情報１２４に設定可能な最小値とする。ここで、Ｐａｇｅ構造体とは、ページを管理するためのデータ領域であり、本願発明においては、図７の論理アドレス物理アドレス変換対２６とフリーリスト２７に相当する。
【００５６】
次にステップ５３０に示すように、 Ｕｔｉｌｉｔｙ１４２は、ユーザに上記範囲内で選択させて、設定するべき値を更に設定した値を決定する。設定した値をＵｔｉｌｉｔｙ１４２が参照できるように、その設定した値を二次記憶装置１４０にもファイルとして書き込んでおくことが好ましい。
【００５７】
最後にステップ５４０に示すように、 Ｕｔｉｌｉｔｙ１４２は、ステップ５３０にて決定された値を追加可能メモリ情報１２４に設定する。この設定時のインタフェースを図１０に示す。図１０に示すように、Ｉ／Ｏ装置１３０には、追加可能メモリ最大サイズおよび追加可能メモリ最小サイズ表示１０１０と、推奨追加メモリサイズ表示１０２０と設定追加メモリサイズ入力１０３０とが表示される。ここで、設定追加メモリサイズ入力１０３０からの入力を、例えばカーソルキーの上下によって追加可能メモリ最大サイズおよび追加可能メモリ最小サイズ表示の範囲のみで変化するように動作し、リターンキー入力にて決定するようなインタフェースにて実装すれば、設定追加メモリサイズ入力１０３０からの入力が異常値となることがない。
【００５８】
また、実装メモリ量やプロセッサ数などのシステム構成や、システムの用途に応じて、追加可能メモリの推奨値をユーザに提供することが望ましい。例えば、追加可能メモリ情報１２４に設定可能な最大値の２分に１を追加可能メモリの推奨値とする。
【００５９】
次に、仮想記憶を行う計算機の場合の初期化処理を説明する。基本的な処理フローは、図５にて説明した処理と同様であるが、ステップ３６０において、ＯＳ１４１が資源管理情報を作成する際に、アドレス変換不要領域内に、増設可能領域分の論理アドレス物理アドレス変換対２６や、フリーリスト２７のためのデータ領域の割り当て処理を行う。その際に、利用不可能な範囲については、ＯＳ１４１は、Ｆｉｒｍｗａｒｅ１２１を介して構成情報１２２内の実メモリ情報１２３と追加可能情報１２４を取得する。この追加可能情報１２４に保持された情報によって示されるメモリ分については、通常のＯＳの初期化後に、公知例４に示されるＰａｇｅ構造体のページロックを用いて、リソースを予約し、かつフリーリスト２７に登録しない状態とすることにより、ＯＳがデータ領域割り当てを行う制御管理外とすることができるため、追加可能となるメモリに関する情報分の資源を予約し通常は該当領域メモリが利用されない状態とすることができる。ここで、リソースの予約とは、追加可能メモリ用のＰａｇｅ構造体をアドレス変換不要な領域に置くために、アドレス変換不要先頭アドレス２４とアドレス変換不要最終アドレス２５の間の数を、追加可能メモリ用のＰａｇｅ構造体分のメモリ量だけ増やすことを意味する。
【００６０】
次に、仮想記憶を行う計算機の場合のメモリ追加処理について示す。基本的な処理フローは、図６にて説明した処理と同様であるが、ステップ４４０にてＵｔｉｌｉｔｙ１４２からのＯＳコールによって、上述のように公知例４に示されるＰａｇｅ構造体のページロックを用いて、リソースを予約し、かつフリーリスト２７に登録しない状態とすることにより、ＯＳがデータ領域割り当てを行う制御管理外とする扱いを解除し、主メモリ管理情報２１を更新する。このステップにより、通常のメモリが存在する場合と同じ状態とすることで、システムを再初期化することなく利用可能とすることができる。
【００６１】
（実施例２）
実施例２では、メモリ２００の故障を検知する機能と故障部位を閉塞する機能を持ち、減少した正常動作メモリ量がＯＳブートのための必要最小メモリ量（図９の説明で解説した必要最小メモリ量）以上あればブートする計算機を考える。この計算機でメモリ追加機能を使用することにより、Ｕｔｉｌｉｔｙ１４２が、追加可能メモリのための管理領域を確保してしまうと、正常動作メモリ量が不足して計算機がブートしない場合が考えられる。
【００６２】
そこで、本実施例では、追加可能メモリ量設定時の正常動作メモリ量が、ブート時の正常動作メモリ量に満たない場合には、追加可能メモリ量設定自体を無効なものとして扱い、追加可能メモリ量を０としてブートする。
【００６３】
以下、本実施例について詳細に説明する。
【００６４】
図１１は実施例１における図４の不揮発性メモリ１２０に相当する。本実施例では、不揮発性メモリ１２０に、設定時の正常動作メモリ量情報１２５が追加されている。この設定時の正常動作メモリ量情報１２５には、ユーザが追加可能メモリ情報１２４に追加可能メモリ量を設定したときの正常動作メモリ量を保持する。
【００６５】
図１２は領域予約処理フローを示しており、実施例１における図９のフローに、設定時の正常動作メモリ量情報１２５の設定を行うステップ５５０を追加したフローチャートである。ステップ５５０では、設定時の正常動作メモリ量情報１２５に、現在の正常動作メモリ量を設定する。
【００６６】
図１３は計算機の初期化処理フローを示しており、実施例１における図５のフローに、ステップ３２０のメモリ初期化処理の後にステップ３２５を追加したフローチャートとなっている。ステップ３２５では、Ｆｉｒｍｗａｒｅ１２１が追加可能メモリ情報１２４を設定する。
【００６７】
図１４は、図１３におけるステップ３２５の追加可能メモリ情報１２４設定処理を詳細に示すフローチャートである。まずステップ６１０で、 Ｆｉｒｍｗａｒｅ１２１が、設定時の正常動作メモリ量情報１２５とブート時の正常動作メモリ量とを比較する。値が異なる場合にはステップ６２０へ進む。値が等しい場合には、処理を終了する。ステップ６２０では、追加可能メモリ情報１２４に値０を設定する。
【００６８】
計算機のその他の部分とのインタフェースは追加可能メモリ情報１２４である。よって、計算機のその他の部分は実施例１と同一である。
【００６９】
（実施例３）
実施例３では、メモリ２００の故障を検知する機能と故障部位を閉塞する機能を持ち、減少した正常動作メモリ量がＯＳブートのための必要最小メモリ量（図９の説明で解説した必要最小メモリ量）以上あればブートする計算機を考える。
【００７０】
本実施例では、Ｕｔｉｌｉｔｙ１４２が、ブート時に追加可能メモリ量を算出する。この際、（１）正常動作メモリ量から追加可能メモリ用の管理領域を減じた残りのメモリ量が必要最小メモリサイズを下回らない範囲において、（２）｛合計メモリ量−正常動作メモリ量｝以下で可能な限り大きな値を追加可能メモリ量に設定する。
【００７１】
正常動作メモリ量から追加可能メモリ用の管理領域を減じた残りのメモリ量が必要最小メモリサイズを下回らないための条件は、必要最小メモリサイズとメモリページサイズと１ページあたりの管理領域の大きさから求めることが可能である。
【００７２】
以下に、実施例３を詳細に説明する。
【００７３】
例として、合計メモリ量として８ギガバイトが要求される場合を説明する。
【００７４】
また、正常動作メモリ量から追加可能メモリ用の管理領域を減じた残りのメモリ量が必要最小メモリサイズを下回らないための条件を次の２条件とする。すなわち、第１の条件は、ブート時に正常動作メモリ量がｘページ以上（ただしｘは整数で、１ページは４キロバイト）である場合のみ、メモリ追加機能の利用を許すという制約である。また、第２の条件は、追加可能メモリの大きさはブート時の正常動作メモリ量の最大ｙ倍以下（ただしｙは浮動小数点数）という制約である。この２条件は（式１）正常動作メモリ量≧ｘページと（式２）追加可能メモリ量≦ｙ×正常動作メモリ量と記述できる。
【００７５】
図１５は実施例１における図４の不揮発性メモリ１２０に相当する。本実施例では、不揮発性メモリ１２０に、合計メモリ量１２６、最低正常動作メモリ量制限１２７、追加可能メモリ量と正常動作メモリ量との最大比制限１２８が追加されている。 Ｕｔｉｌｉｔｙ１４２は、合計メモリ量１２６に、正常動作メモリ量と追加可能メモリ量の和の値を記憶する。本実施例では、その和の値は４キロバイトのページ数で指定する３２ビット整数の記憶領域である。最低正常動作メモリ量制限１２７には、 Ｕｔｉｌｉｔｙ１４２が、メモリ追加機能の利用のために最低限必要な正常動作メモリ量を指定する。本実施例では４キロバイトのページ数で指定する３２ビット整数の記憶領域である。追加可能メモリ量と正常動作メモリ量との最大比制限１２８には、 Ｕｔｉｌｉｔｙ１４２が、追加可能メモリ量／正常動作メモリ量の最大比を指定する。本実施例では、追加可能メモリ量と正常動作メモリ量との最大比制限１２８は、３２ビット浮動小数点数を格納する領域である。本実施例においては、追加可能メモリ情報１２４はユーザが直接指定できない。
【００７６】
図１６は、構成情報ユーザ指定処理のフローチャートを示す。まず、ステップ７１０に示すように、Ｕｔｉｌｉｔｙ１４２が、ユーザか要求した合計メモリ量を、不揮発性メモリ１２０内の対応する領域（合計メモリ量情報１２６）に格納する。例えばユーザが合計メモリ量として８ギガバイト分を要求した場合には、Ｕｔｉｌｉｔｙ１４２が、２メガページを表す値０ｘ２０００００を、合計メモリ量情報１２６に格納する。次に、ステップ７２０に示すように、Ｕｔｉｌｉｔｙ１４２が、ユーザが指定した、メモリ追加を許すために最低限必要な正常動作メモリ量を、不揮発性メモリ１２０内の対応する領域（最低正常動作メモリ量制限１２７）に格納する。例えばユーザが最低現必要な正常動作メモリ量として１ギガバイトを指定する場合には、２５６キロページを表す値０ｘ４００００を最低正常動作メモリ量制限１２７に格納する。最後に、ステップ７３０に示すように、Ｕｔｉｌｉｔｙ１４２は、ユーザが指定した、追加可能メモリ量／正常動作メモリ量の最大比を、不揮発性メモリ１２０内の対応する領域（追加メモリ量と正常動作メモリ量との最大比１２８）に格納する。例えばユーザが最大比として４．０を指定する場合には、値４．０を追加メモリ量と正常動作メモリ量との最大比１２８に格納する。
【００７７】
図１６に示す構成情報ユーザ指定処理では、図９の領域予約処理とは異なり、ユーザは追加可能メモリ情報１２４を直接指定できない。その代わりにユーザは、合計メモリ量１２６、すなわち正常動作メモリ量と追加可能メモリ量の和の値を直接指定する。
【００７８】
計算機の初期化処理は、実施例２と同様、図１３の初期化フローに従って行われる。ステップ３２５ではＦｉｒｍｗａｒｅ１２１が追加可能メモリ情報１２４を設定する。
【００７９】
図１７は、実施例２における図１３のステップ３２５の追加可能メモリ情報１２４設定処理を示すフローチャートである。まずステップ８１０で、Ｆｉｒｍｗａｒｅ１２１は、領域１２７に格納されている最低正常動作メモリ量と、ブート時の正常動作メモリ量とを比較する。ブート時の正常動作メモリ量のほうが小さい場合には、ステップ８４０へ進む。上述の例のように最低正常動作メモリ量として２５６キロページ（１ギガバイト）を指定していた場合には、Ｆｉｒｍｗａｒｅ１２１は式１が満たされるか否かを判定することになり、ブート時の正常動作メモリ量が１ギガバイト未満の場合にはステップ８４０へ進む。正常動作メモリ量が最低正常動作メモリ量以上の場合には、ステップ８２０へ進む。ステップ８２０では、Ｆｉｒｍｗａｒｅ１２１は、｛合計メモリ量−ブート時の正常動作メモリ量｝／ブート時の正常動作メモリ量が最大比以下か否かを判定し、これが最大比以下でなければステップ８５０に進み、最大比以下ならばステップ８３０に進む。合計メモリ量は、図１５における合計メモリ量情報１２６に格納されている値が使用され、最大比は、図１５における追加メモリ量と正常動作メモリ量との最大比制限１２８に格納されている値が使用される。上述の例のように、最大比に４．０を指定していた場合には、Ｆｉｒｍｗａｒｅ１２１は式２が満たされるか否か、すなわち｛合計メモリ量−ブート時の正常動作メモリ量｝／ブート時の正常動作メモリ量が４．０以下かどうかを判定することになる。最低正常動作メモリ量制限および最大比制限の両方が満たされた場合のみ、ステップ８３０に到達する。このステップでは、Ｆｉｒｍｗａｒｅ１２１は、追加可能メモリ情報１２４に｛合計メモリ量−ブート時の正常動作メモリ量｝を格納し、追加可能メモリ情報設定処理を終了する。最低正常動作メモリ量制限が満たされなかった場合に、ステップ８４０に到達する。このステップでは、Ｆｉｒｍｗａｒｅ１２１は、追加可能メモリ情報１２４に０を格納し、追加可能メモリ情報設定処理を終了する。つまり、Ｆｉｒｍｗａｒｅ１２１は、追加されるメモリのための主メモリ管理情報２１を確保することができないと判断し、メモリ追加を禁止する。最低正常動作メモリ量制限は満たされるものの、最大比制限が満たされなかった場合に、ステップ８５０に到達する。このステップでは、Ｆｉｒｍｗａｒｅ１２１は、最大比制限が満たされるように、追加可能メモリ量を小さくする。具体的には、Ｆｉｒｍｗａｒｅ１２１は｛ブート時の正常動作メモリ量×最大比｝を追加可能メモリ情報１２４に設定し、終了する。上述の例のように、追加可能メモリ量と正常動作メモリ量との最大比制限１２８に４．０を格納していた場合には、Ｆｉｒｍｗａｒｅ１２１は、追加可能メモリ情報１２４に、正常動作メモリ量の４．０倍の値を格納する。
【００８０】
計算機のその他の部分とのインタフェースは追加可能メモリ情報１２４である。よって、計算機のその他の部分は第１の実施の形態と同一である。
【００８１】
第３の実施例では（式１）および（式２）を、追加可能メモリ量と正常動作メモリ量とが満たすべき条件式として説明したが、本特許は別の条件式を使用する場合にも適用可能である。 
以上のように、動作中にメモリを増設し、かつ増設したメモリを利用することが可能な情報処理装置を提供することができる。さらに、プロセッサに接続されている第１のメモリの管理領域を予約することにより、増設される第２のメモリをプロセッサが利用することができるメモリ管理方法を提供することができる。さらに、予め設定したメモリ量に応じて、そのメモリ量と実装されているメモリ量との差を増設メモリ量とすることができるメモリ管理方法を提供することができる。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施例である計算機システムの構成図。
【図２】本発明の一実施例である計算機システムの構成図。
【図３】本発明の他の実施例である計算機システムの概略構成図。
【図４】本発明の他の実施例である計算機の構成図。
【図５】図４に示す計算機が行う初期化処理のフローチャート。
【図６】図４に示す計算機が行うメモリ追加処理のフローチャート。
【図７】図４に示す計算機の主メモリ管理情報の構成図。
【図８】図４に示す計算機に仮想アドレス制御を適用した際のデータ構造図。
【図９】図４に示す計算機が行う領域予約処理のフローチャート。
【図１０】図４に示す計算機におけるユーザインタフェースを示す画面イメージ。
【図１１】第２の実施例における図４に示す計算機の不揮発性メモリの構成図。
【図１２】第２の実施例における図４に示す計算機が行う領域予約処理のフローチャート。
【図１３】第２の実施例における図４に示す計算機が行う初期化処理のフローチャート。
【図１４】第２の実施例における図４に示す計算機が行う初期化処理中の追加可能メモリ量情報設定のフローチャート。
【図１５】第３の実施例における図４に示す計算機の不揮発性メモリの構成図。
【図１６】第３の実施例における図４に示す計算機が行う構成情報ユーザ指定処理のフローチャート。
【図１７】第３の実施例における図４に示す計算機が行う初期化処理中の追加可能メモリ量情報設定のフローチャート。
【符号の説明】
【００８３】
１０：プロセッサ、２０：主メモリ、２１：主メモリ管理情報、３０：増設通知手段、４０：接続管理手段、５０：接続スイッチ、６０：増設主メモリ、７０：バス制御手段、８０：バス、１２０：不揮発性メモリ、１２１：Ｆｉｒｍｗａｒｅ、１２２：構成情報、１２３：実メモリ情報、１２４：追加可能メモリ情報、１４０：二次記憶装置、１４１：ＯＳ、１４２：Ｕｔｉｌｉｔｙ、１４３：データ、２００：メモリ、２１０：メモリバスインタフェース、２２０：記憶機構、２３０：ユーザ領域、２４０：ＯＳ領域、２５０：資源管理情報
【図１】
2005092901.tif 000003
【図２】
2005092901.tif 000004
【図３】
2005092901.tif 000005
【図４】
2005092901.tif 000006
【図５】
2005092901.tif 000007
【図６】
2005092901.tif 000008
【図７】
2005092901.tif 000009
【図８】
2005092901.tif 000010
【図９】
2005092901.tif 000011
【図１０】
2005092901.tif 000012
【図１１】
2005092901.tif 000013
【図１２】
2005092901.tif 000014
【図１３】
2005092901.tif 000015
【図１４】
2005092901.tif 000016
【図１５】
2005092901.tif 000017
【図１６】
2005092901.tif 000018
【図１７】
2005092901.tif 000019