Documento sin título

TIPOS DE COMPUTADORAS

Según su Arquitectura

     
 

 

 

ARQUITECTURA RISC vs CISC

 

Introducción
Tecnologías nacidas con fines distintos
Arquitecturas CISC
Arquitecturas RISC
Chips CISC cada vez más RISC
Cómo funcionan los chips RISC y CISC
Ventajas típicas del RISC frente al CISC e innovaciones en éste último
Fabricantes de CISC y RISC


 

INTRODUCCIÓN

El microprocesador, corazón y cerebro del ordenador, evoluciona al ritmo de dos arquitecturas distintas: CISC y RISC. 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.

Veamos primero cual es el significado de los términos CISC y RISC:

CISC (complex instruction set computer) Computadoras con un conjunto de instrucciones complejo.

RISC (reduced instruction set computer) Computadoras con un conjunto de instrucciones reducido.

Los atributos complejo y reducido describen las diferencias entre los dos modelos de arquitectura para microprocesadores solo de forma superficial. Se requiere de muchas otras características esenciales para definir los RISC y los CISC típicos. Aun más, existen diversos procesadores que no se pueden asignar con facilidad a ninguna categoría determinada.

Así, los términos complejo y reducido, expresan muy bien una importante característica definitiva, siempre que no se tomen solo como referencia las instrucciones, sino que se considere también la complejidad del hardware del procesador.

Con tecnologías de semiconductores comparables e igual frecuencia de reloj, un procesador RISC típico tiene una capacidad de procesamiento de dos a cuatro veces mayor que la de un CISC, pero su estructura de hardware es tan simple, que se puede realizar en una fracción de la superficie ocupada por el circuito integrado de un procesador CISC.

Esto hace suponer que RISC reemplazará al CISC, pero la respuesta a esta cuestión no es tan simple ya que:

Para aplicar una determinada arquitectura de microprocesador son decisivas las condiciones de realización técnica y sobre todo la rentabilidad, incluyendo los costos de software. Existían y existen razones de compatibilidad para desarrollar y utilizar procesadores de estructura compleja así como un extenso conjunto de instrucciones.

La meta principal es incrementar el rendimiento del procesador, ya sea optimizando alguno existente o se desee crear uno nuevo. Para esto se deben considerar tres áreas principales a cubrir en el diseño del procesador y estas son:

  • La arquitectura.
  • La tecnología de proceso.
  • El encapsulado.

La tecnología de proceso, se refiere a los materiales y técnicas utilizadas en la fabricación del circuito integrado, el encapsulado se refiere a cómo se integra un procesador con lo que lo rodea en un sistema funcional, que de alguna manera determina la velocidad total del sistema.

Aunque la tecnología de proceso y de encapsulado son vitales en la elaboración de procesadores más rápidos, es la arquitectura del procesador lo que hace la diferencia entre el rendimiento de una CPU (Control Process Unit) y otra. Y es en la evaluación de las arquítecturas RISC y CISC donde centraremos nuestra atención.

Dependiendo de cómo el procesador almacena los operandos de las instrucciones de la CPU, existen tres tipos de juegos de instrucciones:

  1. Juego de instrucciones para arquitecturas basadas en pilas.
  2. Juego de instrucciones para arquitecturas basadas en acumulador.
  3. Juego de instrucciones para arquitecturas basadas en registros.

Las arquítecturas RISC y CISC son ejemplos de CPU con un conjunto de instrucciones para arquítecturas basadas en registros.

arriba


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.


 

ARQUITECTURAS CISC

La microprogramación es una característica importante y esencial de casi todas las arquítecturas CISC.

Como por ejemplo:

Intel 8086, 8088, 80286, 80386, 80486.

Motorola 68000, 68010, 68020, 68030, 6840.

La microprogramación significa que cada instrucción de máquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador.

