Trabajo Software y Hardware
Trabajo Software y Hardware
Trabajo Software y Hardware
TRABAJO No.02.
SOFTWARE Y HARDWARE
Historia
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 una
computadora de programa fijo. En ella, se pueden hacer matematicas 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 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.
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 que
detalla la computacion.
Un diseño de programa almacenado también permite un codigo 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 regsitros indice 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".
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 de la computadora.
Grafico
INCISO 2
PNI- Positivo-Negativo-Interesante