Kann mir jemand diese Befehlssätze in CPU erklären?

3 Antworten

CISC hat einen umfangreichen Befehlssatz, wo manche Befehle regelrecht kleine Unterprogramme sind. Also sozusagen Bausteine, die intern in mehreren Einzelbefehlen ausgeführt werden. Wenn man so will: Eine Küchenmaschine, die die Zutaten auf Knopfdruck zerkleinert und zusammenrührt. Beispiel: x64

RISC ist dagegen eher "barebone". Der Befehlssatz ist meist kleiner und jeder Befehl führt tatsächlich nur eine kleine Operation durch. Also hier und da mehr Befehle als beim CISC benutzen, um das gleiche zu erreichen. Eine fast nackte ALU mit eher wenig Klimbim drumherum sozusagen. Man muss sich diese Unterprogramme dann selber bauen, was auch kein riesiger Aufwand ist. Dafür sind solche CPUs idr. einfacher und kostengünstiger zu bauen, da sie schaltungstechnisch entsprechend weniger aufwändig sind. Eben keine Küchenmaschine, sondern ein gutes Messer, das man jedoch selber bewegen muss, um die Zutaten zu zerkleinern. Beispiel: ARM.

Woher ich das weiß:Hobby
Von Experte atoemlein bestätigt

CISC und RISC sind eher verschiedene Entwurfsprinzipien für ISAs, also welche Kriterien so eine Befehlssatzarchitektur (ISA) erfüllen soll.

Es ist also die ISA, die beschreibt welchen Satz an Befehlen eine CPU kennt und was die Befehle machen.

x86 ist halt eine über Jahrzehnte gewachsene und dadurch recht umfangreiche und leicht chaotische ISA

Letztlich hilft da nur Dokumentation lesen.

CISC verfolgt die Idee von kurzen Instruktionen, die aber zeitaufwändiger komplexere Operationen ausführen, wohingegen RISC den Schwerpunkt auf schnell ausführbare und dafür weiniger komplexe Instruktionen legt. In etwa, für die selbe Arbeit benötigt ein RISC Prozessor mehr Instruktionen, kann diese insgesamt aber schneller abarbeiten als eine CISC Prozessor, der mit weniger Instruktionen länger dafür benötigt. Dies ist aber eher als Faustregel anzusehen, nicht als ausnahmefreie unumstößliche Tatsache.

"Echte" CISC Prozessoren sind mittlerweile selten, da auch diese mittlerweile RISC-Kerne haben.

Marwin388 
Fragesteller
 20.04.2023, 02:44

Und was hat das mit x86 Befehlssatz auf sich ?

0
Bushmills145  20.04.2023, 03:09
@Marwin388

x86 ist eine ganze Familie von Prozessoren, und deren Instruktionssatz hat sich über die Generationen hinweg verändert. Ursprünglich sehr CISC-lastig haben aktuelle Designs RISC-Kerne, aber implementieren dennoch zum Zweck der Rückwärtskompatibilität alte CISC Instruktionen, obwohl die ineffizienter ausgeführt werden als diese in einfacheren, schnelleren Instruktionen im Code selbst darzustellen. Stärker noch, aktuelle Designs mit RISC Kernel *enthalten* sogar noch zusätzlich eine frühere Version eines Prozessors der x86-Familie.

Einen einzigen "den" x86 Instruktionssatz gibt es nicht - dieser ist abhängig vom Modell der CPU, und sogar vom Modus, worin die CPU arbeitet.

1