I haven't found a clear answer: does the control unit itself fetch pre-defined instructions to execute a cache eviction, or does the operating system intervene? If so, how?
Which part of the computer manages cache replacement?
Typically; a cache manages cache replacement itself (its not done by a separate part).
There are many types of caches where some are implemented by software (DNS cache, web page cache, file data cache) and some are implemented in hardware (instruction caches, data caches, translation look-aside buffers).
For all cases; whenever new data needs to be inserted into the cache and there isn't enough space, other data needs to be evicted quickly to make space for the new data. Ideally, "least likely to be needed soon" data should be evicted, but that's too hard determine so most caches make the (potentially incorrect) assumption that "least recently used" is a good predictor of "least likely to be needed soon".
Typically this means storing some kind of "time when last used" along with the data (for each item in the cache); which means (for performance) typically "least recently used" (and eviction itself) is built directly into the design of the cache (e.g. the "time when last used" information is stored in a "cache tag" along with other meta-data).