Wunderbar, somit starten wir also mit der vierten Vorlesung Rechnerrektur und zwar mit dem Kapitel
2 geht es weiter. So ein kleiner Nachtrag allerdings noch, ich muss mir erstmal hier nochmal richtig, und zwar ein kleiner
Nachtrag habe ich noch zu diesem Hades Programm, eine Einübungsaufgabe ist sonst ja mit diesem
Programm da auch mal spielen, aber das spielen ist mal Proben, dass die Mikroprogrammierarchitektur
da umsetzt und das habe ich jetzt das erste Jahr gemacht, dass das als Hades Simulation vorliegt
und wenn man sowas zum ersten Mal macht, ist es normal, dass da dann immer wieder mal ein paar
Fehlerchen auftauchen und zwar der eine Fehler, der mir auffiel, auf den möchte ich Sie hinweisen,
der liegt ja beim Hades selbst und zwar hat er zu tun mit den Schaltboxen, so ich lade das mal hier
rein, ich hatte die gedreht, so klären wir gleich, so genau Sie müssen dann auch als erstes dieses
MicroProc Example laden, alles weitere was dann unten drunter steht wird automatisch geladen,
so und jetzt geht es um diese Schalter hier da draußen, ja, einen Moment machen wir die mal ein
bisschen größer noch, Windows, Zoom In, Ctrl Z, diese Schalter, die hatte ich einfach gedreht gehabt,
also gespiegelt und das führte zu dem, hier, die hatte ich einfach gespiegelt, die Schalter hier,
da wo ich glaube mit der Maus drum herum kreise, die waren gespiegelt, also so dass die Reihenfolge
war 3 2 1 0 und nicht 0 1 2 3, da musste ich hier nicht so um die Ecke vertraten, hatte allerdings
den Effekt, dass man dann, man konnte nur die hier anklicken, die drüben kommen hier anklicken,
also habe ich es wieder gedreht, das war praktisch ein Fehler im Hades, also wenn es gedreht ist und
sie klicken hier rein, dann funktioniert es nicht, das habe ich dann gemerkt und hier unten war auch
noch eine kleine Sache und zwar da hatte ich Signal 1 mit 2 vertauscht, das war an einen von den,
hier unten ja, ich glaube in dem hier unten oder in dem hier war es glaube ich, da hatte ich 1 mit 2
vertauscht, also ein von diesen 3 Gate Eingängen und am besten sie laden sich das Ding einfach
nochmal aus dem Stuton raus, da ist alles beseitigt, die Switches sind jetzt richtig gedreht, so dass
man alle Werte eingeben kann und hier unten ist auch alles richtig vertratet. Ich bin nämlich die eine
Aufgabe mal durchgegangen, dachte mir, wieso kommt denn das nicht raus und habe gesehen, da ist ein
Vertratungsfehler. Gut, also einfach nochmal runterladen, auschecken aus dem Stuton und dann
sollte das funktionieren. So, somit machen wir weiter mit der Vorlesung und da sind wir letzte
Woche ja stehen geblieben bei diesen Befehlsatzarchitekturen. Um das nochmal zu
wiederholen, das war also die vorletzte Folie, die ich aufgelegt hatte, es geht jetzt also darum,
ja wir hangeln uns jetzt so Stück für Stück voran und heute will ich auch noch ein bisschen
was über Rechenwerke sagen und wir wollen aber heute erst nochmal mal drauf gucken,
wie wir eigentlich den Speicher adressieren können. Bis jetzt war dieses Blockschaltbild vom
Mikroprogrammwerk, stand da einfach vom Speicher und zum Speicher. Wie das dann vom Befehl aus genau
geschehen kann, wie sie als in der Lage sind in ihrer Befehlsatzarchitektur das anzusprechen,
das wollen wir eben heute klären und dazu muss man eben unterscheiden, welche Klassen von
Befehlsatzarchitekturen wir denn kennen bzw. was die Literatur denn da unterscheidet und da hat man
also einmal ganz links hier diese Stack-basierten Architekturen, die wie ich sagte, die werden zum
Beispiel in den Taschenrechnern eingesetzt. Sie haben den Vorteil, wenn man das entsprechend
Parast auf Neuteitsch, also einen arithmetischen Ausdruck liest, dass man dann die Klammern
weglassen kann. Umgekehrte polnische Notation ist da ein Stichwort, das will ich jetzt nicht
weiter vertiefen, aber der Vorteil ist so, ich leg mal also meine Operanten immer auf einem Stack,
also auf dem Stapel ab und immer wenn ein Operator kommt, nehme ich die beiden obersten,
dort abgelegten Operanten her und verknüpfe die mit dem gegebenen Operator. Und so wächst und
schrumpft der Stack eben und ich kann damit eben nicht nur arithmetische Operationen bearbeiten,
sondern auch komplette Computerprogramme. Das sind also diese Stack-basierten Architekturen,
die den Vorteil haben, dass sie sehr speicherschonend sind, also sehr speichereffizient,
sind aber jetzt nicht unbedingt von der Programmierbarkeit so freundlich. Wenn man
allerdings einen C-Compiler hat, der das Ganze übersetzt, dann ist diese Komplexität von einem
selbst sozusagen verborgen worden. Hier in der ganz links haben wir diese akkumulatorbasierten
Architekturen und das heißt, da ist ein Operant immer implizit, ohne dass er explizit genannt
wird, der Akkumulator. Das heißt, immer war es dieses ausgezeichnete Register, das Ergebnis der
Presenters
Zugänglich über
Offener Zugang
Dauer
01:25:12 Min
Aufnahmedatum
2012-05-07
Hochgeladen am
2019-04-12 03:59:03
Sprache
de-DE
Ziel der Vorlesung ist, die Grundlagen beim Aufbau eines Rechners zu vermitteln. Dies beinhaltet die Grundkomponenten, wie das Leitwerk, das Rechenwerk, das Speicherwerk und das Ein-/Ausgabewerk. Ausgehend vom klassischen von Neumann-Rechner wird der Bogen bis zu den Architekturen moderner Rechner und Prozessoren geschlagen.
Grundprinzipien der Ablaufstuerung bei der Berarbeitung von Befehlen werden ebenso behandelt wie Aufbau und Funktionsweise eines Caches und die Architektur von Speichern im Allgemeinen. Das Konzept der Mikroprogrammierung wird erläutert. Ferner wird der Einstieg in die hardwarenahe Programmierung moderner CPUs mittels Assembler vorgestellt und erprobt. Aufbau und Funktionsweise peripherer Einheiten und Bussysteme werden ebenfalls behandelt.
Die Studierenden sollen am Ende der Vorlesung den Aufbau und die Funktionsweise der Architektur eines Rechners, z.B. eines PCs, und des darin enthaltenen Prozessors nicht nur kennen, sondern auch die Gründe für deren Zustandekommen verstanden haben.