RISC und CISC Prozessoren --- Unterschiede und Entwicklung Christian Bender https://www.youtube.com/watch?v=RoWf5uX56Es Transkript (automatisch erstellt) 0:00 so herzlich willkommen zum Video in diesem Video wollen wir uns mal mit den risk und mit den cisk Prozessoren beschäftigen und wo hier genau die 0:08 Unterschiede liegen wir starten mit den cisk Prozessoren ein klassischer Vertreter dieser Prozessoren ist der 886er 0:19 ne von Intel mit dem haben wir uns ja auch schon beschäftigt den haben wir auch schon mit Assembler programmiert der Unterschied liegt jetzt 0:28 letztendlich darin dass wir bei den ziskpzessoren einen komplexeren Befehlssatz haben man muss ich das so vorstellen zu den Anfängen der 0:39 Mikroprozessortechnik wurden die Befehlssätze der Prozessoren immer komplexer man wollte z.B auch komplexe Berechnungen 0:46 äh mit mit einem einzigen Befehl z.B durchführen können man wollte also komplexere Befehle um auch den Programmierer das 0:57 Leben zu erleichtern ne Beispiel beispielsweise der 8086er der verfügt z. BEP über den Befehl lup z.B ist das interessant wenn 1:08 man Schleifen benötigt eine einfache zelschleife z.B entspricht z.B in C in C++ der vorschlager aber auch in pyon z.B und in 1:20 Java dafür gibt es hier einen extra Befehl das ist ein komplexer Befehl das weiteren auch die in Anführungszeichen die einfache 1:32 adressierungsmöglichkeiten des Hauptspeichers die wir hier mit dem hier hatten ja wo wir also die direkte Adressierung anwenden konnten und so 1:39 weiter oder sogar Variablen verwenden konnten ne also diese Möglichkeiten das ist auch hier nur bei den ZIS Prozessoren 1:48 möglich auch solche Befehle wie z.B Inc oder Deck ne z.B zum inkrementieren oder dekrementieren das sind wohlgemkt assemler Befehle ne das sind z.B komplex 2:00 Befehle ne die haben wir bei den zistprzessoren also wie gesagt zu den Anfängen wurde der befehlsatz hier immer komplexer man brotzte im Prinzip diesen 2:10 Prozessor auf ne leider das werden wir auch später noch sehen wurde da auch sehr viel Ballast mit eingebaut also Befehle die man fast gar nicht braucht 2:19 oder nur zu einem ganz geringen Maße braucht [Musik] ne die verschiedenen Befehle na das M 2:28 dass man mal etwas Unterscheid lernt es gibt z.B Befehle die spielen sich hauptsächlich auf schaltungsebene ab ne die sind also einfach auf 2:36 schaltungsebene entsprechend implementiert z.B der adbefehl zum addieren der subbefehl zum subtrahieren der morbefehl zum Bewegen von 2:44 Daten beispielsweise zwischen Registern und so weiter und dann haben wir W haben also einmal die schaltungsebene und dann 2:53 haben wir die Software Ebene die softwarebene m sich vorstellen die liegt über der schaltungsebene wenn wir heute mit dem Computer Arbeit iten müssen Sie 3:00 sich vorstellen das können sich wie ein vielschichtiges Gebilde vorstellen und wenn Sie beispielsweise im Internet surfen 3:07 oder Ihre E-Mails abrufen oder z.B Ihren Terminplan am Computer ändern oder sonst irgendwas mal Musik hören dann haben sie es im Prinzip mit dem 3:17 hauchdünnen Zuckerguss zu tun der Kern dieses Gebildes die schaltungsebene das ist das einzige was der Computer kann was er versteht und dann gibt es z.B 3:26 eine einfache primitive Form der Software Ebene im Prinzip arbeiten wir wenn wir wenn sie jetzt sich z.B im Internet dieses Video ansehen haben sie 3:37 es auch mit der softwarebene zu tun allerdings mit einer höheren Software Ebene es gibt ja allerdings eine primitivere Software Ebene und in dieser 3:45 softwarebene sind dann die komplexeren Befehle also z.B der lbefehl der inkrementierungsbefehl der dekrementierungsbefehl die einfache 3:53 Adressierung teilweise auch Multiplikation und divisionsbefehle sind darin implementiert 4:02 die ersten Prozessoren z.B ne besaßen z.B gar keine Befehle für die Multiplikation und Division vorzunehmen das wurde dann auch später geändert bzw 4:13 wurde auch teilweise softwareemäßig implementiert ne das heißt also wir haben einmal Befehle die sich auf reiner schaltungsebene abspielen und dann auch 4:20 wieder Befehle die sich auf Software Ebene abspielen das sind dann die komplexeren Befehle die vor Nachteile der Software 4:29 Implementierung dieser Befehle ne also wir haben einmal das die Situation dass komplexere Befehle dadurch wesentlich einfacher zu implementieren sind das 4:40 heißt wir haben das im Prinzip mit einem programmiertechnischen Problem zu tun ist also kein Problem in der Hinsicht leider sind diese Befehle 4:51 natürlich nicht gerade sehr effizient ne weil um einen solchen Befehl zu realisieren erst einmal ein sogenanntes Mikroprogramm ausgeführt werden muss da 5:01 werden wir gleich drauf kommen und da können sich natürlich vorstellen dass ein Mikroprogramm auszuführen natürlich wesentlich länger dauert ne bzw für den 5:09 jeweiligen Befehl zu realisieren das ganze wesentlich mehr Zeit verschlingt wie wenn der Befehl rein auf schaltungsebene blitz schnell ausgeführt 5:16 werden kann ne die Befehle die vornachteile der Befehle auf schaltungsebene wir haben hier den 5:25 Nachteil auf schaltungsebene sind z.B diese komplexen Befehle wie wir sie hier sehen sind hier nur sehr schwer zu implementieren weil das ganze sehr 5:32 schaltungsaufwiendig ist der Vorteil der schaltungsebene ist allerdings dass die Befehle hier wesentlich schneller ausgeführt werden können teilweise kann 5:41 hier ein Befehl pro Taktzyklus ausgeführt werden das sind also die Geschichten mikroprogrammierung bei cisk Prozessoren also die die cisk 5:53 Prozessoren die waren immer mikrprogrammiert das bedeutet wir haben ein kleines Programm welches den Ablauf bzw den eigentlichen 6:04 komplexen Befehl steuert ihn realisiert ne und dieses Mikroprogramm basiert dann letztendlich auf einfachen Befehlen einfachen Befehlen dahingegen dass diese 6:15 auf schaltungsebene realisiert sind das heißt also mit diesen einfachen Befehlen wird dann programmiertechnis ein komplexerer 6:22 Befehl realisiert na wie z.B der inkrementierungsbefehl oder dekrementierungsbefehl als Beispiel komplexe Befehle werden also 6:32 softwareemäßig mit Hilfe eines mikroprogramms realisiert Standardbefehle wie ad und Morf werden auf schaltungsebene 6:40 aufgebaut ne das haben wir eben auch besprochen letztendlich lässt sich damit dann auch das Mikroprogramm realisieren die mikroprogramme werden 6:49 z.B in rombausteinen innerhalb oder außerhalb der CPU untergebracht rombaustein ist Speicherbaustein den kann man im Prinzip nur auslesen eine 7:00 erneute Beschreibung ist nicht möglich diese rombaustne werden dann z.B ab Werk mit einem entsprechenden dem Fall mit einem entsprechenden Mikroprogramm 7:09 versehen das heißt es kann nur ausgelesen werden ne und dann natürlich von entsprechenden Einheiten der CPU kann das Mikroprogramm verarbeitet 7:18 werden ne wie gesagt bei modernen Prozessoren würde sich dann dieser rombaustein innerhalb des Prozessors befinden also bei moderneren 7:25 cisprzessoren bei älteren befand sich dieser rombaustein dann außerhalb der CPU das Mikroprogramm wird dann von einem sogenannten 7:36 mikroprogrammsteuerwerk geladen und letztendlich ausgeführt ne hier sehen Sie mal rombausteine beispielsweise hier auf einem mabard ne 7:45 vem älteren und hier auch direkt in platinenform das sind also diese Bausteine die dann beispielsweise ein Mikroprogramm enthalten können 7:54 ne jetzt kommen wir zu den riskpzessoren ähm die riskprozessoren ne da stellte man z.B zu den Anfängen stellte man fest dass bei den zisk Prozessoren nur ein 8:09 kleiner Teil der komplexeren Befehle bei der Programmierung wirklich verwendet wurden ne das heißt also zum Großteil hatten wir es mit einfachen Befehlen zu 8:18 tun die auf schaltungsebene realisiert wurden ne und nur zu einem ganz kleinen Teil wurden wirklich diese komplexen Befehlen verwendet dasal habe ich 8:26 anfangs auch gesagt diese risk diese zisprzessoren wurden zu den Anfängen auch mit viel Ballast vollgestopft den man fast gar nicht braucht oder nur zu 8:34 einem geringen teilbrand benötigt ne und das wurde dann auch durch entsprechende Untersuchung festgestellt deshalb kam man zu einem neuen prozessoresign und 8:43 das war eben das das das risk Design dafür waren die zisprozessoren in der Regel durch die komplexeren Befehle und Mechanismen ne sehr viel langsamer 8:56 ne das darf man auch nicht vergessen das heißt haben wir eben schon gesagt durch diese komplexeren Befehle die letztendlich durch mikroprogramme 9:04 realisiert wurden waren die natürlich auch nie nicht so effizient wie die normalen Standardbefehle die auf dem auf schaltungsebene realisiert wurden das 9:13 Weiteren besitzen die zisk Prozessoren auch weniger Register z.B allzweckregister hier als Beispiel ein Assembler Programmierer z.B 9:23 oder ein assimpler programmierin versucht immer so viele Daten wie möglich Prozessor nah in den entsprechenden allzweckregistern AX BX 9:33 CX und DX ne zu lagern das sind nämlich blitzschnelle Speicher die aus Flipflops aufgebaut sind und die erlauben es die Daten durch den Prozessor sehr schnell 9:44 verarbeiten zu lassen im Gegensatz zum langsamen Arbeitsspeicher die ziskpozessoren wie gesagt enthalten hier nur wenige 9:53 Register umgekehrt diese die neueren Prozessoren die dann gekommen sind diese riskpzessoren die enthielten in der Regel 50 bis 200 Register das heißt also 10:05 der Programmierer hatte hier wesentlich mehr Möglichkeiten Daten direkt Prozessor nah abzulegen wir hatten es hier auch mit einem 10:13 abgespeekteren Befehlssatz zu tun es wurden also nur grundlagenbefehle bei den riskwuren realisiert mit denen dann 10:21 beispielsweise auch mit etwas mehr Aufwand komplexere Befehle realisiert wurden er werden konnten im Programm besser gesagt nicht nicht komplexere 10:32 Befehle sondern komplexere Operation beispielsweise eine Schleife beispielsweise inkrementierung und so weiter das war zwar ein bisschen 10:38 aufwendig für den Programmierer allerdings konnte man dann diese Funktionen wesentlich effizienter also wesentlich schneller auch von der 10:45 Ausführung hier realisieren es war allerdings auch so dass der dass die Verwaltung des Arbeitsspeichers sehr erschwert wurde 10:55 man konnte nämlich nur über entsprechende Befehle in den Arbeitsspeicher Laden ne oder oder lesen ne das da gab es also extra 11:05 Befehle dafür so elegant wie man das beispielsweise unter dem 8086er von inkel noch realisieren konnte war das dann hier nicht mehr allerdings 11:16 wie gesagt war es wesentlich effizienter ne weil wirklich ja nur die Standardbefehle normalerweise bei den SIS Prozessoren zum groostal verwendet 11:24 wurden die komplexeren Befehle nur gelegentlich deshalb kann man auf die Idee die kann man ja auch mit den einfachen Befehlen 11:31 realisieren die Vorteile ne beispielsweise Hochsprachen Compiler können bei riskprzessoren den Code wesentlich besser optimieren als dies 11:42 bei cisprzessoren möglich ist ne ein Beispiel äh höhere programmiersparen wie z.B cc++ die übersetzen den Quellcode als erstes in assembller ne so wenn ich 11:54 jetzt natürlich ein riskpzessor habe ne das ganze entsprechend abgestimmt ist dann kann hier der Compiler den Programmcode wesentlich besser 12:03 optimieren das Programm also wesentlich effizienter gestalten effizient bedeutet hier das Programm läuft dann wesentlich schneller und verbraucht weniger 12:11 Speicher als das bei als das bei den cisprzessoren möglich ist ne ähm das heißt also die Programme laufen da natürlich wesentlich effizienter eben 12:26 weil diese Befehle auf simpler Ebene dann in dem Fall direkt auf schaltungsebene realisiert wurden bzw werden und weil 12:36 auch mehr Register zur Verfügung stehen um die Daten direkt Prozessor nahzalten s dass auch hier eine schnelle Verarbeitung ermöglicht wird ne das 12:43 heißt also ich brauche dann keine langsamen Zugriffe mehr auf den Arbeitsspeicher Nachteil bei der ganzen Geschichte ist natürlich wir haben einen 12:52 wesentlich höheren Aufwand bei der Assembler Programmierung letztendlich ne na hier muss man wesentlichen höheren auf betreiben weil man diese komplexen 13:01 Operationen beispielsweise eine Schleife beispielsweise inkrementierung dekrementierung ne weil man das entsprechend auf 13:11 Standardbefehle zurückführen muss also etwas mehr tiparbeit hat aber wie gesagt das ganze ist dann wesentlich effizienter z.B was bei der bei den 13:23 riskprozessoren auch noch der Fall ist ne also wie gesagt Stichwort Speicherverwaltung ne ist hier komplexer das weiteren die operanten der 13:31 alubefehle also z.B zum addieren ne zum subtrahieren oder für logische Vergleiche und so weiter oder z.B na ja für diese Befehle ne für die Alu Befehle 13:46 mussten z.B die operanten sich in der Regel in Registern befinden ne das heißt also ich konnte hier keine konstanten mehr als operanten verwenden und ich 13:55 konnte natürlich auch keine Speicherzellen des Arbeitsspeichers wo dann z.B Werte enthalten waren als operanten verwenden 14:03 das heißt diese mussten wirklich sich in Registern befinden ne das ist halt auch ein Nachteil wenn man es so möchte bei den riskpzessoren gewesen also man hat 14:14 hier wirklich einen größeren Aufwand allerdings wie gesagt das ganze effizienter da man bedenken muss dass nur ein kleiner Teil der komplexeren 14:21 Befehle wirklich bei den zispessionen verwendet wurden Vertreter der zispzessoren das war damal klein über Blick haben 14:30 beispielsweise der Intel i960 ne der war sehr vielvsprechend auch damals ne oder beispielsweise der microos Spark 14:40 Prozessor von der Firma Sun wurde z.B auch in workstationen ne verwendet eine Workstation ist nichts anderes als ein Arbeitsplatzrechner der entsprechend 14:52 leistungsfähig ist das heißt also auf dem kann ich dann beispielsweise auch ohne Probleme Videodaten oder Audiodaten bearbeiten ich kann hier auch sehr 15:02 effizient wissenschaftliche Berechnungen ausführen oder auch in der Softwareentwicklung kann ich damit relativ gut arbeiten da wurden z.B auch 15:10 diese RIS Prozessoren hier verwendet auch in Mikrokontrollern z.B in der Mikro den Mikrokontrollern der Familie nicht der 15:20 Familie sondern der Firma Atmel z.B von der aus der Familie AVR hier wurden auch das riskpzessor Design verwend 15:29 Anwendung dieser Mikrokontroller im übrigen z.B in der XBox da wurden die verwendet auch in aduinobot ne mit dem wir auch schon gearbeitet haben da 15:39 werden auch diese diese Mikrokontroller der Firma Atmel aus der Familie AVR verwendet ne moderne Prozessoren 15:51 ne am besten so hat sich gezeigt am besten sind die Prozessoren die beide Vorteile die Vorteile also aus der Technik der rispzessoren und der zisk 16:03 Prozessoren Vereinen ja das heißt also wir sprechen dann von hybridprzessoren die also beide Vorteile aus risk und cisk Vereinen 16:14 z.B es gibt z.B in modernen Prozessoren Einheiten wohlgemerkt auf schaltungsebene nicht auf mikroprogrammebene auf schaltungsebene 16:22 die komplexe Befehle in risbefehle übersetzen ne es gibt also auch hier Prozessoren auch riskpzessoren die die komplexen 16:33 Befehle verstehen ausführen können allerdings ist es so dass die heutigen modernen Prozessoren dass es hier keine mikroprogrammierten zisk Prozessoren wie 16:42 zu den Anfängen mehr gibt das mal Vorstellung haben wie das hier mit dieser Einheit aussieht sehen Sie hier jetzt eine kleine Animation wir haben 16:50 hier einen wankler das stellt dieser wankler stellt diese Einheit zur Dekodierung letztendlich da hier kommt z.B ein komplexer Befehler re und wird 16:59 dann hier in riskbefehle NA in eine Folge von riskbefehlen übersetzt sehen Sie jetzt ne der geht rein und dafür kan hier beispielsweise drei riskbefehle 17:11 raus die dann diesen komplexen Befehl hier realisieren können ne wie gesagt dieser Wandler auf schaltungsebene nicht mehr auf 17:22 mikroprogrammebene ne das wäre das an Vertreter z.B dieses Modells was ich eben genannt haben dass wir also eine Einheit haben die die komplexeren 17:33 Befehle in riskbefehle übersetzt war z.B der Intel pensium pro Prozessor ne der hatte eine entsprechende Einheit letztendlich die komplexe Befehle in RIS 17:43 Befehle übersetzen konnten somit konnte man auch komplexere Befehle relativ effizient umsetzen ne das wäre noch das also die heutigen Prozessoren da haben 17:53 wir es mit hybridprozessoren zu tun okay das war war an dieser Stelle schon ich bedanke mich recht freundlich fürs zuschauen wenn Sie Fragen zum Thema 18:03 haben können Sie natürlich wie immer gerne die Fragen über das kommentarfel Stellen ich würde mich noch über abon freuen und bedanke mich recht freundlich 18:10 fürs zuschauen vielen lieben Dank