miércoles, 19 de diciembre de 2012

LA ARQUITECTURA DE VON NEUMANN

El texto que os dejo a continuación trata sobre la arquitectura de Von Neumann, origen, finalidad y estructura. He añadido vídeos y gráficos para facilitar y amenizar su lectura y comprensión.


ÍNDICE
1-Introducción
2-Origen
3-Elementos
4-Unidad de memoria
    -Memoria principal
5-Unidad central del proceso  (CPU)
    -UAL
    -UC
6-Unidad de E/S
7-Bus del sistema
8-Recapitulación
9-Fuentes



1-INTRODUCCIÓN

En la actualidad se utilizan dos tipos principales de ordenadores: analógicos y digitales, sin embargo el término ordenador es utilizado principalmente para referirse a los digitales.

Existen muchas opciones posibles a la hora de diseñar un ordenador digital. En la actualidad, la más aceptada es la denominada arquitectura de  von Neuman, propuesta por el matemático húngaro John von Neumann.


2-ORIGEN

El nacimiento u origen de la arquitectura Von Neumann surge a raíz de una colaboración en el proyecto ENIAC de John Von Neumann. Este trabajaba en 1945 en el Laboratorio Nacional Los Álamos cuando se encontró con uno de los constructores de la ENIAC. Compañero de Albert EinsteinKurt Gödel y Alan Turing en Princeton, Von Neumann se interesó por el problema de la necesidad de recablear la máquina para cada nueva tarea.

En 1949 encontró y desarrolló la solución a este problema: consistente en poner la información sobre las operaciones a realizar en la misma memoria utilizada para los datos, escribiéndola de la misma forma, es decir en código binario. Su "EDVAC" fue el modelo de las computadoras de este tipo construidas a continuación. Se habla desde entonces de la arquitectura de Von Neumann.



3-ELEMENTOS

1-Unidad de memoria (UM).
2-Unidad central de proceso (CPU) o microprocesador.
     -Unidad de control (UC)
     -Unidad aritmetico-lógica (UAL)
3-Unidad de Entrada/Salida (UE/S)
4-Buses de comunicación
     -Bus de datos (BD)
     -Bus de direcciones (BA)
     -Bus de control (BC)








4-UNIDAD DE MEMORIA


Almacena tanto información como programas. Surge así el concepto de programa almacenado (se evita tener que reprogramar un ordenador al utilizarlo para varios cometidos).
La memoria de un ordenador se organiza en varios niveles en función de su velocidad. Esta distribución se denomina jerarquía de memoria y optimiza el uso de esta, ya que la información se almacena en un determinado nivel en función de la probabilidad de ser utilizada, a mayor probabilidad, mayor nivel. 


Las memorias más rápidas se sitúan en los niveles más bajos. A mayor velocidad, menor capacidad y mayor coste.

Niveles de jerarquía:



-Auxiliar (cinta magnética): esta memoria se usa como soporte de respaldo de información, pudiendo situarse en medios externos.
-Secundaria (disco magnético): también llamada memoria de disco.Se utiliza para almacenar información de forma permanente, es de alta capacidad.
-Principal: también conocida como RAM. Es el bloque que constituye realmente la UM. Se emplea para almacenar datos y programas de forma temporal.
-Caché: memoria intermedia entre la UM y la CPU, utilizada como apoyo para acelerar los accesos de la CPU a la UM. Está dispuesta en varios niveles (L1, L2, L3, L4), siendo L1 la más rápida y de menor capacidad.
-Registros: son memorias de alta velocidad y baja capacidad utilizadas para el almacenamiento intermedio de datos en las unidades funcionales, especialmente en la UC y la UAL.

La memoria principal, caché y registros, constituyen la memoria interna del equipo.

LA MEMORIA PRINCIPAL:

La memoria principal tiene por objeto guardar información que es accesible a la CPU. La CPU puede leer y/o escribir datos en las diferentes posiciones de memoria que componen la memoria principal. Tiene menor capacidad que la memoria secundaria, pero es mucho más rápida. Actualmente la memoria principal se implementa mediante circuitos integrados. La memoria principal de los sistemas informáticos suele estar formada por dos áreas diferenciadas:

  1. Memoria RAM (Random Access Memory): Memoria de acceso aleatorio (no tiene porqué ser utilizada de manera secuencial) que permite tanto la lectura como la escritura. Habitualmente en los sistemas informáticos se trata de un medio de almacenamiento volátil, de manera que se pierde su contenido al cesar la alimentación.
  2. Memoria ROM (Read Only Memory): Memoria de acceso aleatorio que sólo permite la lectura de los datos que almacena. Se trata de un medio de almacenamiento persistente, pues no pierde su contenido cuando cesa la alimentación.
En realidad, la unidad de memoria está compuesta por un elemento de memoria y dos registros auxiliares.
El elemento de memoria, a su vez, está compuesto por un conjunto de celdas, cada una de las cuales tiene capacidad de 1B.
Todas las celdas están identificadas por un número llamada dirección de memoria.
Los registros auxiliares son:
  • Un registro de direcciones (RD), utilizado para almacenar de forma temporal la dirección de memoria de un dato o instrucción.
  • Un registro de datos (RM), que almacena temporalmente cualquier dato o instrucción que se intercambie con la memoria.
El registro de direcciones enlaza el bus de direcciones con la memoria de forma unidireccional: desde el bus hacia la memoria.
El registro de datos enlaza el bus de datos con la memora de forma bidireccional: desde el bus a la memoria y viceversa.

Sobre la memora se pueden realizar dos tipos de operaciones:

  • Lectura (L): se accede a la información que contiene.
  • Escritura (E): se introduce información en la memoria.
Estas dos operaciones trabajan en exclusión mutua, es decir, que durante el tiempo que se realiza una lectura o escritura la memoria no está disponible para nunguna otra operación.
En una operación de lectura se envía a través del BA la dirección de la celda a leer. Esta dirección se comunica al RD y se extrae la información al BD a través del RM.
En una operación de escritura se envía, por un lado, el dato a escribir al RM a través del BD y por otro, la dirección donde se escribirá al RD a través del BA.
Del funcionamiento de  la UM se desprende que la velocidad de la memoria no es un valor fijo, sino que depende en gran parta de cóm gestione la CPU sus acciones, de la carga del sistema, etc. En la práctica, como veremos más adelante, hay que buscar el equilibrio entre prestaciones y coste de los productos (procesador, memoria RAM...) para conseguir un rendimiento óptimo a un precio razonable.



Vídeo explicativo: tipos de memoria RAM


5-UNIDAD CENTRAL DE PROCESO (CPU) O MICROPOCESADOR

Es un circuito integrado consitutido por millones de componenete electrónicos. Se encarga de interpretar las instrucciones contenidas en los programas y procesa los datos. Constituida esencialmente por:

  • Unidad Aritmético-Lógica (UAL)
  • Unidad de Control (UC)
  • Su propia memoria integrada que no es la RAM
UNIDAD ARTIMÉTICO-LÓGICA
La UAL es el verdadero núcleo de cálculo del ordenador ya que se encarga de realizar las operaciones artiméticas (suma, resta..) y lógicas (comparación, negación...) ordenadas por la UC.
Normalmente los datos con los que opera, así como los resultados de la operación se encuentran en registros de la CPU.
Las operaciones que es capaz de realizar están definidas por el juego de instrucciones de la CPU. Es posible encontrar ALUs con capacidades orientadas hacia la operación con valores enteros, coma flotante o números imaginarios (por ejemplo en las DSP.)

El elemento principal en la UAL es el operador. Un Operador es un componente electrónico cuya misión es realizar un cálculo. Los operadores se pueden clasificar según...

  • Su ámbito: en genéricos (pueden realizar diferentes operaciones) o específicos (solo pueden realizar un tipo de operación).
  • El número de operandos: en monódicos (solo una entrada, por ejemplo, el negador), diádicos (dos entradas, por ejemplo, el operador suma) o triádicos (tres entradas, por ejemplo, el condicional).
  • Su capacidad de operar: en serie (reciben la información en una secuencia de bits y los procesan uno a uno hasta terminar toda la ristra) o en parelelo (recepcionan la informacion en bloques de bits, que procesan de forma simultánea).
