Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
Computer einfach erklärt: Von-Neumann-Rechner (mit Anmerkungen)
Das Wichtigste aus dem Video
Transkriptautomatisch erstellt · 88 Zeilen
- [Musik] Computer einfach erklärt
- Von-Neumann-Rechner (mit Anmerkungen) Ein Rechner zu Demonstrationszwecken
- der von der TU Dresden gebaut wurde und da kann man ganz schön sehen, wie ein Computer fuktioniert.
- Und zwar haben hier links Speicher. Hier oben haben wir konstanten Speicher, da kann man über
- solche Schalter einfach hier ein Bit an oder aus machen. Und unten haben wir tatsächlich Hauptspeicher, das ist Trommelspeicher
- der reade-write ist, also im Gegensatz zu dem konstanten Speicher der "Read Only" ist und da werden hier in diesen
- Trommeln die Bits gespeichert. Und man sieht hier diese Stifte, die über Elektromagneten
- rein und raus gedrückt werden und je nachdem ob sie drin sind, oder draußen
- ist das Bit gesetzt, oder eben nicht Ja und dann haben wir noch für Input/Output haben wir noch ein Eingabe Register
- also zum Beispiel wenn man eine Taschenrechner Anwendung hat kann man über diese in Input Felder die Daten eingeben
- und ein spezielles Output Feld wäre dann dafür da dass das Ergebnis ausgegeben wird.
- Die Maschinenbefehle sind die üblichen: Addition, Subtraktion Multiplikation Division, Sprünge und bedingter Sprung.
- Und der Opcode ist in drei Bit kodiert und die meisten Befehle haben eine Adresse, das heisst Addition geht auf den
- Akkumulator und addiert eine bestimmte Adresse auf den Akkumulator Und hier im Mittelteil ist eigentlich so ein
- bisschen angezeigt, wie der Rechner funktioniert also fangen wir mal oben an:
- Für den Programmfluss ist der Programm Zähler maßgeblich und zwar zeigt der an, die Adresse, wo sich das Programm gerade befindet.
- In unserem einfachen Beispiel haben wir nur eine Addition, die hier im ersten Wort kodiert ist
- und deswegen ist der Programmzähler meistens auch Null. Also sprich, die erste Adresse.
- Der zweite Befehl ist der Sprung auf Null zurück also bei Null ist der Addition und danach nach der Addition kommt ein Sprung
- auf der Adresse Eins zurück auf Null. Also wie genau war das nochmal?
- Unser von Neumann Rechner versteht insgesamt sieben Befehle die jeweils in neun Bit kodiert sind.
- Dabei werden drei Bits für den Operationsteil und 6 Bit für den Adressteil verwendet.
- Unterstützte Befehle sind z.B. die Addition und der unbedingte Sprung. Beide Befehle verfügen über den 6-Bit Adressteil.
- Die Addition hat Opcode binär 0 0 1 und der Sprung besitzt den Code 1 1 0.
- Unser einfaches Programm beginnt am Anfang des Speichers wo bei Adresse Null eine Addition mit 0 0 1 kodiert ist
- die auf den aktuellen Akkumulatorwert den Inhalt der Adresse 0 0 1 1 1 1 0
- also dezimal 30 addiert. Im read-only Speicher an Adresse 30 steht dann der Wert
- dezimal 21 Logisch gesehen, lautet also unsere erste Anweisung
- Addiere 21 zum bestehenden Akkumulator und schreibe das Ergebnis wieder in den Akkumulator zurück.
- Der zweite Befehl unseres Beispielprogramms steht im Wort Eins und ist ein unbedingter Sprung mit Opcode 110
- welcher als Ziel die Adresse Null hat. Also wieder logisch gesehen:
- Springe zurück auf die Addition Unser Gesamtprogramm besteht also aus einer Schleife
- die 21 auf den Akkumulator addiert und dies durch den Sprung auf Null bis in alle Ewigkeit wiederholt.
- Genau! Also was passiert dann? Dann wird hier, nachdem man den Befehlszähler ausgewertet hat
- wird Eins draufgezählt, ein Wort, dass man dem nächsten Befehl hat. Dann schaut man sich den Inhalt des Speichers an
- wo der Befehlszähler vorher drauf gezeigt hat und da hat man eben den Operationsteil
- das sind die drei Bit Opcode, wo kodiert ist, ob man addiert, subtrahiert, multipliziert oder so weiter
- und man hat den Adressteil. Die Adresse 30 haben wir hier oben kodiert sieht man ganz deutlich, ist eine Adresse 30 kodiert
- Und wenn man den Adressteil auflöst werden die Daten geholt und werden in das Operanden Register reingeschrieben
- Und gleichzeitig kommt aus dem Akkumulator für den ersten Operand der Wert. Also wir haben vier Geschwindigkeiten: 1, 2, 3, 4
- und wir laufen gerade mit dem langsamsten Takt. Schrittbetrieb - und wo stehen wir jetzt gerade?
- Wir stehen am Befehlsanfang, also wir stehen bei der Addition Und jetzt haben wir im Befehlsregister aaahh, wir haben die die Addition
- Und die Addresse ... 30 war das, also nochmal für die Anfänger:
- Zwei plus vier sind sechs plus acht sind 14 plus 16 sind 30 Dann geht es weiter
- Wir sehen, die Adresse 30 wird ausgelesen dann wird der Inhalt von Adresse 30 eingelesen und das ist 21
- Das hier sind eins plus vier sind fünf Acht, 21! Genau da sind die beiden Operanden ins Addierwerk geladen
- Dann geht es in den Akkumulator, da wird das Ergebnis schon rein geschrieben und dann geht es wieder zurück vom Akkumulator in das erste Operandenregister
- Und dann ist er wieder oben beim Befehlszähler und wir gehen dann wieder zum Sprung auf Null.
- Perfekt! Wirklich perfekt?
- Na ja, zur Sicherheit fassen wir im Folgenden das Wichtigste noch mal kurz zusammen Ein von Neumann Rechner ist in insgesamt vier grundlegende Komponenten aufgeteilt
- Die erste ist das Speicherwerk welches zum Ablegen und wieder Auffinden von Daten dient.
- Das Ein- und Ausgabewerk stellt die Verbindung nach draußen dar. Darüber werden üblicherweise Geräte, wie zum Beispiel
- Festplatten, Drucker oder Terminals angeschlossen. Das Steuerwerk dient zur Kontrolle des Programmablaufs.
- Und schließlich liefert das Rechenwerk die Möglichkeit arithmetische Operationen durchzuführen
- Zum Beispiel die Addition, Subtraktion, Multiplikation oder Division. Unser Schulungsrechner bietet darüber hinaus noch eine Tafel für den Zeitablauf
- um den Studenten die jeweils aktiven Verarbeitungsschritte anzuzeigen Steuerwerk, Rechenwerk und Ein- und Ausgabewerk
- sind über einen Bus mit dem Speicherwerk verbunden. dieses ist in 35 Wörter mit jeweils zehn Bits unterteilt.
- Jedes Wort bekommt eine eindeutige Zahl zugewiesen welche dann als Adresse bezeichnet wird.
- Wie bereits erwähnt, ist der obere Teil des Speichers in unserem Beispiel so eingestellt
- dass im ersten Wort die Addition mit Adresse 30 und im zweiten Wort der Sprung zurück auf Null kodiert ist.
- Auf der Adresse 30 ist schließlich die Zahl 21 gespeichert welche später von dem Programm für die Addition verwendet werden soll.
- Das Steuerwerk besitzt einen Befehlszähler der auf die nächste auszuführende Instruktion zeigt.
- Außerdem verfügt es über ein Befehlsregister das über den Bus mit Instruktionen aus dem Hauptspeicher befüllt werden kann.
- Das Rechenwerk beherbergt den Akkumulator einen internen Zwischenspeicher
- welcher das Ergebnis der letzten Berechnung festhält. Mit dem Addierwerk wird dann schließlich gerechnet.
- Als Eingabe für die arithmetischen Operationen dienen zwei Register, wobei Operand Eins vom Akkumulator geladen
- und der zweite Operand über den Hauptspeicher befüllt wird. Und zwar mit dem Inhalt des Wortes, auf das die Adresse der Addition zeigt.
- Nachdem wir jetzt die Komponenten des Systems kennen wird es Zeit, den Rechner zu starten!
- Beim Hochfahren bekommt erstmal das Steuerwerk Kontrolle und beginnt mit Befehlszähler Null.
- Das bewirkt, dass aus dem Hauptspeicher die erste Anweisung also in unserem Fall die Addition, über den Bus in das Befehlsregister geladen wird.
- Bei der Dekodierung des Befehls wird anschließend festgestellt
- dass es sich um die Addition mit Adressteil 30 handelt. Weil hier kein Sprung vorliegt
- wird der Befehlszähler um ein Wort weitergezählt damit später die nächste Instruktion geladen werden kann.
- Dann wird das Rechenwerk angesprochen und das erste Operandenregister aus dem Akkumulator geladen.
- Anschließend wird aus dem Speicherwerk von Adresse 30 der Wert 21 ins zweite Operandenregister übertragen.
- Schließlich werden beide Operanden ins Addierwerk überführt wo das Ergebnis berechnet und anschließend zurück in den Akkumulator übertragen wird.
- Damit hat das Rechenwerk seine Aufgabe erfüllt und übergibt die Kontrolle zurück an das Steuerwerk.
- Dort wir die nächste Instruktion von Adresse Eins geholt und dann wieder ins Befehlsregister geladen.
- Beim Dekodieren stellt der Rechner fest dass es sich diesmal um einen Sprung
- auf Adresse Null handelt. Dazu setzt das Steuerwerk einfach den Befehlzähler auf das gewünschte Ziel
- nämlich den Anfang des Speichers. Dort steht natürlich wieder unsere Addition
- welche dann die zweite Runde unseres lustigen Zählspiels einläutet. So nochmal zu der Technik
- also hier haben mir den Taktgeber mit einer Nockenwelle dann in der Mitte haben wir das Rechenwerk
- mit Relais würde ich sagen, das sind Relais, oder ... ja. Und dann hier haben wir diese mechanische Trommel
- für den Speicher, für den read-write Speicher Und hier oben die Schalter für den read-only Speicher
- und die Auswahl für die Adressierung dass man den richtigen Schalter eben addressiert
- den man gerade braucht. Oder die richtigen Schalter besser gesagt.
- Mehrere Schalter ergeben ja dann ein Wort. [Musik]