Design and Evaluation of an Adaptive Network on Chip for Multicore Architectures