コンテンツ
Windows XP, Windows Vistaの種類 - ライセンスの比較
Windows XPの種類 - ライセンスの比較
Windows Vistaの種類 - ライセンスの比較
Windows 7の種類 - ライセンスの比較
ボリュームライセンス
使用許諾契約書
CAL クライアントアクセスライセンス
Retail版Windows SKU
DSP版Windows SKU
プロダクトアクティベーション (ライセンス認証)
Windows XPのインストール
不明なデバイス
メモリーリマッピング
メモリーおよびアドレス空間の限界値
このページの目次
メモリー リマッピング (メモリー リマップ)
メモリー リマッピング (メモリー リマップ)
4GBを超えるアドレス空間をサポートするチップセットにおいては、3GB〜4GB付近のI/Oのための空間と重なるため通常は使えない数百MBのメモリーを4GB以上のアドレスに割り当てる機能を持つものがある。この機能はIntelチップセットではMemory Reclaimingと呼ばれる。この機能を使用するとI/Oのためのアドレス空間と重なるメモリーを無駄にしないですむ。BIOSで設定をON/OFFできるマザーボードや、設定がなく自動で処理されるマザーボードがある。
たとえばメモリーを4GB実装した状態だとI/Oのための空間と重なるはずだったメモリーが4GB以上のアドレスに割り当てられ、Windows Server 2003, Standard Edition (32bit)ではほぼ4GBのメモリーが利用可能になり、Windows XP (32bit)ではGavotte RamdiskなどのRAM DISKドライバーによりOSでは利用できないはずだったメモリーをRAM DISKとして利用可能になる。
32-bit Windowsでは物理アドレス拡張(PAE)カーネルにする必要がある(Windows Server 2003 R2までならboot.iniに/PAEを指定、Windows Vistaからは管理者の権限でコマンド プロンプトを開き BCDEDIT /SET PAE ForceEnable と入力)。Windows XP SP2からはハードウェアDEPが有効な場合、boot.iniやBCDEDITでPAEを指定しなくても自動で物理アドレス拡張(PAE)が有効になる。サポート技術情報 875352 900524
I/Oのためのアドレス空間の説明を
Microsoft Windows XP Professional での RAM の割り当て (日本ヒューレット・パッカード株式会社) より引用
例を Intel Chipset 4 GB System Memory Supportより引用
- 4GB から下位の PCI メモリ アドレスは、BIOS、IO カード、ネットワーキング、PCI ハブ、バス ブリッジ、PCI-Express、およびビデオ/グラフィッ クス カードなどに使用されます。BIOS は、最上位アドレスから始まる約 512KB を使用します。次に、残りの各項目に、BIOS 範囲から下位の アドレス範囲が割り当てられます。その中で、今日の高性能グラフィックス カードには、最も大きなアドレス ブロックが割り当てられます。AGP には、そのポート アパーチャに対応するアドレスが必要であり、すべてのグラフィックス カードには、少なくともグラフィックス カード上のメモリ量 に対応するだけのアドレスが必要になります。結果として、高性能 x86 ベース コンピュータでは、PCI メモリ アドレス用に 512MB〜1GB が 割り当てられ、残りが RAM (物理ユーザ メモリ) アドレスに割り当てられることになります。
- RAM は、アドレス 0 から始まります。Windows OS は、RAM に対しては、0 から最大で上記の PCI メモリ アドレスの最下位アドレスまでを 割り当てます。たとえば前述の項目用に 1GB の PCI メモリ アドレスが割り当てられた場合、RAM が使用できるアドレスは約 3.1GB に制限 されます。したがって、コンピュータに 4 GB 以上の RAM を実装しても、RAM の一部は使用できません。(その場合も OS は、ディスク ペー ジングによって 4 GB の仮想メモリにはアクセスできます。)
![]()
0000 0000h 〜 0009 FFFFh (655360Bytes)が1MB以下のアドレスのメモリー640KBである。そのうちの最後の1024バイトはReservedになっていてWindowsの使えるメモリーから除外されている。これが 654336 Bytesとなる。Memory Initialization and Assignment of Resources
When the system is powered on, system BIOS initializes all of the populated memory on the system, enables onboard and add-in devices, assigns Memory and IO resources (internal graphics, IOxAPICs, PCI Space, or other memory mapped IO ranges), and dynamically builds industry standard tables (Int 15h E820h, and ACPI Tables) that describe the memory range usage to the operating system.
In uni-processor based systems for mobile, desktop, workstation, and entry level servers, chipsets may be limited to 4 GB of maximum memory. In today’s dual processor Intel server chipsets and workstations, maximum system memory size can be upwards of 16 GB. BIOS Table locations, memory ranges, and IO space by definition must be less than 4 GB. In platforms populated with physical memory sizes approaching 4 GB and greater, onboard system resource requirements will likely not allow the operating system to take advantage of all physical memory populated due to PCI specification requirements and other memory mapped IO resources. Portions of physical memory may overlap with the memory space dedicated to other subsystems and become unavailable to the operating system. While some memory ranges required for addressing IO devices (PCI add in cards, system BIOS flash, IOxAPIC ranges, ACPI ranges) are unused, other ranges (integrated graphics shared memory and system management memory ranges) which the operating system does not report as available, are utilized by the platform.
Future generations of Intel chipset products and commercially available OS will allow more flexibility for system designers to use memory resources more efficiently.
Below is an example of memory use in a system with 4 Gbytes and 3 Gbytes of physical memory installed.
System Resource Size Physical Memory
Remaining
(4 GB Total System
Memory)Physical Memory
Remaining
(3 GB Total System
Memory)Firmware Hub flash memory (the BIOS) 1 MB 3.99 3.00 Local APIC 4 KB Area available to the chipset 2 MB IO APIC (4kBytes) 4 KB PCI Enumeration Area 1 256 MB 3.76 3.00 PCI Express* area (256 MB) 256 MB 3.51 3.00 PCI Enumeration Area 2 (if needed)
(aligned on 256-MB boundary)512 MB 3.01 3.00 VGA memory 16 MB 2.85 2.85 TSEG 1 MB 2.84 2.84 Memory available to BIOS, OS, and
applications2.84 2.84
FWH is the Local APIC area, the IO APIC, and other areas used by the chipset.
The chipset requires the PCI Express area to be aligned on a 256-MB boundary, and it is 256 MB in size. Therefore, the area was placed at 3.5 GB. For some BIOS’ this may be a hard coded address.
The PCI enumeration algorithm may scan the buses to determine how much memory is needed for the different PCI devices in the system. If the amount of memory requested is less than 0.23 GB, the BIOS will assign that memory to PCI Enumeration Area 1. However, if the amount of memory required for PCI is larger than this size, the BIOS may allocate memory for PCI devices below the PCI Express area in PCI enumeration Area 2. This area is aligned on a 256-MB boundary and rounded up to the nearest multiple of 256 MB.
Note that the enumeration will ask for a contiguous memory area for all the devices below the host bridge. Therefore, if PCI needs greater than 256 MB of memory, the BIOS will put it at 3.0 GB - 3.5 GB, since 300 MB is rounded up to 512 MB. (For example, some video adapters will require 256 MB, or more, memory for graphics aperture)
If the system graphics device requires less than 0.23 GB, all the PCI devices should fit within PCI Enumeration Area 1. In that case the top amount of usable DRAM would move up to 3.5 GB increasing the amount of available memory by 512 MB.
While some memory ranges required for addressing IO devices (PCI add in cards, system BIOS flash, IOxAPIC ranges, ACPI ranges) are unused, other ranges (integrated graphics shared memory and system management memory ranges) which the operating system does not report as available, are utilized by the platform.
Note, that in the above example, the system BIOS reports the same amount of physical memory to the operating system in both scenarios even though one is populated with 4 GB of memory.
Experimental Data
EXAMPLE DATA: For today’s desktop platforms, such as the 915G/P and 925X Express chipset-based platforms, memory mapped IO (MMIO) and other system resources may utilize upwards of 512 MB of the 4 GB of linear addressable space. When the maximum physical memory supported is populated, MMIO will overlap with physical memory. Standard PCI Architecture limitations have prevented end users from taking advantage of all memory when 4 GB of memory populated.
The following E820h table was captured from a reference 915G Express chipset-based platform with Internal Graphics enabled. This table indicates to the operating system how much memory is available to the system.
Table 1. E820h Table from Reference Intel® 915G Express Chipset-Based Platform with Internal Graphics
Start Length (bytes) Size (bytes) Status 0000 0000h 9FC00h 654336 Available 0009 FC00h 0400h 1024 Reserved 000E 0000h 020000h 131072 Reserved 0010 0000h CF530000h 3478323200 Available CF63 0000h 010000h 65536 Reserved CF64 0000h 0C0000h 786432 Reserved CF70 0000h 100000h 1048576 Reserved CF80 0000h 800000h 8588608 Reserved FEC0 0000h 1000h 4096 Reserved FEE0 0000h 1000h 4096 Reserved
The operating system uses the available memory regions above to determine the available memory on the system. For example:
654336 Bytes + 347832300 Bytes = 3,478,977,536 Bytes = 3,397,439 KB = 3.24 GB
Note that in the examples below, the value of 3.24 GB is reported by the operating system.

