3 research outputs found

    Performance and energy efficiency analysis of a Reversi player for FPGAs and General Purpose Processors

    Get PDF
    Board-game applications are frequently found in mobile devices where the computing performance and the energy budget are constrained. Since the Artificial Intelligence techniques applied in these games are computationally intensive, the applications developed for mobile systems are frequently simplistic, far from the level of equivalent applications developed for desktop computers. Currently board games are software applications executed on General Purpose Processors. However, they exhibit a medium degree of parallelism and a custom hardware accelerator implemented on an FPGA can take advantage of that. We have selected the well-known Reversi game as a case study because it is a very popular board game with simple rules but huge computational demands. We developed and optimized software and hardware designs for this game that apply the same classical Artificial Intelligence techniques. The applications have been executed on different representative platforms and the results demonstrate that the FPGAs implementations provide better performance, lower power consumption and, therefore, impressive energy savings. These results demonstrate that FPGAs can efficiently deal with this kind of problems

    Diseño e implementación de un jugador artificial de Reversi sobre una FPGA

    Get PDF
    El Field-Programmable Technology Design Competition es un concurso de diseño hardware internacional enmarcado en el International Conference on Field-Programmable Technology, congreso internacional de la región asiática sobre hardware reconfigurable. En su edición de 2010 propuso el desarrollo de un procesador específico para jugar al Reversi sobre una FPGA. Partiendo de conocimientos nulos acerca de la estrategia subyacente al juego, diseñamos e implementamos en 4 meses un procesador muy superior al software de referencia que suministraba la organización del concurso. El procesador implementa el algoritmo MinMax con poda alfa-beta, búsqueda en profundidad iterativa y ordenación dinámica de nodos para la exploración del espacio de búsqueda, y una evaluación de nodos basada en conceptos fuertemente ligados a la estrategia del juego, tales como movilidad, captura de esquinas o casillas estables. Posteriormente, desarrollamos una versión software algorítmicamente equivalente con el propósito de establecer comparativas de rendimiento y de consumo FPGA/PC. Los resultados muestran un mayor rendimiento del diseño hardware, fruto principalmente de la explotación del paralelismo y del diseño de una arquitectura a medida, y un consumo sustancialmente inferior, debido principalmente a que el procesador desarrollado trabaja a una frecuencia dos órdenes de magnitud inferior al PC. Como contrapartida, el tiempo de desarrollo del diseño hardware fue claramente superior que el del diseño software equivalente. El diseño presentado en la sesión del congreso dedicada a la competición fue capaz de batir al resto de finalistas, y por ello fuimos galardonados con el primer premio de la competición. Además, el artículo describiendo el diseño fue publicado en las actas del congreso, siendo accesible a la comunidad científica a través del IEEExplore

    Co-diseño Hardware/Software para Criptografía de Curva Elíptica sobre plataformas en chip heterogéneas

    Get PDF
    Recientemente ha aparecido en el mercado un nuevo tipo de sistemas en chip heterogéneos que incluyen un multiprocesador basado en procesadores ARM y una FPGA (hardware programable al que se pueden asignar aceleradores en tiempo de ejecución). El objetivo de este trabajo ha sido el analizar cómo sacar partido a estas plataformas en el campo de la criptografía asimétrica de curva elíptica analizando las distintas posibilidades de codiseño hardware/software y sus compromisos entre coste y eficiencia. Se han utilizado dos de los algoritmos criptográficos más representativos y eficientes en entornos embebidos: la multiplicación de Montgomery sobre coordenadas proyectivas y la multiplicación de Frobenius sobre curvas Koblitz. Posteriormente se ha analizado el software para determinar las partes más adecuadas para ser sustituidas por un acelerador hardware implementado en la FPGA. Resultando las operaciones más costosas las de aritmética sobre cuerpos finitos (Multiplicación, división e inversión). Se ha demostrado posteriormente la escalabilidad de nuestro desarrollo implementando los algoritmos tanto sobre cuerpos GF(2^163) como GF(2^233). Cuerpos recomendados por el NIST (National Institute of Standards an Technology) y el SECG para aplicaciones en criptosistemas de curva elíptica. Se han desarrollado los aceleradores hardware en la parte de la lógica programable proporcionada por la plataforma en forma de dispositivos con registros accesibles y direccionables desde el software. La aritmética modular en hardware es de sobra conocida y en este trabajo se han desarrollado e integrado componentes ampliamente utilizados. Y Finalmente se han conseguido aceleraciones muy importantes, mientas que el consumo medio se ha mantenido, incluso disminuyéndose ligeramente, con lo que el ahorro energético se multiplica. Siendo un aspecto crítico en los dispositivos embebidos y con restricciones tales como tarjetas inteligentes y dispositivos móviles
    corecore