16 Mesaj »
Yazdır
Arkadaşına Gönder
Masaüstlerindeki 32 bit işletim sistemleri -ve aslında aynı zamanda eski 32 bit adresleyebilen işlemciler- 4 GB fiziksel bellekten fazlasını kullanamazlar. Bunun nedenini basite indirgeyip kısaca açıklayalım.
Durumu kavrayabilmek için önce bellek adreslemesini anlamak gerekiyor. Bilgisayarınızın belleğini hücrelere bölünmüş şekilde düşünün. Bu hücrelerden herbirinin bir adresi var; hücrelere veri bu adresi kullanarak yazılıyor ve yine adres kullanılarak okunuyor. Adres de aslında bir numaradan ibaret. Yani sistem belleğe solda gördüğünüz örnekteki gibi "45 numaralı bellek noktasına P, 46 numaralı bellek noktasına C…" şeklinde yazıyor ve daha sonra bunu "45, 46,47,48, 49 ve 50 numaralı bellek noktalarında ne yazıyorsa getir bana" şeklinde okuyor. Tabii gerçek numaralandırma çok daha farklı ama temel hali bu.
Bellek adreslemesi fikrini kaptıysanız, bellekteki noktalara ulaşmak için
kullanabileceğiniz sayıların yeterli olması gerektiğini de farkedersiniz. Yine soldaki örnekte, bellek noktalarını göstermek için iki basamaklı sayıları kullanabiliyor olsaydınız 100 numaralı bellek noktasından itibaren veri yazamayacak, okuyamayacaktınız. Yani en son 99 numaralı noktaya ulaşabilecektiniz. İşte 32 bit işletim sistemi (ve 32 bit adresleyebilen işlemci) kısıtlaması da bu. 32 bit adresleyebilen bir işlemciniz/işletim sisteminiz varsa, bellekte en fazla 232 (2^32) tane "hücrenin" adresini kullanabilirsiniz. Hesaplarsanız 4,294,967,296 ediyor. Her bir "hücre" birer bayt (byte) olduğuna göre, 4,294,967,296 bayt ya da bir başka deyişle 4 GB bellek adresleyebiliyorsunuz. Bundan sonra artırdığınız bellek fiziksel olarak bulunabiliyor ama işletim sistemi 4,294,967,296 taneden sonrasını adresleyemediği için kullanamıyor.
Pratikte ise kullanılabilecek alan örneğin 32 bit Vista için 3.12 GB gibi bir değere kadar düşebilir. Bu sadece işletim sisteminin 32 bit olmasından kaynaklanan bir durum değil, başka bir kısıtlamanın da buna katılmasıyla kullanılabilir bellek miktarı bu değere kadar düşüyor.
64 bit adresleyebilen işlemcinizde, 64 bit işletim sistemi kurduğunuzda artık 232 değil, teoride 264 tane bellek noktasına erişecek kadar adres numaralandırabiliyorsunuz. 16 EB gibi bir değer ediyor. :) Tüm bu adreslenebilir bellek öngörülebilir gelecekte kullanılacak gibi olmadığı için uygulamada örneğin güncel AMD64 mimarisi 256 TB belleğe kadar adresliyor.
Son not olarak, aslında bu 32 bitten gelen 4 GB kısıtlamasının PAE ile aşılabildiğini belirtelim. PAE, yani Physical Address Extension, Pentium Pro ve sonrası 32 bit işlemcilerde bellek adreslemek için 4 bit daha getirir; yani efektif olarak 232 değil, 236 tane bellek noktası adreslenebilir. Ancak masaüstü sistemlerde PAE genel olarak sürücü uyumsuzluk mevzuları nedeniyle kapatılmıştır.
yaaw bende 32 bitlik vista kullanıyoruum ramim de 4 gb lık ram ama pc onu sistem özelliklerine baktıımda 3455 mb olarak görüyor bu geri kalan kısmı ne yapıo sizcee
@serdoan
çünkü Bill abimiz 32 bitte en fazla o kadar belleğe izin veriyor… yani microsoft artık 64 bit işletim sistemlerini satmak istiyor…
piyasadaki programlar 32bit desteğini çekerse insanlar windows xp'den vazgeçip yeni işletim sistemi satın almak zorunda kalacaklar…
@serdoan, Moonshield: Hayır, Bill abinin pazarlama çalışmalarıyla ilgisi yok. Onunla ilgili de bir soru/cevap hazırlıyorum bu aralar, yarın öbür gün yayına veririm halledip. Teknik bir mesele ama, onu bilin.
Bir iki not ekleyeyim:
- 32 bit sistemlerde PAE baska nedenlerle acik olabiliyor. Bu durumda PAE acik olsa bile 4 GB ustune erisim icin kullanilmiyor.
- PAE sadece 4 GB ustune erisim ile alakali. 4 GB altina erisim konusunda etkisi yok.
- 32 bit sistemin 4 GB'i tam olarak kullanamamasinin nedeni, ekran karti bellegi gibi diger aygitlarin adreslenmesi gerekmesi. Ornegin, Eger 4 GB sistem bellegi tumuyle adreslense, bu defa ekran karti uzerindeki bellek adreslenemeyecek.
İşlemcilerde bir tanesi veri, digeri adres olmak üzere iki bilgi akış yolu vardır. Veri yolu bir işlemcinin bir kerede kaç bitlik bilgi transferi yapacagı ve yazmaçların (registerlarını) büyüklügünü belirler.
32 bitlik bir işlemci 32 bitlik veri yazmaçlarına sahiptir. Bir kerede 32 bitlik bir veriyi alıp, 32 bitlik veriyi hafızaya yazabilir. 8 bitlik bir işlemci benzer şekilde 8 bitlik veri yazmaçlarına sahiptir. 8 bitlik veriler üzerinde işlem yapar.
Adres yolu farklı bir konudur. Bir işlemci 8 bit olup (6502, Z80) 16 bit adres yoluna sahip olabilir. 16 bitlik bir işlemci ) 20 bit (8086) veya 24 bit (80286) adres yoluna sahip olabilir. Yani 8 bitlik 6502 64 kb lık adres kullanabilir, 16 bitlik 8086 1 mb ve 16 bitlik 80286 16 mb bellek adresleyebilir.
Pentium prodan bu yana tüm işlemciler 36 bit ve üzeri adres yoluna sahiptir. 64 bitlik athlon x2 ler ise 48 bit adresleme hattına sahiptir. 64 bitlik işlemcinin 64 bitlik adres yolu olmak zorunda degildir.
32 bitin üzerinde adres yoluna sahip olsada, programlar hafıza adreslemesini işletim sistemi üzerinden yaparlar. İşletim sistemi destegi yoksa, 32 bitin üzerinde adresleme yapılamaz.
32 bit, 64 bit vs derken işlemcinin veri yolundan bahsedilmektedir, adres yolundan degil. O nedenle 32 bit işlemci 32 bit adres yoluna sahip olabilir düşüncesi, tam olarak dogru degildir. 32 bitlik işlemci 36 bit adres yoluna sahip olabilir veya 64 bit işlemci ise 48 bitlik veriyoluna sahip olabilir. Veriyolu ile adresyolu aynı olmak zorunda degildir.
Not: Virtual adresleme farklı bir olaydır. Virtual adresleme ile 32 bit bir işlemci bile terabyte adresleme yapabilir. Ben yukarıda sadece flat adreslemeden bahsettim.
http://en.wikipedia.org/wiki/X86
Hmm.. Bunu "32 bit adresleme yapabilen" olarak değiştirmek mantıklı olacak. Ancak daha fazla karmaşıklaştırmayalım. Yoksa PAE'ye ya da belleği kullanmak için dolaylı yollara girmek gerekecek.
Bu arada, AMD64 mimarisinde 48 biti kullanılan 64 bitlik bir adres uzayı var. 48 hat değil yani, 64 hat demek daha doğru. Son 48 biti adresleme için kullanılıyor (böylece 256 TB bellek adresleyebiliyor).
Yapılan adreslemenin bir kısmında Moron rumuzlu arkadaşın dediği gibi aygıtlar için ayrılır.
Birde şöyle bir problem var.Anakart üreticisi sizin işlemcinizin adreslemede kullanılacak verinin gideceği bacaklar ile belleklerinizi buluşturmayabiliyor :)yada bu iş çipsetdede yapılmamış olabiliyor.
Eski sistemlere büyük boyutlu bellek takınca yarısı boyutunda görülmesinin nedenide budur.
kafam karıştı. 64 bit bir sisteme en fazla 16 GB RAM'mi takabiliyoruz? yoksa 256 TB'mı?
64 bit ile 4 GB ve daha fazla bellek icin:
- Islemci
- Isletim sistemi
- Cipset
- BIOS
destegi gerekiyor.
4gb görmemesinin nedeni muhtemelen diğer kartların bios bilgilerinin açılışta belleğe yüklenmesidir.özellikle hypermemory´li ekran kartları sistem belleğinden çalar.bende bios 3.2gb görüyor ama vista sp1 32bit 4gb görüyor.32bit´in 4gb sonrasını görmemesinin nedeni satış stratejisidir bence.yoksa bu teknoloji varken neden görmesin ki?
32 bit bit sistemler 4b üzerini görememesi teknik bir mesele. satış stratejisi ile uzaktan yakından alakası yok..
500ml bal satacaksanız bunu 1 litrelik kavanoza mı koyarsınız?
Yada 500 ml lik kavanoza daha fazla bal koyabilir misiniz?
kendimi bi an pic dersinde zannettim ah ne günlerdi
yarım görme bacak olayı değil de ,Bank olayı bank012345 eskiden çok önemliydi (SDram) (çift yüz , tek yüz),bir slot iki bank oluyordu genelde , bazen de tek bank olabiliyordu ,epox kha mı kta mı ne bir modelde vardı mesela 2 slot çift bank , bir slot tek bank idi eski athlon serisi için
Tek yüz ile aynı kapasite elde etmek demek kullanılan çiplerin kapasitesinin iki kat olması demek ki.Bu iki kat kapasiteyi adreslemek için çift yüze göre bağlantı bacaklarının bir tane daha fazla olması demek.
Bu değerli makale için teşekkür ederim… Emeklerinize sağlık.
Eğer bu makalenize de 32 BIT – 64 BIT Etiketi verirseniz konuyla ilgili kişilerin ulaşması çok daha kolay olur…