Want to make creations as awesome as this one?

Transcript

mapa conceptual

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.

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.

Indistintamente de si es una consola, un PC o un smartphone, todos estos tienen una estructura igual. Todos estos dispositivos comparten diferentes elementos, como son: Unidad de Control: Es la encargada de las etapas de captación y descodificación del ciclo de instrucción. Unidad lógico-aritmética o ALU: Se encarga de realizar las operaciones matemáticas y de lógica que requieren los programas. Memoria: Tiene la tarea de almacenar el programa, la cual la conocemos como memoria RAM. Dispositivo de entrada: Elementos que nos permiten comunicarnos e interactuar con el ordenador. Dispositivo de Salida: Puntos desde los cuales el ordenador se puede comunicar con nosotros.

Existe otro tipo de arquitectura conocida como arquitectura Harvard en la que la memoria RAM se encuentra dividida en dos pozos distintos. En uno de ellos se almacenan las instrucciones del programa y en la otra memoria los datos, teniendo buses separados tanto para el direccionamiento de la memoria como para las instrucciones

La principal desventaja de la arquitectura Von Neumann respecto a las Harvard es que utiliza un pozo de RAM único en el que almacenan instrucciones y datos. Por lo que compran un mismo bus de datos y direccionamiento. Por lo que las instrucciones y los datos han de ser captados de manera secuencial desde la memoria al mismo tiempo. Este es el llamado cuello de botella de Von Neumann.

Habréis observado que tanto en CPU como en GPU, la caché de nivel más bajo está siempre dividida en instrucciones y datos, lo cual rompe la definición de arquitectura de lo que es una arquitectura Von Neumann. El motivo de hacer esto es muy simple y es que esto tiene que ver con el objetivo de facilitar la descodificación de las instrucciones, por lo que habitualmente cuando se copia de la caché del segundo nivel más bajo al más alto lo que se hace es separar el dato de la instrucción.