Einführung in Computerarchitekturen

In diesem Beitrag geht es um die Computerarchitekturen die damals erfunden wurden. Es geht um Von-Neumann und die Harvard Architektur.

Lernziele

  • Begriff Rechnerarchitektur verstehen
  • Historie und Entwicklung von Rechnerarchitekturen kennen
  • Grundlegende Computerarchitekturen kennen
  • Wesentliche Eigenschaften der Computerarchitekturen verstehen
  • Geeignete grundlegende Computerarchitekturen für konkrete Anwendungen auswählen können

 

Zuerst klären wir verschiedene Ansichten des Begriffes „Rechnerarchitektur“.

 

„Architektur ist die Struktur und der Aufbau des Computers aus der Sicht des Programmierers.“
„Archtecture of IBM/360“

Dies wäre die grobe Struktur von oben herab betrachtet.

 

„Computerarchitektur ist die Zusammensetzung der Bauteile, wie sie konkret Zusammengesetzt sind.“
„Introduction of Computer Architecture“

Diese Struktur geht schon tiefer in die Architektur ein. Hier werden auch die konkreten Bauteile berücksichtigt, welche beim ersten Zitat außen vor gelassen werden.

 

„Es geht darum wie der Rechner zusammengebaut ist und wie er funktioniert.“
„Structured Computer Organization“

Dieses Zitat, vereint beide vorigen Zitate miteinander und findet einen guten Mittelweg.

 

Geschichtliches

Mechanische Rechenmaschine

Die erste mechanische Rechenmaschine wurde von Blaise Pascal im Jahr 1642 entwickelt. Es gab von dieser Rechenmaschine rund 50 Modelle mit denen die Addition von Zahlen mit bis zu 7 Dezimalstellen möglich war. Die Subtraktion war nur durch die Komplementbildung möglich.

Ein Beispiel für Komplementbildung bei 3 stelliger Maschine:
123 + 999 = 1222 wäre -1
123 + 998 = 1221 wäre -2

Die zweite Rechenmaschine war die Zuse Z1. Sie wurde 1937 von Konrad Zuse entwickelt und war damals frei programmierbar mit binären Zahlen. Leider war diese Rechenmaschine sehr unzuverlässig für den praktischen Einsatz, da sie Mechanik extrem schlecht war. Diese Maschine hätte theoretisch funktioniert, praktisch aber nie.

Der Nachfolger der Zuse Z1 war dort schon effektiver. Die Zuse Z3 wurde 1941 ebenfalls von Konrad Zuse entwickelt und war der erste funktionierende Digitalrechner. In der Zuse Z3 wurden 600 Relais für das Fließkomma-Rechenwerk verbaut und ca. 1600 Relais für den Speicher. Mit diesen 1600 Relais konnten damals 64 Wörter a 22 Bit gespeichert werden. Zuse Z3 war programmierbar durch Lochkarten. Eine Dateneingabe durch Lochkarten war nicht möglich.
Eine Tastatur diente zur Daten Ein- & Ausgabe von Zahlen. Die Zuse Z3 unterstützte Addition, Subtraktion, Multiplikation, Division und Quadratwurzel.

 

Elektronische Rechenmaschinen

Die erste elektronische Rechenmaschine war ENIAC (Electronical Numerical Integrator And Computer). Er wurde 1946 von Amerikanern entwickelt und sollte Raketen berechnen. ENIAC bestand aus rund 18.000 Vakuumröhren und 1500 Relais. Der Strombedarf war für damalige Verhältnisse mit 150KW extrem hoch. Die Kosten für ENIAC werden auf rund $500.000 geschätzt. ENIAC arbeitete im Dezimalsystem und war programmierbar durch Schalter und Kabel. Durch die Art der Programmierbarkeit, dauerte ein Programmwechsel meist Wochen.

 

Rechnerarchitekturen

Von-Neumann-Architektur

Von-Neumann war beteiligt am Bau der ersten Atombombe. Um genau zu sein war er beteiligt am Manhatten-Projekt. Die Aufgabe war es, auszurechnen wie die Bombe zünden bzw. implodieren muss, um den maximalen Schaden anrichten zu können. Er baute zusätzlich den Nachfolger von ENIAC. (EDVAC)

