Вы находитесь на странице: 1из 105

UNIVERSIDAD NACIONAL DE INGENIERIA

FACULTAD DE ELECTROTECNIA Y COMPUTACIN


DEPARTAMENTO DE SISTEMAS DIGITALES Y TELECOMUNICACIONES

Mquinas 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

Ingeniera Electrnica - MC2

TIPOS DE PARALELISMO

Procesadores Segmentados y Vectoriales

Ingeniera Electrnica - MC2

Conceptos Generales

Ejecucin serial

Ejecucin paralela

Las tareas/instrucciones de un
programa son ejecutadas de
manera secuencial, una cada vez.

Varias tareas/instrucciones de un
programa son ejecutadas de
manera simultnea.

Memoria compartida

Memoria distribuida

Las diferentes unidades de computo


(CPU) comparten una memoria
comn a la cual tienen todos acceso
en igualdad de condiciones.

Las diferentes unidades de clculo


(CPU) tienen una memoria propia a
la cual las dems CPUs no tienen
acceso directo.

Procesadores Segmentados y Vectoriales

Ingeniera Electrnica - MC2

Conceptos Generales - Rendimiento


La aceleracin experimentada por un programa al hacer uso de N
unidades de procesamiento (CPU) en vez de una nica es

La eficiencia paralela es la aceleracin alcanzada por un programa


comparada con la que podra alcanzar en el caso ideal:

Procesadores Segmentados y Vectoriales

Ingeniera Electrnica - MC2

Primeros Pasos en Procesamiento


Paralelo
La segmentacin es un
primer mecanismo de
paralelismo

Procesadores o
Sistemas vectoriales

Varias instrucciones
consecutivas son ejecutadas
de forma solapada casi en
paralelo.

Segmentacin al tratamiento
de grandes cadenas de datos.

Procesadores superescalares realizan


tambin procesamiento
paralelo
Ejecutan dos o mas
instrucciones al mismo tiempo
gracias a la presencia de
varios cauces paralelos.

Procesadores Segmentados y Vectoriales

Ingeniera Electrnica - MC2

Clasificacin de Flynn
La clasificacin mas popular de computadores
Basada en la clasificacin 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 categoras:

Procesadores Segmentados y Vectoriales

Ingeniera Electrnica - MC2

Taxonoma de las arquitecturas paralelas


Organizaciones de computadores

Una secuencia de
instruccin, una
secuencia de datos
(SISD)

Una secuencia de
instruccin, mltiples
secuencias de datos
(SIMD)

Mltiples secuencias de
instruccin, una
secuencia de datos
(MISD)

Mltiples secuencias de
instruccin, mltiples
secuencias de datos
(MIMD)

Monoprocesadores

Procesadores
vectoriales

Procesadores
matriciales

Memoria compartida
(fuertemente acoplada)

Memoria distribuida
(dbilmente acoplada)

Clusters

Multiprocesador
simtrico (SMP)

Acceso no
uniforme a
memoria
(NUMA)

SMP = Symmetric MultiProcessor


NUMA = NonUniform Memory Access

Procesadores Segmentados y Vectoriales

Ingeniera Electrnica - MC2

SISD: Single Instruction, Single


Data
Flujo nico de instrucciones y flujo
nico de datos.
A menudo a los SISD se les
conoce como computadores serie
escalares.

Procesadores Segmentados y Vectoriales

Caractersticas del modelo


SISD:
La CPU procesa
nicamente una instruccin
por cada ciclo de reloj
nicamente un dato es
procesado en cada ciclo de
reloj
Es el modelo ms antiguo
de computadora y el ms
extendido.-

Ingeniera Electrnica - MC2

Mquinas SISD

Poseen registro simple que se


llama contador de programa que
asegura la ejecucin 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
instruccin a procesar en serie.

No existe actualmente ningn


computador puramente SISD
La mayora de procesadores
modernos incorporan algn grado
de paralelismo

Segmentacin de instrucciones
Ejecucin de varias instrucciones al
mismo tiempo (superescalares).-

Procesadores Segmentados y Vectoriales

10

Ingeniera Electrnica - MC2

MISD: Multiple Instruction stream,


