Hay dos tipos populares de arquitecturas basadas en el conjunto de instrucciones. Son CISC (cálculo de conjuntos de instrucciones complejas) y RISC (cálculo de conjuntos de instrucciones reducidos). Analicemos las diferencias, ventajas, desventajas y similitudes subyacentes entre estas dos arquitecturas.

¿Qué es la arquitectura RISC ?
RISC (Reduced instruction set computing) es una computadora que utiliza una unidad central de procesamiento (CPU) que implementa el principio de diseño del procesador de instrucciones simplificadas. El diseño de la arquitectura RISC agiliza y acelera significativamente el procesamiento de datos al minimizar el número de instrucciones almacenadas permanentemente en el microprocesador y se basa más en instrucciones no residentes, es decir, códigos o programas de software. RISC es posiblemente la tecnología de microprocesador más rápida y eficiente disponible en la actualidad.
Los chips o microprocesadores RISC aprovechan el hecho de que la mayoría de las instrucciones para los procesos informáticos son relativamente simples y las computadoras están diseñadas para manejar esas instrucciones simples rápidamente. La arquitectura RISC es una mejora de la arquitectura CISC (computación de conjunto de instrucciones complejas) utilizada en los chips Intel Pentium originales. Aunque Intel ha ido integrando lentamente la tecnología RISC en sus chips, todavía están en su mayoría basados en CISC.
Todavía existe mucha controversia entre los expertos sobre el valor final de las arquitecturas RISC. Los escépticos argumentan que al simplificar el hardware, las arquitecturas RISC suponen una carga mayor para el software. Por tanto, concluyen que esto no merece la pena porque los microprocesadores convencionales son cada vez más baratos y rápidos. Los proponentes, por otro lado, argumentan que las máquinas RISC son más baratas y rápidas y, por lo tanto, son las máquinas del futuro.

Lo que necesitas saber sobre la arquitecturas RISC
- RISC tiene menos modos de direccionamiento y la mayoría de las instrucciones del conjunto de instrucciones tienen modo de direccionamiento de registro a registro.
- Es una unidad de programación cableada.
- Ejemplos de arquitecturas de conjuntos de instrucciones CISC son system / 360, PDP-11, VAX, AMD, Motorola 68000 y PC de escritorio en CPU Intel x86.
- Se utilizan codificaciones de longitud fija de las instrucciones. Ejemplo: en IA32, generalmente todas las instrucciones se codifican como 4 bytes.
- Las operaciones aritméticas y lógicas solo utilizan operandos de registro. La referencia a la memoria solo se permite mediante instrucciones de carga y almacenamiento, es decir, leer de la memoria a un registro y escribir de un registro a la memoria respectivamente.
- El conjunto de instrucciones se reduce, es decir, tiene solo unas pocas instrucciones en el conjunto de instrucciones. Muchas de estas instrucciones son muy primitivas.
- La arquitectura RISC se utiliza en aplicaciones de alta gama como procesamiento de video, telecomunicaciones y procesamiento de imágenes.
- Los procesadores RISC tienen instrucciones simples que toman aproximadamente un ciclo de reloj. El ciclo de reloj promedio por instrucción (CPI) es 1.5.
- Los procesadores RISC están altamente canalizados.
- Los programas de implementación están expuestos a programas a nivel de máquina. Pocas máquinas RISC no permiten secuencias de instrucciones específicas.
- Los modos de direccionamiento complejos se sintetizan mediante software.
- La complejidad radica en el microprograma.
- El rendimiento se optimiza con un mayor enfoque en el software.
- No requiere memoria externa para realizar cálculos.
- La decodificación de instrucciones es sencilla.
- La expansión de código puede ser un problema.
- El tiempo de ejecución es mucho menor.
- Hay varios conjuntos de registros presentes.
- No tiene unidad de memoria y usa un hardware separado para implementar instrucciones.
- RISC tiene un programa de gran tamaño.
Ventajas de las arquitecturas RISC
- RISC es más un enfoque general de la informática que un conjunto específico de reglas, por lo tanto, diferentes procesadores y sistemas basados en RISC funcionan de diferentes maneras.
- Debido a su simplicidad, permite utilizar el espacio en microprocesadores.
- La velocidad de la operación se puede maximizar y el tiempo de ejecución se puede minimizar.
- Se puede diseñar fácilmente en comparación con CISC.
- El rendimiento es mejor gracias al conjunto de instrucciones simplificado.
- Las instrucciones RISC ejecutan una instrucción por ciclo de reloj.
- Tiene una unidad separada para la memoria y por lo tanto se puede ahorrar espacio en disco.
Inconvenientes del sistema RISC
- Diseñar un compilador con RISC es complicado.
- Implica más hardware.
- En la medida en que se reduce el tamaño de las instrucciones, se requieren más instrucciones para realizar una operación en comparación con CISC.
- RISC encuentra muchas dificultades para procesar instrucciones complejas y modo de direccionamiento complejo.
- Las instrucciones RISC no permiten la transferencia directa de memoria a memoria; requiere instrucciones de carga y almacenamiento para hacerlo.
¿Qué es la arquitectura CISC ?
CISC es un tipo de diseño de microprocesador. La arquitectura CISC contiene un gran conjunto de instrucciones informáticas que van desde muy simples hasta muy complejas y especializadas. Aunque el diseño estaba destinado a calcular instrucciones complejas de la manera más eficiente, más tarde se descubrió que muchas instrucciones pequeñas y cortas podían calcular instrucciones complejas de manera más eficiente.
El microprocesador PowerPC, que se utiliza en el sistema RISC / estación de trabajo 6000 de IBM y en las computadoras Macintosh, es un microprocesador RISC. Los microprocesadores Pentium de Intel son microprocesadores CISC. RISC toma cada una de las instrucciones más largas y complejas de un diseño CISC y las reduce a múltiples instrucciones que son más cortas y más rápidas de procesar.

