Kann mir jemand diese Befehlssätze in CPU erklären?
Also es gibt Typen von Befehlssätzen wie zum Beispiel CISC und RISC . Sie sind sozusagen wie ein Buch der sagt welche Befehle ein CPU machen kann . Aber dann kommen diese komischen x86-Befehlssatz die ich seit Stunden nicht verstehen kann. Kann mir jemand sie so einfach und anschaulich wie möglich erklären?
3 Antworten
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.
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.
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.
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.
Und was hat das mit x86 Befehlssatz auf sich ?