Articles

Arquitecturas RISC vs. CISC: ¿Cuál es mejor?

Posted on

Los ordenadores de conjunto de instrucciones reducidas (RISC) son un tipo o categoría de procesador, o arquitectura de conjunto de instrucciones (ISA). Hablando en términos generales, una ISA es un medio por el que un procesador se comunica con el programador humano (aunque hay varias otras capas formalmente identificadas entre el procesador y el programador). Una instrucción es una orden dada al procesador para realizar una acción. Un conjunto de instrucciones es la colección completa de instrucciones para un determinado procesador, y el término arquitectura implica una forma particular de construir el sistema que hace el procesador.

RISC se refiere generalmente a una versión simplificada de su predecesor, el ordenador de conjunto de instrucciones complejas (CISC). En los albores de los procesadores, no existía una identificación formal conocida como CISC, pero el término se ha acuñado desde entonces para identificarlos como diferentes de la arquitectura RISC. Algunos ejemplos de arquitecturas de conjuntos de instrucciones (ISA) de microprocesadores CISC incluyen el Motorola 68000 (68K), el DEC VAX, el PDP-11, varias generaciones del Intel x86 y el 8051.

Los ejemplos de procesadores con arquitectura RISC incluyen el MIPS, el PowerPC, el AVR de Atmel, los procesadores PIC de Microchip, los procesadores Arm, el RISC-V, y todos los microprocesadores modernos tienen al menos algunos elementos de RISC. La progresión de las arquitecturas de 8 y 16 bits a las de 32 bits forzó esencialmente la necesidad de las arquitecturas RISC. Sin embargo, pasó una década antes de que las arquitecturas RISC empezaran a imponerse, principalmente debido a la falta de software que funcionara en las arquitecturas RISC. Intel también influyó, ya que disponía de medios para seguir utilizando la arquitectura CISC y no tuvo necesidad de rediseñar desde cero. La arquitectura MIPS fue una de las primeras ISA RISC y se ha utilizado ampliamente para enseñar la arquitectura RISC.

Algo de historia
El primer chip integrado fue diseñado en 1958 por Jack Kilby. Los microprocesadores se introdujeron en la década de 1970, siendo el primero comercial de Intel Corporation. A principios de la década de 1980, se introdujo la arquitectura RISC. El diseño RISC surgió como un rediseño total porque la arquitectura CISC era cada vez más compleja. La mayoría atribuye a John Cocke, de IBM, la creación del concepto RISC. La historia nos dice que para conseguir un ordenador más rápido, se produjeron algunos cambios importantes en la arquitectura del microprocesador que se convirtió en RISC, incluyendo un formato uniforme para las instrucciones y unas instrucciones fácilmente canalizables. (Pipelining significa que el procesador empieza a ejecutar la siguiente instrucción antes de que se complete la actual). En la década de 1970, la memoria era costosa, por lo que los programas más pequeños eran el centro de atención.

¿Cuáles son las diferencias entre RISC y CISC?
La respuesta corta es que RISC es percibido por muchos como una mejora sobre CISC. No existe la mejor arquitectura, ya que diferentes arquitecturas pueden ser simplemente mejores en algunos escenarios pero menos ideales en otros. Las máquinas basadas en RISC ejecutan una instrucción por ciclo de reloj. Las máquinas CISC pueden tener instrucciones especiales, así como instrucciones que tardan más de un ciclo en ejecutarse. Esto significa que la misma instrucción ejecutada en una arquitectura CISC puede tardar varias instrucciones en ejecutarse en una máquina RISC. La arquitectura RISC necesitará más memoria de trabajo (RAM) que la CISC para mantener los valores mientras carga cada instrucción, actúa sobre ella y luego carga la siguiente.

La arquitectura CISC puede ejecutar una instrucción, aunque más compleja, que realiza las mismas operaciones, todas a la vez, directamente sobre la memoria. Por lo tanto, la arquitectura RISC requiere más memoria RAM pero siempre ejecuta una instrucción por ciclo de reloj para un procesamiento predecible, lo que es bueno para el pipelining. Una de las principales diferencias entre RISC y CISC es que RISC enfatiza la eficiencia en ciclos por instrucción y CISC enfatiza la eficiencia en instrucciones por programa. Un procesador rápido depende de cuánto tiempo tarda en ejecutarse cada ciclo de reloj, cuántos ciclos se necesitan para ejecutar las instrucciones y el número de instrucciones que hay en cada programa. RISC tiene un énfasis en los tamaños de código de programa más grandes (debido a un conjunto de instrucciones más pequeño, por lo que varios pasos realizados en sucesión pueden equivaler a un paso en CISC).

El ISA RISC hace hincapié en el software sobre el hardware. El conjunto de instrucciones RISC requiere que uno escriba un software más eficiente (por ejemplo, compiladores o código) con menos instrucciones. Los ISA CISC utilizan más transistores en el hardware para implementar más instrucciones y también instrucciones más complejas.

RISC necesita más RAM, mientras que CISC hace hincapié en un menor tamaño de código y utiliza menos RAM en general que RISC. Sin embargo, muchos microprocesadores actuales tienen una mezcla de atributos de tipo RISC y CISC, como un ISA de tipo CISC que trata las instrucciones como si fueran una cadena de instrucciones de tipo RISC.

En la Tabla 1 se enumeran algunas de las principales diferencias entre las arquitecturas CISC y RISC.

RISC vs. CISC
Tabla 1: Tabla de algunas de las diferencias entre las arquitecturas de conjuntos de instrucciones (ISA) CISC y RISC.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *