PSE-36 - PSE-36

İçinde bilgi işlem, PSE-36 (36-bit Sayfa Boyutu Uzantısı)[1] bir özelliğini ifade eder x86 genişleyen işlemciler fiziksel hafıza 32 bitten 36 bit'e kadar adresleme yetenekleri, 64 GB belleğe kadar adreslemeye izin verir.[2] Kıyasladığımızda Fiziksel Adres Uzantısı (PAE) yöntemi olan PSE-36, 4 GB'den fazla belleği adreslemeye daha basit bir alternatiftir. Kullanır Sayfa Boyutu Uzantısı (PSE) modu ve 4 MB sayfaları 64 GB fiziksel adres alanına eşlemek için değiştirilmiş bir sayfa dizin tablosu. PSE-36'nın dezavantajı, PAE'den farklı olarak, 4 GB işaretinin üzerinde 4 KB sayfa ayrıntı düzeyine sahip olmamasıdır.[3]

PSE-36, x86 mimarisine Pentium II Xeon ve başlangıçta "Intel Genişletilmiş Sunucu Bellek Mimarisi" nin bir parçası olarak tanıtıldı[2][4] (bazen kısaltılmış ESMA[5]), biraz daha eski PAE'yi de içeren bir markalama (ve dolayısıyla Pentium Pro yalnızca PAE'yi destekleyen, ESMA için yalnızca "alt küme desteğine" sahip olduğu bildirildi).[1]

PSE-36'nın en parlak zamanı nispeten kısaydı. PSE-36'nın ana avantajı, PAE'den farklı olarak, işletim sisteminin iç bileşenlerinde çok az yeniden çalışma gerektirmesi ve dolayısıyla PSE-36'nın uygun bir geçici önlem olduğunu kanıtlamasıydı.[6] etrafında Windows NT 4.0 Enterprise Edition zaman aralığı. Aşağıdakiler dahil daha yeni Microsoft işletim sistemleri Windows 2000, yalnızca PAE'yi destekler.[7] Gibi bazı işletim sistemleri Linux PSE-36'yı tamamen atladı.[8] Buna rağmen, AMD ve daha sonraki Intel, 64 bit işlemcilerinde çalıştırıldığında 40 bit'e kadar PSE desteği sağlamayı seçti eski mod.

Operasyon

Tespit etme

