ScholarGate
Asistan

Komut Kümesi Uzantıları

Komut kümesi uzantıları, temel bir mimariye vektör ve SIMD matematiği, kriptografi, atomik işlemler veya diğer özel işler için yeni komutlar ekleyerek, mevcut yazılımlarla uyumluluğu korurken yeteneği genişletmektedir.

PaperMind ile konu bulYakındaMakale ve konu bul
Tools & resources
Slaytları indir
Learn & explore
VideoYakında

Tanım

Bir komut kümesi uzantısı, temel bir komut kümesi mimarisine katmanlanmış ek komutlar kümesidir ve genellikle veri-paralel, kriptografik veya atomik işlemler gibi yeni işlevsellik sağlamak amacıyla, mevcut komutları ve ikili uyumluluğu bozulmadan bırakırken kullanılmaktadır.

Kapsam

Bu konu, komut kümelerinin isteğe bağlı veya zorunlu uzantılar aracılığıyla zamanla nasıl büyüdüğünü ele almaktadır: veri paralelliği için SIMD ve vektör uzantıları, kriptografik ve bit manipülasyon komutları, atomik ve senkronizasyon ilkelleri ve RISC-V gibi ISA'ların modüler uzantı modeli. Bir ISA'yı uyumluluğu bozmadan genişletmenin hedeflerini ve kısıtlamalarını incelemektedir. Bu komutları yürüten temel paralel donanımı (SIMD ve vektör işlemcileri) ve temel kodlama şemasını (komut formatları ve kodlama) dışarıda bırakmaktadır.

Temel sorular

  • Komut kümeleri neden yeniden tasarlanmak yerine genişletilmektedir?
  • Uzantılar, mevcut kodu bozmadan sabit bir kodlama alanına nasıl sığdırılmaktadır?
  • Ne tür işlemler genellikle özel uzantıları haklı çıkarmaktadır?
  • Modüler bir uzantı modeli, uygulamaların yalnızca ihtiyaç duydukları özellikleri dahil etmesine nasıl olanak tanımaktadır?

Anahtar kavramlar

  • SIMD uzantıları
  • vektör uzantıları
  • kriptografik komutlar
  • atomik ve senkronizasyon komutları
  • modüler ve isteğe bağlı uzantılar
  • geriye dönük uyumluluk
  • opcode alanı yönetimi

Mekanizmalar

Uzantılar, daha önce kullanılmayan opcode alanını talep eder ve yeni komutlar, yazmaçlar veya durumu tanımlar. Yazılım, çalışma zamanında (örneğin özellik bayrakları aracılığıyla) mevcut uzantıları algılar ve optimize edilmiş kod yollarına yönlendirir. SIMD ve vektör uzantıları, geniş yazmaçlar ve birçok veri öğesine tek bir komut uygulayan işlemler eklerken; RISC-V gibi modüler ISA'lar, küçük bir temel ve uygulayıcıların bir araya getirdiği isteğe bağlı uzantılardan oluşan bir menüyü standartlaştırmaktadır.

Klinik önem

Uzantılar, komut kümelerinin yazılım ekosistemlerini terk etmeden yeni iş yüklerine ayak uydurma yöntemidir. x86 SSE/AVX ve ARM NEON gibi SIMD aileleri, multimedya, bilimsel ve makine öğrenimi çekirdeklerini hızlandırmaktadır; kriptografik uzantılar şifrelemeyi hızlandırmaktadır; ve modüler uzantılar, tek bir ISA'nın küçük mikrodenetleyicilerden süper bilgisayarlara kadar ölçeklenmesine olanak tanımaktadır.

Tarihçe

SIMD uzantıları, 1990'ların sonlarında Intel'in MMX ve SSE'si ve daha sonra AVX'i ile ARM'ın NEON'u ile ana akım CPU'lara girmiştir. Kriptografi ve daha yakın zamanda makine öğrenimi için özel uzantılar bunları takip etmiştir. Başlangıçtan itibaren minimal bir temel ve standartlaştırılmış isteğe bağlı uzantılar etrafında tasarlanan RISC-V ISA, modüler uzantı modelini açık ve merkezi hale getirmiştir.

Öne çıkan isimler

  • John L. Hennessy
  • David A. Patterson
  • Krste Asanović

İlgili konular

Temel eserler

  • hennessy2019
  • patterson2020

Sıkça sorulan sorular

Her işlemcinin sahip olmadığı bir uzantıyı programlar nasıl kullanır?
Yazılım, çalışma zamanında işlemcinin hangi uzantıları desteklediğini genellikle özellik bayraklarını sorgulayarak algılar ve uzantı mevcut olduğunda optimize edilmiş bir kod yolu seçer veya aksi takdirde temel komutlara geri döner, böylece donanımlar arasında doğruluğu korur.
RISC-V'nin modüler olması ne anlama gelmektedir?
RISC-V, küçük, zorunlu bir temel tamsayı komut kümesi ve standartlaştırılmış isteğe bağlı uzantılar (çarpma, atomik işlemler, kayan nokta, vektörler ve daha fazlası için) kümesi tanımlamaktadır. Bir uygulama yalnızca ihtiyaç duyduğu uzantıları içerir, bu nedenle aynı ISA, küçük gömülü çekirdeklerden yüksek performanslı işlemcilere kadar geniş bir yelpazeyi kapsamaktadır.

Bu kavram için yöntemler

İlgili kavramlar