[en] The use of mobile devices such as smartphones, tablets and smartwatches has become so rampant in recent years that they are now part of our daily lives. in recent years, to such an extent that they are now part of our daily lives. At the same time, users are demanding more and more functionalities and capabilities such as, for example, more performance in the video games section. In this case, video games are driven by the device's graphics processor, known as GPU (Graphics Processing Unit) and although they require the use of the CPU to process other non-graphical tasks such as the physics engine or artificial intelligence, most of the work is destined to the GPU. In this Thesis we propose, design, implement and evaluate three techniques for mobile device GPUs to reduce power consumption. To achieve this, we take advantage of the principle of temporal coherence between frames, which states that two frames close in time should be similar due to the inherently continuous nature of the motion of objects in a scene. As proposals of this Thesis, first, Ω-Test is presented as a solution to a problem called overdraw, which accounts for 37.7% on average (given the benchmarks evaluated). To effectively alleviate this problem, Ω-Test takes advantage of the Z-Buffer of the previous frame (referred to as Ω-Table), instead of starting from scratch. This causes many more fragments to be prematurely discarded, thus reducing the scene overdraw. This has reduced shading from overdraw by 32.7% on average, resulting in a 16.3% increase in performance and a reduction in power consumption by 15.2% on average. As a second proposal, Triangle-Dropping is presented, a technique that saves the processing of occluded primitives in the geometry phase. In the benchmarks evaluated it has been observed that, on average, 37.7% of the geometry of a scene ends up being written in the Parameter Buffer, of which 60.1% is completely occluded. To drastically reduce the number of occluded triangles, Triangle-Dropping predicts the visibility of the triangles of the current frame by taking advantage of that of the previous frame. Thanks to this series of optimizations, Triangle Dropping manages to reduce 31.4% of the geometry present in the Parameter Buffer, which is 57% of the occluded geometry, thus resulting in an overall performance increase of 20.2%, while reducing power consumption by 14.5% on average. Finally, DTM-NUCA (Dynamic Texture Mapping-NUCA) is proposed, a technique capable of increasing the effective capacity of the texture caches of the fragment processing cores (the so-called Fragment Processors). In order to take advantage in a more efficient way of the texture caches of the Fragment Processors, DTM-NUCA implements a mechanism based on a NUCA (Non-Uniform Cache Access) architecture that allows texture blocks to be shared between Fragment Processors. This dynamic mapping scheme increases performance by 16.9% in the case of the centralized Affinity Table and by 15.7% in the case of the distributed version. In addition, energy consumption is reduced by 11.1% and 10.3% for the centralized and distributed configurations respectively. TEAPOT, a simulation framework for mobile GPUs, has been used for the realization of the Thesis. In short, throughout this Thesis, advanced micro-architectural techniques focused on mobile GPUs have been proposed, developed and evaluated in order to considerably reduce their power consumption and increase their performance, making the user experience much more satisfactory.

[es] El uso de dispositivos móviles tales como smartphones, tablets o smartwatches se ha extendido de una manera desenfrenada durante los últimos años, de tal forma que hoy en día forman parte de nuestra vida cotidiana. A su vez, los usuarios demandan cada vez más funcionalidades y capacidades como, por ejemplo, más rendimiento en el apartado de videojuegos. En este caso, los videojuegos se mueven gracias al procesador gráfico del dispositivo, conocido como GPU (Graphics Processing Unit) y aunque éstos precisan del uso de la CPU para procesar otro tipo de tareas no gráficas como el motor físico o la inteligencia artificial, la mayor parte del trabajo va destinada a la GPU. En esta Tesis se proponen, diseñan, implementan y evalúan tres técnicas para GPUs de dispositivos móviles destinadas a reducir el consumo energético. Para lograrlo, se aprovecha el principio de coherencia temporal entre fotogramas, el cual establece que dos fotogramas cercanos en el tiempo deben ser similares debido a la naturaleza inherentemente continua del movimiento de los objetos en una escena. Como propuestas de esta Tesis, en primer lugar se presenta Ω-Test como solución a un problema denominado overdraw, que supone un 37.7% en promedio (dados los benchmarks evaluados). Para paliar este problema de manera eficaz, Ω-Test aprovecha el Z-Buffer del fotograma previo (lo que se denomina Ω-Table), en vez de partir de cero. Esto hace que, de manera prematura, se descarten muchos más fragmentos, reduciendo así el overdraw de la escena. Con esto se ha logrado reducir el sombreado proveniente del overdraw en un 32.7% de media, dando lugar a un aumento en el rendimiento del 16.3% y una reducción del consumo energético del 15.2% de media. Como segunda propuesta, se presenta Triangle-Dropping, una técnica que ahorra el procesamiento de primitivas ocluidas en la fase de geometría. En los benchmarks evaluados se ha podido observar que, de media, el 37.7% de la geometría de una escena se acaba escribiendo en el Parameter Buffer, de la cual el 60.1% está completamente ocluida. Para reducir drásticamente el número de triángulos ocluidos, Triangle-Dropping predice la visibilidad de los triángulos del fotograma actual aprovechando la del fotograma anterior. Gracias a esta serie de optimizaciones, Triangle Dropping consigue reducir un 31.4% de la geometría presente en el Parameter Buffer, lo cual supone un 57% de la geometría ocluida, dando lugar así a un aumento del rendimiento general del 20.2%, al mismo tiempo que reduce el consumo energético en un 14.5% de media. Finalmente, se propone DTM-NUCA (Dynamic Texture Mapping-NUCA), una técnica capaz de aumentar la capacidad efectiva de las cachés de texturas de los núcleos de procesamiento de fragmentos (los denominados Fragment Processors). Para aprovechar de una manera más eficiente el conjunto de cachés de texturas de los Fragment Processors, DTM-NUCA implementa un mecanismo basado en una arquitectura NUCA (Non-Uniform Cache Access) que permite compartir bloques de texturas entre Fragment Processors. Con este esquema de mapeo dinámico se consigue aumentar el rendimiento en un 16.9% para el caso de la Affinity Table centralizada, y en un 15.7% para el caso de la versión distribuida. Además, se consigue reducir el consumo de energía en un 11.1% y en un 10.3% para las configuraciones centralizada y distribuida respectivamente. Para la realización de la Tesis, se ha usado TEAPOT, un framework de simulación de GPUs móviles. En definitiva, a lo largo de esta Tesis se han propuesto, desarrollado y evaluado técnicas micro-arquitecturales avanzadas enfocadas a GPUs móviles con el fin de reducir considerablemente su consumo energético y aumentar el rendimiento, haciendo que la experiencia de usuario sea mucho más satisfactoria.