Von-Neumann-Architektur

An der Abbildung kann man schön sehen, dass die Von-Neumann-Architektur aus den gleichen Komponenten besteht wie die Zuse-Computer.

Der große Unterschied besteht in den Verbindungen dazwischen. Bei Zuse gab es Datenpfade, wo immer sie gerade sinnvoll erschienen. Die Von-Neumann-Architektur sieht viel aufgeräumter aus. Die Verbindungen werden Daten-, Adress- und Steuerbus genannt. Die Bezeichnung "Bus" kommt aus der Elektrotechnik und ist auf den ersten Blick missverständlich, weil man möglicherweise an einen Reisebus denkt. Eine bessere Bezeichnung wäre vielleicht "Straßen" oder "Infrastruktur".

Die Busse verbinden auf jeden Fall ähnlich wie das Straßennetz einer Stadt alle Komponenten miteinander. Technisch besteht jeder Bus aus mehreren elektrischen Leitungen, von denen jede entweder spannungsführend ist (was einer logischen "1" entspricht) oder nicht (dann entspricht es einer "0"). Bei frühen Computern bestand der Datenbus aus 8 Leitungen, so dass in einem Arbeitsschritt immer 8 logische Zustände, also 8 Bit auf einmal transportiert werden konnten. Mit 8 Bit kann man eine achtstellige Binärzahl darstellen. Man nannte solche Computer daher 8-Bit-Computer. Im Laufe der Jahre wurde die Datenbusbreite mehrfach verdoppelt, so dass es erst 16-Bit-, dann 32-Bit- und letztlich 64-Bit-Computer gab.

Der Adressbus transportiert ebenfalls logische Zustände, die als Binärzahl interpretiert werden. Diese Zahl wird als Adresse verwendet und legt daher fest, auf welche Information zugegriffen werden soll.

Der Steuerbus besteht aus einzelnen Leitungen, die alle eine individuelle Funktion haben. Dazu zählen eine Schreib-/Lese-Leitung und sogenannte Interruptleitungen.

Wie diese Busse zusammenspielen, kann man am besten anhand eines Beispiels verstehen. Gehen wir davon aus, dass der Prozessor Daten aus dem Arbeitsspeicher lesen möchte. Der Arbeitsspeicher besteht im Prinzip aus einem großen Datenlager. Die Daten sind in Fächern untergebracht, die jeweils so groß sind, wie der Datenbus breit. Bei einem 8-Bit-Computer sind diese Fächer also 8 Bit groß. Die Fächer sind durchnummeriert. Um auf Daten zuzugreifen, muss man dem Speicherbaustein die gewünschte Fachnummer mitteilen. In der Computertechnik nennt man die Fachgröße "Wortlänge" und die Fachnummer ist die "Adresse".

Um nun Daten aus dem Arbeitsspeicher zu lesen, muss der Prozessor die gewünschte Adresse auf den Adressbus legen. Er steuert die Leitungen also so, dass sie die Adresse als Binärzahl abbilden. Außerdem teilt er über die Schreib-/Lese-Leitung des Steuerbus mit, dass er gerne Daten lesen möchte.

Der Arbeitsspeicher erkennt nun anhand der Adresse, dass er angesprochen werden soll. Anhand der Schreib-/Lese-Leitung erkennt er, dass er Daten liefern soll. Er macht sich also ans Werk, ermittelt das richtige Fach, holt die Daten heraus und legt sie auf den Datenbus. Der Prozessor kann die Daten dann auslesen und weiterverarbeiten.

Genauso funktionieren alle Zugriffe in einem Von-Neumann-Computer. Egal ob auf den Speicher zugegriffen werden soll oder auf ein Ein-/Ausgabegerät - alle Komponenten sind mit Adressen ausgestattet und können über diese angesprochen werden.

Dieses Verfahren ist angenehm schlicht und technisch leicht umzusetzen. Der Haken daran ist, dass der Datenbus immer nur ein Datenwort zu einem Zeitpunkt transportieren kann. Das wurde mit wachsender Leistungsfähigkeit der Computer immer problematischer, bis sich der Datenbus irgendwann als echte Performancebremse erwies. Man nannte das den Von-Neumann-Flaschenhals. Bei modernen PCs sieht die Architektur daher anders aus.