Está en la página 1de 25

Arquitectura RISC vs CISC

Jos Ignacio Vega Luna Profesor Investigador de la UAM / Azcapotzalco DCBI / Departamento de Electrnica Roberto Snchez Gonzlez Profesor Investigador de la UAM / Azcapotzalco DCBI / Departamento de Electrnica Gerardo Salgado Guzmn Profesor Investigador de la UAM / Azcapotzalco DCBI / Departamento de Electrnica Luis Andrs Snchez Gonzlez Hewlett Packard de Mxico

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.

INTRODUCCION
Veamos primero cual es el significado de los trminos CISC y RISC:

CISC (complex instruction set computer) Computadoras con un conjunto de instrucciones complejo. RISC (reduced instruction set computer) Computadoras con un conjunto de instrucciones reducido.

Los atributos complejo y reducido describen las diferencias entre los dos modelos de arquitectura para microprocesadores solo de forma superficial. Se requiere de muchas otras caractersticas esenciales para definir los RISC y los CISC tpicos. Aun ms, existen diversos procesadores que no se pueden asignar con facilidad a ninguna categora determinada.

As, los trminos complejo y reducido, expresan muy bien una importante caracterstica definitiva, siempre que no se tomen solo como referencia las instrucciones, sino que se considere tambin la complejidad del hardware del procesador. Con tecnologas de semiconductores comparables e igual frecuencia de reloj, un procesador RISC tpico tiene una capacidad de procesamiento de dos a cuatro veces mayor que la de un CISC, pero su estructura de hardware es tan simple, que se puede realizar en una fraccin de la superficie ocupada por el circuito integrado de un procesador CISC. Esto hace suponer que RISC reemplazar al CISC, pero la respuesta a esta cuestin no es tan simple ya que:

Para aplicar una determinada arquitectura de microprocesador son decisivas las condiciones de realizacin tcnica y sobre todo la rentabilidad, incluyendo los costos de software. Existan y existen razones de compatibilidad para desarrollar y utilizar procesadores de estructura compleja as como un extenso conjunto de instrucciones.

La meta principal es incrementar el rendimiento del procesador, ya sea optimizando alguno existente o se desee crear uno nuevo. Para esto se deben considerar tres reas principales a cubrir en el diseo del procesador y estas son:

La arquitectura. La tecnologa de proceso. El encapsulado.

La tecnologa de proceso, se refiere a los materiales y tcnicas utilizadas en la fabricacin del circuito integrado, el encapsulado se refiere a cmo se integra un procesador con lo que lo rodea en un sistema funcional, que de alguna manera determina la velocidad total del sistema. Aunque la tecnologa de proceso y de encapsulado son vitales en la elaboracin de procesadores ms rpidos, es la arquitectura del procesador lo que hace la diferencia entre el rendimiento de una CPU (Control Process Unit) y otra. Y es en la evaluacin de las arqutecturas RISC y CISC donde centraremos nuestra atencin. Dependiendo de cmo el procesador almacena los operandos de las instrucciones de la CPU, existen tres tipos de juegos de instrucciones: 1. Juego de instrucciones para arquitecturas basadas en pilas. 2. Juego de instrucciones para arquitecturas basadas en acumulador. 3. Juego de instrucciones para arquitecturas basadas en registros. Las arqutecturas RISC y CISC son ejemplos de CPU con un conjunto de instrucciones para arqutecturas basadas en registros.

ARQUITECTURAS CISC
La microprogramacin es una caracterstica importante y esencial de casi todas las arqutecturas CISC. Como por ejemplo: Intel 8086, 8088, 80286, 80386, 80486. Motorola 68000, 68010, 68020, 68030, 6840. La microprogramacin significa que cada instruccin de mquina es interpretada por un microprograma localizado en una memoria en el circuito integrado del procesador. En la dcada de los sesentas la micropramacin, por sus caractersticas, era la tcnica ms apropiada para las tecnologas de memorias existentes en esa poca y permita desarrollar tambin procesadores con compatibilidad ascendente. En consecuencia, los procesadores se dotaron de poderosos conjuntos de instrucciones. Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. Para esto se requieren de varios ciclos de reloj (al menos uno por microinstruccin).

