Sayfa Boyutu Uzantısı - Page Size Extension

İçinde bilgi işlem, Sayfa Boyutu Uzantısı (PSE) bir özelliğini ifade eder x86 izin veren işlemciler sayfaları geleneksel 4'ten daha büyük KiB boyut. Orijinal olarak tanıtıldı Pentium işlemci, ancak yalnızca kamuya açık olarak belgelendi Intel serbest bırakılmasıyla Pentium Pro.[1] CPUID talimat, x86'da PSE'nin kullanılabilirliğini belirlemek için kullanılabilir CPU'lar.[2]

Motivasyon

"Geleneksel" 4 KiB çağrı
PSE kullanarak 4 MiB sayfalama

Aşağıdaki senaryoyu hayal edin. Bir uygulama programı 1MiB bellek bloğu. Bu isteği yerine getirmek için, sayfalamayı destekleyen ve daha eski sürümlerde çalışan bir işletim sistemi x86 CPU'lar 256 ayırmak zorunda kalacak sayfaları her biri 4 KiB. Sayfa dizinlerini ve sayfa tablolarını korumak için 1 KiB bellek ek yükü gereklidir.

Bu 1 MiB belleğine erişirken, 256 sayfa girişinin her biri, çeviri görünüm arabelleği (TLB; sonraki bellek isteklerinde daha hızlı arama için sanal adresi fiziksel adres çevirilerine hatırlayan bir önbellek). TLB'yi karıştırmak, tek bir bellek bloğunda tahsis edilebilecek şeyler için birkaç sayfa girişine sahip olmanın muhtemelen en büyük dezavantajlarından biridir. TLB doldurulursa, bir TLB girişinin serbest bırakılması, sayfa dizininin ve sayfa tablolarının bellekte "dolaşılması" gerekir ve son olarak, belleğe erişilir ve yeni giriş TLB'ye getirilir. . Bu, ciddi bir performans cezasıdır ve muhtemelen x86 mimarisini daha büyük sayfa boyutlarıyla büyütmek için en büyük motivasyondu.

PSE, 4 MiB sayfa boyutunun 4 KiB sayfası ile birlikte var olmasına izin verir. Daha önce açıklanan 1 MiB talebi, tek bir 4 MiB sayfasıyla kolayca yerine getirilebilir ve yalnızca bir TLB girişi gerektirir. Ancak, daha büyük sayfa boyutları kullanmanın dezavantajı, iç parçalanma.

Operasyon

Geleneksel 32 bitte korumalı mod x86 işlemcileri, iki seviyeli bir sayfa çeviri şeması kullanır; kontrol yazmacı CR3 tek bir 4 KiB uzunluğuna işaret eder sayfa dizini, 4 KiB-uzunluğuna işaret eden 1024 × 4 baytlık girişlere bölünmüş sayfa tabloları, benzer şekilde 4 KiB uzunluğunda sayfaya işaret eden 1024 × 4 baytlık girişlerden oluşur.

PSE'yi etkinleştirme (bit 4'ü ayarlayarak, PSE, sistem kaydının CR4) bu düzeni değiştirir. Sayfa dizinindeki girişler, 7 bitinde ek bir bayrağa sahiptir. PS (için sayfa boyutu). Bu bayrak PSE olmadan göz ardı edildi, ancak şimdi, PS'nin 1 olarak ayarlandığı sayfa dizini girişi bir sayfa tablosunu değil, tek bir büyük 4 MiB sayfasını işaret ediyor. PS 0 olarak ayarlanmış sayfa dizini girişi, PSE yokmuş gibi davranır.

Daha yeniyse PSE-36 yeteneği kullanılarak kontrol edildiği gibi CPU'da mevcuttur. CPUID komut, daha sonra normal 10 bit'e ek olarak 4 bit daha büyük bir sayfayı işaret eden bir sayfa dizini girişi içinde kullanılır. Bu, büyük bir sayfanın 36 bit adres alanında bulunmasına izin verir.

Eğer Fiziksel Adres Uzantısı (PAE) kullanılır, büyük sayfaların boyutu 4 MiB'den 2 MiB'ye düşürülür ve PSE'deki PSE bitinden bağımsız olarak PSE her zaman etkindir. CR4.

Referanslar

  1. ^ T. Shanley (1998). Pentium Pro ve Pentium II Sistem Mimarisi. Addison-Wesley Profesyonel. s.439. ISBN  978-0-201-30973-7.
  2. ^ Intel 64 ve IA-32 Mimarileri Yazılım Geliştirici Kılavuzu, Cilt 3A. Intel Corporation. Ağustos 2007. sayfa 3-26 ila 3-28.

Dış bağlantılar