Definition

Von-Neumann-Flaschenhals

Was ist der von-Neumann-Flaschenhals?

Das Phänomen des von-Neumann-Engpass oder -Flaschenhals ist nach John von Neumann benannt und erklärt die Einschränkung des Durchsatzes, die mit der Architektur von Personalcomputern zusammenhängt. Von Neumann entwickelte die Theorie hinter der Architektur moderner Computer.

1945 schlug von Neumann ein Computerkonzept vor, das auf dem Konzept es speicherprogrammierten Computers basierte, bei dem Programmanweisungen und Daten im Speicher gehalten werden. Dieses als von-Neumann-Architektur – oder manchmal auch Princeton-Architektur – bekannte Modell wurde zum Standard für viele nachfolgende Computer und wird auch heute noch für viele Systeme verwendet.

Bei der von-Neumann-Architektur bestehen die Hauptkomponenten eines Computers aus der Zentraleinheit (CPU), der Speichereinheit und den Ein- und Ausgabegeräten. Die CPU enthält die Steuereinheit, die arithmetisch-logische Einheit und die Register. Der Prozessor und der Speicher sind separate Komponenten, zwischen denen die Daten über den Systembus ausgetauscht werden. Die Speichereinheit, die oft als Hauptspeicher oder Primärspeicher bezeichnet wird, speichert sowohl die Programmanweisungen als auch die Daten.

Von-Neumann-Architektur
Abbildung 1: So wie in diesem Diagramm können Sie sich den Aufbau einer klassischen Von-Neumann-Architektur vorstellen.

Über den Systembus werden alle Daten zwischen den Komponenten der von-Neumann-Architektur übertragen, was mit der Veränderung der Workloads und der Zunahme der Datenmengen zu einem zunehmenden Engpass geworden ist. Im Laufe der Jahre haben sich die Computerkomponenten weiterentwickelt, um den neuen Anforderungen gerecht zu werden. So sind beispielsweise die Prozessorgeschwindigkeiten erheblich gestiegen, und der Speicher unterstützt eine höhere Dichte, so dass mehr Daten auf weniger Platz gespeichert werden können.

Im Gegensatz zu diesen Verbesserungen sind die Übertragungsraten zwischen CPU und Speicher nicht im gleichen Maß gestiegen. Der Prozessor verbringt daher einen Großteil seiner Zeit im Leerlauf, weil er darauf wartet, dass Daten aus dem Speicher geholt werden. Unabhängig davon, wie schnell ein bestimmter Prozessor arbeiten kann, ist er durch die vom Systembus erlaubte Übertragungsrate begrenzt. Ein schnellerer Prozessor bedeutet in der Regel, dass er mehr Zeit im Leerlauf verbringt.

Überwindung des Von-Neumann-Flaschenhalses

Lange galt die Annahme, dass sich der von-Neumann-Flaschenhals nur durch erhebliche Änderungen der Computer- oder Prozessorarchitekturen überwinden ließe. Doch es gibt weitere Strategien, um die Grenzen der bestehenden Struktur zu überwinden:

  • Caching: Caches sind der gängige Weg, um den von-Neumann-Flaschenhals zu umgehen. In einer typischen Cache-Konfiguration befinden sich die L1-, L2- und L3-Cache-Ebenen zwischen dem Prozessorkern und dem Hauptspeicher, um die Abläufe zu beschleunigen. Der L1-Cache ist der kleinste, schnellste und teuerste Cache. Der L3-Cache, der von mehreren Prozessorkernen gemeinsam genutzt wird, ist der größte, langsamste und günstigste. Der L2-Cache liegt irgendwo dazwischen.
Cachespeicher
Abbildung 2: So beschleunigen die verschiedenen Cachespeicher die Verarbeitung.
  • Befehle und Daten, die üblicherweise als erstes drankommen, werden im Voraus in den Cache geholt, damit sie bei Bedarf sofort zur Verfügung stehen.
  • spekulative Ausführung: Der Prozessor führt bestimmte Aufgaben aus, bevor er dazu aufgefordert wird, so dass die Informationen sofort zur Verfügung stehen. Die spekulative Ausführung nutzt die Verzweigungsvorhersage, um abzuschätzen, welche Anweisungen wahrscheinlich zuerst benötigt werden.
  • Multithreading: Der Prozessor bearbeitet mehrere Anfragen gleichzeitig und wechselt dabei zwischen verschiedenen Threads. Der Multithreading-Prozess läuft in der Regel so schnell ab, dass es scheint, als würden die Threads gleichzeitig bearbeitet.
  • neue Arten von RAM: Die aktuellen Entwicklungen bei den RAM-Technologien versprechen, zumindest einen Teil der Engpässe zu beseitigen, indem die Daten schneller in den Bus gelangen. Zu den aufkommenden Entwicklungsbereichen gehören resistives RAM, magnetisches RAM, ferroelektrisches RAM und Spin-Transfer-Torque-RAM.
  • datennahe Verarbeitung: Bei der datennahen Verarbeitung (NDP) werden Arbeitsspeicher und Speicher um Verarbeitungsfunktionen erweitert, welche die Leistung verbessern und gleichzeitig die Abhängigkeit vom Systembus verringern. Eine Art von NDP ist die Verarbeitung im Speicher, bei der ein Prozessor und ein Speicher in einem einzigen Mikrochip integriert sind.
  • Hardwarebeschleunigung: Die Verarbeitung wird auf andere Hardwaregeräte verlagert, um die Belastung der CPU und die Abhängigkeit vom Systembus zu verringern. Zu den gängigen Arten der Hardwarebeschleunigung gehören GPUs, anwendungsspezifische integrierte Schaltungen (ASIC)und feldprogrammierbare Gate-Arrays (FPGA).
  • System-on-a-Chip (SoC): Ein einzelner Chip enthält Verarbeitungs-, Speicher- und andere Systemressourcen, wodurch ein Großteil der Datenübertragung über den Systembus entfällt. Mobile Geräte und eingebettete Systeme nutzen die SoC-Technologie in großem Umfang. Die Technologie hält nun aber auch Einzug in die Computerindustrie, wobei Apple-Silizium den Weg weist.
Diese Definition wurde zuletzt im Juni 2024 aktualisiert

Erfahren Sie mehr über Serverhardware