Professional Documents
Culture Documents
Reduced instruction set computing 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.
Reduced instruction set computing 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 como Computadora 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.
Multitarea
Debido a lo redundante de las microinstrucciones, los sistemas operativos diseados para estos microprocesadores, contemplaban la capacidad de subdividir un microprocesador en varios, reduciendo el nmero de instrucciones redundantes por cada instancia del mismo. Con una arquitectura del software optimizada, los entornos visuales desarrollados para estas plataformas, contemplaban la posibilidad de ejecutar varias tareas en un mismo ciclo de reloj. As mismo, la paginacin de la memoria RAM era dinmica y se asignaba una cantidad suficiente a cada instancia, existiendo una especie de 'simbiosis' entre la potencia del microprocesador y la RAM dedicada a cada instancia del mismo. La multitarea dentro de la arquitectura CISC nunca ha sido real, tal como en los RISC s lo es. En CISC, el microprocesador en todo su conjunto est diseado en tantas instrucciones complejas y diferentes, que la subdivisin no es posible, al menos a nivel lgico. Por lo tanto, la multitarea es aparente y por rdenes de prioridad. Cada ciclo de reloj trata de atender a una tarea instanciada en la RAM y pendiente de ser atendida. Con una cola de atencin por tarea FIFO para los datos generados por el procesador, y LIFO para las interrupciones de usuario, trataban de dar prioridad a las tareas que el usuario desencadenara en el sistema. La apariencia de multitarea en un CISC tradicional, viene de la mano de los modelos escalares de datos, convirtiendo el flujo en un vector con distintas etapas y creando la tecnologa pipeline. Los microprocesadores actuales, al ser hbridos, permiten cierta parte de multitarea real. La capa final al usuario es como un CISC tradicional, mientras que las tareas que el usuario deja pendientes, dependiendo del tiempo de inactividad, el sistema traducir las instrucciones (el software ha de ser compatible con esto) CISC a RISC, pasando la ejecucin de la tarea a bajo nivel, en donde los recursos se procesan con la filosofa RISC. Dado que el usuario solo atiende una tarea por su capacidad de atencin, el resto de tareas que deja pendientes y que no son compatibles con el modelo de traduccin CISC/RISC, pasan a ser atendidas por el tradicional pipeline, o si son tareas de bajo nivel, tal como desfragmentaciones de disco, chequeo de la integridad de la informacin, formateos, tareas grficas o tareas de clculo matemtico intenso. En vez de tratar de subdividir a un solo microprocesador, se incorpor un segundo microprocesador gemelo, idntico al primero. El inconveniente es que la RAM deba de ser tratada a nivel hardware y los mdulos diseados para plataformas monoprocesador no eran compatibles o con la misma eficiencia, que para las plataformas
Reduced instruction set computing multiprocesador. Otro inconveniente, era la fragmentacin del BYTE de palabra. En un RISC tradicional, se ocupan los BYTES de la siguiente forma: Si la palabra es de 32 BITS (4 BYTES de palabra de 8 BITS cada una, o dos de 16 o una de 32), dependiendo de la profundidad del dato portado, dentro del mismo BYTE, se incluian partes de otras instrucciones y datos. Ahora, al ser dos microprocesadores distintos, ambos usaban registros independientes, con accesos a la memoria propios (en estas plataformas, la relacin de RAM por procesador es de 1/1). En sus orgenes, las soluciones se parecan a las tpcas apas de albanil, cada placa base incorporaba una solucin solamente homologada por la chip set usada y los drivers que la acompaaban. Si bien la fragmentacin siempre ha sido como ese mosquito que zumba en el odo, pero que por pereza permitimos que nos pique, lleg un momento que era imposible evadir el zumbido. Esta poca lleg con las plataformas de 64 BITS.
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 siguiente instruccin 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.
Caractersticas
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.
Reduced instruction set computing El primer intento por hacer una CPU basada en el concepto RISC fue hecho en IBM el cual comenz en 1975, precediendo a los dos proyectos anteriores. Nombrado como proyecto RAN, el trabajo llev a la creacin de la familia de procesadores IBM 801, la cual fue utilizada ampliamente en los equipos de IBM. El 801 fue producido eventualmente en forma de un chip como ROMP en 1981, que es la abreviatura de Research Office Products Division Mini Processor. Como implica el nombre, esta CPU fue diseada para tareas pequeas, y cuando IBM lanz el diseo basado en el IBM RT-PC en 1986, el rendimiento no era aceptable. A pesar de esto, el 801 inspir varios proyectos de investigacin, incluyendo algunos nuevos dentro de IBM que eventualmente llevaran a su sistema IBM POWER. En los primeros aos, todos los esfuerzos de RISC eran bien conocidos, pero muy confinados a los laboratorios de las universidades que los haban creado. El esfuerzo de Berkeley se dio a conocer tanto que eventualmente se convirti en el nombre para el proyecto completo. Muchos en la industria de la computacin criticaban el que los beneficios del rendimiento no se podan traducir en resultados en el mundo real debido a la eficiencia de la memoria de mltiples instrucciones, y sa fue la razn por la que nadie los estaba utilizando. Pero a comienzos de 1986, todos los proyectos de investigacin RISC comenzaron a entregar productos. De hecho, casi todos los procesadores RISC modernos son copias directas del diseo RISC-II.
RISC moderno
La investigacin de Berkeley no fue comercializada directamente, pero el diseo RISC-II fue utilizado por Sun Microsystems para desarrollar el SPARC, por Pyramid Technology para desarrollar sus mquinas de multiprocesador de rango medio, y por casi todas las compaas unos aos ms tarde. Fue el uso de RISC por el chip de SUN en las nuevas mquinas el que demostr que los beneficios de RISC eran reales, y sus mquinas rpidamente desplazaron a la competencia y esencialmente se apoderaron de todo el mercado de estaciones de trabajo. John Hennessy dej Stanford para comercializar el diseo MIPS, comenzando una compaa conocida como MIPS Computer Systems Inc. Su primer diseo fue el chip de segunda generacin MIPS-II conocido como el R2000. Los diseos MIPS se convirtieron en uno de los chips ms utilizados cuando fueron incluidos en las consolas de juego Nintendo 64 y PlayStation. Hoy son uno de los procesadores integrados ms comnmente utilizados en aplicaciones de alto nivel por Silicon Graphics. IBM aprendi del fallo del RT-PC y tuvo que continuar con el diseo del RS/6000 basado en su entonces nueva arquitectura IBM POWER. Entonces movieron sus computadoras centrales S/370 a los chips basados en IBM POWER, y se sorprendieron al ver que aun el conjunto de instrucciones muy complejas (que era parte del S/360 desde 1964) corra considerablemente ms rpido. El resultado fue la nueva serie System/390 que an hoy en da es comercializada como zSeries. El diseo IBM POWER tambin se ha encontrado movindose hacia abajo en escala para producir el diseo PowerPC, el cual elimin muchas de las instrucciones solo IBM y cre una implementacin de chip nico. El PowerPC fue utilizado en todas las computadoras Apple Macintosh hasta 2006, y est comenzando a ser utilizado en aplicaciones automotrices (algunos vehculos tienen ms de 10 dentro de ellos), las consolas de videojuegos de ltima generacin (PlayStation 3, Wii y Xbox 360) estn basadas en PowerPC. Casi todos los dems proveedores se unieron rpidamente. De los esfuerzos similares en el Reino Unido result el INMOS Trasputer, el Acorn Archimedes y la lnea Advanced RISC Machine, la cual tiene un gran xito hoy en da. Las compaas existentes con diseos CISC tambin se unieron a la revolucin. Intel lanz el i860 y el i960 a finales de los ochenta, aunque no fueron muy exitosos. Motorola construy un nuevo diseo pero no le vio demasiado uso y eventualmente lo abandon, unindose a IBM para producir el PowerPC. AMD lanz su familia 29000 la cual se convirti en el diseo RISC ms popular a principios de los noventa. Hoy en da los microcontroladores y CPU RISC representan a la vasta mayora de todos los CPU utilizados. La tcnica de diseo RISC ofrece poder incluso en medidas pequeas, y esto ha venido a dominar completamente el mercado de CPU integrados de bajo consumo de energa. Los CPU integrados son por mucho los procesadores ms
Reduced instruction set computing comunes en el mercado: considera que una familia completa con una o dos computadoras personales puede poseer varias docenas de dispositivos con procesadores integrados. RISC se ha apoder completamente del mercado de estacin de trabajo. Despus del lanzamiento de la SUN SPARCstation los otros proveedores se apuraron a competir con sus propias soluciones basadas en RISC. Aunque hacia 2006-2010 las estaciones de trabajo pasaron a la arquitectura x86-64 de Intel y AMD. Incluso el mundo de las computadoras centrales est ahora basado completamente en RISC. Esto es sorprendente en vista del dominio del Intel x86 y x86 64 en el mercado de las computadoras personales de escritorio (ahora tambin en el de estaciones de trabajo), ordenadores porttiles y en servidores de la gama baja. Aunque RISC fue capaz de avanzar en velocidad muy rpida y econmicamente. Los diseos RISC han llevado a un gran nmero de plataformas y arquitecturas al xito, algunas de las ms grandes: La lnea MIPS Technologies Inc., que se encontraba en la mayora de las computadoras de Silicon Graphics hasta 2006, y estuvo en las consolas ya descatalogadas Nintendo 64, PlayStation y PlayStation 2. Actualmente se utiliza en la PlayStation Portable y algunos routers. La serie IBM POWER, utilizado principalmente por IBM en Servidores y superordenadores. La versin PowerPC de Motorola e IBM (una versin de la serie IBM POWER) utilizada en los ordenadores AmigaOne, Apple Macintosh como el iMac, eMac, Power Mac y posteriores (hasta 2006). Actualmente se utiliza en muchos sistemas empotrados en automviles, routers, etc, as como en muchas consolas de videojuegos, como la Playstation 3, Xbox 360 y Wii. El procesador SPARC y UltraSPARC de Sun Microsystems y Fujitsu, que se encuentra en sus ltimos modelos de servidores (y hasta 2008 tambin en estaciones de trabajo). El PA-RISC y el HP/PA de Hewlett-Packard, ya descatalogados. El DEC Alpha en servidores HP AlphaServer y estaciones de trabajo AlphaStation, ya descatalogados. El ARM El paso de hardware de instrucciones x86 en operaciones RISC llega a ser significativo en el rea y la energa para dispositivos mviles e integrados. Por lo tanto, los procesadores ARM dominan en PALM, Nintendo DS, Game Boy Advance y en mltiples PDAs, Apple iPods, Apple iPhone, iPod Touch (Samsung ARM1176JZF, ARM Cortex-A8, Apple A4), Apple iPad (Apple A4 ARM -based SoC), videoconsolas como Nintendo DS (ARM7TDMI, ARM946E-S), Nintendo Game Boy Advance (ARM7TDMI). El Atmel AVR usado en gran variedad de productos, desde mandos de la Xbox a los coches de la empresa BMW. La plataforma SuperH de Hitachi, originalmente usada para las consolas Sega Super 32X, Saturn y Dreamcast, ahora forman parte de el corazn de muchos equipos electrnicos para el consumo.SuperH es la plataforma base del grupo Mitsubishi - Hitachi. Estos dos grupos, unidos en 2002, dejaron aparte la propia arquitectura RISC de Mitsubishi, el M32R. Los procesadores XAP usados en muchos chips wireless de poco consumo (Bluetooth, wifi) de CSR. Uso Actualmente
Enlaces externos
Linux en porttiles con RISC [1]
Referencias
[1] http:/ / tuxmobil. org/ mobile_riscos. html
Licencia
Creative Commons Attribution-Share Alike 3.0 //creativecommons.org/licenses/by-sa/3.0/