ARQUITECTURAS 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 mas 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 se pueden implantar por hardware directamente en la CPU, lo cual elimina el microcdigo 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 siguiente: - Alrededor del 20% de las instrucciones ocupa el 80% del tiempo total de ejecucin de un programa. - Existen secuencias de instrucciones simples que obtienen el mismo resultado que secuencias complejas predeterminadas, pero requieren tiempos

de ejecucin ms cortos. Las caractersticas esenciales de una arquitectura RISC pueden resumirse como sigue:

Estos microprocesadores siguen tomando como base el esquema moderno de Von Neumann. Las instrucciones, aunque con otras caractersticas, siguen divididas en tres grupos: a) Transferencia. b) Operaciones. c) Control de flujo.

Reduccin del conjunto de instrucciones a instrucciones bsicas simples, con la que pueden implantarse todas las operaciones complejas. Arquitectura del tipo load-store (carga y almacena). Las nicas instrucciones que tienen acceso a la memoria son 'load' y 'store'; registro a registro, con un menor nmero de acceso a memoria. Casi todas las instrucciones pueden ejecutarse dentro de un ciclo de reloj. Con un control implantado por hardware (con un diseo del tipo load-store), casi todas las instrucciones se pueden ejecutar cada ciclo de reloj, base importante para la reorganizacin de la ejecucin de instrucciones por medio de un compilador. Pipeline (ejecucin simultnea de varias instrucciones). Posibilidad de reducir el nmero de ciclos de mquina necesarios para la ejecucin de la instruccin, ya que esta tcnica permite que una instruccin puede empezar a ejecutarse antes de que haya terminado la anterior.

El hecho de que la estructura simple de un procesador RISC conduzca a una notable reduccin de la superficie del circuito integrado, se aprovecha con frecuencia para ubicar en el mismo, funciones adicionales:

Unidad para el procesamiento aritmtico de punto flotante. Unidad de administracin de memoria. Funciones de control de memoria cache. Implantacin de un conjunto de registros mltiples.

La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos de diseo ms cortos cuando se desarrollan nuevas versiones, lo que posibilita siempre la aplicacin de las ms recientes tecnologas 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 generacin en generacin son mucho mayores que en los CISC. Por otra parte, es necesario considerar tambin que:

La disponibilidad de memorias grandes, baratas y con tiempos de acceso menores de 60 ns en tecnologas CMOS. Mdulos SRAM (Memoria de acceso aleatorio esttica) para memorias cache con tiempos de acceso menores a los 15 ns.

Tecnologas de encapsulado que permiten realizar ms de 120 terminales.

Esto ha hecho cambiar, en la segunda mitad de la dcada de los ochentas, esencialmente las condiciones tcnicas para arqutecturas RISC. La siguiente tabla esquematiza algunas de las principales caractersticas de las arqutecturas RISC Y CISC.

PRINCIPIOS DE DISEO DE LAS MAQUINAS RISC


Resulta un tanto ingenuo querer abarcar completamente los principios de diseo de las mquinas RISC, sin embargo, se intentar presentar de una manera general la filosofa bsica de diseo de estas maquinas, teniendo en cuenta que dicha filosofa puede presentar variantes. Es muy importante conocer estos principios bsicos, pues de stos se desprenden algunas caractersticas importantes de los sistemas basados en microprocesadores RISC. En el diseo de una mquina RISC se tienen cinco pasos: 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. 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 siguiente punto a cubrir es disear instrucciones de mquina que hagan 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. 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. Una vez planteadas las caractersticas principales de la arquitectura RISC as como la filosofa de su diseo, podramos extender el anlisis y estudio de cada una de las caractersticas importantes de las arqutecturas RISC y las implicaciones que estas tienen.

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.

CAPACIDAD DE PROCESAMIENTO DE LOS SISTEMAS DESDE EL PUNTO DE VISTA DEL USUARIO


