¿En qué se diferencian las CPU RISC y CISC?

Si es un entusiasta de la tecnología, es posible que haya escuchado las palabras Computadora con conjunto de instrucciones reducido (RISC) y Computadora con conjunto de instrucciones complejas (CISC). Y si sabe un poco sobre computadoras, es posible que también sepa que estos términos se refieren a diferentes formas de diseñar un procesador.

Por ejemplo, el procesador ARM de su teléfono tiene una arquitectura RISC. Por el contrario, el procesador x86 de su computadora tiene un diseño CISC.

Pero, ¿cuál es la diferencia entre RISC y CISC? Profundicemos un poco más y descubramos.

¿Qué es un conjunto de instrucciones?

Siempre que se habla de diferentes diseños de unidad central de procesamiento (CPU), una de las cosas de las que tenemos que hablar es el conjunto de instrucciones.

El conjunto de instrucciones de una CPU es el conjunto de operaciones que una CPU puede realizar de forma nativa. Estas son las operaciones que están codificadas en la CPU a nivel de hardware. Este conjunto puede contener desde unas pocas hasta miles de instrucciones, según el diseño de la CPU.

En otras palabras, una CPU no puede realizar ninguna operación que esté fuera de su conjunto de instrucciones, porque no tiene el hardware para ello.

Usemos una analogía para entender esto mejor. Tomemos el ejemplo de una bombilla. El fabricante de una bombilla ha diseñado la bombilla para convertir la electricidad en luz. Y una bombilla puede hacer esto porque el hardware lo admite de forma nativa.

En esencia, una bombilla solo puede convertir la electricidad en luz y nada más.

De manera similar, el conjunto de instrucciones de una CPU es el conjunto de operaciones que habilita el hardware de la CPU. Por ejemplo, casi todas las CPU tienen una instrucción "Mover" en su conjunto de instrucciones. La instrucción "Mover" toma algunos datos de un espacio de almacenamiento de origen y los mueve a un espacio de almacenamiento de destino.

Siempre que una CPU necesita mover algunos datos, sabe exactamente cómo hacerlo porque el hardware se ha diseñado a su alrededor.

En resumen, un conjunto de instrucciones contiene todas aquellas operaciones que admite una CPU a nivel de hardware.

¿Cómo funciona una CPU?

Una CPU es un laberinto de circuitos eléctricos. Estos circuitos eléctricos están diseñados de cierta manera para darle a la CPU su conjunto de instrucciones nativo. Entonces, solo sabe cómo realizar las operaciones en un conjunto de instrucciones, ya que tiene los circuitos para hacer esto.

Para hacer que la CPU realice una determinada operación, el circuito correspondiente a esa operación se activa a través de una señal eléctrica. Y una vez que se activa un circuito, la CPU realiza la rutina asociada con ese circuito.

Para que la CPU realice operaciones complejas como enviar un tweet, los programas de software disparan millones de señales eléctricas cada segundo, cada una de las cuales tiene como objetivo una instrucción específica del conjunto de instrucciones de la CPU.

Aquí es donde entra el concepto de RIS y CIS.

¿Qué es RISC?

Como sugiere el nombre, una CPU basada en RISC tiene un conjunto de operaciones simplificado. Estas instrucciones simplificadas logran objetivos simples y solo toman un ciclo para completarse.

Y debido a que RISC tiene instrucciones simples, la CPU no necesita tener circuitos complejos para ejecutar estas instrucciones. Esta es también la razón por la que los diseños RISC son, en cuanto al hardware, más baratos de implementar.

Relacionado: ¿Por qué mi teléfono es más lento que mi PC? Explicación de las velocidades de teléfonos inteligentes frente a computadoras de escritorio

Para comprender una CPU RISC con más detalle, veamos los principios de diseño de las CPU basadas en RISC.

Primero, las CPU RISC completan cada instrucción en un solo ciclo.

