Von Neumann machine, the basic design of the modern, or classical, computer. O conceito foi totalmente articulado por três dos principais cientistas envolvidos na construção do ENIAC durante a II Guerra Mundial—Arthur Burks, Herman Goldstine, e John von Neumann—em “Discussão Preliminar sobre o Design Lógico de uma Computação Eletrônica Instrumento” (1946). Embora muitos pesquisadores tenham contribuído com ideias direta ou indiretamente para o artigo, von Neumann foi o principal autor, e é frequentemente citado como a certidão de nascimento da ciência da computação.
entre os princípios enunciados no artigo estavam os de que os dados e as instruções devem ser guardados num único armazém e que as instruções devem ser codificadas de modo a serem modificáveis por outras instruções. Esta foi uma decisão extremamente crítica, porque significava que um programa poderia ser tratado como dados por outro programa. O engenheiro alemão Konrad Zuse havia considerado e rejeitado esta possibilidade como muito perigosa para seus computadores Zuse. Mas sua inclusão pelo grupo de von Neumann possibilitou linguagens de programação de alto nível e a maioria dos avanços no software dos 50 anos seguintes. Posteriormente, computadores com programas armazenados eram conhecidos como máquinas von Neumann.
um problema que a ideia do programa armazenado resolveu foi a necessidade de acesso rápido às instruções. ENIAC tinha usado plugboards, que tinham a vantagem de permitir que as instruções fossem lidas eletronicamente, ao invés de por leitores de cartões mecânicos muito mais lentos, mas também teve a desvantagem de fazer ENIAC muito difícil de programar. Mas se as instruções pudessem ser armazenadas na mesma memória electrónica que guardava os dados, poderiam ser acedidas o mais depressa possível. Uma consequência imediatamente óbvia era que computadores futuros precisariam de muito mais memória do que ENIAC.