Vous êtes sur la page 1sur 17

http://rcmcomputointegrado.blogspot.com/2012/03/arquitectura-risc-y-cisc.

html A tendencia hacia conjuntos de instrucciones ms ricos, con un nmero mayor y ms complejo se debe al deseo de simplificar los compiladores y mejorar las prestaciones (programas ms pequeos y rpidos), con lo que se da mejor soporte a los HLL. Los programas ms pequeos ocupan menos memoria, y se mejoran las prestaciones porque se captan menos bytes de instruccin y en un entorno paginado se ocupan menos pginas, reduciendo la falta de pgina.!!! NTRODUCCIN 5. La idea es que un conjunto de instrucciones poco complejas son simples, y por tanto de ms rpida ejecucin, lo que permite crear un cdigo ms "dinmico, para ello nace RISC. Sin embargo RISC tambin tena sus desventajas. Debido a que una serie de instrucciones son necesarias para completar incluso las tareas ms sencillas, el nmero total de instrucciones para la lectura de la memoria es ms grande, y por lo tanto lleva ms tiempo.

INTRODUCCIN
Hoy en da, los programas cada vez ms grandes y complejos demandan mayor velocidad en el procesamiento de informacin, lo que implica la bsqueda de microprocesadores ms rpidos y eficientes. Los avances y progresos en la tecnologa de semiconductores, han reducido las diferencias en las velocidades de procesamiento de los microprocesadores con las velocidades de las memorias, lo que ha repercutido en nuevas tecnologas en el desarrollo de microprocesadores. Hay quienes consideran que en breve los microprocesadores RISC (reduced instruction set computer) sustituirn a los CISC (complex instruction set computer), pero existe el hecho que los microprocesadores CISC tienen un mercado de software muy difundido, aunque tampoco tendrn ya que establecer nuevas familias en comparacin con el desarrollo de nuevos proyectos con tecnologa RISC. La arquitectura RISC plantea en su filosofa de diseo una relacin muy estrecha entre los compiladores y la misma arquitectura como se ver ms adelante.
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.

DEFINICIN
En arquitectura computacional, RISC (del ingls Reduced Instruction Set Computer, en espaol Computador con Conjunto de Instrucciones Reducidas) es un tipo de diseo de CPU generalmente utilizado en microprocesadores o microcontroladores con las siguientes caractersticas fundamentales: Instrucciones de tamao fijo y presentado en un reducido nmero de formatos. Slo las instrucciones de carga y almacenamiento acceden a la memoria de datos. Adems estos procesadores suelen disponer de muchos registros de propsito general.

OBJETIVO
El objetivo de disear mquinas con esta arquitectura es posibilitar la segmentacin y el paralelismo en la ejecucin de instrucciones y reducir los accesos a memoria. Las mquinas RISC protagonizan la tendencia actual de construccin de microprocesadores. PowerPC, DEC Alpha,MIPS, ARM, SPARC son ejemplos de algunos de ellos. El principal objetivo de esta tecnologa es disponer de instrucciones muy simples, con el mnimo nmero de microinstrucciones. En la actualidad se admite la superioridad de la arquitectura RISC, respecto a la arquitectura CISC, si bien CISC todava persiste.

Los factores y condiciones que impulsaron el desarrollo de los procesadores RISC fueron: Reduccin de las brechas en velocidad entre la CPU y la memoria Comprensin de la efectividad de instrucciones simples y complejas Segmentacin (Pipelining) Velocidad de la memoria Problemas con latencia de la Instruccin Problemas de dependencia mutua entre instrucciones Super Segmentacin Super Procesador Escalar

-----------------------------------

FILOSOFIA DE DISEO ANTES DE RISC


Uno de los principios bsicos de diseo para todos los procesadores es aadir velocidad al proveerles alguna memoria muy rpida para almacenar informacin temporalmente, estas memorias son conocidas como registros. Por ejemplo, cada CPU incluye una orden para sumar dos nmeros. La operacin bsica de un CPU sera cargar esos dos nmeros en los registros, sumarlos y almacenar el resultado en otro registro, finalmente, tomar el resultado del ltimo registro y devolverlo a la memoria principal. Sin embargo, los registros tienen el inconveniente de ser algo complejos para implementar. Cada uno est representado por transistores en el chip, en este aspecto la memoria principal tiende a ser mucho ms simple y econmica. Adems, los registros le aaden complejidad al

