Cisc y Risc
Cisc y Risc
Introducción
2. Procesadores: CISC y RISC
3. Kripton - 5 O K5 De Amd
4. Pentium pro de intel
5. Mips
6. Sun microsystems
7. Hewlett - packard
8. Fundamentos y origen del risc
9. Corazón del risc
10. Compiladores optimizados del risc
11. ¿ Risc o cisc ?
1. Introducción
Todos los CPUs x86 compatibles con la PC son procesadores CISC
(Computadora de Conjunto de Instrucciones Complejas), pero en las Mac nuevas o en
alguna que se hagan dibujos de ingeniería complejos, probablemente tengan un CPU RISC
(Computadora de Conjunto de Instrucciones Reducido).
La diferencia práctica entre CISC y RISC es que los procesadores CISCx86 corren a
DOS, Windows 3.1 y Windows 95 en el modo nativo; es decir, sin
latraducción de software que disminuya el desempeño. Pero CISC y RISC también reflejan
dos filosofías de computación rivales. El procesamiento de RISC requiere breves
instrucciones de software de la misma longitud, que son fáciles de procesar rápidamente y
en tandém por un CPU.
En contraste, un procesador de CISC tiene que procesar instrucciones más largas de
longitud desigual. Es más difícil procesar múltiples instrucciones de CISC a la vez.
Los que proponen RISC mantienen que su método de procesamiento es más eficiente y más
escalable, por lo que los arquitectos pueden añadir unidades de ejecución más fácilmente a
un diseño existente y aumentar el rendimiento (las unidades de ejecución son
los circuitos dentro del chip que hacen gran parte del trabajo). Similarmente, RISC facilita
el multiprocesamiento verdadero, donde varios CPUs trabajan simétricamente mientras
dividen, ejecutan y ensamblan una cadena de instrucción; los chips CISC pueden hacer lo
mismo, pero no son tan efectivos. La simplicidad de las instrucciones de RISC también
significa que requieren menos lógica para ejecutar, reduciendo el costo del chip. Pocos en el
campo del CISC discuten estos hechos, prefiriendo apuntar a la realidad <<la gran mayoría
del software para la PC está escrito para procesadores CISC>>.
Todo el debate de CISC/RISC puede ser irrelevante pronto debido a que
nuevas técnicas están convergiendo. El Pentium Pro, el Nx586 y el K5 son básicamente
procesadores RISC en su núcleo. Toman las instrucciones de CISC y las traducen a
instrucciones estilo RISC. Para la generación que sigue al Pentium Pro, Intel y Hewlett-
Packard están colaborando en un CPU híbrido que pueda aceptar instrucciones RISC y
CISC. Si ese chip crea un estándar, puede acelerar el cambio hacia el software optimizado
para RISC. Un mundo de RISC significaría CPUs más poderosos, y más baratos. Cuando
quiera mejorar, simplemente puede añadir otro CPU en lugar de desprenderse de su viejo
CPU.
2. Procesadores: CISC y RISC
Los procesadores se agrupan hoy en dos familias, la más antigua y común de las cuales es la
"CISC" o "Complex InstructionSet Computer": computadorde set complejo de
instrucciones. Esto corresponde a procesadores que son capaces de ejecutarun gran número
de instrucciones pre-definidas enlenguaje de máquina (del orden del centenar).
Desde hace unos años se fabrican y utilizan en algunas máquinas procesadores "RISC" o
"Reduced Instruction Set Computer",es decir con un número reducido de instrucciones.
Esto permite una ejecución más rápida de las instrucciones pero requierecompiladores (o
sea traductores automáticos deprogramas) más complejos ya que las instrucciones que un
"CISC" podríaadmitir pero no un "RISC", deben ser escritas como combinaciones de varias
instruciones admisibles del "RISC". Se obtieneuna ganancia en velocidad por el hecho que
el RISC domina instrucciones muy frecuentes mientras sonoperaciones menosfrecuentes
las que deben descomponerse.
Dentro de muy poco los usuarios dejaran de hacerse la pregunta ¿ RISC O
CISC ?, puesto que la tendencia futura, nos lleva a pensar que ya no existiran los CISC
puros.
Hace ya tiempo que se ha empezado a investigar sobre microprocesadores "hibridos", es
decir, han llevado a cabo el que las nuevas CPU's no sean en su cien por cien CISC, sino por
el contrario, que estas ya contengan algunos aspectos de tecnologia RISC. Este proposito se
ha realizado con el fin de obtener ventajas procedentes de ambas tecnologias (mantener la
compatibilidad x86 de los CISC, y a la vez aumentar las prestaciones hasta aproximarse a
un RISC), sin embargo, este objetivo todavia no se ha conseguido, de momento se han
introducido algunos puntos del RISC, lo cual no significa que hayan alcanzado un nivel
optimo.
Realmente, las diferencias son cada vez mas borrosas entre las arquitecturas CISC y RISC.
Las CPU's combinan elementos de ambas y no son faciles de encasillar. Por ejemplo, el
Pentium Pro traduce las largas instrucciones CISC de la arquitectura x86 a
microoperaciones sencillas de longitud fija que se ejecutan en un nucleo de estilo RISC. El
UltraSparc-II de Sun, acelera la decodificacion MPEG con unas instrucciones especiales
para graficos; estas instrucciones obtienen unos resultados que en otros procesadores
requeririan 48 instrucciones.
Por lo tanto a corto plazo, en el mercado coexistiran las CPU's RISC y los
microprocesadores hibridos RISC - CISC, pero cada vez con diferencias mas difusas entre
ambas tecnologias. De hecho, los futuros procesadores lucharan en cuatro frentes :
-Ejecutar mas instrucciones por ciclo.
-Ejecutar las instrucciones en orden distinto del original para que las interdependencias
entre operaciones sucesivas no afecten al rendimiento del procesador.
-Renombrar los registros para paliar la escasez de los mismos.
-Contribuir a acelerar el rendimiento global del sistema, ademas de la velocidad de la
CPU.
A continuacion pasaremos a comentar brevemente algunas de las CPU's, recien salidas o
proximas a salir:
3. Kripton - 5 O K5 De Amd
Estado Actual : Muestras comerciales.
Velocidad Prevista : 120 Mhz
Rendimiento Estimado : Entre 109 y 115 SPECint92.
Proceso de Fabricacion : CMOS de tres capas de metal.
Tamaño de la Tecnologia de Proceso : 0'35 micras
Ventajas Tecnologicas :
Microarquitectura superescalar de cuatro vias
Nucleo de tipo RISC desacoplado
Ejecucion especulativa con reordenacion de instrucciones
Desventajas Tecnologicas :
Velocidades de reloj inferiores a las inicialmente previstas
Las extensas pruebas de compatibilidad han retrasado el lanzamiento
Donde Consultar : http : // www.amd.com
4. Pentium pro de intel
Estado Actual : Inicios de produccion.
Velocidad Prevista : 150 Mhz
Rendimiento Estimado : Entre 220 SPECint92; 215 SPECfp92
Proceso de Fabricacion : BiCMOS.
Tamaño de la Tecnologia de Proceso : 0'6 micras
Ventajas Tecnologicas :
Paquete multichip que integra una cache secundaria de 256 KB que se comunica con la CPU
a la misma velocidad del procesador
Microarquitectura superescalar con reordenacion de instrucciones
Superpipelines incluidos para permitir altas velocidades de reloj.
Desventajas Tecnologicas :
Alto precio de fabricacion del paquete multichip
Microarquitectura optimizada para software de 32 bits, que tienen rendimiento pobre
con codigo de 16 bits
Consumo de energia y disipacion de calor totalmente inapropiadas para ordenadores
portatiles
Donde Consultar : http : // www.intel.com
5. Mips
Estado Actual : Primeras pruebas de produccion
Velocidad de reloj Prevista : 200 Mhz
Rendimiento Estimado : 300 SPECint92 y 600 SPECfp92
Proceso de Fabricacion : CMOS
Tamaño de la Tecnologia de Proceso : 0'35 micras
Ventajas Tecnologicas :
Este chip de 64 bits tiene cinco pipelines funcionales, por lo que puede llegar a ejecutar
cinco instrucciones por ciclo de reloj. Con dos unidades de coma flotante
de precision doble, el R10000 esta optimizado para sostener un alto rendimiento de coma
flotante.
Desventajas Tecnologicas :
Para optimizar el rendimiento, la memoria cache secundaria externa tiene que fabricarse
con costosa tecnologia
SRAM.
Donde Consultar : http : // www.mips.com
6. Sun microsystems
Estado Actual : Diseño
Velocidad de Reloj Prevista : de 250 a 300 Mhz
Rendimiento Estimado : De 350 a 420 SPECint92 y de 550 a 660 SPECfp92
Proceso de Fabricacion : CMOS de cinco capas de metal.
Tamaño de la Tecnologia de Proceso : 0'3 micras
Ventajas Tecnologicas :
El UltraSparc-II es una CPU de 64 bits superescalar de cuatro vias que no ha sido
optimizada para tener unas altas cifras de rendimiento puro, sino para
aplicaciones multimedia y de red.
Desventajas Tecnologicas :
La falta de asistencia por harware para reordenar instrucciones crea una gran dependencia
hacia la calidad de los compiladores y exige la recompilacion del software anterior para
disfrutar de todas las ventajas del chip
UltraSparc-II.
Donde Consultar : http : // www.sun.com / sparc /
7. Hewlett - packard
Estado Actual : Muestras de produccion
Velocidad de Reloj Prevista : de 200 Mhz
Rendimiento Estimado : Superior a 360 SPECint92 y 550 SPECfp92
Proceso de Fabricacion : CMOS
Tamaño de la Tecnologia de Proceso : 0'5 micras
Ventajas Tecnologicas :
HP es el unico fabricante RISC que deja fuera del chip las memorias cache primarias de
instrucciones y datos, por lo que pueden tener un tamaño de varios megabytes y tener un
buen rendimiento con los datos de tamaño excesivo para la cache, que suelen ser
problematicos para otros nucleos RISC diseñados solo para la velocida de proceso.
Desventajas Tecnologicas :
Las caches externas funcionan a la misma velocidad que la CPU y, por tanto,
deben estar fabricadas con la costosisima SRAM ultrarrapida.
Donde Consultar : http : // www.hp.com
8. Fundamentos y origen del risc
Los titulares que definen la arquitectura RISC, podria resumirse, con la suficiente
flexibilidad, en varios puntos :
- Reduccion del numero de instrucciones ( ensamblador ).
- Uso intensivo de registros, diminuyendo los accesos a memoria.
- Simplificacion de la CPU en aras de una mayor velocidad de proceso.
- Empleo de memorias cache.
- Utilizacion de "compiladores optimizados", generadores de codigo objeto adaptado a los
requerimientos de la CPU.
9. Corazón del risc
La CPU o procesador es el centro, el cerebro del ordenador. Sera ella quien dicte
las acciones a tomar tras leer la informacion contenida en memoria. Se alimenta de
instrucciones en lenguaje ensamblador para, a partir de cada una de estas, generar una
pleyade de ordenes ( microordenes ) que, semiocultas al programador, recorreran las
interioridades del propio procesador, activando registros, etc,... de su complejo hardware, a
la vez que escapan hacia el exterior de la CPU con la mision de gobernar
el comportamiento de la memoria buses de E/S, etc. En resumen son estas microordenes
las que constituyes el sistema nervioso del ordenador. El problema se plantea al
implementar en la CPU un dispositivo que "dispare" una serie de respuestas ante el
estimulo de los "LOAD", "STORE", "JUMP", "MOVE"...
Las CPU's cuentan con una pequeña memoria de control de naturaleza ROM en la que se
graba el conjunto de microordenes que corresponden a cada instruccion. Cuando una de
estas es introducida en el procesadorm, lo que se hace realmente es utilizarla para
direccionar adecuadamente la memoria de control y obtener asi las microordenes
correspondientes. ¿Ventajas? Un cambio en las instrucciones solo exige regrabar esta ROM.
¿ COMO SURGE EL RISC ?
Los ordenadores etiquetados como CISC gozan de los privilegios y defectos del
microcodigo. La CPU es considerablemente mas rapida que la memoriaprincipal. Esto
significa que conviene manejar un amplio abanico de instrucciones complejas
cuyo significado equivalga al de varias instrucciones simples, disminuyendo asi los accesos
a memoria. A esto se le añade la tandencia de aumentar el grado de complejidad de las
instrucciones para acercarlas a los lenguajes de alto nivel.
Sin embargo, como resultado de icertos estudios en los que se examino la frecuencia de
utilizacion de las diferentes instrucciones, se observo que el 80 % del tiempo era consumido
por solo el 20 % de las instrucciones, con prioridad de los almacenamientos (STORE),
cargas (LOAD) y bifurcaciones (BRANCH).
Instrucciones mas usadas
Esto significa que se poseian soberbias memorias de control cuyo contenido era muy poco
utilizado. Se estaba penalizando la velocidad de respuesta en aras de tener informacion
poco util.
La alternativa RISC se basa en esto y propone procesadores cableados con
un repertorio simple de instrucciones sencillas y frecuentes; todo codigo complejo puede
descomponerse en varios congeneres mas elementales en los que, para evitar los terribles
efectos sobre los retardos de la memoria principal (MP), se recurre a numerosos registros y
a memorias cache. Un registro es una unidad de almacenamiento enclavada en la CPU y,
por tanto, tan rapida como esta. Las memorias cache son pequeñas memorias
de alta velocidad, se alimentan de la MP, de la que toman la informacion que esta siendo
mas frecuentemente utilizada. Otro de los objetivos del RISC fue lograr que a cada
instruccion correspondiera un solo ciclo de reloj, a excepcion, de aquellos casos que hay que
mover datos.
- Disminuye la probabilidad de fallo.
- Reduce el tamaño de la CPU, que puede entonces albergar mas recursos (registros).
- Facilita el diseño.
- Permite maquinas mas compactas y con menor consumo.
- A menor complejidad... menor coste.
Aun asi con todos los datos obtenidos a favor y en contra del CISC y del RISC, hay que tener
en cuenta otro factor importante : la eficacia del software.
10. Compiladores optimizados del risc
Es cierto que un procesador RISC es mas veloz que uno CISC, pero tambien lo es que, al ser
mas simples las instrucciones, necesita mas de estas para emular funciones complejas, por
lo que los programas son mas largos y voluminosos. Es decir, el codigo objeto generado,
ocupa mas memoria y, al ser mas extenso, emplea mas tiempo
en ser procesado. Los partidarios argumentan que el factor volumen de memoria incide
poco en el precio,ademas estiman que el aumento de codigo no toma dimensiones
importantes por el uso de coprocesadores y compiladores optimizados.
Los segundos destacan dos aspectos :
1.- Al existir menor variedad en el codigo generado, el proceso de compilacion es mas
rapido. El motivo es que hay menor numero de reglas y posibilidades entre las que elegir
( no existira la disyuntiva de construir la misma accion por diferentes caminos,
solo habra una forma unica ) evitando la exploracion de grandes tablas de instrucciones en
busca del sujeto correcto.
" En un ordenador convencional, la misma instruccion de lenguaje de alto nivel puede
ejecutarse de diversa formas, cada una con sus inconvenientes y ventajas, pero en el RISC
solo hay una forma de hacer las cosas "
2.- Al traducir los lenguajes de alto nivel mediante unidades de extrema simplicidad, se
incremente la eficiencia. Si se emplean instrucciones potentes secorre el riesgo de no
aprovecharlas en su totalidad y potencia, menor es la adaptacion a los diferentes casos
particulares
11. ¿ Risc o cisc ?
El conflicto surge al evaluar las ventajas netas ¿ que es mas apropiado, usar muchas
instrucciones de un solo ciclo aprovechadas al maximo, o pocas de multiples pasos de reloj
en las que existe infrautilizacion ?
La cuestion, es que hasta el momento, el estudio de prestaciones de ambas tecnologias, nos
ha llevado a concluir que hoy en dia los RISC obtienen mas prestaciones, es decir, son mas
potentes y rapidos que los CISC. Sin embargo, el mercado se ha decantado por la tecnologia
CISC en cuanto a volumen de ventas. ¿ Por que ?
1.- Por experiencia propia, podemos comprobar que un CISC tiene un coste "razonable",
que es alcanzado a nivel de usuario. Esto mismo, no ocurre con los RISC, que por el
contrario tienen un coste elevado, por esto mismo esta tecnologia ha sido enfocada a ventas
a nivel de empresa y equipos de gama alta.
2.- La utilidad que se le de a la maquina es muy importante, ya que el usuario debe de
encontrar un nivel optimo en cuanto a calidad - precio. Y por que pagar mas si realmente no
se le va a sacar partido al cien por cien.
3.- El software utilizado es otro de los factores importantes, dado que un RISC no utiliza el
mismo software que un CISC. Estos ultimos, por lo general tienen un software mas
asequible.
4.- Dada la compatibilidad hacia atras de la familia CISC x86, los usuarios han podido
renovar sus equipos sin por ello tener que abandonar software que ya conocian, y reutilizar
sus datos. Asi mismo, los fabricantes han tenido en cuenta este factor, puesto que seguir
con otra linea de procesadores suponia no solo un cambio muy radical, sino que ademas
podia llevar un riesgo en cuanto a ventas.
Estos son algunos de los motivos. Sin embargo, tambien hay que tener en cuenta el
conflicto de intereses de algunos fabricantes, asi como la opinion de distintas revistas,
algunas de ellas asociadas a diferentes marcas.
Se estan estudiando las tendencias futuras, como pueden ser los hibridos, mejoras en los
microprocesadores CISC, mejoras en los RISC, ...
Autor:
Luis Ernesto
luis.ernesto[arroba]codetel.net.do
Fuente
http://www.monografias.com/trabajos5/teccisc/teccisc.shtml
Mejor respuesta - elegida por quien preguntó
De Arquitectura computacional, RISC (del inglés Reduced Instruction Set Computer),
Computadora con Conjunto de Instrucciones Reducido. Es un tipo de microprocesadores con
las siguientes características fundamentales:
RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de
instrucciones pequeños 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.
CISC: Un tipo de procesadores que reconoce un conjunto amplio de órdenes, pero que
normalmente realiza los pasos indicados por esas órdenes con menor velocidad que un
procesador RISC. Es el caso de la serie X86 de Intel.
Un ejemplo de CISC es tu PC. Un ejemplo de RISC son el Play Station 3 y los IBM AS/400.
Fuente(s):
http://es.wikipedia.org/wiki/RISC
Hoy en día, los programas cada vez más grandes y complejos
demandan mayor velocidad en el procesamiento de información, lo
que implica la búsqueda de microprocesadores más rápidos y
eficientes.
INTRODUCCION
La arquitectura.
La tecnología de proceso.
El encapsulado.
ARQUITECTURAS CISC
ARQUITECTURAS RISC
- Alrededor del 20% de las instrucciones ocupa el 80% del tiempo total
de ejecución de un programa.
a) Transferencia.
b) Operaciones.
c) Control de flujo.
CONCLUSIONES
http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm
RISC
La idea fue inspirada por el hecho de que muchas de las características que eran incluidas en los
diseños tradicionales 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
lamemoria de la computadora que accedía era cada vez más alta. Esto conllevó la aparición de
numerosas técnicas para reducir el procesamiento dentro del CPU, así como de reducir el número
total de accesos a memoria.
Contenido
[ocultar]
RISC
o 2.1 Multitarea
3 Historia
4 Características
6 RISC moderno
7 Véase también
8 Enlaces externos
Uno de los principios básicos de diseño para todos los procesadores es añadir velocidad al
proveerles alguna memoria muy rápida para almacenar información temporalmente, estas memorias
son conocidas como registros. Por ejemplo, casi cada CPU incluye una orden para sumar dos
números. La operación básica de un CPU sería cargar esos dos números en los registros, sumarlos
y almacenar el resultado en otro registro, finalmente, tomar el resultado del último registro y
devolverlo a la memoria principal.
Sin embargo, los registros tienen el inconveniente de ser algo complejos para implementar. Cada
uno está representado por transistores en el chip, en este aspecto la memoria principal tiende a ser
mucho más simple y económica. Además, los registros le añaden complejidad al cableado, porque
la unidad central de procesamiento necesita estar conectada a todos y cada uno de los registros
para poder utilizarlos por igual.
Como resultado de esto, muchos diseños de CPU limitan el uso de registros de alguna u otra
manera. Algunos incluyen pocos registros, aunque esto limita su velocidad. Otros dedican sus
registros a tareas específicas para reducir la complejidad; por ejemplo, un registro podría ser cap
registros, mientras que el resultado podría estar almacenado en cualquiera de ellos.
En el mundo de la microcomputación de los años setenta, éste era un aspecto más de las CPU, ya
que los procesadores eran entonces demasiado lentos –de hecho había una tendencia a que el
procesador fuera más lento que la memoria con la que se comunicaba-. En esos casos tenía sentido
eliminar casi todos los registros, y entonces proveer al programador de una buena cantidad de
maneras de tratar con la memoria para facilitar su trabajo.
Dado el ejemplo de la suma, la mayoría de los diseños de CPU se enfocaron a crear una orden que
pudiera hacer todo el trabajo automáticamente: llamar los dos números que serían sumados,
sumarlos, y luego almacenarlos fuera directamente. Otra versión podría leer los dos números de la
memoria, pero almacenaría el resultado en un registro. Otra versión podría leer uno de la memoria y
otro desde un registro y almacenarlo en la memoria nuevamente. Y así sucesivamente.
La meta en general en aquel tiempo era proveer cada posible modo de direccionamiento para cada
instrucción, un principio conocido como ortogonalidad. Esto llevó a un CPU complejo, pero en teoría
capaz de configurar cada posible orden individualmente, haciendo el diseño más rápido en lugar de
que el programador utilizara órdenes simples.
La última representación de este tipo de diseño puede ser vista en dos equipos, el MOS 6502 por un
lado, y el VAX en el otro. El chip 6502 de $25 USD efectivamente tenía solamente un registro, y con
la configuración cuidadosa de la interfaz de memoria fue capaz de sobrepasar diseños corriendo a
velocidades mayores (como el Zilog Z80 a 4MHz). El VAX era un minicomputador que en una
instalación inicial requería 3 gabinetes de equipo para un solo CPU, y era notable por la
sorprendente variedad de estilos de acceso a memoria que soportaba, y el hecho de que cada uno
de éstos estaba disponible para cada instrucción.
A finales de los setenta, investigaciones en IBM (y otros proyectos similares en otros lugares)
demostraron que la mayoría de esos modos de direccionamiento ortogonal eran ignorados por la
mayoría de los programas. Esto fue un efecto colateral en el incremento en el uso
de compiladores para generar los programas, algo opuesto a escribirlos en lenguaje ensamblador.
Los compiladores tendían a ser demasiado tontos en términos de las características que usaban, un
efecto colateral del intento por hacerlos pequeños. El mercado se estaba moviendo hacia un uso
más generalizado de los compiladores, diluyendo aún más la utilidad de los modelos ortogonales.
Otro descubrimiento fue que debido a que esas operaciones eran escasamente utilizadas, de hecho
tendían a ser más lentas que un número pequeño de operaciones haciendo lo mismo. Esta paradoja
fue un efecto colateral del tiempo que se utilizaba diseñando los CPU, los diseñadores simplemente
no tenían tiempo de optimizar cada instrucción posible, y en vez de esto sólo optimizaban las más
utilizadas. Un famoso ejemplo de esto era la instrucción VAX INDEX, que se ejecutaba más
Casi al mismo tiempo, las CPU comenzaron a correr a velocidades mayores que las de la memoria
con la que se comunicaban. Aún a finales de los setenta, era aparente que esta disparidad
continuaría incrementándose al menos durante la siguiente década, para entonces los CPU podrían
ser cientos de veces más rápidos que la memoria. Esto significó que los avances para optimizar
cualquier modo de direccionamiento serían completamente sobrepasados por las velocidades tan
lentas en las que se llevaban a cabo.
Otra parte del diseño RISC llego desde las medidas prácticas de los programas en el mundo
real. Andrew Tanenbaum reunió muchos de éstos, demostrando así que la mayoría de los
procesadores estaban sobredimensionados. Por ejemplo, él demostró que el 98 % de todas las
constantes en un programa podían acomodarse en 13 bits, aun cuando cada diseño de CPU
dedicaba algunos múltiplos de 8 bits para almacenarlos, típicamente 8, 16 o 32, una palabra entera.
Tomando este hecho en cuenta sugiere que una máquina debería permitir que las constantes
fuesen almacenadas en los bits sin utilizar de otras instrucciones, disminuyendo el número de
accesos a memoria. En lugar de cargar números desde la memoria o los registros, éstos podrían
estar ahí mismo para el momento en el que el CPU los necesitara, y por lo tanto el proceso sería
mucho más rápido. Sin embargo, esto requería que la instrucción misma fuera muy pequeña, de otra
manera no existiría suficiente espacio libre en los 32 bits para mantener constantes de un tamaño
razonable.
Fue el pequeño número de modos y órdenes que dio lugar al término Conjunto de Instrucciones
Reducidas. Ésta no es una definición correcta, ya que los diseños RISC cuentan con una vasta
cantidad de conjuntos de instrucciones para ellos. La verdadera diferencia es la filosofía para hacer
todo en registros y llamar y guardar los datos hacia ellos y en ellos mismos. Ésta es la razón por la
que la forma más correcta de denominar este diseño es cargar-almacenar. Con el paso del tiempo
las técnicas de diseño antiguas se dieron a conocer como Computadora con Conjunto de
Instrucciones Complejo, CISC por sus siglas en inglés, aunque esto fue solamente para darles un
nombre diferente por razones de comparación.
Por esto la filosofía RISC fue crear instrucciones pequeñas, implicando que había pocas, de ahí el
nombre conjunto de instrucciones reducido. El código fue implementado como series de esas
instrucciones simples, en vez de un sola instrucción compleja que diera el mismo resultado. Esto
hizo posible tener más espacio dentro de la instrucción para transportar datos, resultando esto en la
necesidad de menos registros en la memoria. Al mismo tiempo la interfaz con la memoria era
considerablemente simple, permitiendo ser optimizada.
Sin embargo RISC también tenía sus desventajas. Debido a que una serie de instrucciones son
necesarias para completar incluso las tareas más sencillas, el número total de instrucciones para la
lectura de la memoria es más grande, y por lo tanto lleva más tiempo. Al mismo tiempo no estaba
claro dónde habría o no una ganancia neta en el desempeño debido a esta limitación, y hubo una
batalla casi continua en el mundo de la prensa y del diseño sobre los conceptos de RISC.
[editar]Multitarea
Debido a lo redundante de las microinstrucciones, los sistemas operativos diseñados para estos
microprocesadores, contemplaban la capacidad de subdividir un microprocesador en varios,
reduciendo el número de instrucciones redundantes por cada instancia del mismo. Con una
arquitectura del sofware optimizada, los entornos visuales desarrollados para estas plataformas,
contemplaban la posibilidad de ejecutar varias tareas en un mismo ciclo de reloj. Así mismo, la
paginación de la memoria RAM era dinámica y se asignaba una cantidad suficiente a cada instancia,
existiendo una especie de 'simbiosis' entre la potencia del microprocesador y la RAM dedicada a
cada instancia del mismo.
La multitarea dentro de la arquitectura CISC nunca ha sido real, tal como en los RISC sí lo es. En
CISC, el microprocesador en todo su conjunto está diseñado en tantas instrucciones complejas y
diferentes, que la subdivisión no es posible, al menos a nivel lógico. Por lo tanto, la multitarea es
aparente y por ordenes de prioridad. Cada ciclo de reloj trata de atender a una tarea instanciada en
la RAM y pendiente de ser atendida. Con una cola de atención por tarea FIFO para los datos
generados por el procesador, y LIFO para las interrupciones de usuario, trataban de dar prioridad a
las tareas que el usuario desencadenara en el sistema. La apariencia de multitarea en un CISC
tradicional, viene de la mano de los modelos escalares de datos, convirtiendo el flujo en un vector
con distintas etapas y creando la tecnología pipeline.
Los microprocesadores actuales, al ser hibridos, permiten cierta parte de multitarea real. La capa
final al usuario es como un CISC tradicional, mientras que las tareas que el usuario deja pendientes,
dependiendo del tiempo de inactividad, el sistema traducirá las instrucciones (el software ha de ser
compatible con esto) CISC a RISC, pasando la ejecución de la tarea a bajo nivel, en donde los
recursos se procesan con la filosofía RISC. Dado que el usuario solo atiende una tarea por su
capacidad de atención, el resto de tareas que deja pendientes y que no son compatibles con el
modelo de traducción CISC/RISC, pasan a ser atendidas por el tradicional pipeline, o si son tareas
de bajo nivel, tal como desfragmentaciones de disco, chequeo de la integridad de la información,
formateos, tareas gráficas o tareas de cálculo matemático intenso.
[editar]Historia
Mientras la filosofía de diseño RISC se estaba formando, nuevas ideas comenzaban a surgir con un
único fin: incrementar drásticamente el rendimiento de la CPU.
Al principio de la década de los ochenta se pensaba que los diseños existentes estaban alcanzando
sus límites teóricos. Las mejoras de la velocidad en el futuro serían hechas con base
en procesos mejorados, esto es, pequeñas características en el chip. La complejidad del chip podría
continuar como hasta entonces, pero un tamaño más pequeño podría resultar en un mejor
rendimiento del mismo al operar a más altas velocidades de reloj. Se puso una gran cantidad de
esfuerzo en diseñar chips para computación paralela, con vínculos de comunicación
interconstruidos. En vez de hacer los chips más rápidos, una gran cantidad de chips serían
utilizados, dividiendo la problemática entre éstos. Sin embargo, la historia mostró que estos miedos
no se convirtieron en realidad, y hubo un número de ideas que mejoraron drásticamente el
rendimiento al final de la década de los ochenta.
Una idea era la de incluir un canal por el cual se pudieran dividir las instrucciones en pasos y
trabajar en cada paso muchas instrucciones diferentes al mismo tiempo. Un procesador normal
podría leer una instrucción, decodificarla, enviar a la memoria la instrucción de origen, realizar la
operación y luego enviar los resultados. La clave de la canalización es que el procesador pueda
comenzar a leer la siguiente instrucción tan pronto como termine la última instrucción, significando
esto que ahora dos instrucciones se están trabajando (una está siendo leída, la otra está
comenzando a ser decodificada), y en el siguiente ciclo habrá tres instrucciones. Mientras que una
sola instrucción no se completaría más rápido, la siguienteinstrucción sería completada enseguida.
La ilusión era la de un sistema mucho más rápido. Esta técnica se conoce hoy en día
como Segmentación de cauce.
Otra solución más era utilizar varios elementos de procesamiento dentro del procesador y
ejecutarlos en paralelo. En vez de trabajar en una instrucción para sumar dos números, esos
procesadores superescalares podrían ver la siguiente instrucción en el canal y tratar de ejecutarla al
mismo tiempo en una unidad idéntica. Esto no era muy fácil de hacer, sin embargo, ya que algunas
instrucciones dependían del resultado de otras instrucciones.
Ambas técnicas se basaban en incrementar la velocidad al añadir complejidad al diseño básico del
CPU, todo lo opuesto a las instrucciones que se ejecutaban en el mismo. Siendo el espacio en el
chip una cantidad finita, para poder incluir todas esas características algo más tendría que ser
eliminado para hacer hueco. RISC se encargó de tomar ventaja de esas técnicas, esto debido a que
su lógica para el CPU era considerablemente más simple que la de los diseños CISC. Aun con esto,
los primeros diseños de RISC ofrecían una mejora de rendimiento muy pequeña, pero fueron
capaces de añadir nuevas características y para finales de los ochenta habían dejado totalmente
atrás a sus contrapartes CISC. Con el tiempo esto pudo ser dirigido como una mejora de proceso al
punto en el que todo esto pudo ser añadido a los diseños CISC y aun así caber en un solo chip, pero
esto tomó prácticamente una década entre finales de los ochenta y principios de los noventa.
[editar]Características
En pocas palabras esto significa que para cualquier nivel de desempeño dado, un chip RISC
típicamente tendrá menos transistores dedicados a la lógica principal. Esto permite a los
diseñadores una flexibilidad considerable; así pueden, por ejemplo:
Construir los chips en líneas de producción antiguas que de otra manera no serían
utilizables.
No hacer nada, ofrecer el chip para aplicaciones de bajo consumo de energía o de tamaño
limitado.
Las características que generalmente son encontradas en los diseños RISC son:
Los tipos de datos soportados en el hardware (por ejemplo, algunas máquinas CISC tiene
instrucciones para tratar con tipos byte, cadena) no se encuentran en una máquina RISC.
Los diseños RISC también prefieren utilizar como característica un modelo de memoria Harvard,
donde los conjuntos de instrucciones y los conjuntos de datos están conceptualmente separados;
esto significa que el modificar las direcciones donde el código se encuentra pudiera no tener efecto
alguno en las instrucciones ejecutadas por el procesador (porque la CPU tiene separada la
instrucción y el caché de datos, al menos mientras una instrucción especial de sincronización es
utilizada). Por otra parte, esto permite que ambos cachés sean accedidos separadamente, lo que
puede en algunas ocasiones mejorar el rendimiento.
Muchos de esos diseños RISC anteriores también compartían una característica no muy amable,
el slot de salto retardado (Delay Slot). Un slot de salto retardado es un espacio de instrucción
siguiendo inmediatamente un salto. La instrucción en este espacio es ejecutada independientemente
de si el salto se produce o no (en otras palabra el salto es retardado). Esta instrucción mantiene
la ALU de la CPU ocupada por el tiempo extra normalmente necesario para ejecutar una brecha.
Para utilizarlo, recae en el compilador la responsabilidad de reordenar las instrucciones de manera
que el código sea coherente para ejecutar con esta característica. En nuestros días el slot de salto
retardado se considera un desafortunado efecto colateral de la estrategia particular por implementar
algunos diseños RISC. Es por esto que los diseños modernos de RISC, tales como ARM, PowerPC,
y versiones más recientes de SPARC y de MIPS, generalmente eliminan esta característica.
El primer sistema que pudiera ser considerado en nuestros días como RISC no lo era así en
aquellos días; era la supercomputadora CDC 6600, diseñada en 1964 por Seymour Cray.
Cray la diseñó como un CPU para cálculos a gran escala (con 74 códigos, comparada con
un 8086 400, además de 12 computadores simples para manejar los procesos de E/S (la mayor
parte del sistema operativo se encontraba en uno de éstos).
El CDC 6600 tenía una arquitectura de carga/almacenamiento con tan solo dos modos de
direccionamiento. Había once unidades de canalización funcional para la aritmética y la lógica,
además de cinco unidades de carga y dos unidades de almacenamiento (la memoria tenía múltiples
bancos para que todas las unidades de carga/almacenamiento pudiesen operar al mismo tiempo). El
nivel promedio de operación por ciclo/instrucción era 10 veces más rápido que el tiempo de acceso
a memoria.
Los diseños RISC que más se dieron a conocer sin embargo, fueron aquellos donde los resultados
de los programas de investigación de las universidades eran ejecutados con fondos del
programa DARPA VLSI. El programa VLSI prácticamente desconocido hoy en día, llevo a un gran
número de avances en el diseño de chips, la fabricación y aún en las gráficas asistidas por
computadora.
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 mueven la ventana de 32
registros actual para limpiar suficiente 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 CISC de esa época) RISC-I
solo tenía 32 instrucciones, y aun así sobrepasaba el desempeño de cualquier otro diseño de chip
simple. Se continuó con esta tendencia y RISC-II en 1983 tenía 40.760 transistores y 39
instrucciones, con los cuales ejecutaba 3 veces más rápido que el RISC-I.
El primer intento por hacer una CPU basada en el concepto RISC fue hecho en IBM el cual comenzó
en 1975, precediendo a los dos proyectos anteriores. Nombrado como proyecto RAN, el trabajo llevó
a la creación de la familia de procesadores IBM 801, la cual fue utilizada ampliamente en los
equipos de IBM. El 801 fue producido eventualmente en forma de un chip como ROMP en 1981, que
es la abreviatura de Research Office Products Division Mini Processor. Como implica el nombre,
esta CPU fue diseñada para tareas pequeñas, y cuando IBM lanzó el diseño basado en el IBM RT-
PC en 1986, el rendimiento no era aceptable. A pesar de esto, el 801 inspiró varios proyectos de
investigación, incluyendo algunos nuevos dentro de IBM que eventualmente llevarían a su
sistema IBM POWER.
En los primeros años, todos los esfuerzos de RISC eran bien conocidos, pero muy confinados a los
laboratorios de las universidades que los habían creado. El esfuerzo de Berkeley se dio a conocer
tanto que eventualmente se convirtió en el nombre para el proyecto completo. Muchos en la
industria de la computación criticaban el que los beneficios del rendimiento no se podían traducir en
resultados en el mundo real debido a la eficiencia de la memoria de múltiples instrucciones, y ésa
fue la razón por la que nadie los estaba utilizando. Pero a comienzos de 1986, todos los proyectos
de investigación RISC comenzaron a entregar productos. De hecho, casi todos los procesadores
RISC modernos son copias directas del diseño RISC-II.
[editar]RISC moderno
John Hennessy dejó Stanford para comercializar el diseño MIPS, comenzando una compañía
conocida como MIPS Computer Systems Inc. Su primer diseño fue el chip de segunda generación
MIPS-II conocido como el R2000. Los diseños MIPS se convirtieron en uno de los chips más
utilizados cuando fueron incluidos en las consolas de juego Nintendo 64 yPlayStation. Hoy son uno
de los procesadores integrados más comúnmente utilizados en aplicaciones de alto nivel por Silicon
Graphics.
IBM aprendió del fallo del RT-PC y tuvo que continuar con el diseño 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) corría considerablemente más rápido. El
resultado fue la nueva serie System/390 que aún hoy en día es comercializada como zSeries. El
diseño IBM POWER también se ha encontrado moviéndose hacia abajo en escala para producir el
diseño PowerPC, el cual eliminó muchas de las instrucciones solo IBM y creó una implementación
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 vehículos tienen más de 10
dentro de ellos), las consolas de videojuegos de última generación (PlayStation 3, Nintendo
Wii y Xbox 360) están basadas en PowerPC.
Casi todos los demás proveedores se unieron rápidamente. De los esfuerzos similares en el Reino
Unido resultó el INMOS Trasputer, el Acorn Archimedes y la línea Advanced RISC Machine, la cual
tiene un gran éxito hoy en día. Las compañías existentes con diseños CISC también se unieron a la
revolución. Intel lanzó el i860 y el i960 a finales de los ochenta, aunque no fueron muy
exitosos. Motorola construyó un nuevo diseño pero no le vio demasiado uso y eventualmente lo
abandonó, uniéndose a IBM para producir el PowerPC. AMD lanzó su familia 29000 la cual se
convirtió en el diseño RISC más popular a principios de los noventa.
Hoy en día los microcontroladores y CPU RISC representan a la vasta mayoría de todos los CPU
utilizados. La técnica de diseño RISC ofrece poder incluso en medidas pequeñas, y esto ha venido a
dominar completamente el mercado de CPU integrados de bajo consumo de energía. Los CPU
integrados son por mucho los procesadores más 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 estación de trabajo.
Después 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 también en el de estaciones de trabajo), ordenadores portátiles y en
servidores de la gama baja. Aunque RISC fue capaz de avanzar en velocidad muy rápida y
económicamente.
Los diseños RISC han llevado a un gran número de plataformas y arquitecturas al éxito, algunas de
las más grandes:
http://es.wikipedia.org/wiki/RISC
RISC VS CISC
En oposicion del diseño tradicional de CISC, en los 80's emergen una nueva
marca de diseño de computadora llamada RISC(Reduced Instruction Set
Coputer) [HePa 90, PaDi80, PaSe82,Patt85,Tabk87,Tabk90b]. Que es
reducido o reduced en RISC? Practicamente todo: el numero de instrucciones,
modos de direccion y los formatos. En un RISC ideal todas las instrucciones
tienen el mismo tamaño (usualmente 32 bits) y las ejecuta con un ciclo CPU
individual. En la practica solo la mayoria de las instrucciones
(aproximadamete un 80%en la mayora de los sistemas RISC) se ejecutan en
un ciclo individual.
Asume un modelo simple donde cada una de las secciones sercanas toma justo
solo un ciclo del CPU para completarlo. Nosotros tomamos los tiempos de
instruccion siguiendo (en ciclos del CPU) planes para tres instrucciones
subsecuentes:
instrucciones
de ciclo 1 2 3 4
iFE
i+1 F E
i+2 F E
La microprogramación es una característica importante y esencial de casi todas las arquítecturas CISC.
Como por ejemplo:
Intel 8086, 8088, 80286, 80386, 80486.
Motorola 68000, 68010, 68020, 68030, 6840.
La microprogramación significa que cada instrucción de máquina es interpretada por un microprograma
localizado en una memoria en el circuito integrado del procesador.
En la década de los sesentas la micropramación, por sus características, era la técnica más apropiada
para las tecnologías de memorias existentes en esa época y permitía desarrollar también 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 microinstrucción).
ARQUITECTURAS RISC
Buscando aumentar la velocidad del procesamiento se descubrió en base a experimentos que, con una
determinada arquitectura de base, la ejecución 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
tecnología 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 microcódigo y la necesidad de decodificar instrucciones
complejas.
Las características 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 características, siguen divididas en tres grupos:
a) Transferencia.
b) Operaciones.
c) Control de flujo.
Reducción del conjunto de instrucciones a instrucciones básicas 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 número de acceso a memoria.
Casi todas las instrucciones pueden ejecutarse dentro de un ciclo de reloj. Con un control
implantado por hardware (con un diseño del tipo load-store), casi todas las instrucciones se pueden
ejecutar cada ciclo de reloj, base importante para la reorganización de la ejecución de instrucciones
por medio de un compilador.
Pipeline (ejecución simultánea de varias instrucciones). Posibilidad de reducir el número de
ciclos de máquina necesarios para la ejecución de la instrucción, ya que esta técnica permite que una
instrucción 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 reducción de la
superficie del circuito integrado, se aprovecha con frecuencia para ubicar en el mismo, funciones
adicionales:
http://arquitecturacomp.wordpress.com/2009/06/13/tecnologias-cisc-y-risc/
CISC vs RISC
1. Introducción
2. Arquitecturas CISC
3. Arquitecturas RISC
1. Introducción
Hoy en día, los programas cada vez más grandes y complejos demandan
mayor velocidad en el procesamiento de información, lo que implica la
busqueda de microprocesadores más rápidos y eficientes.
Esto nos hace suponer que RISC reemplazará por completo al CISC, pero la
respuesta a esta cuestión no es tan simple ya que:
La Arquitectura.
La Tecnología de Proceso.
El Encapsulado.
Volver al comienzo
2. Arquitecturas CISC
La microprogramación es una característica importante y esencial de casi
todas las arquitecturas CISC, podríamos mencionar por ejemplo:
Volver al comienzo
3. Arquitecturas RISC
Buscando aumentar la velocidad del procesamiento se descubrió en base a
experimentos que, con una determinada arquitectura de base, la ejecución de
programas compilados directamente con microinstrucciones y residentes en
memoria externa al circuito integrado resultaban ser más eficientes, gracias a
que el tiempo de acceso de las memorias se fué decrementando conforme se
mejoraba su tecnología de encapsulado.
Alrededor del 20% de las instrucciones ocupa el 80% del tiempo total de
ejecución de un programa.
Existen secuencias de instrucciones simples que obtienen el mismo
resultado que secuencias complejas predeterminadas, pero requieren tiempos
de ejecución más cortos.
http://cedicyt.usach.cl/microcomputadores/2004/grupo5/Daniel%20Zamora/Pagina
%20Tecnologia%20Cisc%20y%20Risc/Cisc-Risc.html