Inter-reference gap distribution replacement: an improved replacement algorithm for set-associative caches