Single Data stream
Flujo mltiple de instrucciones y nico flujo de datos.
Varias instrucciones actan sobre el mismo y nico conjunto de datos.

Existen pocos ejemplos ya que es imprctica.


Una opcin son arquitecturas altamente segmentadas ejecutando una funcin
particular en los mismo datos.-

Procesadores Segmentados y Vectoriales

11

Ingeniera Electrnica - MC2

SIMD: Single Instruction, Multiple


Data
Caractersticas del
modelo SIMD:
Todas las unidades
ejecutan la misma
instruccin
Cada unidad procesa
un dato distinto
Todas las unidades
operan
simultneamente

Procesadores Segmentados y Vectoriales

12

Ingeniera Electrnica - MC2

Organizacin MIMD
Mltiples Instrucciones Mltiples Datos

Son
procesadores de
uso general.

Procesadores Segmentados y Vectoriales

Cada uno es
capaz de
procesar todas
las instrucciones
necesarias para
realizar las
transformaciones
apropiadas de los
datos.

13

Se pueden
subdividir,
adems, segn la
forma que tienen
los procesadores
para
comunicarse.

Ingeniera Electrnica - MC2

MIMD: Multiple Instruction,


Multiple Data
Caractersticas del
modelo MIMD:
Cada unidad ejecuta
una instruccin distinta
Cada unidad procesa
un dato distinto
Todas las unidades
operan
simultneamente

Procesadores Segmentados y Vectoriales

14

Ingeniera Electrnica - MC2

MIMD de memoria compartida


FI
UP1
FI

FD
UP2

UC2

FI
UCn

Memoria
compartida

UC1

FD

FD
UPn

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

Procesadores Segmentados y Vectoriales

15

Ingeniera Electrnica - MC2

SMP (fuertemente acoplado)


