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 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.-
·
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 iMac, eMac, Power 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 3, Xbox 360 y Wii.
·
El
procesador SPARC y UltraSPARC de Sun
Microsystems y Fujitsu, que se encuentra en sus últimos modelos
de servidores (y hasta 2008 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 fondo, Barcelona: España, Editorial Marcombo.
Luis Duran Rodriguez (2007). El Gran libro del PC interno: programación de sistemas hardware a fondo, Barcelona: España, Editorial Marcombo.
No hay comentarios:
Publicar un comentario