Buscar en este blog

Tema 2.a: RISC y CISC


Los acrónimos RISC y CISC hacen referencia a dos filosofías diametralmente opuestas en el diseño de microprocesadores y significan respectivamente: Reduced Instruction Set Computer y Complex Instruction Set Computer. Para entender en qué consisten estas dos arquitecturas distintas es necesario definir algunos conceptos.

El microprocesador es el núcleo de un ordenador, se encarga de realizar todas las operaciones que le sean requeridas para ejecutar un programa.

Los programas son conjuntos de instrucciones diseñados de forma que al llevarlas a cabo nos proporcionen unos resultados útiles para un determinado fin.

Los registros son memorias donde se almacenan datos temporalmente.

Para que un procesador pueda ejecutar una instrucción ésta tiene que estar en un lenguaje que pueda entender; lenguaje máquina o lenguaje de bajo nivel.

Cuando un programador crea un código, un conjunto de instrucciones, no lo hace empleando un lenguaje de programación de bajo nivel ya que sería muy engorroso. Lo que hace es usar un lenguaje de alto nivel, más adecuado para la capacidad cognitiva humana, y luego traducirlo a lenguaje máquina mediante un ensamblador. De esta forma se consigue que el procesador entienda las órdenes y las ejecute.

El procesador sólo entenderá un número determinado de instrucciones en lenguaje máquina que lleva almacenadas en su interior, así que las instrucciones del programa deberán ser traducidas a combinaciones de ellas.

Así pues, el número y complejidad de instrucciones que posee un procesador vendrá determinado por la filosofía de diseño que se esté siguiendo.

La filosofía de diseño CISC es anterior en el tiempo a su contrapartida RISC aunque su acrónimo no empezó a emplearse hasta después de la aparición de esta última. En los años 70 se creía que era mejor en términos de rendimiento el que el procesador contara con un gran número de instrucciones complejas que abarcara las operaciones más frecuentes. Es decir, a la hora de realizar una suma de dos números era más deseable que existiera una orden que llevara a cabo todo el proceso en vez de una que accediera a los números almacenados en memoria, otra que los llevara a la unidad aritmética donde eran sumados y otra que guardara el resultado en una posición de memoria.

Los diseños CISC hacían más fácil la labor del programador y permitían que hubiera un menor número de registros en el procesador, sin embargo hacen muy difícil la implementación de técnicas de mejora de rendimiento como las que se usan en la actualidad.

Aún así fueron durante mucho tiempo la filosofía de diseño más usada para los ordenadores personales, como por ejemplo toda la gama Intel X86, conocidos comúnmente como 286, 386 y 486 entre otros.

La técnica de diseño RISC surgió al comprobar que el software que se corría en los procesadores CISC no hacía un buen uso del conjunto de instrucciones del procesador y que se obtenía un mayor rendimiento si se traducían esas instrucciones complejas a varias más sencillas.

Al reducir la complejidad de las instrucciones se reducía también su tamaño y se podía usar ese espacio extra para almacenar los datos con los que se estaba trabajando, reduciendo así muchísimo el tiempo de acceso a memoria.

Con esta filosofía se dificultaba la labor del programador pero a cambio se abría la posibilidad de utilizar las técnicas de segmentación para mejorar drásticamente el rendimiento del procesador.

Un ejemplo de filosofía RISC son los procesadores PowerPC, presentes en los ordenadores Macintosh y en consolas de última generación.

No hay comentarios: