A Novel Object-Oriented Software Cache for Scratchpad-Based Multi-Core Clusters