jueves, 21 de febrero de 2013

ARQUITECTURA RISC


Es un modelo general de ordenadores, en el cual tiene un repertorio de instrucciones reducido.

Fig.1 Procesadores RISC



Fuente: http://www.monografias.com/trabajos55/microprocesadores-cisc-risc/Image9300.gif

En la arquitectura de RISC la CPU tiene un repertorio corto de instrucciones sencillas. Cada instrucción puede realizar una operación sencilla, como mover un dato de la CPU a la memoria a alta velocidad.

Otra ventaja de trabajar con arquitectura RISC es que al tener un número menor de circuitos internos pueden trabajar a frecuencias más altas.

Tiene pocos modos de direccionamiento de los datos y son aplicables a todas las celdas de la memoria de datos. Como la complejidad de la CPU disminuye es posible aumentar la frecuencia del oscilador de la CPU y así aumentar la velocidad de las instrucciones. Las memorias RISC son más baratas de diseñar y producir ya que tienen menos transistores, un ejemplo claro del uso de arquitectura RISC son los microcontroladores PIC.


Procesador CY7C601A SPARC.-

Fig1. Arquitectura Sparc de procesamiento en serie
 

 Fuente: http://imageshack.us/photo/my-images/293/001zh4.jpg/



SPARC (del inglés Scalable Processor Architecture ). Un procesador con arquitectura escalable es aquel en el que se pueden definir versiones  posteriores de la misma con mayor cantidad de características, siempre  salvaguardando la compatibilidad  con los programas de versiones anteriores. Tiene una arquitectura basada en un juego de instrucciones RISC (Reduced instruction set computer ) desarrollado por la empresa Sun Microsystems y lanzado a mediados de 1987. Fue originalmente diseñada por Sun Microsystems y dirigido por el ingeniero Kaa en 1985, se basa en los diseños RISC I y II de la Universidad de California en Berkele y que fueron definidos en tre los años 1980 y 1982.

La empresa Sun Microsystems diseñó esta arquitectura y la licenció a otros fabricantes como Texas Instruments, Cypress Semiconductor, Fujitsu, LSI Logic entre otros.

SPARC es la primera arquitectura RISC abierta y como tal, las especificaciones de diseño están publicadas, así otros fabricantes de microprocesadores pueden desarrollar su propio diseño.

Una de las ideas innovadoras de esta arquitectura es la ventana de registros que permite hacer fácilmente compiladores de alto rendimiento y una significativa reducción de memoria en las instrucciones load/store en relación con otras arquitecturas RISC.

Las ventajas se aprecian sobre todo en programas grandes.

La cpu SPARC está compuesta de una unidad entera, UI (Integer Unit) que procesa la ejecución básica y una FPU (Floating-Point Unit) que ejecuta las operaciones y cálculos de reales. La IU y la FPU pueden o no estar integradas en el mismo chip. 

Características principales.-

Su característica distintiva es utilizar ventanas de registros.
32 registros de "enteros" de 32 bits.
16 registros de punto flotante de 64 bits (para el caso de doble precisión) que se pueden utilizar como 32 registros de 32 bits (para precisión simple). 

Modos de direccionamiento: 

Inmediato, (constantes de 13 bits).
Directo, (offset de 13 bits).
Indirecto, (registro + offset de 13 bits o registro + registro).
Utiliza instrucciones retardadas (saltos, load y store ).

Manejo de memoria:

Espacio virtual de 4 Gigabytes.
Unidad de manejo de memoria (MMU) que trabaja con páginas de tamaño configurable. 


Ventana de registros.-

Los procesadores SPARC realizan un “sistema de ventanas”. Cada ventana son 24 registros (a los cuales se le suman 8 más que son globales, o sea, accesibles por todas las ventanas; la suma de 32 registros es visible en todo momento) que pertenecen a un procedimiento o subprograma. A medida que se van creando nuevas ventanas los registros de salida de la ventana actual se solapan sobre los de entrada de la ventana siguiente. Los CPU registros locales y de salida de la ventana actual son diferentes a los registros locales y de salida de la ventana siguiente. El siguiente gráfico nos lo muestra esquemáticamente:

En la figura, CWP es el índice de la ventana actual. El comando SAVE y las TRAPS decrementan dicho índice, y RESTORE y RETT lo incrementan. Para verificar si un número de ventana es válido se utiliza el registro WIN. Invalid Mask) de 32 bits. Si el bit i-ésimo está en 1 indica que esa ventana inválida y si se intenta acceder esta, segenera un error (TRAP “window_overflow”).