Toda la información que llega a la UAL se coloca en registros, que se utilizan como origen o destino de los datos que manejan los operadores de la UAL. Los registros con los que trabaja directamente el operador se llaman registros auxiliares y proporcionan la entrada de datos. El registro que recibe el resultado del operador se denomina acumulador (AC).

UNIDAD DE CONTROL
La UC se encarga de buscar las instrucciones en la UM, interpretarlas y generar en cada momento las órdenes necesarias para ejecutar la operación requerida por cada instrccuón. La UC está compuesta por:

  • Circuito de control: genera las señales de control necesarias para gobernar el ordenador. Sus partes principales son:
    • -Decodificador: interpreta la instrucción y determina el conjunto de órdenes necesarias para llevarla a cabo.
    • -Secuenciador: distribuye de forma ordenada las señales de control correspondientes a cada orden recibida.
  • Reloj: es un circuito que genera pulsos, los cuales marcan la temporización básica del sistema. El reloj se utiliza como elemento sincronizador de todos los movimientos que se realizan en el ordenador.
  • Registros: son ulitizados por el circuito de control para labores auxiliares diversas (resultados intermedios, direcciones...)

MEMORIA INTEGRADA (banco de registros)

Proporciona un espacio de almacenamiento para los datos con los que trabaja la CPU. Los registros se deben cargar con información que proviene de la memoria principal antes de comenzar a operar, cuando se necesita dejar espacio libre en el banco de registros para operar con nuevos datos su valor debe escribirse en la memoria principal. 
Operar con datos en el banco de registros es mucho más rápido que operar con datos que se encuentran en la memoria principal, por eso, cuanto mayor sea el banco de registros se requerirán menos trasvases con la memoria principal y la tarea se realizará antes.

Es posible que no todos los registros tengan las mismas características. Normalmente se distingue entre:


  • Registros de datos: Guardan la información con la que se trabaja.
  • Registros de direcciones: Guardan direcciones de memoria (en las que puede haber datos).
  • Registros de control: Controlan el estado de la CPU (flags: zero, overflow, underflow, positivo/negativo...)


Vídeo explicativo del funcionamiento del procesador.


6-UNIDAD DE ENTRADA/SALIDA
Esta unidad es la encargada de establecer la comunicación entre el usuario y la CPU. Para llevar a cabo el enlace utiliza unos dispositivos denominados periféricos. Podemos clasifcar los periféricos, en función de su propósito, en:
  • Periféricos de entrada: con ellos el usuario introduce la información en el ordenador. Ejemplos: ratón, teclado, escáner...
  • Periféricos de salida: son utilizados por el ordenador para mostrar la información al usuario. Ejemplos: monitor, impresora, altavoces...
  • Periféricos de almacenamiento: se utilizan como memoria auxiliar a la principal del ordenador. En ellos se pueden realizar las mismas operaciones de lectura y escritura.
Como vemos, hay una gran variedad de periféricos, por lo que deberá existir un sistema que permita el intercambio de información entre cualquiera de estos dispositivos y el ordenador.
Este sistema en cuestión consta de dos partes:
  • Interfaz: se encarga de gestionar el intercambio de información entre el periférico y la CPU. Adapta la información específica de cada dispositivo a un conjunto de señales normalizadas de forma que actúa como interlocutor del periférico y la máquina.
  • Controlador: su misión es gestionar directamente el periférico. Es un sistema electrónico o mecánico que suele ir integrado en el propio periférico, por lo que podemos deducir que es específico de este.
La gestión de la UE/S es uno de los pilares fundamentales en el rendimiento de un ordenador, ya que todos los dispositivos que se conectan al equipo compiten por el uso de la CPU para poder operar.


