Computador de programa almacenado
# Computador de programa almacenado

Un computador de programa almacenado es el que almacena las instrucciones del programa en la memoria electrónica. Con frecuencia la definición es extendida con el requerimiento de que el tratamiento en memoria de datos y programas sea intercambiable o uniforme.
Un computador con una arquitectura de von Neumann almacena los datos y las instrucciones del programa en la misma memoria. Un computador con una arquitectura Harvard tiene memorias separadas para almacenar los datos y los programas.
El computador de programa almacenado a veces es usado como sinónimo de la arquitectura de von Neumann, sin embargo el profesor Jack Copeland considera que es "históricamente inapropiado referirse a los computadores electrónicos digitales de programa almacenado como 'máquinas de von Neumann'". Hennessy y Patterson escriben que las primeras máquinas de Harvard fueron consideradas como "reaccionarias por los defensores de los equipos de programa almacenado".
La idea de computador de programa almacenado se remonta al concepto teórico de una máquina universal de Turing en 1936. Von Neumann era consciente de este papel, y lo inculcó también en sus colaboradores.
Muchos de los primeros computadores, como el Atanasoff Berry Computer, no eran reprogramables. Ellos ejecutaban un único programa cableado. Como no había instrucciones de programa, no era necesario el almacenamiento para el programa. Otros equipos, aunque programables, almacenaban sus programas en cintas perforadas que, según fuera necesario, eran alimentadas físicamente en la máquina.
En 1936, Konrad Zuse también anticipó en dos solicitudes de patente, que las instrucciones de la máquina pueden ser almacenadas en el mismo almacenamiento usado para los datos.
El Small-Scale Experimental Machine (SSEM) de la Universidad de Mánchester es generalmente reconocido como el primer computador electrónico del mundo que corría un programa almacenado, un evento que ocurrió el 21 de junio de 1948. Sin embargo el SSEM no fue considerado como un computador de pleno derecho, sino más una prueba de concepto que fue construido para producir el computador Manchester Mark I. El 6 de mayo de 1949 el EDSAC en Cambridge corrió su primer programa, y debido a este evento, es considerado "el primer computador de programa almacenado regular completo y completamente operacional". A veces se afirma que el IBM SSEC, operacional en enero de 1948, fue el primer computador de programa almacenado; esta afirmación es controvertida, no menos debido al sistema de memoria jerárquica del SSEC, y porque algunos aspectos de sus operaciones, como el acceso a relés o unidades de cinta, fueron determinados al enchufarse.