RISC und CISC

RISC und CISC sind unterschiedliche Befehlssatzarchitekturen und Konzepte, wie Prozessoren arbeiten.

  • CISC steht für einen Prozessor, der einen umfangreichen Befehlssatz hat.
  • RISC steht für einen Prozessor, der einen reduzierten Befehlssatz hat.

Früher hat man bei Prozessoren zwischen CISC und RISC unterschieden. Doch heute haben moderne Prozessoren mit diesen alten Konzepten keine Gemeinsamkeiten mehr.

  • Klassische RISC-Prozessoren werden hauptsächlich in Smartphones und Tablets eingesetzt. Die ARM-Architektur ist ein typischer Vertreter.
  • Intel- und AMD-Prozessoren werden als typische CISC-Prozessoren verstanden, die intern aber auch mit RISC-artigen Strukturen arbeiten.

Weder ARM- noch x86-Prozessoren weisen heute eine reinrassige RISC- oder CISC-Struktur auf.

RISC vs. CISC

Es gibt immer wieder Diskussionen mit der zentralen Fragestellung, ob RISC- oder CISC-Prozessoren überlegener sind. Leider lässt sich darüber keine generelle Aussage treffen, weil sehr viele Faktoren zusammenkommen, die die Effizienz und Performance eines Prozessors beeinflussen. Die Unterschiede zwischen RISC und CISC spielen hierbei nur eine akademische Rolle. Es macht nur wenig Sinn, einen modernen Prozessor als RISC- oder CISC-Prozessor einordnen zu wollen. Dazu müsste man dessen Inneres genauer analysieren. Man würde dann zu dem Schluss kommen, dass es sich um einen RISC-Prozessor mit CISC-Instruktionen handelt (z. B. von ARM) oder einen CISC-Prozessor der auch RISC-Instruktionen hat (z.B. von Intel und AMD).

Ursprünglich waren aus heutiger Sicht alle Prozessoren RISC-Prozessoren und haben sich mit der Zeit zu CISC-Prozessoren entwickelt. Auf diese Weise haben Prozessoren immer mehr Leistungsmerkmale bekommen, die durch vereinfachende Befehle ausgeführt werden konnten.

Obwohl moderne Prozessoren einen umfangreichen Befehlssatz zur Verfügung stellen, werden in der Praxis nur wenige Befehle und Adressierungen verwendet. Schon Untersuchungen in den 1970er Jahren ergaben, dass etwa 80% aller Berechnungen einer typischen Anwendung mit etwa 20% der im Prozessor vorhandenen Befehle ausgeführt werden. Außerdem sind für viele Berechnungen immer die gleichen Befehlsfolgen erforderlich. Weil dabei nur wenige Teile des Prozessors verwendet werden ist das äußerst ineffizient. Diese Erkenntnisse führten zu der Entwicklung des RISC-Prozessors und sind der Grund, warum RISC-Prozessoren in den meisten Fällen den CISC-Prozessoren überlegen sind.

Vereinfacht kann man sagen, dass der Programmcode für CISC-Prozessoren kürzer ist und deshalb weniger Speicher braucht. Weil mehrere RISC-Befehle zu einem komplexen CISC-Befehl zusammengefasst werden. Dafür verbrauchen CISC-Prozessoren viel mehr Strom. RISC-Prozessoren hingegen benötigen weniger Platz für Transistoren und verbrauchen deshalb auch weniger Energie. Umgekehrt ist der Programmcode viel umfangreicher und braucht mehr Platz im Speicher.

RISC - Reduced Instruction Set Computing

RISC steht für Reduced Instruction Set Computing. Übersetzt ist das ein Konzept für einen Prozessor oder Computer mit einem reduzierten Befehlssatz. Damit ist gemeint, dass er nur wenige elementare Befehle enthält. Die meisten Befehle können innerhalb weniger Taktzyklen ausgeführt werden. Wenige und einfache Befehle haben einen einfacheren Aufbau zur Folge, in dem sich einfache digitale Schaltungen befinden und dessen Befehle (im Steuerwerk) fest verdrahtet sind. Dabei setzt man auf unabhängige Verarbeitungseinheiten, mehrere getrennte interne Bussysteme und Parallelverarbeitung der Befehle.
Alle RISC-Befehle haben das gleiche Format und es gibt nur eine Möglichkeit sie zu laden oder zu speichern. RISC-Befehle viel schneller geladen und dekodiert als CISC-Befehle.
RISC-Prozessoren sind im wesentlichen billiger herzustellen, kleiner und von der Verschaltung her überschaubarer.

CISC - Complex Instruction Set Computing

CISC steht für Complex Instruction Set Computing. Ein CISC-Prozessor zeichnet sich durch einen großen Befehlssatz und komplexe Adressierungsmöglichkeiten aus.

Funktionsprinzip eines CISC-Prozessors

In einem CISC-Prozessor hat jeder Befehl einen eigenen Mikrocode. Bei jedem Befehlsaufruf wird von der Dekoder-Einheit der Befehl in den Maschinenbefehl, die Adressierungsart, die Adressen und die Register aufgeteilt. Danach werden daraus weniger komplexe Anweisungen (der Mikrocode) an den Nanoprozessor geschickt. Das ist ein Prozessor im Prozessor, der den Mikrocode in seinen Schaltkreisen ausführt.
Diese Vorgehensweise ist leider sehr langsam, weil der Mikrocode mehrere Arbeitsschritte benötigen, was sehr viel Zeit kostet. CISC-Prozessoren benötigen in der Regel vier bis zehn Takte, bis ein Befehl komplett ausgeführt ist. Allerdings wird der Hauptspeicher, die Caches und das Bus-System von CISC-Prozessoren effizienter ausgenutzt. Das liegt daran, weil der CISC-Programmcode in der Regel kürzer ist.

Prozessor-Architekturen

Weitere verwandte Themen:

Lernen mit Elektronik-Kompendium.de

Noch Fragen?

Bewertung und individuelles Feedback erhalten

Freitextaufgaben zum Artikel beantworten, korrigieren lassen und zum Profi werden.

Aussprache von englischen Fachbegriffen

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was du über Computertechnik wissen musst.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Die Computertechnik-Fibel, das Computer-Buch
Computertechnik-Fibel

Alles was du über Computertechnik wissen musst.

Die Computertechnik-Fibel ist ein Buch über die Grundlagen der Computertechnik, Prozessortechnik, Halbleiterspeicher, Schnittstellen, Datenspeicher, Laufwerke und wichtige Hardware-Komponenten.

Das will ich haben!

Artikel-Sammlungen zum Thema Computertechnik

Alles was du über Computertechnik wissen solltest.

Trends in der IT

Trends in der IT

eBook kaufen

Crashkurs IT

Crashkurs IT

eBook kaufen

Digitalisierung

Digitalisierung

eBook kaufen

Quantentechnik

Quantentechnik

eBook herunterladen