Software-Oriented Data Access Characterization For Chip Multiprocessor Architecture Optimizations