PSE-36 desteği, cpuid sonucunda EDX bit 17 (0'dan itibaren) ile gösterilir. özellik bitleri. (Bu, aynı yazmaçta bit 3 ile gösterilen düz PSE desteğinden farklı bir bittir).[9][10]

Aktivasyon ve kullanım

PSE-36'yı etkinleştirmeye gelince, PSE'yi açandan ayrı bir bit yoktur.[10] İşlemci (cpuid ile belirtildiği gibi) ve yonga seti PSE-36'yı desteklediği sürece, yalnızca PSE'yi etkinleştirir (bit 4, PSE, sistem kaydının CR4) büyük 4 MB sayfaların (64 GB aralığında) ve normal 4 KB sayfaların (ancak 4 GB aralığıyla sınırlıdır) kullanımına izin verir.[10]

Daha yeni PSE-36 özelliği mevcutsa, İşlemci kullanılarak kontrol edildiği gibi CPUID komutu, daha sonra PSE'de kullanılan 10 bit'e ek olarak, büyük bir sayfayı işaret eden bir sayfa dizini girişi içinde 4 bit daha kullanılır. Bu, büyük bir sayfanın 36 bit adres alanında bulunmasına izin verir.[10]

Sayfa Dizini Girişindeki (PDE) PS biti (bit 7), bu girişin bir sayfa tablosuna mı (1024 4-KiB sayfasını tanımlayan) yoksa bir 4 MB sayfaya mı işaret ettiğini gösterir. Normal mod, PSE modu ve PSE-36 modundaki PDE yapıları aşağıdaki gibidir:

32 bit sayfalama için Sayfa Dizini Girişi
31–2221–1716–131211–9876543210
PSE olmayansayfa tablosunun temel adresifayda0PS = 0ateşlemekBirPCDPWTUWP
PSEsayfa çerçeve adresinin 31..22 bitiayrılmış (sıfır olmalıdır)PAT[a]fayda0PS = 1D[b]BirPCDPWTUWP
PSE-36sayfa çerçeve adresinin 31..22 bitiayrılmış (sıfır olmalıdır)sayfa çerçeve adresinin 35..32 bitiPATfayda0PS = 1DBirPCDPWTUWP
  1. Sayfa öznitelik tablosu; dan beri Pentium III, eski CPU'lar için sıfır olmalıdır.
  2. "Kirli" bit: o sayfaya yazma erişimi varsa CPU tarafından 1'e ayarlanır. 4 KiB sayfası için bu bayrak ilgili sayfa tablosu girişinde (PTE) mevcuttur.

40 bite kadar uzatma

AMD PDE'nin 20..13 bitlerini sayfa temel adresinin 39..32 biti olarak yorumlayarak bu şemayı 40 adres bitine genişletir. AMD64 işlemciler çalıştırıldığında eski mod, bu nedenle yalnızca bit 21 ayrılmıştır (sıfır olmalıdır). Bununla birlikte, CR4.PSE'nin uzun mod ve PSE tarzı 4 MB sayfalar bu modda kullanılamaz.[11] PSE 4 MB sayfalar kullanılarak AMD64 eski modunda adreslenebilen toplam fiziksel bellek miktarı bu nedenle 1024 GB'dir.[6] Tom Shanley bu uzantıyı PSE-40 olarak adlandırdı.[6] resmi AMD belgelerinde böyle bir atama görünmese de.[11]

En son Intel kılavuzları (Şubat 2014) ayrıca PSE'de 40 bit'e kadar desteği belirtir. Intel CPU'larda desteklenen tam PSE bit sayısı daha az olabilir ve CPUID ile CPUID'yi çağırarak işlemci tarafından desteklenen maksimum fiziksel adres genişliğini sorgulamak için CPUID kullanılarak belirlenmelidir. 80000008H fonksiyonu ve sonucu EAX [7: 0] 'da kontrol etmek.[12]

Kullanım

PSE-36 özelliğinin pratik kullanışlılığı, 4 GB'den fazla RAM için yonga seti desteğine bağlıdır. Pentium II zaman çerçevesindeki çoğu yonga seti, Intel 440BX tipik masaüstü yonga seti için maksimum 1 GB ve 440GX iş istasyonu yonga seti için 2 GB olmak üzere bu kadar belleği desteklemedi. Yalnızca ileri teknoloji sunucu Intel 450NX yonga seti 8 GB destekledi.[2][13] PSE-36 (ESMA) desteği bu nedenle genellikle sunucular için ilan edildi.[4]

PSE-36'yı destekleyen uygun işletim sistemi olarak Intel, 1998'de Microsoft Windows NT Sunucu, Enterprise Edition 4.0 ve sözde yeni çıkacak NT 5.0, her ikisi de bir PSE36 aracılığıyla kullanıma olanak tanır aygıt sürücüsü,[1] işletim sisteminin çoğunun PSE-36'dan habersiz kalmasını sağlayan (yalnızca PSE36 sürücüsü onu geçici olarak etkinleştirdi) ve 4 GB'den daha fazlasına erişmek isteyen uygulamalar tarafından hangi sürücünün çağrılması gerektiği.[6] Windows NT 4.0 Enterprise Edition bu nedenle PSE-36 özelliğini esasen bir RAM diski.[3] PSE36 sürücüsü bazı uygulamalar tarafından kullanıldı Windows NT Örneğin 4.0 Enterprise Edition sunucuları SAP liveCache,[14] Microsoft SQL Sunucusu 7.0,[7] Oracle 8.1.5,[15] ve IBM DB2.[16] İkincisi için ayar belgeleri, ancak "Ne yazık ki çoğu durumda PSE-36 sürücüsü kullanılarak elde edilen performans kazanımları olağanüstü değildir. Çoğu durumda sunucu, PSE-36 sürücüsünü kullanarak 8 GB ile 4 GB ile çalıştığından daha yavaş çalışacaktır. sürücü olmadan. [...] Bir yıldan fazla deney ve ayarlamadan sonra, Microsoft ve IBM, yetersiz performans kazanımları nedeniyle PSE-36 desteğini bıraktı. Sürücü, Intel'in satıcıları için hala mevcut, ancak son müşteri kullanımı. "[16]

Windows 2000 (NT 5.0) PSE-36'yı desteklemedi,[7] alternatif PAE ile karşılaştırıldığında düşük performans nedeniyle.[3] Windows 2000 ayrıca PSE36 sürücüsünün API'sini de adlı yeni bir API ile değiştirdi Adres Pencereleme Uzantıları (AWE), altında PAE kullanılan.[7][15] (AWE yalnızca Datacenter Server ve Windows 2000 Advanced Server'da mevcuttu.) Windows uygulamaları sonuç olarak bu yeni API'ye taşındı, ör. Oracle 8.1.6'dan itibaren[15] veya MS SQL Server 2000.[7]

PSE-36 asla Linux.[8]

PAE ile karşılaştırıldığında

Fiziksel Adres Uzantısı (PAE), 36 bit adreslemeye de izin veren PSE-36'ya bir alternatiftir. PSE-36, sayfa tablolarının hiyerarşisinin değişmemesi ve sayfa girişlerinin eski 32-bit formatını koruması ve 64 bite genişletilmemesi gibi avantajlara sahiptir. PSE-36'nın bariz dezavantajı, 64 GB fiziksel belleğe yalnızca büyük sayfaların yerleştirilebilmesi ve küçük sayfaların hala yalnızca ilk 4 GB fiziksel belleğe yerleştirilebilmesidir.[3]

Intel Genişletilmiş Sunucu Bellek Mimarisi

Intel Genişletilmiş Sunucu Bellek Mimarisi, çekirdek işlemcide iki adet 36 bit adresleme modu içerecek şekilde tanımlanmıştır: PAE-36 ve PSE-36.[1]

Ayrıca bakınız

Referanslar

  1. ^ a b c d "Intel Genişletilmiş Sunucu Bellek Mimarisi" (PDF). Intel Sipariş Numarası: 243846-001. 1998. Alındı 2014-03-01.
  2. ^ a b c "Windows NT 4.0 ile Netinfinity Performans Ayarı" (PDF). Redbooks.ibm.com. s. 51–52. Alındı 2014-03-01.
  3. ^ a b c d "İşletim Sistemleri ve PAE Desteği". Msdn.microsoft.com. 2006-07-14. Alındı 2014-03-01.
  4. ^ a b Deni Connor (7 Aralık 1998). İşte sekiz yollu Xeon sunucuları. Ağ Dünyası. s. 19. ISSN  0887-7661.
  5. ^ Michael Missbach; Uwe M. Hoffmann (2000). SAP Donanım Çözümleri. Prentice Hall Profesyonel. s. 62. ISBN  978-0-13-028084-8.
  6. ^ a b c d Tom Shanley (2009). x86 Yönerge Seti Mimarisi. MindShare Press. s. 578–579. ISBN  9780977087853.
  7. ^ a b c d e Sajal Barajı (2004). SQL Server Sorgu Performans Ayarı Damıtılmış. Apress. s. 28. ISBN  978-1-4302-0407-7.
  8. ^ a b Daniel P. Bovet; Marco Cesati (17 Kasım 2005). Linux Kernel'i Anlamak. "O'Reilly Media, Inc.". s. 52. ISBN  978-0-596-55491-0.
  9. ^ Intel İşlemci Kimliği ve CPUID Talimatı Arşivlendi Wikiwix'te 2013-07-24, Intel uygulama notu AP-485
  10. ^ a b c d Tom Shanley (2005). Kısaltılmamış Pentium 4: IA32 İşlemci Şecere. Addison Wesley Professional. sayfa 732–736. ISBN  978-0-321-24656-1.
  11. ^ a b AMD Corporation (Eylül 2012). "Cilt 2: Sistem Programlama" (PDF). AMD64 Mimarisi Programcı Kılavuzu (3.22 ed.). AMD Corporation. s. 25–26 ve 125–126. Alındı 2014-02-17.
  12. ^ "Intel 64 ve IA-32 Mimarileri Yazılım Geliştirici Kılavuzu, Cilt 3A: Sistem Programlama Kılavuzu, Bölüm 1" (PDF). Intel. s. "4-5" ve "4-11". PSE-36 mekanizması desteklenmiyorsa, M 32'dir ve bu satır geçerli değildir. PSE-36 mekanizması destekleniyorsa, M minimum 40 ve MAXPHYADDR'dir (MAXPHYADDR = 32 ise bu satır geçerli değildir). MAXPHYADDR'ın nasıl belirleneceği ve PSE-36 mekanizmasının desteklenip desteklenmediği için Bölüm 4.1.4'e bakın. [...] CPUID.80000008H: EAX [7: 0], işlemci tarafından desteklenen fiziksel adres genişliğini bildirir. (CPUID işlevi 80000008H'yi desteklemeyen işlemciler için genişlik, CPUID.01H: EDX.PAE [bit 6] = 1 ve aksi takdirde 32 ise genellikle 36'dır.) Bu genişlik MAXPHYADDR olarak adlandırılır. MAXPHYADDR en fazla 52'dir.
  13. ^ Intel'in Pentium II Xeon İşlemcisi. Pentium II Xeon İçin Yeni Chipsetler
  14. ^ "LiveCache <7.4, PSE36 / AWE'yi nasıl kullanır?". Stechno.net. 2003-04-04. Alındı 2014-03-01.
  15. ^ a b c Michael R. Ault (2003-02-17). "Linux ve Windows'ta Kullanılabilir Belleği Artırma" (PDF). ROBO Books White Paper. s. 10–12. Alındı 2014-03-01.
  16. ^ a b IBM xSeries Sunucularını Performans için Ayarlama (PDF) (3. baskı). IBM SG24-5287-02. Haziran 2002. s. 97. Arşivlenen orijinal (PDF) 2014-03-03 tarihinde.