Aparte de la base conceptual para el desarrollo de un sistema de computacin de alta calidad, se requieren tcnicas especiales para optimizar cada uno de los factores que determinan la capacidad de procesamiento, la cual, solo puede definirse con el programa de aplicacin. La informacin suministrada por un fabricante, sobre la velocidad en mips (millones de Instrucciones por segundo) que una arquitectura es capaz de realizar, carece de relevancia hasta que el usuario sepa cuantas instrucciones genera el respectivo compilador, al traducir su programa de aplicacin y cunto tiempo tarda la ejecucin de estas instrucciones, y solo el anlisis de diferentes pruebas y comparaciones de rendimiento ("benchmarks) da una idea aproximada, que el usuario puede aplicar para delimitar las arqutecturas adecuadas. Dos diferentes puntos de vista acerca de capacidad de procesamiento del sistema.

Sistema reprogramable. Un usuario que necesite desarrollar un sistema reprogramable, no est interesado en obtener una alta capacidad de procesamiento. Sistema incluido o dedicado. En estos sistemas el principal objetivo es procesar en forma repetitiva una serie de aplicaciones o funciones determinadas, y es de suma importancia la mayor cantidad posible de pruebas y comparaciones de rendimiento ("benchmarks" ) diferentes.

As, estas pruebas y comparaciones sirven para determinar la capacidad de procesamiento de los sistemas, pero solo el anlisis de varios resultados de diferentes programas da una idea aproximada de la capacidad de procesamiento real.

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.

Caractersticas de la arq cisc

Arquitectura RISC y CISC


A que nos referimos a las Arquitecturas RISC y CISC ...

Una de las primeras decisiones a la hora de disear un microprocesador es decidir cual ser su juego de instrucciones. La decisin por dos razones; primero, el juego de instrucciones decide el diseo fsico del conjunto; segundo, cualquier operacin que deba ejecutarse en el microprocesador deber poder ser descrita en trminos de un lenguaje de estas instrucciones. Frente a esta cuestin caben dos filosofas de diseo; mquinas denominadas CISC y mquinas denominadas RISC.

Cuando hablamos de microprocesadores CISC, computadoras con un conjunto de instrucciones complejo, (del ingls complex instruction set computer), y procesadores RISC, computadoras con un conjunto de instrucciones reducido, (del ingls reduced instruction set computer), se piensa que los atributos complejo y reducido describen las diferencias entre los dos modelos de arquitectura para microprocesadores. Esto es cierto solo de forma superficial, pues se requiere de muchas otras caractersticas esenciales para definir los RISC y los CISC. Hasta hace solo algunos aos, la divisin era tajante: RISC se utilizaba para entornos de red, mientras que CISC se aplicaba en ordenadores domsticos. Pero en la actualidad se alzan voces que afirman que CISC est agotando sus posibilidades, mientras otras defienden fervientemente que CISC ya ha alcanzado a RISC, adoptando algunas de sus principales caractersticas. Arquitectura RISC

En la arquitectura computacional, RISC (del ingls reduced instruction set computer) es un tipo de microprocesador con las siguientes caractersticas fundamentales:

Instrucciones de tamao fijo y presentadas en un reducido nmero de formatos. Slo las instrucciones de carga y almacenamiento acceden a la memoria de datos. 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. 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 con llev la aparicin de numerosas tcnicas para reducir el procesamiento dentro del CPU, as como de reducir el nmero total de accesos a memoria. 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, lo que permite una de codificacin ms rpida. Un conjunto de registros homogneo, permitiendo que cualquier registro sea utilizado en cualquier contexto y as simplificar el diseo del compilador. Modos de direccionamiento simple con modos ms complejos reemplazados por secuencias de instrucciones aritmticas simples. Los tipos de datos soportados en el hardware 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.

RISC

Moderno:

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 corazon de muchos equipos electrnicos para el consumo.SuperH es la plataforma base de el 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.

Entre

las ventajas de RISC tenemos

las

siguientes:

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

Arquitectura

CISC

En la arquitectura computacional, CISC (complex instruction set computer) es un modelo de arquitectura de computadora. Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos, en contraposicin a la arquitectura RISC.

Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la actualidad, la mayora de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones. Los CISC pertenecen a la primera corriente de construccin de procesadores, antes del desarrollo de los RISC. Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda la familia Intel x86 usada en la mayora de las computadoras personales actuales.

Para realizar una sola instruccin un chip CISC requiere de cuatro a diez ciclos de reloj.

Entre

las

ventajas

de CISC destacan

las

siguientes:

Reduce la dificultad de crear compiladores. Permite reducir el costo total del sistema. Reduce los costos de creacin de sftware. Mejora la compactacin de cdigo. Facilita la depuracin de errores. Ejemplo de microprocesadores basados en la tecnologa CISC:

Intel 8086, 8088, 80286, 80386, 80486. Motorola 68000, 68010, 68020, 68030, 6840.

Ejemplo

de

microprocesadores

basados

en

la

tecnologa CISC:

MIPS, Millions Instruction Per Second. PA-RISC, Hewlett Packard. SPARC, Scalable Processor Architecture, Sun Microsystems. POWER PC, Apple, Motorola e IBM.

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

eficientes.

Referencias:

http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm http://es.wikipedia.org/wiki/RISC http://www.monografias.com/trabajos55/microprocesadores-cisc-risc/microprocesadores-ciscrisc.shtml

PROCESADORES CISC - RISC


Los procesadores se agrupan hoy en dos familias, la ms antigua y comn de las cuales es la "CISC" o "Complex Instruction Set Computer": computador de set complejo de instrucciones. Esto corresponde a procesadores que son capaces de ejecutar un gran nmero de instrucciones pre-definidas en lenguaje de mquina (del orden del centenar). Desde hace unos aos se fabrican y utilizan en algunas mquinas procesadores "RISC" o "Reduced Instruction Set Computer", es decir con un nmero reducido de instrucciones. Esto permite una ejecucin ms rpida de las instrucciones pero requiere compiladores (o sea traductores automticos de programas) ms complejos ya que las instrucciones que un "CISC" podra admitir pero no un "RISC", deben ser escritas como combinaciones de varias instruciones admisibles del "RISC". Se obtiene una ganancia en velocidad por el hecho que el RISC domina instrucciones muy frecuentes mientras son operaciones menos frecuentes las que deben descomponerse. Procesadores CISC Las caractersticas principales de los procesadores CISC son:

CISC = Complex Instruction Set Computer o o o Muchas instrucciones potentes Muchos modos de direccionamiento Varios formatos de instrucciones

Normalmente microprogramados (no microprogramables) La ejecucin de las instrucciones lleva varios ciclos de mquina.

Aparece 60s ? Compiladores en su infancia o CISC pretenda disminuir el salto entre los lenguajes de alto nivel (LAN) y el lenguaje mquina (LM)

60s...IBM 360; 70s...DEC VAX, Intel x86, Motorola 680x0

Mdelo ejecucin: reg/men-reg/mem o o ? tiempo acceso memoria ms lento que ? clk Registros pocos y especializados

Instrucciones complejas ? ?CPI o Repertorio completo VAX ?+400Kb de uCdigo 20% inst. ? 60% ?C y slo 0.2% de utilizacin

Arquitectura de mucho xito ? Intel x86 o nica CISC en expansin hasta hoy en da memoria segmentada ? ? trabajo a programadores bajo nivel y compiladores

Procesadores RISC

RISC = Reduced Instruction Set Computer o o Pocas instrucciones y sencillas Pocos modos de direccionamiento

En los 80s los uP eran muy complejos o o Las instrucciones complejas se utilizaban poco ... y hacan al uP ms lento

Idea ? Optimizar el caso comn o o ... buscando las operaciones ms utilizadas y diseando la mquina entorno a ellas Aadir nuevas slo si no ralentizan la mquina

? accesos a memoria ? Load/Store

o o

modelo de ejecucin reg-reg ? registros general purpose (p.e. 32)

? instrucciones ? simples y regulares o o o ejecucin directa por el hardware (uCdigo=0) ? formatos instruccin ? decodif. ms rpida objetivo de 1 instruccin/ciclo

? NI ? ? trabajo de los compiladores o o ? distancia entre LAN y LM 80s.. tecnologa de compiladores madura

CISC vs. RISC Ejemplos CSIC RISC IBM370 VAX 11/780 8086 SPARC I MIPS I Ao 1973 1978 1978 1981 1983 Instrucciones 208 303 100 39 55 Microcdigo 54Kb 400Kb 11Kb 0 0 Inst. (bytes) 2-6 2-57 1-17 4 4

Balance ? gana RISC Aunque actualmente la divisin no est clara .... Pentium, Pentium II y IA-64 son CSIC, pero por debajo existe una mquina RISC. RISC por rendimiento, CISC por compatibilidad software ... ltimos SPARC instruccin producto de matrices

Una computadora CISC gasta el 80% de su tiempo ejecutando 20% de suinstrucciones.

solamente el

La ejecucin en RISC es ms rpida que en CISC.

Los programas en RISC ocupan menos espacio de memoria.

Procesadores RISC, multiproceso y cach


Introduccin: A lo largo de la historia de la industria de los ordenadores, la tendencia mayormente adoptada para conseguir un aumento de prestaciones, ha sido el incremento de la complejidad de las instrucciones. Es lo que se ha denominado "computacin con conjuntos de instrucciones complejas" o CISC (Complex Instruction Set Computing). Sin embargo, la tendencia actual, se esfuerza en conseguir procesadores con conjuntos de instrucciones de complejidad reducida o RISC (Reduced Instruction Set Computing). 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 "aerodinmico". Tanto la tecnologa CISC como la RISC son acreditadas a IBM, aunque sus antecesores bien pueden ser John vonNeumman (inventor del primer programa de ordenador almacenado, y que promova la velocidad inherente a conjuntos de instrucciones reducidas), Maurice Wilkes (padre de la microprogramacin y de muchos conceptos de los diseos RISC), y Seymour Cray (primeros supercomputadores, empleando principios RISC). En 1975, IBM inici el desarrollo de un controlador para un sistema de conmutacin telefnica, que aunque fue abandonado, sirvi como punto de partida para el desarrollo de una CPU con tecnologa ECL, corazn del sistema 801, precursor del IBM PC RT. Los inicios de la tecnologa RISC tambin surgen en el ambiente acadmico, ya que en 1980, la Universidad de Berkeley (California), el Dr. David A. Patterson inici un proyecto denominado RISC I, que obtuvo resultados en tan solo 19 meses, seguido por RISC II, SOAR (Smalltalk on a RISC) y SPUR (Symbolic Processing on a RISC). El resultado directo, adems de la educacin en la ingeniera y los fundamentos del diseo de microprocesadores, fue la creacin de una mquina que fuese capaz de mayores velocidades de ejecucin a menores velocidades de reloj y que requiriese menores esfuerzos de diseo. Casi simultneamente, en la Universidad de Stanford, el Dr. John Hennesy inici tambin un proyecto de implementacin RISC, denominado MIPS, seguido por el sistema MIPS-XMP, enfocados hacia el proceso simblico, demostrando las capacidades de velocidad de la arquitectura RISC. Ambos profesores se vieron envueltos rpidamente, en proyectos de productos comerciales, y en concreto, Hennesy fue uno de los fundadores de MIPS Computer Systems, mientras Patterson actuaba de asesor durante el desarrollo del primer SPARC.

Por otro lado, durante las pasadas dcadas, el multiproceso, como medida de incrementar drsticamente las prestaciones de los sistemas a un coste razonable, se ha visto reducido al mbito de los computadores de "alto nivel", en parte debido a los bajos niveles de integracin del silicio, y a la falta de software que facilitase la ejecucin paralela de las aplicaciones. Las ventajas de los procesadores RISC, especialmente las ligadas a los sistemas abiertos (lase UNIX), los hacen plataformas ideales para explorar los puntos fuertes de los sistemas multiprocesadores. Tecnologa RISC: La comparacin que antes hemos realizado entre CISC y RISC es algo simple, ya que no es slo una cuestin de diferencias en el conjunto de instrucciones, puesto que es fundamental resaltar el mejor uso y aprovechamiento de los recursos del silicio, es decir, menor tiempo de diseo y empleo de menor nmero de transistores, lo que redunda en menor nmero de errores de diseo y menor tiempo de ejecucin para instrucciones individuales. Las caractersticas comunes a todos los procesadores RISC, fuente de sus capacidades de altas prestaciones, son: 1. Modelo de conjunto de instrucciones 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, y adems facilita la gestin de los fallos de paginas (page faults) en entornos de memoria virtual. Adems, 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 la cual 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.

2.

3.

4.

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 ejecucin (bsqueda 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).

5.

6.

Conceptos de multiproceso: La industria informtica, ha tenido siempre un objetivo primordial, repetido a lo largo de toda su cadena (fabricantes de semiconductores, fabricantes de sistemas y usuarios): la bsqueda de la velocidad. Para alcanzar este objetivo se han invertido ingentes cantidades de recursos, hasta alcanzar los lmites fsicos del silicio. Obviamente, la velocidad va ligada a las prestaciones, y por lo general, la primera ha sido la principal medida para decidirse por un sistema u otro. Sin embargo, por muy evidente que parezca, y dados los lmites fsicos de los semiconductores, las prestaciones pueden no estar forzosamente ligadas a la velocidad. Hoy es posible construir sistemas, que an teniendo procesadores ms "lentos" que otros, ofrezcan unas prestaciones significativamente superiores. Son los sistemas multiprocesador, que como su denominacin indica, incorporan varios procesadores para llevar a cabo las mismas funciones. No es un concepto nuevo, ya que los "minicomputadores" construidos por compaas como NCR, Sequent y Stratus, ya empleaban varios nodos de proceso como alternativas econmicas a otros productos de otras compaas. Sin embargo, aquellos sistemas an duplicaban recursos caros del sistema, como memoria y dispositivos de entrada/salida, y por tanto, confinaban a los sistemas multiprocesador al mundo de los sistemas de alto nivel. Ahora, y en gran medida gracias a los procesadores de arquitectura RISC, el soporte multiprocesador es una solucin integrada y fcilmente disponible en estaciones de trabajo de sobremesa, que resuelve, a travs de hardware VLSI, los complejos problemas de comparticin de recursos (memoria compartida) de aquellas primeras mquinas. Evidentemente, estas mejoras en el hardware, para ser funcionales, requieren importantes desarrollos en el software, y de hecho, muchos sistemas operativos admiten extensiones multiproceso (Match, SCO, Solaris, System V, etc.), que

proporcionan paralelismo "en bruto" (asignando mltiples tareas a mltiples procesadores) a nivel del sistema operativo. Las aplicaciones escritas para facilitar el paralelismo en su ejecucin, incrementan significativamente las prestaciones globales del sistema; esto es lo que se denomina multi-enhebrado (multithreading), que implica dividir una sola aplicacin entre varios procesadores. Sin embargo, los desarrolladores de software y programadores de aplicaciones slo han comenzado a explorar las vastas posibilidades de incremento de prestaciones que ofrecen los sistemas con capacidades reales de proceso en paralelo. El multiproceso no es algo difcil de entender: ms procesadores significa mas potencia computacional. Un conjunto de tareas puede ser completado ms rpidamente si hay varias unidades de proceso ejecutndolas en paralelo. Esa es la teora, pero otra historia es la prctica, como hacer funcionar el multiproceso, lo que requiere unos profundos conocimientos tanto del hardware como del software. Es necesario conocer ampliamente como estn interconectados dichos procesadores, y la forma en que el cdigo que se ejecuta en los mismos ha sido escrito para escribir aplicaciones y software que aproveche al mximo sus prestaciones. Para lograrlo, es necesario modificar varias facetas del sistema operativo, la organizacin del cdigo de las propias aplicaciones, as como los lenguajes de programacin. Es difcil dar una definicin exacta de un sistema multiprocesador, aunque podemos establecer una clasificacin de los sistemas de procesadores en: SISD o secuencia nica de instrucciones y datos (Single Instruction, Single Data): una sola secuencia de instrucciones opera sobre una sola secuencia de datos (caso tpico de los ordenadores personales). SIMD o secuencia nica de instrucciones y mltiple de datos (Single Instruction, Multiple Data): una sola secuencia de instrucciones opera, simultneamente, sobre mltiples secuencias de datos (array processors). MISD o mltiples secuencias de instrucciones y nica de datos (Multiple Instruction, Single Data): mltiples secuencias de instrucciones operan, simultneamente, sobre una sola secuencia de datos (sin implementaciones tiles actualmente). MIMD o mltiples secuencias de instrucciones y datos (Multiple Instruction, Multiple Data): mltiples secuencias de instrucciones operan, simultneamente, sobre mltiples secuencias de datos. Los sistemas multiprocesadores pueden ser clasificados con mayor propiedad como sistemas MIMD. Ello implica que son mquinas con mltiples y autnomos nodos de proceso, cada uno de los cuales opera sobre su propio conjunto de datos. Todos los nodos son idnticos en funciones, por lo que cada uno puede operar en cualquier tarea o porcin de la misma. El sistema en que la memoria est conectada a los nodos de proceso establece el primer nivel de distincin entre diferentes sistemas multiprocesador: 1. 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. 2. 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.

Es evidente, que los sistemas actuales tienden al uso de arquitecturas de memoria compartida, fundamentalmente por razones de costes, a pesar del problema de la contienda por el bus. Los tres fuentes fundamentalmente responsables de dicha disputa son la memoria (cada CPU debe usar el bus para acceder a la memoria principal), la comunicacin (el bus es usado por los "bus masters" para la comunicacin y coordinacin), y la latencia de la memoria (el subsistema de memoria mantiene al bus durante las transferencias de datos, y en funcin de la velocidad a la que la memoria puede responder a las peticiones, puede llegar a ser un factor muy significativo). Los sistemas de memoria cach y el multiproceso: 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). 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: a. 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) l os capturen. Esto asegura que cada lnea de cach en el sistema es una copia exacta de las dems. 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.

