Abstract:Software pipelining can speedup the loop execution. Modulo scheduling is a widely used heuristic for software pipelining. Cache hierarchies can improve memory systems, but probably all processor implementations introduce additional delays (cache penalty). This paper demonstrates possible cache penalty due to modulo scheduling, and presents an algorithm named Prevent Cache Penalty in Modulo Scheduling (PCPMS), which can prevent cache penalty due to modulo scheduling. Experimental results show that PCPMS can prevent cache penalty and improve the performance of programs.