close

Azaltılmış komut seti hesaplama

Navigasyona git Aramaya git
Image
DEC Alpha AXP 21064, bir RISC mikroişlemci

Hesaplamalı mimaride , RISC (İngilizce Reduced Instruction S et C omputer'dan , İspanyolca Bilgisayarda bir dizi azaltılmış talimat içeren ) , genellikle aşağıdaki temel özelliklere sahip mikroişlemcilerde veya mikrodenetleyicilerde kullanılan bir CPU tasarımı türüdür : [ 1 ]

  1. Daha az sayıda formatta sunulan sabit boyutlu talimatlar .
  2. Yalnızca talimatları yükleyin ve saklayın, veri belleğine erişin.

Ek olarak, bu işlemciler genellikle birçok genel amaçlı kayıtlara sahiptir.

Bu mimariye sahip makineler tasarlamanın amacı, komutların yürütülmesinde segmentasyon ve paralellik sağlamak ve bellek erişimlerini azaltmaktır. RISC makineleri, mevcut mikroişlemci oluşturma eğilimine öncülük ediyor. PowerPC , [ 2 ] ​DEC Alpha , MIPS , ARM , SPARC bunlardan bazılarına örnektir.

RISC, yürütülmesi daha az zaman alan küçük, basit komut setlerini tercih eden bir bilgisayar CPU tasarım felsefesidir. Masaüstü bilgisayarlarda en yaygın kullanılan işlemci türü olan x86 , RISC yerine CISC'ye dayanır , ancak daha yeni sürümler CISC x86 tabanlı talimatları yürütmeden önce dahili kullanım için daha basit RISC tabanlı talimatlara dönüştürür.

Fikir, hızı artırmak için geleneksel CPU tasarımlarına dahil edilen birçok özelliğin, üzerlerinde çalışan programlar tarafından göz ardı edilmesinden ilham aldı. Ayrıca işlemcinin eriştiği bilgisayar belleğine göre hızı da giderek yükseliyordu . Bu, CPU içindeki işlemeyi azaltmak ve toplam bellek erişim sayısını azaltmak için çok sayıda tekniğin ortaya çıkmasına neden oldu.

Daha modern terminoloji, yük deposu mimarileri gibi tasarımları ifade eder .

RISC'den önceki tasarım felsefesi

Tüm işlemciler için temel tasarım ilkelerinden biri, bilgileri geçici olarak depolamak için çok hızlı bellek sağlayarak hız eklemektir, bu bellekler yazmaçlar olarak bilinir . Örneğin, her CPU iki sayı eklemek için bir komut içerir. Bir CPU'nun temel işlemi, bu iki sayıyı kayıtlara yüklemek, bunları bir araya getirmek ve sonucu başka bir kayıtta saklamak, son olarak son kayıttan sonucu almak ve ana belleğe geri döndürmek olacaktır.

Bununla birlikte, kayıtların uygulanması biraz karmaşık olma dezavantajına sahiptir. Her biri çip üzerinde transistörlerle temsil edilir , bu bakımdan ana bellek çok daha basit ve daha ucuz olma eğilimindedir. Ek olarak, kayıtlar kablolamaya karmaşıklık katar, çünkü merkezi işlem biriminin bunları eşit şekilde kullanabilmek için her bir kayda bağlanması gerekir.

Bunun bir sonucu olarak, birçok CPU tasarımı, kayıtların kullanımını bir şekilde sınırlar. Bazıları birkaç kayıt içerir, ancak bu hızlarını sınırlar. Diğerleri, karmaşıklığı azaltmak için günlüklerini belirli görevlere ayırır; örneğin, bir kayıt diğer kayıtlardan bir veya daha fazlasında işlem yapabilirken sonuç bunlardan herhangi birinde saklanabilir.

1970'lerdeki mikro bilgi işlem dünyasında, işlemciler o zamanlar çok yavaş olduğu için bu, CPU'ların bir başka yönüydü - aslında işlemcinin iletişim kurduğu bellekten daha yavaş olma eğilimi vardı. Bu durumlarda hemen hemen tüm kayıtları silmek ve ardından programcıya işini kolaylaştırmak için bellekle başa çıkmak için çok sayıda yol sağlamak mantıklıydı.

Ekleme örneği göz önüne alındığında, çoğu CPU tasarımı, tüm işi otomatik olarak yapabilen bir komut oluşturmaya odaklandı: eklenecek iki sayıyı çağırın, ekleyin ve ardından doğrudan saklayın. Başka bir sürüm, her iki sayıyı da bellekten okuyabilir, ancak sonucu bir kayıt defterinde saklayabilir. Başka bir sürüm, birini bellekten ve bir kayıttan okuyabilir ve tekrar bellekte saklayabilir. Ve benzeri.

O zamanki genel amaç, ortogonallik olarak bilinen bir ilke olan her talimat için mümkün olan her adresleme modunu sağlamaktı . Bu, karmaşık bir CPU'ya yol açtı, ancak teorik olarak olası her komutu ayrı ayrı yapılandırarak, tasarımı basit komutlar kullanan programcı yerine daha hızlı hale getirdi.

Bu tür tasarımın en son temsili , bir tarafta MOS 6502 ve diğer tarafta VAX olmak üzere iki cihazda görülebilir . 25$'lık 6502$'lık çip etkin bir şekilde yalnızca bir kayıt birimine sahipti ve bellek arayüzünün dikkatli bir şekilde yapılandırılmasıyla, daha yüksek hızlarda çalışan tasarımlardan ( 4MHz Zilog Z80 gibi) daha iyi performans gösterebildi. VAX, ilk kurulumda tek bir CPU için 3 dişli kabini gerektiren bir mini bilgisayardı ve desteklediği inanılmaz çeşitlilikteki bellek erişim stilleriyle ve bunların her birinin her talimat için mevcut olmasıyla dikkat çekiyordu.

RISC tasarım felsefesi

1970'lerin sonlarında, IBM'deki araştırmalar (ve başka yerlerdeki benzer projeler), bu ortogonal adresleme modlarının çoğunun çoğu program tarafından göz ardı edildiğini gösterdi. Bu, derleme dilinde yazmak yerine, programlar oluşturmak için derleyicilerin artan kullanımının bir yan etkisiydi . Derleyiciler, kullandıkları özellikler açısından çok aptal olma eğilimindeydiler, bu da onları küçültmeye çalışmanın bir yan etkisiydi. Piyasa, daha genelleştirilmiş derleyici kullanımına doğru ilerliyordu ve ortogonal modellerin kullanışlılığını daha da azaltıyordu.

Başka bir bulgu, bu işlemlerin nadiren kullanılması nedeniyle, aslında aynı şeyi yapan az sayıda işlemden daha yavaş olma eğiliminde olmalarıydı. Bu paradoks, CPU tasarlamak için harcanan zamanın bir yan etkisiydi, tasarımcıların her olası talimatı optimize etmek için zamanları yoktu ve bunun yerine yalnızca en çok kullanılanları optimize ettiler. Bunun ünlü bir örneği VAX INDEX, aynı kodu uygulayan bir döngüden daha yavaş yürütülen ifadeydi.

Aynı zamanda, CPU'lar iletişim kurdukları bellekten daha yüksek hızlarda çalışmaya başladı. 1970'lerin sonlarında bile, bu eşitsizliğin en azından önümüzdeki on yıl boyunca genişlemeye devam edeceği açıktı, bu sırada CPU'lar bellekten yüzlerce kat daha hızlı olabilirdi. Bu, herhangi bir adresleme modunu optimize etmedeki ilerlemelerin, yapıldıkları çok yavaş hızlardan tamamen daha ağır basacağı anlamına geliyordu.

RISC tasarımının bir başka kısmı, gerçek dünyadaki programların pratik ölçümlerinden geldi. Andrew Tanenbaum bunların çoğunu bir araya getirerek çoğu işlemcinin aşırı büyük olduğunu kanıtladı. Örneğin, bir programdaki tüm sabitlerin %98'inin, her CPU tasarımı onları depolamak için 8 bitin bazı katlarını, tipik olarak 8, 16 veya 32 olan bir tamsayı kelimesini ayırmasına rağmen, 13 bitte barındırılabileceğini gösterdi. Bu gerçeği göz önünde bulundurarak, bir makinenin, sabitlerin diğer talimatların kullanılmayan bitlerinde saklanmasına izin vermesi ve bellek erişimlerinin sayısını azaltması gerektiğini önerir. Numaraları bellekten veya kayıtlardan yüklemek yerine, CPU'nun ihtiyaç duyduğu anda orada olabilirler ve böylece süreç çok daha hızlı olurdu. Ancak bu, talimatın kendisinin çok küçük olmasını gerektiriyordu, aksi takdirde 32 bitte makul boyutta sabitleri tutmak için yeterli boş alan olmazdı.

Az sayıda kip ve komut, indirgenmiş komut kümesi terimini doğurmuştur . RISC tasarımları çok sayıda talimat setine sahip olduğundan, bu doğru bir tanım değildir. Gerçek fark, kayıtlardaki her şeyi yapma ve verileri onlara ve içlerine çağırma ve kaydetme felsefesidir. Bu yüzden bu düzen için daha doğru isim load-store'dur . Zamanla eski tasarım teknikleri, Karmaşık Komut Seti Bilgisayarı , CISC olarak bilinir hale geldi , ancak bu sadece onlara karşılaştırma amacıyla farklı bir isim vermekti.

Bu nedenle RISC felsefesi, az sayıda olduğunu ima eden küçük talimatlar oluşturmaktı, bu nedenle adı azaltılmış komut seti . Kod, aynı sonucu verecek tek bir karmaşık ifadeden ziyade bu basit ifadelerin bir dizisi olarak uygulandı. Bu, veri taşımak için talimat içinde daha fazla alana sahip olmayı mümkün kıldı, bu da bellekte daha az kayıt ihtiyacına neden oldu. Aynı zamanda, bellek ile arayüz oldukça basitti ve optimize edilmesine izin verdi.

Ancak, RISC'nin dezavantajları da vardı. En basit görevleri bile tamamlamak için bir dizi talimat gerektiğinden, bellekten okumak için toplam talimat sayısı daha fazladır ve bu nedenle daha uzun sürer. Aynı zamanda, bu sınırlamadan net bir performans kazancının nerede olacağı veya olmayacağı belli değildi ve basın ve tasarım dünyasında RISC konseptleri üzerinde neredeyse sürekli bir savaş vardı.

Çoklu görev

Mikro talimatların fazlalığı nedeniyle, bu mikroişlemciler için tasarlanan işletim sistemleri, bir mikroişlemciyi birkaç parçaya bölme yeteneğini tasarladı ve her bir örneği için gereksiz talimatların sayısını azalttı. Optimize edilmiş bir yazılım mimarisiyle, bu platformlar için geliştirilen görsel ortamlar, aynı saat döngüsünde birkaç görevi yürütme olasılığını düşündü. Benzer şekilde, RAM belleğinin sayfalaması dinamikti ve mikroişlemcinin gücü ile onun her örneğine ayrılmış RAM arasında bir tür 'ortak yaşam' ile her bir örneğe yeterli bir miktar atandı.

CISC mimarisinde çoklu görev, RISC'de olduğu gibi hiçbir zaman gerçek olmamıştı. CISC'de, tüm mikroişlemci, en azından mantıksal düzeyde, alt bölümlere ayırmanın mümkün olmadığı çok sayıda farklı ve karmaşık komutlar şeklinde tasarlanmıştır. Bu nedenle, çoklu görev belirgindir ve önceliklendirilir. Her saat döngüsü, RAM'de somutlaştırılan ve katılmayı bekleyen bir göreve katılmaya çalışır. İşlemci tarafından üretilen veriler için bir FIFO görev dikkat kuyruğu ve kullanıcı kesintileri için LIFO ile, kullanıcının sistemde tetiklediği görevleri önceliklendirmeye çalıştılar. Geleneksel bir CISC'de çoklu görevin görünümü, skaler veri modellerinden gelir, akışı farklı aşamalara sahip bir vektöre dönüştürür ve boru hattı teknolojisi oluşturur .

Hibrit olan mevcut mikroişlemciler, belirli bir miktarda gerçek çoklu göreve izin verir. Kullanıcıya yönelik son katman, geleneksel bir CISC gibidir, kullanıcının beklemede bıraktığı görevler, boşta kalma süresine bağlı olarak, sistem talimatları (yazılım bununla uyumlu olmalıdır) CISC'yi RISC'ye çevirecek ve yürütmeyi geçirecektir. kaynakların RISC felsefesi ile işlendiği düşük seviyedeki görev. Kullanıcının dikkat süresi nedeniyle yalnızca bir göreve katıldığı göz önüne alındığında, beklemede kalan ve CISC/RISC çeviri modeliyle uyumlu olmayan diğer görevler geleneksel ardışık düzen tarafından ilgilenilir hale gelir veya disk birleştirme, bilgi bütünlüğü kontrolleri, biçimlendirme, grafiksel görevler veya yoğun matematiksel hesaplama görevleri gibi düşük seviyeli görevlerdir.

Tek bir mikroişlemciyi alt bölümlere ayırmaya çalışmak yerine, birincisiyle aynı olan ikinci bir ikiz mikroişlemci dahil edildi. Dezavantajı, RAM'in donanım düzeyinde ele alınması gerekmesi ve tek işlemcili platformlar için tasarlanan modüllerin, çok işlemcili platformlarla uyumlu veya aynı verimliliğe sahip olmamasıdır. Diğer bir dezavantaj, BYTE kelimesinin parçalanmasıydı. Geleneksel bir RISC'de, BYTES şu şekilde kullanılır: Word 32 BITS ise (4 BYTES 8 BITS word veya 16'dan ikisi veya 32'den biri), taşınan verinin derinliğine bağlı olarak, aynı BYTE, diğer talimatların ve verilerin bölümleri dahil edildi. Artık iki farklı mikroişlemci olduğundan, her ikisi de kendi bellek erişimleriyle bağımsız kayıtlar kullanıyordu (bu platformlarda işlemci başına RAM oranı 1/1'dir). Kökenlerinde çözümler tipik duvar ustalarının çiplerine benziyordu, her anakartta yalnızca kullanılan çip seti ve beraberindeki sürücüler tarafından onaylanan bir çözüm vardı. Parçalanma her zaman kulakta vızıldayan sivrisinek gibi olmasına rağmen, tembellikten bizi ısırmasına izin verdiğimiz bir zaman geldi, bu vızıltıdan kaçınmanın imkansız olduğu bir zaman geldi. Bu sefer 64 BIT platformları ile geldi.

Tarih

RISC tasarım felsefesi şekillenirken, tek bir hedefle yeni fikirler ortaya çıkmaya başladı: CPU performansını önemli ölçüde artırmak.

1980'lerin başında mevcut tasarımların teorik sınırlarına ulaştığı düşünülüyordu. Gelecekteki hız iyileştirmeleri, geliştirilmiş süreçlere , yani çip üzerindeki küçük özelliklere dayalı olarak yapılacaktır. Çipin karmaşıklığı eskisi gibi devam edebilir, ancak daha küçük bir boyut, daha yüksek saat hızlarında çalışırken daha iyi çip performansıyla sonuçlanabilir. Yerleşik iletişim bağlantıları ile paralel hesaplama için çipler tasarlamak için çok çaba sarf edildi . Çipleri daha hızlı yapmak yerine, sorunu aralarında bölerek çok sayıda çip kullanılacaktı. Ancak tarih, bu korkuların gerçekleşmediğini ve 1980'lerin sonlarında performansı önemli ölçüde artıran bir dizi fikir olduğunu gösterdi.

Bir fikir, talimatların adımlara bölünebileceği ve her adımda aynı anda birçok farklı talimatın üzerinde çalışılabileceği bir boru hattı eklemekti. Normal bir işlemci bir talimatı okuyabilir, kodunu çözebilir, kaynak talimatı belleğe aktarabilir, işlemi gerçekleştirebilir ve ardından sonuçları çıkarabilir. İşlem hattının anahtarı, işlemcinin son talimat yapılır yapılmaz bir sonraki talimatı okumaya başlayabilmesidir, yani şimdi iki talimat çalışıyor (biri okunuyor, diğerinin kodu çözülmeye başlıyor) ve bir sonraki döngüde üç talimat olacak. Tek bir talimat daha hızlı tamamlanmazken, bir sonraki talimat hemen tamamlanacaktı. İllüzyon çok daha hızlı bir sistemdi. Bu teknik bugün kanal segmentasyonu olarak bilinir .

Yine bir başka çözüm, işlemci içinde birden çok işlem öğesi kullanmak ve bunları paralel olarak yürütmekti. Bu süperskalar işlemciler, iki sayı eklemek için bir talimat üzerinde çalışmak yerine, ardışık düzendeki bir sonraki talimatı görebilir ve aynı anda aynı birimde yürütmeye çalışabilirler. Bununla birlikte, bazı talimatlar diğer talimatların sonucuna bağlı olduğundan, bunu yapmak çok kolay değildi.

Her iki teknik de, üzerinde yürütülen talimatların aksine, CPU'nun temel tasarımına karmaşıklık ekleyerek hızı artırmaya dayanıyordu. Çip üzerindeki alan sonlu bir miktar olduğundan, tüm bu özellikleri içermek için yer açmak için başka bir şeyin çıkarılması gerekir. RISC bu tekniklerden yararlanmayı kendine görev edindi çünkü CPU mantığı CISC tasarımlarından çok daha basitti. Bununla bile, erken RISC tasarımları çok az performans artışı sağladı, ancak yeni özellikler ekleyebildiler ve 1980'lerin sonunda CISC muadillerini tamamen geride bıraktılar. Sonunda bu, tüm bunların CISC tasarımlarına eklenebileceği ve hala tek bir çipe sığabileceği noktaya kadar bir süreç iyileştirmesi olarak ele alınabilir, ancak bu, 1980'lerin sonunda ve 1980'lerin başında neredeyse on yıl sürdü. doksan.

Özellikler

Özetle bu, herhangi bir performans seviyesi için, bir RISC yongasının tipik olarak ana mantığa ayrılmış daha az transistöre sahip olacağı anlamına gelir. Bu, tasarımcılara önemli ölçüde esneklik sağlar; örneğin şunları yapabilirler:

  • Kayıt kümesinin boyutunu artırın.
  • Talimatların yürütülmesinde daha yüksek hız.
  • İç paralelliği artırmak için önlemler uygulayın.
  • Büyük önbellekler ekleyin.
  • Mini denetleyiciler için G/Ç ve saatler gibi başka işlevler ekleyin.
  • Çipleri, aksi takdirde kullanılamaz olacak eski üretim hatlarına inşa etmek.
  • İşlevleri genişletmeyin ve bu nedenle çipi düşük güç tüketimi veya sınırlı boyuta sahip uygulamalar için sunun.

RISC tasarımlarında genel olarak bulunan özellikler şunlardır:

  • Talimatların tek tip kodlanması (örnek: işlem kodu , her komutta her zaman aynı konumdadır, bu her zaman bir kelimedir), bu da daha hızlı kod çözmeye olanak tanır.
  • Herhangi bir kaydın herhangi bir bağlamda kullanılmasına izin veren ve böylece derleyici tasarımını basitleştiren homojen bir kayıt kümesi ( tamsayı ve kayan nokta kayıt dosyalarını ayırmanın birçok yolu olmasına rağmen ).
  • Basit aritmetik komut dizileri ile değiştirilen daha karmaşık modlara sahip basit adresleme modları.
  • Donanımda desteklenen veri türleri (örneğin, bazı CISC makinelerinde byte , string türleri ile ilgili talimatlar bulunur) bir RISC makinesinde bulunmaz.

RISC tasarımları ayrıca komut kümeleri ve veri kümelerinin kavramsal olarak ayrı olduğu bir Harvard bellek modeline sahip olmayı tercih eder; bu, kodun bulunduğu adreslerin değiştirilmesinin, işlemci tarafından yürütülen talimatlar üzerinde herhangi bir etkisi olmayabileceği anlamına gelir (çünkü CPU'nun ayrı bir talimatı ve veri önbelleği vardır , en azından özel bir senkronizasyon talimatı kullanılırken). Öte yandan, bu, her iki önbelleğe ayrı ayrı erişilmesine izin verir, bu da bazen performansı artırabilir.

Daha önceki RISC tasarımlarının çoğu aynı zamanda pek de hoş olmayan bir özelliği, Gecikme Yuvasını paylaştı . Gecikmeli atlama yuvası, atlamadan hemen sonra bir talimat alanıdır. Bu alandaki komut, atlamanın gerçekleşip gerçekleşmediğine bakılmaksızın yürütülür (diğer bir deyişle, atlama ertelenir). Bu talimat, CPU'nun ALU'sunu normalde bir boşluk yürütmek için gereken fazladan zaman için meşgul tutar. Bunu kullanmak için, kodun bu özellikle yürütülmesi için tutarlı olması için ifadeleri yeniden sıralamak derleyicinin sorumluluğundadır. Günümüzde gecikmeli atlama yuvası, bazı RISC tasarımlarının uygulanmasına yönelik belirli stratejinin talihsiz bir yan etkisi olarak kabul edilmektedir. Bu nedenle ARM , PowerPC ve SPARC ve MIPS'in daha yeni sürümleri gibi modern RISC tasarımları genellikle bu özelliği kaldırır.

Erken RISC tasarımları

Image
Bir CDC 6600 ana bilgisayar sistem konsolu

Bugün RISC olarak kabul edilebilecek ilk sistem o günlerde böyle değildi; 1964'te Seymour Cray tarafından tasarlanan CDC 6600 süper bilgisayarıydı .

Cray, onu büyük ölçekli hesaplamalar için bir CPU olarak tasarladı ( 8086 400'e kıyasla 74 kod ve ayrıca G/Ç işlemlerini yürütmek için 12 basit bilgisayar (işletim sisteminin çoğu bunlardan birindeydi).

CDC 6600, yalnızca iki adresleme moduna sahip bir yükleme/depolama mimarisine sahipti. Aritmetik ve mantık için on bir işlevsel boru hattı birimi, artı beş yük birimi ve iki depolama birimi (belleğin birden fazla bankası vardı, böylece tüm yükleme/depolama birimleri aynı anda çalışabiliyordu). Döngü/talimat başına ortalama işlem seviyesi, bellek erişim süresinden 10 kat daha hızlıydı.

Ancak en çok duyurulan RISC tasarımları, üniversite araştırma programlarının sonuçlarının DARPA VLSI programından sağlanan fonlarla yürütüldüğü tasarımlardı . Bugün neredeyse bilinmeyen VLSI programı, çip tasarımında, üretiminde ve hatta bilgisayar destekli grafiklerde bir dizi ilerlemeye yol açtı.

En eski yükleme/depolama makinelerinden biri, 1968'de Edson de Castro tarafından tasarlanan Data General Nova mini bilgisayarıydı. Günümüzün ARM işlemcilerindekine çok benzeyen neredeyse saf bir RISC komut seti vardı, ancak bu makineler 1950'lerde Cambridge Üniversitesi Bilgisayar Laboratuvarı'nda kullanılmasına rağmen ARM tasarımcılarını etkilediği belirtilmedi. .

UC Berkeley RISC projesi , 1980'de David A. Patterson'ın yönetiminde , ardışık düzen kullanımı ve kayıt pencereleri olarak bilinen kayıtların agresif kullanımı yoluyla performans kazanmaya dayalı olarak başladı . Az sayıda kaydı olan normal bir CPU ile, bir program herhangi bir zamanda herhangi bir kaydı kullanabilir. Kayıt pencereleri olan bir CPU'da çok sayıda kayıt vardır (RISC-I'de 138), ancak herhangi bir zamanda programlar tarafından yalnızca az sayıda (RISC-I'de 32) kullanılabilir.

Benzer şekilde prosedür başına 32 kayıtla sınırlı bir program çok hızlı prosedür çağrıları yapabilir: çağrı ve dönüş, alt program için yeterli çalışma alanını temizlemek için mevcut 32 kayıt penceresini hareket ettirin ve dönüş bu değerleri sıfırlar .

RISC projesi 1982'de RISC-I işlemcisini teslim etti. Yalnızca 44.420 transistörden oluşuyordu (o zamanki CISC tasarımında yaklaşık 100.000 ortalamaya kıyasla) RISC-I'nin yalnızca 32 talimatı vardı, ancak diğer tüm işlemcilerden daha iyi performans gösterdi. . Bu eğilim devam etti ve 1983'te RISC-II, 40.760 transistöre ve RISC-I'den 3 kat daha hızlı yürüttüğü 39 komuta sahipti.

Aynı zamanda, 1981'de Stanford Üniversitesi'nde John Hennessy tarafından MIPS adlı benzer bir proje başlatıldı . MIPS neredeyse tamamen segmentasyona odaklandı ve mümkün olduğunca dolu çalıştığından emin oldu . Ardışık düzen diğer tasarımlarda zaten kullanılmış olsa da, MIPS yongasının bazı özellikleri boru hatlarını çok daha hızlı hale getirdi. Bu özelliklerden en önemlisi ve belki de can sıkıcı olanı, tüm talimatların tek bir döngüde tamamlanabilmesi gerekliliğiydi. Bu gereklilik, kanalın daha yüksek hızlarda yürütülmesine izin verdi (uyarılmış gecikmelere gerek yoktu) ve işlemci hızının çoğundan sorumludur. Bununla birlikte, çarpma veya bölme gibi potansiyel olarak kullanılabilir talimatların çoğunu kaldırarak olumsuz bir yan etkisi de vardı.

RISC konseptine dayalı bir CPU yapmak için ilk girişim , önceki iki projeden önce 1975'te başlayan IBM'de yapıldı. RAN projesi olarak adlandırılan çalışma , IBM bilgisayarlarında yaygın olarak kullanılan IBM 801 işlemci ailesinin yaratılmasına yol açtı . 801, en sonunda 1981'de, Araştırma Ofisi Ürünleri Bölümü Mini İşlemci'nin kısaltması olan ROMP olarak bir çip biçiminde üretildi . Adından da anlaşılacağı gibi, bu CPU küçük görevler için tasarlandı ve IBM , 1986'da IBM RT-PC'yi temel alan tasarımı piyasaya sürdüğünde , performans kabul edilebilir değildi. Buna rağmen, 801, IBM içinde, sonunda IBM POWER sistemine yol açacak bazı yeni projeler de dahil olmak üzere, çeşitli araştırma projelerine ilham verdi .

İlk yıllarda, tüm RISC çabaları iyi biliniyordu, ancak büyük ölçüde onları oluşturan üniversite laboratuvarlarıyla sınırlıydı. Berkeley çabası o kadar iyi tanındı ki, sonunda tüm projenin adı haline geldi. Bilgisayar endüstrisindeki birçok kişi, çoklu talimatların bellek verimliliği nedeniyle performans faydalarının gerçek dünyadaki sonuçlara çevrilemeyeceğini ve kimsenin bunları kullanmamasının nedeni olduğunu eleştirdi. Ancak 1986'dan başlayarak , tüm RISC araştırma projeleri ürün sunmaya başladı. Aslında, neredeyse tüm modern RISC işlemcileri, RISC-II tasarımının doğrudan kopyalarıdır.

Modern RISC

Berkeley'in araştırması doğrudan ticarileştirilmedi, ancak RISC-II tasarımı Sun Microsystems tarafından SPARC'ı geliştirmek için , Pyramid Technology tarafından orta sınıf çok işlemcili makinelerini geliştirmek için ve birkaç yıl sonra hemen hemen her şirket tarafından kullanıldı. RISC'nin faydalarının gerçek olduğunu kanıtlayan yeni makinelerde RISC by SUN'un çipinin kullanılmasıydı ve makineleri hızla rekabeti boşa çıkardı ve esasen tüm iş istasyonu pazarını ele geçirdi .

John Hennessy, MIPS tasarımını ticarileştirmek için Stanford'dan ayrıldı ve MIPS Computer Systems Inc olarak bilinen bir şirket kurdu . İlk tasarımı, R2000 olarak bilinen ikinci nesil MIPS-II yongasıydı . MIPS tasarımları Nintendo 64 ve PlayStation oyun konsollarına dahil edildiğinde en çok kullanılan çiplerden biri haline geldi . Bugün, Silicon Graphics tarafından üst düzey uygulamalarda en yaygın kullanılan gömülü işlemcilerden biridir .

IBM, RT-PC'nin başarısızlığından ders çıkardı ve o zamanki yeni IBM POWER mimarisine dayalı olarak RS/6000'i tasarlamaya devam etmek zorunda kaldı . Böylece S/370 ana bilgisayarlarını IBM POWER tabanlı yongalara taşıdılar ve çok karmaşık komut setinin bile ( 1964'ten beri S/360'ın bir parçası olan ) önemli ölçüde daha hızlı çalıştığını görünce şaşırdılar . Sonuç, bugün hala zSeries olarak pazarlanan yeni System/390 serisi oldu . IBM POWER tasarımı, aynı zamanda, yalnızca IBM'e yönelik yönergelerin çoğunu ortadan kaldıran ve tek çipli bir uygulama oluşturan PowerPC tasarımını üretmek için ölçeği küçülttü. PowerPC, 2006 yılına kadar tüm Apple Macintosh bilgisayarlarda kullanıldı ve otomotiv uygulamalarında kullanılmaya başlandı (bazı araçların içinde 10'dan fazla var), son nesil video oyun konsolları ( PlayStation 3 , Wii ve Xbox 360 ) PowerPC'de.

Hemen hemen tüm diğer satıcılar hızla gemiye atladı. İngiltere'deki benzer çabalar , INMOS Trasputer , Acorn Archimedes ve bugün çok başarılı olan Advanced RISC Machine hattı ile sonuçlandı. CISC tasarımlarına sahip mevcut şirketler de devrime katıldı. Intel , i860 ve i960'ı 1980'lerin sonlarında piyasaya sürdü , ancak çok başarılı olmadılar. Motorola yeni bir tasarım yaptı, ancak bunun için fazla bir kullanım görmedi ve sonunda PowerPC'yi üretmek için IBM ile bir araya gelerek onu terk etti. AMD , 1990'ların başında en popüler RISC tasarımı haline gelen 29000 ailesini piyasaya sürdü .

Bugün RISC mikro denetleyicileri ve CPU'ları, kullanımdaki tüm CPU'ların büyük çoğunluğunu temsil etmektedir. RISC tasarım tekniği, küçük ölçülerde bile güç sunar ve bu, düşük güçlü gömülü CPU'lar için piyasaya tamamen hakim hale geldi. Gömülü CPU'lar açık farkla piyasadaki en yaygın işlemcilerdir: bir veya iki kişisel bilgisayara sahip bütün bir ailenin gömülü işlemcili birkaç düzine cihaza sahip olabileceğini düşünün. RISC, iş istasyonu pazarını tamamen devraldı . SUN SPARCstation'ın piyasaya sürülmesinden sonra, diğer satıcılar kendi RISC tabanlı çözümleriyle rekabet etmek için acele ettiler. 2006-2010 civarında iş istasyonları Intel ve AMD'den x86-64 mimarisine geçmiş olsa da. Ana bilgisayar dünyası bile artık tamamen RISC'ye dayanıyor.

Intel x86 ve x86 64'ün masaüstü bilgisayarlar (artık iş istasyonları), dizüstü bilgisayarlar ve düşük kaliteli sunucular pazarındaki hakimiyeti göz önüne alındığında bu şaşırtıcıdır . Her ne kadar RISC çok hızlı ve ucuz bir şekilde hız kazanmayı başardı.

RISC tasarımları, çok sayıda platformu ve mimariyi başarıya ulaştırdı, bunlardan bazıları en büyüklerinden bazıları:

  • Durdurulan HP AlphaServer sunucularında ve AlphaStation iş istasyonlarında DEC Alpha .
  • RISC operasyonlarındaki ARM – x86 talimat donanımı adımı , mobil ve gömülü cihazlar için alan ve güç açısından önemli hale gelir. Böylece, ARM işlemciler PALM , Nintendo DS , Game Boy Advance ve birden fazla PDA , Apple iPod , Apple iPhone , iPod Touch (Samsung ARM1176JZF , ARM Cortex-A8 , Apple A4 ) , Apple iPad ( Apple A4 ARM tabanlı SoC), Nintendo DS (ARM7TDMI, ARM946E-S), Nintendo Game Boy Advance (ARM7TDMI) gibi oyun konsolları.
  • Atmel AVR , Xbox denetleyicilerinden BMW şirket arabalarına kadar çok çeşitli ürünlerde kullanılmaktadır.
  • Hitachi'nin orijinal olarak Sega Super 32X, Saturn ve Dreamcast konsolları için kullanılan SuperH platformu , şimdi birçok tüketici elektroniği ekipmanının kalbinde yer alıyor SuperH, Mitsubishi - Hitachi grubu için temel platformdur. 2002'de birleşen bu iki grup, Mitsubishi'nin kendi RISC mimarisi olan M32R'yi bir kenara bıraktı.
  • CSR'den birçok düşük güçlü kablosuz (Bluetooth, Wi-Fi) yongasında kullanılan XAP işlemcileri .

Ayrıca

Referanslar

  1. ^ "CISC ve RISC" (html) . Elektronik Kompendium (Almanca) . 6 Mart 2018 tarihinde kaynağından arşivlendi . Erişim tarihi: 28 Aralık 2018 . «RISC steht für Küçültülmüş Komut Kümesi Hesaplama. Übersetzt ist das ein Computer (Prozessor) mit einem reduzierte Befehlssatz, der nur wenige elementare Befehle enthält. Die meisten Befehle können innerhalb weniger Taktzyklen ausgeführt werden. Wenige und einfache Befehle haben einen einfacheren Prozessoraufbau zur Folge, dem sich einfache digitale Schaltungen befinden und dessen Befehle (im Steuerwerk) fest verdrahtet sind'de. »  
  2. "Açık Donanım Dünyamızı Fethetmek İçin Nasıl Açık Planlar (Tekrar)" (html) . Pandora FMS'i . 1 Ekim 2018. 28 Aralık 2018 tarihinde kaynağından arşivlendi . Erişim tarihi: 28 Aralık 2018 . «IBM® hatalarından ders aldı ve PowerPC işlemcisi Motorola® ile birlikte yapıldı ve Apple®'a bir pay verdiler, bu da milyonlarca müşteriye birikimlerini en yeni nesil ekipmanlara yatırmaya istekli olmalarını sağladı. »  

Dış bağlantılar