0% encontró este documento útil (0 votos)
23 vistas11 páginas

Introducción a la arquitectura RISC

Cargado por

infodepagt
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas11 páginas

Introducción a la arquitectura RISC

Cargado por

infodepagt
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Capítulo 4

Reduced instruction set computing

trucciones pequeñas y simples que toman menor tiempo


para ejecutarse. El tipo de procesador más comúnmente
utilizado en equipos de escritorio, el x86, está basado
en CISC en lugar de RISC, aunque las versiones más
nuevas traducen instrucciones basadas en CISC x86 a
instrucciones más simples basadas en RISC para uso
interno antes de su ejecución.
La idea fue inspirada por el hecho de que muchas de las
características que eran incluidas en los diseños tradicio-
nales de CPU para aumentar la velocidad estaban siendo
ignoradas por los programas que eran ejecutados en ellas.
Además, la velocidad del procesador en relación con la
memoria de la computadora que accedía era cada vez más
alta. Esto conllevó la aparición de numerosas técnicas pa-
ra reducir el procesamiento dentro del CPU, así como de
reducir el número total de accesos a memoria.
Terminología más moderna se refiere a esos diseños como
arquitecturas de carga-almacenamiento.
DEC Alpha AXP 21064, un microprocesador RISC

En arquitectura computacional, RISC (del inglés


Reduced Instruction Set Computer, en español Compu- 4.1 Filosofía de diseño antes de
tador con Conjunto de Instrucciones Reducidas) es
un tipo de diseño de CPU generalmente utilizado
RISC
en microprocesadores o microcontroladores con las
siguientes características fundamentales: Uno de los principios básicos de diseño para todos los
procesadores es añadir velocidad al proveerles alguna
1. Instrucciones de tamaño fijo y presentadas en un re- memoria muy rápida para almacenar información tempo-
ducido número de formatos. ralmente, estas memorias son conocidas como registros.
Por ejemplo, cada CPU incluye una orden para sumar dos
2. Sólo las instrucciones de carga y almacenamiento números. La operación básica de un CPU sería cargar
acceden a la memoria de datos. esos dos números en los registros, sumarlos y almacenar
el resultado en otro registro, finalmente, tomar el resulta-
Además estos procesadores suelen disponer de muchos do del último registro y devolverlo a la memoria principal.
registros de propósito general. Sin embargo, los registros tienen el inconveniente de ser
El objetivo de diseñar máquinas con esta arquitectura algo complejos para implementar. Cada uno está repre-
es posibilitar la segmentación y el paralelismo en la eje- sentado por transistores en el chip, en este aspecto la me-
cución de instrucciones y reducir los accesos a memo- moria principal tiende a ser mucho más simple y econó-
ria. Las máquinas RISC protagonizan la tendencia actual mica. Además, los registros le añaden complejidad al ca-
de construcción de microprocesadores. PowerPC, DEC bleado, porque la unidad central de procesamiento nece-
Alpha, MIPS, ARM, SPARC son ejemplos de algunos sita estar conectada a todos y cada uno de los registros
de ellos. para poder utilizarlos por igual.
RISC es una filosofía de diseño de CPU para Como resultado de esto, muchos diseños de CPU limitan
computadora que está a favor de conjuntos de ins- el uso de registros de alguna u otra manera. Algunos in-

14
4.2. FILOSOFÍA DE DISEÑO RISC 15

