Arquitectura Von neumann
en una familia de computadores que utilizan el mismo dispositivo de al maceramiento tanto para las instrucciones como para los datos
este describe una arquitectura de diseño para un computador digital electronico con partes que constan de una unidad de control que contiene una unidad de control aritmetico 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 el significado ha evolucionado hasta hacer cualquier computador de programa almacenado en cual no pueden ocurrir una extracción de instrucciones y una operación de datos al mismo tiempo ya que comparten un bus en común
Cómo funciona la computación actual con el funcionamiento de la
arquitectura de von Neumann
Von Neumann describió el fundamento de todo ordenador electrónico con
programas almacenados. Describía, a diferencia de como pasaba anteriormente,
como podía funcionar un ordenador con sus unidades conectadas permanentemente y
su funcionamiento estuviese coordinado desde la unidad de control (a efectos
prácticos es la CPU). Aunque la tecnología ha avanzado mucho y aumentado la
complejidad de la arquitectura inicial, la base de su funcionamiento es la
misma y probablemente lo seguirá siendo durante mucho tiempo. El artículo viene
acompañado de una representación gráfica del funcionamiento.
Antes de entrar en los detalles de las unidades tenemos que conocer lo
siguiente:
·
Registros: es el lugar donde se almacenan
temporalmente los datos que están en movimiento para procesarlos. En la
representación de la imagen del principio podéis ver que son los registros.
·
Buses: son las uniones entre las distintas
unidades, la memoria y los periféricos.
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. Como ya sabéis, es un factor clave para la potencia de la
computadora. La CPU dispone de dos unidades en su interior: la unida de
control y la unidad aritmético-lógica.
Unidad de control
La 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.
El proceso empieza cuando llega una instrucción al registro de
instrucciones(llega como una cadena de bits con distintas partes, referidas
a la propia instrucción y a los datos que se usarán). Posteriormente el decodificadorinterpreta
la instrucción a realizar y como deben de actuar los componentes del procesador
para llevarla a cabo. Esta acción se realiza mediante el secuenciadorque
envía micro-órdenes marcadas por el reloj (que genera pulsos
de forma constante, se suele expresar su velocidad en gigahercios o GHz, para
los procesadores actuales).
Unidad Aritmético
Lógica (ALU)
La unidad aritmético lógica 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.
El funcionamiento con el diseño que estamos analizando (el básico)
comienza cuando le llega al registro de entrada un dato (una cadena de bits que
representan un número), posteriormente el circuito operacional (en
la imagen se representa como "ALU" y coloreado azul) y se procesa
junto al contenido del acumulador y posteriormente se deposita
de nuevo en el acumulador. Repitiendo esta acción se generan los cálculos. Este
proceso se ve claramente en la representación que hay más abajo.
Memoria principal
La 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á.
Cuando hablamos de direcciones de memoria a muchos os sonará de los
"punteros" de C, y es por esto que es esencial conocer la
arquitectura de Von Neumann antes de aprender a programar en ciertos lenguajes
que actúan a más bajo nivel.
La unidad de control contiene el registro contador de programa,
que contiene la dirección de memoria de la siguiente instrucción, que se
incrementa tras realizar una instrucción y así va recorriendo la memoria y
ejecutando el programa.
Buses
Todos estos elementos se comunican entre si a través de buses, ya sea
para manejar las acciones a realizar por la máquina o para mover datos. Hay
tres tipos de buses.
El 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.
El 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.
El 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.
No hay comentarios:
Publicar un comentario