Varios procesadores comparten una nica memoria.
Los procesadores se comunican unos con otros a
travs de esa memoria compartida.
Caractersticas del multiprocesador simtrico (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

Ingeniera Electrnica - 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 nmero de
procesadores (o separando bancos de memoria).
Procesadores Segmentados y Vectoriales

17

Ingeniera Electrnica - MC2

MIMD de memoria distribuida


FI
UP1
FD

FI
UC2

ML1

UP2

FD

FI

UCn

ML2

Red de
interconexin

UC1

FD

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

Ingeniera Electrnica - MC2

Clusters (memoria dbilmente


acoplada)
Un conjunto de computadores monoprocesador
independientes, o de SMP, pueden
interconectarse para formar un cluster.

La comunicacin entre los computadores se


realiza mediante conexiones fijas o mediante
algn tipo de red.

Procesadores Segmentados y Vectoriales

19

Ingeniera Electrnica - MC2

Organizaciones de computadores

Una secuencia de
instruccin, una secuencia
de datos
(SISD)

Una secuencia de instruccin,


Mltiples secuencias de
mltiples secuencias de datos instruccin, una secuencia de
(SIMD)
datos (MISD)

Mltiples secuencias de
instruccin, mltiples
secuencias de datos (MIMD)

Monoprocesadores

Procesadores
vectoriales

Procesadores
matriciales

Memoria compartida
(fuertemente acoplada)

Memoria distribuida
(dbilmente acoplada)

Clusters

Segmentacin
Procesadores Superescalares

Multiprocesador
simtrico (SMP)

Acceso no
uniforme a
memoria
(NUMA)

PARALELISMO EN
MONOPROCESADOR
Procesadores Segmentados y Vectoriales

20

Ingeniera Electrnica - MC2

Qu es la segmentacin?
Tcnica de implementacin por la cual se solapa
la ejecucin de mltiples instrucciones
La ejecucin de la una instruccin se
descompone en partes ms pequeas
cada una de las cuales necesita una fraccin del
tiempo necesario para completar la instruccin
completa.

Cada uno de estos pasos se define como etapa


de la segmentacin o segmento.

Procesadores Segmentados y Vectoriales

21

Ingeniera Electrnica - MC2

Tarea Ejecutada Secuencial

Procesadores Segmentados y Vectoriales

22

Ingeniera Electrnica - MC2

Tarea Ejecutada con Procesador


Segmentado

Procesadores Segmentados y Vectoriales

23

Ingeniera Electrnica - MC2

Ejemplo de eventos en etapa de


Segmentacin

IF = bsqueda de la instruccin
ID = decodificacin instruccin y bsqueda de registros
EX = ejecucin y clculo de direcciones efectivas
MEM = acceso a memoria
WB = post-escritura
Procesadores Segmentados y Vectoriales

24

Ingeniera Electrnica - MC2

Segmentacin bsica

Procesadores Segmentados y Vectoriales

25

Ingeniera Electrnica - MC2

Qu es una implementacin
superescalar?
Las instrucciones comunes(aritmticas,
cargas/almacenamientos y bifurcaciones
condicionales) pueden iniciar su ejecucin
simultneamente y de manera independiente.

Puede utilizarse tanto en una arquitectura RISC


como en una CISC.
En la prctica, normalmente se utiliza en RISC.

Procesadores Segmentados y Vectoriales

26

Ingeniera Electrnica - MC2

Organizacin superescalar usual


Banco de registros de enteros

Banco de registros de coma flotante

Unidades
funcionales
segmentadas

Memoria

Procesadores Segmentados y Vectoriales

27

Ingeniera Electrnica - MC2

Limitaciones

Paralelismo a nivel de instrucciones.


Optimizaciones realizadas por el compilador.
Tcnicas hardware.
Limitaciones:
Dependencia de datos verdadera.
Dependencia relativa al procedimiento.
Conflictos en los recursos.
Dependencia de salida.
Antidependencia.

Procesadores Segmentados y Vectoriales

28

Ingeniera Electrnica - MC2

Dependencia de datos verdadera


ADD r1, r2
MOVE r3, r1

; r1 := r1 + r2
; r3 := r1

La segunda instruccin
NO se puede ejecutar
hasta que finalice la
ejecucin de la
primera instruccin.

La segunda instruccin
se puede captar y
decodificar en paralelo
con la primera.

Procesadores Segmentados y Vectoriales

29

Ingeniera Electrnica - MC2

Dependencia relativa al
procedimiento
Las instrucciones que siguen a una
bifurcacin 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 cuntas
captaciones son necesarias.

Esto imposibilita la captacin simultnea.

Procesadores Segmentados y Vectoriales

30

Ingeniera Electrnica - MC2

Conflictos en los recursos


Un conflicto en los
recursos es una
pugna de dos o ms
instrucciones por el
mismo recurso al
mismo tiempo.

Ejemplo: dos
instrucciones
aritmticas.

Los recursos pueden


duplicarse.

Ejemplo:
tener dos
unidades
aritmticas.

Procesadores Segmentados y Vectoriales

31

Ingeniera Electrnica - MC2

Clave

Ejecucin

Captacin
Decodifi_
de
cacin
instruccin

Dependencias

Escritura

Sin dependencia

1. Sin Dependencia
2. Dependencia de
datos

Dependencia de datos
(i1 usa un dato calculado por i0)

1. I1 usa un dato
calculado por I0

3. Dependencia relativa
al procedimiento

Dependencia relativa
al procedimiento

i1/bifurcacin

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
unidad funcional)

1. I0 e I1 utilizan la
misma Unidad
Funcional
Procesadores Segmentados y Vectoriales

Tiempo en ciclos base

32

Ingeniera Electrnica - 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

Ingeniera Electrnica - MC2

Ejecucin superescalar
Envo de
instrucciones

Programa
esttico

Emisin de
instrucciones

Captacin de
instrucciones y
prediccin de saltos

Ejecucin de
instrucciones

Reordenacin
y entrega de
instrucciones

Ventana de
ejecucin

Procesadores Segmentados y Vectoriales

34

Ingeniera Electrnica - MC2

Implementacin superescalar
Estrategias de captacin de instrucciones que capten simultneamente
mltiples instrucciones.
Lgica para determinar dependencias verdaderas entre valores de
registros.
Mecanismos para comunicar esos valores.

Mecanismos para iniciar mltiples instrucciones en paralelo.


