Grandes inventos: Arquitectura
en informática
Arquitectura (informática), término general que
se aplica a la estructura de un sistema informático o de una parte del mismo.
El término se aplica también al diseño del software de sistema, por
ejemplo, el sistema operativo, y a la combinación de hardware y software
básico que comunica los aparatos de una red informática. La arquitectura de
ordenadores se refiere a toda una estructura y a los detalles necesarios para
que sea funcional, es decir, cubre sistemas informáticos, microprocesadores,
circuitos y programas del sistema. Por lo general, el término no suele
referirse a los programas de aplicación, como hojas de cálculo o procesadores
de textos, que son necesarios para realizar una tarea pero no para que el
sistema funcione.
2
|
ELEMENTOS DE DISEÑO
|
Al diseñar un sistema
informático, se tienen en cuenta los cinco elementos fundamentales que componen
el hardware: la unidad aritmético-lógica, la unidad de control, la
memoria, la entrada y la salida. La unidad aritmético-lógica realiza
operaciones aritméticas y compara valores numéricos. La unidad de control
dirige el funcionamiento de la computadora recibiendo instrucciones del usuario
y transformándolas en señales eléctricas que puedan ser comprendidas por los
circuitos del ordenador. La combinación de la unidad aritmético-lógica y la
unidad de control se denomina unidad central de procesamiento, o CPU (siglas en
inglés). La memoria almacena instrucciones y datos. Las secciones de entrada y
salida permiten respectivamente que la computadora reciba y envíe datos.
Se necesitan arquitecturas
diferentes de hardware debido a las necesidades especializadas de los
distintos sistemas y usuarios. Por ejemplo, un usuario puede necesitar que su
sistema muestre gráficos de forma extremadamente rápida, mientras que otro tal
vez necesite buscar eficazmente en una base de datos o tener un consumo bajo de
energía, como en el caso de ordenadores personales portátiles.
Además del diseño del hardware,
se debe considerar los sistemas operativos que harán funcionar el sistema. El software,
como los lenguajes de programación y los sistemas operativos, hace que los
detalles de la arquitectura del hardware resulten invisibles para el
usuario. Por ejemplo, diferentes computadoras que empleen el lenguaje de
programación C o el sistema operativo UNIX pueden parecer iguales desde el
punto de vista del usuario aunque la arquitectura de hardware sea
diferente.
3
|
ARQUITECTURA DE PROCESAMIENTO
|
Una computadora ejecuta una
instrucción en cinco pasos. En primer lugar, la unidad de control recupera la
instrucción desde la memoria; por ejemplo, la instrucción de sumar dos números.
En segundo lugar, la unidad de control descodifica la instrucción y la
convierte en señales electrónicas que controlan la computadora. En tercer
lugar, la unidad de control recupera los datos necesarios para ejecutar la
instrucción (en este caso, los dos números). En cuarto lugar, la unidad
aritmético-lógica ejecuta la operación (la adición de ambos números). En quinto
lugar, la unidad de control almacena el resultado (en este caso, el número
resultante de la suma).
Las primeras computadoras sólo
empleaban instrucciones sencillas, porque el coste de los dispositivos
electrónicos capaces de ejecutar instrucciones complejas era muy elevado. A
medida que este coste fue disminuyendo, a lo largo de la década de 1960, fueron
posibles instrucciones más complicadas. Las instrucciones complejas
(instrucciones únicas que especifican operaciones múltiples) pueden ahorrar
tiempo al evitar que el ordenador tenga que recuperar instrucciones
adicionales. Por ejemplo, si se combinan siete operaciones en una instrucción,
se eliminan seis de los pasos de recuperación de instrucciones, y la
computadora tarda menos tiempo en procesar la operación correspondiente. Los
ordenadores que combinan varias operaciones en una sola instrucción se
denominan ordenadores CISC.
Sin embargo, la mayoría de
los programas no utilizan instrucciones complejas, sino que constan
esencialmente de instrucciones simples. Cuando estas instrucciones simples se
ejecutan en una arquitectura CISC, el proceso es más lento, porque en un diseño
CISC todas las instrucciones, simples o complejas, tardan más en ser
descodificadas. Una estrategia alternativa es volver a diseños que utilizan
sólo juegos de instrucciones sencillas y hacer que las operaciones más usadas
se ejecuten más rápidamente para aumentar el rendimiento global. Las
computadoras que emplean este diseño se llaman RISC.
Los diseños RISC son especialmente
rápidos para realizar los cómputos numéricos necesarios en aplicaciones
científicas, de gráficos y de ingeniería. Los llamados procesadores de señales
digitales son arquitecturas CISC especializadas para acelerar el procesado de
señales digitalizadas de audio y vídeo.
4
|
ARQUITECTURAS ABIERTAS Y CERRADAS
|
La CPU de un ordenador
está conectada con la memoria y con el mundo exterior a través de una
arquitectura que puede ser abierta o cerrada. Las arquitecturas abiertas pueden
ampliarse después de la construcción del sistema, generalmente añadiendo
circuitos adicionales, por ejemplo, conectando al sistema principal un chip con
un nuevo microprocesador. Las especificaciones del sistema se hacen públicas,
lo que permite que otras empresas puedan fabricar los productos de expansión.
Las arquitecturas cerradas
suelen utilizarse en computadoras especializadas que no necesitan ampliaciones,
como los microprocesadores que controlan los hornos de microondas. Algunos
fabricantes de ordenadores han empleado arquitecturas cerradas para que sus
clientes obtengan los circuitos de ampliación únicamente a través de ellos. El
fabricante cobra más, pero las opciones para el consumidor se reducen.
5
|
ARQUITECTURA DE REDES
|
Las computadoras se comunican
por medio de redes. La red más sencilla es una conexión directa entre dos
computadoras. Sin embargo, también pueden conectarse a través de grandes redes
que permiten a los usuarios intercambiar datos, comunicarse mediante correo
electrónico y compartir recursos, por ejemplo, impresoras.
Las computadoras pueden
conectarse de distintas formas. En una configuración en anillo, los datos se
transmiten a lo largo del anillo, y cada computadora examina los datos para
determinar si van dirigidos a ella. Si no es así, los transmite a la siguiente
computadora del anillo. Este proceso se repite hasta que los datos llegan a su
destino. Una red en anillo permite la transmisión simultánea de múltiples
mensajes, pero como varias computadoras comprueban cada mensaje, la transmisión
de datos resulta más lenta.
En una configuración de
bus, los ordenadores están conectados a través de un único conjunto de cables
denominado bus. Un ordenador envía datos a otro transmitiendo a través del bus
la dirección del receptor y los datos. Todos los ordenadores de la red examinan
la dirección simultáneamente, y el indicado como receptor acepta los datos. A
diferencia de una red en anillo, una red de bus permite que un ordenador envíe
directamente datos a otro. Sin embargo, en cada momento sólo puede transmitir
datos una de las computadoras, y las demás tienen que esperar para enviar sus
mensajes.
En una configuración en
estrella, los ordenadores están conectados con un elemento integrador llamado hub.
Las computadoras de la red envían la dirección del receptor y los datos al hub,
que conecta directamente los ordenadores emisor y receptor. Una red en estrella
permite enviar simultáneamente múltiples mensajes, pero es más costosa porque
emplea un dispositivo adicional —el hub— para dirigir los datos.
6
|
AVANCES RECIENTES
|
Uno de los problemas en
arquitectura de ordenadores es la diferencia entre la velocidad de la CPU y la
velocidad con que la memoria proporciona instrucciones y datos. Las CPU
modernas pueden procesar instrucciones en 3 nanosegundos (3.000 millonésimas de
segundo). Un acceso a memoria típico, en cambio, requiere 70 nanosegundos, y
cada juego de instrucciones puede suponer múltiples accesos. Para compensar
esta disparidad se han diseñado nuevos chips que sitúan cerca de la CPU
memorias muy rápidas llamadas caché. Debido a su proximidad a la CPU y a su
rapidez, las memorias caché pueden suministrar instrucciones y datos más
rápidamente que la memoria normal. La memoria caché almacena las instrucciones
y datos empleados más frecuentemente, y mejora notablemente la eficacia de la
computadora.
Aunque una memoria caché
más grande puede contener más datos, también resulta proporcionalmente más
lenta. Por eso, los arquitectos de ordenadores emplean diseños con múltiples
memorias caché. En estos diseños se coloca la memoria caché más pequeña y
rápida más cerca de la CPU, y se sitúa más lejos de ésta una segunda memoria
caché mayor y más lenta. Esta disposición permite que la CPU utilice a
velocidad máxima las instrucciones y datos más usados, y que sólo opere más
lentamente cuando accede a la memoria caché secundaria. El empleo de memorias
caché diferentes para instrucciones y datos también permite a la CPU recuperar
simultáneamente una instrucción y un dato.
Otra estrategia para aumentar
la velocidad y la eficacia es el uso de múltiples unidades aritmético-lógicas
para efectuar operaciones simultáneas, la llamada ejecución superescalar. En
este diseño, las instrucciones se recuperan en grupos. La unidad de control examina
cada grupo para comprobar si contiene instrucciones que pueden ejecutarse a la
vez. Algunos diseños llegan a ejecutar seis operaciones simultáneamente. Sin
embargo, es raro que se ejecuten tantas instrucciones simultáneas, por lo que
en promedio la CPU no llega a multiplicar por seis el rendimiento.
A veces se combinan varias
computadoras en sistemas únicos llamados procesadores paralelos. Cuando una
máquina tiene más de 1.000 unidades aritmético-lógicas, se dice que es
masivamente paralela. Estas máquinas se usan fundamentalmente para cálculos
científicos o de ingeniería, que exigen gran cantidad de cómputos numéricos. Se
han construido ordenadores paralelos que contienen hasta 16.000 procesadores.