Estudio De Arquitecturas En Soft-Proccesors Y Comparativa De Rendimiento Y Consumo Con Procesadores Comerciales
Total Page:16
File Type:pdf, Size:1020Kb
Universidad Carlos III de Madrid Escuela Politécnica Superior Ingeniería Informática Proyecto Fin de Carrera Madrid, Octubre 2012 Estudio de arquitecturas en soft-proccesors y comparativa de rendimiento y consumo con procesadores comerciales Autor: Víctor Nieto Talaván Tutores: David Expósito Singh Oscar Pérez Alonso Estudio de arquitecturas en soft-proccesors y comparativa de rendimiento y consumo con procesadores comerciales Víctor Nieto Talaván 2 Estudio de arquitecturas en soft-proccesors y comparativa de rendimiento y consumo con procesadores comerciales Agradecimientos Este proyecto se lo quiero agradecer de la mejor manera posible a toda la gente que me ha apoyado a lo largo de mi vida, en especial a toda mi familia. Mi hermano Marcos, mis padres Julio y Mari Carmen, y mi novia Bea forman parte de mi día a día, y sin ellos no habría conseguido seguir adelante. Siempre han estado ahí para todo, para lo bueno y lo malo, y eso es lo mejor que me ha podido pasar. En segundo lugar se lo quiero agradecer a mis amigos, David, Castre, Fombe, Honorio, Marta y Rocío, por ser capaces de aguantarme y animarme todo este tiempo. Tampoco puedo olvidar los buenos momentos que he pasado con mis compañeros de clase, Champi, Cristian, Sohrab, Alberto, Juanto y un largo etc. de personas que han conseguido hacerme sacar una carcajada y una sonrisa. Finalmente, me gustaría agradecer enormemente toda la ayuda que he recibido por parte de mis tutores, David y Oscar, por su gran apoyo en este proyecto, sus conocimientos y su paciencia. No olvidaré los buenos momentos pasados con la gente del laboratorio, por todas las risas que he podido compartir con ellos y por conseguir hacer que finalice este proyecto. A todos ellos, gracias de todo corazón. “El logro más impresionante de la industria del software es su continua anulación de los constantes y asombrosos logros de la industria del hardware” Henry Petroski Víctor Nieto Talaván 3 Estudio de arquitecturas en soft-proccesors y comparativa de rendimiento y consumo con procesadores comerciales Víctor Nieto Talaván 4 Estudio de arquitecturas en soft-proccesors y comparativa de rendimiento y consumo con procesadores comerciales Resumen En los últimos 20 años, la tecnología ha evolucionado muy rápidamente, siendo ésta parte de nuestro día a día. Actualmente, tanto los ordenadores como los dispositivos móviles disponen de una capacidad de procesamiento elevada, gracias al uso de procesadores empotrados. Estos tipos de dispositivos se pueden encontrar en una gran variedad de productos que abarcan desde los dispositivos anteriormente mencionados, hasta reproductores multimedia, televisores o cámaras, incluyendo grandes sistemas implantados en aviones y automóviles. Para todas estas aplicaciones los sistemas empotrados necesitan ofrecer una gran eficiencia en la relación entre la potencia de cómputo y el consumo eléctrico. Para este tipo de sistemas, es común el uso de FPGAs como sistemas de estudio de arquitecturas. El motivo es su reducido coste y la enorme flexibilidad que ofrece el hardware reconfigurable. Típicamente una FPGA destina parte de sus recursos a la implementación de bloques o módulos hardware para el procesamiento de señales. Sin embargo, la parte de control se suele ejecutar mediante software en la propia FPGA. El modo de conseguirlo es implementar un procesador simple en la FPGA, denominado soft-processor y programarlo. En este proyecto, se tratará de conseguir una plataforma de trabajo con el mejor rendimiento estimado, y la mejor relación rendimiento/consumo amén de otras características como la utilización de la FPGA. Esto se realizará mediante el análisis y desarrollo de distintos benchmarks (pruebas de rendimiento) para diversas arquitecturas. Para finalizar se validará la solución encontrada a través del estudio anterior con procesadores empotrados comerciales de potencia similar. Víctor Nieto Talaván 5 Estudio de arquitecturas en soft-proccesors y comparativa de rendimiento y consumo con procesadores comerciales Víctor Nieto Talaván 6 Estudio de arquitecturas en soft-proccesors y comparativa de rendimiento y consumo con procesadores comerciales Abstract In the past 20 years, technology has evolved rapidly, and it became part of our daily life. Currently, both computers and mobile devices have a high processing capability by means of embedded processors. These devices can be found in a wide variety of products, ranging from the aforementioned devices, to media players, TVs and cameras, including large systems implemented in aircraft and automobiles. For all these applications, embedded systems need to provide high efficiency and good ratios between computing performance and power consumption. For such systems, it is common to use FPGAs as a test platform for evaluating different system architectures. The reason is its low cost and enormous flexibility offered by reconfigurable hardware. FPGAs typically devote part of their resources to the implementation of hardware blocks or modules for signal processing. However, the control part is usually performed by FPGA’s own software. The way to achieve this is to implement a single processor in the FPGA, called soft-processor and program it. In this project, we will try to develop and analyze a FPGA-based test platform with the best estimated performance and the best performance/consumption ratio. Additionally, we evaluate other features such as the use facility. This will be done through the development, evaluation and analysis of different benchmarks for various architectures. Finally, the obtained results will be compared against other commercial embedded processors of similar power. Víctor Nieto Talaván 7 Estudio de arquitecturas en soft-proccesors y comparativa de rendimiento y consumo con procesadores comerciales Víctor Nieto Talaván 8 Estudio de arquitecturas en soft-proccesors y comparativa de rendimiento y consumo con procesadores comerciales Índice 1 Introducción y objetivos .................................................................................. 21 1.1 Motivación del proyecto ........................................................................... 21 1.2 Objetivos del proyecto .............................................................................. 22 1.3 Contenido de la memoria .......................................................................... 23 2 Estado del Arte ................................................................................................. 25 2.1 FPGAs ...................................................................................................... 25 2.1.1 Xilinx ................................................................................................. 26 2.1.2 Altera ................................................................................................. 28 2.2 Soft-Processors ......................................................................................... 29 2.2.1 Arquitectura MicroBlaze ................................................................... 30 2.2.2 Arquitectura Nios II .......................................................................... 31 2.2.3 Arquitectura LEON 4 ........................................................................ 33 2.2.4 Arquitectura OpenRISC 1000 ........................................................... 35 2.3 Arquitecturas principales .......................................................................... 36 2.3.1 Arquitectura x86 ................................................................................ 37 2.3.2 Arquitectura MIPS ............................................................................ 38 2.3.3 Arquitectura ARM............................................................................. 40 2.4 Pruebas de rendimiento ............................................................................ 41 3 Análisis ............................................................................................................ 45 3.1 Elección de plataforma de trabajo ............................................................ 45 3.2 Descripción General ................................................................................. 49 3.2.1 Capacidades generales....................................................................... 49 3.2.2 Restricciones generales ..................................................................... 50 Víctor Nieto Talaván 9 Estudio de arquitecturas en soft-proccesors y comparativa de rendimiento y consumo con procesadores comerciales 3.2.3 Entorno operacional .......................................................................... 51 3.3 Requisitos de usuario ................................................................................ 52 3.3.1 Requisitos de Capacidad ................................................................... 53 3.3.2 Requisitos de Restricción .................................................................. 55 3.4 Medidas de rendimiento ........................................................................... 57 3.4.1 Capacidad de cómputo ...................................................................... 58 3.4.2 Acceso a memoria ............................................................................. 58 3.4.3 Consumo de energía .......................................................................... 59 4 Diseño .............................................................................................................. 61 4.1 Arquitectura de los benchmarks ..............................................................