Arquitectura Basica de Computadores

John von Neumann

(Budapest, 1903 - Washington, 1957) Matemático húngaro nacionalizado estadounidense. Nacido en el seno de una familia de banqueros judíos, dio muestras desde niño de unas extraordinarias dotes para las matemáticas.

Fue uno de los mátemáticos más importantes de la historia moderna cuyo legado incluye, entre otras aportaciones, la arquitectura de computadores y las máquinas autorreplicantes
Es una arquitectura de computadoras basada en la descrita en 1945 por el matemático y físico John Von Neumann y otros, en el primer borrador de un informe sobre el EDVAC.

Modelo Von Neumann

Este describe una arquitectura de diseño para un computador digital electrónico con partes que constan de una unidad de procesamiento que contiene una unidad aritmético lógica 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. ha evolucionado hasta ser cualquier computador de programa almacenado en el cual no pueden ocurrir una extracción de instrucción y una operación de datos al mismo tiempo, ya que comparten un bus en común. 

Es más simple que la arquitectura Harvard más moderna, que también 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.

Una máquina de Von Neumann tenia 5 partes básicas: La memoria, la unidad Aritmética lógica, la unidad de control del programa y los equipos de entrada y salida.

Unidad de proceso central (CPU)

Es la unidad encargada de controlar y gobernar todo el sistema que comprende una computadora. La CPU consiste en un circuito integrado formado por millones de transistores, que está diseñado para poder procesar datos y controlar la máquina.

Unidad de control

se encarga de leer las instrucciones (de los programas almacenados en la memoria) y se encarga de enviar las ordenes a los componentes del procesador para que ejecuten las instrucciones.
Unidad Aritmético Lógica (ALU)
es la encargada de realizar todas las operaciones aritméticas (sumas, multiplicaciones...) y lógicas (comparaciones).
Esta unidad puede tener distintos diseños, el de la imagen superior muestra el diseño más básico (donde el acumulador vuelve a usarse en la operación), en la actualidad lo normal es que el acumulador no se mezcle con los registros de entrada.

Memoria principal

En la arquitectura inicial era directamente la RAM, pero esto ha evolucionado y se han añadido memorias caché e implementado algoritmos que predicen que datos vamos a usar más frecuentemente.
La memoria RAM es bastante sencilla, en comparación con la CPU, se podría decir que es una tabla, que contiene la dirección (o lugar) donde está cierto dato y el contenido del propio dato. La memoria dispone de un registro de direcciones (RDM) y un registro de intercambio de memoria (RIM o registro de datos). En el registro de direcciones se almacena la dirección en la que se almacenará o leerá un dato, y en el registro de intercambio de memoria se almacena ese dato leído o que se almacenará.

Buses

Bus de datos perite el intercambio de datos (ya sean instrucciones o datos) con el resto de elementos de la arquitectura. Es decir, mediante el bus de datos la unidad de control recibe las instrucciones y la ALU los datos desde la memoria, al igual que también los envían por este medio.


Bus de instrucciones transmite las direcciones de memoria que van a ser usadas desde la CPU, para poder seleccionar los datos que serán usados.

Bus de control es el que transporta las ordenes generadas por la CPU para controlar los diversos procesos de la máquina

Funcionamiento de la arquitectura

Para ver cómo funciona la arquitectura he creado una representación documentada del proceso.
Este diseño de la arquitectura, como ya he comentado, es el básico (con acumulador como registro de entrada) y el ancho de los datos es de 8 bits. Las instrucciones están formadas por dos bloques de 4 bits, los primeros para instrucciones y los últimos para la dirección de la memoria.
Siempre que se usa en una instrucción un número está destinado a la dirección de memoria, donde se usa el verdadero número que se usará para una operación.
Actualmente se usan anchos de 32, 64 o 128 bits en computadoras, y no tiene porqué seguir el mismo patrón. Seguidamente voy a exponer varios patrones que se pueden dar, a fin de completar un poco más la representación que es muy simple al disponer solo de 8 bits.




Comentarios