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