Giriş
Teknoloji, tıpkı diğer bilim dalları gibi daha önce “keşfedilmiş olanlar” üzerine inşa edilir. Bu durum, x86 mimarisinden x64 mimarisine geçiş sürecinde de gözlenir. Temelleri, 16 bitlik bir işlemci olan Intel 8086 işlemcisi ile atılan x86, hem 16 bit hem de 32 bit işlemcilerde kullanılarak ve geliştirilerek x86 başlığı altında standartlaşmıştır. x64 mimarisi ise x86’dan tamamen ayrı ya da bağımsız değildir ve x86 mimarisi üzerine inşa edilmiştir.
32 bit işlemci(x86) nedir?
Bir işlemcinin herhangi bir portu üzerinden aynı anda gönderebileceği "kelime" uzunluğu ilgili işlemcinin bit sayısını belirtir. Bir başka ifade ile işlemcinin bit parametresi, ilgili işlemcinin tek bir sefer ve işlemde işleyebileceği verinin boyutunu verir. 32 bitlik işlemciler, 32 bit uzunluğunda kelime ürettikleri için “32 bit işlemci” olarak adlandırılır. 32 bitlik bir işlemcinin bellek adresi, adres veri yolları ve ilgili veri yollarına bağlı birimleri de 32 bitliktir. Teorik olarak, 32 bitlik veri, 32 bitlik bir işlemci tarafından tek bir seferde döndürülebileceği gibi 2 adet 16 bit’lik işlemcinin birbirlerine bağlanması ile de döndürülebilir.
Intel 32 bit mimarisi x86 olarak da adlandırılır. x86 mimarisi salt 32 bit uygulamaları kapsamaz, Intel 8086 işlemcisinden itibaren geliştirilmiş tüm mimarilerin standartlaştırılmış özelliklerini ifade eder.
32 bit uygulamalar, Intel x86 komut kümesi ile işlemci üzerinde koşturulabilen uygulamaları ifade eder. 32 bit uygulamalar, teorik olarak 32 bit x86 mimarisine sahip tüm işlemciler üzerinde çalıştırılabilir.
32 bit bir işlemci ile en fazla 232 B = 4 GB alan adreslenebilir.
Örneğin, x32 mimarisine sahip bir işlemci ile 8 GB’lık bir RAM ve ilgili RAM üzerinde 2 GB’lık bir ekran kartı çalıştırılmak istenirse RAM üzerinde teorik olarak toplamda adreslenmiş bellek miktarı 4 GB’ı geçemez. Bir başka deyişle, kullanılacak hafıza miktarı BIOS tarafından 4 GB üzerine haritalanır. Halihazırda adreslenmiş 4 GB dışındaki alanlar, fiziksel sınır aşıldığından adreslenemez. Adreslenememiş olan bellek miktarı sistem tarafından adreslenemediği için atıl durumda kalacak ve sistem tarafından kullanılamayacaktır. Bu durumda toplamda adreslenmiş olan RAM miktarı 4 GB’ı geçemeyecek, ilgili 4 GB alan hem ekran ile ilgili hesaplamaları yapmak hem de sistem tarafından kullanılan diğer uygulamalar tarafından kullanılacaktır.
Tüm mimarilerde bellek üzerinde adreslenebilecek en yüksek miktar ilgili mimarinin fiziksel sınırına bağlı olarak değişir ve bu fiziksel sınır işletim sistemine bağlı değildir. Bu nedenle 32 bit sistemlerdeki RAM 4 GB’ı geçemez. Ayrıca BIOS tarafından adreslenen 4 GB’lık alanın tamamı asla son kullanıcı tarafından kullanılamaz. Çünkü BIOS tarafından haritalanan 4 GB’lık alanın içinde, sistem üzerindeki işletim sisteminin çalışabilir olması için kullanılması gerekli olan veriler için gerekli alanlar da vardır. 32 bitlik Windows 10 Enterprise işletim sisteminin en yüksek hafıza boyutu olarak 4 GB’lık bir değer vermesinin [1] nedeni budur.
64 bit işlemci(AMD64, Intel 64, EM64T) nedir?
64 bit işlemciler[2], 64 bit uzunluğunda kelime ürettikleri için 64 bit işlemci olarak adlandırılır. x86-64 ifadesi ise 64 bit uygulamaların yanısıra 32 bit uygulamaların da desteklendiğini ve x86 mimarisinden tamamen bağımsız olmadığını, başka bir deyişle ilgili işlemcinin komut kümesinin x86 komut kümesini de kapsayacak biçimde geliştirildiğini ifade eder. 64 bit bir işlemci ile en fazla
264 B = 17179869184 GB = 16 EB alan adreslenebilir.[3]
64 bit bir işlemci, hem salt 64 bit hem de salt 32 bit modda çalışabilir. Örneğin; 64 bit bir işlemcinin üzerine 32 bit bir işletim sistemi kurulacak olursa sistem yine çalışır. Bu durumda, sisteme 64 bit uygulamalar yüklenemez ve ilgili sistem üzerindeki sürücüler dahil tüm programlar 32 bit olarak kurulur.[4]
64 bitlik işlemciler, 32 bitlik işlemcilerden 2 kat performans verebilir. Ancak bu durum işlemciye gönderilen işlemin mahiyetine bağlıdır, çünkü birim zaman içinde bir işlemci tek bir komut işleyebilir. Eşit miktarda komut zincir ve sayısından oluşan bir işlem, 32 bit ve 64 bit iki işlemciye ayrı ayrı gönderilirse işlemcilerin her ikisi aynı zaman aralığında işlemi bitirecektir. Bu durum, aynı zamanda, 64 bit mimarisine sahip 64 bit Windows kurulu bir sistem üzerinde, diğer deyişle WoW64 altında koşturulan 32 bit bir işlemin, 32 bit mimarisine sahip 32 bit Windows kurulu bir sistem üzerinde koşturulması arasında performans açısından belirli ve anlamlı bir fark olmamasının nedenidir.[5] Ancak 32 bitlik iki döngüde gerçekleştirilen işlem, 64 bit tek döngüde işlenebilecek biçimde kodlanabilirse bu durumda 64 bitlik işlemci 32 bitlik olandan 2 kat hızlı çalışacaktır.
32 Bit ve 64 Bit Windows Sürümleri – Program Uygulamaları
32 bit işlemciler sadece 32 bit uygulamaları çalıştırabilir ve 64 bit uygulamaları çalıştıramaz. 64 bit işlemciler ise hem 32 bit hem de 64 bit uygulamaları çalıştırabilir. 64 bit işlemcinin 32 bit uygulamaları çalıştırabilmesi için üzerinde kurulu işletim sisteminin 32 bit uygulamaları da çalıştırabilecek şekilde tasarlanmış olması gerekir. Bu açıdan, uygulamanın da 64 bit platformda çalışabilecek şekilde kodlanmış olması gerekir. Aksi takdirde, 64 bit işlemci yalnızca 64 bit uygulamaları çalıştırabilir.
Windows 64 bit işletim sistemleri geriye dönük olarak uyumludur, bir başka deyişle 64 bit işletim sistemleri üzerinde 32 bit uygulamalar kullanılabilir. Windows 64 bit işletim sistemlerinde sistemin kurulu olduğu dizinin altında Program Dosyaları ve Program Dosyaları (x86) adında iki farklı dizin bulunur. Bu dizinlerden Program Dosyaları dizininin altında 64 bit uygulamalar bulunurken Program Dosyaları (x86) dizininin altında 32 bit uygulamalar bulunur.
Ayrıca ilgili programlara ait Dynamically Linked Library(DLL) dosyaları 32 bit uygulamalar için %SystemRoot%\SysWOW64
dizininin altında 64 bit uygulamalar için ise %SystemRoot%\System32
dizininin altında yer alır. Genel olarak sistem dizininin görünür yüzünde 32 ve 64 bit uygulamaların farklı dizinler altında çalıştırılması sonucunu doğuran bu özellik, Windows 32 Bit on Windows 64 Bit, WoW64 olarak adlandırılır. WoW64, 64 bitlik sistem üzerinde herhangi şekilde kodlaması değiştirilmemiş 32 bitlik Windows uygulamalarını çalıştırmak için gerekli 32 bitlik arabirimi sağlar. WoW64, üç DLL kullanılarak gerçekleştirilir: Wow64.dll
, Wow64win.dll
, Wow64cpu.dll
.[6]
Şekil 1. Windows 64 bit işletim sistemlerinde sistemin kurulu olduğu dizinin altında Program Dosyaları ve Program Dosyaları (x86) adında iki farklı dizin bulunur.
64 bit bir işlemciden en yüksek seviyede fayda sağlamak için 64 bit donanım ve aygıt sürücüsü, işletim sistemi ya da uygulamalar gibi yazılım çözümlerine ihtiyaç vardır. 64 bit sistem üzerine 32 bit uygulama kurulursa ilgili donanımın 64 bit ile ilgili özellikleri kullanılamayacaktır.
32 Bit ve 64 Bit Windows Sürümleri – Fiziksel Bellek Sınırları
Windows 10:
Çeşit | x86 Mimarideki Limit | x64 Mimarideki Limit |
---|---|---|
Windows 10 Enterprise | 4GB | 2TB |
Windows 10 Education | 4GB | 2TB |
Windows 10 Pro | 4GB | 2TB |
Windows 10 Home | 4GB | 128GB |
Windows Server 2016:
Çeşit | x64 Mimarideki Limit |
---|---|
Windows Server 2016 Datacenter | 24TB |
Windows Server 2016 Standard | 24TB |
Sisteminiz 32 bit midir, yoksa 64 bit mi?
Kullandığınız Windows işletim sisteminin 32 bit mi yoksa 64 bit mi olduğunu öğrenmenin en basit yolu Windows + Pause Break
tuş kombinasyonunu kullanmaktır.
Şekil 2. Üzerinde 64 bit Windows 10 işletim sisteminin çalıştığı x64 tabanlı işlemcinin bulunduğu sistemimin Denetim Masası > Sistem ve Güvenlik > Sistem sıralaması ile de erişilebilecek ekran görüntüsü.
Sonuç
Teknoloji üretmedeki en önemli amaç, üretilecek olan teknolojinin insanlık tarafından kullanılabilecek ve insanlığa fayda sağlayacak olmasıdır. Bu açıdan, x32 ve x64 mimarisine sahip işlemciler günlük yaşantımızın ayrılmaz parçalarıdır. Günümüz işlemcileri; bankomatlardan, arabalara, trafik tabelalarından ve süperbilgisayarlara kadar çok çeşitli cihazlarda kullanılmakta ve bu sayede insan yaşantısını kolaylaştırmakta, insanlığa fayda sağlamaktadır.
x16, x32 ve x64 işlemcilerinin geliştirilmesinde öncü olan kuruluş Amerikan teknoloji devi Intel’dir. Intel, teknolojinin maliyet açısından toplumun ulaşabileceği makul düzeye çekilmesini sağlayarak 40 yıl önce tümü bilim kurgu gibi görünen teknolojileri mümkün hale getirmiş ve refah seviyesini artırmıştır. Burada temel amaç üretilen teknolojinin insan yaşantısına katkı sağlayacak olmasıdır. Bu açıdan teknoloji insan yaşantısı için bir lüks değil, herkesin erişebileceği seviyede olması gereken temel bir ihtiyaçtır ve modern toplum olmanın vazgeçilemez gerekliliklerindendir. Ve Intel şuna inanmaktadır: "Teknolojimizden daha akıl almaz olan şey, dünyanın bu teknoloji ile yapabilecekleridir."[7]
Bu serüven burda bitmez! Örneğin, Haziran 2016’da duyurulmuş ve California Üniversitesi’nde IBM 32nm teknolojisi kullanılarak deneysel amaçla üretilmiş olan dünyanın ilk 1000 çekirdekli işlemcisi ki her bir işlemcisi 1.78 GHz frekansa sahiptir, 0.7 Watt güç yani AA tipi bir batarya ile çalıştırılabilir ve bu dünyanın ilk KiloCore işlemcisi ile saniyede 115 milyar işlem gerçekleştirilebilir.[8] Bu durum da bize en açık ifadesi ile göstermektedir ki, teknoloji her ne kadar fiziksel sınırlara sahip olsa da, geliştirilmeye ve ilerlemeye açıktır. Bu da demek oluyor ki, pek yakın gelecekte x64’ün sınırları da günlük hesaplamalara yetmeyecek ve biz bilişim teknolojisi uzmanları “128 bit ile 256 bit işlemciler arasındaki farklar” konulu makalelerimizi kaleme almak zorunda olacağız.