CISC ve RISC arasındaki fark nedir?


cevap 1:

RISC genellikle kayıtlara / kayıtlardan “yük deposu” dır. Genellikle ADD R1 = R2 + R3 gibi üç kayıt kullanılır, yükleme ve depolama bir talimatta sadece iki kayıt ile istisna olabilir veya olmayabilir.

CISC genellikle bellek adreslerindeki değerlerle hesaplamaya izin verir, onları ilk olarak kayıtlara almanıza gerek kalmaz. Ayrıca, adres oluşturma için bir ila daha fazla kayıta izin veren daha fazla (karmaşık) adresleme modu da olabilir.

CISC genel olarak iki işlenendir, örneğin ADD hedef için kullanılan aynı kayıt (veya bellek adresine) sahiptir, fakat aynı zamanda kaynaklardan biri için de kullanılır.

Bu eskiden çok şeydi ve RISC kablolu ve mikro kod kullanan CISC.

Şimdi CISC için mikro mimarisi, en az x86 (kullanımda olan tüm CISC değilse, IBM ana hayatta kalan tek CISC anlamına gelir; mikrodenetleyiciler bir istisna olabilir), dışarıdan programlayabilen mikrooplara (mikro / RISC benzeri işlemler) yönelik talimatları ihlal eder -doğrudan farklı orijinal mikro kod.

RISC bunu bile yapabilir, örneğin daha yeni ARM (ilk başta yoktu), bu yüzden farklılıklar eskisinden daha az.

Orijinal ARM, kayan nokta için bile, çok karmaşık olduğu için tamsayı bölme talimatına sahip değildi. Artık RISC'de R için azaltılmış [karmaşıklık], kayan nokta doğal olarak karmaşık olduğundan ve tüm büyük RISC CPU'ları karekök ve trigonometri talimatlarını bile desteklediğinden daha az uygulanır.


cevap 2:

CISC, belirli bir talimat boyutundan mümkün olduğunca fazla iş yapmak için optimize edilmiştir. Bunun nedeni, CPU'ların o zamanlar önbelleğe sahip olmaması ve talimatların bellekten okunmasının birden fazla döngü gerektirmesidir, bu nedenle birçok durum değişikliğiyle karmaşık bir talimat, kompakt olduğu sürece sorun değildi.

RISC, * bir * komut talimatına sahip olan ve darboğazı değiştiren CPU'lar için optimize edilmiştir: önbellekler, hizalandığı sürece her döngüde kolayca 64 ve 128 bit veri verebilir. Aniden, bağımlılık olmadığı sürece döngü başına 1 veya hatta 2 talimat çalıştırabilirsiniz, bu yüzden sadece tek bir durum değişikliğine neden olan temiz talimatlar çok daha hızlı hale gelir.


cevap 3:

CISC, belirli bir talimat boyutundan mümkün olduğunca fazla iş yapmak için optimize edilmiştir. Bunun nedeni, CPU'ların o zamanlar önbelleğe sahip olmaması ve talimatların bellekten okunmasının birden fazla döngü gerektirmesidir, bu nedenle birçok durum değişikliğiyle karmaşık bir talimat, kompakt olduğu sürece sorun değildi.

RISC, * bir * komut talimatına sahip olan ve darboğazı değiştiren CPU'lar için optimize edilmiştir: önbellekler, hizalandığı sürece her döngüde kolayca 64 ve 128 bit veri verebilir. Aniden, bağımlılık olmadığı sürece döngü başına 1 veya hatta 2 talimat çalıştırabilirsiniz, bu yüzden sadece tek bir durum değişikliğine neden olan temiz talimatlar çok daha hızlı hale gelir.