Was ist der unterschied zwischen risc und cisc

CISC

Abkürzung für Complex Instruction Set Computer.
(Noch) weit verbreiteter Typ von Prozessoren, z.B. der Intel - Familie 8086/ Pentium und der Motorola-Familie 680x0.
Typisch für sie ist ein umfangreicher Befehlssatz mit vielen hundert Befehlen bzw. Befehlsarten; diese Befehle werden als Microcode ausgeführt (anders: RISC).
CISC-Prozessoren können effektiv und differenziert programmiert werden, sind aber im Tempo oft den RISC-Prozessoren mit ihrem vereinfachten Befehlssatz unterlegen.

http://www.at-mix.de/cisc.htm

RISC

Abkürzung für Reduced Instruction Set Computer.

Prozessorarchitektur, die - im Unterschied zur CISC-Architektur - nur eine sehr begrenzte Zahl einfacher, fest gespeicherter (verdrahteter) Befehle benutzt.
Die Reduzierung beschleunigt das Arbeitstempo.
Die - in der Regel selteneren - komplexen Aufgaben müssen durch mehrere Einzelbefehle erledigt werden.
Die RISC Technologie hat sich bei vielen aktuellen Prozessoren durchgesetzt. Im Laufe der Entwicklung der Prozessoren wurden die Befehlssätze immer umfangreicher (CISC - Complex Instruction Set Computer) und man erhoffte sich so höhere Leistung zu erzielen.

Diese Entwicklung führte jedoch nicht zum gewünschten Ergebnis. Experten wiesen bereits vor Jahren darauf hin, dass der Entgegengesetzte Weg der richtige sei.

Der Aufbau eines RISC-Prozessors besticht durch "Einfachheit" und daraus resultierend eine deutlich schnellere Verarbeitung der Befehle.

Bekannte RISC - Prozessoren sind der Alpha-Chip von DEC, die RISC-Prozessoren von MIPS (R4000 usw.), der i860 von Intel und der RS/6000 von IBM.

http://www.at-mix.de/risc.htm

Home Computer Hardware Site Map
Was ist der unterschied zwischen risc und cisc

Was bedeuten die Abk�rzungen?

RISC und CISC stehen f�r die Begriffe Reduced Instruction Set Computer bzw. Complex Instruction Set Computer. Damit sind zwei grunds�tzliche Philosophien im Computerbau gemeint. Die ich im folgenden vorstellen will. Computer heute sind meistens keine reinen RISC oder CISC Maschinen sondern haben von beiden etwas �bernommen.

CISC - die nat�rliche Evolution

Bei den Begriffen CISC und RISC geht es darum wie die CPU eines Computers arbeitet. Bei dem CISC Modell hat die CPU �blicherweise wenige Register (Speicherpl�tze in der CPU), wovon manche auch meist Spezialaufgaben haben. Dazu finden sich viele Befehle, darunter auch sehr m�chtige, die z.B. in einer Schleife gleich mehrere Register bearbeiten. Die Befehle haben meist ungleiche Befehlsl�ngen. Die am h�ufigsten benutzten nur ein Byte, weniger h�ufige zwei oder drei Bytes. Dadurch kann der Code kompakt gehalten werden.

�blicherweise werden diese Befehle durch Mikrocode realisiert. Das ist eine Zerlegung der Befehle in kleinere Einheiten, eine Art "Interpreter" auf der CPU. Bei modernen CPUs ist dieser Mikrocode sogar noch �nderbar, wodurch der Hersteller Bugfixes einspielen kann.

Wenn eine CPU weiterentwickelt wird, kommt es oft vor das sie immer mehr in Richtung CISC wandert. Der Grund ist relativ einfach. Man hat mit fortschreitender Zeit die Technologie, immer mehr Transistoren auf einem Chip zu integrieren. So hatte die erste 8086 CPU 29.000 Transistoren und ein Pentium 4 verf�gt �ber 42 Millionen. Diese M�glichkeit wird fast immer genutzt um neue Befehle zu integrieren, die z.B. das Programmieren erleichtern. Dadurch wird aber das gesamte Design komplexer was CISC ausmacht.

Weitere Merkmale sind m�chtige Befehle: Beim 8086 z.B. Stringbefehle die eine gesamte Zeichenkette mit einem Befehl kopieren oder die M�glichkeit nur Teile der Register zu benutzen, bei einem 32 Bit Prozessor also z.B. auch mit 8 Bit oder 16 Bit breiten Zahlen zu arbeiten und ein Register in zwei H�lften zu spalten wie beim 8086 z.B. das AX Register in 2 8 Bit Register AH und AL.