Recursos para la ejecucin en paralelo de mltiples instrucciones.
Mecanismos para entregar el estado del procesador en un orden correcto.

Procesadores Segmentados y Vectoriales

35

Ingeniera Electrnica - MC2

Ejemplo de Segmentacin en
Pentium 4

Procesadores Segmentados y Vectoriales

36

Ingeniera Electrnica - MC2

COMPUTADORAS
VECTORIALES
Procesadores Segmentados y Vectoriales

37

Ingeniera Electrnica - MC2

Procesamiento vectorial

Un operando
vectorial
contiene una
secuencia de n
elementos

Cada elemento
del vector es
un escalar de
cualquier tipo
entero, punto
flotante, etc.

donde n es la
longitud del
vector.

Procesadores Segmentados y Vectoriales

38

Ingeniera Electrnica - MC2

Memoria Distribuida

Arquitectura de una mquina SIMD

Procesadores Segmentados y Vectoriales

39

Ingeniera Electrnica - MC2

Memoria Compartida

Arquitectura de una mquina SIMD

Procesadores Segmentados y Vectoriales

40

Ingeniera Electrnica - MC2

Arquitectura bsica de un
computador vectorial

Procesadores Segmentados y Vectoriales

41

Ingeniera Electrnica - MC2

Utilidad de un procesador vectorial

Procesadores Segmentados y Vectoriales

42

Ingeniera Electrnica - 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

Ingeniera Electrnica - MC2

Elementos de la arquitectura
Registros vectoriales

Contienen los operandos vectoriales en mquinas de registros


No existen si la mquina es memoria-memoria
Valores tpicos 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

Ingeniera Electrnica - MC2

Elementos de la arquitectura
Registros vectoriales
Unidades funcionales vectoriales
Ejecutan las operaciones vectoriales
Estn 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

Ingeniera Electrnica - 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
Tambin puede ocuparse de los datos escalares

Registros escalares
Unidades funcionales escalares

Procesadores Segmentados y Vectoriales

46

Ingeniera Electrnica - 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

Ingeniera Electrnica - MC2

Elementos de la arquitectura
Registros vectoriales
Unidades funcionales vectoriales
Unidad de carga y almacenamiento
Registros escalares
Unidades funcionales escalares
Pueden existir para operaciones especficamente escalares
Pueden no existir si para operaciones escalares se usan las
unidades vectoriales

Procesadores Segmentados y Vectoriales

48

Ingeniera Electrnica - MC2

Ventajas de las mquinas vectoriales


Proporcionan gran
aprovechamiento del
paralelismo (de datos)
con un control
relativamente sencillo.

Una nica instruccin


especifica una gran
cantidad de trabajo,
reduciendo la necesidad
de ancho de banda de
instrucciones.

Eliminan dependencias
de control e
instrucciones de
comprobacin y
contabilidad.

Optimizan el uso de
memoria con accesos
predecibles que se
pueden solapar.

Procesadores Segmentados y Vectoriales

49

Ingeniera Electrnica - MC2

Ejemplo de mquina vectorial

Arquitectura del
Cray-1

Procesadores Segmentados y Vectoriales

50

Ingeniera Electrnica - MC2

Procesadores Segmentados y Vectoriales

51

Ingeniera Electrnica - MC2

Participacin segn arquitectura del


procesador

Procesadores Segmentados y Vectoriales

52

Ingeniera Electrnica - MC2

Earth Simulator 2

Procesadores Segmentados y Vectoriales

53

Ingeniera Electrnica - MC2

Earth Simulator 2 - arquitectura

Procesadores Segmentados y Vectoriales

54

Ingeniera Electrnica - MC2

Earth Simulator 2 - Chip

Procesadores Segmentados y Vectoriales

55

Ingeniera Electrnica - MC2

Organizaciones de computadores

Una secuencia de
instruccin, una secuencia
de datos
(SISD)

Una secuencia de instruccin,


Mltiples secuencias de
mltiples secuencias de datos instruccin, una secuencia de
(SIMD)
datos (MISD)

Mltiples secuencias de
instruccin, mltiples
secuencias de datos (MIMD)

Monoprocesadores

Procesadores
vectoriales

