Sei sulla pagina 1di 112

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE ELECTROTECNIA Y COMPUTACIÓN


DEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES

Máquinas Computadoras II
Procesadores Segmentados
y Vectoriales
Contenido

Tipos de Paralelismo

Paralelismo en Mono-Procesador

Computadoras Vectoriales

MIMD Memoria Compartida

Computadoras Multi-core

MIMD Memoria Acoplada

Procesadores Segmentados y Vectoriales 2 Ingeniería Electrónica - MC2


TIPOS DE PARALELISMO

Procesadores Segmentados y Vectoriales 3 Ingeniería Electrónica - MC2


Conceptos Generales

Ejecución serial Ejecución paralela


• Las tareas/instrucciones de un • Varias tareas/instrucciones de un
programa son ejecutadas de programa son ejecutadas de
manera secuencial, una cada vez. manera simultánea.

Memoria compartida Memoria distribuida


• Las diferentes unidades de computo • Las diferentes unidades de cálculo
(CPU) comparten una memoria (CPU) tienen una memoria propia a
común a la cual tienen todos acceso la cual las demás CPUs no tienen
en igualdad de condiciones. acceso directo.

Procesadores Segmentados y Vectoriales 4 Ingeniería Electrónica - MC2


Conceptos Generales - Rendimiento

La aceleración experimentada por un programa al hacer uso de N


unidades de procesamiento (CPU) en vez de una única es

𝑇𝑖𝑒𝑚𝑝𝑜𝐶𝑃𝑈𝑆𝑒𝑟𝑖𝑒
𝐴𝑐𝑒𝑙𝑒𝑟𝑎𝑐𝑖ó𝑛 =
𝑇𝑖𝑒𝑚𝑝𝑜𝐶𝑃𝑈𝑃𝑎𝑟𝑎𝑙𝑒𝑙𝑜

La eficiencia paralela es la aceleración alcanzada por un programa


comparada con la que podría alcanzar en el caso ideal:

𝐴𝑐𝑒𝑙𝑒𝑟𝑎𝑐𝑖ó𝑛
𝐸𝑓𝑖𝑐𝑖𝑒𝑛𝑐𝑖𝑎𝑃𝑎𝑟𝑎𝑙𝑒𝑙𝑎 =
𝑁

Procesadores Segmentados y Vectoriales 5 Ingeniería Electrónica - MC2


Primeros Pasos en Procesamiento
Paralelo

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.

Procesadores Segmentados y Vectoriales 6 Ingeniería Electrónica - MC2


Clasificación de Flynn
 La clasificación mas popular de computadores
 Basada en la clasificación atendiendo al flujo de datos e
instrucciones 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 flujo
de instrucciones.
 Cuatro categorías:

Procesadores Segmentados y Vectoriales 7 Ingeniería Electrónica - MC2


Taxonomía de las arquitecturas paralelas

Organizaciones de computadores

Una secuencia de Una secuencia de Múltiples secuencias de Múltiples secuencias de


instrucción, una instrucción, múltiples instrucción, una instrucción, múltiples
secuencia de datos secuencias de datos secuencia de datos secuencias de datos
(SISD) (SIMD) (MISD) (MIMD)

Monoprocesadores

Procesadores Procesadores Memoria compartida Memoria distribuida


vectoriales matriciales (fuertemente acoplada) (débilmente acoplada)

Clusters

Multiprocesador Acceso no
simétrico (SMP) uniforme a
memoria
(NUMA)

SMP = Symmetric MultiProcessor


NUMA = NonUniform Memory Access

Procesadores Segmentados y Vectoriales 8 Ingeniería Electrónica - MC2


SISD: Single Instruction, Single
Data
Flujo único de instrucciones y flujo Características del modelo
único de datos. SISD:
A menudo a los SISD se les  La CPU procesa
conoce como computadores serie únicamente una instrucción
escalares. por cada ciclo de reloj
 Únicamente un dato es
procesado en cada ciclo de
reloj
 Es el modelo más antiguo