Auch bei den Gro�rechnern fr�herer Tage war oft die CISC Architektur vorherrschend: Man war der �berzeugung je "m�chtiger" die Befehle einer CPU sind um so schneller diese und um so weniger Speicherplatz ben�tigt der Code. (Speicherplatz war schon immer knapp). Ein prinzipieller Nachteil von CISC ist, das es in der Regel nicht m�glich ist viele Register zu verwenden. Register sind Speicherpl�tze in der CPU und der schnellste Speicher den eine CPU adressieren kann. Die kleine Anzahl liegt daran, das bei den meisten Befehlen auch das Register auf das er wirkt, mit einkodiert wird. Je mehr Register man hat desto weniger Befehle kann man realisieren. Sehr oft gab es dann Zwischenl�sungen wie Befehle die nur mit bestimmten Registern arbeiteten.

RISC - Reduziert auf Geschwindigkeit

RISC geht einen anderen Weg. Man beschr�nkt sich auf die wirklich notwendigen Befehle. Als Ausgleich hat mehr erheblich mehr Register (bis zu 256) auf dem Chip, so das man viel �fters schnelle Register-Register Operationen hat als langsame Speicher-Register Operationen. Die wenigen Befehle machen das Design einfacher und man kann den Prozessor billiger herstellen.

Anstatt Mikrocode verwendet man eine direkte Verdrahtung der Befehle im Dekodierer, wodurch die Ausf�hrung schneller als bei CISC ist. Gleichzeitig vereinheitlicht man das Datenformat. Bei CISC kann ein Befehl mal ein Byte, mal drei Byte lang sein, dazu kommen eventuell noch einige Bytes f�r Daten. Kurzum, das Dekodieren eines solchen Befehles dauert, wodurch Zeit verloren geht. Bei RISC haben alle Befehle eine einheitliche L�nge, wodurch das Dekodieren schneller geht, aber Code zwangsl�ufig gr��er ist.

Die Wurzeln von RISC

Schon immer war man bestrebt die Maschine m�chtiger zu machen, so war die historische Entwicklung auch bei den Gro�rechnern, lange die von CISC. Eine Maschine aber zeigte was RISC bedeutete:

Was ist der unterschied zwischen risc und cisc
Es war die Cyber 6600, der erste Supercomputer des legend�ren Computerbauers Seymour Cray. Die Cyber war darauf getrimmt schnell zu sein - Sie schaffte bei ihrer Einf�hrung 1965 schon stolze 9 Megaflops. Die Cyber war ein Computer mit einer Arbeitsbreite von 60 Bit. Ein Byte waren damals nur 6 Bits. Mit einem Adressraum von 18 Bit (256 KByte). (Mehr Adressraum w�re auch nicht von Vorteil gewesen, denn Ringkernspeicher, die damals �bliche Technik waren keine kleinen Chips sondern 5 � 5 cm gro�e Module mit max. 1024 kleinen Eisenringen. So braucht Speicher viel Platz). Zur Verf�gung standen 16 Register zum Adressieren (18 Bit Breite) und ganze 60 Datenregister � 60 Bit. Die Cyber nahm mit 2 Recheneinheiten schon das vorweg, was der Pentium erst 30 Jahre sp�ter schaffte: Das Pipelining von 2 Recheneinheiten, im Gegensatz zum Pentium waren aber diese unabh�ngig voneinander. Daf�r hatte die CDC 6600 nur 64 Maschinenbefehle - genau so viele wie in ein Byte von 6 Bits passten. Zum Vergleich der 8086 hatte 90 Maschinenbefehle und seitdem sind viele weitere hinzugekommen.

Um maximale Performance zu schaffen, hatten alle Befehle ein einheitliches Format: Eine L�nge von 15 oder 30 Bit, zusammen mit einem Halben Datenwort von 30 Bit. So hatten alle Befehle eine einheitliche L�nge von 60 Bit. Der Lohn war die Geschwindigkeit. IBMs Standardmodell IBM 360 erreichte zur gleichen Zeit nur 330 KFlops, die Cyber 6600 war also nahezu 30 mal schneller als ein "normaler" Gro�rechner.

Obgleich die Cyber sehr erfolgreich war und die Basis f�r Seymour Crays sp�tere Supercomputer war, inspirierte sich keine anderen Computer dieser Zeit. Bei den �blichen Gro�rechnern blieb man lieber bei CISC.