cluyen pocos registros, aunque esto limita su velocidad. aún más la utilidad de los modelos ortogonales.
Otros dedican sus registros a tareas específicas para re- Otro descubrimiento fue que debido a que esas operacio-
ducir la complejidad; por ejemplo, un registro podría ser nes eran escasamente utilizadas, de hecho tendían a ser
cap registros, mientras que el resultado podría estar al- más lentas que un número pequeño de operaciones ha-
macenado en cualquiera de ellos. ciendo lo mismo. Esta paradoja fue un efecto colateral
En el mundo de la microcomputación de los años setenta, del tiempo que se utilizaba diseñando los CPU, los dise-
éste era un aspecto más de las CPU, ya que los procesa- ñadores simplemente no tenían tiempo de optimizar cada
dores eran entonces demasiado lentos –de hecho había instrucción posible, y en vez de esto sólo optimizaban las
una tendencia a que el procesador fuera más lento que la más utilizadas. Un famoso ejemplo de esto era la instruc-
memoria con la que se comunicaba-. En esos casos tenía ción VAX INDEX, que se ejecutaba más lentamente que
sentido eliminar casi todos los registros, y entonces pro- un bucle que implementara el mismo código.
veer al programador de una buena cantidad de maneras Casi al mismo tiempo, las CPU comenzaron a correr a
de tratar con la memoria para facilitar su trabajo. velocidades mayores que las de la memoria con la que se
Dado el ejemplo de la suma, la mayoría de los diseños de comunicaban. Aún a finales de los setenta, era aparente
CPU se enfocaron a crear una orden que pudiera hacer que esta disparidad continuaría incrementándose al me-
todo el trabajo automáticamente: llamar los dos números nos durante la siguiente década, para entonces los CPU
que serían sumados, sumarlos, y luego almacenarlos fuera podrían ser cientos de veces más rápidos que la memo-
directamente. Otra versión podría leer los dos números de ria. Esto significó que los avances para optimizar cual-
la memoria, pero almacenaría el resultado en un registro. quier modo de direccionamiento serían completamente
Otra versión podría leer uno de la memoria y otro desde sobrepasados por las velocidades tan lentas en las que se
un registro y almacenarlo en la memoria nuevamente. Y llevaban a cabo.
así sucesivamente.
Otra parte del diseño RISC llegó desde las medidas prác-
La meta en general en aquel tiempo era proveer cada po- ticas de los programas en el mundo real. Andrew Ta-
sible modo de direccionamiento para cada instrucción, un nenbaum reunió muchos de éstos, demostrando así que
principio conocido como ortogonalidad. Esto llevó a un la mayoría de los procesadores estaban sobredimensio-
CPU complejo, pero en teoría capaz de configurar cada nados. Por ejemplo, él demostró que el 98 % de todas
posible orden individualmente, haciendo el diseño más las constantes en un programa podían acomodarse en 13
rápido en lugar de que el programador utilizara órdenes bits, aun cuando cada diseño de CPU dedicaba algunos
simples. múltiplos de 8 bits para almacenarlos, típicamente 8, 16
La última representación de este tipo de diseño puede ser o 32, una palabra entera. Tomando este hecho en cuenta
vista en dos equipos, el MOS 6502 por un lado, y el VAX sugiere que una máquina debería permitir que las cons-
en el otro. El chip 6502 de $25 USD efectivamente tenía tantes fuesen almacenadas en los bits sin utilizar de otras
solamente un registro, y con la configuración cuidadosa instrucciones, disminuyendo el número de accesos a me-
de la interfaz de memoria fue capaz de sobrepasar dise- moria. En lugar de cargar números desde la memoria o
ños corriendo a velocidades mayores (como el Zilog Z80 los registros, éstos podrían estar ahí mismo para el mo-
a 4MHz). El VAX era un minicomputador que en una mento en el que el CPU los necesitara, y por lo tanto el
instalación inicial requería 3 gabinetes de equipo para un proceso sería mucho más rápido. Sin embargo, esto re-
solo CPU, y era notable por la sorprendente variedad de quería que la instrucción misma fuera muy pequeña, de
estilos de acceso a memoria que soportaba, y el hecho de otra manera no existiría suficiente espacio libre en los 32
que cada uno de éstos estaba disponible para cada ins- bits para mantener constantes de un tamaño razonable.
trucción. Fue el pequeño número de modos y órdenes que dio lugar
al término conjunto reducido de instrucciones. Ésta no es
una definición correcta, ya que los diseños RISC cuentan
con una vasta cantidad de conjuntos de instrucciones pa-
4.2 Filosofía de diseño RISC ra ellos. La verdadera diferencia es la filosofía para hacer
todo en registros y llamar y guardar los datos hacia ellos y
A finales de los setenta, investigaciones en IBM (y otros en ellos mismos. Ésta es la razón por la que la forma más
proyectos similares en otros lugares), demostraron que correcta de denominar este diseño es cargar-almacenar.
la mayoría de esos modos de direccionamiento ortogo- Con el paso del tiempo las técnicas de diseño antiguas se
nal eran ignorados por la mayoría de los programas. Es- dieron a conocer como Computadora con Conjunto de Ins-
to fue un efecto colateral en el incremento en el uso de trucciones Complejo, CISC por sus siglas en inglés, aun-
compiladores para generar los programas, algo opuesto que esto fue solamente para darles un nombre diferente
a escribirlos en lenguaje ensamblador. Los compiladores por razones de comparación.
tendían a ser demasiado tontos en términos de las carac-
Por esto la filosofía RISC fue crear instrucciones peque-
terísticas que usaban, un efecto colateral del intento por
ñas, implicando que había pocas, de ahí el nombre con-
hacerlos pequeños. El mercado se estaba moviendo hacia
junto reducido de instrucciones. El código fue implemen-
un uso más generalizado de los compiladores, diluyendo
16 CAPÍTULO 4. REDUCED INSTRUCTION SET COMPUTING

tado como series de esas instrucciones simples, en vez tareas que deja pendientes y que no son compatibles con
de una sola instrucción compleja que diera el mismo re- el modelo de traducción CISC/RISC, pasan a ser aten-
sultado. Esto hizo posible tener más espacio dentro de la didas por el tradicional pipeline, o si son tareas de bajo
instrucción para transportar datos, resultando esto en la nivel, tal como desfragmentaciones de disco, chequeo de
necesidad de menos registros en la memoria. Al mismo la integridad de la información, formateos, tareas gráficas
tiempo la interfaz con la memoria era considerablemente o tareas de cálculo matemático intenso.
simple, permitiendo ser optimizada. En vez de tratar de subdividir a un solo microprocesador,
Sin embargo RISC también tenía sus desventajas. Debi- se incorporó un segundo microprocesador gemelo, idén-
do a que una serie de instrucciones son necesarias para tico al primero. El inconveniente es que la RAM debía
completar incluso las tareas más sencillas, el número to- de ser tratada a nivel hardware y los módulos diseñados
tal de instrucciones para la lectura de la memoria es más para plataformas monoprocesador no eran compatibles o
grande, y por lo tanto lleva más tiempo. Al mismo tiempo con la misma eficiencia, que para las plataformas multi-
no estaba claro dónde habría o no una ganancia neta en el procesador. Otro inconveniente, era la fragmentación del
desempeño debido a esta limitación, y hubo una batalla BYTE de palabra. En un RISC tradicional, se ocupan los
casi continua en el mundo de la prensa y del diseño sobre BYTES de la siguiente forma: Si la palabra es de 32 BITS
los conceptos de RISC. (4 BYTES de palabra de 8 BITS cada una, o dos de 16 o
una de 32), dependiendo de la profundidad del dato por-
tado, dentro del mismo BYTE, se incluían partes de otras
4.2.1 Multitarea instrucciones y datos. Ahora, al ser dos microprocesado-
res distintos, ambos usaban registros independientes, con
Debido a lo redundante de las microinstrucciones, los sis- accesos a la memoria propios (en estas plataformas, la
temas operativos diseñados para estos microprocesado- relación de RAM por procesador es de 1/1). En sus orí-
res, contemplaban la capacidad de subdividir un micro- genes, las soluciones se parecían a las típícas ñapas de
procesador en varios, reduciendo el número de instruc- albanil, cada placa base incorporaba una solución sola-
ciones redundantes por cada instancia del mismo. Con mente homologada por la chip set usada y los drivers que
una arquitectura del software optimizada, los entornos la acompañaban. Si bien la fragmentación siempre ha si-
visuales desarrollados para estas plataformas, contempla- do como ese mosquito que zumba en el oído, pero que
ban la posibilidad de ejecutar varias tareas en un mismo por pereza permitimos que nos pique, llegó un momen-
ciclo de reloj. Así mismo, la paginación de la memoria to que era imposible evadir el zumbido. Esta época llegó
RAM era dinámica y se asignaba una cantidad suficiente con las plataformas de 64 BITS.
a cada instancia, existiendo una especie de 'simbiosis’ en-
tre la potencia del microprocesador y la RAM dedicada
a cada instancia del mismo.
4.3 Historia
La multitarea dentro de la arquitectura CISC nunca ha
sido real, tal como en los RISC sí lo es. En CISC, el mi-
croprocesador en todo su conjunto está diseñado en tantas Mientras la filosofía de diseño RISC se estaba forman-
do, nuevas ideas comenzaban a surgir con un único fin:
instrucciones complejas y diferentes, que la subdivisión
no es posible, al menos a nivel lógico. Por lo tanto, la incrementar drásticamente el rendimiento de la CPU.
multitarea es aparente y por órdenes de prioridad. Cada Al principio de la década de los ochenta se pensaba que
ciclo de reloj trata de atender a una tarea instanciada en los diseños existentes estaban alcanzando sus límites teó-
la RAM y pendiente de ser atendida. Con una cola de ricos. Las mejoras de la velocidad en el futuro serían
atención por tarea FIFO para los datos generados por el hechas con base en procesos mejorados, esto es, peque-
procesador, y LIFO para las interrupciones de usuario, ñas características en el chip. La complejidad del chip
trataban de dar prioridad a las tareas que el usuario des- podría continuar como hasta entonces, pero un tamaño
encadenara en el sistema. La apariencia de multitarea en más pequeño podría resultar en un mejor rendimiento del
un CISC tradicional, viene de la mano de los modelos es- mismo al operar a más altas velocidades de reloj. Se pu-
calares de datos, convirtiendo el flujo en un vector con so una gran cantidad de esfuerzo en diseñar chips para
distintas etapas y creando la tecnología pipeline. computación paralela, con vínculos de comunicación in-
Los microprocesadores actuales, al ser híbridos, permiten terconstruidos. En vez de hacer los chips más rápidos,
cierta parte de multitarea real. La capa final al usuario es una gran cantidad de chips serían utilizados, dividiendo
como un CISC tradicional, mientras que las tareas que el la problemática entre estos. Sin embargo, la historia mos-
usuario deja pendientes, dependiendo del tiempo de inac- tró que estos miedos no se convirtieron en realidad, y hu-
tividad, el sistema traducirá las instrucciones (el software bo un número de ideas que mejoraron drásticamente el
ha de ser compatible con esto) CISC a RISC, pasando la rendimiento al final de la década de los ochenta.
ejecución de la tarea a bajo nivel, en donde los recursos se Una idea era la de incluir un canal por el cual se pudie-
procesan con la filosofía RISC. Dado que el usuario solo ran dividir las instrucciones en pasos y trabajar en cada
atiende una tarea por su capacidad de atención, el resto de paso muchas instrucciones diferentes al mismo tiempo.
4.4. CARACTERÍSTICAS 17

