2012-10-08 29 views
3

我在http://msdn.microsoft.com/en-us/library/windows/desktop/aa366796(v=vs.85).aspx上看過一篇有趣的文章。它指出:PAE的優點

  • 物理地址擴展(PAE)是一種處理器功能,它使x86處理器訪問超過4 GB的物理內存的Windows版本的能力。
  • PAE不會更改進程可用的虛擬地址空間量。在32位Windows中運行的每個進程仍然限制爲4 GB的虛擬地址空間。

請問這個功能有什麼優點嗎?它僅用於減少操作系統處理分頁的時間?

+2

我認爲這篇文章是非常明瞭的。您的32位指針/地址最多可以尋址2 ** 32個字節。但你想要更多。 PAE可以讓你做到這一點。閱讀CPU手冊瞭解PAE的工作原理。 –

+0

你的實際編程問題是什麼? –

+0

@RaymondChen:我在這裏沒有任何編程問題。只是好奇如果PAE啓用,操作系統可能會更好。 :) – anhldbk

回答

11

當您運行多個應用程序並消耗內存時,PAE非常有用。就像在32位計算機上沒有PAE的情況下有16GB內存一樣,對於所有應用程序和操作系統本身,只能使用4GB。但是對於PAE,您可以讓每個進程都擁有自己的32位地址空間,因此您可以使用所有16​​GB的RAM,而不僅僅是一個進程...

將DB和應用程序服務器實例放在同一個框中例如,它變得有用。

編輯 在第一種方法中,這不清楚:一個不需要有一個64位的CPU能夠使用PAE!從Pentium Pro的時,CPU應該能夠使用它:

在計算中,物理地址擴展(PAE)是一個功能,允許32位x86處理器訪問的物理地址空間(包括隨機存取存儲器和內存映射設備)大於4千兆字節。

(來源:Wikipedia: Physical Address Extension

同時推薦閱讀:

Wikipedia: 3GB barrier

Serverfault: Which CPUs do/do not support PAE

+0

因此,PAE-anabled 32位操作系統不必像其他32位操作系統那樣頻繁地進行交換/交換操作? – anhldbk

+0

@anhldbk:在4GB內存下,它們將表現相同。 PAE盒中可以使用超過4GB的RAM。單個進程仍然只有32位地址空間。這意味着有5個應用程序,每個應用程序使用1GB和操作系統,在具有8 GB RAM和PAE的同一臺計算機上,您可以將它們全部放入RAM中,並且仍然有一定的擴展空間。如果沒有PAE,不管有多少內存,盒子的容量都超過4GB,所有進程只能使用4GB(由於上述3GB的限制,最多隻有3-3.5GB),導致未使用內存和很可能很多交換。 – ppeterka

+0

感謝您的詳細解釋。 :) – anhldbk

-1

要利用PAE你確實需要一個64位處理器。總線大小是36位。

這就像你的硬件能夠訪問超過4GB內存,但有意/無意地你已經安裝了一個32位操作系統,默認情況下你不能訪問超過0xffffffff,所以把額外的內核模塊讓你訪問一切。

+0

擴展物理地址空間的可能性首先在Pentium Pro處理器中實現。由於奔騰III PSE-36存在。當前版本的PAE允許高達52位的物理地址空間,並且在IA-32e(64位)模式下是必需的。 –

+0

可能是PAE可以的,但即使是我的處理器(Intel Core I5)也有36位物理和48位虛擬。所以我在那裏寫了36位。 – peeyush

+0

要了解PAE的侷限性英特爾手冊3A第4.4和4.5節可能比i5處理器的可能性更好,尤其是當PAE本身不是可能限制可用地址空間的唯一因素時。有可以使用42位物理地址空間的英特爾氙E7處理器。 –