Una de las soluciones posbles pasa por la creación de un bus de E/S, de uso específico para los dispositivos. Este bus contine líneas dedicadas para datos, direcciones y señales de control, de forma que se reduce de forma notable el problema de "cuello de botella" que podría plantearse en el equipo si durante el proceso de órdenes internas ocuparan los buses los periféricos.


7-BUS DEL SISTEMA

Los buses son las vias de comunicación que permiten mover la información entre los distintos elementos de la arquitectura Von Newmann. 
Desde el punto de vista electrónico un bus es una serie de pistas que transportan información entre diferentes elementos. El número de líneas que tiene el bus determina el número de bits que se pueden transportar en paralelo. Los buses suelen ser elementos síncronos que funcionan gobernados por un reloj. Normalmente en cada ciclo de reloj se transporta un dato (de 8, 16 o 32 bits según la anchura del bus), también existen buses que realizan dos operaciones en cada ciclo de reloj (utilizan tanto el flanco de bajada como el flanco de subida).
Si el bus fuese capaz de utilizar tanto el flanco de subida como el de bajada para transmitir información, se doblaria la capacidad útil.

vídeo explicativo del bus del sistema.

Bus de datos:

Como su nombre indica transporta datos. Estos datos pueden ser la información que se está procesando o las instrucciones del programa que se ejecuta. Hay que recordar que en la arquitectura Von Newmann el programa está guardado en el interior del sistema informático codificado como información.
El ancho en bits del bus de datos define el tamaño de la palabra del sistema informático, habitualmente es 8bits, 16bits, 32bits o 64bits.

Bus de direcciones:

El bus de direcciones se utiliza para indicar el origen y/o el destino de los datos. En el bus de direcciones se indica la posición de memoria a la  que se está accediendo en cada momento. Puede tratarse de una dirección de la memoria principal o puede tratarse de una dirección de memoria en la que está mapeado un periférico.
El ancho en bits del bus de direcciones determina el tamaño del espacio de memoria direccionable.

Bus de control:
El bus de control proporciona señales para coordinar las diferentes tareas que se realizan en el sistema informático.



8-RECAPITULACIÓN

Aunque las tecnologías empleadas en las computadoras digitales han cambiado mucho desde que aparecieron los primeros computadores en los años 40, la mayoría todavía utilizan la arquitectura Von Neumann, propuesta a principios de los años 40 por John Von Neumann.


Que dió solución al problema de la necesidad de recablear la máquina para cada nueva tarea: que consiste en poner la información sobre las operaciones a realizar en la misma memoria utilizada para los datos, escribiéndola de la misma forma, es decir en código binario.


La arquitectura Von Neumann describe un computador con 4 secciones principales: la unidad lógica y aritmética (ALU), la unidad de control, la memoria, y los dispositivos de entrada y salida (E/S). Estas partes están interconectadas por un conjunto de cables, un enlace común.

En este sistema, la memoria es una secuencia de celdas de almacenamiento numeradas, donde cada una es un bit, o unidad de información. La instrucción es la información necesaria para realizar, lo que se desea, con la computadora. Las «celdas» contienen datos que se necesitan para llevar a cabo las instrucciones, con la computadora. En general, la memoria puede ser rescrita varios millones de veces.

El tamaño de cada celda y el número de celdas varía mucho de computadora a computadora, y las tecnologías empleadas para la memoria han cambiado bastante; van desde los relés electromecánicos, tubos llenos de mercurio en los que se formaban los pulsos acústicos, matrices de imanes permanentes, transistores individuales a circuitos integrados con millones de celdas en un solo chip.

9-FUENTES
Apuntes de clase
Artículo de Monografías.com
Artículo del Institut Puig Castellar
Wikipedia
Blog Sistemas operativos

Ir al principio

jueves, 13 de diciembre de 2012

¡¡¡Bienvenid@ a mi blog!!!

Este blog ha sido creado para la asignatura fundamentos de hardware.
Se irá añadiendo contenido a medida que la asignatura avance.

Un saludo