Está en la página 1de 3

Historia de la Arquitectura von Neumann

La arquitectura Von Neumann, tambin conocida como modelo de Von Neumann o


arquitectura Princeton, es una arquitectura de computadoras basada en la descrita en 1945
por el matemtico y fsico John von Neumann y otros, en el primer borrador de un informe
sobre el EDVAC.1 Este describe una arquitectura de diseo para un computador digital
electrnico con partes que constan de una unidad de procesamiento que contiene una
unidad aritmtico lgica y registros del procesador, una unidad de control que contiene un
registro de instrucciones y un contador de programa, una memoria para almacenar tanto
datos como instrucciones, almacenamiento masivo externo, y mecanismos de entrada y
salida.1 2 El significado ha evolucionado hasta ser cualquier computador de programa
almacenado en el cual no pueden ocurrir una extraccin de instruccin y una operacin de
datos al mismo tiempo, ya que comparten un bus en comn. Esto se conoce como el cuello
de botella Von Neumann y muchas veces limita el rendimiento del sistema.3
El diseo de una arquitectura Von Neumann es ms simple que la arquitectura
Harvard ms moderna, que tambin es un sistema de programa almacenado, pero tiene un
conjunto dedicado de direcciones y buses de datos para leer datos desde memoria y escribir
datos en la misma, y otro conjunto de direcciones y buses de datos para ir a buscar
instrucciones.
Un computador digital de programa almacenado es una que mantiene sus
instrucciones de programa, as como sus datos, en memoria de acceso aleatorio (RAM) de
lectura-escritura. Las computadoras de programa almacenado representaron un avance
sobre los ordenadores controlados por programas de la dcada de 1940, como la Colossus y
la ENIAC, que fueron programadas por ajustando interruptores e insertando parches,
conduciendo datos de la ruta y para controlar las seales entre las distintas unidades
funcionales. En la gran mayora de las computadoras modernas, se utiliza la misma memoria
tanto para datos como para instrucciones de programa, y la distincin entre Von Neumann
vs. Harvard se aplica a la arquitectura de memoria cach, pero no a la memoria principal.
Las primeras mquinas de computacin tenan programas fijos. Algunos equipos muy
simples siguen utilizando este diseo, ya sea por motivos de simplificacin o de formacin.
Por ejemplo, una calculadora de escritorio es (en principio) una computadora de programa
fijo. En ella, se pueden hacer matemticas bsicas, pero no puede ser utilizada como
procesador de texto o consola de juegos. Cambiar el programa de una mquina de programa
fijo requiere re cablear, reestructurar, o re disear la mquina. Las primeras computadoras no
eran tanto "programadas" ya que fueron "diseadas". Solo se "reprogramaba" cuando era
absolutamente posible, siendo un proceso laborioso, que comenzaba con diagramas de flujo
y notas de papel, seguido de diseos de ingeniera detallada, y luego en muchas veces
arduo el proceso de recablear fsicamente y reconstruir la mquina. Podra tomar hasta tres
semanas establecer un programa de ENIAC y conseguir que funcione.
Esta situacin cambi con la propuesta de la computadora con programa almacenado.
Una computadora de programa almacenado incluye, por diseo, un conjunto de instrucciones
y puede almacenar en la memoria un conjunto de instrucciones (un programa) que detalla la
computacin.

Un diseo de programa almacenado tambin permite un cdigo mutante. Una primera


motivacin para una instalacin de este tipo fue la necesidad de que un programa incremente
o modifique de otro modo la porcin de direccin de instrucciones, lo cual, en los primeros
diseos, tena que hacerse manualmente. Esto lleg a ser menos importante cuando los
registros ndice y modos de direccionamiento se convirtieron en caractersticas habituales de
la arquitectura de la mquina. Otro uso fue para incrustar datos frecuentemente usados en el
flujo de instrucciones utilizando direccionamiento inmediato. El cdigo mutante ha cado en
gran parte en desuso, ya que suele ser difcil de entender y de depurar, adems de ser
ineficiente, en favor de los regmenes 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 automticas de programacin. Se puede "escribir programas que
escriban programas". En una escala menor, las intensivas operaciones repetitivas de E/S
-como los primeros manipuladores de imgenes BitBLT o los sombreadores de pxeles y
vrtices en los grficos 3D modernos, se consideraron ineficaces al funcionar sin necesidad
de hardware personalizado. Estas operaciones podran acelerarse en los procesadores de
propsito general con tecnologa de "compilacin mosca" ("compilacin en tiempo de
ejecucin"), por ejemplo, programas de cdigo generado una forma de cdigo automodificable que ha mantenido popularidad.
Hay algunas desventajas para el diseo de Von Neumann. Aparte del cuello de botella
de Von Neumann descripto a continuacin, las modificaciones del programa pueden ser muy
perjudiciales, ya sea por accidente o por diseo. En algunos diseos simples de
computadora con programa almacenado, un programa que no funcione correctamente puede
daarse, daar a otros programas, o inclusive al sistema operativo, lo que puede dar lugar a
un desplome o crash de la computadora. Normalmente, la proteccin de memoria y otras
formas de control de acceso pueden proteger tanto de modificaciones accidentales como de
programas maliciosos.

Definicin Formal
Las computadoras son mquinas de arquitectura von Neumann cuando:
1. Tanto los programas como los datos se almacenan en una memoria en comn. Esto
hace posible la ejecucin de comandos de la misma forma que los datos.
2. Cada celda de memoria de la mquina se identifica con un nmero nico, llamado
direccin.
3. Las diferentes partes de la informacin (los comandos y los datos) tienen diferente
modos de uso, pero la estructura no se representa en memoria de manera codificada.
4. Cada programa se ejecuta de forma secuencial que, en el caso de que no haya
instrucciones especiales, comienza con la primera instruccin. Para cambiar esta
secuencia se utiliza el comando de control de transferencia.

Estructura Clsica de las Mquinas von Neumann


Una mquina Von Neumann, al igual que prcticamente todos los computadores modernos
de uso general, consta de cuatro componentes principales:
1. Dispositivo de operacin (DO), que ejecuta instrucciones de un conjunto especificado,
llamado sistema (conjunto) de instrucciones, sobre porciones de informacin
almacenada, separada de la memoria del dispositivo operativo (aunque en la
arquitectura moderna el dispositivo operativo consume ms memoria -generalmente
del banco de registros-), en la que los operandos son almacenados directamente en el
proceso de clculo, en un tiempo relativamente corto
2. Unidad de control (UC), que organiza la implementacin consistente de algoritmos de
decodificacin de instrucciones que provienen de la memoria del dispositivo, responde
a situaciones de emergencia y realiza funciones de direccin general de todos los
nodos de computacin. Por lo general, el DO y la UC conforman una estructura
llamada CPU. Cabe sealar que el requisito es consistente, el orden de la memoria (el
orden del cambio de direccin en el contador de programa) es fundamental a la hora
de la ejecucin de la instruccin. Por lo general, la arquitectura que no se adhiere a
este principio no se considera von Neumann
3. Memoria del dispositivo un conjunto de celdas con identificadores nicos
(direcciones), que contienen instrucciones y datos.
4. Dispositivo de E/S (DES), que permite la comunicacin con el mundo exterior de los
computadores, son otros dispositivos que reciben los resultados y que le transmiten la
informacin al computador para su procesamiento.

También podría gustarte