Академический Документы
Профессиональный Документы
Культура Документы
Historia
Una consola
del CDC
6600
mainframe
system
RISC
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:
Funcionamiento
Funciona de modo muy diferente a la CISC, su objetivo no es ahorrar esfuerzos
externos por parte del software con sus accesos a la RAM, sino facilitar que las
instrucciones sean ejecutadas lo ms rpidamente posible. La forma de
conseguirlo es simplificando el tipo de instrucciones que ejecuta el procesador.
As, las instrucciones ms breves y sencillas de un procesador RISC son
capaces de ejecutarse mucho ms aprisa que las instrucciones ms largas y
complejas de un chip CISC. Sin embargo, este diseo requiere de mucha ms
RAM y de una tecnologa de compilador ms avanzada.
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.
Los comandos que incorpora el chip RISC en su ROM constan de varias
instrucciones pequeas que realizan una sola tarea. Las aplicaciones son aqu
las encargadas de indicar al procesador qu combinacin de estas
instrucciones debe ejecutar para completar una operacin mayor.
Los comandos de RISC son todos del mismo tamao y se cargan y almacenan
del mismo modo. Al ser estas instrucciones pequeas y sencillas, no necesitan
ser descodificadas en instrucciones menores como en el caso de los chips CISC,
pues ya constituyen en s unidades descodificadas. Es por ello, que el
procesador RISC no gasta tiempo verificando el tamao del comando, en
descodificarlo ni en averiguar cmo cargarlo y guardarlo.
El procesador RISC puede adems ejecutar hasta 10 comandos a la vez pues el
compilador del software es el que determina qu comandos son
independientes y por ello es posible ejecutar varios a la vez.
Al ser los comandos del RISC ms sencillos, la circuitera por la que pasan
tambin es ms sencilla. Estos comandos pasan por menos transistores, de
forma que se ejecutan con ms rapidez. Para ejecutar una sola instruccin
normalmente les basta con un ciclo de reloj.
Ventajas
La estrategia RISC tambin tiene grandes ventajas. Debido a que cada
instruccin realiza una operacin muy simple, el cdigo se ejecutar en
aproximadamente el mismo tiempo que el comando MULT de la
arquitectura CISC. Estas instrucciones reducidas RISC requieren menos
hardware y es ms sencillo que las instrucciones complejas, dejando
ms espacio para registros de propsito general. Adems, las
optimizaciones sobre un hardware ms sencillo son mucho ms fciles
de realizar.
RISC ha alcanzado a todos los fabricantes de
semiconductores:AMD, Intel, MIPS, Motorota, ROSS, y todos ellos son
productos usados por fabricantes de ordenadores y estaciones de
trabajo: Apple, DEC, HP, IBM, SUN, entre otros y sus correspondientes
clnicos.
La CPU trabaja mas rpido al utilizar menos ciclos de reloj para ejecutar
instrucciones.
Utiliza un sistema de direcciones no destructivas en RAM. Eso significa
que a diferencia de CISC, RISC conserva despus de realizar sus
operaciones en memoria los dos operandos y su resultado, reduciendo la
ejecucin de nuevas operaciones. Cada instruccin puede ser ejecutada
en un solo ciclo del CPU.
La definicin de RISC es el futuro de la computacin. Dentro de los prximos
cinco aos, surgir un Standard de computacin completamente nuevo
basado en las arquitecturas RISC. Los computadores RISC redefinirn
completamente la curva de precio - rendimiento que actualmente existe en
la industria de la computacin basada en computadores CISC, y se volver
el Standard de la industria de la computacin que nos llevara al siglo XIX.
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
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.
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:
A su vez, hay varios protocolos asociados con el sondeo del bus para el
movimiento de los datos y los mensajes entre los caches: