Stored Program Concept
A design where program instructions and data are stored in the same memory.
The Stored Program Concept is a fundamental principle in computer architecture, pioneered by John von Neumann and others, which dictates that computer instructions (the program) are stored in the same memory as the data the program operates on. This contrasts with earlier electronic computing devices where instructions were hardwired or set via physical switches and plugboards. In a stored-program computer, the central processing unit (CPU) can fetch instructions from memory, decode them, and execute them sequentially. This allows computers to be general-purpose machines, capable of executing any program that can be represented in binary form and loaded into memory. The ability to modify programs in memory also enables self-modifying code, although this practice is generally discouraged in modern programming for security and maintainability reasons. The von Neumann architecture, based on this concept, typically includes a CPU, memory (for both instructions and data), input/output mechanisms, and a system bus for communication between these components. This architecture forms the basis of virtually all 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;
🧠 Knowledge Check
🧒 Explain Like I'm 5
It's like having a recipe book inside your kitchen. Instead of having to build a new kitchen for every meal, you just tell the kitchen (computer) which recipe (program) to follow from the book, and it uses the ingredients (data) it finds there.
🤓 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.