de computadora y el más
extendido.-

Procesadores Segmentados y Vectoriales 9 Ingeniería Electrónica - MC2


Máquinas SISD
 Poseen registro simple que se
llama contador de programa que
asegura la ejecución en serie del
programa.
 Conforme se van leyendo las
instrucciones de la memoria,
 el contador de programa se actualiza
para que apunte a la siguiente
instrucción a procesar en serie.
 No existe actualmente ningún
computador puramente SISD
 La mayoría de procesadores
modernos incorporan algún grado
de paralelismo
 Segmentación de instrucciones
 Ejecución de varias instrucciones al
mismo tiempo (superescalares).-

Procesadores Segmentados y Vectoriales 10 Ingeniería Electrónica - MC2


MISD: Multiple Instruction stream,
Single 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 11 Ingeniería Electrónica - MC2


SIMD: Single Instruction, Multiple
Data
 Características del
modelo SIMD:
 Todas las unidades
ejecutan la misma
instrucción
 Cada unidad procesa
un dato distinto
 Todas las unidades
operan
simultáneamente

Procesadores Segmentados y Vectoriales 12 Ingeniería Electrónica - MC2


Organización MIMD
Múltiples Instrucciones Múltiples Datos

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.

Procesadores Segmentados y Vectoriales 13 Ingeniería Electrónica - MC2


MIMD: Multiple Instruction,
Multiple Data
 Características del
modelo MIMD:
 Cada unidad ejecuta
una instrucción distinta
 Cada unidad procesa
un dato distinto
 Todas las unidades
operan
simultáneamente

Procesadores Segmentados y Vectoriales 14 Ingeniería Electrónica - MC2


MIMD de memoria compartida
FI FD
UC1 UP1

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

Procesadores Segmentados y Vectoriales 15 Ingeniería Electrónica - MC2


SMP (fuertemente acoplado)

Varios procesadores comparten una única memoria.

Los procesadores se comunican unos con otros a


travé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 16 Ingeniería Electrónica - MC2


NUMA (fuertemente acoplado)

NUMA: Acceso no uniforme a memoria.

• El tiempo de acceso a zonas de memoria diferentes


puede diferir en un computador NUMA.

NUMA ofrece memoria distribuida para


cada procesador
• Evitando así que afecte al rendimiento del sistema
cuando varios procesadores intentan acceder a la
misma memoria.

NUMA puede mejorar el rendimiento


utilizando una única memoria compartida
• por un factor de aproximadamente el número de
procesadores (o separando bancos de memoria).

Procesadores Segmentados y Vectoriales 17 Ingeniería Electrónica - MC2


MIMD de memoria distribuida
FI FD
UC1 UP1 ML1

FI FD

interconexión
UC2 UP2 ML2

Red de
FI FD

UCn UPn MLn

UC = Unidad de Control
UP = Unidad de Procesamiento
FI = Flujo de Instrucciones
FD = Flujo de Datos
ML = Memoria Local

Procesadores Segmentados y Vectoriales 18 Ingeniería Electrónica - MC2


Clusters (memoria débilmente
acoplada)

Un conjunto de computadores monoprocesador


independientes, o de SMP, pueden
interconectarse para formar un “cluster”.

La comunicación entre los computadores se


realiza mediante conexiones fijas o mediante
algún tipo de red.

Procesadores Segmentados y Vectoriales 19 Ingeniería Electrónica - MC2


Organizaciones de computadores

Una secuencia de Una secuencia de instrucción, Múltiples secuencias de Múltiples secuencias de


instrucción, una secuencia múltiples secuencias de datos instrucción, una secuencia de instrucción, múltiples
de datos (SIMD) datos (MISD) secuencias de datos (MIMD)
(SISD)

Monoprocesadores

Procesadores Procesadores Memoria compartida Memoria distribuida


vectoriales matriciales (fuertemente acoplada) (débilmente acoplada)

Clusters

Segmentación Multiprocesador Acceso no


simétrico (SMP) uniforme a

