Vous êtes sur la page 1sur 8

ARQUITECTURA RISC

DEFINICIN:

Reduced Instruction Set Computer - Computadora con Conjunto de


Instrucciones Reducidas. Tipo de arquitecturas de computadoras que promueve
conjuntos pequeos y simples de instrucciones que pueden tomar poco tiempo
para ejecutarse.

Es un tipo de diseo de CPU generalmente utilizado en microprocesadores o


microcontroladores. Usa conjunto de instrucciones pequeas y simples que
toman mejor tiempo para ejecutarse.

La arquitectura RISC que reducen la complejidad de los computadores al


implementar solo aquellas instrucciones ms usadas, y utilizar solo modos de
direccionamiento sencillo, tipos de datos bsicos y gran numero de registros
que sirven para almacenar datos personales.

CARACTERSTICAS:

Load/Store (Cargar-Almacenar). Slo las instrucciones Load/Store acceden


a memoria; las dems 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, adems facilita la gestin 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
ejecucin del resto de las instrucciones.

Arquitectura no destructiva de tres direcciones. Los procesadores CISC


destruyen la informacin que existe en alguno de los registros, como
consecuencia de la ejecucin normal de instrucciones; esto es debido a su
arquitectura de dos direcciones, por lo que el resultado de una operacin
sobrescribe uno de los registros que contena 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
operacin. 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 descodificacin, y favorecen su ejecucin en pipelines. Las instrucciones de
longitud fija, con formatos fijos, implican que los campos de cdigos de
operacin opcodes y de los operandos estn siempre codificados en las mismas
posiciones, permitiendo el acceso a los registros al mismo tiempo que se est
descodificando el cdigo de operacin. Todas las instrucciones tienen una
longitud equivalente a una palabra y estn alineadas en la memoria en lmites
de palabra word boundaries, ya que no pueden ser repartidas en pedazos que
puedan estar en diferentes pginas.

Ausencia de microcdigo. El microcdigo no se presta a la ejecucin en ciclos


nicos, ya que requiere que el hardware sea dedicado a su interpretacin
dinmica. La programacin en microcdigo no hace que el software sea ms
rpido que el programado con un conjunto de instrucciones simples. Todas las
funciones y el control, en los procesadores RISC, estn cableados hardwired,
para lograr una mxima velocidad y eficiencia.

Ejecucin en conductos pipelined. Las instrucciones simples, de formato fijo


y ciclo nico permiten que las diferentes etapas de los ciclos de
ejecucinbsqueda o fetch, descodificacin, ejecucin, y escritura del resultado
o result write-back para instrucciones mltiples, se puedan realizar
simultneamente, de un modo ms simple y eficaz.

Ejecucin en ciclos nicos single-cycle. El resultado directo de los conjuntos


de instrucciones que ofrecen los procesadores RISC, es que cada instruccin
puede ser ejecutada en un nico ciclo de la CPU. Esto invalida la creencia de
que las microinstrucciones en microcdigo, creadas para ser ejecutadas en un
solo ciclo de procesador, son ms rpidas que las instrucciones del lenguaje
ensamblador. Ya que el cach esta construido partiendo de la misma tecnologa
que el almacenamiento de control del microprograma, una nica instruccin
puede ser ejecutada a la misma velocidad que una microinstruccin. La
ejecucin en ciclos nicos tambin simplifica la gestin de las interrupciones y
los conductos pipelines.

PRINCIPIOS:

1. Analizar las aplicaciones para encontrar las operaciones clave.


2. Disear un bus de datos que sea ptimo para las operaciones clave.
3. Disear instrucciones que realicen las operaciones clave utilizando el
bus de datos.
4. Agregar nuevas instrucciones slo si no hacen ms lenta a la mquina.
5. Repetir este proceso para otros recursos.

El primer punto se refiere a que el diseador deber encontrar qu es lo que


hacen en realidad los programas que se pretenden ejecutar. Ya sea que los
programas a ejecutar sean del tipo algortmicos tradicionales, o estn dirigidos
a robtica o al diseo asistido por computadora.
El segundo punto se refiere que la parte medular de cualquier sistema es la que
contiene los registros, el ALU y los 'buses' que los conectan. Se debe optimar
este circuito para el lenguaje o aplicacin en cuestin. El tiempo requerido,
(denominado tiempo del ciclo del bus de datos) para extraer los operandos de
sus registros, mover los datos a travs del ALU y almacenar el resultado de
nuevo en un registro, deber hacerse en el tiempo mas corto posible.

