PCI deliği - PCI hole

PCI deliği veya PCI bellek deliği bir sınırlaması 32 bit donanım ve 32 bit işletim sistemleri bu, bir bilgisayarın fiziksel olarak kurulandan daha az kullanılabilir belleğe sahip görünmesine neden olur.[1] Sınırlamayı ele alan bu bellek ve bunun üstesinden gelmek için gerekli olan sonraki geçici çözümler, işlevsel olarak 8088'in başındaki bellek sınırlarına benzer. IBM PC bellek mimarisi (bkz. Geleneksel hafıza ).

Belirli bir kaynak düzeyine kadar sahip olması amaçlanan donanım, beklenen maksimum miktarın birkaç katını işleyecek şekilde tasarlandığında, bilgi işlem tarihinde sık sık benzer durumlar ortaya çıkmıştır, bu da sonunda ciddi bir kısıtlama haline gelir. Moore yasası ekonomik olarak mevcut kaynakları artırır. Orijinal IBM PC tipik olarak 64 KB veya daha az bellekle sağlandı; ihtiyaç duyulabileceğinden çok daha fazla, maksimum 640 KB alacak şekilde tasarlandı. Bu hızla kompleks tarafından ele alınması gereken bir kısıtlama haline geldi. DOS bellek yönetimi. Boyutta benzer ardışık kısıtlamalar getirildi ve aşıldı. sabit sürücüler.

Kullanılamayan hafıza

Kullanılırken PCI deliğinden kaynaklanan kullanılabilir bellek kaybı bellek eşlemeli G / Ç, hem fiziksel bellek için aynı adres alanını kullanmak hem de donanım aygıtlarıyla iletişim kurmaktan kaynaklanır. Bu nedenle, kurulu donanım aygıtları, işlemci ve sistem yazılımı ile iletişim kurmak için bir miktar adres alanına ihtiyaç duyar. 32 bit donanım toplam dört gigabayt adreslenebilir belleğe sahip olduğundan,[a] 32 bitlik bir makinenin gerçek fiziksel belleğinin bir kısmının, yeterli bellek yüklendiğinde, aygıtların iletişim için yer açması için onu gizleyerek feda edilmesi gerekir. Fiziksel belleğin hangi bölümünün aygıt iletişim alanıyla değiştirileceği makineye bağlıdır, ancak genellikle 2,5 ila 3,5 GB'nin üzerindeki herhangi bir şeydir.

Gizli ve kullanılamayan sistem belleği miktarı, gerçek anakart ve yonga seti, BIOS, fiziksel bellek miktarı, video RAM grafik kartlarına takılı ve sayısı ve türü PCI kartları sistemde kurulu. Bir gigabayttan fazla 32-bit sistem belleği, dört gigabaytlık fiziksel bellek ve büyük miktarlarda video belleğine sahip birden çok 3D kart takıldığında kullanılamayabilir; bazı anakartlarda, deliğin boyutu ne olursa olsun her zaman en az bir gigabayttır genişleme kartları.

Fiziksel adres uzantısı

İlk olarak Pentium Pro'da geliştirilen bir geçici çözüm; Fiziksel Adres Uzantısı (PAE), belirli 32 bit işletim sistemlerinin 36 bitlik bellek adreslerine erişmesine izin verir, ancak tek tek programlar hala 32 bit adres alanı içinde çalışmakla sınırlıdır. Yeterli bellek kurulu olması koşuluyla, her programın kendi dört gigabaytlık adresleme alanı olabilir ve tüm programlarda 64 gigabayta kadar bellek kullanılabilir.

Ancak, bellek adresleri ve G / Ç PCI adresleri hala 3. ve 4. gigabayt arasında bir yerde örtüştüğü için, PAE tek başına PCI deliği sorununu çözmek için yeterli değildir. PAE uyumlu bir CPU ile birlikte PAE uyumlu bir işletim sistemi, hafızaya 1. ila 3. gigabayttan sonra 5. gigabayttan 64. gigabayta erişmekten daha iyisini yapamaz. PCI deliği hala orada. 4GB'lık bir ana bilgisayarda ve bir veya daha fazla ek çözümün yokluğunda, PAE, PCI G / Ç ile örtüşen ~ 1GB belleğe erişmek için hiçbir şey yapmaz.

