Reducing memory latency via non-blocking and prefetching caches | Synapse