Das Ergebnis ist der heutige Computer (Im übertragenden Sinne). Er ist aufgrund seiner Atomtests relativ früh an Knochenkrebs gestorben (1957).

Von-Neumann definierte damals die bis heute gängige Vorstellung eines Universalrechners und lieferte damit die Grundlage alle Computerarchitekturen. Seine Architektur wird zudem auch „Princeton-Architektur“ genannt und wird in allen heutigen Computern wiederverwendet.

Die Kernelemente seiner Architektur sind, dass alle Daten und Programme im selben Speicher abgelegt sind. Programme werden sequentiell von einem Prozessor ausgeführt.

Von-Neumann erfand außerdem die „Stored-Program-Computer“. Dies heißt, dass sich Programme selbst verändern können. („selbst modifizierender Code“) Dies bedeutet allerdings auch, das sich momentan ausgeführte Programme auch selbst ändern können! Ab hier ist es auch möglich, das sich Programme von anderen Speichern nachladen können.

Prozessoren die nach Von-Neumann konzipiert sind, bieten folgende Befehlssätze:

  • Transferbefehle (Lesen, Schreiben sowie Ein- & Ausgabe)
  • Arithmetische Befehle (Addition & Subtraktion)
  • Binäre Logik (AND, OR, XOR, NOT …)
  • Vergleiche
  • Programmsteuerung (Sprünge & bedingte Sprünge)

Allerdings hat auch die Von-Neumann Architektur seine Nachteile. Einer der größten Nachteile des geteilten Daten- & Programmspeicher ist, das sich Programme aus versehen selber überschreiben und beschädigen können. Dagegen hat Von-Neumann sein „Bottleneck“ eingesetzt. Dies verweigert einen gleichzeitigen Zugriff auf Programm und Daten. Dies heißt, das der nächste Befehl erst nach Beendigung des vorherigen Befehls ausgeführt wird.

Das zweite Problem ist die sogenannte „Memory Wall“. Damals waren Prozessoren langsamer als die Speichereinheiten. Dies hatte zufolge, das der Prozessor das Limit für die Performance darstellen. Heutige Prozessoren sind um ein Vielfaches schneller als heutige Speicher. Dies hat zufolge, das der Speicher das Limit für die Performance darstellt.

 

Havard Architektur

Die Havard Architektur basiert auf einer anderen Speicherverwaltung. Die Havard Architektur setzt auf getrennten Programm & Datenspeicher. Dies hat zum Vorteil, dass das System eine bessere Performance hat, da auf Daten- und Programmspeicher gleichzeitig zugegriffen werden kann.

Modifizierte Havard Architektur

Die modifizierte Havard Architektur ist vom Grundprinzip die selbe wie dir normale Havard Architektur mit dem kleinen Unterschied, das nur das Grundprogramm fest steht, und sich neue Programme hinzu installieren lassen. Ein gutes Beispiel dafür wären heutige Smartphones. Grundsoftware steht fest, neue Apps lassen sich installieren. Der Flashspeicher des Smartphones ersetzt hierbei die Festplatte.

Von-Neumann Architektur mit Caches

Heutige Prozessoren sehen nach außen nach Von-Neumann aus, haben aber getrennte Caches für Befehle und Daten. Dies hat bessere Performance zufolge und vereint damit Havard und Von-Neumann miteinander.

 

Zusammenfassung:

  • Rechnerarchitektur beschreibt den Grundlegenden Aufbau und Funktionsweise von Computern
  • Grundlegende Computerarchitekturen sind von „Von-Neumann“ und „Havard“ definiert

Marvin Sengera

Hey! Ich bin Marvin Sengera, Inhaber der Internetagentur "Binärfabrik" aus Paderborn. Ich habe mein Bachelorstudium Informatik mit Schwerpunkt Industriespionage an der Hochschule Hamm Lippstadt abgeschlossen und absolviere derzeit meinen Master in Fachrichtung "Technical Entrepreneurship and Innovation". Ich beschäftige mich rund um die Themen Informatik, Innovation & Unternehmensgründung.

Das könnte dich auch interessieren …

Schreibe einen Kommentar