Procesadores Superescalares memoria


(NUMA)

PARALELISMO EN
MONOPROCESADOR

Procesadores Segmentados y Vectoriales 20 Ingeniería Electrónica - MC2


¿Qué es la segmentación?

 Técnica de implementación por la cual se solapa


la ejecución de múltiples instrucciones
 La ejecución de la una instrucción se
descompone en partes más pequeñas
 cada una de las cuales necesita una fracción del
tiempo necesario para completar la instrucción
completa.
 Cada uno de estos pasos se define como etapa
de la segmentación o segmento.

Procesadores Segmentados y Vectoriales 21 Ingeniería Electrónica - MC2


Tarea Ejecutada Secuencial

Procesadores Segmentados y Vectoriales 22 Ingeniería Electrónica - MC2


Tarea Ejecutada con Procesador
Segmentado

Procesadores Segmentados y Vectoriales 23 Ingeniería Electrónica - MC2


Ejemplo de eventos en etapa de
Segmentación

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

Procesadores Segmentados y Vectoriales 24 Ingeniería Electrónica - MC2


Segmentación básica

Procesadores Segmentados y Vectoriales 25 Ingeniería Electrónica - MC2


¿Qué es una implementación
superescalar?

Las instrucciones comunes(aritméticas,


cargas/almacenamientos y bifurcaciones
condicionales) pueden iniciar su ejecución
simultáneamente y de manera independiente.

Puede utilizarse tanto en una arquitectura RISC


como en una CISC.
• En la práctica, normalmente se utiliza en RISC.

Procesadores Segmentados y Vectoriales 26 Ingeniería Electrónica - MC2


Organización superescalar usual

Banco de registros de enteros Banco de registros de coma flotante

Unidades
funcionales
segmentadas

Memoria

Procesadores Segmentados y Vectoriales 27 Ingeniería Electrónica - MC2


Limitaciones

 Paralelismo a nivel de instrucciones.


 Optimizaciones realizadas por el compilador.
 Técnicas hardware.
 Limitaciones:
• Dependencia de datos verdadera.
• Dependencia relativa al procedimiento.
• Conflictos en los recursos.
• Dependencia de salida.
• Antidependencia.

Procesadores Segmentados y Vectoriales 28 Ingeniería Electrónica - MC2


Dependencia de datos verdadera

 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.

Procesadores Segmentados y Vectoriales 29 Ingeniería Electrónica - MC2


Dependencia relativa al
procedimiento

Las instrucciones que siguen a una


bifurcación no pueden ejecutarse en
paralelo con las instrucciones anteriores a
la misma.

Si las instrucciones son de longitud


variable, éstas tienen que
decodificarse para averiguar cuántas
captaciones son necesarias.

Esto imposibilita la captación simultánea.

Procesadores Segmentados y Vectoriales 30 Ingeniería Electrónica - MC2


Conflictos en los recursos

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.

Procesadores Segmentados y Vectoriales 31 Ingeniería Electrónica - MC2


Clave Ejecución
Captación
Decodifi_
de Escritura
cación
instrucción

Dependencias Sin dependencia

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

Procesadores Segmentados y Vectoriales 32 Ingeniería Electrónica - MC2


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 33 Ingeniería Electrónica - MC2


Ejecución superescalar

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

Procesadores Segmentados y Vectoriales 34 Ingeniería Electrónica - MC2


Implementación superescalar
Estrategias de captación de instrucciones que capten simultáneamente
múltiples instrucciones.

Lógica para determinar dependencias verdaderas entre valores de


registros.

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 35 Ingeniería Electrónica - MC2


Ejemplo de Segmentación en
Pentium 4

Procesadores Segmentados y Vectoriales 36 Ingeniería Electrónica - MC2


COMPUTADORAS
VECTORIALES

Procesadores Segmentados y Vectoriales 37 Ingeniería Electrónica - MC2


Procesamiento vectorial

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.

Procesadores Segmentados y Vectoriales 38 Ingeniería Electrónica - MC2


