RISC
RISC es el acrónimo de Reduced Instruction Set Computer lo que en castellano viene a ser conjunto reducido de instrucciones de computadora. Se entiende por procesador RISC aquel que tiene un conjunto de instrucciones con unas características determinadas.
Una instrucción no es más que una indicación de lo que debe de hacer el micro con los datos. Gracias a las instrucciones se crean los programas. Existen muchos tipos entre ellas aunque destacan las aritméticas, las lógicas y las de control de flujo.
El término "reducido" puede llevar a engaño cuando nos referimos a RISC. No se trata de que sean pocas instrucciones, ya que ningún procesador actual tiene pocas, si no de que estas sean sencillas. Se acepta que un procesador sea RISC cuando la misma instrucción que carga datos de memoria no realiza operaciones sobre ellos. Es necesario esperar a que otra realice el tratamiento de esos datos.
Las instrucciones por tanto son más sencillas de implementar en la propia CPU, ocupan menos espacio los bloques lógicos que las tienen que traducir haciendo que el sistema pueda tener frecuencias de funcionamiento mayores.
Gracias a esto la unidad de control, que es la encargada de gestionar que los bloques funcionales como la unidad aritmética lógica o la de punto flotante realicen su función, puede ser más sencilla que con otras arquitecturas. Esto permite obtener más espacio dentro del propio chip para otros elementos.
Se suelen añadir así una mayor cantidad de registros que permiten tener más datos de forma interna en la CPU lo cual lleva a trabajar en ciertas ocasiones de forma más eficiente.
Desventajas del diseño RISC
Ya hemos hablado de las ventajas, la unidad de control es más sencilla y podemos funcionar a frecuencias mayores.
Pero describamos algunas de sus desventajas:
- Menor potencia que otros procesadores—Existen operaciones que se aceleran muchísimo con instrucciones complejas. Sobre todo de índole matemática asociadas a simulaciones, tratamiento de señal, video, fotos.En estos casos es mejor tener instrucciones que puedan tratar con cientos de datos y escribirlos en memoria de una sola vez.
- Mayor tamaño de los programas—Esto en la actualidad no tiene importancia ya que la capacidad de los discos duros ha crecido de forma exponencial y bajado su precio pero hace años era importante.
Procesadores actuales, ¿RISC o CISC?
La guerra entre las arquitecturas CISC, que es la opuesta a la RISC, es antigua. Sin embargo y gracias a las tabletas y smartphones ha vuelto a estar de actualidad. ARM la empresa que está detrás de la mayoría de los micros para estos pequeños dispositivos utiliza desde siempre arquitectura RISC.
Cualquier micro de Intel o AMD es una mezcla entre CISC y RISC. Tienen instrucciones CISC realmente complejas que son divididas en trozos y procesadas en el orden más adecuado para utilizar todos los recursos al mismo tiempo. O sea que ahora tienes tanto procesadores RISC como CISC.
¿CISC o RISC?
La mayor ventaja de un procesador RISC frente a uno CISC es su eficiencia energética.
Por eso todavía Intel no ha podido entrar como le gustaría en el mercado de los dispositivos portátiles. Un bajo consumo necesita un micro capaz de realizar sus tareas sin desperdiciar ni un sólo watio.
Aunque los micros actuales que puedes tener en cualquier PC son muy parecidos a los RISC es cierto que incluyen en su interior mucha potencia de cálculo que necesita energía para funcionar.
O sea que diríamos que la respuesta es que depende de para que vayamos a usar nuestro dispositivo. Si queremos un micro pequeño para controlar una lavadora no necesitamos un conjunto de instrucciones complejo si lo que pensamos es en crear un codificador de video ya estaríamos hablando de otras cosas.
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.
FILOSOFÍA RISC
Los
procesadores RISC sólo usan instrucciones sencillas que se puedan ejecutar
rápidamente. Por este motivo suelen ser arquitecturas basadas en registros de
propósito general que operan siempre sobre operandos que se encuentran
almacenados en el procesador, cerca de la unidad de ejcución.
De
esta forma, el comando MULT podría ser dividido en tres comandos por separado:
LOAD, que mueve datos del banco de memoria a un registro; PROD, que halla el
producto de dos operandos situados en los registros; y STORE, que mueve datos
de un registro al banco de memoria.
Para
realizar la serie de pasos descritos en la filosofía CISC, un programador
debería codificar la instrucción en 4 líneas de código ensamblador:
LOAD
A, (2:3)
LOAD
B, (5:2)
PROD
A, B
STORE
(2:3), A
El
tiempo de diseño de estos productos se reduce sensiblemente, lo que disminuye
su costo final, y por tanto, se incrementan sus expectativas, al poder llegar
al mercado en un tiempo más adecuado, y con menos posibilidades de errores, son
más eficaces, de menores dimensiones y más bajo consumo, las estaciones de
trabajo RISC multiprocesadoras de mayor éxito, se basan en diferentes versiones
de la tecnología SPARC: superSPARC e HyperSPARC.
Las
características comunes a todos los procesadores RISC, fuente de sus
capacidades de altas prestaciones son: Modeló 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 páginas
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.
Funcionamiento
Funciona
de modo muy diferente a la CISC, su objetivo no es ahorrar esfuerzos externos
por parte del software con sus accesos a la RAM, sino facilitar que las
instrucciones sean ejecutadas lo más rápidamente posible. La forma de
conseguirlo es simplificando el tipo de instrucciones que ejecuta el
procesador. Así, las instrucciones más breves y sencillas de un procesador RISC
son capaces de ejecutarse mucho más aprisa que las instrucciones más largas y
complejas de un chip CISC. Sin embargo, este diseño requiere de mucha más RAM y
de una tecnología de compilador más avanzada.
La
relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos
de diseño más cortos cuando se desarrollan nuevas versiones, lo que posibilita
siempre la aplicación de las más recientes tecnologías de semiconductores. Por
ello, los procesadores RISC no solo tienden a ofrecer una capacidad de
procesamiento del sistema de 2 a 4 veces mayor, sino que los saltos de
capacidad que se producen de generación en generación son mucho mayores que en
los CISC.
Los
comandos que incorpora el chip RISC en su ROM constan de varias instrucciones
pequeñas que realizan una sola tarea. Las aplicaciones son aquí las encargadas
de indicar al procesador qué combinación de estas instrucciones debe ejecutar
para completar una operación mayor.
Los
comandos de RISC son todos del mismo tamaño y se cargan y almacenan del mismo
modo. Al ser estas instrucciones pequeñas y sencillas, no necesitan ser
descodificadas en instrucciones menores como en el caso de los chips CISC, pues
ya constituyen en sí unidades descodificadas. Es por ello, que el procesador
RISC no gasta tiempo verificando el tamaño del comando, en descodificarlo ni en
averiguar cómo cargarlo y guardarlo.
El
procesador RISC puede además ejecutar hasta 10 comandos a la vez pues el
compilador del software es el que determina qué comandos son independientes y
por ello es posible ejecutar varios a la vez.
Al ser los comandos del RISC más sencillos, la circuitería por la que
pasan también es más sencilla. Estos comandos pasan por menos transistores, de
forma que se ejecutan con más rapidez. Para ejecutar una sola instrucción
normalmente les basta con un ciclo de reloj
CIBERGRAFÍA
- http://ocw.uv.es/ingenieria-y-arquitectura/sistemas-electronicos-para-el-tratamiento-de-la-informacion/seti_materiales/seti6_ocw.pdf
- http://www.fdi.ucm.es/profesor/jjruz/ec-is/Temas/Tema%202-Arquitectura%20del%20procesador.pdf
- http://galeon.com/ligrosdetec/reparar3.pdf
- https://unefaingenieria.files.wordpress.com/2012/06/procesadores_cisc_vs_riscn.pdf
No hay comentarios.:
Publicar un comentario