2.

b.

Ambos sistemas requieren que los caches sean capaces de identificar peticiones en el bus que afecten a sus datos, lo que se realiza con una tcnica conocida como "sondeo del bus" (bus snooping). Cada cach compara las direcciones de las peticiones en el bus compartido con los datos en su propio cache, usando las marcas (tags).

Este sistema requiere un acceso concurrente a las marcas (tags) del cach por parte del bus del sistema y del bus del procesador. Sin dicho acceso concurrente, el procesador no podra acceder al cach durante las operaciones de sondeo del bus (que tienen que tener prioridad de acceso a las marcas, para poder mantener la coherencia del cach). El resultado son frecuentes atascos del procesador y consecuentemente, bajo rendimiento. A su vez, hay varios protocolos asociados con el sondeo del bus para el movimiento de los datos y los mensajes entre los caches: 1. Intervencin indirecta de los datos (indirect data intervention). Es el mtodo ms simple de intercambio de datos entre procesadores, aunque tambin el menos eficiente. La 1 CPU hace una peticin de datos, que es sondeada por la 2; tiene lugar un acierto de sondeo (snoop hit) si dichos datos estn en el cach de la 2 CPU, entonces esta obtiene el control del bus e indica a la 1 que lo reintente ms tarde. La 2 CPU escribe los datos de su cach a la memoria, y la 1 CPU obtiene el control del bus de nuevo, reiniciando la peticin. Los datos son ahora suministrados por la memoria. Intervencin directa de los datos (direct data intervention). Los datos son suministrados directamente por la 2 CPU a la 1. Este mecanismo es aplicable fundamentalmente a los sistemas con sistemas de cache de copia posterior (copy-back). Aunque pueden evitar muchos ciclos comparados con la intervencin indirecta, la memoria principal permanece inconsistente con el cach, y debe de ser actualizada cuando la lnea de cach es vaciada. Reflexin a memoria (memory reflection) con intervencin directa. La memoria captura los datos que han sido depositados en el bus, mientras son enviados a la CPU solicitante. Si la lnea de cach no ha sido modificada antes de que tenga lugar la ltima transaccin de intervencin de datos, no es necesario escribir a la memoria, con lo que se conserva el ancho de banda. Esta actualizacin del cache solicitante y la memoria puede tener lugar en un mismo y nico ciclo de reloj.

