Ja, dann darf ich sie heute zur ersten Vorlesung in dem Modul Rechnerstrukturen begrüßen.
Mein Name ist Andreas Meder, ich will die Veranstaltung durchführen. Werde jetzt beim ersten Termin,
bevor ich jetzt also mit den einleitenden Sachen starte,
noch einiges zur Organisation führen,
weil gerade Vorfeld mit der Anmeldung über Stine,
mit der Belegung der Gruppen, gerade bei den Übungsgruppen,
gab es ja noch einige Probleme und dazu werde ich dann gleich nochmal ein bisschen was vorstellen.
Generell vielleicht nochmal auch allgemein Und beziehungsweise Informationen zur Vorlesung.
Sie sind das ja jetzt aus der Orientierungseinheit eigentlich schon immer gewöhnt,
dass man sich in Stinearztportal eigentlich anmeldet und darüber die gesamten Informationen über die Vorlesung erhält,
beziehungsweise dann eben auch Kontakt zu dem Lehrenden herstellt.
Ich kann jetzt immer nur aus eigener Erfahrung sagen, in den letzten Jahren,
dass es bei diesem System dann teilweise doch immer so kleine Hakeleien und Problemchen gab.
Deswegen hatten wir uns das jetzt eigentlich immer angewöhnt bei uns im Bereich jeweils die Informationen jetzt auf unseren eigenen Webseiten,
darzustellen, dass es demzufolge dann auch immer jeweils das,
was sie also hier oben auf der ersten Startseite quasi bei den Folien entsprechend finden,
beziehungsweise wenn sie bei Stine nachsehen,
also das ist jetzt hier entsprechend meine Sicht,
finden sie dann entsprechend den Verweis auf die Seiten bei uns im Arbeitsbereich,
also sprich jetzt innerhalb der Informatik.
Und auch das Lehrmaterial, also alles, was ich jetzt hier an Folien vorstelle,
beziehungsweise auch alle anderen Informationen, werden dort aktualisiert und sind dort eben entsprechend auch verlinkt.
Und ich habe jetzt also auch für die Folien, die ich jetzt am Anfang,
aber sonst eben auch im Laufe der Woche vorstellen werde,
dort eben schon die entsprechenden Links mit eingetan, dass sie demzufolge dann auch Informationen vorher runterladen können.
Sowas wie ein richtiges Vorlesungsskript gibt es jetzt für Rechnerstrukturen nicht. Also jetzt Skript im Sinne eines ganz normalen Fließtextes. Da ich aber auch weiß,
dass also sagen wir jetzt aus vergangenen Vorlesungen das eigentlich immer üblich ist oder auch gerne gemacht wird,
dass man sagt, gut, also ich nehme das PDF,
ich habe dann eben mit irgendwelchen Tools die Möglichkeiten,
das direkt online mit Kommentaren zu versehen und entsprechend zu ergänzen,
werde ich das auch immer so handhaben,
dass ich alles, was ich in den Vorlesungen bringe,
auch jeweils rechtzeitig vorher Entweder über Stine oder über unsere eigenen Webseiten zum Download bereitstelle,
sodass sie schon rechtzeitig vor der Vorlesung dann eben auch die Möglichkeit haben,
in diese Unterlagen reinzusehen,
beziehungsweise dann in der Vorlesung damit zu arbeiten.
Gut, wie gesagt, dass wir jetzt also hier
die Stine-Sicht und wieder brav abmelden. Wie gesagt,
bei uns auf den Webseiten sieht das dann so aus.
Ich werde das jetzt nur noch mal kurz herleiten.
Also wenn man jetzt ganz normal von der Startseite der Informatik auskommt,
Ähm, ist sehr entsprechend unterteilt, Schwerpunkte und Professoren.
Und das, wo ich jetzt herkomme,
ist dieser Bereich technische Aspekte multimodaler Systeme.
Da werde ich gleich noch was zu sagen. Wenn man da hingeht,
landet man hier also bei uns auf der Startseite und irgendwo
in diesem schicken Gruppenfoto bin ich dann also auch mitversteckt.
Und hier unter Lectures, aktuelles Semester, finden sich dann
eben auch die Vorlesungen bzw. die Übungen zur Rechnerstrukturen.
So, diese Seiten werden dann eben jeweils aktuell gehalten.
Hier sind dann eben auch direkte Links zu den Übungsgruppen,
zu Tutorien, zu den Vorlesungsunterlagen. Und eben auch,
das müsste man hier nochmal ein bisschen entsprechend zoomen,
dann eben auch schon das, was ich jetzt also als derzeitigen aktuellen Stundenplan habe.
Das heißt, welche Übungsgruppen wann stattfinden,
wer dann der Übungsgruppenleiter ist und hier unten dann eben
auch als Kontakt dann
die entsprechende E-Mail-Adresse
Und wie gesagt, hier unter Unterlagen wären jetzt die Vorlesungsunterlagen
und dann eben entsprechend als PDF-Info. Das sind also die Folien,
die jetzt live vorstellen werde und dann eben schon die ersten drei Kapitel,
die sind also vergleichsweise kurz gehalten,
beziehungsweise ich würde da, denke ich mal,
auch relativ schnell drüber gehen,
wo dann im Laufe dieser Woche dann eben einige einführende Grundlagen
beziehungsweise einige Sachen dann zur Motivation vorgestellt werden
Gut, das erstmal nur so kurz zum Vorwort,
vielleicht nochmal kurz Historie, weil ich hatte jetzt hier gesagt,
Arbeitsbereich Terms, also was wir jetzt sind oder wir jetzt machen,
ist man ein relativ längliches Akronym, steht für technische Aspekte modaler Systeme,
wo wir die meisten jetzt genauso schlau sind wie vorher,
was ist damit gemeint.
Im Groben und Ganzen kann man sagen Robotik, also das,
womit wir uns beschäftigen, ist im Prinzip,
sag ich mal, so ein Ganzer zu von unterschiedlichen Roboterplattformen,
wie also hier auf dem Bild zu sehen,
wo man also jetzt von relativ kleinen,
mobilen Plattformen bis zur sehr großen,
ungefähr 1,50 Meter großen fahrbaren Plattformen mit mehreren Armen letztendlich alles vertreten hat.
Also jetzt hier unser letzte aktuellste Neuanschaffung ist also hier
so ein Modell von der Firma Will Lou Garage,
also auch mit zwei Armen, mehreren Kamerasystemen und so weiter und so fort.
Und hinter diesem Akronym Multimodalität, der jetzt also hier in einem Arbeitsbereich drinsteht,
ist im Prinzip einfach nur Folgendes gemeint, dass man jetzt eben sagt,
so ein Robotersystem lebt eigentlich von den Sensoren.
Das heißt, man hat verschiedene Kamera, Laserentfernungsmesser,
diverse andere Sensoren, wenn ein Arm irgendwo hinfährt, mäßig,
in welcher Position befindet er sich und kann darüber dann eben letztendlich die Steuerung machen.
Und das, alles, was sich da drum rangt,
ist im Prinzip das,
was wir oder in unserem Arbeitsbereich dann eben letztendlich
als Forschung betreiben
Gut, das war die Werbung in eigener Sache.
Das wird sich jetzt natürlich im Grundstudium oder im Bachelorstudium noch nicht so interessieren,
beziehungsweise da gibt es dann also nachher die Möglichkeit,
also in einigen einfachen Projekten dann, also schon mal in dieses Thema reinzuschnuppern.
Und gut, jetzt wollte ich noch mal ein bisschen
was sagen zur Organisation von Rechnerstrukturen. Letztendlich,
die Vorlesungen werden Sie ja hören,
also entweder im Bachelorstudium Oder wenn sie jetzt eben Software-Systementwicklung studieren,
wo das also im Studienplan entsprechend mit drin ist.
Was wird letztendlich an Themen präsentiert? Man kann
die Themen in zwei große Bereiche unterteilen.
Der eine Bereich ist sowas wie einführende Grundlagen.
Das heißt, da geht es um Grundbegriffe der Informationsverarbeitung.
Was ist Information? Wie stelle ich Informationen dar?
Dann Sachen wie Rechner, Arhythmetik. Das heißt,
wie kodiere ich Zahlen?
Wie rechne ich damit
Dann eben grundlegende Konzepte der Digitaltechnik, Bulsche Argebar, Automatomatentheorie,
Schaltnetze, Schaltwerke und so weiter und so fort und eben einfache Hardwarestrukturen,
aus denen letztendlich Rechner oder Rechensysteme intern aufgebaut sind.
Daneben gibt es dann alles, was dann so in den Bereich der Rechnerarchitektur fehlt.
Das heißt, das Prinzip, das von Neumann-Rechners,
wie kann so eine Kiste jetzt überhaupt erstmal eventare Befehle bearbeiten,
dann eben die grundlegenden Konzepte,
die jetzt also so ein Fehlsatz von Rechner beschreiben.
Steht dann für ESA, Instruction Set Architecture,
wo ich dann eben unterschiedliche Befehls setze und sowas vorstelle.
Ein bisschen was zu Maschinen- und Assembler-Code,
Betriebssystemebene und abschließend werde ich dann eben sicherlich noch,
also Speicherhierarchie und Pipelining-Konzepte vorstellen und je nachdem,
wie lange ich jetzt hier immer überziehe oder wie schnell ich bin,
habe ich dann also noch zwei optionale Bereiche,
die dann also vielleicht noch drankommen
So, das sind erst mal so grob die Themen.
Wird ihnen jetzt, sofern sich jetzt also
nicht schon innerhalb der Schulausbildung oder stärker damit beschäftigt haben,
jetzt natürlich auch nicht so viel sagen.
Aber denk mir, das sind dann eigentlich so die Sachen,
die sie dann hoffentlich am Ende dieses Semesters im Grundverständnis mitbekommen haben sollen.
Ja, generell noch mal als anleitende Worte, die sie,
denke ich mal, also von allen Veranstaltern also irgendwie mitbekommen.
Feedback ist erwünscht, weil ich stehe hier vorne,
ich erzähle hier immer irgendwie was,
ich weiß jetzt immer nicht so richtig,
wie das ankommt
Ist das klar oder ist das vielleicht zu langatmig, weil das alles schon bekannt ist.
Deswegen würde ich dann also sie natürlich dann bitten bei Unklarheiten zwischenzufragen und ich versuche dann,
die Fragen möglichst gut zu beantworten,
beziehungsweise wenn ihn jetzt also irgendwo auf den Fehlern oder nein,
Blödsinn auf den Folien irgendwelche Fehler auffallen, so rum sollte es sein,
würde ich sie dann eben auch darum bitten,
mir das entsprechend mitzuteilen, dass sie das dann korrigiere,
weil also auch mir geht das natürlich immer so,
ich habe jetzt, halte die Vorlesung jetzt Zweite Mal,
hab das also jetzt schon von zwei Vorvorgängern mindestens geerbt.
Bin also auch jedes Mal dabei, die Folien zu überarbeiten,
nochmal um Materialien zu ergänzen, ein bisschen neu zu strukturieren.
Und also auch jetzt fallen mir da immer noch irgendwelche Sachen auf,
wo ich sage, Mensch,
also da ist nur irgendwo ein Tippfehler,
da ist nur irgendwas unklar oder da muss noch entsprechend was ergänzt werden.
Ein Problem, was jetzt also insbesondere die Rechnerstrukturen immer betrifft,
ist ein teilweise sehr stark unterschiedliches Vorwissen
Wenn man jetzt sagt,
also im Rahmen des Informatikstudiums kommen dann zum Beispiel in der Vorlesung nachher,
also jetzt nicht in dieser, aber in anderen Vorlesungen,
dann also zum Beispiel sowas wie formale Grundlagen dran,
dann behaupte ich mal,
dass 99 Prozent von Ihnen davon noch nie was gehört haben und dass das für alle neu ist.
Bei diesem Bereich der Rechnerstrukturen ist es halt so,
dass sicherlich einige von Ihnen,
also gerade jetzt in den ersten Kapiteln,
sich vielleicht langweilen werden, weil dann sagen,
ja Mensch, das habe ich doch alles schon gehört,
das ist also trivial,
was er da erzählt
Da kann ich dann also nur darum bitten, entsprechend Geduld zu haben,
weil spätestens ab Mitte der Vorlesung sollte sich das dann also hoffentlich ändern.
Auf der anderen Seite ist es immer so,
es wird grundsätzlich, und das ist natürlich auch richtig,
so jetzt nicht irgendeine Art Vorwissen vorausgesetzt. Trotzdem ist es natürlich so,
also dass ich vielleicht manchmal auch irgendwo ein bisschen ins Eingemachte
gehe oder das hatte ich ja so im letzten Jahr,
also auch dann irgendwelche Zwischenfragen kommen, die dann also wirklich sehr speziell sind,
wo viele dann sagen, Der redet jetzt ja irgendwo einen Satz,
wo ich die Hälfte der Wörter schon mal nicht verstehe.
Nicht, also auch da kann ich nur sagen, also nicht frustriert sein,
sondern wenn jetzt wirklich was unklar ist, entsprechend nachfragen.
Es gibt da noch neben den Übungsgruppen zusätzliche Veranstaltungen als Tutorien,
wo also auch nochmal gezielt und mit Zeit nachgefragt werden kann,
beziehungsweise sie können sich dann also auch jederzeit gerne bei mir
entweder nach der Vorlesung melden oder eben auch direkt per E-Mail nochmal nachhaken.
Also wie gesagt, hier nochmal meine entsprechenden Koordinaten
Gut, die Vorlesung selber, wie gesagt, als vierstündige Veranstaltung.
Die Folien, hatte ich ja schon gesagt,
werden also vor der Vorlesung entsprechend zum Download bereitgestellt.
Daneben gibt es dann natürlich eben auch hier das Angebot von Lecture to Go.
Und ich werde jetzt gleich auf diesen einführenden Folien also hinterher
nochmal relativ viel jetzt an irgendwelchen Literatur verweisen bringen.
Das ist eigentlich auch nur dafür gedacht,
dass sie da also später nochmal nachgucken können,
wo könnte ich vielleicht nochmal gezielt nachsehen
Ansonsten gibt es im Prinzip drei Lehrbücher,
die ich dann immer jeweils partiell benutze,
auf denen eigentlich diese Vorlesung aufgebaut ist.
Also jetzt, ich habe die mal zur Abschreckung mitgebracht, Abschreckung.
Deshalb war das teilweise also für leisweise dicke Schinken sind.
Nicht, dass es also einmal von Randall Bryant und David O. Harren,
Computersystems, A Programmers Perspective.
Das ist also im Prinzip
das Buch
Was zum großen Teil, also auch gerade in dem
zweiten Teil der Vorlesung, dann also die Grundlage bildet.
Alle diese Bücher, beziehungsweise alles, was ich jetzt hier vorstelle,
haben wir dann also auch in etwas größerer Anzahl in der Bibliothek da.
Aber wie gesagt, das sollte eigentlich dann nur notwendig sein,
wenn man jetzt also wirklich nochmal vertiefend irgendwo was nachsehen oder nachschlagen sollte,
weil ich werde also jetzt hier in der Vorlesung nicht den gesamten Stoff,
der jetzt also hier auf 1033 Seiten ausgebreitet ist, vorstellen können,
weil dafür ist das einfach zu viel Inhalt und wir haben in der Meisterwochenstündigen vorlesen, zu wenig Zeit.
Daneben als zweites Buch, das ist hier nur einmal die Deutsche,
einmal die englische Ausgabe von Endo Estanenbaum,
Computerarchitektur bzw. die englische Ausgabe heißt dann Structured Computer Organization,
also jetzt hier gerade am Anfang auch einige Sachen sind.
Ansonsten habe ich in den jeweiligen Vorlesungsabschnitten jetzt auch immer neu mit eingefügt,
entsprechende Verweise auf Literatur,
das heißt am Ende jedes Kapitels ist dann nochmal ein gesondertes Literaturverzeichnis,
wo dann also vielleicht die Referenzen auf entsprechenden Materialien bzw. auch auf irgendwelche Webseiten dargestellt sind.
Ansonsten für einige Sachen beziehungsweise einiges, was ich vorstelle,
wird dann eben auch noch teilweise Software mit benutzt.
Da werde ich dann eben nochmal entsprechend drauf eingehen an entsprechender Stelle,
beziehungsweise wenn das aktuell ist, was da genutzt wird.
Vieles wird also mit dem Simulationssystem Hades,
was also ein Arbeitskollege von mir erstellt hatte, gemacht,
was im Prinzip eine Java-Umgebung voraussetzt.
Das heißt, da braucht man also eine Java-Virtual Machine,
die dann eigentlich unter allem Betriebssystem auf allen Rechnern letztendlich Zur Verfügung stehen
und kann sich da dann also kleine Beispiele und interaktive Medien oder entsprechende Interaktionen runterladen und damit arbeiten.
Später, sagen wir mal so, im letzten Viertel der Vorlesung,
wo es dann also um Assembler-Programmierung geht,
wird dann eben noch ein C-Compiler beziehungsweise die Knut-Toolchain verlangen.
Dazu werde ich dann eben entsprechend noch was sagen,
dass das Vierteln aber schätzensweise so um die Weihnachtszeit herum
aktuell werden
Wie gesagt, entsprechende Informationen und auch entsprechende Links,
wo man jetzt was findet,
werden dann auch immer auf den Webseiten aktuell gehalten,
beziehungsweise in den Folien selber habe ich dann eben auch die entsprechenden Hinweise.
Gut, jetzt noch zu den Übungen. Laut Stine sind erstmal 15 Übungsgruppen geplant.
Die nächste Woche losgehen, da muss ich mich entschuldigen,
dass sie das nicht rechtzeitig an alle rumgeschickt habe.
Also ich habe das nur von einigen Übungsgruppenleitern gehört,
dass das die ersten von ihnen, also am Montag schon irgendwo,
vor den Räumen gestanden haben und darauf gewartet haben,
dass die Übungen losgeht.
Also das tut mir leid, dass das also nicht vorher
kommuniziert wurde. Also auch da kann ich das nächste Mal
dann immer nur sagen,
mache ich nochmal besser
Also Übungen wären dann nächste Woche erst losgehen.
In der Regel laufen die Übungen so ab,
dass man also den Inhalt der Vorlesung nochmal ein bisschen diskutiert.
Ansonsten gibt es natürlich irgendwo Übungsaufgaben. Rein praktisch da diese
eine Stunde vergleichsweise kurz ist, wird sich,
also diese Diskussionsteil eher in Grenzen halten,
sondern es werden also die Übungsaufgaben besprochen,
beziehungsweise hinterher entsprechend durchgesprochen
Bei den Übungen wird das so gehandhabt,
die Aufgabenblätter werde ich jeweils am Freitag auf den Webseiten,
beziehungsweise dann eben auch auf Stine verlinkt,
zum Download zur Verfügung stellen.
Und sie haben dann im Prinzip eine Woche Zeit,
die Aufgaben und dann bis zum nächsten Freitag, 12 Uhr,
quasi per E-Mail, zum Gruppenleiter zu senden.
Das ist eigentlich, ich sag mal,
das bevorzugte Verfahren oder sonst eben irgendwie schriftlich auszudrücken und dann
bei uns
ein Sekretariat abzugeben
Jetzt nächste Woche, also sprich Montag, Dienstag in den Übungsgruppen,
liegen natürlich, oder sind jetzt noch keine Aufgaben nachzubesprechen.
Das heißt, da geht es erstmal darum, dass die letztendlich die Übungsgruppenleiter kennenlernen. Vielleicht,
dazu will ich gleich nochmal was sagen,
also die Plätze nochmal entsprechend tauschen oder da nochmal ein bisschen
was machen und sich selber dann eben auch vielleicht schon in Kleingruppen organisieren,
weil bei den Übungen kann man dann eben auch so verfahren,
dass jetzt nicht jeder einzelne Studentenaufgabenblatt bearbeitet,
sondern dass man dann also in Zweier- oder Dreiergruppen,
letztendlich die Aufgaben abgibt und die dann entsprechend bewertet werden und das dann eben letztendlich dann eben für alle Teilnehmer in der Hardwaregruppe angerechnet wird.
Gut, mit den Übungen verbunden sind dann natürlich auch entsprechende Scheine.
Dazu gibt es dann also hier nochmal schriftlich zum Runterladen nachzusehen.
Also das entsprechende PDF, wo die Scheinkriterien drinstehen.
Hier habe ich das Ganze nochmal zusammengefasst in den Übungen, regelmäßige aktive Teilnahme.
Man sollte dann eben im Laufe des Semesters mal irgendeine Übungsaufgabe oder zweimal
eine Übungsaufgabe vorgerechnet haben. Und sollte eben erstens zweimal Andrew gefehlt haben,
Ausnahmen wären, wenn jemand jetzt richtig krank ist,
dann ist natürlich auch kein Problem, entsprechend einen Attest beizubringen.
Und dann also öfter als diese zweimale zu fehlen. Ein Problem ist allerdings immer nur,
dass man das dann eben auch rechtzeitig macht,
weil ich habe jetzt gerade den Fall, dass also ein Student,
der im letzten Jahr Übungen gemacht hatte,
also jetzt nachfragt und sagt,
ja,
ich habe ja eigentlich diese Punktanzahlen in den Übungsgruppen erreicht
und habe jetzt aber meinen Schein nicht bekommen und müsste jetzt
die Übung nochmal wiederholen
Eben etwas schwierig, deswegen das Ganze dann möglichst zeitnah machen.
Und dementsprechend daran hängen. Gut, grundsätzlich,
es sollten immer jetzt von den Übungsgruppen,
weil da wird es eben nicht kontrolliert,
hat die einzelne Person das gemacht, sondern immer nur die Gruppe.
Alle Aufgabenblätter bearbeitet werden, pro Aufgabenblatt mindestens 30 Prozent der Punkte
erreicht worden sein und insgesamt über alle Aufgabenblättern eben mindestens 50 Prozent der Gesamtpunktzahl. Das heißt,
wenn man bei einem Aufgabenblatt mal jetzt irgendwie verreist und da,
also was weiß ich, nur 40 Prozent oder 40 von
100 Punkten macht und beim nächsten Aufgabenblatt dann eben 70 macht,
dann hat man das eben mehr als wettgemacht und Wärmt ist das alles kein Problem.
Gut, ich denke mir, das werden sie dann aber
Montag beziehungsweise Dienstag mit den Übungsgruppenleitern dann eben auch noch durch.
Gut, wie gesagt, die Übungen beginnen nächste Woche.
Jetzt hatten sie sich ja schon überstehende angemeldet und sind also
da dann auch in irgendwelche Übungen oder Zeit-Slots letztendlich eingetragen.
Nun hatte sich das Problem ergeben, im letzten Jahr waren
die Übungen nicht komplett voll oder war es dann also teilweise auch möglich,
innerhalb der Übungsgruppen zeitlich zu tauschen.
Dieses Jahr ist das Ganze jetzt also wirklich sehr voll geworden und zurzeit bin ich jetzt nämlich gerade dabei zu planen,
dass wir also noch zusätzliche Übungsgruppen einrichten,
weil also die derzeitige Belegung so aussieht,
dass also wirklich sämtliche sechs Montagsgruppen komplett belegt bzw. hier schon
überbucht sind und Dienstag insgesamt also auch nur noch Elf Plätze hier in diesen frühen Gruppen frei sind.
Und letztendlich sollte natürlich jeder von ihnen also die Möglichkeit haben,
also Übungen passend zu besuchen. Deshalb,
deswegen bin ich jetzt gerade dabei, also noch irgendwie entsprechende Übungsgruppenleiter zu finden,
beziehungsweise das noch zu organisieren, dass also am Montag,
wo also die Nachfragen nur besonders groß ist,
noch zusätzliche Gruppen eingerichtet werden.
Und ich hoffe, das klappt dann. Ich werde mich
deswegen dann also am Freitag nochmal entsprechend melden und dann eben
entsprechend sagen, wie das mit den Gruppen aussieht
Gut, neben den Übungen gibt es dann auch noch
als Angebot Tutorien. Und zwar zum einen am Dienstag,
ich sag mal zwei Termine oder zwei Gruppen,
nämlich einmal von 12 bis 13, einmal von 13 bis 14 Uhr.
Ich weiß, dass es immer parallel auch zu irgendwelchen Übungen,
deswegen also eben auch genau die zwei Termine, dass man also,
wenn man teilnehmen möchte, zumindest zu einem der beiden Termine,
die Gelegenheit hat, dort zu nehmen.
Diese Tutorien sind also wirklich rein freiwillig. Ist einmal dann
auch eher so eine lockere Geschichte. Das heißt,
man geht dann irgendwann in diesem Zeitraum mal hin und kann sich dann eben mit der Leiterin,
die das also sagen wir mal sehr engagiert und sehr toll macht,
dann eben auch entsprechend austauschen.
Und wenn jetzt also irgendwann im Laufe der Vorlesung beziehungsweise bei irgendwelchen Übungen,
also noch offene Fragen sind und man da nochmal was nachfragen möchte,
kann man das dann dort eben in Ruhe nochmal machen,
weil eben gerade in Übungsgruppen,
wenn man jetzt viel mit den Aufgaben rechnet,
dann also diese eine Stunde eben sehr,
sehr kurz ist
Daneben gibt es noch als Vorbereitung auf die Klausur. Etwas,
was er dann immer, sagen wir mal, Panikstutorium nennt.
Also das hört sich jetzt natürlich ein bisschen schlimm an. Nein,
das ist also dann nochmal wirklich relativ kurz vor dem Klausurtermin,
dass sie, wenn sie jetzt also für die Klausur lernen und eben feststellen,
da ist irgendwas, was ich noch überhaupt nicht verstanden habe oder wo sie,
um Gottes Willen und da ist irgendwas,
dass man da also nochmal in Ruhe hingehen kann und eben
solche Fragen dann eben auch nochmal erklärt bekommt und dann eben entsprechend hoffentlich gut vorbereitet in die Klausur starten kann.
Eine Frage
Nee, da haben wir jetzt noch keinen Termin festgelegt,
das würde ich dann, sag mal,
gegen Ende der Vorlesung nochmal machen, beziehungsweise da würde ich dann,
also vielleicht auch nochmal eine Umfrage in die Runde machen,
wie das dann zeitlich aussieht,
weil da ist natürlich das Problem,
weil da ist immer nur ein einziger Termin ist,
dass man das dann also zeitlich natürlich dann möglichst breit für alle machen kann und sonst hat man ja oft irgendwelche Kollisionen.
Generell vielleicht auch nochmal Zur, Klausur, auch schon mal
vorne weg, beziehungsweise Klausur und Zusammenhang mit den Übungen.
Bei der Klausur kann man sich immer vorstellen, also alles,
was man, sagen wir mal, so grob an Übungsaufgaben hatte,
kommt in ähnlicher Form in der Klausur dran. Das heißt also,
wenn man jetzt bei den Übungen mitarbeitet,
da das Grundprinzip jetzt irgendwie von dieser Art Aufgabe verstanden hat,
muss man sich also auch keine Sorgen mehr um die Klausur machen,
weil das sind eigentlich genau die gleichen Themen und die gleichen Arten von Aufgaben oder Fragestellungen,
das heißt, damit kann man sich dann eben auch relativ gut auf die Klausur vorbereiten.
Daneben werde ich, ich dachte,
das hätte ich jetzt auch hier irgendwo bei den Übungen noch.
Nee, das ist jetzt hier auf den Seiten, jetzt natürlich wieder nicht drauf.
Daneben werde ich dann also für die Übung oder Übungsaufgaben auch noch Musterlösungen erstellen,
die dann in gesammelter Form, sagen wir mal,
irgendwie so kurz vor Weihnachten und irgendwie dann kurz vor Ende der Vorlesung verteilt werden,
wo sie dann eben wirklich nochmal genau sehen,
wie man jetzt zu bestimmten Aufgaben das Ganze rechnen sollte,
beziehungsweise da vorgehen sollte, sodass das eigentlich dann auch nochmal,
wenn man sich das in Ruhe durcharbeitet oder durchsieht, als Vorbereitung auf die Klausur zu werden ist.
Gut, ein. Gut, also die Frage war,
es gibt ja immer zwei Übungen mit Parallelen mit gleichem Termin und gerade beim ersten Termin irgendwie die Einteilung in die Gruppen,
wie läuft das Ganze, weil in Stine,
wenn ich das jetzt also auch richtig rausgehört habe,
weiß man immer nur der und der Termin,
aber jetzt nicht Übungsgruppe 1 oder Übungsgruppe 2. Gut,
das werde ich nochmal mit den Übungsgruppenleitern entsprechend durchsprechen,
dass die dann auch Bescheid wissen,
also sinnvollerweise würde man sagen,
man trifft sich natürlich nur in einem einzigen Raum,
wo dann also letztendlich alle 30 Teilnehmer der Übungsgruppe auflaufen und die beiden Übungsgruppenleiter und dann heißt es also,
hier in der Mitte wird geteilt und dadurch wird das Ganze dann eben entsprechend verteilt.
Demzufolge würde ich dann also letztendlich jetzt vorschlagen oder per Order letztendlich,
also sagen wir mal so festlegen,
dass man sich also hier in den Räumen,
die jetzt also quasi als erstes genannt wird,
einmal komplett trifft und anschließend die Übungsgruppenleiter sich dann verteilen.
Letztendlich wissen die beiden Übungsgruppenleiter dann aber auch,
wo sie jetzt quasi auftauchen werden und spätestens dann wird sich
das noch irgendwie regeln bzw. entzerren
Gut, als, sag mal, dritte Komponente zu den
rechnenden Strukturen gibt es ja noch ein Praktikum.
Dieses Praktikum ist ja in zwei Blockterminen jetzt im Semester angeboten worden,
wo sie sich ja jetzt ja auch schon über China eingetragen haben.
Auch da ist es so, dass das teilweise schon überbucht
ist oder eben sehr stark gebucht ist.
Deswegen habe ich jetzt auch nochmal in Absprache wieder jetzt mit
den entsprechenden Kollegen zwei Termine in der vorlesungsfreien Zeit
Organisiert,
das Ganze würde ich dann also auch nochmal entsprechend auf die Webseiten stellen,
wo dann im Prinzip Mitte oder Ende Februar dann eben noch zwei zusätzliche Kurse stattfinden,
sodass sie das Praktikum dann eben in diesem Fall dann also nach der Klausur irgendwann machen.
Empfehlenswert ist natürlich das Praktikum eigentlich vorher zu machen,
weil teilweise eben auch Inhalte des Praktikums bzw. andersrum,
also was mein Praktikum dann eben macht, also letztendlich vertiefend Stimmt.
Sondern man da sich dann also teilweise in der Klausur vielleicht auch leichter tut.
Nicht, aber vom Studienablauf her ist es also nicht zwingend vorgeschrieben,
also das Praktikum zu machen. Und deswegen haben wir jetzt
eben hier auch noch zwei zusätzliche Kurse in der vorlesungsfreien Zeit. Gut,
das würde ich dann eben mal auf die Webseiten stellen,
weil sie dann eben auch noch vom Studienbüro aus in Stine einfallen lassen,
was dann ja auch wieder um diese ganzen formalrechtlichen Anmeldungen geht,
wie man das dann letztendlich wieder handhabt
Eine Frage? Also die Frage war jetzt,
dass das Praktikum für der Emdnase nicht verpflichtend ist und dass sie
sich da jetzt nicht anmelden können, ist aber trotzdem gerne teilnehmen würden.
Gut, auch da kann ich immer nur sagen,
also die Formalia und Stine sind das eine.
Das andere ist halt einfach, dass man, sag ich mal,
rein praktisch zu der entsprechenden Veranstaltung oder zu dem Veranstalter geht, mit dem redet und dann läuft das Ganze. Hier ist jetzt einfach nur so ein bisschen das Problem,
dadurch, dass die Praktikumskurse letztendlich alle schon ziemlich voll ausgebucht sind,
weil wir da eben,
weil das dann eben auch wirklich an Rechnern stattfindet,
da eben nur eine bestimmte Anzahl von Plätzen haben,
dass sich da jetzt also nicht sagen kann,
kommen Sie einfach zu irgendeinem Wunschtermin,
zu dem Praktikum und nehmen Sie dann da einfach dran teil,
würde ich sonst empfehlen,
wenn Sie mehr als entsprechenden Namen Matrika genommen oder irgendwelche Kontaktdaten hinterher geben,
dass ich dann mit dem Veranstalter des Praktikums Manfred Gove nochmal spreche und frage,
wo was frei ist oder Sie setzen sich direkt mit ihm in Verbindung.
Wie gesagt, auf den Webseiten bei uns,
beziehungsweise jetzt hier zu der Veranstaltung, ich muss noch mal kurz Blödsinn,
das war jetzt hier natürlich die falsche Folie, schwupp,
wupp, wupp, so, Toms, Lectures, aktuelles Semester.
Und hier, also hier unten im Prinzip,
also auf diesem Stundenplan sind dann ja eben auch entsprechend die
jeweiligen Namen und E-Mail-Adressen und wie gesagt, Manfred Grove,
also Grove at Informatik, ist dann eben der Veranstalter des Praktikums.
Und wenn Sie den einfach direkt kontaktieren und dann eben fragen,
zu welchen dieser Blöcke jetzt im Semester wäre vielleicht noch ein Platz frei,
sollte das sicherlich auch möglich sein,
dass also jetzt ohne Stiene Anmeldung zu machen.
Gut, Praktikum, wie gesagt, Bloghose.
Hier nur noch mal der explizite Hinweis. Also anders jetzt
vielleicht als irgendwo bei Übungszetteln oder sonstigen Sachen. Also bei Praktik,
bei diesem Praktiker ist es so, eine Vorbereitung ist zwingend erforderlich vorher. Das heißt,
wenn man jetzt also zu dem Praktikum des Terminen kommt,
anfängt sich den Zettel auszudrucken oder durchzulesen und dann versucht loszuarbeiten,
kommt man mit dieser Zeit nicht aus,
sondern da muss man wirklich vorher schon in die Unterlagen reingeguckt haben,
sich Gedanken gemacht haben,
dass man dann eben wirklich während dieser drei Stunden
dann eben auch schon mehr oder minder produktiv an dem Rechner
was programmieren bzw. arbeiten kann
Und das war es dort eben passiert, ist,
dass dann eben selber quasi in so einem Simulationsmodell einen einfachen Prozessor programmieren sollen,
beziehungsweise mit entsprechenden Hardware-Komponenten arbeiten sollen,
wo man dann eben solche Grundprinzipien letztendlich,
wie sie hier angesprochen sind, also Mikroprogrammierung,
Assembler, Programmierung, dann eben lernt,
beziehungsweise dann das,
was sich viel nachher in der Vorlesung noch vorstellen wäre,
dann eben auch wirklich mal
rein praktisch selber ausprobieren kann
Gut, Klausur, wie gesagt, als große Abschlussprüfung.
Es gibt eben diese beiden Klausurtermine, die stehen also auch schon fest,
sind also auch entsprechend auf den Webseiten, Batsch, das war zu schnell,
also auf den Webseiten der Informatik, unter diesem Link entsprechend erreichbar.
Zweistündig findet das Ganze dann statt,
im Prinzip von 10.30 Uhr bis 12.30 Uhr, ab 10 Uhr ist Einlass,
da sie dann im Prinzip also irgendwo in Audimax erstmal reinkommen,
komplett und da irgendwie verteilt werden, Plätze finden und so weiter.
Auch nur die Bitte, pünktlich zu kommen,
dass man dann eben wirklich abziehen oder spätestens da ist,
um dann diese halbe Stunde dann eben auch entsprechend zu haben,
damit sie dann eben auch wirklich noch zwei Zeitstunden haben,
um die Klausur zu schreiben.
Zu den beiden Klausurterminen kann ich auch nur sagen,
mein Tipp ist also möglichst immer die erste Klausur schon mitzuschreiben.
Zumal sieht man dann also letztendlich schon mal, wie das Ganze läuft,
wenn es nicht hinhaut, dann kann man immer noch sagen,
okay, also der nächste Versuch kommt dann noch.
Zum anderen, ich weiß nicht, woran das liegt,
ist die Erfahrung bei uns eigentlich auch immer,
dass man sagt, also bei den beiden Klausuren,
wenn ich die jetzt also von der Notenverteilung vergleiche,
ist irgendwie die zweite Klausur irgendwie immer schlechter,
obwohl wir da jetzt also nicht die Aufgaben nochmal extra schwieriger gestaltet haben.
Was ich auch zusätzlich jetzt noch anbiete oder anbieten würde,
die letzten Male wurde es eigentlich auch immer nachgefragt, deswegen habe ich das jetzt,
dass ich hier auch schon mal so hingeschrieben Ich würde auch noch mal mit dem Kollegen,
also was wie eine Probeklausur generieren. Das heißt,
auch irgendwann ganz am Ende der Vorlesungszeit würden wir dann im Prinzip zwei Stunden lang ein Klausurzettel bearbeiten,
der dann eben mit entsprechenden Aufgaben ähnlich wie er dann eben auch in der richtigen Klausur dann stattfindet,
durchgearbeitet werden kann, sodass man da dann eben schon mal sieht,
wie das Ganze letztendlich läuft, wie die Aufgaben formuliert sind,
dann eben vielleicht auch noch mal ein bisschen gezielter feststellt,
Mensch,
da sind noch irgendwo Lücken oder da ist noch was nicht so ganz klar und das dann eben auch noch mal für die richtige Klose dann passend lernen kann.
Außerdem soll natürlich bei dieser Probeklausur oder dann das Ganze dann eben auch nochmal in Ruhe besprochen werden,
mit anschließender gemeinsamer Korrektur. Okay. Gut, anschließend kommen wir jetzt hier nochmal so diverse Folien, wo ich jetzt also diese ganze Literatur nochmal als Literaturliste habe. Also wie gesagt,
also das, worauf die Vorlesung jetzt hauptsächlich lebt,
sind eben dieses Buch von Brian Enno Heuleran,
beziehungsweise diese Tarn, das Tarnbaumbuch,
das ist eben hier nur einmal die deutsche Arme,
die englische Version und anschließend folgen hier jetzt noch diverse Folien mit weiteren Lehrbüchern,
die sie jetzt auch nicht alle irgendwie unbedingt gelesen haben oder gelernt haben müssen,
sondern die eigentlich auch nur dazu dienen, dass,
wenn sie jetzt sagen, okay, also ich gehe nochmal in die Informatikbibliothek,
das sind also alles, oder zum Großteil, also nein,
überwiegend Bücher, die wir dann eben auch haben,
dass sie da dann eben auch nochmal nachschlagen können oder nochmal gucken können,
wenn jetzt also irgendwelche Unklarheiten sind, wie ist das da gemacht,
das sind dann eben auch, sagen wir mal,
Grundlagenbücher zur technischen Informatik beziehungsweise von Patterson und Tennessee.
Also dazu werde ich dann also in dem,
oder aus diesem Buch habe ich dann nachher in dem Teil zur Rechnerarchitektur,
also gerade Pipelining-Konzepte, relativ viel dann auch noch mit rausgenommen.
Das ist also auch ein sehr gutes, sehr empfehlenswertes Buch.
Auch in Deutscher beziehungsweise englischer Version oder eben auch basisbüchetechnische Informatik von Schiffmann und Schmerz.
Nicht das heißt, das sind jetzt hier eigentlich alles erstmal Bücher,
die bei uns in der Literatur in Hablito,
in der Bibliothek, vorhanden sind.
Hier unter Vertiefung habe ich jetzt noch so ein paar Bücher,
wo dann also einige Themen drin sind,
auf die ich also teilweise in der Vorlesung noch Referenzen habe,
wo dann aber wirklich immer Nummer ein oder zwei Seiten letztendlich interessant ist,
aber das also auch nur nochmal als weitere Referenzen dann hier noch unter dem Thema Literatur aus Hamburg.
Eigentlich ein Buch, was also thematisch immer noch ganz gut passt,
was wir aber inzwischen nicht mehr haben,
beziehungsweise was vergriffen ist von Lagermann Rechnerstrukturen,
ist eben auch schon
etwas älter
Genau, so von Professor Möller, ein Buch über Rechnerstrukturen,
was zumindest teilweise lesenswert ist teilweise, sind die Meinungen der Studenten,
da hat es dann auch so ein bisschen geteilt.
Dann eben Vorlesungsskript zu dem Thema Rechnerstrukturen, also aus der Zeit,
als der Möller das noch gehalten hat und natürlich dann nochmal Werbung in eigener Sache.
Einige Sachen, die ich also zu dem Bereich Schaltungs,
dieser Entscheidungsentwurf später, später, später, also irgendwann,
was weiß ich, Ja, Mitte November vielleicht vorstellen werde,
sind also aus einer Vorlesung,
die ich dann mal gehalten habe, rechten Architektur und Mikrosystemtechnik.
Dazu gibt es dann, wie gesagt,
bei uns auf den Webseiten auch noch die kompletten Folien oder Foliensätze,
dass man da auch nochmal nachgucken kann. Zu dem Thema Assembler-Programmierung,
was dann also im Prinzip so im Bereich Ende Dezember,
Anfang Januar ansteht, wo es dann also auch einige Aufgaben gibt,
gibt es dann also auch noch ein sehr gutes Buch,
was jetzt eigentlich das Gute online zum Download verfügbar ist,
von Randy Heart,
The Art of Assemble Language Programming,
wo man dann eben
auch noch nachschlagen kann
Gut, zur Software, hatte ich ja eben auch noch kurz angesprochen,
was wird dann irgendwann nochmal benötigt. Wie gesagt,
eine Java Virtual Machine für diese ganzen Programmiererspiele,
beziehungsweise um diesen Hades-Schaltungssimulator von Normalen Hendrik ausführen zu können,
den ich dann also im Laufe der Vorlesung auch des Öfteren mal benutzen werde,
beziehungsweise da noch immer hier live auf dem Rechnetland vorführen werde.
Und ich denke mir, damit können sie dann
auch teilweise bei einigen Übungsaufgaben dann noch ganz gut mitarbeiten.
Aber wie gesagt, das werden sie dann entsprechend dann sehen.
Genauso dann eben so was wie C-Compiler, Assembler und etsprechende D-Bug-Tools,
empfehlenswert ist dann im Prinzip da immer die Gnu-Tool-Chain,
wo man jetzt immer sagen kann,
das Ganze ist bei Linux-Rechnern im Großen und Ganzen natürlich immer default-mäßig verfügbar oder direkt verfügbar.
Beim Windows-Rechnern gibt es da die Möglichkeit, dass eben über entsprechende Umgebung,
Stichwort ist da Cycwen, Development Tools nachzuinstallieren.
Das ist dann eben auch freie Software, wo man dann
eben diese Know-Tool-Chain dann eben auch unter Windows ausführen kann.
Oder was sich also auch schon von Ständen gehört habe,
die das gemacht hatten, dass man dann eben quasi auf
seinem Windows-PC letztendlich sowas wie eine virtuelle Maschine aufsetzt.
Da kann man dann eben irgendeine freie Version von Virtual Box oder VMware
nehmen und da dann eben ein kleines Linux-System zum Laufen bringt und
da dann eben entsprechend dann die diese eigentlich nativen Linux-Sachen startet.
Wie gesagt, weitere Informationen dazu finden sich eben bei uns auf der Webseite,
beziehungsweise wenn das Ganze war,
das wird also noch ein bisschen dauern, dann irgendwann aktuell wird,
werde ich da dann also auch nochmal genau drauf eingehen.
So, das war jetzt erstmal dieser, in Anführungszeichen,
einführende Teil, womit ich also schon die Hälfte der heutigen Veranstaltung verbraten habe.
Nichtsdestotrotz Werde ich jetzt also mit der offiziellen Vorlesung anfangen.
Sprich mit den eigentlichen Inhalten von Rechnerstrukturen. Wie gesagt,
die Folien selber sind ja dann eben auch auf der Vorlesungsseite zum Download verfügbar.
Gut, das, womit ich jetzt erst mal anfange,
so ein bisschen Einführung, ein bisschen Motivation.
Dazu bin ich jetzt also vor ein paar Tagen,
also noch haben wir uns in die Bibliothek gegangen,
habe da in dem dicken Brockhaus nochmal nachgeguckt,
was steht dort letztendlich unter Informatik
Das ist ja das, was ja nun irgendwann mal hier Bachelor-Studium werden wollen.
Und da ist eben der erste Satz Informatik,
ist die Wissenschaft von der systematischen Verarbeitung von Informationen.
Besonders der automatische Verarbeitung mit Hilfe von Digitalrechnern und dann Querverweis auf Computer.
Gut, was fällt uns dabei auf? Systematisch Verarbeitung und
Digitalrechner. Und letztendlich ist Letzteres genau das Thema,
was wir jetzt hier eigentlich in Rechnerstrukturen behandeln,
nämlich jetzt nicht die Art und Weise, wie ich programmiere,
was dann im Prinzip in Softwareentwicklung, in den ganzen Veranstaltungen stattfindet,
sondern die Fragestellung, wie funktioniert so ein Digitalrechner?
So, jetzt kann ich Ihnen natürlich in Laufe so einer kurzen Nicht komplett nahe bringen,
wie jetzt also irgendwie so ein aktueller Vier-Kern-Prozessor in einem modernen PC,
inklusive Betriebssystem und was weiß ich, wie funktioniert,
weil dafür ist die Zeit nun leider doch ein bisschen sehr begrenzt.
Aber es sollen zumindest schon mal so die Grundlagen geschaffen werden,
dass also im Prinzip klar wird,
wie jetzt also überhaupt erst mal Informationen, also Zahlenzeichen,
was auch immer das jetzt abstrakt sein mag,
repräsentiert bzw. kodiert werden.
Und dass eben ein zumindest grobes technisches Grundverständnis da ist,
wie die einzelnen Funktionskomponenten arbeiten
Deswegen kann man jetzt eben sagen, Inhalt und Lernziele im Team,
Prinzip des Verneumann-Rechners, Zahlendarstellung, Abstraktionsebene und so weiter und so fort.
Das hatte ich eigentlich eben schon in dem Teil zur Organisation mitgebracht.
Wie gesagt, das ist eine Auflistung von Stichworten.
Da will ich jetzt also jetzt irgendwie nicht stundenlang die Sachen erläutern,
sondern ich denke mir, das wird dann im Laufe der Vorlesung entsprechend klar. Das,
was davon eigentlich hängen bleiben soll, ist,
dass man eben sagt, okay,
also mit dieser Vorlesung Rechnerstrukturen habe ich eben so ein Basiswissen Informatik,
also wie so eine Kiste irgendwie tut,
wie sie, wie Programme abgearbeitet werden,
warum sich da jetzt also irgendwie was auf dem Bildschirm tut,
was sie dann letztendlich nutzen sollen, um irgendwelche Trends und Perspektiven zu bewerten.
Und wo sie dann eben auch so ein bisschen sehen sollen,
das ist das,
womit ich jetzt gerade am Anfang dann noch so ein bisschen anfangen werde,
wie sieht das eigentlich mit zukünftigen Entwicklungen aus,
welche Chancen gibt es da, wie hat sich die Informatik jetzt überhaupt entwickelt,
nicht so rein technisch gesehen, weil das dann doch teilweise sehr Interessante,
beziehungsweise auch wirklich sehr beeindruckende Sachen sind,
wenn man sich so ansieht.
Also was ist Informatik heute, nicht in was war Informatik vor
20 Jahren, beziehungsweise was war Informatik für 40 Jahren?
Nicht, dass man das so ein bisschen einschätzen kann.
Gut, zur Motivation, also zu der Fragestellung,
wie funktioniert ein Digitalrechner? Gut, warum braucht man das?
Ohne digitale Rechner kann man sagen,
hätte ich natürlich erstmal keine Informatik oder zumindest nicht das,
was wir also heute darunter verstehen
Und zum anderen ist also dieses Wissen,
also gerade so ein Basiswissen, notwendig,
um jetzt also im Grundverständnis von Software, also das,
was jetzt in den anderen Bornstudiums-Veranstaltungen jetzt hier während des ersten Semesters im Bachelorstudiengang mitbekommen und dem Zusammenhang zu irgendwelchen physikalischen Rechnern,
also dann zu der Hardware, wie das dann eben letztendlich zusammenspielt,
weil Interessant wird das Ganze dann eh wirklich,
wenn man sagt, ich möchte nachher auch performante Software haben,
weil es da dann doch eben gewisse Wechselwirkungen gibt.
Das will ich also auch gleich noch so ein paar Beispiele zeigen,
wo man dann eben wirklich sehr schön sehen kann,
wenn man letztendlich weiß, wie so ein Digitalrechner funktioniert,
wie gerechnet wird, wie Zahlen dargestellt werden,
dass dann sich eben auch einige Effekte letztendlich gut erklären lassen,
beziehungsweise man dann eben auch sieht,
ob ich ein Programm,
also in der einen oder in einer anderen Weise schreibe,
laufen die dann eben
unterschiedlich effizient auf der Hardware ab
Dazu muss man dann eben entsprechend wissen, wie Software und Hardware letztendlich miteinander interagieren. Gut,
und jetzt einführend, sofern ich das so heute noch schaffe,
werde ich dann also noch ein bisschen was sagen zu dem Variantenvielfalt von Mikroprozessesystemen.
Nicht weil das, was sie ja nun,
sag ich mal, aus dem täglichen Leben eigentlich erst mal kennen,
also du sprichst sowas wie Personal Computer, Laptop, Smartphone,
Tablet-Gerät, ist natürlich erstmal nur irgendwie ein kleiner Teil dessen,
was eigentlich Informatik ausmacht,
beziehungsweise wo solche Geräte dann eingesetzt werden.
Nicht nach oben hin geht das dann also wirklich in der Spanne-Workstation-Server
bis zu irgendwelchen Supercomputern. Daneben hat man aber eigentlich dann Mikroprozesse,
Systeme eben auch in allen möglichen Geräten des täglichen Lebens drin.
Nicht also ein normaler Mittelklasse-Pkw heutzutage ist letztendlich ein Rollen
des Reichenzentrums mit 40 bis 80 Prozessoren,
die da drin arbeiten
Dann irgendwelche Geräte zur Medienverarbeitung, nicht also inzwischen jeder Fernseher,
ist jetzt mit LAN-Anschluss und was weiß ich wie ausgestattet und da läuft also ein eigenes Betriebssystem drauf,
bevor du überhaupt erst anfängst, also irgendwie ein Signal,
also jetzt vom Antenneneingang beziehungsweise vom Receiver zu empfangen und zu dekodieren,
nicht dann irgendwelchen Mobilgeräten bis zu irgendwelchen einfachst Anwendungen,
also was wie RFID-Tags, also sprich das,
was man so teilweise auf irgendwelchen Kassensystem hart beziehungsweise in irgendwelchen Bezahlsystemen,
wo dann eben im Prinzip irgendwelche Gegenstände sich gegenüber anderen ausweisen beziehungsweise sagen,
okay,
ich werde jetzt hier gerade aus dem Laden geschmuggelt und dann geht dann eben der entsprechende Alarm an,
wo man dann sagen kann, okay,
das sind dann eben wirklich Sachen,
die im Cent-Bereich preislich liegen und ja,
letztendlich ja sowas wie Wegwerfcomputer sind
Gut, wenn man sich jetzt die Entwicklung der Informatik anguckt,
beziehungsweise das, was jetzt gerade so diese beeindruckende Entwicklung ausmacht, kann man sagen, also das ist eigentlich dieser Fortschritt durch zwei Faktoren geprägt wird. Der eine ist zum einen,
also der technische Fortschritt bei der Mikro- und Optro-Elektronik,
wo man eigentlich nach wie vor immer noch ein exponentielles Wachstum hat,
das heißt also zwischen, je nachdem,
wie man das rechnet, 50 bis 100 Prozent Leistungssteigerung,
Integrationssteigerung, Geschwindigkeitssteigerung, was auch immer man da ansetzt,
pro Jahr treten auf und über die Jahre ergibt sich dann eben ein exponentieller Effekt und das gilt dann eben eigentlich für alle möglichen Bereiche,
das kann eben sein, die Rechenleistung von Prozessoren,
was auch immer man jetzt als Rechenleistung ansieht,
also das heißt, wie schnell sie jetzt Daten verarbeiten,
wie hoch sie getaktet werden oder was auch immer,
gilt aber eben genauso für die Speicherkapazitäten, beispielsweise jetzt von Hauptspeichern,
also irgendwie Rammspeicher oder eben Flash-Speicher oder eben auch die Speicherkapazitäten von Langzeit speichern,
wie jetzt also Festplatten.
Gilt aber eben auch, jetzt gerade in letzter Zeit natürlich dann
im aktuell dann eben auch für irgendwie so Effekte wie oder Dienste wie Bandbreiten. Das heißt,
wenn ich jetzt also Netzwerken irgendwie was, meine Daten übertrage,
dass ich dann eben auch mit immer schnelleren, entweder kabelgebundenen,
also sprich Entwicklung bis zum Gigabit Ethernet oder jetzt eben auch irgendwelchen Funknetzwerken,
also die ganzen WLAN-Standards mit den Jahren eben
auch entsprechend immer schneller meine Daten übertragen kann
Das heißt, auf der einen Seite habe ich den technischen Fortschritt, der mir hilft.
Auf der anderen Seite hat sich dann eben auch beim Entwurf der digitalen Systeme sehr viel getan. Das heißt,
wenn ich jetzt also so einen aktuellen, großen Prozessor nehme und sage,
also war jetzt gerade vor einigen Tagen letztendlich die Spezifikation von Nvidia,
von der aktuellen GPU mit etwas mehr als sieben Milliarden Transistoren,
Kann man sagen, um die jetzt noch irgendwo sinnvoll auf dem Silizium unterbringen zu können.
Kann ich jetzt nicht mehr beigehen und sagen,
ich begrüße da jeden Transistor einzeln und sage,
der ist so und so groß und wird über die Leitung mit dem und dem Transistor verbunden,
sondern der Entwurf selber findet dann eben auch nur mit entsprechenden Entwurfswerkzeugen statt,
die dann eben auch von Informatikern entwickelt werden.
Und der Entwurf findet dann eben auch nicht mehr so statt,
dass ich sage, Für den Entwurf, ich beschreibe,
wie jetzt irgendwelche Transistoren oder Komponenten miteinander verbunden sind,
sondern den Entwurf findet so statt, dass ich sage,
ich beschreibe, was dieser Chip tun soll.
Und ähnlich wie in der Programmierung habe ich da dann eben auch Hardware-Beschreibung,
Sprachen, wo ich dann quasi mit einer,
ähnlich wie in einer Programmiersprache sagen kann, die Hardware soll das und das machen.
Und dann habe ich als mehrstufigen Prozess dann eben mehrere Werkzeuge,
die dann der Reihe nach diese Beschreibung verarbeiten und daraus dann irgendwann letztendlich Lithium-Layout erzeugen,
was dann eben wirklich in den Schiff gegossen werden kann.
Und nur dadurch ist es dann überhaupt möglich, das,
was heutzutage technisch machbar ist, also das heißt,
hier unter Punkt 1, dann auch wirklich ein sinnvoller Hardware umzusetzen. So,
und das führt dann aber eben auch wieder dazu,
dass ich jetzt sage, gut,
jetzt habe ich eben auch diese ganzen neuen Möglichkeiten und Anwendungsfelder,
alles, was wir jetzt eben sehen,
wo Informatik bzw. Rechnersysteme eingesetzt werden und man hat dann eben auch völlig neue Produkte oder Produktkategorien,
wo man sagt,
also an sowas hat man vor zehn Jahren eben auch überhaupt
noch gar nicht gedacht,
wie ich und heutzutage ist das also wirklich gang und gäbe
Nicht als ein Beispiel, beziehungsweise so eine Grafik,
wo dann also nur mal so ein bisschen die Entwicklung größenordnungsmäßig angezeigt ist,
kann man sich vorstellen,
also hier unten habe ich im Prinzip sowas wie Speichergrößen,
ein Kilo, ein mega, ein Giga,
ein Terrabyte.
Hier habe ich sowas wie Instruktion pro Sekunde,
also was wie eine Art Maß für die Geschwindigkeit.
Und hier mit diesen bunten Linien sind dann im Prinzip
sowas wie unterschiedliche Rechnergenerationen
Aufgezeichnet, das heißt also Zusitz Z1,
also sowas wie so ein allererster mechanischer Rechner in den Ende der 20er Jahre,
ein Apple 2,
Atari ST und ein aktueller Pentium und hier jetzt also unterschiedliche Anwendungen,
wo ich sage, ich habe eine Seite Text,
nicht wie viel Speicher beziehungsweise was brauche ich an Verarbeitungsleistung,
um damit zu arbeiten oder ich habe dann also hier MP3,
Codierung oder Dekodierung in Echtzeit.
Da brauche ich eben eine gewisse Rechenleistung,
um das zu machen und eben auch einen bestimmten Speicherplatz.
Nicht, dass ich dann also hier schon bin.
Und wenn ich jetzt also dabei bin und sage, okay,
ich habe jetzt hier sowas wie HDTV-Video und das Ganze möchte ich jetzt in Echtzeit kodieren.
Nicht, was brauche ich da dann eben entsprechend an Rechenleistung?
Und gerade in diesem Bereich Multimedia sieht man eigentlich ganz gut,
was heute inzwischen alles möglich ist, was also ein Standardprodukten
letztendlich drin ist. Wenn ich mir also meinen Festplatten,
Videorekorder annehme, was der da eigentlich alles macht,
wo man sagen kann, okay, das war beispielsweise,
also vor 20 Jahren eben rein technisch von der Verarbeitungsleistung noch überhaupt nicht möglich.
So, als ein Extrembeispiel habe ich jetzt nochmal rausgesucht,
die erste Mondlandung, Apollo 11, 1969.
Hier also nochmal ein paar Referenzen dazu,
falls da jemand nochmal irgendwie was nachsehen will,
beziehungsweise also auch von den Quellen habe ich jetzt sicher
auch entsprechend die Bilder bzw. die Informationen geklaut
So, versetzen wir uns zurück. Der erste Mensch fliegt
zum Monat 1969. Riesenrakete, tolle Sache. Was war dort,
also letztendlich an Informatik, eingesetzt, beziehungsweise hat man gemacht,
um zu berechnen, wie man da hinfliegt,
beziehungsweise dass diese ganze Mission klappt.
Wenn man sich das also mal ansieht,
was dort zu damaliger Zeit, zur Verfügung stand,
kann man sagen,
in dieser Apollo-Kapsel gab es also
einen Bordrechner
AGC, Apollo Guidance Computer. Das war also hier so
eine 31 Kilo große Metallkiste. Die sah man also
ähnlich groß, war wie so ein heutiger Desktop-PC.
Und zusätzlich nochmal so ein 8 Kilogang großes Bedienmodul,
wo man also ein paar Tasten betätigen konnte,
um jetzt also irgendwas einzugeben und dann eben hier noch so
ein bisschen einfache Ausgabemöglichkeiten über entsprechende beleuchtete Bildschirme zur Verfügung hatte.
So, dieses Wunderwerk der Technik wurde mit 1,024 Megahertz getaktet
Und brauchte für eine Addition von zwei Zahlen 20 Mikrosekunden.
Wenn man das jetzt mal in Relation sieht, also Taktfrequenz,
ein Megaherz, also ein tausend Takte pro Sekunde,
Additionor 20 Mikrosekunden, dann sieht man also auch schon mal eine Addition,
die ist auch in einem Takt erledigt,
sondern die brauchte auch schon mal etwas über 20 Takte,
um da was zu machen.
Und was wo dann berechnet, es gibt 16-Bit-Worte, und zwar 16-Bit-Wort oder 2016 bezahlen.
Es gab auch nur Festkommazahlen, wurden addiert. Nicht und für insgesamt stand diesem System,
also als Speicher zur Verfügung, 72 Kilobyte,
als Ried-Only-Speicher, das heißt alles was auf der Apollo-Mission,
jetzt Onboard, gebraucht wurde, um Navigation zu machen,
um jetzt irgendwelche Sachen dort im Orbit zu berechnen,
beziehungsweise vielleicht einstellen zu müssen,
musste man vorher als Programm vorher komplett kodieren.
Und das wurde dann in einem Rom-Read-Only, also nur Lesespeicher
, abgelegt. Und als, ich sag mal,
Arbeitsspeicher, wo dann also wirklich veränderliche Sachen drin standen,
gab es dann also noch einen sehr kleinen Bereich von 4 Kilobyte.
Und dieser Speicher,
wo dann eben auch mit einer Zykluszeit von 11,7 Millisekunden angesprochen,
das ist entsprechend also in der Taktfrequenz von genau 85 Hertz,
was also dann also selbst für damalige Zeiten
schon extrem langsam war
Nicht, da kann man sagen,
also jeder Schultaschenrechner für zwei Cent ist,
also um Größenordnung schneller und genauer und kann mehr.
Jetzt hatte man natürlich nicht nur an Bordenrechner, sondern in den Kontrollzentren,
also in Houston und Cape Canaveral und wo auch immer,
gab es also jetzt noch mehrere Großrechnersysteme.
Das war dann so was, was hier zu sehen ist.
IBM, Modell 360 oder nein, IOM-System 360, Modell 75.
Das war also damals das größte und schnellste
und das Modernste,
was es gab
Bestand dann also, wie man hier sieht,
aus riesigen Räumen, die voll waren mit irgendwelchen Schränken.
Viele von den Schränken, was man also hier hinten sieht,
sind dann quasi sowas wie irgendwelche Bandlaufwerke.
Das sieht man auch teilweise in irgendwelchen alten Filmen dann auch immer nochmal.
Macht sich dann immer ganz gut, oh, großer Rechner,
da sind irgendwie so lauter sich drehende Bandlaufwerke.
Teilweise gab es dann eben auch schon irgendwie sowas wie Festplatten oder Festplattentürme.
Das war dann im Prinzip so was wie Wechselplatten.
Man konnte dann also die einzelnen Magnetplatten rausnehmen.
Das ist das, wenn man also hier im Vordergrund sieht.
Das sind also hier so mehrere Schränke,
wo dann im Prinzip solche Plattenlaufwerke drin waren
Und dann gab es dann eben noch die eigentliche CPU oder den Rechner,
das waren dann eben mehrere Schränke, wie also dieses Tal hier,
wo dann also hier so eine Bedienkonsole zu sehen ist.
So, wenn man diese Schränke aufgemacht hat,
dann waren die innen drin also voll, Kuchenblechartig,
mit irgendwie solchen Einsteckkarten, also ähnlich wie dieses Modell hier,
wobei dieses hier muss ich jetzt sagen,
ist auch aus dem Großrechner,
der ist aber schon knapp 20 Jahre später gebaut worden,
also irgendwie Mitte der 80er Jahre,
da sieht man dann eben auch so ein ganzes Board voll mit lauter kleinen ICs.
Also hier hinten, beziehungsweise hier vorne kam da auch noch Steckverbinder drauf.
Eben solchen Einschüben steckten, miteinander gebunden wurden.
Wenn man dann, sag ich mal,
so 30 oder 40 von diesen Teilen zusammen verkabelt hat,
entspricht das, also einem Teil einer kleinen CPU.
Nicht, also nur mal um das in Relation zu setzen
zu dem, was wir also heutzutage so sehen oder
letztendlich einsetzen
So, wenn man sich da jetzt also mal,
also diesen damaligen Rohstrechner, der also mehrere Millionen Dollar kostete, ansieht.
Also wie gesagt, je nach Ausstattung, aber entsprechend für diese Schränke.
Diese iBM 360 konnte also schon bis zu 5 Megahertz
schnell getaktet werden. Hatte schon sowas wie 32 Bit-Worte,
einen unvorstellbaren großen Adressraum von 16 Megabyte Hauptspeicher,
die ihr so adressiert,
oder 16 Megabyte Speicher,
die adressiert werden konnten
24 wird Adressraum. Gut, bei 32 Bittworten weiß die Frage,
warum hat man da nicht auch 32 Bitt genommen?
Da hat man schon gesagt, naja, also mehr als
diese 16 Megabyte kann man sich eigentlich gar nicht vorstellen,
dass man das überhaupt für irgendwas braucht.
Der eigentliche Speicher oder das, was es wirklich als Hauptspeicher gab,
war in einer maximalen Ausbaustufe auch nur ein Megabyte groß.
Der Rest waren dann auch schon irgendwelche Platten,
die dann quasi wie Hauptspeicher angesprochen werden konnten
Was diese Maschine aber schon harte Wanne, also sowas wie eigene Fließkomma-Formate,
das heißt, es gab dann eben nicht nur Festkommazahlen,
sondern es gab dann eben auch schon Zahlen in Exponentialdarstellungen.
So, dieses ganze Wunderwerk der Technik hatte,
wenn man das also mal so mit heutigen Benchmark-Programmen sich ansieht oder untersucht,
also eine Rechenleistung von 0,7 Mips.
Mip steht dann immer für Millionen Instruction per second,
ist mal für, sagen wir mal,
einen bestimmten Typ-Rechner letztendlich dann quasi zu 1 normiert worden und
alles andere wird dann eben letztendlich immer zu dieser Rechenleistung hin bemessen.
Also wo das eigentlich nur Sinn macht, wo ist,
dass man einfach erst überhaupt, dass man nur was hat,
um die reichen Leistungen mehr errechnen, miteinander ungefähr vergleichen zu können.
Also die vergleichbar sind, diese Angaben auch nicht so richtig,
weil das sind unterschiedliche unterschiedliche Rechenwerte bzw. Datenformate sind.
So, 0,7. Was hat man heutzutage,
wenn man sich also mal Hier irgendwie so ein Smartphone ansieht,
also jetzt nicht so ein eltliches Modell, wie ich hier besitze.
Kann man sagen, okay, also aktueller Smartphone-Prozessor, also von Qualcom.
Tagfrequenz, anderthalb Gigahertz, Duelcore leistet 9900 Maps.
Das heißt, die meisten von ihnen,
oder ich denke mal eigentlich alle von ihnen,
haben also in der Hosentasche deutlich mehr Rechenleistung,
als das zusammengenommen
Womit man also 1969 berechnet hat, wie man einen Menschen zum Mond schickt,
dort landet, wieder abhebt, wieder zurückbringen kann.
Und wenn man das jetzt nochmal vergleicht mit dem,
was also heute ein, okay, zunehmendermaßen gut ausgestatteter Desktop-PC ist,
also sprich so ein Extrem-Edition-Core-I7, Hackscore,
da ist man dann eben bei noch nicht übertaktet 3,3 Gigahertz dann eben bei einer Rechenleistung von 177.000 Mips.
Nicht das ist also letztendlich was, wo man sagen kann,
okay, da gehe ich jetzt zu irgendeinem Elektronikerändler meines Vertrauens
und kaufe dann für mehr oder minder viel Geld, also wirklich eine Rechenleistung.
Was also wirklich vor einigen zig Jahren unvorstellbar war. Und wenn man das jetzt also vielleicht mit den Werten von aktuellen Supercomputern,
die dann also wirklich um Größenordnung nochmal darüber liegen,
ist das ist also wirklich schon erstaunlich,
wie sich da also die Informatik jetzt also aufgrund dieser technischen Weiterentwicklung durch die Miniaturisierung,
durch die immer schneller werdenden Prozessoren,
durch die immer größer werdenden Bandbreiten und immer größer werdenden Speicher entwickelt hat.
Zudem zufolge kann man jetzt natürlich sagen, welche Konsequenzen hat das für die Vorlesung? Zum einen,
ich muss jetzt immer sagen,
wegen dieser rasanten technischen Entwicklung ist natürlich also gerade Informatik und das macht das Ganze natürlich auch immer sehr spannend,
nicht sowas wie jetzt irgendwie stationärer Zustand,
wo man sagen kann, okay,
also jetzt habe ich das Wissen und das ist es und das war es,
sondern es tut sich eigentlich ständig was und es entwickelt sich immer beliebig viel weiter fort und eben vieles,
was heutzutage Stand der Technik war,
war also vor fünf Jahren noch aktuellster Forschungsgegenstand und man hätte darüber promovieren können.
Also heutzutage kriegen sie das also dann irgendwo in der Grundlagenvorlesung beigebracht.
Und da wird sich eben auch immer noch in absehbarer Zeit beliebig viel tun. Das,
was wir jetzt mal so gedanklich irgendwo an Perspektiven schon hart,
beziehungsweise an Entwicklungsstrengen, nicht da geht man eben so,
also du bist maximal das Jahr 2025 darüber hinaus,
also da werde ich dann nachher auch noch mal ein bisschen,
beziehungsweise dann am Freitag dann noch mal drauf zu sprechen kommen.
Gut, letztendlich kann man natürlich sagen, also einige Details zur Aufbau,
also gerade im technischen Aufbau, zur Rechnerorganisation veralten,
aber eben die Grundkonzepte gelten nach wie vor und die bleiben auch gültig.
Und das ist also das, was am Ende dieser Rechnerstrukturen vorlesen,
sondern eben auch hoffentlich bei ihnen hängen bleiben soll.
Nicht dem zufolge sollte dann eben auch der Schwerpunkt der Vorlesung
jetzt quasi auf dem Warum liegen,
dass sie dann eben wirklich ein Gefühl dafür kriegen,
wie sich das Ganze technisch entwickelt bzw. wie man dann eben
solche Perspektiven dann eben auch nutzen kann
Hier auch noch mal nur als Anmerkung. Wenn ich also jetzt
die technische Entwicklung sehe und die jetzt vergleiche mit der Entwicklung von Software oder von Softwarekonzepten,
also da kann man sagen, Softwarekonzepte entwickeln sich zumindest teilweise doch deutlich langsamer.
Nicht also hier mal drei Sprachen herausgenommen,
die jetzt also für jeweils ganz unterschiedliche Sprachkonzepte stehen,
nämlich einmal Lisp, wo es darum geht,
also Listen zu programmieren, Pro-Log, Programmable Logic,
wo man im Prinzip mit Aussagen Logik arbeitet.
Das ist also das, was man also beispielsweise jetzt kennenlernen würde,
wenn man nachher in dem Bereich KI sich irgendwie vertieft,
weil dort eben es sich anbietet, mit Pro-Log zu arbeiten,
um jetzt also quasi die Aussagen Logiker wird,
beziehungsweise es berechnet von irgendwelchen Schlussfolgerungen dort zu machen.
Und Smalltalk Smalltalk ist jetzt also vielleicht nicht mehr die aktuellste Sprache.
Ist aber auch nur als Beispiel, also wie gesagt,
von 1972 genannt, weil Smalltalk war also die erste Sprache,
die also das Konzept objektorientierung, was ja also heutzutage eigentlich,
sodass vorher schon eine Paradigma jetzt,
also bei Java oder eben auch bei CPlus oder eben ähnlichen Sprachen ist,
letztendlich eingeführt hatte.
Und da kann man eben sagen,
also auch dieses Konzept ist dann schon aus dem Anfang
oder Mitte der 70er Jahre
dann entstanden
Gut, das waren jetzt also erst noch mal so die ersten einführenden Worte.
Jetzt werde ich noch mal ein bisschen anfangen, zu Digitalrechnern was vorzustellen.
Wenn ich jetzt also aus diesem Buch hier heraus zitiere,
von Tarnbaum, was ist ein Digitalrechner,
beziehungsweise wie ist es letztendlich definiert, kann man eben sagen,
ein Computer oder Digitalrechner ist eine Maschine,
die Probleme für den Menschen lösen kann,
indem sie die ihr gegebenen Befehle ausführt Und eine Befehlssequenz,
die beschreibt, wie man eine bestimmte Aufgabe oder wie eine bestimmte Aufgabe auszuführen ist,
nennt man Programmen.
Die elektronischen Schaltungen eines Computers verstehen eine begrenzte Menge einfacher Befehle,
in die alle Programme konvertiert werden müssen, wie viel sie sich ausführen lassen.
Gut, und dann geht das entsprechend weiter. Was mir
jetzt aus diesen Sätzen eigentlich erst mal nur rausziehen kann oder rausziehen soll,
jetzt für die Arbeitsweise des Digitalrechners, ist,
dass man sagt, okay, also um Probleme zu lösen,
habe ich eben einfache Befehle, die ich also letztendlich daran abarbeite.
Die Abfolge entspricht dann eben einem Programm. Und das,
was eine elektronische Schaltung versteht,
das ist dann eben nur eine sehr einfache Folge, sehr einfache Befehle,
in die eben diese Programme oder diese Algorithmen übersetzt werden lassen,
was dann eben der Maschinensprache entspricht.
Sogar mit ergeben sich dann Im Prinzip, oder er gibt
es dann im Prinzip der Begriff des Samantic Gap.
Also wenn ich jetzt sage, einfache Befehle,
die ein Computer ausführen kann, typische Beispiele für solche Befehle,
wäre jetzt eben sowas wie Adira 2 Zahlen in Register R1 und R2,
überprüfe, ob das Resultat gleich null ist oder kopiere ein Datenwort von einer Art Reise in ein anderes Register.
Da sieht man eben das Ganze,
was der Computer ausführen kann,
ist eben wirklich ein
sehr niedriges Abstraktionsniveau
Wenn man jetzt auf der anderen Seite sieht, womit arbeiten wir Menschen,
wenn wir jetzt also irgendwelche Handlungsanweisungen vorgeben, in der natürlichen Sprache.
Nicht als Beispiel vereinbaren sie einen Termin mit dem Steuerberater.
Dann steckt da eigentlich immer sehr viel Kontextwissen drin.
Nämlich zum einen also erstmal mit dem Steuerberater,
wer ist damit gemeint? Also das heißt,
der wäre jetzt also mein Steuerberater oder was auch immer.
Und was ist mit der Aussage vereinbaren sie
einen Termin gemeint
Nicht. Und wir als Menschen verstehen diesen Satz,
zumindest jetzt also so im Kontext Java, den interpretieren können.
Eine Maschine konnte damit nichts anfangen, weil eben genau dieses Wissen
letztendlich fehlt. Und das Ganze ist dann eben das,
was dann eben in der Literatur immer als Semantic Gap bezeichnet wird.
Nämlich die Diskrepanz zwischen der natürlichen Sprache der Menschen und eben diesen sehr einfachen Elementaren
Anweisungen. Demzufolge brauche ich dann eben quasi jetzt für die Vermittlung Zwischenmenschen und Computer zusätzliche Abstraktionsebene bzw. Software,
die mir jetzt meine, wie auch immer,
formulierten Anweisungen eben in diese sehr einfachen Elementaranweisungen,
die der Computer verstehen kann, übersetzen kann.
So, und das,
was jetzt eben die Rechnerarchitektur dann eben auszeichnet,
ist letztendlich dann eben die Definition solcher Abstraktionsebenen,
wo man dann über mehrere Stufen letztendlich so einen Prozess anstößt,
wo dann eben Das Problem oder die Problembeschreibung eben in solcher Maschinensprache übersetzt werden kann.
Zwischen diesen Stufen sollte es dann eben entsprechend einfacher bzw. sauber definierte Schnittstellen geben.
Und wenn ich jetzt diese unterschiedlichen Beschreibungsmöglichkeiten oder unterschiedlichen Abstraktionsebenen sehe,
dann stellt dann eben nachher wirklich letztendlich jede Ebene,
die ich mich also quasi vom Computer bis zum Menschen hocharbeite,
eine neue bzw. dann eben auch mächtigere Sprache dar
So, wie jetzt diese Schnittstellen definiert werden. Da gibt es dann eben
sehr viele unterschiedliche Möglichkeiten mit unterschiedlichen Optimierungskriterien. Das heißt,
je nachdem, was sich da jetzt also an Performance an Hardware kosten,
an Softwarekosten, was auch immer, ja,
ich da jetzt also an Kriterien zugrunde lege,
habe ich dann eben unterschiedliche Möglichkeiten,
so eine Übersetzungshierarchie letztendlich zu realisieren
Das, was dabei aber eigentlich erstmal wichtig ist, ist,
dass man einfach erstmal nur weiß, für einen Informatiker,
der dann nachher, also mit so einem System arbeitet,
dass eben auch auf den oberen Ebenen letztendlich für ein Gesamtverständnis
Wissen dieser da drunter liegenden sehr einfachen Ebenen vorhanden sein sollte,
da es eben häufig Rückwirkungen von,
also irgendwie da drunter liegenden Ebenen nach oben hingibt.
Gut,
was ist da mit rein praktisch gemeint mit solchen Rückwirkungen
Dazu hier nur zwei Beispiele. Zweise durch die Art
der Berechnung, also durch die Art und Metik.
Das heißt, wie rechnet ein Computer? Weil wir sagen
jetzt immer von unserem Grundverständnis her, Mensch, Computer,
das sind tolle Maschinen, die rechnen alle beliebig genau.
Stimmt eben nicht. Das ist eben das,
was ich Ihnen dann also auch im Lauf der Rechnerstrukturenvorlesung dann,
zumindest an der ersten Teil dann auch noch mit vorstellen werde,
oder dann eben die Art und Weise,
wie letztendlich Zahlen dargestellt werden,
kodiert werden und wie dann eben damit gerechnet wird und dass sich dadurch dann eben auch ergibt,
dass Computer eben nicht beliebig genau rechnen.
Ja, also hier jetzt nur als Beispiel,
also das ist in diesem Fall jetzt, also einfacher Java-Code,
also müssen sie die Sprache jetzt nicht kennen oder es wird jetzt kein Vorwissen vorausgesetzt.
Da geht es einfach nur darum,
dass ich hier im Prinzip Ausgabeanweisungen für bestimmte arrothmetische Ausdrücke
habe und dann eben wirklich gucke,
hinterher,
was kommt aus diesen atmetischen Ausdrücken raus
So, und je nachdem,
was ich da also für Datentypen habe,
also Integer-Zahlen oder eben Fließkomma, also Komma-Zahlen,
wird das dann eben entsprechend auf den Rechnern ausgeführt und berechnet,
wenn ich dann sage mal so bei einfachen Ausgaben,
also Print 0, kommt eine Null raus, Print 1,
kommt eine 1 raus und so weiter und so fort.
Wenn ich dann also hier so einen Ausdruck habe,
Print Integer, 100 mal 200 mal 300 mal 400,
nicht dann sehe ich schon, wird also hier auf einmal
Eine negative Zahl ausgegeben, was in diesem Fall daran liegt,
dass das Ergebnis für die Darstellung in diesem Datentyp,
der jetzt hier letztendlich verwendet wurde, schon zu groß ist.
Und ein Überlauf stattgefunden hat und dann vom Rechner ein ehemals negative Zahl
interpretiert wird. Das heißt, da sieht man schon,
okay, man muss mit diesen Datentypen aufpassen.
Genauso dann eben auch die Sache mit dem,
wie lieb ich genau rechne, wenn ich jetzt also mit Kommazahlen reichne.
Und selbst ein triviales Beispiel, 0,1 plus 0,1 plus 0,1.
Da sagt jeder, ja gut,
das ist
Wenn ich das, dass ich jemandem Datentyp-Dubble-Bereich nehme,
ist das eben nicht 0,3,
sondern das ist 0,3 und dann kommt irgendwie ein ganzer Satz
Nullen und dann hinten dann noch mal irgendwie was.
Was dann eben auch an der Zahlendarstellung liegt,
die dann eben dazu führt,
dass ich eben auch nicht alle Komma-Zahlen letztendlich numerisch genau darstellen kann.
Nicht anderes Beispiel, wo ihm das gleiche auftritt, Print Double
0,3 minus 0,1 plus 0,1 plus
0,1. Da sollte Null rauskommen
Und da kommt in diesem Fall eben nicht null raus,
sondern 5,5 mal 10 und minus 17. Ist zwar nur eine sehr,
sehr kleine Zahl, aber die Zahl ist eben nicht null.
Also das jetzt nur so als ein Beispiel,
wie sich da dann eben die Arrithmetik bzw. zugrunde liegenden Datentypen
nachher dann nach oben hin auch durchschlagen, auf die Programme.
Nicht nur als Programmierer muss ich dann eben,
wenn ich jetzt meine Programme schreibe,
dann eben gegebenenfalls mir bewusst sein, wie rechnet so eine Kiste,
um eben bei solchen Effekten eben nicht jetzt in irgendwelche Fehler zu laufen.
Anderes Beispiel Rückwirkung von unteren Ebenen, Performance, also sprich
wie effizient, arbeitet irgendwie ein Programm. So das,
was sich hier in diesem Programm oder in diesem Talcode letztendlich tut,
ist folgendes. Ich habe ein zweidimensionales Array, Matrix,
in dem ich Double, also in diesem Fall,
also Fließkommazahlen drinstehen habe, Und ich möchte einfach alle Zahlen,
die in diesem zweidimensionalen Errät drinstehen, aufsummieren.
So, und da kann ich jetzt sagen, gut,
wenn ich die aufsummieren möchte, gehe ich die einfach der Reihe nach durch,
bilde die Summe, genau das macht letztendlich dieser Algorithmus.
Es gibt hier also eine Zahl Samen,
die wird mit Null initialisiert und dann habe ich hier zwei ineinander geschachtelte Schleifen,
in denen ich einmal entweder Zeilen und dann eben spaltenweise durchgehe
und quasi hiermit alle Elemente adressiere und das Ganze dann hier aussummiere.
So, wenn ich das Ganze jetzt hier mit irgendwelchen Benchmark-Programmen messe,
würde ich jetzt eben sehen, ich brauche jetzt eine bestimmte Zeit,
um jetzt also irgendwie so eine relativ großes Ding da erstmal zu füllen, zu initialisieren.
Ich summiere das auf,
von dem ich einmal zeilen und dann spaltenweise durchgehe,
das heißt in einer Art und Weise,
wie das also jetzt hier in diesem Programm steht,
nicht dann braucht das also auf irgendeinem Rechner XY,
also 75 Millisekunden
Oder ich summiere das auf, indem ich einfach nur diese Indizes hier einmal vertausche.
Das heißt, ich gehe erst spalten und dann zahlenweise durch.
So, wenn ich das mache, sieht man eigentlich die gleichen Ausgangswerte.
Der Algorithmus ist dann aber auf einmal fünfmal langsamer.
So, woran liegt das? Also auch das sollte dann
hoffentlich am Ende von unseren Strukturen planen oder zumindest grob sein,
wenn es eben darum geht,
wie Werte Im Speicher abgelegt werden, wie sie adressiert werden,
dass es da eben quasi bestimmte Schema da gibt,
wo dann eben die eine Vorgehensweise letztendlich effizienter ist und die andere eben hardwaremäßig ineffizient und dadurch dann eben diese Zartunterschied rauskommt.
Und die andere Sache ist auch,
also auch hier habe ich wieder atometische Effekte,
das heißt, wenn ich einmal die Summe nehme,
habe ich hier einen bestimmten Wert und wenn ich die Summe jetzt dieser anderen Variante nehme,
habe ich dann eben auch ein anderes Ergebnis.
Gut,
das also jetzt nur als Beispiel
Wie sich jetzt also diese unteren Ebenen nach oben hin auswirken.
So, jetzt habe ich knapp überzogen,
würde dann nächste Woche, nächste Woche Blödsinn nicht.
Freitag, also übermorgen,
da natürlich entsprechend dann an fassender Stelle weitermachen oder dann erst
mal danke für ihr Geduld