Procesadores
matriciales

Memoria compartida
(fuertemente acoplada)

Memoria distribuida
(dbilmente acoplada)

Clusters

Memoria Compartida

Multiprocesador
simtrico (SMP)

Acceso no
uniforme a
memoria
(NUMA)

MULTIPROCESADORES
SIMTRICOS (SMP)
Procesadores Segmentados y Vectoriales

56

Ingeniera Electrnica - MC2

Multiprocesador fuertemente
acoplado
Procesador

Procesador

Procesador

E/S

Red de

E/S

interconexin
E/S

Memoria principal

Procesadores Segmentados y Vectoriales

57

Ingeniera Electrnica - MC2

Conmutador de barras cruzadas


de 8 x 8

Procesadores Segmentados y Vectoriales

58

Ingeniera Electrnica - MC2

Red Omega de Conmutacin

Procesadores

Procesadores Segmentados y Vectoriales

Memorias

59

Ingeniera Electrnica - MC2

Caracterstica de un SMP (1/2)


Es un computador autnomo.
Hay dos o ms procesadores similares de capacidades
comparables.
Estos procesadores comparten la memoria principal y las
E/S.
Estn interconectados mediante un bus u otro tipo de
sistema de interconexin.
El tiempo de acceso a memoria es aproximadamente el
mismo para todos los procesadores.

Procesadores Segmentados y Vectoriales

60

Ingeniera Electrnica - MC2

Caracterstica de un SMP
Todos los procesadores comparten los dispositivos de E/S,

bien a travs de los mismos canales,


o bien mediante canales distintos que proporcionan caminos de
acceso al mismo dispositivo.
Todos los procesadores pueden desempear las mismas funciones
(de ah el trmino simtrico).
El sistema est controlado por un sistema operativo integrado,
que proporciona la interaccin entre los procesadores y
sus programas en los niveles de trabajo, tarea, fichero y datos.

Procesadores Segmentados y Vectoriales

61

Ingeniera Electrnica - MC2

Ventajas de un SMP

Prestaciones:
Cuando el trabajo a
realizar por un
computador puede
organizarse en
paralelo.

Disponibilidad:
Crecimiento incremental:
Debido a que todos
los procesadores
Escalado:
pueden realizar las
Se pueden aumentar
mismas funciones,
un fallo en un
procesador no har
que el computador
se detenga.

Procesadores Segmentados y Vectoriales

las prestaciones del


sistema, aadiendo
ms procesadores.

62

Los fabricantes
pueden ofrecer una
gama de productos
con precios y
prestaciones
diferentes, en
funcin del nmero
de procesadores que
configuran el
sistema.

Ingeniera Electrnica - MC2

Organizacin de los
multiprocesadores simtricos
Bus de tiempo compartido o comn.

Memoria multipuerto.
Unidad de control central.

Procesadores Segmentados y Vectoriales

63

Ingeniera Electrnica - MC2

Organizacin de Bus de tiempo


compartido

Procesadores Segmentados y Vectoriales

64

Ingeniera Electrnica - MC2

Bus de tiempo compartido


Es el mecanismo ms simple.
La estructura y las interfaces son bsicamente las
mismas que las de un sistema de un nico procesador.
Se proporcionan los siguientes elementos para el:

Direccionamiento: distincin de los mdulos del bus.


Arbitraje: cualquier mdulo puede funcionar temporalmente como
maestro.
Tiempo compartido: cuando un mdulo est controlando el bus, los
otros mdulos tienen que esperar y, si es necesario, suspender su
operacin.
Existen varios procesadores, adems de varios
mdulos de E/S.

Procesadores Segmentados y Vectoriales

65

Ingeniera Electrnica - MC2

Ventajas del bus de tiempo


compartido
Simplicidad.
Interfaz similar a sistema con un
procesador

Flexibilidad.
Fcil de expandir

Fiabilidad.
Bus es esencial pasivo
Falla en un dispositivo no afecta todo
el sistema

Procesadores Segmentados y Vectoriales

66

Ingeniera Electrnica - MC2

Desventajas del bus de tiempo


compartido

La prestacin est
limitada por el
tiempo de ciclo del
bus.

