CISC vs RISC
Al momento de diseñar un microprocesador se debe decidir cuál será su juego de instrucciones. La decisión es trascendente por dos razones: primero, el juego de instrucciones decide el diseño físico del conjunto; segundo, cualquier operación que deba ejecutarse en el microprocesador deberá poder ser descrita en términos de un lenguaje de estas instrucciones. Frente a esta cuestión caben dos filosofías de diseño; máquinas denominadas CISC y máquinas denominadas RISC.
Una computadora ejecuta una instrucción en cinco pasos.
- La unidad de control recupera la instrucción desde la memoria; por ejemplo, la instrucción de sumar dos números.
- La unidad de control descodifica la instrucción y la convierte en señales electrónicas que controlan la computadora.
- La unidad de control recupera los datos necesarios para ejecutar la instrucción (en este caso, los dos números).
- La unidad aritmético-lógica ejecuta la operación (la adición de ambos números).
- 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 la computadora 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.
En los años 50, todos los computadores se diseñaban de forma completamente aislada unos de otros. Esto hacía que sus instrucciones fuesen independientes, haciendo que un programa escrito para un cierto ordenador no se pudiese ejecutar en otro. A finales de la década, IBM reunió a un grupo de sus investigadores para estudiar la forma con la que un programa pudiese trabajar en múltiples computadores sin importantes cambios, ampliando la compatibilidad del software en diferentes máquinas. El resultado fue el enfoque CISC, Complex Instruction Set Computing, introducido por primera vez en los IBM System/360 el 7 abril de 1964. Tras el lanzamiento de CISC, los científicos de IBM empezaron a comprobar que los diseñadores de software creaban sus propias instrucciones más simples y precisas. Entonces, ya en la década de los 70, empezaron a diseñar una alternativa que posteriormente se introdujo en el mercado bajo el acrónimo RISC, Reduced Instruction Set Computing. El IBM 801 que empezó a crearse en 1975, fue diseñado por John Cocke y es considerado el primer procesador RISC de la historia.
CISC ofrece un conjunto de instrucciones bastante completas y lentas de ejecutar, pero que agrupaban varias operaciones de bajo nivel en la misma instrucción. Esto da lugar a programas pequeños y sencillos de desarrollar que además realizaban pocos accesos a memoria: esto que ahora podría parecer insignificante era vital en aquella época, cuando los ordenadores trabajaban con muchos menos recursos que los equipos actuales.
CISC ofrece un conjunto de instrucciones bastante completas y lentas de ejecutar, pero que agrupaban varias operaciones de bajo nivel en la misma instrucción. Esto da lugar a programas pequeños y sencillos de desarrollar que además realizaban pocos accesos a memoria: esto que ahora podría parecer insignificante era vital en aquella época, cuando los ordenadores trabajaban con muchos menos recursos que los equipos actuales.
En la actualidad CISC tiene a x86 como su mayor exponente, con AMD y sobre todo Intel a la cabeza de su desarrollo. Hay muchos ejemplos históricos como los PDP, Motorola 68000, Intel 4004 o Intel 8086, quizá los más representativos. Prácticamente cualquier ordenador de sobremesa o portátil desde los años 80 ha utilizado un procesador x86.
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.
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.
Entre las familias de chips RISC que están ganando popularidad se encuentran los SPARC de Sun Microsystems, los PowerPC de Motorola, los Alpha de Digital Equipment Corporation, los R4000 y R4400 de Mips y los ARM de Acorn.
CISC: Conjunto de instrucciones complejas de computación (Complex Instruction Set Computing)
El objetivo principal de la arquitectura CISC es completar una tarea en el menor número de líneas de código ensamblador posibles. Este objetivo es conseguido mediante la construcción de un microprocesador capaz de comprender y ejecutar una serie de operaciones complejas.
Características CISC
- Computador con repertorio de instrucciones complejo.
- Gran número de instrucciones complejas.
- Gran variedad de tipos de datos y de modos de direccionamiento.
- Permite implementar instrucciones de alto nivel directamente o con un número pequeño de instrucciones ensamblador.
- Además se pueden añadir nuevas instrucciones al repertorio manteniendo las antiguas
RISC: Computadora con Conjunto de Instrucciones Reducidas (Reduced Instruction Set Computer).
El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos a memoria. RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeñas y simples que toman menor tiempo para ejecutarse. El tipo de procesador más comúnmente utilizado en equipos de cómputo, está basado en CISC en lugar de RISC, aunque las versiones más nuevas traducen instrucciones basadas en CISC a instrucciones más simples basadas en RISC para uso interno antes de su ejecución.
El diseño RISC está basado en la premisa de que la mayoría de las instrucciones que una computadora decodifica y ejecuta son simples. Como resultado de este concepto, la arquitectura RISC limita el número de instrucciones incorporadas en el microprocesador, pero optimiza cada una de ellas de forma que se ejecuten muy rápidamente (generalmente en un solo ciclo de reloj). Por lo tanto, los chips RISC ejecutan las instrucciones simples más rápidamente que los microprocesadores que cuentan con un conjunto más amplio de instrucciones.
Los procesadores RISC sólo usan instrucciones sencillas que se puedan ejecutar rápidamente. Por este motivo suelen ser arquitecturas basadas en registros de propósito general que operan siempre sobre operandos que se encuentran almacenados en el procesador, cerca de la unidad de ejecución.
Características RISC
- Computador con repertorio de instrucciones reducido.
- Pocas instrucciones y muy básicas.
- Repertorio simple y ortogonal.
- Formatos de instrucción uniformes.
- Pocos tipos de datos y de modos de direccionamiento, siempre los más sencillos.
Resumen
CISC nació con la finalidad de homogeneizar los diferentes computadores en los años 50 y 60. RISC buscó en los 70 ir un paso más allá y mejorar el rendimiento con instrucciones más simples pero programas más largos y más difíciles de desarrollar.

Tanto CISC como RISC han evolucionado de forma muy notable desde su nacimiento, adoptando mejoras provenientes del contrario en ambos casos y nuevos conjuntos de instrucciones para adaptarse a los usos de los ordenadores. Si bien es cierto que en la época de su creación la diferencia era muy amplia – principalmente debido a las limitaciones técnicas de la época tanto en tamaño de memoria como en velocidad de proceso -, en la actual informática moderna los requisitos son muy diferentes. Los límites en capacidad de almacenamiento son casi inexistentes y los procesadores son capaces de ejecutar millones de instrucciones en un solo segundo. La gran batalla actual es la de sus dos grandes exponentes, ARM y x86, que han actualizado sus objetivos a lo que les importa a los usuarios del siglo XXI. Veremos que el punto fuerte de ARM está en la eficiencia energética. Un chip ARM consume mucha menos energía que un procesador x86 que tiene en su alto rendimiento su gran virtud, a costa de consumir bastante más energía.


Comentarios
Publicar un comentario