For usage of caches from a OS, particularly in the context of multicores/multiprocessors see Curt Schimmel's classic Unix Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers.
If it's not too much trouble, could you recommend some other books as well? I've only read Computer Systems: A Programmer's Perspective when it comes to caching-related books.
Wikipedia has it better and more comprehensive - https://en.wikipedia.org/wiki/CPU_cache
For usage of caches from a OS, particularly in the context of multicores/multiprocessors see Curt Schimmel's classic Unix Systems for Modern Architectures: Symmetric Multiprocessing and Caching for Kernel Programmers.