ARM MİMARİSİ NEDİR ?

ARM mimarisi, gömülü sistemlere işi düşmüş veya yeni akıllı telefon araştırmasında olan herkesin hayatında en az bir kere duymuş olduğu bir kavramdır. Akıllı sistemler sayesinde bu kavramı gelecekte daha çok duyacağız. Peki ARM mimarisi nedir diyerek arama motorlarına koştuğunuzda karşınıza SoC’ler, indirgenmiş komut takımlı bilgisayarlar vs bir sürü yazıyla karşılaşacaksınız. Fakat bu yazılar öğrenciler veya işlemciler konusunda yeni arkadaşlar için oldukça fazla teknik terim içermektedir. Ben de bu yazımda ARM mimarisini elimden geldiğince en anlaşabilir bir şekilde anlatmaya çalıştım. Umarım yazımın sonunda ARM konusunda kafanızdaki soru işaretleri giderilmiş olur.

Öncelikle işlemcilerde mimari kavramı nedir oradan başlayalım. İşlemciler, bildiğiniz üzere bir elektronik sistemin esas beynini oluşturmaktadırlar. Tabii şimdinin teknolojisi ile birlikte yapabildikleri sınırlıdır ve bu sınırı belirleyen yazılımcının kod verileridir. Bu veriler çeşitli programlama dillerinle yazılıp farklı derleyiciler ile makine diline çevirilmektedirler. Çünkü işlemciler sadece makine dili ile işlem yapmaktadırlar ve makine yalnızca 1 ve 0’lardan oluşmaktadır. Mimari kısmının önemi bu aşamadan sonra önemli olmaktadır. Çünkü işlemciler bu verilerini nasıl işleyeceğine sahip oldukları mimarileri ile karar vermektedir. Çünkü temelde mimariler iki yapıdadırlar. Bir kısmı karmaşık yapılı olup zor işleri hızlı şekilde yapmak amacıyla dizayn edilmişlerdir. Bu mimarilere CISC yani türkçe açılımıyla karmaşık komut setli bilgisayar denilmektedir. Diğer kısmı ise daha çok enerji verimliliğine önem vermektedirler. Bu sebeple CISC mimarisine sahip işlemciler kadar çok yetenekli değillerdir. Bu işlemci mimarilerine ise RISC yani türkçe ismiyle indirgenmiş komut setli bilgisayar denilmektedir. Aslında iki mimari arasında o iyi bu iyi şeklinde ayrım yapamayız çünkü iki mimaride farklı alanlara hitap etmektedirler. Mesela dünyadaki bilgisayarların çok büyük bir oranı İntel’in x86 işlemcisiyle üretilmektedirler ve x86 CISC tabanlıdır ve Windows gibi ağır kod sistemlerini kolaylıkla çalıştırabilmektediler. Fakat bu kadar fazla yüklü işlemi yapmak için yüksek güce ihtiyaç duyarlar. Örnek vermek gerekirse İntel’in işlemcilerin TDP yani işlem yaptığı sıradaki ortalama güçleri 70 watt seviyesine kadar çıkabilmektedir. İşte bu sebeple bilgisayarlarımızda büyük güç kaynaklarına ihtiyaç duyarız. Fakat hepimizin kullandığı akıllı telefon veya tabletlerimizde durum farklıdır. Telefonlarımız için yüksek performanstan öte enerji verimliliği ön plandadır. Çünkü bilgisayarlara kıyasla oldukça küçük bataryalara sahiptirler ve iş yükleri bakımından bilgisayarlara kıyasla daha daha az işlem yaparlar. Bu sebeple bu tarz alanlarda ihtiyaç duyulan mimari seçimi RISC olacaktır. Çünkü RISC mimarisinde hızdan çok enerji verimliliği esas alındığı için TDP değeri oldukça düşüktür(5 watt — Snapdragon 865). Her iki mimari için kıyas tablosu aşağıdaki gibidir.

ARM Mimarisi

ARM mimarisi, RISC mimarisi kategorisinde olup isminin uzun açılımı Acorn RISC Machine şeklindedir. ARM firması aslında bir çip üreticisi değildir. Sadece üretici firmalara çip tasarımı satarlar. Akıllı telefon, minibilgisayar, gömülü sistemler gibi System-on-chip(SoC) cihazlarında kullanılırlar. System-on-chip ise işlemci, bellek, GPU gibi bileşenleri tek bir çip içerinde kulunduran sistemlere denilmektedir. Bu mimaride yazılan yazılımlar küçük farklar içerdiği için farklı çip üreticilerinin ürettiği ARM tabanlı çiplere taşınımı kolaydır. Yani ST firmasına ait çipe çalışan bir algoritmayı sadece register tanımlamalarını vs değiştirerek TI firmasının çipinde çalıştırmak mümkündür.