CISC oder RISC - Der Kampf der Heimcomputer

10 Jahre sp�ter kamen die ersten 8 Bit Prozessoren auf den Markt und man k�nnte annehmen das man bei der beschr�nkten Anzahl von Transistoren, die man damals unterbringen konnte, der Weg zu RISC klar war. Doch dem war nicht so. Das historische Duell fing 1975 zwischen dem 8080 und 6502 an und sollte sich �ber 10 Jahre hinziehen.

Was ist der unterschied zwischen risc und cisc
1975, West Coast Computer Messe (WSCOM). Um einen Stand der kleinen Firma "MOS Industries" herrscht Andrang. Die Firma bietet in einem durchsichtigen Gef�� ihren neuen Mikroprozessor 6502 an - nichts neues so scheint es, es gibt bereits die Typen 8080 von Intel, 6800 von Motorola und RCA 1802. Doch eines war neu: Der Preis der neue Prozessor wurde f�r 25 USD angeboten, w�hrend der Preis des 8080 bei 175 USD liegt. Jeder kaufte einen Prozessor, am Ende des ersten Tages war das Gef�� leer.

Auf dem 6502 entstanden sp�ter eine Reihe von Computern die Geschichte machten - Der Apple II, der C64 oder die Atari VCS 2600 Spielkonsole. Aber auch auf dem 8080 Nachfolger Z80 entstanden viele Rechner - Der Armstrad CPC, Tandy TRS-80, der Sinclair ZX-81 oder Sinclair Spectrum. Beide Architekturen waren erfolgreich, obwohl Sie nicht verschiedener h�tten sein k�nnen. Der 8080 war schon ein typischer CISC Vertreter. Aber der Z80, den ein ehemaliges INTEL Entwicklungsteam baute, toppte ihn leicht.

Der 8080 hatte einen Akkumulator (A) und 6 mal 8 Bit Register (B,C,D,E,H,L) die zusammen zu 16 Bit Registern (BC, DE, HL) geschaltet werden konnten. Dazu kam der 16 Bit Stackpointer und der Programmz�hler. Speicheroperationen gingen beim 8080 nur �bers HL Register, daf�r bot dieses auch 16 Bit Operationen wie Addition und Subtraktion. Der Z80 erweiterte das Design des 8080. Er f�hrte einen zweiten Registersatz ein, dazu zwei neue Register IX und IY, die f�r Indexoperationen benutzt wurden. Die BC und DE Register wurden genauso tauglich wie das HL Register f�r Speicheroperationen und 16 Bit Rechnungen, dazu kamen eine F�lle von Befehlen - F�r Blockoperationen, In/Out, Bitweise Rotation / Verschiebung. Aus den 57 Befehlen des 8080 machte der Z80 �ber 134! Das kostete aber Zeit beim Dekodieren. Ein Befehl konnte zwischen einem und 5 Byte lang sein. Die Ausf�hrung dauerte zwischen 4 und 28 Takten.

Was ist der unterschied zwischen risc und cisc
Wie einfach war dagegen das Design des 6502, nur 3 Register � 8 Bit, sogar nur ein 8 Bit Stackpointer. Der Stack lag fest zwischen Adresse 256 und 511 und �ber die Indexregister konnte man die Adressen 0 bis 255 ansprechen (und dar�ber das restliche RAM). Man konnte aber diese 256 Byte RAM auch als 256 zus�tzliche Register ansehen, denn bei Erscheinen des 6502 war RAM schneller als Mikroprozessoren. Zudem waren die Befehle schnell zu dekodieren - in 1-2 Takten, da der 6502 sowohl aufsteigende wie absteigende Flanke des Taktsignals nutzte (so konnte man die Taktfrequenz im Vergleich zu einem 8080 oder Z80 schon halbieren).

So verschieden die Designs waren, in der Realit�t waren beide erfolgreich. Zwar war der MOS 6502 schneller als ein Z80 bei gleicher Taktfrequenz, (er �bertrug pro Flanke ein Byte vom Speicher, anstatt einmal pro Takt), aber das glich sich dadurch aus, das dieser meist zwischen 1-2 MHz lief, w�hrend der Z80 3-4 MHz aufwies. Ab 1983 wurden noch schnellere Z80 Versionen herausgebracht die bis 10 MHz gingen. Diese Entwicklung war beim 6502 nicht m�glich, da er zwingend auf das schnelle RAM angewiesen war. Daf�r war ein 6502 immer ein St�ck preiswerter, weil er einfacher herzustellen war.