Un procesador normal podría leer una instrucción, de- • Añadir otras funcionalidades, como E/S y relojes
codificarla, enviar a la memoria la instrucción de origen, para minicontroladores.
realizar la operación y luego enviar los resultados. La cla-
ve de la canalización es que el procesador pueda comen- • Construir los chips en líneas de producción antiguas
zar a leer la siguiente instrucción tan pronto como termi- que de otra manera no serían utilizables.
ne la última instrucción, significando esto que ahora dos • No ampliar las funcionalidades, y por lo tanto ofre-
instrucciones se están trabajando (una está siendo leída, cer el chip para aplicaciones de bajo consumo de
la otra está comenzando a ser decodificada), y en el si- energía o de tamaño limitado.
guiente ciclo habrá tres instrucciones. Mientras que una
sola instrucción no se completaría más rápido, la siguiente
instrucción sería completada enseguida. La ilusión era la Las características que generalmente son encontradas en
de un sistema mucho más rápido. Esta técnica se conoce los diseños RISC son:
hoy en día como Segmentación de cauce.
• Codificación uniforme de instrucciones (ejemplo: el
Otra solución más era utilizar varios elementos de proce-
código de operación se encuentra siempre en la mis-
samiento dentro del procesador y ejecutarlos en paralelo.
ma posición en cada instrucción, la cual es siempre
En vez de trabajar en una instrucción para sumar dos nú-
una palabra), lo que permite una decodificación más
meros, esos procesadores superescalares podrían ver la
rápida.
siguiente instrucción en el canal y tratar de ejecutarla al
mismo tiempo en una unidad idéntica. Esto no era muy • Un conjunto de registros homogéneo, permitiendo
fácil de hacer, sin embargo, ya que algunas instrucciones que cualquier registro sea utilizado en cualquier con-
dependían del resultado de otras instrucciones. texto y así simplificar el diseño del compilador (aun-
Ambas técnicas se basaban en incrementar la velocidad que existen muchas formas de separar los ficheros de
al añadir complejidad al diseño básico del CPU, todo lo registro de entero y coma flotante).
opuesto a las instrucciones que se ejecutaban en el mis- • Modos de direccionamiento simple con modos más
mo. Siendo el espacio en el chip una cantidad finita, para complejos reemplazados por secuencias de instruc-
poder incluir todas esas características algo más tendría ciones aritméticas simples.
que ser eliminado para hacer hueco. RISC se encargó de
tomar ventaja de esas técnicas, esto debido a que su lógi- • Los tipos de datos soportados en el hardware (por
ca para el CPU era considerablemente más simple que la ejemplo, algunas máquinas CISC tiene instrucciones
de los diseños CISC. Aun con esto, los primeros diseños para tratar con tipos byte, cadena) no se encuentran
de RISC ofrecían una mejora de rendimiento muy peque- en una máquina RISC.
ña, pero fueron capaces de añadir nuevas características
y para finales de los ochenta habían dejado totalmente Los diseños RISC también prefieren utilizar como ca-
atrás a sus contrapartes CISC. Con el tiempo esto pudo racterística un modelo de memoria Harvard, donde los
ser dirigido como una mejora de proceso al punto en el conjuntos de instrucciones y los conjuntos de datos están
que todo esto pudo ser añadido a los diseños CISC y aun conceptualmente separados; esto significa que el modifi-
así caber en un solo chip, pero esto tomó prácticamente car las direcciones donde el código se encuentra pudie-
una década entre finales de los ochenta y principios de los ra no tener efecto alguno en las instrucciones ejecutadas
noventa. por el procesador (porque la CPU tiene separada la ins-
trucción y el caché de datos, al menos mientras una ins-
trucción especial de sincronización es utilizada). Por otra
4.4 Características parte, esto permite que ambos cachés sean accedidos se-
paradamente, lo que puede en algunas ocasiones mejorar
el rendimiento.
En pocas palabras esto significa que para cualquier nivel
de desempeño dado, un chip RISC típicamente tendrá Muchos de esos diseños RISC anteriores también com-
menos transistores dedicados a la lógica principal. Estopartían una característica no muy amable, el slot de sal-
permite a los diseñadores una flexibilidad considerable; to retardado (Delay Slot). Un slot de salto retardado es
así pueden, por ejemplo: un espacio de instrucción siguiendo inmediatamente un
salto. La instrucción en este espacio es ejecutada inde-
pendientemente de si el salto se produce o no (en otras
• Incrementar el tamaño del conjunto de registros.
palabra el salto es retardado). Esta instrucción mantiene
• Mayor velocidad en la ejecución de instrucciones. la ALU de la CPU ocupada por el tiempo extra normal-
mente necesario para ejecutar una brecha. Para utilizarlo,
• Implementar medidas para aumentar el paralelismo recae en el compilador la responsabilidad de reordenar las
interno. instrucciones de manera que el código sea coherente pa-
ra ejecutar con esta característica. En nuestros días el slot
• Añadir cachés enormes. de salto retardado se considera un desafortunado efecto
18 CAPÍTULO 4. REDUCED INSTRUCTION SET COMPUTING