El tercer punto se refiere que las instrucciones deben hacer un buen uso del bus
de datos. Por lo general se necesitan solo unas cuantas instrucciones y modos
de direccionamiento; slo se deben colocar instrucciones adicionales si sern
usadas con frecuencia y no reducen el desempeo de las ms importantes.

El cuarto punto se refiere: Siempre que aparezca una nueva y atractiva


caracterstica, deber analizarse y ver la forma en que se afecta al ciclo de bus.
Si se incrementa el tiempo del ciclo, probablemente no vale la pena tenerla.

Por ltimo, el proceso anterior debe repetirse para otros recursos dentro del
sistema, tales como memoria cache, administracin de memoria,
coprocesadores de punto flotante, etctera.

MULTIPROCESO:

Llamado tambien Multiprocesamiento o multiproceso es el uso de dos o ms


procesadores (CPU) en una computadora para la ejecucin de uno o varios
procesos (programas corriendo). Algunas personas, en el idioma espaol hacen
sinnimo este trmino con el de multitareas (del ingls multitasking) el cual
consiste en la ejecucin de uno o ms procesos concurrentes en un sistema.

As como la multitarea permite a mltiples procesos compartir una nica CPU,


mltiples CPU pueden ser utilizados para ejecutar mltiples procesos o
mltiples hilos (threads) dentro de un nico proceso.

El sistema en que la memoria esta conectada a los nodos de proceso establece


el primer nivel de distincin entre diferentes sistemas multiprocesador.

Multiprocesadores de memoria distribuida (distributed-memory


multiprocessors): Tambin denominados multiprocesadores vagamente
acoplados (loosely coupled multiprocessors). Se caracterizan porque cada
procesador slo puede acceder a su propia memoria. Se requiere la
comunicacin entre los nodos de proceso para coordinar las operaciones y
mover los datos. Los datos pueden ser intercambiados, pero no compartidos.
Dado que los procesadores no comparten un espacio de direcciones comn, no
hay problemas asociados con tener mltiples copias de los datos, y por tanto los
procesadores no tienen que competir entre ellos para obtener sus datos. Ya que
cada nodo es un sistema completo, por si mismo (incluso sus propios
dispositivos de entrada/salida si son necesarios), el nico lmite prctico para
incrementar las prestaciones aadiendo nuevos nodos, esta dictado por la
topologa empleado para su interconexin. De hecho, el esquema de
interconexin (anillos, matrices, cubos, ...), tiene un fuerte impacto en las
prestaciones de estos sistemas. Adems de la complejidad de las
interconexiones, una de las principales desventajas de estos sistemas, como es
evidente, es la duplicacin de recursos caros como memoria, dispositivos de
entrada/salida, que adems estn desocupados en gran parte del tiempo.

Multiprocesadores de memoria compartida (shared-memory


multiprocessors): Tambin llamados multiprocesadores estrechamente
acoplados (tightly coupled multiprocessors). Son sistemas con mltiples
procesadores que comparten un nico espacio de direcciones de memoria.
Cualquier procesador puede acceder a los mismos datos, al igual que puede
acceder a ellos cualquier dispositivo de entrada/salida. El sistema de
interconexin ms empleado para estos casos, es el de bus compartido (shared-
bus). Tener muchos procesadores en un nico bus tiene el inconveniente de
limitar las prestaciones del sistema a medida que se aaden nuevos
procesadores. La razn es la saturacin del bus, es decir, su sobre utilizacin;
en un sistema de bus compartido, se deriva por la contienda entre los diferentes
dispositivos y procesadores para obtener el control del bus, para obtener su
utilizacin.

MEMORIA CACHE:

Los sistemas de memoria multinivel (cach) son un esfuerzo para evitar el


nmero de peticiones realizadas por cada CPU al bus. Los caches son pequeas
y rpidas (y por tanto caras) memorias, que hacen de tampn (buffer) entre la
CPU y la memoria externa, para mantener los datos y/o instrucciones. Se basan
en el principio de la "localidad", lo que significa que, dada la fundamental
naturaleza secuencial de los programas, los siguientes datos o instrucciones
requeridas, estarn localizadas inmediatamente a continuacin de las actuales.

