Início→Hardware & Bileşenler
Hardware & Bileşenler

RISC-V için Derleyici Desteği: Araç Zincirlerinin Desteklediği Temel Mimari ve Uzantılar.

RISC-V açık kaynaklı bir buyruk kümesi mimarisi (BKM) olarak, telifsiz ve lisans ücreti gerektirmeden uygulanabilme özelliğiyle dikkat çekmektedir. Bu...

User Avatar
Kemal A.Editör
4 min de leitura
Yayın:
🌐
Idioma original exibido

Este artigo ainda não foi traduzido para o português. Você está vendo a versão original.

RISC-V açık kaynaklı bir buyruk kümesi mimarisi (BKM) olarak, telifsiz ve lisans ücreti gerektirmeden uygulanabilme özelliğiyle dikkat çekmektedir. Bu mimari, 2010 yılında Berkeley Üniversitesi’nde Krste Asanović önderliğinde başlatılmış ve 2015 yılında RISC-V Vakfı’nın kurulmasıyla resmi bir yönetim yapısına kavuşmuştur. Mimarinin temel tasarım felsefesi modülerliğe dayanır: sabit, küçük bir taban buyruk kümesine isteğe bağlı uzantılar eklenerek geniş bir yelpazeye uyulanabilir sistemler oluşturulabilir.

Araç Zincirleri ve Derleyici Desteği

GCC derleyici altyapısı, sürüm 7.1’den (2017) itibaren RISC-V desteğine sahiptir. LLVM/Clang da RISC-V hedefini destekler. Her iki araç zinciri de RV32 ve RV64 taban BKM’lerini ve yaygın uzantıları kapsar. Sistem programlama için Rust dili de RISC-V hedeflerini resmi olarak desteklemektedir. GNU ikili araçları (binutils) sürüm 2.28’den (2017) itibaren RISC-V için assembler ve bağlayıcı içerir.

SayarBilgi sitesini Google’da tercih edilen kaynak olarak seç

RISC-V ELF işlemciye özgü ABI şartnamesi (psABI), çağrı kurallarını, yeniden konumlandırma türlerini ve hata ayıklama bilgisi biçimini standartlaştırır. Bu standartlaşma, derleyiciler arası uyumluluğu sağlayan yazmaç adlandırma düzeniyle tamamlanır: ABI, her yazmaca işlevsel takma adlar atar — ra (dönüş adresi), sp (yığıt göstericisi), a0–a7 (argümanlar ve dönüş değerleri), s0–s11 (çağrı boyunca korunan yazmaçlar) ve t0–t6 (geçici yazmaçlar).

Derleyici Desteğinin Temel Aldığı Mimari Yapı

RISC-V, birbirinden bağımsız taban tamsayı BKM’lerinden oluşur. Her taban BKM, sabit bir sözcük genişliğini temel alır. RV32I, 32-bit tamsayılar için temel tamsayı BKM olup 47 temel buyruk içerir ve tek başına eksiksiz bir çalışma ortamı oluşturabilir. RV64I ise 64-bit tamsayılar ve 64-bit adres uzayı sunar, RV32I buyruklarına ek olarak 64-bit işlemler içerir. RV128I, 128-bit tamsayılar için taslak aşamasındaki bir uzantıdır; 2025 itibarıyla henüz onaylanmamıştır. RV32E ise gömülü sistemler için kısıtlanmış bir RV32I türevidir; yazmaç sayısı 32’den 16’ya indirilerek alan ve güç tasarrufu sağlar.

Temel tamsayı kümesi RV32I yaklaşık 40 buyruktan oluşur. Başlıca uzantılardan M (çarpma/bölme) 8, A (atomik) 11 ve C (sıkıştırılmış) yaklaşık 36 buyruk ekler. F ve D kayan nokta uzantılarının her biri yaklaşık yirmi altı buyruk getirir. Bu sayılar şartname sürümüne göre değişebilir.

Uzantı Sistemi ve Derleyici Hedefleri

