Hoy hablaremos sobre las arquitecturas RISC y CISC, tratando sus ventajas, desventajs y diferencias.
CISC: Complex Instruction Set Computer.
Como dice su nombre, utiliza un set de instrucciones complejas para realizar sus operaciones, una instrucción es una acción que ordenamos ejecutar al procesador, pueden ser, por ejemplo, operaciones aritméticas, lógicas o de movimiento de datos entre otras muchas.
El objetivo de esta arquitectura es la de proporcionar una única instrucción máquina para cada enunciado de lenguaje de alto nivel. En los procesadores CISC, las instrucciones complejas son decodificadas internamente y ejecutadas por una serie de microinstrucciones almacenadas en la ROM interna del procesador, para esto se pueden requerir, en ocasiones, varios ciclos de reloj. Los Procesadores CISC destacan por tener un amplio conjunto de instrucciones que permite realizar operaciones complejas.
Ventajas:
- Mayor facilidad para crear compiladores
- Reducción de operaciones lógicas ejecutadas por programa
- Permiten la implementación de instrucciones específicas y complejas
- Son más fáciles de programar
- Menor coste
- Mejora la optimización del código
- Facilita la depuración de errores
Desventajas:
- La complejidad del conjunto de instrucciones aumenta, por lo que se necesita más hardware para su implementación
- Hay algunas instrucciones que casi no se usan
RISC: Reduced Instruction Set Computer.
Al contrario que los CISC, este tipo de procesadores utilizan instrucciones más simples. Este tipo de arquitectura ejecuta las microinstrucciones directamente desde fuera del circuito integrado, justo al contrario a los CISC, esto es, por que según algunos experimentos realizados, esto resultaba más eficiente.
Gracias a su conjunto de instrucciones simplificado, estas se pueden implantar directamente en el hardware de la CPU sin necesidad de microcódigo que tenga que ser posteriormente decodificado, haciendo que sean más rápidos que los CISC con algunas tareas.
Ventajas:
- Son más rápidos al usar instrucciones más simples
- Suelen tardarse menos en diseñar
- Necesita menos hardware para implementarse.
Desventajas:
- Dependen demasiado del compilador
- La depuración de programas se hace difícil por la programación de las instrucciones
- El lenguaje máquina está menos optimizado
0 Comentarios