64 Bit Nedir?
64 Bit Nedir? Kısaca anlatmak gerekirse 64 bit Hafıza adreslemesi, tam sayı tipi(Bilgisayar terimi olarak.) olarak geçer. Merkezi işlem birimi (CPU) da ALU yani aritmetiksel hesaplama ünitesi bulunmaktadır. Bu ünite işlemcinin gelen verileri işlediği bir nevi düşünen kısmıdır. 64 Bit bu kısımda çoğunlukla ele alınır.
CPU üzerinde Register denilen bir birim bulunur. Bu birim birer küçük hafıza diyeceğimiz bir alanlardır. CPU ya özel hafıza birimleri diyelim. Bu birimler en hızlı hafıza birimleridir. Normal Ram yada Özel üretim Ram’ler dahi Register birimlerinin hızlarına erişemez. Register CPU işlem yaparken hesaplanan işlemi işleyip ilk önce buraya geçici olarak koyup diğer işlemlerine devam eder. Veri adresleri ve adres yolları buraya bilgilerini bırakıp diğer birimlere devam ederler.
Önceleri 64 Bit işlemci mimarisi çıkmadan önce 32 Bit işlemci mimarileri bulunmaktaydı. Biraz önce bahsettiğim Register bölümü ALU’nun en önemli birimidir. Register boyutları ne kadar büyükse işlenen işlem sayısı o kadar fazla olur.
32 Bit işlemcilerde bu Register kayıtları düşük olduğundan işlenecek veri parçalara bölünüp işlemciye bildirilip Aritmetiksel işlemlere uğrayıp gönderileceği birimlere iletiliyordu. 64 Bit ise tahmin edeceğiniz gibi Register alanları daha fazla büyütülerek daha fazla aritmetiksel işlem (ALU) yapılarak daha kısa sürece çok iş sağlayabiliyordu. 32 Bitin adreslemesi sınırlıdır. Kısacası 4 GB ram ile sınırlandırılmış olup bir İşleme (Process) mesela Adobe Photoshop ile bir resim çalışması yaptığınızı düşünün: Photoshop.exe işlemcide maksimum 3.25 GB sınırlarında adresleme yapabilecek ve işlemcide o ayrılan bellek ile işlemlerine devam edecektir. Ama 4 GB nın tamamı kullanılmamış diyeceksiniz. Evet çünkü Kullanılan işletim sistemide kendisi için belirli bir adres ayırıp sağlıklı çalışmak zorundadır.
Mesela Windows ilk açılışında boot’tan itibaren DLL yüklemeleri, Servis Yüklemeleri, Kullanıcı arayüzü vb işlemler için özel korumalı bir bölge açar ve buraya erişimi yasaklar. Bu yüzden 4 GB yi bir program kullanamaz.
64 Bitte ise tam tersidir. Toplam adresleme 2 Terabyte’a çıkartılmıştır. 64 Bit destekli bir işlemci sayesinde 4 GB ram ve üzerini rahatlıkla kullanabilirsiniz.
Fakat bir sorunumuz var: İşletim Sistemi !!!
İşletim sistemi İşlemciye Programdan aldığını bildirmek zorundadır. Bir nevi aracı düşünebiliriz. 32 Döneminde İşletim sistemleri 32 Bit mimarili işlemciler için derlenmiş ve uyumlaştırılmıştır. Mesala Windows XP yi ele alalım. İlk çıktığında 64 Bit işlemci Yoktu (Burada şundan bahsetmek istiyorum. 64 Bit işlemciler vardı ama Kurumsal özel üretimli ve normal kullanıcının alamayacağı düzeydeydi.).
Bu yüzden Microsoft Yaygın olan işlemcilere uygun olarak Windows XP yi derleyip piyasaya sundu. Fakat XP nin çıkmasından bir sene sonra AMD Firması Athlon64 işlemcilerini piyasaya sundu. İlk normal kullanıcı için piyasaya sürülen işlemciler. Microsoft 1 Yıl sonra Windows Server 2003 ve Windows XP 64 biti piyasaya sürdü.
Dediğim gibi eğer İşletim sistemi işlemci ile uyumlu değilse 64 bit kullanılamaz. Kısaca bundan bahsettim.
64 bit ve Geri Uyumluluk
64 Bit işlemci için özel olarak üretilmiş programlar, işletim sistemleri, sürücülerin olması şarttır. 64 Bit için en büyük şart işlemcidir. İşlemciniz desteklemiyorsa bundan faydalanamazsınız. Dediğim gibi 64 bit için kodlanmış ve derlenmiş bir program geri uyumlu değildir. Burada bir sorun var. Ya eski bir programınız varsa? Yada sevdiğiniz bir oyun 32 bit ile yazılmışsa. İşte handikap burada başlıyor.
Burada en büyük iş o programı geliştiren firmalara düşüyor. Ama işletim sistemi geliştiren firmalar(Microsoft,Suse,Apple gibi)’a da büyük işler düşüyor. Şuana kadar en iyi performansı sağlayan Microsoft olmuştur. Windows XP 64 Bit çıktığında biz programcılar kara kara düşünmüştük. Programlarımız tekrar derlenecek özel 64 Bit sürümler gerekecek diye. Ama Microsoft bizi bu düşünceden kurtardı.
Windows on Windows (WoW) teknolojisi sayesinde 64 bit derlenmiş bir Windows XP üzerinde 32 bit programlarınızı çalıştırıyor, oyunlarınızı oynuyor keyfinize bakıyordunuz. Tek bir şey sorun oluyordu oda driver desteği mecburen 64 bit destekli olmak zorundalar. Şimdi biraz açalım bu WoW’u. WoW bir nevi sanal Windows gibi bir uygulamadır. Microsoft Windows u kodlarken 32 bit programlar için özel olarak Windows içinde sanallaştırma yapmıştır. Mesela System32 klasörü Normal 64 bit için kullanılırken Wow64 klasörü eski 32 bit uygulamalar için bırakılmış ve işletim sistemine eğer bir 32 bit program çalışırsa onu tanıması ve bu sanallaştırmaya uyması kod ile bildirilmiştir. Burada şu dezavantaj geliyor. 32 bit programlar Mesela 8 gb raminiz var ve Windows XP 64 bit kurulu diyelim. 32 Bit program eskisi gibi hala 3.25 gb ram görmektedir. Sebebi basit eski kodlama.
Peki performans kaybı: Çok az denilecek düzeydedir. Sanallaştırma sadece görsel kısım. İşlemciye bildirilirken program 32 bit bir program olarak bildirilip işlemci tarafında yine 32 bit işlemler yaptırılır. Adresleme sorunu bu işte ama performans fazla fark edilmez.
Performans
İlk olarak Windows Vista kurdunuz. İşlemciniz 64 bit bir işlemci. Raminiz 8 gb. Mesela diyelimki bir oyun açtınız. Eğer oyun 64 bit işlemci için derlenmemiş 32 bit bir programsa hiçbir performans göremezsiniz. Burada performansı işlemci hızınız çekirdek sayınız ve ram ile ekran kartının hızları belirler.
Pekala 64 Bit destekli bir program kurduk diyelim. Örnek: Adobe Photoshop CS4. 5 tane HDR formatında raw dosyalar açık ve özel yöntemle yüksek kaliteli bir resim elde etmek için çabalıyorsunuz. Photoshop’un ayarlarından ram kapasitesini bilgisayarın raminin %80 ini kullan olarak ayarladığınızı var sayıyoruz. Otomatik man 5-6 GB rami rahatlıkla tüketecektir. Ve renderlama işlemi çok rahat ve hızlı bitecektir. Burada eğer ekran kartınıda kullan derseniz Photoshop 64 bitin verdiği ram avantajı ve adresleme aracılığıyla işlenen veriyi ekran kartından işlemciye gönderecek ve hızlı bir sonuç elde edeceksiniz. Aynı şeyi birde oyunda düşünün. Mesela Crysis. Çok rahat ve hiçbir takılma olmadan keyifle bir oyun.
Peki benim 2 GB ramim var işlemcim de 64 biti destekliyor. Sorun olur mu? Hayır sorun olmaz sadece şunu aklınızdan çıkartmayın. 64 bit işlemlerde adresleme yüksek olduğu için rame daha fazla yüklenilir. Buda ram kullanımını arttırır. Sağlıklı çalışma için 4 gb ram önerilir. Ki böylelikle takılma yada dar boğaz olmasın. Forumlarda yada teknoloji sitelerinde soruluyor sıklıkla. Özellikle Windows Vista kullananlar buna şahit oluyor. Eğer 64 bit bir Vista kullanıyorsanız ve ram miktarı 4 gb nin altındaysa Windows işlemlerin aksamamısı için Harddiski sanal bellek olarak kullanır. PageFile dosyası vardır bu dosyaya İşlemcide çalışan işlemleri aktarır. Bu işlemdede durmadan Bilgisayarınızın harddisk ışığı yanar. 7200 devir harddisk altı harddisk yada sağlıklı ortamda çalışmayan bir harddisk kullananlar(sıcak,tozlu,harici) ve 1 GB ramli makinaya Vista kuranlar bu sorunla karşılaşmaktadırlar. 64 bit burada kötüdür.
32 Bit mi hızlı 64 Bit mi?
Bu soruyu şöyle soralım. Bir su kanalı var küçük(32 bit) ve bu su kanalına bağımlı bir çok çiftçi var. Çiftçiler sulama zamanı gelince mecburen kanala yüklenecekler ve kanal bu kapasiteyi kaldıramayacak. Darboğaz oluşacak su yetmeyecek.
Bu kanalı 2 katına çıkartalım. Çiftçiler rahatlıkla tarlalarını sulayacaklar. İşte fark budur. Olaya şöyle bakalım. Kanalın su kaynağını güçlü bir pompa sağlıyor diyelim. Çiftçiye daha fazla su gidecek. Kanal küçükte olsa akış yüksek olduğundan tarla sulaması daha çabuk olacak. Kanal büyük ve pompa küçük olsa küçük kanalın hızı ve büyük kanalın sulama hızı aynı zamanda biter. Ya pompa ile kanal büyük olursa. Artık onuda siz düşünün...
Burada işlemci hızınız yüksek ve 32 bit işlem yapıyorsanız o işlemi 64 bit bir sistemde 64 bit ile kodlanmış ve derlenmiş bir programla kıyaslarsanız eşit olur. Çünkü 64 bit işlemci daha fazla veriyi adresleyip işler. Hızlı bir işlemci ve 64 bit bir program olursa daha hızlı işlem gerçekleşir.
Mesela Winrar ı 32 bit işlemli bir makina da çalıştırın İşlemciniz 3 ghz olsun. Sıkıştırma çok hızlı yapılır. Ama aynı donanımı 64 bit bir işletim sisteminde Winrar ı aynı dosyayı sıkıştırmayı yap derseniz yavaş yapar. Çünkü program o mimariye uygun değil ve sanallaştırılıyor. 64 Bit Winrar olsaydı peki iki kat daha hızlı.
Peki benim bilgisayarım destekliyor mu?
Bilemem! Ama bunlar yardımcı olur;
AMD Athlon64 ve sonrası çıkan bütün Amd işlemcileri(Opteron,Turion,Athlon64)
Intel Yeni Celeronlar, P4 Prescott 610 ve üzeri işlemciler(Centrino Platformundan eskiler destekli değil. Core 2 Duo ve Pentium Dual Core işlemciler destekli.)
Via 64 Bit işlemciler ve Via Nano işlemciler.
IBM Power6 İşlemcisi.
IBM PowerPC 970 işlemcisi.
Cell BoardBand Engine işlemcisi olan Özel üretim Sony Playstation(IBM,Toshiba ve Sony tasarladı.)
IBM Xenon Kullanan XBox360 işlemcisi.(PowerPC çekirdekli.)
Intel Itanium x64 (IA64) işlemcileri
Alttaki 5 işlemci özel üretim ve Büyük iş istasyonlarınca kullanılıyor. Oyun konsolları ise Sony ve Microsoft Tarafından kullanılıyor.
64 Bit Program nasıl geliştirilir.
Microsoft Bunu Geliştiricilere Visual Studio 2005 ile dağıtaya başladı. .NET 2.0 ‘ın 64 bit desteği eklenmiş ve geliştiricilere SDK sunulmuştu.(Şuan 2008 sürümü var ama Hala Visual Studio IDE si 32 bit çalışmaktadır !!!).
Eclipse (Ücretsiz) : 32 bit ve 64 bit sürümleri vardır. C++ ve Java ağırlıklı kullanılır.
Sun JAVA: Solaris işletim sistemi ile 64 Bite tam destek vermektedir.
Driver (Sürücü Sorunu)
Nvidia, Intel, Amd, Via, Creative gibi büyük firmalar ilk çıktığından bu yana 64 bit desteği vermektedirler. Destek vermeyen bir firmanın sürücüsüne sahipseniz artık onu kullanmayın yada internette araştırın. Windows 7 ile Microsoft çoğu sürücüleri kendisi dağıtıyor yada buluyor.
Umarım Hepinize Yararlı olmuştur.
İyi çalışmalar – Serdar Gökcen