Der wohl radikalste Ansatz von RISC im 8 Bit Zeitalter war der relativ selten eingesetzte RCA 1802. Mit nur 16 Befehlen war der Prozessor ausgestattet, lief daf�r schon 1975 mit 6 MHz, w�hrend der 6502 mit einem und der 8080 mit 2.5 MHz eingef�hrt wurden. Er spielte auf dem Heimcomputermarkt keine Rolle, steckt daf�r aber in zahlreichen Raumsonden. Da er technisch sehr robust und wenig anf�llig gegen�ber statischer Elektrizit�t war.

Intel und der IBM PC

Was ist der unterschied zwischen risc und cisc
Der Intel 8086 ist ebenfalls ein typischer Vertreter von CISC. Er wurde im IBM PC verwendetet. Die Rechenleistung der x86 Architektur galt sp�testens ab 1986, als mit dem Intel 386 man zur Konkurrenz aufschloss, als das Ma� der Dinge. Grund f�r das CISC Design war, dass man um Entwicklungskosten und Zeit zu sparen man das 8080 Design aufgebl�ht hatte. Dadurch hatte der x86 einige Macken die, seine Architektur komplex machten. Die wichtigste war, das er direkt nur 3 Segmente (Code, Daten und Stack) � 64 K ansprechen konnte, diese Fenster wurden in einem Adressraum von 1 Megabyte verschoben. Als man sp�ter mit dem 286 er die Architektur erweiterte auf volle 16 MB Adressraum und mit dem 386 auf 4 GB und 32 Bit, blieb die alte "Real Mode", aber immer noch erhalten als zus�tzlicher Modus. Zudem konnte man nicht einfach neue Register einf�hren, obwohl der Befehlssatz der x86 Serie im Laufe der Zeit erweitert wurde.

Die Konkurrenz musste sehen, wie die x86 Rechner immer gr��ere Marktanteile einnahmen. Mit der weiten Verbreitung hatte Intel zwei Tr�mpfe in der Hand: Sie verdienten mehr durch die gr��ere St�ckzahl und die Entwicklungskosten verteilten sich auf mehr Chips. Doch andere Hersteller hatten auch die Chance neue Wege zu gehen, sie waren nicht unbedingt aus sklavische Abw�rtskompatibilit�t angewiesen.

Die Renaissance von RISC

Nun �nderte sich aber auch in der Programmierung bis Mitte der achtziger Jahre etwas. Bis zum 8086 mit seiner begrenzten Rechenleistung und kleinem Speicher, war es n�tig f�r schnelle Programme in Assembler zu programmieren. Bei der Einf�hrung des viermal schnelleren 286 und mehr Speicher gewannen aber Programme, die mit Hochsprachen wie C entwickelt wurden immer mehr Bedeutung und Assembler wurde auf kleine systemnahe Routinen beschr�nkt. Nun ergaben aber Untersuchungen, das Compiler weitaus weniger als der menschliche Programmierer den Befehlssatz eines Prozessors aussch�pften. 80 % des Compilercodes verwendeten nur 20 % der Befehle, ja bestimmte Befehle wurden �berhaupt nicht verwendet. Dies liegt daran das Compiler ein sehr starres Muster haben. Mehr noch: viele Vorteile von CISC - m�chtige Befehle die nur mit einem bestimmten Register arbeiteten - wurden oft gar nicht genutzt. Dies liegt auch am starren Vorgehen eines Compilers. Dieser hat nicht mehrere Codealternativen vorr�tig - Eine wenn man Register X benutzen kann, eine andere wenn man Register Y benutzen kann, sondern eben nur eine Version und verwendet dazu idealerweise die Befehle die mit allen Registern arbeiten.

Was ist der unterschied zwischen risc und cisc
Dies war die Renaissance von RISC. Ende der achtziger Jahre bauten nahezu alle Hersteller RISC Prozessoren. Das gemeinsame Merkmal waren: Wenige, schnell zu dekodierende Befehle, einheitliches Befehlsformat und schnelle Dekodierung. Die einzelnen Konzepte waren durchaus unterschiedlich. RISC war auch eine M�glichkeit mit relativ wenigen Transistoren eine sehr hohe Rechenleistung zu erreichen. Dies war wichtig f�r Hersteller denen im Prozessormarkt von Intel immer mehr Marktanteile entzogen wurden. Motorola erschuf zusammen mit Apple und IBM den Power PC Chip. Der Chip hatte dadurch sehr unterschiedliche Anforderungen zu erf�llen: Apple und Motorola wollten einen Nachfolger f�r die in die Jahre gekommene 68000 Serie, so konnte dieser deren Befehle emulieren. IBM wollte aber gleichzeitig einen schnellen Prozessor f�r Minicomputer und sogar Gro�rechner. Der Power PC ist sehr erfolgreich und hat seit 1993 schon die vierte Generation erlebt. Erst mit dieser ist die Einf�hrung eines Passivk�hlers notwendig geworden bei sonst �hnlicher Rechenleistung wie ein Pentium Pendant (aber immer etwas niedrigerem Takt).