Lo que necesitas saber sobre la arquitectura CISC
- CISC tiene muchos modos de direccionamiento diferentes y, por lo tanto, puede usarse para representar declaraciones de lenguaje de programación de nivel superior de manera más eficiente.
- tiene una unidad de microprogramación.
- Ejemplos de familias RISC incluyen DEC Alpha, AMD 29000, ARC, Atmel AVR, Blackfin, Intel i860 e i960, MIPS, Motorola 88000, PA-RISC, power (incluido PowerPC), SuperH, SPARC y ARM.
- Se utilizan codificaciones de longitud variable de las instrucciones. Ejemplo: el tamaño de la instrucción IA32 puede oscilar entre 1 y 15 bytes.
- Las operaciones aritméticas y lógicas se pueden aplicar tanto a la memoria como a los operandos de registro.
- El conjunto de instrucciones tiene una variedad de instrucciones diferentes que se pueden utilizar para operaciones complejas.
- La arquitectura CISC se utiliza en aplicaciones de gama baja como sistemas de seguridad, domótica, etc.
- El procesador CISC tiene instrucciones complejas que requieren varios relojes para su ejecución. El ciclo de reloj promedio por instrucción (CPI) está en el rango de 2 y 15.
- Normalmente están menos canalizados o no están canalizados en absoluto.
- Los programas de implementación están ocultos de los programas a nivel de máquina. La ISA proporciona una abstracción limpia entre los programas y cómo se ejecutan.
- CISC ya admite modos de direccionamiento complejos.
- La complejidad de RISC radica en el compilador que ejecuta el programa.
- El rendimiento se optimiza con un mayor enfoque en el hardware.
- Requiere una memoria externa para los cálculos.
- La decodificación de instrucciones es compleja.
- La expansión de código no es un problema.
- El tiempo de ejecución es muy elevado.
- Sólo está presente un conjunto de registros.
- Tiene una unidad de memoria para implementar instrucciones complejas.
- CISC tiene un programa de tamaño pequeño.
Ventajas de las arquitecturas CISC
- Es fácil agregar nuevos comandos al chip sin cambiar la estructura del conjunto de instrucciones, ya que la arquitectura utiliza hardware de propósito general para ejecutar los comandos.
- Generalmente es más fácil escribir código ensamblador CISC que código ensamblador RISC.
- CISC admite la microprogramación.
- Los operandos en la memoria se manipulan mediante instrucciones.
- CISC tiene una gran cantidad de instrucciones bien definidas, un factor que hace que los lenguajes de alto nivel sean fáciles de diseñar e implementar.
- Tiene más códigos de direccionamiento y menos registros.
Inconvenientes del sistema CISC
- Pueden tomar varios ciclos por línea de código.
- Solo menos del 30% de las instrucciones existentes se utilizan en un evento de programación típico, aunque existen múltiples instrucciones especializadas que ni siquiera se utilizan con frecuencia.
- El rendimiento general de la máquina se reduce debido a la diferente cantidad de tiempo de reloj requerido por diferentes instrucciones.
¿Cuál es la diferencia entre la arquitectura RISC y CISC?
A continuación te mostramos una tabla comparativa entre estos dos sistemas de arquitectura:
BASE DE COMPARACIÓN |
RISC | CISC |
Número de modos de direccionamiento | RISC tiene menos modos de direccionamiento y la mayoría de las instrucciones del conjunto de instrucciones tienen modo de direccionamiento de registro a registro. |
CISC tiene muchos modos de direccionamiento diferentes y, por lo tanto, puede usarse para representar declaraciones de lenguaje de programación de nivel superior de manera más eficiente. |
Unidad de microprogramación | Es una unidad de programación cableada. |
Tiene una unidad de microprogramación. |
Ejemplos | System / 360, PDP-11, VAX, AMD, Motorola 68000 y PC de escritorio en CPU Intel x86. |
DEC Alpha, AMD 29000, ARC, Atmel AVR, Blackfin, Intel i860 y i960, MIPS, Motorola 88000, PA-RISC, potencia (incluido PowerPC), SuperH, SPARC y ARM. |
Codificación de instrucciones | Se utilizan codificaciones de longitud fija de las instrucciones. Ejemplo: en IA32, generalmente todas las instrucciones se codifican como 4 bytes. |
Se utilizan codificaciones de longitud variable de las instrucciones. Ejemplo: el tamaño de la instrucción IA32 puede oscilar entre 1 y 15 bytes. |
Operaciones aritméticas y lógicas |
Las operaciones aritméticas y lógicas solo utilizan operandos de registro. |
Las operaciones aritméticas y lógicas se pueden aplicar tanto a la memoria como a los operandos de registro. |
El conjunto de instrucciones | El conjunto de instrucciones se reduce, es decir, tiene solo unas pocas instrucciones en el conjunto de instrucciones. Muchas de estas instrucciones son muy primitivas. |
El conjunto de instrucciones tiene una variedad de instrucciones diferentes que se pueden utilizar para operaciones complejas. |
Solicitud | Se utiliza en aplicaciones de alta gama como procesamiento de video, telecomunicaciones y procesamiento de imágenes. |
Se utiliza en aplicaciones de gama baja como sistemas de seguridad, domótica, etc. |
Procesador | Sus procesadores tienen instrucciones simples que toman alrededor de un ciclo de reloj. |
Su procesador tiene instrucciones complejas que requieren varios relojes para su ejecución. |
Canalización del procesador | Sus procesadores están altamente canalizados. |
Los procesadores normalmente están menos canalizados o no están canalizados en absoluto. |
Programas de implementación | Los programas de implementación están expuestos a programas a nivel de máquina. |
Los programas de implementación están ocultos de los programas a nivel de máquina. |
Modos de direccionamiento complejos | Los modos de direccionamiento complejos se sintetizan mediante software. |
Ya admite modos de direccionamiento complejos. |
Complejidad | La complejidad radica en el microprograma. |
La complejidad de RISC radica en el compilador que ejecuta el programa. |
Actuación | El rendimiento se optimiza con un mayor enfoque en el software. |
El rendimiento se optimiza con un mayor enfoque en el hardware. |
Memoria externa | No requiere memoria externa para realizar cálculos. |
Requiere una memoria externa para los cálculos. |
Decodificación de instrucciones | La decodificación de instrucciones es sencilla. |
La decodificación de instrucciones es compleja. |
Expansión de código | La expansión de código puede ser un problema. |
La expansión de código no es un problema. |
Tiempo de ejecución | El tiempo de ejecución es mucho menor. |
El tiempo de ejecución es muy elevado. |
Registros | Hay varios conjuntos de registros presentes. |
Sólo está presente un conjunto de registros. |
Unidad de memoria | No tiene unidad de memoria y usa un hardware separado para implementar instrucciones. |
Tiene una unidad de memoria para implementar instrucciones complejas. |
Tamaño del programa | RISC tiene un programa de gran tamaño. |
CISC tiene un programa de tamaño pequeño. |