Loading AI tools
Designphilosophie für Computerprozessoren Aus Wikipedia, der freien Enzyklopädie
Reduced Instruction Set Computer (RISC, englisch für Rechner mit reduziertem Befehlssatz) ist eine Designphilosophie für Computerprozessoren. Der Begriff wurde 1980 von David A. Patterson und Carlo H. Séquin geprägt.[1] Das Designziel war der Verzicht auf einen komplexen, für die Assemblerprogrammierung komfortablen Befehlssatz hin zu einfach zu dekodierenden und schnell auszuführenden Befehlen („eigentliche Befehlsausführung“ meist nur 1 Takt). Dies ermöglichte zudem höhere Taktfrequenzen.
Die RISC entgegengesetzte Designphilosophie wird als Complex Instruction Set Computer (CISC) bezeichnet. In der heutigen Zeit hat die Unterscheidung in RISC und CISC weitgehend an Bedeutung verloren. Ehemalige RISC-Prozessorfamilien haben mittlerweile auch komplexere Befehle aufgenommen, CISC-Prozessoren haben seit Mitte der 1990er Jahre RISC-ähnliche Designkomponenten erhalten und sind ebenfalls superskalar. Die Dekodierung von Befehlen nimmt unabhängig von RISC oder CISC nur noch einen kleinen Teil der Chipfläche ein. Die Hauptfläche der Chips nehmen mittlerweile Verarbeitungseinheiten ein, die erst seit Anfang der 1990er Jahre in Prozessoren auftauchen.
Befehlssätze von Prozessoren der 1980er Jahre wurden zunehmend größer. Neue Befehle kamen hinzu, alte Befehle, die kaum noch gebraucht wurden, blieben erhalten. Es tauchten sehr komplexe Befehle und Adressierungsarten auf, welche durch Compiler und selbst durch Assemblerprogrammierer schwer nutzbar waren. Der RISC-Prozessor der 1980/90er Jahre sollte unter Anwendung des KISS-Prinzips einen einfachen Befehlssatz erhalten, der schnell zu dekodieren und einfach auszuführen ist. Ein RISC-Befehlssatz verzichtet auf komplexe Befehle – insbesondere auf solche, die Speicherzugriffe (langsam) mit arithmetischen Operationen (schnell) kombinieren. Dadurch lassen sich die Stufen der Prozessorpipeline gut abstimmen, die Stufen werden kürzer, die Pipeline lässt sich schneller takten und sie ist besser ausgelastet, da weniger „Blockaden“ (stalls) auftreten. Einfachere Befehle lassen sich darüber hinaus einheitlicher kodieren als bei CISC-Architekturen, was den Dekodieraufwand und damit die Pipelinelatenz weiter verringert. Der Befehlssatz von CISC-Prozessoren ist meist in Form von Microcode implementiert. Bei RISC-Prozessoren hingegen sind die einzelnen Befehle fest verdrahtet. Das ermöglicht, den Befehlssatz mit relativ wenig Transistoren umzusetzen; die Befehle werden teilweise parallel und sehr schnell verarbeitet.
Berücksichtigung von damals neuen Erkenntnissen beim Compilerbau:
Hintergrund der Entwicklung von RISC-Architekturen waren:
Folgende Eigenschaften sind typisch für RISC-Prozessoren:
Folgende Dinge findet man nur bei RISC-Prozessoren, sind aber primär das Ergebnis einer Performanceoptimierung bzw. der Einsparung von Chipfläche:
Es gibt keine formale Definition des Begriffes RISC. Die Mehrheit der RISC-Prozessoren besitzt folgende Eigenschaften:
Die „eigentliche Befehlsausführung“ dauert meist nur 1 Taktzyklus pro Befehl.
Es wird pro Takt ein Befehl begonnen, und in jedem Takt ein (früherer) Befehl beendet. Die Dekodierung erfolgt ohne Mikrocode durch ein fest verdrahtetes Netzwerk. Ein klassischer RISC-Prozessor führt Befehle in vier Takten durch: Fetch, Decode, Load, Execute. In jeder dieser Stufen befindet sich immer jeweils ein Befehl.
Bei einer Load-Store-Architektur greifen nur Load- und Store-Befehle auf den Hauptspeicher zu. Alle anderen Befehle arbeiten ausschließlich mit Registeroperanden und Literalen. Diese Load- und Store-Befehle besitzen keine komplexen Adressmodi, stattdessen werden die Adressen in frei verwendbaren Registern berechnet. Allerdings weisen nur wenige RISC-CPUs eine klassische Load-Store-Architektur auf, die meisten erlauben einen Speicheroperanden.
Um dem Compiler eine effiziente Codeerzeugung und Programmoptimierung zu ermöglichen, haben RISC-Prozessoren eine große Anzahl frei verwendbarer Register (typisch sind 16 oder 32) und Befehle im Drei-Adress-Code. Befehle im Drei-Adress-Code haben ein Ziel- und zwei Quellregister. Der Berkeley-RISC-Prozessor und seine Nachkommen (u. a. Sun SPARC, AMD Am29000 und Intel i960) besitzen zusätzlich Registerfenster, die eine besonders große Anzahl an Registern erlauben und den Aufruf von Unterprogrammen beschleunigen.
Alle Befehle sind gleich lang und es gibt nur wenige Befehlsformate. Das heißt, dass bei fast allen Befehlen die Lage von Opcode, Registeroperanden und Literalen gleich ist, was das Dekodieren wesentlich vereinfacht und damit beschleunigt. Typisch sind 32 Bit breite Befehlsworte und fünf verschiedene Befehlsformate. Erwähnenswerte Ausnahmen sind IBMs ursprünglicher 801, ARMs Thumb, microMIPS und Infineon TriCore. Diese RISC-Architekturen benutzen variable Befehlslängen von 16 und 32 Bit, um so den Programmcode zu verkürzen.
Die Anfänge von RISC reichen bis in die 60er Jahre zurück. Ende der 70er und Anfang der 80er Jahre kamen schließlich mehrere Faktoren zusammen, die zu einer neuen Designphilosophie und einer Welle neuer Prozessordesigns führten:[2][3][4][5][6]
Wichtige Wegbereiter für RISC waren die CDC 6600 (Seymour Cray und Jim Thornton, 1964) und IBMs ACS-Projekt (Jack Bertram und John Cocke, ab 1963). Einige frühe RISC-Projekte und -Architekten:
Als nach anfänglichen Zweifeln die Vorteile von RISC offensichtlich wurden, begannen praktisch alle Computerhersteller damit, eigene RISC-Architekturen zu entwickeln:
In der Folge war der Begriff RISC positiv besetzt und wurde in der Werbung inflationär benutzt (u. a. von Intel für den 486). Von Steven A. Przybylski ist folgende ironische Definition von RISC überliefert: „ein Computer, der nach 1985 angekündigt wurde“.
Die Liste der SPEC (Standard Performance Evaluation Corporation) mit den schnellsten Prozessoren ist mittlerweile sehr heterogen. Man findet „RISC-Prozessoren“ wie „CISC-Prozessoren“ wie auch Prozessoren, die von Grafikprozessoren abstammen. Wichtig für Supercomputer ist die Skalierbarkeit der Architektur für den parallelen Betrieb zehntausender bis hunderttausender Kerne. Mittlerweile sind die überwiegende Anzahl der Prozessoren der TOP500 x64-kompatible „CISC-Prozessoren“ (76 Prozent: Intel Xeon und AMD Opteron). Als „RISC-Prozessor“ steht der IBM Blue Gene (PPC) mit 18 Prozent ganz vorn.
Bei aktuellen Großrechnern sind reine/weitgehende RISC-Chips inzwischen jedoch fast vollständig von den Mikroprozessoren der Intel x86-Linie verdrängt, die einen RISC-Kern mit einer CISC-Emulationsschicht verbinden. Deren Ursprung aus dem erfolgreichen Massenmarkt-Einsatz macht die Kleinserien der Großrechner-RISC-Chips unrentabel. DEC Alpha wurde eingestellt, ebenso HPs PA-RISC, Suns SPARCs werden nicht mehr produziert, PowerPC-Chips fertigt nur noch IBM selbst, Renesas SuperH hat kaum mehr Verbreitung, XScale, MIPS und StrongARM sind in Großrechnern selten oder verschwunden. (Stand 2011)
RISC-Prozessoren bilden das Gegenstück zu CISC-Prozessoren. Heutige RISC-Prozessoren überschreiten die Grenzen der engen Definition und enthalten auch komplexere Befehle. So wurde der Befehlssatz des PowerPC-Prozessors, der von IBM und Freescale (ehem. Motorola) hergestellt wird (und beispielsweise bis zum Wechsel zu Intel-CPUs in den Computern von Apple Verwendung fand), durch eine Befehlserweiterung namens „AltiVec“ ergänzt, die in den PowerPC-Prozessoren spezielle Multimediafähigkeiten nachrüstet (vgl. MMX bei x86-Prozessoren). Allerdings folgt auch AltiVec den RISC-Eigenschaften.
Ende der 1980er-Jahre brachte der britische Hersteller Acorn den Heimcomputer Archimedes mit einem speziell konzipierten RISC-Prozessor auf den Markt, dessen Leistungsfähigkeit die der damals in Heimcomputern eingesetzten Prozessoren weit in den Schatten stellte. Diese Acorn Risc Machine war der Ursprung der heutigen ARM-Prozessoren, die in eingebetteten Systemen (zum Beispiel Mobiltelefonen) sehr verbreitet sind.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.