Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Máquinas Computadoras II
Procesadores Segmentados
y Vectoriales
Contenido
Tipos de Paralelismo
Paralelismo en Mono-Procesador
Computadoras Vectoriales
Computadoras Multi-core
𝑇𝑖𝑒𝑚𝑝𝑜𝐶𝑃𝑈𝑆𝑒𝑟𝑖𝑒
𝐴𝑐𝑒𝑙𝑒𝑟𝑎𝑐𝑖ó𝑛 =
𝑇𝑖𝑒𝑚𝑝𝑜𝐶𝑃𝑈𝑃𝑎𝑟𝑎𝑙𝑒𝑙𝑜
𝐴𝑐𝑒𝑙𝑒𝑟𝑎𝑐𝑖ó𝑛
𝐸𝑓𝑖𝑐𝑖𝑒𝑛𝑐𝑖𝑎𝑃𝑎𝑟𝑎𝑙𝑒𝑙𝑎 =
𝑁
La segmentación es un
primer mecanismo de
paralelismo
Procesadores o
• Varias instrucciones Sistemas vectoriales
consecutivas son ejecutadas
de forma solapada casi en • Segmentación al tratamiento
paralelo. de grandes cadenas de datos.
Procesadores super-
escalares realizan
también procesamiento
paralelo
• Ejecutan dos o mas
instrucciones al mismo tiempo
gracias a la presencia de
varios cauces paralelos.
Organizaciones de computadores
Monoprocesadores
Clusters
Multiprocesador Acceso no
simétrico (SMP) uniforme a
memoria
(NUMA)
Cada uno es
capaz de Se pueden
procesar todas subdividir,
Son las instrucciones además, según la
procesadores de necesarias para forma que tienen
uso general. realizar las los procesadores
transformaciones para
apropiadas de los comunicarse.
datos.
FI FD
compartida
UC2 UP2
Memoria
FI FD
UCn UPn
UC = Unidad de Control
UP = Unidad de Procesamiento
FI = Flujo de Instrucciones
FD = Flujo de Datos
FI FD
interconexión
UC2 UP2 ML2
Red de
FI FD
UC = Unidad de Control
UP = Unidad de Procesamiento
FI = Flujo de Instrucciones
FD = Flujo de Datos
ML = Memoria Local
Monoprocesadores
Clusters
PARALELISMO EN
MONOPROCESADOR
IF = búsqueda de la instrucción
ID = decodificación instrucción y búsqueda de registros
EX = ejecución y cálculo de direcciones efectivas
MEM = acceso a memoria
WB = post-escritura
Unidades
funcionales
segmentadas
Memoria
ADD r1, r2 ; r1 := r1 + r2
MOVE r3, r1 ; r3 := r1
La segunda instrucción
La segunda instrucción
NO se puede ejecutar
se puede captar y
hasta que finalice la
decodificar en paralelo
ejecución de la
con la primera.
primera instrucción.
Un conflicto en los
recursos es una • Ejemplo: dos
pugna de dos o más
instrucciones por el instrucciones
mismo recurso al aritméticas.
mismo tiempo.
• Ejemplo:
Los recursos pueden tener dos
duplicarse. unidades
aritméticas.
1. Sin Dependencia
2. Dependencia de
Dependencia de datos
datos (i1 usa un dato calculado por i0)
1. I1 usa un dato
calculado por I0
Dependencia relativa
3. Dependencia relativa i1/bifurcación al procedimiento
al procedimiento
1. I2 e I3 espera
resultados de I0 e
I1
4. Conflicto en un
recurso Conflicto en un recurso
(i0 e i1 usan la misma
1. I0 e I1 utilizan la unidad funcional)
misma Unidad
Funcional Tiempo en ciclos base
Dependencia lectura-escritura:
I1: R3 R3 op R5
I2: R4 R3 + 1
I3: R3 R5 + 1
I4: R7 R3 op R4
I3 no puede finalizar antes de que I2 comience, ya
que I2 necesita un valor en R3 e I3 modifica R3.
Envío de Emisión de
instrucciones instrucciones
Captación de
instrucciones y Ejecución de Reordenación
Programa predicción de saltos instrucciones y entrega de
estático instrucciones
Ventana de
ejecución
Un operando
vectorial Cada elemento
contiene una del vector es
secuencia de n un escalar de
elementos cualquier tipo
• donde n es la • entero, punto
longitud del flotante, etc.
vector.
Registros vectoriales
Registros escalares
Registros vectoriales
• Contienen los operandos vectoriales en máquinas de registros
• No existen si la máquina es memoria-memoria
• Valores típicos de elementos son 64 o 128
• Deben tener al menos 2 puertos de lectura y uno de escritura
Registros escalares
Registros vectoriales
Registros escalares
Registros vectoriales
Registros vectoriales
Registros escalares
• Contienen los operando escalares
• Se usan en operaciones vectoriales y para calcular direcciones
• Se necesitan varios puertos de lectura y escritura
Unidades funcionales escalares
Registros vectoriales
Registros escalares
Eliminan dependencias
Optimizan el uso de
de control e
memoria con accesos
instrucciones de
predecibles que se
comprobación y
pueden solapar.
contabilidad.
Arquitectura del
Cray-1
Monoprocesadores
Clusters
Multiprocesador Acceso no
MULTIPROCESADORES
SIMÉTRICOS (SMP)
E/S
Red de E/S
interconexión
E/S
Memoria principal
Procesadores Memorias
Es un computador autónomo.
Prestaciones:
Cuando el trabajo a
Disponibilidad:
realizar por un
computador puede Debido a que todos
Crecimiento incremental:
organizarse en los procesadores
paralelo. pueden realizar las Se pueden aumentar
Escalado:
mismas funciones, las prestaciones del
un fallo en un sistema, añadiendo Los fabricantes
procesador no hará más procesadores. pueden ofrecer una
que el computador gama de productos
se detenga. con precios y
prestaciones
diferentes, en
función del número
de procesadores que
configuran el
sistema.
Memoria multipuerto.
Simplicidad.
• Interfaz similar a sistema con un
procesador
Flexibilidad.
• Fácil de expandir
Fiabilidad.
• Bus es esencial pasivo
• Falla en un dispositivo no afecta todo
el sistema
Permite el acceso
directo e independiente
a los módulos de
memoria desde cada
uno de los
procesadores.
Se necesitan
Se necesita una
pocas o ninguna
cierta lógica para
modificación en los
resolver los
procesadores o en
conflictos.
los módulos.
Planificación.
Sincronización.
Gestión de memoria.
Problema: pueden
Puede producirse
existir varias copias
una visión
del mismo dato
inconsistente de la
simultáneamente en
memoria.
caches diferentes.
La política de
escritura directa
también puede
La política de post-
producir problemas,
escritura puede
a no ser que las
ocasionar
otras caches
inconsistencia.
comprueben los
accesos a la
memoria principal.
Permiten
Generalmente reconocer
Aproximaciones
se denominan dinámicamente, Permiten un uso
transparentes
“protocolos de en el momento más efectivo de
para el
coherencia de de la ejecución, las caches.
programador.
cache”. problemas
potenciales.
El procesador que escribe tiene acceso exclusivo hasta que la línea sea
requerida por otro procesador.
Precio de Sparc T3 incluye el rack con todos los accesorios, disco duros, memoria,
etc.
Superscalar
Multicore
Multi-hilos Simultáneos
(Simultaneous multithreading, SMT)
Caché L2 dedicada
Caché L2 compartida
Caché L3 compartido
Interfaz de bus
Monoprocesadores
Clusters
Multiprocesador Acceso no
CLUSTERS
Escalabilidad
absoluta.
Escalabilidad
incremental.
Alta disponibilidad.
Mejor relación
precio/prestaciones.
Imagen unificada
al usuario Espacio de único Sistema de
• Imagen de sistema de memoria gestión único
único
https://www.youtube.com/watch?v=53lw9N5pEJ
Y&t=689s
Video 1 - TAXONOMIA DE FLYNN
Describe Taxonomía de Flynn
https://www.youtube.com/watch?v=QgvzDdFpA
RM&index=1&list=PL_HzwTI2IKQwJtnGe-
QoZPIDxEmRyC51N
Programación Paralela – Definición de
Paralelismo
Técnicas para acelerar un mono procesador.
¿Cuales son las formas básicas de paralelismo?
¿Qué es multithreading?
Introducción a la segmentación
Introducción a Procesadores Superescalares
Introducción a Procesadores Vectoriales
https://www.youtube.com/watch?v=aAdZjIWeEtQ
&t=0s&index=7&list=PL_HzwTI2IKQwJtnGe-
QoZPIDxEmRyC51N
Segmentación
Segmentación
Dependencias (estructurales, datos y control)
Obviar parte de flujo de los datos en hardware del
procesador
https://www.youtube.com/watch?v=-
LVau_AOF3g&list=PL_HzwTI2IKQwJtnGe-
QoZPIDxEmRyC51N&index=2
Ejecución desordenada e instrucciones SIMD.
Superescalar
Fragmentación
Ejecución Desordenada
SIMD (MMX, SSE, AVX)