JP2007233534A - 情報処理装置およびメモリアドレス空間割り当て方法 - Google Patents
情報処理装置およびメモリアドレス空間割り当て方法 Download PDFInfo
- Publication number
- JP2007233534A JP2007233534A JP2006052042A JP2006052042A JP2007233534A JP 2007233534 A JP2007233534 A JP 2007233534A JP 2006052042 A JP2006052042 A JP 2006052042A JP 2006052042 A JP2006052042 A JP 2006052042A JP 2007233534 A JP2007233534 A JP 2007233534A
- Authority
- JP
- Japan
- Prior art keywords
- size
- memory
- area
- allocated
- address space
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/206—Memory mapped I/O
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Memory System (AREA)
Abstract
【課題】物理メモリに割り当て可能なメモリアドレス空間のサイズを変更することが可能な情報処理装置およびメモリアドレス空間割り当て方法を実現する。
【解決手段】記憶装置に格納された割り当てサイズを取得し、前記取得した割り当てサイズを用いて前記第1エリアに前記物理メモリを割り当て、前記第2エリアに割り当て可能なI/Oデバイスを検出し、検出されたI/Oデバイスに応じて前記記憶装置に格納された前記割り当てサイズ情報を変更する。
【選択図】 図4
【解決手段】記憶装置に格納された割り当てサイズを取得し、前記取得した割り当てサイズを用いて前記第1エリアに前記物理メモリを割り当て、前記第2エリアに割り当て可能なI/Oデバイスを検出し、検出されたI/Oデバイスに応じて前記記憶装置に格納された前記割り当てサイズ情報を変更する。
【選択図】 図4
Description
本発明は、メモリアドレス空間に主記憶およびI/Oデバイスを割り当て可能な情報処理装置および同装置で用いられるメモリアドレス空間割り当て方法に関する。
近年、ノートブック型パーソナルコンピュータのような各種携帯型情報処理装置が開発されている。このようなコンピュータは、その機能拡張のために、I/Oデバイスなどが必要に応じて接続可能なように構成されている。
このようなI/Oデバイスの中には、MMIO(Memory-mapped Input/Output)として機能するI/Oデバイスがある。MMIOとして機能するI/Oデバイスは、プロセッサのメモリアドレス空間に割り当てられる。
特許文献1には、MMIOをサポートするコンピュータシステムが開示されている。
特開2003−99388号公報
通常、MMIOをサポートするシステムにおいては、主記憶を割り当てる空間の他にMMIO空間をプロセッサのメモリアドレスにマッピングすることが必要となる。
ところで、32ビットプロセッサにおいては、このプロセッサがアクセス可能なメモリアドレス空間のサイズは4Gバイトまでに制限されている。このため、コンピュータに4Gバイトの物理メモリを搭載した場合、実際に主記憶として使用できるメモリサイズは、4GバイトからMMIOアドレス空間のサイズを引いた残りのサイズに制限される。MMIOアドレス空間のサイズを小さくすれば、主記憶として使用可能なメモリサイズは大きくなる。しかし、このようにすると、MMIOとして機能するI/Oデバイスが正常に動作しなくなってしまう可能性がある。
本発明は、物理メモリに割り当て可能なメモリアドレス空間のサイズを変更することが可能な情報処理装置およびメモリアドレス空間割り当て方法を提供することを目的とする。
本発明の情報処理装置は、主記憶を割り当て可能な第1エリアとI/Oデバイスを割り当て可能な第2エリアとがマッピングされたメモリアドレス空間をアクセス可能なプロセッサと、前記主記憶として機能する物理メモリと、前記メモリアドレス空間に前記主記憶を前記I/Oデバイスよりも優先して割り当てる第1モードおよび前記メモリアドレス空間に前記I/Oデバイスを前記主記憶よりも優先して割り当てる第2モードの一方を指定するモード指定手段と、前記物理メモリのメモリサイズが前記第1エリアのサイズよりも大きい場合、前記第1モードおよび前記第2モードのどちらのモードが指定されているかを判別する判別手段と、前記第1モードが指定されていることが判別された場合、前記主記憶として使用可能なメモリサイズが前記第1エリアのサイズよりも大きいサイズに設定されるように前記第1エリアおよび少なくとも前記第2エリア内の一部に前記物理メモリを割り当て、前記第2モードが指定されていることが判別された場合、前記使用可能なメモリサイズが前記第1エリアのサイズに制限されるように前記第1エリアに前記物理メモリを割り当てる割り当て手段とを具備することを特徴とする。
本発明によれば、物理メモリに割り当て可能なメモリアドレス空間のサイズを変更することが可能となる。
以下、図面を参照して本発明の実施形態を説明する。
図1には、本発明の一実施形態に係る情報処理装置の構成が示されている。この情報処理装置は、例えば、バッテリ駆動可能なノートブック型の携帯型パーソナルコンピュータ10として実現されている。このノートブック型の携帯型パーソナルコンピュータ10は、USB(Universal Serial Bus)デバイス、CardBus規格に対応するCardBusカードデバイスおよびPCIExpress(Peripheral Component Interconnect Express)規格に対応するPCIExpressカードデバイスなどの各種I/Oデバイス(オプションI/Oデバイス)が取り外し自在に接続できるように構成されている。
本コンピュータ10は、本体11およびディスプレイユニット12とから構成されている。本体11の上面には、キーボード13、本コンピュ−タ10を電源オン/電源オフするためのパワーボタンスイッチ14およびタッチパッド15などが設けられている。本体11の例えば背面には、上記各種オプションI/Oデバイスを接続するための接続ポートが配置されている。ディスプレイユニット12の内面にはLCD(Liquid Crystal Display)17から構成される表示装置が組み込まれており、そのLCD17の表示画面は、ディスプレイユニット12のほぼ中央に位置されている。ディスプレイユニット12は、本体11に支持され、その本体11に対して本体11の上面が露出される開放位置と本体11の上面を覆う閉塞位置との間を回動自在に取り付けられている。
図2には、本コンピュータ10のシステム構成の例が示されている。
本コンピュータ10は、図2に示されているように、CPU111、ノースブリッジ(NB)112、主メモリ116、サウスブリッジ(SB)120、ハードディスクドライブ(HDD)126A、光ディスクドライブ(ODD)126B、BIOS−ROM130、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)140等から構成されている。
CPU111は、本コンピュータ10の各コンポーネントの動作を制御するプロセッサである。このCPU111は、HDD126Aから主メモリ116にロードされる、オペレーティングシステム(OS)および各種アプリケーションプログラムを実行する。また、CPU111は、BIOS−ROM130に格納されたシステムBIOS(Basic Input Output System)も実行する。システムBIOSはハードウェア制御のためのプログラムである。システムBIOSは、本コンピュータ10の各コンポーネントの動作環境を設定するためのBIOSセットアップメニュー画面をLCD17に表示する機能を有している。CPU111は、例えば32ビットプロセッサとして実現されており、4Gバイトのメモリアドレス空間をアクセスすることができる。このメモリアドレス空間には、主メモリ(主記憶)116として使用される物理メモリを割り当て可能な標準メモリエリアと、MMIO(Memory-mapped Input/Output)のようなI/Oデバイスを割り当て可能なMMIOエリアとがマッピングされている。
ノースブリッジ112は、CPU111とサウスブリッジ120との間を接続するブリッジデバイスである。このノースブリッジ112は、表示コントローラ113とメモリコントローラ114とを備えている。
表示コントローラ113はPCIデバイスとして機能し、本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する。この表示コントローラ113は、ビデオメモリを有しており、このビデオメモリに書き込まれた映像データからLCD17に送出すべき表示信号を生成する。
メモリコントローラ114は、主メモリ116を制御するコントローラである。このメモリコントローラ114は、レジスタ115を有している。このレジスタ115には、例えば、主メモリ116を割り当て可能なメモリアドレス空間内のエリアを指定するアドレス情報(エリアの先頭アドレス、エリアの終端アドレス)がシステムBIOSによってセットされる。CPU111から出力されるメモリアドレス値が、レジスタ115にセットされたアドレス情報で指定されたエリア内に属する場合、メモリコントローラ114は、主メモリ116をアクセスする。
主メモリ116は、例えばDRAM(Dynamic Random Access Memory)などの物理メモリによって構成されている。本体11に内蔵されたメモリモジュールのみならず、本体11に接続された拡張メモリモジュールも物理メモリとして使用される。
サウスブリッジ120には、PCIバス2およびLPC(Low Pin Count)バス3が接続されている。サウスブリッジ120には、USBコントローラ121、ホストコントローラ122,124、IDEコントローラ123および不揮発性メモリ125等が設けられている。
USBコントローラ121はPCIデバイスとして機能する。USBコントローラ121は、USBポート121Aに接続されている。USBポート121AはUSB規格に対応するUSBデバイス127等が接続可能な接続ポートである。USBコントローラ121は、USBポート121Aに接続されたUSBデバイス127等のオプションI/Oデバイスを制御する。
ホストコントローラ122はPCIデバイスとして機能し、PCIバス2を介して拡張バススロット122Aおよび122Bに接続されている。拡張バススロット122Aおよび122Bは、CardBusカードデバイスおよびPCIExpressカードデバイスなどのオプションI/Oデバイスが接続可能に構成されている。
IDE(Integrate Drive Electronics)コントローラ123はPCIデバイスとして機能し、HDD126Aおよび光ディスクドライブ(ODD)126Bに接続されている。IDEコントローラ123は、HDD126AおよびODD126Bを制御する。
不揮発性メモリ125は、割り当てサイズ情報を格納している。割り当てサイズ情報は、CPU111のメモリアドレス空間に主メモリ116を割り当てるメモリサイズである。また、割り当てサイズ情報を変更したか否かを示す割り当てサイズ情報変更フラグを格納している。割り当てサイズ情報を変更した場合、サイズ情報変更フラグがイネーブルになる。
またさらに、不揮発性メモリ125は最大割り当て可能メモリサイズ情報を格納している。最大割当て可能メモリサイズ情報は、CPUがアクセス可能なメモリアドレス空間のサイズからシステムに固有なMMIOアドレス空間サイズとコンピュータ本体内に内蔵したPCIデバイスのMMIOアドレス空間サイズの和を減じたメモリサイズである。例えば、CPUが32ビットプロセッサで、CPU111がアクセス可能なメモリアドレス空間のサイズが4Gバイトのシステムの場合、MMIOで使用するアドレス空間が最小で0.5GB(512MB)であるとすると、最大割当て可能メモリサイズは3.5Gバイト(3484MB)となる。
なお、システム固有のMMIOアドレス空間204は、本コンピュータ10固有のコンポーネントが割り当てられるメモリアドレス空間である。例えば、このシステム固有のMMIOアドレス空間204には、PCIEXBAR(Peripheral Component Interconnect Express Base Address)、APIC(Advanced Programmable Interrupt Controller)、FWH(Firmware Hub)レジスタスペース(Register Space)およびFWHBIOSスペース(Firmware Hub BIOS Space)等が割り当てられている。PCIEXBARは、PCIコンフィグレジスタをアクセスするためのMMIOアドレス空間である。APICは、割り込みコントローラをアクセスするためのMMIOアドレス空間である。FWHレジスタスペースは、BIOS−ROM130内のI/Oレジスタ群が割り当てられたMMIOアドレス空間である。FWHBIOSスペースは、BIOS−ROM130内のフラッシュメモリが割り当てられたMMIOアドレス空間である。
また、コンピュータ本体内に内蔵したPCIデバイスとは、本コンピュータ10内の各PCIデバイスのようなI/Oデバイスが割り当てられるメモリアドレス空間である。
LPCバス3上にはBIOS−ROM130およびエンベデッドコントローラ/キーボードコントローラIC(EC/KBC)140等が接続されている。
32ビットCPUでは、図3に示すようなアドレス00000000h〜FFFFFFFFhの4Gバイト空間しかアクセスすることができない。PCではシステムを動作させるために、BIOS ROM、APIC、PCIEXBAR(PCIコンフィグレジスタをMMIOとしてアクセスする空間)等予めシステム固定で確保しておく空間204が必要である。
また、システム内蔵のPCIデバイスをいくつか持っており、そのPCIデバイスに割り当てるためのMMIO空間203が必要である。上記、システム固定で確保しておく空間204と実際にメモリとして使用可能な空間201を4Gバイトの空間から除いたものが、PCIデバイスのMMIOに割り当て可能空間203になる。
図4、図5のフローチャートを用いて、本発明のメモリサイズ決定時の実施例を説明する。
PCの電源を投入するとCPU102は、BIOS ROM106に格納されているBIOSプログラムを実行する。BIOSプログラムのメモリ初期化処理において、符号105のメモリを初期化し、接続されているメモリのメモリサイズを取得する(ステップS101)。ステップS101においては、具体的には、システムBIOSは、例えば主メモリ116に設けられたSPD(Serial Presence Detect)などのEEPROM(Electrically Erasable Programmable Read-only Memory)からメモリサイズを検出する。
不揮発性メモリ125に格納されている割り当てサイズ情報を参照し、実際にH/Wに設定する割り当てメモリサイズを格納する。
次いで、システムBIOSは、不揮発性メモリ125から標準メモリエリアに割り当てるサイズである割り当てサイズ情報を取得する(ステップS102)。
次いで、システムBIOSは、ステップS102で取得した割り当てサイズ情報のサイズが0で有るか否かを判定する(ステップS103)。0ではないと判定された場合(ステップS103のNo)、即ち事前に計算しておいた割り当てメモリサイズが格納されていた場合、システムBIOSはステップS102で取得した割り当てサイズ情報のサイズがステップS101で取得した接続メモリサイズより大きいか否かを判定する(ステップS104)。
割り当てサイズ情報が接続メモリサイズより大きくないと判定された場合(ステップS104のNo)、システムBIOSは割り当てメモリサイズ情報のメモリサイズを標準メモリエリアに割り当てるメモリサイズとする。
割り当てサイズ情報のサイズが接続メモリサイズより大きいと判定された場合(ステップS104のYes)、システムBIOSは接続メモリのサイズを標準メモリエリアに割り当てるメモリサイズとする(ステップS107)。
ステップS103の処理において、割り当てサイズ情報のサイズが0で有ると判定された場合(ステップS103のYes)、システムBIOSは、接続メモリのサイズと不揮発性メモリ125に格納された最大割り当て可能メモリのサイズを比較し、接続メモリサイズが最大割当て可能メモリサイズより大きいか否かを判定する(ステップS106)。
接続メモリサイズが最大割当て可能メモリサイズより大きくないと判定された場合(ステップS106のNo)、システムBIOSは、接続メモリサイズを割り当てメモリサイズとする(ステップS107)。
接続メモリサイズが最大割り当て可能メモリサイズより大きいと判定された場合(ステップS107のYes)、システムBIOSは、最大割り当て可能メモリサイズを割り当てメモリサイズとする(ステップS108)。
上記のステップS101〜ステップS108の処理で標準メモリエリアに割り当てるサイズが決定することでPCIデバイスへの割り当て可能なMMIOアドレス空間が決定する。
ステップS105,ステップS107,およびステップS108の何れかの処理を実行した後、システムBIOSは、割当てメモリサイズをメモリコントローラ114のレジスタ115にセットし、主メモリ116のメモリサイズを割当てメモリサイズに設定する(ステップS111)。ステップS111においては、システムBIOSは、割当てメモリサイズに対応するアドレス情報(先頭メモリアドレス、終端メモリアドレス)をレジスタ115に格納する。
次いで、システムBIOSは、本コンピュータ10に接続されたPCIデバイス等のI/Oデバイス、つまり、本コンピュータ10内に備えられたPCIデバイス等のI/Oデバイスおよび本コンピュータ10に接続されたオプションI/Oデバイスを検出する(ステップS110)。
システムBIOSは、検出された全てのオプションI/Oデバイスをメモリアドレス空間に割り当てるのに必要なMMIO空間サイズを求める。そして、システムBIOSは、求められたMMIOアドレス空間のサイズにシステム固有のMMIO空間サイズを加えた、MMIOアドレス空間のサイズを求める(ステップS111)。
そして、システムBIOSは、ステップS101で取得した接続メモリのサイズから求められたMMIO空間のサイズを減じ、割り当て可能メモリサイズを算出する(ステップS112)。
そして、システムBIOSは、ステップS110の検出結果に応じて、各I/OデバイスをMMIOアドレス空間(PCIデバイスのMMIOアドレス空間203,システム固有のMMIOアドレス空間204)に割り当てるメモリアドレス割り当て処理を実行する(ステップS113)。
システムBIOSは、MMIOとして機能する全てのI/OデバイスをMMIOアドレス空間に割り当てることが出来たか否かを判別する(ステップS114)。MMIOとして機能する全てのI/OデバイスをMMIOアドレス空間に割り当てることが出来たと判別された場合(ステップS114のYES)、システムBIOSは、ステップS112で算出した割当て可能メモリサイズが割当てサイズ情報のサイズと等しいか否かを判別する(ステップS115)。
また、ステップS114でMMIOとして機能する全てのI/OデバイスをMMIOアドレス空間に割り当てることが出来ないと判別された場合(ステップS114のNo)、またはステップS115で算出した割当て可能メモリサイズが割当てサイズ情報のサイズと等しくないと判定された場合(ステップS115のNo)、システムBIOSは、不揮発性メモリ125の割当てサイズ情報のサイズを使用可能メモリサイズに変更する(ステップS116)。そして、システムBIOSは、割当てサイズ変更フラグをイネーブルにし(ステップS117)。リスタートする(ステップS118)。なおリスタートが必要な理由は、ステップS109のメモリサイズを設定する処理は一度しか設定ができないためである。
ステップS15で使用可能メモリサイズが割り当てサイズ情報のサイズと等しいと判定された場合(ステップS13のYes)、システムBIOSは、例えばPOST(Power-On Self Test)処理などによってその他のコンポーネントの初期化処理を実行する(ステップS119)。そして、割当てサイズ変更フラグがイネーブルであるか否かを判別する(ステップS120)。割当てサイズ変更フラグがイネーブルであると判別された場合(ステップS120のYes)、LCD17に例えば“System was restarted for modifying a memory address space assignment.”と表示することによって、割当てメモリサイズ変更処理のためにリスタートした旨を表示する(ステップS121)。また、システムBIOSは、割当てサイズ変更フラグをディスイネーブルにする。
そして、ステップS120で割当てサイズ変更フラグがイネーブルではないと判別された場合(ステップS120のNo)、またはステップS121を実行した後、オペレーティングシステム(OS)を起動(ブート)する(ステップS122)。
上述したように、接続されているPCIデバイスの構成を検出し、構成に応じてCPU111のメモリアドレス空間に主メモリ116を割り当てるメモリサイズを変更することによって、搭載した主メモリを有効に活用できる。また、MMIOアドレス空間サイズを優先して割り付けるため、デバイスが動作不可になる不具合を回避することができる。
なお、メモリアドレス空間に主メモリ116を割り当てたメモリサイズが、搭載メモリのサイズより減少する場合、その旨のメッセージを表示しても良い。
また、本発明は、上記実施形態そのままに限定されるものではなく、実施段階では、その要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに異なる実施形態に構成要素を適宜組み合わせてもよい。
10…パーソナルコンピュータ、17…LCD、111…CPU、112…サウスブリッジ、113…表示コントローラ、114…メモリコントローラ、115…レジスタ、116…主メモリ、120…サウスブリッジ、121…USBコントローラ、122,124…ホストコントローラ、123…IDEコントローラ、122A,122B…拡張ポート、125…不揮発性メモリ、130…BIOS−ROM、128,129…拡張PCIデバイス、201…標準メモリアドレス空間、203…PCIデバイスのMMIOアドレス空間、204…システム固有のMMIOアドレス空間、W1,W2…BIOSセットアップウィンドウ。
Claims (14)
- 主記憶を割り当て可能な第1エリアとシステムに固有なコンポーネントおよびI/Oデバイスを割り当て可能な第2エリアとがマッピングされたメモリアドレス空間をアクセス可能なプロセッサと、
前記主記憶として機能する物理メモリと、
割り当てサイズが格納された記憶装置と、
前記割り当てサイズを用いて前記第1エリアに前記物理メモリを割り当てる手段と、
前記第2エリアに割り当て可能なI/Oデバイスの構成に応じて、前記記憶装置に格納された前記割り当てサイズ情報を変更する手段とを具備することを特徴とする情報処理装置。 - 前記変更手段は、
前記第2エリアに割り当て可能なI/Oデバイスを検出し、検出されたI/Oデバイスおよびシステムに固有なコンポーネントを第2エリアに割り当てるのに必要なサイズを求める手段と、
前記求められたサイズと前記メモリアドレス空間のサイズとから前記主記憶として使用可能なメモリサイズを求める手段と、
前記使用可能なメモリサイズと前記割り当てサイズとが異なるか否かを判別する手段と、
前記使用可能なメモリサイズが前記割り当てサイズと異なると判別された場合に、前記使用可能なメモリサイズを用いて前記記憶装置に格納された前記割り当てサイズ情報を変更する手段とを具備することを特徴とする請求項1記載の情報処理装置。 - 前記記憶装置に格納された前記割り当てサイズ情報を変更した場合に、システムをリスタートさせる手段を更に具備することを特徴とする請求項2記載の情報処理装置。
- 前記変更手段は、
前記第2エリアに割り当て可能なI/Oデバイスを検出し、検出されたI/Oデバイスおよびシステムに固有なコンポーネントを第2エリアに割り当てるのに必要なサイズを求める手段と、
前記求められたサイズと前記メモリアドレス空間のサイズとから前記主記憶として使用可能なメモリサイズを求める手段と、
前記第2エリアに前記I/Oデバイスを割り当てることができたか否かを判別する判別手段と、
前記第2エリアに前記I/Oデバイスを割り当てることができないと判別された場合に、前記使用可能なメモリサイズを用いて前記記憶装置に格納された前記割り当てサイズ情報を変更する手段とを具備することを特徴とする請求項1記載の情報処理装置。 - 前記記憶装置に格納された前記割り当てサイズ情報を変更した場合に、システムをリスタートさせる手段を更に具備することを特徴とする請求項4記載の情報処理装置。
- 前記割り当てサイズが前記物理メモリのサイズより大きいか否かを判別する手段と、
前記割り当てサイズが前記物理メモリのサイズより大きく無いと判別された場合に、前記物理メモリのサイズを用いて前記第1のエリアに前記物理メモリを割り当てる手段を更に具備することを特徴とする請求項1記載の情報処理装置。 - 前記メモリアドレス空間のサイズから、前記システムに固有なコンポーネントを第2エリアに割り当てるために必要なサイズと前記情報処理装置の本体に内蔵されたI/Oデバイスを第2のエリアに割り当てるために必要なサイズの和を減じた最大割り当て可能メモリサイズを格納する第2の記憶装置と、
前記第1の記憶装置に前記割り当てサイズが格納されているか否かを判別する手段と、
前記第1の記憶装置に前記割り当てサイズが格納されていないと判別された場合に、前記物理メモリのサイズが前記最大割り当て可能メモリサイズより大きいか否かを判定する手段と、
前記物理メモリのサイズが前記最大割り当て可能メモリサイズより大きいと判別された場合に、前記最大割り当て可能メモリサイズを用いて前記第1エリアに前記物理メモリを割り当てる手段と、
前記物理メモリのサイズが前記最大割り当て可能メモリサイズより大きくないと判別された場合に、前記物理メモリのサイズを用いて前記第1のエリアに前記物理メモリを割り当てる手段とを具備することを特徴とする請求項1記載の情報処理装置。 - 主記憶を割り当て可能な第1エリアとシステムに固有なコンポーネントおよびI/Oデバイスを割り当て可能な第2エリアとがマッピングされたメモリアドレス空間をアクセス可能なプロセッサと前記主記憶として機能する物理メモリとを備えた情報処理装置に適用されるメモリアドレス空間割り当て方法であって、
記憶装置に格納された割り当てサイズを取得し、
前記取得した割り当てサイズを用いて前記第1エリアに前記物理メモリを割り当て、
前記第2エリアに割り当て可能なI/Oデバイスを検出し、
検出されたI/Oデバイスに応じて前記記憶装置に格納された前記割り当てサイズ情報を変更することを特徴とするメモリアドレス空間割り当て方法。 - 前記変更は、
前記第2エリアに割り当て可能なI/Oデバイスを検出し、検出されたI/Oデバイスおよびシステムに固有なコンポーネントを第2エリアに割り当てるのに必要なサイズを求め、
前記求められたサイズと前記メモリアドレス空間のサイズとから前記主記憶として使用可能なメモリサイズを求め、
前記使用可能なメモリサイズと前記割り当てサイズとが異なるか否かを判別し、
前記使用可能なメモリサイズが前記割り当てサイズと異なると判別された場合に、前記使用可能なメモリサイズを用いて前記記憶装置に格納された前記割り当てサイズ情報を変更することを特徴とする請求項8記載のメモリアドレス空間割り当て方法。 - 前記割り当てサイズ情報を変更した場合に、システムをリスタートさせることを特徴とする請求項9記載のメモリアドレス空間割り当て方法。
- 前記変更は、
前記第2エリアに割り当て可能なI/Oデバイスを検出し、検出されたI/Oデバイスおよびシステムに固有なコンポーネントを第2エリアに割り当てるのに必要なサイズを求め、
前記求められたサイズと前記メモリアドレス空間のサイズとから前記主記憶として使用可能なメモリサイズを求め、
前記第2エリアに前記I/Oデバイスを割り当てることができたか否かを判別する判別し、
前記第2エリアに前記I/Oデバイスを割り当てることができないと判別された場合に、前記使用可能なメモリサイズを用いて前記記憶装置に格納された前記割り当てサイズ情報を変更することを特徴とする請求項7記載のメモリアドレス空間割り当て方法。 - 前記割り当てサイズ情報を変更した場合に、システムをリスタートさせることを特徴とする請求項11記載のメモリアドレス空間割り当て方法。
- 前記割り当てサイズが前記物理メモリのサイズより大きいか否かを判別し、
前記割り当てサイズが前記物理メモリのサイズより大きく無いと判別された場合に、前記物理メモリのサイズを用いて前記第1のエリアに前記物理メモリを割り当てることを特徴とする請求項7記載のメモリアドレス空間割り当て方法。 - 前記情報処理装置は、前記メモリアドレス空間のサイズから、前記システムに固有なコンポーネントを第2エリアに割り当てるために必要なサイズと前記情報処理装置の本体に内蔵されたI/Oデバイスを第2のエリアに割り当てるために必要なサイズの和を減じた最大割り当て可能メモリサイズを格納する第2の記憶装置を有し、
前記第1の記憶装置に前記割り当てサイズが格納されているか否かを判別し、
前記第1の記憶装置に前記割り当てサイズが格納されていないと判別した場合に、前記物理メモリのサイズが前記最大割り当て可能メモリサイズ以上であるか否かを判別し、
前記物理メモリのサイズが前記最大割り当て可能メモリサイズ以上であると判定された場合、前記最大割り当て可能メモリサイズを用いて前記第1エリアに前記物理メモリを割り当て、
前記物理メモリのサイズが前記最大割り当て可能メモリサイズ以上では無いと判別された場合、前記物理メモリのサイズを用いて前記第1のエリアに前記物理メモリを割り当てることを特徴とする請求項7記載のメモリアドレス空間割り当て方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006052042A JP2007233534A (ja) | 2006-02-28 | 2006-02-28 | 情報処理装置およびメモリアドレス空間割り当て方法 |
US11/710,840 US20070233995A1 (en) | 2006-02-28 | 2007-02-26 | Information processing apparatus and memory address space allocation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006052042A JP2007233534A (ja) | 2006-02-28 | 2006-02-28 | 情報処理装置およびメモリアドレス空間割り当て方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007233534A true JP2007233534A (ja) | 2007-09-13 |
Family
ID=38554091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006052042A Pending JP2007233534A (ja) | 2006-02-28 | 2006-02-28 | 情報処理装置およびメモリアドレス空間割り当て方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070233995A1 (ja) |
JP (1) | JP2007233534A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970689A (zh) * | 2013-01-31 | 2014-08-06 | 发那科株式会社 | 具备在使用时需要初始化的串行总线的数据处理装置 |
JP2020024557A (ja) * | 2018-08-07 | 2020-02-13 | 富士通株式会社 | 情報処理装置、ブート方法及びブートプログラム |
JP2021103387A (ja) * | 2019-12-25 | 2021-07-15 | Necプラットフォームズ株式会社 | デバイスアクセス装置、演算装置、デバイスアクセスシステム及びデバイスアクセス方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101821633B1 (ko) * | 2013-03-14 | 2018-03-08 | 삼성전자주식회사 | 메모리 시스템 |
US9104558B2 (en) | 2013-03-28 | 2015-08-11 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Preventing out-of-space errors for legacy option ROM in a computing system |
US10810116B2 (en) * | 2017-06-29 | 2020-10-20 | Sap Se | In-memory database with page size adaptation during loading |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5860142A (en) * | 1996-12-27 | 1999-01-12 | Compaq Computer Corporation | Method and apparatus for mapping the memory system of a computer for maximizing memory usage |
US6308248B1 (en) * | 1996-12-31 | 2001-10-23 | Compaq Computer Corporation | Method and system for allocating memory space using mapping controller, page table and frame numbers |
US6070207A (en) * | 1998-01-26 | 2000-05-30 | Intel Corporation | Hot plug connected I/O bus for computer system |
US6625673B1 (en) * | 2000-05-01 | 2003-09-23 | Hewlett-Packard Development Company, Lp. | Method for assigning addresses to input/output devices |
US6898686B1 (en) * | 2000-08-24 | 2005-05-24 | International Business Machines Corporation | Memory map adjustment to support the need of adapters with large memory requirements |
US7213081B2 (en) * | 2001-06-29 | 2007-05-01 | Fujitsu Limited | Dynamic determination of memory mapped input output range granularity for multi-node computer system |
-
2006
- 2006-02-28 JP JP2006052042A patent/JP2007233534A/ja active Pending
-
2007
- 2007-02-26 US US11/710,840 patent/US20070233995A1/en not_active Abandoned
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970689A (zh) * | 2013-01-31 | 2014-08-06 | 发那科株式会社 | 具备在使用时需要初始化的串行总线的数据处理装置 |
JP2014149598A (ja) * | 2013-01-31 | 2014-08-21 | Fanuc Ltd | 使用時に初期化が必要なシリアルバスを備えるデータ処理装置 |
US9223585B2 (en) | 2013-01-31 | 2015-12-29 | Fanuc Corporation | Data processing device with serial bus that needs initialization before use |
CN103970689B (zh) * | 2013-01-31 | 2016-06-29 | 发那科株式会社 | 具备在使用时需要初始化的串行总线的数据处理装置 |
JP2020024557A (ja) * | 2018-08-07 | 2020-02-13 | 富士通株式会社 | 情報処理装置、ブート方法及びブートプログラム |
JP7115128B2 (ja) | 2018-08-07 | 2022-08-09 | 富士通株式会社 | 情報処理装置、ブート方法及びブートプログラム |
JP2021103387A (ja) * | 2019-12-25 | 2021-07-15 | Necプラットフォームズ株式会社 | デバイスアクセス装置、演算装置、デバイスアクセスシステム及びデバイスアクセス方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070233995A1 (en) | 2007-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007052728A (ja) | 情報処理装置およびアクセス方法 | |
JP2007052727A (ja) | 情報処理装置およびアクセス方法 | |
US7318149B2 (en) | Semi-persistent relocatable ram-based virtual floppy disk method | |
US9098305B2 (en) | Computer system and bootup and shutdown method thereof | |
US20150235029A1 (en) | Method of preventing computer malfunction, computer program, and computer | |
TW200847021A (en) | Automatic backup, restore and update BIOS computer system | |
JP2007233534A (ja) | 情報処理装置およびメモリアドレス空間割り当て方法 | |
US20090150662A1 (en) | Firmware modification in a computer system environment supporting operational state changes | |
JP2008287505A (ja) | 情報処理装置およびレガシーエミュレーション処理停止制御方法 | |
US9715267B2 (en) | Method for switching operating systems and electronic apparatus | |
EP2463779A1 (en) | Reset method and monitor | |
JP2007122653A (ja) | 情報処理装置及び起動制御方法 | |
JP2008276555A (ja) | 情報処理装置、およびファームウェア更新方法 | |
EP3889735A1 (en) | Information processing apparatus and control method | |
US20120042156A1 (en) | Method of multiple boot manager | |
JP2011526714A (ja) | ハイパーバイザ・ローディングのためのメモリ管理 | |
JP2010009487A (ja) | 情報処理装置および起動方法 | |
JP2006293760A (ja) | 情報処理装置 | |
JP2007141066A (ja) | 情報処理装置およびメモリアドレス空間割り当て方法 | |
TWI534707B (zh) | 電腦系統及其開關機方法 | |
JP2016018555A (ja) | 動作環境の切換方法、コンピュータ、およびコンピュータ・プログラム | |
JP7149394B1 (ja) | 情報処理装置、及び制御方法 | |
US20050172113A1 (en) | Method and apparatus for basic input output system loading | |
JP2004206499A (ja) | 情報処理装置 | |
KR101249831B1 (ko) | 컴퓨터 시스템 및 그 부팅 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081202 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090512 |