colateral de la estrategia particular por implementar algu- haber influido en los diseñadores del ARM, aunque estas
nos diseños RISC. Es por esto que los diseños modernos máquinas estaban en uso en la Universidad de Cambridge
de RISC, tales como ARM, PowerPC, y versiones más ComputerLaboratory en la década de 1980.
recientes de SPARC y de MIPS, generalmente eliminan El proyecto RISC de la Universidad de Berkeley comen-
esta característica. zó en 1980 bajo la dirección de David A. Patterson, ba-
sándose en la obtención de rendimiento a través del uso
de la canalización y un agresivo uso de los registros co-
4.5 Primeros diseños RISC nocido como ventanas de registros. En una CPU normal
se tienen un pequeño número de registros, un programa
puede usar cualquier registro en cualquier momento. En
una CPU con ventanas de registros, existen un gran nú-
mero de registros (138 en el RISC-I), pero los programas
solo pueden utilizar un pequeño número de estos (32 en
el RISC-I) en cualquier momento.
Un programa que se limita asimismo a 32 registros por
procedimiento puede hacer llamadas a procedimientos
muy rápidas: la llamada, y el regreso, simplemente mue-
ven la ventana de 32 registros actual para limpiar sufi-
ciente espacio de trabajo para la subrutina, y el regreso
restablece esos valores.
El proyecto RISC entregó el procesador RISC-I en 1982.
Consistiendo de solo 44.420 transistores (comparado con
promedios de aproximadamente 100.000 en un diseño
Una consola del CDC 6600 mainframe system
CISC de esa época) RISC-I solo tenía 32 instrucciones, y
aun así sobrepasaba el desempeño de cualquier otro di-
El primer sistema que pudiera ser considerado en nues- seño de chip simple. Se continuó con esta tendencia y
tros días como RISC no lo era así en aquellos días; era RISC-II en 1983 tenía 40.760 transistores y 39 instruc-
la supercomputadora CDC 6600, diseñada en 1964 por ciones, con los cuales ejecutaba 3 veces más rápido que
Seymour Cray. el RISC-I.
Cray la diseñó como un CPU para cálculos a gran escala Casi al mismo tiempo, John Hennessy comenzó un pro-
(con 74 códigos, comparada con un 8086 400, además de yecto similar llamado MIPS en la Universidad de Stan-
12 computadores simples para manejar los procesos de ford en 1981. MIPS se centraba casi completamente en
E/S (la mayor parte del sistema operativo se encontraba la segmentación, asegurándose de que ejecutara tan lleno
en uno de éstos). como fuera posible. Aunque la segmentación ya había si-
El CDC 6600 tenía una arquitectura de car- do utilizada en otros diseños, varias características del
ga/almacenamiento con tan solo dos modos de di- chip MIPS hacían su segmentación mucho más rápida.
reccionamiento. Había once unidades de canalización Lo más importante, y quizá molesto de estas característi-
funcional para la aritmética y la lógica, además de cinco cas era el requisito de que todas las instrucciones fueran
unidades de carga y dos unidades de almacenamiento capaces de completarse en un solo ciclo. Este requisito
(la memoria tenía múltiples bancos para que todas las permitía al canal ser ejecutado a velocidades más altas
unidades de carga/almacenamiento pudiesen operar al (no había necesidad de retardos inducidos) y es la res-
mismo tiempo). El nivel promedio de operación por ponsable de la mayoría de la velocidad del procesador.
ciclo/instrucción era 10 veces más rápido que el tiempo Sin embargo, también tenía un efecto colateral negativo
de acceso a memoria. al eliminar muchas de las instrucciones potencialmente
utilizables, como una multiplicación o una división.
Los diseños RISC que más se dieron a conocer sin embar-
go, fueron aquellos donde los resultados de los programas El primer intento por hacer una CPU basada en el con-
de investigación de las universidades eran ejecutados con cepto RISC fue hecho en IBM el cual comenzó en 1975,
fondos del programa DARPA VLSI. El programa VLSI precediendo a los dos proyectos anteriores. Nombrado
prácticamente desconocido hoy en día, llevó a un gran como proyecto RAN, el trabajo llevó a la creación de la
número de avances en el diseño de chips, la fabricación y familia de procesadores IBM 801, la cual fue utilizada
aún en las gráficas asistidas por computadora. ampliamente en los equipos de IBM. El 801 fue produ-
cido eventualmente en forma de un chip como ROMP en
Una de las primeras máquinas de carga/almacenamiento
1981, que es la abreviatura de Research Office Products
fue la minicomputadora Data General Nova, diseñado en
Division Mini Processor. Como implica el nombre, esta
1968 por Edson de Castro. Había un conjunto de instruc-
CPU fue diseñada para tareas pequeñas, y cuando IBM
ciones RISC casi puro, muy similar a la de los procesa-
lanzó el diseño basado en el IBM RT-PC en 1986, el ren-
dores ARM de hoy, sin embargo no ha sido citado como
4.6. RISC MODERNO 19

dimiento no era aceptable. A pesar de esto, el 801 inspi- motrices (algunos vehículos tienen más de 10 dentro de
ró varios proyectos de investigación, incluyendo algunos ellos), las consolas de videojuegos de última generación
nuevos dentro de IBM que eventualmente llevarían a su (PlayStation 3, Wii y Xbox 360) están basadas en Po-
sistema IBM POWER. werPC.
En los primeros años, todos los esfuerzos de RISC eran Casi todos los demás proveedores se unieron rápidamen-
bien conocidos, pero muy confinados a los laboratorios te. De los esfuerzos similares en el Reino Unido resul-
de las universidades que los habían creado. El esfuerzo tó el INMOS Trasputer, el Acorn Archimedes y la línea
de Berkeley se dio a conocer tanto que eventualmente se Advanced RISC Machine, la cual tiene un gran éxito hoy
convirtió en el nombre para el proyecto completo. Mu- en día. Las compañías existentes con diseños CISC tam-
chos en la industria de la computación criticaban el que bién se unieron a la revolución. Intel lanzó el i860 y el
los beneficios del rendimiento no se podían traducir en i960 a finales de los ochenta, aunque no fueron muy exi-
resultados en el mundo real debido a la eficiencia de la tosos. Motorola construyó un nuevo diseño pero no le vio
memoria de múltiples instrucciones, y ésa fue la razón demasiado uso y eventualmente lo abandonó, uniéndose
por la que nadie los estaba utilizando. Pero a comienzos a IBM para producir el PowerPC. AMD lanzó su familia
de 1986, todos los proyectos de investigación RISC co- 29000 la cual se convirtió en el diseño RISC más popular
menzaron a entregar productos. De hecho, casi todos los a principios de los noventa.
procesadores RISC modernos son copias directas del di- Hoy en día los microcontroladores y CPU RISC repre-
seño RISC-II. sentan a la vasta mayoría de todos los CPU utilizados.
La técnica de diseño RISC ofrece poder incluso en medi-
das pequeñas, y esto ha venido a dominar completamente
el mercado de CPU integrados de bajo consumo de ener-
4.6 RISC moderno gía. Los CPU integrados son por mucho los procesadores
más comunes en el mercado: considera que una familia
La investigación de Berkeley no fue comercializada di- completa con una o dos computadoras personales puede
rectamente, pero el diseño RISC-II fue utilizado por Sun poseer varias docenas de dispositivos con procesadores
Microsystems para desarrollar el SPARC, por Pyramid integrados. RISC se ha apoderó completamente del mer-
Technology para desarrollar sus máquinas de multipro- cado de estación de trabajo. Después del lanzamiento de
cesador de rango medio, y por casi todas las compañías la SUN SPARCstation los otros proveedores se apuraron
unos años más tarde. Fue el uso de RISC por el chip de a competir con sus propias soluciones basadas en RISC.
SUN en las nuevas máquinas el que demostró que los be- Aunque hacia 2006-2010 las estaciones de trabajo pasa-
neficios de RISC eran reales, y sus máquinas rápidamente ron a la arquitectura x86-64 de Intel y AMD. Incluso el
desplazaron a la competencia y esencialmente se apode- mundo de las computadoras centrales está ahora basado
raron de todo el mercado de estaciones de trabajo. completamente en RISC.
John Hennessy dejó Stanford para comercializar el di- Esto es sorprendente en vista del dominio del Intel x86 y
seño MIPS, comenzando una compañía conocida como x86 64 en el mercado de las computadoras personales de
MIPS Computer Systems Inc. Su primer diseño fue el escritorio (ahora también en el de estaciones de trabajo),
chip de segunda generación MIPS-II conocido como el ordenadores portátiles y en servidores de la gama baja.
R2000. Los diseños MIPS se convirtieron en uno de los Aunque RISC fue capaz de avanzar en velocidad muy rá-
chips más utilizados cuando fueron incluidos en las con- pida y económicamente.
solas de juego Nintendo 64 y PlayStation. Hoy son uno de
Los diseños RISC han llevado a un gran número de plata-
los procesadores integrados más comúnmente utilizados
formas y arquitecturas al éxito, algunas de las más gran-
en aplicaciones de alto nivel por Silicon Graphics.
des:
IBM aprendió del fallo del RT-PC y tuvo que continuar
con el diseño del RS/6000 basado en su entonces nue- • La línea MIPS Technologies Inc., que se encontraba
va arquitectura IBM POWER. Entonces movieron sus en la mayoría de las computadoras de Silicon Grap-
computadoras centrales S/370 a los chips basados en IBM hics hasta 2006, y estuvo en las consolas ya desca-
POWER, y se sorprendieron al ver que aun el conjunto talogadas Nintendo 64, PlayStation y PlayStation 2.
de instrucciones muy complejas (que era parte del S/360 Actualmente se utiliza en la PlayStation Portable y
desde 1964) corría considerablemente más rápido. El re- algunos routers.
sultado fue la nueva serie System/390 que aún hoy en
día es comercializada como zSeries. El diseño IBM PO- • La serie IBM POWER, utilizado principalmente por
WER también se ha encontrado moviéndose hacia abajo IBM en Servidores y superordenadores.
en escala para producir el diseño PowerPC, el cual eli-
minó muchas de las instrucciones solo IBM y creó una • La versión PowerPC de Motorola e IBM (una ver-
implementación de chip único. El PowerPC fue utilizado sión de la serie IBM POWER) utilizada en los or-
en todas las computadoras Apple Macintosh hasta 2006, denadores AmigaOne, Apple Macintosh como el
y está comenzando a ser utilizado en aplicaciones auto- iMac, eMac, Power Mac y posteriores (hasta 2006).
20 CAPÍTULO 4. REDUCED INSTRUCTION SET COMPUTING

Actualmente se utiliza en muchos sistemas empo- • Microprocesador


trados en automóviles, routers, etc, así como en mu-
chas consolas de videojuegos, como la Playstation • Microcontrolador
3, Xbox 360 y Wii. • VLIW

• El procesador SPARC y UltraSPARC de Sun Mi- • OpenRISC


crosystems y Fujitsu, que se encuentra en sus últi- • SISC
mos modelos de servidores (y hasta 2008 también
en estaciones de trabajo).
4.8 Enlaces externos
• El PA-RISC y el HP/PA de Hewlett-Packard, ya
descatalogados.
• Linux en portátiles con RISC

• El DEC Alpha en servidores HP AlphaServer y esta-


ciones de trabajo AlphaStation, ya descatalogados.

• El ARM – El paso de hardware de instruccio-


nes x86 en operaciones RISC llega a ser signi-
ficativo en el área y la energía para dispositivos
móviles e integrados. Por lo tanto, los procesa-
dores ARM dominan en PALM, Nintendo DS,
Game Boy Advance y en múltiples PDAs, Ap-
ple iPods, Apple iPhone, iPod Touch (Samsung
ARM1176JZF, ARM Cortex-A8, Apple A4), Ap-
ple iPad (Apple A4 ARM -based SoC), videoconso-
las 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 del corazón de mu-
chos equipos electrónicos para el [Link]
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 wi-


reless de poco consumo (Bluetooth, wifi) de CSR.

Uso Actualmente

4.7 Véase también


• Arquitectura de conjunto de instrucciones complejas

• Arquitectura computacional

• Arquitectura Harvard

• Arquitectura de von Neumann

• Modos de direccionamiento

• CISC
Capítulo 5

Complex instruction set computing

En arquitectura computacional, CISC (del inglés


Complex Instruction Set Computer, en español Compu-
tador con Conjunto de Instrucciones Complejas) es
un modelo de arquitectura de computadores. Los
microprocesadores CISC tienen un conjunto de instruc-
ciones que se caracteriza por ser muy amplio y permitir
operaciones complejas entre operandos situados en la
memoria o en los registros internos, en contraposición a
la arquitectura RISC.
Este tipo de arquitectura dificulta el paralelismo entre ins-
trucciones, por lo que, en la actualidad, la mayoría de
los sistemas CISC de alto rendimiento implementan un
sistema que convierte dichas instrucciones complejas en
varias instrucciones simples del tipo RISC, llamadas ge-
neralmente microinstrucciones.
Los CISC pertenecen a la primera corriente de construc-
ción de procesadores, antes del desarrollo de los RISC.
Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda
la familia Intel x86, AMD x86-64 usada en la mayoría de
las computadoras personales actuales.
Hay que hacer notar, sin embargo que la utilización del
término CISC comenzó tras la aparición de los proce-
sadores RISC como nomenclatura despectiva por par-
te de los defensores/creadores de éstos últimos. Véase
Retrónimo.

5.1 Véase también


• Arquitectura Harvard

• Arquitectura de von Neumann


• Microcontrolador

• RISC
• SISC

21
Capítulo 6

Simple Instruction Set Computing

[2] Richard C. Detmer (2001). Introduction to 80 X 86 As-


sembly Language and Computer Architecture. EUA: Jones
and Bartlett Publishers, Inc. P. 264

[3] Nihal Kularatna (2000). Modern component families and


circuit block design. EUA: Butterworth-Heinemman. P.
210

6.2 Enlaces externos


• Computer Architecture and Organization (en inglés)
• SISC. «START», vol. 3, nº. 9. Abril de 1989. P. 94
(en inglés) - una visión satírica sobre el significado
de «SISC».

El procesador digital de señales TMS320 utiliza la arquitectura


SISC.

SISC (Simple Instruction Set Computing) es un ti-


po de arquitectura de microprocesadores orientada al
procesamiento de tareas en paralelo. Esto se implemen-
ta mediante el uso de la tecnología VLSI, que permite a
múltiples dispositivos de bajo costo que se utilicen con-
juntamente para resolver un problema particular dividido
en partes disjuntas. La arquitectura RISC es un subcon-
junto del SISC, centrada en la velocidad de procesamien-
to debido a un conjunto de instrucciones reducido.[1]
Microprocesadores SISC (o RISC) nunca han logrado
amenazar el amplio dominio de los procesadores CISC
en los ordenadores personales, debido a su popularidad
y al aumento constante en la capacidad de procesamien-
to de los mismos.[2] Por lo tanto, el uso de RISC y SISC
sigue limitado a necesidades muy específicas de procesa-
miento, como en los procesadores DSP.[3]

6.1 Referencias
[1] Selim G. Akl; F. Fiala; Waldemar W. Koczkodaj (1990).
Advances in computing and information - ICCI '90. Ale-
mania: Springer-Verlag. P. 519

22
6.3. ORIGEN DEL TEXTO Y LAS IMÁGENES, COLABORADORES Y LICENCIAS 23

6.3 Origen del texto y las imágenes, colaboradores y licencias


6.3.1 Texto
• Arquitectura de computadoras Fuente: [Link] Colaboradores:
Moriel, Frutoseco, Sauron, Vanbasten 23, Javier Carro, Triku, Jynus, Sms, Davidnr, Murphy era un optimista, Enric Naval, Dianai, Mandra-
mas, Geom, Porao, Taichi, Rembiapo pohyiete (bot), Johnbojaen, RobotQuistnix, Platonides, Alhen, Chobot, Yrbot, BOTijo, YurikBot,
Olea, GermanX, Gaijin, KnightRider, Eskimbot, Banfield, Morza, Lancaster, Folkvanger, CEM-bot, Laura Fiorucci, Eamezaga, Antur,
Gafotas, Thijs!bot, PabloCastellano, Bot que revierte, Herraiz, LMLM, Mpeinadopa, JAnDbot, Death Master, Satin, Amanuense, Totty-
Bot, AlnoktaBOT, VolkovBot, Technopat, Josell2, Matdrodes, Shooke, AlleborgoBot, [Link], SieBot, Mushii, PaintBot, Loveless,
Ezeperez26, El bot de la dieta, Mafores, Javierito92, Marcecoro, HUB, StarBOT, Nicop, Tosin2627, Botellín, EdgarGSX, Leonpolan-
co, Alejandrocaro35, LordT, Poco a poco, BodhisattvaBot, Raulshc, Açipni-Lovrij, AVBOT, David0811, Gabriel Fernando Rosso R.,
Diegusjaimes, Arjuno3, Saloca, Luckas-bot, Amirobot, 16dst0113m, Roinpa, FariBOT, SuperBraulio13, Ortisa, Jkbw, Ricardogpn, Ig-
na, Misocroft, Delgadorandy, PatruBOT, Green Tea Writer, Foundling, EmausBot, Savh, Sergio Andres Segovia, Africanus, Rubpe19,
El Ayudante, MadriCR, Aldeiv, WikitanvirBot, CocuBot, Matthiaspaul, Antonorsi, MerlIwBot, JABO, Deivis, AvocatoBot, Invadibot,
Jmojeda217, Acratta, Elvisor, DarafshBot, DanielithoMoya, Helmy oved, Syum90, Manuel cataño, Addbot, Nahuel9m, Fricki13, Lagoset,
AbecedarioABC, Jarould, Bruno Rene Vargas, Crystallizedcarbon, 4lextintor, Kepa98, Eligio Budde, Davsegnir y Anónimos: 184
• Arquitectura de von Neumann Fuente: [Link] Colaboradores:
PACO, Moriel, Hardcoded, ManuelGR, Neumotoraxiv, Sanbec, Interwiki, Jynus, Sms, Rsg, Jsanchezes, Cárdenas, Geom, Porao, 142857,
Muijz, Desatonao, Renabot, Edmont, Rembiapo pohyiete (bot), Magister Mathematicae, Charlitos, Orgullobot~eswiki, RobotQuistnix,
Chobot, Palica, Deprieto, Yrbot, BOT-Superzerocool, YurikBot, Olea, Echani, GermanX, KnightRider, Paintman, Jstitch, BOTpolicia,
CEM-bot, Laura Fiorucci, Ignacio Icke, Pacostein, Roberpl, Ingenioso Hidalgo, Thijs!bot, DFTDER, CesarWoopi, RoyFocker, Botones,
Isha, Xoneca, Dogor, Mansoncc, TXiKiBoT, Bot-Schafter, Netito777, Bucephala, AlnoktaBOT, Cinevoro, VolkovBot, Urdangaray, Tech-
nopat, Galandil, Matdrodes, Muro Bot, Edmenb, BotMultichill, Kur4i, SieBot, Drinibot, STBot~eswiki, Mutari, Marcecoro, HMBot, HUB,
Antón Francho, Alejandrocaro35, Botito777, Solfa, Poco a poco, Raulshc, UA31, AVBOT, LucienBOT, MastiBot, Diegusjaimes, Arjuno3,
Luckas-bot, FariBOT, Yonidebot, William1509, ArthurBot, Necaxista, SuperBraulio13, Xqbot, Jkbw, Irbian, Ricardogpn, Botarel, Rojas-
yesid, 8davito8, Halfdrag, RedBot, Estibaliz tm, David strigoi, Snaow, Dexa~eswiki, PatruBOT, Fernandez1, Oussa007, Ihssanos, Tara-
wa1943, Edslov, EmausBot, Sergio Andres Segovia, El Ayudante, Chopinzone, Bean49Bot, WikitanvirBot, MetroBot, Invadibot, Elvisor,
Santga, Helmy oved, Rauletemunoz, Miguel2706, Adriberve, Addbot, Pepetu, JanikMaC, Jarould, Bruno Rene Vargas, Crystallizedcarbon,
BenjaBot, Yukkiteru, NinoBot, ElPenetrador222, CAPTAIN RAJU, Rafacortes888, Kitipasa12, Kitipasa13 y Anónimos: 167
• Arquitectura Harvard Fuente: [Link] Colaboradores: Hardcoded, Sms,
Jsanchezes, Geom, Porao, Edmont, Coroliano, Deleatur, Hispa, Emijrp, Rembiapo pohyiete (bot), Magister Mathematicae, RobotQuistnix,
Yrbot, YurikBot, Olea, GermanX, KnightRider, Paintman, CEM-bot, Thijs!bot, Egaida, Dogor, JAnDbot, Jugones55, Cinevoro, Technopat,
Liquid-aim-bot, Luis1970, AlleborgoBot, Muro Bot, DragonBot, PixelBot, Alejandrocaro35, Botito777, David0811, Davidgutierrezalva-
rez, Luckas-bot, FariBOT, ArthurBot, Xqbot, Panderine!, PatruBOT, Dinamik-bot, Avm99963, Nessa los, Foundling, HRoestBot, Sergio
Andres Segovia, Ebrambot, MetroBot, Addbot, Balles2601, Zero mctavish, Bruno Rene Vargas, Luisoft1965, CarlosDíaz1233 y Anónimos:
36
• Reduced instruction set computing Fuente: [Link] Cola-
boradores: Llull~eswiki, Joseaperez, Moriel, Pieter, ManuelGR, Jcenteno, Lcgarcia, Sanbec, Head, Interwiki, Ejmeza, Ascánder, Avm,
Murphy era un optimista, Porao, Benjavalero, Mnts, LeonardoRob0t, Boticario, [Link], Deleatur, Yurik, Yrithinnd, Rembiapo
pohyiete (bot), Orgullobot~eswiki, RobotQuistnix, ManoloKosh, Unf, Superzerocool, Dromero, Yrbot, YurikBot, Museo8bits, Olea, Ger-
manX, KnightRider, Eloy, Eskimbot, Aungari, Leonardocaballero, Chlewbot, Filipo, Acanas, The worst user, Paintman, VictorSanchez2,
BOTpolicia, CEM-bot, Alexav8, Pacostein, Roberpl, Rosarinagazo, Thijs!bot, Esoya, RoyFocker, Isha, Xoneca, Dogor, JAnDbot, Man-
bemel, TXiKiBoT, Cvelasquez, DonBarredora, Cinevoro, Aibot, VolkovBot, Mstreet linux, Matdrodes, Muro Bot, SieBot, Acctoujours,
Mushii, Loveless, Mauricio Martinez O, Drinibot, PipepBot, Jmmuguerza, Makecba, Piero71, Lean 7, Eduardosalg, Al Lemos, Cami-
lo, Thingg, AVBOT, David0811, MastiBot, SpBot, Diegusjaimes, Leszek Jańczuk, Luckas-bot, Ptbotgourou, FariBOT, Rys1, ArthurBot,
MartinDM, Xqbot, Jkbw, Rubinbot, Botarel, Kizar, Masterjuantex, AnselmiJuan, TorQue Astur, PatruBOT, CVBOT, Angelito7, Sabar69,
Foundling, EmausBot, Grillitus, WikitanvirBot, Etorralbo90, Amrcrayven, Jaluj, Invadibot, Santga, Angeldefuego22, Alonduro, Addbot,
BenjaBot, Auxal3000, NinoBot y Anónimos: 101
• Complex instruction set computing Fuente: [Link] Cola-
boradores: Sabbut, Tano4595, Laminitania, Yrithinnd, Banfield, Dogor, JAnDbot, CommonsDelinker, TXiKiBoT, DonBarredora, Volkov-
Bot, Elabra sanchez, Loveless, Arapajoe, Navarroaxel, Al Lemos, Fr85710, BodhisattvaBot, MastiBot, Luckas-bot, Amirobot, FariBOT,
Luloes, Delaware~eswiki, MartinDM, Xqbot, Dnog, EmausBot, ZéroBot, Grillitus, Elías, Legobot, Lautaro 97, Alonduro, NinoBot y Anó-
nimos: 12
• Simple Instruction Set Computing Fuente: [Link] Colabo-
radores: Al Lemos, Mcapdevila, ZéroBot, KLBot2 y Anónimos: 2

6.3.2 Imágenes
• Archivo:Ambox_outdated_serious.svg Fuente: [Link]
Licencia: Public domain Colaboradores: Trabajo propio Artista original: penubag, Tkgd2007 made the clock
• Archivo:[Link] Fuente: [Link] Licen-
cia: Public domain Colaboradores: Trabajo propio Artista original: David strigoi
• Archivo:Commons-emblem-question_book_orange.svg Fuente: [Link]
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//[Link]/wiki/File:
[Link]' class='image'><img alt='[Link]' src='[Link]
commons/thumb/b/bc/[Link]/[Link]' width='25' height='25' srcset='https:
//[Link]/wikipedia/commons/thumb/b/bc/[Link]/[Link] 1.5x,
[Link] 2x'
24 CAPÍTULO 6. SIMPLE INSTRUCTION SET COMPUTING

data-file-width='48' data-file-height='48' /></a> + <a href='//[Link]/wiki/File:Question_book.svg' class='image'><img


alt='Question [Link]' src='[Link]
[Link]' width='25' height='20' srcset='[Link]
38px-Question_book.[Link] 1.5x, [Link]
[Link] 2x' data-file-width='252' data-file-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701
• Archivo:Commons-emblem-question_book_yellow.svg Fuente: [Link]
Commons-emblem-question_book_yellow.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//[Link]/wiki/File:
[Link]' class='image'><img alt='[Link]' src='[Link]
commons/thumb/c/c5/[Link]/[Link]' width='25' height='25' srcset='https:
//[Link]/wikipedia/commons/thumb/c/c5/[Link]/[Link] 1.5x,
[Link]
2x' data-file-width='48' data-file-height='48' /></a> + <a href='//[Link]/wiki/File:Question_book.svg'
class='image'><img alt='Question [Link]' src='[Link]
svg/25px-Question_book.[Link]' width='25' height='20' srcset='[Link]
Question_book.svg/38px-Question_book.[Link] 1.5x, [Link]
svg/50px-Question_book.[Link] 2x' data-file-width='252' data-file-height='199' /></a> Artista original: GNOME icon artists, Linfocito
B
• Archivo:[Link] Fuente: [Link] Licencia: Public do-
main Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used
to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version,
created by Reidab.
• Archivo:Computer-aj_aj_ashton_01.svg Fuente: [Link]
-_Yellow_theme.svg Licencia: CC0 Colaboradores: [Link] Artista original: AJ from [Link]
• Archivo:Computer_system_bus.svg Fuente: [Link] Licen-
cia: CC BY-SA 3.0 Colaboradores: Trabajo propio, based on a diagram which seems to in turn be based on page 36 of The Essentials
of Computer Organization and Architecture By Linda Null, Julia Lobur, [Link]
Artista original: W Nowicki
• Archivo:Control_Data_6600_mainframe.jpg Fuente: [Link]
[Link] Licencia: Public domain Colaboradores: Trabajo propio Artista original: Hullie
• Archivo:DEC_Alpha_21-35023-13_J40793-28_top.jpg Fuente: [Link]
21-35023-13_J40793-28_top.jpg Licencia: CC-BY-SA-3.0 Colaboradores: ? Artista original: ?
• Archivo:Harvard_architecture-[Link] Fuente: [Link] Li-
cencia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: Nessa los
• Archivo:Ic-photo-TI--TMS320C30GBL--(TMS320-DSP).jpg Fuente: [Link]
Ic-photo-TI--TMS320C30GBL--%28TMS320-DSP%[Link] Licencia: GFDL Colaboradores: CPU Grave Yard, my CPU collection
Artista original: Myself User:ZyMOS
• Archivo:Von_Neumann_Architecture.svg Fuente: [Link]
[Link] Licencia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: Kapooht
• Archivo:Von_Neumann_architecture.svg Fuente: [Link]
[Link] Licencia: CC-BY-SA-3.0 Colaboradores: ? Artista original: ?

6.3.3 Licencia del contenido


• Creative Commons Attribution-Share Alike 3.0

También podría gustarte