miércoles, 10 de junio de 2009

ARQUITECTURA DEL COMPUTADOR

Un computador desde la perspectiva del hardware, esta constituido por una serie de dispositivos cada uno con un conjunto de tareas definidas. Los dispositivos de un computador se dividen según la tarea que realizan en: dispositivos de entrada, salida, comunicaciones, almacenamiento y cómputo.





Fig 1. Arquitectura de Hardware

Dispositivos de entrada: Son aquellos que permiten el ingreso de datos a un computador. Entre estos se cuentan, los teclados, ratones, scanner, micrófonos, cámaras fotográficas, cámaras de video, game pads y guantes de realidad virtual







Fig 2. Dispositivos de entrada


Dispositivos de salida. Son aquellos que permiten mostrar información procesada por el computador. Entre otros están, las pantallas de video, impresoras, audífonos, plotters, guantes de realidad virtual, gafas y cascos virtuales.



Fig 3. Dispositivos de Salida



Dispositivos de almacenamiento. Son aquellos de los cuales el computador puede guardar información nueva y/o obtener información previamente almacenada. Entre otros están los discos flexibles, discos duros, unidades de cinta, CD-ROM, CD-ROM de re-escritura y DVD.




Fig 4. Dispositivos de Almacenamiento.


Dispositivos de comunicación: Son aquellos que le permiten a un computador comunicarse con otros. Entre estos se cuentan los módems, tarjetas de red y enrutadores.





Fig 5. MODEM

Dispositivo de computo: Es la parte del computador que le permite realizar todos los cálculos y tener el control sobre los demás dispositivos. Esta formado por tres elementos fundamentales, la unidad central de proceso, la memoria y el bus de datos y direcciones.






Fig 6. Diagrama esquemático del dispositivo de computo

La unidad central de proceso (UCP)[1]: es el ‘cerebro’ del computador, esta encargada de realizar todos los cálculos, utilizando para ello la información almacenada en la memoria y de controlar los demás dispositivos, procesando las entradas y salidas provenientes y/o enviadas a los mismos. Mediante el bus de datos y direcciones, la UCP se comunica con los diferentes dispositivos enviando y obteniendo tales entradas y salidas.


Fig 7. Unidad Central de Proceso.
Para realizar su tarea la unidad central de proceso dispone de una unidad aritmético lógica, una unidad de control, un grupo de registros y opcionalmente una memoria cache para datos y direcciones.
La unidad aritmético lógica (UAL)[2] es la encargada de realizar las operaciones aritméticas y lógicas requeridas por el programa en ejecución, la unidad de control es la encargada de determinar las operaciones e instrucciones que se deben realizar, el grupo de registros es donde se almacenan tanto datos como direcciones necesarias para realizar las operaciones requeridas por el programa en ejecución y la memoria cache se encarga de mantener direcciones y datos intensamente usados por el programa en ejecución.
La memoria esta encargada de almacenar toda la información que el computador esta usando, es decir, la información que es accedida (almacenada y/o recuperada) por la UCP y por los dispositivos. Existen diferentes tipos de memoria, entre las cuales se encuentran las siguientes:



RAM (Random Access Memory): Memoria de escritura y lectura, es la memoria principal del computador. Solo se mantiene mientras el computador está encendido.

ROM (Read Only Memory): Memoria de solo lectura, es permanente y no se afecta por el encendido o apagado del computador. Generalmente almacena las instrucciones que le permite al computador iniciarse y cargar (poner en memoria RAM) el sistema operativo.

Cache: Memoria de acceso muy rápido, usada como puente entre la UCP y la memoria RAM, para evitar las demoras en la consulta de la memoria RAM.
El bus de datos y direcciones permite la comunicación entre los elementos del computador. Por el bus de datos viajan tanto las instrucciones como los datos de un programa y por el bus de direcciones viajan tanto las direcciones de las posiciones de memoria donde están instrucciones y datos, como las direcciones lógicas asignadas a los dispositivos.
Ventajas de las arquitecturas
Pila: Modelo sencillo para evaluación de expresiones. Instrucciones cortas pueden dar una buena densidad de código.
Acumulador: Instrucciones cortas. Minimiza estados internos de la máquina (unidad de control sencilla).
Registro: Modelo más general para el código de instrucciones parecidas. Automatiza generación de código y la reutilización de operando. Reduce el tráfico a memoria. Una computadora actualmente tiene como estándar 32 registros. El acceso a los datos es más rápido...
Desventajas de las arquitecturas.
Pila: A una pila no se puede acceder aleatoriamente. Esta limitación hace difícil generar código eficiente. También dificulta una implementación eficiente, ya que la pila llega a ser un cuello de botella es decir que existe dificultad para la transferencia de datos en su velocidad mk.
Acumulador: Como el acumulador es solamente almacenamiento temporal, el tráfico de memoria es el más alto en esta aproximación.
Registro: Todos los operadores deben ser nombrados, conduciendo a instrucciones más largas.