Praktische Informatik 1



Yüklə 3,49 Mb.
səhifə11/25
tarix08.08.2018
ölçüsü3,49 Mb.
#61957
1   ...   7   8   9   10   11   12   13   14   ...   25

3.2 von-Neumann-Architektur


1945 First Draft of a Report on the EDVAC (Electronic Discrete Variable Automatic Computer): Befehle des Programms werden wie zu verarbeitenden Daten behandelt, binär kodiert und im internen Speicher verarbeitet (vgl. Zuse, Turing)
Ein von-Neumann-Computer enthält mindestens die folgenden fünf Bestandteile:

  1. Input unit (kommuniziert mit der Umgebung)

  2. Main memory (Speicher für Programme und Daten)

  3. Control unit (führt die Programme aus)

  4. Arithmetic logical unit (für arithmetische Berechnungsschritte)

  5. Output unit (kommuniziert mit der Umgebung)




Prinzipien:

  • Der Rechner enthält zumindest Speicher, Rechenwerk, Steuerwerk und Ein/Ausgabegeräte. „EVA-Prinzip“: Eingabe – Verarbeitung – Ausgabe

  • Der Rechner ist frei programierbar, d.h., nicht speziell auf ein zu bearbeitendes Problem zugeschnitten; zur Lösung eines Problems wird ein Programm im Speicher ablegt. Dadurch ist jede nach der Theorie der Berechenbarkeit mögliche Berechnung programmierbar.

    • Programmbefehle und Datenworte liegen im selben Speicher und werden je nach Bedarf gelesen oder geschrieben.

    • Der Speicher ist unstrukturiert; alle Daten und Befehle sind binär codiert.

    • Der Speicher wird linear (fortlaufend) adressiert. Er besteht aus einer Folge von Plätzen fester Wortlänge, die über eine bestimmte Adresse einzeln angesprochen werden können und bit-parallel verarbeitet werden.

    • Die Interpretation eines Speicherinhalts hängt nur vom aktuellen Kontext des laufenden Programms ab. Insbesondere: Befehle können Operanden anderer Befehle sein (Selbstmodifikation)!

  • Der Befehlsablauf wird vom Steuerwerk bestimmt. Er folgt einer sequentiellen Befehlsfolge, streng seriell und taktgesteuert.

    • Zu jedem Zeitpunkt führt die CPU nur einen einzigen Befehl aus, und dieser kann (höchstens) einen Datenwert verändern (single-instruction-single-data).

    • Die normale Verarbeitung der Programmbefehle geschieht fortlaufend in der Reihenfolge der Speicherung der Programmbefehle. Diese sequentielle Programmabarbeitung kann durch Sprungbefehle oder datenbedingte Verzweigungen verändert werden.

  • Die ALU führt arithmetische Berechnungen durch, indem sie ein oder zwei Datenwerte gemäß eines Befehls verknüpft und das Ergebnis in ein vorgegebenes Register schreibt. Zwei-Phasen-Konzept der Befehlsverarbeitung:

    • In der Befehlsbereitstellungs- und Decodierphase-Phase wird, adressiert durch den Befehlszähler, der Inhalt einer Speicherzelle geholt und als Befehl interpretiert.

    • In der Ausführungs-Phase werden die Inhalte von einer oder zwei Speicherzellen bereitgestellt und entsprechend den Opcode als Datenwerte verarbeitet.

  • Datenbreite, Adressierungsbreite, Registeranzahl und Befehlssatz als Parameter der Architektur

  • Ein- und Ausgabegeräte sind z.B. Schalter und Lämpchen, aber auch entfernte Speichermedien (Magnetbänder, Lochkarten, Platten, …). Sie sind mit der CPU prinzipiell auf die selbe Art wie der Hauptspeicher verbunden.