cableado, porque la unidad central de procesamiento necesita estar conectada a todos y cada uno de los registros para poder utilizarlos por igual. Como resultado de esto, muchos diseos de CPU limitan el uso de registros de alguna u otra manera. Algunos incluyen pocos registros, aunque esto limita su velocidad. Otros dedican sus registros a tareas especficas para reducir la complejidad; por ejemplo, un registro podra ser cap registros, mientras que el resultado podra estar almacenado en cualquiera de ellos. En el mundo de la microcomputacin de los aos setenta, ste era un aspecto ms de las CPU, ya que los procesadores eran entonces demasiado lentos de hecho haba una tendencia a que el procesador fuera ms lento que la memoria con la que se comunicaba-. En esos casos tena sentido eliminar casi todos los registros, y entonces proveer al programador de una buena cantidad de maneras de tratar con la memoria para facilitar su trabajo. Dado el ejemplo de la suma, la mayora de los diseos de CPU se enfocaron a crear una orden que pudiera hacer todo el trabajo automticamente: llamar los dos nmeros que seran sumados, sumarlos, y luego almacenarlos fuera directamente. Otra versin podra leer los dos nmeros de la memoria, pero almacenara el resultado en un registro. Otra versin podra leer uno de la memoria y otro desde un registro y almacenarlo en la memoria nuevamente. Y as sucesivamente. La meta en general en aquel tiempo era proveer cada posible modo de direccionamiento para cada instruccin, un principio conocido como ortogonalidad. Esto llev a un CPU complejo, pero en teora capaz de configurar cada posible orden individualmente, haciendo el diseo ms rpido en lugar de que el programador utilizara rdenes simples. La ltima representacin de este tipo de diseo puede ser vista en dos equipos, el MOS 6502 por un lado, y el VAX en el otro. El chip 6502 de $25 USD efectivamente tena solamente un registro, y con la configuracin cuidadosa de la interfaz de memoria fue capaz de sobrepasar diseos corriendo a velocidades mayores (como el Zilog Z80 a 4MHz). El VAX era un minicomputador que en una instalacin inicial requera 3 gabinetes de equipo para un solo CPU, y era notable por la sorprendente variedad de estilos de acceso a memoria que soportaba, y el hecho de que cada uno de stos estaba disponible para cada instruccin.

FILOSOFIA DE DISEO RISC


A finales de los setenta, investigaciones en IBM (y otros proyectos similares en otros lugares), demostraron que la mayora de esos modos de direccionamiento ortogonal eran ignorados por la mayora de los programas. Esto fue un efecto colateral en el incremento en el uso de compiladores para generar los programas, algo opuesto a escribirlos en lenguaje ensamblador. Los compiladores tendan a ser demasiado tontos en trminos de las caractersticas que usaban, un efecto colateral del intento por hacerlos pequeos. El mercado se estaba moviendo hacia un uso ms generalizado de los compiladores, diluyendo an ms la utilidad de los modelos ortogonales. Otro descubrimiento fue que debido a que esas operaciones eran escasamente utilizadas, de hecho tendan a ser ms lentas que un nmero pequeo de operaciones haciendo lo mismo. Esta paradoja fue un efecto colateral del tiempo que se utilizaba diseando los CPU, los diseadores simplemente no tenan tiempo de optimizar cada instruccin posible, y en vez de esto slo optimizaban las ms utilizadas. Un famoso ejemplo de esto era la instruccin VAX INDEX, que se ejecutaba ms lentamente que un ciclo que implementara el mismo cdigo. Casi al mismo tiempo, las CPU comenzaron a correr a velocidades mayores que las de la memoria con la que se comunicaban. An a finales de los setenta, era aparente que esta disparidad continuara incrementndose al menos durante la siguiente dcada, para entonces los CPU podran ser cientos de veces ms rpidos que la memoria. Esto signific que los avances para optimizar cualquier modo de direccionamiento seran completamente sobrepasados por las velocidades tan lentas en las que se llevaban a cabo.

Otra parte del diseo RISC lleg desde las medidas prcticas de los programas en el mundo real. Andrew Tanenbaum reuni muchos de stos, demostrando as que la mayora de los procesadores estaban sobredimensionados. Por ejemplo, l demostr que el 98 % de todas las constantes en un programa podan acomodarse en 13 bits, aun cuando cada diseo de CPU dedicaba algunos mltiplos de 8 bits para almacenarlos, tpicamente 8, 16 o 32, una palabra entera. Tomando este hecho en cuenta sugiere que una mquina debera permitir que las constantes fuesen almacenadas en los bits sin utilizar de otras instrucciones, disminuyendo el nmero de accesos a memoria. En lugar de cargar nmeros desde la memoria o los registros, stos podran estar ah mismo para el momento en el que el CPU los necesitara, y por lo tanto el proceso sera mucho ms rpido. Sin embargo, esto requera que la instruccin misma fuera muy pequea, de otra manera no existira suficiente espacio libre en los 32 bits para mantener constantes de un tamao razonable. Fue el pequeo nmero de modos y rdenes que dio lugar al trmino conjunto reducido de instrucciones. sta no es una definicin correcta, ya que los diseos RISC cuentan con una vasta cantidad de conjuntos de instrucciones para ellos. La verdadera diferencia es la filosofa para hacer todo en registros y llamar y guardar los datos hacia ellos y en ellos mismos. sta es la razn por la que la forma ms correcta de denominar este diseo es cargar-almacenar. Con el paso del tiempo las tcnicas de diseo antiguas se dieron a conocer comoComputadora con Conjunto de Instrucciones Complejo, CISC por sus siglas en ingls, aunque esto fue solamente para darles un nombre diferente por razones de comparacin. Por esto la filosofa RISC fue crear instrucciones pequeas, implicando que haba pocas, de ah el nombre conjunto reducido de instrucciones. El cdigo fue implementado como series de esas instrucciones simples, en vez de un sola instruccin compleja que diera el mismo resultado. Esto hizo posible tener ms espacio dentro de la instruccin para transportar datos, resultando esto en la necesidad de menos registros en la memoria. Al mismo tiempo la interfaz con la memoria era considerablemente simple, permitiendo ser optimizada. Sin embargo RISC tambin tena sus desventajas. Debido a que una serie de instrucciones son necesarias para completar incluso las tareas ms sencillas, el nmero total de instrucciones para la lectura de la memoria es ms grande, y por lo tanto lleva ms tiempo. Al mismo tiempo no estaba claro dnde habra o no una ganancia neta en el desempeo debido a esta limitacin, y hubo una batalla casi continua en el mundo de la prensa y del diseo sobre los conceptos de RISC.

Principios de diseo En este apartado, se intenta presentar de una manera general la filosofa bsica de diseo de estas maquinas, teniendo en cuenta que dicha filosofa puede presentar variantes. El diseo de una mquina RISC se tienen cinco pasos fundamentales:

Analizar las aplicaciones para encontrar las operaciones clave.


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.

Disear un bus de datos que sea ptimo para las operaciones clave.
La parte medular de cualquier sistema es la que contiene los registros, el ALU y los 'buses' que los conectan. Se debe optimizar 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. 3.- Disear instrucciones que realicen las operaciones clave utilizando el bus de datos. 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.

Agregar nuevas instrucciones slo si no hacen ms lenta a la mquina.


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.

Repetir este proceso para otros recursos.


Por ltimo, el proceso anterior debe repetirse para otros recursos dentro del sistema, tales como memoria cach, administracin de memoria, coprocesadores de punto flotante, ... Por otra parte, es necesario considerar otros factores tales como:

La disponibilidad de memorias grandes, baratas y con tiempos de acceso menores de 60 ns en tecnologas CMOS.

HISTORIA
Mientras la filosofa de diseo RISC se estaba formando, nuevas ideas comenzaban a surgir con un nico fin: incrementar drsticamente el rendimiento de la CPU. Al principio de la dcada de los ochenta se pensaba que los diseos existentes estaban alcanzando sus lmites tericos. Las mejoras de la velocidad en el futuro seran hechas con base en procesos mejorados, esto es, pequeas caractersticas en el chip. La complejidad del chip podra continuar como hasta entonces, pero un tamao ms pequeo podra resultar en un mejor rendimiento del mismo al operar a ms altas velocidades de reloj. Se puso una gran cantidad de esfuerzo en disear chips para computacin paralela, con vnculos de comunicacin interconstruidos. En vez de hacer los chips ms rpidos, una gran cantidad de chips seran utilizados, dividiendo la problemtica entre stos. Sin embargo, la historia mostr que estos miedos no se convirtieron en realidad, y hubo un nmero de ideas que mejoraron drsticamente el rendimiento al final de la dcada de los ochenta. Una idea era la de incluir un canal por el cual se pudieran dividir las instrucciones en pasos y trabajar en cada paso muchas instrucciones diferentes al mismo tiempo. Un procesador normal podra leer una instruccin, decodificarla, enviar a la memoria la instruccin de origen, realizar la operacin y luego enviar los resultados. La clave de la canalizacin es que el procesador pueda comenzar a leer la siguiente instruccin tan pronto como termine la ltima instruccin, significando esto que ahora dos instrucciones se estn trabajando (una est siendo

leda, la otra est comenzando a ser decodificada), y en el siguiente ciclo habr tres instrucciones. Mientras que una sola instruccin no se completara ms rpido, la siguienteinstruccin sera completada enseguida. La ilusin era la de un sistema mucho ms rpido. Esta tcnica se conoce hoy en da como Segmentacin de cauce. Otra solucin ms era utilizar varios elementos de procesamiento dentro del procesador y ejecutarlos en paralelo. En vez de trabajar en una instruccin para sumar dos nmeros, esos procesadores superescalares podran ver la siguiente instruccin en el canal y tratar de ejecutarla al mismo tiempo en una unidad idntica. Esto no era muy fcil de hacer, sin embargo, ya que algunas instrucciones dependan del resultado de otras instrucciones. Ambas tcnicas se basaban en incrementar la velocidad al aadir complejidad al diseo bsico del CPU, todo lo opuesto a las instrucciones que se ejecutaban en el mismo. Siendo el espacio en el chip una cantidad finita, para poder incluir todas esas caractersticas algo ms tendra que ser eliminado para hacer hueco. RISC se encarg de tomar ventaja de esas tcnicas, esto debido a que su lgica para el CPU era considerablemente ms simple que la de los diseos CISC. Aun con esto, los primeros diseos de RISC ofrecan una mejora de rendimiento muy pequea, pero fueron capaces de aadir nuevas caractersticas y para finales de los ochenta haban dejado totalmente atrs a sus contrapartes CISC. Con el tiempo esto pudo ser dirigido como una mejora de proceso al punto en el que todo esto pudo ser aadido a los diseos CISC y aun as caber en un solo chip, pero esto tom prcticamente una dcada entre finales de los ochenta y principios de los noventa.

HISTORIA Y EVOLUCION DEL RISC


Buscando aumentar la velocidad del procesamiento se descubri en base a experimentos que, con una determinada arquitectura de base, la ejecucin de programas compilados directamente con microinstrucciones y residentes en memoria externa al circuito integrado resultaban ser ms eficientes, gracias a que el tiempo de acceso de las memorias se fue decrementando conforme se mejoraba su tecnologa de encapsulado. Debido a que se tiene un conjunto de instrucciones simplificado, stas pueden implantar por hardware directamente en la CPU, lo cual elimina el micro cdigo y la necesidad de decodificar instrucciones complejas. En investigaciones hechas a mediados de la dcada de los setentas, con respecto a la frecuencia de utilizacin de una instruccin en un CISC y al tiempo para su ejecucin se observ lo ejecucin de un programa.

secuencias complejas predeterminadas, pero requieren tiempos de ejecucin ms cortos.

CARACTERISTICAS
En pocas palabras esto significa que para cualquier nivel de desempeo dado, un chip RISC tpicamente tendr menos transistores dedicados a la lgica principal. Esto permite a los diseadores una flexibilidad considerable; as pueden, por ejemplo:

Incrementar el tamao del conjunto de registros. Mayor velocidad en la ejecucin de instrucciones. Implementar medidas para aumentar el paralelismo interno. Aadir cachs enormes. Aadir otras funcionalidades, como E/S y relojes para minicontroladores. Construir los chips en lneas de produccin antiguas que de otra manera no seran utilizables. No ampliar las funcionalidades, y por lo tanto ofrecer el chip para aplicaciones de bajo consumo de energa o de tamao limitado.

Las caractersticas que generalmente son encontradas en los diseos RISC son:

Codificacin uniforme de instrucciones (ejemplo: el cdigo de operacin se encuentra siempre en la misma posicin en cada instruccin, la cual es siempre una palabra), lo que permite una decodificacin ms rpida.

Un conjunto de registros homogneo, permitiendo que cualquier registro sea utilizado en cualquier contexto y as simplificar el diseo del compilador (aunque existen muchas formas de separar los ficheros de registro de entero y coma flotante).

Modos de direccionamiento simple con modos ms complejos reemplazados por secuencias de instrucciones aritmticas simples. Los tipos de datos soportados en el hardware (por ejemplo, algunas mquinas CISC tiene instrucciones para tratar con tipos byte, cadena) no se encuentran en una mquina RISC.

Los diseos RISC tambin prefieren utilizar como caracterstica un modelo de memoria Harvard, donde los conjuntos de instrucciones y los conjuntos de datos estn conceptualmente separados; esto significa que el modificar las direcciones donde el cdigo se encuentra pudiera no tener efecto alguno en las instrucciones ejecutadas por el procesador (porque la CPU tiene separada la instruccin y el cach de datos, al menos mientras una instruccin especial de sincronizacin es utilizada). Por otra parte, esto permite que ambos cachs sean accedidos separadamente, lo que puede en algunas ocasiones mejorar el rendimiento. Muchos de esos diseos RISC anteriores tambin compartan una caracterstica no muy amable, el slot de salto retardado (Delay Slot). Un slot de salto retardado es un espacio de instruccin siguiendo inmediatamente un salto. La instruccin en este espacio es ejecutada independientemente de si el salto se produce o no (en otras palabra el salto es retardado). Esta instruccin mantiene la ALU de la CPU ocupada por el tiempo extra normalmente necesario para ejecutar una brecha. Para utilizarlo, recae en el compilador la responsabilidad de reordenar las instrucciones de manera que el cdigo sea coherente para ejecutar con esta caracterstica. En nuestros das el slot de salto retardado se considera un desafortunado efecto colateral de la estrategia particular por implementar algunos diseos RISC. Es por esto que los diseos modernos de RISC, tales como ARM, PowerPC, y versiones ms recientes de SPARC y de MIPS, generalmente eliminan esta caracterstica.

Caractersticas de la Arquitectura RISC Pequeo conjunto de instrucciones Poseen un nmero significativamente menor de instrucciones

Instrucciones simples Instrucciones de longitud fija La mayora de las instrucciones son de la misma longitud, lo que permite que una instruccin se busque con una operacin individual.

Predominan las instrucciones que se ejecutan en un ciclo de mquina La mayora de las instrucciones se ejecutan en un solo ciclo, esto permite la implementacin de la segmentacin (Pipelining)

Procesamiento de segmentacin Los procesadores RISC tienen la capacidad de manejar varias instrucciones al mismo tiempo, por medio de la tcnica de segmentacin o lnea de trabajo.

Hay unas pocas caractersticas comunes a todas las aproximaciones a la arquitectura de reducido conjunto de instrucciones: Instruccin de un solo ciclo. Las instrucciones RISC son sencillas y se ejecutan en un ciclo de reloj. De esta forma, tienen poca o ninguna necesidad de microcdigo; las instrucciones mquina suelen estar cableadas. Esto implica que no hay que acceder a la memoria de control del microprograma durante la ejecucin de la instruccin, y que las instrucciones se pueden ejecutar ms rpidamente, permitiendo reducir el ciclo de reloj. Operaciones registro a registro. La mayora de las instrucciones realizan operaciones registro a registro, con la excepcin de las instrucciones LOAD y STORE, que se utilizan para acceder a memoria. Esto simplifica el conjunto de instrucciones y, por tanto, simplifica an ms la unidad de control. Los valores accedidos frecuentemente permanecen en el almacenamiento de alta velocidad.

Modos de direccionamiento sencillos. Casi todas las instrucciones utilizan el modo de direccionamiento a registro, aunque haya otros ms complejos como el de desplazamiento o el relativo al contador. Los modos de direccionamiento ms complejos se sintetizan en base a los sencillos. En general las arquitecturas RISC poseen un pequeo nmero de modos de direccionamiento: normalmente menos de 5 modos de direccionamiento. Formatos de instruccin sencillos. Generalmente, las arquitecturas RISC usan uno o pocos formatos de instruccin. La longitud de las instrucciones es siempre fija. El nmero de bits del campo de cdigo de operacin tambin es fijo. Esto tiene varias ventajas, como el tamao de los campos es fijo, la decodificacin del cdigo y el acceso a los operandos en los registros se puede realizar simultneamente. Adems, los formatos sencillos simplifican an ms la unidad de control y el tamao fijo optimiza la captacin de instrucciones.

Aunque los RISC son distintos e incompatibles entre si, mantienen unas caractersticas generales comunes, ya que todos se basan en los mismos principios. En general todo est orientado a hacer un pipeline eficiente y a facilitar la tarea del compilador:

Producen 2 accesos a memoria por ciclo: leer instruccin y leer dato. Esto hace imprescindibles memorias muy rpidas y obliga a usar memorias cach. El mecanismo tubera tiene un grave problema: a veces necesitamos en el paso 2 cosas que calculamos en el 3; tenemos que incorporar circuitera que adelante resultados. Todas las instrucciones de los RISC estn pensadas para minimizar estos problemas. Debemos evitar los posible atascos; una instruccin lenta atasca a las dems. Los RISC tienen todas las instrucciones agrupadas en duracin en unos pocos tipos. Esto simplifica enormemente la lgica interna. En los no-RISC o CISC hay instrucciones que pueden ocupar de un byte o ms. A su vez tenemos separados de la instruccin un nmero variable de direcciones de memoria, de operandos, etc... Esto hace que interpretar la instruccin sea muy complicado, ya que no sabemos lo que hay que leer de memoria hasta no decodificar la instruccin, y despus hay que hacer (slo si procede) una serie de lecturas para buscar ms datos. Las instrucciones de los RISC son todas de 1 palabra de longitud, es decir, tpicamente de 32 bits. Aqu tenemos accesible en slo una lectura (la bsqueda de instruccin) todo lo que necesitamos.

La regularidad de las instrucciones hace que la unidad de control del microprocesador pueda ser cableada, siendo mas rpido, haciendo que se pueda ejecutar una instruccin por ciclo de reloj, es decir, la velocidad mxima posible.

Las instrucciones de coma flotante (lo que hace un coprocesador matemtico) no pueden encajar en esto. Son enormemente lentas y complicadas. Sin embargo los diseadores saben que la gente que quiere velocidad (fsicos, ingenieros) trabaja con coma flotante. La solucin adoptada consiste en poner una unidad separada pero dentro del mismo integrado

Cuando tenemos que hacer un salto, una llamada a subrutina o se produce una interrupcin, las instrucciones que tenemos en la pipeline no nos valen. El hilo de la ejecucin se rompe y debemos vaciar la pipeline para cargar las nuevas instrucciones de la direccin a la que hemos saltado. La primera nueva instruccin tiene que recorrer toda la pipeline y tarda bastante tiempo. Desgraciadamente ocurre un salto cada 10 instrucciones aproximadamente. Para evitar en lo posible esto, hay una unidad independiente que se encarga de intentar adivinar si se va a saltar o no antes de llegar a la instruccin de salto y cargar la pipeline con las instrucciones adecuadas. A esta unidad se la ha llamado la unidad de prediccin de saltos. Es responsabilidad del compilador facilitar la tarea a esta unidad.

