10 - Grundlagen der Rechnerarchitektur und -organisation [ID:10458]
50 von 845 angezeigt

Dann begrüße ich Sie zur Vorlesung der Rundlage Rechneraktur diese Woche.

Letzte Woche sind wir angekommen aus dem Kapitel 4 Hardware, Nahe Programmierung in Assembler.

Ich hatte Ihnen ein paar Beispiele gezeigt, wie man mit dem Intel 80x86 Assembler erste

Schritte macht. Und in Kapitel 4 und 5 sind wir angekommen bei einer Sache, die nicht ganz

unwichtig ist, auch für die Klausur, also Behandlung von Kontrollstrukturen. Da lassen

sich immer ganz nett Aufgaben machen. Also, apropos Klausur, falls Sie es noch nicht wissen,

wissen Sie schon alle, wann der Termin ist? Ich glaube, im September, am 27. September,

findet die Klausur statt. Zur Klausur sage ich dann, in drei Wochen, zwei Wochen bei der

letzten Vorlesungsstunde, da machen wir noch ein paar Dinge, geben wir auch noch einmal

Hinweise, ich gebe noch einmal Hinweise, was Sie besonders angucken sollten. Und wir machen

auch noch, als in der Vergangenheit, eigentlich immer ganz gut bewährt, noch einmal ein oder

zwei Wochen vorher noch einmal so eine Art Tutorium. Da können Sie noch einmal gezielt

Fragen stellen oder wirklich noch einmal ein paar Dinge durch, um Sie da richtig darauf

vorzubereiten. So, also zu dieser Behandlung von den Kontrollstrukturen, insbesondere wichtig

jetzt bei diesen Ifs, denn Als, ist also diese Short Circuit Semantik. Sinn und Zweck von

diesem Ganzen ist eben die Anzahl der Go-Tours. Und Go-Tour ist unsere einzige Kontrollstruktur,

die also den Kontrollfluss manipuliert, wie wir am Assembler kennen, zum Minimieren.

Die Anzahl der Go-Tours, die dann da tatsächlich ausgeführt werden sollen, mögen recht klein

sein und das kann man eben mit dieser Short Circuit Semantik erreichen, beispielsweise

wie hier jetzt gezeigt, angenommen wir haben also eine logische Unverknüpfung. Was kann

man tun? Ja, man muss also im Prinzip bei den einzelnen Bedingungen immer auf das Gegenteil

abfragen und dann, wenn einmal die Bedingung verletzt ist in der Ausgangsgleichung bzw.

wenn sie dann erfüllt ist in der Negation, bei der Überprüfung der Negation, springt

man über diesen Sandteil hinweg. Hier steht es Go-to-if-out und damit ist man aus der

If-Anweisung bereits draußen. Und das muss man halt nacheinander machen für alle, die

hier gelistet sind, für alle Teilbedingungen, die in einer Unt-Abfrage gelistet sind. Gut,

das Gleiche kann man sich dann überlegen, wie das stattfinden muss, wenn wir eine Oder-Verknüpfung

haben. I kleiner 10 oder J kleiner 20, wie jetzt auf der Folie ein Beispiel gezeigt.

Auch da gibt es eben eine Umformung und die Umformung lautet dann eben so, dass ich die

ersten immer angucke, die belasse ich, also die ersten Teilabfragen von links nach rechts

betrachtet, die belasse ich in der Urform immer erhalten, I kleiner 10, I kleiner 10.

Und sobald da eine Bedingung erfüllt ist, kann ich in den Venteil der Bedingung springen.

Go-to-vent clause, also springt man da rein. Und nur bei der letzten da muss ich aufpassen,

bei der letzten muss ich natürlich dann fragen nach dem Gegenteil, wenn es nicht erfüllt

ist bzw. wenn das Gegenteil erfüllt ist, dass ich dann über den Venteil drüberspringe,

also go-to-if-out. Hier, Venteil ist dann übersprungen worden. Und so kann ich also

solche Anweisungen, wie ich es in der Hochsprache relativ einfach verstehen kann, die hier oben

sind natürlich wesentlich pragmatischer als die da unten, da muss ich mich erstmal durch

mehrere Anweisungen durcharbeiten und es sind dann auch noch diese in der Hochsprache unbeliebten

Go-to-Befehle drin. Aber ich komme bei der Implementierung nicht drum herum. Das heißt

also, dann müssen Sie sich das dann halt überlegen, wie löse ich so etwas auf. Geht

auch für andere Kontrollstrukturen, haben wir zum Beispiel das while, das while, das

können wir dann eben zurückformen auf das, was wir jetzt schon gemacht haben, der if-Anweisung,

kennen wir, wie wir die jetzt auflösen. Allerdings müssen wir noch ein paar Dinge davor schreiben,

weil heißt ja, wir gehen durch diesen Schleifenkörper nur dann durch, wenn also die Bedingung erfüllt

ist, also wir laufen nicht auf jeden Fall einmal durch, wie bei einer Repeat-Antil-Schleife.

Folglich müssen wir erstmal gleich hier auf eine Marke hinspringen, in dem abgefragt

wird, ob die Bedingung erfüllt ist und wenn ja, dann gehen wir auf den Schleifenkörper

und dann läuft diese while-Schleife hier eben ab, solange bis die Bedingung eben verletzt

wird. Ja bei Repeat-Antil könnte man sich wahrscheinlich auch überlegen, wie man das

Zugänglich über

Offener Zugang

Dauer

01:27:28 Min

Aufnahmedatum

2012-07-02

Hochgeladen am

2019-04-12 03:39:02

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.

Einbetten
Wordpress FAU Plugin
iFrame
Teilen