Stored Program Concept

A design where program instructions and data are stored in the same memory.

Das Stored Program Concept ist ein fundamentales Prinzip in der Computerarchitektur, das von John von Neumann und anderen maßgeblich geprägt wurde. Es besagt, dass Computerbefehle (das Programm) im selben Speicher wie die Daten, auf die das Programm zugreift, gespeichert werden. Dies steht im Gegensatz zu früheren elektronischen Rechenmaschinen, bei denen Befehle fest verdrahtet oder über physische Schalter und Steckbretter eingestellt wurden. In einem Stored-Program-Computer kann die Central Processing Unit (CPU) Befehle aus dem Speicher abrufen, dekodieren und sequenziell ausführen. Dies ermöglicht es Computern, Allzweckmaschinen zu sein, die jedes Programm ausführen können, das in binärer Form dargestellt und in den Speicher geladen werden kann. Die Möglichkeit, Programme im Speicher zu ändern, ermöglicht auch self-modifying code, obwohl diese Praxis aus Sicherheits- und Wartungsgründen in der modernen Programmierung im Allgemeinen nicht empfohlen wird. Die Von-Neumann-Architektur, die auf diesem Konzept basiert, umfasst typischerweise eine CPU, Speicher (sowohl für Befehle als auch für Daten), Ein- und Ausgabemechanismen und einen Systembus für die Kommunikation zwischen diesen Komponenten. Diese Architektur bildet die Grundlage für praktisch alle modernen Digitalcomputer.

        graph LR
  Center["Stored Program Concept"]:::main
  Pre_computer_science["computer-science"]:::pre --> Center
  click Pre_computer_science "/terms/computer-science"
  Rel_advanced_propulsion_systems["advanced-propulsion-systems"]:::related -.-> Center
  click Rel_advanced_propulsion_systems "/terms/advanced-propulsion-systems"
  Rel_file_systems["file-systems"]:::related -.-> Center
  click Rel_file_systems "/terms/file-systems"
  Rel_pointer["pointer"]:::related -.-> Center
  click Rel_pointer "/terms/pointer"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Wissenstest

1 / 4

🧒 Erkläre es wie einem 5-Jährigen

Es ist, als hätte man ein Rezeptbuch in seiner Küche. Anstatt für jede Mahlzeit eine neue Küche bauen zu müssen, sagt man der Küche (Computer) einfach, welches Rezept (Programm) sie aus dem Buch befolgen soll, und sie verwendet die dort gefundenen Zutaten (Daten).

🤓 Expert Deep Dive

The Stored Program Concept, embodied by the von Neumann architecture, revolutionized computing by decoupling instruction logic from hardware configuration. The core innovation lies in treating instructions as data, enabling them to be fetched, processed, and even modified by the CPU itself. This unified memory space, however, leads to the 'von Neumann bottleneck,' where the shared bus between the CPU and memory limits throughput, as instructions and data compete for access. Architectures like the Harvard architecture, which use separate memory spaces and buses for instructions and data, mitigate this bottleneck but sacrifice the flexibility of unified memory. The concept's significance lies in its enabling of programmability, leading to the development of operating systems, compilers, and the vast software ecosystem we rely on today. Its theoretical underpinnings relate to Turing completeness and the universality of computation.

🔗 Verwandte Begriffe

Voraussetzungen:

📚 Quellen