ARM ve x86 karşılaştırması yaptığımız bu yazımızda komut setleri, mimari ve tüm temel farklılıklara bakıyoruz.
Android, üç farklı türde işlemci mimarisi üzerinde çalışabilecek kapasitededir. Bunlar ARM, Intel ve MIPS mimarileridir. Bugün neredeyse her yerde bulunan Intel, telefon pazarından çekilmeden önce ilk sıradaydı. Telefonlar için MIPS işlemcileri ilse yıllardır görülmemekte. Bunun yanında ARM mimarisi, kişisel bilgisayar pazarına da adım atıyor. Windows’un ARM tabanlı işletim sistemi ve Apple’ın ARM işlemciler ile güncellenmiş Mac bilgisayarları bunlardan bazıları. ARM ve Intel işlemci savaşı büyük ölçüde ısınmak üzereyken, ARM ve x86 mimarisi hakkında bilmeniz gereken her şeyi burada bulabilirsiniz.
İşlemci Mimarisi Nedir?
Merkezi İşlem Birimi ya da CPU, bilgisayar, akıllı telefon ya da tablet gibi cihazların beyni gibdir. Ancak işlemciler, tam olarak akıllı değildir. Bir işlemci yalnızca, verileri depolama birimleri ile bellekler arasında taşımasını veya belirli bir işlem birimini (çarpma, çıkarma ya da bölme gibi) çalıştırarak hesaplama yapmasını söyleyen çok özel talimatları aldığında çalışır. Bu talimatlar, komut seti olarak adlandırılır. Farklı işlemci türleri, farklı komut setleri gerektirir. Bu komut setleri, farklı ölçeklerle daha karmaşık hale getirilebilir ve güçlü işlemcilerde kullanılabilir. Gerekli komut setleri, işlemcinin donanım kısmını da etkiler, farklı tasarımlar gerektirebilir.
Telefonunuzda ya da bilgisayarınızda çalışan uygulamalar, işlemcilerin kullandığı komut setleriyle yazılmazlar. Bu, günümüzün birden fazla işlemci tipini ve beraberinde farklı komut setlerini barından dünyasında, çılgınlık olurdu. Bunun yerine, çeşitli üst düzey programlama dillerinde (Java veya C ++ gibi) yazılan uygulamalar, ARM veya x86 işlemcilerde doğru şekilde çalışabilmeleri için belirli komut setlerine sahiptir. Bu sayede uygulamalar, ARM ya da x86 mimarilerinde hata almadan çalışırlar. Bu talimatlar, işlemci içindeki belirli işlem gücü gerektiren mikrokod operasyonlarıyla çözümlenir. Düşük güç tüketimli bir işlemci istiyorsanız, komut setini basit tutmak çok önemlidir. Bununla birlikte daha karmaşık işlemci tasarımlarından ve talimatlardan daha yüksek performans elde edilebilir. Bu, ARM ve Intel’in işlemci tasarımına yaklaşımları arasındaki en temel farktır. x86 mimarisi, geleneksel olarak en yüksek performansı hedeflerken; ARM mimarisi enerji verimliliğini hedefler.
RISC ve CISC
ARM, RISC (Reduced Instruction Set Computing, Azaltılmış Komut Seti Hesaplama) tabanlıdır, Intel (x86) ise CISC (Complex Instruction Set Computing, Karmaşık Komut Seti Hesaplama) tabanlıdır. ARM’nin komut setleri, talimat sayısı ile mikro işlem sayısı arasında çok yakın bir korelasyon ile, makul ölçüde atomiktir. Karşılaştırma olarak CISC, birçoğu birden çok işlemi gerçekleştiren (optimize edilmiş matematik ve veri hareketi gibi) çok daha fazla talimat sunar. Bu, daha fazla performansa ve karmaşık talimatların kodunu çözmek için gereken daha fazla güç tüketimine yol açar.
Komut setleri ve işlemci yongasının tasarımı arasındaki bu bağlantı, bir işlemci mimarisini ortaya çıkartan temel unsurdur. Bu şekilde işlemci mimarileri, aşırı sayı hesaplamaları, düşük enerji tüketimi veya minimum silikon alanı gibi farklı amaçlar için tasarlanabilir. Bu, ARM ve x86 mimarilerine işlemciler açısından bakıldığında önemli bir farktır, çünkü ARM daha düşük bir güç tüketimine, daha az komut setine ve minimum donanıma dayalıdır.
Modern 64 Bit İşlemci Mimarileri
Günümüzde 64-bit işlemci mimarileri, akıllı telefon ve bilgisayar pazarında en çok kullanılan mimari tipi konumundadır ancak bu her zaman böyle değildi. Akıllı telefonlar, 2012 yılına kadar geçiş yapamadı. Bu geçiş, bilgisayarlardan yaklaşık on yıl sonra gerçekleşti. Özetle, 64-bit işlemciler, depolama birimlerinin ya da belleklerin, 64-bit uzunluğunda veri tiplerini kullanmalarına olanak verir. Uyumlu donanımın ve komut setlerinin yanı sıra, uyumlu bir işletim sistemine de ihtiyacınız vardır, Windows 10 ya da Andorid gibi.
Bu alanlarda uzun süre çalışmış kişiler, Apple ilk 64-bit işlemcisini Android rakiplerinden önce piyasaya sürdüğünde olanları ve bununla başlayan süreci hatırlayabilir. 64-bit mimarilere geçiş, günlük kullanımı değiştirmedi. Bununla birlikte, yüksek doğruluk gerektiren ondalıklı sayılarla çalışırken, matematiği verimli kullanması önemliydi. 64-bit girdi sistemi aynı zamanda 3D render doğruluğunu, şifreleme hızını da artırdı ve 4 GB’tan fazla bellek boyutu kullanımının önünü açtı. Günümüzde, her iki mimaride de 64-bit desteği vardır. Ancak mobil tarafında bu desteğin daha geç geldiğini yineleyelim. Bilgisayarlar, akıllı telefonlardan çok daha önce 64-bit temelli mimarilere geçti. Ancak modern x86-64 mimarisini (x64 olarak da bilinir) icat eden Intel değildi.
İşlemciler hakkında daha detaylı bilgi için, İşlemci Nedir adlı yazımıza göz atabilirsiniz. Bu başarım, Intel’in mevcut x86 mimarisini güçlendiren AMD’nin 1999 tarihli duyurusuna aittir. Bununla birlikte Intel’in 64 Bit alternatifi IA64 Itanium mimarisi de x64 sonrası gözlerden düşmüştü.
ARM, ARMv8 64-bit tabanlı mimarisini 2011’de tanıttı. ARM, 32 Bit’lik komut setini genişletmek yerine temiz bir 64 uyarlaması sunar. Bunu başarmak için ARMv8 mimarisi, AArch32 ve AArch64 olmak üzere iki yürütme sınıfı kullanır. Adlarından da anlaşılacağı gibi, AArch32 32-bit komut satırlarını çalıştırmak için kullanılırken, AArch64 64-bit komut satırları için kullanılır. ARM tasarımının eşsizliği, işlemcinin normal çalışması sırasında bir moddan diğerine sorunsuz bir şekilde geçebilmesinde yatmaktadır. Bu, 64-bit komutlar için kod çözümleyicinin, 32-bit dönemiyle uyumluluğu sürdürmesi gerekmeyen yeni bir tasarım olduğu ancak işlemcinin bir bütün olarak geriye dönük olarak uyumlu kaldığı anlamına gelir.
ARM’nin Heterojen Çekirdek Sistemi ve Mobil Pazarındaki Başarısı
Yukarıda tartışılan mimari farklılıklar, iki çip devinin karşılaştığı mevcut başarıları ve sorunları kısmen açıklamaktadır. ARM’nin düşük güç yaklaşımı, mobil platformunun 3.5 Watt TDP (Termal Tasarım Gücü) gereksinimlerine mükemmel bir şekilde uyar, bunun yanında performansı, Intel’in dizüstü bilgisayar çiplerine de uyacak şekilde ölçeklendirilir. Bu arada Intel, yaklaşık 100 Watt TDP değerine sahip tipik bir Core i7 işlemcisini sunucularda ve yüksek performanslı masaüstü bilgisayarlarda kullanılabilir kılarken, aynı kararlılığı 5 Watt TDP değerinin altında da başarmak için mücadele ediyor ve bu yolda zorluklar çekiyor.
Tabii ki silikon üretim süreçlerinin son on yılda güç verimliliğini büyük ölçüde artırmada oynadığı rolü de unutmamalıyız. Genel olarak konuşmak gerekirse, daha küçük CPU transistörleri daha az güç tüketir. Intel, 2014’te piyasaya sürdüğü 14 nm mimarisini geçmeye çalışırken takılıp kaldı. Aynı zaman diliminde, akıllı telefon yongaları 20nm’den 14 nm, 10 nm ve şimdi ise 7 nm üretim süreçlerine geçişi gerçekleştirdi. 5nm üretim sürecine geçiş ise 2021’de bekleniyor. Bu gelişme, sadece Samsung ve TSMC üretim tesisleri arasındaki rekabetten yararlanılarak sağlanmıştır.
Bununla birlikte, ARM mimarisinin benzersiz bir özelliği, mobil uygulamalar için TDP’yi düşük tutmada özellikle etkili olmuştur: Heterojen çekirdek tipleri. Fikir oldukça basittir, farklı işlemci birimlerinin (performans ve güç açısından) gelişmiş verimlilik için birlikte çalışmasına izin veren bir mimari oluşturmak.
Büyük ve Küçük Çekirdekler
ARM’nin iş yüklerini yüksek ve düşük performanslı işlemci çekirdeklerine paylaştırabilme yeteneği, enerji verimliliği için kilit öneme sahiptir. Şirketin bu fikri ilk denemesi, 2011’de çıkan ve “big.LITTLE” felsefesini benimseyen, büyük Cortex-A15 ve küçük Cortex-A7 çekirdeğiyle oldu. Yüksek güç gerektiren uygulamalar için daha büyük, sıra dışı işlemci çekirdeği ve arka plan görevleri için ise yüksek işlemci çekirdeği kullanan bu tasarım, yerine tam oturması için bazı düzenlemelerden geçti. 2017’de DynamIQ ve ARM V8.2 mimarisiyle bu fikir temel alınarak inşa edilen ARM, farklı işlemci tiplerinin tek bir kümede toplanmasına ve işlemleri verimli yapabilmeleri için bellek kaynaklarını paylaşmalarına izin veriyor. DynamIQ ayrıca, orta sınıf yongalarda giderek yaygınlaşan 2 + 6 işlemci tasarımının da kullanılmasına olanak tanıyor.
Intel’in ARM rakibi Atom yongaları, ARM gibi heterojen çekirdek tipine sahip değildi ve ARM’nin performans – verimlilik dengesine de yaklaşamamaktaydı. Intel’in bu alanda rakip bir işlemci mimarisi çıkarması 2020’yi buldu. Intel’in geliştirdiği Foveros, EMIB ve Hybrid Technology rakip bir çip tasarımı sağlayacak projelerinden önemli olanlarıdır. Bu projeler üzerine geliştirilmiş ilk işlemciler ise 10 nm üretim tekniğiyle üretilmiş Intel Lakefield işlemciler olacaktır. Lakefield, yüksek performanslı tek bir Sunny Cove çekirdeğini, güç açısından verimli dört Tremont çekirdeğiyle beraber grafik birimi ve gelişmiş bağlantı özellikleriyle, tek bir işlemci yapısı üstünde toplamaktadır. Ne yazık ki bu paket bile akıllı telefonlar için hala çok yüksek olan 7 Watt TDP değerine sahip dizüstü bilgisayarları hedeflemektedir.
Günümüzde ARM ve X86 tabanlı Intel rekabeti, Intel’in başarılı bir şekilde mimarisini küçülttüğü ve ARM’nin aynı başarıyla mimarisini büyüttüğü 10 Watt altı TDP’deki laptop pazarında daha da artmaktadır. Apple’ın Mac için kendi özel ARM yongalarına geçeceği haberi, heterojen yapısı ve Apple tarafından gerçekleştirilen özel optimizasyonlar sayesinde ARM mimarisinin artan performans düzeyinin en iyi örneğidir.
Özel ARM Çekirdekleri ve Komut Setleri
ARM ve Intel arasındaki bir diğer önemli ayrım, Intel’in tüm süreci baştan sona kontrol etmesi ve işlemcilerini doğrudan son kullanıcıya satmasıdır. ARM sadece lisansını satmaktadır. Bunun yanında Intel mimarisini, yonga tasarımını ve hatta üretim sürecini dahi tamamen kendi bünyesinde tutmaktadır. ARM, karşılaştırıldığında Apple, Samsung ve Qualcomm gibi iş ortaklarına çeşitli ürünler sunmaktadır. Bunlar, Cortex-A78 gibi kullanıma hazır işlemci çekirdeği tasarımlarından, ARM CXC programı aracılığıyla ortaklaşa oluşturulan tasarımlardan, Apple ve Samsung gibi şirketlerin özel işlemci çekirdekleri oluşturmasına ve hatta komut setlerinde kendilerine göre değişiklikler yapmalarına olanak tanıyan özel mimari lisanslarına kadar uzanmaktadır.
Özel işlemciler oluşturmak pahalı ve karmaşık bir süreçtir. Ancak doğru bir şekilde yapılırsa, açık şekilde güçlü işlemciler elde edilebilir. Apple’ın tasarladığı ARM tabanlı işlemcileri, sipariş üzerine yapılmış özel tasarımların ve komut satırlarının, standart ARM işlemcilerini performans bakımından x86 mimarisi işlemcilere nasıl yaklaştırdığını gözler önüne sermektedir; her ne kadar Samsung’un Mongoose çekirdekleri daha tartışmalı olsa da.
Intel’in mimari tasarımı, saf performansa ihtiyaç duyan tüketici pazarlarında ön planda kalmaktadır. Ancak ARM, sunucu pazarını da içeren, yüksek performans ve enerji verimliliğinin kilit önemde kaldığı ürün segmentlerinde, eskisinden de rekabetçi bir konumdadır. Dünyanın en güçlü Süper Bilgisayarlarından biri olan Fugaku, ARM tabanlı işlemcilerle çalışmaktadır. Sistemin temelini oluşturan A64FX SoC, Fujitsu tarafından tasarlanmıştır ve ARM V8-A SVE mimarisini çalıştıran ilk sistemdir.
Yazılım Uyumluluğu
Yazının başlarında da bahsettiğimiz gibi, her uygulama ve yazılım, üzerinde çalışacağı spesifik işlemci mimarisiyle uyumlu olmak zorundadır. İşlemciler ve ekosistemler arasındaki tarihsel birliktelik (ARM’de Android ve x86’da Windows gibi), uygulamaların birden fazla platformda ve mimaride çalışmasını gerektirmediğinden, uyumluluğun hiçbir zaman gerçek anlamda sorun olmadığı anlamına geliyordu. Ancak birden çok işlemci mimarisinde çalışan “platformlar arası uygulamalar” ve işletim sistemlerindeki büyüme, bu tabloyu değiştirmeye başladı.
Apple’ın ARM tabanlı Mac bilgisayarları, Google’un Chrome OS işletim sistemi ve Microsoft’un Windows on ARM projesi, yazılımların ve uygulamaların, ARM ve Intel platformlarına aynı anda uyumluluk sağlamalarını gerektiren modern örneklerden bazıları. Her ikisi için de yerel yazılım uyumluluğunu sağlamak, yeni uygulamalar ve yeni çoklu platform sistemine yatırım yapmak isteyen geliştiriciler için mevcut seçeneklerden biridir. Boşlukları doldurmak için, bu platformlar aynı zamanda kod öykünmesine de güvenmektedir. Başka bir deyişle, belirli bir işlemci mimarisi için tasarlanmış yazılımı, başka bir mimaride çalışması için çevirmek de denebilir. Bu, daha az verimlidir ve yerel uygulamalara kıyasla performansı düşürür ancak uygulamaların çalışmasını sağlamak için şu anda iyi bir öykünme mümkündür.
Yıllar süren geliştirmelerden sonra, Windows on ARM projesindeki öykünme sistemi, çoğu uygulama için oldukça iyi bir durumdadır. Android uygulamaları da Intel işlemcili Chromebook’larda çoğunlukla sorunsuz bir şekilde çalışmaktadır. ARM tabanlı Mac bilgisayarlar içinse bekleyip, gelişmeleri görmemiz gerekecek.
ARM ve x86 Karşılaştırması: Sonuç
ARM ile x86 arasındaki rekabetin son on yılında ARM, akıllı telefonlar gibi düşük güçlü cihazların göz bebeği haline geldi. Mobil platformun da dışına çıkmaya başlayan ARM, yüksek verimliliğin birinci öncelik olduğu dizüstü bilgisayar pazarına da adım atıyor. Telefonlardaki başarısızlığına rağmen, Intel’in düşük güç tüketimini sağlama çabaları da yıllar içinde gelişti ve Lakefield mimarisi, artık telefonlarda bulunan geleneksel ARM işlemcilerle çok daha fazla ortak noktayı paylaşmaya başladı.
Tüm bunların ötesinde ARM ve x86 Intel, mühendislik açısından belirgin şekilde farklı kalmaya ve kendilerine özgü güçlü ve zayıf yönlerini barındırmaya devam edecek. Bununla birlikte, mevcut ekosistemler her iki mimariyi de giderek daha fazla destekledikçe, iki mimari özelindeki tüketici kullanım grafikleri de belirginsizleşiyor. Yine de ARM ile x86 karşılaştırmasında ortak yönler olsa da öngörülebilir gelecekte akıllı telefon endüstrisi için tercih edilen mimarinin ARM olmaya devam edeceği kesin bir gerçektir.