Está en la página 1de 53

Tema 2: Sistemas

procesadores avanzados

Sistemas Electrnicos para el


Procesamiento de Seal

1
Indice

Tipos de paralelismo
Pipeline
Arquitecturas superescalares
Procesadores VLIW

Jerarqua de memoria
Principios de localidad y tipos de memoria cach
Polticas de reemplazo
Polticas de escritura

Dispositivos DSPs
Caractersticas y alternativas
2 Seleccin de DSPs y flujo de diseo
Pipeline

Rendimiento de un procesador

Las instrucciones por programa dependen del cdigo fuente, el


compilador y el juego de instrucciones

Los ciclos por instruccin (CPI) dependen del juego de


instrucciones y la microarquitectura

El tiempo por ciclo depende de la microarquitectura y la


tecnologa electrnica

3
Tipos de paralelismo

Tipos de paralelismo Nuevas arquitecturas Ps


Segmentacin, pipelining o paralelismo temporal: simultanear en el
tiempo la ejecucin de varias instrucciones. La instruccin se divide en
partes ms pequeas, cada una conectada con la siguiente, formando
un cauce en el que las instrucciones entran por un extremo, son
procesadas en varias etapas y salen por el otro extremo
(supersegmentados)
Multiprocesamiento o paralelismo asncrono. Ej.: varias CPU con una
memoria comn, conectadas entre s de forma jerrquica (una de ellas
maestro y el resto esclavas). VLIW, superescalar
Paralelismo espacial. Operadores vectoriales independientes que
manejan gran cantidad de datos en cada operacin (vectores).
Procesadores vectoriales y matriciales
4
Pipeline

Pipeline ideal

Todas las instrucciones pasan por las mismas etapas

No se comparten recursos entre etapas diferentes

El retardo de propagacin en todas las etapas del pipeline es el


mismo

La ejecucin de una instruccin que entra al pipeline no se ve


afectadas por las instrucciones que se encuentran en otras
5 etapas
Pipeline

Conflictos en la estructura pipeline

Conflictos estructurales: una instruccin en el pipeline necesita


los recursos utilizados por otra instruccin en el pipeline

Conflictos de datos: la ejecucin de una instruccin depende de


los datos producidos por una instruccin anterior

Conflictos de control: una instruccin se ejecutar o no


dependiendo de la decisin de una instruccin anterior

6
Pipeline

Resolucin de conflictos

Planificacin previa: el programador/compilador evita conflictos

Prioridades (stall): lgica de control que frene las instrucciones


previas del pipeline hasta que no exista conflicto

Bypass: Interconectar etapas del pipeline

Especulacin: suponer que no existe conflicto y eliminar las


instrucciones previas caso de que lo haya

7
Pipeline

Ejemplo: penalizacin por saltos


Ejemplo: 20% de las instrucciones son saltos, 25% se realizan,
sin prediccin de saltos, penalizacin por salto 2 ciclos

8
Procesadores superescalares

Introduccin

Los procesadores estudiados hasta ahora presentan la limitacin


de CPI >= 1

Los procesadores superescalares permiten CPI < 1 (IPC >1)


mediante la ejecucin de mltiples instrucciones en paralelo.

Esto se denomina Instruction Level Parallelism (ILP)


In-order: el procesador ejecuta las instrucciones en el orden
establecido en el programa
Out-of-order: el procesador ejecuta las instrucciones en un
9 orden distinto al del programa, para evitar conflictos
Procesadores superescalares

Tipos de procesadores
superescalares
Ejecucin de instrucciones en-orden
Las instrucciones se recogen, ejecutan y completan en el
orden generado por el compilador
Si una instruccin para, el resto para
Las instrucciones se planifican de forma esttica

Ejecucin de instrucciones fuera-de-orden


Las instrucciones se recogen en el orden generado por el
compilador
Las instrucciones puede adelantarse a una instruccin con
un conflicto
10 Las instrucciones se planifican dinmicamente
Procesadores superescalares

Procesadores en orden
El valor CPI lmite para procesador escalar con pipeline es 1
El valor CPI lmite para superescalar (pipeline) de N-issues es 1/N

Ejemplo: Clculo de penalizacin por saltos, 20% saltos, 75% se


realizan, sin prediccin de saltos, penalizacin por salto 2 ciclos
Procesador escalar con pipeline

Superescalar 2-issues (pipeline)

Superescalar 4-issues (pipeline)


11
Procesadores superescalares

Procesadores en orden
Pipelines con ms issues son posibles.

Mayor nmero de issues aumenta la complejidad


Problemas de compilacin: parear instrucciones sin conflictos