Cada procesador
debera estar
equipado con una
memoria cache
para mejorar las
prestaciones:
Se reducira el
nmero de accesos.

Procesadores Segmentados y Vectoriales

67

Se pueden
producir
problemas de
coherencia de
cache:
Este problema es
resuelto por el
hardware (se explica
ms adelante)

Ingeniera Electrnica - MC2

Memoria multipuerto
Permite el acceso
directo e independiente
a los mdulos de
memoria desde cada
uno de los
procesadores.

Se necesitan
pocas o ninguna
modificacin en los
procesadores o en
los mdulos.

Procesadores Segmentados y Vectoriales

Se necesita una
cierta lgica para
resolver los
conflictos.

68

Ingeniera Electrnica - MC2

Organizacin de Memoria Multipuerto

Procesadores Segmentados y Vectoriales

69

Ingeniera Electrnica - MC2

Ventajas y desventajas de la
memoria multipuerto
Ms compleja:
Se precisa aadir al sistema de memoria una buena
cantidad de lgica.
Se consiguen mejores prestaciones.
Cada procesador tiene un camino dedicado a cada mdulo
de memoria.
Permite configurar partes de la memoria como
privadas para uno o ms procesadores:

Incremento de la seguridad.
Se debe utilizar una estrategia de escritura
directa para controlar la cache.

Procesadores Segmentados y Vectoriales

70

Ingeniera Electrnica - MC2

Unidad de control central


Encauza las distintas secuencias de datos entre los distintos mdulos
independientes.
Puede almacenar temporalmente peticiones.
Puede realizar las funciones de arbitraje y temporizacin.
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

Ingeniera Electrnica - MC2

Puntos clave de diseo de un


sistema operativo
Procesos concurrentes simultneos.
Planificacin.

Sincronizacin.
Gestin de memoria.
Fiabilidad y tolerancia ante los fallos.

Procesadores Segmentados y Vectoriales

72

Ingeniera Electrnica - MC2

Coherencia de cache y protocolo


MESI

Problema: pueden
existir varias copias
del mismo dato
simultneamente en
caches diferentes.

Puede producirse
una visin
inconsistente de la
memoria.

La poltica de postescritura puede


ocasionar
inconsistencia.

La poltica de
escritura directa
tambin puede
producir problemas,
a no ser que las
otras caches
comprueben los
accesos a la
memoria principal.

Procesadores Segmentados y Vectoriales

73

Ingeniera Electrnica - MC2

Soluciones software
El compilador y el sistema operativo se encargan del problema de
la necesidad de circuitera y lgica hardware adicional.
La sobrecarga se transfiere al tiempo de compilacin.
La complejidad del diseo se transfiere desde el hardware al
software.
Por otra parte, el software tiende a tomar ciertas decisiones
conservadoras:
Utilizacin ineficiente de la cache.

Analizan el cdigo para determinar periodos seguros para las


variables compartidas.

Procesadores Segmentados y Vectoriales

74

Ingeniera Electrnica - MC2

Soluciones hardware

Generalmente
se denominan
protocolos de
coherencia de
cache.

Permiten
reconocer
dinmicamente,
en el momento
de la ejecucin,
problemas
potenciales.

Procesadores Segmentados y Vectoriales

Permiten un uso
ms efectivo de
las caches.

75

Aproximaciones
transparentes
para el
programador.

Ingeniera Electrnica - MC2

Ejemplo: Invalidar-si-escritura
Mltiples procesadores que leen, pero uno slo que escribe.
Cuando se quiere hacer una escritura, se invalidan las otras caches de la
lnea.
El procesador que escribe tiene acceso exclusivo hasta que la lnea sea
requerida por otro procesador.
Se utiliza en los sistemas Pentium II y Power PC.

El estado de cada lnea se marca como modificado, exclusivo,


compartido, o no vlido.
El protocolo de invalidar-si-escritura se llama MESI.

Procesadores Segmentados y Vectoriales

76

Ingeniera Electrnica - MC2

SMP en el mercado

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

Procesadores Segmentados

77

Ingeniera Electrnica - MC2

Ultrasparc T3

