¿Órdenes
complejas o reducidas?
Por
Núria Almiron
El
microprocesador, corazón y cerebro del ordenador, evoluciona
al ritmo de dos arquitecturas distintas: CISC y RISC. ¿Será
cierto aquello de si breve dos veces bueno?
Hasta hace solo algunos
años, la división era tajante. La tecnología RISC
se utilizaba principalmente para entornos de red mientras que la arquitectura
CISC tenía su máxima aplicación en ordenadores
domésticos. El cambio en términos de costes de fabricación
y de exigencias del mercado posibilitaron, entre otras razones, que
empezaran a utilizarse chips RISC en la informática personal
a principios de los 90. En estos momentos, los usuarios tienen a su
disposición una mucho más amplia variedad de microprocesadores
entre los cuales elegir y la decisión ya no es sólo un
tema de velocidad y precio. La compatibilidad hacia atrás, el
rendimiento global de los sistemas, el futuro de una determinada arquitectura
o la multimedia son, por ejemplo, otras tantas poderosas razones a tener
en cuenta a la hora de elegir una configuración de hardware.
En este nuevo escenario se alzan voces que afirman que los chips CISC
están agotando sus posibilidades mientras otras defienden fervientemente
la tesis contraria, que la arquitectura CISC ya ha alcanzado a la RISC
adoptando algunas de sus principales características. Y a la
polémica hay que sumar el desconcierto de la mayoría de
usuarios que tienen muy poca información a la hora de decidir
qué tecnología adquirir, entender qué significa
comprar una u otra arquitectura y valorar la oferta existente. Antes
de la aparición de los Power Macintosh de Apple, los primeros
ordenadores personales en utilizar tecnología RISC, los usuarios
sólo debían decidir si adquirían un PC, un Macintosh
o, muy ocasionalmente, algún otro sistema propietario. Nadie
se paraba a pensar en la tecnología subyacente más allá
del sistema operativo. Pero desde la introducción del RISC en
la informática personal de la mano de la alianza entre IBM, Motorola
y Apple y las perspectivas de creación, por parte de esta, de
un entorno multiplataforma basado en RISC, muchos usuarios empiezan
a preguntarse qué hay de cierto en las acusaciones de obsolescencia
del CISC de unos y en las afirmaciones contrarias de los otros.
Tecnologías
nacidas con fines distintos
La tecnología
CISC (Complex Instruction Set Computer) nació en los años
70 de la mano de Intel, creador en 1971 del primer microchip que permitiría
el nacimiento de la informática personal. Más concretamente,
sería en 1972 cuando aparecería el 8080, primer chip capaz
de procesar 8 bits, suficiente para representar números y letras.
Con la posibilidad de colocar todos los circuitos en un solo chip y
la capacidad de manejar número y letras nacería la cuarta
generación de ordenadores, la de los conocidos como PC u ordenadores
personales. El diseño de esta arquitectura estuvo orientado por
las condiciones de mercado de aquella época y muy especialmente
por la limitación en oferta y precio de la memoria de acceso
aleatorio del ordenador, la RAM. Así pues, muchas de las decisiones
tomadas con relación al diseño del chip tenían
como objetivo minimizar los requerimientos de memoria que se hicieran
al ordenador. Una forma de reducir la necesidad de memoria era simplificando
el software e incrementando la complejidad del procesador, lo cual si
bien iba en detrimento del rendimiento global del sistema era una solución
mucho mejor que tener que añadir más RAM.
La arquitectura RISC (Reduced Instructions Set Computer), por su parte,
se implementaría desde su aparición, algo más tardía,
principalmente en estaciones de trabajo y servidores de red. En estas
máquinas, donde la potencia y la velocidad era requisito sine
qua non, los chips RISC se convertirían en los años 80
en la arquitectura más común y la combinación de
RISC con el sistema operativo Unix, en la configuración de mayor
rendimiento. El elevado coste de estos sistemas limitaría su
implantación a este tipo de máquinas de gama alta de utilización
principal en ámbitos empresariales o académicos, los únicos
que podían sufragarlas. La arquitectura RISC funciona de modo
muy diferente a la CISC, su objetivo no es ahorrar esfuerzos externos
(por parte del software con sus accesos a la RAM) sino facilitar que
las instrucciones sean ejecutadas lo más rápidamente posible.
La forma de conseguirlo es simplificando el tipo de instrucciones que
ejecuta el procesador. Así, las instrucciones más breves
y sencillas (de ahí el término de reduced)
de un procesador RISC son capaces de ejecutarse mucho más aprisa
que las instrucciones más largas y complejas de un chip CISC.
Además, una serie de técnicas iniciales como la ejecución
superescalar y el uso del pipelining permitían ejecutar más
de una instrucción a la vez aumentando el rendimiento del chip.
Sin embargo, este diseño requiere de mucha más RAM y de
una tecnología de compilador más avanzada. Ambas cosas
no estuvieron disponibles para la informática doméstica
hasta más recientemente y fue a partir de entonces, 1990, que
Motorola e IBM se atrevieron a desarrollar un chip RISC diseñado
para ser comercializado en ordenadores personales, el PowerPC.
Para muchos observadores, el hecho de que la arquitectura RISC hubiera
triunfado en el entorno de mainframes, estaciones de trabajo o miniordenadores,
entornos todos muy exigentes y que puede permitirse elegir lo mejor,
era una prueba latente de la superioridad de su diseño con respecto
a los chips CISC. Así, cuando en 1990 Apple lanza su primer Power
Macintosh y anuncia que se pasa al RISC, muchos auguraron que la tecnología
de instrucciones complejas tenía los días contados. Pero
desde entonces han pasado más de seis años y los fabricantes
de procesadores CISC, aunque algo a remolque del PowerPC (Apple por
ejemplo se adelantó a los Pentiums a 200MHz con sus máquinas
a 225MHz el pasado verano), han seguido aumentando el rendimiento (también
cada vez menor) y lo que es más importante, han conseguido mantener
los precios de los chips muy bajos.
Chips
CISC cada vez más RISC
Si bien es cierto
que los PowerPC de Motorola e IBM no han conseguido arañar en
lo más mínimo el inmenso mercado de Intel, esta particular
alianza sí ha obligado al líder a mantenerse muy alerta
en términos de innovación. La alianza PowerPC para desarrollar
un estándar de hardware sobre el cual puedan funcionar diversos
sistemas operativos, junto con la competencia de Intel en el mercado
de los chips CISC (básicamente procedente de Cyrix, AMD e IMS)
y más recientemente el anuncio de Sun de desarrollo de un chip
específico para Java son un montón de buenas razones para
que Intel no afloje el ritmo. La prueba de que la tecnología
CISC no ha estado dormida durante estos últimos años la
encontramos en las diversas innovaciones que han adoptado estos chips
especialmente incluyendo técnicas propias de la arquitectura
RISC. Sirva como ejemplo la nueva técnica SIMD (Single Instruction
Multiple Data) que incorporará el P55C y que le permite procesar
múltiples instrucciones en paralelo, algo característico
de los chips RISC. Por otro lado, la secreta colaboración entre
Intel y Hewlett Packard en el proyecto del Merced, cuyos frutos no se
esperan para antes de 1998, parece abrir las puertas a una transición
suave pero fluida de los usuarios del 8x86 hacia el RISC. Intel ha mantenido
hasta ahora que la arquitectura CISC puede estar perfectamente a la
altura de la RISC pero la progresiva asimilación de técnicas
propias del RISC en sus chips y la dirección tomada en su principal
inversión de futuro, el P7 o Merced, parecen revelar un abandono
progresivo de la arquitectura de instrucciones complejas por la de instrucciones
más reducidas, algo que, de producirse, no será sin complicaciones
por tanto que Intel deberá afrontar una compatibilidad hacia
atrás que se remonta a aplicaciones y sistemas operativos de
principios de los 80.
CÓMO
FUNCIONAN LOS CHIPS RISC Y CISC
CISC son las siglas en inglés de computación de
conjunto de instrucciones complejo mientras que RISC significa
computación de conjunto de instrucciones reducido.
¿Qué significa esto? Básicamente que los chips
CISC poseen un diseño cuyo funcionamiento está basado
en órdenes complejas mientras que los RISC funcionan mediante
órdenes mucho más simples. Los chips CISC tradicionales
utilizan comandos que incorporan una gran diversidad de pequeñas
instrucciones para realizar una única operación. Generalmente,
estos procesadores necesitan de cuatro a diez ciclos de reloj para realizar
una sola instrucción. Mientras que los chips RISC poseen un diseño
menos complejo que utiliza varias instrucciones más sencillas
para ejecutar una operación equiparable en menos tiempo del que
requeriría un único procesador CISC para ejecutar un comando
grande y complicado. Debido a su mayor sencillez, los chips RISC son
más pequeños y al utilizar menos transistores su fabricación
es, de entrada, más barata. Sin embargo, las últimas generaciones
de chips CISC han ido adoptando paulatinamente ciertas características
propias de los chips RISC que aumentan su rendimiento. Pero así
es cómo funcionan un chip RISC y CISC típicos:
Cómo
funciona un procesador de instrucciones complejas
Los chips CISC incorporan
un gran conjunto de comandos en su ROM (memoria sólo de lectura)
que contienen a su vez varios subcomandos que deben realizarse para
completar una operación sencilla (sumar, multiplicar, mover un
texto, cambiar un icono de sitio...). Cuando el sistema operativo o
una aplicación requiere de una de estas acciones, envía
al procesador el nombre del comando para realizarla junto con el resto
de información complementaria que se necesite. Pero cada uno
de estos comandos de la ROM del CISC varían de tamaño
y, por lo tanto, el chip debe en primer lugar verificar cuanto espacio
requiere el comando para ejecutarse y poder así reservárselo
en la memoria interna. Además, el procesador debe determinar
la forma correcta de cargar y almacenar el comando, procesos ambos que
ralentizan el rendimiento del sistema.
El procesador envía entonces el comando solicitado a una unidad
que lo descodifica en instrucciones más pequeñas que podrán
ser ejecutadas por un nanoprocesador, una especie de procesador dentro
del procesador. Y al no ser las instrucciones independientes, pues son
instrucciones menores procedentes de la descodificación de una
instrucción mayor, sólo puede realizarse una instrucción
cada vez.
A través de la compleja circuitería del chip, el nanoprocesador
ejecuta cada una de las instrucciones del comando. El desplazamiento
por esta circuitería también ralentiza el proceso. Para
realizar una sola instrucción un chip CISC requiere de cuatro
a diez ciclos de reloj.
Cómo funciona un procesador de instrucciones reducidas
Los comandos que incorpora el chip RISC en su ROM constan de varias
instrucciones pequeñas que realiza cada una una sola tarea. Las
aplicaciones son aquí las encargadas de indicar al procesador
qué combinación de estas instrucciones debe ejecutar para
completar una operación mayor.
Los comandos de RISC son todos del mismo tamaño y se cargan y
almacenan pues del mismo modo. Al ser además estas instrucciones
pequeñas y sencillas no necesitan ser descodificadas en instrucciones
menores como en el caso de los chips CISC pues ya constituyen en sí
unidades descodificadas. Por ello, el procesador RISC no gasta tiempo
verificando el tamaño del comando, en descodificarlo ni en averiguar
cómo cargarlo y guardarlo.
El procesador RISC puede además ejecutar hasta 10 comandos a
la vez pues el compilador del software es el que determina qué
comandos son independientes y por ello es posible ejecutar varios a
la vez. Y al ser los comandos del RISC más sencillos, la circuitería
por la que pasan también es más sencilla. Estos comandos
pasan, además, por menos transistores en los circuitos más
cortos de forma que se ejecutan con más rapidez. Para ejecutar
una sola instrucción normalmente les basta con un ciclo de reloj.
El número de ciclos necesarios para completar toda una operación
depende del número de comandos que requiera pero el tiempo requerido
para interpretar y ejecutar las instrucciones de RISC es, inicialmente,
mucho menor que el necesitado para cargar y descodificar un comando
CISC complejo y después ejecutar sus componentes individuales
por separado.
Ventajas
típicas del RISC frente al CISC e innovaciones en éste
último
Originalmente, la
escalabilidad, el rendimiento de aplicaciones, el menor coste de fabricación
y el ancho del direccionamiento de memoria han sido algunas de las principales
bazas a favor de la arquitectura RISC. Sin embargo, para algunos estas
ventajas no son ya tales.
En su momento, los chips RISC tenían una ventaja clara en cuanto
a escalabilidad a través del soporte de multiprocesamiento simétrico
(SMP). La escalabilidad (la forma en cómo el sistema operativo
distribuye el trabajo entre los diversos procesadores) sin embargo es
algo que interesa particularmente a los servidores y, además,
para muchos la principal ventaja del RISC radica más en el sistema
operativo Unix que se utiliza mayoritariamente en estos entornos que
en el propio diseño del chip. En cuanto al rendimiento de las
aplicaciones la principal diferencia está en los cálculos
de coma flotante en los que el chip tiene que realizar cálculos
matemáticos intensivos. Parece ser que aquí el RISC sigue
teniendo hasta un 20% de ventaja como demuestran los diversos tests
de rendimiento que se realizan comparando por ejemplo Pentiums con Power
Macintosh. El tema del coste de fabricación del chip da como
claro ganador a la tecnología RISC pero el volumen de mercado
del CISC es tal que este punto queda perfectamente compensado. Y en
cuanto a direccionamiento de memoria, los 64 bits del RISC sólo
son aprovechables en entornos de red con aplicaciones y sistemas operativos
diseñados para trabajar con 64 bits pero ello aún no es
así en la informática personal.
Sin embargo, las posibilidades futuras de ambas tecnologías no
son en absoluto las mismas. Frente a una arquitectura con dieciocho
años de antigüedad y con rendimientos cada vez menos espectaculares
(véase sino la decepción del Pentium Pro por sus iniciales
bajos rendimientos con Windows) se encuentra una tecnología aún
joven y diseñada, en el caso de los chips RISC para ordenadores
personales, más en sintonía con las necesidades actuales.
El problema radica en cómo aprovechar una arquitectura más
eficaz manteniendo la compatibilidad con las aplicaciones y sistemas
operativos desarrollados para los procesadores de los años 70.
Apple tomó su decisión al respecto a principios de los
90 abandonando la arquitectura CISC en una fluida transición
hacia el RISC. Pero los riesgos de este tipo de movimientos son evidentes.
Para poder mantener la compatibilidad con el sistema operativo y las
aplicaciones 860X0, los Power Macintosh funcionan en modo emulación
cuando las ejecutan e incluso su propio sistema operativo no es absolutamente
nativo. Las pérdidas en rendimiento global de los sistemas son
muy elevadas, tanto que finalmente va a tener que producirse una ruptura
mayor con la tecnología anterior en forma de un nuevo sistema
operativo que Apple espera lanzar cuando dé frutos el trabajo
conjunto entre sus laboratorios y los de la recién adquirida
Next.
Intel ha ido, mientras tanto, adoptando progresivamente técnicas
propias del RISC en sus chips, técnicas que encontramos implementadas
desde los primeros Pentium. La arquitectura superescalar en primer término
y el pipelining después han conseguido acelerar notablemente
el rendimiento de sus microprocesadores. Sin embargo, ello no debe parecerle
suficiente al principal líder de fabricación de chips
para PCs que, por lo visto, está dedicando su mayor inversión
a imaginar cual sería la forma menos dolorosa de transición
de su actual arquitectura al RISC. O, al menos, eso se rumorea pues
el famoso proyecto Merced junto con Hewlett Packard es top secret.
FABRICANTES
DE CISC Y RISC
Aunque para muchos usuarios, CISC se reduce a Intel y RISC a PowerPC,
la realidad es que existen otros fabricantes y desarrolladores de ambas
arquitecturas.
En
CISC
Intel es el principal fabricante de procesadores CISC pero hay otros
fabricantes de CISC que han conseguido hacerse un hueco en el mercado
del ordenador personal. Cyrix es tal vez el más extendido y,
aunque no consigue rendimientos como los de Intel, muchos ensambladores
de PC utilizan sus chips para colocarlos sin decirlo en sus ordenadores,
obviamente no especifican el comerciable Intel Inside pero
el consumidor lo nota en su bolsillo. AMD es el segundo fabricante importante
de chips CISC y aunque sus últimas series K5 no han estado a
la altura de las circunstancias, se espera que el K6 ya soporte MMX
y alcance o supere al Pentium Pro. IMS es el tercero y más reciente
fabricante de procesadores que van a remolque de Intel.
En
RISC
Fabricantes de chips RISC hay numerosos especialmente por su extensa
utilización para servidores y estaciones de trabajo desde la
década de los 80.
Los principales chips RISC para este entorno son los fabricados por
Hewlett Packard (PA-RISC), Digital Equipment (Alpha), Silicon Graphics
(con sus unidades MIP) y Sun Microsystems (SPARC). IBM, por su parte,
utiliza la arquitectura RISC para sus ordenadores de gama alta y fue
su propia arquitectura POWER la que se utilizó para desarrollar
el primer PowerPC.
Los fabricantes de PowerPC, la alianza entre IBM, Motorola y Apple,
son por ahora los únicos en desarrollar chips RISC para ordenadores
personales, aunque es de preveer que se les vayan añadiendo otras
empresas como ya ha hecho Exponential Technology que ha desarrollado
el primer chip PowerPC en superar la barrera de los 500MHz gracias a
la adopción de una nueva tecnología bipolar.
Y finalmente hay que añadir a estos los nuevos chips Java anunciados
por Sun que optimizarán el rendimiento de las aplicaciones Java.
Publicado en
PC Plus n¼ 5, marzo 1997