Answer: C
Correct answer: It holds copies of data from main memory that are likely to be used again
Cache holds copies of recently or frequently used data and instructions from main memory, so that repeat accesses are served in a few cycles rather than hundreds. It works because of the principle of locality. Temporal locality means a location just used is likely to be used again shortly; spatial locality means neighbouring locations are likely to be needed next, which is why data is fetched in whole cache lines rather than single bytes. It is faster and smaller than main memory, not slower and larger, so the third option is exactly backwards - it is built from SRAM, which uses several transistors per bit and needs no refreshing, against the single capacitor of DRAM. It is managed entirely by hardware and is transparent to the programmer, unlike main memory, which the operating system allocates, and registers, which the compiler assigns. That transparency is why cache behaviour must be inferred from performance rather than controlled directly. Modern processors use three levels, L1 through L3.