Soluciones para aumentar ILP:


VLIW: resolucin por software (en tiempo de compilacin)
Out-of-order: resolucin por software (en tiempo de
execusin)

12
Procesadores superescalares

Procesadores fuera de orden

Paralelismo:
Es posible ejecutar 1 & a la vez y 3 & 4 a la vez
Se pueden paralelizar aquellas instrucciones que no tienen una
dependencia del tipo read-after write (RAW)
En general, si no hay dependencia entre instrucciones, se
13 pueden ejecutar en orden o simultneamente.
Procesadores superescalares

Procesadores fuera de orden

14
Procesadores superescalares

Procesadores fuera de orden


Falsas dependencias:
write-after write (WAW )

Las Instrucciones no se
pueden reordenar
(Solucin: register renaming)

write-after read (WAR)

Las Instrucciones no se
pueden reordenar

15
Procesadores superescalares

Procesadores fuera de orden


1. Recoger un conjunto de instrucciones

2. Construir el grfico de dependencias

3. Encontrar aquellas instrucciones sin dependencias

4. Ejecutarlas

5. Repetir

16
Procesadores superescalares

Procesadores fuera de orden: ventajas


El hardware se encarga de resolver todo:
Detectar potenciales paralelismos entre instrucciones;
Ejecutar tantas instrucciones como sea posible en paralelo
Realizar register renaming

Compatibilidad binaria
Si se aaden ms unidades funcionales en una nueva
versin de la arquitectura del procesador o nuevas mejoras
que no modifiquen el juego de instrucciones, los programas
antiguos pueden beneficiarse y el nuevo hardware lo
ejecutar de forma ms eficiente

17
Procesadores superescalares

Procesadores fuera de orden:


inconvenientes
Alta complejidad
El hardware resuelve todo en tiempo de ejecucin, por lo que
se puede llegar hasta un lmite.
Mayor consumo

La ventana de instrucciones para analizar cdigo en tiempo de


ejecucin es limitada lmite en la capacidad para detector
instrucciones que pueden paralelizarse

18
Procesadores VLIW

Introduccin
Las arquitecturas VLIW se basan en la deteccin del paralelismo
en tiempo de compilacin el compilador analiza el programa y
detectas las operaciones que pueden ejecutarse en paralelo
Las instrucciones se empaquetan en conjuntos de
instrucciones

No se necesita hardware para la deteccin de paralelismo en


tiempo de ejecucin
No existe problema de la ventana de instrucciones: el compilador
puede analizar todo el cdigo para detector paralelismo
19
Procesadores VLIW

VLIW

La deteccin de paralelismo y el
empaquetamiento de instrucciones
se realiza off-line por el compilador

El procesador posee unidades


funcionales especializadas e la
ejecucin de distintas instrucciones

20
Procesadores VLIW

VLIW

21
Procesadores VLIW

VLIW: responsabilidades del


compilador
Planificar las operaciones para maximizar la ejecucin paralela
de instrucciones

Planificacin que evite los conflictos de datos y estructurales


Tpicamente, se aaden NOPs cuando sea necesario

22
Procesadores VLIW

VLIW: ventajas

Hardware ms simple:
El nmero de unidades funcionales puede aumentarse sin
necesidad de aadir hardware adicional que detecte el
paralelismo, como ocurre en los procesadores
superescalares
Menor consumo

Los compiladores pueden detector paralelismo analizando


globalmente todo el cdigo (sin necesidad de una ventana de
instrucciones)
23
Procesadores VLIW

VLIW: inconvenientes
Se necesita un gran nmero de registros internos en la CPU para
mantener las unidades funcionales activas (almacenar operados
y resultados).

Se requieren buses que soporten los flujos de informacin entre


las unidades funcionales y los registros internos, y de los
registros internos a memoria

Buses que soporten la recogida de instrucciones desde la


memoria cache
Ejemplo: paquete con 7 instrucciones de 24 bits 168
bits/instruccion.
24
Procesadores VLIW

VLIW: inconvenientes
Cdigo final de mayor tamao, debido a los NOPs introducidos

Incompatibilidad binaria
Si se introducen nuevas unidades funcionales en una nuev
versin del procesador el nmero de operaciones que
pueden ejecutarse en paralelo se incrementa el paquete
de instrucciones cambia el cdigo binario antiguo no es
ejecutable en el Nuevo procesador

25
Jerarqua de memoria

Acceso a la
informacin de
forma eficiente

Maximizar
rapidez/coste

26
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

27
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

Memorias CACHE: Perifricos de memoria