En la década de los sesentas la micropramación, por sus características, era la técnica más apropiada para las tecnologías de memorias existentes en esa época y permitía desarrollar también procesadores con compatibilidad ascendente. En consecuencia, los procesadores se dotaron de poderosos conjuntos de instrucciones.

Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requieren de varios ciclos de reloj (al menos uno por microinstrucción).


 

ARQUITECTURAS RISC

Buscando aumentar la velocidad del procesamiento se descubrió en base a experimentos que, con una determinada arquitectura de base, la ejecución de programas compilados directamente con microinstrucciones y residentes en memoria externa al circuito integrado resultaban ser mas eficientes, gracias a que el tiempo de acceso de las memorias se fue decrementando conforme se mejoraba su tecnología de encapsulado.

Debido a que se tiene un conjunto de instrucciones simplificado, éstas se pueden implantar por hardware directamente en la CPU, lo cual elimina el microcódigo y la necesidad de decodificar instrucciones complejas.

En investigaciones hechas a mediados de la década de los setentas, con respecto a la frecuencia de utilización de una instrucción en un CISC y al tiempo para su ejecución, se observó lo siguiente:

- Alrededor del 20% de las instrucciones ocupa el 80% del tiempo total de ejecución de un programa.

- Existen secuencias de instrucciones simples que obtienen el mismo resultado que secuenciascomplejas predeterminadas, pero requieren tiempos de ejecución más cortos.

Las caracterÌsticas esenciales de una arquitectura RISC pueden resumirse como sigue:

Estos microprocesadores siguen tomando como base el esquema moderno de Von Neumann.

Las instrucciones, aunque con otras características, siguen divididas en tres grupos:

a) Transferencia.

b) Operaciones.

c) Control de flujo.

Reducción del conjunto de instrucciones a instrucciones básicas simples, con la que puede implantarse todas las operaciones complejas. Arquitectura del tipo load-store (carga y almacena). Las únicas instrucciones que tienen acceso a la memoria son 'load' y 'store'; registro a registro, con un menor número de acceso a memoria. Casi todas las instrucciones pueden ejecutarse dentro de un ciclo de reloj. Con un control implantado por hardware (con un diseño del tipo load-store), casi todas las instrucciones se pueden ejecutar cada ciclo de reloj, base importante para la reorganización de la ejecución de instrucciones por medio de un compilador. Pipeline (ejecución simultánea de varias instrucciones). Posibilidad de reducir el número de ciclos de máquina necesarios para la ejecución de la instrucción, ya que esta técnica permite que una instrucción puede empezar a ejecutarse antes de que haya terminado la anterior.

El hecho de que la estructura simple de un procesador RISC conduzca a una notable reducción de la superficie del circuito integrado, se aprovecha con frecuencia para ubicar en el mismo, funciones adicionales:

Unidad para el procesamiento aritmético de punto flotante.

Unidad de administración de memoria.

Funciones de control de memoria cache.

Implantación de un conjunto de registros múltiples.

La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos de diseño más cortos cuando se desarrollan nuevas versiones, lo que posibilita siempre la aplicación de las más recientes tecnologías de semiconductores. Por ello, los procesadores RISC no solo tienden a ofrecer una capacidad de procesamiento del sistema de 2 a 4 veces mayor, sino que los saltos de capacidad que se producen de generación en generación son mucho mayores que en los CISC.

Por otra parte, es necesario considerar también que:

La disponibilidad de memorias grandes, baratas y con tiempos de acceso menores de 60 ns en

tecnologías CMOS.

Módulos SRAM (Memoria de acceso aleatorio estática) para memorias cache con tiempos de

acceso menores a los 15 ns.

Tecnologías de encapsulado que permiten realizar más de 120 terminales. Esto ha hecho cambiar, en la segunda mitad de la década de los ochentas, esencialmente las condiciones técnicas para arquítecturas RISC.


 

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.



Derechos Reservados ® - Antonio Ortegón - Bogotá - Colombia - 2003
anortkd@tutopia.com