CISC vs RISC 


1. Introducción

Hoy en día, los programas cada vez más grandes y complejos demandan mayor velocidad en el procesamiento de información, lo que implica la busqueda de microprocesadores más rápidos y eficientes.

Los avances y progresos en la tecnología de semiconductores, han reducido las diferencias en las velocidades de procesamiento de los microprocesadores con las velocidades de las memorias, lo que ha repercutido en nuevas tecnologías en el desarrollo de microprocesadores. Hay quienes consideran que en breve los microprocesadores RISC(Reduced Introduction Set Computer) sustituirán a los CISC(Complex Instruction Set Computer), pero existe el hecho que los microprocesadores CISC tienen un mercado de Software muy difundido, aunque tampoco tendrán ya que establecer nuevas familias en comparación con el desarrollo de nuevos proyectos con tecnologías RISC, que plantea en su filosofía de diseño una relación muy estrecha entre los compiladores y la misma arquitectura.

Al estudiar alguna de estas tecnologías, la manera más fácil de comprender su lógica y funcionamiento, es hacer la comparación de éstas.

  • CISC(Complex Instruction Set Computer) Computadoras con un conjunto de instrucciones complejo
  • RISC(Reduced Instruction Set Computer) Computadoras con un conjunto de instrucciones reducido

    Existen diversos procesadores que no se pueden asignar con facilidad a ninguna de éstas categorías. 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 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 nos hace suponer que RISC reemplazará por completo 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 éstas 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 fábricación del circuito integrado, El Encapsulado se refiere a como 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 arquitecturas RISC y CISC donde se centra nuestra atención

    Dependiendo de cómo el procesador almacena lo 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 un acumulador.
    3. Juego de instrucciones para arquitecturas basadas en regidtros.

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



    2. Arquitecturas CISC

    La microprogramación es una característica importante y esencial de casi todas las arquitecturas CISC, podríamos mencionar 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 decada de los sesentas la microprogramació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 reloj (al menos uno por microinstrucción).



    3. 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 más eficientes, gracias a que el tiempo de acceso de las memorias se fué decrementando conforme se mejoraba su tecnología de encapsulado.

    De bido a que se tiene un conjunto de instrucciones simplificado, éstas 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 secuencias complejas predeterminadas, pero requieren tiempos de ejecución más cortos.


    Daniel Zamora O.