RSS

RISC contra CISC

Sitzungsüberblick: Rechnertechnologie I (09.11.2011)
1234567891011121314
15161718192021
22
23242526
Zurück zur Kursübersicht

Zu Beginn der 80er Jahre wurde der Begriff RISC geprägt. Diese Abkürzung steht für ein CPU-Konzept mit einem reduzierten Befehlssatz (Reduced Instruction Set Computer).
Mit dieser Begriffsbildung wurde gleichzeitig die bis dahin verwendeten konzepte für die Konstruktion von CPUs mit dem gegenteiligen Begriff CISC (Complex Instruction Set Computer) belegt.

Gegenstand der RISC-Philosophie war der Versuch, das CPU-Konzept an neuere Entwicklungen der zugrundeliegenden Hardware-Technik anzupassen.
Die Grundidee der RISC-Philosophie besteht darin, einen Maschinenbefehl nicht durch ein Mikroprogramm zu implementieren, sondern ihn direkt durch einen einzigen, relativ einfachen Mikrobefehl ausführen zu lassen (--> schneller).

Durch die Reduzierung des Befehlsatzes ist die Ausführung der Einzelbefehle einfacher möglich, was letztlich zu schnelleren Prozessoren führt.
Der reduzierte Befehlssatz ist jedoch nicht die Ursache, sondern die Konsequenz des RISC-Designs.

Zur damaligen Zeit war es aufgrund der Komplexität nicht möglich, alle Instruktionen eines CISC-Prozessors festverdrahtet (hardwired) abzubilden.

Die Mikrobefehle, die der Prozessor ausführen kann, sind bei RISC-Prozessoren fest verdrahtet, d.h. jede Operation wird durch tatsächliche Leiterbahnen auf dem Prozessor repräsentiert, wird also direkt per Hardware berechnet, was eine deutliche Leistungssteigerung ermöglicht.

Der Befehlssatz von CISC-Prozessoren liegt hingegen meist mikroprogrammiert vor, d.h. die "Bibliothek" der Befehle ist auf einem Chip gespeichert, Befehle werden also nicht direkt, sondern interpretiert ausgeführt, was immer etwas langsamer ist, als die direkte Ausführung.

Die RISC-Verfechter der damaligen Zeit argumentierten so: Selbst, wenn eine RISC-Maschine vier bis fünf Instruktionen braucht, um das zu tun, was eine CISC-Maschine mit einer einzigen Instruktion schafft, gewinnt trotzdem RISC, da die RISC-Instruktionen zehnmal schneller sind, weil sie nicht interpretiert werden.

Bekannte Vertreter von RISC-Prozessoren sind der IBM PowerPC und der DEC Alpha.

Die bekanntesten CISC-Prozessoren sind die x86-Prozessoren von Intel und AMD.

Man sollte glauben, dass RISC-Maschinen angesichts der Leistungsvorteile der RISC-Technologie die CISC-Maschinen vom Markt verdrängt haben müssten. Doch nichts dergleichen ist geschehen. Warum nicht?

Erstens ist da die Frage nach der Abwärtskompatibilität und nach den Milliarden, die von den Unternehmen bereits in die Software für Intel-CPUs investiert wurden.
Es ist nicht ohne Weiteres möglich, Programme, die für einen alten Befehlssatz geschrieben wurden, auf Maschinen mit einem geänderten Befehlssatz auszuführen.

Zweitens war Intel überraschenderweise in der Lage, die einschlägigen Ideen auch in eine CISC-Architektur einzubringen. Angefangen beim 486, enthalten Intel-CPUs einen RISC-Kern, der die einfachsten (und typischerweise auch häufigsten) Instruktionen in einem einzigen Datenwegzyklus ausführt, während die komplexeren Instruktionen in der üblichen CISC-Weise interpretiert werden.
Später kamen bei Intel die MMX- und SSE-Erweiterungen und bei AMD die 3Dnow!-Erweiterungen hinzu, die speziell für die Bearbeitung von Grafik-, Video- und Audiodaten entwickelt wurden.
Sie ermöglichen die gleichzeitige Bearbeitung gleichartiger Datenpakete mit einem einzigen Befehl.

Unter dem Strich sind häufige Instruktionen also schnell und weniger häufige Instruktionen langsam.
Dieser Hybridansatz ist zwar weniger schnell, als ein reines RISC-Design, liefert aber immer noch eine konkurrenzfähige Gesamtperformance, wobei alte Software ohne Modifikationen weiter benutzt werden kann.