Arquitectura
de Computadoras
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.
Ø 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.
Ø 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, poli silicio 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, inestables y otros
módulos tanto combi nacionales 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 combi nacionales 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.
Ø 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.
Ø ESTRUCTURA BÁSICA DE UNA COMPUTADORA.
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 secuencia miento 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 gráficas,
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.
Ø 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
Ø 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.
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.
Ø 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.
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 módulo 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 gráficas.
Ø 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 cómputo sale relativamente costoso dependiendo
de las características de la tecnología que se le esté implementando. Los
circuitos integrados como sabemos hoy en día estos se van haciendo aún 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.
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 página 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 máscaras 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.
·
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 máquina 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
|
Tabla 1.1. Capas en la que se divide la
memoria.
Ø 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.
Ø
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.
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.
Ø
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.
Ø
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.
Ø
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.
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.
Ø
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.