RISC-V Komut Seti Mimarisi (ISA) Hakkında birkaç kelam…

Yazmakta olduğum kitabıma (şuanki ismi Raspberry Pi ile Linux ve Elektronik Uygulamaları) ARM ile ilgili birkaç kelam eklerken karşılaştığım açık kaynak işlemci komut seti mimarisi olan RISC-V hakkında bazı yorumlarımı ve bilgileri paylaşmak için bu kısa notu yazıyorum. Önce kitabıma ARM hakkında ne yazmıştım onu vereyim:

ARM bilinenin aksine bir işlemci üreticisi değildir, daha çok gömülü sistemler için düşük güç tüketimine sahip RISC mimarisinde çalışan işlemci tasarımları yapar. ARM limited şirketi bu tasarımlarını lisans ücretleri karşılığında çeşitli sistem çipi (SoC) üreticisi firmalara satar (örn: Qualcom, Broadcom, NXP vb.). 1980’lerin başından beri farklı üreticiler tarafından yüzlerce ARM tasarımlı işlemci ürelmiştir. Günümüzde kişisel bilgisayarların (PC) dışındaki sistemlerde (mobil ve gömülü sistemler) kullanılan işlemcilerin %98’i ARM tabanlıdır yani en basit tabiri ile ARM firmasının tasarladığı komut kümesi ile uyumludur. ARM tabanlı belli başlı işlemci/SoC üreticileri Apple, NVidia, Qualcom ve Samsung’dur.

RISC-V Açık Kaynak İşlemci Mimarisi

ARM’dan bahsetmişken RISC-V (Risk-Beş) adlı yeni işlemci mimarisinden ve onu hayata geçiren topluluktan da bahsetmeden geçmeyelim. ARM’ın RISC işlemci pazarında sahip olduğu hâkimiyet ve lisans sınırlamaları, tıpkı yazılım dünyasında olduğu gibi kendini açık kaynak bir işlemci tasarımında da göstermiştir. Yüzlerce organizasyonun ve şirketin desteği ile geliştirilen RISC-V, herhangi bir firmaya bağlı olmayan ortak akılla geliştirilen bir işlemci mimarisi ortaya koymayı amaçlıyor. Destekçileri arasında ASELSAN’ın da olduğu işlemci tasarımının ilk modelleri FPGA üzerinde üretilmiş durumda. RISC-V yaygın bir kullanım bulduğunda donanım fiyatlarının düşeceğini ve işlemci kullanan sistemlerin başarımlarının artacağını tahmin etmek hayalci olmaz. RISC-V gibi bir projenin neden var olduğundan bahsetmek gerekirse;


Bilinen her büyük işlemci üreticisi kendi tasarımlarını kullanmaktalar. Her firmaya özel tasarım, işlemciler arasında bir standardizasyonun oluşamamasına, bu da işlemci üreticilerine bağımlı platformların oluşturduğu sınırlılıkların kullanıcıların zararına (hem maliyet hem de nitelik olarak) olmasına neden oluyor. RISC-V projesinin çıkış nedenlerinden biri de; AMD ve Intel gibi üreticilerin işlemci geliştirirken komut çalıştırma biriminin haricindeki birçok birimle de uğraşmak zorunda oldukları. Örneğin işlemcinin içerisine dâhili olarak eklenen h.264 kod çözücü, şifreleme, sanallaştırma, ses ve görüntü işleme gibi modüller. Bu da işlemcilerin komut mimarisi ile ilgili birimlerine yeterince geliştirme çabası ayrılamamasına neden oluyor. RISC-V projesi amacına ulaştığında, komut mimarisi yönünden gelişmiş ve her zaman geliştirilmeye açık bir işlemci tasarımı ortaya çıkacak, hem işlemcilerin başarımı artacak hem de ortak bir işlemci komut setinde buluşulması sağlanacak.

İşlemcinin ortak akılla geliştirilmesinin sağlayacağı bir özellik de, çoğu kişi tarafından bir NSA arka kapısı olarak görülen ve işlemcinin tasarımından kaynaklı bir güvenlik zafiyeti olan meltdown ve specter zafiyetleri.

