I have few questions about Cache Memory
1) My understanding of cache memory is, there are 3 type of cache memory,
1. Within RAM
2. Within CPU (L1,L2,L3)
3. Separate Hardware which is costlier than all others.
Please correct if I am wrong,
2) Who stores the data into cache? I mean, can we write a program which should use only cache memory? If yes then how to do it? if no then who manages that?
For example,
Cache memory within RAM, is it managed by Kernel?(Memory Management Unit)
Cache memory within CPU, is it managed by CPU itself?
3) Why cache memory is faster than RAM?