What is Heterogeneous Computing?
Heterogeneous computing refers to a single computational system that contains more than one kind of processor or core, with different capabilities and which conducts tasks in different ways. This is in comparison to a multi-core system where all the cores are the same. For example, a heterogenous SoC could hold multiple CPUs that operate at different frequencies or are even based on completely different instruction set architectures. However, each one would all be able to share access to the same system memory, enabling them to interoperate. This allows for increased performance, by incorporating specialised processing capabilities to manage specific tasks.