El registro G0 está fijo por medio del hardware con el valor 0. En él, los almacenamientos no alteran su valor. Los registros G1 a G7 son globales y pueden contener variables enteras, apuntadores a tablas u otros datos importantes. Los registros de salida son de O0 a O7 y son usados por los procedimientos para pasar parámetros a los procedimientos que llaman.

El primer parámetro va al registro O0, el siguiente al O1 y así sucesivamente. El registro O6 (AE) se utiliza como apuntados a la pila de memoria. La pila se usa para los parámetros que exceden los registros, espacio de asignación dinámica de la pila, ventanas apiladas en memoria, así como para salvar registros de punto flotante, apuntadores a buffers en donde los procedimientos llamados pueden enviar estructuras y arreglos de datos, etc. La instrucción CALL (llamada) deposita la dirección de retorno en el registro O7. Los 8 registros para variables locales L0 a L7, se pueden usar en la forma que el programador o el compilador considere más conveniente. Las 8 variables de entrada I0 a I7 son los parámetros que son pasados al procedimiento actual por el que le llama: Los registros no utilizados pueden contener variables locales adicionales. I6 (FP) es el apuntador de marco que se usa para direccionar variables en el marco de pila. A diferencia de SP que solo puede cambiar mientras el procedimiento se ejecuta, FP apunta la misma palabra en memoria durante toda la ejecución del procedimiento, siendo más apropiado para la indexación que el SP. La dirección de retorno del procedimiento se encuentra contenida en el registro I7.

Por lo tanto y en general, existen 4 grupos de registros diferentes:

Registros Globales : G0-G1
Registros de Salida: O0-O7
Registros Locales: L0-L7
Registros de Entrada: I0-I7
  

Load-store.- 

Es una arquitectura de los MIPS, donde solo las instrucciones de load y store tienen acceso a memoria. Las operaciones matemáticas y de cálculo solo se los realizan con datos guardados en registros, la maquina solo se ocupa del direccionamiento de los datos.
Las instrucciones de carga transfieren datos de la CPU a registros para que luego sean usados en operaciones, la suma y multiplicación se las realiza con datos de registros sin acceder a la memoria, y su resultado se guarda en la memoria con una instrucción de almacenar.
La mayoría de las instrucciones de load y store operan sobre datos alineados (dato alineado.- Es el dato que su dirección de memoria es múltiplo de su tamaño en bytes).

Procesadores modernos basados en RISC.-

Los diseños RISC han llevado a un gran número de plataformas y arquitecturas al éxito, algunas de las más grandes:
·       La línea MIPS Technologies Inc., que se encontraba en la mayoría de las computadoras de Silicon Graphics hasta 2006, y estuvo en las consolas ya descatalogadas Nintendo 64,PlayStation y PlayStation 2. Actualmente se utiliza en la PlayStation Portable y algunos routers.
·       La versión PowerPC de Motorola e IBM (una versión de la serie IBM POWER) utilizada en los ordenadores AmigaOne, Apple Macintosh como el iMaceMacPower Mac y posteriores (hasta 2006). Actualmente se utiliza en muchos sistemas empotrados en automóviles, routers, etc, así como en muchas consolas de videojuegos, como la Playstation 3Xbox 360 y Wii.
·       El procesador SPARC y UltraSPARC de Sun Microsystems y Fujitsu, que se encuentra en sus últimos modelos de servidores (y hasta 2008 también en estaciones de trabajo).
·       El Atmel AVR usado en gran variedad de productos, desde mandos de la Xbox a los coches de la empresa BMW.
·       Los procesadores XAP usados en muchos chips wireless de poco consumo (Bluetooth, wifi) de CSR.

                                          32bit Pipelined RISC Processor (Simulation)
 
   



BIBLIOGRAFIA 
Ramón Pallás Areny(2007). Microcontroladores: fundamentos y aplicaciones con PIC, Barcelona: España, Editorial Marcombo S.A.
Patterson D. A – Hennessy J. L (2000), Esctructura y diseño de Computadores, Barcelona: España, Editorial Reverté S. A.
Mano M. M. (1993), Arquitectura de Computadores 3º Ed., Ciudad Juárez: México, Editorial Prentice Hall Hispanoamericana S. A.
Luis Duran Rodriguez (2007). El Gran libro del PC interno: programación de sistemas hardware a fondoBarcelona: España, Editorial Marcombo.


 
 

 

No hay comentarios:

Publicar un comentario