x86 vs x64
x86 ve x64 arasındaki en önemli fark, birincisinin 32 bit mimarisi, ikincisinin ise 64 bit komut kümesi mimarisi olmasıdır. Bir komut seti mimarisi (ISA), herhangi bir CPU için geçerli olan çok önemli bir terimdir. Bir CPU'nun yönergeleri, bellek adresleme, kayıtlar ve diğer birçok mimari bölümü ISA tarafından belirlenir. x86, Intel tarafından 1978'de 8086 işlemciyle tanıtılan dünyaca ünlü bir ISA'dır. Sonra çeşitli uzantılar oldu ve 2000 yılında AMD, AMD64 adı altında x86 komut setini 64bit'e genişletmek için spesifikasyonu yarattı. Daha sonra Intel gibi diğer şirketler de bu belirtimi uyguladı ve bu AMD64, x64 adıyla tanımlanan AMD64'tür.
x86 nedir?
x86, Intel tarafından ünlü 8086 işlemci ile tanıtılan bir komut seti mimarisidir. 1978'de Intel, 16 bitlik bir işlemci olan 8086 işlemciyi tanıttı. Daha sonra 80186, 80286, 80386 ve 80486 gibi çeşitli işlemcileri tanıttılar ve hepsi 8086 işlemcide kullanılan orijinal komut seti ile geriye dönük uyumluydu. Tüm bu işlemciler 86 sayısı ile bittiği için komut seti mimarisi x86 adıyla tanımlandı. 80386'nın tanıtılmasıyla, x86 talimatı 32 bitlik bir sisteme genişletildi. Burada 32 bit, tüm kayıtların, bellek veri yolunun ve veri yolunun 32 bit olduğu anlamına gelir. Daha sonra Pentium işlemciler Pentium I, Pentium II, Pentium III, Pentium IV olarak geldi ve bunların hepsi de 32 bitlik bir mimari izledi. Ancak x86 mimarisine MMX, SSE ve SSE2 gibi talimatların eklenmesi gibi çeşitli başka uzantılar oldu. Bunun dışında birçok iyileştirme de yapıldı. Daha sonra x86 komut seti 64 bit komut setine genişletildi ve bu noktadan sonra x64 olarak adlandırıldı, bir sonraki bölümde tartışacağız. Her neyse, genel olarak x86, 8086 işlemci ile gelen 16 bit mimariden gelişen 32 bit mimariyi ifade eder.
8086 işlemci
x64 nedir?
32 bitlik bir sistem yalnızca 232 farklı değeri temsil edebilir ve bu nedenle bellek adreslemesi bu sayıda adresle sınırlıdır. 232 bayt 4 GB'a eşittir ve bu nedenle x86'nın adreslenebilir maksimum bellek sınırı 4 GB'dir. Bunun üstesinden gelmek için x86 mimarisine daha fazla genişletme yapıldı. AMD, 2000 yılı civarında, x86 mimarisini 64 bite genişleten böyle bir spesifikasyonu tanıttı. Bu, AMD64 adı altında tanıtıldı. x64, bu AMD64 mimarisine verilen bir diğer isimdir. Bu AMD64 veya x64 mimarisi, x86_64 adıyla da bilinir. 64 bit mimari ile tüm kayıtlar 64 bit oldu ve bellek yolu ve veri yolu da 64 bit oldu. Şimdi 264 farklı değerler adreslenebilir ve bu, olası maksimum bellekte çok büyük bir üst sınır verir. AMD K8, bu 64 bit mimariyi uygulayan ilk işlemciydi. Sonra Intel de bu mimariyi benimsedi. Intel Core 2'den yola çıkan Intel Core işlemciler ile Intel bu mimariyi işlemcilerinde kullanmaya başladı. Şu anda Core i3, Core i5 ve Core i7 gibi tüm Intel işlemcileri bu x64 mimarisini kullanıyor. Vurgulanması gereken önemli bir nokta, bu x64 mimarisinin hala eski x86 komut seti ile geriye dönük uyumlu olmasıdır.
64 bit işlemci
x86 ve x64 arasındaki fark nedir?
• x86 yaklaşık 1978 yılında tanıtıldı, x64 ise 2000 yılında daha yakın bir zamanda ortaya çıktı.
• x86, ünlü Intel 8086 işlemcisinden ortaya çıktı ve bu nedenle, x86 Intel tarafından tanıtıldı. Ancak x86'nın bir uzantısı olarak gelen x64, AMD tarafından tanıtıldı.
• x86 mimarisi 32 bittir. (İlk x86 işlemciler 16 bit idi, ancak sonraki işlemcilerde 32bit'e genişletme yapıldı). x64 mimarisi 64 bittir.
• x86 komut seti mimarisine sahip işlemciler bu nedenle 32 bit kayıtlara, 32 bit bellek veri yoluna ve 32 bit veri yoluna sahiptir. Ancak x64'ün 64 bit kayıtları, 64 bit bellek veri yolu ve 64 bit veri yolu vardır.
• x86'nın adreslenebilir maksimum bellekte 4 GB (232 bayt) üst sınırı olan bir sınırlaması vardır. Ancak x64 sistemlerinde bu sınır çok büyüktür, bu 264 bayttır.
• x64, x86'nın bir uzantısıdır; bu nedenle eski x86'dan çok daha gelişmiş ve güçlüdür.
• Bir x64 sisteminde bir kayıtta saklanabilecek değerler, x86 tabanlı bir kayıtta saklanabilecek değerlerden daha büyüktür. Bu nedenle, x64, değeri bölmek ve x86'daki gibi depolamak için birden fazla kayıt kullanmaya gerek olmadığından, daha büyük tam sayıların hesaplanmasını çok daha hızlı gerçekleştirebilir.
• x64, veri yolu boyunca daha büyük boyutlu verileri paralel olarak iletebilir. Yani, 64 bit veri yolu 64 bit paralel iletebilirken, 32 bit veri yolu olan x86 mimarisi sadece 32 bit paralel iletebilir.
Özet:
x86 vs x64
x86 komut seti mimarisi 32 bit, x64 komut seti mimarisi ise 64 bittir. x64, mevcut x86 mimarisinin bir uzantısı olarak geldi. x86 mimarilerinde kayıtlar, bellek yolu, veri yolu 32 bit iken bu x64'te 64 bittir. Bu nedenle, adreslenebilir maksimum bellek miktarı x64 sistemlerinde x86 sistemlerine göre çok daha yüksektir.x86, Intel tarafından 16 bitlik bir işlemci olan 8086 işlemci ile tanıtıldı ve zamanla bu x86 32 bite genişletildi. Daha sonra AMD, mevcut x86 mimarisini genişleterek x64 mimarisini tanıttı ve bu x64, x86 komut seti ile tamamen geriye dönük uyumlu.