Segn lo comentado anteriormente, vemos que un RISC tiene 3 unidades: enteros, coma flotante y saltos. Para mejorar el rendimiento se han incluido a veces 2 (o ms) unidades de enteros. A esto se le llama super-escalar. Se leen dos instrucciones cada vez, se ve si se pueden ejecutar en paralelo y se da una a cada unidad si se puede. De este modo se pueden ejecutar 2 instrucciones por ciclo de reloj. Si no podemos, ejecutamos una despus de otra como siempre. En la prctica es el compilador el que se debe encargar de poner juntas instrucciones que se puedan ejecutar en paralelo. Desde el punto de vista del programador, los RISC tienen muchos registros (tpicamente 32 de enteros y 32-64 de coma flotante). Adems son todos funcionalmente iguales; toda operacin puede usar cualquiera como fuente o destino. Esto facilita la labor del compilador y elimina las tpicas transferencias que se producen cuando necesitamos poner algo en el acumulador para realizar las operaciones aritmticas. Normalmente tienen pocos modos de direccionamiento: inmediato (el operando forma parte de la instruccin), registro (operando es un registro) e indexado (o indirecto registro con desplazamiento). En el modo indexado el operando est en la direccin apuntada por el registro ms el desplazamiento. Si el desplazamiento es 0 tenemos el modo indirecto por registro. Como vemos slo se proporcionan los modos ms bsicos. El resto de los modos se pueden hacer combinando varias instrucciones.

Los RISC no operan directamente con memoria. Los operandos se cargan en registros, se opera con los registros, y se almacena el resultado en memoria. De hecho, otro nombre para las maquinas RISC es arquitectura Carga Almacenamiento.

RENDIMIENTO EN RISC Para medir el rendimiento de una arquitectura, tal y como hemos visto en teora hay que tener en cuenta simultneamente los CPI, las CRP y la frecuencia de reloj. Veamos de qu dependen cada uno de estos factores:

Influencia en ciclos de reloj por instruccin (CPI) Encadenamiento (tratamiento de conflictos) Depende de Arquitectura load / store Arquitecturas superescalares

Influencia en ciclos de reloj de programa o instrucciones por programa (CRP) Arquitectura load / store Depende de Compiladores

Influencia en tiempo de ciclo (T) Depende de Instrucciones simples y fciles de decodificar

VENTAJAS
Se incrementa la velocidad debido a un conjunto de instrucciones ms simple. Hardware ms simple debido a instrucciones ms sencillas que requieren menos espacio en el chip El ciclo de diseo ms corto resulta en un diseo efectivo , costos controlados de desarrollo y tiempo de salida al mercado ms corto.

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
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

RISC VS CISC
Ha habido una creciente tendencia a pensar que los diseos RISC pueden sacar provecho de la inclusin de algunas caractersticas CISC, y viceversa. El resultado es que los actuales diseos no son RISC puros. Siguiendo una lnea argumental similar, los diseos CISC actuales incorporan caractersticas RISC. Esto impide una comparativa que pueda declarar la superioridad de una u otra arquitectura. Los problemas de la comparacin entre arquitecturas son varios: No existe una pareja de mquinas RISC y CISC directamente comparables. Los resultados pueden depender del conjunto de programas de prueba. Es difcil separar los efectos del hardware y de la habilidad del compilador.

Sin embargo, lo que s puede estudiarse son los aspectos ventajosos de una u otra arquitectura. Las ventajas potenciales de la aproximacin RISC son muchas: -Sencillez de la unidad de control. Las instrucciones RISC poseen una sencillez intrnseca. El hecho de poseer una longitud fija, formato de instruccin nico (o pocos formatos de instruccin), pocos modos de direccionamiento, y operar bsicamente con registros, propicia la sencillez de la unidad de control (CU). Es razonable pensar que estas unidades de control carecern de instrucciones microprogramadas y tendrn todas las instrucciones mquina cableadas. De esta forma, las instrucciones pueden ejecutarse ms rpidamente que en un CISC comparable. -Los programas RISC son ms sensibles a interrupciones, ya que la comprobacin es ms frecuente que en otras arquitecturas con instrucciones complejas. -La arquitectura RISC puede aplicar ms eficazmente las tcnicas de segmentacin de instrucciones. - Reduccin del rea ocupada por la unidad de control. En un microprocesador CISC tpico la unidad de control (CU) suele ocupar una gran parte del rea en silicio (hasta el 50%), mientras que un RISC necesita un rea reducida. Por ejemplo, la unidad de control del RISC I de Berkeley ocupaba nicamente el 6% del rea de silicio. Es destacable en RISC el reducido nmero de instrucciones, el bajo nmero de modos de direccionamiento, el tamao de instruccin fijo, un mayor nmero de registros y la inexistencia de memoria de control en la unidad de control (CU).

https://www.youtube.com/watch?v=ZVE9osHHBZ0

PAPEL DE LOS COMPILADORES EN UN SISTEMA RISC