2.

3.

PRINCIPALES FABRICANTES Y SUS PROCESADORES

FABRICANTE SUN SILICON GRAPHICS MOTOROLA HEWLETT PACKARD DEC INTEL

PROCESADOR TENDENCIA SPARC MIPS POWER PA ALPHA PENTIUM RISC RISC RISC RISC RISC CISC ~ RISC

RISC frente a CISC:

Existen varios mitos que contraponen las ventajas de la tecnologa RISC frente a la CISC, que es importante descalificar:

a.

b.

c.

Los procesadores RISC ofrecen peor soporte para los lenguajes de alto nivel o HLL (High Level Language) que lo CISC. Esta creencia se argumenta en que un conjunto de instrucciones de "alto nivel" (CISC) es mejor soporte para lenguajes de alto nivel. Sin embargo, la caracterstica fundamental de los lenguajes de alto nivel, implica que el programador slo interacciona con el ordenador a travs del propio lenguaje de alto nivel (programacin, depuracin, mensajes del sistema, etc.), por lo que todos los problemas a "bajo nivel", deben de ser transparentes y desconocidos para el. Por ello, son de nulas consecuencias para el programador y los lenguajes de alto nivel, como se implementan las funciones, en funcin del tipo de CPU. Es ms complicado escribir compiladores RISC que CISC. Dado que los procesadores CISC tienen un mayor nmero de instrucciones y modos de direccionamiento, existen por tanto ms formas de hacer la misma tarea, lo que puede confundir tanto al compilador como al que lo escribe. Por ello, subjetivamente es posible escoger una forma de hacerlo poco adecuada, por el tipo de instrucciones o por el tiempo de ejecucin que requieren. En cambio, en un procesador RISC, hay menos opciones, por lo que el compilador es ms simple, aunque se genere, habitualmente, un 20-30% ms cdigo; a cambio, se consigue un incremento de la velocidad de hasta un 500%. Un programa es ms rpido cuanto ms pequeo. La velocidad a la que un programa puede ser ejecutado no depende en absoluto de su tamao, sino del tiempo de ejecucin de cada una de sus instrucciones. Dado que las instrucciones RISC son ms rpidas, y admiten mejor los pipelines, puede haber mayor paralelismo y simultaneidad en la ejecucin de pequeas secciones de cdigo. Dichas secciones de cdigo pueden ser ejecutadas en una fraccin del tiempo que requiere una sola instruccin CISC.

Resumiendo: No es un hecho meramente acadmico, sino puramente comercial y econmico. 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.

Actualmente, las estaciones de trabajo RISC multiprocesadoras de mayor xito, se basan en diferentes versiones de la tecnologa SPARC: superSPARC e HyperSPARC. Esta 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 que no, la pronta aparicin de otras tecnologas que compitan con CISC y RISC.

http://www.angelfire.com/ca6/germancho/cisc_rics.htm

http://books.google.co.ve/books?id=2wWZyKu60cAC&pg=PA301&lpg=PA301&dq=caracte r%C3%ADsticas+de+la+arquitectura+cisc&source=bl&ots=DQMMlZ6nvw&sig=8_y9yeEE_ e3YtglCAPBuBw3knc&hl=es&sa=X&ei=MT1RU6GFG8bz0gGf2IAQ&ved=0CEwQ6AEwBQ#v=onepage&q= caracter%C3%ADsticas%20de%20la%20arquitectura%20cisc&f=false

revisar esta pag y trasncirbir la infoooo

llamar a carla y que haga la otra arquitectura

También podría gustarte