Está en la página 1de 1

Las primeras m�quinas de computaci�n ten�an programas fijos.

Algunos equipos muy


simples siguen utilizando este dise�o, ya sea por motivos de simplificaci�n o de
formaci�n. Por ejemplo, una calculadora de escritorio es (en principio) una
computadora de programa fijo. En ella, se pueden hacer matem�ticas b�sicas, pero no
puede ser utilizada como procesador de texto o consola de juegos. Cambiar el
programa de una m�quina de programa fijo requiere re cablear, reestructurar, o re
dise�ar la m�quina. Las primeras computadoras no eran tanto "programadas" ya que
fueron "dise�adas"."Reprogramar" cuando era posible, era un proceso laborioso que
comenzaba con diagramas de flujo y notas de papel, seguido de dise�os detallados de
ingenier�a y luego el muchas veces arduo proceso de recablear f�sicamente y
reconstruir la m�quina. Pod�a tomar hasta tres semanas preparar un programa de
ENIAC y conseguir que funcionara.4?

Esa situaci�n cambi� con la propuesta de la computadora con programa almacenado.


Una computadora de programa almacenado incluye, por dise�o, un conjunto de
instrucciones y puede almacenar en la memoria un conjunto de instrucciones (un
programa) que detalla la computaci�n.

Un dise�o de programa almacenado tambi�n permite un c�digo mutante. Una primera


motivaci�n para una instalaci�n de este tipo fue la necesidad de que un programa
incremente o modifique de otro modo la porci�n de direcci�n de instrucciones, lo
cual, en los primeros dise�os, ten�a que hacerse manualmente. Esto lleg� a ser
menos importante cuando los registros �ndice y modos de direccionamiento se
convirtieron en caracter�sticas habituales de la arquitectura de la m�quina. Otro
uso fue para incrustar datos frecuentemente usados en el flujo de instrucciones
utilizando direccionamiento inmediato. El c�digo mutante ha ca�do en gran parte en
desuso, ya que suele ser dif�cil de entender y de depurar, adem�s de ser
ineficiente, en favor de los reg�menes de los modernos procesadores pipelines y del
almacenamiento en cach�.

A gran escala, la capacidad para tratar a las instrucciones de la misma forma que
si fueran datos es lo que hacen los ensambladores, compiladores, enlazadores,
cargadores, y otras posibles herramientas autom�ticas de programaci�n. Se puede
"escribir programas que escriban programas". En una escala menor, las intensivas
operaciones repetitivas de E/S �como los primeros manipuladores de im�genes BitBLT
o los sombreadores de p�xeles y v�rtices en los gr�ficos 3D modernos�, se
consideraron ineficaces al funcionar sin necesidad de hardware personalizado. Estas
operaciones podr�an acelerarse en los procesadores de prop�sito general con
tecnolog�a de "compilaci�n mosca" ("compilaci�n en tiempo de ejecuci�n"), por
ejemplo, programas de c�digo generado, una forma de c�digo automodificable que ha
mantenido popularidad.

Hay algunas desventajas para el dise�o de von Neumann. Aparte del cuello de botella
de von Neumann descrito a continuaci�n, las modificaciones del programa pueden ser
muy perjudiciales, ya sea por accidente o por dise�o. En algunos dise�os simples de
computadora con programa almacenado, un programa que no funcione correctamente
puede da�arse, da�ar a otros programas, o inclusive al sistema operativo, lo que
puede dar lugar a un desplome o crash de la computadora. Normalmente, la protecci�n
de memoria y otras formas de control de acceso pueden proteger tanto de
modificaciones accidentales como de programas maliciosos.

También podría gustarte