Using General-Purpose Processor Cores As Prefetching Engines In Chip Multiprocessor Architectures