ARM Nedir?

ARM tabanlı işlemcilere olan talep ve ilgi giderek artıyor. Son 10 yılda bilhassa taşınabilir telefon pazarında değerli gelişmeler sağlanan ve kendini kanıtlayan ARM, bu muvaffakiyetini bilgisayar işlemcileriyle öbür bir boyuta taşımak istiyor. Apple’ın Mac atılımıyla yeni bir maceraya yelken açan ARM işlemcileri, sizler için ele alıyoruz.

ARM nedir?
ARM, basitçe tanımlamamız gerekirse markaların ve teknoloji şirketlerinin, kendi işlemcilerini oluşturabilmesi için, temel işlemci bileşenlerini tasarlayıp lisanslayan ve bu lisansı satan bir şirkettir. ARM şirketi, 64-bit ARM64 üzere komut setlerinin mimarileriyle birlikte, bu dizaynların asıl sahibidir. Şirketin temel mantığı, bu bileşenler için fikri mülkiyeti haklarını (IP) ve müşteri şirketlere verilen komut setlerini lisanslamaktır. Bu sayede, şirketlerin belli kurallar altında ARM’nin temel dizaynlarından yararlanarak, kendi işlemci dizaynlarını ortaya çıkarmalarını sağlamaktadır. Bir bakıma kendi işlemcileriyle sistemlerini kurmak isteyen müşteriler için, işin sıkıntı tarafını halletmektedir.
ARM şirketinin kendi çiplerini üretmediğini belirtelim. Ayrıyeten şirketin yeniden kendine ilişkin fabrikasyon tesisi de bulunmamakta. Bunun yerine bu haklar, ARM Holding’inin “partnerler” olarak isimlendirdiği öteki şirketlere lisans yoluyla veriliyor. ARM’nin mimari modelini bir tıp şablon olarak kullanan şirketler, merkezi işlemcileri olarak ARM çekirdeklerini kullanan sistemler inşa ediyor.
Yani ARM partnerlerinin kendi sistemlerinin geri kalanını tasarlamalarına müsaade veriliyor. Şirketler isterlerse bu sistemleri kendileri üretebilir ya da üretimlerini diğerlerine yaptırabilirler. Sonrasında da bu işlemcileri kendilerininmiş üzere satabilirler. Samsung ve Apple marka birçok akıllı telefon ve tabletin yanında, Qualcomm tarafından üretilen işlemcileri tüm aygıtlar, çeşitli ARM lisanslarını (fikri mülkiyet, IP) kullanır.

ARM tabanlı işlemci içeren her aygıt, kendi eşsiz dizaynına sahip olma eğilimindedir. Şirketler, üstteki görselde bulunan çok üniteli Qualcomm Snapdragon 845 taşınabilir işlemcisi üzere, yonga paketinin içine, işlemci çekirdekleri dışında kendi teknolojileri için de üniteler koyabilirler. Bu işlemciler bir noktada System on Chip (Yongada sistem, SoC) olarak da anılıyor.
ARM: Şirketlerin yeni odak noktası
Bilgisayar tarafında, bilhassa Ultrabook sınıfı aygıtlarda geçmişte ARM tabanlı eser denemeleri olsa da, birinci önemli adım Apple’dan gelmişti. Şirket, 2020’nin ortalarında maksatlarının Mac bilgisayar ailesini büsbütün ARM işlemcilere geçirmek olduğunu duyurmuş, bunun meyvesi olan 3 ARM işlemcili modeli ise 2020 yılının sonlarında kullanıcılarla buluşturmuştu.
Fakat kullanıcı pazarının dışında, ARM işlemcilere olan bir ilgi aslında vardı. Amazon, hatırı sayılır bir müddettir ARM tabanlı işlemcilerini kullanıyor ve bu işlemciler, önemli performans artışları sağlıyor. Microsoft’un da kendi ARM tabanlı işlemcilerini geliştirdiğine dair söylentiler olduğunu belirtmekte yarar var.
ARM, aslında taşınabilir aygıt pazarında X86 mimarili işlemcilere karşı ezici bir üstünlük kazanmıştı. Lakin ARM işlemcilerinin potansiyelinin, taşınabilir odaklı aygıtlarla sonlu kalmadığı vakitle mühendisler tarafından ortaya çıkarıldı. O denli ki ARM, mobilde X86’ya karşı var olan üstünlüğünü, masaüstü ve hatta sunucu bilgisayarlarında da koruyabilecek kapasiteye sahip.
Artan ARM ilgisi ve şirketlerin ARM’ye geçişi
İşlemci dünyası, karmaşık ve yüksek mühendislik gerektiren bir sanayidir. Birkaç büyük şirketten fakat birkaç büyük tasarım, üst seviye performans ve kuvvetli kullanım şartları için rekabet edebilir. Son 15 yıla baktığımızda, bu şartlarda rekabet edebilen ve ferdi kullanıcılar için işlemci üretip piyasaya süren iki şirket karşımıza çıkıyor: Intel ve AMD. Bu iki şirket, uzun müddettir kullanılan ve kesimde benimsenmiş, oturmuş, yüksek performans muhtaçlığına yanıt verebilen X86 işlemci mimarisini kullanıyor.