Memoria Distribuida Arquitectura de una máquina SIMD

Procesadores Segmentados y Vectoriales 39 Ingeniería Electrónica - MC2


Memoria Compartida Arquitectura de una máquina SIMD

Procesadores Segmentados y Vectoriales 40 Ingeniería Electrónica - MC2


Arquitectura básica de un
computador vectorial

Procesadores Segmentados y Vectoriales 41 Ingeniería Electrónica - MC2


Utilidad de un procesador vectorial

Procesadores Segmentados y Vectoriales 42 Ingeniería Electrónica - MC2


Elementos de la arquitectura

Registros vectoriales

Unidades funcionales vectoriales

Unidad de carga y almacenamiento

Registros escalares

Unidades funcionales escalares

Procesadores Segmentados y Vectoriales 43 Ingeniería Electrónica - MC2


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 44 Ingeniería Electrónica - MC2


Elementos de la arquitectura

Registros vectoriales

Unidades 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 escalares

Unidades funcionales escalares

Procesadores Segmentados y Vectoriales 45 Ingeniería Electrónica - MC2


Elementos de la arquitectura

Registros vectoriales

Unidades 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 escalares

Unidades funcionales escalares

Procesadores Segmentados y Vectoriales 46 Ingeniería Electrónica - MC2


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 47 Ingeniería Electrónica - MC2


Elementos de la arquitectura

Registros vectoriales

Unidades 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 48 Ingeniería Electrónica - MC2


Ventajas de las máquinas vectoriales

Una única instrucción


Proporcionan gran
especifica una gran
aprovechamiento del
cantidad de trabajo,
paralelismo (de datos)
reduciendo la necesidad
con un control
de ancho de banda de
relativamente sencillo.
instrucciones.

Eliminan dependencias
Optimizan el uso de
de control e
memoria con accesos
instrucciones de
predecibles que se
comprobación y
pueden solapar.
contabilidad.

Procesadores Segmentados y Vectoriales 49 Ingeniería Electrónica - MC2


Ejemplo de máquina vectorial

Arquitectura del
Cray-1

Procesadores Segmentados y Vectoriales 50 Ingeniería Electrónica - MC2


Procesadores Segmentados y Vectoriales 51 Ingeniería Electrónica - MC2
Participación según arquitectura del
procesador

Procesadores Segmentados y Vectoriales 52 Ingeniería Electrónica - MC2


Earth Simulator 2

Procesadores Segmentados y Vectoriales 53 Ingeniería Electrónica - MC2


Earth Simulator 2 - arquitectura

Procesadores Segmentados y Vectoriales 54 Ingeniería Electrónica - MC2


Earth Simulator 2 - Chip

Procesadores Segmentados y Vectoriales 55 Ingeniería Electrónica - MC2


Organizaciones de computadores

Una secuencia de Una secuencia de instrucción, Múltiples secuencias de Múltiples secuencias de


instrucción, una secuencia múltiples secuencias de datos instrucción, una secuencia de instrucción, múltiples
de datos (SIMD) datos (MISD) secuencias de datos (MIMD)
(SISD)

Monoprocesadores

Procesadores Procesadores Memoria compartida Memoria distribuida


vectoriales matriciales (fuertemente acoplada) (débilmente acoplada)

Clusters

Multiprocesador Acceso no

Memoria Compartida simétrico (SMP) uniforme a


memoria
(NUMA)

MULTIPROCESADORES
SIMÉTRICOS (SMP)

Procesadores Segmentados y Vectoriales 56 Ingeniería Electrónica - MC2


Multiprocesador fuertemente
acoplado
Procesador Procesador Procesador

E/S

Red de E/S

interconexión

E/S

Memoria principal

Procesadores Segmentados y Vectoriales 57 Ingeniería Electrónica - MC2


Conmutador de barras cruzadas
de 8 x 8

Procesadores Segmentados y Vectoriales 58 Ingeniería Electrónica - MC2


Red Omega de Conmutación

Procesadores Memorias

