GNU Debugger for Single-ISA Heterogeneous MAny-Core System (SHMAC)
MetadataShow full item record
Processors have historically attained performance improvements primarily by increasing frequency and the number of transistors. As the transistor density increases, keeping the power density constant gets harder. As a result, future processors will not be able to power all transistors simultaneously without exceeding the power budget. This phenomenon is coined Dark Silicon, referring to the part of the silicon that must be left unpowered. The issue with dark silicon can be mitigated by building heterogeneous computing systems. Such systems consist of several specialised components, each highly efficient in performing a specific task and workload. The SHMAC project was initiated by NTNU to investigate the challenges in designing heterogeneous computing systems. The output of the project is a heterogenous processor called SHMAC, which has an architecture consisting of a grid of computing tiles. One of the available computing tile is an ARMv3 compliant CPU core. The current software for SHMAC is primarily using this tile as the target CPU.This thesis presents the first functional debugger for SHMAC. The debugger is based on the GNU Debugger (GDB), a popular open-source debugger maintained by the Free Software Foundation. Future software development on SHMAC will greatly benefit from having a proper tool for debugging. Another contribution is the integration of the debugger with Barrelfish, the first functional operating system for SHMAC. The integration facilitates kernel debugging and debugging of user programs running on Barrelfish.