Towards fine-grained DVFS in embedded multi-core CPUs