Actualmente en el segmento de los procesadores nos encontramos dos arquitecturas o tipos de diseño. Por un lado tenemos la arquitectura CISC, usada por Intel y AMD para sus procesadores, y por otro lado tenemos la arquitectura RISC, usada por Qualcomm, Samsung, Apple, etc., para los SoC de smartphone, tabletas o portátiles. Te vamos a explicar cuáles son las diferencias entre CISC y RISC.
Índice de contenidos
Qué es CISC
Es una gran colección de instrucciones que van desde simples a muy complejas y especializadas a nivel de lenguaje de ensamblador. CISC es un sistema de instrucciones desarrollado por Intel que requieren de mucho tiempo para ser ejecutadas completamente.
Lo que sucede en CISC es que se reduce la cantidad de instrucciones de un software y se ignora el número de ciclos por instrucción. Se especializa en crear instrucciones complejas en el hardware, ya que el hardware siempre será mucho más rápido que el software.
Este tipo de diseño es la base de los procesadores de Intel y de AMD, sin importar la gama o la estructura interna. Cualquiera de los procesadores producidos por ambas compañías se basan en la arquitectura CISC.
Características de los procesadores CISC
- El tamaño del código es pequeño, lo que implica una baja necesidad de memoria RAM
- Las instrucciones complejas suelen necesitar más de un ciclo de reloj para ejecutar el código
- Se requieren menos instrucciones para escribir un software
- Ofrece programación más sencilla en lenguaje ensamblador
- Soporte para una estructura de datos compleja y fácil de compilar en lenguajes de alto nivel
- Compuesto por menos registros y más nodos de direccionamiento, habitualmente entre 5 y 20
- Instrucciones pueden ser más grandes que una sola palabra
- Se enfatiza la construcción de instrucciones en el hardware, ya que es más rápido que crear el software
Ventajas de los procesadores CISC
- Para el compilador se requiere de poco esfuerzo para traducir programas de alto nivel o lenguajes de instrucciones a lenguaje ensamblador o máquina
- El tamaño del código es corto, reduciendo los requisitos de memoria
- Almacenar las instrucciones CISC requieren de menos cantidad de memoria RAM
- Genera procesos de administración de uso de energía que permiten ajustar la velocidad y el voltaje del reloj
- Requiere de menos instrucciones configuradas para realizar la misma instrucción que la arquitectura RISC
Desventajas de los procesadores CISC
- Pueden requerir de varios ciclos de reloj para completar una instrucción de un software
- El rendimiento del equipo sufre un descenso debido a la velocidad del reloj
- La ejecución mediante canalización en procesadores CISC puede ser realmente complicado
- Este diseño de procesadores requiere muchos más transistores que la arquitectura RISC
- Utilizan sobre el 20% de las instrucciones existentes en un evento de programación
- Tienen un diseño mucho mayor que la arquitectura RISC, lo cual conlleva más generación de temperatura, mayor consumo y mayor requisito de espacio físico
Qué es RISC
Es una arquitectura de procesadores basada en una colección de instrucciones simples y altamente personalizadas. RISC se construye para minimizar el tiempo de ejecución de una instrucción, optimizando y limitando el número de instrucciones.
La arquitectura RISC tiene la capacidad de por cada ciclo de instrucción se da solo un ciclo de reloj. Cada ciclo debe contener estos tres parámetros: buscar, decodificar y ejecutar. RISC también tiene la propiedad de ejecutar varias instrucciones complejas cuando se combinan con otras más simples. Este diseño de procesadores requiere menor cantidad de transistores, reduciendo costes y tiempos de fabricación.
Todos los procesadores basados en los diseños de ARM, como por ejemplo los Qualcomm Snapdragon y los Samsung Exynos se basan en la arquitectura RISC. Incluso los procesadores integrados en las Raspberry Pi son de arquitectura RISC, al basarse en procesadores Broadcom que hace uso de licencias ARM.
Características de RISC
- Para ejecutar una instrucción en estos procesadores, en un procesador de este tipo se requiere un ciclo de reloj. Cada ciclo de reloj incluye un método de obtención, decodificación y ejecución de la instrucción
- La técnica de canalización se usa en esta arquitectura para ejecutar múltiples partes o etapas de instrucciones para obtener un funcionamiento más eficiente
- Estos procesadores están optimizados basándose en múltiples registros que se pueden usar para el almacenamiento de instrucciones y la respuesta rápida del procesador y se minimicen las interacciones con la memoria del sistema
- Soporta un modo de direccionamiento simple y que tiene una longitud de instrucción fija para la ejecución de la canalización
- Usan instrucciones LOAD y STORE para acceder a la memoria
- Las instrucciones simples y limitadas permiten reducir los tiempos de ejecución de un proceso
Ventajas de los procesadores RISC
- Tienen la capacidad de ofrecer un mejor rendimiento gracias al menor número de instrucciones y la simplicidad de las mismas
- Requieren de menos transistores, lo cual los hace más económicos de diseñar y producir
- Permiten crear procesadores con «espacio» libre para añadir otros circuitos o reducir sencillamente el encapsulado
- Este diseño requiere de menos consumo de energía y generan menos calor que los procesadores RISC
Desventajas de los procesadores RISC
- El rendimiento del procesador puede variar dependiendo del código que se ejecuta, ya que las instrucciones posteriores que se ejecuten pueden depender de una instrucción anterior
- Actualmente la mayoría de software y compiladores hacen uso de instrucciones complejas
- Necesitan de memorias muy rápidas para almacenar diferentes cantidades de instrucciones, que requieren de una gran cantidad de memoria caché para responder a la instrucción en el menor tiempo posible
Diferencias entre procesadores CISC y RISC
Vamos a ver las diferencias entre las arquitecturas de procesadores CISC y RISC en una sencilla tabla para que se pueda ver de manera más clara
CISC | RISC |
---|---|
Es una arquitectura con conjunto de instrucciones reducido | Es una arquitectura de conjunto de instrucciones complejas |
Hace hincapié en el software para optimizar el conjunto de instrucciones | Hace hincapié en el hardware para optimizar el conjunto de instrucciones |
Es una unidad de programación cableada en el procesador | Unidad de microprogramación en el procesador |
Requiere múltiples conjuntos de registros para almacenar la instrucción | Requiere un único conjunto de registros para almacenar la instrucción |
Tiene una sencilla decodificación de las instrucciones | Tiene una compleja decodificación de las instrucciones |
Los usos de la canalización son simples | Los usos de la canalización son difíciles |
Utiliza un número limitado de instrucciones que requiere menos tiempo para ejecutar las instrucciones | Utiliza una gran cantidad de instrucciones que requieren más tiempo para ejecutar las instrucciones |
Utiliza LOAD y STORE que son instrucciones independientes en el registro para registrar la interacción de un programa | Utiliza la instrucción LOAD y STORE en la interacción de memoria a memoria de un programa |
Tiene más transistores en registros de memoria | Tiene transistores para almacenar instrucciones complejas |
El tiempo de ejecución es muy corto | El tiempo de ejecución es mayor |
Se puede utilizar con aplicaciones de gama baja como domótica, sistema de seguridad, etc. | Se puede utilizar con aplicaciones de alta gama como telecomunicaciones, procesamiento de imágenes, procesamiento de video, etc. |
Tiene instrucciones de formato fijo | Tiene instrucciones de formato variable |
El programa escrito para esta arquitectura necesita ocupar más espacio en la memoria | Los programas escritos para esta arquitectura tienden a ocupar menos espacio en la memoria |
Palabras finales sobre las diferencias entre RISC y CIS
Los procesadores de arquitectura CISC son los procesadores Intel Core y AMD Ryzen, por ejemplo. Mientras que los procesadores de arquitectura RISC son los utilizados para smartphone, como puedan ser los Qualcomm Snapdragon y Samsung Exynos. Cada una de estas arquitecturas de procesadores tienen unas características bastante diferenciables entre ellas y los usos son diferentes. Podemos resumir las diferencias de estos en que los procesadores CISC son de fuerza bruta y los procesadores RISC son eficientes.
Te explicamos qué es y cómo funciona la arquitectura RISC
Actualmente estamos viendo como RISC va consiguiendo ganarle terreno a la arquitectura CISC. El Apple M1 usado en portátiles de la compañía se basa en licencias de ARM, quien licencia diseños de procesadores basados en RISC. Hemos visto como Apple ha anunciado el salto de portátiles, ordenadores de sobremesa y workstation a procesadores de arquitectura RISC. Dejará de lado la dependencia que tenía de Intel y de los procesadores CISC.
La apuesta de NVIDIA de adquirir ARM Holdings, quien desarrolla y licencia procesadores de arquitectura CISC, es una muestra más del cambio en la industria. Podemos destacar incluso los procesadores Intel Alder Lake, que se basan en un diseño de núcleos de alta eficiencia y núcleos de fuerza, una copia del diseño ARM big.LITTLE de tipos RISC, que Intel está llevando al mundo CISC.
¿Cuáles consideras que son los mejores procesadores, los basados en arquitectura RISC o los basados en arquitectura CISC?