■ メモリホールについて■ メモリホール補完機能(Memory Reclaim機能)
- x86アーキテクチャ(IA-32)は、「Memory Mapped I/O方式」を採用しており、各種I/Oデバイス(オ ンボードデバイスやPCI デバイスなど)の制御のために固定的にメモリ領域(メモリホール)を確保 します。
- メモリホールは、搭載メモリの容量に関係なく、物理4GB 以下の一定のメモリ空間をHW予約空間 として確保し、その空間はOSからは利用できないため、物理メモリ3GB〜4GB搭載時はメモリ ホール分、実際に利用できるメモリが減少する場合があります。
- 本装置はメモリホールを補完するMemory Reclaim機能を標準搭載しています。
- Memory Reclaim機能はHW (チップセット)にて、メモリホール分の物理メモリのアドレスをremap することで搭載物理メモリ容量すべてを利用することが可能となります。
- ただしOSのサポートメモリ容量によってはremapメモリ領域を利用できない場合がありますので、 サポートするOSにより利用可能なメモリ容量が変わります。
![]()
3.4.2 Memory ReclaimingASUSのP5B系マザーボードの旧BIOSはメモリーリマッピングが1GB単位という仕様の問題があり、メモリーリマッピングすると逆にWindowsで利用できるメモリーが約3GBから約2GBになり1GBほど減ってしまっていたらしい。Gavotte Ramdisk まとめWIKI - P5B系使用時の注意(仮) MVK サポートFAQ
An incoming address (referred to as a logical address) is checked to see if it falls in the memory re-map window. The bottom of the re-map window is defined by the value in the RECLAIMBASE register. The top of the re-map window is defined by the value in the RECLAIMLIMIT register. An address that falls within this window is reclaimed to the physical memory starting at the address defined by the TOLUD register. The TOLUD register must be 64 MB aligned when RECLAIM is enabled, but can be 1 MB aligned when reclaim is disabled.
![]()
参考ではそのプールはどれくらい深くできるのか。CPUの仕様としては上で述べたように64GBである。が、実際には上限はチップセットに内蔵されるメモリコントローラの仕様で決まる。チップセットがサポート可能なアドレス空間は、945チップセットまでは4GB、955X以降のチップセットでは64GBまで拡張されている。
【表2】Intel製チップセットのアドレス空間と実メモリ搭載可能量
チップセット アドレス空間 実メモリ搭載可能量 915〜945以前のチップセット 4GB 4GB 955X以降のチップセット 64GB 4〜8GB しかし、このアドレス空間をすべてメモリで埋め尽くせるわけではない。実際のメモリチップに接続するメモリコントローラの信号線は、コストなどの理由により、必ずしもアドレス空間全体を満たせるほど用意されていないからだ。こうした制約により、チップセット(メモリコントローラ)に接続できる実メモリ搭載可能量が決まる。アドレス空間が4GBまでだった945以前のチップセットでは、実メモリ搭載可能量はアドレス空間の4GBを越えることができず、955X以降のチップセットでも実メモリ搭載可能量は8GBまでとなっている。また、955X以降のチップセットでも、バリューセグメント向けのチップセットでは、コストダウンのために実メモリ搭載可能量が4GBに制限されているものなど(G31/P31など)もある。
コンテンツ
Windows XP, Windows Vistaの種類 - ライセンスの比較
Windows XPの種類 - ライセンスの比較
Windows Vistaの種類 - ライセンスの比較
Windows 7の種類 - ライセンスの比較
ボリュームライセンス
使用許諾契約書
CAL クライアントアクセスライセンス
Retail版Windows SKU
DSP版Windows SKU
プロダクトアクティベーション (ライセンス認証)
Windows XPのインストール
不明なデバイス
メモリーリマッピング
メモリーおよびアドレス空間の限界値