Was ist der unterschied zwischen risc und cisc
Eine traurige Rolle spielte der ARM Prozessor. Die meisten neuen RISC Prozessoren waren gedacht f�r Workstations. Doch Acorn - eine in England bekannte Firma, brachte 1988 einen PC mit diesem Prozessor heraus, der es mit einem 386 er aufnehmen konnte - zu einem Bruchteil der Kosten. Doch es fehlte der Firma an Bekanntheit um dieses Ger�t, den Archimedes zu etablieren. ARM hat die Zeichen der Zeit erkannt und den ARM Prozessor als Mikrocontroller erfolgreich gemacht. ARM Prozessoren haben im 32 Bit Mikrocontroller Bereich einen Marktanteil von 70 % und werden in Lizenz von zahlreichen Unternehmen - sogar von Intel gefertigt. Die meisten PDAs mit Windows CE benutzen diesen Prozessor, da er schnell und stromsparend ist.

Sun l�utete mit der Sun 4 und dem SPARC Prozessor 1987 als erste Firma den Wechsel ein. Der SPARC hatte in der ersten Version nur 55.000 Transistoren, aber eine h�here Geschwindigkeit als ein 386 er mit 275.000 Transistoren. Spezielle Features machten vor allem die Hochsprachenprogrammierung auf diesem Prozessor schnell. Bald zogen andere Workstation Hersteller nach wie MIPS oder DEC mit dem Alpha, der bis heute die Krone in der Geschwindigkeit h�lt. Eine Besonderheit waren die Transputer Prozessoren von INMOS. Mehrere dieser Prozessoren konnten zusammengeschaltet werden und parallel an einem Problem arbeiten. Die Abbildung der zeitgleich erschienen Prozessoren Intel 80386 und INMOS T400 zeigt auf dem Prozessor Die Unterschiede zwischen CISC und RISC: Gro�e gleichf�rmige Felder beim T400 mit viel internen Registern und 1 KByte Cache on Board und "rauhe" wirkende Felder beim 80386, mit Logikfunktionen die erheblich mehr Transistoren erfordern. Der INMOS T400 war trotz geringerer Integrationsdichte schneller als der 80386.

Wodurch wird RISC schnell?

Nun dazu muss man wissen wie ein Befehl von einem Mikroprozessor ausgef�hrt wird. Jeder Prozessor hat mindestens 4 elementare Operationen pro Befehl auszuf�hren:
  • Daten vom Speicher holen
  • Daten dekodieren, d.h. feststellen was f�r ein Befehl gemeint ist
  • Befehl ausf�hren
  • Daten in die Register oder den  Speicher zur�ck schreiben.
F�r jede Stufe braucht ein Prozessor mindestens einen Taktzyklus, meistens aber mehr. Nun gibt es hier einige Dinge die wichtig sind.
  • Erstens: Die Daten vom Speicher zu holen dauert. Speicherbausteine sind langsam im Vergleich zu einem Prozessor.
  • Zweitens: Je mehr und je komplexere Befehle ein Prozessor hat desto l�nger dauert das Dekodieren

CISC Prozessoren haben nun folgende Strategie: Das Dekodieren dauert hier l�nger, da der Code kein einheitliches Format hat, daf�r sehr kurz ist (geringerer Speicherzugriff). Als Ausgleich k�nnen die Befehle mehr, so dass weniger ausgef�hrt werden m�ssen. Viele Register sind wegen der Forderung nach kurzem Code nicht m�glich. Die komplexen Befehle werden im Chip in einfachere Instruktionen zerlegt. Daf�r gibt es Mikrocode - ein ROM auf dem Chip. Auch die einzelnen Funktionseinheiten sind sehr m�chtig, z.B. indem es Hardware Multipliziereinheiten gibt, die zwar schnell sind, aber auch viele Transistoren ben�tigen.