El compilador juega un papel clave para un sistema RISC equilibrado. Todas las operaciones complejas se trasladan al microprocesador por medio de conexiones fijas en el circuito integrado para agilizar las instrucciones bsicas ms importantes. De esta manera, el compilador asume la funcin de un mediador inteligente entre el programa de aplicacin y el microprocesador. Es decir, se hace un gran esfuerzo para mantener al hardware tan simple como sea posible, an a costa de hacer al compilador considerablemente ms complicado. Esta estrategia se encuentra en clara contra posicin con las mquinas CISC que tienen modos de direccionamiento muy complicados. En la prctica, la existencia en algunos modos de direccionamiento complicados en los microprocesadores CISC, hacen que tanto el compilador como el microprograma sean muy complicados. No obstante, las mquinas CISC no tienen caractersticas complicadas como carga, almacenamiento y salto que consumen mucho tiempo, las cuales en efecto aumentan la complejidad del compilador.

Para suministrar datos al microprocesador de tal forma que siempre est trabajando en forma eficiente, se aplican diferentes tcnicas de optimizacin en distintos niveles jerrquicos del software. Los diseadores de RISC en la empresa MIP y en Hewlett Packard trabajan segn la regla siguiente: Una instruccin ingresa en forma fija en el circuito integrado del procesador (es decir, se alambra fsicamente en el procesador) si se ha demostrado que la capacidad total del sistema se incrementa en por lo menos un 1%. En cambio, los procesadores CISC, han sido desarrollados por equipos especializados de las empresas productoras de semiconductores y con frecuencia el desarrollo de compiladores se sigue por separado. Por consiguiente, los diseadores de los compiladores se encuentran con una interfaz hacia el procesador ya definido y no pueden influir sobre la distribucin ptima de las funciones entre el procesador y compilador. Las empresas de software que desarrollan compiladores y programas de aplicacin, tienden por razones de rentabilidad, a utilizar diferentes procesadores como usuarios de su software en lugar de realizar una optimizacin completa, y aprovechar as las respectivas caractersticas de cada uno. Lo cual tambin genera otros factores negativos de eficiencia. Esta limitacin de las posibilidades de optimizacin del sistema, que viene dada a menudo por una obligada compatibilidad, se super con los modernos desarrollos RISC.

Compiladores optimizados del RISC Es cierto que un procesador RISC es mas veloz que uno CISC, pero tambin lo es que, al ser mas simples las instrucciones, necesita mas de estas para emular funciones complejas, por lo que los programas son mas largos y voluminosos. Es decir, el cdigo objeto generado, ocupa mas memoria y, al ser mas extenso, emplea mas tiempo en ser procesado. Los partidarios argumentan que el factor volumen de memoria incide poco en el precio, adems estiman que el aumento de cdigo no toma dimensiones importantes por el uso de coprocesadores y compiladores optimizados. Los segundos destacan dos aspectos : 1.- Al existir menor variedad en el cdigo generado, el proceso de compilacin es mas rpido. El motivo es que hay menor numero de reglas y posibilidades entre las que elegir ( no existir la disyuntiva de construir la misma accin por diferentes caminos, solo habr una forma nica ) evitando la exploracin de grandes tablas de instrucciones en busca del sujeto correcto. " En un ordenador convencional, la misma instruccin de lenguaje de alto nivel puede ejecutarse de diversas formas, cada una con sus inconvenientes y ventajas, pero en el RISC solo hay una forma de hacer las cosas " . 2.- Al traducir los lenguajes de alto nivel mediante unidades de extrema simplicidad, se incremente la eficiencia. Si se emplean instrucciones potentes se corre el riesgo de no aprovecharlas en su totalidad y potencia, menor es la adaptacin a los diferentes casos particulares

APLICACIONES DE LOS PROCESADORES RISC


Las arquitecturas CISC utilizadas desde hace 15 aos han permitido desarrollar un gran nmero de productos de software. Ello representa una considerable inversin y asegura a estas familias de procesadores un mercado creciente. Sin embargo, simultneamente aumentan las aplicaciones en las cuales la capacidad de procesamiento que se pueda obtener del sistema es ms importante que la compatibilidad con el hardware y el software anteriores, lo cual no solo es vlido en los subsistemas de alta capacidad en el campo de los sistemas llamados "embedded", en los que siempre dominaron las soluciones especiales de alta capacidad de procesamiento sino tambin para las estaciones de trabajo ("workstations"). Esta clase de equipos se han introducido poco a poco en oficinas, en la medicina y en bancos, debido a los cada vez mas voluminosos y complejos paquetes de software que con sus crecientes requerimientos de reproduccin visual, que antes se encontraban solo en el campo tcnico de la investigacin y desarrollo. En este tipo de equipos, el software de aplicacin, se ejecuta bajo el sistema operativo UNIX, el cual es escrito en lenguaje C, por lo que las arqutecturas RISC actuales estn adaptadas y optimizadas para este lenguaje de alto nivel. Por ello, todos los productores de estaciones de trabajo de renombre, han pasado en pocos aos, de los procesadores CISC a los RISC, lo cual se refleja en el fuerte incremento anual del nmero de procesadores RISC, (los procesadores RISC de 32 bits han visto crecer su mercado hasta en un 150% anual). En pocos aos, el RISC conquistar de 25 al 30% del mercado de los 32 bits, pese al aparentemente abrumador volumen de software basado en procesadores con el estndar CISC que se ha comercializado en todo el mundo. La arquitectura MIPS-RISC ha encontrado, en el sector de estaciones de trabajo, la mayor aceptacin. Los procesadores MIPS son fabricados y comercializados por cinco empresas productoras de semiconductores, entre las que figuran NEC y Siemens. Los procesadores de los cinco proveedores son compatibles en cuanto a las terminales, las funciones y los bits.

