Cache controller is a chip, such as the Intel 82385, that manages the retrieval, storage, and delivery of data to and from cache memory or a hard disk. When data or instructions are requested by the central processing unit (CPU), the intercept the request and handles the delivery from random access memory (RAM).
The controller then determines where in the cache to store a copy of the just-delivered data, when to fetch data or code from adjacent addresses in RAM in case it is needed next, wherein the cache to store this new data, and which data to discard if the cache is full. The also keeps an up-to-date table of the addresses of everything it is holding.