El documento describe las características de la arquitectura RISC. RISC tiene un conjunto de instrucciones reducido y simple con la mayoría de instrucciones completadas en un solo ciclo. Las instrucciones son más simples que CISC, por lo que se necesitan más instrucciones RISC para realizar una tarea. Las características clave incluyen instrucciones de carga/almacenamiento, arquitectura de tres direcciones no destructiva, instrucciones de formato fijo con pocos modos de direccionamiento, ejecución en tuberías y
2. Repertorio de instrucciones lo más reducido posible con un
alto porcentaje que se completan en un ciclo de reloj. El
hecho de tener actualmente mecanismos rápidos de acceso a
memoria, buses de alta velocidad y compiladores
especializados en estas arquitecturas, hace que los
ordenadores RISC obtengan mejores rendimientos. Cualquier
tarea necesita más instrucciones en RISC que en CISC, ya que
en RISC las instrucciones son más elementales
Definición
3.
4. Modelo de conjunto de instrucciones
Load/Store (Cargar/Almacenar). Sólo las
instrucciones Load/Store acceden a memoria;
Ello simplifica el direccionamiento y acorta los
tiempos de los ciclos de la CPU.
Características
5. 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 la cual 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, los operandos origen como
el destino, son mantenidos en los registros tras haber sido completada la
operación. Esta arquitectura "no destructiva" permite reutilizar los
operandos optimizando la concurrencia.
Características
6. 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. Todas las instrucciones tienen una longitud
equivalente a una palabra y están almacenadas en forma
secuencial.
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",
para lograr una máxima velocidad y eficiencia.
Características
7. 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: cada instrucción puede ser ejecutada en
un único ciclo de la
CPU.
Características
8. • Todas las instrucciones. Son de long. Fija = 1 palabra
• Todas las instrucciones ejecutan instrucciones simples, en una
estructura segmentada se realizan en 1 ciclo de reloj, las
operaciones complejas son convertidas por el compilador en
instrucciones simples.
• Todos los operandos están contenidos en registros antes de iniciar
las operaciones.
• Los modos de direccionamiento son los más simples.
• Existe gran cantidad de registros de uso general, las operaciones
aritméticas utilizan las variables temporarias que están en los
registros en lugar de tenerlas en una pila en MC
Características de las RISC que la distinguen de la CISC
12. Multiproceso Memoria caché.
Casi todos los RISC cuentan con coprocesadores de
punto flotante (uno o dos). Algunas implementaciones de
los multiprocesadores cuentan con un array de varios
procesadores RISC con memoria propia en un solo
circuito. Una unidad de ejecución escalar obtiene las
instrucciones y provee el control para este array. Dos chips
para manejo de cache y de memoria; uno maneja los
accesos a datos a cache y a memoria, y el otro maneja los
accesos a instrucciones en cache y memoria, esto permite
por tanto superponer los accesos a datos e instrucciones.