Procesadores Segmentados y Vectoriales

78

Ingeniera Electrnica - MC2

Procesador Intel Xeon

Procesadores Segmentados y Vectoriales

79

Ingeniera Electrnica - MC2

MIPS32 1074K

Procesadores Segmentados y Vectoriales

80

Ingeniera Electrnica - MC2

AMD Opteron

Procesadores Segmentados y Vectoriales

81

Ingeniera Electrnica - MC2

Mltiples AMD

Procesadores Segmentados y Vectoriales

82

Ingeniera Electrnica - MC2

COMPUTADORAS
MULTICORE
Procesadores Segmentados y Vectoriales

83

Ingeniera Electrnica - MC2

Organizaciones Alternativas

Superscalar

Multicore

Multi-hilos Simultneos
(Simultaneous multithreading, SMT)

Procesadores Segmentados y Vectoriales

84

Ingeniera Electrnica - MC2

Organizacin de Multicore

Nmero de
procesadores
de ncleo en
el chip

Procesadores Segmentados y Vectoriales

Nmero de
niveles de
cach en el
chip

85

Cantidad de
memoria
cach
compartida

Ingeniera Electrnica - MC2

Procesadores Segmentados y Vectoriales

Cach L3 compartido

Cach L2 compartida

Cach L2 dedicada

Cach L1 dedicada

Alternativa de Organizacin

86

Ingeniera Electrnica - MC2

Ventajas del cach L2 Compartido


Datos compartidos por mltiples ncleos no se replican a nivel de cach
Con buen marco de algoritmos de reemplazo significa la cantidad de
memoria cach compartida dedicada a cada ncleo es dinmica
Hilos con menos localidad puede tener ms cach

Fcil la comunicacin entre procesos a travs de memoria compartida


Coherencia de cach limitada a L1
Cach dedicado L2 le da a cada ncleo un acceso ms rpido
Cach compartida L3 tambin puede mejorar el rendimiento

Procesadores Segmentados y Vectoriales

87

Ingeniera Electrnica - MC2

Arquitectura Core

Intel Core Duo usa ncleos superescalares

Intel Core i7 usa multi-hilos simultaneous (SMT)


Se ampla hasta el nmero de hilos de apoyo
4 ncleos SMT, cada uno soportando cuatro hilos aparece
como 16 ncleos

Procesadores Segmentados y Vectoriales

88

Ingeniera Electrnica - MC2

Intel Core Duo vs Core i&

Procesadores Segmentados y Vectoriales

89

Ingeniera Electrnica - MC2

Organizacin Intel x86 Multicore Core Duo (1)


2006
Dos superescalar x86, cach L2 compartida
L1 cache dedicado por ncleo
32 KB de instrucciones y datos de 32 KB

Unidad de control trmico por ncleo


Gestiona la disipacin de calor de chips
Maximizar el rendimiento dentro de las limitaciones
mejora de la ergonoma

Programable avanzada de interrupciones controladas (APIC)


Proceso entre las interrupciones entre los ncleos
Rutas interrumpe al ncleo apropiado
Incluye temporizador para OS puede interrumpir el ncleo

Procesadores Segmentados y Vectoriales

90

Ingeniera Electrnica - MC2

Organizacin Intel x86 Multicore Core Duo (2)


Gestin de Potencia
Supervisa las condiciones trmicas y de actividad de la CPU
Ajusta el consumo de voltaje y potencia
Puede cambiar la lgica de los subsistemas individuales

2 MB de cach L2 compartida
Asignacin dinmica
Soporte MESI a cachs L1
Extendido para soportar mltiples Core Duo en SMP
Datos L2 compartido entre los ncleos locales o externos

Interfaz de bus

Procesadores Segmentados y Vectoriales

91

Ingeniera Electrnica - MC2

Organizacin Intel x86 Multicore Core i7


Noviembre 2008
Cuatro procesadores x86 SMT
Dedicado L2, cach L3 compartida
Cache con Pre-bsqueda 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 interconexin
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

Ingeniera Electrnica - MC2

Organizaciones de computadores

Una secuencia de
instruccin, una secuencia
de datos
(SISD)

Una secuencia de instruccin,