Zentrale Befehlsschleife (aus http://www.kreissl.info/diggs/ra_01.php):



Vergleiche: Assemblersprache, Ausführung eines Befehles
Vor- und Nachteile der von-Neumann-Architektur:

  • minimaler Hardware-Aufwand, Wiederverwendung von Speicher

  • Konzentration auf wesentliche Kennzahlen: Speichergröße, Taktfrequenz

  • Verbindungseinrichtung CPU – Speicher stellt einen Engpass dar („von-Neumann-Flaschenhals“)

  • keine Strukturierung der Daten, Maschinenbefehl bestimmt Operandentyp



„von-Neumann-bottleneck“ John Backus, Turing-Award-Vorlesung 1978:

When von Neumann and others conceived it [the von Neumann computer] over thirty years ago, it was an elegant, practical, and unifying idea that simplified a number of engineering and programming problems that existed then. Although the conditions that produced its architecture have changed radically, we nevertheless still identify the notion of "computer" with this thirty [jetzt fast sechzig] year old concept.

In its simplest form, a von Neumann computer has three parts" a central processing unit (or CPU), a store, and a connecting tube that can transmit a single word between the CPU and the store (and send an address to the store). I propose to call this tube the von Neumann bottleneck. The task of a program is to change the store in a major way; when one considers that this task must be accomplished entirely by pumping single words back and forth through the von Neumann bottleneck, the reason for its name becomes clear.


Wie oben erwähnt, sind auch heute noch die meisten Computer nach der von-Neumann-Architektur konstruiert. Beispiel: Architektur des Intel Pentium-Prozessors (*):


Realisierung der einzelnen Baugruppen durch Mengen von Halbleiterschaltern; z.B. eines Halbaddierers (Summe= E1 XOR E2, Übertrag=E1 AND E2):


Beschreibung der Hardware auf verschiedenen Ebenen: Physikalische Ebene, Transistor-Ebene, Gatter-Ebene (s.o.), Register-Ebene, Funktionsebene (siehe TI)

Abweichungen und Varianten der von-Neumann-Architektur:

  • Spezialisierte Eingabe-Ausgabe-Prozessoren

    • z.B. Grafikkarte mit 3D-Rendering

    • z.B. Modem oder Soundkarte zur Erzeugung von Tönen

    • z.B. Tastatur-, Netzwerk- oder USB-Controller, die auf externe Signale warten

  • Parallelität zwischen/innerhalb von Funktionseinheiten, z.B.

    • Blocktransfer von Daten

    • Pipelining in CPU

  • Duplikation von Funktionseinheiten

    • z.B. Mehrprozessorrechner, Mehrkern-Architektur: Zwei oder mehr CPU auf einem Chip, Kopplung durch speziellen Memory-Control-Bus; z.B. Pentium Extreme Edition 840 (April 2005), Preis 999 Dollar, „dürfte allerdings nur wenig Käufer finden“; Aktuell: Quadcore, Octocore (Sun UltraSparc, Intel Nehalem 2008);

  • komplexere Speicherstrukturen, z.B.

    • Register (einzelne Speicherwörter direkt in der CPU)

    • Caches (schnelle Pufferspeicher) und Bus-Hierarchien für Verbreiterung des Flaschenhalses

    • Harvard-Architektur (Trennung von Daten- und Befehlsspeicher)

  • komplexere Verbindungsstrukturen

    • externe Standardschnittstellen: IDE, SCSI, USB, IEEE1394/Firewire/iLink

    • ISA/PCI/AGP: hierarchischer bzw. spezialisierter Aufbau des Bussystems

  • komplexere Befehle, z.B.

    • mehrere Operanden

    • indirekte Adressierung („Adresse von Adresse“)

    • CISC versus RISC

  • Programmunterbrechung durch externe Signale

    • Interrupt-Konzept

    • Mehrbenutzer-Prozesskonzept

Yüklə 3,49 Mb.

Dostları ilə paylaş:
1   ...   7   8   9   10   11   12   13   14   ...   25




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə