Set-associative caches blend the organizations of direct mapped and fully associative caches to reduce the consequences of those two architectures. The result is a cache with nearly the speed of a direct mapped cache while greatly reducing the risk of thrashing.