Mltiples secuencias de
mltiples secuencias de datos instruccin, una secuencia de
(SIMD)
datos (MISD)

Mltiples secuencias de
instruccin, mltiples
secuencias de datos (MIMD)

Monoprocesadores

Procesadores
vectoriales

Procesadores
matriciales

Memoria compartida
(fuertemente acoplada)

Memoria distribuida
(dbilmente acoplada)

Clusters

Multiprocesador
simtrico (SMP)

Memoria Distribuida

Acceso no
uniforme a
memoria
(NUMA)

CLUSTERS

Procesadores Segmentados y Vectoriales

93

Ingeniera Electrnica - MC2

Clusters

Son la alternativa a los SMP.

Prestaciones y disponibilidad elevadas.

Aplicaciones propias de un servidor.

Un grupo de computadores completos


interconectados que trabajan
conjuntamente como un nico recurso
de cmputo, crendose la ilusin de que
se trata de una sla mquina.

Cada computador se denomina nodo.

Procesadores Segmentados y Vectoriales

94

Ingeniera Electrnica - MC2

Beneficios del cluster


Escalabilidad
absoluta.
Escalabilidad
incremental.
Alta disponibilidad.
Mejor relacin
precio/prestaciones.

Procesadores Segmentados y Vectoriales

95

Ingeniera Electrnica - MC2

Configuraciones de clusters:
servidor sin disco compartido

E/S

E/S

Procesadores Segmentados y Vectoriales

Enlace de alta velocidad para


mensajes

96

E/S

E/S

Ingeniera Electrnica - MC2

Configuraciones de clusters:
disco compartido

E/S

E/S

Enlace de alta velocidad para


mensajes

E/S

Procesadores Segmentados y Vectoriales

E/S

E/S

97

E/S

Ingeniera Electrnica - MC2

Paralelizacin
Una sola aplicacin se ejecuta en paralelo en un
nmero de mquinas en cluster
Compilador
Determina en tiempo de compilacin que partes se pueden
ejecutar en paralelo
Separa cdigo para diferentes equipos

Aplicacin

Son escritas desde cero para aprovechar paralelismo


Uso de mensajes para mover datos entre los nodos
Difciles de programar
Mejor resultado final

Procesadores Segmentados y Vectoriales

98

Ingeniera Electrnica - MC2

Arquitectura de Computadora en
Cluster

Procesadores Segmentados y Vectoriales

99

Ingeniera Electrnica - MC2

Cluster Middleware
Imagen unificada
al usuario

Espacio de nico
de memoria

Sistema de
gestin nico

nico punto de
entrada

Red virtual nica

nica interfaz de
usuario

nica Jerarqua
de archivos

nico punto de
control

nica de espacio
de E/S

Imagen de sistema
nico

Procesadores Segmentados y Vectoriales

100

Ingeniera Electrnica - MC2

Servidores Blade
Una aplicacin comn de
Cluster
Servidor de mltiples
servidores (Blade) en el
mismo chasis
Ahorro de espacio
Mejorar la gestin del
sistema
Chasis proporciona la
fuente de alimentacin
Cada Blade tiene
procesador, memoria, disco

Procesadores Segmentados y Vectoriales

101

Ingeniera Electrnica - MC2

Ejemplo de Configuracin para


Servidor Blade Masivo

Procesadores Segmentados y Vectoriales

102

Ingeniera Electrnica - MC2

Cluster vs SMP
Ambos ofrecen soporte multiprocesador para las
aplicaciones de alta demanda.
Ambos disponibles en el mercado
SMP durante ms tiempo

SMP:
Ms fcil de administrar y controlar
Ms cerca de los sistemas de procesador nico
La programacin es la diferencia principal
Menos espacio fsico
Menor consumo de energa

Clustering:
Superior escalabilidad incremental y absoluta
Superior disponibilidad
Redundancia

Procesadores Segmentados y Vectoriales

103

Ingeniera Electrnica - MC2

Participacin segn arquitectura


del procesador

Procesadores Segmentados y Vectoriales

104

Ingeniera Electrnica - MC2

Ingeniera Electrnica MC2

Вам также может понравиться