Procesadores Segmentados y Vectoriales 59 Ingeniería Electrónica - MC2


Característica de un SMP (1/2)

Es un computador autónomo.

Hay dos o más procesadores similares de capacidades


comparables.
Estos procesadores comparten la memoria principal y las
E/S.
Están interconectados mediante un bus u otro tipo de
sistema de interconexión.
El tiempo de acceso a memoria es aproximadamente el
mismo para todos los procesadores.

Procesadores Segmentados y Vectoriales 60 Ingeniería Electrónica - MC2


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 61 Ingeniería Electrónica - MC2


Ventajas de un SMP

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.

Procesadores Segmentados y Vectoriales 62 Ingeniería Electrónica - MC2


Organización de los
multiprocesadores simétricos

Bus de tiempo compartido o común.

Memoria multipuerto.

Unidad de control central.

Procesadores Segmentados y Vectoriales 63 Ingeniería Electrónica - MC2


Organización de Bus de tiempo
compartido

Procesadores Segmentados y Vectoriales 64 Ingeniería Electrónica - MC2


Bus de tiempo compartido

Es el mecanismo más simple.

La estructura y las interfaces son básicamente las


mismas que las de un sistema de un único procesador.

Se proporcionan los siguientes elementos para el:

• 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 su
operación.

Existen varios procesadores, además de varios


módulos de E/S.

Procesadores Segmentados y Vectoriales 65 Ingeniería Electrónica - MC2


Ventajas del bus de tiempo
compartido

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 66 Ingeniería Electrónica - MC2


Desventajas del bus de tiempo
compartido

Cada procesador Se pueden


debería estar producir
La prestación está equipado con una problemas de
limitada por el memoria cache coherencia de
tiempo de ciclo del para mejorar las cache:
bus. prestaciones: • Este problema es
resuelto por el
• Se reduciría el hardware (se explica
número de accesos. más adelante)

Procesadores Segmentados y Vectoriales 67 Ingeniería Electrónica - MC2


Memoria multipuerto

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.

Procesadores Segmentados y Vectoriales 68 Ingeniería Electrónica - MC2


Organización de Memoria Multi-
puerto

Procesadores Segmentados y Vectoriales 69 Ingeniería Electrónica - MC2


Ventajas y desventajas de la
memoria multipuerto
Más compleja:

• Se precisa añadir al sistema de memoria una buena


cantidad de lógica.
• Se consiguen mejores prestaciones.
• Cada procesador tiene un camino dedicado a cada módulo
de memoria.

Permite configurar partes de la memoria como


privadas para uno o más procesadores:
• Incremento de la seguridad.

Se debe utilizar una estrategia de escritura


directa para controlar la cache.

Procesadores Segmentados y Vectoriales 70 Ingeniería Electrónica - MC2


Unidad de control central

• Encauza las distintas secuencias de datos entre los distintos módulos


independientes.

• 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 71 Ingeniería Electrónica - MC2


Puntos clave de diseño de un
sistema operativo

Procesos concurrentes simultáneos.

Planificación.

Sincronización.

Gestión de memoria.

Fiabilidad y tolerancia ante los fallos.

Procesadores Segmentados y Vectoriales 72 Ingeniería Electrónica - MC2


Coherencia de cache y protocolo
MESI

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.

Procesadores Segmentados y Vectoriales 73 Ingeniería Electrónica - MC2


Soluciones software

El compilador y el sistema operativo se encargan del problema de


la 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 al


software.

Por otra parte, el software tiende a tomar ciertas decisiones


conservadoras:
• Utilización ineficiente de la cache.

Analizan el código para determinar periodos seguros para las


variables compartidas.

Procesadores Segmentados y Vectoriales 74 Ingeniería Electrónica - MC2


Soluciones hardware

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.

Procesadores Segmentados y Vectoriales 75 Ingeniería Electrónica - MC2


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 la


lí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 76 Ingeniería Electrónica - MC2


SMP en el mercado