CONCLUSIONES
Cada usuario debe decidirse a favor o en contra de determinada arquitectura de procesador en funcin de la aplicacin concreta que quiera realizar. Esto vale tanto para la decisin por una determinada arquitectura CISC o RISC, como para determinar si RISC puede emplearse en forma rentable para una aplicacin concreta. Nunca ser decisiva nicamente la capacidad de procesamiento del microprocesador, y s la capacidad real que puede alcanzar el sistema en su conjunto. Los costos, por su parte, tambin sern evaluados. Supongamos por ejemplo, que el precio de un procesador sea de $500.00 USD, ste ser secundario para un usuario que disea una estacin de trabajo para venderla despus a un precio de $100 000.00 USD. Su decisin se orientar exclusivamente por la potencialidad de este procesador. RISC ofrece soluciones atractivas donde se requiere una elevada capacidad de procesamiento y se presente una orientacin hacia los lenguajes de alto nivel. En el campo industrial existe un gran nmero de aplicaciones que ni siquiera agotan las posibilidades de los controladores CISC de 8 bits actuales. Si bin el campo de aplicaciones de las arqutecturas RISC de alta capacidad crece con fuerza, esto no equivale al fin de otras arqutecturas de procesadores y controladores acreditadas que tambin seguirn perfeccionndose, lo que si resulta dudoso es la creacin de familias CISC completamente nuevas.

Adoptando tcnicas tpicas de los procesadores RISC en las nuevas versiones de procesadores CISC, se intenta encontrar nuevas rutas para el incremento de la capacidad de las familias CISC ya establecidas. Entre tanto, los procesadores RISC han conquistado el sector de las estaciones de trabajo, dominado antes por los procesadores Motorola 68 000, y es muy probable que acosen la arquitectura Intel en el sector superior de las PC's. Las decisiones en el mercado las toman los usuarios, y aqu, el software o la aplicacin concreta juega un papel mucho ms importante que las diferencias entre las estructuras que son inapreciables para el usuario final.

Hoy en da, los programas cada vez ms grandes y complejos demandan mayor velocidad en el procesamiento de informacin, lo que implica la bsqueda de microprocesadores ms rpidos y eficientes.

Los avances y progresos en la tecnologa de semiconductores, han reducido las diferencias en las velocidades de procesamiento de los microprocesadores con las velocidades de las memorias, lo que ha repercutido en nuevas tecnologas en el desarrollo de microprocesadores. La "era 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, 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. No obstante, cada usuario debe decidirse a favor o en contra de determinada arquitectura de procesador en funcin de la aplicacin concreta que quiera realizar. Esto vale tanto para la decisin por una determinada arquitectura CISC o RISC, como para determinar si RISC puede emplearse en forma rentable para una aplicacin concreta. Los costos, por su parte, tambin sern evaluados. Supongamos por ejemplo, que el precio de un procesador sea de 50.000 pts, ste ser secundario para un usuario que disea una estacin de trabajo para venderla despus a un precio de 10.000.000 pts. Su decisin se orientar exclusivamente por la potencialidad de este procesador. RISC ofrece soluciones atractivas donde se requiere una elevada capacidad de procesamiento y se presente una orientacin hacia los lenguajes de alto

nivel, por lo que, los procesadores RISC han conquistado el sector de las estaciones de trabajo. Adoptando tcnicas tpicas de los procesadores RISC en las nuevas versiones de procesadores CISC, se intenta encontrar nuevas rutas para el incremento de la capacidad de las familias CISC ya establecidas. Tambin cabe esperar la aparicin de otras tecnologas que compitan con CISC y RISC. Por ltimo, queremos destacar que las decisiones en el mercado las toman los usuarios, y aqu, el software o la aplicacin concreta juega un papel mucho ms importante que las diferencias entre las estructuras que son inapreciables para el usuario final.

En los procesadores RISC cada instruccin puede ser ejecutada en un solo ciclo del CPU RISC 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. En los procesadores RISC la CPU trabaja ms rpido al utilizar menos ciclos de reloj para ejecutar instrucciones. Un procesador RISC tpico tiene una capacidad de procesamiento de dos a cuatro veces mayor que la de un CISC.

Vous aimerez peut-être aussi