MuTARe: A Multi-Target, Adaptive Reconfigurable Architecture - Brandalero, Marcelo; Carro, Luigi; Beck, Antonio Carlos Schneider (Anais do Concurso de Teses e Dissertações da SBC (CTD-SBC); 2020: Anais do XXXIII Concurso de Teses e DissertaçõesDO - 10.5753/ctd.2020.11363, 2020)
With recent changes in transistor scaling trends, the design of all types of processing systems has become increasingly constrained by power consumption. At the same time, driven by the needs of fast response times, many applications are migrating from the cloud to the edge, pushing for the challenge of increasing the performance of these already power-constrained devices. The key to addressing this problem is to design application-specific processors that perfectly match the application's requirements and avoid unnecessary energy consumption. However, such dedicated platforms require significant design time and are thus unable to match the pace of fast-evolving applications that are deployed in the Internet-of-Things (IoT) every day. Motivated by the need for high energy efficiency and high flexibility in hardware platforms, this thesis paves the way to a new class of low-power adaptive processors that can achieve these goals by automatically modifying their structure at run time to match different applications' resource requirements. The proposed Multi-Target Adaptive Reconfigurable Architecture (MuTARe) is based upon a Coarse-Grained Reconfigurable Architecture (CGRA) that can transparently accelerate already-deployed applications, but incorporates novel compute paradigms such as Approximate Computing (AxC) and Near-Threshold Voltage Computing (NTC) to improve its efficiency. Compared to a traditional system of heterogeneous processing cores (similar to ARM's big.LITTLE), the base MuTARe architecture can (without any change to the existing software) improve the execution time by up to $1.3×$, adapt to the same task deadline with $1.6×$ smaller energy consumption or adapt to the same low energy budget with $2.3×$ better performance. When extended for AxC, MuTARe's power savings can be further improved by up to $50%$ in error-tolerant applications, and when extended for NTC, MuTARe can save further $30%$ energy in memory-intensive workloads.