David Patterson’ın RISC yaklaşımı ve donanım–yazılım ortak tasarımının performans başına watt’ı nasıl iyileştirdiğini, CPU tasarımını nasıl şekillendirdiğini ve RISC-V üzerindeki etkilerini keşfedin.

David Patterson genellikle “RISC öncüsü” olarak tanıtılır, fakat kalıcı etkisi tek bir CPU tasarımından daha geniştir. O, bilgisayarları pratik bir şekilde düşünmenin yolunu popülerleştirdi: performansı ölçülebilir, basitleştirilebilir ve uçtan uca iyileştirilebilir bir şey olarak ele almak—çipin anladığı komutlardan bu komutları üreten yazılım araçlarına kadar.
RISC (Reduced Instruction Set Computing), bir işlemcinin daha küçük, basit bir komut setine odaklandığında daha hızlı ve daha öngörülebilir çalışabileceği fikridir. Donanımda büyük ve karmaşık işlem menüleri oluşturmak yerine, yaygın işlemleri hızlı, düzenli ve boru hattına uygun hâle getirirsiniz. Ödül, “daha az yetenek” değil—genellikle basit yapı taşlarının verimli şekilde yürütülmesinin gerçek iş yüklerinde kazandırmasıdır.
Patterson ayrıca donanım–yazılım ortak tasarımını savundu: çip mimarları, derleyici yazarları ve sistem tasarımcılarının birlikte yinelemeler yaptığı bir geri besleme döngüsü.
Eğer bir işlemci basit desenleri iyi çalıştıracak şekilde tasarlanırsa, derleyiciler bu desenleri güvenilir biçimde üretebilir. Derleyiciler gerçek programların zamanını hangi işlemlere harcadığını ortaya koyarsa (örneğin bellek erişimi gibi), donanım bu durumları daha iyi idare edecek şekilde ayarlanabilir. Bu yüzden bir ISA (instruction set architecture) hakkındaki tartışmalar doğal olarak derleyici optimizasyonlarına, önbelleğe ve boru hattına bağlanır.
RISC fikirlerinin neden sadece ham hızla değil, performans başına watt ile nasıl ilişkilendiğini, “öngörülebilirliğin” modern CPU'ları ve mobil çipleri nasıl daha verimli kıldığını ve bu ilkelerin bugün cihazlarda—dizüstülerden bulut sunucularına kadar—nasıl göründüğünü göreceksiniz.
Eğer temel kavramların bir haritasını önceden görmek isterseniz, /blog/key-takeaways-and-next-steps kısmına atlayabilirsiniz.
Erken mikroişlemciler sıkı kısıtlar altında inşa edilmişti: çiplerde sınırlı devre alanı, pahalı bellek ve yavaş depolama vardı. Tasarımcılar uygun fiyatlı ve “yeterince hızlı” bilgisayarlar göndermeye çalışıyorlardı; çoğunlukla küçük önbellekler (veya hiç önbellek), mütevazı saat hızları ve yazılımın istediği ana belleğe kıyasla çok sınırlı ana bellekle.
O zamanlar yaygın bir fikir şuydu: CPU daha güçlü, yüksek seviyeli komutlar sunarsa—aynı anda birden çok adımı yapabilen komutlar—programlar daha hızlı çalışır ve yazılması daha kolay olur. Bir komut “birkaçının işini yapıyorsa”, düşünceye göre toplamda daha az komut gerekir, zaman ve bellek tasarrufu olur.
Bu pek çok CISC (complex instruction set computing) tasarımının arkasındaki sezgidir: programcılara ve derleyicilere çok sayıda süslü işlem veren büyük bir alet kutusu sunmak.
Sorun şuydu: gerçek programlar (ve onları çeviren derleyiciler) bu karmaşıklığı tutarlı şekilde kullanmıyordu. En gösterişli komutların çoğu nadiren kullanılırken, küçük bir basit işlem kümesi—veri yükleme, veri kaydetme, toplama, karşılaştırma, dallanma—sürekli ortaya çıkıyordu.
Aynı zamanda, geniş bir karmaşık komut menüsünü desteklemek, CPU'ları daha zor inşa edilebilir ve optimize edilmesi daha zor hâle getiriyordu. Karmaşıklık, sık yapılan ve sıradan işlemleri hızlı ve öngörülebilir yapmak için kullanılabilecek çip alanını ve tasarım çabasını tüketiyordu.
RISC buna cevap verdi: CPU'yu yazılımın çoğunlukla yaptığı şeye odakla, bu yolları hızlı hale getir—sonra derleyicilerin düzenli biçimde daha fazla “orkestrasyon” yapmasına izin ver.
CISC (Complex Instruction Set Computing) birçok özel, süslü araçla dolu bir atölye gibidir—her biri tek hamlede çok şey yapabilir. Tek bir “komut” bellekten veri yükleyebilir, hesaplama yapabilir ve sonucu kaydedebilir; hepsi bir paket içinde.
RISC (Reduced Instruction Set Computing) ise sürekli kullandığınız daha küçük, güvenilir bir alet seti taşımaya benzer—çekiç, tornavida, ölçü bandı—ve her şeyi tekrarlanabilir adımlardan inşa edersiniz. Her komut genellikle tek, net bir işi yapar.
Komutlar daha basit ve daha üniform olduğunda, CPU bunları daha temiz bir montaj hattında (boru hattında) yürütebilir. Bu montaj hattı tasarlaması daha kolaydır, daha yüksek saat hızlarında çalıştırması daha kolaydır ve hattı meşgul tutmak daha kolaydır.
CISC tarzı “çok iş yapan” komutlarla, CPU genellikle karmaşık bir komutu yine dahili olarak daha küçük adımlara ayırmak zorunda kalır. Bu, boru hattını düzgün akıtmaya engel olarak ek karmaşıklık katabilir.
RISC, öngörülebilir komut zamanlaması hedefler—birçok komut yaklaşık aynı süreyi alır. Öngörülebilirlik, CPU'nun işi verimli planlamasına yardımcı olur ve derleyicilerin boru hattını tıkamadan kod üretmesini kolaylaştırır.
RISC genellikle aynı görevi yapmak için daha fazla komut gerektirir. Bu şu anlamlara gelebilir:
Ancak her bir komut hızlıysa, boru hattı düzgün çalışıyorsa ve tasarım daha basitse, bu yine de iyi bir seçim olabilir.
Pratikte, iyi optimize edilmiş derleyiciler ve iyi önbellekleme “daha fazla komut” dezavantajını telafi edebilir—ve CPU, karmaşık komutları çözmekle uğraşmak yerine faydalı işi yapmak için daha fazla zaman harcar.
Berkeley RISC sadece yeni bir komut seti değildi. O bir araştırma tutumuydu: kağıt üzerinde zarif görünenle başlama—programların gerçekte ne yaptığını ölç, sonra CPU'yu o gerçeğe göre şekillendir.
Berkeley ekibinin kavramsal hedefi, çok hızlı ve öngörülebilir çalışacak kadar basit bir CPU çekirdeği yapmaktı. Donanımı bir sürü karmaşık “numara” ile doldurmak yerine, derleyicinin daha fazla işi yapmasına güvenmek—düzgün komutlar seçmek, onları iyi zamanlamak ve verileri mümkün olduğunca kayıtlarda tutmak.
Bu iş bölümü önemliydi. Daha küçük, temiz bir çekirdek boru hattına sokması daha kolay, üzerinde düşünmesi daha kolay ve transistor başına genellikle daha hızlıdır. Derleyici ise tüm programı gördüğü için donanımın anlık olarak kolayca yapamayacağı planlamaları yapabilir.
David Patterson ölçümü vurguladı çünkü bilgisayar tasarımı cazip mitlerle doludur—faydalı gibi görünen ama gerçek kodda nadiren ortaya çıkan özellikler. Berkeley RISC, darboğaz yollarını bulmak için benchmark'lar ve iş yükü izlerini kullanmayı teşvik etti: çalışmayı baskın kılan döngüler, fonksiyon çağrıları ve bellek erişimleri.
Bu doğrudan “sık görüleni hızlı yap” ilkesine bağlanır. Eğer komutların çoğu basit işlemler ve yükleme/kaydetme ise, bu sık durumları optimize etmek nadiren kullanılan karmaşık komutları hızlandırmaktan daha çok kazandırır.
Kalıcı ders şudur: RISC hem bir mimari hem de bir zihniyettir: sık yapılanı basitleştir, verilerle doğrula ve donanım ile yazılımı birlikte ayarlanabilen tek bir sistem olarak ele al.
Donanım–yazılım ortak tasarımı, bir CPU'yu izole halde tasarlamama fikridir. Çipi ve derleyiciyi (ve bazen işletim sistemini) birbirini dikkate alarak tasarlarsınız, böylece gerçek programlar hızlı ve verimli çalışır—sadece sentetik “en iyi durum” komut dizileri değil.
Ortak tasarım şöyle işler:
ISA seçimleri: ISA, CPU'nun neyi kolayca ifade edebileceğini belirler (örneğin, "load/store" bellek erişimi, çok sayıda kayıt, basit adresleme modları).
Derleyici stratejileri: Derleyici uyum sağlar—sıcak değişkenleri kayıtlarda tutar, durmaları önlemek için komutları yeniden sıraya koyar ve çağrı konvansiyonlarını seçerken maliyeti azaltır.
İş yükü sonuçları: Gerçek programları (derleyiciler, veritabanları, grafik, OS kodu) ölçersiniz ve zaman ile enerji nerede harcanıyor görürsünüz.
Sonraki tasarım: Bu ölçümlere dayanarak ISA ve mikro mimariyi (boru hattı derinliği, kayıt sayısı, önbellek boyutları) ayarlarsınız.
İşte ilişkinin altını çizen küçük bir C döngüsü:
for (int i = 0; i < n; i++)
sum += a[i];
RISC tarzı bir ISA'da, derleyici tipik olarak sum ve i'yi kayıtlarda tutar, a[i] için basit load komutları kullanır ve bir yük yolda iken CPU'nun meşgul kalması için komut planlaması yapar.
Eğer bir çip derleyicilerin nadiren kullandığı karmaşık komutlar veya özel donanım eklerse, o alan yine güç ve tasarım çabası tüketir. Bu arada derleyicilerin gerçekten güvenerek kullandığı “sıkıcı” şeyler—yeterli kayıt sayısı, öngörülebilir boru hattı, verimli çağrı düzenleri—yetersiz kaynak alabilir.
Patterson'ın RISC düşüncesi, gerçek yazılımın gerçekten fayda sağlayacağı yere silikon harcamayı vurguladı.
Bir ana RISC fikri, CPU'nun “montaj hattını” meşgul tutmayı kolaylaştırmaktı. Bu montaj hattı boru hattıdır (pipeline): bir komutu tamamen bitirmek yerine, işlemci işi aşamalara böler (getirme, çözme, yürütme, yazma) ve bunları üst üste bindirir. Her şey akışındaysa, döngü başına yaklaşık bir komut tamamlanır—tıpkı çok istasyonlu bir fabrikadan geçen arabalar gibi.
Boru hatları, hattaki her parça benzer olduğunda en iyi çalışır. RISC komutları nispeten üniform ve öngörülebilir olacak şekilde tasarlandı (çoğunlukla sabit uzunlukta, basit adresleme). Bu, özel durumları azaltır; bir komut ekstra zaman veya nadir kaynaklar gerektirdiğinde ortaya çıkan aksamaları en aza indirir.
Gerçek programlar mükemmelce akmaz. Bazen bir komut, önceki bir komutun sonucuna bağımlıdır (bir değeri üretilmeden kullanamazsınız). Bazen CPU, bellekten veri bekler veya bir dallanmanın hangi yolu alacağını henüz bilmez.
Bu durumlar duraklamalara (stalls) yol açar—boru hattının bir kısmının boşta kaldığı kısa duraklamalar. Sezgi basittir: sonraki aşama gerekli şey gelmediği için işe devam edemez.
İşte donanım–yazılım ortak tasarımının açıkça göründüğü yer. Donanım öngörülebilir olduğunda, derleyici yardımcı olabilir: anlamı değiştirmeden komut sırasını yeniden düzenleyerek "boşlukları" doldurur. Örneğin, bir değerin üretilmesini beklerken derleyici o değere bağımlı olmayan bağımsız bir komutu planlayabilir.
Kazanç paylaşılan bir sorumluluktur: CPU yaygın durumda daha basit ve hızlı kalır, derleyici ise daha fazla planlama yapar. Birlikte duraklamaları azaltır ve verimi artırırlar—çoğu zaman daha karmaşık bir komut setine ihtiyaç duymadan gerçek performansı iyileştirirler.
Bir CPU basit işlemleri birkaç döngüde yürütebilir, ama ana bellekten (DRAM) veri çekmek yüzlerce döngü sürebilir. Bu uçurumun nedeni DRAM'in fiziksel olarak daha uzakta olması, kapasite ve maliyet için optimize edilmesi ve gecikme ile bant genişliği sınırlamalarıdır.
CPU'lar hızlandıkça, bellek aynı oranda hızlanmadı—bu büyüyen uyumsuzluk sıklıkla bellek duvarı olarak adlandırılır.
Önbellekler, CPU'ya yakın yerleştirilmiş küçük, hızlı belleklerdir; her erişimde DRAM cezasını ödemekten kaçınmak için kullanılır. Gerçek programlar yerellik gösterdiği için çalışırlar:
Modern çipler önbellekleri (L1, L2, L3) yığarlar; amaç "çalışma kümesini" çekirdeğe yakın tutmaktır.
İşte donanım–yazılım ortak tasarımının fayda sağladığı yer. ISA ve derleyici birlikte bir programın ne kadar önbellek baskısı oluşturduğunu şekillendirir.
Günlük terimlerle, bellek duvarı yüzünden yüksek saat hızına sahip bir CPU hâlâ yavaş hissedebilir: büyük bir uygulama açmak, bir veritabanı sorgusu çalıştırmak, bir akışı kaydırmak veya büyük bir veri kümesini işlemek genellikle önbellek kaçırmaları ve bellek bant genişliği üzerinde tıkanır—ham aritmetik hızında değil.
Uzun süre CPU tartışmaları bir yarış gibiydi: hangi çip görevi en hızlı bitirirse “kazanır”. Ama gerçek bilgisayarlar fiziksel sınırlar içinde yaşar—pil kapasitesi, ısı, fan sesi ve elektrik faturaları.
Bu yüzden performans başına watt temel bir ölçüt haline geldi: harcanan enerji başına ne kadar faydalı iş alıyorsunuz.
Bunu zirve gücü değil, verimlilik olarak düşünün. İki işlemci günlük kullanımda benzer hız hissi verebilir, ama biri daha az güç harcayabilir, daha serin çalışabilir ve aynı pilde daha uzun süre dayabilir.
Dizüstüler ve telefonlarda bu pil ömrünü ve konforu doğrudan etkiler. Veri merkezlerinde ise binlerce makinenin güç ve soğutma maliyetini etkiler; ayrıca sunucuları ısıya dayanıklı paketleme yoğunluğunu etkiler.
RISC düşüncesi, donanımda daha az şeyi yapmaya ve bunu daha öngörülebilir yapmaya doğru tasarımları itti. Daha basit bir çekirdek birkaç nedenden ötürü enerji tasarrufu sağlayabilir:
Ama amaç “her zaman basit en iyidir” demek değil. Karmaşıklığın enerji maliyeti vardır ve iyi seçilmiş bir ISA ve mikro mimari biraz zekâyı büyük bir verimlilikle takas edebilir.
Telefonlar pil ve ısıyla ilgilenir; sunucular güç dağıtımı ve soğutmayla. Farklı ortamlar, aynı ders: en hızlı çip her zaman en iyi bilgisayar değildir. Kazananlar genellikle sabit verim sunan ve enerji kullanımını kontrol altında tutan tasarımlardır.
RISC genellikle “daha basit komutlar kazanır” şeklinde özetlenir, ama daha kalıcı ders daha incedir: komut seti önemlidir, ancak gerçek dünya kazançlarının çoğu ISA'dan çok çipin nasıl inşa edildiğinden gelir.
Erken RISC argümanları daha temiz, daha küçük bir ISA'nın otomatik olarak bilgisayarları hızlandıracağını ima ediyordu. Pratikte en büyük hızlanmalar çoğunlukla RISC'in kolaylaştırdığı uygulama seçimlerinden geldi: daha basit çözümleme, daha derin pipelining, daha yüksek saatler ve derleyicilerin daha öngörülebilir planlama yapabilmesi.
Bu yüzden farklı ISA'lara sahip iki CPU, mikro mimari, önbellek boyutları, dalga öngörücü ve üretim süreci farklıysa performans açısından birbirine şaşırtıcı derecede yakınlaşabilir. ISA kuralları koyar; mikro mimari oyun oynar.
Patterson dönemindeki önemli kayma, varsayımlar yerine veriye dayalı tasarımdı. Kullanışlı göründüğü için komut eklemek yerine, ekipler programların gerçekte ne yaptığını ölçüp sık görüleni optimize ettiler.
Bu zihniyet genellikle "özellik merkezli" tasarımdan üstün geldi; karmaşıklık faydadan daha hızlı büyüyordu. Ayrıca bir komutun birkaç satır kod tasarrufu sağlaması, ekstra döngü, güç veya çip alanı maliyeti getirebilir—ve bu maliyet her yerde görünür.
RISC düşüncesi sadece “RISC çipleri”ni şekillendirmedi. Zaman içinde birçok CISC CPU, uyumluluklarını korurken iç mimaride RISC benzeri teknikler benimsedi (örneğin karmaşık komutları daha basit iç işlemlere ayırmak).
Sonuç "RISC CISC'i yendi" değil; uygulamalar evrildi: ölçüm, öngörülebilirlik ve sıkı donanım–yazılım koordinasyonuna değer veren tasarımlar öne çıktı.
RISC laboratuvarda kalmadı. Erken araştırmadan modern uygulamaya uzanan net bir çizgi MIPS'ten RISC-V'ye kadar gider—her ikisi de sadeliği ve açıklığı bir özellik olarak sundu.
MIPS, öğretim amaçlı bir ISA olarak hatırlanır: kuralları anlatması kolaydır, komut formatları tutarlıdır ve temel load/store modeli derleyiciyi fazla zorlamaz.
Bu temizliğin akademik olmanın ötesinde etkileri vardı. MIPS işlemciler gerçek ürünlerde yıllarca kullanıldı (iş istasyonlarından gömülü sistemlere), çünkü sade ISA hızlı boru hattı, öngörülebilir derleyiciler ve verimli araç zincirleri oluşturmayı kolaylaştırdı. Donanım davranışı düzenliyse yazılım buna göre plan yapabilir.
RISC-V, MIPS'in hiç yapmadığı bir adımı attı: açık bir ISA olması. Bu teşvikleri değiştirir. Üniversiteler, girişimler ve büyük şirketler ISA'ya erişim pazarlığı yapmadan deneyebilir, silikon üretebilir ve araçları paylaşabilir.
Ortak tasarım için bu açıklık önemlidir çünkü "yazılım tarafı" (derleyiciler, işletim sistemleri, çalışma zamanları) donanım tarafıyla kamuya açık şekilde birlikte evrilebilir.
RISC-V'in ortak tasarıma uymasının bir diğer nedeni modüler yaklaşımıdır. Küçük bir temel ISA ile başlarsınız, sonra vektör matematiği, gömülü kısıtlar veya güvenlik özellikleri gibi özel ihtiyaçlar için uzantılar eklersiniz.
Bu, tek bir monolitik tasarıma her şeyi doldurmaktansa daha sağlıklı bir takas teşvik eder: ekipler donanım özelliklerini gerçekten çalıştırdıkları yazılımla hizalayabilir.
Daha derin bir giriş için /blog/what-is-risc-v kısmına bakabilirsiniz.
Ortak tasarım RISC döneminden kalan tarihi bir not değildir—modern hesaplama bu yolla daha hızlı ve verimli olmaya devam ediyor. Ana fikir hâlâ Patterson tarzı: donanımla yalnız başına veya yazılımla yalnız başına kazanılmaz. İkisi birbirinin güçlü ve kısıtlarını tamamladığında kazanırsınız.
Akıllı telefonlar ve birçok gömülü cihaz RISC ilkelerine güçlü şekilde dayanır (çoğunlukla ARM tabanlı): daha basit komutlar, öngörülebilir yürütme ve enerjiye vurgu.
Bu öngörülebilirlik derleyicilerin verimli kod üretmesine yardımcı olur ve tasarımcıların kayan akışta güç tüketimini düşük tutan ancak kamera boru hattı veya oyun için anlık patlama yapabilen çekirdekler tasarlamasını sağlar.
Dizüstü ve sunucular da giderek aynı hedefi izliyor—özellikle performans başına watt. ISA geleneksel olarak "RISC" olmasa bile, birçok iç tasarım tercihi RISC-benzeri verimlilik amaçlar: derin boru hattı, geniş yürütme ve gerçek yazılım davranışına göre agresif güç yönetimi.
GPU'lar, AI hızlandırıcıları (TPU/ NPU) ve medya motorları pratik bir ortak tasarım biçimidir: tüm işi genel amaçlı CPU üzerinden geçirmek yerine, platform ortak hesaplama desenlerine uyan donanım sağlar.
Bunu ortak tasarım yapan şey etrafındaki yazılım havuzudur:
Eğer yazılım hızlandırıcıyı hedeflemezse, teorik hız teorik olarak kalır.
Benzer özelliklere sahip iki platform farklı hissettirebilir çünkü "gerçek ürün" derleyiciler, kütüphaneler ve çerçeveleri de içerir. İyi optimize edilmiş bir matematik kütüphanesi (BLAS), iyi bir JIT veya daha akıllı bir derleyici, çipi değiştirmeden büyük kazanımlar sağlayabilir.
Bu yüzden modern CPU tasarımı sıklıkla benchmark odaklıdır: donanım ekipleri derleyiciler ve iş yüklerinin gerçekte ne yaptığını inceler, sonra sık görüleni hızlandırmak için önbellek, dalga öngörüsü, vektör komutları, prefetch gibi özellikleri ayarlar.
Bir platformu (telefon, dizüstü, sunucu veya gömülü kart) değerlendirirken ortak tasarım sinyallerine bakın:
Modern hesaplama ilerlemesi tek bir "daha hızlı CPU"dan çok, gerçek iş yüklerine göre ölçülüp tasarlanmış bütün bir donanım-artı-yazılım sistemi ile olur.
RISC düşüncesi ve Patterson'ın geniş mesajı birkaç kalıcı derse indirgenebilir: hızlı olması gerekeni basitleştir, gerçekte ne olduğunu ölç ve donanım ile yazılımı tek bir sistem olarak ele al—çünkü kullanıcı tümüyle deneyim yaşar, bileşenlerle değil.
İlk olarak, sadelik bir stratejidir, estetik değil. Temiz bir ISA ve öngörülebilir yürütme, derleyicilerin iyi kod üretmesini ve CPU'ların o kodu verimli çalıştırmasını kolaylaştırır.
İkincisi, ölçüm sezgiden üstündür. Temsilî iş yükleriyle benchmark yapın, profil verileri toplayın ve gerçek darboğazlar tasarım kararlarınıza rehberlik etsin—ister derleyici optimizasyonlarını ayarlıyor olun, ister bir CPU SKU'su seçiyor olun, ister kritik bir sıcak yolu yeniden tasarlıyor olun.
Üçüncü olarak, ortak tasarımda kazançlar yığılır. Boru hattı dostu kod, önbellek bilincine sahip veri yapıları ve gerçekçi performans-başa-watt hedefleri genellikle tepe teorik verimi kovalamaktan daha fazla pratik hız getirir.
Bir platform seçiyorsanız (x86, ARM veya RISC-V tabanlı sistemler), kullanıcılarınızın deneyimine göre değerlendirin:
Eğer işiniz bu ölçümleri gerçek ürüne çevirmekse, build–measure döngüsünü kısaltmak yardımcı olur. Örneğin ekipler Koder.ai'yi kullanarak sohbet tabanlı iş akışıyla gerçek uygulamaları prototipleştirir ve ardından her değişiklikten sonra aynı uçtan uca benchmark'ları yeniden çalıştırır. Planlama modu, anlık görüntüler ve geri alma özellikleri Patterson'ın savunduğu "ölç, sonra tasarla" disiplinini modern ürün geliştirmeye uygular.
Daha derin bir verimlilik rehberi için /blog/performance-per-watt-basics. Ortamları karşılaştırıyor ve maliyet/performans takaslarını tahmin etmeniz gerekiyorsa, /pricing yardımcı olabilir.
Kalıcı ders: sadelik, ölçüm ve ortak tasarım fikirleri, MIPS döneminin boru hatlarından modern heterojen çekirdeklere ve RISC-V gibi yeni ISA'lara kadar uygulamalar evrildikçe de kazandırmaya devam ediyor.
RISC (Reduced Instruction Set Computing), boru hattına sokulması ve optimize edilmesi kolay, küçük ve düzenli bir komut setine vurgu yapar. Ama amaç "daha az yetenek" değil; gerçekte programların en çok kullandığı işlemler (yükleme/kaydetme, aritmetik, dallanma) üzerinde daha öngörülebilir ve daha verimli yürütme sağlamak.
CISC birçok karmaşık ve özelleştirilmiş komut sunar; bazen birden çok adımı tek bir komutta paketler. RISC ise daha basit yapı taşları kullanır (çoğunlukla load/store + ALU işlemleri) ve bu blokların verimli biçimde birleştirilmesini derleyicilere bırakır. Modern CPU'larda sınır bulanıklaşmıştır çünkü birçok CISC çipi karmaşık komutları dahili olarak daha basit mikro işlemlere çevirir.
Daha basit ve daha üniform komutlar, yürütme için düzgün bir boru hattı (pipeline) kurmayı kolaylaştırır. Bu, döngü başına neredeyse bir komut tamamlanmasına yakın bir verimlilik sağlayabilir ve özel durumlarla uğraşma süresini azaltır; bu da hem performansı hem de enerji verimliliğini iyileştirebilir.
Öngörülebilir bir ISA ve yürütme modeli derleyicinin güvenle şunları yapmasına izin verir:
Bu, boru hattındaki boşlukları ve gereksiz çalışmayı azaltır; gerçek performansı iyileştirirken yazılıma kullanılmayacak karmaşık donanım özellikleri eklemeyi ortadan kaldırır.
Donanım–yazılım ortak tasarımı (co-design), ISA tercihleri, derleyici stratejileri ve gerçek dünya iş yüklerinin ölçülen sonuçlarının birbirini bilgilendirdiği yinelemeli bir döngüdür. CPU'yu tek başına tasarlamak yerine, donanım, araç zinciri ve bazen işletim sistemi birlikte uyumlu hâle getirilir; böylece gerçek programlar hızlı ve verimli çalışır.
Borulamanın devam edemediği durumlarda duraklamalar (stalls) olur. Bunların tipik nedenleri:
RISC tarzı öngörülebilirlik, hem donanımın hem de derleyicinin bu duraklamaların sıklığını ve maliyetini azaltmasına yardımcı olur.
“Bellek duvarı”, hızlı CPU yürütmesi ile yavaş ana bellek (DRAM) erişimi arasındaki büyüyen uçurumu ifade eder. Önbellekler (L1/L2/L3), temporal ve spatial yerellikten yararlanarak DRAM cezasını azaltır; yine de önbellek kaçırmaları sıklıkla çalışma zamanı üzerinde belirleyici olur ve çok hızlı çekirdeklerde bile performansın darboğazı haline gelebilir.
Bu, verimlilik metrikidir: harcanan enerji başına ne kadar faydalı iş alıyorsunuz. Pratikte pil ömrünü, ısıyı, fan sesini ve veri merkezlerinde enerji/soğutma maliyetlerini etkiler. RISC etkisindeki tasarımlar genellikle öngörülebilir yürütme ve daha az gereksiz anahtar değiştirme hedefler; bu da performans başına watt'ı iyileştirebilir.
Birçok CISC tasarımı, içsel olarak RISC benzeri teknikler (pipelining, daha basit mikro-işlemlerle ayrıştırma, önbellek ve öngörücü kullanımı) benimsemiştir ama ISA ile geriye uyumluluğu korumuştur. Uzun vadeli kazanım, "RISC'in CISC'i yendiği" basit bir hikâye değil; daha ziyade akılcı bir zihin yapısı—gerçek iş yüklerini ölçmek, sık görüleni optimize etmek ve donanım-yazılım uyumuna önem vermek—yaygınlaştı.
RISC-V, küçük bir temel ISA ve modüler uzantıları olan açık bir ISA olduğu için ortak tasarıma uygundur: donanım özelliklerini belirli yazılım ihtiyaçlarıyla hizalamak ve araç zincirlerini açıkça geliştirmek kolaylaşır. Bu, makalede anlatılan “basit çekirdek + güçlü araçlar + ölçüm” yaklaşımının modern bir devamıdır. Daha fazlası için /blog/what-is-risc-v kısmına bakabilirsiniz.