Tema
7: Procesadores Vectoriales
|
1.- Máquinas Vectoriales
Las Limitaciones de la Segmentación son la Duración
del Ciclo y la Velocidad en la Búsqueda y Decodificación de la
Instrucción.
- Maquinas Vectoriales: Operaciones de Alto
Nivel que trabajan sobre Vectores.
- Operaciones Vectoriales:
- Calculo de cada resultado independientemente de
los cálculos de las anteriores.
- Una simple Instrucción Vectorial equivale a ejecutar un bucle completo.
- Las Instrucciones Vectoriales de Acceso a Memoria tiene un patrón
conocido.
- Los Riesgos de Control que podrían surgir del salto del bucle son
inexistentes.
Cuantificación de las Instrucciones Vectoriales:
|
- Suma
- Multiplicación : 7
- División : 20
- Carga : 12
|
ADD
MULTV
DIVV
LV |
6
7
20
12 |
2.- Arquitectura Vectorial Básica
Un Máquina Vectorial consta de una Unidad Escalar Segmentada
y una Unidad Vectorial.
- Tipos Principales de Arquitecturas Vectoriales:
- Máquina Vectorial con Registros:
Todas las operaciones vectoriales operan con vectores almacenados en registros.
Arquitectura Escalar de Carga / Almacenamiento.
- Máquina Vectorial Memoria-Memoria:
Todas los operaciones vectoriales son de Memoria a Memoria.
- Componentes:
- Registros Vectoriales: Cada registro vectorial
es un banco de longitud fija que contiene un solo vector. Mínimo
2 accesos de Lectura y 1 Acceso de Escritura.
8 Registros Vectoriales con 64 Dobles Palabras.
- Unidades Funciones Vectoriales: Cada unidad
está completamente segmentada y puede comenzar una operación
nueva en cada ciclo de reloj.
- Unidad de Carga / Almacenamiento de Vectores:
En o desde memoria; completamente segmentadas, por ciclo de reloj. L / E 1
palabra.
- Conjunto de Registros Escalares: 32 Registros
Normales de Propósito General y 32 Registros de Punto Flotante. Vector-Escalar
y Escalar-Escalar.
Tiempo de Arranque:
Tiempo en Ejecutar la 1ª Instrucción (Depende de la Latencia de
las Etapas o Segmentos de la Operación).
Tiempo de Iniciación:
Tiempo que tarda una vez Ejecutada la 1ª Instrucción en dar Otro
Resultado.
- No Involucran Accesos a Memoria. Para Operaciones Reg-Reg el Tiempo de Arranque
(ciclos) es igual al número de Etapas de la Unidad Funcional, ya que
éste es el tiempo para obtener el primer resultado.
3.- Longitud del Segmento y Separación entre Elementos
Control de la Longitud del Vector:
- Longitud Máxima del Vector (VML): Número en un vector
(Constante).
- Registro de Longitud Vectorial (VLR): Especifica el numero de elementos
vector (Variable).
Separación entre Elementos de
un Vector:
La Posición en Memoria de los Elementos Adyacentes de un vector No es
Secuencial.
Conflicto del Banco de Memoria con un Retardo en Acceso a Memoria => Petición
al mismo banco que realice un acceso antes que se haya completado otro.
4.- Modelo sencillo para el Rendimiento Vectorial
Tiempo Total de Ejecución para una Secuencia
Vectorial Operando sobre un Vector de Longitud n.
6.- Mejorando el Rendimiento Vectorial
- Encadenamiento: Concepto de Adelantamiento
Extendido a los Registros.
- Permite que una Operación Vectorial comience tan pronto como los
elementos individuales, de su operando vectorial fuente, estén disponibles:
los resultados de la primera unidad funcional de la cadena se adelantan a
la segunda unidad funcional.
No Encadenada |
|
= 145 |
|
Encadenada |
|
= 77 |
|
- Sentencias Ejecutadas Condicionalmente y Matrices
Dispersas:
- Sentencias Condicionales: Control de Máscara
Vectorial necesita un vector Booleano de longitud MVL. Cuando se carga el
registro de máscara vectorial con el resultado de un test del vector,
cualquier instrucción vectorial que se vaya a ejecutar solamente opera
sobre los elementos de máscara vectorial sean 1.
- Matrices Dispersas: Vectores cuyos elementos
están separados por una distancia constante. Solución:
- Agrupar: Busca en Memoria el Vector cuyos elementos están
en las direcciones obtenidas al sumar una Dirección Base a los
Desplazamientos dados en el Vector de Indices.
Vector
No Disperso en un Registro Vectorial.
- Dispersar: El Vector Disperso se puede almacenar en forma expandida
por un almacenamiento disperso.
Evaluación del Rendimiento de los Proc. Vectoriales