Heterogeneous multiprocessor