Lakin son vakitlerde, Apple ve Amazon’un ARM tabanlı işlemcileri, Intel ve AMD’nin X86 tabanlı işlemcilerine önemli biçimde meydan okumaya başladı. Bilhassa Apple’ın kendi ARM işlemcili Mac’lerini çıkarması ve bu Mac’lerin, evvelki kuşak Intel işlemcili Mac’lere nazaran önemli bir performans artışı sağlaması, ARM’nin hafife alınmaması gereken bir rakip olduğunu X86 cephesine gösterdi.
ARM, geçtiğimiz Ağustos ayında ABD Savunma Bakanlığı’nın DARPA ajansı ile ARM’nin teknoloji portföyüne erişim sağlayan bir iştirak muahedesi imzaladığını duyurdu. Bu da gösteriyor ki, ARM yalnızca bilgisayar pazarı için değil, savunma endüstrisi için de değerli bir aktör.
ARM tabanlı işlemcilerin daldaki örnekleri
Amazon, kendi ARM tabanlı Graviton2 işlemcisine sahip, Bu işlemci, birinci jenerasyonu olan Graviton1’in önemli manada düzgünleştirilmiş ve optimize edilmiş bir versiyonu. Evvelki kuşağa nazaran önemli manada performans artışı sağladı. Graviton2, Intel’in muadil işlemcilerinden performanslı değil. Lakin daha uygun maliyetli, daha az güç tüketen ve daha verimli bir yapıya sahip. Graviton1’den Graviton2’ye geçildiğinde elde edilen performans artışı göz önüne alındığında, Graviton3’ün daha da performanslı olacağını söyleyebiliriz. Intel, bu noktada daha güçlü lakin daha ucuz ve daha verimli rakiplerle baş etmek zorunda kalacak.
Apple, 2020’nin 4. çeyreğinde taşınabilir odaklı olmayan birinci ARM tabanlı işlemcisini piyasaya sürdü. Power Mac serisinden sonra Intel’e geçme kararı alan şirket, 2020 yılıyla birlikte tekrar kendi işlemcili bilgisayarlarını çıkartma kararı aldı. M1 ismi verilen yeni işlemciyi barından Mac modelleri, evvelki kuşak Intel işlemcili Mac modellerine nazaran önemli manada performans ve verimlilik artışı sağladı. O denli ki M1, X86 uygulamaları çalıştırabilmek için emülatör kullanmasına karşın, performans artışı sağlamayı başarabiliyordu.
ARM ve x86 Ortasındaki Fark Nedir?
Günlük bir kullanıcı için, ARM ve x86 ortasında çok fazla fark yoktur. İki mimariyle de Google Chrome’u ya da sevdiğiniz tarayıcıyı çalıştırabilir ve her ikisinde de YouTube’da sevdiğiniz görüntüleri izleyebilirsiniz. Aslında, çabucak hemen tüm Android ve iPhone telefonlar, ARM tabanlı bir işlemci kullandığından, bunu şu anda yapıyor olmanız muhtemel.
Birçok olağan kullanıcı için en büyük fark, x86 için tasarlanan eski uygulamaların, ARM üzerinde çalışması için tekrar derlenmesi gerekliliği. Kimi uygulamalar için bu süreç hayli kolay lakin birden fazla uygulama için, bilhassa de eski yazılımlar düşünüldüğünde, derleme süreci güç bir iş haline dönüşebiliyor. Lakin bu, önemli bir sorun değil. Çünkü hem geliştirici tarafında, hem de X86 ve ARM ortasında köprü olacak emülatörler tarafında önemli ve ağır çalışmalar yürütülüyor.
Geliştiriciler için, uygulamaların nasıl derlendiği konusunda pek çok farklılık bulunuyor. Fakat günümüzde, birçok derleyici ana komut setlerini destekleme konusunda güzel bir iş çıkarmakta ve bir yazılımı birden fazla platformda kullanmak hedefiyle derlemek için çok fazla değişiklik yapmanız gerekmemekte.
ARM ve x86 Ortasındaki Fark: Mühendislik
Pekala, nasıl oluyor da ARM işlemciler, X86 işlemcilerden daha süratli çalışıyor? Bu soruyu cevaplamak için, işlemcilerin nasıl çalıştığını daha da derinlemesine incelememiz gerekiyor.

