Repetition

🎯 Um was geht es? 

Die Rechenarchitektur ist Dir zu irgendeinem Zeitpunkt schon in deiner Schulkarriere begegnet. 

Hier findest Du nochmals eine kleine Repetition in das Thema. 

Die Rechenarchitektur beschreibt die interne Organisation eines Computers. Es gibt zwei verbreitete Architekturen. Beide sind gegen Ende des zweiten Weltkriegs entstanden, als die ersten elektronischen Computer entwickelt worden sind: die Von Neumann-Architektur und die Harvard-Architektur. 

Wir werden uns im Folgenden nur die von Neumann-Architektur anschauen. 

John von Neumann (* 28. Dezember 1903 in Budapest, Österreich-Ungarn als János Lajos Neumann; † 8. Februar 1957 in Washington, D.C., Vereinigte Staaten) war ein ungarisch-US-amerikanischer Mathematiker. 

Schon als Kind zeigte John Neumann jene überdurchschnittliche Intelligenz. Als Sechsjähriger konnte er mit hoher Geschwindigkeit achtstellige Zahlen im Kopf dividieren. Er besaß ein außergewöhnliches Gedächtnis, das ihm beispielsweise erlaubte, den Inhalt einer Buchseite nach einem kurzen Blick darauf präzise wiederzugeben.

Er studierte von 1921 bis 1923 Chemieingenieurwesen in Berlin und dann bis zu seinem Diplom 1926 an der ETH Zürich. Gleichzeitig war er an der Universität Budapest eingeschrieben, absolvierte dort aber nur die Examina und promovierte dort 1926 mit einer Dissertation über axiomatische Mengenlehre. Sein eigentliches Interesse galt immer der Mathematik, der er sich gewissermaßen als „Hobby“ widmete. 

Von Neumann gilt als einer der Väter der Informatik. Nach ihm wurde die Von-Neumann-Architektur (auch Von-Neumann-Rechner) benannt, ein Computer, in dem Daten und Programm binär codiert im selben Speicher liegen.

2. Von-Neumann-Architektur

Ein Von-Neumann-Rechner beruht auf folgenden Komponenten, die bis heute in Computern verwendet werden: 

Heute sind Rechen- und Steuerwerk normalerweise im Prozessor (CPU) zusammengefasst. 

Kennzeichen eines von-Neumann-Rechners

 Quelle 

2.1. Das Bussystem 

Ein Bus ist ein System zur Datenübertragung zwischen mehreren Komponenten über einen gemeinsamen Übertragungsweg. Findet eine momentane Datenübertragung zwischen zwei Teilnehmern statt, so müssen die übrigen Teilnehmer zur selben Zeit schweigen, da sie sonst stören würden.[1] Die Zeit der Sprechberechtigung wird nach einem allen Teilnehmern bekannten (Zeit- oder Signal-)Schema verteilt. Das Zuhören ist nicht eingeschränkt. (mehr auf Wikipedia: Bus (Datenverarbeitung) )

Der Mikroprozessor (CPU) steuert als aktive Komponente das Busssystem. Es werden jeweils zwei Komponenten gleichzeitig aktiv geschaltet (da wir jeweils einen Sender und einen Empfänger brauchen).  

Wenn alle Komponenten direkt miteinander kommunizieren, muss zwischen allen Komponenten eine Datenleitung vorhanden sein. Wenn ein Bus verwendet wird, muss eine neue Komponente nur am Bus angeschlossen werden. Somit wird die Komplexität der Hardware reduziert. 

2.2. Speicherhierarchie 

Je weiter der Speicher von der CPU entfernt ist, desto länger geht die Zugriffszeit auf den Speicher. 

Der Preis nimmt zu, je näher sich der Speicher bei der CPU befindet. 

3. Von-Neumann Zyklus 

Der Prozessor führt immer wieder denselben zyklischen Ablauf ab.  

Von Neumann Zyklus 

Folgend sollte der von Neumann-Zyklus euch vorgestellt werden. Meine Unterlagen orientieren sich in diesem Abschnitt an der InformatikMyGymer Kirchenfeld-Seite.  

Der nächste Befehl wird aus dem Speicher in das Befehlsregister geladen. Dazu wird die Adresse des nächsten Befehls vom Programmzähler an das Speicherwerk übertragen. 

Der Befehl wird aus dem Speicher über den Datenbus in das Befehlsregister übertragen. Anschliessend wird der Programmzähler um eins erhöht. 

2. Befehl decodieren

Der Befehl, welcher in das Befehlsregister geladen worden ist, wird decodiert. Das Decodierwerk übersetzt die Aktionen, welche für diesen Befehl ausgeführt werden müssen, in Steuersignale an die verschiedenen Komponenten. 

3. Befehl ausführen

Der eigentliche Befehl wird ausgeführt, indem das Dekodierwerk die Steuersignale an die Komponenten auslöst. 

Befehlssatz

einige typische Befehle: 

Wert laden

Um einen Wert zu bearbeiten, muss dieser aus dem Hauptspeicher geladen werden. Dazu wird mit dem Lade-Befehl ein Wert aus dem Speicher in den Akkumulator des Rechenwerks geladen. 

Der Akkumulator ist ein Allzweckregister. Er ist als Operand an jeder Berechnung beteilgit und nimmt danach immer das Ergebnis auf (daher der Name - die Ergebnisse aufeinanderfolgender Berechnungen werden hier akkumuliert und bilden schliesslich das Endergebnis). 


Wert speichern

Wenn ein Wert berechnet wurde, muss es auch wieder in den Speicher geschrieben werden. 

Addieren

Im Rechenwerk werden arithmetische Operationen durchgeführt. Addition, Subtraktion, Multiplikation, Division. 

Eingabe und Ausgabe 

Aufgaben 

Lösung

3. Performance