Stored Program Concept
A design where program instructions and data are stored in the same memory.
The Stored Program Concept является фундаментальным принципом в computer architecture, пионером которого был John von Neumann и другие, который предписывает, что computer instructions (the program) хранятся в той же memory, что и data, с которыми работает program. Это контрастирует с более ранними electronic computing devices, где instructions были hardwired или устанавливались через physical switches и plugboards. В stored-program computer, central processing unit (CPU) может fetch instructions из memory, decode их и execute их sequentially. Это позволяет компьютерам быть general-purpose machines, способными execute любой program, которая может быть представлена в binary form и загружена в memory. Возможность модифицировать programs в memory также позволяет self-modifying code, хотя эта практика generally discouraged в modern programming по причинам security и maintainability. The von Neumann architecture, основанная на этом concept, typically включает CPU, memory (для обоих instructions и data), input/output mechanisms и system bus для communication между этими компонентами. Эта architecture формирует основу практически всех 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;
🧠 Проверка знаний
🧒 Простыми словами
Это похоже на наличие книги рецептов внутри вашей кухни. Вместо того, чтобы строить новую кухню для каждого блюда, вы просто говорите кухне (компьютеру), какой рецепт (программу) следовать из книги, и она использует ингредиенты (данные), которые находит там.
🤓 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.