Hardware Mechanisms to Support Profiling in Many-Core Embedded Systems