ARM ve x86, temelde işlemcilerin desteklediği, mikro kod olarak isimlendirilen programlarının bir listesi olan komut setleridir. (Mimari olarak da bilinirler.) Bu nedenle, rastgele bir AMD yahut Intel işlemcide, bir Windows uygulaması çalıştırma konusunda endişelenmenize gerek kalmaz. Çünkü her ikisi de X86 mimarisine sahip işlemciler üretiyor ve işlemcilerin derinliklerindeki tasarım ideolojileri farklı olsa da, (veya farklı performans göstermelerine rağmen) ikisi de tıpkı komut setlerini destekliyor. Bu, X86 için derlenen rastgele bir programın genel olarak her iki işlemci ailesini de destekleyeceği manasındadır.
İşlemciler temelde, yapılacak misyonlar listesi verilen bir robot üzere süreçleri sıralı olarak yerine getirir. Her talimat bir süreç kodu olarak bilinir (opcode) ve X86 üzere mimarilerde çok sayıda süreç kodu bulunur, bilhassa de onlarca yıldır var oldukları düşünüldüğünde. Bu karmaşıklık nedeniyle x86, Karmaşık Komut Seti veya CISC olarak bilinir.
CISC ve RISC farkı
CISC mimarileri, ekseriyetle birçok süreci tek bir talimat müddetinde yerine getirme ideolojisini, tasarım yaklaşımı olarak kabul eder. (Superscalar) Örneğin, bir çarpım talimatı, dataları bir bellek adresinden bir kayıtçıya taşıyabilir, daha sonra çarpma için adımları gerçekleştirebilir ve sonuçları hafızada karıştırabilir. Bu süreçlerin tümü, tek bir talimata denk gelecek müddette yapılabilir, ünite vakitte birden fazla talimat gerçekleştirilir. (Superscalar)
Tekrar de bu talimat, işlemcinin yürüttüğü birçok “mikro işlem” olarak paketinden çıkarılır. CISC’nin yararı bellek kullanımıdır ve o günden bu yana, bellek kullanımında daha uygun bir alternatif çıkmadığından, CISC ideolojisi liderliğini korumuştu.

Lakin dikkat edilmesi gereken darboğaz sorunu artık belleklerde değil. RISC, tam da burada devreye giriyor. RISC yahut İndirgenmiş Komut Seti (Reduced Instruction Set), temelinde karmaşık ve çok kesimli talimatları ortadan kaldırır. Her komut çoğunlukla tek bir saat döngüsünde yürütülebilir, bunun sonucunda birçok uzun sürecin, işlemcinin yahut belleğin başka alanlarından gelecek sonuçları beklemesi gerekir.
Bu durum, geriye yanlışsız bir performans düşüşü üzere görünse de, işlemci tasarımı için büyük tesirleri bulunmakta. İşlemciler, tüm talimatlarını RAM’den almalı ve bunları olabildiğince süratli yürütmelidir. Anlaşılan o ki bunu yapmak, elinizde birçok kolay talimatınız olduğunda, elinizde birçok karmaşık talimatınız olduğu duruma nazaran çok daha kolay. Komut tamponu (instruction buffer) doldurulabildiğinde işlemci daha süratli çalışır ve komutlar daha küçük ve işlenmesi daha kolay olduğunda, bunu yapmak çok daha kolay hale gelir.

