El terme ordinador de programa emmagatzemat, tot i que hi ha hagut discrepàncies en l'ús del sinònim von Neumann,[1] engloba tot un ventall d'ordinadors digitals, tant d'arquitectura de von Neumann com d'arquitectura Harvard, des de la dècada del 1950 fins als nostres dies, descartant els anteriors. Cal fer-ne un estudi detallat, ja que és el principi de funcionament en què es basen els ordinadors actuals, tant els grans mainframes com els ordinadors personals, tan populars avui dia.
Ordinador de programa emmagatzemat de vegades és usat com a sinònim de l'arquitectura de von Neumann,[2][3] no obstant això el professor Jack Copeland considera que és "històricament inapropiat referir-se als computadors electrònics digitals de programa emmagatzemat com "màquines de von Neumann".[1] Hennessy i Patterson escriuen que les primeres màquines de Harvard van ser considerades com "reaccionàries" pels defensors dels "equips de programa emmagatzemat".[4]
Un ordinador de programa emmagatzemat és el que emmagatzema les instruccions del programa a la memòria electrònica.[5] Sovint la definició és estesa amb el requeriment que el tractament de la memòria de dades i programes sigui intercanviable o uniforme.[6][7][8]
Un ordinador amb una arquitectura de von Neumann emmagatzema les dades i les instruccions del programa en la mateixa memòria. Un ordinador amb una arquitectura Harvard té memòries separades per emmagatzemar les dades i els programes.[9][10]
La idea d'ordinador de programa emmagatzemat es remunta al concepte teòric d'una màquina universal de Turing del 1936.[11] Von Neumann era conscient d'aquest paper, i ho va inculcar també als seus col·laboradors.[12]
Molts dels primers computadors, com l'Atanasoff Berry Computer, no eren reprogramables. Executaven un únic programa cablejat. Com no hi havia instruccions de programa, no calia l'emmagatzematge per al programa. Altres equips, encara que programables, emmagatzemaven els seus programes en cintes perforades que eren alimentades físicament a la màquina, segons fos necessari.
El 1936, Konrad Zuse també va anticipar en dues sol·licituds de patent, que les instruccions de la màquina podien ser emmagatzemades en la mateixa memòria usada per les dades.[13]
El Small-Scale Experimental Machine (SSEM) de la Universitat de Manchester és generalment reconegut com el primer computador electrònic del món que executava un programa emmagatzemat, un esdeveniment que va tenir lloc el 21 juny 1948.[14][15] No obstant això el SSEM no va ser considerat com un computador de ple dret, sinó, més aviat, una prova de concepte que va ser construït per produir el computador Manchester Mark I. El 6 de maig de 1949 l'EDSAC a Cambridge va córrer el seu primer programa, i a causa d'aquest esdeveniment, és considerat "el primer ordinador de programa emmagatzemat regular, complet i completament operacional".[16] De vegades s'afirma que l'IBM SSEC, operacional el gener de 1948, va ser el primer ordinador de programa emmagatzemat;[17] aquesta afirmació és controvertida, no menys a causa del sistema de memòria jeràrquica del SSEC, i perquè alguns aspectes de les seves operacions, com l'accés a relés o unitats de cinta, van ser determinats en endollar.[18]