Parallelism and the software-hardware interface in embedded systems