Los datos contenidos en la memoria cach se organizan en bloques


denominados lneas. Las lneas son cargadas en el cach como copias exactas
de los datos situados en la memoria externa. Para referenciar a los datos de la
memoria cach, se emplean marcas (tags) que identifican a cada lnea. Las
marcas o tags emplean una porcin de la direccin fsica de los datos, para
compararla con la direccin fsica solicitada por la CPU. Cuando existe una
coincidencia exacta de la direccin y de otros cualificadores (estado, privilegio,
contexto, etc.), se dice que ha tenido lugar un acierto (hit) de cach; en caso
contrario, tiene lugar un fallo (miss) del cach, y en ese caso, los datos han de
ser recuperados desde la memoria.
El empleo de memoria cach se ha popularizado, como medida para acelerar el
tiempo de acceso a la memoria principal, incluso en los sistemas
monoprocesador, evitando as, segn se incrementa la velocidad de los propios
procesadores, aumentar la velocidad de dicha memoria, y por tanto encarecer
el sistema.

La forma en que la memoria es actualizada por los caches locales puede tener
un gran impacto en las prestaciones de un sistema multiprocesador.
Bsicamente hay dos mtodos:

1. Escritura continua (write-through): Requiere que todas las escrituras


realizadas en el cach actualicen asimismo los datos de la memoria
principal. De esta forma, la memoria principal siempre tiene la ltima
copia de los datos, y por tanto no hay nunca ninguna incoherencia con el
cach. El inconveniente es que se producen frecuentes accesos a
memoria, especialmente superfluos cuando el software est modificando
las mismas secciones de datos repetidamente (por ejemplo ejecutando
bucles).

1. Copia posterior (copy-back): Es un sistema mucho ms eficiente,


aunque tambin ms complejo de implementar. En este caso, la CPU
puede modificar la lnea de cach sin necesidad de actualizar
inmediatamente la memoria principal. Los datos slo son copiados a la
memoria principal cuando la lnea de cach va a ser reemplazada con una
nueva. Ello no solo minimiza el trfico del bus, de vital importancia para
el resto de los procesadores, sino que tambin libera al procesador de la
tarea de escribir en la memoria principal. Sin embargo, este sistema, en
una arquitectura de bus compartido, implica un nuevo nivel de dificultad,
denominado coherencia o consistencia (coherency o consistency); dado
que cada cach puede tener una copia de los datos existentes en la
memoria principal, el desafo es asegurar que los datos permanecen
iguales entre todos los caches. Hay dos mtodos para mantener cada lnea
de cach idntica a las dems:

o Escritura radiada (write-broadcast), que requiere que la CPU que


modifica los datos compartidos actualice los otros caches, para lo
cual escribe en el bus la direccin de los datos, y los datos mismos,
de modo que todos los dispositivos interesados (otras CPUs) los
capturen. Esto asegura que cada lnea de cach en el sistema es
una copia exacta de las dems.
o Escritura invalidada (write-invalidate), impide a una CPU
modificar los datos compartidos en su cach hasta que otros
caches han invalidado sus copias. En cuanto otros caches
invalidan sus lneas, el cach modificado tiene la nica copia; de
este modo, se garantiza que un slo cach escribe una lnea
compartida en un momento dado. Tiene la ventaja de conservar el
ancho de banda del bus ya que los datos modificados no tienen
que ser enviados a otros caches.

VENTAJAS:

Debido a que cada instruccin realiza una operacin muy simple, el


cdigo se ejecutar en aproximadamente el mismo tiempo que el
comando MULT de la arquitectura CISC. Estas instrucciones reducidas
RISC requieren menos hardware y es ms sencillo que las instrucciones
complejas, dejando ms espacio para registros de propsito general.
Adems, las optimizaciones sobre un hardware ms sencillo son mucho
ms fciles de realizar.

RISC ha alcanzado a todos los fabricantes de semiconductores:AMD,


Intel, MIPS, Motorota, 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 clnicos.

La CPU trabaja mas rpido 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 despus de realizar sus
operaciones en memoria los dos operandos y su resultado, reduciendo la
ejecucin de nuevas operaciones. Cada instruccin puede ser ejecutada
en un solo ciclo del CPU.

DESVENTAJAS:

