 |
Microprocesador UltraSPARC-IIi
|
El núcleo de la CPU
es una máquina SPARC V9 con extensión VIS. VIS
ofrece excelente flexibilidad y aceleración de
gráficos en 2D y 3D, procesamiento de imágenes,
compresión y descompresión en tiempo real, y
aplicaciones de efectos de video.
Para el desarrollo
de la UltraSPARC-IIi se influenció el núcleo de la
UltraSPARC-II y se modificó la interfaz y
controlador del caché de segundo nivel (L2), la
unidad de lectura y escritura, y otros cambios
necesarios para acomodarlo a los requerimientos de
muchas de las nuevas funciones del sistema integrado.
El núcleo tiene un espacio de direcciones virtuales
de 44 bits y un espacio de direcciones físico de 41
bits con punteros de direcciones de 64 bits. Hay 6
pipelines: dos para enteros, dos para gráficos y
punto flotante, uno para load/store, y uno para
branch.
- Procesador
pipeline. El procesador principal
tiene un pipeline de nueve
etapas. Una instrucción se
considera terminada apenas se llega
directamente a la etapa de escritura, donde
los registros de enteros y punto flotante son
actualizados. En otras palabras, el estado
del procesador es actualizado apenas
finalizada la etapa de escritura.
- Cachés
L1. El UltraSPARC-IIi usa
separadamente cachés de 1° nivel para
instrucciones y datos. Los 16 Kb de caché
para instrucciones es asociativa de 2-vías
con bloques de 32 bytes. Los 16 KB de caché
para datos de escritura directa es
nonallocating (no asignada) y mapeada
directamente con 2 subbloques por línea de
16 bytes.
- Unidad
de control de caché externo L2 (ECU).
Aunque su principal rol es manejar la
pérdida de eficiencia de los caché de datos
e instrucciones, la ECU es la unidad central
que controla los cachés externos L2. La ECU
maneja todos los accesos directamente a
memoria y mantiene la coherencia de datos
entre la caché L2 y la memoria principal.
- Unidad
de control de memoria (MCU). Una de
las nuevas y mayores funciones integradas en
el UltraSPARC-IIi es la MCU, la cual maneja
todas las transacciones hacia la interfaz del
bus UPA64S y la DRAM. Ambos accesos a estos
espacios ocurren en forma multiplexada con un
bus de datos simple de 8 bytes (plus ECC).
Sin embargo, existen buses de direcciones
separados para la UPA64S y la DRAM.
- Unidad
Load/Store (LSU). La LSU genera
direcciones virtuales de todos los loads y
stores para accesar la caché de datos. El
LSU soporta un load o store por ciclo.
- Unidad
de prefetch y dispatch (PDU). La PDU
trae las instrucciones antes que sean
necesarias en el pipeline y tal que, la
unidad de instrucciones no muera de hambre.
- Unidad
de ejecución de enteros (IEU). La
IEU contiene dos ALU's completas; un
multiciclo, un multiplicador de enteros
no-pipeline y multiciclo, un divisor de
enteros no-pipeline, y ocho ventanas de
registros. Dos instrucciones de enteros
pueden ejecutarse en ciclos paralelos, con lo
que más de una instrucción de enteros se
completa en un solo ciclo del reloj.
- Unidad
de punto flotante y gráfica (FGU).
La separación de la unidad de ejecución en
la FGU le permite a la CPU ejecutar dos
instrucciones de punto flotante por cada
ciclo, o una de punto flotante y una de
gráfica cada ciclo. Las instrucciones de
punto flotante, tanto las fuentes como los
destinos, son almacenadas en un arreglo de 32
entradas de registros de punto flotante con
doble precisión.
- Módulo
de bus PCI (PBM). La PBM interfiere
la CPU directamente con un bus PCI de 32 bits
que es compatible con las especificaciones
PCI.
- Unidad
de administración de memoria de I/O (IOM).
La IOM traduce una dirección PCI de I/O de
32 bits a una dirección física de 41 bits,
del mismo modo, dirige la protección de
memoria para I/O.
- Diagrama
de bloques de la microarquitectura

|