Two good blog posts from some of my colleagues at Freescale. One on Heading Into Hyperspace: Hypervisor and Multi-core design by Jim Trudeau and one by Rob Oshana on the Top 3 Keys to Multi-core software development. Jim talks about the multi-core aspects mostly from Freescale’s P4080 perspective, an elegant, powerful and very popular processor in the networking space. The P4080 has not only many processors, it is truly designed for multicore with multiple peripherals (multiple PCI hosts) and multiple memory controllers for example to reduce contention.
The P4080 is hardly the only multi-core SoC in Freescale’s arsenal, some other popular processors are the P1022, the P2020 and all their derivatives. The difference between the P4080 and the others is that the P4080 is based on the e500mc core, which has hardware assist for virtualization. However, that doesn’t stop us (us being Wind River in this case) to offer a Hypervisor on the other QorIQ processors as well (or even pre-QorIQ processors such as an PPC8572 or even PPC8548).
The points made by Jim and Rob are good for sure, to paraphrase and summarize:
- A powerful processor
- A flexible Hypervisor
- Inter-OS messaging
- Flexible tooling to configure the Hypervisor and the OSes
- Hypervisor aware On-Chip (JTAG) debug to deal with driver debugging
Wind River of course provides all these. However, there is one, important, element that I would like to add: You need to run operating systems on the Hypervisor, typically a real-time operating system such as VxWorks, but general purpose operating systems such as Linux are also popular. Ideally, what you would like is to have all this pre-integrated on the silicon. That is, a single vendor that can provide you with a complete package of Hypervisor, operating systems and tooling to enable you to start developing for this powerful Freescale design.
And that is exactly the philosophy behind the Wind River Multi-core Software offering, an integrated package from one vendor to reduce your risk and accelerate your time to market.
Contact me directly if you would like to have a more in-depth discussion on how to use Freescales single and multi-core processors with virtualization.