pequeos en tamao y muy rpidos en velocidad de
respuesta (tiempos de acceso). Disponen de
algoritmos que permiten acercar temporalmente a
la CPU la informacin (datos/instrucciones) que
sta necesita para funcionar.

28
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

Principios de funcionamiento
Localidad temporal: Cuando
se accede a una posicin de
memoria, existe una alta
probabilidad de volver a
acceder a esa posicin en un
futuro cercano

Localidad espacial: Cuando


se accede a una posicin de
memoria, existe una alta
probabilidad de acceder a
posiciones adyacentes en un
futuro cercano

29
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

Principios de funcionamiento

Las memorias cach explotan la localidad temporal recordando el contenido


de las posiciones de memoria recientemente accedidas

Las memorias cach explotan la localidad espacial recogiendo bloques de


datos alrededor de las posiciones recientemente accedidas

30
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

Principios de funcionamiento

31
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

Funcionamiento de la cach

32
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

Funcionamiento de la cach

33
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

Tipos de memorias cach

Correspondencia directa: cada bloque de memoria slo tiene


una posible ubicacin en la cach (segn indique el campo
ndice)

Asociativa por vas: cada bloque de memoria tiene varias


posibles ubicaciones en la cach

Completamente asociativa: cada bloque de memoria tiene


todas las posibles ubicaciones en la cach

34
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

CACHE de
correspondencia
directa
Acceso a
instrucciones
Reemplaza LINEA
en caso de fallo
Ejemplo de
4Kx128bits
35
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

CACHE asociativa
por vas
Acceso a datos
Reemplazo
(aleatorio, LRU)
alguna de las 4
LINEAS si hay fallo
Ejemplo de 4 vas y
32bits de dato

36
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

CACHE: polticas de reemplazo


Determina cundo y qu bloque de memoria cach debe
abandonarla cuando no existe espacio disponible para un bloque
entrante:
Aleatoria: Se escoge una lnea del espacio de reemplazamiento
al azar.
FIFO: Consiste en reemplazar la lnea que ha permanecido en la
memoria cach el mayor periodo de tiempo.
LRU (Least-recently used): Se sustituye aquella lnea de
memoria cach que hace ms tiempo que no se ha utilizado
LFU (Least Frequently Used): Se sustituye la lnea del espacio
de reemplazamiento que haya sido menos referenciada.
37
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

CACHE: lectura vs escritura


En lectura si hay un fallo, se leera del nivel inferior en la jerarqua
hasta llegar a la informacin, reemplazando en la CACHE.
La escritura en la cach crea incoherencias con la memoria
principal. Necesidad de definir polticas de escritura.

38
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

CACHE: polticas de escritura


Acierto en escritura: Determina cundo se actualiza la informacin
en memoria principal cuando se produce una escritura en cach.
Escritura inmediata (Write Through): Cuando se escribe un
bloque en memoria cach se actualiza directamente la
informacin tambin en memoria principal.
o Ventajas: realizacin muy sencilla y asegura la coherencia.
o Inconveniente: trfico entre memoria y el procesador.
Escritura aplazada (Write back): Consiste en escribir en MCa y
nicamente se escribe en MP si el bloque a reemplazar ha sido
modificado.
o Ventajas: menos trfico.
39 o Inconveniente: diseo ms complejo.
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

CACHE: polticas de escritura


Fallo en escritura:
Escritura con alojamiento (Write with allocate): se suele asociar
con escritura aplazada. Consiste en llevar el bloque que produce
el fallo de memoria principal a cach, y a continuacin realizar la
escritura en cach.

Escritura sin alojamiento (Write with no allocate): se suele


asociar con escritura inmediata. Consiste en realizar nicamente
la escritura sobre la memoria principal cuando se produce un
fallo.

40
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

Rendimiento de las memorias cach

Average Memory Access Time = (Hit rate * Hit time) + (Miss rate * Miss time)

Miss time = Hit time + Miss penalty

41
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

Rendimiento de las memorias cach

Causas de fallos de cach (Miss rate)


Obligatorios: primer acceso a un bloque

Capacidad: cach demasiado pequea

Conflicto: por no ser completamente asociativa


42
Introduccin a los DSPs, conceptos bsicos
Jerarqua de memoria

Rendimiento de las memorias cach

Factores que influyen en la tasa de fallos de cach (Miss rate):

Tamao de la cach

Nmero de vas

Tamao del bloque

43
Introduccin a los DSPs, conceptos bsicos
Dispositivos DSPs

Caractersticas de los DSPs:


