Upload
luis-alfonso-lopez-aragon
View
218
Download
0
Embed Size (px)
Citation preview
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
1/105
Máquinas Computadoras II
Procesadores Segmentadosy Vectoriales
UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACIÓNDEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
2/105
Ingeniería Electrónica - MC2
Contenido
Paralelismo en Mono-Procesador
MIMD Memoria Compartida
MIMD Memoria Acoplada
Computadoras Multi-core
Procesadores Segmentados y Vectoriales 2
Tipos de Paralelismo
Computadoras Vectoriales
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
3/105
TIPOS DE PARALELISMO
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC23
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
4/105
Conceptos Generales
Ejecución serial• Las tareas/instrucciones de un
programa son ejecutadas demanera secuencial, una cada vez.
Ejecución paralela• Varias tareas/instrucciones de un
programa son ejecutadas demanera simultánea.
Memoria compartida• Las diferentes unidades de computo
(CPU) comparten una memoriacomún a la cual tienen todos accesoen igualdad de condiciones.
Memoria distribuida• Las diferentes unidades de cálculo
(CPU) tienen una memoria propia ala cual las demás CPUs no tienenacceso directo.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC24
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
5/105
Conceptos Generales - Rendimiento
La aceleración experimentada por un programa al hacer uso de Nunidades de procesamiento (CPU) en vez de una única es
ó =
La eficiencia paralela es la aceleración alcanzada por un programacomparada con la que podría alcanzar en el caso ideal:
= ó
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC25
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
6/105
Primeros Pasos en ProcesamientoParalelo
La segmentación es unprimer mecanismo deparalelismo• Varias instrucciones
consecutivas son ejecutadasde forma solapada casi enparalelo.
Procesadores super-escalares realizan
también procesamientoparalelo• Ejecutan dos o mas
instrucciones al mismo tiempogracias a la presencia devarios cauces paralelos.
Procesadores oSistemas vectoriales• Segmentación al tratamiento
de grandes cadenas de datos.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC26
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
7/105
Clasificación de Flynn
La clasificación mas popular de computadores
Basada en la clasificación atendiendo al flujo de datos einstrucciones en un sistema. Un flujo de instrucciones es el conjunto de instrucciones secuenciales
que son ejecutadas por un único procesador,
y un flujo de datos es el flujo secuencial de datos requeridos por el flujode instrucciones.
Cuatro categorías:
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC27
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
8/105
Taxonomía de las arquitecturas paralelas
Organizaciones de computadores
Una secuencia deinstrucción, una
secuencia de datos(SISD)
Una secuencia deinstrucción, múltiplessecuencias de datos
(SIMD)
Múltiples secuencias deinstrucción, una
secuencia de datos(MISD)
Múltiples secuencias deinstrucción, múltiplessecuencias de datos
(MIMD)
Monoprocesadores
Procesadoresvectoriales
Procesadoresmatriciales
Memoria compartida(fuertemente acoplada)
Memoria distribuida(débilmente acoplada)
Clusters
Multiprocesador simétrico (SMP)
Acceso nouniforme amemoria(NUMA)
SMP = Symmetric MultiProcessor NUMA = NonUniform Memory Access
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC28
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
9/105
SISD: Single Instruction, SingleData
Características del modeloSISD: La CPU procesa
únicamente una instrucciónpor cada ciclo de reloj
Únicamente un dato esprocesado en cada ciclo dereloj
Es el modelo más antiguode computadora y el más
extendido.-
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC29
Flujo único de instrucciones y flujo
único de datos. A menudo a los SISD se lesconoce como computadores serieescalares.
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
10/105
Máquinas SISD
Poseen registro simple que se
llama contador de programa queasegura la ejecución en serie delprograma. Conforme se van leyendo las
instrucciones de la memoria,
el contador de programa se actualiza
para que apunte a la siguienteinstrucción a procesar en serie.
No existe actualmente ningúncomputador puramente SISD
La mayoría de procesadoresmodernos incorporan algún grado
de paralelismo Segmentación de instrucciones
Ejecución de varias instrucciones almismo tiempo (superescalares).-
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC210
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
11/105
MISD: Mult ip le Ins truc t ion stream ,Sing le Data stream
Flujo múltiple de instrucciones y único flujo de datos. Varias instrucciones actúan sobre el mismo y único conjunto de datos.
Existen pocos ejemplos ya que es impráctica. Una opción son arquitecturas altamente segmentadas ejecutando una función
particular en los mismo datos.-
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC211
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
12/105
SIMD: Single Instruction, MultipleData
Características delmodelo SIMD: Todas las unidades
ejecutan la misma
instrucción Cada unidad procesa
un dato distinto
Todas las unidades
operansimultáneamente
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC212
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
13/105
Organización MIMDMúltiples Instrucciones Múltiples Datos
Sonprocesadores deuso general.
Cada uno escapaz de
procesar todas
las instruccionesnecesarias pararealizar las
transformacionesapropiadas de los
datos.
Se puedensubdividir,
además, según laforma que tienenlos procesadores
paracomunicarse.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC213
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
14/105
MIMD: Multiple Instruction,Multiple Data
Características delmodelo MIMD: Cada unidad ejecuta
una instrucción distinta
Cada unidad procesaun dato distinto
Todas las unidadesoperan
simultáneamente
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC214
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
15/105
MIMD de memoria compartida
UC1
UC2
UCn
UP1
UP2
UPn
FI
FI
FI
FD
FD
FD
M e m
o r i a
c o m p
a r t i d a
UC = Unidad de ControlUP = Unidad de ProcesamientoFI = Flujo de InstruccionesFD = Flujo de Datos
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC215
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
16/105
SMP (fuertemente acoplado)
Varios procesadores comparten una única memoria.
Los procesadores se comunican unos con otros através de esa memoria compartida.
Características del multiprocesador simétrico (SMP):
• Comparten la memoria principal.• Comparten un bus para acceder a la memoria.• El tiempo de acceso a memoria es aproximadamente el mismo
para todos los procesadores.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC216
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
17/105
NUMA (fuertemente acoplado)
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC217
• El tiempo de acceso a zonas de memoria diferentespuede diferir en un computador NUMA.
NUMA: Acceso no uniforme a memoria.
• Evitando así que afecte al rendimiento del sistemacuando varios procesadores intentan acceder a lamisma memoria.
NUMA ofrece memoria distribuida para
cada procesador
• por un factor de aproximadamente el número deprocesadores (o separando bancos de memoria).
NUMA puede mejorar el rendimientoutilizando una única memoria compartida
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
18/105
MIMD de memoria distribuida
UC1
UC2
UCn
UP1
UP2
UPn
ML1
ML2
MLn
R e d d e
i n t e r c o n e x i ó n
FI
FI
FI
FD
FD
FD
UC = Unidad de ControlUP = Unidad de ProcesamientoFI = Flujo de InstruccionesFD = Flujo de DatosML = Memoria Local
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC218
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
19/105
Clusters (memoria débilmenteacoplada)
Un conjunto de computadores monoprocesadorindependientes, o de SMP, puedeninterconectarse para formar un “cluster”.
La comunicación entre los computadores serealiza mediante conexiones fijas o mediantealgún tipo de red.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC219
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
20/105
PARALELISMO ENMONOPROCESADOR
Segmentación
Procesadores Superescalares
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC220
Organizaciones de computadores
Una secuencia deinstrucción, una secuencia
de datos(SISD)
Una secuencia de instrucción,múltiples secuencias de datos
(SIMD)
Múltiples secuencias deinstrucción, una secuencia de
datos (MISD)
Múltiples secuencias deinstrucción, múltiples
secuencias de datos (MIMD)
Monoprocesadores
Procesadoresvectoriales
Procesadoresmatriciales
Memoria compartida(fuertemente acoplada)
Memoria distribuida(débilmente acoplada)
Clusters
Multiprocesador simétrico (SMP)
Acceso nouniforme amemoria(NUMA)
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
21/105
¿Qué es la segmentación?
Técnica de implementación por la cual se solapala ejecución de múltiples instrucciones
La ejecución de la una instrucción sedescompone en partes más pequeñas cada una de las cuales necesita una fracción del
tiempo necesario para completar la instruccióncompleta.
Cada uno de estos pasos se define como etapa
de la segmentación o segmento.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC221
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
22/105
Tarea Ejecutada Secuencial
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC222
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
23/105
Tarea Ejecutada con ProcesadorSegmentado
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC223
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
24/105
Ejemplo de eventos en etapa deSegmentación
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC224
IF = búsqueda de la instrucciónID = decodificación instrucción y búsqueda de registrosEX = ejecución y cálculo de direcciones efectivasMEM = acceso a memoriaWB = post-escritura
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
25/105
Segmentación básica
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC225
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
26/105
¿Qué es una implementaciónsuperescalar?
Las instrucciones comunes(aritméticas,cargas/almacenamientos y bifurcacionescondicionales) pueden iniciar su ejecuciónsimultáneamente y de manera independiente.
Puede utilizarse tanto en una arquitectura RISCcomo en una CISC.
• En la práctica, normalmente se utiliza en RISC.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC226
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
27/105
Organización superescalar usual
Banco de registros de enteros Banco de registros de coma flotante
Unidadesfuncionales
segmentadas
Memoria
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC227
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
28/105
Limitaciones
Paralelismo a nivel de instrucciones. Optimizaciones realizadas por el compilador.
Técnicas hardware.
Limitaciones:
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC228
• Dependencia de datos verdadera.
• Dependencia relativa al procedimiento.
• Conflictos en los recursos.
• Dependencia de salida.• Antidependencia.
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
29/105
Dependencia de datos verdadera
ADD r1, r2 ; r1 := r1 + r2 MOVE r3, r1 ; r3 := r1
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC229
La segunda instrucciónse puede captar y
decodificar en paralelocon la primera.
La segunda instrucciónNO se puede ejecutarhasta que finalice la
ejecución de laprimera instrucción.
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
30/105
Dependencia relativa alprocedimiento
Las instrucciones que siguen a unabifurcación no pueden ejecutarse enparalelo con las instrucciones anteriores ala misma.
Si las instrucciones son de longitudvariable, éstas tienen quedecodificarse para averiguar cuántascaptaciones son necesarias.
Esto imposibilita la captación simultánea.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC230
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
31/105
Conflictos en los recursos
Un conflicto en losrecursos es unapugna de dos o másinstrucciones por elmismo recurso almismo tiempo.
Los recursos pueden
duplicarse.
• Ejemplo: dosinstruccionesaritméticas.
• Ejemplo:tener dos
unidadesaritméticas.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC231
Clave Ejecución
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
32/105
Dependencias
1. Sin Dependencia2. Dependencia de
datos1. I1 usa un dato
calculado por I0
3. Dependencia relativaal procedimiento1. I2 e I3 espera
resultados de I0 eI1
4. Conflicto en unrecurso1. I0 e I1 utilizan la
misma UnidadFuncional
Clave EjecuciónCaptación
deinstrucción
Decodifi_ cación
Escritura
Sin dependencia
Dependencia de datos(i1 usa un dato calculado por i0)
Dependencia relativa
al procedimientoi1/bifurcación
Conflicto en un recurso(i0 e i1 usan la misma
unidad funcional)
Tiempo en ciclos base
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC232
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
33/105
Antidependencia
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.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC233
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
34/105
Ejecución superescalar
Programaestático
Captación deinstrucciones y
predicción de saltos
Envío deinstrucciones
Emisión deinstrucciones
Ejecución deinstrucciones
Reordenacióny entrega deinstrucciones
Ventana deejecución
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC234
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
35/105
Implementación superescalar
Estrategias de captación de instrucciones que capten simultáneamentemúltiples instrucciones.
Lógica para determinar dependencias verdaderas entre valores deregistros.
Mecanismos para comunicar esos valores.
Mecanismos para iniciar múltiples instrucciones en paralelo.
Recursos para la ejecución en paralelo de múltiples instrucciones.
Mecanismos para entregar el estado del procesador en un orden correcto.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC235
Ej l d S t ió
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
36/105
Ejemplo de Segmentación enPentium 4
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC236
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
37/105
COMPUTADORASVECTORIALES
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC237
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
38/105
Procesamiento vectorial
Un operandovectorialcontiene una
secuencia de nelementos• donde n es la
longitud delvector.
Cada elementodel vector es
un escalar decualquier tipo• entero, punto
flotante, etc.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC238
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
39/105
Arquitectura de una máquina SIMD
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC239
M e m o r i a D i s t r i b u i d a
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
40/105
Arquitectura de una máquina SIMD
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC240
M e m o
r i a C o
m p a r t i
d a
Arq itect ra básica de n
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
41/105
Arquitectura básica de uncomputador vectorial
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC241
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
42/105
Utilidad de un procesador vectorial
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC242
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
43/105
Elementos de la arquitectura
Registros vectoriales
Unidades funcionales vectoriales
Unidad de carga y almacenamiento
Registros escalares
Unidades funcionales escalares
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC243
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
44/105
Elementos de la arquitectura
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
Unidades funcionales vectoriales
Unidad de carga y almacenamiento
Registros escalares
Unidades funcionales escalares
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC244
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
45/105
Elementos de la arquitectura
Registros vectorialesUnidades funcionales vectoriales• Ejecutan las operaciones vectoriales
• Están segmentadas y suelen tener latencia 1• Una unidad de control vigila las dependencias
Unidad de carga y almacenamiento
Registros escalaresUnidades funcionales escalares
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC245
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
46/105
Elementos de la arquitectura
Registros vectorialesUnidades funcionales vectoriales
Unidad de carga y almacenamiento• Gestiona transferencias de vectores desde/a memoria• Puede estar segmentada• También puede ocuparse de los datos escalares
Registros escalaresUnidades funcionales escalares
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC246
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
47/105
Elementos de la arquitectura
Registros vectoriales
Unidades funcionales vectoriales
Unidad de carga y almacenamiento
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
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC247
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
48/105
Elementos de la arquitectura
Registros vectorialesUnidades funcionales vectoriales
Unidad de carga y almacenamiento
Registros escalares
Unidades funcionales escalares• Pueden existir para operaciones específicamente escalares• Pueden no existir si para operaciones escalares se usan las
unidades vectoriales
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC248
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
49/105
Ventajas de las máquinas vectoriales
Proporcionan granaprovechamiento delparalelismo (de datos)
con un controlrelativamente sencillo.
Una única instrucción
especifica una grancantidad de trabajo,
reduciendo la necesidadde ancho de banda de
instrucciones.
Optimizan el uso de
memoria con accesospredecibles que sepueden solapar.
Eliminan dependencias
de control einstrucciones decomprobación y
contabilidad.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC249
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
50/105
Ejemplo de máquina vectorial
Arquitectura delCray-1
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC250
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
51/105
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC251
Participación según arquitectura del
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
52/105
Participación según arquitectura delprocesador
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC252
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
53/105
Earth Simulator 2
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC253
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
54/105
Earth Simulator 2 - arquitectura
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC254
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
55/105
Earth Simulator 2 - Chip
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC255
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
56/105
MULTIPROCESADORESSIMÉTRICOS (SMP)
Memoria Compartida
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC256
Organizaciones de computadores
Una secuencia deinstrucción, una secuencia
de datos(SISD)
Una secuencia de instrucción,múltiples secuencias de datos
(SIMD)
Múltiples secuencias deinstrucción, una secuencia de
datos (MISD)
Múltiples secuencias deinstrucción, múltiples
secuencias de datos (MIMD)
Monoprocesadores
Procesadoresvectoriales
Procesadoresmatriciales
Memoria compartida(fuertemente acoplada)
Memoria distribuida(débilmente acoplada)
Clusters
Multiprocesador simétrico (SMP)
Acceso nouniforme amemoria(NUMA)
Multiprocesador fuertemente
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
57/105
Multiprocesador fuertementeacoplado
Procesador Procesador Procesador
E/S
E/S
E/S
Red deinterconexión
Memoria principal
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC257
Conmutador de barras cruzadas
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
58/105
Conmutador de barras cruzadasde 8 x 8
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC258
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
59/105
Red Omega de Conmutación
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC259
MemoriasProcesadores
C í i d SMP (1/2)
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
60/105
Característica de un SMP (1/2)
Es un computador autónomo.
Hay dos o más procesadores similares de capacidadescomparables.
Estos procesadores comparten la memoria principal y lasE/S.
Están interconectados mediante un bus u otro tipo desistema de interconexión.
El tiempo de acceso a memoria es aproximadamente elmismo para todos los procesadores.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC260
C t í ti d SMP
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
61/105
Característica de un SMP
Todos los procesadores comparten los dispositivos de E/S,
• bien a través de los mismos canales,• o bien mediante canales distintos que proporcionan caminos de
acceso al mismo dispositivo.
Todos los procesadores pueden desempeñar las mismas funciones
• (de ahí el término simétrico).
El sistema está controlado por un sistema operativo integrado,
• que proporciona la interacción entre los procesadores y• sus programas en los niveles de trabajo, tarea, fichero y datos.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC261
V t j d SMP
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
62/105
Ventajas de un SMP
Prestaciones:
Cuando el trabajo arealizar por uncomputador puedeorganizarse enparalelo.
Disponibilidad:
Debido a que todoslos procesadorespueden realizar lasmismas funciones,un fallo en unprocesador no haráque el computadorse detenga.
Crecimiento incremental:
Se pueden aumentarlas prestaciones delsistema, añadiendomás procesadores.
Escalado:Los fabricantespueden ofrecer unagama de productoscon precios yprestacionesdiferentes, enfunción del númerode procesadores queconfiguran elsistema.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC262
Organización de los
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
63/105
Organización de losmultiprocesadores simétricos
Bus de tiempo compartido o común.
Memoria multipuerto.
Unidad de control central.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC263
Organización de Bus de tiempo
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
64/105
Organización de Bus de tiempocompartido
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC264
B d ti tid
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
65/105
Bus de tiempo compartido
Es el mecanismo más simple.
La estructura y las interfaces son básicamente lasmismas que las de un sistema de un único procesador.
• Direccionamiento: distinción de los módulos del bus.• Arbitraje: cualquier módulo puede funcionar temporalmente como
maestro.• Tiempo compartido: cuando un módulo está controlando el bus, los
otros módulos tienen que esperar y, si es necesario, suspender suoperación.
Se proporcionan los siguientes elementos para el:
Existen varios procesadores, además de variosmódulos de E/S.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC265
Ventajas del bus de tiempo
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
66/105
j pcompartido
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
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC266
Desventajas del bus de tiempo
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
67/105
j pcompartido
La prestación estálimitada por eltiempo de ciclo del
bus.
Cada procesadordebería estar
equipado con unamemoria cachepara mejorar lasprestaciones:• Se reduciría el
número de accesos.
Se puedenproducirproblemas decoherencia decache:• Este problema es
resuelto por elhardware (se explicamás adelante)
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC267
Memoria multipuerto
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
68/105
Memoria multipuerto
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC268
Permite el accesodirecto e independiente
a los módulos dememoria desde cada
uno de losprocesadores.
Se necesita unacierta lógica para
resolver losconflictos.
Se necesitanpocas o ninguna
modificación en los
procesadores o enlos módulos.
Organización de Memoria Multi-
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
69/105
gpuerto
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC269
Ventajas y desventajas de la
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
70/105
j y jmemoria multipuerto
• Se precisa añadir al sistema de memoria una buenacantidad de lógica.
• Se consiguen mejores prestaciones.• Cada procesador tiene un camino dedicado a cada módulo
de memoria.
Más compleja:
• Incremento de la seguridad.
Permite configurar partes de la memoria comoprivadas para uno o más procesadores:
Se debe utilizar una estrategia de escrituradirecta para controlar la cache.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC270
Unidad de control central
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
71/105
Unidad de control central
• Encauza las distintas secuencias de datos entre los distintos módulosindependientes.
• Puede almacenar temporalmente peticiones.
• Puede realizar las funciones de arbitraje y temporización.
• Puede transmitir mensajes de estado y control entre los procesadores.
• Puede alertar sobre los cambios en las caches.
• Las interfaces de E/S, memoria y procesador no sufren cambios esenciales.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC271
Puntos clave de diseño de un
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
72/105
sistema operativo
Procesos concurrentes simultáneos.
Planificación.
Sincronización.
Gestión de memoria.
Fiabilidad y tolerancia ante los fallos.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC272
Coherencia de cache y protocolo
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
73/105
y pMESI
Problema: puedenexistir varias copias
del mismo datosimultáneamente encaches diferentes.
Puede producirseuna visión
inconsistente de lamemoria.
La política de post-escritura puede
ocasionarinconsistencia.
La política deescritura directatambién puede
producir problemas,a no ser que las
otras caches
comprueben losaccesos a lamemoria principal.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC273
Soluciones software
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
74/105
Soluciones software
El compilador y el sistema operativo se encargan del problema dela necesidad de circuitería y lógica hardware adicional.
La sobrecarga se transfiere al tiempo de compilación.
La complejidad del diseño se transfiere desde el hardware alsoftware.
Por otra parte, el software tiende a tomar ciertas decisionesconservadoras:
• Utilización ineficiente de la cache.
Analizan el código para determinar periodos seguros para lasvariables compartidas.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC274
Soluciones hardware
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
75/105
Soluciones hardware
Generalmente
se denominan“protocolos decoherencia de
cache”.
Permitenreconocer
dinámicamente,en el momentode la ejecución,
problemaspotenciales.
Permiten un usomás efectivo de
las caches.
Aproximacionestransparentespara el
programador.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC275
Ejemplo: Invalidar si escritura
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
76/105
Ejemplo: Invalidar-si-escritura
Múltiples procesadores que leen, pero uno sólo que escribe.
Cuando se quiere hacer una escritura, se invalidan las otras caches de lalínea.
El procesador que escribe tiene acceso exclusivo hasta que la línea sea
requerida por otro procesador.
Se utiliza en los sistemas Pentium II y Power PC.
El estado de cada línea se marca como modificado, exclusivo,compartido, o no válido.
El protocolo de invalidar-si-escritura se llama MESI.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC276
SMP en el mercado
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
77/105
SMP en el mercado
Procesadores Segmentados Ingeniería Electrónica - MC277
Precio de Sparc T3 incluye el rack con todos los accesorios, disco duros, memoria,etc.
Ultrasparc T3
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
78/105
Ultrasparc T3
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC278
Procesador Intel Xeon
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
79/105
Procesador Intel Xeon
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC279
MIPS32 1074K
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
80/105
MIPS32 1074K
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC280
AMD Opteron
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
81/105
AMD Opteron
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC281
Múltiples AMD
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
82/105
Múltiples AMD
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC282
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
83/105
COMPUTADORASMULTICORE
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC283
Organizaciones Alternativas
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
84/105
Organizaciones Alternativas
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC284
Superscalar
Multi-hilos Simultáneos(Simul taneous mul t i th read ing, SMT)
Multicore
Organización de Multicore
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
85/105
Organización de Multicore
Número de
procesadoresde núcleo enel chip
Número de
niveles decaché en elchip
Cantidad de
memoriacachécompartida
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC285
Alternativa de Organización
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
86/105
Alternativa de Organización
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC286
C a c h é L 1 d e d i c a
d a
C a c h é L 3 c o m p a r t i d o
C a c h é L 2 c
o m p a r t i d a
C a c h é L 2 d e d i c a
d a
Ventajas del caché L2 Compartido
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
87/105
Ventajas del caché L2 Compartido
Datos compartidos por múltiples núcleos no se replican a nivel de caché
Con buen marco de algoritmos de reemplazo significa la cantidad dememoria caché compartida dedicada a cada núcleo es dinámica
• Hilos con menos localidad puede tener más caché
Fácil la comunicación entre procesos a través de memoria compartida
Coherencia de caché limitada a L1
Caché dedicado L2 le da a cada núcleo un acceso más rápido
Caché compartida L3 también puede mejorar el rendimiento
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC287
Arquitectura Core
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
88/105
Arquitectura Core
Intel Core Duo usa núcleos superescalares
Intel Core i7 usa multi-hilos simultaneous (SMT)• Se amplía hasta el número de hilos de apoyo
• 4 núcleos SMT, cada uno soportando cuatro hilos aparece
como 16 núcleos
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC288
Intel Core Duo vs Core i&
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
89/105
Intel Core Duo vs Core i&
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC289
Organización Intel x86 Multicore -C D (1)
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
90/105
Core Duo (1)
2006
Dos superescalar x86, caché L2 compartida
L1 cache dedicado por núcleo• 32 KB de instrucciones y datos de 32 KB
Unidad de control térmico por núcleo• Gestiona la disipación de calor de chips• Maximizar el rendimiento dentro de las limitaciones
mejora de la ergonomía
Programable avanzada de interrupciones controladas (APIC)• Proceso entre las interrupciones entre los núcleos• Rutas interrumpe al núcleo apropiado• Incluye temporizador para OS puede interrumpir el núcleo
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC290
Organización Intel x86 Multicore -C D (2)
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
91/105
Core Duo (2)
Gestión de Potencia• Supervisa las condiciones térmicas y de actividad de la CPU• Ajusta el consumo de voltaje y potencia• Puede cambiar la lógica de los subsistemas individuales
2 MB de caché L2 compartida• Asignación dinámica• Soporte MESI a cachés L1• Extendido para soportar múltiples Core Duo en SMP
• Datos L2 compartido entre los núcleos locales o externosInterfaz de bus
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC291
Organización Intel x86 Multicore -C i7
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
92/105
Core i7Noviembre 2008
Cuatro procesadores x86 SMT
Dedicado L2, caché L3 compartida
Cache con Pre-búsqueda Especulativa
Chip contiene controlador de memoria DDR3• Tres canales de 8 bytes (192 bits) que da 32 GB/s• No hay bus frontal
QuickPath de interconexión• Memoria caché coherente de punto a punto de enlace
• Comunicaciones de alta velocidad entre chips de procesadores• 6,4 g transferencias por segundo, 16 bits por transferencia• Pares dedicado bidireccional• Total de ancho de banda de 25,6 GB/s
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC292
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
93/105
CLUSTERS
Memoria Distribuida
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC293
Organizaciones de computadores
Una secuencia deinstrucción, una secuencia
de datos(SISD)
Una secuencia de instrucción,múltiples secuencias de datos
(SIMD)
Múltiples secuencias deinstrucción, una secuencia de
datos (MISD)
Múltiples secuencias deinstrucción, múltiples
secuencias de datos (MIMD)
Monoprocesadores
Procesadoresvectoriales
Procesadoresmatriciales
Memoria compartida(fuertemente acoplada)
Memoria distribuida(débilmente acoplada)
Clusters
Multiprocesador simétrico (SMP)
Acceso nouniforme amemoria(NUMA)
“Clusters”
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
94/105
Son la alternativa a los SMP. Prestaciones y disponibilidad elevadas.
Aplicaciones propias de un servidor.Un grupo de computadores completosinterconectados que trabajanconjuntamente como un único recursode cómputo, creándose la ilusión de quese trata de una sóla máquina.
Cada computador se denomina “nodo”.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC294
Beneficios del “cluster”
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
95/105
Escalabilidadabsoluta.
Escalabilidadincremental.
Alta disponibilidad.
Mejor relaciónprecio/prestaciones.
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC295
Configuraciones de “clusters”:
id i di tid
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
96/105
servidor sin disco compartido
Enlace de alta velocidad paramensajesE/S E/SE/SE/S
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC296
Configuraciones de “clusters”:
disco compartido
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
97/105
disco compartido
E/S
E/SE/S
E/S
Enlace de alta velocidad paramensajes
E/S E/S
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC297
Paralelización
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
98/105
Una sola aplicación se ejecuta en paralelo en un
número de máquinas en cluster Compilador
• Determina en tiempo de compilación que partes se puedenejecutar en paralelo
• Separa código para diferentes equipos Aplicación
• Son escritas desde cero para aprovechar paralelismo
• Uso de mensajes para mover datos entre los nodos
• Difíciles de programar • Mejor resultado final
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC298
Arquitectura de Computadora enCluster
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
99/105
Cluster
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC299
Cluster Middleware
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
100/105
Imagen unificadaal usuario• Imagen de sistema
único
Único punto deentrada
Única Jerarquíade archivos
Único punto decontrol
Red virtual única
Espacio de únicode memoria
Sistema degestión único
Única interfaz deusuario
Única de espaciode E/S
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC2100
Servidores Blade
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
101/105
Una aplicación común de
Cluster Servidor de múltiples
servidores (Blade) en elmismo chasis
Ahorro de espacio Mejorar la gestión del
sistema
Chasis proporciona lafuente de alimentación
Cada Blade tieneprocesador, memoria, disco
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC2101
Ejemplo de Configuración paraServidor Blade Masivo
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
102/105
Servidor Blade Masivo
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC2102
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
103/105
Participación según arquitecturadel procesador
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
104/105
del procesador
Procesadores Segmentados y Vectoriales Ingeniería Electrónica - MC2104
8/20/2019 Maquinas Computadoras II U2 - Procesadores Segmentados y Vectoriales
105/105
Ingeniería Electrónica – MC2