RISC VS. CISC
-
was benutzen eigentlich aktelle CPUS z. B. Pentium 4 - RISC oder CISC?
-
Extern CISC, intern RISC.
-
Generell sind die aktuellen "Consumer-PCs" mega CISC Prozzis, mit jeder Menge Befehlen für jeden Scheiß.
Während im Consumer-Bereich in spezialisierter Hardware alles mal als RISC begann (programmierbare GPUs z.B. (Shader)), wandeln die sich auch mehr und mehr zu "Ich-kann-alles-ausser-Kaffee-kochen"-Maschine...
-
Ein Pentium IV basiert ja immer noch auf die >30 Jahre alte x86er Technologie. Daher wird noch CISC benutzt. Jede Anweisung hat quasi eine eigene kodierung. Grässlich, unsauber und ineffizient.
Schade das Apple den PowerPC kappen will und auf diesen Müll umsteigt
-
Echte RISCs gibts doch fast garnicht mehr, selbst der PowerPC bzw. die POWER-Architektur ist schon mehr CISC.
Die CPUs von ARM und Hitachi (SH-Serie) sind eigentlich die einzig übrig gebliebenen. Der ARM hat nur 33 Befehle, selbst der DIVisions-Befehl fehlt ihm. Habe damals auf dem Acorn Archimedes noch schön in ARM-Assembler programmiert. Das war noch geil! Bei den Intel-Prozis bekommt man ja nen Dachschaden, wenn man sich durch die hunderte Befehle schlagen muß. Für jeden Mist ein Befehl. Bei ARM ist es umgekehrt: mit einem Befehl mehrere Aufgaben erledigen, einfach cool.
Beispiel?
if(a>b) c=a; else c=b;
Und so sieht der ARM-Code dazu aus:
CMP r0, r1 MOVGT r2, r0 MOVLE r2, r1
Genial? Genial!
Jeder Befehl natürlich 1 oder weniger Taktzyklen. 1987 als der ARM2 mit 8 MHz raus kam und 3fach Pipeline hatte, ging die Kiste mächtig ab, was Performance anging.
-
Artchi schrieb:
Echte RISCs gibts doch fast garnicht mehr, selbst der PowerPC bzw. die POWER-Architektur ist schon mehr CISC.
Naja, man muss schon mehr als die Befehlssatzgröße als Indiz sehen. Heutzutage werden diese Punkte besonders als RISC-Indizien gesehen:
* Load/Store-Architektur: Entweder arbeiten Befehle nur mit Registern oder transferieren nur einen Wert zwischen Speicher und Register, nichts gemischtes
* Viele Register: Dies erfordert um halbwegs effizient zu arbeiten viele Register
* Einfaches Befehlsformat: Alle Befehle sollten gleichlang sein und ein einfaches Format besitzen
* Ein Befehl pro Takt: Durch die einfache Befehlsform sollten die Befehle üblicherweise größtenteils innerhalb eines Taktes berechenbar sein.Was aktuelle Prozessoren angeht, trifft TactX es am besten. Zur Anfangszeit des x86 befand man CISC für eine unglaublich praktische Lösung. Man hat jedoch inzwischen festgestellt, dass RISC-Maschinen üblicherweise einfacher und effizienter sind. Daher sind die neuen Prozessoren alles intern RISC-Kerne. Da man aber zum x86 kompatibel bleiben wollte, hat man eine art CISC-Interface dazu gebaut. Die Befehle werden also zerstückelt in kleine RISC-Befehle, die dann auf einem RISC-Kern ausgeführt werden.
Siehe hierzu auch den Wikipedia-Artikel zu RISC
-
Artchi schrieb:
Echte RISCs gibts doch fast garnicht mehr, selbst der PowerPC bzw. die POWER-Architektur ist schon mehr CISC.
Sehr guter Punkt. Ob nun RISC oder CISC "draufsteht" ist vollkommen egal. Letztendlich entscheiden die Faktoren Performance, Preis, Leistungsaufnahme über die Qualität einer CPU.
<a href= schrieb:
Arstechnica">Thus the "RISC vs. CISC" debate really exists only in the minds of marketing departments and platform advocates whose purpose in creating and perpetuating this fictitious conflict is to promote their pet product by means of name-calling and sloganeering.