State-of-the-art Communication Architectures for Multi-Processor Systems-on-Chip