RISC versucht die Speicherzugriffe auf zwei Weisen zu minimieren:

Erstens - viele Register

Die Daten k�nnen in diesen gehalten werden. Es fallen die Angaben von Speicheradressen bei den meisten Befehlen weg. Idealerweise gibt es nur einen Befehl der direkt mit dem Speicher kommunizieren - Einen Lade und Speicherbefehl der immer ein Register benutzt. Alle anderen Befehl arbeiten mit Registern und sind so schnell. Als weiteren Vorteil entfallen die zus�tzlichen Zyklen f�r einen Speicherzugriff. RISC Prozessoren verf�gen je nach Typ zwischen 32 und 256 Register die universell benutzt werden k�nnen. CISC Typen wie der Motorola 680x0 oder Intel 80x86 haben 16 bzw. 12 Register.

Zweitens einheitliches Befehlsformat

Es gibt verschiedene Befehle in einem Prozessor. Manche ben�tigen Daten, andere keine. Bei einem CISC Prozessor wie dem 80386 kann ein Befehl z.B. so aussehen:
  • Ein "gebr�uchlicher Befehl" - Codiert im ersten Byte
  • Ein "seltener Befehl" - weitere Informationen sind im zweiten Byte
  • Daten k�nnen angeh�ngt sein:
  • Ein 8 Bit, 16 oder 32 Bit Wert oder ein Offset. - in dem folgenden Byte, Wort oder Doppelwort untergebracht.

Das macht das Dekodieren kompliziert. Man kann nicht einfach jedes Byte dekodieren, denn es k�nnte sich auch um Daten oder den zweiten Teil eines Befehles handeln. Das Problem existiert prinzipiell auch bei RISC. Doch versucht man es dort zu minieren, indem man den Code so macht, das man zumindest Vorhersagen �ber das Ende des Befehles machen kann. Ich m�chte dies an einem hypothetischen Beispiel erl�utern:

  • Jeder Befehl sollte 6 Bytes lang sein: entweder im Format:
  • Befehl (1 Byte), Registernummer (1 Byte), Daten (immer 32 Bit) - Befehle die vom und in den Speicher schreiben.
  • >oder
  • Befehl (1 Byte), Registernummern 1,2,3 (je 1 Byte), 2 Bytes ohne Daten - Befehle die mit Registern arbeiten. Maximal 3 Register werden bei Operationen wie Reg1=Reg2+Reg3 als Angabe ben�tigt. Es gibt aber auch Befehle mit nur einem oder gar keinem Register als Angabe.

Damit ist jeder Befehl 6 Bytes lang und auf den ersten Blick sieht es nach Platzverschwendung aus. Man brauchte bei 16 Bit Werten z.B. keine 32 Bits f�r Daten und bei den Registerbefehlen sind immer mindestens 2 Bytes nicht belegt.

Aber das ganze hat auch eine Kehrseite. Denn nun stehen zwei Dinge fest: Erstens: Das erste Byte ist immer ein Befehl, und das zweite ein Register, man kann diese automatisch dekodieren. Man muss sich keine Gedanken machen, wie bei CISC was im zweiten Byte stecken k�nnte. Nach dem Dekodieren des Befehles wei� man auch sofort was in den anderen Bytes steckt.

Der wichtigere Vorteil aber: Der n�chste Befehl f�ngt garantiert 6 Bytes weiter an. Warum ist dies wichtig? Nun etwa zeitgleich mit RISC setzte man Pipelines in Mikroprozessoren ein. Pipelines holen die Daten und fangen schon mal an zu dekodieren. Die L�nge einer Pipeline gibt man in Stufen an. Eine 5 stufige Pipeline wie sie der 486 Prozessor hat, z.B. 5 Befehle in unterschiedlichen Stadien der Dekodierung im "Fluss". Wenn nun die Ausf�hrungszeit des einfachsten Befehls 5 Takte betr�gt, so kann eine solche Pipeline bei jedem Takt einen Befehl dekodiert anbieten und so die Performance steigern.

CISC Prozessoren m�ssen sich viel einfallen lassen, um die verschiedenen Kombinationsm�glichkeiten in einer Pipeline zu dekodieren. Die Pipelines sind dort lang, weil es so viele M�glichkeiten gibt und man deswegen mehr Stufen braucht. RISC Prozessoren wissen dagegen genau wo der n�chste Befehl beginnt und k�nnen mehr automatisieren. Die Pipeline ist k�rzer. Das ist von Vorteil wenn ein Sprung im Programm kommt, denn dann stimmen alle Daten in der Pipeline nicht mehr.