Soporte para tareas repetitivas de clculo intensivo:
Operaciones rpidas de multiplicacin y acumulacin: unidades
MAC, multiplicadores.
Acceso de memoria mltiple: posibilidad de hacer varios accesos
a memoria en un nico ciclo (varios juegos de buses).
Muchos registros acumuladores
Direccionamientos especializados: Direccionamiento indirecto
con post o pre incremento/decremento, direccionamientos
circulares, direccionamiento con inversin de bits.
Instrucciones especializadas para hacer bucles sin necesidad de
emplear ningn ciclo de reloj para actualizar y comprobar
44 contadores de bucle
Introduccin a los DSPs, conceptos bsicos
Dispositivos DSPs

EJEMPLO: FILTRADO DIGITAL

Los dos filtros digitales mas comunes son:


Respuesta finita al impulso (FIR)
Respuesta Infinita al Impulso (IIR)

y[n] h[k ].x[n k ]


La frmula bsica de FIR es

donde h[k] es un array de constantes

En lenguaje C:
y[n]=0;
For (n=0; n<N;n++)
{
For (k = 0;k<N;k++) Multiplicar y acumular (MAC)
//inner loop
y[n] = y[n] + h[k]*x[n-k];}
45
Introduccin a los DSPs, conceptos bsicos
Dispositivos DSPs
MAC usando un Procesador de propsito general

Clr A ;Clear Accumulator A

Clr B ; Clear Accumulator B


Loop Mov *R0, Y0 ; Move data from memory location 1 to register Y0

Mov *R1,X0 ; Move data from memory location 2 to register X0

Mpy X0,Y0,A ;X0*Y0 ->A

Add A,B ;A + B -> B

Inc R0 ;R0 + 1 -> R0

Inc R1 ;R1 + 1 -> R1

Dec N ;Dec N (initially equals to 3)

Tst N ;Test for the value

Jnz Loop ;Different than zero loop again

Mov B,*R2 ;Move result to memory


46
Introduccin a los DSPs, conceptos bsicos
Dispositivos DSPs
MAC usando un DSP

Clr A ;Clear Accumulator A


Rep N ; Rep N times the next instruction
MAC *(R0)+, *(R1)+, A ; Fetch the two memory locations pointed by R0 and R1,
multiply them together and add the result to A, the final result is
stored back in A
Mov A, *R2 ; Move result to memory

47
Introduccin a los DSPs, conceptos bsicos
Dispositivos DSPs

Caractersticas de los DSPs:


Perifricos:
DMA.
Interfaces serie sncronas.

Diversos grados de paralelismo

48
Introduccin a los DSPs, conceptos bsicos
Dispositivos DSPs
ALTERNATIVAS

Aplicacin de circuitos integrados especficos


(ASIC)
Ventajas
Velocidad
Consumo de potencia bajo
costo/performance
Flexibilidad para diseo

Inconvenientes
Alto costo de desarrollo
Lentos ciclos de desarrollo
Poca flexibilidad una vez implementados
49
Introduccin a los DSPs, conceptos bsicos
Dispositivos DSPs
ALTERNATIVAS

Field Programmable Gate Array (FPGA)

Ventajas
Mayor flexibilidad que un ASIC
Alta Performance en algunas aplicaciones
Reusabillidad de Hardware para diferentes aplicaciones

Inconvenientes
Largo ciclo de desarrollo
Caro comparado con un DSP
Mayor consumo de potencia comparado con un DSP

50
Introduccin a los DSPs, conceptos bsicos
Dispositivos DSPs
VENTAJAS DE LOS DSPs

Algunas aplicaciones no son adecuadas para ser implementadas


en un FPGA
Paralelismo es limitado
Velocidad no es siempre el factor ms importante a
considerar

FPGA demasiado caras para productos finales

51
Introduccin a los DSPs, conceptos bsicos
Parmetros de seleccin de DSPs

FORMATO DE LOS DATOS Punto fijo / Punto flotante

ANCHO DEL BUS DE DATOS 16 / 32 / 64

VELOCIDAD MIPs / MFLOPs / MMACs

JERARQUA DE MEMORIA Memorias cach

ARQUITECTURA DEL PROCESADOR Grado de paralelismo

CONSUMO Aplicaciones porttiles

COSTE Depende de la tirada

SOPORTE Coste, duracin


52
Introduccin a los DSPs, conceptos bsicos
Flujo de diseo

Seleccin Evaluacin Fase inicial de Producto


del DSP del DSP desarrollo final

Evaluacin del software

Aprendizaje del DSP


Kit de desarrollo o tarjeta de evaluacin

53
Introduccin a los DSPs, conceptos bsicos

También podría gustarte