Deterministic memory hierarchy and virtualization for modern multi-core embedded systems