RISC-V’in uzantı sistemi, hangi özelliklerin uygulanacağını seçme esnekliği sunar. Yaygın standart uzantılar arasında G harfi yaygın olarak kullanılan bir kısaltmadır: G = I + M + A + F + D + Zicsr + Zifencei bileşimini ifade eder ve “genel amaçlı” profili temsil eder. Dolayısıyla RV64GC; 64-bit tamsayı, çarpma/bölme, atomik, tek ve çift duyarlıklı kayan nokta, CSR ve sıkıştırılmış buyrukları bir arada sunan tipik bir Linux uyumlu platform tanımlar.

RISC-V bir yük-depola mimarisidir: aritmetik ve mantık işlemleri yalnızca yazmaçlar üzerinde gerçekleştirilir; belleğe erişim için ayrı yük (load) ve depola (store) buyruklarından yararlanılır. Bu yaklaşım işlemci boru hattı tasarımını basitleştirir ve derleyici optimizasyonlarına zemin hazırlar. Bellek adresleme, temel yazmaç artı 12-bit ofset biçinde yapılır. Varsayılan veri bayt sıralaması önce küçük (little-endian) olmakla birlikte çalışma ortamı büyük-endian veya çift-endian’ı da tanımlayabilir.

Profiller ve Yazılım Taşınabilirliği

Çok sayıda uzantının varlığı, uyumluluk testleri ve yazılım taşınabilirliği açısından karmaşıklık doğurabilir. Bu sorunu çözmek amacıyla RISC-V International, profil (profile) kavramını tanımlamıştır. Bir profil, belirli bir hedef kitleye yönelik zorunlu ve önerilen uzantıların derlenmiş bir kümesidir. RVA23 profili; 64-bit Linux uygulamaları için RV64GC tabanlı, vektör (V), bit işleme (B) ve hiper yönetici (H) uzantılarını temel alır ve masaüstü ile sunucu ekosistemi için yaygın bir referans noktası oluşturmaktadır. Profiller, parçalanma (fragmentation) riskini azaltarak yazılım ve donanım geliştiricilerine ortak bir hedef sunar.

Resmi Linux çekirdeği desteği sürüm 4.15 (2017) ile başlamış ve sonraki sürümlerde genişlemiştir. Linux ile birlikte RISC-V, masaüstü ve sunucu uygulamalarına yönelik yazılım taşınabilirliği konusunda hızla olgunlaşmıştır. Linux dağıtımları arasında Debian, riscv64 portunu Temmuz 2023’te resmi Debian deposuna taşımış; Debian 13 (Trixie) için bu mimari bir yayın mimarisine dönüşmüştür. Fedora projesi de RISC-V görüntülerini düzenli olarak güncellemektedir.

Öykünücüler ve Referans Simülatörler

Spike, RISC-V BKM’nin referans işlevsel simülatörüdür. Spike, BKM’nin tamamını destekler; M/S/U imtiyaz düzeyleri ile H hiper yönetici uzantısı dahil olmak üzere tüm onaylı uzantıları çalıştırabilir. Adını ABD’nin kıta çapı demiryolunun tamamlanmasını simgeleyen altın çividen almaktadır. QEMU ise RISC-V 32-bit ve 64-bit kullanıcı alanı ve sistem öykünmesini destekler. QEMU ile tam bir Linux sanal makinesi herhangi bir x86 veya ARM konağı üzerinde koşturulabilir; bu özellik, hedef donanım mevcut olmadan yazılım geliştirme süreçlerini kolaylaştırır.

Bu açıklama Vikipedi kaynaklarından uyarlanmıştır ve şu lisans altında sunulur: CC BY-SA 4.0.

İlginizi Çekebilir: RTOS Planlama Mimarisi: Öncelik Yönetimi ve Geri Dönüş Süresi →
Fonte: Vikipedi (Wikipedia) ↗
💻 SayarBilgi Topluluğu

Debata este desenvolvimento na Comunidade

Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.

💻 Hardware & Sistem Tavsiyesi Odası →
Perguntar / discutir no fórum
VOZ DA COMUNIDADE

A palavra é sua.

0 comentários

Compartilhe sua experiência, perguntas e contribuições. Seu e-mail não será publicado.

Participar da conversa

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

Seu comentário pode aguardar moderação antes de ser publicado.

PRÓXIMA LEITURA

Merak etmeye devam

Ver tudo ↗

O que você quer saber?

Digite pelo menos 3 caracteres.

Explorar

🌍 SELECIONAR IDIOMA 25 Idiomas
🔍