Optimizing instruction cache performance of embedded systems