Every specific memory block in RAM maps to exactly one designated line in the cache. It is incredibly simple and cheap to build, but if a program frequently alternates between two different RAM blocks that map to the same cache line, it causes constant eviction conflicts (cache thrashing).