Académique Documents
Professionnel Documents
Culture Documents
Reconfigurables
Agenda Clase
• Tipos de Arquitecturas
• Arquitecturas Reconfigurables
• FPGA
• Adres
• XPP
• RAPID
• IoT con Arquitecturas Reconfigurables
Sistemas Embebidos
Ejemplo: S=A+B
Programación en Hardware:
La lógica programable se realiza directamente en el hardware
Ejemplo:
¿Porque reina ARM en el mercado
de los dispositivos móviles?
•El secreto de su éxito:
–ARM no fabrica micros, solo los diseña y luego los licencia a fabricantes de electrónica que los integran
en sus chips
–La clave es que los microchips que finalmente salen al mercado son algo mas que microprocesadores;
por ejemplo, un fabricante de teléfonos móviles fabricará procesadores que además del núcleo ARM
contendrán el transmisor 3G y el controlador de pantalla y teclado; de esta forma reducimos el número
de chips necesarios para montar el teléfono, con la consiguiente reducción de coste, tamaño
SOC
System on Chip
Idea de Intel para entrar en el
mercado de las cosas pequeñas…
Intel no licencia sus procesadores, por lo tanto si queremos hacer un teléfono móvil basado en Intel,
tendríamos que montar un conjunto extra de chips…y eso trae problemas y deja a Intel fuera del mercado de
las cosas pequeñas…
-Solución de Intel para entrar en ese mercado: hacer configurables a sus procesadores poner una FPGA.
-La FPGA es un chip que puede convertirse en una tarjeta gráfica, un sintonizador wifi, un controlador de
puertos, … Dicho con otras palabras, una FPGA proporciona a los fabricantes una capacidad para personalizar
el chip similar a la que proporciona ARM.
Agenda Clase
• Sistemas Embebidos
• Arquitecturas Reconfigurables
• FPGA
• Adres
• XPP
• RAPID
• IoT con Arquitecturas Reconfigurables
Tipos de Arquitecturas
ASIC
XPP
RAPID
No Configurable
Microprocesadores
GPU
Configurable
Diseño Ejecución
El compilador genera una
configuración para que la GPU se
configure para trabajar con un
bloque y cuatro hilos para resolver
la suma de matrices
+
CPU
Secuencial
8
Configuración 2
5 6 7
a R1
b 1
9 10 11 12
c R4
2
R2 4
d
13 14 15 16
e R3
f 3
Reconfigurable
• Durante el diseño, el usuario diseña Ejecución
Diseño
en alto nivel como debe comportarse
la matriz reconfigurable para realizar
la suma
• El compilador y sintetizador generan
distintas configuraciones para que la
matriz resuelva la suma, las cuales
dependen de la ejecución. Por
ejemplo cuando sucede determinado
evento se cambia de configuración
• Sistemas Embebidos
• Tipos de Arquitecturas
• FPGA
• Adres
• XPP
• RAPID
• IoT con Arquitecturas Reconfigurables
Las Arquitecturas
reconfigurables funcionan
como el camaleón,
cambian
su configuración según la
ocasión
Conceptos Teóricos
+
CPU
Secuencial
Unidad Funcional
Conceptos Teóricos
3 entradas
Conceptos Teóricos
FPGA vs otros reconfigurables
FPGA OTROS RECONFIGURABLES
Trabaja a nivel de bits (Grano Fino) Trabaja a nivel de palabras (Grano Grueso)
Son bloques conformados por Son Unidades Funcionales programables
compuertas lógicas programables por el por el usuario
usuario
Nacieron a partir de mejoras en los Nacieron a partir de mejoras en los FPGA
Circuitos Integrados ASIC
Los bloques lógicos ocupan considerable Reducen el área de la arquitectura
espacio de la arquitectura
El tiempo de configuración es Reduce el tiempo de configuración
considerable porque se debe configurar
compuerta por compuerta
CPU
Secuencial + Parte
Reconfigurable
Tipos de comportamientos
Comportamiento Ventajas Desventajas
El Hardware RC • Agrega funcionalidad a la • El procesador debe estar
solamente programación tradicional indicando las instrucciones a la
proporciona FU al parte reconfigurable.
procesador principal
La unidad RC se usa •Permite realizar cálculos sin la •Elevada cantidad transmisión de
como coprocesador. supervisión del procesador. datos entre ambos.
La unidad RC se •La parte reconfigurable tiene •No comparten cache.
comporta como su propia memoria de trabajo.
procesador
adicional
La unidad RC es • La comunicación es muy •Aumenta la complejidad en la
una unidad de infrecuente. sintetización
procesamiento
externo.
Estrategias de programación reconfigurable
Procesador
Secuencial
Matriz reconfigurable
*: Etapas manuales
*
* *
*
Mercado de Arquitecturas Reconfigurables
Agenda Clase
• Sistemas Embebidos
• Tipos de Arquitecturas
• Arquitecturas Reconfigurables
• Adres
• XPP
• RAPID
• IoT con Arquitecturas Reconfigurables
FPGA
(Matriz de Puertas Programables)
FPGA
Arquitectura demostrativa,
no detallada, de un FPGA de Xilinx.
CPU
Secuencial + FPGA
FPGA
Procesadores con FPGA
Es posible diseñar
un
microprocesador
con el FPGA
usando los CLBs.
FPGA
Agenda Clase
• Sistemas Embebidos
• Tipos de Arquitecturas
• Arquitecturas Reconfigurables
• FPGA
• XPP
• RAPID
• IoT con Arquitecturas Reconfigurables
Arquitectura
ADRES
(Architecture for Dynamically Reconfigurable
Embedded System)
ADRES - Sistema
Programa Ejecutable
Instrucción ILP
Varias operaciones que pueden ser
ejecutadas en paralelo (ILP) se
empaquetan en una instrucción
larga
ADRES - Sistema
Luego de la captación y
decodificación de una
instrucción, las
operaciones contenidas son
emitidas
en paralelo.
ADRES - Sistema
Celdas
Reconfigurables
ADRES - Celda Reconfigurable (RC)
FU RF
Agenda Clase
• Sistemas Embebidos
• Tipos de Arquitecturas
• Arquitecturas Reconfigurables
• FPGA
• Adres
• RAPID
• IoT con Arquitecturas Reconfigurables
Arquitectura XPP
(Extreme Processing Platform)
XPP – Estructura del núcleo
XPP – Mapeo de flujos
x = (a*c) - (ib*id)
iy = (a*id) + (ib*c)
Configuración DataStream
XPP – Mapeo de flujos
Zoom PAEs - Calculo simple (flujo de x) x = (a*c) - (ib*id)
ib MUL MUL id
a c
XPP – Escalable x 4
Núcleo XPP
PAC
XPP – Vista completa
Agenda Clase
• Sistemas Embebidos
• Tipos de Arquitecturas
• Arquitecturas Reconfigurables
• FPGA
• Adres
• XPP
FU
RaPiD – Buses Interconexión
Multiplexor
Compuerta NOT
Agenda Clase
• Sistemas Embebidos
• Tipos de Arquitecturas
• Arquitecturas Reconfigurables
• FPGA
• Adres
• XPP
• RAPID
Reconfigurables + IoT
En Cloud Computing el procesamiento de los datos
se realiza en la nube
Reconfigurables + IoT
En Fog Computing el procesamiento de los datos
se realiza en la nube y en los dispositivos
Nube remota
Nube local
Reconfigurables + IoT
Para poder implementar eficientemente IoT + Fog Computing
Será necesario mucho procesamiento de datos en tiempo real.
Por ese motivo las arquitecturas reconfigurables
(especialmente FPGA) llevan a cabo un papel fundamental,
debido a que bajan los costos y tiempo de infraestructura.