Von Neuman

La arquitectura von Neumann es un diseño teórico para que una computadora pueda tener un programa almacenado internamente, sirviendo como base para casi todas las computadoras que actualmente se realizan.



Una máquina von Neumann consiste de una unidad central de procesamiento, la cual tiene incluidas una unidad aritmética lógica y una unidad de control, además una 
memoria principal, almacenamiento secundario y dispositivos de entrada/salida.

Esta arquitectura asume que todo cálculo extrae los datos de la memoria, los procesa y luego los envía de regreso a la memoria.


En una arquitectura von Neumann se utiliza la misma memoria y el mismo bus para almacenar tanto los datos como las instrucciones que ejecutan un programa.


Mejora en la arquitectura 


Debido a que no se puede acceder a la memoria de los datos y a la del programa a la vez, la arquitectura von Neumann es propensa a cuellos de botella y a que se debilite el rendimiento del computador. Esto es lo que se conoce como el cuello de botella de von Neumann, donde se afecta la potencia, el rendimiento y el costo.


Uno de los cambios realizados implicó reconsiderar la cantidad de datos que se debían enviar realmente a la memoria y la cantidad que se podría almacenar localmente.

De esta manera, en lugar de tener que enviar todo a la memoria, los cachés múltiples y los cachés proxy pueden reducir el flujo de datos desde los chips del procesador a los diferentes dispositivos.


Origen


En 1945, después de la Segunda Guerra Mundial, dos científicos plantearon de forma autónoma cómo construir una computadora más maleable. Uno de ellos fue el matemático Alan Turing y el otro fue el científico de igual talento John Von Neumann.


El británico Alan Turing había estado involucrado en descifrar el código Enigma en Bletchley Park, usando la computadora ‘Coloso’. Por otro lado, el estadounidense John Von Neumann había estado trabajando en el Proyecto Manhattan para construir la primera bomba atómica, que necesitaba una gran cantidad de cálculos manuales.


Hasta ese momento, las computadoras en tiempo de guerra se “programaban” más o menos reconectando toda la máquina para poder llevar a cabo una tarea diferente. Por ejemplo, la primera computadora llamada ENIAC tardaba tres semanas en reconectarse para hacer un cálculo diferente.


El nuevo concepto consistía en que en una memoria no solo debían almacenarse los datos, sino que también el programa que procesaba esos datos debería estar almacenado en la misma memoria.


Esta arquitectura con el programa almacenado internamente se conoce comúnmente como arquitectura ‘Von Neumann’.


Esta novedosa idea significaba que una computadora con esta arquitectura sería mucho más fácil de reprogramar. Efectivamente, el programa en sí mismo se trataría igual que los datos.


Modelo


El fundamento principal del modelo de Von Neumann es el pensamiento que el programa esté guardado internamente en una máquina. En la unidad de memoria se encuentran los datos y también el código del programa. El diseño de la arquitectura consiste en:




¿como funciona el modelo von neuman?


El principio relevante de la arquitectura von Neumann es que en la memoria se almacenan tanto los datos como las instrucciones y se tratan de igual manera, lo que significa que las instrucciones y los datos son direccionales.


Funciona usando cuatro simples pasos: buscar, decodificar, ejecutar, almacenar, llamado el “Ciclo de la máquina”.


Las instrucciones son obtenidas por la CPU desde la memoria. La CPU luego decodifica y ejecuta estas instrucciones. El resultado es almacenado de nuevo en la memoria luego que se complete el ciclo de ejecución de las instrucciones.




Ventajas


  • La unidad de control recupera los datos y las instrucciones de la misma manera desde la memoria. Por tanto, el diseño y desarrollo de la unidad de control está simplificado, siendo más barato y más rápido.

  • Los datos de los dispositivos de entrada/salida y de la memoria principal se recuperan de la misma manera.

  • a organización de la memoria es realizada por los programadores, lo que permite utilizar toda la capacidad de la memoria.

  • Manejar un solo bloque de memoria es más simple y fácil de lograr.


  • El diseño del chip del microcontrolador es mucho más sencillo, ya que se accederá a una solo memoria. Lo más importante del microcontrolador es el acceso a la RAM y en la arquitectura von Neumann esta se podrá usar tanto para almacenar datos como para almacenar instrucciones del programa.

Desarrollo de sistemas operativos


La principal ventaja de tener una misma memoria para los programas y los datos es que los programas se pueden procesar como si fueran datos. En otras palabras, se pueden escribir programas cuyos datos sean otros programas.


Un programa cuyos datos son otro programa no es más que un sistema operativo. De hecho, si no se permitieran los programas y los datos en el mismo espacio de memoria, como sí sucede con la arquitectura von Neumann, nunca se hubieran podido desarrollar los sistemas operativos.


Desventajas


Aunque las ventajas superan con creces las desventajas, el problema es que solo hay un bus que conecta la memoria con el procesador, por lo que solo se puede obtener una instrucción o un elemento de datos a la vez.


Esto significa que el procesador puede tener que esperar más tiempo para que lleguen los datos o las instrucciones. Esto se conoce como cuello de botella de von Neumann. Como la CPU es mucho más rápida que el bus de datos, esto significa que a menudo permanezca inactiva.


  • Por el procesamiento secuencial de las instrucciones no se permite la implementación paralela del programa.


  • Al compartir la memoria existe el riesgo que se escriba una instrucción sobre otra debido a un error en el programa, haciendo que se bloquee el sistema.


  • Algunos programas con defectos no pueden liberar la memoria cuando terminan con ella, lo que podría causar que se bloquee la computadora debido a que la memoria se haga insuficiente.


  • Los datos y las instrucciones comparten el mismo bus de datos, aunque la velocidad a la que cada uno se debe recuperar suele ser muy diferente.



Comentarios

Entradas populares de este blog

Memoria Ram

Tarjetas Madre