8.7 Instruction-level and thread-level parallelism in embedded systems