FPGA sistemler içerisindeki milyonlarca elektronik elemanı programcısının tasarladığı şekilde bağlantılayarak bir donanım üretilmesini sağlıyor. Tasarlanan şey bir elektronik donanım  olduğundan bir yazılımın yapabileceğinden çok daha yüksek hızda bu görevi donanımsal olarak yerine getiriyor. Bu FPGA sistemler tek seferlik bir kullanıma sahip değil üzerindeki tasarım temizlenerek yeni bir devre tasarlanabiliyor. FPGA’lerin oldukça yüksek hızlara çıktığı günümüzde RISC-V açık işlemci mimarisini kullanılarak herkesin kendi işlemcisini üretmesi mümkün olacak. Hatta bu işi sipariş üzerine yapan sifive adından bir firma da var. İlerde bir firmware update indirir gibi işlemcinizi daha hızlı bir işlemci ile değiştirebildiğinizi düşünün. Bunun internetten indirdiğiniz birkaç kb’lık bir dosya ile yapabileceksiniz.

Sun Micro Systems’ın buna benzer bir açık kaynak işlemci tasarımı vardı (SPARC) fakat daha sonra Oracle tarafından satın alındıktan sonra bu açık olma özelliği rafa kaldırıldı. Bu açıdan da dünyanın ortak akılla geliştirilen bir işlemci komut seti mimarisine (ISA) ihtiyacı var. Bu teknolojinin dolayısıyla insanlığın gelişiminin önündeki engellerden birini kaldıracaktır. Açık kaynak ve onu destekleyen topluluklar dünyamızı hergün daha güzel bir yer yapan işler çıkartıyorlar. Açık kaynak işlemci modelinde yeterince geç kalınmıştı.

Vakıf projenin tüm dökümanlarının ve kaynak kodlarını yayınladı fakat henüz bir ticari şirket gerçek anlamda bir CPU işine girişmedi. Şirketler uzun yıllar kullanılacak bir ürünün tam olarak oturmasını ve denenmesini beklerler. Ayrıca vakfın yönetmeliğine göre tasarım modelinde yapılacak değişiklikler vakıfa ücretli üye olan katılımcıların onayına tabi. Yani tasarımda bir değişiklik yapılacağında veya RISC-V uyumlu ticari bir ürende logo kullanmak gerektiğinde ASELSAN’ın da oy hakkı var.


RISC-V gibi tamamen açık kaynak bir ISA’nın geliştirilmesi ile birçok programatik ve donanımsal süreç tam bir şeffaflık kazanacak. ARM mimarisinin lisans ücretini ödeyerek satın alan bir işlemci üreticisi ARM ile çok ciddi yaptırımları olan lisans anlaşmaları yapılıyor. Mesela bu üretici ARM komut setinin detaylarını içeren dökümantasyonu kesinlikle dışarı çıkaramaz. Diğer taraftan, kapalı yürüyen bu işler sırasında, ARM yapacağı yenilikler veya iyileştirmeler hakkında kimse ile bir bilgi paylaşmıyor. Bu işlemci ve donanım üreticileri için geleceği görmek açısından çok can sıkıcı bir durum. RISC-V bu sözünü ettiğim duruma da çözüm sağlamış oluyor.

RISC-V’in geliştirmesi yapılırken 128bit’lik adresleme uzayı hedef alınarak çalışılıyor. İleride artan bellek miktarları için onu adresleyebilecek genişlikte bir adres yoluna ihtiyaç olacak. Henüz pratikte bu tarz konularla ilgili fazla deneyim yok ama 128bit dönemeci oldukça parlak bir gelecek vaad ediyor. 128bit ile 64bit arasındaki farkın tam olarak “18.446.744.073.709.551.616” (OnSekizKentilyon DörtYüzKırkAltıKatrilyon YediYüzKırkDörtTrilyon YetmişÜçMilyar YediYüzDokuzMilyon BeşYüzElliBirBin AltıYüzOnAltı) kat olduğu düşünülerse RISC-5 tasarımının ne derece gelecek vizyonu ile devam ettiği güzel anlaşılabilir.