Menor densidad de cdigo (discutible). Importante si la disponibilidad


de memoria es crtica.
Ocasiona un menor rendimiento del cach de instrucciones. ARM
Thumb.
No ejecutan cdigo x86. Puede utilizarse simulacin por software, pero
no puedo fabricar una IBM PC compatible.
Excesiva dependencia en la efectividad del compilador
La depuracin de los programas se hace difcil por la programacin de
instrucciones
Se incrementa el tamao del cdigo de lenguaje mquina
Necesidad de memoria rpida
RESUMEN:

RISC es una filosofa de diseo de CPU para computadora que est a favor de
conjuntos de instrucciones pequeas y simples que toman menor tiempo para
ejecutarse. El tipo de procesador ms comnmente utilizado en equipos de
escritorio, el x86, est basado en CISC en lugar de RISC, aunque las versiones
ms nuevas traducen instrucciones basadas en CISC x86 a instrucciones ms
simples basadas en RISC para uso interno antes de su ejecucin.

La idea fue inspirada por el hecho de que muchas de las caractersticas que eran
incluidas en los diseos tradicionales de CPU para aumentar la velocidad
estaban siendo ignoradas por los programas que eran ejecutados en ellas.
Adems, la velocidad del procesador en relacin con la memoria de la
computadora que acceda era cada vez ms alta. Esto conllev la aparicin de
numerosas tcnicas para reducir el procesamiento dentro del CPU, as como de
reducir el nmero total de accesos a memoria.

SUMMARY:

RISC is a design philosophy for computer CPU is in favor of small and simple
sets of instructions that take less time to run. The processor type most
commonly used in desktop computers, the x86, is based on CISC rather than
RISC, although newer versions translate instructions based on CISC x86 to
simpler instructions based on RISC for internal use before execution.

The idea was inspired by the fact that many of the features that were included
on traditional CPU designs to increase the speed were being ignored by the
programs were executed in them. In addition, the processor speed in relation to
the memory of the computer that was accessed increasingly high. This led to
the emergence of many techniques to reduce processing within the CPU as well
as reduce the total number of memory accesses.

RECOMENDACIONES:

Analizar previamente que es una arquitectura de computador


Tener bien claros los conceptos bsicos de la arquitectura RISC

CONCLUSIN:

La "era RISC" ha alcanzado a todos los fabricantes de semiconductores: AMD,


Intel, MIPS, Motorola, ROSS, etc; y todos ellos son productos usados por
fabricantes de ordenadores y estaciones de trabajo: Apple, DEC, HP, IBM,
SUN, etc. y sus correspondientes clnicos.
El tiempo de diseo de estos productos se reduce sensiblemente, lo que
disminuye su coste final, y por tanto, se incrementan sus expectativas, al poder
llegar al mercado en un tiempo ms adecuado, y con menos posibilidades de
errores.

Adems, son globalmente ms eficaces, de menores dimensiones y ms bajo


consumo, ofreciendo siempre claras ventajas tcnicas frente a los ms
avanzados CISC.

Actualmente, las estaciones de trabajo RISC multiprocesadoras de mayor xito,


se basan en diferentes versiones de la tecnologa SPARC: superSPARC e
HyperSPARC.

Est claro que el futuro pertenece a los RISC y a los sistemas multiprocesador,
a no ser que la fsica y la electrnica logren superar las barreras tecnolgicas
para incrementar muy por encima de las cotas actuales, las velocidades y
prestaciones de una nica CPU.

Tambin cabe esperar, y por qu no, la pronta aparicin de otras tecnologas


que compitan con CISC y RISC.

APRECIACIN PERSONAL:

Conocer la arquitectura RISC es muy importante, puesto que nos permite cuales
son sus ventajas y desventajas frente a las instrucciones ejecutadas desde un
ordenador.

GLOSARIO DE TRMINOS:

RISC: Computadora con Conjunto de Instrucciones Reducidas

BIBLIOGRFICA:

http://www.alegsa.com.ar/Dic/risc.php
http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm
http://www.monografias.com/trabajos55/microprocesadores-cisc-
risc/microprocesadores-cisc-risc2.shtml
https://www.ecured.cu/RISC
http://electro.fisica.unlp.edu.ar/arq/transparencias/ARQII_03-RISC.pdf
http://www.consulintel.es/html/Tutoriales/Articulos/risc.html