En segundo lugar, las CPU RISC solo realizan operaciones con datos almacenados en registros. Esto se debe a que uno de los principales obstáculos a la capacidad de una CPU para realizar tareas es la enorme falta de coincidencia entre la velocidad de la CPU y la velocidad de la memoria principal. La memoria principal es muy lenta en comparación con una CPU.

Relacionado: Una guía rápida y sucia de RAM: lo que necesita saber

Por lo tanto, si una CPU tiene que usar datos almacenados en la memoria principal, producirá un cuello de botella en la unidad y el proceso será lento. En un diseño RISC, los datos se cargan y almacenan en los registros de la CPU, porque los registros están mucho más cerca de la velocidad de la CPU que la memoria principal.

En tercer lugar, las instrucciones RISC son lo suficientemente simples como para que no haya una capa de microcódigo interpretativo para traducir las instrucciones a formas más simples.

Y finalmente, los diseños de RISC admiten la canalización para ejecutar partes de varias instrucciones al mismo tiempo. Debido a que las CPU de diseño RISC tienen velocidades de reloj más altas, son excepcionalmente rápidas. La canalización es una forma de aprovechar esta velocidad y ejecutar partes de varias instrucciones para una mayor eficiencia.

En pocas palabras, las CPU RISC tienen instrucciones simples, velocidades de reloj más altas, estructura de canalización eficiente, operación de almacenamiento de carga en los registros y pueden ejecutar instrucciones en un ciclo.

¿Qué es CISC?

El CISC es lo opuesto al RISC en casi todas las áreas clave. Casi todos los chips de escritorio tienen un diseño CISC.

En primer lugar, las instrucciones de diseño CISC son complejas y, por lo tanto, requieren una capa de microcódigo para traducir a instrucciones símplex.

En segundo lugar, las instrucciones CISC pueden tardar varios ciclos de CPU en ejecutarse.

En tercer lugar, la canalización no es tan eficiente en CISC y es aún más difícil de implementar debido a la naturaleza compleja de las instrucciones CISC.

En resumen, las CPU con arquitectura CISC pueden realizar muchas operaciones en una instrucción compleja. Pero la instrucción tarda varios ciclos en completarse, es más difícil de usar en la canalización y requiere una gran cantidad de circuitos en la CPU.

RISC vs.CISC: diferencias clave

La principal diferencia entre RISC y CISC es el tipo de instrucciones que ejecutan.

Las instrucciones RISC son simples, realizan solo una operación y una CPU puede ejecutarlas en un ciclo.

Las instrucciones CISC, por otro lado, incluyen un montón de operaciones. Entonces, la CPU no puede ejecutarlos en un ciclo.

Las instrucciones también son la razón por la que las CPU RISC admiten la canalización desde el principio y las CPU CISC lo tienen más difícil. Con RISC, las instrucciones son lo suficientemente simples como para que se puedan ejecutar en partes. Esto es más difícil de hacer con CISC debido a la naturaleza compleja de las instrucciones.

A continuación, a diferencia de RISC, las instrucciones CISC pueden funcionar directamente desde la RAM. Por lo tanto, no es necesario realizar operaciones de carga / almacenamiento separadas en el diseño CISC.

Finalmente, los requisitos de hardware para un diseño CISC son más altos que los de un diseño RISC, ya que CISC requiere que se integren instrucciones complejas en el hardware de la CPU. Básicamente, lo que CISC logra con el hardware, RISC pretende lograrlo con el software.

Esta es la razón por la que los programas que se dirigen a una arquitectura CISC tienen menos líneas de código porque las instrucciones mismas manejan muchas operaciones.

Existen ventajas y desventajas tanto para RISC como para CISC

Ningún procesador moderno se basa completamente en RISC o CISC. Los procesadores modernos incorporan las filosofías de diseño de ambas arquitecturas para lograr lo mejor de ambos mundos. Por ejemplo, la arquitectura x86 que utiliza AMD es principalmente CISC, pero tiene un microcódigo para convertir instrucciones complejas en instrucciones reducidas simples similares a RISC.

Entonces, a diferencia de los procesadores del siglo pasado, las CPU modernas han evolucionado más allá de una simple clasificación RISC o CISC.