× Inicio Soluciones Artículos Sobre mí Contacto

Francisco Monteagudo

Procesadores RISC y CISC

Los dos posibles caminos a la hora de diseñar una CPU

Los microprocesadores se dividen en dos grandes categorías: RISC y CISC. ¿Que significan estas siglas? ¿En que se diferencian ambos tipos de procesadores?

Empecemos por el principio: CISC significa Complex Instruction Set Computer (Ordenador con juego de instrucciones complejas) mientras que RISC signfica Simplified Instruction Set Computer (Ordenador con juego de instrucciones simples). Es decir, la diferencia es que los procesadores RISC tienen instrucciones simples. ¿Quiere esto decir que los RISC no pueden tener instrucciones avanzadas como logaritmos o trigonometría? Por supuesto que pueden, porque cuando hablamos de microprocesadores el término "simple" tiene un significado nada simple.

Unidad de control y unidad de proceso

Los procesadores se dividen en dos partes: La unidad de control y la unidad de proceso; la unidad de proceso contiene la unidad aritmetico lógica, los registros de datos y, en general, los componentes que se corresponden con las instrucciones del lenguaje máquina. Por su parte, la unidad de control es la encargada de leer las instrucciones de la memoria del ordenador, descodificarlas y enviar señales de control a la unidad de proceso; es decir, la unidad de control es el "centro de mando" que dice que es lo que se tiene que hacer.

Y aquí viene el concepto de "instrucción compleja". Una instrucción compleja es aquella que el proceso de descodificarla y generar las señales que se han de enviar a la unidad de proceso son largas y lentas. En particular, una tarea que hace que las instrucciones sean muy complejas es la necesidad de acceder a la memoria, ya que la unidad de proceso solo puede trabajar con los registros internos del procesador, es la unidad de control la que tiene acceso a la memoria, con el añadido de que el acceso a la memoria es en serie, es decir, si se necesitan dos datos serán precisos dos accesos para leerlos. Esto significa que una instrucción que sume dos valores situados en la memoria tendrá que hacer cuatro operaciones:


  1. Leer el primer parámetro de la memoria
  2. Leer el segundo parámetro de la memoria
  3. Ejecutar la suma
  4. Escribir el resultado en la memoria

De estas cuatro operaciones la suma es la única que hace la unidad de proceso

Y ya hemos llegado a la definición de "complejidad": Una instrucción compleja es aquella que genera una gran carga de trabajo sobre la unidad de control y, en consecuencia, obliga a que sea muy compleja.

Y llegados a este punto ya podemos dar una definición mas precisa de procesador CISC: Un procesador CISC es aquel en el que la unidad de control ocupa mas del 50% de la circuitería. De hecho, hay procesadores en los que la unidad de control ocupaba el 90% de la circuitería del procesador.

¿Y como se consigue reducir el tamaño y complejidad de la unidad de control? Manejando por separado el acceso a memoria. Los procesadores RISC tienen un número muy elevado de registros internos, para poder almacenar mucha información intérnamente, y luego existe un juego de instrucciones para la transferencia de datos entre los registros y la memoria.

El resultado práctico es que en los procesadores RISC los programas ocupan mas memoria porque necesitan mas instrucciones, pero siguen siendo mas rápidos porque sus instrucciones son mas rápidas, necesitan menos pasos (menos tiempo) para ejecutarse.

El otro resultado práctico es que los procesadores RISC, al tener unas unidades de control muy pequeñas, necesitan menos circuitería para hacer lo mismo, con lo que consumen menos energía y producen menos calor.

Y esto explica porque en el mercado de los dispositivos móviles está dominado por ARM, una marca de procesadores RISC



Volver