What is CPU Cache used for?

Solution 1:

When the processor needs to read from or write to a location in main memory, it first checks whether a copy of that data is in the cache. If so, the processor immediately reads from or writes to the cache, which is much faster than reading from or writing to main memory.

Most modern desktop and server CPUs have at least three independent caches: an instruction cache to speed up executable instruction fetch, a data cache to speed up data fetch and store, and a translation lookaside buffer (TLB) used to speed up virtual-to-physical address translation for both executable instructions and data. The data cache is usually organized as a hierarchy of more cache levels (L1, L2, etc).

Working memory is the actual data used by your application (as well as a copy of the executable itself; which in the old days you were freely able to modify at runtime, BTW). This is the only thing you really need to worry about as a computer user. It is stored in main memory which is (almost always) a different physical object in your computer.

The caches I've talked about here are all on your CPU (which is why they are faster for your CPU to access than your RAM modules; which is were it has to look if it can't find what it needs in the cache). Remember though that the word cache is a very generic term. In computing we have caches all over the place so you need to be specific when you are talking about caches.