La arquitectura
1. Introducción a la Arquitectura de Computadores
La arquitectura de computadoras es el diseño conceptual y la estructura operacional fundamental de un sistema que conforma una computadora. Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad central de proceso (CPU) trabaja internamente y accede a las direcciones de memoria.
La arquitectura de una computadora explica la situación de sus componentes y permite determinar las posibilidades de un sistema informático, con una determinada configuración, pueda realizar las operaciones para las que se va a utilizar. La arquitectura básica de cualquier ordenador completo está formado por solo 5 componentes básicos: procesador, memoria RAM, disco duro, dispositivos de entrada/salida y software.
1.1 Conceptos Iniciales de la Arquitectura de Computadores
Un computador es un sistema secuencial síncrono complejo que procesa información, esta se trata de información binaria, utilizando solamente los dígitos de valores lógicos ‘1’ y ‘0’. Estos valores lógicos binarios se corresponden con valores de tensión eléctrica, de manera que un ‘1’ lógico corresponde a un nivel alto a 5 voltios y un ‘0’ lógico corresponde a un nivel bajo de tensión cercano a 0 voltios; estos voltajes dependen de la tecnología que utilicen los dispositivos del computador.
1.1.1 Procesador
Es el cerebro del sistema, encargado de procesar todos los datos e informaciones. A pesar de que es un dispositivo muy sofisticado no puede llegar a hacer nada por sí solo. Para hacer funcionar a este necesitamos algunos componentes más como lo son memorias, unidades de disco, dispositivos de entrada/salida y los programas. El procesador o núcleo central está formado por millones de transistores y componentes electrónicos de un tamaño microscópico. El procesamiento de las tareas o eventos que este realiza va en función de los nanosegundos, haciendo que los miles de transistores que contiene este trabajen en el orden de los MHz. La información binaria se introduce mediante dispositivos periféricos que sirven de interfaz entre el mundo exterior con el usuario. Estos periféricos lo que van a hacer será traducir la información que el usuario introduce en señales eléctricas, que serán interpretadas como unos y ceros, los cuales son interpretados de una manera más rápida por la computadora, ya que el lenguaje maquina utiliza el código binario para ser interpretado por el computador.
Un sistema jerárquico es un conjunto de sistemas interrelacionados, cada uno de los cuales se organiza de manera jerárquica, uno tras otro, hasta que alcanza el nivel más bajo de subsistema elemental. Una posible clasificación seria:
1. Nivel de Componente. Los elementos de este nivel son difusiones de impurezas tipo P y de tipo N en silicio, polisilicio cristalino y difusiones de metal que sirven para construir los transistores.
2. Nivel Electrónico. Los componentes son transistores, resistencias, condensadores y diodos construidos con las difusiones del nivel anterior. Esta tecnología de muy alta escala de integración o VLSI es la que se utiliza en la fabricación de circuitos integrados. En este nivel se construyen las puertas lógicas a partir de transistores.
3. Nivel Digital. Se describe mediante unos y ceros son las puertas lógicas, biestables y otros módulos tanto combinacionales como secuenciales. Este nivel es la aplicación del algebra booleana y las propiedades de la lógica digital.
4. Nivel RTL. El nivel de transferencia de registros RTL será el preferido para la descripción de los computadores. Elementos típicos en este nivel de abstracción son los registros y módulos combinacionales aritméticos.
5. Nivel PMS. Este nivel es el más alto de la jerarquía. Las siglas PMS provienen del ingles Processor Memory Switch. Con elementos de jerarquía los buses, memorias, procesadores y otros módulos de alto nivel.
1.2 Arquitectura Clásica de un Computador Modelo Von Neumann
La arquitectura Von Neumann tiene sus orígenes en el trabajo del matemático John Von Neumann desarrollado con John Mauchly y John P. Eckert y divulgado en 1945 en la Moore School de la Universidad de Pensilvania, Estados Unidos, en el que se presentaba e EDVAC ( Electronic Discrete Variable Automatic Computer). De aquí surgió la arquitectura del programa almacena en memoria y búsqueda/ejecución secuencial de instrucciones. En términos generales una computadora tiene que realizar 3 funciones:
ü Procesamiento de Datos
ü Almacenamiento de Datos
ü Transferencia de Datos
Tal que un PC (Personal Computer) debe procesar datos, transformando la información recibida, de igual forma tiene que almacenar datos, como resultado final de estas. También debe de realizar transferencia de datos entre su entorno y el mismo. La arquitectura de un computador hace referencia a la organización de sus elementos en módulos con una funcionabilidad definida y a la iteración entre ellos. En el esquema de la Figura 1.1 se muestra la estructura básica de Von Neumann que debe llevar una computadora para su correcta operación.
· CPU (por el acrónimo en inglés de central processing unit) : La unidad central de proceso es el corazón del computador. Controla el flujo de datos, los procesa, y gobierna el secuenciamiento de las acciones en todo el sistema. Para ello necesita un oscilador externo o reloj que sincroniza las operaciones y marca la velocidad de proceso, este va marcando la evolución del CPU y mide su velocidad de funcionamiento; en forma no afortunada la frecuencia del reloj del CPU viene limitada por la tecnología del CPU y del computador completo ya dependiendo de los periféricos, sus tarjetas graficas, memorias, etc. Por lo tanto, el uso excesivo de los recursos que tenga la computadora puede resultar un sobrecalentamiento que deteriore parcial o totalmente la CPU.
· Memoria: es la responsable del almacenamiento de datos.
· Entrada/Salida: transfiere datos entre el entorno exterior y el computador. En él se encuentran los controladores de periféricos que forman la interfaz entre los periféricos, la memoria y el procesador.
· Sistema de interconexión: Buses; es el mecanismo que permite el flujo de datos entre la CPU, la memoria y los módulos de entrada/salida. Aquí se propagan las señales eléctricas que son interpretadas como unos y ceros lógicos.
· Periféricos: estos dispositivos son los que permiten la entrada de datos al computador, y la salida de información una vez procesada. Un grupo de periféricos puede entenderse como un conjunto de transductores entre la información física externa y la información binaria interpretable por el computador. Ejemplos de estos dispositivos son el teclado, el monitor, el ratón, el disco duro y las tarjetas de red.
1.2.1 Unidad Central de Procesamiento
Controla el funcionamiento de los elementos de un computador. Desde que el sistema es alimentado por una corriente, este no deja de procesar información hasta que se corta dicha alimentación. La CPU es la parte más importante del procesador, debido a que es utilizado para realizar todas las operaciones y cálculos del computador. La CPU tiene a su vez otra estructura interna que se muestra en la Figura 1.2.
FIGURA 1.2: ESTRUCTURA DE LA CPU Y SU CONEXIÓN CON LA MEMORIA.
· Unidad de Control (UC): La unidad de control se encarga de leer de la memoria las instrucciones que debe de ejecutar y de secuenciar el acceso a los datos y operaciones a realizar por la unidad de proceso. La UC genera las señales de control que establecen el flujo de datos en todo el computador e interno en la CPU. Una instrucción no es más que una combinación de unos y ceros. Consta de un código de operaciones binarias para ejecutar la instrucción, la UC la almacena en un registro especial, interpreta su código de operación y ejecuta la secuencia de acciones adecuada, en pocas palabras decodifica la instrucción.
· Unidad Aritmética Lógica o ALU (por su acrónimo en ingles Arithmetic Logic Unit): Es la parte de la CPU encargada de realizar las transformaciones de los datos. Gobernada por la UC, la ALU consta de una serie de módulos que realizan operaciones aritméticas y lógicas. La UC se encarga de seleccionar la operación a realizar habilitando los caminos de datos entre los diversos operadores de la ALU y entre los registros internos.
· Registros Internos: el almacenamiento de los resultados a la ejecución de las instrucciones en la memoria principal podría ser lento y excesivamente tendría muchos datos en el sistema de interconexión con la memoria, con lo que el rendimiento bajaría. De la misma manera también se almacenan en registros internos la configuración interna del CPU o la información durante la última operación de la ALU. Los principales registros de un CPU son:
1. Contador de programa.- se encarga de almacenar la dirección de la siguiente instrucción a ejecutar.
2. Registro de Instrucción.- se almacena la instrucción capturado en memoria y la que se está ejecutando.
3. Registro de Estado.- compuesto por una serie de bits que informan el resultado obtenido en la última operación de la ALU.
4. Registro Acumulador.- algunos CPU’s realizan operaciones aritméticas en un registro llamado acumulador, su función es la de almacenar los resultados de las operaciones aritméticas y lógicas.
El ciclo para ejecutar cualquier instrucción se divide en ciclo de búsqueda y ciclo de instrucción como es ilustrado en el esquema de la Figura 1.3 . El primero hace que el CPU genere señales adecuadas para acceder a la memoria y leer la instrucción; el segundo es similar; la diferencia entre los dos es el código de operación de cada instrucción.
FIGURA 1.3: CICLOS DE LA MAQUINA VON NEUMANN
1.2.2 Memoria
En la memoria se almacena el programa y los datos que va a ejecutar el CPU. Las instrucciones son códigos binarios interpretados por la unidad de control, los datos de igual manera se almacenan de forma binaria.
Las diversas tecnologías de almacenamiento, dependen del tiempo de acceso a los datos; por lo tanto se realiza un diseño jerárquico de la memoria del sistema para que esta pueda acceder rápidamente a los datos. El principio de que sea más rápida la memoria haciendo que tenga velocidades similares al CPU, sirve para diseñar el sistema de memoria. La memoria principal de los computadores tiene una estructura similar a la mostrada en el esquema de la Figura 1.4. Se considera como una matriz de celdas en la que la memoria puede acceder a los datos aleatoriamente.
FIGURA 1.4: ESQUEMA DE UNA MEMORIA DE ACCESO ALEATORIO.
Dicha matriz está organizada en palabras, cada una de las cuales tiene asignada una dirección que indica su posición. Cada palabra está formada por una serie de celdas a las que se accede en paralelo; en cada una se almacena un bit y estos son los que definen las instrucciones.
1.2.3 Entrada/Salida
Como sabemos una computadora tiene dispositivos de entrada y salida como son los que contiene el gabinete, disco duro, placa madre, unidades de CD o DVD, etc. El problema principal que existe entre ellos es su tecnología y que tienen características diferentes a los del CPU, estos también necesitan una interfaz de cómo se van a entender con el CPU, al igual que el procesador y el controlador periférico para intercambiar datos entre la computadora.
En la Figura 1.5 se muestra como cada control de periférico tiene una dirección única en el sistema. La interfaz de E/S decodifica el bus de direcciones para detectar que el CPU se dirige a él. El direccionamiento es muy similar a la de las memorias. El bus de datos se utiliza para el paso de datos entre el periférico y la memoria. Las líneas especiales de control sirven para coordinar y sincronizar la transferencia.
FIGURA 1.5: ESQUEMA DE UNA INTERFAZ DE ENTRADA/SALIDA.
1.2.4 Sistema de Interconexión: Buses.
La conexión de los diversos componentes de una computadora, tales como discos duros, tarjetas madres, unidades de CD, teclados, ratones, etc. se efectúan a través de los buses. Un bus se define como un enlace de comunicación compartido que usa múltiples cables para conectar subsistemas. Cada línea es capaz de transmitir una tensión eléctrica que representa un ‘1’ o un ‘0’. Cuando hay varios dispositivos en el mismo bus, habrá uno que podrá enviar una señal que será procesada por los demás módulos. Si se mandan los datos al mismo tiempo marcara un error o una contención del bus, por lo que el acceso estará denegado. Según si criterio de funcionabilidad los buses se dividen en:
· Buses de datos: es el que se utiliza para transmitir datos entre los diferentes dispositivos del computador.
· Buses de Direcciones: sirve para indicar la posición del dato que se requiere acceder.
· Bus de Control: sirven para seleccionar al emisor y al receptor en una transacción del bus.
· Bus de alimentación: sirve para proporcionar a los dispositivos voltajes distintos.
1.2.5 Periféricos.
Se entenderán todos aquellos dispositivos que son necesarios para suministrar datos a la computadora o visualizar los resultados. Los periféricos se conectan mediante un bus especial a su controlador o al modulo de E/S.
Entre los periféricos de entrada tenemos al teclado, ratones, pantallas, digitalizadoras y más. Otros dispositivos periféricos fundamentales para la interacción del hombre con la computadora son las terminales de video y las tarjetas graficas.
1.3 Tecnología de los computadores.
Las tendencias tecnológicas van avanzando con el paso del tiempo, así mismo en términos informáticos y de electrónica van saliendo circuitos integrados digitales más veloces, lo cual también va ligado en términos monetarios altos, las actualizaciones de un sistema de computo sale relativamente costoso dependiendo de las características de la tecnología que se le este implementando. Los circuitos integrados como sabemos hoy en día estos se van haciendo aun más pequeños ya que existen muchos avances en la tecnología en las ciencias de la miniaturización como son la micro y nanotecnología que estos ocupan, ya que los dispositivos que antes eran enormes y ocupaban el tamaño de una habitación ahora son tan pequeños que pueden caber en la palma de nuestras manos. Lo que implica que los sistemas avancen son los siguientes términos:
· Tecnología: los transistores utilizados por los dispositivos de un computador son los llamados transistores de unión bipolar o BJT que estos a su vez generaron familias tecnológicas como lo son los TTL. Esta tecnología ha tenido como ventajas su facilidad para suministrar corriente y su rapidez, apareciendo como desventaja su alto consumo de energía en comparación con los CMOS; esta segunda tecnología se basa en la utilización de transistores de efecto de campo, es elegida actualmente para fabricar la mayoría de los CPU’s. otra tecnología como la BiCMOS combina en un solo proceso tecnológico de transistores BJT y CMOS tratando de combinar las ventajas de ambos.
· Velocidad: hace referencia al tiempo de respuesta y los retrasos inevitables que aparecen en su funcionamiento. Esto hace que los CI más sencillos dependan de la tecnología utilizada. El problema de la velocidad estribara en que la ejecución paralela requerirá más circuitería y el circuito seria mayor.
· Escala de Integración: los CIs (Circuitos Integrados) CMOS se construyen a partir de la litografía que se aplican mascaras que proyectan las siluetas de los polígonos que forman a los transistores. Se trata la oblea químicamente y en las diferentes fusiones se hacen los transistores; estos se dividen en segmentos que pueden alcanzar a las micras de tamaño. Cuanto mejor y preciso sea el proceso de la creación de las difusiones, los tamaños serán menores, y por tanto en una misma superficie de silicio se podría incluir más lógica.
· Tamaño: depende de la fabricación del CI ya sea sencillo o que tan complejo pueda ser este para las operaciones para la cual fue programado.
1.3.1 Circuitos de Memoria.
El almacenamiento de la información se hace a través de dispositivos de memoria que almacenan la información de forma binaria para después tener la posibilidad de recuperar dichos datos. Estos contribuyen una jerarquía en la que están más cerca de la CPU los dispositivos más rápidos y en niveles más alejados los dispositivos más lentos. Los parámetros más importantes para medir los circuitos de memoria son:
· Tiempo de Acceso: es el tiempo necesario para poder recuperar la información de los dispositivos de memoria.
· Densidad de información: depende de la tecnología utilizada ya que ocupan un espacio distinto por cada bit de información.
· Volatilidad: se refiere a la pérdida de información si no se mantiene en alimentación al circuito, esta información debe de recuperarse de forma automática cuando se conecte de nuevo la alimentación y comience el funcionamiento de la computadora.
a) RAM estática asíncrona.
Es una memoria volátil, de acceso rápido que puede almacenar y leer información su característica es que la hace ideal para ser memoria principal en los ordenadores, la celda de almacenamiento de la SRAM contiene 4 transistores MOS que almacenan 1 y 0 mientras se mantenga la alimentación del circuito.
b) RAM estática síncrona
Utiliza la misma tecnología que las SRAM, con lo que son volátiles y de rápido acceso. La diferencia es que existe una señal de reloj que sincroniza el proceso de lectura y escritura. Las memorias cache externas de algunos microprocesadores son de este tipo para facilitar el acceso de datos en modo ráfaga y acelerar el proceso de acceso a bloques de memoria.
c) RAM Dinámica.
La DRAM tiene capacidades que accede con un solo transistor, en vez de celdas con varios transistores. El problema es que las capacidades se descargan mediante la corriente de pérdidas de transistores y aparte son lentas comparadas con la SRAM; tienen una estructura de forma de matriz, estando multiplexadas las direcciones en forma de filas y columnas, tienen modos de acceso más rápido en lo que suministra la parte alta de dirección; este modo de acceso se denomina modo pagina y acelera el acceso al no tener que suministrar para cada acceso la dirección de página completa.
d) Memorias ROM
Las memorias de solo lectura una vez que han sido escritas o programadas solo se puede leer el contenido de las celdas, se suelen utilizar para almacenar el código que permite arrancar a los sistemas; estas se fabrican para aplicaciones masivas con mascaras de silicio. Hay 3 tips de memorias ROM que pueden ser programadas en el laboratorio, algunas pueden ser borradas.
· Memoria PROM: son memorias ROM programables eléctricamente mediante un programador especial que genera picos de alta tensión, que funden físicamente unos fusibles grabando en el dispositivo de forma permanente. Tienen el inconveniente que no pueden ser borradas y para su lectura requieren una tarjeta especial.
· Memoria EPROM: se programan también con un dispositivo de programación conectado al ordenador la diferencia con la PROM es que estas si se pueden borrar; se realiza mediante rayos UV, para que suceda esto las EPROM tienen una ventana de cuarzo pequeña transparente en la cual se hace la exposición de la matriz de celdas como se muestra en la figura 1.6. Una vez programadas se tiene que etiquetar esta ventana para evitar que sea borrada accidentalmente.
FIGURA 1.6 MEMORIA EPROM
· Memoria EEPROM: son memorias programables y borrables mediante un dispositivo especial que se conectara al ordenador.
e) Memoria FLASH
Son memorias que tienen un comportamiento igual a una SRAM, pero en su escritura es diferente, deben ser primero borradas y después escritas; este tipo de memorias tienen internamente un registro de instrucción y una maquina de estados que genera las señales necesarias para borrar/escribir en un bloque o en toda la memoria.
La memoria se divide en varias capas o niveles con una estructura cuya forma puede recordarnos a una estructura piramidal. La tabla 1.1 que se muestra a continuación nos muestra el tamaño máximo y mínimo que pueden presentarnos las memorias flash, así como el tiempo que tardan al accesar a la información.
Nombre
|
Tamaño Máximo
|
Tiempo de Acceso
|
Registros
|
Hasta 200 Bytes
|
Menos de 10 Nanosegundos
|
Memoria Caché
|
Hasta 512 Bytes
|
Entre 10 y 30 Nanosegundos
|
Memoria Principal
|
Más de 1 Gigabyte
|
Entre 30 y 100 Nanosegundos
|
1.4 La Mejor Configuración.
Lo primero que debemos de tomar en cuenta para la configuración de nuestro equipo es para que va a ser destinado, es decir, que programas serán utilizados en el. Por ejemplo un PC utilizado en una oficina ocupa Word, Excel e Internet, no necesita tener un procesador poderoso, pero es indispensable proporcionarlo de una buena memoria RAM y un disco duro rápido en cuanto a lectura y escritura de datos. En cambio cuando una computadora es destinada para aplicaciones pesadas o para juegos con gráficos tridimensionales, lo principal es tener un procesador rápido combinado con una buena y rápida tarjeta de gráficos.
1.4.1 La Placa Base
Es el componente principal, por lo tanto este se tiene que escoger con el más sumo cuidado para que el ordenador tenga una calidad excelente al igual que su rendimiento en la ejecución de tareas. Al comprar la placa base debemos ver qué tipo de procesador soporta, si posee slots de expansión suficientes para los periféricos que deseemos instalar. Una placa se confecciona usando una técnica llamada MPCB( Multiple Layer Contact Board), que consiste en varias placas apiladas como si fueran una; este tipo de placas deben ser fabricadas de forma minuciosa, pues un mínimo error en la posición de las pistas, haría que sufriese interferencias y convertirán a la placa en inestable. La calidad de las placas no depende precisamente de la marca pero si nos debemos cerciorar de la marca que estamos adquiriendo, ya que, para encontrar controladores de los dispositivos de dicha placa será más fácil entrando a la página del fabricante.
1.4.2 Memoria RAM
Si la computadora tiene poca memoria RAM, nuestro sistema deberá utilizar nuestro disco duro para almacenar aquellos programas que no caben en RAM esta es la llamada Memoria Virtual; la cual por sobrecarga puede llegar a volver muy lento nuestro sistema. Por otro lado, al instalar mas memoria RAM será un desperdicio pues no hará al sistema más rápido se notara que se debe instalar más cuando el sistema se encuentre lento. Por ejemplo si se trabaja con aplicaciones sencillas de oficina la mínima de RAM a ocupar seria de 64MB, pero lo ideal sería 128MB; si se mantienen programas al mismo tiempo con 256MB es suficiente ya que en si el uso de memoria RAM en la actualidad también depende de nuestro Sistema Operativo ya que al pasar los años estos van evolucionando de forma creciente ocupando aplicaciones más complejas por lo cual se necesita más RAM. Cuanta más memoria RAM el PC se mantendrá más rápido por más tiempo ya que con el paso del tiempo hay aplicaciones más complejas y estas hacen que el sistema sea más sofisticado.
1.4.3 Procesador
Depende para que se va a utilizar la computadora por ejemplo si esta será utilizada para juegos valdría la pena invertir en un procesador como un Athlon o Pentium 4. Si es para aplicaciones pequeñas con que tenga suficiente RAM es más que suficiente un procesador Duron.
1.4.4 Disco Duro
Es importante saber el tiempo de acceso, la velocidad de rotación y la densidad del disco duro. El tiempo de acceso determina cuanto tiempo tarda el cabezal de lectura en encontrar el dato que debe leerse. La velocidad de rotación se mide en rpm, revoluciones por minuto. La densidad o cantidad de datos que caben en cada disco duro, también determina su rendimiento, pues los datos estarán más expuestos entre sí, serán localizados más rápidamente.
1.4.5 Tarjeta Grafica
Existen tarjetas de 2D y 3D. También existen tarjetas aceleradoras de 3D que deben usarse con una tarjeta de 2D común. También existen las tarjetas graficas “combo”, que realizan funciones de 2D y 3D. Al día de hoy, incluso las tarjetas graficas on board (se refiere a dispositivos que vienen integrados en la placa madre) vienen con recursos 3D, aunque su rendimiento no se compara en lo absoluto con el de una tarjeta grafica de calidad.
1.4.6 Tarjeta de Sonido
No tiene ninguna influencia con el rendimiento del equipo, solamente determina la calidad de audio. Para uso normal, se utilizan las Sound Blaster generalmente con chipsets Yamaha. Las tarjetas de sonido más caras marcan la diferencia si pretendemos trabajar en la edición musical, o queremos oír música MIDI en máxima calidad. También existen las tarjetas de sonido 3D, como la Sound Blaster Live, que generan sonidos que parecen venir de todas direcciones. Este efecto es muy utilizado en teatros en casa, para escuchar el sonido de forma más real.
1.5 Ampliaciones y Actualizaciones.
Realizar una ampliación significa cambiar algunos componentes de un equipo ya viejo a fin de mejorar su rendimiento. Sin embargo, muchas veces, el equipo es tan viejo que sería necesario cambiar casi todos los componentes para conseguir un rendimiento aceptable; en este caso sería mejor comprar un equipo nuevo con las actualizaciones más recientes para un rendimiento óptimo. El secreto de realizar una buena actualización es detectar los “puntos débiles” de la configuración, los componentes para conseguir alcanzar un rendimiento aceptable con el conjunto de los demás. Aparte hay que saber escoger los componentes en relación a la calidad. Cabe mencionar que no es necesario comprar un equipo anticuado para hacer una actualización que bien valga la pena porque si el equipo está muy anticuado lo mejor es comprar uno nuevo con las actualizaciones que satisfagan las necesidades que requiere en ese momento el usuario y así poder tener un equipo de vanguardia y bien actualizado.
Comentarios
Publicar un comentario