Logo UltraSPARC Driven

Microprocesador UltraSPARC-IIi


  • Microarquitectura

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

Diagrama de bloque de la microarquitectura del UltraSPARC-IIi


Anterior Inicio