martes, 9 de agosto de 2016

CLASE # 6




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