Die Forderung nach einfachen Befehlen erw�chst auch hieraus: Das schnelle Dekodieren der Befehle im "Flie�band" hat nur einen Vorteil, wenn auch die Befehle schnell ausgef�hrt werden, denn sonst hat man nichts von dem Geschwindigkeitsvorteil. Daher gibt es nur elementare Befehle die idealerweise in einem Takt ausgef�hrt werden.

Intel Sieg - Ein CISC Sieg?

Selbst INTEL brachte 1989 einen RISC Prozessor heraus, den Intel 860. Doch selbst bei Intel waren Kunden nicht bereit vom althergebrachten PC Standard zu l�sen. Mitte der neunziger Jahre hatte Intel seine x86 Reihe soweit gesteigert, das er nun auch mit Multiprozessorsystemen in den Markt der RISC beherrschten Workstations eindrang. Dank R�ckgriff auf PC Hardware waren diese deutlich billiger herzustellen. Nun r�chte es sich, das Hersteller wie Sun, Silicon Graphics oder DEC den PC Markt nie beachteten. Als dann etwa zur gleichen Zeit auch vermehrt Netzwerke ihren Einzug in Firmen hielten, blieben die Kunden, die bisher eben PCs hatten auch bei dem was sie kannten: Server mit x86 Hardware und Windows NT anstatt Workstations und UNIX.

Was ist der unterschied zwischen risc und cisc
Den Endverbraucher interessiert das "was hinten rauskommt" um einen Bundeskanzler zu zitieren. Was n�tzt es wenn ein Power PC mit 450 MHz und passivem K�hler genauso schnell ist wie ein Pentium III (Bild links) mit 700 MHz und aufwendigem K�hler? Solange ein PC billiger als ein Mac ist, weil er viel h�ufiger hergestellt wird geht die Rechnung zugunsten des PC auf. Und Intels Prozessoren k�nnen mithalten, anstatt den Prozessorcode zu ver�ndern steigerte man Taktfrequenz, integrierte L1 und L2 Cache in den Kern um die Geschwindigkeit zu steigern. Daf�r hat Intel zusammen mit HP's PA Serie die Krone was Transistoren pro Chip betrifft: Niemand treibt soviel Aufwand um eine bestimmte Rechenleistung zu erreichen.

CISC hat also gesiegt oder?

Nein! Zum einen gibt es zahlenm��ig erheblich mehr RISC als CISC Prozessoren. Denn zum Einsatz kommen Sie �berall dort wo keine IBM Kompatibilit�t verlangt wird - Als Druckerkontroller, in PDAs (wegen dem Stromverbrauch), in den Spielkonsolen und im zahllosen Elektronikbauteilen im Auto. (Ein Mittelklassewagen besitzt zwischen 13 und 30 Mikroprozessoren, die meisten als Embedded Controller).

Zum anderen gibt es heute die Trennung CISC und RISC nicht mehr. Intels erster 64 Bit Prozessor Itanium hat Anleihen an RISC gemacht. Die RISC Prozessoren wurden mit der Weiterentwicklung auch komplexer und n�hern sich CISC. Schlussendlich aber gibt es die CISC Architektur des x86 Prozessors nicht mehr...

Bei Intel hat sich seit dem 486 einiges getan. Der 486 kam 1989 raus und zeigte, das die x86 Architektur so langsam am Ende war. Durch eine 5 stufige Pipeline konnte man nun 80 % der Befehle in einem Taktzyklus ausf�hren - schneller ging es mit der x86 Architektur nicht, trotzdem war der 486 nur zirka 60 % schneller als ein 386 und lange Zeit zu teuer. Erst 1993 konnten die Verk�ufe die des 386 �berfl�geln, wobei Intel noch ge�rgert haben d�rfte, das vorher AMD mit der 40 MHz Version des 386 (Intel hatte nur eine 33 MHz Version), das gro�e Gesch�ft machte.

Kurzum: der Intel 80486 Nachfolger Pentium musste kompatibel sein, aber neu sein. Was Intel machte war folgendes: Nach dem Dekodieren der Befehle werden diese in einfachere RISC Befehle �bersetzt, umgruppiert und zwei Rechenwerken die reine RISC Maschinen sind, zugef�hrt. Seit dem Pentium Pro ist dies so und ein Pentium 4 ist im Prinzip ein guter x86 Emulator... Eine x86 Instruktion kann dabei nur eine aber auch drei oder vier einfache RISC Operationen umfassen. Dabei sind diese relativ lang, beim Pentium III 118 Bit. Beim Pentium 4 wahrscheinlich nur etwa die H�lfte.

