Estoy de acuerdo con Greg; Si se trata de una tarea, debe responder de acuerdo con lo que le han enseñado.
De lo contrario, respondería Alan Turing.
Una computadora de programa almacenado tiene sus instrucciones en la memoria que la computadora puede leer y escribir. Puede reprogramarse a sí mismo. Puede tomar como entrada un programa escrito en algún idioma y traducir esa entrada en instrucciones nativas que luego puede ejecutar de la misma manera que ejecutaría cualquier otro programa. Si fuéramos rigurosos, incluso podríamos decir que podría modificar las instrucciones individuales de un programa mientras lo ejecutaba, aunque esa libertad generalmente no es necesaria. Incluso algunas computadoras de amplio uso hoy en día no cumplen con el estándar del programa almacenado. Por ejemplo, algunos microcontroladores tienen el programa en EEPROM que solo se puede escribir en bloques completos si se puede escribir desde los programas. Esto se conoce como la Achitecture de Harvard, a diferencia de la Achitecture de von-Neumann.
- ¿Puedo cambiar el procesador de mi laptop de core 2 duo t5870 a core 2 duo x7900 o cualquier core 2 duo que tenga una velocidad de más de 2.6 ghz?
- ¿Cómo puedo usar un disco duro de 2.5 pulgadas de mi vieja computadora portátil para hacer un almacenamiento conectado a la red (NAS)?
- ¿Por qué mi portátil Folio 1040 se apaga?
- Cómo poner un juego en ISO usando la computadora
- ¿Por qué los discos se consideran una mejor tecnología para los sistemas de juegos cuando las máquinas más antiguas usaban cartuchos que parecen ser lo que ahora llamamos discos duros de estado sólido?
Babbage siguió a Jaccard al usar tarjetas perforadas para dirigir una máquina. Pero no imaginaba almacenar el programa en memoria mutable. El Zuse Z3 tenía el programa en cinta de papel. La memoria fue el problema más difícil de resolver para los primeros inventores de la computadora; fue bastante difícil diseñar suficiente memoria para contener los resultados del cálculo, sin pensar en los cientos de registros adicionales necesarios para mantener el programa. Incluso las computadoras bastante tarde usaron cinta magnética o disco magnético para la memoria del programa y, aunque muchas permitieron que la computadora escribiera en el disco / cinta del programa, muchas no lo hicieron; la cinta se escribiría en una máquina diferente.
En su artículo de 1936–7 sobre números computables, con una aplicación al problema Entscheidungs , Alan Turing demostró que cualquier computadora (con suficiente potencia) podía emular cualquier otra computadora. Antes de este tiempo, y durante algún tiempo después, se construyeron computadoras electrónicas y mecánicas para cálculos específicos. Turing demostró que si una computadora tuviera ciertas características (bastante simples), podría calcular cualquier cosa que en teoría pudiera calcularse. O, más formalmente, que podría emular cualquier computadora, incluidas las creadas para realizar un cálculo específico. Esa es la base de los lenguajes compilados e interpretados, que es cómo programamos hoy. Formó la base de la investigación en curso que formuló los diseños para las primeras computadoras del programa almacenado: la máquina experimental Manchester Small-Scale en el Reino Unido y EDVAC en los EE. UU. Sin que Turing demuestre la ventaja dada por el programa almacenado, es muy probable que las computadoras que se desarrollaron no hubieran sido tan despilfarradoras como para almacenar sus programas en una memoria valiosa, lo que habría frenado el desarrollo de compiladores y, por lo tanto, la ingeniería del software como lo sabemos.