sábado, 15 de diciembre de 2018

ARQUITECTURA RISC

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
























EL SIGUIENTE VÍDEO EXPLICA TODO LO RELACIONADO CON ARQUITECTURA RISC.








CIBERGRAFÍA




No hay comentarios.:

Publicar un comentario