Ich begrüße Sie zur Vorlesung Rechneratur diese Woche.
Letzte Woche hatten wir ein bisschen kuschelige Kinoatmosphäre hier, in dem wir die Saalbeleuchtung
ausgemacht hatten, dann konnten Sie sich auch besser erkennen, was da an den Folien steht,
was ich an der Tafel hier schreibe.
Aber das erweist sich nicht so gut für die Aufnahme, deswegen lasse ich es heute mal
wieder an.
So, ja, was steht heute auf der Agenda?
Wir wollen uns heute mit Rechenwerken beschäftigen und da gebe ich Ihnen einen kleinen Überblick.
Sie haben ja Rechenwerke, ganzzahl Rechenwerke, Sie haben ja Rechenwerke schon, zumindest
die Informatiker in GDI gehabt, ja, ich will aber, also ganzzahl Rechenwerke, ich möchte
an dieser Stelle aber noch auf ein paar Besonderheiten von den Fließkummer Rechenwerken eingehen,
die die jetzt GDI nicht gehört haben und die ganzzahl Rechenwerke nicht gehört haben,
für die ist das KKO-Kriterium.
Also der Stoff sollte so sein, dass man das auch ohne Kenntnisse jetzt, ohne GDI gehört
zu haben, verstehen sollte.
Ja, wenn wir dann die Rechenwerke abgehandelt haben, wie gesagt, es sind eigentlich nur
ein paar Folien, zehn Stück ungefähr, dann will ich auf ein ganz wichtiges Thema zu sprechen
kommen und zwar den Cache-Architektur bzw. im Kapitel 2.3 Speicherwerk, also wir hangeln
uns ja voran, Leitwerk haben wir jetzt schon mal ein bisschen behandelt, dann kommt jetzt
in das Rechenwerk und dann kommt das Speicherwerk und da werden wir heute auf jeden Fall anfangen
mit den Cache-Technologien, aber das ist mal ein Thema, was mir besonders am Herzen liegt,
was also besonders wichtig ist.
Aber hier noch ein kleiner Nachtrag, wir haben ja letzte Woche, schwierig, gegen so ein Gemurmel
immer anzureden, also wir haben ja letzte Woche hier nochmal diesen Umstand der sogenannten
Ausrichtung, also das ist neudeutsch aligned, also der exakten Ausrichtung behandelt und
ich hatte Ihnen also nochmal diese zwei Fälle da geschildert, warum es wichtig ist, solche
Daten aligned auszurichten, hier sieht man es also nochmal für verschiedene Datenworte,
ich muss dann unter Umständen eben immer, wenn sie nicht exakt ausgerichtet sind, in
die nächste Speicherzeile gehen beim Auslesen eines Wortes, das kostet mir zusätzliche
Speicherzugriffe, ich habe das dann letzte Woche nochmal an die Tafel hingeschrieben,
dann haben wir die Bit-Operationen gezeigt, ja also beispielsweise hier, müsste man jetzt,
wenn man jetzt diese Float-Variable lesen möchte, die ab der Adresse 9 abgelegt ist,
eine Float-Variable entspricht genau 4 Bytes und ich lese immer solche Speicher aus bestimmten
Gründen, die mir noch klären werden, in Bänken, das heißt also, die sind aufeinander folgende
Speicherblöcke, sind abgelegt, die ich zeitlich sehr schön nacheinander adressieren kann,
das heißt ich lese also immer eine ganze Zeile hier aus und der Teil, das Bytes, was hier
in Adresse 8 steht, verwerfe ich, weil ich es nicht brauche, ja und ich muss also hier,
wie man sehr schön sieht, 3-mal zugreifen, während ich hier nur 2-mal zugreifen muss,
das hatte ich Ihnen also letzte Woche gezeigt, die entsprechenden Bit-Operationen, die da
dahinter stecken, was ich nicht gesagt habe in der Eile am Schluss der Vorlesung, das
müssen Sie nicht explizit in Ihrem Programm machen, ja, Sie können also nach wie vor
hier, ah hier, nochmal, Entschuldigung, nochmal jetzt weiter, hier ab Adresse 10 in Ihrem
Programm schreiben, Sie müssen also nicht diese Zusammensetzung machen, ab Adresse 10
lesen und dann 16 Bit nach links schieben und dann in Bit-Weises oder mit den Bit-Muster,
das was ich ab Adresse 12 bekomme, durchführen, das müssen Sie nicht explizit im Programm
machen, aber irgendwer muss es machen, das macht der Memory Controller, das heißt also,
das geschieht versteckt in Ihrem Rechner und Sie merken das dann letztendlich an unterschiedlichen
Ausführungszeiten, wenn es nicht erleint ist, stellen Sie fest, es dauert länger, ja, obwohl
das Programm ist haargenau das gleiche, Sie müssen also nicht diese Bit-Akrobatik machen,
das wäre zu umständlich, das übernimmt, sagen wir mal ganz klar, der Memory Controller,
Presenters
Zugänglich über
Offener Zugang
Dauer
01:28:44 Min
Aufnahmedatum
2012-05-14
Hochgeladen am
2019-04-12 14: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.