Aslında RISC-V’den bahsederken tam olarak bir işlemciden bahsetmiyoruz. ISA (Instruction Set Artitecture) yani komut seti mimarisi, hangi komutların olacağını, özelliklerinin ne olacağını, girdileri çıktıları birbirleriyle programatik ilişkilerinden bahsediyoruz yani bir bilgisayar programının en küçük parçaları olan komutlar ve onları işlerlik kazandıran donanımsal tasarımdan. Mesela basit bir Mov komutu (iki hafıza konumu arasında kopyalama yapar) ARM veya Intel’de aynı şekilde işlemez. Donanım kısmında farklılıklar vardır. Komut daha da kompleksleştiğinde bu farklılıklar inanılmaz hale gelir. Bu nedenledirki donanım platformuna özel işletim sistemleri ve aynı şekilde programlar yazılması gerekir. Şuan GCC GNU derleme araçları içerisine RISC-V implemente edildi ama işlemci spesifik komutlar icra eden programlar için yapacak birşey yok, o spesifik kısımların RISC-5 modeline göre yeniden kodlanması gerekecek.

RISC-5 yazılımdan ve donanımdan bağımsız bir mimari öngörüyor. Bir arduino için yazdığınız kodun intel bir işlemcide doğrudan çalışabildiğini düşünün ya da bir Apple işlemcisinde çalışmak üzere derlenmiş bir kodun ARM işlemci üzerinde çalıştığını. Bu şekilde ta donanım tabanında ortaklaşmak hem işletim sistemleri hem de onların üzerinde koşan yazılımlar için esneklik getirecek ve hareket alanını genişletecek. Ticari üreticilerin kendi mikromimari ve teknoloji bağımlı özelliklerinin sınırlılığından kurtulunacak. Tabana yayılacak, Zeki Müren’in de bizi görmesi sağlanacak.

Donanım ve işletim sistemi üreticilerinin ticari ve lisanssal sınırlılıklar yüzünden başaramadığı standartlaşamama sorunu ortadan kalkarak tüm ortak aklın “sonuç işe” odaklanmasını sağlayacak. Donanımın apple, intel veya amd olması ya da işletim sisteminin windows, mac, Linux
vb gibi olması son kullanıcıyı çok ilgilendirmez. Son kullanıcı kullanmakta olduğu yazılımın işini hızlı ve düzgün yapmasını bekler. Yani işlemci tasarımındaki ortaklaşmayla donanım ve işletim sistemi platformları arasındaki farklar ortadan kalkacak tüm enerji son kullanıcının işine yarayan yazılımlara kayacak.

RISC-V tabanlı donanımlar üzerinde çalışan firmalardan birinin CEO’su ARM’ın günlerinin sayılı olduğunu ve ARM’a bu iş modeli ile giderse 5 yıl ömür biçiyorum gibi iddialı bir yorumda bulunmuş olması doğru yolda olunduğunun göstergesi. CEO, ARM’ın üretim politikalarının açık kaynak mimari ile karşılaştırıldığında sınırlı bir esnekliğe sahip olduğunu, zaman ve maliyet baskısı altındaki piyasaların lisens kuralları ile vakit kaybedemeyeceğini söylüyor.

https://www.sifive.com/boards

RISC-V komut seti mimarisini kullanan işlemci tasarımları üretildi. 64 bitlik Berkeley Sıra Dışı Makine (BOOM), 64 bitlik Roket, [20] Berkeley’den beş adet 32 ​​bitlik Sodor CPU tasarımını içeren, açık kaynaklı RISC-V işlemci tasarımları var. picorv32, Clifford Wolf, Syntacore’dan scr1, ETH Zürich / Bologna Üniversitesi’nden PULPino (Riscy ve Zero-Riscy) ve diğerleri. Üç aşamalı Sodor CPU, küçük bir gömülü CPU için uygun görünmektedir. Roket, kişisel cihazlar gibi kompakt, düşük güçlü ara bilgisayarlara uyabilir. BOOM, Rocket için oluşturulan altyapının çoğunu kullanır ve kişisel, süper bilgisayar ve depo ölçekli bilgisayarlar için kullanılabilir. Hem picorv hem de scr1, Verilog’da 32 bitlik mikrodenetleyici ünite (MCU) sınıfı RV32IMC uygulamalarıdır. PULPino’daki çekirdekler, mikro denetleyiciler (Zero-Riscy) için basit bir RV32IMC ISA veya gömülü sinyal işleme için özel DSP uzantıları olan daha güçlü bir RV32IMFC ISA uygular.

Son olarak komut seti mimarisi (ISA) açısından açık kaynak olunmasının sağladığı avantaj ve dez avantajların listelendiği şu tabloyu paylaşarak bitirmek istiyorum.

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.