Stored Program Concept

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

O Stored Program Concept é um princípio fundamental na computer architecture, pioneiro por John von Neumann e outros, que dita que as computer instructions (o program) são armazenadas na mesma memory que os data que o program opera. Isso contrasta com dispositivos de computing eletrônicos anteriores onde as instructions eram hardwired ou configuradas via physical switches e plugboards. Em um stored-program computer, a central processing unit (CPU) pode fetch instructions de memory, decode-as e execute-as sequencialmente. Isso permite que os computers sejam general-purpose machines, capazes de executar qualquer program que possa ser representado em binary form e carregado na memory. A habilidade de modificar programs na memory também habilita self-modifying code, embora essa prática seja geralmente desencorajada em modern programming por razões de security e maintainability. A von Neumann architecture, baseada neste concept, tipicamente inclui uma CPU, memory (para ambos instructions e data), input/output mechanisms, e um system bus para communication entre esses components. Essa architecture forma a base de virtualmente todos os 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;

      

🧠 Teste de conhecimento

1 / 4

🧒 Explique como se eu tivesse 5 anos

É como ter um livro de receitas dentro da sua cozinha. Em vez de ter que construir uma nova cozinha para cada refeição, você apenas diz à cozinha (computador) qual receita (programa) seguir do livro, e ela usa os ingredientes (dados) que encontra lá.

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

🔗 Termos relacionados

Pré-requisitos:

📚 Fontes