ARM’nin komut setleri hakkında küçük bir örnek için: Kolay ARM Assembly örnekleri
RISC ayrıyeten, Out-of-Order yürütme yahut OoOE ismi verilen bir teknolojinin avantajına da sahiptir. Esasen işlemcinin içinde, kendisine gelen talimatları tekrar düzenleyen ve optimize eden bir ünite vardır. Örneğin, bir uygulamanın iki şeyi hesaplaması gerekiyorsa ve bunlar birbirine bağlı değilse, işlemci her ikisini de paralel olarak yürütebilir. Paralel kod geliştiricilerin yazması için çok karmaşıktır, lakin işleri hızlandırmak için çoklu misyonlardan faydalanabilir. Apple M1 çipi de, mükemmel bir tesir için OoOE kullanıyor.
Özcesi, ağır bir biçimde özelleştirilmiş silikon, sıra dışı yürütme ve suratını desteklemek için çok daha fazla komut kod çözücüsü kullanır.
ARM x86’yı değiştirecek mi? Ya da büsbütün yerine geçebilir mi?

Dürüstçe yanıt vermemiz gerekirse, muhtemelen. Intel, yıllardır Moore yasasının sonunu hissediyor ve AMD de son yıllarda performans sıçramaları yapabilmesine karşın çok da ileride sayılmazlar.
Bu, x86’nın yakın vakitte öleceği manasına gelmez, lakin ARM’nin taşınabilir mimari olmaktan daha fazla potansiyele sahip olduğunu da açık bir halde gösterir. Aslında ARM’ye taşınabilir aygıt işlemcisi demek, endüstrinin mevcut istikameti göz önüne alındığında artık geçerli olmayan bir damgalamadan ibarettir. RISC mimarilerinin yararları açık ve Apple M1 çipinin halihazırda ne kadar geliştiği, ARM’nin dala katabilecekleri konusunda bizlere umut veriyor.
Ayrıyeten ARM, piyasadaki tek RISC mimarisi de değil. ARM, dizaynlarını Qualcomm, Samsung ve Apple üzere üçüncü taraf tasarımcılara lisanslasa da hala tescilli bir mimaridir. Bunun yanında RISC-V açık kaynaktır ve emsal biçimde umut vericidir. Kesin uygulamaları üreticiye bırakan, standartlaştırılmış bir komut seti mimarisidir. Dal genel olarak RISC’ye hakikat hareket ederse, açık ve kapalı kaynak uygulamaları mevcut olabilir. Bu da bize, daha da fazla işlemci seçeneği olarak dönecek.

İşlemciler açısından baktığımızda, Intel 8086‘dan sonraki en önemli ve bölümü baştan üst değiştirebilecek bir değişimin eşiğindeyiz. Apple’ın ARM ile başardıkları, ARM tabanlı işlemcilerin başarabilecekleri hakkında birçok umut uyandırdı. Bunun yanında RISC-V üzere açık kaynak komut setlerine artan ilgi ve herkesin işlemcisini üretebilir hale gelebilmesi, bizleri çok değişik ve hareketli bir geleceğin beklediğinin habercisi.
Yazı ve ARM – x86 savaşı hakkındaki görüşlerinizi yorumlarda belirtebilir, ARM ve RISC-V hakkındaki sorularınızı, fikirlerinizi Technopat Sosyal’de bizlerle paylaşabilirsiniz.
Gelecek x86’da mı yoksa RISC ve RISC-V’de mi? Bunu bize vakit gösterecek.
Kaynak: Technopat