miércoles, 17 de junio de 2009

2.a Diferencias entre arquitecturas y repertorios de instrucciones CISC y RISC

Una de las primeras decisiones a la hora de diseñar un microprocesador es decidir cual será su repertorio de instrucciones. Dicha decisión es tan importante porque el repertorio de instrucciones decide el diseño físico del conjunto, y además cualquier operación que se vaya a ejecutar en el microprocesador se debe poder escribir en términos de un lenguaje de estas instrucciones. Para resolver dicha decisión, existen dos tipos de arquitectura de procesadores, CISC y RISC.


Dichas siglas corresponden a los siguientes términos:

  • CISC (Complex Instruction Set Computer) Computadoras con un conjunto de instrucciones complejo.

  • RISC (Reduced Instruction Set Computer) Computadoras con un conjunto de instrucciones reducido.


Aunque es cierto que el conjunto de instrucciones de los procesadores CISC es mas complejo y el de los RISC más reducido, es necesario muchas otras características esenciales para definir los RISC y CISC típicos. 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.


Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos. Sin embargo, éste tipo de arquitectura, dificulta el paralelísmo entre instrucciones, por lo que en la actualidad la mayoria de los sistemas CISC de alto rendimienton implementan un sistema que convierte dichas instrucciones complejas en varias simples del tipo RISC, llamadas generalmente microinstrucciones.


La microprogramación es una característica importante y esencial de casi todas las arquitecturas CISC, y significa que cada instrucción de máquina que es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador. Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requiere varios ciclos de reloj (al menos uno por microinstrucción), por tanto es asi como los chips CISC utilizan comandos que incorporan una gran diversidad de pequeñas instrucciones para realizar una única operación.


Las ventajas que destacan en los microprocesadores CISC son:


  • Reduce la dificultad de crear compiladores.

  • Permite reducir el costo total del sistema.

  • Reduce los costos de creación del software (más sencillo).

  • Mejora la compactación de código.

  • Facilita la depuración de errores.


Por el contrario, la arquitectura RISC tiene como objetivo posibilitar la segmentación y el paralelismo en la ejecución de instrucciones, y reducir los accesos a memoria. Estas máquinas representan la tendencia actual de construcción de microprocesadores como PowerPC, Dec Alpha, MIPS, ARM, ...


Esta arquitectura 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 un procesador RISC son capaces de ejecutarse mucho más aprisa que las instrucciones más largas y complejas de un chip CISC. Sin embargo, este diseño requiere de mucha más RAM y de una tecnología de compilador más avanzada.


Las ventajas que destacan en los microprocesadores RISC son:


  • La CPU trabaja más rapido al utilizar menos ciclos de reloj para ejecutar instrucciones.

  • Utiliza un sistema de direcciones no destructivas en RAM, por lo que conserva después de realizar sus operaciones en memoria los dos operando y su resultado.

  • Cada instrucción puede ser ejecutada en un solo ciclo del CPU.



Una vez analizadas brevemente ambas arquitecturas debemos decir que cada usuario debe decidirse por una arquitectura u otra en función de la aplicación que quiera realizar. Nunca será decisiva únicamente la capacidad de procesamiento del microprocesador, se debe considerar por igual la capacidad real que puede alcanzar el sistema en su conjunto.

No hay comentarios:

Publicar un comentario