ARM mimarisinde 3 mimari profili vardır.

Bu üç farklı profilde bazı temel özellikleri paylaşmalarına rağmen ARM mimarisinin farklı alanlarda kullanımı kolaylaştırmaktadır.

Mimari vs Mikromimari

Bir sistemde mimari işlemcinin nasıl tasarlandığını ve çalışacağını söyleyemez. İşlemcinin bu özelliklerini bilmemiz için onun mikromimarisini (micro-architecture) bilmemiz gerekmektedir. Çünkü işlemcinin nasıl çalışacağına mikromimarisi karar verir. Mimari ve mikromimari arasındaki farklar belirgin derece fazladır. Bir işlemcide mimariyi ISA(instruction set architecture) olarak adlandırabiliriz. ISA yani türkçe ismiyle komut kümesi mimarisi yazılımın donanımda nasıl çalışacağı ile ilgilidir. Data tiplerinin, register’ların, ana hafıza yönetiminin ve sistemdeki giriş-çıkış modellerini ISA belirlemektedir. Mikromimari ise işlemcinin yazılımı nasıl işleyeceği hakkında bilgi vermektedir. Örneğin pipelining(birbirine bağlı olmayan işlemlerin aynı zamanda yapılması), pipeline sayısı, sistemin önbellek leveli ve büyüklüğü gibi kavramlar mikromimari ile ilgilidir. Bu sebeple aynı mimaride yazılmış yazılımlar farklı mikromimariye sahip işlemciler ile çalışabilmektedirler. Örneğin bilgisayarınıza Windows kurmak istediğinizde farklı mikromimarilerde Windows aramazsınız. Sadece mimari farkı olan bir Windows yazılımı vardır ve çeşitli farklı bilgisayarlarda çalışabilmektedir. Aksi olsaydı piyasada yüzlerce farklı mikromimari olduğu için yüzlerce farklı Windows kurulum dosyası olacaktı. Aslında kısaca söylemek gerekirse mimariler bir standartlık oluşturup kullanıcılar için kolaylık sağlamaktadırlar. Diğer bir örnekte ise Armv8-A mimarisine sahip Cortex-A53 ve Cortex-A72 mikromimarileri değişim olmadan aynı yazılımda çalışabilmektedir. Her iki mikromimari arasındaki farklar aşağıdaki tabloda gözükmektedir.

ARM Mimarisinin Geliştirilmesi

İlk olarak 1985 yılında ARM1 adıyla dünyanın ilk RISC işlemcisi olarak dünyaya duyurulan ARM mimarisi günümüze kadarki yıllarda gelişimini sürdürmüş ve hala sürdürmektedir. İlk sürümlerinden bu yana yarıiletken üretimindeki gelişmeler sayesinde ARM büyük gelişmeler kaydetmiştir. Aşağıdaki tabloda ARM mimarisinde versiyon 5’ten versiyon 8’e eklenen ve geliştirilen özellikler gösterilmiştir. Armv8-A mimari için önemli bir dönüm noktasıdır. Çünkü Armv7-A/R dahil ARM mimarisi hep 32 bit mimari yapısı üzerine kurulmuştu. Armv8-A 64 bit mimari olmasına rağmen 32 bit destekleyen çekirdeklere de sahiptir.

Teknolojinin gelişmesi ile birlikte elektronik cihazlarının fiziksel olarak küçülmesi, bataryalarının uzun süre dayanması ve verimlilik gibi ihtiyaçlar ARM mimarisini hala bir ihtiyaç ve en önemli teknolojik gelişme haline getirmiştir. Bu da gelecekte RISC tabanlı işlemcileri geleceğin efendisi yapacaktır. Hatta 2020 itibariyle dünyanın en büyük teknoloji firmalarından Apple, yeni üretim Macintosh bilgisayarlarında İntel’in işlemcilerinin yerine ARM tabanlı olup kendi tasarımları olan M1 CPU’ları kullanacaklarını açıklamıştır. 2021 itibariyle Apple M1 CPU’lar watt başı performans kıyaslamasında dünyanın en iyisidir ve 5 nm üretim teknolojisine sahiptir.

--

--

“Learn from yesterday, live for today, hope for tomorrow.”

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store