PAE, Windows XP'de Service Pack 1 (SP1) sürümüne kadar tam olarak desteklendi, ancak daha sonra SP2 için geri çekildi; yalnızca 32 bit sürümleri Microsoft Windows bunu tam olarak desteklemek için bazı üst düzey sunucu sürümleri Windows Server 2003 ve daha erken; 2014 itibariyle, esas olarak 32-bit tarafından kullanılıyor Linux dağılımlar; Ubuntu 2013 yılından bu yana 32 bit sürümü için zorunlu hale getirmiştir. Microsoft, Windows XP SP2 ve sonraki işletim sistemlerinde desteği devre dışı bırakmıştır çünkü grafik kartı ve diğer aygıtlarda, her iki standart 32'den farklı, PAE uyumlu sürücüler gerektiren birçok uyumluluk sorunu vardı. -bit ve üstü 64-bit sürücüler.[2] MS Windows'un birçok sürümü, hala PAE olarak adlandırılan şeyi etkinleştirebilir. NX bit, ancak bu artık adres alanını genişletmez.

Hafıza boşluğunu doldurmak

Daha önce belirtildiği gibi, 32 bit PAE etkin ve hatta 64 bit sistemlerde, "bellek boşluğunun" altında ve üstünde bellek mevcuttur, ancak 3. gigabayt civarında 512 MB ila 1.5 GB RAM kullanılamaz, çünkü orada cihazlar için gerekli hafıza adreslerini kullanır. Azalan bellek maliyeti ile bu ciddi bir sorun olmayabilir, ancak eksik belleğe yeniden erişim sağlamanın yolları vardır.

Cihazları 4 GB üzerindeki adreslerle eşleme

32-bit PCI deliğinin sınırlamaları, sistem BIOS'u donanım tarafından desteklenen tüm işletim sistemlerini karşılaması gerektiğinden, tamamen 64-bit işletim sistemlerini etkileyebilir (16-, 32- ve 64-bit işletim sistemlerinin tümü aynı donanım). BIOS, 64 bitlik bir sistem bunu gerektirmese de, dört gigabaytın altındaki tüm aygıtları eşleştirerek önyükleme yapabilmelidir. Birçok BIOS, aygıtlar, sürücüleri ve aygıtlar olduğu sürece 64-bit adres alanındaki aygıtları eşleyerek bellek boşluğunu dolduracak şekilde kullanıcı tarafından yapılandırılabilir. yonga seti hepsi bunu destekliyor. Bu şekilde yapılandırılmış bir makine 16 veya 32 bit işletim sistemine önyükleme yapamaz; bir makine bu şekilde kurulursa, BIOS kurulumunun 16 veya 32 bit işletim sistemine önyüklemek için geçici olarak değiştirilmesi gerekir, örn. önyüklenebilir bir CD veya USB depolama aygıtından.

Belleği 4 GB'nin üzerindeki adreslerle eşleme

Yalnızca 64 bit işletim sistemleri ve yukarıda açıklanan Fiziksel Adres Uzantısı yöntemini destekleyen 32 bit sistemler için yararlı olan PCI deliğini kaldırmanın başka bir yolu, iki ve iki arasındaki belleğin bir kısmını veya tamamını "yeniden eşleştirmek" tir. dört gigabayt üzerindeki adresler için dört gigabaytlık sınırlar. Bunun bilgisayarın yonga seti tarafından desteklenmesi gerekir ve genellikle BIOS Kurulumunda etkinleştirilebilir. Bu yeniden eşleme, düzeyinde çalışır fiziksel adresler, üst düzey yeniden eşlemenin aksine gerçek içinde gerçekleşen fiziksel adreslere İşlemci çekirdek. Bunu geleneksel 32 bit işletim sistemleri için etkinleştirmek yarardan çok zarar verir, çünkü yeniden eşlenmiş bellek (genellikle PCI deliğinin kendisinden daha büyüktür) bu tür işletim sistemleri için kullanılamaz. Windows Vista bu tür bir belleğin fiziksel olarak var olduğunu "Sistem Özellikleri" sayfasında gösterecektir.

Ayrıca bakınız

Notlar

  1. ^ 16 bitlik, 16'nın ikisinin gücü 65,536 farklı adrese eşittir; 32 bit ile 4.294.967.296 lokasyon iken 64 bit ile 18.446.744.073.709.551.616'dır.

Referanslar

  1. ^ "Büyük Bellekli X86 Tabanlı Sistemlerde Bellek Deliği" (PDF). techfiles.de. Sun Microsystems. 19 Mayıs 2014. Arşivlendi orijinal (PDF) 19 Temmuz 2011. Alındı 7 Kasım 2014.
  2. ^ Dansdata: 3Gb bellek engeli nedir?