Download HERMES Network on Chip

Document related concepts
no text concepts found
Transcript
Networks on Chip Orientado a
Multiprocessor System on Chip. Diseño
e Implementación sobre FPGA
Investigadores:
Sr. Wilson Chicaiza
Sr. Daniel Verdezoto
Quito 29 de Noviembre de 2012
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Multiprocessor Systems on Chip (MPSoC)
uP Video
uP Audio
uP
Imagen
Micro
Procesador
uP
Modem
uP
Gráficos
Periféricos
uP
Filtrado
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Tipos de Multiprocessor Systems on Chip
Multiprocesadores
Homogéneos
Multiprocesadores
Heterogéneos
Arquitectura computacional paralela
Aumentar el número de elementos
físicos mediante el trabajo concurrente
de varias unidades de procesamiento
de un solo tipo, con el fin de dividir el
tiempo de ejecución de cada recurso.
Disminuir la frecuencia de operación y
disminución del consumo de potencia.
Formados por distintos
elementos de proceso, tales
como uno o varios
procesadores de propósito
específico, procesadores
digitales de señales,
aceleradores de hardware,
periféricos
Tipos de Multiprocessor Systems on Chip
Los Multiprocesadores Heterogéneos son utilizados en los sistemas portátiles y sistemas
integrados, mientras que los Multiprocesadores Homogéneos se utilizan comúnmente para
las consolas de videojuegos, servidores y computadores de escritorio.
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Los Primeros Multiprocessor Systems on Chip
Lucent Daytona
Los Primeros Multiprocessor Systems on Chip
Philips Viper Nexperia
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Arquitecturas Multiprocessor Systems on Chip
MPSoC de Procesadores no interconectados
Arquitecturas Multiprocessor Systems on Chip
MPSoC mediante Bus de propósito general
Arquitecturas Multiprocessor Systems on Chip
MPSoC de Memoria Compartida
Arquitecturas Multiprocessor Systems on Chip
MPSoC en configuración Maestro - Esclavo
Arquitecturas Multiprocessor Systems on Chip
Arquitectura MPSoC Segmentada
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Interconexionado Intra Chip
Buses on Chip
• Considerados como una colección de señales o cables para que uno o
más IP-Cores estén conectados y puedan comunicar los datos con los
demás, tomando como principal consideración parámetros de latencia y
ancho de banda.
Interconexionado Intra Chip
Buses on Chip
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Interconexionado Intra Chip
Network on Chip
• Una NoC es un conjunto de elementos de conmutación e interfaces de
red interconectados para dar servicio de comunicación a los distintos
módulos dentro de un chip proporcionando mecanismos de
interconexión física para la transferencia de información entre IP-Cores y
para proporcionar interfaz entre los mismos con la finalidad de dar
soporte a aplicaciones de alto rendimiento.
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
HERMES Network on Chip
HERMES Network on Chip
• Hermes es una
infraestructura Network
on Chip desarrollada en
topología 2D Mesh e
implementada para
transmisión de
paquetes mediante el
método Wormhole
HERMES Network on Chip
Conmutador HERMES
• Posee un router central de control con 5
puertos bidireccionales. El puerto
central permite la comunicación entre
el router y el procesador local, mientras
que los restantes proporcionan
conectividad con routers vecinos. El
canal local soporta diversos Canales
Virtuales multiplexados, en donde cada
puerto de entrada dispone de un
tamaño de buffer, para almacenamiento
temporal de paquetes
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
HERMES Network on Chip
Atlas – GAPH (Hardware Desing Support Group) PUCRS Brasil
Instituto Nacional Politecnico de Grenoble - Francia
HERMES Network on Chip
HERMES Network on Chip
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Co-Diseño de Hardware y Software
EDK
IP-Cores Diseñados por Xilinx
Desarrollo de Software
Entorno de Software Integrado
Para Diseñar IP-Cores
Lenguaje C
Co-Diseño de Hardware y Software
Co-Diseño de Hardware y Software
Co-Diseño de Hardware y Software
Co-Diseño de Hardware y Software
Todo la generación de Hardware y Software fue
desarrollada en la FPGA ML605 (Virtex 6).
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Diseño de un Network Interface
Partiendo de una Arquitectura 2D Mesh.
Diseño de un Network Interface
PE
uBlaze
NI
?
NE
b
R00
(0000)
a
a) Arquitectura de Red.
b) Arquitectura Incompleta.
Diseño de un Network Interface
Grupo de Señales del Puerto Local de Salida (Origen)
Grupo de Señales del Puerto Local de Entrada (Destino)
Diseño de un Network Interface
Esquema FSL (Fast Simplex Link)
Características FSL
• Implementación
unidireccional.
• Provee un bit de control
para indicar el inicio y el fin
de una palabra.
• Soporta modos síncrono y
asíncrono.
Diseño de un Network Interface
Señales FSL
Diseño de un Network Interface
Señales FSL
Señales de Puerto Local de
Hermes
Entradas
Salidas
Entradas
Salidas
FSL_M_DATA
FSL_S_DATA
Local_DataIn
Local_DataOut
FSL_M_WRITE
FSL_S_EXISTS
rxLocal
txLocal
FSL_S_READ
FSL_M_FULL
ack_rxLocal
ack_txLocal
Diseño de un Network Interface
Diagrama de estados para la
Interfaz de Entrada de Datos.
Existe 0
Etapa 0
Existe 1
Leer = 0
txLocal = 0
Local_DataIn = 0
Existe 0
Etapa 1
Tx_FSL_HERMES
Existe 1
Ack_txLocal 1
Leer = 1
txLocal = 1
Local_DataIn = FSL_S_DATA
Diseño de un Network Interface
Diagrama de Estados para la
Interfaz de Salida de Datos.
rxLocal 0
Etapa 0
Escribir = 0
FSL_M_Data = 0
Ack_rxLocal = rxLocal
rxLocal 1
rxLocal 0
o
Lleno 1
Escribir = 1
FSL_M_DATA = Local_DataOut
Ack_rxLocal = rxLocal
Etapa 1
Lleno 0
rxLocal 1
Rx_HERMES_FSL
Diseño de un Network Interface
• Interfaz de Salida
• Interfaz de Entrada
Data_out(15-0)
Data_in(31-0)
Ack_txLocal
Exists
rxLocal
Tx_FSL_Hermes
txLocal
Lleno
Rx_Hermes_FSL
Ack_rxLocal
Clk
Clk
Rst
Data_out(31-0)
Data_in(15-0)
Leer
Rst
Escribir
Data_out_Local(15-0)
FSL_S_DATA(31-0)
Ack_txLocal
FSL_S_EXISTS
Tx_FSL_Hermes
txLocal
FSL_S_READ
Data_in_Local(15-0)
FSL_M_DATA(31-0)
rxLocal
FSL_M_FULL
Rx_Hermes_FSL
Ack_rxLocal
CLK
RST
FSL_M_WRITE
Interfaz de Red Completa
Diseño de un Network Interface
Diseño de un Network Interface
IP-Core Entorno Gráfico (XPS)
IP-Core en FPGA (ISE)
Diseño de un Network Interface
Diseño de un Network Interface
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Aplicación de Esteganografía
• Se pude decir que la Esteganografía es una forma
cómoda de trabajar con meta-información, es decir
información dentro de la información.
Bases de la Estaganografía:
La esteganografía actual se basa en esconder
datos binarios en la maraña de bits que supone un
fichero. Los bits que componen el mensaje a ocultar se
introducen en el fichero ya existente, procurando que
el fichero resultante aparente ser el original.
Aplicación de Esteganografía
• Reglas:
Toda información, que queramos ocultar debe ser
convertida a lenguaje binario.
Las cabeceras de los ficheros nunca deben ser
modificadas.
Mantener claves muy bien definidas para la obtención
segura de la información esteganografiada.
Aplicación de Esteganografía
• Estructura del Formato PPM
Cabecera
Sección de Datos
Aplicación de Esteganografía
• Codificación de los Caracteres
Aplicación de Esteganografía
Aplicación de Esteganografía
Aplicación de Esteganografía
Aplicación de Esteganografía
Aplicación de Esteganografía
Aplicación de Esteganografía
Aplicación de Esteganografía
Aplicación de Esteganografía
Imagen Original
Imagen Esteganografiada
Aplicación de Esteganografía
Imagen Original
Imagen Esteganografiada
Networks on Chip Orientado a Multiprocessor System on
Chip. Diseño e Implementación sobre FPGA
Conclusiones
Luego de revisar la información de diferentes propuestas de arquitecturas
NoC desarrolladas desde el año 2000, se ha determinado que la NoC
HERMES desarrollada por la facultad de informática de la PUCRS de Brasil es
la mejor opción de arquitectura Noc para evaluar, puesto que es de libre
utilización y es implementable sobre un FPGA.
En la mayoría de pruebas y simulaciones realizadas sobre NoCs se ocupa
generadores de tráfico conectados a ciertos elementos de red. Puesto que el
verdadero tráfico que fluye a través de una red es diferente a este tráfico
simulado, el aporte efectivo del proyecto se centra en el desarrollo de una
aplicación que genere tráfico real para evaluar el desempeño de la NoC. Por
ello, se propone el desarrollo de una aplicación con procesamiento paralelo,
como por ejemplo procesamiento de imágenes.
Conclusiones
La interface de red (NI) es el resultado de la combinación de los recursos
del software de Xilinx (EDK 13.2) para la interconexión entre un
procesador (Microblaze) y un diseño en FPGA (NoC Hermes), con el fin de
completar la arquitectura de red.
El formato PPM es de fácil interpretación y no necesita de algoritmos tan
complejos para su lectura.
La aplicación de Esteganografía fue desarrollada para demostrar
procesamiento y transferencia simultanea de información con lo que se
demuestra la utilidad de Hermes en la realidad.
Muchas Gracias !
Networks on Chip Orientado a
Multiprocessor System on Chip. Diseño
e Implementación sobre FPGA