Precio de Sparc T3 incluye el rack con todos los accesorios, disco duros, memoria,
etc.

Procesadores Segmentados 77 Ingeniería Electrónica - MC2


Ultrasparc T3

Procesadores Segmentados y Vectoriales 78 Ingeniería Electrónica - MC2


Procesador Intel Xeon

Procesadores Segmentados y Vectoriales 79 Ingeniería Electrónica - MC2


MIPS32 1074K

Procesadores Segmentados y Vectoriales 80 Ingeniería Electrónica - MC2


AMD Opteron

Procesadores Segmentados y Vectoriales 81 Ingeniería Electrónica - MC2


Múltiples AMD

Procesadores Segmentados y Vectoriales 82 Ingeniería Electrónica - MC2


COMPUTADORAS
MULTICORE

Procesadores Segmentados y Vectoriales 83 Ingeniería Electrónica - MC2


Organizaciones Alternativas

Superscalar

Multicore

Multi-hilos Simultáneos
(Simultaneous multithreading, SMT)

Procesadores Segmentados y Vectoriales 84 Ingeniería Electrónica - MC2


Organización de Multicore

Número de Número de Cantidad de


procesadores niveles de memoria
de núcleo en caché en el caché
el chip chip compartida

Procesadores Segmentados y Vectoriales 85 Ingeniería Electrónica - MC2


Caché L1 dedicada Alternativa de Organización

Caché L2 dedicada
Caché L2 compartida

Caché L3 compartido

Procesadores Segmentados y Vectoriales 86 Ingeniería Electrónica - MC2


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 de


memoria 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 87 Ingeniería Electrónica - MC2


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 88 Ingeniería Electrónica - MC2


Intel Core Duo vs Core i&

Procesadores Segmentados y Vectoriales 89 Ingeniería Electrónica - MC2


Organización Intel x86 Multicore -
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 90 Ingeniería Electrónica - MC2


Organización Intel x86 Multicore -
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 externos

Interfaz de bus

Procesadores Segmentados y Vectoriales 91 Ingeniería Electrónica - MC2


Organización Intel x86 Multicore -
Core i7
Noviembre 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 92 Ingeniería Electrónica - MC2


Organizaciones de computadores

Una secuencia de Una secuencia de instrucción, Múltiples secuencias de Múltiples secuencias de


instrucción, una secuencia múltiples secuencias de datos instrucción, una secuencia de instrucción, múltiples
de datos (SIMD) datos (MISD) secuencias de datos (MIMD)
(SISD)

Monoprocesadores

Procesadores Procesadores Memoria compartida Memoria distribuida


vectoriales matriciales (fuertemente acoplada) (débilmente acoplada)

Clusters

Multiprocesador Acceso no

Memoria Distribuida simétrico (SMP) uniforme a


memoria
(NUMA)

CLUSTERS

Procesadores Segmentados y Vectoriales 93 Ingeniería Electrónica - MC2


“Clusters”

Son la alternativa a los SMP. Prestaciones y disponibilidad elevadas.

Un grupo de computadores completos


interconectados que trabajan
Aplicaciones propias de un servidor. conjuntamente como un único recurso
de cómputo, creándose la ilusión de que
se trata de una sóla máquina.

Cada computador se denomina “nodo”.

Procesadores Segmentados y Vectoriales 94 Ingeniería Electrónica - MC2


Beneficios del “cluster”

Escalabilidad
absoluta.

Escalabilidad
incremental.

Alta disponibilidad.

Mejor relación
precio/prestaciones.

Procesadores Segmentados y Vectoriales 95 Ingeniería Electrónica - MC2


Configuraciones de “clusters”:
servidor sin disco compartido

E/S E/S Enlace de alta velocidad para


mensajes E/S E/S

Procesadores Segmentados y Vectoriales 96 Ingeniería Electrónica - MC2


Configuraciones de “clusters”:
disco compartido

Enlace de alta velocidad para


E/S mensajes E/S

E/S E/S E/S E/S

Procesadores Segmentados y Vectoriales 97 Ingeniería Electrónica - MC2


