1.3 Principios de Arquitectura RISC

 

 

RISC. Se trata de un tipo de procesador especialmente rápido que utiliza una tecnología del tipo pipeline muy desarrollada, lo que le faculta para operar con un alto nivel de simultaneidad. Este tipo de procesadores son lo contrario de los denominados CISC, mucho más comunes.

Los inicios de la tecnología RISC surgen en el ambiente académico, en 1980, en la Universidad de Berkeley California, donde el Dr. David A. Patterson inició un proyecto denominado RISC I, obteniendo resultados en tan solo 19 meses, seguido por RISC II, SOAR Smalltalk on a RISC y SPUR (Symbolic Processing on a RISC), pero simultáneamente, en la Universidad de Stanford, el Dr. John Hennesy inició también un proyecto de implementación RISC, denominado MIPS, seguido por el sistema MIPS-XMP, enfocados hacia el proceso simbólico, demostrando así las capacidades de velocidad de la arquitectura RISC.

Ambos profesores se vieron envueltos rápidamente, en proyectos de productos comerciales, y en concreto,el llamado Hennesy fué uno de los fundadores de MIPS Computer Systems, mientras Patterson actuaba de asesor durante el desarrollo del primer SPARC.

 

Características

Las características comunes a todos los procesadores RISC, fuente de sus capacidades de altas prestaciones son: Modelo de conjunto de instrucciones Load/Store que significa: Cargar-Almacenar. Sólo las instrucciones Load/Store acceden a memoria; las demás operaciones en un RISC, tienen lugar en su gran conjunto de registros. Ello simplifica el direccionamiento y acorta los tiempos de los ciclos de la CPU, además facilita la gestión de los fallos de paginas page faults en entornos de memoria virtual, permite un elevado nivel de concurrencia a consecuencia de la independencia de las operaciones de Load/Store de la ejecución del resto de las instrucciones.

Arquitectura no destructiva de tres direcciones. Los procesadores CISC destruyen la información que existe en alguno de los registros, como consecuencia de la ejecución normal de instrucciones; esto es debido a su arquitectura de dos direcciones, por lo que el resultado de una operación sobrescribe uno de los registros que contenía a los operandos. Por contra, las instrucciones RISC, con tres direcciones, contienen los campos de los dos operandos y de su resultado. Por lo tanto, tanto los operandos origen como el destino, son mantenidos en los registros tras haber sido completada la operación. Esta arquitectura no destructiva permite a los compiladores organizar las instrucciones de modo que mantengan llenos los conductos (pipelines) del chip, y por tanto reutilizar los operandos optimizando la concurrencia.

Instrucciones simples, de formato fijo, con pocos modos de direccionamiento. Las instrucciones simples reducen de manera muy significativa el esfuerzo para su descodificación, y favorecen su ejecución en pipelines. Las instrucciones de longitud fija, con formatos fijos, implican que los campos de códigos de operación opcodes y de los operandos están siempre codificados en las mismas posiciones, permitiendo el acceso a los registros al mismo tiempo que se está descodificando el código de operación. Todas las instrucciones tienen una longitud equivalente a una palabra y están alineadas en la memoria en límites de palabra word boundaries, ya que no pueden ser repartidas en pedazos que puedan estar en diferentes páginas.

Ausencia de microcódigo. El microcódigo no se presta a la ejecución en ciclos únicos, ya que requiere que el hardware sea dedicado a su interpretación dinámica. La programación en microcódigo no hace que el software sea más rápido que el programado con un conjunto de instrucciones simples. Todas las funciones y el control, en los procesadores RISC, están cableados hardwired, para lograr una máxima velocidad y eficiencia.

Ejecución en conductos pipelined. Las instrucciones simples, de formato fijo y ciclo único permiten que las diferentes etapas de los ciclos de ejecución búsqueda o fetch, descodificación, ejecución, y escritura del resultado o result write-back para instrucciones múltiples, se puedan realizar simultáneamente, de un modo más simple y eficaz.

Ejecución en ciclos únicos single-cycle. El resultado directo de los conjuntos de instrucciones que ofrecen los procesadores RISC, es que cada instrucción puede ser ejecutada en un único ciclo de la CPU. Esto invalida la creencia de que las microinstrucciones en microcódigo, creadas para ser ejecutadas en un solo ciclo de procesador, son más rápidas que las instrucciones del lenguaje ensamblador. Ya que el caché esta construido partiendo de la misma tecnología que el almacenamiento de control del microprograma, una única instrucción puede ser ejecutada a la misma velocidad que una microinstrucción. La ejecución en ciclos únicos también simplifica la gestión de las interrupciones y los conductos pipelines.

 

 

Ventajas

La estrategia RISC también tiene grandes ventajas. Debido a que cada instrucción realiza una operación muy simple, el código se ejecutará en aproximadamente el mismo tiempo que el comando MULT de la arquitectura CISC. Estas instrucciones reducidas RISC requieren menos hardware y es más sencillo que las instrucciones complejas, dejando más espacio para registros de propósito general. Además, las optimizaciones sobre un hardware más sencillo son mucho más fáciles de realizar.

RISC ha alcanzado a todos los fabricantes de semiconductores: AMD, Intel, MIPS, Motorola, ROSS, y todos ellos son productos usados por fabricantes de ordenadores y estaciones de trabajo: Apple, DEC, HP, IBM, SUN, entre otros y sus correspondientes clónicos.

La CPU trabaja mas rápido al utilizar menos ciclos de reloj para ejecutar instrucciones.

Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que a diferencia de CISC, RISC conserva después de realizar sus operaciones en memoria los dos operandos y su resultado, reduciendo la ejecución de nuevas operaciones. Cada instrucción puede ser ejecutada en un solo ciclo del CPU.

 

 

Inicio