Stored Program Concept

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

Le Stored Program Concept est un principe fondamental en computer architecture, pionnier par John von Neumann et d'autres, qui dicte que les computer instructions (le program) sont stockées dans la même memory que les data que le program opère. Ceci contraste avec les earlier electronic computing devices où les instructions étaient hardwired ou settées via physical switches et plugboards. Dans un stored-program computer, le central processing unit (CPU) peut fetch les instructions from memory, decode them, et execute them séquentiellement. Ceci permet aux computers d'être general-purpose machines, capables d'exécuter n'importe quel program qui peut être représenté en binary form et loaded dans memory. La capacité de modifier les programs in memory permet aussi le self-modifying code, bien que cette practice soit généralement découragée dans le modern programming pour des raisons de security et de maintainability. La von Neumann architecture, basée sur ce concept, inclut typiquement un CPU, memory (pour les instructions et les data), input/output mechanisms, et un system bus pour la communication entre ces components. Cette architecture forme la base de pratiquement tous les modern digital computers.

        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;

      

🧠 Test de connaissances

1 / 4

🧒 Explique-moi comme si j'avais 5 ans

C'est comme avoir un livre de recettes dans votre cuisine. Au lieu de devoir construire une nouvelle cuisine pour chaque repas, vous dites simplement à la cuisine (computer) quelle recette (program) suivre du livre, et elle utilise les ingrédients (data) qu'elle y trouve.

🤓 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.

🔗 Termes associés

Prérequis:

📚 Sources