Bei dem Umsetzen in RISC Befehle blieben gab es allerdings ab und zu Fehler, was f�r sch�ne Aufregung sorgte. Alle Konkurrenten (AMD, Cyrix, IDT) machen es �hnlich, nur nat�rlich nicht identisch. So waren Taktgeschwindigkeiten Makulatur, weil jeder eine andere RISC Maschine einsetzte.

Mit dem neuen 64 Bit Itanium Prozessor wird auch bei Intel eine RISC Einheit mit 128 Registern einziehen. Der neue 64 Bit Modus ist eine richtige RISC Architektur mit konstanter Befehlsbreite von 41 Bit, wobei zur Optimierung 3 Befehle zu einem 128 Bit Doppelwort zusammengefasst werden - Der Compiler und nicht der Prozessor soll in den verbleibenden 5 Bits Informationen �ber die Abh�ngigkeit der Befehle speichern. Dadurch will man die aufwendige spekulative Ausf�hrung und Umgruppierung der x86 Serie erleichtern.

Noch immer allerdings sind klassische RISC Prozessoren wie der Alpha oder Ultrasparc in der Performance f�hrend, wie folgende Tabelle zeigt:

ProzessorTakt (MHz)SPEC fp_Base 2000pro MHz
Pentium III 1080 1824 1.689
Athlon 1333 2672 2.004
Pentium 4 1700 3456 2.033
Ultrasparc III 900 3760 4.178
Alpha 21264A 833 4121 4.947

Nur durch den doppelt so hohen Takt kann der Pentium ann�hern mithalten. Da allerdings dieser sehr rasant angestiegen ist, ist abzusehen, das in den n�chsten Jahren die Intel Prozessoren auch die absolute Geschwindigkeitskrone holen werden. Man muss allerdings auch dazu sagen, dass dieser Benchmark nur die Rechengeschwindigkeit angibt. Die meisten Prozessoren die hier auftauchen arbeiten aber als Server Prozessoren. Hier geht es um das schnelle Schaufeln von Daten. Hier sind Prozessoren im Vorteil die dicke Datenbusse schnell an die CPU angebunden haben. So erreichen die Power PC 4 Prozessoren von IBM hier sehr gute Werte, w�hrend ein Pentium 4 hier durch einen 16 bittigen RAMBUS sehr alt aussieht. Nicht umsonst fertigt Intel separate Server Prozessoren und Chips�tze f�r Server, die dann schon mal mehr kosten als 2 normale PCs (nur Prozessor und Mainboard...).

Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensläufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.

Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.

Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.

Mehr über das Buch auf dieser eigenen Seite.

Hier geht's zur Gesamtübersicht meiner Bücher mit direkten Links zum BOD-Buchshop. Die Bücher sind aber auch direkt im Buchhandel bestellbar (da ich über sehr spezielle Themen schreibe, wird man sie wohl kaum in der Auslage finden) und sie sind natürlich in den gängigen Online-Plattformen wie Amazon, Libri, Buecher.de erhältlich.


� des Textes: Bernd Leitenberger. Jede Ver�ffentlichung dieses Textes im Ganzen oder in Ausz�gen darf nur mit Zustimmung des Urhebers erfolgen.
Sitemap Kontakt Impressum / Datenschutz Neues Hier werben / advertisment here Buchshop B�cher vom Autor
Was ist der unterschied zwischen risc und cisc

Was versteht man unter RISC?

Abk. für Reduced Instruction Set Computer; Rechner mit verringertem und vereinfachtem Befehlsrepertoire (Maschinenbefehl). Komplizierte Befehle werden durch eine Folge einfacher RISC-Befehle emuliert.

Warum RISC?

RISC - Reduziert auf Geschwindigkeit Die wenigen Befehle machen das Design einfacher und man kann den Prozessor billiger herstellen. Anstatt Mikrocode verwendet man eine direkte Verdrahtung der Befehle im Dekodierer, wodurch die Ausführung schneller als bei CISC ist. Gleichzeitig vereinheitlicht man das Datenformat.

Was ist ein CISC Rechner?

Die Abkürzung CISC steht für Complex Instruction Set Computing. Damit wurden Computer beziehungsweise Prozessoren bezeichnet, die ein möglichst umfassendes Set an Instruktionen enthalten haben.