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
Tipp auf eine Zeit – das Video springt genau dorthin.
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]
Zum Nachlesen
Mikroprogrammierte MinimalmaschineEin Maschinenbefehl hat die Länge eines Wortes. Je nach Befehl sind die ersten 4 Bit für die Befehlscodierung reserviert und die restlichen 20 Bit enthalten …
Von-Neumann-ZyklusDer Von-Neumann-Zyklus bezeichnet in der Technischen Informatik einen Prozess bei der Befehlsverarbeitung in einem klassischen Von-Neumann-Rechner.
Von-Neumann-ArchitekturDie Von-Neumann-Architektur (VNA) ist ein Referenzmodell für Computer, wonach ein gemeinsamer Speicher sowohl Computerprogrammbefehle als auch Daten hält.
OpcodeEin spezielles Programm, der Assembler, erzeugt Maschinencode, indem es im Wesentlichen die Mnemonics durch ihre jeweiligen Opcodes ersetzt. Die meisten …