基本介紹
- 中文名:地址視窗擴展
- 外文名:Address Windowing Extensions
- 縮寫:AWE
- 領域:計算機
簡介,擴展存儲器,物理地址擴展,
簡介
應用程式保留虛擬地址空間的區域或“視窗”,並分配物理記憶體的一個或多個區域。使用地址視窗擴展API,套用可以將虛擬視窗映射到任何一個物理區域。應用程式可以保留多個虛擬地址空間,並將其映射到物理記憶體的任何分配區域,只需虛擬地址空間中保留的位元組數與物理記憶體區域相匹配。應用程式必須有“鎖定記憶體頁”的特權才能使用地址視窗擴展。
當保留記憶體超過4GB時,地址視窗擴展依賴於物理地址擴展的支持。地址視窗擴展在Windows 2000中作為一個取代PSE36方法的新API被引入。PSE36方法自Windows NT 4.0企業版引入,用於訪問超過4GB記憶體,在Windows 2000中已不支持。第一批使用地址視窗擴展的應用程式是Oracle8.1.6和Microsoft SQL Server2000。
如果/3GB引導標識被使用以重新分配32位虛擬空間(2GB核心空間和2GB用戶空間改為3GB用戶空間),地址視窗擴展將只能訪問16GB物理記憶體。此限制是因為只有1GB記憶體保留給核心,而沒有足夠的記憶體用於映射超過16GB記憶體的頁表項。通過地址視窗擴展可定址的最大記憶體量也因Windows許可方案而額外限制。例如,Windows 2000 Advanced Server限制為8GB,Windows 2000 Data Center Server則支持64GB。
擴展存儲器
八十年代的個人計算機(IBM PC/AT)多半使用實模式,只有1MB的定址空間,且640KB以上的定址空間不可被應用程式讀寫使用。
擴展存儲器的原理是使用1MB扣除640KB後剩下的384KB,稱作上端記憶體區(upper memory area), 這本來是用來跟外設溝通的空間, 給程式使用。把記憶體的定址視窗插入到上端記憶體區的外設定址空間,引入了bank switching (存儲體轉換)的技巧。 同一時間只有一部分的額外存儲器可以被訪問。 使用64KB的memory windows做為bank switching 的單位。
早期可以購買存儲器擴充卡來插在ISA bus插槽上,之後,一些Intel 80286的主機版的晶片組實現了 expanded memory scheme, 就不用再買擴充卡,而用軟體設定就可以決定多少存儲器被用做擴展存儲器,多少存儲器被用做延伸存儲器
1987年開始,內置存儲器管理功能的Intel 80386 處理器讓在傳統實模式下的程式,可以有不受限的 定址空間,硬體解決方案就變得沒有必要。這時擴展存儲器只能用軟體來模擬了。
在80286與之後的處理器,一個更有效率的方法訪問640KB以後的存儲器, 就是用DOS Proteced Mode Interface.DOS extenders 是一個使程式可以在保護模式下運行的驅動程式。與其用banking技巧訪問更多存儲器,這個驅動程式可以讓應用程式在保護模式與實模式間切換, (在需要MS-DOS服務時回到實模式)這樣就使用應用程式可以直接訪問延伸存儲器。
物理地址擴展
PAE為IntelPentium Pro及以上級別的CPU(包括除了匯流排頻率為400MHz的這個版本的奔騰M之外的所有新型號奔騰系列處理器)所支持,其他兼容的處理器,如速龍(Athlon)和AMD的較新型號的CPU也支持PAE。
x86的處理器增加了額外的地址線以選擇那些增加了的記憶體,所以實體記憶體的大小從32位增加到了36位。最大的實體記憶體由4GB增加到了64GB。