Paralelización

 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 pueden
ejecutar 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 98 Ingeniería Electrónica - MC2


Arquitectura de Computadora en
Cluster

Procesadores Segmentados y Vectoriales 99 Ingeniería Electrónica - MC2


Cluster Middleware

Imagen unificada
al usuario Espacio de único Sistema de
• Imagen de sistema de memoria gestión único
único

Único punto de Única interfaz de


Red virtual única
entrada usuario

Única Jerarquía Único punto de Única de espacio


de archivos control de E/S

Procesadores Segmentados y Vectoriales 100 Ingeniería Electrónica - MC2


Servidores Blade
 Una aplicación común de
Cluster
 Servidor de múltiples
servidores (Blade) en el
mismo chasis
 Ahorro de espacio
 Mejorar la gestión del
sistema
 Chasis proporciona la
fuente de alimentación
 Cada Blade tiene
procesador, memoria, disco

Procesadores Segmentados y Vectoriales 101 Ingeniería Electrónica - MC2


Ejemplo de Configuración para
Servidor Blade Masivo

Procesadores Segmentados y Vectoriales 102 Ingeniería Electrónica - MC2


Cluster vs SMP
 Ambos ofrecen soporte multiprocesador para las
aplicaciones de alta demanda.
 Ambos disponibles en el mercado
 SMP durante más tiempo
 SMP:
 Más fácil de administrar y controlar
 Más cerca de los sistemas de procesador único
• La programación es la diferencia principal
• Menos espacio físico
• Menor consumo de energía
 Clustering:
 Superior escalabilidad incremental y absoluta
 Superior disponibilidad
• Redundancia

Procesadores Segmentados y Vectoriales 103 Ingeniería Electrónica - MC2


Participación según arquitectura
del procesador

Procesadores Segmentados y Vectoriales 104 Ingeniería Electrónica - MC2


Resumen de temas - 1

 Conceptos de paralelismo (v2)


 Clasificación de Flynn (v1)
 Memoria Compartida vs Dedicada
 Segmentación (v2 Intro, v3)
 Procesadores superescalares (v2 Intro, v4)
 Dependencia de datos (v3)
 Ejemplo de segmentación
 Computadora Vectoriales (v2 Intro, v1, v4)
 Ejemplo de Computadoras vectoriales

Procesadores Segmentados y Vectoriales 105 Ingeniería Electrónica - MC2


Resumen de temas - 2

 Redes de interconexión (barra cruzadas, omega)


 Multiprocesadores simétricos (SMP)
 Coherencia de cache (Protocolo MESI)
 Ejemplos de SMP
 Computadoras Multicore (v2 Intro, )
 Clusters
 Middleware
 Servidores Blades
 Clusters vs SMP

Procesadores Segmentados y Vectoriales 106 Ingeniería Electrónica - MC2


Video 1

 https://www.youtube.com/watch?v=53lw9N5pEJ
Y&t=689s
 Video 1 - TAXONOMIA DE FLYNN
 Describe Taxonomía de Flynn

Procesadores Segmentados y Vectoriales 107 Ingeniería Electrónica - MC2


Video 2

 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

Procesadores Segmentados y Vectoriales 108 Ingeniería Electrónica - MC2


Video 3

 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

Procesadores Segmentados y Vectoriales 109 Ingeniería Electrónica - MC2


Video 4

 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)

Procesadores Segmentados y Vectoriales 110 Ingeniería Electrónica - MC2


TemaId Tema
1Servidores Blades
2El grafeno
3Computadora Cuántica
4Computadoas Ópticas
5GPU y APU
6AMD vs Intel
7Superconductores
8Sistemas Convergentes
9Memorias RAM (Avanzado)
10Disco duros y IOPS
11Memory Driven Computing
12Procesadores Intel Xeon
Procesadores Segmentados y Vectoriales 111 Ingeniería Electrónica - MC2
Ingeniería Electrónica – MC2

Potrebbero piacerti anche